:root{
  --bg:#050605;
  --bg-2:#0a0c0b;
  --panel:#101311;
  --text:#f3f1ea;
  --muted:#8b918c;
  --acid:#c8ff18;
  --line:rgba(255,255,255,.1);
  --soft:rgba(255,255,255,.06);
  --radius:28px;
  --nav-h:72px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:"Instrument Sans",Inter,system-ui,sans-serif;overflow-x:hidden}
html.lenis,html.lenis body{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}
.noise{position:fixed;inset:0;pointer-events:none;z-index:80;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.cursor{position:fixed;width:16px;height:16px;border:1px solid var(--acid);border-radius:50%;z-index:200;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:difference;transition:width .25s var(--ease),height .25s var(--ease),background .25s}
.cursor.is-on{width:44px;height:44px;background:rgba(200,255,24,.12)}
#webgl{position:fixed;inset:0;width:100vw;height:100vh;z-index:1;pointer-events:none;opacity:.88}
.page-inner{position:relative;z-index:2}

.nav{
  position:fixed;z-index:90;top:16px;left:50%;transform:translateX(-50%);
  width:min(1240px,calc(100% - 28px));height:64px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:6px 8px 6px 14px;border:1px solid var(--line);border-radius:999px;
  background:rgba(5,6,5,.62);backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2);
}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand img{width:36px;height:36px;border-radius:50%;box-shadow:0 0 0 1px rgba(200,255,24,.25)}
.brand b{font-size:13px;letter-spacing:.04em;font-weight:600}
.brand b small{display:block;font-weight:500;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.nav nav{display:flex;gap:22px}
.nav nav a{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(243,241,234,.7);transition:color .2s}
.nav nav a:hover,.nav nav a.is-on{color:var(--acid)}
.pill{
  display:inline-flex;align-items:center;gap:10px;padding:13px 18px;border-radius:999px;
  background:var(--acid);color:#081006;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  transition:transform .35s var(--ease),box-shadow .35s;
}
.pill:hover{transform:translateY(-1px);box-shadow:0 10px 40px rgba(200,255,24,.22)}
.nav-toggle{display:none;width:42px;height:42px;border:0;border-radius:50%;background:var(--soft)}

.hero{min-height:100svh;display:grid;align-content:end;padding:0 7vw 10vh;position:relative}
.kicker{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:500}
h1,h2,h3,p{margin:0}
.display{
  font-size:clamp(56px,9vw,132px);line-height:.84;letter-spacing:-.07em;font-weight:600;
  margin:18px 0 22px;max-width:16ch;
}
.display em,.accent{color:var(--acid);font-style:normal}
.lede{max-width:34rem;font-size:18px;line-height:1.55;color:#c4c8c3;font-weight:450}
.row{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.btn{
  display:inline-flex;align-items:center;gap:14px;padding:16px 22px;border-radius:999px;
  border:1px solid var(--line);background:transparent;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
  transition:background .25s,border-color .25s,transform .35s var(--ease);
}
.btn:hover{border-color:rgba(255,255,255,.3);transform:translateY(-1px)}
.btn.solid{background:var(--acid);color:#081006;border-color:var(--acid)}
.hero-meta{position:absolute;right:6vw;top:28vh;text-align:right;color:rgba(255,255,255,.42);font-size:10px;line-height:1.9}
.scroll-hint{position:absolute;left:7vw;bottom:5vh;display:flex;align-items:center;gap:12px;font-size:10px;color:rgba(255,255,255,.4)}
.scroll-hint i{width:56px;height:1px;background:rgba(255,255,255,.28);display:block}

.section{padding:18vh 7vw;position:relative}
.section.tight{padding-top:12vh;padding-bottom:12vh}
.chapter{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:18px}
.headline{font-size:clamp(42px,6.4vw,92px);line-height:.9;letter-spacing:-.055em;font-weight:600;max-width:14ch}
.copy{max-width:38rem;color:var(--muted);line-height:1.7;font-size:17px;margin-top:22px}

.cities{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}
.cities span{
  padding:10px 14px;border:1px solid var(--line);border-radius:999px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#cfd3ce;
  transition:border-color .25s,color .25s,background .25s;
}
.cities span:hover{border-color:var(--acid);color:var(--acid);background:rgba(200,255,24,.05)}

.collection{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:56px}
.card{
  position:relative;min-height:340px;padding:28px;border-radius:var(--radius);border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));
  overflow:hidden;transform-style:preserve-3d;transition:border-color .3s,transform .5s var(--ease);
}
.card:hover{border-color:rgba(200,255,24,.35)}
.card .code{color:var(--acid);font-size:11px;margin-bottom:14px}
.card h3{font-size:32px;letter-spacing:-.04em;font-weight:600}
.card p{color:var(--muted);margin-top:12px;line-height:1.5;font-size:14px}
.card .go{position:absolute;left:28px;bottom:26px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.card:hover .go{color:var(--acid)}

.dims{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center}
.diagram{
  aspect-ratio:2/1.15;border:1px solid var(--line);border-radius:32px;position:relative;
  background:radial-gradient(circle at 50% 40%,rgba(200,255,24,.08),transparent 42%),#080a09;
  overflow:hidden;
}
.diagram svg{width:100%;height:100%;display:block}
.dim-list{display:grid;gap:0}
.dim-list article{padding:22px 0;border-top:1px solid var(--line)}
.dim-list b{display:block;font-size:20px;letter-spacing:-.03em;margin-bottom:6px}
.dim-list span{color:var(--muted);line-height:1.5;font-size:14px}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:32px;overflow:hidden;margin-top:56px}
.pillars article{background:var(--bg-2);padding:36px 32px;min-height:240px;display:flex;flex-direction:column}
.pillars i{font-style:normal;color:var(--acid);font-size:12px;letter-spacing:.16em}
.pillars b{font-size:22px;letter-spacing:-.03em;margin:18px 0 12px}
.pillars p{color:var(--muted);line-height:1.55;font-size:14px;margin-top:auto}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stats div{padding:8px 0 28px;border-top:1px solid var(--line)}
.stats strong{display:block;font-size:clamp(48px,6vw,84px);letter-spacing:-.07em;color:var(--acid);line-height:.95}
.stats em{font-style:normal;color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}

.timeline{margin-top:48px}
.timeline li{list-style:none;display:grid;grid-template-columns:72px 200px 1fr;gap:32px;align-items:baseline;padding:26px 0;border-top:1px solid var(--line);transition:padding .35s var(--ease),background .35s}
.timeline{padding:0;margin-left:0}
.timeline li:hover{padding-left:16px;background:linear-gradient(90deg,rgba(200,255,24,.04),transparent)}
.timeline em{font-style:normal;color:var(--acid);font-size:12px}
.timeline b{font-size:24px;letter-spacing:-.03em}
.timeline span{color:var(--muted);line-height:1.55}

.studio{padding:10vh 7vw 8vh}
.studio-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:28px}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs button{
  border:1px solid var(--line);background:transparent;border-radius:999px;padding:11px 16px;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#9aa19c;
}
.tabs button.is-on{border-color:var(--acid);color:var(--acid);background:rgba(200,255,24,.06)}
.stage-card{
  min-height:62vh;border:1px solid var(--line);border-radius:36px;padding:40px;position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0));
  overflow:hidden;
}
.stage-card .model{color:var(--acid);font-size:12px}
.stage-card h3{font-size:clamp(40px,5vw,72px);letter-spacing:-.05em;margin:8px 0 14px;max-width:12ch}
.stage-card p{max-width:36rem;color:#c5cac4;line-height:1.6}
.hotspots{position:absolute;inset:0;pointer-events:none}
.hotspot{position:absolute;display:flex;align-items:center;gap:8px;pointer-events:auto}
.hotspot b{width:28px;height:28px;border-radius:50%;background:var(--acid);color:#081006;display:grid;place-items:center;font-size:11px}
.hotspot span{padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(5,6,5,.65);backdrop-filter:blur(12px);font-size:12px}
.hs-a{top:22%;right:8%}.hs-b{top:48%;right:22%}.hs-c{bottom:20%;right:10%}
.swatches{display:flex;gap:8px;margin-top:28px}
.swatches button{width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,255,255,.25);padding:0;transition:transform .25s var(--ease)}
.swatches button.is-on,.swatches button:hover{transform:scale(1.18);border-color:#fff}

.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:24px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
tr:last-child td{border-bottom:0}
tr:hover td{background:rgba(200,255,24,.03)}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.panel{border:1px solid var(--line);border-radius:28px;padding:32px;background:rgba(255,255,255,.02)}
.faq details{border-top:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-size:18px;letter-spacing:-.02em;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--acid)}
.faq details[open] summary:after{content:"–"}
.faq p{color:var(--muted);margin-top:12px;line-height:1.6}

form{display:grid;gap:12px}
.field{display:grid;gap:8px}
.field span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{
  width:100%;border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:16px;padding:16px 16px;
  outline:none;transition:border-color .2s;
}
textarea{min-height:140px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--acid)}

.cta-band{min-height:70vh;display:grid;align-content:center;padding:16vh 7vw;position:relative}
footer{
  position:relative;z-index:2;padding:40px 7vw 48px;border-top:1px solid var(--line);
  display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;background:#030403;
}
.foot-brand{display:flex;align-items:center;gap:12px}
.foot-brand img{width:44px;height:44px}
.foot-brand small{display:block;color:var(--muted);margin-top:4px;font-size:12px}
footer a{display:block;color:#b7bcb6;padding:5px 0;font-size:14px}
footer a:hover{color:var(--acid)}
.legal{grid-column:1/-1;color:#666;font-size:12px;padding-top:10px}

.page-hero{padding:22vh 7vw 8vh}
.crumbs{font-size:12px;color:var(--muted);margin-bottom:18px}
.crumbs a:hover{color:var(--acid)}

@media (max-width:980px){
  .nav nav,.hero-meta{display:none}
  .nav-toggle{display:grid;place-items:center}
  .nav.is-open nav{display:flex;position:absolute;top:74px;left:0;right:0;flex-direction:column;padding:18px;border-radius:24px;background:rgba(5,6,5,.94);border:1px solid var(--line)}
  .collection,.pillars,.stats,.dims,.grid-2,footer{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .timeline li{grid-template-columns:48px 1fr}
  .timeline li span{grid-column:2}
  .section,.hero,.studio,.cta-band,.page-hero{padding-left:22px;padding-right:22px}
  .display{font-size:56px}
  .cursor{display:none}
  .hotspot{display:none}
  .stage-card{padding:24px;min-height:52vh}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}
