/* ===================================================================
   NEXEV — Shared stylesheet (Light + Dark)
   =================================================================== */

:root, [data-theme="light"]{
  --bg:#ecebe1;
  --bg-2:#e3e1d4;
  --bg-3:#d9d6c5;
  --ink:#161a13;
  --ink-2:#2c322a;
  --muted:#6a7064;
  --muted-2:#8a8f85;
  --line:#cfccbd;
  --line-2:#bdbaa9;
  --forest:#1b3a22;
  --moss:#3b6b34;
  --lime:#b8e840;
  --on-ink:#ecebe1;

  --accent-block-bg:#1b3a22;
  --accent-block-fg:#ecebe1;
  --accent-block-pop:#b8e840;
  --accent-block-line:rgba(236,235,225,.15);
  --accent-block-muted:rgba(236,235,225,.6);
  --accent-block-muted-2:rgba(236,235,225,.45);

  --nav-blur:rgba(236,235,225,.78);
  --nav-shadow:0 10px 40px -16px rgba(20,24,18,.18), inset 0 0 0 1px rgba(255,255,255,.5);
  --shadow-card:0 50px 80px -30px rgba(20,24,18,.35), 0 8px 20px -8px rgba(20,24,18,.18);

  color-scheme: light;
}

[data-theme="dark"]{
  --bg:#0a0c08;
  --bg-2:#10130d;
  --bg-3:#161a13;
  --ink:#ecebe1;
  --ink-2:#c5c8bc;
  --muted:#7e857a;
  --muted-2:#5b605b;
  --line:#1f2419;
  --line-2:#2c3324;
  --forest:#b8e840;        /* primary accent flips to lime in dark */
  --moss:#a8d845;
  --lime:#b8e840;
  --on-ink:#0a0c08;

  --accent-block-bg:#10130d;
  --accent-block-fg:#ecebe1;
  --accent-block-pop:#b8e840;
  --accent-block-line:rgba(184,232,64,.16);
  --accent-block-muted:rgba(236,235,225,.66);
  --accent-block-muted-2:rgba(236,235,225,.45);

  --nav-blur:rgba(10,12,8,.7);
  --nav-shadow:0 10px 40px -16px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,255,255,.04);
  --shadow-card:0 50px 80px -30px rgba(0,0,0,.6), 0 8px 20px -8px rgba(0,0,0,.4);

  color-scheme: dark;
}

*{box-sizing:border-box}
html{transition:background .35s ease, color .35s ease}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-family:'Space Grotesk', system-ui, -apple-system, Segoe UI, sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{overflow-x:hidden;line-height:1.45;font-weight:400}
a{color:inherit;text-decoration:none}
button{font-family:inherit;border:0;background:none;cursor:pointer;color:inherit}
img{max-width:100%;display:block}
::selection{background:var(--forest);color:var(--on-ink)}

/* type primitives */
.serif{font-weight:400;letter-spacing:-.005em}
.mono{font-family:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'JetBrains Mono', ui-monospace, monospace;
  font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--moss);
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--moss)}
.eyebrow .num{color:var(--muted-2)}

h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:-.035em;line-height:.98;color:var(--ink)}
h1{font-size:clamp(64px, 11vw, 180px);font-weight:400;letter-spacing:-.045em;line-height:.92}
h2{font-size:clamp(46px, 6.6vw, 108px);letter-spacing:-.04em;line-height:.96;font-weight:400}
h3{font-size:clamp(24px, 2.1vw, 34px);letter-spacing:-.02em;line-height:1.1;font-weight:500}

p{color:var(--muted);font-size:16px;line-height:1.55;margin:0}
.lede{font-size:18px;color:var(--ink-2);line-height:1.5;max-width:54ch;font-weight:400}

em{font-style:normal}
h1 em,h2 em,h3 em,h4 em,.feat em{font-weight:400;color:var(--forest)}

/* ===== NAV ===== */
.nav-wrap{position:fixed;top:0;left:0;right:0;z-index:80;display:flex;justify-content:center;
  padding:22px 28px;transition:padding .35s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.nav-wrap > *{pointer-events:auto}
.nav{
  width:100%;max-width:1440px;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 22px;
  border:1px solid transparent;border-radius:6px;
  background:transparent;
  transition:all .4s cubic-bezier(.2,.7,.2,1);
}
.nav-wrap.scrolled{padding:14px 28px}
.nav-wrap.scrolled .nav{
  max-width:880px;
  padding:9px 9px 9px 22px;
  border-radius:999px;
  border-color:var(--line);
  background:var(--nav-blur);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  box-shadow:var(--nav-shadow);
}
.nav-logo{display:flex;align-items:center;gap:9px;font-weight:500;font-size:17px;letter-spacing:-.02em;color:var(--ink)}
.nav-logo .mark{width:18px;height:18px;display:grid;place-items:center;color:var(--forest)}
.nav-logo em{font-weight:400;letter-spacing:-.01em;color:var(--moss)}
.nav-logo-img{height:36px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{
  padding:8px 14px;border-radius:999px;font-size:14px;color:var(--muted);
  transition:color .2s, background .2s;letter-spacing:-.005em;position:relative;
}
.nav-links a:hover{color:var(--ink)}
.nav-links a.active{color:var(--ink)}
.nav-links a.active::after{
  content:"";position:absolute;left:50%;bottom:2px;width:4px;height:4px;border-radius:50%;
  background:var(--moss);transform:translateX(-50%)
}
.nav-right{display:flex;align-items:center;gap:10px}
.theme-toggle{
  width:36px;height:36px;border-radius:999px;border:1px solid var(--line);
  background:transparent;display:inline-flex;align-items:center;justify-content:center;
  color:var(--ink-2);transition:all .25s;
}
.theme-toggle:hover{border-color:var(--ink);color:var(--ink)}
.theme-toggle svg{width:16px;height:16px}
.theme-toggle .sun{display:none}
[data-theme="dark"] .theme-toggle .sun{display:block}
[data-theme="dark"] .theme-toggle .moon{display:none}

.nav-cta{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 14px 10px 18px;border-radius:999px;background:var(--ink);color:var(--on-ink);
  font-weight:500;font-size:14px;letter-spacing:-.005em;
  border:1px solid var(--ink);
  transition:transform .15s ease, box-shadow .25s ease, background .2s;
}
.nav-cta:hover{background:var(--forest);border-color:var(--forest);color:var(--on-ink);transform:translateY(-1px)}
[data-theme="dark"] .nav-cta:hover{color:#0a0c08}
.nav-cta .arr{display:inline-flex;width:18px;height:18px;border-radius:50%;background:var(--lime);color:#161a13;align-items:center;justify-content:center}
.nav-cta .arr svg{width:10px;height:10px}

/* mobile menu */
.nav-menu-btn{display:none;width:36px;height:36px;border-radius:999px;border:1px solid var(--line);align-items:center;justify-content:center;color:var(--ink-2)}
.nav-menu-btn svg{width:16px;height:16px}
.mobile-menu{
  position:fixed;inset:0;background:var(--bg);z-index:90;display:none;flex-direction:column;
  padding:96px 28px 40px;transform:translateY(-100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.mobile-menu.open{transform:translateY(0)}
.mobile-menu a{font-size:32px;padding:18px 0;border-bottom:1px solid var(--line);letter-spacing:-.02em;color:var(--ink)}
.mobile-menu .close{position:absolute;top:20px;right:24px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink)}

/* ===== LAYOUT ===== */
section{padding:140px 32px;position:relative}
.container{max-width:1320px;margin:0 auto;position:relative}
.rule{height:1px;background:var(--line)}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:12px;padding:14px 18px 14px 22px;border-radius:999px;
  font-weight:500;font-size:14px;letter-spacing:-.005em;transition:all .2s;cursor:pointer;border:1px solid transparent}
.btn-primary{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}
.btn-primary:hover{background:var(--forest);border-color:var(--forest);color:var(--on-ink);transform:translateY(-1px)}
[data-theme="dark"] .btn-primary:hover{color:#0a0c08}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--ink);background:transparent}
.btn .arr{display:inline-flex;width:20px;height:20px;border-radius:50%;background:var(--lime);color:#161a13;align-items:center;justify-content:center;transition:transform .25s}
.btn:hover .arr{transform:translateX(2px)}
.btn-ghost .arr{background:var(--ink);color:var(--on-ink)}
.btn .arr svg{width:10px;height:10px}

/* floating call button (all pages) */
.site-call{
  position:fixed;right:28px;bottom:28px;z-index:70;
  width:56px;height:56px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--ink);color:var(--on-ink);
  border:1px solid var(--line-2);box-shadow:var(--shadow-card);
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.site-call:hover{transform:translateY(-2px);background:var(--forest);border-color:var(--forest)}
[data-theme="dark"] .site-call:hover{background:var(--lime);border-color:var(--lime);color:#0a0c08}
.site-call svg{width:22px;height:22px}

/* ===== SECTION HEAD ===== */
.sec-head{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:end}
.sec-head h2{margin-top:28px}
.sec-head p{color:var(--muted);font-size:17px;line-height:1.5;max-width:46ch}

/* ===== MARQUEE ===== */
.marquee{overflow:hidden;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2)}
.marquee-track{display:flex;gap:56px;white-space:nowrap;animation:scroll 60s linear infinite;
  font-family:'JetBrains Mono', ui-monospace, monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.marquee-track span{display:inline-flex;align-items:center;gap:14px}
.marquee-track .sep{color:var(--moss);font-size:14px;line-height:1}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== PAGE HERO (centered, used by inner pages) ===== */
.page-hero{padding:220px 32px 110px;text-align:center;position:relative;overflow:hidden}
.page-hero[data-bg-boxes]{
  min-height:calc(100dvh - 58px) !important;
  padding-bottom:72px !important;
}
.page-hero .container{display:flex;flex-direction:column;align-items:center;max-width:1100px}
.page-hero .ph-line{
  display:inline-block;width:1px;height:64px;background:var(--line-2);
  margin-bottom:34px;
  transform:scaleY(0);transform-origin:top;
  animation:drawLine 1.1s cubic-bezier(.2,.7,.2,1) .1s forwards;
}
@keyframes drawLine{ to{ transform:scaleY(1) } }
.page-hero .ph-eye{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'JetBrains Mono', monospace;font-size:11px;
  text-transform:uppercase;letter-spacing:.3em;color:var(--moss);
  padding:8px 16px;border:1px solid var(--line-2);border-radius:999px;
  opacity:0;animation:fadeUp .65s ease-out .35s forwards;
}
.page-hero .ph-eye .d{width:6px;height:6px;border-radius:50%;background:var(--moss);box-shadow:0 0 0 0 var(--moss);animation:dotPulse 2.2s infinite}
[data-theme="dark"] .page-hero .ph-eye .d{background:var(--lime);animation:dotPulseDark 2.2s infinite}
@keyframes dotPulse{0%{box-shadow:0 0 0 0 rgba(59,107,52,.45)}70%{box-shadow:0 0 0 9px rgba(59,107,52,0)}100%{box-shadow:0 0 0 0 rgba(59,107,52,0)}}
@keyframes dotPulseDark{0%{box-shadow:0 0 0 0 rgba(184,232,64,.45)}70%{box-shadow:0 0 0 9px rgba(184,232,64,0)}100%{box-shadow:0 0 0 0 rgba(184,232,64,0)}}
.page-hero h1{
  margin-top:36px;font-size:clamp(64px, 9vw, 128px);line-height:.92;letter-spacing:-.045em;font-weight:400;
  opacity:0;animation:fadeUp .9s cubic-bezier(.2,.7,.2,1) .5s forwards;text-wrap:balance;
}
.page-hero h1 .ln{display:block;white-space:nowrap}
.page-hero h1 em{color:var(--forest);font-weight:400}
.page-hero .lede{
  margin-top:48px;max-width:54ch;font-size:19px;color:var(--ink-2);line-height:1.5;text-align:center;
  opacity:0;animation:fadeUp .9s cubic-bezier(.2,.7,.2,1) .7s forwards;
}
.page-hero .ctas{
  margin-top:48px;display:flex;gap:14px;flex-wrap:wrap;justify-content:center;
  opacity:0;animation:fadeUp .9s cubic-bezier(.2,.7,.2,1) .85s forwards;
}
.page-hero .ph-cue{
  margin-top:64px;font-family:'JetBrains Mono', monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-2);
  display:inline-flex;flex-direction:column;align-items:center;gap:8px;
  opacity:0;animation:fadeUp 1s cubic-bezier(.2,.7,.2,1) 1.05s forwards;
}
.page-hero .ph-cue .arr{width:1px;height:24px;background:var(--line-2);animation:scrollPulse 2.4s ease-in-out infinite}
@keyframes scrollPulse{
  0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.5}
  50%{transform:scaleY(1);opacity:1}
}

@keyframes fadeUp{
  from { opacity:0; transform: translateY(22px); }
  to   { opacity:1; transform: translateY(0); }
}

/* hero entry animation on home page too */
.home-hero .hh-top,.home-hero .hh-rule,.home-hero .hh-body,.home-hero .hh-strip{opacity:1}

@media (prefers-reduced-motion: reduce){
  .page-hero .ph-line,.page-hero .ph-eye,.page-hero h1,.page-hero .lede,.page-hero .ctas,.page-hero .ph-cue,
  .page-hero .ph-eye .d,
  .home-hero .hh-top,.home-hero .hh-rule,.home-hero .hh-body h1 .ln,.home-hero .hh-side,.home-hero .hh-strip{animation:none;opacity:1;transform:none}
}

/* ===== FOOTER ===== */
.site-footer{
  position:relative;background:var(--bg-2);border-top:1px solid var(--line);
  padding:80px 32px 0;overflow:hidden;
}
.ft-top{
  max-width:1440px;margin:0 auto;display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:60px;
}
.ft-brand .nav-logo{font-size:20px}
.ft-brand-logo-wrap{display:inline-block;line-height:0}
.ft-brand-logo{height:40px;width:auto;display:block}
[data-theme="light"] .ft-brand-logo-wrap{background:#10130d;padding:8px 10px 6px;border-radius:10px}
.ft-brand p{margin-top:20px;font-size:14px;max-width:36ch;line-height:1.55;color:var(--muted)}
.ft-brand .addr-block{margin-top:24px;display:flex;flex-direction:column;gap:14px;font-size:13px;color:var(--ink-2)}
.ft-brand .addr-block .k{font-family:'JetBrains Mono', monospace;font-size:10px;color:var(--muted-2);letter-spacing:.18em;text-transform:uppercase;margin-bottom:4px;display:block}
.ft-brand .addr-block .v{line-height:1.55}
.ft h4{font-family:'JetBrains Mono', monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:0 0 18px}
.ft-col a{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:14px;padding:8px 0;transition:color .2s;border-bottom:1px solid transparent}
.ft-col a:hover{color:var(--forest)}
.ft-col a .arr{opacity:0;transition:opacity .2s, transform .25s;font-family:'JetBrains Mono', monospace;font-size:10px;color:var(--moss)}
.ft-col a:hover .arr{opacity:1;transform:translateX(4px)}

.ft-news{display:flex;flex-direction:column;gap:14px}
.ft-news p{font-size:13px;color:var(--muted);line-height:1.55}
.ft-news .input-row{display:flex;border:1px solid var(--line-2);border-radius:999px;padding:4px;align-items:center;background:transparent;transition:border-color .2s}
.ft-news .input-row:focus-within{border-color:var(--ink)}
.ft-news input{flex:1;background:transparent;border:0;outline:0;padding:10px 14px;color:var(--ink);font-family:inherit;font-size:14px}
.ft-news input::placeholder{color:var(--muted-2)}
.ft-news button{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--ink);color:var(--on-ink);font-size:13px;font-weight:500}
.ft-news button:hover{background:var(--forest)}
[data-theme="dark"] .ft-news button:hover{color:#0a0c08}

/* wordmark — big stretched at bottom */
.ft-wordmark{
  margin:72px auto 0;max-width:1440px;
  display:flex;justify-content:flex-start;align-items:center;
  padding:0 32px;
}
.ft-wordmark-logo{width:min(680px,94vw);height:auto;display:block}
[data-theme="light"] .ft-wordmark{
  background:#10130d;padding:28px 32px 22px;border-radius:18px;width:fit-content;max-width:calc(100% - 64px);
}

.ft-base{max-width:1440px;margin:30px auto 0;padding:24px 0 36px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
  font-family:'JetBrains Mono', monospace;font-size:11px;color:var(--muted-2);letter-spacing:.14em;text-transform:uppercase}
.ft-base .links{display:flex;gap:24px}
.ft-base .links a:hover{color:var(--ink)}

/* lightweight legal/status modal */
.legal-modal{
  position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;
  padding:24px;background:rgba(10,12,8,.48);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.legal-modal.open{display:flex}
.legal-modal__panel{
  width:min(720px, 100%);max-height:min(78vh, 720px);overflow:auto;
  border:1px solid var(--line);border-radius:22px;background:var(--bg);
  box-shadow:0 40px 90px -40px rgba(0,0,0,.55);padding:32px;color:var(--ink);
}
.legal-modal__top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.legal-modal__eyebrow{font-family:'JetBrains Mono', monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--moss);margin-bottom:10px}
.legal-modal__title{font-size:34px;line-height:1;letter-spacing:-.03em;font-weight:400;margin:0;color:var(--ink)}
.legal-modal__close{
  width:36px;height:36px;border-radius:999px;border:1px solid var(--line-2);
  display:inline-flex;align-items:center;justify-content:center;color:var(--ink);flex-shrink:0;
}
.legal-modal__close:hover{border-color:var(--ink)}
.legal-modal__body{padding-top:24px;display:flex;flex-direction:column;gap:18px}
.legal-modal__body p{font-size:15px;color:var(--ink-2);line-height:1.65}
.legal-modal__body ul{margin:0;padding-left:18px;color:var(--ink-2)}
.legal-modal__body li{margin:8px 0;font-size:15px;line-height:1.55}
.legal-modal__note{
  margin-top:6px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;
  background:var(--bg-2);font-family:'JetBrains Mono', monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
}
@media (max-width:640px){
  .legal-modal{padding:16px}
  .legal-modal__panel{padding:24px}
  .legal-modal__title{font-size:28px}
}

/* ===== CARDS & GRIDS ===== */
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tri-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.quad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}

/* generic edge cell */
.cell{padding:36px 28px 28px 0;border-bottom:1px solid var(--line);min-height:200px;display:flex;flex-direction:column;justify-content:space-between;position:relative}
.cell + .cell{border-left:1px solid var(--line);padding-left:28px}
.cell .ix{font-family:'JetBrains Mono', monospace;font-size:11px;letter-spacing:.2em;color:var(--muted-2)}
.cell .ttl{font-size:22px;letter-spacing:-.02em;font-weight:500;line-height:1.15;max-width:16ch;color:var(--ink)}
.cell .ttl em{color:var(--forest);font-weight:400}
.cell p{margin-top:14px;font-size:14px;line-height:1.55;max-width:36ch}
.cell .ico{width:30px;height:30px;color:var(--forest);align-self:flex-start}
.cell.hov{transition:background .25s}
.cell.hov:hover{background:var(--bg-2)}

/* product card (b-card from before) */
.b-card{
  border:1px solid var(--line);border-radius:18px;padding:36px;
  background:var(--bg-2);min-height:560px;
  display:flex;flex-direction:column;position:relative;overflow:hidden;
}
.b-card.dc{background:var(--accent-block-bg);color:var(--accent-block-fg);border-color:var(--accent-block-bg)}
[data-theme="dark"] .b-card.dc{border-color:var(--line-2)}
.b-card.dc h3,.b-card.dc .vbig{color:var(--accent-block-fg)}
.b-card.dc p,.b-card.dc ul li,.b-card.dc .sub{color:var(--accent-block-muted)}
.b-card.dc .tag{color:var(--accent-block-pop);border-color:var(--accent-block-line);background:transparent}
.b-card.dc .chk{background:rgba(184,232,64,.16);color:var(--accent-block-pop)}
.b-card.dc .vmeta{color:var(--accent-block-muted-2)}
.b-card.dc .divline{background:var(--accent-block-line)}
.b-card.dc h3 em{color:var(--accent-block-pop)}
.b-card .tag{align-self:flex-start;font-family:'JetBrains Mono', monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--moss);padding:6px 12px;border:1px solid var(--line-2);border-radius:999px;background:transparent}
.b-card h3{margin-top:22px;font-size:42px;line-height:1.02;letter-spacing:-.03em;font-weight:400}
.b-card .sub{margin-top:12px;font-family:'JetBrains Mono', monospace;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}
.b-card .desc{margin-top:22px;max-width:38ch;font-size:15px}
.b-card ul{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-direction:column;gap:12px}
.b-card ul li{display:flex;align-items:center;gap:12px;color:var(--ink-2);font-size:15px}
.b-card .chk{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:rgba(59,107,52,.15);color:var(--forest)}
[data-theme="dark"] .b-card .chk{background:rgba(184,232,64,.16);color:var(--lime)}
.b-card .divline{height:1px;background:var(--line);margin:32px 0 0}
.b-card .visual{margin-top:auto;padding-top:24px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.b-card .vbig{font-size:96px;letter-spacing:-.05em;line-height:.85;font-weight:400}
.b-card .vbig small{font-size:24px;color:var(--muted);margin-left:2px;letter-spacing:0;font-weight:400}
.b-card.dc .vbig small{color:var(--accent-block-muted-2)}
.b-card .vmeta{font-family:'JetBrains Mono', monospace;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);text-align:right;line-height:1.6}

@media (max-width:1024px){
  .split-grid{grid-template-columns:1fr}
  .tri-grid{grid-template-columns:1fr}
  .quad-grid{grid-template-columns:1fr 1fr}
  .cell{border-left:none !important;padding-left:0 !important}
  .quad-grid .cell:nth-child(even){border-left:1px solid var(--line) !important;padding-left:24px !important}
  .tri-grid .cell + .cell{border-left:none !important;padding-left:0 !important}
}

/* ===== MISSION CARD (home) ===== */
.m-card{
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
  padding:56px 56px 40px;
  position:relative;overflow:hidden;
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s;
}
.m-card:hover{transform:translateY(-4px);box-shadow:0 32px 64px -36px rgba(20,24,18,.22)}
[data-theme="dark"] .m-card:hover{box-shadow:0 32px 64px -28px rgba(0,0,0,.6)}
.m-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg, transparent 0%, var(--moss) 50%, transparent 100%);
  opacity:.6;
}
.m-card::after{
  content:"";position:absolute;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle, rgba(27,58,34,.06), transparent 60%);
  top:-180px;right:-180px;pointer-events:none;
}
[data-theme="dark"] .m-card::after{background:radial-gradient(circle, rgba(184,232,64,.05), transparent 60%)}

.mc-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}
.mc-eye{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono', monospace;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--moss)}
.mc-eye .d{width:7px;height:7px;border-radius:50%;background:var(--moss);box-shadow:0 0 0 0 var(--moss);animation:dotPulse 2.2s infinite}
[data-theme="dark"] .mc-eye .d{background:var(--lime);animation:dotPulseDark 2.2s infinite}
.mc-year{font-family:'JetBrains Mono', monospace;font-size:11px;letter-spacing:.18em;color:var(--muted)}

.mc-quote{
  margin-top:56px;font-size:clamp(34px, 5.4vw, 84px);
  line-height:1.04;letter-spacing:-.035em;font-weight:400;text-align:center;
  text-wrap:balance;
}
.mc-quote em{color:var(--forest);font-weight:400}

.mc-bar{margin:60px auto 0;max-width:680px;height:2px;background:var(--line);border-radius:2px;overflow:hidden;position:relative}
.mc-bar::before,.mc-bar::after{content:"";position:absolute;top:50%;width:8px;height:8px;border-radius:50%;background:var(--line);transform:translateY(-50%)}
.mc-bar::before{left:-4px}
.mc-bar::after{right:-4px;background:var(--moss);box-shadow:0 0 12px var(--moss)}
[data-theme="dark"] .mc-bar::after{background:var(--lime);box-shadow:0 0 14px var(--lime)}
.mc-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--moss),var(--forest));transform:scaleX(0);transform-origin:left;animation:chargeBar 5s cubic-bezier(.45,.05,.4,.95) infinite}
[data-theme="dark"] .mc-bar i{background:linear-gradient(90deg,var(--moss),var(--lime))}
@keyframes chargeBar{
  0%   {transform:scaleX(0);transform-origin:left}
  45%  {transform:scaleX(1);transform-origin:left}
  55%  {transform:scaleX(1);transform-origin:right}
  100% {transform:scaleX(0);transform-origin:right}
}

.mc-body{margin:48px auto 0;max-width:60ch;text-align:center;font-size:17px;color:var(--ink-2);line-height:1.6}

.mc-foot{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:32px;border-top:1px solid var(--line)}
.mc-foot > div{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}
.mc-foot .k{font-family:'JetBrains Mono', monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-2)}
.mc-foot .v{font-size:15px;color:var(--ink);letter-spacing:-.005em;line-height:1.4}
.mc-foot .v em{color:var(--forest);font-weight:400}

/* Booklet pillars: speed/reliability/UX/scalability */
.pillar-row{margin-top:36px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);padding-top:24px}
.pillar-row > div{display:flex;flex-direction:column;gap:6px;padding:0 18px;border-right:1px solid var(--line)}
.pillar-row > div:last-child{border-right:none}
.pillar-row .k{font-family:'JetBrains Mono', monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--moss)}
.pillar-row .v{font-size:13px;color:var(--ink-2);line-height:1.45}

@media (max-width: 1024px){
  .m-card{padding:36px 28px}
  .mc-foot{grid-template-columns:1fr;gap:18px}
  .mc-foot > div{align-items:flex-start;text-align:left}
  .pillar-row{grid-template-columns:1fr 1fr;gap:16px;padding-top:18px}
  .pillar-row > div{border-right:none;padding:0}
  .pillar-row > div:nth-child(odd){border-right:1px solid var(--line)}
}

/* ===== NETWORK PAGE ===== */
.net-stats{padding:60px 32px 100px}
.net-stats .container{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.net-stat{padding:30px 28px 30px 0}
.net-stat + .net-stat{border-left:1px solid var(--line);padding-left:28px}
.net-stat .k{font-family:'JetBrains Mono', monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.net-stat .v{font-size:46px;letter-spacing:-.035em;font-weight:400;color:var(--ink);font-feature-settings:"tnum";line-height:1}
.net-stat .v small{font-size:16px;color:var(--muted);margin-left:2px;letter-spacing:0}
.net-stat .v em{color:var(--forest);font-weight:400}

/* network constellation visual */
.constellation{padding:80px 32px;background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.constellation .container{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}
.constellation .left h2{font-size:clamp(40px,5.4vw,84px);line-height:.98}
.constellation .left h2 em{color:var(--forest);font-weight:400}
.constellation .left p{margin-top:24px;font-size:16px;color:var(--ink-2);line-height:1.55;max-width:42ch}
.const-svg{width:100%;aspect-ratio:1/1;max-width:560px;margin:0 auto;position:relative}
.const-svg svg{width:100%;height:100%;overflow:visible}
.const-svg .ring{fill:none;stroke:var(--line-2);stroke-width:.5;stroke-dasharray:2 4}
.const-svg .hub{fill:var(--forest)}
[data-theme="dark"] .const-svg .hub{fill:var(--lime)}
.const-svg .hub-pulse{fill:none;stroke:var(--moss);stroke-width:1;opacity:0;transform-origin:center;animation:hubPulse 3s ease-out infinite}
[data-theme="dark"] .const-svg .hub-pulse{stroke:var(--lime)}
@keyframes hubPulse{
  0%   {transform:scale(.6);opacity:.6}
  100% {transform:scale(2.6);opacity:0}
}
.const-svg .node{fill:var(--moss)}
[data-theme="dark"] .const-svg .node{fill:var(--lime)}
.const-svg .node-soon{fill:none;stroke:var(--line-2);stroke-width:1}
.const-svg .link{stroke:var(--moss);stroke-width:.6;opacity:.4;stroke-dasharray:2 3}
[data-theme="dark"] .const-svg .link{stroke:var(--lime);opacity:.3}
.const-svg .lbl{fill:var(--ink-2);font-family:'JetBrains Mono', monospace;font-size:8px;letter-spacing:.12em}
.const-svg .lbl-hub{fill:var(--ink);font-weight:600}

/* moving pulse along link */
.const-svg .pulse-dot{fill:var(--moss);opacity:0;animation:linkPulse 5s linear infinite}
[data-theme="dark"] .const-svg .pulse-dot{fill:var(--lime)}
@keyframes linkPulse{
  0%   {opacity:0;transform:translate(0,0)}
  10%  {opacity:1}
  90%  {opacity:1}
  100% {opacity:0;transform:translate(var(--dx),var(--dy))}
}

/* station list */
.stations{padding:140px 32px}
.station-list{margin-top:80px;border-top:1px solid var(--line)}
.station{
  display:grid;grid-template-columns:48px 1.4fr 1.2fr .8fr .8fr 120px;
  gap:32px;align-items:center;
  padding:28px 0;border-bottom:1px solid var(--line);
  transition:background .25s;cursor:default;
}
.station:hover{background:var(--bg-2)}
.station .ix{font-family:'JetBrains Mono', monospace;font-size:11px;letter-spacing:.18em;color:var(--muted-2)}
.station .city{font-size:24px;letter-spacing:-.02em;line-height:1.1;font-weight:500;color:var(--ink)}
.station .city em{color:var(--forest);font-weight:400}
.station .city small{display:block;font-family:'JetBrains Mono', monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-weight:400}
.station .hub{font-size:15px;color:var(--ink-2);letter-spacing:-.005em}
.station .hub small{display:block;font-size:12px;color:var(--muted);margin-top:2px;font-family:'JetBrains Mono', monospace;letter-spacing:.08em}
.station .pwr{font-size:22px;letter-spacing:-.02em;font-weight:500;color:var(--ink);font-feature-settings:"tnum"}
.station .pwr small{font-size:12px;color:var(--muted);margin-left:2px;font-weight:400}
.station .conn{font-family:'JetBrains Mono', monospace;font-size:11px;letter-spacing:.12em;color:var(--ink-2);text-transform:uppercase}
.station .status{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line-2);border-radius:999px;font-family:'JetBrains Mono', monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--moss);justify-self:end}
.station .status .d{width:6px;height:6px;border-radius:50%;background:var(--moss);box-shadow:0 0 0 0 var(--moss);animation:dotPulse 2s infinite}
[data-theme="dark"] .station .status .d{background:var(--lime);animation:dotPulseDark 2s infinite}
.station.hq .status{color:var(--forest);border-color:var(--forest)}
[data-theme="dark"] .station.hq .status{color:var(--lime);border-color:rgba(184,232,64,.5)}
.station.hq .city em.tag{display:inline-block;margin-left:8px;font-family:'JetBrains Mono', monospace;font-size:9px;padding:2px 6px;border:1px solid var(--line-2);border-radius:4px;letter-spacing:.18em;color:var(--moss);font-style:normal;vertical-align:middle;text-transform:uppercase}

/* upcoming grid */
.upcoming{padding:140px 32px;background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.upcoming-grid{margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.up{padding:32px 28px;min-height:160px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.up .city{font-size:24px;letter-spacing:-.02em;font-weight:500;color:var(--ink);line-height:1.1}
.up .city em{color:var(--forest);font-weight:400}
.up .when{font-family:'JetBrains Mono', monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--moss);margin-top:8px}
.up .state{font-family:'JetBrains Mono', monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

@media (max-width:1024px){
  .net-stats .container{grid-template-columns:1fr 1fr}
  .net-stat{border-left:none !important;padding-left:0 !important}
  .net-stat:nth-child(even){border-left:1px solid var(--line) !important;padding-left:24px !important}
  .constellation .container{grid-template-columns:1fr;gap:40px}
  .station{grid-template-columns:32px 1fr;gap:18px}
  .station > *:nth-child(n+3){grid-column:span 2;padding-left:50px}
  .station .status{justify-self:start}
  .upcoming-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .upcoming-grid{grid-template-columns:1fr}
}
@media (max-width: 1024px){
  section{padding:110px 24px}
  .nav-links{display:none}
  .nav-cta{display:none}
  .nav-menu-btn{display:flex}
  .mobile-menu{display:flex}
  .sec-head{grid-template-columns:1fr;gap:30px}
  .page-hero{padding-top:170px;padding-bottom:80px}
  .page-hero h1{font-size:clamp(54px, 13vw, 110px)}
  .ft-top{grid-template-columns:1fr 1fr;gap:48px}
  .ft-brand{grid-column:span 2}
  .ft-base{flex-direction:column;align-items:flex-start}
  .ft-base .links{flex-wrap:wrap;gap:18px}
}
@media (max-width: 640px){
  section{padding:90px 20px}
  .nav{padding:10px 14px}
  .nav-wrap{padding:14px}
  .nav-wrap.scrolled{padding:10px 14px}
  .nav-wrap.scrolled .nav{padding:7px 7px 7px 16px}
  .nav-logo-img{height:30px}
  .ft-top{grid-template-columns:1fr;gap:36px}
  .ft-brand{grid-column:span 1}
  .ft-brand p{font-size:13px}
  .ft-brand .addr-block .v{font-size:12px}
  .site-footer{padding:60px 20px 0}
  .ft-wordmark{padding:0 20px;margin-top:56px}
  .ft-wordmark-logo{width:min(100%,94vw)}
  [data-theme="light"] .ft-wordmark{max-width:calc(100% - 40px);padding:22px 20px 18px}
  .ft-news .input-row{flex-wrap:wrap;padding:6px}
  .ft-news input{min-width:160px}
  .ft-base{font-size:10px}
  .ft-base .links{gap:14px}
  .btn{padding:12px 16px;font-size:13px}
  .site-call{right:18px;bottom:18px;width:52px;height:52px}
  .site-call svg{width:20px;height:20px}
  .marquee{padding:14px 0}
  .marquee-track{gap:36px;font-size:11px}
  .page-hero{padding:160px 20px 80px}
  .page-hero[data-bg-boxes]{min-height:auto !important;padding-bottom:80px !important}
  .page-hero h1{font-size:clamp(44px,11vw,84px)}
  .page-hero .ph-line{height:48px;margin-bottom:24px}
  .page-hero .lede{font-size:16px;margin-top:32px;max-width:42ch}
  .page-hero .ph-cue{margin-top:48px}
  .legal-modal{padding:14px}
  .legal-modal__panel{padding:22px 18px;border-radius:16px}
  .legal-modal__title{font-size:24px}
  .legal-modal__body p,.legal-modal__body li{font-size:14px}
  .mobile-menu a{font-size:26px;padding:14px 0}
  .mobile-menu{padding:80px 20px 32px}
  h1{font-size:clamp(48px, 12vw, 110px)}
  h2{font-size:clamp(36px, 9vw, 80px)}
  h3{font-size:clamp(20px, 5.4vw, 28px)}
  .eyebrow{font-size:11px}
}
@media (max-width: 400px){
  section{padding:80px 16px}
  .nav-wrap{padding:10px}
  .nav{padding:8px 12px}
  .nav-logo-img{height:26px}
  .page-hero{padding:150px 16px 72px}
  .page-hero h1{font-size:clamp(40px,12vw,72px)}
  .page-hero .lede{font-size:15px}
  .site-footer{padding:48px 16px 0}
  .ft-wordmark{padding:0 16px}
  .marquee-track{gap:28px;font-size:10px}
  h1{font-size:clamp(40px, 13vw, 88px)}
  h2{font-size:clamp(30px, 10vw, 64px)}
}

/* ===== ACETERNITY BACKGROUND BOXES — page heroes ===== */
.page-hero[data-bg-boxes]{
  isolation:isolate;
  background:var(--hero-box-bg);
  --hero-box-bg:var(--bg);
  --hero-box-border:rgba(59,107,52,.18);
  --hero-box-plus:rgba(59,107,52,.28);
  --hero-box-hover-1:rgba(59,107,52,.26);
  --hero-box-hover-2:rgba(27,58,34,.18);
  --hero-box-hover-3:rgba(184,232,64,.28);
  --hero-box-shadow:rgba(59,107,52,.14);
}
.page-hero[data-bg-boxes] h1,
.page-hero[data-bg-boxes] .lede{
  color:var(--ink);
}
.page-hero[data-bg-boxes] h1 em{
  color:var(--forest);
}
[data-theme="dark"] .page-hero[data-bg-boxes]{
  --hero-box-bg:#000000;
  --hero-box-border:rgba(148,163,184,.16);
  --hero-box-plus:rgba(148,163,184,.24);
  --hero-box-hover-1:rgba(184,232,64,.8);
  --hero-box-hover-2:rgba(168,216,69,.56);
  --hero-box-hover-3:rgba(59,107,52,.5);
  --hero-box-shadow:rgba(184,232,64,.18);
}
[data-theme="dark"] .page-hero[data-bg-boxes] h1,
[data-theme="dark"] .page-hero[data-bg-boxes] .lede{
  color:#f8fafc;
}
[data-theme="dark"] .page-hero[data-bg-boxes] h1 em{
  color:var(--lime);
}
.page-hero[data-bg-boxes] .ph-eye,
.page-hero[data-bg-boxes] .ph-cue{
  color:var(--muted);
}
.page-hero[data-bg-boxes] .ph-line,
.page-hero[data-bg-boxes] .ph-cue .arr{
  background:var(--line-2);
}
[data-theme="dark"] .page-hero[data-bg-boxes] .ph-eye,
[data-theme="dark"] .page-hero[data-bg-boxes] .ph-cue{
  color:rgba(226,232,240,.78);
}
[data-theme="dark"] .page-hero[data-bg-boxes] .ph-line,
[data-theme="dark"] .page-hero[data-bg-boxes] .ph-cue .arr{
  background:rgba(148,163,184,.38);
}
.page-hero[data-bg-boxes] .container{
  position:relative;
  z-index:20;
  pointer-events:auto;
}
.hero-bg-boxes{
  position:absolute;
  inset:0;
  overflow:hidden;
  z-index:0;
  background:var(--hero-box-bg);
}
.hero-bg-boxes__mask{
  position:absolute;
  inset:0;
  z-index:20;
  pointer-events:none;
  background:var(--hero-box-bg);
  display:none;
}
.hero-bg-boxes__root{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
}
.hero-bg-boxes__grid{
  position:absolute;
  top:50%;
  left:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  height:380%;
  width:420%;
  padding:16px;
  transform:translate(-50%, -50%) skewX(-48deg) skewY(14deg) scale(0.82) rotate(0deg) translateZ(0);
  transform-origin:center center;
  pointer-events:auto;
}
.hero-bg-boxes__row{
  position:relative;
  display:flex;
  flex-direction:column;
  width:64px;
  flex-shrink:0;
  border-left:1px solid var(--hero-box-border);
}
.hero-bg-boxes__cell{
  position:relative;
  width:64px;
  height:32px;
  border-top:1px solid var(--hero-box-border);
  border-right:1px solid var(--hero-box-border);
  transition:background-color .28s ease, box-shadow .28s ease;
}
.hero-bg-boxes__cell .hero-box-plus{
  pointer-events:none;
  position:absolute;
  left:-22px;
  top:-14px;
  width:40px;
  height:24px;
  color:var(--hero-box-plus);
  stroke-width:1px;
}
[data-theme="dark"] .page-hero[data-bg-boxes] .hero-bg-boxes__cell{
  border-top-color:var(--hero-box-border);
  border-right-color:var(--hero-box-border);
}
@media (max-width:1024px){
  .hero-bg-boxes__cell{width:52px;height:26px}
  .hero-bg-boxes__row{width:52px}
  .hero-bg-boxes__grid{
    top:50%;
    left:50%;
    transform:translate(-50%, -50%) skewX(-48deg) skewY(14deg) scale(0.74) rotate(0deg) translateZ(0);
  }
}
@media (max-width:640px){
  .hero-bg-boxes__cell{width:44px;height:22px}
  .hero-bg-boxes__row{width:44px}
  .hero-bg-boxes__grid{
    top:50%;
    left:50%;
    transform:translate(-50%, -50%) skewX(-48deg) skewY(14deg) scale(0.66) rotate(0deg) translateZ(0);
  }
}

/* ===== Legal pages ===== */
.legal-hero{
  padding:160px 32px 64px;
  border-bottom:1px solid var(--line);
  text-align:center;
}
.legal-hero .container{max-width:900px}
.legal-hero__eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--moss);
  margin-bottom:16px;
}
[data-theme="dark"] .legal-hero__eyebrow{color:var(--lime)}
.legal-hero h1{
  font-size:clamp(36px,6vw,64px);
  letter-spacing:-.03em;
  font-weight:400;
  line-height:1.05;
  margin:0;
  color:var(--ink);
}
.legal-hero__updated{margin-top:16px;font-size:14px;color:var(--muted)}
.legal-doc{padding:72px 32px 140px}
.legal-doc__inner{max-width:780px;margin:0 auto}
.legal-doc h2{
  font-size:clamp(22px,3vw,30px);
  letter-spacing:-.02em;
  font-weight:500;
  margin:56px 0 16px;
  color:var(--ink);
}
.legal-doc h2:first-child{margin-top:0}
.legal-doc h3{
  font-size:18px;
  font-weight:500;
  margin:32px 0 12px;
  letter-spacing:-.01em;
  color:var(--ink);
}
.legal-doc p{
  font-size:15px;
  line-height:1.7;
  color:var(--ink-2);
  margin:0 0 16px;
}
.legal-doc ol,.legal-doc ul{
  margin:0 0 20px;
  padding-left:24px;
  color:var(--ink-2);
}
.legal-doc li{
  font-size:15px;
  line-height:1.65;
  margin:10px 0;
}
.legal-doc a{color:var(--forest)}
[data-theme="dark"] .legal-doc a{color:var(--lime)}
@media (max-width:640px){
  .legal-hero{padding:130px 20px 48px}
  .legal-doc{padding:48px 20px 100px}
  .legal-doc h2{margin-top:40px;font-size:20px}
}
