@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_8eaea4{font-family:Geist,Geist Fallback;font-style:normal}.__variable_8eaea4{--font-geist:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_88b4eb{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_88b4eb{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}:root{--bg:#09090a;--panel:#111113;--panel-2:#17171a;--line:rgba(255,255,255,.08);--line-2:rgba(255,255,255,.14);--fg:#f2f1ee;--soft:#c9c8cc;--mute:#8f8e93;--accent:#e0a85a;--accent-dim:rgba(224,168,90,.14);--ok:#5fd39a;--sans:var(--font-geist),"Segoe UI",system-ui,sans-serif;--mono:var(--font-geist-mono),ui-monospace,"Cascadia Mono",Consolas,monospace;--ease:cubic-bezier(.2,.7,.1,1);color-scheme:dark}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3{text-wrap:balance}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}::selection{background:rgba(224,168,90,.35)}[hidden]{display:none!important}.sr{width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.skip,.sr{position:absolute}.skip{left:16px;top:8px;z-index:90;background:var(--fg);color:#0b0b0c;padding:10px 14px;border-radius:8px}.skip:not(:focus){width:1px;height:1px;padding:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.wrap{max-width:1240px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}@media (min-width:760px){.wrap{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}}.mono{letter-spacing:.02em;color:var(--mute)}.eyebrow,.mono{font-family:var(--mono);font-size:12px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.tab{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(95,211,154,.15);flex:none;display:inline-block}.btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:10px;border:1px solid var(--line-2);background:transparent;color:var(--fg);font:500 14px/1 var(--sans);cursor:pointer;white-space:nowrap;transition:background .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}.btn:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.03)}.btn:active{transform:scale(.98)}.btn.primary{background:var(--fg);color:#0b0b0c;border-color:var(--fg)}.btn.primary:hover{background:#fff}.btn svg{transition:transform .2s var(--ease)}.btn:hover svg{transform:translateX(2px)}.btn.sm{height:36px;font-size:13px;padding:0 14px}.rv{opacity:0;transform:translateY(12px);transition:opacity .45s var(--ease),transform .45s var(--ease);transition-delay:var(--d,0s)}.rv.in{opacity:1;transform:none}.nav{position:-webkit-sticky;position:sticky;top:env(safe-area-inset-top,0);z-index:40;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(9,9,10,.72);border-bottom:1px solid var(--line)}.nav .wrap{gap:32px;height:64px}.brand,.nav .wrap{display:flex;align-items:center}.brand{gap:10px;font-weight:600;font-size:15px;letter-spacing:-.01em}.logo{width:28px;height:28px;border-radius:7px;background:var(--fg);color:#0b0b0c;display:grid;place-items:center;font:700 12px/1 var(--mono);letter-spacing:-.04em}.links{display:flex;gap:26px;font-size:14px;color:var(--mute)}.links a{transition:color .2s}.links a:hover,.links a[aria-current=page]{color:var(--fg)}.nav .btn{margin-left:auto}.hero{position:relative;padding-block:clamp(48px,7vw,96px) clamp(48px,6vw,80px)}.hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;background-position:top;-webkit-mask-image:radial-gradient(70% 60% at 50% 0,#000 30%,transparent 75%);mask-image:radial-gradient(70% 60% at 50% 0,#000 30%,transparent 75%)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-gap:clamp(32px,5vw,72px);gap:clamp(32px,5vw,72px)}.hero-grid,.pill{align-items:center}.pill{display:inline-flex;gap:10px;min-height:32px;padding:4px 14px 4px 12px;border:1px solid var(--line-2);border-radius:999px;background:rgba(255,255,255,.02);font-size:13px;color:var(--mute)}.pill b{color:var(--fg);font-weight:500}.hero h1{margin:22px 0 20px;font:600 clamp(40px,5.6vw,72px)/1.02 var(--sans);letter-spacing:-.045em}.hero h1 .soft,.lede{color:var(--mute)}.lede{margin:0 0 32px;max-width:54ch;font-size:clamp(16px,1.3vw,18px);text-wrap:pretty}.lede b{color:var(--fg);font-weight:500}.acts{display:flex;flex-wrap:wrap;gap:10px}.kpis{margin:48px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:14px;overflow:hidden}.kpis div{padding:16px 18px;min-width:0}.kpis div+div{border-left:1px solid var(--line)}.kpis dd,.stats-row dd{margin:0 0 2px;font:600 26px/1.1 var(--sans);letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpis dt,.stats-row dt{font-size:13px;color:var(--mute)}.console{position:relative;border:1px solid var(--line-2);border-radius:20px;background:var(--panel);overflow:hidden;aspect-ratio:4/5;max-width:100%;box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}.console-bar{position:relative;z-index:3;display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-bottom:1px solid var(--line);background:rgba(17,17,19,.8)}.console-bar i{width:10px;height:10px;border-radius:50%;background:#2a2a2e}.console-bar .mono{margin-left:8px}.console-bar .live{margin-left:auto;display:flex;align-items:center;gap:8px}.console .bgfx{position:absolute;inset:40px 0 0;background:radial-gradient(60% 50% at 50% 100%,var(--accent-dim),transparent 70%),linear-gradient(var(--line) 1px,transparent 1px) 0 0 /100% 32px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 /32px 100%}.console .photo{position:absolute;z-index:1;left:50%;bottom:0;transform:translateX(-50%);height:94%;width:auto;max-width:none;filter:saturate(.92) contrast(1.03)}.console:after{content:"";position:absolute;inset:auto 0 0;height:36%;z-index:2;background:linear-gradient(transparent,rgba(17,17,19,.95))}.chip{position:absolute;z-index:3;display:grid;grid-gap:4px;gap:4px;padding:12px 14px;border:1px solid var(--line-2);border-radius:12px;background:rgba(23,23,26,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:13px;min-width:0;animation:float-in .8s var(--ease) both}.chip b{font-weight:500}.chip.c1{left:16px;bottom:84px;animation-delay:.5s}.chip.c2{right:16px;top:42%;animation-delay:.35s;border-color:rgba(95,211,154,.35)}.chip.c2 b{color:var(--ok)}.chip.c3{left:16px;right:16px;bottom:16px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;animation-delay:.65s}.chip .stack{display:flex;flex-wrap:wrap;gap:6px}.chip .stack span,.tags span{font:500 11px/1 var(--mono);padding:6px 8px;border-radius:6px}.chip .stack span{background:rgba(255,255,255,.06);color:var(--fg);padding:5px 7px}@keyframes float-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.strip{border-block:1px solid var(--line)}.strip .wrap{display:flex;align-items:center;gap:40px;height:76px;overflow-x:auto;scrollbar-width:none}.strip .wrap::-webkit-scrollbar{display:none}.strip .mono,.strip a{flex:none}.strip a{font:600 17px/1 var(--sans);letter-spacing:-.02em;color:#5d5c62;transition:color .2s}.strip a:hover{color:var(--fg)}.sec{padding-block:clamp(72px,9vw,128px)}.sec.tight{padding-top:0}.head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;margin-bottom:40px}.head h2{margin:12px 0 0;font:600 clamp(30px,3.6vw,46px)/1.08 var(--sans);letter-spacing:-.035em;max-width:20ch}.head p{margin:0;max-width:44ch;color:var(--mute)}.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:12px;gap:12px}.card{position:relative;border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:22px;min-width:0;overflow:hidden;transition:border-color .25s var(--ease)}.card:hover{border-color:var(--line-2)}.card h3{margin:0 0 6px;font:600 18px/1.2 var(--sans);letter-spacing:-.02em}.card p{margin:0;color:var(--mute);font-size:14px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.tags span{border:1px solid var(--line);color:var(--soft)}.card .ic{width:32px;height:32px;border-radius:8px;border:1px solid var(--line-2);display:grid;place-items:center;margin-bottom:18px;color:var(--accent)}.span-4{grid-column:span 4}.span-2{grid-column:span 2}.arch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);grid-gap:24px;gap:24px;align-items:center}.arch svg{width:100%;height:auto}.arch svg text{font:500 11px var(--mono);fill:var(--fg)}.arch svg .sub{fill:var(--mute);font-size:10px}.flow{stroke-dasharray:4 6;animation:flow 1.6s linear infinite}@keyframes flow{to{stroke-dashoffset:-20}}.case{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--panel)}.case figure{margin:0;padding:28px 0 0 28px;background:radial-gradient(80% 80% at 0 100%,var(--accent-dim),transparent 70%),var(--panel-2);border-right:1px solid var(--line);position:relative;min-width:0;min-height:360px}.case figure img{position:absolute;top:28px;left:28px;width:calc(100% - 28px);height:calc(100% - 28px);object-fit:cover;object-position:left top;border-radius:10px 0 0 0;border:1px solid var(--line-2);border-right:0;border-bottom:0}.case .body{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:18px;min-width:0}.case h3{margin:0;font:600 30px/1.1 var(--sans);letter-spacing:-.03em}.case p{margin:0;color:var(--mute)}.checks{margin:0;padding:0;list-style:none;grid-gap:10px;font-size:14px}.checks,.checks li{display:grid;gap:10px}.checks li{grid-template-columns:16px minmax(0,1fr);grid-gap:10px}.checks li svg{margin-top:4px;color:var(--accent)}.grid-stats{margin:6px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.grid-stats div{background:var(--panel);padding:12px 14px}.grid-stats dd{margin:0;font:600 22px/1.1 var(--sans);letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grid-stats dt{font-size:12px;color:var(--mute)}.case .btn{align-self:flex-start;margin-top:auto}.tl{border:1px solid var(--line);border-radius:16px;overflow:hidden}.tl>div{display:grid;grid-template-columns:170px minmax(0,1.2fr) minmax(0,1.4fr) 110px;grid-gap:20px;gap:20px;align-items:baseline;padding:18px 22px;border-bottom:1px solid var(--line)}.tl>div:last-child{border-bottom:0}.tl b{font-weight:500;display:block}.tl .org,.tl p{color:var(--mute);font-size:14px}.tl p{margin:0}.tl .type{justify-self:end;font:500 11px/1 var(--mono);padding:6px 8px;border-radius:6px;border:1px solid var(--line);color:var(--soft)}.edu{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.edu div{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:16px 18px;display:grid;grid-gap:2px;gap:2px}.edu b{font-weight:500}.edu span{color:var(--mute);font-size:14px}.cta{position:relative;border:1px solid var(--line-2);border-radius:24px;overflow:hidden;padding:clamp(32px,6vw,72px);background:radial-gradient(60% 120% at 100% 0,var(--accent-dim),transparent 60%),var(--panel);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-gap:32px;gap:32px;align-items:end}.cta h2{margin:12px 0 0;font:600 clamp(30px,3.6vw,46px)/1.08 var(--sans);letter-spacing:-.035em;max-width:16ch}.cta p{color:var(--mute);margin:14px 0 0;max-width:46ch}.mailbox{display:grid;grid-gap:10px;gap:10px;min-width:0}.mailrow{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 16px;border:1px solid var(--line-2);border-radius:12px;background:rgba(0,0,0,.25);min-width:0}.mailrow span{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;font:500 15px/1 var(--mono);-webkit-user-select:all;-moz-user-select:all;user-select:all}.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-block:32px;border-top:1px solid var(--line);font-size:13px;color:var(--mute)}.foot nav{display:flex;gap:22px}.foot a:hover{color:var(--fg)}.foot p{margin:0;flex-basis:100%;font-size:12px;color:#6d6c72}.wtop{padding-block:clamp(48px,7vw,88px) clamp(32px,4vw,48px);position:relative}.wtop:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(70% 80% at 30% 0,#000 30%,transparent 75%);mask-image:radial-gradient(70% 80% at 30% 0,#000 30%,transparent 75%)}.wtop h1{margin:14px 0 12px;font:600 clamp(40px,5.4vw,68px)/1.02 var(--sans);letter-spacing:-.045em}.wtop p{margin:0;color:var(--mute);max-width:56ch;font-size:17px}.idx{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:16px;overflow:hidden}.idx a{display:grid;grid-template-columns:48px 56px minmax(0,1fr) minmax(0,.9fr) 150px 20px;grid-gap:18px;gap:18px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);transition:background .2s}.idx li:last-child a{border-bottom:0}.idx a:hover{background:rgba(255,255,255,.02)}.idx .th{width:56px;height:40px;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:var(--panel-2)}.idx .th img{width:100%;height:100%;object-fit:cover;object-position:top}.idx strong{font-weight:600;font-size:17px;letter-spacing:-.02em}.idx em{font-style:normal;margin-left:10px;font:500 10px/1 var(--mono);padding:4px 6px;border-radius:5px;border:1px solid var(--line-2);color:var(--soft);vertical-align:2px}.idx .kind,.idx .when{color:var(--mute);font-size:14px}.idx svg{color:var(--mute);transition:transform .2s var(--ease),color .2s}.idx a:hover svg{color:var(--accent);transform:translate(2px,-2px)}.proj{padding-block:clamp(56px,7vw,96px);border-top:1px solid var(--line);scroll-margin-top:64px}.proj-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;margin-bottom:28px}.proj-head h2{margin:10px 0 8px;font:600 clamp(32px,4vw,52px)/1.04 var(--sans);letter-spacing:-.04em}.proj-head p{margin:0;color:var(--mute);max-width:60ch;font-size:17px}.proj-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.proj .panel{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:clamp(20px,2.4vw,28px);display:grid;grid-gap:18px;gap:18px;min-width:0}.proj dl.meta{margin:0;display:grid;grid-template-columns:96px minmax(0,1fr);grid-gap:8px 14px;gap:8px 14px;font-size:14px}.proj dl.meta dt{color:var(--mute)}.proj dl.meta dd{margin:0}.gallery{display:grid;grid-gap:10px;gap:10px;min-width:0}.gallery.desk{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery.desk button:first-child{grid-column:1/-1}.gallery.phone{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start}.gallery button{position:relative;display:block;width:100%;padding:0;border:1px solid var(--line-2);border-radius:12px;overflow:hidden;background:var(--panel-2);cursor:zoom-in;transition:border-color .2s,transform .3s var(--ease)}.gallery.phone button{border-radius:18px}.gallery button:hover{border-color:rgba(224,168,90,.5);transform:translateY(-2px)}.gallery img{width:100%;height:auto}.lb{width:min(1100px,94vw);max-height:92vh;padding:0;border:1px solid var(--line-2);border-radius:16px;background:var(--panel);color:var(--fg)}.lb::-webkit-backdrop{background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lb::backdrop{background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lb-bar{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line)}.lb-bar .count{margin-right:auto}.lb-bar button{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--fg);cursor:pointer}.lb-bar button:hover{border-color:var(--line-2)}.lb figure{margin:0;padding:16px;display:grid;grid-gap:10px;gap:10px;justify-items:center}.lb figure img{max-height:72vh;width:auto;border-radius:8px}.lb figcaption{color:var(--mute);font-size:14px;text-align:center}.next{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;border:1px dashed var(--line-2);border-radius:16px;padding:24px 28px;margin-block:clamp(48px,6vw,80px)}.next h2{margin:0 0 4px;font:600 22px/1.2 var(--sans)}.next p{margin:0;color:var(--mute)}.lost{min-height:70vh;display:grid;place-content:center;justify-items:start;grid-gap:14px;gap:14px;padding-block:80px}.lost .code{font:600 clamp(80px,14vw,160px)/.9 var(--sans);letter-spacing:-.06em;color:#2b2b30}.lost h1{margin:0;font:600 32px/1.1 var(--sans);letter-spacing:-.03em}.lost p{margin:0;color:var(--mute);max-width:44ch}.sim{border:1px solid var(--line-2);border-radius:20px;background:#09090b;overflow:hidden;box-shadow:0 50px 120px -60px rgba(224,168,90,.25)}.sim,.sim-bar{position:relative}.sim-bar{z-index:3;display:flex;align-items:center;gap:14px;height:44px;padding:0 10px 0 16px;border-bottom:1px solid var(--line);background:rgba(13,13,15,.9)}.sim-phase{color:var(--accent)}.sim-ctl{margin-left:auto;display:flex;gap:4px}.sim-ctl button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--fg);display:grid;place-items:center;cursor:pointer}.sim-ctl button:hover{border-color:var(--line-2);background:rgba(255,255,255,.04)}.sim-stage{position:relative;height:clamp(440px,50vw,620px);cursor:-webkit-grab;cursor:grab;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sim-stage:active{cursor:-webkit-grabbing;cursor:grabbing}.sim-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.sim-tags{inset:0;pointer-events:none;overflow:hidden}.sim-tags,.tag3{position:absolute}.tag3{left:0;top:0;padding:6px 10px 7px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(10,10,12,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:500 11px/1.35 var(--mono);letter-spacing:.02em;color:var(--fg);white-space:nowrap;will-change:transform,opacity;transition:opacity .5s var(--ease)}.tag3 small{display:block;color:var(--mute);font-size:10px}.tag3:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:16px;background:linear-gradient(rgba(255,255,255,.4),transparent)}.tag3.hub{border-color:rgba(224,168,90,.6);color:var(--accent)}.tag3.prod{border-color:rgba(95,211,154,.6);color:var(--ok)}.hud{pointer-events:none}.hud,.hud:before{position:absolute;inset:0}.hud:before{content:"";background:repeating-linear-gradient(transparent 0 3px,rgba(255,255,255,.018) 3px 4px),radial-gradient(120% 90% at 50% 50%,transparent 60%,rgba(0,0,0,.55))}.hud .br{position:absolute;width:18px;height:18px;border:0 solid rgba(224,168,90,.65)}.hud .a{top:14px;left:14px;border-top-width:1px;border-left-width:1px}.hud .b{top:14px;right:14px;border-top-width:1px;border-right-width:1px}.hud .c{bottom:14px;left:14px;border-bottom-width:1px;border-left-width:1px}.hud .d{bottom:14px;right:14px;border-bottom-width:1px;border-right-width:1px}.hud .mono{position:absolute;font-size:10.5px;letter-spacing:.12em;color:#77767c}.hud-tl{top:20px;left:42px}.hud-tr{top:20px;right:42px;display:flex;align-items:center;gap:8px;color:var(--ok)!important}.hud-tr .dot{width:6px;height:6px;animation:blink 1.6s steps(2) infinite}@keyframes blink{50%{opacity:.2}}.hud-bl{bottom:20px;left:42px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hud-br{bottom:20px;right:42px}.sim-cap{position:absolute;left:32px;bottom:46px;margin:0;max-width:min(46ch,70%);pointer-events:none}.sim-cap b{display:block;font:600 clamp(24px,2.6vw,36px)/1.05 var(--sans);letter-spacing:-.035em;color:var(--fg)}.sim-cap span{display:block;margin-top:6px;font-size:14px;color:#a9a8ad;text-wrap:pretty}.sim-cap.swap{animation:capin .7s var(--ease) both}@keyframes capin{0%{opacity:0;transform:translateY(8px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}.nogl-msg{display:none;position:absolute;inset:0;margin:0;place-items:center;padding:24px;text-align:center;color:var(--mute)}.sim.nogl .nogl-msg{display:grid}.sim.nogl .hud,.sim.nogl .sim-cap{display:none}.sim-progress{position:relative;z-index:3;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:6px;gap:6px;padding:12px 16px;border-top:1px solid var(--line);background:rgba(13,13,15,.9)}.sim-progress span{height:3px;border-radius:2px;background:rgba(255,255,255,.08);overflow:hidden}.sim-progress i{display:block;height:100%;width:0;background:var(--accent)}.sim-progress .done i{width:100%}.sim-progress .run i{animation:fill var(--dur,4s) linear forwards}@keyframes fill{to{width:100%}}.steps{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.steps button{width:100%;height:100%;text-align:left;display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:10px;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--mute);font:400 13.5px/1.5 var(--sans);cursor:pointer;transition:border-color .25s var(--ease),background .25s var(--ease),color .25s var(--ease)}.steps button b{display:block;color:var(--fg);font-weight:600;font-size:15px;margin-bottom:2px}.steps button .mono{padding-top:2px}.steps button:hover{border-color:var(--line-2)}.steps button[aria-current=step]{border-color:rgba(224,168,90,.5);background:linear-gradient(90deg,rgba(224,168,90,.08),transparent 70%),var(--panel);color:#c9c8cc}.steps button[aria-current=step] .mono{color:var(--accent)}.lead-stats{margin:12px 0 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden}.lead-stats div{padding:16px 18px;min-width:0}.lead-stats div+div{border-left:1px solid var(--line)}.lead-stats dd{margin:0 0 2px;font:600 26px/1.1 var(--sans);letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lead-stats dt{font-size:13px;color:var(--mute)}@media (max-width:980px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.lead-stats div:nth-child(4){border-left:0}.lead-stats div:nth-child(n+4){border-top:1px solid var(--line)}}@media (max-width:560px){.steps{grid-template-columns:minmax(0,1fr)}.sim-stage{height:500px}.hud-br,.hud-tl{display:none}.sim-cap{left:20px;bottom:40px;max-width:calc(100% - 40px)}.sim-cap span{display:none}.tag3{font-size:10px;padding:4px 7px}.tag3 small{display:none}}html.intro-lock{overflow:hidden}html[data-intro=seen] .intro{display:none}.intro{position:fixed;inset:0;z-index:100;background:var(--bg);color:var(--fg);overflow:hidden;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);transition:-webkit-clip-path .7s cubic-bezier(.76,0,.24,1);transition:clip-path .7s cubic-bezier(.76,0,.24,1);transition:clip-path .7s cubic-bezier(.76,0,.24,1),-webkit-clip-path .7s cubic-bezier(.76,0,.24,1);animation:intro-off .01s 4s forwards}.intro.out{-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0)}@keyframes intro-off{to{visibility:hidden;pointer-events:none}}.intro-grid{position:absolute;inset:0;pointer-events:none;background:radial-gradient(45% 50% at 70% 50%,rgba(224,168,90,calc(.04 + var(--p) * .12)),transparent 70%),linear-gradient(var(--line) 1px,transparent 1px) 0 0 /64px 64px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 /64px 64px;-webkit-mask-image:radial-gradient(70% 70% at 50% 50%,#000 35%,transparent 85%);mask-image:radial-gradient(70% 70% at 50% 50%,#000 35%,transparent 85%)}.intro-in{position:relative;width:min(1040px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);grid-gap:clamp(32px,6vw,88px);gap:clamp(32px,6vw,88px);align-items:center;transition:transform .9s cubic-bezier(.76,0,.24,1),opacity .7s}.intro.out .intro-in{transform:translateY(-40px);opacity:0}.intro-copy{display:grid;grid-gap:10px;gap:10px;min-width:0}.intro-name{font:600 clamp(36px,5vw,60px)/1.02 var(--sans);letter-spacing:-.045em;margin-top:6px}.intro-role{color:var(--mute);font-size:15px}.intro-log{list-style:none;margin:22px 0 0;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(17,17,19,.6)}.intro-log li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:11px 14px;font-size:14px;color:#5d5c62;transition:color .3s}.intro-log li+li{border-top:1px solid var(--line)}.intro-log li.run{color:var(--fg)}.intro-log li.done{color:var(--soft)}.intro-log .mark{display:grid;place-items:center;font-size:12px}.intro-log li.done .mark,.intro-log li.done .mono{color:var(--ok)}.intro-log li.run .mono{color:var(--accent)}.spin{width:11px;height:11px;border-radius:50%;border:1.5px solid rgba(224,168,90,.25);border-top:1.5px solid var(--accent);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.intro-meter{display:grid;grid-gap:14px;gap:14px;margin-top:26px}.intro-num{font:600 clamp(64px,9vw,120px)/.85 var(--sans);letter-spacing:-.065em;transition:color .4s}.intro-num sup{font-size:.3em;letter-spacing:0;margin-left:.1em;color:var(--mute);vertical-align:top;position:relative;top:.3em}.intro-num.done{color:var(--accent)}.intro-bar{height:3px;border-radius:2px;background:var(--line);overflow:hidden}.intro-bar i{display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(var(--p));box-shadow:0 0 12px rgba(224,168,90,.6)}.intro-console{border:1px solid var(--line-2);border-radius:20px;background:var(--panel);overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.8);min-width:0}.intro-console,.intro-console .console-bar{position:relative}.intro-console .dot.wait{background:var(--accent);box-shadow:0 0 0 3px rgba(224,168,90,.15);animation:blink 1s steps(2) infinite}.intro-shot{position:relative;aspect-ratio:4/5;background:radial-gradient(60% 50% at 50% 100%,var(--accent-dim),transparent 70%),linear-gradient(var(--line) 1px,transparent 1px) 0 0 /100% 32px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 /32px 100%}.intro-shot:after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,rgba(17,17,19,.95))}.intro-shot img{position:absolute;left:50%;bottom:0;height:100%;width:auto;max-width:none;translate:-50% 0;filter:blur(calc((1 - var(--p)) * 14px)) grayscale(calc(1 - var(--p))) brightness(calc(.35 + var(--p) * .65)) saturate(.92);transform:scale(calc(1.08 - var(--p) * .08));transform-origin:50% 30%}@media (max-width:760px){.intro-in{grid-template-columns:minmax(0,1fr);gap:20px;align-content:center}.intro-console{order:-1;width:min(240px,62vw);justify-self:center}.intro-copy{text-align:left}.intro-name{font-size:32px}.intro-log,.intro-role{display:none}.intro-meter{margin-top:8px}.intro-num{font-size:64px}}.cs-acts{margin:24px 0 28px}.cs{display:grid;grid-gap:clamp(48px,6vw,80px);gap:clamp(48px,6vw,80px);padding-block:clamp(24px,4vw,48px) 0}.cs>section{display:grid;grid-template-columns:180px minmax(0,1fr);grid-gap:12px 40px;gap:12px 40px}.cs>section.cs-wide{grid-template-columns:minmax(0,1fr)}.cs h2{margin:0 0 16px;font:600 clamp(24px,2.6vw,32px)/1.15 var(--sans);letter-spacing:-.03em;max-width:30ch}.cs section>div>p{margin:0 0 12px;color:var(--mute);max-width:64ch}.cs-meta{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.cs-meta div{display:grid;grid-template-columns:96px minmax(0,1fr);grid-gap:16px;gap:16px;padding:12px 16px;font-size:14px}.cs-meta div+div{border-top:1px solid var(--line)}.cs-meta dt{color:var(--mute)}.cs-meta dd{margin:0}.cs-dec{margin:0;padding:0;list-style:none;grid-gap:12px}.cs-dec,.cs-dec li{display:grid;gap:12px}.cs-dec li{grid-template-columns:32px minmax(0,1fr);grid-gap:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:20px 22px}.cs-dec .mono{color:var(--accent);padding-top:3px}.cs-dec h3{margin:0 0 8px;font:600 17px/1.3 var(--sans)}.cs-dec p{margin:0;color:var(--mute);font-size:14px;max-width:70ch}.cs-dec p.cost{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line-2)}.cs-dec p.cost b{color:var(--fg);font-weight:500}.cs-streams{margin-top:20px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}.cs-streams div{background:var(--panel);padding:12px 14px;display:grid;grid-gap:4px;gap:4px;font-size:14px}.cs-open{margin:0;padding-left:18px;color:var(--mute);display:grid;grid-gap:8px;gap:8px;max-width:70ch}@media (max-width:760px){.cs>section{grid-template-columns:minmax(0,1fr)}.cs-streams{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-dec li{grid-template-columns:minmax(0,1fr);padding:16px}}@media (max-width:980px){.nav .wrap{gap:16px}.links{gap:18px;font-size:13px;min-width:0;flex:1 1;overflow-x:auto;scrollbar-width:none;white-space:nowrap;mask-image:linear-gradient(90deg,#000 85%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent)}.links::-webkit-scrollbar{display:none}.links a{padding:10px 0}.nav .btn{display:none}.arch,.case,.cta,.hero-grid,.proj-body{grid-template-columns:minmax(0,1fr)}.console{max-width:520px}.case figure{border-right:0;border-bottom:1px solid var(--line);min-height:0}.case figure img{position:static;display:block;width:100%;height:auto}.span-2,.span-4{grid-column:span 6}.tl>div{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px}.tl .when,.tl p{grid-column:1/-1}.idx a{grid-template-columns:32px 56px minmax(0,1fr) 20px}.idx .kind,.idx .when{display:none}.gallery.phone{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis div:nth-child(3){border-left:0}.kpis div:nth-child(n+3){border-top:1px solid var(--line)}.chip.c1{display:none}.nav .wrap{gap:12px}.brand .name{display:none}.edu,.gallery.desk{grid-template-columns:minmax(0,1fr)}.gallery.phone{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:46%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.gallery.phone button{scroll-snap-align:start}.idx a{grid-template-columns:56px minmax(0,1fr) 20px;padding:12px 14px}.idx .n{display:none}.proj dl.meta{grid-template-columns:minmax(0,1fr);gap:2px}.proj dl.meta dd{margin-bottom:8px}}@media (max-width:760px),(pointer:coarse){.sim-stage{touch-action:auto;cursor:default;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.hud-br{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}