/* ============================================================
   AMERICAN ENERGY · Vault utility-scale BESS (americanenergy.me)
   v3 design: night/day story, glass surfaces, reflective floors.
   Only the AE logo lockup is shared with TheAmericanEnergy.com.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@500;600&display=swap');

:root{
  --radius:22px; --ease:cubic-bezier(.2,.7,.2,1);
  --c5:#3DC8FF; --c6:#FFB23F; --warm:#FFC56B; --warm-2:#FF9E3D;
  --bg:#05070D; --bg-2:#0A0E17; --bg-3:#111827; --panel:rgba(18,24,36,.62); --panel-solid:#0E131D; --panel-2:rgba(255,255,255,.04);
  --line:rgba(200,215,240,.10); --line-2:rgba(200,215,240,.18);
  --text:#F1F4F9; --muted:#A3AEBE; --dim:#6E7A8C;
  --acc:#3DE0FF; --acc-ink:#021018; --acc-soft:rgba(61,224,255,.14); --acc-line:rgba(61,224,255,.45);
  --amber:#FFB547; --amber-soft:rgba(255,181,71,.14); --green:#4BE39A; --red:#FF6B6B;
  --strong-bg:#F1F4F9; --strong-ink:#05070D;
  --glass-hi:rgba(255,255,255,.08);
  --shadow:0 40px 80px -20px rgba(0,0,0,.6);
  --grid:rgba(200,215,240,.06);
  --nav-bg:rgba(10,14,23,.58);
  color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#F5F7FB; --bg-2:#ECF0F6; --bg-3:#E1E7EF; --panel:rgba(255,255,255,.72); --panel-solid:#FFFFFF; --panel-2:rgba(10,20,40,.03);
  --line:rgba(12,20,32,.09); --line-2:rgba(12,20,32,.15);
  --text:#0A0F16; --muted:#475366; --dim:#6B7787;
  --acc:#0786B4; --acc-ink:#FFFFFF; --acc-soft:rgba(7,134,180,.10); --acc-line:rgba(7,134,180,.45);
  --amber:#C26F00; --amber-soft:rgba(194,111,0,.10); --green:#12925A; --red:#D93C3C;
  --strong-bg:#0A0F16; --strong-ink:#FFFFFF; --glass-hi:rgba(255,255,255,.9);
  --shadow:0 40px 80px -30px rgba(20,32,50,.22); --grid:rgba(12,20,32,.05); --nav-bg:rgba(255,255,255,.66);
  color-scheme:light;
}
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){
    --bg:#F5F7FB; --bg-2:#ECF0F6; --bg-3:#E1E7EF; --panel:rgba(255,255,255,.72); --panel-solid:#FFFFFF; --panel-2:rgba(10,20,40,.03);
    --line:rgba(12,20,32,.09); --line-2:rgba(12,20,32,.15);
    --text:#0A0F16; --muted:#475366; --dim:#6B7787;
    --acc:#0786B4; --acc-ink:#FFFFFF; --acc-soft:rgba(7,134,180,.10); --acc-line:rgba(7,134,180,.45);
    --amber:#C26F00; --amber-soft:rgba(194,111,0,.10); --green:#12925A; --red:#D93C3C;
    --strong-bg:#0A0F16; --strong-ink:#FFFFFF; --glass-hi:rgba(255,255,255,.9);
    --shadow:0 40px 80px -30px rgba(20,32,50,.22); --grid:rgba(12,20,32,.05); --nav-bg:rgba(255,255,255,.66);
    color-scheme:light;
  }
}
/* Night sections stay dark in either theme: the story is light after dark */
.night{
  --bg:#05070D; --bg-2:#0A0E17; --panel:rgba(16,22,34,.55); --panel-solid:#0E131D; --panel-2:rgba(255,255,255,.04);
  --line:rgba(200,215,240,.10); --line-2:rgba(200,215,240,.18);
  --text:#F1F4F9; --muted:#A3AEBE; --dim:#6E7A8C;
  --acc:#3DE0FF; --acc-ink:#021018; --acc-soft:rgba(61,224,255,.14); --acc-line:rgba(61,224,255,.45);
  --amber:#FFB547; --red:#FF6B6B; --strong-bg:#F1F4F9; --strong-ink:#05070D; --glass-hi:rgba(255,255,255,.08);
  --grid:rgba(200,215,240,.06); --shadow:0 40px 80px -20px rgba(0,0,0,.6);
  background:var(--bg); color:var(--text); color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Archivo',system-ui,sans-serif;font-weight:500;font-size:16.5px;background:var(--bg);color:var(--text);
  line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color .3s,color .3s}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{max-width:1280px;margin:0 auto;padding:0 40px;position:relative}
@media(max-width:720px){.wrap{padding:0 16px}}
.mono{font-family:'JetBrains Mono',monospace;font-weight:500}
[hidden]{display:none!important}
model-viewer{--poster-color:transparent;background:transparent;display:block}
model-viewer::part(default-progress-bar){display:none}
.reflect{-webkit-box-reflect:below -2px linear-gradient(transparent 62%,rgba(255,255,255,.22))}

/* ---------- LOGO (shared with TheAmericanEnergy.com) ---------- */
@keyframes aeBlink{0%,44%,100%{opacity:1}50%,94%{opacity:.15}}
@keyframes aeBlink2{0%,34%,100%{opacity:1}40%,84%{opacity:.15}}
.ae-logo{display:flex;flex-direction:column;width:max-content;line-height:.95;color:var(--text)}
.ae-logo .ael-1,.ae-logo .ael-2{font-family:'Archivo',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:.95}
.ae-logo .ael-row{display:flex;align-items:baseline;justify-content:space-between;width:0;min-width:100%}
.ae-logo .ael-sq{display:flex;align-items:flex-end;transform:translateY(.5px)}
.ae-logo .ael-sq i{display:block}
@media(prefers-reduced-motion:reduce){.ae-logo .ael-sq i{animation:none!important;opacity:1!important}}

/* ---------- TYPE ---------- */
.kicker{font-weight:800;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);display:inline-flex;align-items:center;gap:10px}
.kicker::before{content:"";width:22px;height:2px;background:currentColor;flex:0 0 auto}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.025em;line-height:1.02;text-wrap:balance}
.h-hero{font-size:clamp(46px,7vw,108px);font-weight:900;letter-spacing:-.045em;line-height:.92}
.h-l{font-size:clamp(36px,4.8vw,66px);font-weight:900;letter-spacing:-.04em;line-height:.96}
.h-m{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em}
h3{font-size:22px}
.lead{font-size:clamp(17px,1.4vw,19.5px);font-weight:500;color:var(--muted);max-width:60ch;text-wrap:pretty}
.glow-text{background:linear-gradient(95deg,var(--warm) 0%,#FFE3A8 35%,#3DE0FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 28px rgba(255,197,107,.25))}
.fine{font-size:12.5px;color:var(--dim);max-width:110ch;margin-top:18px;line-height:1.5}

/* ---------- GLASS ---------- */
.glass{background:var(--panel);border:1px solid var(--line-2);border-radius:var(--radius);
  backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:inset 0 1px 0 var(--glass-hi),var(--shadow)}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;border-radius:999px;font-weight:800;
  font-size:15px;border:1.5px solid var(--line-2);transition:.25s var(--ease);cursor:pointer;background:transparent;white-space:nowrap;color:var(--text)}
.btn:hover{border-color:var(--acc);color:var(--acc)}
.btn-p{background:var(--acc);color:var(--acc-ink);border-color:var(--acc);box-shadow:0 10px 30px -8px var(--acc-line)}
.btn-p:hover{background:var(--strong-bg);border-color:var(--strong-bg);color:var(--strong-ink);box-shadow:none}
.btn-ghost{background:var(--panel-2);backdrop-filter:blur(8px)}
.btn-sm{padding:10px 18px;font-size:14px}
.btn .arr{transition:transform .2s}.btn:hover .arr{transform:translateX(3px)}

/* ---------- NAV (floating glass pill) ---------- */
.nav{position:fixed;top:14px;left:0;right:0;z-index:60;display:flex;justify-content:center;padding:0 16px;pointer-events:none}
.nav-pill{pointer-events:auto;width:100%;max-width:1240px;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:10px 10px 10px 22px;border-radius:999px;border:1px solid transparent;transition:.35s var(--ease)}
.nav.scrolled .nav-pill{background:var(--nav-bg);border-color:var(--line-2);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);box-shadow:0 20px 50px -20px rgba(0,0,0,.45)}
.nav.on-night .nav-pill{--text:#F1F4F9;--muted:#C2CAD6;--line-2:rgba(200,215,240,.22);--nav-bg:rgba(10,14,23,.58);--acc:#3DE0FF;--acc-ink:#021018;--strong-bg:#F1F4F9;--strong-ink:#05070D}
.nav-logo{color:var(--text)}
.nav-links{display:flex;gap:26px;font-size:14.5px;font-weight:700;color:var(--muted)}
.nav-links a{transition:color .2s}.nav-links a:hover{color:var(--text)}
.nav-r{display:flex;align-items:center;gap:8px}
.theme-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line-2);background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--text);transition:.2s}
.theme-btn:hover{border-color:var(--acc);color:var(--acc)}
.theme-btn .sun{display:none}
:root[data-theme="light"] .theme-btn .sun{display:block}:root[data-theme="light"] .theme-btn .moon{display:none}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .theme-btn .sun{display:block}:root:not([data-theme="dark"]) .theme-btn .moon{display:none}}
.burger{display:none;background:none;border:0;cursor:pointer;width:40px;height:40px;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:var(--text);transition:.25s}
.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:24px}
.burger.open span:nth-child(1){top:19px;transform:rotate(45deg)}.burger.open span:nth-child(2){top:19px;transform:rotate(-45deg)}
@media(max-width:1060px){
  .nav-links{position:fixed;top:84px;left:16px;right:16px;flex-direction:column;gap:0;background:var(--panel-solid);border:1px solid var(--line-2);border-radius:20px;
    padding:8px 20px 16px;transform:translateY(-8px);opacity:0;pointer-events:none;transition:.25s;box-shadow:var(--shadow)}
  .nav-links.open{opacity:1;transform:none;pointer-events:auto}
  .nav-links a{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px;color:var(--text)}
  .nav-links a:last-child{border-bottom:0}
  .burger{display:block}.nav .btn-sm{display:none}
  .nav-pill{padding-left:16px}
}

/* ---------- NIGHT SKY / SKYLINE / FLOOR ---------- */
.sky{position:absolute;inset:0;overflow:hidden;pointer-events:none;
  background:radial-gradient(120% 70% at 70% 105%,rgba(255,170,80,.20),transparent 55%),
             radial-gradient(80% 60% at 20% 0%,rgba(40,80,160,.25),transparent 70%),
             linear-gradient(180deg,#03050B 0%,#07101F 55%,#0B1424 78%,#120F14 100%)}
.stars{position:absolute;inset:0 0 35% 0}
.stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.6;animation:twinkle 4s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:.15}50%{opacity:.85}}
.aurora{position:absolute;left:-10%;right:-10%;top:8%;height:40%;filter:blur(60px);opacity:.35;
  background:conic-gradient(from 200deg at 50% 50%,transparent,rgba(61,224,255,.35),transparent 30%,rgba(255,181,71,.25),transparent 60%);animation:drift 24s linear infinite alternate}
@keyframes drift{to{transform:translateX(6%) rotate(4deg)}}
.skyline{position:absolute;left:0;right:0;bottom:22%;width:100%;height:30%;pointer-events:none}
.skyline .bld{fill:#0A111D}
.skyline .win{fill:#FFC56B;opacity:0;transition:opacity 1.2s ease}
.skyline .win.on{opacity:.9}
.floor{position:absolute;left:0;right:0;bottom:0;height:22%;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,190,110,.10),rgba(5,7,13,.0) 30%),linear-gradient(180deg,#0B0F18,#05070D);
  border-top:1px solid rgba(255,200,130,.18)}
.floor::after{content:"";position:absolute;left:10%;right:10%;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,210,150,.7),transparent);filter:blur(1px)}
.spot{position:absolute;left:50%;bottom:6%;width:85%;height:55%;transform:translateX(-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(61,224,255,.22),transparent 70%);filter:blur(10px)}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:120px 0 40px;overflow:hidden;isolation:isolate}
.hero-in{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.1fr;gap:30px;align-items:center;width:100%}
.hero-copy .kicker{margin-bottom:26px}
.hero-copy .lead{margin-top:28px;color:#C2CAD6}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:38px}
.hero-stage{position:relative;height:min(56vh,540px)}
.hero-stage #mv{position:absolute;inset:0;width:100%;height:100%}
.hero-strip{position:relative;z-index:3;margin-top:24px}
.strip{display:grid;grid-template-columns:repeat(4,1fr)}
.strip>div{padding:22px 26px;border-right:1px solid var(--line)}
.strip>div:last-child{border-right:0}
.strip b{display:block;font-size:clamp(26px,2.6vw,38px);font-weight:900;letter-spacing:-.035em;line-height:1.05}
.strip b small{font-size:.45em;color:var(--muted);margin-left:4px;letter-spacing:0;font-weight:700}
.strip span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
@media(max-width:980px){.hero-in{grid-template-columns:1fr}.hero-stage{order:-1;height:300px}.strip{grid-template-columns:1fr 1fr}.strip>div:nth-child(2){border-right:0}.strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:520px){.strip>div{padding:16px}}

/* ---------- SECTIONS ---------- */
.sec{padding:140px 0;position:relative}
@media(max-width:720px){.sec{padding:90px 0}}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:60px}
.sec-head .kicker{margin-bottom:22px}
@media(max-width:860px){.sec-head{grid-template-columns:1fr;gap:20px;margin-bottom:40px}}
.band{background:var(--bg-2)}

/* ---------- USE CASE SCENE ---------- */
.scale{background:radial-gradient(90% 60% at 50% 100%,rgba(255,170,80,.10),transparent 60%),linear-gradient(180deg,#05070D,#070C16)}
.uc-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.uc-tabs button{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:16px;border:1px solid var(--line-2);background:var(--panel-2);
  font-weight:800;font-size:15.5px;color:var(--muted);cursor:pointer;text-align:left;transition:.3s var(--ease)}
.uc-tabs button i{font-style:normal;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--dim)}
.uc-tabs button:hover{color:var(--text)}
.uc-tabs button.on{color:#05070D;background:linear-gradient(135deg,#FFE0A3,var(--warm));border-color:transparent;box-shadow:0 14px 40px -10px rgba(255,180,90,.55)}
.uc-tabs button.on i{color:rgba(5,7,13,.55)}
@media(max-width:760px){.uc-tabs{grid-template-columns:1fr 1fr}}
.uc-scene{position:relative;border-radius:28px;overflow:hidden;border:1px solid var(--line-2);aspect-ratio:1200/560;min-height:440px;
  background:linear-gradient(180deg,#040710 0%,#081226 62%,#0E1524 74%,#06080F 100%)}
.uc-scene svg{position:absolute;inset:0;width:100%;height:100%}
.uc-card{position:absolute;left:24px;top:24px;width:min(400px,calc(100% - 48px));padding:26px 26px 22px;z-index:2}
.uc-k{font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--warm)}
.uc-card h3{font-size:24px;font-weight:900;margin:10px 0 10px;letter-spacing:-.025em}
.uc-card p{color:var(--muted);font-size:15px}
.uc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.uc-stats b{display:block;font-size:24px;font-weight:900;letter-spacing:-.03em;color:var(--text)}
.uc-stats span{font-size:11px;font-weight:700;color:var(--dim);line-height:1.3;display:block}
.uc-card.fade>*{animation:ucfade .5s var(--ease)}
@keyframes ucfade{from{opacity:0;transform:translateY(6px)}}
@media(max-width:760px){
  .uc-scene{aspect-ratio:auto;min-height:0;display:flex;flex-direction:column}
  .uc-scene svg{position:relative;height:300px}
  .uc-card{position:relative;left:auto;top:auto;width:auto;margin:0 12px 12px}
}
#scene .bld{fill:#0D1626;stroke:rgba(120,150,200,.12);stroke-width:1}
#scene .roof{fill:#121D30}
#scene .win{fill:#1A2436;transition:fill .8s ease}
#scene .lbl{font-family:'Archivo';font-weight:800;font-size:12px;letter-spacing:2px;fill:#56657C;transition:fill .5s}
#scene .flow{fill:none;stroke:#FFC56B;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:2 12;opacity:0;transition:opacity .6s}
#scene .flow.charge{stroke:#3DE0FF;opacity:.8;animation:flow 1.4s linear infinite}
#scene .tline{fill:none;stroke:#2A3448;stroke-width:1.2;transition:stroke .6s}
#scene .tower{fill:none;stroke:#3A465C;stroke-width:2;transition:stroke .6s}
#scene .rotor{animation:spin 6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-56}}
@keyframes spin{to{transform:rotate(360deg)}}
.uc-scene[data-uc="home"] #g-home .win,
.uc-scene[data-uc="office"] #g-office .win,
.uc-scene[data-uc="town"] #g-home .win,.uc-scene[data-uc="town"] #g-office .win,.uc-scene[data-uc="town"] #g-town .win,
.uc-scene[data-uc="grid"] .win{fill:#FFC56B}
.uc-scene[data-uc="home"] #f-home,.uc-scene[data-uc="office"] #f-office,
.uc-scene[data-uc="town"] #f-home,.uc-scene[data-uc="town"] #f-office,.uc-scene[data-uc="town"] #f-town,
.uc-scene[data-uc="grid"] .flow{opacity:1;animation:flow 1.1s linear infinite}
.uc-scene[data-uc="home"] #l-home,.uc-scene[data-uc="office"] #l-office,.uc-scene[data-uc="town"] #l-town,.uc-scene[data-uc="grid"] #l-grid{fill:#FFC56B}
.uc-scene[data-uc="grid"] .tline{stroke:#FFC56B}
.uc-scene[data-uc="grid"] .tower{stroke:#8A97AE}
#scene .lit{filter:url(#glow)}
@media(prefers-reduced-motion:reduce){#scene .flow,#scene .rotor{animation:none!important}}

/* ---------- SHOWROOM ---------- */
.showroom{--m:var(--c5)}
.showroom[data-model="k6"]{--m:var(--c6)}
.show{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;align-items:stretch}
@media(max-width:960px){.show{grid-template-columns:1fr}}
.show-stage{position:relative;min-height:540px;border-radius:28px;overflow:hidden;border:1px solid var(--line-2);
  background:radial-gradient(70% 55% at 50% 42%,color-mix(in srgb,var(--m) 16%,transparent),transparent 70%),linear-gradient(180deg,var(--bg-2),var(--bg) 70%)}
.show-stage .spot{background:radial-gradient(closest-side,color-mix(in srgb,var(--m) 30%,transparent),transparent 70%);transition:background .6s}
.show-stage #mvshow{position:absolute;left:0;right:0;top:0;height:76%;width:100%;z-index:1}
.show-floor{position:absolute;left:0;right:0;bottom:0;height:30%;
  background:linear-gradient(180deg,color-mix(in srgb,var(--m) 8%,transparent),transparent 40%);border-top:1px solid color-mix(in srgb,var(--m) 30%,transparent)}
.show-floor::after{content:"";position:absolute;left:15%;right:15%;top:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--m),transparent);filter:blur(1px);opacity:.8}
.drag{position:absolute;right:20px;bottom:16px;z-index:2;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--dim)}
@media(max-width:600px){.show-stage{min-height:340px}}
.show-info{padding:30px;display:flex;flex-direction:column}
.show-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border-radius:999px;border:1px solid var(--line-2);background:var(--panel-2)}
.show-switch button{border:0;background:none;padding:11px 12px;border-radius:999px;font-weight:800;font-size:14.5px;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:.3s}
.show-switch button.on{background:var(--strong-bg);color:var(--strong-ink)}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot.c5{background:var(--c5)}.dot.c6{background:var(--c6)}
.show-tag{margin-top:26px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--m)}
.show-big{display:flex;align-items:baseline;gap:10px;margin:8px 0 22px}
.show-big b{font-size:clamp(72px,7vw,112px);font-weight:900;letter-spacing:-.06em;line-height:.9;color:var(--m);text-shadow:0 0 50px color-mix(in srgb,var(--m) 35%,transparent);transition:color .5s}
.show-big span{font-size:22px;font-weight:800;color:var(--muted)}
.show-dl{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.show-dl div{padding:14px 0;border-bottom:1px solid var(--line)}
.show-dl div:nth-child(odd){padding-right:14px}
.show-dl dt{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.show-dl dd{font-size:17px;font-weight:800;margin-top:2px}
.show-note{font-size:14.5px;color:var(--muted);margin-top:18px}
.show-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:22px}
.show-cta .btn-p{background:var(--m);border-color:var(--m);color:#05070D;box-shadow:0 10px 30px -8px color-mix(in srgb,var(--m) 60%,transparent)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
@media(max-width:900px){.pillars{grid-template-columns:1fr;gap:28px}}
.pillars .pi{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--acc)}
.pillars h3{font-size:22px;font-weight:900;margin:12px 0 10px}
.pillars p{color:var(--muted);font-size:15.5px}

/* ---------- INSIDE (build sequence) ---------- */
.build{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch}
.lvl{border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;background:var(--panel);display:flex;flex-direction:column;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 var(--glass-hi)}
.lvl-viz{position:relative;height:300px;background:radial-gradient(70% 55% at 50% 45%,var(--acc-soft),transparent 70%)}
.lvl-viz::after{content:"";position:absolute;left:0;right:0;bottom:0;height:24%;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--panel-2),transparent);pointer-events:none}
.lvl-viz model-viewer{position:absolute;left:0;right:0;top:0;height:76%;width:100%;z-index:1}
.lvl-n{position:absolute;top:16px;left:16px;z-index:2;font-size:11.5px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.lvl-body{padding:20px 22px 24px;border-top:1px solid var(--line)}
.lvl-body h3{font-size:20px;font-weight:900;margin-bottom:6px}
.lvl-body p{color:var(--muted);font-size:14.5px;min-height:3em}
.lvl-stat{display:block;margin-top:14px;font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:600;color:var(--text)}
.mult{align-self:center;margin:0 -14px;z-index:2;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:15px;
  background:var(--acc);color:var(--acc-ink);box-shadow:0 0 0 6px var(--bg-2),0 10px 30px -6px var(--acc-line)}
@media(max-width:1100px){.build{grid-template-columns:1fr 1fr;gap:20px}.mult{display:none}}
@media(max-width:560px){.build{grid-template-columns:1fr}}

/* ---------- SAFETY ---------- */
.safety{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}
@media(max-width:900px){.safety{grid-template-columns:1fr;gap:40px}}
.rings{position:relative;aspect-ratio:1;max-width:480px;width:100%;margin:0 auto}
.rings svg{width:100%;height:100%}
.rings .r1,.rings .r2,.rings .r3{stroke:var(--acc)}
.rings .r3{fill:var(--acc-soft)}
.rings text{fill:var(--text);font-family:'Archivo';font-weight:800;font-size:11px;letter-spacing:1.6px}
.rings .rings-cell{position:absolute;left:50%;top:51%;width:31%;height:31%;transform:translate(-50%,-50%);z-index:1}
.rings .r-dna{stroke:var(--acc);filter:drop-shadow(0 0 6px var(--acc))}
.rings .r-dna-halo{fill:none;stroke:var(--acc-soft);stroke-width:16}
.rings .sw0{stop-color:var(--acc);stop-opacity:0}
.rings .sw1{stop-color:var(--acc);stop-opacity:.32}
.rings .dna-sweep{transform-origin:200px 200px;animation:dnaSweep 6s linear infinite}
@keyframes dnaSweep{to{transform:rotate(360deg)}}
.rings .dna-label{font-family:'Archivo';font-weight:900;font-size:12.5px;letter-spacing:3px;fill:var(--acc)}
.rings .dot-a{fill:var(--acc)}.rings .dot-b{fill:var(--acc);opacity:.7}
@media(prefers-reduced-motion:reduce){.rings .dna-sweep{animation:none}}
.tiers{list-style:none;display:grid;border-top:1px solid var(--line)}
.tiers li{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:20px 4px;border-bottom:1px solid var(--line)}
.tiers .n{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--acc);padding-top:3px}
.tiers h3{font-size:19px;font-weight:900;margin-bottom:6px}
.tiers p{color:var(--muted);font-size:15.5px}
.tiers .tier-dna{margin-top:12px;border:1px solid var(--acc-line);border-radius:18px;padding:20px 18px;background:linear-gradient(135deg,var(--acc-soft),transparent 70%)}
.tier-dna h3 .opt{font-size:10px;vertical-align:middle;margin-left:6px}
.tier-dna a{color:var(--acc);font-weight:800}
.opt{font-size:10.5px;font-weight:800;letter-spacing:.12em;padding:3px 9px;border-radius:999px;background:var(--acc);color:var(--acc-ink)}
.cert-pos{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:24px;margin-top:56px}
@media(max-width:900px){.cert-pos{grid-template-columns:1fr}}
.cert-pos h4{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.certs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.certs span{font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:600;padding:9px 14px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line-2)}
.certs span.on{border-color:var(--acc-line);color:var(--acc);background:var(--acc-soft)}
.cert-note{font-size:14px;color:var(--muted);margin-top:18px}

/* ---------- DIGITAL DNA ---------- */
.ddna{background:radial-gradient(60% 50% at 85% 0%,rgba(61,224,255,.12),transparent 70%),radial-gradient(50% 40% at 0% 100%,rgba(255,181,71,.08),transparent 70%),#05070D}
.dd-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}
@media(max-width:960px){.dd-grid{grid-template-columns:1fr}}
.dd-chart{padding:26px}
.dd-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.dd-cap{font-size:13px;font-weight:600;color:var(--acc);transition:color .3s}
.dd-cap.warn{color:var(--red)}
.dd-svg{width:100%;height:240px;display:block}
.dd-svg .grid{stroke:var(--line)}
@media(max-width:600px){.dd-svg{height:170px}}
#ddzone,#ddmark{transition:opacity .45s}
.dd-chart.bms #ddzone,.dd-chart.bms #ddmark{opacity:0}
.dd-chart.bms .dd-l-dna{opacity:.3}
.dd-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px;font-size:12px;color:var(--muted)}
.dd-legend span{display:flex;align-items:center;gap:8px;transition:opacity .3s}
.dd-legend i{width:14px;height:3px;border-radius:2px}
.dd-plate{padding:26px;display:flex;flex-direction:column;gap:22px}
.dd-plate p{color:var(--muted);font-size:15px}
.dd-plate .v{font-size:12px;color:var(--acc);margin-top:14px}
.qr{position:relative;width:200px;aspect-ratio:1;padding:14px;border-radius:20px;background:radial-gradient(80% 80% at 50% 40%,var(--acc-soft),transparent 70%)}
.qr svg{width:100%;height:100%;display:block;border-radius:10px;box-shadow:0 0 40px -6px rgba(61,224,255,.35)}
.qr .qr-bg{fill:#F3F6F9}.qr .qr-m{fill:#0A0F16}
.qr .qc{position:absolute;width:26px;height:26px;border:3px solid var(--acc)}
.qr .tl{top:0;left:0;border-right:0;border-bottom:0;border-top-left-radius:12px}
.qr .tr{top:0;right:0;border-left:0;border-bottom:0;border-top-right-radius:12px}
.qr .bl{bottom:0;left:0;border-right:0;border-top:0;border-bottom-left-radius:12px}
.qr .br{bottom:0;right:0;border-left:0;border-top:0;border-bottom-right-radius:12px}
.qr .qr-scan{position:absolute;left:10px;right:10px;height:2px;top:14px;background:linear-gradient(90deg,transparent,var(--acc),transparent);box-shadow:0 0 14px var(--acc);animation:qrscan 3.2s ease-in-out infinite}
@keyframes qrscan{0%,100%{top:14px;opacity:0}10%,90%{opacity:1}50%{top:calc(100% - 16px)}}
@media(prefers-reduced-motion:reduce){.qr .qr-scan{display:none}}
.dd-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px}
@media(max-width:900px){.dd-list{grid-template-columns:1fr;gap:26px}}
.dd-list h3{font-size:20px;font-weight:900;margin-bottom:10px;padding-top:18px;border-top:2px solid var(--acc);width:fit-content;padding-right:30px}
.dd-list p{color:var(--muted);font-size:15.5px}
.dd-strip{display:grid;grid-template-columns:repeat(3,1fr) auto;margin-top:48px;overflow:hidden}
.dd-strip>div{padding:22px 26px;border-right:1px solid var(--line)}
.dd-strip>div:last-child{border-right:0}
.dd-strip b{display:block;font-size:30px;font-weight:900;letter-spacing:-.035em;color:var(--acc)}
.dd-strip span{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.dd-strip .dd-cta{display:flex;align-items:center}
@media(max-width:900px){.dd-strip{grid-template-columns:1fr 1fr}.dd-strip .dd-cta{grid-column:1/-1}.dd-strip>div{border-bottom:1px solid var(--line)}}
@media(max-width:520px){.dd-strip{grid-template-columns:1fr}.dd-strip .btn{white-space:normal}}
.dd-foot{color:var(--muted);font-size:15px;margin-top:22px;max-width:90ch}
.dd-foot a{color:var(--acc);font-weight:700}
.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:999px;padding:4px;margin-top:28px;background:var(--panel-2)}
.seg button{border:0;background:none;padding:9px 16px;border-radius:999px;font-size:14px;font-weight:800;color:var(--muted);cursor:pointer}
.seg button.on{background:var(--strong-bg);color:var(--strong-ink)}

/* ---------- PLANNER ---------- */
.planner{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px}
@media(max-width:900px){.planner{grid-template-columns:1fr}}
.pl-in,.pl-out{padding:32px}
@media(max-width:520px){.pl-in,.pl-out{padding:22px}}
.pl-in label{display:block;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}
.pl-val{font-size:clamp(56px,5.4vw,80px);font-weight:900;letter-spacing:-.05em;line-height:1}
.pl-val small{font-size:.3em;color:var(--muted);margin-left:8px;letter-spacing:0;font-weight:800}
input[type=range]{width:100%;margin:26px 0 10px;-webkit-appearance:none;appearance:none;height:6px;border-radius:6px;
  background:linear-gradient(90deg,var(--acc) var(--p,10%),var(--bg-3) var(--p,10%))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--panel-solid);border:6px solid var(--acc);cursor:pointer;box-shadow:0 0 0 6px var(--acc-soft)}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--panel-solid);border:6px solid var(--acc);cursor:pointer}
.pl-scale{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--dim)}
.pl-note{font-size:13.5px;color:var(--dim);margin-top:20px}
.pl-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:24px}
@media(max-width:620px){.pl-grid{grid-template-columns:1fr 1fr}}
.pl-grid div{padding:18px;border-right:1px solid var(--line)}
.pl-grid div:last-child{border-right:0}
.pl-grid b{display:block;font-size:28px;font-weight:900;letter-spacing:-.035em}
.pl-grid div:last-child b{color:var(--amber)}
.pl-grid span{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.yard{display:flex;flex-wrap:wrap;gap:5px;min-height:60px;align-content:flex-start}
.yard i{width:26px;height:11px;border-radius:2px;background:linear-gradient(180deg,#E8ECF1,#AEB8C4);border-top:2px solid var(--c5);animation:pop .3s both}
.yard.max i{border-top-color:var(--c6)}
.yard i.pcs{width:11px;background:#3A4656;border-top-color:#5A6878}
@keyframes pop{from{transform:scale(.4);opacity:0}}
.yard-more{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);align-self:center;margin-left:6px}

/* ---------- SPECS ---------- */
.spec-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}
.spec-tabs button{border:1px solid var(--line-2);background:var(--panel-2);border-radius:999px;padding:10px 18px;font-weight:800;font-size:14px;cursor:pointer;color:var(--text)}
.spec-tabs button.on{background:var(--strong-bg);color:var(--strong-ink);border-color:var(--strong-bg)}
.spec{border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;background:var(--panel-solid)}
.spec h4{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);padding:18px 26px;border-bottom:1px solid var(--line)}
.spec table{width:100%;border-collapse:collapse}
.spec td{padding:15px 26px;border-bottom:1px solid var(--line);font-size:15.5px;vertical-align:top}
.spec td:first-child{color:var(--muted);width:42%;font-weight:600}
.spec td:last-child{font-weight:700}
.spec tr:last-child td{border-bottom:0}
@media(max-width:600px){.spec td{display:block;width:100%!important;padding:4px 18px}.spec td:first-child{padding-top:14px;font-size:13px}.spec td:last-child{padding-bottom:14px}.spec h4{padding:16px 18px}}
.spec table.cmp td{width:auto;font-weight:700}
.spec table.cmp td:first-child{width:30%;font-weight:600}
.spec table.cmp tr.hd td{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:900}
.spec table.cmp tr.hd td:nth-child(2){color:var(--c5)}.spec table.cmp tr.hd td:nth-child(3){color:var(--c6)}
.spec table.cmp em{font-style:normal;color:var(--amber);font-size:13px;margin-left:6px}
.spec-note{padding:18px 26px;font-size:14px;color:var(--muted);border-top:1px solid var(--line)}
.spec-note a{color:var(--acc);font-weight:800}
@media(max-width:600px){.spec table.cmp tr.hd{display:none}.spec table.cmp td:nth-child(2)::before{content:"5000K · ";color:var(--dim)}.spec table.cmp td:nth-child(3)::before{content:"6250K · ";color:var(--dim)}}

/* ---------- CONTACT ---------- */
.contact-sec{overflow:hidden;padding-bottom:220px;background:radial-gradient(100% 60% at 50% 100%,rgba(255,170,80,.16),transparent 60%),linear-gradient(180deg,#05070D,#0A1222)}
.foot-skyline{bottom:0;height:200px;opacity:.95}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:60px;position:relative;z-index:1}
@media(max-width:900px){.contact{grid-template-columns:1fr;gap:40px}}
.form{display:grid;gap:14px;padding:28px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.form .row{grid-template-columns:1fr}.form{padding:20px}}
.form label{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);display:grid;gap:8px}
.form input,.form select,.form textarea{background:rgba(255,255,255,.04);border:1px solid var(--line-2);border-radius:12px;padding:14px 16px;
  font-size:16px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text);outline:none;transition:border-color .2s;width:100%}
.form select option{background:#0E131D}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--acc)}
.form textarea{min-height:110px;resize:vertical}
.form .chk{display:flex;align-items:center;gap:12px;text-transform:none;letter-spacing:0;font-size:15.5px;font-weight:600;color:var(--text);
  padding:14px 16px;border:1px solid var(--line-2);border-radius:12px;background:rgba(255,255,255,.04);cursor:pointer}
.form .chk input{width:18px;height:18px;accent-color:var(--acc);flex:0 0 auto}
.form .status{font-size:14.5px;font-weight:600;min-height:20px;color:var(--muted)}
.form .status.ok{color:var(--green)}.form .status.err{color:var(--red)}
.contact-side{display:grid;margin-top:34px}
.cs-item{padding:20px 0;border-bottom:1px solid var(--line)}
.cs-item span{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.cs-item p{font-size:19px;font-weight:800;margin-top:6px}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line);padding:64px 0 36px;background:var(--bg)}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
@media(max-width:760px){.foot{grid-template-columns:1fr}}
.foot p{color:var(--muted);font-size:15px;max-width:40ch;margin-top:20px}
.foot h5{font-size:11.5px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:16px}
.foot ul{list-style:none;display:grid;gap:10px;font-size:15px;font-weight:600;color:var(--muted)}
.foot a:hover{color:var(--text)}
.foot-b{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--dim)}

/* ---------- REVEAL ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ---------- v3.1: grounded models, hero composition ---------- */
.h-hero{font-size:clamp(44px,5.8vw,88px)}
.hero{justify-content:flex-end;padding-bottom:36px}
.hero-in{align-items:end}
.hero-copy{padding-bottom:8vh;position:relative;z-index:3}
.hero-copy::before{content:"";position:absolute;inset:-60px -80px -40px -200px;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 60% at 40% 50%,rgba(3,5,11,.78),transparent 75%)}
.hero-stage{height:min(62vh,600px)}
.hero-stage #mv{top:0;height:72%;bottom:auto;z-index:2}
.hero-stage .skyline{left:-120vw;right:-60vw;width:auto;bottom:28%;height:44%;z-index:0;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.35),#000 45%);mask-image:linear-gradient(90deg,rgba(0,0,0,.35),#000 45%)}
.hero-stage .floor{left:-120vw;right:-60vw;top:72%;bottom:-40vh;height:auto;z-index:1}
.hero-stage .spot{bottom:22%;height:40%;z-index:1}
@media(max-width:980px){.hero{justify-content:center}.hero-copy{padding-bottom:0}.hero-stage{height:340px}}
.show-stage #mvshow{height:72%}
.show-floor{top:72%;height:auto;bottom:0}
.lvl-viz::after{top:74%;height:auto;bottom:0}
.lvl-viz model-viewer{height:74%}
.hero-stage .skyline{width:180vw;left:-120vw;right:auto}
.hero-stage .skyline{opacity:.8}
/* use-case: scene full width, info bar below */
.uc-scene{aspect-ratio:1200/335;min-height:0}
.uc-card{position:relative;left:auto;top:auto;width:auto;margin-top:16px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;padding:28px 30px}
.uc-card h3{font-size:clamp(22px,2.2vw,30px)}
.uc-stats{margin-top:0;padding-top:0;border-top:0;border-left:1px solid var(--line);padding-left:30px}
.uc-stats b{font-size:clamp(24px,2.6vw,36px)}
@media(max-width:860px){.uc-card{grid-template-columns:1fr;gap:18px}.uc-stats{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:16px}}
@media(max-width:760px){.uc-scene{display:block}.uc-scene svg{position:absolute;height:100%}.uc-card{margin:16px 0 0}}
:root[data-theme="light"] .showroom,:root[data-theme="light"] .spec,:root[data-theme="light"] .yard{--c5:#0A93CC;--c6:#D9820A}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]) .showroom,:root:not([data-theme="dark"]) .spec{--c5:#0A93CC;--c6:#D9820A}}
@media(max-width:760px){.uc-scene{aspect-ratio:760/280}.uc-scene svg{position:absolute;inset:0;height:100%}}
@media(max-width:760px){.uc-scene{aspect-ratio:870/280}.uc-stats b{font-size:21px;white-space:nowrap}}

/* ---------- v3.2: grounded staging (no mirror) ----------
   Each stage defines --floor; the model's base is placed exactly on that line by JS,
   with a real contact shadow from the renderer and a soft light pool on the floor. */
.reflect{-webkit-box-reflect:none}
.pool{position:absolute;left:50%;top:var(--floor);width:72%;height:90px;transform:translate(-50%,-50%);pointer-events:none;z-index:1;border-radius:50%;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--pool,#3DE0FF) 30%,transparent),transparent 72%);filter:blur(6px)}
.floorline{position:absolute;left:0;right:0;top:var(--floor);height:1px;pointer-events:none;z-index:1;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--pool,#3DE0FF) 55%,transparent) 30%,color-mix(in srgb,var(--pool,#3DE0FF) 55%,transparent) 70%,transparent)}

/* hero */
.hero-stage{--floor:70%;--pool:#FFC56B}
.hero-stage #mv{top:0;height:100%;z-index:2}
.hero-stage .floor{top:var(--floor)}
.hero-stage .skyline{bottom:calc(100% - var(--floor))}
.hero-stage .pool{width:80%;height:110px}

/* showroom */
.show-stage{--floor:72%;--pool:var(--m)}
.show-stage #mvshow{top:0;height:100%}
.show-floor{top:var(--floor);height:auto;bottom:0;background:linear-gradient(180deg,color-mix(in srgb,var(--m) 10%,transparent),transparent 60%)}
.show-floor::after{opacity:.9}

/* inside */
.lvl-viz{--floor:80%}
.lvl-viz model-viewer{height:100%}
.lvl-viz::after{top:var(--floor);height:auto;bottom:0;background:linear-gradient(180deg,var(--acc-soft),transparent 70%);border-top:1px solid var(--acc-line);opacity:.6}
.lvl-viz::before{content:"";position:absolute;left:50%;top:var(--floor);width:75%;height:60px;transform:translate(-50%,-50%);border-radius:50%;z-index:0;
  background:radial-gradient(closest-side,var(--acc-soft),transparent 72%);filter:blur(4px)}

/* ======================================================================
   v3.3 · one section = one screen. Spacing scales with viewport height so
   laptops (768-900 px tall) and desktops both read each section in one go.
   ====================================================================== */
.sec{padding:clamp(64px,10vh,104px) 0}
.sec-head{margin-bottom:clamp(22px,4vh,40px);gap:32px}
.sec-head .kicker{margin-bottom:14px}
.h-l{font-size:clamp(32px,min(4.2vw,6.4vh),58px)}
.lead{font-size:clamp(16px,1.25vw,18px)}
@media(min-width:861px){.sec-head .lead{padding-bottom:4px}}

/* hero */
.hero{padding:clamp(84px,11vh,110px) 0 clamp(18px,3vh,30px);min-height:100svh}
.h-hero{font-size:clamp(40px,min(5.4vw,9vh),84px)}
.hero-copy{padding-bottom:3vh}
.hero-copy .kicker{margin-bottom:18px}.hero-copy .lead{margin-top:18px}.hero-ctas{margin-top:26px}
.hero-stage{height:min(50vh,520px)}
.hero-strip{margin-top:12px}
.strip>div{padding:clamp(12px,1.8vh,20px) 24px}
.strip b{font-size:clamp(22px,min(2.4vw,4vh),34px)}

/* use cases */
.uc-tabs button{padding:12px 16px}
.uc-scene{max-height:min(38vh,380px);aspect-ratio:auto;height:min(38vh,380px)}
.uc-scene svg{position:absolute;inset:0;width:100%;height:100%}
#scene{preserveAspectRatio:xMidYMid slice}
.uc-card{margin-top:12px;padding:20px 26px;gap:26px}
.uc-card h3{font-size:clamp(20px,1.9vw,26px);margin:6px 0 6px}
.uc-card p{font-size:14.5px}
.scale .fine{margin-top:10px;font-size:11.5px}
@media(max-width:760px){.uc-scene{height:auto;max-height:none;aspect-ratio:870/280}}

/* showroom: heading lives in the info panel */
.showroom{padding-top:clamp(84px,11vh,110px)}
.show-stage{min-height:0;height:min(64vh,600px)}
.show-info{padding:clamp(20px,3vh,28px) 28px}
.show-info .kicker{margin-bottom:10px}
.show-h{font-size:clamp(28px,min(3vw,5vh),44px);margin-bottom:8px}
.show-lead{color:var(--muted);font-size:14.5px;margin-bottom:16px}
.show-tag{margin-top:16px}
.show-big{margin:4px 0 12px}
.show-big b{font-size:clamp(56px,min(6vw,10vh),96px)}
.show-dl div{padding:9px 0}
.show-dl dd{font-size:16px}
.show-note{margin-top:10px;font-size:13.5px}
.show-cta{padding-top:14px}
.pillars{margin-top:clamp(20px,3.5vh,36px);padding-top:clamp(18px,3vh,28px);gap:32px}
.pillars h3{font-size:18px;margin:6px 0 6px}
.pillars p{font-size:14.5px}
@media(max-width:960px){.show-stage{height:360px}}

/* inside */
.lvl-viz{height:min(30vh,280px)}
.lvl-body{padding:16px 20px 18px}
.lvl-body h3{font-size:18px}
.lvl-body p{font-size:14px;min-height:0}
.lvl-stat{margin-top:10px}

/* safety: rings + certifications left, layers right */
.safety{gap:clamp(32px,4vw,64px);align-items:start}
.safety-l{display:flex;flex-direction:column;align-items:center;gap:18px}
.rings{max-width:min(420px,46vh)}
.safety-l .cert-pos{grid-template-columns:1fr;gap:12px;margin-top:0;width:100%}
.safety-l .cert-note{margin-top:4px;font-size:12.5px;width:100%}
.safety .h-l{margin:12px 0 12px!important}
.safety .lead{margin-bottom:18px!important}
.tiers li{padding:clamp(9px,1.4vh,14px) 2px;gap:10px;grid-template-columns:36px 1fr}
.tiers h3{font-size:16.5px;margin-bottom:3px}
.tiers p{font-size:14px;line-height:1.45}
.tiers .tier-dna{margin-top:10px;padding:14px 14px}
.certs{gap:6px;margin-top:8px}
.certs span{padding:6px 11px;font-size:11.5px}

/* digital dna */
.dd-grid{gap:16px}
.dd-chart{padding:20px 22px}
.dd-svg{height:min(22vh,200px)}
.dd-top{margin-bottom:10px}
.dd-legend{margin-top:10px}
.dd-plate{padding:20px 22px;gap:14px;flex-direction:row;align-items:center}
.dd-plate .qr{width:150px;flex:0 0 150px}
.dd-plate .h-m{font-size:20px!important;margin:8px 0 6px!important}
.dd-plate p{font-size:13.5px}
@media(max-width:600px){.dd-plate{flex-direction:column;align-items:flex-start}}
.dd-list{margin-top:clamp(18px,3vh,30px);gap:28px}
.dd-list h3{font-size:17px;padding-top:12px;margin-bottom:6px}
.dd-list p{font-size:14px}
.dd-strip{margin-top:clamp(16px,2.6vh,26px)}
.dd-strip>div{padding:14px 22px}
.dd-strip b{font-size:24px}
.dd-foot{margin-top:12px;font-size:13.5px}

/* planner */
.pl-in,.pl-out{padding:24px 28px}

/* specs: three tables side by side */
#specs .sec-head{align-items:end}
#specs .spec-tabs{margin:18px 0 0}
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
.spec-grid .spec{margin-bottom:0!important}
.spec h4{padding:12px 18px;font-size:11px}
.spec td{padding:8px 18px;font-size:13.5px;line-height:1.4}
.spec td:first-child{width:44%}
@media(max-width:1100px){.spec-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.spec-grid{grid-template-columns:1fr}}
#spec-k6 .spec td{padding:10px 22px}

/* contact */
.contact-sec{padding-bottom:clamp(120px,17vh,170px)}
.foot-skyline{height:clamp(110px,16vh,160px)}
.form{gap:10px;padding:22px 24px}
.form input,.form select,.form textarea{padding:11px 14px}
.form textarea{min-height:80px}
.contact-side{margin-top:20px}
.cs-item{padding:14px 0}
/* v3.3b fit pass */
.sec{padding:clamp(56px,8vh,90px) 0}
.uc-scene{height:min(30vh,320px)}
.uc-card{padding:16px 24px}
.uc-card p{font-size:14px;line-height:1.5}
.uc-stats b{font-size:clamp(22px,2.2vw,30px)}
.showroom{padding-top:clamp(76px,10vh,100px)}
.show-stage{height:min(58vh,540px)}
.show-dl{grid-template-columns:repeat(3,1fr)}
.show-dl div{padding:8px 10px 8px 0!important}
.show-dl dd{font-size:15px}
.show-big b{font-size:clamp(52px,min(5.4vw,9vh),88px)}
.show-lead{margin-bottom:10px}
.pillars p{font-size:14px;line-height:1.5}
.dd-svg{height:min(18vh,170px)}
.dd-strip>div{padding:10px 20px}
.dd-strip b{font-size:22px}
.dd-list{gap:24px}
.spec td:first-child{width:40%}
/* v3.3c */
.showroom{padding-top:clamp(70px,9vh,92px)}
.show-lead{font-size:13.5px;margin-bottom:8px}
.show-switch button{padding:9px 12px}
.show-tag{margin-top:12px}
.pillars{margin-top:clamp(16px,2.6vh,28px);padding-top:clamp(14px,2.2vh,22px)}
.pillars h3{font-size:16.5px;margin:4px 0 4px}
.pillars p{font-size:13.5px;line-height:1.45}
.dd-more{color:var(--acc);font-weight:800;white-space:nowrap}
.ddna .sec-head{margin-bottom:clamp(18px,3vh,30px)}
.dd-svg{height:min(16vh,150px)}
.dd-chart{padding:16px 20px}
.dd-list{margin-top:clamp(14px,2.4vh,24px)}
.dd-list h3{padding-top:10px;font-size:16px}
.dd-list p{font-size:13.5px;line-height:1.45}
.dd-strip{margin-top:clamp(12px,2vh,20px)}
.show-cta{padding-top:10px}
.show-big{margin:2px 0 8px}
.show-h{margin-bottom:4px}
.sec{padding:clamp(52px,7.4vh,86px) 0}
.ddna{padding:clamp(48px,6.4vh,76px) 0}
.dd-ill{margin-left:auto;color:var(--dim);font-style:italic}
.dd-strip>div{padding:9px 20px}
.dd-strip b{font-size:21px}
/* short screens (13-14" laptops, 768-820 px tall) */
@media (min-width:900px) and (max-height:820px){
  .sec{padding:48px 0}
  .h-l{font-size:clamp(30px,5.8vh,46px)}
  .sec-head{margin-bottom:20px}
  .lead{font-size:15.5px}
  .uc-scene{height:27vh}
  .uc-tabs button{padding:10px 14px;font-size:14.5px}
  .uc-card{padding:14px 22px}.uc-card p{font-size:13.5px}
  .show-stage{height:60vh}
  .show-dl div{padding:6px 10px 6px 0!important}
  .pillars{margin-top:14px;padding-top:12px}.pillars p{font-size:13px}
  .rings{max-width:40vh}
  .tiers li{padding:7px 2px}.tiers p{font-size:13px;line-height:1.4}.tiers h3{font-size:15.5px}
  .safety .lead{margin-bottom:10px!important}
  .ddna{padding:44px 0}
  .dd-svg{height:13vh}
  .dd-list p{font-size:13px}
  .spec td{padding:6px 16px;font-size:13px}
  .spec h4{padding:10px 16px}
  #specs .lead{font-size:14.5px}
}
@media (min-width:900px) and (max-height:820px){.show-stage{height:56vh}.show-big b{font-size:8vh}.showroom{padding-top:72px}}
@media (min-width:900px) and (max-height:820px){.show-h{font-size:clamp(24px,2.3vw,32px);white-space:nowrap}.show-switch{margin-top:2px}}
@media(max-width:760px){.uc-scene{height:auto!important;max-height:none!important;width:100%;aspect-ratio:870/280!important}}
@media(min-width:761px){.uc-scene{aspect-ratio:auto!important}}
/* RE+ 2026 event pill */
.event-pill{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:22px;padding:8px 16px 8px 12px;border-radius:999px;
  border:1px solid rgba(255,197,107,.45);background:rgba(255,197,107,.10);backdrop-filter:blur(8px);font-size:13.5px;font-weight:600;color:#F1F4F9;transition:.25s}
.event-pill b{font-weight:900;color:#FFC56B;letter-spacing:.02em}
.event-pill .ep-go{color:#FFC56B;font-weight:800}
.event-pill:hover{border-color:#FFC56B;background:rgba(255,197,107,.18)}
.ep-dot{width:8px;height:8px;border-radius:50%;background:#FFC56B;box-shadow:0 0 0 0 rgba(255,197,107,.7);animation:eppulse 2s infinite}
@keyframes eppulse{70%{box-shadow:0 0 0 8px rgba(255,197,107,0)}100%{box-shadow:0 0 0 0 rgba(255,197,107,0)}}
@media(max-width:520px){.event-pill .ep-go{display:none}}
