:root{--bg:#07080b;--fg:#e9eef5;--fg-muted:#e9eef5c7;--fg-faint:#e9eef5ad;--line:#e9eef51f;--accent:#c6ff3f;--accent-ink:#0d1403;--font-display:"Clash Display", "Geist", ui-sans-serif, system-ui, sans-serif;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--gutter:clamp(20px, 5vw, 96px);--max:1520px;--nav-h:84px;--ease:cubic-bezier(.2, .8, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.76, 0, .24, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100svh;color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-weight:400;line-height:1.5;overflow-x:hidden}html.has-smooth{scrollbar-width:none}html.has-smooth::-webkit-scrollbar{display:none}html.has-cursor,html.has-cursor a,html.has-cursor button{cursor:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:0 0;border:0;padding:0}img,svg{max-width:100%;display:block}h1,h2,h3,p,dl,dd,ol,ul{margin:0}ol,ul{padding:0;list-style:none}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}.skip{z-index:80;background:var(--fg);color:var(--bg);border-radius:8px;padding:10px 14px;font-weight:500;position:fixed;top:-100px;left:16px}.skip:focus{top:16px}#gl{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}#app{z-index:1;transition:opacity 1.2s var(--ease);position:relative}html.is-loading #app{opacity:0}html.is-loading{overflow:hidden}html.is-smooth{scroll-behavior:auto}html.is-smooth #app{-webkit-mask-image:linear-gradient(180deg, transparent calc(var(--nav-h) - 30px), #000 calc(var(--nav-h) + 26px));mask-image:linear-gradient(180deg, transparent calc(var(--nav-h) - 30px), #000 calc(var(--nav-h) + 26px));-webkit-mask-image:linear-gradient(180deg, transparent calc(var(--nav-h) - 30px), #000 calc(var(--nav-h) + 26px));position:fixed;inset:0}html.is-smooth .app__scroll{will-change:transform}html.no-gl #gl{display:none}html.no-gl body{background:radial-gradient(120% 80% at 70% 30%,#151a24 0%,#07080b 60%) fixed}em{color:var(--accent);font-style:normal}.reveal{opacity:0;transition:opacity .9s var(--ease), transform 1.2s var(--ease-out), filter .9s var(--ease);transition-delay:var(--d,0s);transform:translateY(1.1em)}.reveal.is-in{opacity:1;transform:none}@media (hover:hover) and (pointer:fine){.reveal{filter:blur(6px)}.reveal.is-in{filter:blur()}}.line{clip-path:inset(-.3em 0 -.14em);display:block}.line.reveal{opacity:1;filter:none;transform:none}.line__in{transition:transform 1.3s var(--ease-out);transition-delay:var(--d,0s);display:block;transform:translateY(130%)}.line.is-in .line__in,.reveal-group .line__in{transform:none}.reveal-group .ch{transform-origin:50% 60%;opacity:0;filter:blur(6px);transition:transform 1.1s var(--ease-out), filter .9s var(--ease), opacity .7s var(--ease);transition-delay:var(--d,0s);display:inline-block;transform:scale(1.03)}.reveal-group .ch--space{white-space:pre}.reveal-group.is-in .ch{opacity:1;filter:none;transform:none}[data-measure].is-measuring,[data-measure].is-measuring .line__in,[data-measure].is-measuring .ch{transition:none!important;transform:none!important}html.has-cursor .h2 .line__in,html.has-cursor .hero__title .ch,html.has-cursor .contact__email .ch{text-shadow:calc(var(--peak,0) * 2px) 0 0 #ff462859, calc(var(--peak,0) * -2px) 0 0 #46beff59}.noscript{z-index:2;padding:2rem var(--gutter);position:relative}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.line__in,.reveal-group .ch,#app{filter:none;transition:none}}.section{min-height:100svh;padding:calc(var(--nav-h) + 4vh) var(--gutter) 10vh;align-content:center;display:grid;position:relative}.section__inner{width:100%;max-width:var(--max);will-change:opacity, transform;text-shadow:0 0 8px #07080be6,0 0 20px #07080bb3;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);margin:0 auto;display:grid}.section__head,.section__body,.section__intro{grid-column:1/7}.section__body{margin-top:2.4rem}.section__full{grid-column:1/-1}@media (min-width:1200px){.section--projects .rows,.section--contact .links{grid-column:1/9}}@media (min-width:901px){.section--prose .section__inner{align-content:space-between;min-height:78vh}.section--prose .section__head{grid-column:1/5;align-self:start}.section--prose .section__body{grid-column:10/13;align-self:end;margin-top:0}.section--prose .h2{font-size:clamp(2rem,3.4vw,3.6rem)}.section--prose .prose p{max-width:28ch;font-size:clamp(.98rem,1.1vw,1.15rem)}.section--prose .facts{grid-template-columns:1fr 1fr;margin-top:2rem}}@media (max-width:900px){.section__head,.section__body,.section__intro{grid-column:1/-1}.section:not(.section--hero):not(.section--education):not(.section--contact):not(.section--work){min-height:0;padding-top:calc(var(--nav-h) + 34vh);padding-bottom:10vh}.section--work{min-height:0;padding-top:calc(var(--nav-h) + 6vh);padding-bottom:10vh}.section--contact{min-height:100svh;padding-top:calc(var(--nav-h) + 4vh)}}.label{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:1.1rem;font-size:.8rem;font-weight:500}.h2{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;font-size:clamp(2.6rem,6.2vw,6.4rem);font-weight:600;line-height:.98}.prose p{max-width:38ch;font-size:clamp(1.15rem,1.5vw,1.5rem);font-weight:300;line-height:1.45}.prose p+p{margin-top:1.1em}.prose a,.node__meta a,.contact__note a{border-bottom:1px solid var(--line);transition:border-color .3s}.prose a:hover{border-color:var(--fg)}.section__intro{max-width:44ch;color:var(--fg-muted);margin-top:1.4rem;font-size:1.1rem;font-weight:300}.section--hero{align-content:end;padding-bottom:clamp(56px,11vh,140px)}.hero__inner{display:block;position:relative}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#e9eef5e0;flex-wrap:wrap;align-items:baseline;gap:.2em .7em;margin-bottom:1.6rem;font-size:.8rem;font-weight:500;display:flex}.eyebrow__part{white-space:nowrap}.eyebrow__dot{color:var(--accent)}.hero__title{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(4rem,13.5vw,15rem);font-weight:600;line-height:.92}.hero__sub{max-width:40ch;color:var(--fg-muted);margin-top:2.2rem;font-size:clamp(1.1rem,1.5vw,1.45rem);font-weight:300}.hero__scroll{letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted);flex-direction:column;align-items:center;gap:12px;font-size:.76rem;font-weight:500;transition:color .3s;display:flex;position:absolute;bottom:0;right:0}.hero__scroll:hover{color:var(--fg)}.hero__scroll i{background:linear-gradient(var(--fg-muted), transparent);width:1px;height:48px;animation:drip 2.6s var(--ease) infinite}@keyframes drip{0%{transform-origin:top;transform:scaleY(0)}45%{transform-origin:top;transform:scaleY(1)}55%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}@media (max-width:760px){.eyebrow__dot{display:none}.eyebrow__part{flex-basis:100%}.section--hero{align-content:center;padding-bottom:14vh}.hero__scroll{flex-direction:row;gap:12px;margin-top:2.6rem;position:static}.hero__scroll i{background:linear-gradient(90deg, var(--fg-muted), transparent);width:40px;height:1px;animation:none}}.facts{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:20px;margin-top:3rem;padding-top:1.5rem;display:grid}.facts dt{letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint);font-size:.74rem;font-weight:500}.facts dd{margin-top:.4rem;font-size:1.05rem}.stats{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px;margin-top:2.8rem;padding-top:1.6rem;display:grid}.stats>div{flex-direction:column-reverse;gap:.35rem;display:flex}.stats dd{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.6rem,2.4vw,2.6rem);font-weight:500;line-height:1}.stats dt{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint);font-size:.78rem;font-weight:500}.actions{flex-wrap:wrap;gap:12px;margin-top:2.6rem;display:flex}.btn{border:1px solid var(--line);letter-spacing:.01em;transition:background .45s var(--ease), color .45s var(--ease), border-color .45s;border-radius:999px;align-items:center;gap:12px;padding:15px 24px;font-size:.95rem;font-weight:500;line-height:1;display:inline-flex}.btn:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn--primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn--primary:hover{background:var(--fg);border-color:var(--fg)}.btn__arrow{transition:transform .4s var(--ease)}.btn:hover .btn__arrow{transform:translate(3px)}.rows{border-top:1px solid var(--line);margin-top:3rem}.row{border-bottom:1px solid var(--line);position:relative}.row:before{content:"";background:var(--accent);width:4px;height:1.6em;box-shadow:0 0 18px var(--accent);transform-origin:top;transition:transform .5s var(--ease-out);position:absolute;top:30px;left:-18px;transform:skew(-18deg)scaleY(0)}.row:hover:before,.row.is-on:before{transform:skew(-18deg)scaleY(1)}.row__stage{display:none}.row__link{text-align:left;width:100%;transition:padding-left .5s var(--ease), color .3s;grid-template-columns:3rem minmax(0,1.1fr) minmax(0,1fr) auto 2rem;align-items:baseline;gap:24px;padding:30px 0;display:grid}@media (min-width:1200px){.row__link{grid-template-columns:3rem 11rem minmax(0,1fr) 16rem 2rem}}a.row__link:hover,button.row__link:hover{padding-left:14px}.row__idx{font-family:var(--font-mono);letter-spacing:.1em;color:var(--fg-faint);font-size:.74rem}.row__title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.5rem,2.6vw,2.6rem);font-weight:500;line-height:1.05;display:block}.row__desc{max-width:44ch;color:var(--fg-muted);font-size:1rem;font-weight:300}.row__meta{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);white-space:nowrap;flex-wrap:wrap;gap:6px 14px;font-size:.78rem;font-weight:500;display:flex}.row__arrow{text-align:right;color:var(--fg-muted);transition:transform .4s var(--ease), color .3s}a.row__link:hover .row__arrow,button.row__link:hover .row__arrow{color:var(--fg);transform:translate(4px)}@media (max-width:900px){.row:before{display:none}.row__link{grid-template-columns:2.4rem minmax(0,1fr) 1.5rem;gap:10px 16px}.row__desc,.row__meta{grid-column:2}.row__arrow{grid-area:1/3}.row__stage{grid-column:1/-1;height:38vh;margin:4px 0 6px;display:block}}.section--education{align-content:start;min-height:170svh}.section--education .section__inner{margin-top:0}.path{pointer-events:none;will-change:transform;width:100%;height:100svh;position:absolute;top:0;left:0}.node{left:calc(var(--dx) * 100%);top:calc(var(--dy) * 100%);opacity:0;pointer-events:auto;width:min(204px,15vw);transition:opacity .7s var(--ease), transform .9s var(--ease-out);position:absolute;transform:translate(-50%,calc(-100% - 22px))}.node--below{transform:translate(-50%,22px)}.node:first-child{transform:translate(-6%,calc(-100% - 22px))}.node--below:first-child{transform:translate(-6%,22px)}.node:first-child .node__link,.node:last-child .node__link{text-align:left}.node:first-child .node__dot,.node:last-child .node__dot{margin-left:0}.node:last-child{transform:translate(-94%,calc(-100% - 22px))}.node--below:last-child{transform:translate(-94%,22px)}@media (min-width:901px){.node:last-child:not(.node--below) .node__dot{margin:12px 0 0 auto}.node--below:last-child .node__dot{margin:0 0 12px auto}}.node__date{white-space:nowrap}.node:last-child .node__link{text-align:right}.node:last-child .node__dot{margin-left:auto;margin-right:0}.node.is-drawn{opacity:1}.node__link{text-align:center;display:block}.node__dot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 16px var(--accent), 0 0 40px #c6ff3f73;transition:transform .6s var(--ease-out) .1s;border-radius:50%;margin:0 auto 12px;display:block;transform:scale(0)}.node--below .node__dot{margin:0 auto 12px}.node:not(.node--below) .node__link{flex-direction:column-reverse;display:flex}.node:not(.node--below) .node__dot{margin:12px auto 0}.node.is-drawn .node__dot{transform:scale(1)}.node__text{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-shadow:0 0 6px #07080bf2,0 0 14px #07080be6;background:#07080bcc;border-radius:12px;flex-direction:column;gap:.3rem;margin:-10px -12px;padding:10px 12px;display:flex}.node__org{letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint);font-size:.72rem;font-weight:500}.node__title{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.15rem;font-weight:500;line-height:1.15;transition:color .3s}a.node__link:hover .node__title{color:var(--accent)}.node__meta{color:#e9eef5e0;font-size:.82rem;line-height:1.4}.node__meta .node__date:before{content:"· "}.node__status{color:var(--accent)}@media (max-width:900px){.section--education{min-height:170svh;padding-top:calc(var(--nav-h) + 4vh);align-content:start}.section--education .section__inner{min-height:0}.section--education .section__intro{display:none}.node,.node--below,.node:first-child,.node:last-child{left:calc(var(--px) * 100%);top:calc(var(--py) * 100%);width:min(78vw,360px);transform:translate(22px,-50%)}.node:last-child .node__link{text-align:left}.node__link,.node:not(.node--below) .node__link{text-align:left;flex-direction:row;align-items:center;gap:14px;display:flex}.node__dot,.node:not(.node--below) .node__dot,.node--below .node__dot,.node:first-child .node__dot,.node:last-child .node__dot{flex:none;margin:0}.node__text{gap:.15rem}.node__meta{font-size:.78rem}.node__org{font-size:.62rem}}.contact{text-align:center;justify-items:center}.section--contact .section__head{grid-column:1/-1}.section--contact .h2{color:var(--fg-muted);font-size:clamp(1.4rem,2.4vw,2.4rem);font-weight:500}.contact__email{max-width:100%;font-family:var(--font-display);letter-spacing:-.04em;opacity:0;transition:opacity .7s var(--ease);grid-column:1/-1;margin-top:1.2rem;font-size:clamp(2.4rem,7.6vw,9.6rem);font-weight:600;line-height:1;display:inline-block;position:relative}.contact__email.is-landed,html.no-gl .contact__email{opacity:1}@media (prefers-reduced-motion:reduce){.contact__email{opacity:1}}.contact__email:after{content:"";background:var(--accent);height:3px;box-shadow:0 0 18px var(--accent);transform-origin:0;transition:transform .7s var(--ease-out);position:absolute;bottom:-.06em;left:0;right:0;transform:scaleX(0)}.contact__email:hover:after{transform:scaleX(1)}.contact__note{color:var(--fg-muted);grid-column:1/-1;margin-top:1.6rem;font-size:1.05rem;font-weight:300}.links{border-top:1px solid var(--line);text-align:left;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 24px;width:100%;margin-top:3.4rem;display:grid}@media (min-width:1200px){.section--contact .links{grid-column:3/11}}.links__item{border-bottom:1px solid var(--line);flex-direction:column;gap:.3rem;padding:18px 0;transition:color .3s;display:flex}.links__label{font-family:var(--font-display);font-size:1.15rem;font-weight:500}.links__sub{color:var(--fg-muted);font-size:.88rem;font-weight:300}.links__item:hover .links__sub{color:var(--fg)}@media (max-width:760px){.contact__email{letter-spacing:-.03em;white-space:nowrap;font-size:clamp(1.3rem,7.1vw,2.6rem)}}.section--contact{align-content:end;padding-bottom:clamp(28px,5vh,56px)}.footer{letter-spacing:.04em;width:100%;color:var(--fg-faint);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:clamp(56px,10vh,120px);font-size:.8rem;font-weight:500;display:flex}.footer a:hover{color:var(--fg)}@media (prefers-reduced-motion:reduce){.hero__scroll i{animation:none}.section__inner{will-change:auto}.node{opacity:1}.node__dot{transform:none}}.loader{z-index:60;padding:28px var(--gutter) 44px;pointer-events:none;transition:opacity .7s var(--ease);justify-content:space-between;align-items:flex-end;gap:24px;display:flex;position:fixed;inset:0}.loader.is-done{opacity:0}.loader__name,.loader__count{opacity:0;transition:opacity .25s var(--ease)}.loader.is-fonted .loader__name,.loader.is-fonted .loader__count{opacity:1}.loader__name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--fg);padding-bottom:1.4em;font-size:1.05rem;font-weight:600}.loader__count{font-family:var(--font-display);letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:clamp(4rem,12vw,11rem);font-weight:500;line-height:.85}.loader__bar{left:var(--gutter);right:var(--gutter);background:var(--line);height:1px;position:absolute;bottom:24px}.loader__bar i{background:var(--accent);height:100%;box-shadow:0 0 12px var(--accent);transform:scaleX(var(--p,0));transform-origin:0;transition:transform .25s var(--ease);display:block}.nav{z-index:10;height:var(--nav-h);padding:0 var(--gutter);transition:opacity 1s var(--ease) .3s;justify-content:space-between;align-items:center;gap:24px;display:flex;position:fixed;inset:0 0 auto}.nav:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:linear-gradient(#07080bc7 0%,#07080b9e 100%);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 70%,#0000 100%);mask-image:linear-gradient(#000 70%,#0000 100%)}html:not(.is-ready) .nav,html:not(.is-ready) .progress{opacity:0}.nav__brand{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:10px;font-size:1rem;font-weight:600;line-height:1;display:inline-flex}.nav__release{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid #c6ff3f80;border-radius:999px;padding:3px 7px 2px;font-size:.62rem;font-weight:500;line-height:1}.nav__links{gap:28px;display:flex}.nav__links a{letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);font-size:.8rem;font-weight:500;transition:color .3s;position:relative}.nav__links a:after{content:"";transform-origin:0;height:1px;transition:transform .4s var(--ease-out);background:currentColor;position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.nav__links a:hover,.nav__links a[aria-current]{color:var(--fg)}.nav__links a[aria-current]:after{transform:scaleX(1)}.nav__meta{align-items:center;gap:22px;display:flex}.nav__sound{letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);align-items:center;gap:10px;font-size:.8rem;font-weight:500;transition:color .3s;display:inline-flex}.nav__sound:hover,.nav__sound.is-on{color:var(--fg)}.nav__bars{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.nav__bars i{transform-origin:bottom;background:currentColor;width:2px;height:4px}.nav__sound.is-on .nav__bars i{animation:1.1s ease-in-out infinite bars}.nav__sound.is-on .nav__bars i:nth-child(2){animation-delay:.15s}.nav__sound.is-on .nav__bars i:nth-child(3){animation-delay:.3s}.nav__sound.is-on .nav__bars i:nth-child(4){animation-delay:.45s}@keyframes bars{50%{transform:scaleY(3)}}.nav__time{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-size:.76rem;font-weight:500;display:flex}.nav__time:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 14px var(--accent);border-radius:50%;animation:2.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.4}}.nav__menu{letter-spacing:.1em;text-transform:uppercase;color:var(--fg);font-size:.8rem;font-weight:500;display:none}@media (max-width:900px){.nav:before{background:linear-gradient(#07080bf0 0%,#07080bd6 100%)}.nav__links,.nav__time{display:none}.nav__menu{display:inline-flex}.nav__sound{gap:0;font-size:0}}.menu{z-index:9;padding:var(--nav-h) var(--gutter) 40px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .5s var(--ease);background:#07080b6b;flex-direction:column;justify-content:center;display:flex;position:fixed;inset:0}html.has-menu #app{opacity:0;transition:opacity .3s var(--ease)}.menu[hidden]{display:none}.menu:focus{outline:none}.menu.is-open{opacity:1}.menu__list li{border-top:1px solid var(--line);opacity:0;transition:opacity .6s var(--ease), transform .8s var(--ease-out);transition-delay:var(--d,0s);transform:translateY(18px)}.menu.is-open .menu__list li{opacity:1;transform:none}.menu__list li:last-child{border-bottom:1px solid var(--line)}.menu__list a{font-family:var(--font-display);letter-spacing:-.02em;align-items:baseline;gap:18px;padding:20px 0;font-size:clamp(2rem,9vw,3rem);font-weight:500;line-height:1;display:flex}.menu__list a[aria-current]{color:var(--accent)}.menu__idx{font-family:var(--font-mono);letter-spacing:.1em;color:var(--fg-faint);font-size:.8rem}.menu__foot{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);margin-top:28px;font-size:.76rem}html.has-menu{overflow:hidden}.progress{z-index:9;width:2px;transition:opacity 1s var(--ease) .5s;background:#f2f2f50f;position:fixed;top:0;bottom:0;right:0}.progress__bar{background:var(--fg);opacity:.45;transform-origin:top;width:100%;height:100%;transform:scaleY(0)}.cursor{z-index:100;pointer-events:none;transition:opacity .3s;display:none;position:fixed;inset:0}html.has-cursor .cursor{display:block}.cursor.is-hidden{opacity:0}.cursor__dot,.cursor__ring{will-change:transform;border-radius:50%;position:absolute;top:0;left:0}.cursor__dot{background:var(--fg);mix-blend-mode:difference;width:6px;height:6px;margin:-3px 0 0 -3px}.cursor__ring{width:36px;height:36px;transition:width .4s var(--ease), height .4s var(--ease), margin .4s var(--ease), background .3s, border-color .3s;border:1px solid #f2f2f599;margin:-18px 0 0 -18px}.cursor__label{letter-spacing:.12em;text-transform:uppercase;color:var(--fg);opacity:0;place-items:center;font-size:.62rem;font-weight:500;transition:opacity .2s;display:grid;position:absolute;inset:0}.cursor.is-hover .cursor__ring{background:#f2f2f51a;border-color:#0000;width:64px;height:64px;margin:-32px 0 0 -32px}.cursor.is-label .cursor__ring{background:#f2f2f51f;border-color:#0000;width:76px;height:76px;margin:-38px 0 0 -38px}.cursor.is-label .cursor__label{opacity:1}.cursor.is-down .cursor__ring{width:22px;height:22px;margin:-11px 0 0 -11px}.preview{z-index:20;aspect-ratio:1638/997;pointer-events:none;will-change:transform;width:min(440px,38vw);position:fixed;top:0;left:0}.preview img{object-fit:cover;clip-path:inset(45% 0 round 14px);opacity:0;width:100%;height:100%;transition:clip-path .7s var(--ease-out), opacity .35s var(--ease);border-radius:14px;transform:translate(28px,-50%);box-shadow:0 30px 80px #00000080}.preview.is-on img{clip-path:inset(0 round 14px);opacity:1}@media (hover:none){.preview{display:none}}.case{z-index:40;overscroll-behavior:contain;opacity:0;transition:opacity .6s var(--ease);position:fixed;inset:0;overflow-y:auto}.case.is-open{opacity:1}.case__backdrop{background:#07080b5c;position:fixed;inset:0}html.has-case #app{opacity:0;transition:opacity .6s var(--ease)}.case__panel{max-width:880px;margin:14vh auto 16vh;margin-right:max(var(--gutter), calc((100% - 880px) / 2));position:relative}@media (min-width:1200px){.case__panel{max-width:720px;margin-right:var(--gutter);margin-left:auto}}@media (max-width:900px){.case__panel{margin:22vh var(--gutter) 10vh}}.case__panel{transition:transform .9s var(--ease-out);background:#0a0b0e;border:1px solid #c6ff3f29;border-radius:24px;outline:none;padding:clamp(28px,4vw,56px);transform:translateY(6vh)}.case.is-open .case__panel{transform:none}.case__close{border:1px solid var(--line);border-radius:50%;place-items:center;width:44px;height:44px;font-size:1rem;transition:background .3s,color .3s;display:grid;position:absolute;top:22px;right:22px}.case__close:hover{background:var(--fg);color:var(--bg)}.case__title{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(2.6rem,6vw,5.4rem);font-weight:500;line-height:.98}.case__tagline{max-width:30ch;color:var(--fg-muted);margin-top:1rem;font-size:clamp(1.2rem,1.8vw,1.6rem);font-weight:300}.case__summary{max-width:58ch;color:var(--fg);margin-top:1.4rem;font-size:1.05rem;line-height:1.6}.case__meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;margin-top:2.2rem;padding:1.4rem 0;display:grid}.case__meta dt{letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint);font-size:.74rem;font-weight:500}.case__meta dd{margin-top:.4rem;font-size:.98rem}.case__section{margin-top:2.4rem}.case__section h3{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.8rem;font-weight:500}.case__section p,.case__section li{max-width:62ch;margin-top:.8rem;font-size:1.12rem;font-weight:300;line-height:1.5}.case__section li{padding-left:1.2rem;position:relative}.case__section li:before{content:"";background:var(--accent);width:6px;height:1px;position:absolute;top:.75em;left:0}.case__media{color:var(--fg-muted);text-align:center;border:1px dashed #f2f2f540;border-radius:16px;margin-top:2.4rem;padding:2.2rem;font-size:.95rem}.case__stats{margin-top:2.4rem}.case__nav{margin-top:2.6rem}.case__back{color:var(--fg-muted);border-bottom:1px solid var(--line);font-size:.9rem;font-weight:500;transition:color .3s}.case__back:hover{color:var(--fg)}html.has-case{overflow:hidden}html.has-case .nav,html.has-case .progress{opacity:0;pointer-events:none}@media (prefers-reduced-motion:reduce){.loader,.case,.case__panel,.preview img{transition:none}.nav__time:before,.nav__sound.is-on .nav__bars i{animation:none}}
