:root{--void:#0c0a08;--void-2:#16110f;--ink:#f5f1ea;--ink-dim:#a39a8e;--accent:#ff5c1a;--accent-2:#4f46e5;--line:#f5f1ea29;--line-strong:#f5f1ea52;--font-display:"Anton", "Arial Narrow", sans-serif;--font-body:"Space Grotesk", system-ui, sans-serif;--font-mono:"Space Mono", ui-monospace, monospace;--gutter:clamp(20px, 5vw, 88px);--maxw:1480px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{background:var(--void);color:var(--ink);font-family:var(--font-body);-webkit-overflow-scrolling:touch;text-rendering:optimizelegibility;width:100%;max-width:100vw;font-size:17px;line-height:1.5;overflow:hidden scroll}::selection{background:var(--accent);color:#000}a{color:inherit;text-decoration:none}.wrap{max-width:var(--maxw);padding-inline:var(--gutter);min-width:0;margin:0 auto}.eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;font-size:12px;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:8px;height:8px;display:inline-block}.mono{font-family:var(--font-mono)}.display{font-family:var(--font-display);letter-spacing:.005em;text-transform:uppercase;font-weight:400;line-height:.92}.section{border-top:1px solid var(--line);position:relative}.section-head{grid-template-columns:minmax(0,1fr);gap:18px;padding-block:clamp(40px,6vw,88px) clamp(28px,3.5vw,52px);display:grid}.section-index{font-family:var(--font-mono);letter-spacing:.16em;color:var(--ink-dim);text-transform:uppercase;align-items:center;gap:14px;font-size:12px;display:flex}.section-index b{color:var(--ink);font-weight:700}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transform:translateY(22px)}.reveal.in{opacity:1;transform:none}.reveal[data-d="1"]{transition-delay:80ms}.reveal[data-d="2"]{transition-delay:.16s}.reveal[data-d="3"]{transition-delay:.24s}.reveal[data-d="4"]{transition-delay:.32s}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}.nav{z-index:50;padding:14px var(--gutter);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;transition:background .3s,border-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav.solid{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#0b0c0ab8}.brand{font-family:var(--font-mono);letter-spacing:.04em;align-items:center;gap:9px;font-size:14px;font-weight:700;display:flex}.brand .dim{color:var(--ink-dim)}.nav-links{align-items:center;gap:26px;display:flex}.nav-links a{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);font-size:12px;transition:color .2s;position:relative}.nav-links a:hover{color:var(--ink)}.nav-links a:after{content:"";background:var(--accent);height:1px;transition:right .25s;position:absolute;bottom:-5px;left:0;right:100%}.nav-links a:hover:after{right:0}.nav-cta{border:1px solid var(--line-strong);color:var(--ink)!important;padding:8px 16px!important}.nav-cta:hover{background:var(--accent);border-color:var(--accent);color:#000!important}.nav-cta:after{display:none}@media (max-width:760px){.nav-links a:not(.nav-cta){display:none}}.hero{flex-direction:column;justify-content:flex-end;min-height:100svh;padding-top:clamp(96px,14vh,160px);display:flex;position:relative;overflow:hidden}.hero canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hero:after{content:"";pointer-events:none;background:linear-gradient(#0b0a0e8c 0%,#0b0a0e00 22%,#0b0a0e66 56%,#0b0a0ec7 78%,#0b0a0ef5 100%);position:absolute;inset:0}.hero-grid-lines{pointer-events:none;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.35;background-size:100% 25%,min(25%,400px) 100%;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 90%,#000 30%,#0000 100%);mask-image:radial-gradient(120% 90%,#000 30%,#0000 100%)}.hero-inner{z-index:2;padding-bottom:clamp(48px,7vw,110px);position:relative}.hero-tag{flex-wrap:wrap;gap:10px 22px;margin-bottom:clamp(22px,3vw,38px);display:flex}.hero-tag span{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:9px;font-size:clamp(12px,1.1vw,14px);display:inline-flex}.hero-tag span:before{content:"//";color:var(--ink-dim)}.hero h1{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.004em;overflow-wrap:break-word;word-break:break-word;max-width:16ch;font-size:clamp(46px,8.4vw,150px);font-weight:400;line-height:.9}.hero h1 .hl{color:var(--accent)}.hero-sub{max-width:60ch;color:var(--ink);margin-top:clamp(22px,3vw,40px);font-size:clamp(17px,1.7vw,23px);line-height:1.45}.hero-meta{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px 0;margin-top:clamp(30px,4vw,56px);display:flex}.hero-meta .cell{border-right:1px solid var(--line);flex:200px;min-width:0;padding:18px 22px 18px 0}.hero-meta .cell:last-child{border-right:none}.hero-meta .k{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-size:11px}.hero-meta .v{font-family:var(--font-display);margin-top:8px;font-size:clamp(26px,3vw,40px)}.hero-meta .v .accent{color:var(--accent)}html[data-hero=center] .hero{text-align:center;justify-content:center}html[data-hero=center] .hero-tag{justify-content:center}html[data-hero=center] .hero h1{max-width:18ch;margin-inline:auto}html[data-hero=center] .hero-sub{margin-inline:auto}html[data-hero=center] .hero-meta{text-align:left;max-width:760px;margin-inline:auto}.scroll-hint{bottom:18px;right:var(--gutter);z-index:3;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);align-items:center;gap:10px;font-size:11px;display:flex;position:absolute}.scroll-hint .bar{background:var(--ink-dim);width:46px;height:1px;position:relative;overflow:hidden}.scroll-hint .bar:after{content:"";background:var(--accent);width:40%;animation:2.2s infinite scan;position:absolute;inset:0}@keyframes scan{0%{transform:translate(-100%)}to{transform:translate(260%)}}.cards{border-left:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:20px;padding:clamp(28px,3vw,48px);transition:background .3s;display:flex;position:relative}.card:hover{background:var(--void-2)}.card .cnum{font-family:var(--font-mono);letter-spacing:.14em;color:var(--ink-dim);font-size:12px}.card h3{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(30px,3.6vw,54px);font-weight:400;line-height:.96}.card p{color:var(--ink-dim);max-width:52ch;font-size:16.5px;line-height:1.6}.card p strong{color:var(--ink);font-weight:500}.quote{border-left:2px solid var(--accent);margin-top:auto;padding:14px 0 14px 18px;font-size:18px;line-height:1.45}.quote cite{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-dim);margin-top:10px;font-size:12px;font-style:normal;display:block}.tagline-strip{font-family:var(--font-display);text-transform:uppercase;color:var(--accent);letter-spacing:.01em;padding:22px 0;font-size:clamp(20px,2vw,30px)}@media (max-width:820px){.cards{grid-template-columns:1fr}}.process{border-top:1px solid var(--line)}.pstep{border-bottom:1px solid var(--line);position:relative}.pstep:before{content:"";background:var(--accent);transform-origin:top;width:3px;transition:transform .35s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.pstep:hover:before,.pstep.open:before{transform:scaleY(1)}.pstep-head{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:120px minmax(0,1.15fr) minmax(0,1.5fr) 48px;align-items:center;gap:clamp(16px,3vw,48px);padding:clamp(24px,3vw,40px) 0;transition:padding-left .35s cubic-bezier(.2,.7,.2,1);display:grid}.pstep:hover .pstep-head{padding-left:16px}.pstep:hover .pnum,.pstep.open .pnum{color:var(--accent)}.pnum{font-family:var(--font-display);color:var(--line-strong);font-size:clamp(44px,6vw,92px);line-height:.8;transition:color .3s}.pstep-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);max-width:32ch;margin-bottom:9px;font-size:11px;line-height:1.45}.pstep h4{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(24px,2.6vw,38px);font-weight:400;line-height:1}.pstep-lead{color:var(--ink-dim);font-size:16.5px;line-height:1.6}.pstep-toggle{border:1px solid var(--line-strong);flex:none;justify-content:center;justify-self:end;align-items:center;width:42px;height:42px;transition:background .3s,border-color .3s;display:inline-flex;position:relative}.pstep-toggle:before,.pstep-toggle:after{content:"";background:var(--ink);transition:background .3s,transform .35s cubic-bezier(.2,.7,.2,1);position:absolute;top:50%;left:50%}.pstep-toggle:before{width:15px;height:2px;transform:translate(-50%,-50%)}.pstep-toggle:after{width:2px;height:15px;transform:translate(-50%,-50%)}.pstep:hover .pstep-toggle{border-color:var(--accent)}.pstep.open .pstep-toggle{background:var(--accent);border-color:var(--accent)}.pstep.open .pstep-toggle:before,.pstep.open .pstep-toggle:after{background:#000}.pstep.open .pstep-toggle:after{transform:translate(-50%,-50%)scaleY(0)}.pstep-detail{height:0;transition:height .45s cubic-bezier(.2,.7,.2,1);overflow:hidden}.pstep-detail-inner{min-height:0}.pstep-list{opacity:0;grid-template-columns:1fr 1fr;column-gap:clamp(24px,4vw,64px);margin-left:calc(120px + clamp(16px,3vw,48px));padding:4px 0 clamp(28px,3vw,42px);list-style:none;transition:opacity .4s .12s,transform .4s .12s;display:grid;transform:translateY(8px)}.pstep.open .pstep-list{opacity:1;transform:none}.pstep-list li{border-top:1px solid var(--line);color:var(--ink);padding:12px 0 12px 26px;font-size:15.5px;line-height:1.5;position:relative}.pstep-list li:before{content:"→";color:var(--accent);font-family:var(--font-mono);font-size:13px;position:absolute;top:12px;left:0}@media (max-width:820px){.pstep-head{grid-template-columns:58px 1fr 40px;column-gap:18px}.pstep-kicker{font-size:10px}.pstep-lead{display:none}.pnum{font-size:38px}.pstep-toggle{width:38px;height:38px}.pstep-list{grid-template-columns:1fr;margin-left:0}}.diff{grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);padding-block:clamp(30px,4vw,60px);display:grid}.diff .d{border:1px solid var(--line);flex-direction:column;gap:18px;padding:clamp(26px,2.6vw,40px);transition:border-color .3s,background .3s;display:flex}.diff .d:hover{border-color:var(--line-strong);background:var(--void-2)}.diff .d .dh{align-items:baseline;gap:14px;display:flex}.diff .d .dh .tag{font-family:var(--font-mono);color:var(--ink-dim);letter-spacing:.14em;font-size:12px}.diff .d h4{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(28px,3vw,44px);font-weight:400}.diff .d p{color:var(--ink-dim);font-size:16.5px;line-height:1.62}.diff .d p strong{color:var(--accent);font-weight:500}@media (max-width:820px){.diff{grid-template-columns:1fr}}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.stats .s{border-right:1px solid var(--line);padding:clamp(28px,3.4vw,52px) clamp(18px,2vw,32px)}.stats .s:last-child{border-right:none}.stats .s .num{font-family:var(--font-display);color:var(--accent);font-size:clamp(44px,6vw,92px);line-height:.86}.stats .s .lab{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);max-width:30ch;margin-top:14px;font-size:12px}@media (max-width:760px){.stats{grid-template-columns:1fr}.stats .s{border-right:none;border-bottom:1px solid var(--line)}}.portfolio{border-top:1px solid var(--line);position:relative;overflow:hidden}.portfolio-grid-lines{pointer-events:none;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.55;background-size:100% 25%,min(25%,400px) 100%;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 95% at 50% 42%,#000 22%,#0000 100%);mask-image:radial-gradient(120% 95% at 50% 42%,#000 22%,#0000 100%)}.portfolio:after{content:"";background:radial-gradient(75% 55% at 50% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 62%);pointer-events:none;position:absolute;inset:0}.portfolio .wrap{z-index:2;position:relative}.pf-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;min-width:0;display:grid}.pf-item{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0b0a0e9e;flex-direction:column;min-height:clamp(280px,32vw,420px);padding:clamp(28px,3vw,52px);transition:background .3s;display:flex}.pf-item:hover{background:#0b0a0e6b}.pf-item .pf-top{justify-content:space-between;align-items:flex-start;display:flex}.pf-item .pf-idx{font-family:var(--font-mono);color:var(--ink-dim);letter-spacing:.12em;font-size:12px}.pf-item .pf-status{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid var(--line-strong);white-space:nowrap;padding:4px 10px;font-size:11px}.pf-item h3{font-family:var(--font-display);text-transform:uppercase;margin-top:auto;font-size:clamp(40px,6vw,86px);font-weight:400;line-height:.9}.pf-item .pf-desc{color:var(--ink-dim);max-width:40ch;margin-top:14px;font-size:16px}.pf-arrow{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink);align-items:center;gap:10px;margin-top:20px;font-size:13px;display:inline-flex}.pf-arrow span{transition:transform .25s}.pf-item:hover .pf-arrow span{transform:translate(8px)}@media (max-width:820px){.pf-grid{grid-template-columns:1fr}}@media (max-width:480px){.pf-item .pf-top{flex-direction:column;gap:8px}}.footer{border-top:1px solid var(--line);padding-block:clamp(48px,6vw,96px) 40px}.footer-top{grid-template-columns:1.4fr 1fr;gap:clamp(30px,4vw,60px);display:grid}.footer-cta h2{font-family:var(--font-display);text-transform:uppercase;word-break:break-word;font-size:clamp(38px,6vw,92px);font-weight:400;line-height:.9}.footer-cta h2 .hl{color:var(--accent)}.footer-cta .ftag{font-family:var(--font-mono);color:var(--ink-dim);letter-spacing:.12em;max-width:50ch;margin-top:22px;font-size:13px;line-height:1.7}.footer-menu{grid-template-columns:1fr 1fr;align-self:start;gap:28px 20px;display:grid}.footer-col h5{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:14px;font-size:11px}.footer-col a{color:var(--ink);padding:7px 0;font-size:16px;transition:color .2s,padding-left .2s;display:block}.footer-col a:hover{color:var(--accent);padding-left:8px}.footer-bottom{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-dim);flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:clamp(48px,6vw,90px);padding-top:24px;font-size:12px;display:flex}.footer-bottom .mark{color:var(--accent);vertical-align:middle;display:inline-flex}.about{border-top:1px solid var(--line);max-width:100vw;position:relative;overflow:hidden}.about-video{object-fit:cover;filter:contrast(1.02)brightness(.92)saturate(.85);width:100%;height:100%;position:absolute;inset:0}.about-tint{background:var(--accent);mix-blend-mode:color;opacity:.22;pointer-events:none;position:absolute;inset:0}.about:after{content:"";pointer-events:none;background:linear-gradient(#0b0a0e47 0%,#0b0a0e42 40%,#0b0a0e4d 75%,#0b0a0e5c 100%);position:absolute;inset:0}.about>.wrap{z-index:2;position:relative}.about-lead{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.004em;text-shadow:0 2px 24px #000000c7;max-width:20ch;padding-bottom:clamp(30px,4vw,56px);font-size:clamp(30px,5.2vw,78px);font-weight:400;line-height:.98}.about-lead .hl{color:var(--accent)}.about-lead .w{opacity:0;filter:blur(7px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1),filter .6s;display:inline-block;transform:translateY(.5em)}.about-lead.in .w{opacity:1;filter:none;transform:none}.about-body{border-top:1px solid var(--line-strong);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);word-break:break-word;overflow-wrap:break-word;background:#0b0a0e57;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);padding:clamp(26px,3vw,44px) clamp(22px,2.4vw,36px);display:grid}.about-body .col{gap:18px;display:flex}.about-body .col .tick{font-family:var(--font-mono);color:var(--accent);letter-spacing:.14em;text-shadow:0 1px 10px #000000d9;flex:none;padding-top:5px;font-size:12px}.about-body p{color:var(--ink);text-shadow:0 1px 14px #000000f2,0 0 30px #000000b3;font-size:clamp(16px,1.5vw,19px);line-height:1.62}.about-body p strong{color:#fff;font-weight:600}.about-locales{border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b0a0e57;grid-template-columns:repeat(3,1fr);margin-top:clamp(30px,4vw,56px);display:grid}.about-locales .loc{border-right:1px solid var(--line);padding:clamp(22px,2.4vw,34px);position:relative;overflow:hidden}.about-locales .loc:last-child{border-right:none}.about-locales .loc .idx{font-family:var(--font-mono);letter-spacing:.14em;color:var(--ink);text-shadow:0 1px 8px #000000e6;font-size:11px}.about-locales .loc .name{font-family:var(--font-display);text-transform:uppercase;text-shadow:0 2px 16px #000000e6;margin-top:12px;font-size:clamp(22px,2.6vw,38px);line-height:1}.about-locales .loc .dot{background:var(--accent);width:8px;height:8px;margin-right:10px;animation:2.4s ease-in-out infinite pulse;display:inline-block}.about-locales .loc:nth-child(2) .dot{animation-delay:.8s}.about-locales .loc:nth-child(3) .dot{animation-delay:1.6s}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}@media (max-width:820px){.about-body,.about-locales{grid-template-columns:1fr}.about-locales .loc{border-right:none;border-bottom:1px solid var(--line)}.about-locales .loc:last-child{border-bottom:none}}@media (max-width:760px){.footer-top{grid-template-columns:1fr}.footer-menu{grid-template-columns:1fr 1fr}}.pb{padding-bottom:clamp(40px,6vw,90px)}.lk-s{fill:var(--ink)}.lk-sk{stroke:var(--ink)}.lk-a{fill:var(--accent)}.lk-ak{stroke:var(--accent)}
