.hero-name{font-family:var(--font-sans);font-weight:700;font-size:clamp(40px,11vw,56px);letter-spacing:2px;line-height:1.1;color:var(--text)}@media(min-width:768px){.hero-name{font-size:clamp(80px,10vw,120px)}}@media(min-width:1280px){.hero-name{font-size:clamp(100px,10vw,160px)}}.hero-float{font-family:var(--font-serif);font-style:italic;color:var(--tertiary);transform:rotate(-3deg);transform-origin:left;font-size:clamp(24px,5vw,38px);line-height:1.3;letter-spacing:.02em}.hero-note{font-family:var(--font-hand);font-size:14px;opacity:.6}@media(min-width:768px){.hero-note{font-size:15px}}@media(min-width:1280px){.hero-note{font-size:16px}}.hero-tagline{font-size:18px;line-height:1.4;color:var(--text)}@media(min-width:768px){.hero-tagline{font-size:22px}}.hero-portrait{max-width:260px;max-width:200px;filter:contrast(1.05) brightness(.98);border-radius:100% 80% 90% 70%/80% 90% 70%;box-shadow:0 8px 40px #0000001f}.section-divider{display:flex;align-items:center;gap:12px;color:var(--tertiary);opacity:.3;font-size:12px;-webkit-user-select:none;user-select:none}.section-divider:before,.section-divider:after{content:"";flex:1;height:1px;background:var(--tertiary);opacity:.2}.grain{filter:contrast(1.05) brightness(.98)}.grain:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;mix-blend-mode:multiply;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}.project-page-tags,.project-page-num{font-weight:400;font-family:IBM Plex Sans,sans-serif}.project-page-name{font-family:Georgia,Times New Roman,Times,serif;font-size:2.4em}.project-page-summary{max-width:300px;font-weight:400;font-size:1em;font-family:IBM Plex Sans,sans-serif}.main-contents{line-height:1.3}.tagline{font-family:IBM Plex Sans,sans-serif;line-height:2;font-size:1.1em}.page-directs{font-size:1em;font-weight:700}.name-role-text{font-family:IBM Plex Sans,sans-serif;font-weight:600;font-size:4em;color:var(--text);letter-spacing:2px}.adjective{font-family:Georgia,Times New Roman,Times,serif;font-style:italic;color:var(--tertiary);font-size:4em}.about-head{font-family:var(--font-sans);font-weight:700;font-size:2.5em;color:var(--text);letter-spacing:1px;line-height:1.15}.about-me{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--tertiary)}.about-subheadings{font-family:var(--font-sans);font-weight:700;font-size:1.125rem;padding-top:1.5rem;padding-bottom:.4rem;letter-spacing:.5px;color:var(--text)}.about-side-note{font-family:var(--font-hand);font-size:.875rem;opacity:.6}.about-bio{font-family:var(--font-sans);font-size:1rem;line-height:1.7;color:var(--text)}.about-bio strong{font-weight:700;color:var(--text)}.project-info{font-family:var(--font-sans);font-size:1rem;line-height:1.7;color:var(--text)}.project-info h1,.project-info h2,.project-info h3,.project-info h4{font-family:var(--font-sans);font-weight:700;line-height:1.2;margin:2rem 0 .75rem}.project-info h1{font-size:1.75rem}.project-info h2{font-size:1.375rem}.project-info h3{font-size:1.125rem}.project-info h4{font-size:1rem}.project-info p{margin:1.125rem 0}.project-info ul,.project-info ol{margin:1rem 0;padding-left:1.75rem}.project-info ul{list-style:disc}.project-info ol{list-style:decimal}.project-info li{margin:.375rem 0}.project-info pre{background:#f1efe8;padding:1rem;border-radius:6px;overflow-x:auto;margin:1.25rem 0;font-size:.875rem;line-height:1.5}.project-info code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background:#f1efe8;padding:.15em .35em;border-radius:3px;font-size:.875em}.project-info pre code{background:none;padding:0;border-radius:0}.project-info a{color:var(--tertiary);text-decoration:underline;text-underline-offset:.2em}.project-info a:hover{filter:brightness(.8)}.project-info hr{margin:2rem 0;border:0;height:1px;background:var(--tertiary);opacity:.15}.project-info blockquote{border-left:3px solid var(--tertiary);padding-left:1rem;margin:1.25rem 0;opacity:.8;font-style:italic}.project-info strong{font-weight:700}.project-info img{max-width:100%;height:auto;border-radius:4px;margin:1.25rem 0}.timeline-line{stroke:var(--tertiary);stroke-width:2;stroke-linecap:round;fill:none}.timeline-year{font-size:13px;font-weight:700;color:var(--tertiary);font-family:var(--font-sans);white-space:nowrap}@media(min-width:768px){.timeline-year{font-size:14px}}.timeline-label{font-size:15px;color:var(--text);font-family:var(--font-sans);line-height:1.4}@media(min-width:768px){.timeline-label{font-size:17px}}.timeline-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--tertiary);flex-shrink:0}.blog-content{font-family:var(--font-sans);font-size:1rem;line-height:1.7;color:var(--text)}.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4{font-family:var(--font-serif);font-weight:400;line-height:1.15;margin:2.5rem 0 .75rem}.blog-content h1{font-size:2rem}.blog-content h2{font-size:1.625rem}.blog-content h3{font-size:1.25rem}.blog-content h4{font-size:1.125rem}.blog-content p{margin:1.125rem 0}.blog-content ul,.blog-content ol{margin:1rem 0;padding-left:1.75rem}.blog-content ul{list-style:disc}.blog-content ol{list-style:decimal}.blog-content li{margin:.375rem 0}.blog-content pre{background:#f1efe8;padding:1rem;border-radius:6px;overflow-x:auto;margin:1.25rem 0;font-size:.875rem;line-height:1.5}.blog-content code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background:#f1efe8;padding:.15em .35em;border-radius:3px;font-size:.875em}.blog-content pre code{background:none;padding:0;border-radius:0}.blog-content a{color:var(--tertiary);text-decoration:underline;text-underline-offset:.2em}.blog-content a:hover{filter:brightness(.8)}.blog-content hr{margin:2rem 0;border:0;height:1px;background:var(--tertiary);opacity:.15}.blog-content blockquote{border-left:3px solid var(--tertiary);padding-left:1rem;margin:1.25rem 0;opacity:.8;font-style:italic}.blog-content strong{font-weight:700}.blog-content img{max-width:100%;height:auto;border-radius:4px;margin:1.25rem 0}@media only screen and (max-width:768px){.about-head{font-size:1.6em}.project-page-name{font-size:2.3em}}@media only screen and (max-width:372px){.about-head{font-size:1.1em}.about-bio{font-size:.9em}.project-page-name{font-size:2.3em}}
