@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_fafb5c64-module__9jD5kG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_fafb5c64-module__9jD5kG__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/fc0a7394b875fa43-s.3zvkfbs08rnj_.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/7ebf22b5a21034f8-s.p.3strvg7o-g5v2.woff2)format("woff2");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:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.1wwzpfhzaj2r0.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.2rlzm4mj5kw8e.woff2)format("woff2");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 Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_6e5a85cf-module__Pzse8G__className{font-family:Instrument Serif,Instrument Serif Fallback;font-weight:400}.instrument_serif_6e5a85cf-module__Pzse8G__variable{--font-instrument-serif:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d72c019e91ffb82f-s.23_tzllc9ug3l.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8557ac4879842fb9-s.0v7f0_qic28v5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c847346577a98de0-s.2im-ylirbcr2x.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/db08d2e20377160a-s.2wq_0j16_l1ke.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8394f9d71e076efc-s.1_84mggmphogq.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/19087af2bdec32b5-s.p.0u70gkhz9e0b8.woff2)format("woff2");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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_40a7f6e5-module__3O2oBa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal;font-weight:400}.jetbrains_mono_40a7f6e5-module__3O2oBa__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/32687112bd2dd8db-s.0v2ipp7s07_p9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/28868e710e86be81-s.44ks8kcggj012.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.1ii7211jqpzi_.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/32687112bd2dd8db-s.0v2ipp7s07_p9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/28868e710e86be81-s.44ks8kcggj012.woff2)format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.1ii7211jqpzi_.woff2)format("woff2");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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_a6dc46f-module__dn05OW__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_a6dc46f-module__dn05OW__variable{--font-space-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
:root{--bg:#f5f3ee;--surface:#ebe8e1;--text:#111;--muted:#6f6f6f;--border:#11111126;--accent:#d6431c;--accent-contrast:#f5f3ee;--overlay:#111;--overlay-text:#f5f3ee;--success:#23b26d;--font-display:var(--font-space-grotesk), "Inter", system-ui, sans-serif;--font-body:var(--font-inter), system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:var(--font-instrument-serif), "Times New Roman", serif;--font-mono:var(--font-jetbrains-mono), ui-monospace, SFMono-Regular, Menlo, monospace;--fs-hero:clamp(4rem, 12.5vw, 13.5rem);--fs-display:clamp(3rem, 8vw, 9rem);--fs-h2:clamp(3rem, 7vw, 8rem);--fs-h3:clamp(1.75rem, 3.4vw, 3.5rem);--fs-h4:clamp(1.25rem, 1.8vw, 1.75rem);--fs-statement:clamp(2.1rem, 5.2vw, 6rem);--fs-lead:clamp(1.15rem, 1.7vw, 1.6rem);--fs-body:clamp(1rem, 1.2vw, 1.25rem);--fs-small:clamp(.8125rem, .9vw, .9375rem);--fs-mono:clamp(.6875rem, .75vw, .78rem);--gutter:clamp(1rem, 3vw, 3rem);--col-gap:clamp(1rem, 2vw, 2rem);--section:clamp(6rem, 14vw, 14rem);--header-h:4.75rem;--max:1680px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur:.6s;--radius:999px;--radius-sm:6px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#111;--surface:#1a1a19;--text:#f5f3ee;--muted:#9a9a9a;--border:#ffffff26;--accent:#ff5a2e;--accent-contrast:#111;--overlay:#f5f3ee;--overlay-text:#111;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}
*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;transition:background-color .5s var(--ease-out), color .5s var(--ease-out);margin:0;font-weight:400;line-height:1.55;overflow-x:clip}img,svg,video,canvas{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea{font:inherit;color:inherit}h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0;padding:0}ul,ol{list-style:none}em{font-style:normal}::selection{background:var(--accent);color:var(--accent-contrast)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:1000;background:var(--text);color:var(--bg);font-family:var(--font-mono);font-size:var(--fs-mono);text-transform:uppercase;letter-spacing:.08em;transition:transform .3s var(--ease-out);padding:.75rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.t-mono,.t-label{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;font-weight:400;line-height:1.4}.t-label,.t-muted{color:var(--muted)}.t-serif,.statement em{font-family:var(--font-serif);letter-spacing:-.02em;font-style:italic;font-weight:400}.t-accent{color:var(--accent)}.t-lead{font-size:var(--fs-lead);letter-spacing:-.01em;max-width:34ch;line-height:1.4}.t-h2{font-family:var(--font-display);font-size:var(--fs-h2);letter-spacing:-.05em;font-weight:500;line-height:.9}.word{text-indent:0;vertical-align:top;margin-bottom:-.2em;padding-bottom:.2em;display:inline-block;overflow:hidden}.word__inner,.char{will-change:transform;display:inline-block}.container{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section);position:relative}.section--tight{padding-block:calc(var(--section) * .6)}.grid-lines{z-index:0;pointer-events:none;padding-inline:var(--gutter);max-width:var(--max);column-gap:var(--col-gap);opacity:.45;grid-template-columns:repeat(12,1fr);margin-inline:auto;display:grid;position:fixed;inset:0}.grid-lines span{border-inline:1px solid var(--border);opacity:.35}.grid-lines span:nth-child(n+2){border-left:0}main,.site-footer{z-index:1;position:relative}main{overflow-x:clip}.section-head{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;margin-bottom:clamp(3rem,7vw,7rem);display:grid}.section-head__meta{flex-direction:column;grid-column:1/span 3;gap:.35rem;padding-bottom:.8rem;display:flex}.section-head__title{grid-column:4/-1}.section-head__count{font-family:var(--font-mono);vertical-align:top;letter-spacing:0;color:var(--accent);margin-left:.2em;font-size:.28em}.index-label{align-items:center;gap:.6rem;display:inline-flex}.index-label:before{content:"";opacity:.6;background:currentColor;width:1.5rem;height:1px}.u-mb-l{margin-bottom:clamp(2rem,4vw,3.5rem)}.u-mt-m{margin-top:2rem}.u-mt-l{margin-top:clamp(2.5rem,5vw,4rem)}.u-mt-xl{margin-top:clamp(3rem,6vw,6rem)}.u-pt-0{padding-top:0}.u-pt-s{padding-top:clamp(2rem,4vw,4rem)}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){z-index:9999}.theme-switching *,.theme-switching :before,.theme-switching :after{transition:none!important}@media (hover:hover) and (pointer:fine){html{scrollbar-width:thin;scrollbar-color:var(--accent) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--accent);border:2px solid var(--bg);border-radius:8px}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes ping{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}@keyframes scroll-dot{0%{transform:translateY(-6px)}to{transform:translateY(3.6rem)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}@keyframes arrow-up{0%{transform:translateY(0)}49%{transform:translateY(-120%)}50%{transform:translateY(120%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.scroll-cue__line:after{animation:none;top:45%}}
.loader{display:none}.js .loader{z-index:900;padding:var(--gutter);background:var(--overlay);color:var(--overlay-text);clip-path:inset(0);flex-direction:column;justify-content:space-between;display:flex;position:fixed;inset:0}.js.skip-loader .loader,.js.loader-failsafe .loader{display:none}.loader__row{justify-content:space-between;gap:1rem;display:flex}.loader__name{font-family:var(--font-display);letter-spacing:-.05em;flex-direction:column;font-size:clamp(3rem,11vw,11rem);font-weight:500;line-height:.88;display:flex}.loader__name span{display:block;overflow:hidden}.loader__name span>span{display:block}.loader__name span:last-child{padding-left:12vw}.loader__steps{gap:1.25rem;display:flex}.loader__steps li{opacity:.3;transition:opacity .3s}.loader__steps li.is-active{opacity:1;color:var(--accent)}.loader__count{font-family:var(--font-display);letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:clamp(4rem,10vw,9rem);line-height:.8}.loader__bar{background:color-mix(in srgb, var(--overlay-text) 20%, transparent);height:1px;margin-block:1.25rem;position:relative}.loader__bar span{background:var(--accent);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.page-transition{z-index:800;pointer-events:none;background:var(--overlay);color:var(--overlay-text);clip-path:inset(100% 0 0);place-items:center;display:grid;position:fixed;inset:0}.page-transition__label{font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(3rem,9vw,9rem);font-weight:500;line-height:1;overflow:hidden}.page-transition__label span{display:block}.loader-failsafe .page-transition{clip-path:inset(100% 0 0)}.js:not(.loader-failsafe):not(.reduced-motion) [data-hero]{visibility:hidden}.cursor{display:none}.has-cursor .cursor{z-index:950;pointer-events:none;display:block;position:fixed;top:0;left:0}.has-cursor,.has-cursor a,.has-cursor button,.has-cursor [data-cursor]{cursor:none}.has-cursor input,.has-cursor textarea{cursor:text}.cursor__dot,.cursor__ring{border-radius:50%;position:absolute;top:0;left:0;translate:-50% -50%}.cursor__dot{background:var(--text);width:6px;height:6px;transition:scale .3s var(--ease-out), opacity .3s}.cursor__ring{border:1px solid var(--text);width:38px;height:38px;transition:width .45s var(--ease-out), height .45s var(--ease-out), background-color .35s, border-color .35s, opacity .3s;place-items:center;display:grid}.cursor__label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;text-align:center;color:var(--accent-contrast);opacity:0;transition:opacity .3s, scale .4s var(--ease-out);font-size:.625rem;line-height:1.2;scale:.6}.cursor.is-link .cursor__ring{border-color:var(--accent);width:64px;height:64px}.cursor.is-link .cursor__dot{scale:0}.cursor.is-label .cursor__ring{background:var(--accent);border-color:var(--accent);width:96px;height:96px}.cursor.is-label .cursor__label{opacity:1;scale:1}.cursor.is-label .cursor__dot{scale:0}.cursor.is-hidden .cursor__dot,.cursor.is-hidden .cursor__ring{opacity:0}.cursor.is-down .cursor__ring{width:30px;height:30px}.site-header{z-index:700;height:var(--header-h);transition:background-color .4s var(--ease-out), border-color .4s, transform .5s var(--ease-out);border-bottom:1px solid #0000;position:fixed;inset:0 0 auto}.site-header.is-scrolled{background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.2)blur(10px);backdrop-filter:saturate(1.2)blur(10px);border-bottom-color:var(--border)}.site-header.is-hidden{transform:translateY(-100%)}.menu-open .site-header{-webkit-backdrop-filter:none;background:0 0;border-color:#0000;transform:none}.site-header__inner{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;height:100%;display:grid}.brand{font-family:var(--font-display);letter-spacing:-.02em;z-index:2;grid-column:1/span 3;justify-self:start;align-items:center;gap:.6rem;font-size:1rem;font-weight:500;display:inline-flex;position:relative}.brand__mark{background:var(--text);width:2rem;height:2rem;color:var(--bg);letter-spacing:0;transition:background-color .4s, color .4s, rotate .6s var(--ease-out);border-radius:50%;place-items:center;font-size:.7rem;display:grid}.brand:hover .brand__mark{background:var(--accent);color:var(--accent-contrast);rotate:-12deg}.brand__name{overflow:hidden}.nav{grid-column:5/span 5;justify-self:start}.nav__list{gap:clamp(1.25rem,2.5vw,2.75rem);display:flex;position:relative}.nav__link{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;align-items:baseline;gap:.35rem;padding-block:.5rem;display:inline-flex;position:relative}.nav__link sup{color:var(--muted);font-size:.55rem}.nav__link .roll{height:1.4em;line-height:1.4;display:inline-block;overflow:hidden}.nav__link .roll span{transition:transform .5s var(--ease-out);display:block}.nav__link .roll span+span{color:var(--accent)}.nav__link:hover .roll span,.nav__link:focus-visible .roll span{transform:translateY(-100%)}.nav__indicator{background:var(--text);pointer-events:none;width:0;height:1px;position:absolute;bottom:0;left:0}.nav__link[aria-current=page]{color:var(--text)}html:not(.js) .nav__link[aria-current=page]:after{content:"";background:currentColor;height:1px;position:absolute;bottom:0;left:0;right:0}.header-tools{z-index:2;grid-column:10/-1;justify-self:end;align-items:center;gap:clamp(.75rem,1.5vw,1.5rem);display:flex;position:relative}.local-time{white-space:nowrap}.local-time__dot{background:var(--accent);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:.45rem;animation:2s infinite pulse;display:inline-block}.theme-toggle{border:1px solid var(--border);border-radius:var(--radius);width:2.75rem;height:1.6rem;transition:border-color .3s;position:relative}.theme-toggle:hover{border-color:var(--text)}.theme-toggle__knob{background:var(--text);width:1.1rem;height:1.1rem;transition:transform .6s var(--ease-out);border-radius:50%;margin-top:-.55rem;position:absolute;top:50%;left:.2rem;overflow:hidden}.theme-toggle__knob:after{content:"";background:var(--bg);transition:transform .6s var(--ease-out);border-radius:50%;position:absolute;inset:0;transform:translate(60%,-60%)scale(0)}[data-theme=dark] .theme-toggle__knob{transform:translate(1.15rem)}[data-theme=dark] .theme-toggle__knob:after{transform:translate(35%,-35%)scale(.85)}.menu-btn{border:1px solid var(--border);width:2.75rem;height:2.75rem;transition:border-color .3s, background-color .3s, rotate .6s var(--ease-out);border-radius:50%;display:none;position:relative}.menu-btn span{width:1rem;height:1.5px;transition:transform .5s var(--ease-out);background:currentColor;margin-left:-.5rem;position:absolute;top:50%;left:50%}.menu-btn span:first-child{transform:translateY(-3px)}.menu-btn span:nth-child(2){transform:translateY(3px)}.menu-btn[aria-expanded=true]{border-color:var(--text);rotate:180deg}.menu-btn[aria-expanded=true] span:first-child{transform:rotate(45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){transform:rotate(-45deg)}.menu{z-index:650;background:var(--surface);padding:calc(var(--header-h) + 2rem) var(--gutter) var(--gutter);visibility:hidden;clip-path:circle(0% at calc(100% - 2.5rem) 2.4rem);flex-direction:column;justify-content:space-between;display:flex;position:fixed;inset:0}.menu.is-open{visibility:visible}.menu__list{flex-direction:column;gap:.25rem;display:flex}.menu__item{border-bottom:1px solid var(--border);overflow:hidden}.menu__link{font-family:var(--font-display);letter-spacing:-.05em;justify-content:space-between;align-items:baseline;gap:1rem;padding-block:.1em;font-size:clamp(3.25rem,14vw,7rem);font-weight:500;line-height:1.02;display:flex}.menu__link small{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;color:var(--muted)}.menu__link[aria-current=page]{color:var(--accent)}.menu__foot{flex-wrap:wrap;justify-content:space-between;gap:1.5rem;display:flex}.menu__foot a{display:block}.site-footer{padding-top:clamp(5rem,10vw,10rem);padding-bottom:var(--gutter);border-top:1px solid var(--border);background:var(--bg);overflow:hidden}.footer__title{font-family:var(--font-display);letter-spacing:-.06em;font-size:clamp(3.25rem,10vw,11rem);font-weight:500;line-height:.86}.footer__title a{transition:color .4s}.footer__title a:hover{color:var(--accent)}.footer__email{font-family:var(--font-display);letter-spacing:-.03em;align-items:center;gap:1rem;margin-top:clamp(2rem,4vw,3rem);font-size:clamp(1.4rem,3vw,2.75rem);display:inline-flex}.footer__grid{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:2.5rem;margin-top:clamp(4rem,8vw,8rem);display:grid}.footer__col{flex-direction:column;grid-column:span 3;gap:.35rem;display:flex}.footer__col .t-label{margin-bottom:.6rem}.footer__col a{align-self:flex-start}.footer__bottom{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:clamp(3rem,6vw,6rem);padding-top:1.25rem;display:flex}.to-top{right:var(--gutter);bottom:var(--gutter);z-index:600;background:var(--bg);opacity:0;visibility:hidden;width:3.5rem;height:3.5rem;transition:opacity .4s, transform .5s var(--ease-out), visibility .4s, background-color .4s;border-radius:50%;place-items:center;display:grid;position:fixed;transform:translateY(1rem)scale(.8)}.to-top.is-visible{opacity:1;visibility:visible;transform:none}.to-top svg.to-top__ring{width:100%;height:100%;position:absolute;inset:0;rotate:-90deg}.to-top__ring circle{fill:none;stroke-width:1.5px}.to-top__ring .track{stroke:var(--border)}.to-top__ring .bar{stroke:var(--accent);stroke-dasharray:150.8;stroke-dashoffset:150.8px}.to-top__arrow{width:1rem;height:1rem;position:relative;overflow:hidden}.to-top__arrow svg{width:100%;height:100%}.to-top:hover .to-top__arrow svg{animation:arrow-up .7s var(--ease-out)}
.btn{--btn-bg:transparent;--btn-fg:var(--text);border:1px solid var(--text);border-radius:var(--radius);background:var(--btn-bg);color:var(--btn-fg);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;isolation:isolate;transition:color .45s var(--ease-out), border-color .45s;white-space:nowrap;align-items:center;gap:.9rem;padding:1.05rem 1.6rem;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--text);border-radius:inherit;transition:transform .55s var(--ease-out);position:absolute;inset:-1px;transform:translateY(101%)}.btn:hover,.btn:focus-visible{color:var(--bg)}.btn:hover:before,.btn:focus-visible:before{transform:translateY(0)}.btn--solid{--btn-bg:var(--text);--btn-fg:var(--bg)}.btn--solid:before{background:var(--accent)}.btn--solid:hover,.btn--solid:focus-visible{color:var(--accent-contrast);border-color:var(--accent)}.btn__inner{align-items:center;gap:.9rem;display:inline-flex}.arrow{width:1em;height:1em;transition:transform .5s var(--ease-out);flex:none;display:inline-block}.btn:hover .arrow,.link-arrow:hover .arrow,.link-arrow:focus-visible .arrow{transform:translate(.35em)}.link-arrow{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.6rem;padding-block:.4rem;display:inline-flex;position:relative}.link-arrow:after,.u-link:after{content:"";transform-origin:100%;height:1px;transition:transform .6s var(--ease-out);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.link-arrow:after{transform-origin:0;opacity:.35;transform:scaleX(1)}.link-arrow:hover:after,.u-link:hover:after,.u-link:focus-visible:after{transform-origin:0;opacity:1;transform:scaleX(1)}.u-link{display:inline-block;position:relative}.tags{flex-wrap:wrap;gap:.5rem;display:flex}.tag{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .8rem}.media{background:var(--surface);border-radius:var(--radius-sm);position:relative;overflow:hidden}.media img{object-fit:cover;will-change:transform;width:100%;height:100%}.media--parallax img{width:100%;height:120%;position:absolute;top:-10%;left:0}.page-hero{padding-top:calc(var(--header-h) + clamp(4rem, 10vw, 9rem));padding-bottom:clamp(3rem,7vw,7rem);position:relative}.page-hero__meta{justify-content:space-between;gap:1rem;margin-bottom:clamp(2rem,4vw,3rem);display:flex}.page-hero__title{font-family:var(--font-display);font-size:var(--fs-hero);letter-spacing:-.06em;font-weight:500;line-height:.84}.page-hero__title .indent{padding-left:14vw;display:inline-block}.page-hero__count{font-family:var(--font-mono);letter-spacing:0;color:var(--accent);vertical-align:top;font-size:.14em}.page-hero__foot{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;row-gap:2rem;margin-top:clamp(2.5rem,5vw,5rem);display:grid}.page-hero__foot .t-lead{grid-column:6/span 5}.page-hero__foot .page-hero__aside{grid-column:1/span 4}.split{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:3rem;display:grid}.split__aside{flex-direction:column;grid-column:1/span 4;gap:2rem;display:flex}.split__body{grid-column:6/-1}.split__body .t-lead{letter-spacing:-.03em;max-width:26ch;font-size:clamp(1.6rem,2.8vw,3rem);line-height:1.1;font-family:var(--font-display)}.split__cols{gap:var(--col-gap);color:var(--muted);grid-template-columns:1fr 1fr;margin-top:clamp(2rem,4vw,4rem);display:grid}.split__actions{flex-wrap:wrap;align-items:center;gap:1.5rem 2rem;margin-top:clamp(2rem,4vw,3.5rem);display:flex}.portrait{aspect-ratio:4/5;max-width:22rem}.portrait figcaption{color:#f5f3ee;background:#000;padding:2px 10px;position:absolute;bottom:.8rem;left:.9rem}.stats{gap:var(--col-gap);border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(4rem,8vw,8rem);display:grid}.stat{padding-top:1.5rem}.stat__value{font-family:var(--font-display);letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-size:clamp(3rem,7vw,7.5rem);line-height:.9}.stat__value sup{color:var(--accent);vertical-align:top;margin-left:.05em;font-size:.4em}.stat__label{margin-top:.75rem}.work-list{border-top:1px solid var(--border)}.work-row{border-bottom:1px solid var(--border);position:relative}.work-row__link{column-gap:var(--col-gap);isolation:isolate;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;padding-block:clamp(1.4rem,2.6vw,2.6rem);display:grid;position:relative}.work-row__link:before{content:"";inset:0 calc(var(--gutter) * -1);z-index:-1;background:var(--surface);transform-origin:bottom;transition:transform .6s var(--ease-out);position:absolute;transform:scaleY(0)}.work-row__num{color:var(--muted);grid-column:1/span 1}.work-row__title{font-family:var(--font-display);letter-spacing:-.05em;transition:transform .7s var(--ease-out), color .4s;grid-column:2/span 6;font-size:clamp(2.25rem,5.4vw,6rem);font-weight:500;line-height:.95}.work-row__cat{grid-column:8/span 3}.work-row__year{grid-column:11/span 1}.work-row__arrow{border:1px solid var(--border);width:clamp(2.5rem,3.5vw,3.5rem);height:clamp(2.5rem,3.5vw,3.5rem);transition:transform .6s var(--ease-out), background-color .4s, border-color .4s, color .4s;border-radius:50%;grid-column:12/span 1;justify-self:end;place-items:center;display:grid;transform:rotate(-45deg)}.work-row__arrow .arrow{width:40%;height:40%}.work-row__media{display:none}.work-row__link:hover:before,.work-row__link:focus-visible:before{transform:scaleY(1)}.work-row__link:hover .work-row__title,.work-row__link:focus-visible .work-row__title{transform:translate(clamp(.5rem,2vw,2rem))}.work-row__link:hover .work-row__arrow,.work-row__link:focus-visible .work-row__arrow{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);transform:rotate(0)}.work-list.is-hovering .work-row__link:not(:hover) .work-row__title{color:var(--muted)}.hover-preview{z-index:60;aspect-ratio:4/3;pointer-events:none;opacity:0;border-radius:var(--radius-sm);will-change:transform;width:clamp(16rem,24vw,26rem);position:fixed;top:0;left:0;overflow:hidden}.hover-preview__img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .35s;position:absolute;inset:0}.hover-preview__img.is-active{opacity:1}.marquee{border-top:1px solid var(--border);position:relative;overflow:hidden}.marquee:last-of-type{border-bottom:1px solid var(--border)}.marquee__label{left:var(--gutter);z-index:2;background:var(--bg);padding-right:.5rem;position:absolute;top:.65rem}.marquee__track{will-change:transform;width:max-content;display:flex}.marquee__group{flex:none;align-items:center;display:flex}.marquee__item{font-family:var(--font-display);letter-spacing:-.05em;white-space:nowrap;align-items:center;gap:clamp(1rem,2.5vw,2.5rem);padding-block:clamp(1.4rem,2.6vw,2.4rem);padding-inline-end:clamp(1rem,2.5vw,2.5rem);font-size:clamp(2.25rem,6vw,6.5rem);font-weight:500;line-height:1;transition:color .3s;display:inline-flex}.marquee__item:after{content:"";background:var(--accent);border-radius:50%;flex:none;width:.28em;height:.28em}.marquee--outline .marquee__item{color:#0000;-webkit-text-stroke:1px var(--text)}.marquee:hover .marquee__item{color:var(--muted)}.marquee--outline:hover .marquee__item{color:#0000}.marquee__item:hover{-webkit-text-stroke-color:var(--accent);color:var(--accent)!important}.marquee--xl .marquee__item{padding-block:1.5rem;font-size:clamp(3.5rem,11vw,12rem)}.reduced-motion .marquee__track{flex-wrap:wrap;width:auto}.reduced-motion .marquee__group[aria-hidden=true]{display:none}.reduced-motion .marquee__group{padding-inline:var(--gutter);flex-wrap:wrap}.timeline{position:relative}.timeline__rail{top:0;bottom:0;left:calc((100% - var(--col-gap) * 11) / 12 * 3 + var(--col-gap) * 2.5);background:var(--border);width:1px;position:absolute}.timeline__progress{background:var(--accent);transform-origin:top;position:absolute;inset:0;transform:scaleY(0)}.timeline__item{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));padding-block:clamp(2rem,4vw,3.5rem);display:grid;position:relative}.timeline__item+.timeline__item{border-top:1px solid var(--border)}.timeline__year{font-family:var(--font-display);letter-spacing:-.05em;color:var(--muted);grid-column:1/span 3;font-size:clamp(2.5rem,5vw,5rem);line-height:.9;transition:color .4s}.timeline__item.is-active .timeline__year{color:var(--text)}.timeline__dot{left:calc((100% - var(--col-gap) * 11) / 12 * 3 + var(--col-gap) * 2.5);background:var(--bg);border:1px solid var(--muted);border-radius:50%;width:9px;height:9px;margin-left:-4px;transition:background-color .4s,border-color .4s;position:absolute;top:clamp(2.4rem,4.4vw,4rem)}.timeline__item.is-active .timeline__dot{background:var(--accent);border-color:var(--accent)}.timeline__body{gap:.5rem var(--col-gap);grid-column:4/span 8;grid-template-columns:1fr 1fr;padding-left:clamp(1rem,3vw,3rem);display:grid}.timeline__role{font-family:var(--font-display);font-size:var(--fs-h3);letter-spacing:-.035em;grid-column:1/-1;line-height:1}.timeline__company{grid-column:1/-1;margin-bottom:1rem}.timeline__desc{color:var(--muted);font-size:var(--fs-small);grid-column:1/span 1;max-width:42ch}.timeline__period{grid-column:2/span 1;justify-self:end}.exp{border-top:1px solid var(--border)}.exp__item{border-bottom:1px solid var(--border);transition:background-color .5s var(--ease-out);position:relative}.exp__item:before{content:"";inset:0 calc(var(--gutter) * -1);background:var(--surface);z-index:-1;opacity:0;transition:opacity .5s var(--ease-out);position:absolute}.exp__item h3{font:inherit}.exp__head{column-gap:var(--col-gap);text-align:left;grid-template-columns:repeat(12,minmax(0,1fr));align-items:baseline;width:100%;padding-block:clamp(1.5rem,3vw,2.5rem);display:grid}.exp__date{transition:transform .6s var(--ease-out), color .4s;grid-column:1/span 2}.exp__company{font-family:var(--font-display);font-size:var(--fs-h4);letter-spacing:-.035em;grid-column:3/span 4;line-height:1}.exp__role{font-size:var(--fs-body);grid-column:7/span 3}.exp__loc{grid-column:10/span 2}.exp__icon{grid-column:12;justify-self:end;width:1rem;height:1rem;position:relative}.exp__icon:before,.exp__icon:after{content:"";height:1px;transition:transform .5s var(--ease-out);background:currentColor;position:absolute;top:50%;left:0;right:0}.exp__icon:after{transform:rotate(90deg)}.exp__panel{transition:grid-template-rows .6s var(--ease-out);grid-template-rows:0fr;display:grid}.exp__panel>div{overflow:hidden}.exp__panel p{column-gap:var(--col-gap);color:var(--muted);grid-template-columns:repeat(12,minmax(0,1fr));padding-bottom:clamp(1.5rem,3vw,2.5rem);display:grid}.exp__panel p span{grid-column:7/span 5}.exp__item.is-open .exp__panel{grid-template-rows:1fr}.exp__item.is-open:before{opacity:1}.exp__item.is-open .exp__date{color:var(--accent);transform:translate(.75rem)}.exp__item.is-open .exp__icon:after{transform:rotate(0)}@media (hover:hover) and (pointer:fine){.exp__item:hover .exp__panel{grid-template-rows:1fr}.exp__item:hover:before{opacity:1}.exp__item:hover .exp__date{color:var(--accent);transform:translate(.75rem)}.exp__item:hover .exp__icon:after{transform:rotate(0)}}.skills-grid{gap:var(--col-gap);border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.skills-grid__col{padding-top:1.5rem}.skills-grid__col h3{margin-bottom:1.25rem}.skills-grid__col li{font-family:var(--font-display);font-size:var(--fs-h4);letter-spacing:-.02em;border-bottom:1px solid var(--border);padding-block:.3rem}.services{position:relative}.services__bg{z-index:-1;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.services__bg span{font-family:var(--font-display);letter-spacing:-.07em;white-space:nowrap;color:#0000;-webkit-text-stroke:1px var(--border);opacity:0;font-size:clamp(6rem,20vw,22rem);font-weight:500;line-height:.8}.services__list{border-top:1px solid var(--border)}.service{column-gap:var(--col-gap);border-bottom:1px solid var(--border);outline:none;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;padding-block:clamp(1.1rem,2vw,1.8rem);display:grid}.service__num{color:var(--muted);grid-column:1/span 1;transition:color .4s}.service__title{font-family:var(--font-display);letter-spacing:-.045em;transition:transform .6s var(--ease-out), color .4s;grid-column:2/span 6;font-size:clamp(1.75rem,4vw,4.25rem);line-height:1}.service__text{color:var(--muted);font-size:var(--fs-small);opacity:.2;grid-column:8/-1;max-width:40ch;transition:opacity .5s}.services__list.is-hovering .service:not(.is-active) .service__title{color:var(--muted)}.service.is-active .service__title{transform:translate(clamp(.5rem,2vw,2rem))}.service.is-active .service__num{color:var(--accent)}.service.is-active .service__text{opacity:1}.service:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.approach{overflow:hidden}.approach__track{gap:var(--col-gap);padding-inline:var(--gutter);width:max-content;display:flex}.approach__card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);flex-direction:column;justify-content:space-between;width:clamp(18rem,36vw,36rem);min-height:clamp(22rem,34vw,32rem);padding:clamp(1.5rem,2.5vw,2.5rem);display:flex}.approach__card:nth-child(2n){transform:translateY(3rem)}.approach__num{font-family:var(--font-display);letter-spacing:-.06em;color:var(--accent);font-size:clamp(5rem,10vw,10rem);line-height:.8}.approach__card h3{font-family:var(--font-display);font-size:var(--fs-h3);letter-spacing:-.035em;margin-bottom:.75rem}.approach__card p{color:var(--muted);max-width:32ch}.approach__intro{flex-direction:column;justify-content:flex-end;gap:1.5rem;width:clamp(16rem,26vw,26rem);padding-right:2rem;display:flex}.cta{text-align:left}.cta__title{font-family:var(--font-display);font-size:var(--fs-display);letter-spacing:-.055em;font-weight:500;line-height:.88}.cta__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;margin-top:clamp(2rem,4vw,4rem);display:flex}.socials{border-top:1px solid var(--border)}.socials li{border-bottom:1px solid var(--border)}.socials a{font-family:var(--font-display);letter-spacing:-.045em;transition:color .4s, padding .6s var(--ease-out);justify-content:space-between;align-items:center;padding-block:clamp(1rem,2vw,1.5rem);font-size:clamp(1.75rem,3.6vw,3.75rem);line-height:1;display:flex;position:relative}.socials a:after{content:"";background:var(--text);transform-origin:100%;width:100%;height:1px;transition:transform .7s var(--ease-out);position:absolute;bottom:-1px;left:0;transform:scaleX(0)}.socials .arrow{opacity:0;width:.7em;height:.7em;transition:opacity .4s, transform .6s var(--ease-out);transform:translate(-1rem)rotate(-45deg)}.socials a:hover,.socials a:focus-visible{padding-left:clamp(.5rem,1.5vw,1.5rem)}.socials a:hover:after,.socials a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.socials a:hover .arrow,.socials a:focus-visible .arrow{opacity:1;color:var(--accent);transform:rotate(-45deg)}.form{gap:clamp(1.75rem, 3vw, 2.75rem) var(--col-gap);grid-template-columns:1fr 1fr;display:grid}.field{grid-column:span 2;position:relative}.field--half{grid-column:span 1}.field input,.field textarea{border:0;border-bottom:1px solid var(--border);width:100%;font-size:var(--fs-lead);letter-spacing:-.01em;resize:vertical;background:0 0;border-radius:0;outline:none;padding:1.6rem 0 .8rem}.field textarea{resize:none;min-height:9rem}.field label{font-size:var(--fs-lead);color:var(--muted);pointer-events:none;transform-origin:0 0;transition:transform .5s var(--ease-out), color .3s;position:absolute;top:1.6rem;left:0}.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{color:var(--text);transform:translateY(-1.5rem)scale(.62)}.field__line{background:var(--text);transform-origin:0;height:1px;transition:transform .7s var(--ease-out);position:absolute;bottom:22%;left:0;right:0;transform:scaleX(0)}.field textarea~.field__line{bottom:12%}.field input:focus~.field__line,.field textarea:focus~.field__line{transform:scaleX(1)}.field.is-invalid .field__line{background:var(--accent);transform:scaleX(1)}.field__error{min-height:1.2em;color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.04em;margin-top:.5rem;display:block}.field.is-shake{animation:shake .45s var(--ease-out)}.form__hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form__foot{flex-wrap:wrap;grid-column:span 2;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.form__status{min-height:1.4em}.form__status.is-error{color:var(--accent)}.submit{justify-content:center;min-width:13.5rem}.submit__spinner,.submit__check{display:none}.submit__spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite spin}.submit.is-loading .submit__label-text:after{content:"…"}.submit.is-loading .submit__spinner{display:block}.submit.is-loading .arrow{display:none}.submit.is-loading{pointer-events:none}.submit.is-success{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);pointer-events:none}.submit.is-success:before,.submit.is-success .arrow{display:none}.submit.is-success .submit__check{width:1.1rem;height:1.1rem;display:block}.submit__check path{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24px}.submit.is-success .submit__check path{animation:draw .6s .1s var(--ease-out) forwards}.submit.is-shake{animation:shake .45s var(--ease-out)}.copy-btn{vertical-align:middle;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);border-radius:var(--radius);margin-left:.5rem;padding:.3rem .55rem;font-size:.6rem;transition:border-color .3s,color .3s}.copy-btn:hover{border-color:var(--accent);color:var(--accent)}
.hero{min-height:100svh;padding-top:calc(var(--header-h) + clamp(1.5rem, 4vw, 3rem));flex-direction:column;padding-bottom:clamp(6.5rem,8vw,8rem);display:flex;position:relative;overflow:hidden}.hero__canvas{z-index:0;pointer-events:none;opacity:0;transition:opacity 1.6s var(--ease-out);position:absolute;inset:0}.hero__canvas.is-ready{opacity:1}.hero__canvas canvas{width:100%!important;height:100%!important}.hero__inner{z-index:1;flex-direction:column;flex:1;display:flex;position:relative}.hero__top{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.badge{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--bg) 70%, transparent);grid-column:1/span 5;justify-self:start;align-items:center;gap:.65rem;padding:.55rem .95rem .55rem .75rem;display:inline-flex}.badge__dot{background:var(--success);border-radius:50%;width:8px;height:8px;position:relative}.badge__dot:after{content:"";border:1px solid var(--success);animation:ping 2s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:-4px}.hero__coords{text-align:right;grid-column:9/-1;justify-self:end;align-items:center;gap:1rem;display:flex}.crosshair{width:3.25rem;height:3.25rem;color:var(--accent);flex:none}.crosshair circle,.crosshair line{stroke:currentColor;fill:none;stroke-width:1px}.hero__main{margin-top:auto}.hero__title{font-family:var(--font-display);font-size:var(--fs-hero);letter-spacing:-.06em;margin-left:-.05em;font-weight:500;line-height:.84}.hero__title-line{display:block}.hero__title-line--indent{padding-left:15vw}.hero__title .t-accent{font-family:var(--font-display)}.hero__grid{column-gap:var(--col-gap);border-top:1px solid var(--border);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;margin-top:clamp(2rem,4vw,3.5rem);padding-top:1.25rem;display:grid}.hero__roles{flex-direction:column;grid-column:1/span 4;gap:.2rem;display:flex}.hero__roles li{font-size:var(--fs-h4);font-family:var(--font-display);letter-spacing:-.02em;gap:.9rem;padding-bottom:.1em;line-height:1.15;display:flex;overflow:hidden}.hero__roles li>span{gap:.9rem;display:inline-flex}.hero__roles i{font-style:normal;font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--muted);padding-top:.45rem}.hero__desc{font-size:var(--fs-body);grid-column:5/span 4;max-width:30ch;line-height:1.45}.hero__meta{text-align:right;flex-direction:column;grid-column:10/-1;justify-self:end;gap:.3rem;display:flex}.scroll-cue{z-index:2;flex-direction:column;align-items:center;gap:.75rem;display:flex;position:absolute;bottom:clamp(1.25rem,2vw,2rem);left:50%;translate:-50%}.scroll-cue__line{background:var(--border);width:1px;height:3.5rem;position:relative;overflow:hidden}.scroll-cue__line:after{content:"";background:var(--accent);width:5px;height:5px;animation:scroll-dot 2.2s var(--ease-in-out) infinite;border-radius:50%;position:absolute;top:0;left:-2px}.statement{font-family:var(--font-display);font-size:var(--fs-statement);letter-spacing:-.045em;text-indent:18%;font-weight:500;line-height:.98}.statement em{color:var(--accent)}.intro__foot{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));margin-top:clamp(3rem,6vw,6rem);display:grid}.intro__foot>*{grid-column:1/span 3}.about-hero__statement{font-family:var(--font-display);font-size:var(--fs-statement);letter-spacing:-.045em;grid-column:1/span 8;font-weight:500;line-height:1}.about-hero__statement em{color:var(--accent)}.about-hero__grid{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;row-gap:3rem;display:grid}.about-hero__portrait{grid-column:10/-1}.about-hero__portrait .portrait{max-width:none}.features{flex-direction:column;gap:clamp(6rem,12vw,12rem);display:flex}.feature{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:1.5rem;display:grid}.feature__media{aspect-ratio:16/10;grid-column:1/span 8;display:block}.feature__info{flex-direction:column;grid-column:9/-1;align-self:end;gap:1.25rem;display:flex}.feature:nth-child(2n) .feature__media{order:2;grid-column:5/-1}.feature:nth-child(2n) .feature__info{order:1;grid-column:1/span 4}.feature:nth-child(3n) .feature__media{aspect-ratio:16/9;grid-column:2/span 9}.feature:nth-child(3n) .feature__info{flex-flow:wrap;order:2;grid-column:2/span 9;justify-content:space-between;align-items:flex-end}.feature__meta{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding-bottom:.75rem;display:flex}.feature__title{font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(2.5rem,5vw,5.5rem);font-weight:500;line-height:.9}.feature__title a{transition:color .4s}.feature__title a:hover{color:var(--accent)}.feature__desc{color:var(--muted);max-width:36ch}.feature__media:after{content:"";opacity:0;background:linear-gradient(#0000 55%,#00000059);transition:opacity .5s;position:absolute;inset:0}.feature__media .media__caption{z-index:2;color:#f5f3ee;opacity:0;transition:opacity .5s, transform .6s var(--ease-out);position:absolute;bottom:1.1rem;left:1.25rem;transform:translateY(.75rem)}.feature__media img{transition:scale 1.2s var(--ease-out)}.feature__media:hover img,.feature__media:focus-visible img{scale:1.05}.feature__media:hover:after,.feature__media:focus-visible:after{opacity:1}.feature__media:hover .media__caption,.feature__media:focus-visible .media__caption{opacity:1;transform:none}.showcase__grid{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.showcase__aside{height:100svh;padding-top:var(--header-h);flex-direction:column;grid-column:1/span 5;justify-content:center;gap:2rem;display:flex}.showcase__titles{height:clamp(8rem,13vw,14rem);position:relative;overflow:hidden}.showcase__title{flex-direction:column;justify-content:flex-end;gap:.75rem;display:flex;position:absolute;inset:0}.showcase__title h3{font-family:var(--font-display);letter-spacing:-.055em;font-size:clamp(3rem,5vw,8rem);font-weight:500;line-height:.88}.showcase__title:not(:first-child){transform:translateY(105%)}.showcase__progress{align-items:center;gap:1rem;display:flex}.showcase__bar{background:var(--border);flex:1;max-width:12rem;height:1px;position:relative}.showcase__bar span{background:var(--accent);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.showcase__panels{flex-direction:column;grid-column:7/-1;gap:20vh;padding-block:20vh;display:flex}.showcase__panel{flex-direction:column;gap:1.25rem;display:flex}.showcase__panel .media{aspect-ratio:4/5}.showcase__panel-head{display:none}.showcase__panel p{color:var(--muted);max-width:40ch}.detail-hero__back{margin-bottom:clamp(2rem,4vw,3rem);display:inline-flex}.detail-hero__back .arrow{transform:rotate(180deg)}.detail-hero__back:hover .arrow{transform:rotate(180deg)translate(.35em)}.detail-meta{gap:var(--col-gap);border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(2.5rem,5vw,4.5rem);padding-top:1.25rem;display:grid}.detail-meta dd{font-size:var(--fs-body);margin-top:.4rem}.detail-cover{aspect-ratio:16/9;border-radius:var(--radius-sm)}.detail-text{column-gap:var(--col-gap);border-top:1px solid var(--border);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:1.25rem;padding-block:clamp(2.5rem,5vw,5rem);display:grid}.detail-text:first-child{border-top:0}.detail-text>.t-label{grid-column:1/span 3}.detail-text>h2{font-family:var(--font-display);font-size:var(--fs-h4);letter-spacing:-.02em;grid-column:4/span 3;font-weight:500}.detail-text>p{font-size:var(--fs-lead);letter-spacing:-.01em;grid-column:7/-1;line-height:1.4}.detail-text>.tags{grid-column:7/-1}.gallery{overflow:hidden}.gallery__track{gap:var(--col-gap);padding-inline:var(--gutter);touch-action:pan-y;-webkit-user-select:none;user-select:none;width:max-content;display:flex}.gallery__item{aspect-ratio:4/3;flex:none;width:clamp(17rem,42vw,44rem)}.gallery__item:nth-child(2n){aspect-ratio:3/4;width:clamp(13rem,28vw,30rem)}.gallery__item img{pointer-events:none;-webkit-user-drag:none}.gallery__hint{margin-top:1.25rem}.results{gap:var(--col-gap);border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.next-project{text-align:center;border-top:1px solid var(--border);padding-block:clamp(5rem,10vw,10rem);display:block;position:relative;overflow:hidden}.next-project__title{font-family:var(--font-display);font-size:var(--fs-hero);letter-spacing:-.06em;margin-top:1rem;font-weight:500;line-height:.85;transition:color .5s}.next-project__img{aspect-ratio:4/3;opacity:0;z-index:-1;width:clamp(14rem,26vw,28rem);transition:opacity .5s, scale .8s var(--ease-out);position:absolute;top:50%;left:50%;translate:-50% -50%;rotate:-4deg;scale:.5}.next-project:hover .next-project__img,.next-project:focus-visible .next-project__img{opacity:1;scale:1}.next-project:hover .next-project__title{color:#0000;-webkit-text-stroke:1px var(--text)}.contact-hero__title{font-family:var(--font-display);letter-spacing:-.065em;font-size:clamp(4rem,15vw,16rem);font-weight:500;line-height:.82}.contact-hero__title .line{margin-bottom:-.14em;padding-bottom:.14em;display:block}.contact-hero__title .line:nth-child(2){padding-left:16vw}.contact-hero__title .line:nth-child(3){padding-left:6vw}.contact-grid{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:4rem;display:grid}.contact-info{flex-direction:column;grid-column:1/span 4;gap:2.25rem;display:flex}.contact-info dd{font-family:var(--font-display);font-size:var(--fs-h4);letter-spacing:-.02em;margin-top:.4rem}.contact-form-wrap{grid-column:6/-1}.status-page{flex-direction:column;justify-content:flex-end;min-height:80svh;display:flex}.status-page .split__actions{margin-top:clamp(2rem,4vw,3rem)}
@media (min-width:1440px){:root{--header-h:5.25rem}}@media (max-width:1439px){.nav{grid-column:4/span 6}.hero__desc{grid-column:5/span 4}}@media (max-width:1023px){:root{--header-h:4.25rem}.nav,.local-time{display:none}.menu-btn{display:block}.brand{grid-column:1/span 6}.header-tools{grid-column:7/-1}.grid-lines{grid-template-columns:repeat(6,1fr)}.grid-lines span:nth-child(n+7){display:none}.hero__title-line--indent{padding-left:10vw}.hero__roles{grid-column:1/span 6}.hero__desc{grid-column:7/-1}.hero__meta{text-align:left;flex-direction:row;grid-column:1/-1;justify-self:start;gap:1.5rem;margin-top:2rem}.hero__coords{grid-column:7/-1}.badge{grid-column:1/span 6}.scroll-cue{left:auto;right:var(--gutter);translate:none}.section-head__meta{grid-column:1/-1;padding-bottom:1.5rem}.section-head__title{grid-column:1/-1}.split__aside{grid-column:1/span 5}.split__body{grid-column:6/-1}.split__cols{grid-template-columns:1fr}.work-row__num{grid-column:1/span 1}.work-row__title{grid-column:2/span 7}.work-row__cat{grid-column:9/span 3}.work-row__year{display:none}.timeline__rail,.timeline__dot{left:calc((100% - var(--col-gap) * 11) / 12 * 2 + var(--col-gap) * 1.5)}.timeline__year{grid-column:1/span 2;font-size:clamp(1.75rem,4vw,3rem)}.timeline__body{grid-column:3/-1}.footer__col{grid-column:span 6}.about-hero__statement{grid-column:1/-1}.about-hero__portrait{grid-column:7/-1}.exp__date{grid-column:1/span 3}.exp__company{grid-column:4/span 5}.exp__role{grid-column:9/span 3}.exp__loc{display:none}.exp__panel p span{grid-column:4/span 8}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2.5rem}.service__title{grid-column:2/-1}.service__text{opacity:1;grid-column:2/-1;margin-top:.5rem}.feature__media,.feature:nth-child(2n) .feature__media,.feature:nth-child(3n) .feature__media{order:1;grid-column:1/-1}.feature__info,.feature:nth-child(2n) .feature__info,.feature:nth-child(3n) .feature__info{flex-direction:column;order:2;grid-column:1/-1;align-items:stretch}.showcase__aside{display:none}.showcase__panels{grid-column:1/-1;gap:5rem;padding-block:0}.showcase__panel-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.showcase__panel-head h3{font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(2.5rem,8vw,5rem);font-weight:500;line-height:.9}.showcase__panel .media{aspect-ratio:4/3}.approach__track{flex-direction:column;width:auto}.approach__card,.approach__intro{width:100%;min-height:0}.approach__card{gap:3rem}.approach__card:nth-child(2n){transform:none}.approach__intro{margin-bottom:1rem;padding-right:0}.detail-meta{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.5rem}.detail-text>.t-label{grid-column:1/-1}.detail-text>h2{grid-column:1/span 4}.detail-text>p,.detail-text>.tags{grid-column:5/-1}.contact-info{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.contact-form-wrap{grid-column:1/-1}}@media (max-width:767px){:root{--section:clamp(5rem, 18vw, 7rem)}.grid-lines{grid-template-columns:repeat(4,1fr)}.grid-lines span:nth-child(n+5),.brand__name{display:none}.hero{padding-top:calc(var(--header-h) + 1.25rem);padding-bottom:2rem}.hero__top{row-gap:1.25rem}.badge{grid-column:1/-1}.hero__coords{text-align:left;flex-direction:row-reverse;grid-column:1/-1;justify-self:start}.crosshair{width:2.5rem;height:2.5rem}.hero__main{margin-top:auto;padding-top:3rem}.hero__title{letter-spacing:-.065em;font-size:clamp(3.6rem,19vw,7rem)}.hero__title-line--indent{text-align:right;padding-left:0}.hero__grid{row-gap:1.75rem}.hero__roles,.hero__desc{grid-column:1/-1}.hero__desc{max-width:34ch}.hero__meta{flex-direction:column;gap:.25rem;margin-top:0}.scroll-cue{display:none}.statement{text-indent:0;font-size:clamp(2rem,9.5vw,3.25rem);line-height:1.02}.intro__foot>*,.split__aside,.split__body{grid-column:1/-1}.portrait{max-width:16rem}.stats{grid-template-columns:1fr;gap:0}.stat{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:1rem;padding-block:1.5rem;display:flex}.stat__label{text-align:right;max-width:14ch;margin:0}.work-row__link{grid-template-columns:1fr auto;row-gap:.6rem;padding-block:1.75rem}.work-row__link:before{display:none}.work-row__num{grid-area:1/1}.work-row__cat{grid-area:3/1}.work-row__title{grid-area:2/1/auto/-1;font-size:clamp(2.5rem,12vw,3.5rem)}.work-row__arrow{grid-area:1/2;width:2.5rem;height:2.5rem}.work-row__media{aspect-ratio:4/3;grid-area:4/1/auto/-1;margin-top:.75rem;display:block}.work-row__link:hover .work-row__title{transform:none}.hover-preview{display:none}.marquee__item{font-size:clamp(2rem,11vw,3.25rem)}.marquee--xl .marquee__item{font-size:clamp(3rem,16vw,5rem)}.marquee__label{top:.4rem}.timeline__rail,.timeline__dot{left:0}.timeline__dot{margin-left:-4px;top:2.35rem}.timeline__item{padding-left:1.5rem}.timeline__year,.timeline__body{grid-column:1/-1}.timeline__body{grid-template-columns:1fr;margin-top:1rem;padding-left:0}.timeline__desc,.timeline__period{grid-column:1;justify-self:start}.timeline__period{order:-1}.cta__row{flex-direction:column;align-items:flex-start}.footer__col{grid-column:1/-1}.footer__bottom{flex-direction:column}.to-top{width:3rem;height:3rem}.page-hero__meta{flex-direction:column;gap:.35rem}.page-hero__title{font-size:clamp(3.6rem,18vw,7rem)}.page-hero__title .indent{padding-left:0}.page-hero__foot .t-lead,.page-hero__foot .page-hero__aside,.about-hero__portrait{grid-column:1/-1}.about-hero__portrait .portrait{max-width:18rem}.exp__head{grid-template-columns:1fr auto;row-gap:.5rem}.exp__date{grid-area:1/1}.exp__icon{grid-area:1/2}.exp__company{grid-area:2/1/auto/-1;font-size:clamp(1.75rem,8vw,2.5rem)}.exp__role{grid-area:3/1/auto/-1}.exp__panel p span{grid-column:1/-1}.skills-grid{grid-template-columns:1fr}.service{row-gap:.25rem}.service__num,.service__title,.service__text{grid-column:1/-1}.detail-meta{grid-template-columns:1fr 1fr}.detail-text>h2,.detail-text>p,.detail-text>.tags{grid-column:1/-1}.results{grid-template-columns:1fr;gap:0}.gallery__item{width:80vw}.gallery__item:nth-child(2n){width:60vw}.next-project__img{display:none}.next-project__title{font-size:clamp(3rem,16vw,6rem)}.contact-hero__title{font-size:clamp(3.75rem,21vw,8rem)}.contact-hero__title .line:nth-child(2){padding-left:10vw}.contact-hero__title .line:nth-child(3){padding-left:0}.contact-info{grid-template-columns:1fr;gap:1.75rem}.form{grid-template-columns:1fr}.field,.field--half,.form__foot{grid-column:1/-1}.submit{width:100%}.menu__link{font-size:clamp(3rem,15vw,5rem)}}@media (max-width:479px){.hero__title{font-size:clamp(3.2rem,18.5vw,5rem)}.badge{font-size:.625rem}.theme-toggle{width:2.5rem}[data-theme=dark] .theme-toggle__knob{transform:translate(.95rem)}.detail-meta{grid-template-columns:1fr}.contact-hero__title .line:nth-child(2){padding-left:0}}@media (hover:none){.work-list.is-hovering .work-row__link:not(:hover) .work-row__title{color:inherit}}

