@font-face{font-family:display;src:url(../media/BricolageGrotesque-s.p.1pg2nifvadz06.woff2)format("woff2");font-display:swap;font-weight:200 800}@font-face{font-family:display Fallback;src:local(Arial);ascent-override:91.48%;descent-override:26.56%;line-gap-override:0.0%;size-adjust:101.66%}.display_fd986199-module__-2mKKG__className{font-family:display,display Fallback}.display_fd986199-module__-2mKKG__variable{--ff-display:"display", "display Fallback"}
@font-face{font-family:body;src:url(../media/SpaceGrotesk-s.p.2cyn07wtgehh0.woff2)format("woff2");font-display:swap;font-weight:300 700}@font-face{font-family:body Fallback;src:local(Arial);ascent-override:88.78%;descent-override:26.34%;line-gap-override:0.0%;size-adjust:110.84%}.body_d0db8f12-module__cxwMhq__className{font-family:body,body Fallback}.body_d0db8f12-module__cxwMhq__variable{--ff-body:"body", "body Fallback"}
@font-face{font-family:mono;src:url(../media/SpaceMono_Regular-s.p.3cik_s2si-ft-.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:mono;src:url(../media/SpaceMono_Bold-s.p.1s123piy9_v1m.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:mono Fallback;src:local(Arial);ascent-override:83.51%;descent-override:26.92%;line-gap-override:0.0%;size-adjust:134.12%}.mono_ca1fca84-module__aCOxyG__className{font-family:mono,mono Fallback}.mono_ca1fca84-module__aCOxyG__variable{--ff-mono:"mono", "mono Fallback"}
:root{font-family:var(--font-body);font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;--ease:cubic-bezier(.22, 1, .36, 1);--font-display:var(--ff-display), "Helvetica Neue", Arial, sans-serif;--font-body:var(--ff-body), "Helvetica Neue", Arial, sans-serif;--font-mono:var(--ff-mono), ui-monospace, "SF Mono", Menlo, monospace;--maxw:1280px;--text-2xs:clamp(10.5px, .25vw + 9.5px, 12px);--text-xs:clamp(12px, .3vw + 10.5px, 13.5px);--text-sm:clamp(13.5px, .4vw + 12px, 15px);--text-base:clamp(15px, .5vw + 13px, 18px);--text-md:clamp(17px, 1vw + 13.5px, 21px);--text-lg:clamp(20px, 1.6vw + 14px, 28px);--text-xl:clamp(26px, 3vw + 14px, 44px);--text-2xl:clamp(31px, 4.4vw + 13px, 62px);--text-3xl:clamp(40px, 6vw + 12px, 84px);--text-display:clamp(44px, 8.2vw, 128px);--tracking-display:-.035em;--tracking-snug:-.02em;--tracking-label:.05em;--leading-display:.95;--leading-tight:1.05;--leading-body:1.55;--acid:#c0fe04;--acid-ink:#0b0d00}:root,html[data-theme=light]{--bg:#fbfaf4;--bg-2:#efede7;--fg:#000;--fg-2:#363630;--muted:#36363099;--faint:#36363052;--line:#3636301a;--line-soft:#3636300e;--accent:#000;--inv-bg:#000;--inv-fg:#fbfaf4}html[data-theme=dark]{--bg:#0f1111;--bg-2:#191b1b;--fg:#fff;--fg-2:#e6e8e8;--muted:#e6e8e899;--faint:#e6e8e852;--line:#e6e8e814;--line-soft:#e6e8e80b;--accent:#fff;--inv-bg:#fff;--inv-fg:#0f1111}@media (prefers-color-scheme:dark){html:not([data-theme=light]){--bg:#0f1111;--bg-2:#191b1b;--fg:#fff;--fg-2:#e6e8e8;--muted:#e6e8e899;--faint:#e6e8e852;--line:#e6e8e814;--line-soft:#e6e8e80b;--accent:#fff;--inv-bg:#fff;--inv-fg:#0f1111}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2147483646}.blueprint{width:min(calc(100% - 2 * clamp(18px, 4vw, 46px)), calc(var(--maxw) - 92px));z-index:0;pointer-events:none;position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%)}.bp-col{background:var(--line);width:1px;position:absolute;top:0;bottom:0;transform:translate(-.5px)}.bp-row{background:var(--line);height:1px;position:absolute;left:0;right:0}.bp-x{width:11px;height:11px;position:absolute;left:0;transform:translate(-50%,-50%)}.bp-x:before,.bp-x:after{content:"";background:var(--faint);position:absolute}.bp-x:before{width:100%;height:1px;top:50%;left:0;transform:translateY(-50%)}.bp-x:after{width:1px;height:100%;top:0;left:50%;transform:translate(-50%)}.warp-backdrop{z-index:0;pointer-events:none;opacity:var(--warp,0);background:linear-gradient(#0000 0%,#05060a 20% 80%,#0000 100%);position:fixed;inset:0}.bg-scene{z-index:0;pointer-events:none;position:fixed;inset:0}.bg-canvas{display:block;width:100%!important;height:100%!important}.manifesto-line{color:color-mix(in srgb, var(--fg) calc((1 - var(--warp,0)) * 100%), #fff)}.scroll-thumb{background:color-mix(in srgb, var(--fg) calc((1 - var(--warp,0)) * 100%), #fff)}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--bg);min-width:320px;min-height:100dvh;color:var(--fg);transition:background .6s var(--ease), color .6s var(--ease);margin:0;overflow-x:hidden}body:after{content:"";z-index:999;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}html[data-theme=dark] body:after{opacity:.05;mix-blend-mode:soft-light}::selection{background:var(--acid);color:var(--acid-ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip-link{z-index:300;background:var(--inv-bg);color:var(--inv-fg);transition:transform .22s var(--ease);border-radius:999px;padding:10px 16px;font-size:14px;position:fixed;top:10px;left:10px;transform:translateY(-180%)}.skip-link:focus-visible{outline-offset:2px;transform:translateY(0)}.intro{z-index:200;background:var(--bg);color:var(--fg);will-change:transform;position:fixed;inset:0}.intro.is-exit{animation:1s cubic-bezier(.76,0,.24,1) forwards introExit}@keyframes introExit{to{transform:translateY(-101%)}}.intro-inner{flex-direction:column;justify-content:space-between;padding:clamp(22px,4vw,46px);display:flex;position:absolute;inset:0}.mask{line-height:1.05;display:block;overflow:hidden}.mask>span{animation:maskUp .9s cubic-bezier(.22, 1, .36, 1) var(--d,0s) both;display:inline-block;transform:translateY(110%)}.is-exit .mask>span{transition:transform .5s var(--ease), opacity .5s ease;opacity:0;transform:translateY(-40%)}@keyframes maskUp{to{transform:translateY(0)}}.intro-row{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:baseline;gap:16px;display:flex}.intro-center{flex:1;align-content:center;gap:clamp(10px,1.6vh,20px);display:grid}.intro-name{font-family:var(--font-display);letter-spacing:var(--tracking-display);flex-wrap:wrap;gap:0 clamp(14px,2vw,32px);margin:0;font-size:clamp(48px,12vw,184px);font-weight:500;line-height:.92;display:flex}.intro-tagline{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}.intro-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--fg);font-size:clamp(13px,1.3vw,17px)}.intro-bar{background:var(--line-soft);height:2px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.intro-bar-fill{background:var(--acid);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.topbar{z-index:80;background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft);animation:fadeDown .7s var(--ease) .12s both;justify-content:space-between;align-items:center;gap:18px;padding:18px clamp(18px,4vw,46px);display:flex;position:fixed;inset:0 0 auto}.brand{font-family:var(--font-display);letter-spacing:-.02em;align-items:baseline;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.brand-mark{font-family:var(--font-mono);color:var(--muted);font-size:12px}.topnav{gap:clamp(14px,2.4vw,34px);font-size:14px;display:flex}.topnav a{color:var(--muted);transition:color .2s;position:relative}.topnav a:after{content:"";opacity:0;border:2px dotted;transition:opacity .2s;position:absolute;inset:-3px -7px}.topnav a:hover{color:var(--fg)}.topnav a:hover:after{opacity:1}.topnav a.is-current{color:var(--fg)}.topnav a.is-current:after{opacity:.35}.controls{align-items:center;gap:8px;display:flex}.ctrl{border:1px solid var(--line);height:34px;font-family:var(--font-mono);letter-spacing:.02em;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:0 14px;font-size:12px;transition:background .22s,color .22s,border-color .22s;display:inline-flex}.ctrl:hover{border-color:var(--fg)}.ctrl-dot{border:1.5px solid var(--fg);background:var(--fg);border-radius:50%;width:9px;height:9px}html[data-theme=dark] .ctrl-dot{background:0 0}.sound-bars{align-items:flex-end;gap:2px;height:11px;display:inline-flex}.sound-bars i{background:var(--muted);width:2px;height:4px;transition:height .2s,background .2s}.ctrl.is-on .sound-bars i{background:var(--fg);animation:.9s ease-in-out infinite bars}.ctrl.is-on .sound-bars i:nth-child(2){animation-delay:.15s}.ctrl.is-on .sound-bars i:nth-child(3){animation-delay:.3s}@keyframes bars{0%,to{height:4px}50%{height:11px}}.menu-toggle{display:none}.chrome-foot{z-index:70;pointer-events:none;font-family:var(--font-mono);letter-spacing:.02em;color:var(--faint);font-variant-numeric:tabular-nums;animation:fadeUp .8s var(--ease) .3s both;justify-content:space-between;align-items:center;gap:16px;padding:0 clamp(18px,4vw,46px) 18px;font-size:11px;display:flex;position:fixed;bottom:0;left:0;right:0}.foot-zone{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.foot-center{color:var(--muted);position:absolute;left:50%;transform:translate(-50%)}.foot-globe{color:var(--muted);transform-origin:50%;animation:2.6s ease-in-out infinite globeFlip}@keyframes globeFlip{0%{transform:scaleX(1)}50%{transform:scaleX(-1)}to{transform:scaleX(1)}}.scroll-rail{z-index:70;background:var(--line);pointer-events:none;width:2px;position:fixed;top:24vh;bottom:24vh;right:clamp(10px,1.6vw,20px)}.scroll-thumb{background:var(--fg);will-change:transform;width:100%;height:26px;display:block}.page{z-index:1;position:relative}.work,.about,.contact{max-width:var(--maxw);margin:0 auto;padding-inline:clamp(18px,4vw,46px)}.hero{justify-content:center;align-items:flex-end;min-height:100dvh;padding:14vh clamp(18px,4vw,46px) 13vh;display:flex;position:relative;overflow:hidden}.hero-stage{z-index:0;position:absolute;inset:0}.hero-canvas{display:block;width:100%!important;height:100%!important}.hero-copy{z-index:1;text-align:center;max-width:680px;position:relative}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-size:clamp(12px,1.1vw,14px)}.hero-lead{max-width:48ch;color:var(--muted);text-wrap:pretty;margin:clamp(16px,2.4vh,24px) auto 0;font-size:clamp(16px,1.5vw,21px);line-height:1.5}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:clamp(24px,3.4vh,38px);display:flex}.hero-scroll{z-index:1;animation:fadeUp .9s var(--ease) .7s both;justify-items:center;gap:10px;display:grid;position:absolute;bottom:clamp(18px,3vh,30px);left:50%;transform:translate(-50%)}.hero-scroll-label{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--faint)}.hero-scroll-track{background:var(--line);width:1px;height:44px;position:relative;overflow:hidden}.hero-scroll-track:after{content:"";background:var(--fg);height:14px;animation:2s cubic-bezier(.7,0,.3,1) infinite scrollSeg;position:absolute;inset:0 0 auto}@keyframes scrollSeg{0%{opacity:0;transform:translateY(-14px)}35%{opacity:1}70%{opacity:1}to{opacity:0;transform:translateY(44px)}}.stickers{z-index:1;pointer-events:none;position:absolute;inset:0}.sticker{left:var(--x);top:var(--y);width:var(--s,80px);transform:translate(-50%, -50%) rotate(var(--r,0deg));filter:drop-shadow(0 8px 18px #080a0e38);position:absolute}.sticker-inner{animation:stickerBob var(--dur,6s) ease-in-out var(--delay,0s) infinite;display:block}.sticker-svg{width:100%;height:auto;display:block;overflow:visible}.sticker-stamp{color:var(--fg)}.sticker-stamp-text{font-family:var(--font-mono);letter-spacing:.1em;fill:currentColor;text-transform:uppercase;font-size:9.4px;font-weight:700}@keyframes stickerBob{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.sticker-stamp{animation:26s linear infinite stampSpin}@keyframes stampSpin{to{transform:rotate(360deg)}}@media (max-width:760px){.sticker{width:calc(var(--s,80px) * .7)}.sticker--low{display:none}}.btn{background:var(--inv-bg);height:46px;color:var(--inv-fg);transition:transform .22s var(--ease), opacity .22s ease, background .22s ease, color .22s ease;border:1px solid #0000;border-radius:999px;align-items:center;padding:0 24px;font-size:15px;display:inline-flex}.btn:hover{opacity:.9;transform:translateY(-2px)}.btn:active{transform:translateY(0)scale(.98)}.ctrl:active{transform:scale(.97)}.btn--ghost{color:var(--fg);border-color:var(--line);background:0 0}.btn--ghost:hover{border-color:var(--fg);opacity:1}.section-head{border-top:1px solid var(--line);grid-template-columns:auto 1fr;align-items:start;gap:6px clamp(20px,4vw,48px);margin-bottom:clamp(36px,6vh,72px);padding-top:clamp(64px,10vh,130px);display:grid}.section-index{font-family:var(--font-mono);color:var(--muted);grid-row:span 2;padding-top:10px;font-size:13px}.section-head h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(30px,5vw,68px);font-weight:500;line-height:1}.section-head p{max-width:54ch;color:var(--muted);grid-column:2;margin:14px 0 0;font-size:clamp(15px,1.4vw,19px);line-height:1.45}.work-group{padding:clamp(10px,2vh,22px) 0 clamp(22px,4vh,44px)}.work-group-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:2px;padding-bottom:14px;display:flex}.work-group-title{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--muted)}.work-group-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--faint);font-variant-numeric:tabular-nums}.work-rows{display:grid}.work-row{border-bottom:1px solid var(--line-soft);color:var(--fg);transition:padding-left .36s var(--ease), opacity .22s ease;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto auto 1.2em;align-items:baseline;gap:16px clamp(16px,2.4vw,32px);padding:15px 0;display:grid;position:relative}.work-row:before{content:"";background:var(--acid);transform-origin:top;opacity:0;width:3px;transition:transform .36s var(--ease), opacity .24s ease;border-radius:2px;position:absolute;top:12px;bottom:12px;left:0;transform:scaleY(0)}.work-row:hover,.work-row:focus-visible{padding-left:20px}.work-row:hover:before,.work-row:focus-visible:before{opacity:1;transform:scaleY(1)}.work-row:hover .work-cat,.work-row:focus-visible .work-cat{opacity:.5;transition:opacity .24s}.work-title{font-family:var(--font-display);letter-spacing:var(--tracking-snug);font-size:clamp(19px,2vw,27px);font-weight:500}.work-cat{font-size:var(--text-sm);color:var(--muted)}.work-year{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.work-type{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--acid) 50%, var(--line));white-space:nowrap;transition:transform .26s var(--ease), box-shadow .26s var(--ease), color .26s ease;background:0 0;border-radius:999px;place-self:center end;padding:.3em .62em .24em;line-height:1}.work-row.has-preview .work-type{background:var(--acid);color:var(--acid-ink);box-shadow:none}.work-row:hover .work-type,.work-row:focus-visible .work-type{transform:translateY(-1px)}.work-row.has-preview:hover .work-type,.work-row.has-preview:focus-visible .work-type{box-shadow:0 4px 16px -6px color-mix(in srgb, var(--acid) 70%, transparent)}.work-row:not(.has-preview):hover .work-type,.work-row:not(.has-preview):focus-visible .work-type{box-shadow:inset 0 0 0 1px var(--acid);color:var(--fg)}.work-arrow{color:var(--muted);opacity:0;transition:opacity .26s ease, transform .26s var(--ease);font-size:16px;transform:translate(-6px,4px)}.work-row:hover .work-arrow,.work-row:focus-visible .work-arrow{opacity:1;transform:translate(0)}.work-row.has-preview .work-title:before{content:"";background:var(--acid);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:10px;display:inline-block}.three-preview{z-index:60;pointer-events:none;opacity:0;transition:opacity .34s var(--ease);will-change:transform;filter:drop-shadow(0 30px 60px #0000006b);position:fixed;top:0;left:0;transform:translate(-400px,-400px)}.three-preview.is-on{opacity:1}.three-preview canvas{display:block;width:100%!important;height:100%!important}.about-grid{grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px) clamp(28px,6vw,96px);display:grid}.about-lead{max-width:22ch;font-family:var(--font-display);letter-spacing:-.02em;grid-column:1/-1;margin:0;font-size:clamp(26px,3.6vw,50px);font-weight:500;line-height:1.08}.about-body{gap:20px;max-width:60ch;display:grid}.about-body p{color:var(--muted);margin:0;font-size:clamp(16px,1.5vw,20px);line-height:1.55}.about-meta{align-content:start;gap:30px;display:grid}.meta-block h3{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);margin:0 0 12px;padding-bottom:10px;font-size:12px;font-weight:400}.meta-block ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.meta-block li{font-size:clamp(15px,1.4vw,18px);line-height:1.3}.meta-block .status{align-items:center;gap:9px;display:flex}.status-dot{background:var(--acid);border-radius:50%;flex:none;width:7px;height:7px;position:relative}.status-dot:after{content:"";border:1px solid var(--acid);opacity:0;animation:statusPulse 2.4s var(--ease) infinite;border-radius:50%;position:absolute;inset:-3px}@keyframes statusPulse{0%{opacity:.6;transform:scale(.6)}to{opacity:0;transform:scale(1.7)}}.manifesto{height:calc(var(--stmts,4) * 55vh + 100vh);position:relative}.manifesto-stage{height:100vh;max-width:var(--maxw);place-items:center;margin:0 auto;padding:clamp(70px,14vh,180px) clamp(18px,4vw,46px);display:grid;position:sticky;top:0}.manifesto-line{text-align:center;max-width:18ch;font-family:var(--font-display);letter-spacing:var(--tracking-display);text-wrap:balance;opacity:0;pointer-events:none;transition:opacity .7s var(--ease);grid-area:1/1;justify-self:center;gap:.04em;margin:0;font-size:clamp(34px,7vw,100px);font-weight:500;line-height:.98;display:grid}.manifesto-line.is-active{opacity:1}.manifesto-line .m-line{margin-bottom:-.14em;padding-bottom:.14em;display:block;overflow:clip}.manifesto-line .m-line>span{will-change:transform;display:block;transform:translateY(116%)}.manifesto-line.is-active .m-line>span{transition:transform .95s var(--ease) calc(var(--li,0) * .12s);transform:translateY(0)}@media (max-width:760px),(pointer:coarse),(prefers-reduced-motion:reduce){.manifesto{height:auto;max-width:var(--maxw);margin:0 auto;padding:clamp(70px,14vh,180px) clamp(18px,4vw,46px)}.manifesto-stage{justify-items:center;gap:clamp(72px,18vh,200px);max-width:none;height:auto;padding:0;position:static}.manifesto-line{opacity:1;grid-area:auto;transition:none}.manifesto-line .m-line>span{transform:none}}.closing{justify-content:center;align-items:flex-end;min-height:100dvh;padding:14vh clamp(18px,4vw,46px) 13vh;display:flex;position:relative;overflow:hidden}.closing-stage{z-index:0;position:absolute;inset:0}.closing-copy{z-index:1;text-align:center;justify-items:center;gap:clamp(16px,2.4vh,26px);max-width:720px;display:grid;position:relative}.closing-eyebrow{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0;font-size:clamp(12px,1.1vw,14px)}.closing-title{max-width:18ch;font-family:var(--font-display);letter-spacing:var(--tracking-snug);text-wrap:balance;margin:0;font-size:clamp(28px,4.6vw,60px);font-weight:500;line-height:1.04}.contact-page{max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,4vw,46px) clamp(80px,12vh,160px)}.contact-page .page-head{max-width:none;padding-left:0;padding-right:0}.contact-headline{text-transform:uppercase;max-width:15ch;font-size:clamp(38px,8.6vw,124px);line-height:.92}.contact-links{border-top:1px solid var(--line);font-family:var(--font-mono);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-label);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px 32px;margin-top:clamp(44px,8vh,96px);padding-top:26px;display:flex}.contact-links__mail{color:var(--fg);transition:color .2s}.contact-links__mail:hover{color:var(--acid)}.contact-links__social{gap:clamp(16px,3vw,40px);display:flex}.contact-links__social a{color:var(--muted);transition:color .2s}.contact-links__social a:hover{color:var(--fg)}.contact-form{grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,30px);max-width:760px;margin-top:clamp(24px,4vh,48px);display:grid}.field{gap:8px;display:grid}.field--wide{grid-column:1/-1}.field label{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px}.field input,.field select,.field textarea{font:inherit;color:var(--fg);border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:8px 0;font-size:clamp(16px,1.5vw,19px);transition:border-color .22s}.field select option{color:#111}.field textarea{resize:vertical;min-height:96px}.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--fg);outline:none}.contact-submit{grid-column:1/-1;justify-self:start}.contact-status{min-height:20px;color:var(--muted);grid-column:1/-1;margin:0;font-size:14px}.contact-status[data-state=ok]{color:#2f8f4e}.contact-status[data-state=error]{color:#c2473d}.footer{max-width:var(--maxw);border-top:1px solid var(--line);color:var(--muted);grid-template-columns:1fr 1fr auto;gap:32px clamp(24px,5vw,80px);margin:clamp(96px,14vh,180px) auto 0;padding:clamp(36px,5vw,56px) clamp(18px,4vw,46px) 56px;font-size:15px;display:grid}.footer-col{align-content:start;gap:9px;display:grid}.footer-col--end{text-align:right;justify-items:end}.footer-label{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin-bottom:4px;font-size:11px}.footer-col a{width:max-content;transition:color .2s}.footer-col a:hover{color:var(--fg)}.footer-top{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:15px;transition:color .2s}.footer-top:hover{color:var(--fg)}.footer-note{font-family:var(--font-mono);color:var(--faint);margin:0;font-size:12px}.footer-note--faint{color:color-mix(in srgb, var(--faint) 65%, transparent)}@media (max-width:720px){.footer{grid-template-columns:1fr 1fr}.footer-col--end{text-align:left;grid-column:1/-1;justify-items:start;margin-top:8px}}.reveal{opacity:0;transition:opacity .8s var(--ease) var(--d,0s), transform .8s var(--ease) var(--d,0s);transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{opacity:1;transition:none;animation:linear both revealIn;animation-timeline:view();animation-range:entry entry 42%;transform:none}.section-head h2,.page-title{animation:linear both titleDrift;animation-timeline:view();animation-range:entry 10% exit 90%}.section-index{animation:linear both revealIn;animation-timeline:view();animation-range:entry 8% entry 50%}}}@keyframes revealIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes titleDrift{0%{transform:translateY(34px)}to{transform:translateY(-30px)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.route-frame{animation:routeIn .54s var(--ease) both}}@keyframes routeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.mobile-menu{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}@media (max-width:900px){.topnav,.foot-center,.foot-right,.scroll-rail{display:none}.chrome-foot{padding-bottom:14px}.menu-toggle{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;align-content:center;gap:5px;width:46px;height:34px;padding:0 12px;display:grid}.menu-toggle span{background:var(--fg);width:20px;height:1.5px;transition:transform .3s var(--ease);display:block}.menu-toggle.is-open span:first-child{transform:translateY(3.25px)rotate(45deg)}.menu-toggle.is-open span:last-child{transform:translateY(-3.25px)rotate(-45deg)}.ctrl-label{display:none}.ctrl{gap:0;padding:0 11px}.brand-name{white-space:nowrap}.hero{padding-block:24vh 10vh}.work-row{grid-template-columns:1fr auto;grid-template-areas:"title year""cat type";gap:5px 16px}.work-title{grid-area:title}.work-year{grid-area:year}.work-cat{grid-area:cat}.work-type{text-align:right;grid-area:type}.work-arrow{display:none}.about-grid,.contact-form{grid-template-columns:1fr}.mobile-menu{z-index:90;background:var(--bg);opacity:0;pointer-events:none;transition:opacity .42s var(--ease), transform .42s var(--ease);flex-direction:column;justify-content:center;gap:4px;padding:0 28px;display:flex;position:fixed;inset:0;transform:translateY(-12px)}.mobile-menu.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-menu__link{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(44px,13vw,84px);font-weight:500;line-height:1.06}.mobile-menu.is-open .mobile-menu__link{animation:menuLinkIn .5s var(--ease) var(--menu-delay) both}.mobile-menu__foot{color:var(--muted);gap:6px;margin-top:36px;font-size:15px;display:grid}}@keyframes menuLinkIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.route-loading{min-height:82dvh}.section-head h2,.about-lead,.page-title,.article-title,.post-title,.notfound-title{text-wrap:balance}.section-head h2,.page-title,.article-title,.notfound-title,.loop p{letter-spacing:var(--tracking-display);line-height:var(--leading-display)}.post-title,.about-lead,.hero-statement{letter-spacing:var(--tracking-snug)}.section-head p,.about-body p,.page-lead,.post-summary,.notfound-lead{text-wrap:pretty}.work-year,.post-meta time,.article-meta time{font-variant-numeric:tabular-nums}.page-head{max-width:var(--maxw);margin:0 auto;padding:clamp(120px,18vh,200px) clamp(18px,4vw,46px) clamp(40px,6vh,72px)}.page-eyebrow{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 22px;font-size:clamp(12px,1.1vw,14px)}.page-title{max-width:18ch;font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(34px,5.6vw,76px);font-weight:500;line-height:1}.page-lead{max-width:56ch;color:var(--muted);margin:clamp(22px,3vh,34px) 0 0;font-size:clamp(16px,1.5vw,20px);line-height:1.5}.post-list{max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,4vw,46px);list-style:none}.post-row{border-top:1px solid var(--line-soft)}.post-row:first-child{border-top:1px solid var(--line)}.post-link{transition:padding-left .36s var(--ease);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px clamp(24px,5vw,80px);padding:clamp(28px,4vh,48px) 0;display:grid}.post-link:hover{padding-left:14px}.post-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(24px,3vw,40px);font-weight:500;line-height:1.04}.post-summary{max-width:62ch;color:var(--muted);margin:12px 0 0;font-size:clamp(15px,1.4vw,18px);line-height:1.5}.post-tags,.article-tags{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.tag{border:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);border-radius:4px;padding:4px 11px;font-size:11px}.post-meta{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;justify-items:end;gap:4px;font-size:12px;display:grid}.post-rt{color:var(--faint)}.post-arrow{color:var(--faint);opacity:0;transition:opacity .26s ease, transform .26s var(--ease);margin-top:6px;font-size:16px;transform:translate(-6px,4px)}.post-link:hover .post-arrow{opacity:1;transform:translate(0)}.article{max-width:760px;margin:0 auto;padding:clamp(110px,16vh,180px) clamp(20px,5vw,30px) 0}.article-back{font-family:var(--font-mono);color:var(--muted);transition:color .2s ease, transform .22s var(--ease);margin-bottom:clamp(34px,6vh,64px);font-size:13px;display:inline-block}.article-back:hover{color:var(--fg);transform:translate(-3px)}.article-head{margin-bottom:clamp(36px,5vh,56px)}.article-title{font-family:var(--font-display);letter-spacing:-.03em;margin:14px 0 0;font-size:clamp(34px,5.4vw,62px);font-weight:500;line-height:1.02}.article-meta{font-family:var(--font-mono);color:var(--muted);align-items:center;gap:10px;margin-top:22px;font-size:13px;display:flex}.article-extlink{color:var(--fg);transition:color .2s}.article-extlink:hover{color:var(--acid)}.prose{font-size:var(--text-md);color:var(--fg-2);line-height:1.7}.prose>*+*{margin-top:1.35em}.prose h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg);text-wrap:balance;margin-top:2.2em;font-size:clamp(24px,2.6vw,33px);font-weight:500;line-height:1.12}.prose h3{font-family:var(--font-display);color:var(--fg);margin-top:1.8em;font-size:clamp(20px,2vw,25px);font-weight:500}.prose p{text-wrap:pretty}.prose a{color:var(--fg);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px;transition:text-decoration-color .2s}.prose a:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.prose strong{color:var(--fg);font-weight:600}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.5em}.prose li::marker{color:var(--faint)}.prose blockquote{border-left:2px solid var(--accent);font-family:var(--font-display);color:var(--fg);margin-inline:0;padding:4px 0 4px 24px;font-size:clamp(20px,2vw,26px);font-style:italic;line-height:1.35}.prose code{font-family:var(--font-mono);background:color-mix(in srgb, var(--fg) 9%, transparent);border-radius:4px;padding:2px 6px;font-size:.86em}.prose pre{border:1px solid var(--line);background:var(--bg-2);border-radius:8px;padding:18px 20px;font-size:14px;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;padding:0;font-size:13.5px}.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.article-nav{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:20px;margin:clamp(56px,9vh,100px) 0 0;padding-top:32px;display:grid}.article-nav__item{transition:transform .22s var(--ease);gap:6px;padding:4px 0;display:grid}.article-nav__item--end{text-align:right;justify-items:end}.article-nav__item:hover{transform:translateY(-2px)}.article-nav__dir{font-family:var(--font-mono);color:var(--muted);font-size:12px}.article-nav__title{font-family:var(--font-display);color:var(--fg);font-size:clamp(16px,1.6vw,20px);font-weight:500}.notfound{min-height:80dvh;max-width:var(--maxw);place-items:center;margin:0 auto;padding:clamp(120px,18vh,200px) clamp(18px,4vw,46px) 80px;display:grid}.notfound-inner{max-width:30ch}.notfound-code{font-family:var(--font-mono);color:var(--muted);margin:0;font-size:14px}.notfound-title{font-family:var(--font-display);letter-spacing:-.03em;margin:14px 0 0;font-size:clamp(34px,6vw,76px);font-weight:500;line-height:1}.notfound-lead{color:var(--muted);margin:20px 0 0;font-size:clamp(16px,1.5vw,20px);line-height:1.5}.notfound-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}@media (max-width:640px){.post-link{grid-template-columns:1fr}.post-meta{justify-items:start}.post-arrow{display:none}.article-nav{grid-template-columns:1fr}.article-nav__item--end{text-align:left;justify-items:start}}
