:root{--obsidian: #050608;--carbon: #0b0e12;--graphite: #151a20;--line: rgba(243, 241, 234, .08);--line-2: rgba(243, 241, 234, .14);--paper: #f3f1ea;--mute: #8c929b;--cyan: #62e6ff;--cyan-2: #2ccbff;--cyan-dim: rgba(98, 230, 255, .12);--violet: #8d7cff;--font: "Instrument Sans", "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--ease: cubic-bezier(.22, 1, .36, 1);--pad: clamp(20px, 4vw, 56px);--max: 1240px}*,*:before,*:after{box-sizing:border-box}html{background:var(--obsidian);color:var(--paper);scroll-behavior:auto}html,body{margin:0;min-height:100%}body{font-family:var(--font);font-weight:400;font-size:17px;line-height:1.55;background:var(--obsidian);overflow-x:hidden;letter-spacing:-.011em}body.is-ready{opacity:1}#webgl{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.atmosphere{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(80% 60% at 70% 40%,rgba(44,203,255,.07),transparent 58%),radial-gradient(50% 40% at 10% 90%,rgba(141,124,255,.05),transparent 50%),linear-gradient(180deg,#05060826,#0506088c)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}.skip{position:absolute;left:-999px;top:12px;z-index:80;background:var(--paper);color:var(--obsidian);padding:8px 12px}.skip:focus{left:12px}.mono{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;color:var(--mute)}.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin:0 0 18px}.accent{color:var(--cyan)}.wrap{width:min(var(--max),calc(100% - var(--pad) * 2));margin:0 auto}.site{position:relative;z-index:2}.nav{position:fixed;top:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px var(--pad);transition:background .5s var(--ease),border-color .5s var(--ease),backdrop-filter .5s var(--ease);border-bottom:1px solid transparent}.nav.is-solid{background:#050608b8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom-color:var(--line)}.brand{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;justify-self:start}.brand span{color:var(--mute)}.nav-links{display:flex;gap:28px;justify-content:center}.nav-links a{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--cyan);transition:right .35s var(--ease)}.nav-links a:hover,.nav-links a.is-active{color:var(--paper)}.nav-links a:hover:after,.nav-links a.is-active:after{right:0}.nav-status{justify-self:end;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.nav-status i{display:inline-block;width:6px;height:6px;margin-right:8px;background:var(--cyan);border-radius:50%;box-shadow:0 0 10px var(--cyan);vertical-align:1px}.btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 22px;border:0;cursor:pointer;font-family:var(--font);font-size:14px;font-weight:500;letter-spacing:-.01em;transition:transform .35s var(--ease),background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}.btn-fill{background:var(--paper);color:var(--obsidian)}.btn-fill:hover{background:#e8e6dc}.text-link{display:inline-flex;align-items:center;height:48px;padding:0 8px;color:var(--mute);font-size:14px;border-bottom:1px solid transparent}.text-link:hover{color:var(--paper);border-bottom-color:var(--paper)}.btn-line{background:transparent;color:var(--paper);box-shadow:inset 0 0 0 1px var(--line-2)}.btn-line:hover{box-shadow:inset 0 0 0 1px var(--paper)}.row{display:flex;flex-wrap:wrap;gap:12px}.hero{min-height:100svh;display:flex;align-items:flex-end;padding:22vh var(--pad) 12vh;position:relative;z-index:3}.hero-copy{max-width:min(680px,58vw);padding-bottom:2vh}.hero h1{margin:0 0 28px;font-size:clamp(44px,6.8vw,96px);font-weight:500;letter-spacing:-.05em;line-height:.94;color:var(--paper)}.lede{max-width:40ch;color:var(--mute);font-size:17px;margin:0 0 36px}.intro{padding:22vh var(--pad) 16vh;position:relative;z-index:3}.intro-inner{max-width:18ch}.intro h2{margin:0;font-size:clamp(36px,5.2vw,72px);font-weight:500;letter-spacing:-.045em;line-height:1.04;max-width:18ch}.work{padding:8vh 0 12vh}.work-head{width:min(var(--max),calc(100% - var(--pad) * 2));margin:0 auto 8vh}.work-head h2{margin:0;font-size:clamp(32px,5vw,64px);font-weight:500;letter-spacing:-.045em}.case{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(24px,5vw,80px);padding:12vh var(--pad);border-top:1px solid var(--line);min-height:100vh;align-items:center;position:relative;transition:opacity .45s var(--ease)}.case.is-dim{opacity:.28}.case-num{position:absolute;right:var(--pad);top:6vh;font-size:clamp(80px,18vw,220px);font-weight:500;letter-spacing:-.08em;line-height:.8;color:#f3f1ea09;pointer-events:none;z-index:0}.case-visual{position:relative;min-height:48vh;background:radial-gradient(80% 70% at 50% 40%,rgba(98,230,255,.08),transparent 60%),linear-gradient(180deg,var(--graphite),var(--carbon));overflow:hidden}.case-visual img{width:100%;height:100%;min-height:48vh;object-fit:cover;filter:saturate(.78) contrast(1.04);transform:scale(1.04);transition:transform 1.2s var(--ease)}.case:hover .case-visual img{transform:scale(1)}.case-visual--type{min-height:48vh;display:grid;place-items:end start;padding:32px}.case-visual--type span{font-size:clamp(32px,5vw,64px);font-weight:500;letter-spacing:-.05em;line-height:.95;color:#f3f1ea38;max-width:8ch}.case-index{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--cyan);margin-bottom:18px}.case h3{margin:8px 0 16px;font-size:clamp(28px,3.6vw,48px);font-weight:500;letter-spacing:-.04em;line-height:1.05}.case .line{font-size:18px;color:var(--paper);margin:0 0 20px;max-width:34ch}.case .purpose{color:var(--mute);margin:0 0 28px;max-width:42ch}.stack{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0 0 28px;padding:0;list-style:none}.stack li{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.links{display:flex;gap:18px}.links a{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);border-bottom:1px solid var(--cyan);padding-bottom:4px}.links a:hover{color:var(--cyan)}.capabilities{padding:16vh var(--pad)}.cap-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:8vh}.cap-head h2{margin:0;font-size:clamp(32px,4.6vw,56px);font-weight:500;letter-spacing:-.04em}.cap-head p{color:var(--mute);max-width:40ch;margin:0}.sys-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}.sys{text-align:left;background:none;border:0;border-right:1px solid var(--line);color:inherit;padding:28px 28px 28px 0;cursor:pointer;min-height:180px}.sys:last-child{border-right:0}.sys h3{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:400;margin:0 0 16px}.sys p{margin:0;font-size:17px;letter-spacing:-.03em;line-height:1.35;color:var(--paper)}.sys.is-on h3{color:var(--cyan)}.related{min-height:2.4em;margin:28px 0 0;color:var(--mute);font-size:15px}.related strong{color:var(--paper);font-weight:500}.map{margin-top:10vh;padding:0}.map-svg{width:100%;height:auto;display:block;overflow:visible}.map-arc{stroke:#f3f1ea24;stroke-width:1;transition:stroke .35s var(--ease),stroke-width .35s var(--ease)}.map-arc.is-on{stroke:#62e6ffb3;stroke-width:1.4}.map-halo{fill:transparent;stroke:#f3f1ea14;stroke-width:1;transition:stroke .35s var(--ease),fill .35s var(--ease)}.map-dot{fill:var(--mute);transition:fill .35s var(--ease)}.map-node text{fill:var(--mute);font-family:var(--font);font-size:13px;letter-spacing:-.02em}.map-node.is-on .map-dot{fill:var(--cyan)}.map-node.is-on .map-halo{stroke:#62e6ff8c;fill:#62e6ff0f}.map-node.is-on text{fill:var(--paper)}.map-note{margin-top:48px;color:var(--mute);max-width:48ch}.about{padding:16vh var(--pad);border-top:1px solid var(--line)}.about h2{margin:0 0 48px;font-size:clamp(32px,4.8vw,58px);font-weight:500;letter-spacing:-.04em;line-height:1.08;max-width:18ch}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:64px}.facts dt{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}.facts dd{margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px}.split h3{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:400;margin:0 0 16px}.split li{margin:8px 0;color:var(--mute)}.split .take li{color:var(--paper)}.gh-line{margin-top:56px;color:var(--mute);font-size:15px}.gh-line a{border-bottom:1px solid var(--line-2)}.gh-line a:hover{color:var(--cyan);border-color:var(--cyan)}.contact{min-height:92svh;display:flex;flex-direction:column;justify-content:flex-end;padding:20vh var(--pad) 10vh}.contact h2{margin:0 0 24px;font-size:clamp(40px,7vw,92px);font-weight:500;letter-spacing:-.05em;line-height:.95;max-width:12ch}.contact .lede{margin-bottom:40px}footer{padding:28px var(--pad) 40px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--mute);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid var(--line)}:focus-visible{outline:1px solid var(--cyan);outline-offset:4px}@media(max-width:980px){.nav{grid-template-columns:1fr;row-gap:12px}.nav-status{display:none}.nav-links{gap:18px;justify-self:start}.hero,.case,.cap-head,.sys-row,.facts,.split{grid-template-columns:1fr}.hero{min-height:100svh;padding-top:18vh;align-items:flex-end}.hero-copy{max-width:100%;background:linear-gradient(180deg,transparent,rgba(5,6,8,.82) 28%,var(--obsidian));margin:0 calc(var(--pad) * -1);padding:18vh var(--pad) 8vh}.case{min-height:0;padding:8vh var(--pad)}.case-visual,.case-visual img,.case-visual--type{min-height:36vh}.sys{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:22px 0}.intro,.capabilities,.about{padding-top:10vh;padding-bottom:10vh}.contact h2{font-size:clamp(36px,12vw,64px)}.map-svg{min-height:240px}}@media(max-width:640px){body{font-size:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.btn,.case-visual img,.nav{transition:none!important}}
