@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.0mrjj4bg00-he.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/instrument-serif-latin-ext-400-normal.0ordxpm0gxgw8.woff2)format("woff2"),url(../media/instrument-serif-latin-ext-400-normal.2z9xqimzvw6vx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/instrument-serif-latin-400-normal.3_vslfxq_--4i.woff2)format("woff2"),url(../media/instrument-serif-latin-400-normal.2maraz2ovyahx.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(../media/instrument-serif-latin-ext-400-italic.30flr4oxtjagu.woff2)format("woff2"),url(../media/instrument-serif-latin-ext-400-italic.2vfzl0i35o8_c.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(../media/instrument-serif-latin-400-italic.1bk2-9tco4m7m.woff2)format("woff2"),url(../media/instrument-serif-latin-400-italic.3_-8f-v73506e.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}img,svg,video,canvas{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}ul{list-style:none}:root{--bg:#f4f3ef;--bg-2:#ecebe5;--surface:#fff;--surface-alt:#faf9f6;--text:#15151a;--muted:#6f6f77;--faint:#a2a2a9;--line:#15151a1a;--line-2:#15151a0e;--accent:#6d54e8;--accent-ink:#4a35b8;--on-accent:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-serif:"Instrument Serif", Georgia, "Times New Roman", serif;--font-sans:var(--font-geist-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fs-display:clamp(3rem, 8.5vw, 7rem);--fs-h2:clamp(2.1rem, 5vw, 4rem);--fs-h3:clamp(1.5rem, 2.6vw, 2.2rem);--fs-lead:clamp(1.2rem, 1.7vw, 1.6rem);--fs-body:1.0625rem;--fs-eyebrow:.78rem;--gutter:clamp(20px, 5vw, 64px);--maxw:1280px;--radius:20px;--radius-s:12px;--ease:cubic-bezier(.22, .61, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--shadow:0 1px 2px #15151a0a, 0 18px 50px -20px #15151a2e}:root[data-theme=dark]{--bg:#0c0c0f;--bg-2:#18181d;--surface:#16161b;--surface-alt:#131317;--text:#f2f2f4;--muted:#9b9ba4;--faint:#62626b;--line:#ffffff21;--line-2:#ffffff12;--accent:#9d86ff;--accent-ink:#b8aaff;--on-accent:#14121f;--shadow:0 1px 2px #00000080, 0 24px 60px -24px #000c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{transition:background .4s var(--ease)}html,body{background:var(--bg)}body{font-family:var(--font-sans);font-size:var(--fs-body);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}::selection{background:var(--accent);color:var(--on-accent)}.serif{font-family:var(--font-serif);font-weight:400}.eyebrow{font-size:var(--fs-eyebrow);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}.lead{font-size:var(--fs-lead);color:var(--text);line-height:1.45}.muted{color:var(--muted)}.tnum{font-variant-numeric:tabular-nums}.container{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(6rem,14vw,12rem);position:relative}.hero~section{border-top:1px solid var(--line-2)}.section--alt,.stats{background:var(--surface-alt)}.section-head{max-width:60ch;margin-bottom:clamp(3rem,7vw,6rem)}.section-head .eyebrow{margin-bottom:1.2rem;display:block}.section-title{font-family:var(--font-serif);font-weight:400;font-size:var(--fs-h2);letter-spacing:-.01em;line-height:1.02}.section-title em{color:var(--muted);font-style:italic}.btn{transition:transform .4s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);will-change:transform;border-radius:100px;align-items:center;gap:.55rem;padding:.95rem 1.5rem;font-size:.98rem;font-weight:500;line-height:1;display:inline-flex}.btn-primary{background:var(--text);color:var(--bg)}.btn-primary:hover{background:var(--accent);color:var(--on-accent);transform:translateY(-2px)}.btn-ghost{color:var(--text)}.btn-ghost .arrow{transition:transform .4s var(--ease)}.btn-ghost:hover{color:var(--accent)}.btn-ghost:hover .arrow{transform:translate(4px)}.link-underline{color:var(--text);transition:color .3s var(--ease);position:relative}.link-underline:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform .4s var(--ease);background:currentColor;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.link-underline:hover{color:var(--accent)}.link-underline:hover:after{transform:scaleX(1)}.nav-links a:not(.nav-cta),.contact-links a,.foot-row a:not(.foot-name){position:relative}.nav-links a:not(.nav-cta):after,.contact-links a:after,.foot-row a:not(.foot-name):after{content:"";transform-origin:0;width:100%;height:1px;transition:transform .4s var(--ease);background:currentColor;position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.nav-links a:not(.nav-cta):hover:after,.contact-links a:hover:after,.foot-row a:not(.foot-name):hover:after{transform:scaleX(1)}.nav{z-index:50;padding:1rem var(--gutter);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav-blur{pointer-events:none;opacity:0;transition:opacity .5s var(--ease);position:absolute;inset:0 0 -130%}.nav.scrolled .nav-blur{opacity:1}.nav-blur>span{will-change:backdrop-filter;position:absolute;inset:0}.nav-blur>span:first-child{-webkit-backdrop-filter:blur(12px)saturate(1.5);backdrop-filter:blur(12px)saturate(1.5);-webkit-mask-image:linear-gradient(#000 0% 18%,#0000 38%);mask-image:linear-gradient(#000 0% 18%,#0000 38%)}.nav-blur>span:nth-child(2){-webkit-backdrop-filter:blur(6px)saturate(1.4);backdrop-filter:blur(6px)saturate(1.4);-webkit-mask-image:linear-gradient(#0000 15%,#000 32% 42%,#0000 60%);mask-image:linear-gradient(#0000 15%,#000 32% 42%,#0000 60%)}.nav-blur>span:nth-child(3){-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);-webkit-mask-image:linear-gradient(#0000 35%,#000 50% 60%,#0000 78%);mask-image:linear-gradient(#0000 35%,#000 50% 60%,#0000 78%)}.nav-blur>span:nth-child(4){-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);-webkit-mask-image:linear-gradient(#0000 55%,#000 70% 80%,#0000 95%);mask-image:linear-gradient(#0000 55%,#000 70% 80%,#0000 95%)}.nav-blur>span:nth-child(5){-webkit-backdrop-filter:blur(.6px);backdrop-filter:blur(.6px);-webkit-mask-image:linear-gradient(#0000 72%,#000 88%,#0000 100%);mask-image:linear-gradient(#0000 72%,#000 88%,#0000 100%)}.nav-blur:after{content:"";background:linear-gradient(to bottom, color-mix(in srgb, var(--bg) 60%, transparent) 0%, color-mix(in srgb, var(--bg) 20%, transparent) 45%, transparent 80%);position:absolute;inset:0}.nav-mark,.nav-links{z-index:1;position:relative}.nav-mark{font-family:var(--font-sans);letter-spacing:.06em;font-size:1.05rem;font-weight:600}.nav-links{align-items:center;gap:clamp(16px,2vw,34px);display:flex}.nav-links a{color:var(--muted);transition:color .3s var(--ease);font-size:.95rem}.nav-links a:hover{color:var(--text)}.nav-links a.nav-cta{border:1px solid var(--line);color:var(--text);transition:all .3s var(--ease);border-radius:100px;padding:.55rem 1.05rem;font-size:.92rem;font-weight:500}.nav-links a.nav-cta:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}@media (max-width:720px){.nav-links{display:none}}.theme-toggle{border:1px solid var(--line);width:38px;height:38px;color:var(--text);transition:color .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease), transform .5s var(--ease);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.theme-toggle svg{width:17px;height:17px;transition:transform .6s var(--ease)}.theme-toggle:hover svg{transform:rotate(35deg)}.theme-toggle[data-theme-state=dark]:hover svg{transform:rotate(-18deg)}.theme-toggle--menu{width:44px;height:44px;margin-top:1.6rem}.theme-toggle--menu svg{width:20px;height:20px}.hero{grid-template-rows:1fr auto;min-height:100svh;padding-top:clamp(7rem,14vh,10rem);display:grid;position:relative;overflow:hidden}.hero-glow{z-index:0;pointer-events:none;position:absolute;inset:0}.hero-glow:before{content:"";background:radial-gradient(circle at center, color-mix(in srgb, var(--accent) 26%, transparent) 0%, color-mix(in srgb, var(--accent) 9%, transparent) 38%, transparent 68%);filter:blur(10px);width:70vw;max-width:920px;height:70vw;max-height:920px;animation:18s ease-in-out infinite alternate glowDrift;position:absolute;top:-28vh;right:-14vw}@keyframes glowDrift{0%{opacity:.9;transform:translate(0,0)scale(1)}to{opacity:1;transform:translate(-4%,5%)scale(1.08)}}.hero .container{z-index:2;align-self:center;width:100%;position:relative}.hero-inner{max-width:48ch}.hero .eyebrow{margin-bottom:clamp(1.8rem,3.4vw,2.6rem)}.hero-title{font-family:var(--font-serif);font-weight:400;font-size:var(--fs-display);letter-spacing:-.02em;max-width:15ch;line-height:.96}.hero-title em{color:var(--accent);font-style:italic}.hero-sub{max-width:44ch;color:var(--muted);font-size:var(--fs-lead);margin-top:clamp(1.8rem,3vw,2.6rem);line-height:1.5}.hero-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:clamp(2.2rem,4vw,3.2rem);display:flex}.hero-base{z-index:2;padding-block:clamp(1.4rem,3vh,2.2rem);position:relative}.hero-base-row{border-top:1px solid var(--line);letter-spacing:.04em;color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;padding-top:clamp(1.2rem,2.4vh,1.8rem);font-size:.82rem;display:flex}.hero-base .dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 50%, transparent);animation:pulseDot 2.6s var(--ease) infinite;vertical-align:middle;border-radius:50%;margin-right:9px;display:inline-block}@keyframes pulseDot{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}70%{box-shadow:0 0 0 7px color-mix(in srgb, var(--accent) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent)}}.hero-scroll{color:var(--faint);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:10px;font-size:.74rem;display:inline-flex}.hero-scroll .bar{background:var(--line);width:34px;height:1px;position:relative;overflow:hidden}.hero-scroll .bar:after{content:"";background:var(--accent);animation:scrollHint 2.4s var(--ease) infinite;position:absolute;inset:0;transform:translate(-100%)}@keyframes scrollHint{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}@media (max-width:720px){.hero-title{max-width:12ch}.hero-base-row{font-size:.76rem}}.stats{position:relative}.stats-row{grid-template-columns:repeat(4,1fr);display:grid}.stat{padding:clamp(2rem,4vw,3rem) 0;padding-right:var(--gutter)}.stat+.stat{padding-left:var(--gutter);border-left:1px solid var(--line)}.stat-num{font-family:var(--font-serif);letter-spacing:-.01em;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1}.stat-label{color:var(--muted);margin-top:.6rem;font-size:.92rem}@media (max-width:720px){.stats-row{grid-template-columns:repeat(2,1fr);gap:0}.stat:nth-child(odd){border-left:none;padding-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}.work-list{flex-direction:column;gap:clamp(4rem,9vw,8rem);display:flex}.work-item{gap:var(--gutter);grid-template-columns:repeat(12,1fr);align-items:center;display:grid}.work-item:nth-child(2n) .work-media{order:2}.work-media{grid-column:span 7}.work-item:nth-child(2n) .work-media{grid-column:6/span 7}.work-text{grid-column:span 5}.work-item:nth-child(2n) .work-text{order:1;grid-column:1/span 5}.work-index{color:var(--faint);letter-spacing:.1em;font-size:.85rem}.work-name{font-family:var(--font-serif);font-size:var(--fs-h3);margin-top:.6rem;line-height:1.05}.work-desc{color:var(--muted);max-width:42ch;margin-top:1rem}.work-tags{flex-wrap:wrap;gap:8px;margin-top:1.4rem;display:flex}.tag{color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:5px 12px;font-size:.8rem}.work-link{color:var(--text);align-items:center;gap:8px;margin-top:1.8rem;font-weight:500;display:inline-flex}.work-link .arrow{transition:transform .4s var(--ease)}.work-item a.work-link:hover{color:var(--accent)}.work-item a.work-link:hover .arrow{transform:translate(4px)}@media (max-width:860px){.work-item{grid-template-columns:1fr;gap:0}.work-media,.work-text,.work-item:nth-child(2n) .work-media,.work-item:nth-child(2n) .work-text{order:initial;grid-column:1/-1}.work-text{margin-top:1.4rem}}.figure{border-radius:var(--radius);background:var(--bg-2);box-shadow:var(--shadow);position:relative;overflow:hidden}.figure-img{position:relative;overflow:hidden}.figure-img img{object-fit:cover;aspect-ratio:4/3;width:100%;height:100%;transition:transform .9s var(--ease)}.work-media:hover .figure-img img{transform:scale(1.045)}.figure-cap{color:#fff;mix-blend-mode:difference;align-items:center;gap:10px;font-size:.82rem;display:flex;position:absolute;bottom:12px;left:14px}.figure[data-state=idle] .figure-img img{clip-path:inset(0 0 100%)}.figure[data-state=done] .figure-img img{clip-path:inset(0)}.figure[data-state=compiling] .figure-img img{animation:figReveal 1s var(--ease-out) forwards}@keyframes figReveal{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}.caps{grid-template-columns:repeat(3,1fr);gap:clamp(2rem,4vw,4rem);display:grid}.cap-group h3{font-family:var(--font-serif);border-bottom:1px solid var(--line);margin-bottom:1.4rem;padding-bottom:1rem;font-size:1.5rem}.cap-group ul{flex-direction:column;gap:.9rem;display:flex}.cap-group li{color:var(--text);justify-content:space-between;gap:1rem;display:flex}.cap-group li span{color:var(--faint);font-size:.9rem}@media (max-width:760px){.caps{grid-template-columns:1fr;gap:2.6rem}}.about-grid{grid-template-columns:1.1fr 1fr;align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.about-lead{font-family:var(--font-serif);letter-spacing:-.01em;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.18}.about-body{color:var(--muted)}.about-body p+p{margin-top:1.1rem}.timeline{margin-top:2.4rem}.tl-row{border-top:1px solid var(--line);grid-template-columns:5rem 1fr;gap:1.2rem;padding:1.1rem 0;display:grid}.tl-year{color:var(--faint)}.tl-row b{font-weight:500}.tl-row span{color:var(--muted);margin-top:2px;font-size:.95rem;display:block}@media (max-width:820px){.about-grid{grid-template-columns:1fr;gap:2.4rem}}.contact{text-align:left}.contact-status{color:var(--muted);align-items:center;gap:10px;margin-bottom:clamp(1.6rem,3vw,2.4rem);display:inline-flex}.contact-status .dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:50%}.contact-title{font-family:var(--font-serif);font-size:var(--fs-display);letter-spacing:-.015em;line-height:.98}.contact-title a{color:var(--accent);font-style:italic}.contact-links{flex-wrap:wrap;gap:.8rem 2.4rem;margin-top:clamp(2.4rem,5vw,4rem);display:flex}.contact-links a{color:var(--muted);transition:color .3s var(--ease);font-size:1.05rem}.contact-links a:hover{color:var(--text)}.foot{border-top:1px solid var(--line-2);padding-block:clamp(2.4rem,5vw,4rem)}.foot-row{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;font-size:.92rem;display:flex}.foot-row a{color:var(--muted);transition:color .3s var(--ease)}.foot-row a:hover{color:var(--text)}.foot-name{font-family:var(--font-serif);color:var(--text);font-size:1.3rem}.has-cursor,.has-cursor a,.has-cursor button{cursor:none}.cursor-dot,.cursor-ring{z-index:90;pointer-events:none;opacity:0;transition:opacity .4s var(--ease);will-change:transform;border-radius:50%;position:fixed;top:0;left:0}.cursor-ready .cursor-dot,.cursor-ready .cursor-ring{opacity:1}.cursor-dot{background:var(--text);width:6px;height:6px;margin:-3px 0 0 -3px}.cursor-ring{border:1px solid var(--line);width:38px;height:38px;transition:width .35s var(--ease), height .35s var(--ease), margin .35s var(--ease), border-color .35s var(--ease), opacity .4s var(--ease);margin:-19px 0 0 -19px}.cursor-active .cursor-ring{border-color:var(--accent);width:64px;height:64px;margin:-32px 0 0 -32px}.cursor-active .cursor-dot{background:var(--accent)}[data-reveal]{opacity:0;transition:opacity 1s var(--ease-out), transform 1s var(--ease-out);transition-delay:var(--rd,0s);transform:translateY(26px)}[data-reveal=in]{opacity:1;transform:none}.is-booting{height:100%;overflow:hidden}.veil{z-index:200;background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.veil-name{font-family:var(--font-serif);letter-spacing:-.01em;opacity:0;font-size:clamp(2rem,6vw,3.4rem)}.menu-btn{top:1.05rem;right:var(--gutter);z-index:90;color:var(--text);font-size:.95rem;display:none;position:fixed}.menu-overlay{z-index:80;background:var(--bg);opacity:0;pointer-events:none;transition:opacity .45s var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.menu-overlay.open{opacity:1;pointer-events:auto}.menu-list{text-align:center;flex-direction:column;gap:1.4rem;display:flex}.menu-list a{font-family:var(--font-serif);font-size:clamp(2.2rem,10vw,3rem)}.menu-list a:hover{color:var(--accent)}@media (max-width:720px){.menu-btn{display:block}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{z-index:100;background:var(--text);color:var(--bg);border-radius:0 0 8px;padding:10px 16px;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
