/* ════════════════════════════════════════════════════════════
   Hyperdrive Networks — shared stylesheet (all pages)
   Palette: coastal enterprise — Pacific navy, UniFi blue,
   LED teal, warm sand. Light + dark themes, token-based.
   ════════════════════════════════════════════════════════════ */

/* ════════ tokens ════════ */
:root{
  --paper:#F4F8FB; --surface:#FFFFFF; --ink:#12283C; --muted:#48627A;
  --line:#D9E4EE; --accent:#1F7AE0; --accent-ink:#1465BF; --teal-ink:#0E8A7D;
  --card-shadow:0 10px 30px rgba(7,22,38,.08); --btn-shadow:0 8px 20px rgba(31,122,224,.28);
  /* fixed navy world — identical in both themes */
  --navy-950:#071626; --navy-900:#0B2237; --navy-800:#0E2A42; --navy-line:#1D3B58;
  --on-navy:#E9F2F9; --on-navy-muted:#9FB6C9;
  --blue:#2E8DFF; --led:#2AD4C3; --sand:#E8C08A;
  --font-display:"Avenir Next",Avenir,Futura,"Segoe UI Variable Display","Segoe UI",ui-sans-serif,system-ui,sans-serif;
  --font-body:ui-sans-serif,system-ui,-apple-system,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --r-lg:18px; --r-md:13px; --r-sm:9px;
  --btn-hi:#2B84F2; --btn-lo:#1E74D8; --btn-ink:#fff;
  --hl-a:#2AD4C3; --hl-b:#5FA8FF; --hero-fade:rgba(8,26,44,0);
  --glow-blue:#2E8DFF47; --glow-led:#2AD4C330; --glow-sand:#E8C08A29;
  --glow-blue-soft:#2E8DFF21; --glow-led-soft:#2AD4C31A;
  --led-soft:#2AD4C326; --led-line:#2AD4C359; --blue-soft:#2E8DFF24;
  --btn-glow:#1E74D84D; --nav-bg:#071626D6; --nav-line:#1D3B58B3;
}
:root[data-theme="dark"]{
  --hero-fade:#081A2C;
  --paper:#081A2C; --surface:#0E2A42; --ink:#E9F2F9; --muted:#9FB6C9;
  --line:#1D3B58; --accent:#4A9DFF; --accent-ink:#7CB8FF; --teal-ink:#2AD4C3;
  --card-shadow:0 12px 34px rgba(0,0,0,.35); --btn-shadow:0 8px 20px rgba(46,141,255,.25);
}
:root[data-theme="light"]{
  --paper:#F4F8FB; --surface:#FFFFFF; --ink:#12283C; --muted:#48627A;
  --line:#D9E4EE; --accent:#1F7AE0; --accent-ink:#1465BF; --teal-ink:#0E8A7D;
  --card-shadow:0 10px 30px rgba(7,22,38,.08); --btn-shadow:0 8px 20px rgba(31,122,224,.28);
}

/* scrollbars & native controls follow the theme */
:root{color-scheme:light}
:root[data-theme="light"]{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark}

/* ════════ base ════════ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:69px;background-color:var(--navy-950)}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--font-body);font-size:16.5px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.08;letter-spacing:-.02em;margin:0 0 .5em;text-wrap:balance}
p{margin:0 0 1em}
a{color:var(--accent-ink)}
:focus-visible{outline:3px solid var(--led);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;background:var(--led);color:#071626;padding:.6rem 1rem;font-weight:700;z-index:99}
.skip:focus{left:12px;top:12px}
.container{max-width:1140px;margin-inline:auto;padding-inline:24px}
section{padding-block:clamp(64px,9vw,104px)}
.mono{font-family:var(--font-mono)}

/* eyebrow — engineer's readout label */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;
  font-family:var(--font-mono);font-size:.72rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--teal-ink);
}
.eyebrow::before{content:"";width:26px;height:2px;background:currentColor;opacity:.85}
.dark-sec .eyebrow{color:var(--led)}
.lede{max-width:62ch;color:var(--muted);font-size:1.06rem}
h2{font-size:clamp(1.85rem,3.6vw,2.55rem);font-weight:700}

/* ════════ buttons ════════ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.85rem 1.45rem;border-radius:var(--r-md);border:1.5px solid transparent;
  font-family:var(--font-display);font-weight:600;font-size:1rem;line-height:1;
  text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.btn-primary{background:linear-gradient(180deg,var(--btn-hi),var(--btn-lo));color:var(--btn-ink);box-shadow:0 4px 14px var(--btn-glow)}
.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.07);box-shadow:0 8px 20px var(--btn-glow)}
.btn-ghost{background:transparent;color:var(--on-navy);border-color:rgba(233,242,249,.35)}
.btn-ghost:hover{border-color:var(--led);color:var(--led)}
.btn-light-ghost{background:transparent;color:var(--accent-ink);border-color:var(--line)}
.btn-light-ghost:hover{border-color:var(--accent)}
.btn svg{flex:none}

/* ════════ nav ════════ */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(7,22,38,.82);
  background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--nav-line);
}
.nav-inner{display:flex;align-items:center;gap:22px;min-height:68px}
@media (max-width:1240px){.nav-links{gap:16px}.nav-links a{font-size:.88rem}}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--on-navy);margin-right:auto}
.brand-name{font-family:var(--font-display);font-weight:700;font-size:1.14rem;letter-spacing:-.01em}
.brand-name b{color:var(--led);font-weight:700}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.nav-links a{color:var(--on-navy-muted);text-decoration:none;font-size:.95rem;font-weight:500;white-space:nowrap}
.nav-links a:hover{color:var(--led)}
.nav-links a.active{color:var(--led)}
.nav-cta-mobile{display:none}
.nav .btn{padding:.6rem 1.05rem;font-size:.92rem}
.nav-toggle{display:none;background:none;border:1.5px solid rgba(233,242,249,.3);border-radius:9px;padding:8px 10px;color:var(--on-navy);cursor:pointer}
@media (max-width:1023px){
  .nav-cta-mobile{display:list-item}
  .nav-toggle{display:inline-flex}
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:var(--navy-900);border-bottom:1px solid var(--navy-line);padding:8px 0;
  }
  .nav-links.open{display:flex}
  .nav-links a{display:block;padding:.85rem 24px;font-size:1.02rem}
  .nav-cta-desktop{display:none}
}

/* ════════ hero (home) ════════ */
.hero{
  position:relative;
  background:linear-gradient(180deg,var(--navy-950) 0%,var(--navy-900) 100%);
  background:
    linear-gradient(180deg,rgba(0,0,0,0) 80%,var(--hero-fade) 100%),
    linear-gradient(180deg,var(--navy-950) 0%,var(--navy-900) 100%);
  color:var(--on-navy);overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.hero h1{font-size:clamp(2.35rem,5.2vw,3.7rem);font-weight:700;letter-spacing:-.028em;margin-bottom:.45em}
.hero h1 .hl{background:linear-gradient(92deg,var(--hl-a) 10%,var(--hl-b) 90%);-webkit-background-clip:text;background-clip:text;color:#2AD4C3;-webkit-text-fill-color:transparent}
.hero .sub{color:var(--on-navy-muted);font-size:1.13rem;max-width:54ch;margin-bottom:1.7em}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:2.1em}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.hero-chips li{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;
  color:var(--on-navy-muted);border:1px solid var(--navy-line);border-radius:999px;
  padding:.45rem .85rem;background:var(--nav-bg);
}
.hero-chips b{color:var(--led);font-weight:600}
.hero-chips li.hot{background:var(--led);color:var(--navy-950);border-color:var(--led);font-weight:700}
.hero-chips li.hot b{color:var(--navy-950)}
.hero-art{position:relative;min-width:0}
.hero-art svg{display:block;width:100%;height:auto}
@media (max-width:920px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .hero-art{max-width:520px;margin-inline:auto}
}

/* ════════ page hero (subpages) ════════ */
.page-hero{
  position:relative;
  background:linear-gradient(180deg,var(--navy-950) 0%,var(--navy-900) 100%);
  background:
    linear-gradient(180deg,rgba(0,0,0,0) 78%,var(--hero-fade) 100%),
    linear-gradient(180deg,var(--navy-950) 0%,var(--navy-900) 100%);
  color:var(--on-navy);padding-block:clamp(56px,7vw,88px);
}
.page-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:44px;align-items:center}
.page-hero h1{font-size:clamp(2.05rem,4.4vw,3.1rem);letter-spacing:-.026em}
.page-hero .lede{color:var(--on-navy-muted);max-width:58ch}
.page-hero .hero-ctas{margin-bottom:0;margin-top:26px}
.crumb{display:flex;align-items:center;gap:9px;margin:0 0 16px;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--led)}
.crumb a{color:var(--on-navy-muted);text-decoration:none}
.crumb a:hover{color:var(--led)}
.crumb span[aria-hidden]{color:var(--navy-line)}
.emblem{
  width:132px;height:132px;border-radius:30px;display:grid;place-items:center;color:var(--led);
  background:var(--nav-bg);border:1px solid var(--navy-line);box-shadow:0 22px 55px rgba(0,0,0,.2);
}
@media (max-width:720px){.emblem{display:none}.page-hero-inner{grid-template-columns:minmax(0,1fr)}}

/* svg motion */
.ripple{transform-box:fill-box;transform-origin:center;animation:ripple 4.2s ease-out infinite}
.ripple.r2{animation-delay:1.4s}.ripple.r3{animation-delay:2.8s}
@keyframes ripple{0%{transform:scale(.82);opacity:.5}70%{opacity:.18}100%{transform:scale(1.16);opacity:0}}
.flow{animation:flow 2.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-48}}
.blink{animation:blink 2.2s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.pulse-node{transform-box:fill-box;transform-origin:center;animation:pulseNode 3s ease-out infinite}
@keyframes pulseNode{0%{transform:scale(.6);opacity:.7}100%{transform:scale(1.9);opacity:0}}

/* ════════ service cards ════════ */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:44px}
@media (max-width:980px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.svc-grid{grid-template-columns:1fr}}
.svc{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:26px 24px 20px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;
  transition:transform .18s ease,border-color .18s ease;
}
.svc:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 18px 42px rgba(31,122,224,.18)}
.svc-icon{
  width:46px;height:46px;border-radius:12px;display:grid;place-items:center;margin-bottom:16px;
  background:linear-gradient(135deg,var(--blue),var(--led));color:#fff;
  box-shadow:0 6px 16px var(--glow-blue);
}
.svc h3{font-size:1.16rem;font-weight:700;margin-bottom:.35em}
.svc p{color:var(--muted);font-size:.96rem;flex:1}
.svc-tag{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;color:var(--teal-ink);
  border-top:1px dashed var(--line);padding-top:12px;margin-top:6px;
}
.svc-more{
  margin-top:12px;display:inline-flex;align-items:center;gap:7px;text-decoration:none;
  font-family:var(--font-display);font-weight:600;font-size:.92rem;color:var(--accent-ink);
  transition:gap .15s ease;
}
.svc-more:hover{gap:11px}

/* ════════ dark sections ════════ */
.dark-sec{
  background:linear-gradient(180deg,var(--navy-900),var(--navy-950));
  color:var(--on-navy);
}
.dark-sec .lede{color:var(--on-navy-muted)}

/* ticks & check lists */
.tick{
  flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;margin-top:2px;
  background:var(--led-soft);color:var(--teal-ink);
}
.dark-sec .tick{color:var(--led)}
.why-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center;margin-top:10px}
@media (max-width:920px){.why-grid{grid-template-columns:minmax(0,1fr);gap:36px}}
.why-list{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:18px}
.why-list li{display:flex;gap:14px;align-items:flex-start}
.why-list b{display:block;font-family:var(--font-display);font-size:1.04rem;margin-bottom:2px}
.why-list span{color:var(--on-navy-muted);font-size:.95rem}
.check-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px}
.check-list li{display:flex;gap:13px;align-items:flex-start}
.check-list b{display:block;font-family:var(--font-display);font-size:1rem;margin-bottom:1px;color:var(--ink)}
.check-list span{color:var(--muted);font-size:.94rem}

/* dashboard mock */
.dash{
  background:var(--navy-800);border:1px solid var(--navy-line);border-radius:var(--r-lg);
  padding:18px;box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.dash-head{display:flex;align-items:center;gap:10px;padding:2px 4px 14px;border-bottom:1px solid var(--navy-line);margin-bottom:14px}
.dash-dot{width:9px;height:9px;border-radius:50%;background:var(--led);box-shadow:0 0 10px var(--led)}
.dash-title{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;color:var(--on-navy-muted)}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tile{background:var(--navy-900);border:1px solid var(--navy-line);border-radius:13px;padding:13px 14px;min-width:0}
.tile-k{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.16em;color:var(--on-navy-muted);text-transform:uppercase;margin-bottom:7px}
.tile-v{font-family:var(--font-display);font-weight:700;font-size:1.02rem;color:var(--on-navy);font-variant-numeric:tabular-nums}
.tile-v .ok{color:var(--led)}
.tile-sub{font-size:.76rem;color:var(--on-navy-muted);margin-top:3px}
.bars{display:flex;align-items:flex-end;gap:4px;height:34px;margin-top:9px}
.bars i{flex:1;background:linear-gradient(180deg,var(--blue),rgba(46,141,255,.25));border-radius:2px 2px 0 0}
.tile-wide{grid-column:1/-1;display:flex;align-items:center;gap:14px}
.cam-thumb{
  flex:none;width:86px;height:54px;border-radius:8px;position:relative;overflow:hidden;
  background:linear-gradient(160deg,#123a5c 0%,#0a2138 55%,#143b52 100%);border:1px solid var(--navy-line);
}
.cam-thumb::after{content:"";position:absolute;inset:auto 6px 6px auto;width:7px;height:7px;border-radius:50%;background:#FF6B6B;animation:blink 1.6s infinite}
.cam-thumb::before{content:"";position:absolute;left:10px;bottom:10px;width:34px;height:16px;border-radius:3px;background:rgba(233,242,249,.16)}

/* ════════ process steps ════════ */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:46px}
@media (max-width:980px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.steps{grid-template-columns:1fr}}
.step{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--card-shadow)}
.step-num{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.2em;color:var(--teal-ink);font-weight:700;
  display:inline-block;background:var(--led-soft);border:1px solid var(--led-line);border-radius:999px;padding:.3rem .7rem;margin-bottom:14px;
  font-variant-numeric:tabular-nums;
}
.step h3{font-size:1.08rem;margin-bottom:.3em}
.step p{color:var(--muted);font-size:.93rem;margin:0}

/* ════════ coverage map ════════ */
.map-wrap{margin-top:40px;border:1px solid var(--navy-line);border-radius:var(--r-lg);overflow:hidden;background:var(--navy-950)}
.map-wrap svg{display:block;width:100%;height:auto}
.city-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:26px 0 0;padding:0}
.city-chips li{
  font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;color:var(--on-navy-muted);
  border:1px solid var(--navy-line);border-radius:999px;padding:.42rem .8rem;
}
.city-chips li.hq{color:var(--navy-950);background:var(--led);border-color:var(--led);font-weight:700}

/* ════════ faq ════════ */
.faq-list{max-width:820px;margin:40px auto 0;display:grid;gap:12px}
.faq-list details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:0;box-shadow:var(--card-shadow)}
.faq-list summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:18px 20px;font-family:var(--font-display);font-weight:600;font-size:1.02rem;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font-family:var(--font-mono);font-size:1.2rem;color:var(--teal-ink);transition:transform .2s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{padding:0 20px 18px;margin:0;color:var(--muted);font-size:.96rem;max-width:68ch}

/* ════════ subpage feature rows ════════ */
.feat{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:52px;align-items:start}
@media (max-width:880px){.feat{grid-template-columns:minmax(0,1fr);gap:28px}}
.feat h2{font-size:clamp(1.55rem,2.8vw,2rem)}
.feat .body{color:var(--muted)}
.side-card{
  min-width:0;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:24px 24px 20px;box-shadow:var(--card-shadow);
}
.side-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-ink);margin:0 0 14px}
.chips{display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:16px 0 0;padding:0}
.chips li{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--teal-ink);
  border:1px dashed var(--line);border-radius:999px;padding:.38rem .72rem;background:var(--surface);
}
.table-wrap{overflow-x:auto;margin-top:20px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);scrollbar-width:thin;scrollbar-color:rgba(94,122,148,.45) transparent}
.table-wrap::-webkit-scrollbar{height:8px}
.table-wrap::-webkit-scrollbar-track{background:transparent}
.table-wrap::-webkit-scrollbar-thumb{background:rgba(94,122,148,.45);border-radius:99px}
table.spec{width:100%;border-collapse:collapse;font-size:.92rem}
.spec th{
  font-family:var(--font-mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);
}
.spec td{padding:12px 16px;border-top:1px solid var(--line);color:var(--muted);vertical-align:top}
.spec td:first-child{color:var(--ink);font-weight:600;font-family:var(--font-display);white-space:nowrap}
.spec tr:first-child td{border-top:0}
.note-card{
  background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--sand);
  border-radius:var(--r-md);padding:20px 22px;margin-top:44px;box-shadow:var(--card-shadow);
}
.note-card h3{font-size:1.05rem;margin-bottom:.35em}
.note-card p{color:var(--muted);font-size:.94rem;margin:0;max-width:75ch}

/* ════════ cta band ════════ */
.cta-band{padding-block:clamp(52px,7vw,80px)}
.cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px}
.cta-inner h2{margin:0;font-size:clamp(1.5rem,3vw,2.15rem);max-width:24ch}
.cta-inner p{margin:6px 0 0;color:var(--on-navy-muted)}

/* ════════ contact ════════ */
.contact-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:52px;margin-top:14px;align-items:start}
@media (max-width:920px){.contact-grid{grid-template-columns:minmax(0,1fr);gap:36px}}
.c-rows{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:16px}
.c-rows li{display:flex;gap:14px;align-items:flex-start}
.c-rows .cic{flex:none;width:40px;height:40px;border-radius:11px;background:var(--blue-soft);border:1px solid var(--navy-line);color:var(--led);display:grid;place-items:center}
.c-rows b{display:block;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--on-navy-muted);margin-bottom:3px}
.c-rows a,.c-rows span{color:var(--on-navy);text-decoration:none;font-size:1.02rem;font-weight:500}
.c-rows a:hover{color:var(--led)}
.form-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:30px 28px;box-shadow:0 26px 70px rgba(0,0,0,.4);color:var(--ink);
}
.form-card h3{font-size:1.3rem;margin-bottom:4px}
.form-card .fc-sub{color:var(--muted);font-size:.92rem;margin-bottom:22px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.f-row{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;min-width:0}
.field label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.field input,.field select,.field textarea{
  font:inherit;color:var(--ink);background:var(--paper);
  border:1.5px solid var(--line);border-radius:var(--r-sm);padding:.72rem .85rem;width:100%;
}
.field textarea{resize:vertical;min-height:110px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(46,141,255,.22)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:6px}
.form-note{font-size:.8rem;color:var(--muted);margin:14px 0 0}
.form-status{margin:14px 0 0;font-size:.95rem;font-weight:600;display:none}
.form-status.ok{display:block;color:var(--teal-ink)}
.form-status.err{display:block;color:#D64545}
:root[data-theme="dark"] .form-status.err{color:#FF8080}
:root[data-theme="light"] .form-status.err{color:#D64545}

/* ════════ footer ════════ */
footer{background:var(--navy-950);color:var(--on-navy-muted);border-top:1px solid var(--navy-line);padding:56px 0 34px;font-size:.92rem}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:38px}
@media (max-width:760px){.f-grid{grid-template-columns:1fr;gap:26px}}
footer h4{color:var(--on-navy);font-size:.95rem;margin-bottom:.8em}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
footer a{color:var(--on-navy-muted);text-decoration:none}
footer a:hover{color:var(--led)}
.f-legal{border-top:1px solid var(--navy-line);padding-top:22px;font-size:.78rem;line-height:1.7;color:var(--on-navy-muted);opacity:.75}
.f-legal .mono{letter-spacing:.06em}

/* ════════ reveal on scroll ════════ */
html.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
html.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  html.js .reveal{opacity:1;transform:none}
}

/* ════════ SVG artwork follows the theme ════════ */
svg [fill="#2E8DFF"]{fill:var(--blue)}   svg [stroke="#2E8DFF"]{stroke:var(--blue)}
svg [fill="#2AD4C3"]{fill:var(--led)}    svg [stroke="#2AD4C3"]{stroke:var(--led)}
svg [fill="#0E2A42"]{fill:var(--navy-800)}
svg [stroke="#1D3B58"]{stroke:var(--navy-line)}
svg [fill="#0B2237"]{fill:var(--navy-900)}
svg [fill="#071626"]{fill:var(--navy-950)}
svg [fill="#9FB6C9"]{fill:var(--on-navy-muted)}  svg [stroke="#9FB6C9"]{stroke:var(--on-navy-muted)}
svg [fill="#8FB8E8"]{fill:var(--on-navy-muted)}
svg [fill="#7FDDD2"]{fill:var(--led)}
svg [stroke="#24537F"]{stroke:var(--navy-line)}
svg [stop-color="#2AD4C3"]{stop-color:var(--led)}
svg [stop-color="#2E8DFF"]{stop-color:var(--blue)}
svg [stop-color="#0A2A47"]{stop-color:var(--navy-800)}
svg [stop-color="#071E35"]{stop-color:var(--navy-950)}

/* ════════ theme switcher ════════ */
.theme-menu{position:relative}
.theme-btn{
  display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:10px;background:transparent;border:1.5px solid rgba(233,242,249,.28);
  color:var(--on-navy-muted);cursor:pointer;transition:color .15s,border-color .15s;
}
.theme-btn:hover,.theme-btn[aria-expanded="true"]{color:var(--led);border-color:var(--led)}
.theme-list{
  position:absolute;right:0;top:calc(100% + 12px);min-width:230px;z-index:60;
  background:var(--navy-900);border:1px solid var(--navy-line);border-radius:14px;
  padding:8px;box-shadow:0 24px 60px rgba(0,0,0,.5);display:none;
}
.theme-list.open{display:block}
.theme-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.2em;color:var(--on-navy-muted);padding:6px 10px 8px;text-transform:uppercase}
.theme-item{
  display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;background:none;border:0;
  border-radius:9px;color:var(--on-navy);font-family:var(--font-body);font-size:.92rem;cursor:pointer;text-align:left;
}
.theme-item:hover{background:var(--navy-800)}
.theme-item .dots{display:inline-flex;gap:3px;flex:none}
.theme-item .dots i{width:11px;height:11px;border-radius:50%;border:1px solid rgba(255,255,255,.28)}
.theme-item.on::after{content:"✓";margin-left:auto;color:var(--led);font-weight:700}

/* ════════ palettes ════════ */
:root[data-palette="midnight"]{
  --navy-950:#04070D;--navy-900:#070B14;--navy-800:#0C1220;--navy-line:#1C2537;
  --on-navy:#E8ECF6;--on-navy-muted:#97A3BC;--blue:#6D8DFF;--led:#22D3EE;--sand:#7DD3FC;
  --paper:#05080F;--surface:#0C1220;--ink:#E8ECF6;--muted:#97A3BC;--line:#1C2537;
  --accent:#6D8DFF;--accent-ink:#93B0FF;--teal-ink:#22D3EE;
  --btn-hi:#7C96FF;--btn-lo:#5B7CFF;--btn-ink:#fff;--hl-a:#22D3EE;--hl-b:#8FA6FF;--hero-fade:#05080F;
  --card-shadow:0 12px 34px rgba(0,0,0,.5);
  --glow-blue:#6D8DFF47; --glow-led:#22D3EE30; --glow-sand:#7DD3FC29;
  --glow-blue-soft:#6D8DFF21; --glow-led-soft:#22D3EE1A;
  --led-soft:#22D3EE26; --led-line:#22D3EE59; --blue-soft:#6D8DFF24;
  --btn-glow:#5B7CFF4D; --nav-bg:#04070DD6; --nav-line:#1C2537B3;
}
:root[data-palette="sunset"]{
  --navy-950:#1C0B14;--navy-900:#2A1120;--navy-800:#39182C;--navy-line:#57293F;
  --on-navy:#FBEDE6;--on-navy-muted:#D5A49B;--blue:#FF7E67;--led:#FFC46B;--sand:#FFD9A0;
  --paper:#FBF3EC;--surface:#FFFDFA;--ink:#3A2230;--muted:#8A5F63;--line:#EFDCD2;
  --accent:#E85D45;--accent-ink:#C74830;--teal-ink:#A9691B;
  --btn-hi:#FF7E5F;--btn-lo:#E85D45;--btn-ink:#fff;--hl-a:#FFC46B;--hl-b:#FF8E7A;--hero-fade:rgba(0,0,0,0);
  --glow-blue:#FF7E6747; --glow-led:#FFC46B30; --glow-sand:#FFD9A029;
  --glow-blue-soft:#FF7E6721; --glow-led-soft:#FFC46B1A;
  --led-soft:#FFC46B26; --led-line:#FFC46B59; --blue-soft:#FF7E6724;
  --btn-glow:#E85D454D; --nav-bg:#1C0B14D6; --nav-line:#57293FB3;
}
:root[data-palette="emerald"]{
  --navy-950:#03201B;--navy-900:#05312A;--navy-800:#0A4237;--navy-line:#1B5C4E;
  --on-navy:#E9F8F2;--on-navy-muted:#93C6B6;--blue:#34D399;--led:#6EE7B7;--sand:#FDE68A;
  --paper:#F1FAF6;--surface:#FFFFFF;--ink:#113B31;--muted:#4E7A6C;--line:#D5EAE1;
  --accent:#0E9F6E;--accent-ink:#0B7A55;--teal-ink:#0B7A55;
  --btn-hi:#10B981;--btn-lo:#0E9F6E;--btn-ink:#fff;--hl-a:#6EE7B7;--hl-b:#34D399;--hero-fade:rgba(0,0,0,0);
  --glow-blue:#34D39947; --glow-led:#6EE7B730; --glow-sand:#FDE68A29;
  --glow-blue-soft:#34D39921; --glow-led-soft:#6EE7B71A;
  --led-soft:#6EE7B726; --led-line:#6EE7B759; --blue-soft:#34D39924;
  --btn-glow:#0E9F6E4D; --nav-bg:#03201BD6; --nav-line:#1B5C4EB3;
}
:root[data-palette="goldcoast"]{
  --navy-950:#090F1D;--navy-900:#0D1628;--navy-800:#142038;--navy-line:#2B3B58;
  --on-navy:#F2EFE6;--on-navy-muted:#B0AE9C;--blue:#E3B458;--led:#F3D27E;--sand:#F3D27E;
  --paper:#FAF7F0;--surface:#FFFFFF;--ink:#23293C;--muted:#6E7280;--line:#E7E1D2;
  --accent:#B98A2F;--accent-ink:#8F681F;--teal-ink:#8F681F;
  --btn-hi:#D9A93F;--btn-lo:#B98A2F;--btn-ink:#231A05;--hl-a:#F3D27E;--hl-b:#E3B458;--hero-fade:rgba(0,0,0,0);
  --glow-blue:#E3B45847; --glow-led:#F3D27E30; --glow-sand:#F3D27E29;
  --glow-blue-soft:#E3B45821; --glow-led-soft:#F3D27E1A;
  --led-soft:#F3D27E26; --led-line:#F3D27E59; --blue-soft:#E3B45824;
  --btn-glow:#B98A2F4D; --nav-bg:#090F1DD6; --nav-line:#2B3B58B3;
}
:root[data-palette="redline"]{
  --navy-950:#0C0A0B;--navy-900:#141013;--navy-800:#1E181B;--navy-line:#3B2B31;
  --on-navy:#F4EDEE;--on-navy-muted:#A9979C;--blue:#FF4D5E;--led:#FF8A6B;--sand:#FFB29B;
  --paper:#131013;--surface:#1E181B;--ink:#F4EDEE;--muted:#A9979C;--line:#3B2B31;
  --accent:#FF4D5E;--accent-ink:#FF8494;--teal-ink:#FF8494;
  --btn-hi:#FF5A6B;--btn-lo:#E63B4E;--btn-ink:#fff;--hl-a:#FF8A6B;--hl-b:#FF4D9E;--hero-fade:#131013;
  --card-shadow:0 12px 34px rgba(0,0,0,.5);
  --glow-blue:#FF4D5E47; --glow-led:#FF8A6B30; --glow-sand:#FFB29B29;
  --glow-blue-soft:#FF4D5E21; --glow-led-soft:#FF8A6B1A;
  --led-soft:#FF8A6B26; --led-line:#FF8A6B59; --blue-soft:#FF4D5E24;
  --btn-glow:#E63B4E4D; --nav-bg:#0C0A0BD6; --nav-line:#3B2B31B3;
}
:root[data-palette="ultraviolet"]{
  --navy-950:#0D081F;--navy-900:#150E30;--navy-800:#1E1544;--navy-line:#382B67;
  --on-navy:#EEEAFB;--on-navy-muted:#A79CD1;--blue:#8B7CFF;--led:#A78BFA;--sand:#F0ABFC;
  --paper:#F5F3FC;--surface:#FFFFFF;--ink:#241B47;--muted:#5D5486;--line:#E2DCF4;
  --accent:#6D5AE6;--accent-ink:#5443C4;--teal-ink:#7C3AED;
  --btn-hi:#7C6AF2;--btn-lo:#6D5AE6;--btn-ink:#fff;--hl-a:#C4B5FD;--hl-b:#8B7CFF;--hero-fade:rgba(0,0,0,0);
  --glow-blue:#8B7CFF47; --glow-led:#A78BFA30; --glow-sand:#F0ABFC29;
  --glow-blue-soft:#8B7CFF21; --glow-led-soft:#A78BFA1A;
  --led-soft:#A78BFA26; --led-line:#A78BFA59; --blue-soft:#8B7CFF24;
  --btn-glow:#6D5AE64D; --nav-bg:#0D081FD6; --nav-line:#382B67B3;
}
:root[data-palette="arctic"]{
  --navy-950:#E7F0F8;--navy-900:#DCE8F4;--navy-800:#FFFFFF;--navy-line:#C2D5E6;
  --on-navy:#16324A;--on-navy-muted:#52708A;--blue:#1F7AE0;--led:#0E8A7D;--sand:#D08700;
  --paper:#F6FAFD;--surface:#FFFFFF;--ink:#16324A;--muted:#52708A;--line:#D9E4EE;
  --accent:#1F7AE0;--accent-ink:#1465BF;--teal-ink:#0E8A7D;
  --btn-hi:#2B84F2;--btn-lo:#1E74D8;--btn-ink:#fff;--hl-a:#0E8A7D;--hl-b:#1F7AE0;--hero-fade:#F6FAFD;
  --card-shadow:0 10px 30px rgba(7,22,38,.08);
  --glow-blue:#1F7AE047; --glow-led:#0E8A7D30; --glow-sand:#D0870029;
  --glow-blue-soft:#1F7AE021; --glow-led-soft:#0E8A7D1A;
  --led-soft:#0E8A7D26; --led-line:#0E8A7D59; --blue-soft:#1F7AE024;
  --btn-glow:#1E74D84D; --nav-bg:#E7F0F8D6; --nav-line:#C2D5E6B3;
}
:root[data-palette="synthwave"]{
  --navy-950:#170733;--navy-900:#22104A;--navy-800:#2D1760;--navy-line:#4B2F8E;
  --on-navy:#F3ECFF;--on-navy-muted:#B49CE0;--blue:#FF3E9D;--led:#00E5FF;--sand:#FFD166;
  --paper:#1D0C3F;--surface:#2D1760;--ink:#F3ECFF;--muted:#B49CE0;--line:#4B2F8E;
  --accent:#FF3E9D;--accent-ink:#FF7BBE;--teal-ink:#00E5FF;
  --btn-hi:#FF5CAD;--btn-lo:#E3308C;--btn-ink:#fff;--hl-a:#00E5FF;--hl-b:#FF3E9D;--hero-fade:#1D0C3F;
  --card-shadow:0 12px 34px rgba(0,0,0,.5);
  --glow-blue:#FF3E9D47; --glow-led:#00E5FF30; --glow-sand:#FFD16629;
  --glow-blue-soft:#FF3E9D21; --glow-led-soft:#00E5FF1A;
  --led-soft:#00E5FF26; --led-line:#00E5FF59; --blue-soft:#FF3E9D24;
  --btn-glow:#E3308C4D; --nav-bg:#170733D6; --nav-line:#4B2F8EB3;
}
:root[data-palette="graphite"]{
  --navy-950:#101214;--navy-900:#16191D;--navy-800:#1E2228;--navy-line:#343B45;
  --on-navy:#EDF0F3;--on-navy-muted:#9AA6B2;--blue:#F59E0B;--led:#FBBF24;--sand:#FBBF24;
  --paper:#F4F5F7;--surface:#FFFFFF;--ink:#1B2129;--muted:#5A6672;--line:#DFE3E8;
  --accent:#C77E06;--accent-ink:#92400E;--teal-ink:#B45309;
  --btn-hi:#F59E0B;--btn-lo:#D97706;--btn-ink:#221703;--hl-a:#FBBF24;--hl-b:#F59E0B;--hero-fade:rgba(0,0,0,0);
  --glow-blue:#F59E0B47; --glow-led:#FBBF2430; --glow-sand:#FBBF2429;
  --glow-blue-soft:#F59E0B21; --glow-led-soft:#FBBF241A;
  --led-soft:#FBBF2426; --led-line:#FBBF2459; --blue-soft:#F59E0B24;
  --btn-glow:#D977064D; --nav-bg:#101214D6; --nav-line:#343B45B3;
}

/* ambient drift on hero spec labels — never mouse-driven */
.hero-art .labels{animation:drift 8s ease-in-out infinite alternate}
@keyframes drift{from{transform:translateY(-3px)}to{transform:translateY(4px)}}

/* ════════ hero console & constellation ════════ */
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.5;pointer-events:none}
.hero .container{position:relative;z-index:1}
.page-hero .container{position:relative;z-index:1}
.hero-console{position:relative;max-width:470px;margin-left:auto;animation:float 8s ease-in-out infinite alternate}
.hero-console .tile-wide{position:relative}
.event-pop{
  position:absolute;right:-96px;top:50%;transform:translateY(-50%);z-index:2;
  display:flex;align-items:center;gap:11px;white-space:nowrap;
  background:var(--navy-800);border:1px solid var(--navy-line);border-radius:var(--r-md);
  padding:12px 16px;box-shadow:0 18px 44px rgba(0,0,0,.4);color:var(--on-navy);font-size:.86rem;
}
@media (max-width:1280px){.event-pop{right:-18px}}
.event-pop .ep-dot{width:9px;height:9px;border-radius:50%;background:var(--led);box-shadow:0 0 10px var(--led);flex:none}
.event-pop b{display:block;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.16em;color:var(--on-navy-muted);text-transform:uppercase;margin-bottom:2px}
@keyframes float{from{transform:translateY(-5px)}to{transform:translateY(6px)}}
@media (max-width:920px){.hero-console{margin-inline:auto}.event-pop{display:none}}

/* ════════ ecosystem tiles ════════ */
.eco{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.eco-tile{background:var(--navy-800);border:1px solid var(--navy-line);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:10px}
.eco-tile .svc-icon{margin-bottom:2px}
.eco-tile b{font-family:var(--font-display);font-size:1.05rem;color:var(--on-navy)}
.eco-tile span{font-size:.84rem;color:var(--on-navy-muted);line-height:1.5}
.eco-cap{grid-column:1/-1;text-align:center;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;color:var(--on-navy-muted);text-transform:uppercase;margin-top:6px}

/* ════════ mobile quote bar ════════ */
.quote-bar{display:none}
@media (max-width:640px){
  body{padding-bottom:58px}
  .quote-bar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;gap:1px;
    background:var(--navy-line);border-top:1px solid var(--navy-line);
    padding-bottom:env(safe-area-inset-bottom);
  }
  .quote-bar a{
    flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 10px;
    background:var(--navy-900);color:var(--on-navy);text-decoration:none;
    font-family:var(--font-display);font-weight:600;font-size:.95rem;
  }
  .quote-bar a.qb-primary{background:var(--btn-lo);color:var(--btn-ink)}
}

/* ════════ looks (style axis) ════════ */
[data-look="editorial"]{
  --font-display:"Iowan Old Style","Palatino Nova",Palatino,"Book Antiqua",Georgia,serif;
  --r-lg:2px;--r-md:2px;--r-sm:2px;--card-shadow:none;
}
[data-look="editorial"] h1,[data-look="editorial"] h2,[data-look="editorial"] h3{letter-spacing:0;font-weight:600}
[data-look="editorial"] .hero h1{letter-spacing:-.01em}
[data-look="editorial"] .eyebrow{letter-spacing:.3em}
[data-look="editorial"] .btn{font-weight:500;letter-spacing:.03em}
[data-look="editorial"] .form-card,[data-look="editorial"] .dash{box-shadow:none}

[data-look="terminal"]{
  --font-display:var(--font-mono);
  --r-lg:4px;--r-md:4px;--r-sm:3px;--card-shadow:none;
}
[data-look="terminal"] h1{letter-spacing:-.03em}
[data-look="terminal"] h2{font-size:clamp(1.5rem,2.9vw,2.05rem);letter-spacing:-.02em}
[data-look="terminal"] .nav-links a{font-family:var(--font-mono);font-size:.85rem}
[data-look="terminal"] .btn{font-size:.92rem;letter-spacing:.01em}
[data-look="terminal"] .form-card,[data-look="terminal"] .dash{box-shadow:none}
[data-look="terminal"] .svc,[data-look="terminal"] .step,[data-look="terminal"] .side-card,[data-look="terminal"] .faq-list details,[data-look="terminal"] .note-card{border-width:1.5px}

[data-look="soft"]{
  --font-display:ui-rounded,"SF Pro Rounded","Hiragino Maru Gothic ProN","Arial Rounded MT Bold",var(--font-body);
  --r-lg:26px;--r-md:18px;--r-sm:14px;
  --card-shadow:0 18px 44px rgba(7,22,38,.12);
}
[data-look="soft"] .btn{border-radius:999px}
[data-look="soft"] .hero-chips li,[data-look="soft"] .city-chips li{border-radius:999px}

[data-look="bold"]{
  --r-lg:0px;--r-md:0px;--r-sm:0px;--card-shadow:6px 6px 0 var(--line);
}
[data-look="bold"] h1,[data-look="bold"] h2{letter-spacing:-.035em;font-weight:800}
[data-look="bold"] .svc,[data-look="bold"] .step,[data-look="bold"] .side-card,[data-look="bold"] .form-card,[data-look="bold"] .faq-list details,[data-look="bold"] .note-card,[data-look="bold"] .table-wrap{border-width:2px}
[data-look="bold"] .btn{box-shadow:4px 4px 0 rgba(0,0,0,.35)}
[data-look="bold"] .btn:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 rgba(0,0,0,.35)}
[data-look="bold"] .dash{box-shadow:8px 8px 0 rgba(0,0,0,.4)}

/* theme list: grouped, two-column palettes */
.theme-list{min-width:264px;max-height:70vh;overflow:auto}
.theme-looks{display:flex;flex-wrap:wrap;gap:4px;padding:2px 6px 10px;border-bottom:1px solid var(--navy-line);margin-bottom:8px}
.look-item{
  flex:1 1 45%;padding:8px 10px;background:none;border:1px solid var(--navy-line);border-radius:8px;
  color:var(--on-navy);font-family:var(--font-body);font-size:.84rem;cursor:pointer;text-align:center;
}
.look-item:hover{background:var(--navy-800)}
.look-item.on{border-color:var(--led);color:var(--led)}
.theme-palettes{display:grid;grid-template-columns:1fr 1fr;gap:2px}
:root[data-palette="espresso"]{
  --navy-950:#14100D;--navy-900:#1C1712;--navy-800:#272019;--navy-line:#42362A;
  --on-navy:#F3EBE2;--on-navy-muted:#B7A897;--blue:#C98A4B;--led:#E5C07B;--sand:#E5C07B;
  --paper:#F7F1E8;--surface:#FFFCF7;--ink:#2A211A;--muted:#7A6A5B;--line:#E8DCCC;
  --accent:#A9683A;--accent-ink:#8A5228;--teal-ink:#946B2D;
  --btn-hi:#C07A42;--btn-lo:#A9683A;--btn-ink:#fff;--hl-a:#E5C07B;--hl-b:#D89A5E;--hero-fade:rgba(0,0,0,0);
  --glow-blue:#C98A4B47; --glow-led:#E5C07B30; --glow-sand:#E5C07B29;
  --glow-blue-soft:#C98A4B21; --glow-led-soft:#E5C07B1A;
  --led-soft:#E5C07B26; --led-line:#E5C07B59; --blue-soft:#C98A4B24;
  --btn-glow:#A9683A4D; --nav-bg:#14100DD6; --nav-line:#42362AB3;
}
:root[data-palette="sakura"]{
  --navy-950:#241522;--navy-900:#321D30;--navy-800:#422741;--navy-line:#61405F;
  --on-navy:#FBEFF6;--on-navy-muted:#D3A9C6;--blue:#F472B6;--led:#F9A8D4;--sand:#FFD9E8;
  --paper:#FBF4F8;--surface:#FFFFFF;--ink:#43203C;--muted:#8B5F80;--line:#F2DEEA;
  --accent:#DB2777;--accent-ink:#BE185D;--teal-ink:#BE185D;
  --btn-hi:#EC4899;--btn-lo:#DB2777;--btn-ink:#fff;--hl-a:#F9A8D4;--hl-b:#F472B6;--hero-fade:rgba(0,0,0,0);
  --glow-blue:#F472B647; --glow-led:#F9A8D430; --glow-sand:#FFD9E829;
  --glow-blue-soft:#F472B621; --glow-led-soft:#F9A8D41A;
  --led-soft:#F9A8D426; --led-line:#F9A8D459; --blue-soft:#F472B624;
  --btn-glow:#DB27774D; --nav-bg:#241522D6; --nav-line:#61405FB3;
}
:root[data-palette="cyberlime"]{
  --navy-950:#0A0F0A;--navy-900:#0F150F;--navy-800:#151D15;--navy-line:#2C3F2C;
  --on-navy:#EDF7ED;--on-navy-muted:#93B393;--blue:#A3E635;--led:#BEF264;--sand:#FDE047;
  --paper:#0C120C;--surface:#151D15;--ink:#EDF7ED;--muted:#93B393;--line:#2C3F2C;
  --accent:#A3E635;--accent-ink:#BEF264;--teal-ink:#BEF264;
  --btn-hi:#A3E635;--btn-lo:#84CC16;--btn-ink:#0A0F0A;--hl-a:#BEF264;--hl-b:#A3E635;--hero-fade:#0C120C;
  --card-shadow:0 12px 34px rgba(0,0,0,.5);
  --glow-blue:#A3E63547; --glow-led:#BEF26430; --glow-sand:#FDE04729;
  --glow-blue-soft:#A3E63521; --glow-led-soft:#BEF2641A;
  --led-soft:#BEF26426; --led-line:#BEF26459; --blue-soft:#A3E63524;
  --btn-glow:#84CC164D; --nav-bg:#0A0F0AD6; --nav-line:#2C3F2CB3;
}
:root[data-palette="deepsea"]{
  --navy-950:#02131C;--navy-900:#032030;--navy-800:#063040;--navy-line:#11536F;
  --on-navy:#E4F6FC;--on-navy-muted:#7FB6C9;--blue:#22D3EE;--led:#67E8F9;--sand:#A5F3FC;
  --paper:#041824;--surface:#063040;--ink:#E4F6FC;--muted:#7FB6C9;--line:#11536F;
  --accent:#22D3EE;--accent-ink:#67E8F9;--teal-ink:#67E8F9;
  --btn-hi:#22D3EE;--btn-lo:#0891B2;--btn-ink:#02131C;--hl-a:#67E8F9;--hl-b:#22D3EE;--hero-fade:#041824;
  --card-shadow:0 12px 34px rgba(0,0,0,.5);
  --glow-blue:#22D3EE47; --glow-led:#67E8F930; --glow-sand:#A5F3FC29;
  --glow-blue-soft:#22D3EE21; --glow-led-soft:#67E8F91A;
  --led-soft:#67E8F926; --led-line:#67E8F959; --blue-soft:#22D3EE24;
  --btn-glow:#0891B24D; --nav-bg:#02131CD6; --nav-line:#11536FB3;
}
:root[data-palette="desert"]{
  --navy-950:#201409;--navy-900:#2E1D10;--navy-800:#3E2917;--navy-line:#5E432A;
  --on-navy:#F8EFE3;--on-navy-muted:#CBAE8F;--blue:#E5883E;--led:#E3B25E;--sand:#E3B25E;
  --paper:#FAF4EA;--surface:#FFFDF8;--ink:#3A2A18;--muted:#85715A;--line:#EBDFC9;
  --accent:#C2662A;--accent-ink:#9C4F1E;--teal-ink:#97742F;
  --btn-hi:#D97940;--btn-lo:#C2662A;--btn-ink:#fff;--hl-a:#E3B25E;--hl-b:#E5883E;--hero-fade:rgba(0,0,0,0);
  --glow-blue:#E5883E47; --glow-led:#E3B25E30; --glow-sand:#E3B25E29;
  --glow-blue-soft:#E5883E21; --glow-led-soft:#E3B25E1A;
  --led-soft:#E3B25E26; --led-line:#E3B25E59; --blue-soft:#E5883E24;
  --btn-glow:#C2662A4D; --nav-bg:#201409D6; --nav-line:#5E432AB3;
}
:root[data-palette="mono"]{
  --navy-950:#0A0A0A;--navy-900:#111111;--navy-800:#1A1A1A;--navy-line:#343434;
  --on-navy:#F5F5F5;--on-navy-muted:#9E9E9E;--blue:#E5E5E5;--led:#FFFFFF;--sand:#D4D4D4;
  --paper:#FAFAFA;--surface:#FFFFFF;--ink:#111111;--muted:#666666;--line:#E2E2E2;
  --accent:#111111;--accent-ink:#000000;--teal-ink:#444444;
  --btn-hi:#1A1A1A;--btn-lo:#000000;--btn-ink:#fff;--hl-a:#FFFFFF;--hl-b:#BFBFBF;--hero-fade:rgba(0,0,0,0);
  --glow-blue:#E5E5E547; --glow-led:#FFFFFF30; --glow-sand:#D4D4D429;
  --glow-blue-soft:#E5E5E521; --glow-led-soft:#FFFFFF1A;
  --led-soft:#FFFFFF26; --led-line:#FFFFFF59; --blue-soft:#E5E5E524;
  --btn-glow:#0000004D; --nav-bg:#0A0A0AD6; --nav-line:#343434B3;
}
:root[data-palette="aurora"]{
  --navy-950:#06121E;--navy-900:#0A1B2C;--navy-800:#0F2740;--navy-line:#20435F;
  --on-navy:#E9F4F4;--on-navy-muted:#92B4B4;--blue:#4ADE80;--led:#A78BFA;--sand:#F0ABFC;
  --paper:#F2F8F6;--surface:#FFFFFF;--ink:#123033;--muted:#4E7376;--line:#D6E7E2;
  --accent:#16A34A;--accent-ink:#15803D;--teal-ink:#7C3AED;
  --btn-hi:#22C55E;--btn-lo:#16A34A;--btn-ink:#fff;--hl-a:#A78BFA;--hl-b:#4ADE80;--hero-fade:rgba(0,0,0,0);
  --glow-blue:#4ADE8047; --glow-led:#A78BFA30; --glow-sand:#F0ABFC29;
  --glow-blue-soft:#4ADE8021; --glow-led-soft:#A78BFA1A;
  --led-soft:#A78BFA26; --led-line:#A78BFA59; --blue-soft:#4ADE8024;
  --btn-glow:#16A34A4D; --nav-bg:#06121ED6; --nav-line:#20435FB3;
}
:root[data-palette="miami"]{
  --navy-950:#FFF0F5;--navy-900:#FCE8F0;--navy-800:#FFFFFF;--navy-line:#F3CBDD;
  --on-navy:#58203E;--on-navy-muted:#96617D;--blue:#EC4899;--led:#06B6D4;--sand:#FDBA74;
  --paper:#FFF8FB;--surface:#FFFFFF;--ink:#4A1D36;--muted:#8E5E77;--line:#F5D9E6;
  --accent:#DB2777;--accent-ink:#BE185D;--teal-ink:#0E7490;
  --btn-hi:#EC4899;--btn-lo:#DB2777;--btn-ink:#fff;--hl-a:#06B6D4;--hl-b:#EC4899;--hero-fade:#FFF8FB;
  --card-shadow:0 10px 30px rgba(88,32,62,.1);
  --glow-blue:#EC489947; --glow-led:#06B6D430; --glow-sand:#FDBA7429;
  --glow-blue-soft:#EC489921; --glow-led-soft:#06B6D41A;
  --led-soft:#06B6D426; --led-line:#06B6D459; --blue-soft:#EC489924;
  --btn-glow:#DB27774D; --nav-bg:#FFF0F5D6; --nav-line:#F3CBDDB3;
}
:root[data-palette="forestnight"]{
  --navy-950:#0C1410;--navy-900:#122019;--navy-800:#1A2C22;--navy-line:#304C3B;
  --on-navy:#ECF5EE;--on-navy-muted:#9BB8A5;--blue:#4ADE80;--led:#FBBF24;--sand:#FBBF24;
  --paper:#F2F7F3;--surface:#FFFFFF;--ink:#16301F;--muted:#55705E;--line:#D8E6DB;
  --accent:#15803D;--accent-ink:#166534;--teal-ink:#936A11;
  --btn-hi:#16A34A;--btn-lo:#15803D;--btn-ink:#fff;--hl-a:#FBBF24;--hl-b:#4ADE80;--hero-fade:rgba(0,0,0,0);
  --glow-blue:#4ADE8047; --glow-led:#FBBF2430; --glow-sand:#FBBF2429;
  --glow-blue-soft:#4ADE8021; --glow-led-soft:#FBBF241A;
  --led-soft:#FBBF2426; --led-line:#FBBF2459; --blue-soft:#4ADE8024;
  --btn-glow:#15803D4D; --nav-bg:#0C1410D6; --nav-line:#304C3BB3;
}
:root[data-palette="royal"]{
  --navy-950:#0C1226;--navy-900:#111A36;--navy-800:#182446;--navy-line:#2D3C6C;
  --on-navy:#EDF0FB;--on-navy-muted:#9BA6CD;--blue:#E23A56;--led:#E8C468;--sand:#E8C468;
  --paper:#F5F6FB;--surface:#FFFFFF;--ink:#1A2240;--muted:#565F85;--line:#DDE2F0;
  --accent:#C42B45;--accent-ink:#A02039;--teal-ink:#97701A;
  --btn-hi:#DC3B57;--btn-lo:#C42B45;--btn-ink:#fff;--hl-a:#E8C468;--hl-b:#E06478;--hero-fade:rgba(0,0,0,0);
  --glow-blue:#E23A5647; --glow-led:#E8C46830; --glow-sand:#E8C46829;
  --glow-blue-soft:#E23A5621; --glow-led-soft:#E8C4681A;
  --led-soft:#E8C46826; --led-line:#E8C46859; --blue-soft:#E23A5624;
  --btn-glow:#C42B454D; --nav-bg:#0C1226D6; --nav-line:#2D3C6CB3;
}

/* console topology tile */
.tile-topo{display:block}
.topo{display:block;width:100%;height:auto;margin-top:8px;overflow:visible}
.topo text{font-family:var(--font-mono);font-size:7.5px;letter-spacing:1.2px;fill:var(--on-navy-muted)}

/* ════════ one-click light/dark (sun-moon button) ════════
   Generic remaps derived from each palette's own tokens, so the
   toggle works under any data-palette. Declared last on purpose. */
:root[data-theme="dark"]{
  --paper:var(--navy-950);--surface:var(--navy-800);--ink:var(--on-navy);
  --muted:var(--on-navy-muted);--line:var(--navy-line);
  --accent:var(--blue);--accent-ink:var(--led);--teal-ink:var(--led);
  --card-shadow:0 12px 34px rgba(0,0,0,.4);--hero-fade:var(--navy-950);
}
:root[data-theme="light"]{
  --paper:var(--on-navy);--surface:#FFFFFF;--ink:var(--navy-950);
  --muted:var(--navy-800);--line:#00000021;
  --accent:var(--btn-lo);--accent-ink:var(--btn-lo);--teal-ink:var(--btn-lo);
  --card-shadow:0 10px 30px rgba(7,22,38,.09);--hero-fade:rgba(0,0,0,0);
}

/* ════════ hero ops stack: camera + console + journal ════════ */
.ops{position:relative;min-height:640px;animation:float 9s ease-in-out infinite alternate}
.ops-cam{
  position:absolute;top:0;right:0;width:58%;z-index:1;
  background:var(--navy-800);border:1px solid var(--navy-line);border-radius:var(--r-lg);
  padding:12px;box-shadow:0 18px 44px rgba(0,0,0,.35);
}
.ops-cam-head{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;color:var(--on-navy-muted);padding:2px 4px 10px}
.rec{width:8px;height:8px;border-radius:50%;background:#FF5C5C;animation:blink 1.4s infinite;flex:none}
.ops-cam-view{
  position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;border:1px solid var(--navy-line);
  background:
    linear-gradient(115deg, rgba(255,255,255,.05), transparent 40%),
    radial-gradient(60% 55% at 18% 100%, rgba(232,192,138,.22), transparent 70%),
    linear-gradient(180deg,#0A1C30,#081422 60%,#0C2032);
}
.ops-cam-view::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 1px,transparent 1px 3px);pointer-events:none}
.scanbox{
  position:absolute;left:10%;top:26%;width:34%;height:50%;
  border:2px solid var(--led);border-radius:6px;
  box-shadow:0 0 0 1px rgba(0,0,0,.3), inset 0 0 24px rgba(42,212,195,.1);
  animation:scan 5.5s ease-in-out infinite alternate;
}
@keyframes scan{from{transform:translateX(0)}to{transform:translateX(120%)}}
.scantag{
  position:absolute;top:-24px;left:-2px;white-space:nowrap;
  font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;font-weight:700;
  background:var(--led);color:var(--navy-950);padding:3px 8px;border-radius:5px;
}
.cam-ts{position:absolute;right:10px;bottom:8px;font-family:var(--font-mono);font-size:.62rem;color:rgba(255,255,255,.75);letter-spacing:.1em}
.ops-console{position:absolute;left:0;top:118px;width:74%;z-index:2}
.ops-term{
  position:absolute;left:7%;bottom:0;width:76%;z-index:3;overflow:hidden;
  background:var(--navy-950);border:1px solid var(--navy-line);border-radius:var(--r-md);
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.term-head{display:flex;align-items:center;gap:6px;padding:9px 12px;border-bottom:1px solid var(--navy-line)}
.term-head i{width:9px;height:9px;border-radius:50%;background:var(--navy-line);flex:none}
.term-head i:first-child{background:#FF5F57}
.term-head i:nth-child(2){background:#FEBC2E}
.term-head i:nth-child(3){background:#28C840}
.term-head span{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;color:var(--on-navy-muted);margin-left:6px}
.term-body{
  margin:0;padding:12px 14px 14px;min-height:122px;white-space:pre-wrap;word-break:break-word;
  font-family:var(--font-mono);font-size:.7rem;line-height:1.75;color:var(--on-navy-muted);
}
.term-body::after{content:"▋";color:var(--led);animation:blink 1.1s steps(1) infinite;margin-left:2px}
.wave{display:block;width:100%;height:48px;margin-top:6px}
.tnode{cursor:pointer}
.tnode-flash{animation:nodeflash .55s ease-out}
@keyframes nodeflash{0%{opacity:.15}100%{opacity:1}}
@media (max-width:920px){
  .ops{min-height:0;animation:none;display:flex;flex-direction:column;gap:14px}
  .ops-cam,.ops-console,.ops-term{position:static;width:100%}
}

/* ════════ hero console v3: one flagship window ════════ */
.ops{min-height:0}
.console2{
  max-width:648px;margin-left:auto;position:relative;
  background:var(--navy-800);border:1px solid var(--navy-line);border-radius:var(--r-lg);
  box-shadow:0 30px 70px rgba(0,0,0,.45);
}
.c2-bar{border-radius:var(--r-lg) var(--r-lg) 0 0}
.c2-status{border-radius:0 0 var(--r-lg) var(--r-lg)}
.c2-cam{position:relative}
.c2-toast{
  right:-44px;top:auto;bottom:26px;left:auto;transform:none;
  font-size:.72rem;padding:9px 13px;gap:9px;
}
.c2-toast b{font-size:.56rem}
.c2-toast .ep-dot{width:7px;height:7px}
@media (max-width:1280px){.c2-toast{right:-16px}}
.c2-bar{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--navy-line);background:var(--navy-900)}
.c2-dots{display:inline-flex;gap:5px;flex:none}
.c2-dots i{width:9px;height:9px;border-radius:50%;background:var(--navy-line)}
.c2-dots i:first-child{background:#FF5F57}
.c2-dots i:nth-child(2){background:#FEBC2E}
.c2-dots i:nth-child(3){background:#28C840}
.c2-title{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;color:var(--on-navy-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c2-ok{margin-left:auto;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;color:var(--led);white-space:nowrap}
.c2-body{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:12px}
.s2{grid-column:span 2}.s3{grid-column:span 3}.s4{grid-column:span 4}.s6{grid-column:1/-1}
.lrow{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.74rem;color:var(--on-navy)}
.lrow .ldot{width:7px;height:7px;border-radius:50%;background:var(--led);flex:none;box-shadow:0 0 7px rgba(42,212,195,.5)}
.lrow .ldot.sby{background:var(--on-navy-muted);box-shadow:none;opacity:.55}
.lrow b{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.06em;color:var(--on-navy-muted);font-weight:700;margin-left:auto;white-space:nowrap}
.c2-main,.c2-side{display:flex;flex-direction:column;gap:10px;min-width:0}
.c2-tile{background:var(--navy-900);border:1px solid var(--navy-line);border-radius:12px;padding:12px 13px;min-width:0}
.c2-journal{flex:1;display:flex;flex-direction:column}
.c2-journal .term-body{flex:1;min-height:92px;padding:8px 0 0;font-size:.65rem;line-height:1.7}
.c2-cam .tile-k{display:flex;align-items:center;gap:7px}
.c2-cam .ops-cam-view{margin-top:9px;aspect-ratio:16/12.8}
.console2 .scanbox{left:24%;top:20%;width:46%;height:64%;animation:lockon 2.8s ease-in-out infinite}
.console2 .ops-cam-view > .scantag{
  position:absolute;left:24%;top:calc(20% - 21px);z-index:2;
  border-radius:5px 5px 5px 0;font-size:.54rem;letter-spacing:.07em;padding:3px 8px;
}
@keyframes lockon{
  0%,100%{box-shadow:0 0 0 1px rgba(0,0,0,.35),0 0 8px rgba(42,212,195,.14);transform:scale(1)}
  50%{box-shadow:0 0 0 1px rgba(0,0,0,.35),0 0 14px rgba(42,212,195,.24);transform:scale(1.02)}
}
.console2 .scanbox{display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.cam-person{width:54%;height:auto;display:block;opacity:.95}
.c2-status{
  display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding:10px 16px;
  border-top:1px solid var(--navy-line);background:var(--navy-900);
  font-family:var(--font-mono);font-size:.63rem;letter-spacing:.08em;color:var(--on-navy-muted);
}
.c2-status .ok{color:var(--led);font-weight:700}
.c2-status .c2-fees{margin-left:auto;color:var(--on-navy)}
@media (max-width:920px){
  .console2{margin-inline:auto}
  .c2-body{grid-template-columns:minmax(0,1fr)}
  .s2,.s3,.s4,.s6{grid-column:auto}
}

/* smooth light/dark flip */
body,section,.nav,footer,.svc,.step,.side-card,.form-card,.faq-list details,.note-card,.table-wrap,.tile,.c2-tile,.console2,.eco-tile{
  transition:background-color .25s ease,color .25s ease,border-color .25s ease;
}

/* brand icon: immune to svg resets */
.brand svg{width:34px;height:34px;flex:none}
footer .brand svg{width:30px;height:30px}
/* console v4.1 extras */
.c2-wide{grid-column:1/-1}
.meter{display:flex;gap:3px;margin-top:10px}
.meter i{flex:1;height:9px;border-radius:2px;background:var(--navy-line)}
.meter i.on{background:var(--blue);box-shadow:0 0 6px rgba(46,141,255,.35)}
.pkt{offset-path:path('M143 86 L106 114');animation:pkt 2s linear infinite}
.pkt2{offset-path:path('M157 86 L194 114');animation:pkt 2s -1s linear infinite}
@keyframes pkt{from{offset-distance:0%}to{offset-distance:100%}}

#wan-down,#wan-up{font-variant-numeric:tabular-nums;color:var(--on-navy);font-weight:600}

.wave-stats{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:9px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;color:var(--on-navy-muted)}
.wave-stats b{color:var(--on-navy);font-weight:700;font-variant-numeric:tabular-nums}
.ws-note{margin-left:auto;color:var(--led)}
@media (max-width:920px){.ws-note{margin-left:0}}
