
/* ── FONTS ─────────────────────────────────────── */
@font-face{font-family:'Fauna';src:url('./fonts/Fauna Thin.ttf') format('truetype');font-weight:100;font-style:normal}
@font-face{font-family:'Fauna';src:url('./fonts/Fauna Light.ttf') format('truetype');font-weight:300;font-style:normal}
@font-face{font-family:'Fauna';src:url('./fonts/Fauna Regular.ttf') format('truetype');font-weight:400;font-style:normal}
@font-face{font-family:'Fauna';src:url('./fonts/Fauna Medium.ttf') format('truetype');font-weight:500;font-style:normal}
@font-face{font-family:'Fauna';src:url('./fonts/Fauna Bold.ttf') format('truetype');font-weight:700;font-style:normal}
@font-face{font-family:'HN';src:url('./fonts/HelveticaNeue Thin.ttf') format('truetype');font-weight:100;font-style:normal}
@font-face{font-family:'HN';src:url('./fonts/HelveticaNeueLt.ttf') format('truetype');font-weight:300;font-style:normal}
@font-face{font-family:'HN';src:url('./fonts/HelveticaNeue.ttf') format('truetype');font-weight:400;font-style:normal}
@font-face{font-family:'HN';src:url('./fonts/HelveticaNeueMed.ttf') format('truetype');font-weight:500;font-style:normal}
@font-face{font-family:'HN';src:url('./fonts/HelveticaNeueBd.ttf') format('truetype');font-weight:700;font-style:normal}
@font-face{font-family:'HN';src:url('./fonts/HelveticaNeueHv.ttf') format('truetype');font-weight:800;font-style:normal}
@font-face{font-family:'HNC';src:url('./fonts/Helvetica Neue 67 Medium Condensed.otf') format('opentype');font-weight:500;font-style:normal}
@font-face{font-family:'HNC';src:url('./fonts/Helvetica Neue 97 Black Condensed.otf') format('opentype');font-weight:900;font-style:normal}
@font-face{font-family:'HNC';src:url('./fonts/Helvetica Neue Condensed Bold.ttf') format('truetype');font-weight:700;font-style:normal}

/* ── TOKENS ─────────────────────────────────────── */
:root{
  --bg:#000205;
  --surface:#030810;
  --card:#060d1a;
  --teal:#59C0D1;
  --td:rgba(89,192,209,.08);
  --tg:rgba(89,192,209,.18);
  --tline:rgba(89,192,209,.22);
  --text:#b8cedd;
  --text-hi:#ddedf5;
  --muted:#a4abab;
  --dim:#0a1624;
  --border:rgba(255,255,255,.055);
  --bhi:rgba(89,192,209,.2);
  --r:5px;
}

/* ── SHARED PATTERNS ──────────────────────────────── */

/* Inner-page hero section (standard 52vh) */
.page-hero{position:relative;min-height:52vh;display:flex;align-items:center;overflow:hidden;padding:140px 0 80px}

/* Inner-page hero containers */
.hero-inner{position:relative;z-index:3;max-width:720px}
.hero-inner-sm{position:relative;z-index:3;max-width:680px}

/* Hero kicker — margin only; full style from .eyebrow already on the element */
.kicker{margin-bottom:24px}

/* Standard inner-page hero title */
.page-hero-title{font-family:'Fauna',sans-serif;font-weight:700;font-size:clamp(36px,5.5vw,64px);line-height:.96;letter-spacing:-.04em;color:#fff;margin-bottom:28px}

/* Inner-page hero body text */
.page-hero-body{font-family:'HN',sans-serif;font-weight:300;font-size:16px;color:var(--muted);line-height:1.8;margin-bottom:20px}
.page-hero-body-lg{font-family:'HN',sans-serif;font-weight:300;font-size:17px;color:var(--muted);line-height:1.75;margin-bottom:20px}

/* Section containers */
.section-surface{padding:100px 0;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section-bg{padding:100px 0;background:var(--bg)}

/* Card base — shared background, border, radius, transition */
.card-base{background:var(--card);border:1px solid var(--border);border-radius:8px;transition:border-color .25s,background .25s}
.card-base:hover{background:#0a1728;border-color:var(--tline)}

/* Teal bordered action-link button */
.btn-action{font-family:'HNC',sans-serif;font-weight:700;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);text-decoration:none;border:1px solid var(--tline);padding:8px 20px;border-radius:var(--r);transition:background .2s,box-shadow .2s;white-space:nowrap}
.btn-action:hover{background:var(--td);box-shadow:0 0 20px var(--tg)}

/* Category / type label */
.type-label{font-family:'HNC',sans-serif;font-weight:500;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}

/* Card item title */
.card-title{font-family:'Fauna',sans-serif;font-weight:700;color:#fff;letter-spacing:-.02em}

/* Card description body */
.card-body{font-family:'HN',sans-serif;font-weight:300;color:var(--muted)}

/* Hover gradient top-line (::before) — thesis-card and ihs-item */
.hover-glow::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--teal),transparent);opacity:0;transition:opacity .3s}
.hover-glow:hover::before{opacity:.5}
/* pf-card always shows a partial gradient line (not hover-only) */
.pf-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--teal),transparent);opacity:var(--hover-fade,.5);transition:opacity .3s}
.pf-card:hover::before{opacity:var(--hover-fade,.6)}
/* kpi-card uses ::after */
.kpi-card::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--teal),transparent);opacity:0;transition:opacity .3s}
.kpi-card:hover::after{opacity:.5}

/* ── CONSOLIDATED COMPONENTS ───────────────────── */
.badge-pill{display:inline-flex;align-items:center;gap:10px;padding:7px 18px;border-radius:100px;background:var(--td);border:1px solid var(--tline);font-family:'HNC',sans-serif;font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal)}
.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 6px var(--teal);animation:cpulse 2s ease-in-out infinite;flex-shrink:0}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:'HNC',sans-serif;font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal)}
.eyebrow-line{width:24px;height:1px;background:var(--teal);opacity:.6;flex-shrink:0}
.card-hover{position:relative;overflow:hidden;transition:background .25s}
.card-hover::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--teal),transparent);opacity:0;transition:opacity .3s}
.card-hover:hover{background:#0a1728}
.card-hover:hover::before{opacity:var(--hover-fade,.5)}
.dot-icon{width:20px;height:20px;flex-shrink:0;background:url('./imgs/Transparent BG Logo 256x256.png') center/contain no-repeat;opacity:var(--dot-opacity,.5)}

/* ── RESET ──────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'HN',Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.65;font-weight:400}

/* ── NAV ─────────────────────────────────────────── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;height:68px;
  display:flex;align-items:center;justify-content:space-between;padding:0 52px;
  background:rgba(0,2,5,.6);backdrop-filter:blur(20px) saturate(1.2);
  border-bottom:1px solid var(--border);
  transition:opacity .4s ease,transform .4s ease;
  will-change:opacity;
}
.nav-logo{display:flex;align-items:center;gap:11px;text-decoration:none}
.nav-logo img{height:34px;width:auto}
.nav-logo-text{font-family:'Fauna',sans-serif;font-weight:700;font-size:16px;
  letter-spacing:-.01em;color:#fff; padding-top: 7px;}
.nav-logo-text strong {
    font-weight: 700;
    color: var(--teal);
}
.nav-right{display:flex;align-items:center;gap:28px;list-style:none}
.nav-right a{
  font-family:'HN',sans-serif;font-weight:450;font-size:13.5px;
  color:rgba(255,255,255,.38);text-decoration:none;letter-spacing:.01em;
  transition:color .2s}
.nav-right a:hover{color:rgba(255,255,255,.85)}
.nav-cta{
  font-family:'HN',sans-serif;font-weight:500;font-size:13.5px;
  border:1px solid var(--tline);color:var(--teal);
  padding:9px 22px;border-radius:var(--r);text-decoration:none;
  letter-spacing:.02em;transition:background .2s,box-shadow .2s}
.nav-cta:hover{background:var(--td);box-shadow:0 0 20px var(--tg);color:var(--teal) !important}

/* Hamburger toggle button — visible only on mobile */
.nav-toggle{
  display:none;flex-direction:column;justify-content:center;align-items:center;
  gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;
  padding:4px;z-index:201}
.nav-toggle span{
  display:block;width:22px;height:2px;background:#fff;border-radius:2px;
  transition:transform .3s ease,opacity .3s ease}
/* Hamburger icon lines */
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile nav overlay */
@media(max-width:768px){
  .nav-toggle{display:flex}
  .nav-right{
    position:fixed;top:68px;left:0;right:0;height:calc(100vh - 68px);
    flex-direction:column;align-items:center;justify-content:center;
    gap:32px;background:#000205;
    transform:translateX(100%);transition:transform .35s ease;
    z-index:199}
  .nav-right.open{transform:translateX(0)}
  .nav-right a{font-size:18px;color:rgba(255,255,255,.7)}
  .nav-cta{padding:14px 32px;font-size:16px}
}

/* ── HERO ────────────────────────────────────────── */
.hero{
  position:relative;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;
  overflow:hidden;text-align:center;padding-top:68px}

/* Background: star drift */
#star-canvas{position:absolute;inset:0;z-index:0;pointer-events:none}

/* Constellation stage — scroll-animated */
#constellation-stage{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  display:flex;align-items:center;justify-content:center;
  transform-origin:center center;
  transition:transform .05s linear,opacity .05s linear}
#constellation-canvas{width:100%;height:100%;display:block}

/* Radial vignette so text stays readable */
.hero-vignette{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(ellipse 80% 70% at 50% 50%,transparent 20%,rgba(0,2,5,.7) 65%,rgba(0,2,5,.92) 100%)}

/* Hero text content */
.hero-content{position:relative;z-index:3;padding:0 40px;max-width:1100px;margin:auto 0}
.hero-chip{margin-bottom:36px}
.hero-chip .badge-pill{margin-bottom:0}
.hero-chip .badge-dot{width:5px;height:5px}
@keyframes cpulse{0%,100%{opacity:1}50%{opacity:.15}}

.hero-h1{
  font-family:'Fauna',sans-serif;font-weight:200;
  font-size:clamp(50px,8vw,68px);line-height:.81;
  letter-spacing:-.04em;color:#fff;margin-bottom:22px;
  }
.hero-h1 span{color:var(--teal)}

/* Thin signature bar — the "signal line" */
.hero-bar{
  width:160px;height:1px;margin:28px auto;
  background:linear-gradient(90deg,transparent,var(--teal),transparent);
  position:relative}
.hero-bar::after{
  content:'';position:absolute;top:-4px;left:10%;right:10%;height:9px;
  background:inherit;filter:blur(8px);opacity:.4}

.hero-sub{
  font-family:'HN',sans-serif;font-weight:450;font-size:18px;
  color:#e2e8f0;max-width:580px;margin:0 auto 44px;line-height:1.75}

.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn-teal{
  background:var(--teal);color:#000205;padding:14px 30px;border-radius:var(--r);
  font-family:'HN',sans-serif;font-size:14px;font-weight:500;text-decoration:none;
  letter-spacing:.02em;box-shadow:0 0 32px rgba(89,192,209,.22);
  transition:opacity .2s,transform .15s}
.btn-teal:hover{opacity:.88;transform:translateY(-2px)}
.btn-ghost{
  background:transparent;color:var(--text-hi);padding:13px 28px;border-radius:var(--r);
  font-family:'HN',sans-serif;font-size:14px;font-weight:400;text-decoration:none;
  border:1px solid var(--border);letter-spacing:.01em;transition:border-color .2s,color .2s}
.btn-ghost:hover{border-color:rgba(255,255,255,.16);color:#fff}

/* ── SECTION SHARED ──────────────────────────────── */
.section{padding:100px 0}
.wrap{max-width:1160px;margin:0 auto;padding:0 56px}
.section-eyebrow{margin-bottom:14px}
.section-eyebrow .eyebrow{margin-bottom:0}
.ey-line{width:24px;height:1px;background:var(--teal);opacity:.6}
.section-h2{
  font-family:'Fauna',sans-serif;font-weight:700;
  font-size:clamp(32px,4.5vw,46px);line-height:.96;
  letter-spacing:-.035em;color:#fff;margin-bottom:52px}
.section-rule{border:none;border-top:1px solid var(--border);margin:0 56px}

/* ── STATS STRIP + ABOUT (Drift structure, v3 palette + fonts) ── */
.stats-strip{
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  background:var(--surface);
  display:grid;grid-template-columns:repeat(4,1fr)}
.ss-stat{padding:56px 40px;text-align:center;border-right:1px solid var(--border)}
.ss-stat:last-child{border-right:none}
.ss-val{
  font-family:'Fauna',sans-serif;font-weight:300;
  font-size:52px;letter-spacing:-.05em;line-height:1;
  color:#fff;margin-bottom:10px}
.ss-val strong{font-weight:700;color:var(--teal)}
.ss-label{
  font-family:'HNC',sans-serif;font-weight:530;font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);line-height:1.5}
.about-inner{
  max-width:1160px;margin:0 auto;padding:0 56px;
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.about-left h2{
  font-family:'Fauna',sans-serif;font-weight:700;
  font-size:clamp(28px,3.5vw,46px);letter-spacing:-.035em;
  color:#fff;line-height:1.06;margin-bottom:22px}
.about-body{
  font-family:'HN',sans-serif;font-weight:300;font-size:15px;
  color:var(--muted);line-height:1.8;margin-bottom:16px}
.about-body:last-of-type{margin-bottom:0}
.about-body strong{color:var(--text-hi);font-weight:500}
.about-right{display:flex;flex-direction:column;gap:1px;
  border:1px solid var(--border);border-radius:8px;overflow:hidden}
.about-card{background:var(--card);padding:22px 24px;border-bottom:1px solid var(--border);transition:background .2s}
.about-card:last-child{border-bottom:none}
.about-card:hover{background:#0a1728}
.ac-val{
  font-family:'Fauna',sans-serif;font-weight:300;
  font-size:30px;letter-spacing:-.04em;color:#fff;margin-bottom:4px}
.ac-val strong{font-weight:700;color:var(--teal)}
.ac-key{
  font-family:'HNC',sans-serif;font-weight:600;font-size:9.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.ac-body{
  font-family:'HN',sans-serif;font-weight:300;font-size:13px;
  color:var(--muted);margin-top:5px;line-height:1.55}

/* ── SOLUTION SECTION (story structure, v3 palette + fonts) ── */
/* 2-col header: eyebrow+title left, intro prose right */
.product-header{
  display:grid;grid-template-columns:1fr 1fr;gap:80px;
  align-items:start;margin-bottom:56px}
.ph-body-text{font-family:'HN',sans-serif;font-weight:300;font-size:15px;
  color:var(--muted);line-height:1.8;margin-bottom:16px}
.ph-body-text:last-child{margin-bottom:0}
/* 3-card feature grid */
.product-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--border);border:1px solid var(--border);
  border-radius:8px;overflow:hidden}
.pf-card{background:var(--card);padding:40px 36px;position:relative;overflow:hidden;transition:background .25s}
.pf-card:hover{background:#0a1728}
.pf-card:hover::before{opacity:var(--hover-fade,.6)}
.pf-num{font-family:'HNC',sans-serif;font-weight:500;font-size:10px;
  letter-spacing:.14em;color:var(--muted);margin-bottom:14px}
.pf-title{font-family:'Fauna',sans-serif;font-weight:700;font-size:20px;
  color:#fff;margin-bottom:12px;line-height:1.2;letter-spacing:-.02em}
.pf-body{font-family:'HN',sans-serif;font-weight:300;font-size:13.5px;
  color:var(--muted);line-height:1.72}
.pf-callout{display:inline-block;margin-top:18px;
  font-family:'HNC',sans-serif;font-weight:500;font-size:9.5px;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal);border-bottom:1px solid var(--tline);padding-bottom:2px}
/* Image + key advantages on same row */
.solution-row{margin-top:64px;display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:stretch}
.solution-banner{line-height:0;border-radius:8px;overflow:hidden;background-color:var(--card);border:1px solid var(--border);}
.solution-banner-img{width:100%;height:100%;display:block;object-fit:cover;}
/* Specs block: full-width table */
.specs-block{
  margin-top:72px;padding-top:56px;border-top:1px solid var(--border)}
.specs-block h3{font-family:'Fauna',sans-serif;font-weight:700;font-size:22px;
  color:#fff;letter-spacing:-.025em;margin-bottom:6px}
.specs-sub{font-family:'HN',sans-serif;font-weight:300;font-size:13px;
  font-style:italic;color:var(--muted);margin-bottom:28px}
.specs-table{width:100%;border-collapse:collapse}
.specs-table td{padding:13px 0;border-bottom:1px solid var(--border);
  font-size:13.5px;vertical-align:top}
.specs-table td:first-child{font-family:'HN',sans-serif;font-weight:500;
  color:var(--muted);width:52%;padding-right:20px}
.specs-table td:last-child{font-family:'HN',sans-serif;font-weight:400;
  color:var(--text-hi)}
.specs-table tr:last-child td{border-bottom:none}
.specs-aside{background:var(--card);border:1px solid var(--border);
  border-radius:8px;padding:28px}
.sa-label{font-family:'HNC',sans-serif;font-weight:500;font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:18px}
.sa-items{display:flex;flex-direction:column;gap:16px}
.sa-item{display:flex;gap:12px;align-items:flex-start}
.sa-dot{margin-top:2px}
.sa-strong{display:block;font-family:'HN',sans-serif;font-weight:500;
  font-size:13.5px;color:var(--text-hi);margin-bottom:3px}
.sa-desc{font-family:'HN',sans-serif;font-weight:300;font-size:12px;
  color:var(--muted);line-height:1.5}

/* ── CONTACT SECTION (story structure, v3 palette + fonts) ── */
.contact-inner{max-width:1160px;margin:0 auto;padding:0 56px;
  display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:start}
/* Left: eyebrow with line rule, title, body, contact info */
.cl-eyebrow{margin-bottom:14px}
.cl-eyebrow .eyebrow{margin-bottom:0}
.cl-eyebrow .eyebrow-line{width:20px}
.cl-title{font-family:'Fauna',sans-serif;font-weight:700;
  font-size:clamp(26px,3vw,40px);line-height:1.08;
  letter-spacing:-.035em;color:#fff;margin-bottom:16px}
.cl-body{font-family:'HN',sans-serif;font-weight:300;font-size:14px;
  color:var(--muted);line-height:1.8;margin-bottom:24px}
.cl-info{display:flex;flex-direction:column;gap:10px}
.ci-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.ci-dot{opacity:.45}
/* Right: form — individual stacked fields, no side-by-side grid */
.contact-form{display:flex;flex-direction:column;gap:14px}
.form-field label{font-family:'HNC',sans-serif;font-weight:500;font-size:9.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  display:block;margin-bottom:7px}
.form-field input,.form-field textarea{
  width:100%;background:var(--card);border:1px solid var(--border);
  border-radius:var(--r);padding:12px 15px;
  font-family:'HN',sans-serif;font-size:14px;font-weight:300;color:var(--text-hi);
  outline:none;transition:border-color .2s;resize:none}
.form-field input:focus,.form-field textarea:focus{border-color:var(--bhi)}
.form-field textarea{min-height:100px}
.form-field input::placeholder,.form-field textarea::placeholder{
  color:var(--muted);font-weight:300}
.form-submit{background:var(--teal);color:#000205;border:none;padding:14px;
  border-radius:var(--r);
  font-family:'HN',sans-serif;font-size:14px;font-weight:500;
  letter-spacing:.04em;cursor:pointer;
  box-shadow:0 0 28px rgba(89,192,209,.2);
  transition:opacity .2s,box-shadow .2s}
.form-submit:hover{opacity:.88;box-shadow:0 4px 40px rgba(89,192,209,.32)}

/* ── FOOTER ──────────────────────────────────────── */
.footer-cta{
  background:var(--surface);padding:72px 0;
  border-top:1px solid var(--border)}
.fcta-inner{max-width:1160px;margin:0 auto;padding:0 56px;
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.fcta-left h3{
  font-family:'Fauna',sans-serif;font-weight:700;
  font-size:clamp(28px,4vw,52px);line-height:.96;
  letter-spacing:-.04em;color:#fff;margin-bottom:16px}
.fcta-left p{font-family:'HN',sans-serif;font-weight:300;font-size:15px;
  color:var(--muted);margin-bottom:10px}
.fcta-email{font-family:'HN',sans-serif;font-weight:400;font-size:14px;color:var(--teal)}
.fcta-right h4{
  font-family:'HNC',sans-serif;font-weight:500;font-size:10px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.email-form{display:flex;gap:0}
.email-in{
  flex:1;background:var(--card);border:1px solid var(--border);border-right:none;
  border-radius:var(--r) 0 0 var(--r);padding:13px 16px;
  font-family:'HN',sans-serif;font-size:13.5px;font-weight:300;color:var(--text-hi);
  outline:none;transition:border-color .2s}
.email-in:focus{border-color:var(--bhi)}
.email-in::placeholder{color:var(--muted)}
.email-sb{
  background:var(--teal);color:#000205;border:none;
  padding:13px 24px;border-radius:0 var(--r) var(--r) 0;
  font-family:'HNC',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.12em;text-transform:uppercase;cursor:pointer;
  transition:opacity .2s;white-space:nowrap}
.email-sb:hover{opacity:.88}

.footer-main{background:#000000;border-top:1px solid rgba(255,255,255,.06);padding:64px 0 0}
.footer-grid{max-width:1160px;margin:0 auto;padding:0 56px 56px;
  display:grid;grid-template-columns:220px repeat(4,1fr);gap:40px 32px;
  border-bottom:1px solid rgba(255,255,255,.06)}
.fg-brand{}
.fg-brand img{height:32px;width:auto;margin-bottom:20px;filter:brightness(0) invert(.7)}
.fg-brand p{font-family:'HN',sans-serif;font-weight:300;font-size:12.5px;
  color:rgba(255,255,255,.3);line-height:1.65;max-width:180px}
.fg-social{margin-top:16px}
.fg-social-link{
  display:inline-flex;align-items:center;gap:7px;
  font-family:'HNC',sans-serif;font-weight:700;font-size:10px;
  color:rgba(255,255,255,.25);text-decoration:none;letter-spacing:.06em;
  text-transform:uppercase;transition:color .2s}
.fg-social-link svg{width:14px;height:14px;flex-shrink:0}
.fg-social-link:hover{color:rgba(255,255,255,.6)}
.fg-col-title{
  font-family:'HNC',sans-serif;font-weight:700;font-size:10px;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);
  margin-bottom:18px}
.fg-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.fg-col a{
  font-family:'HN',sans-serif;font-weight:300;font-size:12.5px;
  color:rgba(255,255,255,.28);text-decoration:none;
  letter-spacing:.01em;transition:color .2s}
.fg-col a:hover{color:rgba(255,255,255,.7)}

.footer-base{max-width:1160px;margin:0 auto;
  padding:24px 56px;display:flex;align-items:center;justify-content:space-between}
.fb-logo{display:flex;align-items:center;gap:8px;text-decoration:none}
.fb-logo img{height:22px;filter:brightness(0) invert(.5)}
.fb-copy{font-family:'HN',sans-serif;font-weight:300;font-size:11.5px;
  color:rgba(255,255,255,.2);letter-spacing:.01em}
.fb-links{display:flex;gap:20px;list-style:none}
.fb-links a{font-family:'HN',sans-serif;font-weight:400;font-size:11.5px;
  color:rgba(255,255,255,.22);text-decoration:none;letter-spacing:.04em;
  text-transform:uppercase;transition:color .2s}
.fb-links a:hover{color:rgba(255,255,255,.6)}

/* ── GLOBE (adapted from dashboard, v3 teal palette) ── */
.globe-wrap{
  position:relative;z-index:3;flex-shrink:0;
  width:min(400px,58vmin);height:min(400px,58vmin);
  margin-bottom:28px;
  transform-origin:center center;
  transition:transform .05s linear}
.globe-container{width:100%;height:100%}
.globe-svg{width:100%;height:100%;display:block;overflow:visible}
/* Orbit ellipse paths — visual guide only, satellites driven by JS */
.orbit-path{fill:none;stroke-dasharray:4 8}
/* Connection lines — opacity set entirely by JS */
.conn-line{fill:none;stroke:#59C0D1;stroke-width:1.4;stroke-dasharray:4 7;stroke-opacity:.75;opacity:0}

/* ── ABOUT PAGE ──────────────────────────────────── */
.about-hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;overflow:hidden;
  padding:120px 0 88px}
/* #star-canvas and .hero-vignette work inside .about-hero via style.css
   position:absolute;inset:0 rules — no extra declarations needed */
.ah-inner{
  position:relative;z-index:3;
  display:grid;grid-template-columns:1.25fr 0.75fr;gap:80px;align-items:center}
.ah-title{
  font-family:'Fauna',sans-serif;font-weight:700;
  font-size:clamp(48px,7vw,88px);line-height:.93;
  letter-spacing:-.04em;color:#fff;margin-bottom:28px}
.ah-title em{font-style:italic;color:rgba(255,255,255,.5)}
.ah-body{
  font-family:'HN',sans-serif;font-weight:300;font-size:17px;
  color:var(--muted);line-height:1.75;max-width:520px;margin-bottom:36px}
.ah-pull{
  border-left:2px solid var(--teal);padding-left:26px;
  display:flex;flex-direction:column;gap:14px}
.ah-pull p{
  font-family:'Fauna',sans-serif;font-size:clamp(17px,2vw,22px);
  font-style:italic;color:rgba(255,255,255,.5);line-height:1.5}
.ah-pull cite{
  font-family:'HNC',sans-serif;font-weight:500;font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);font-style:normal}

/* ── TIMELINE ─────────────────────────────────────── */
.tl-layout{display:grid;grid-template-columns:1fr 360px;gap:64px;align-items:start;margin-top:52px}
.tl-images{display:flex;flex-direction:column;gap:16px;position:sticky;top:100px}
.tl-img-wrap{border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.tl-img{width:100%;height:auto;display:block;object-fit:cover}
.tl-list{
  display:flex;flex-direction:column;
  border-left:2px solid rgba(89,192,209,.18)}
.tl-item{position:relative;padding:0 0 44px 48px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{
  content:'';position:absolute;left:-6px;top:4px;
  width:10px;height:10px;border-radius:50%;
  background:var(--muted);border:2px solid var(--surface);box-sizing:border-box}
.tl-item.done::before{
  background:var(--teal);border-color:var(--teal);
  box-shadow:0 0 8px rgba(89,192,209,.4)}
.tl-item.active::before{
  background:var(--surface);border:2px solid var(--teal);
  width:14px;height:14px;left:-8px;
  box-shadow:0 0 0 4px rgba(89,192,209,.12),0 0 14px rgba(89,192,209,.3)}
.tl-item.future::before{background:var(--dim);border-color:var(--muted)}
.tl-year{
  font-family:'HNC',sans-serif;font-weight:500;font-size:11px;
  letter-spacing:.14em;color:var(--muted);margin-bottom:5px}
.tl-item.done .tl-year,
.tl-item.active .tl-year{color:var(--teal)}
.tl-event{
  font-family:'Fauna',sans-serif;font-weight:500;font-size:18px;
  color:var(--text-hi);margin-bottom:8px;letter-spacing:-.015em}
.tl-item.active .tl-event{color:#fff}
.tl-item.future .tl-event{color:var(--muted)}
.tl-detail{
  font-family:'HN',sans-serif;font-weight:300;font-size:13.5px;
  color:var(--muted);line-height:1.68;max-width:640px}

/* ── OUR PEOPLE ───────────────────────────────────── */
.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.person-card{
  perspective:1200px;cursor:pointer;height:535px;
  user-select:none;-webkit-tap-highlight-color:transparent}
.card-inner{
  position:relative;width:100%;height:100%;
  transform-style:preserve-3d;
  transition:transform .65s cubic-bezier(.4,0,.2,1)}
.person-card.flipped .card-inner{transform:rotateY(180deg)}
.card-front,
.card-back{
  position:absolute;inset:0;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border-radius:8px;border:1px solid var(--border)}
.card-front{background:var(--card);transform:rotateY(0deg)}
.person-photo{
  position:relative;width:100%;height:100%;
  overflow:hidden;border-radius:8px;
  display:flex;align-items:center;justify-content:center}
.person-initials{
  font-family:'Fauna',sans-serif;font-weight:700;
  font-size:72px;letter-spacing:-.04em;color:rgba(255,255,255,.1);
  position:relative;z-index:1;pointer-events:none}
.person-headshot{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center top;z-index:1}
.person-name-bar{
  position:absolute;bottom:0;left:0;right:0;padding:64px 22px 20px; z-index: 1;
  background:linear-gradient(to top,rgba(0,2,5,.94) 0%,rgba(0,2,5,.5) 55%,transparent 100%)}
.person-name-display{
  font-family:'Fauna',sans-serif;font-weight:700; z-index: 1;
  font-size:17px;color:#fff;letter-spacing:-.02em;display:block;margin-bottom:4px}
.person-role-display{
  font-family:'HNC',sans-serif;font-weight:500; z-index: 2;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal);display:block}
/* Flip hint icon appears on hover */
.card-front::after{
  content:'';position:absolute;top:16px;right:16px;
  width:28px;height:28px;border-radius:50%;
  background:rgba(89,192,209,.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2359C0D1' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M21 2v6h-6M3 12a9 9 0 0 1 15-6.7L21 8M3 22v-6h6M21 12a9 9 0 0 1-15 6.7L3 16'/%3E%3C/svg%3E") center/no-repeat;
  border:1px solid rgba(89,192,209,.2);
  opacity:0;transition:opacity .2s}
.person-card:hover .card-front::after{opacity:1}
.card-back{
  background:var(--card);transform:rotateY(180deg);
  border-color:var(--tline);padding:28px;display:flex;flex-direction:column}
.cb-name{
  font-family:'Fauna',sans-serif;font-weight:700;
  font-size:18px;color:#fff;letter-spacing:-.02em;margin-bottom:4px}
.cb-role{
  font-family:'HNC',sans-serif;font-weight:500;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal);padding-bottom:18px;margin-bottom:18px;
  border-bottom:1px solid var(--border)}
.cb-bio{
  font-family:'HN',sans-serif;font-weight:300;
  font-size:13px;color:var(--muted);line-height:1.7;flex:1}
.cb-flip-hint{
  margin-top:14px;text-align:center;
  font-family:'HNC',sans-serif;font-weight:500;
  font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);opacity:.45}

/* ── RESPONSIVE ──────────────────────────────────── */
@media(max-width:1100px){
  .contact-inner,.fcta-inner,.about-inner,.product-header{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .product-grid{grid-template-columns:1fr}
  .solution-row{grid-template-columns:1fr}
  .tl-layout{grid-template-columns:1fr}
  .tl-images{position:static;flex-direction:row}
  .tl-img-wrap{flex:1}
  .ah-inner{grid-template-columns:1fr}
  .ah-pull{margin-top:36px;max-width:480px}
  .people-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .people-grid{grid-template-columns:1fr}
  .person-card{height:535px}
}

/* ── INVESTORS PAGE ───────────────────────────────── */

/* Hero */
.inv-hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;overflow:hidden;
  padding:120px 0 88px}
.inv-hero-inner{
  position:relative;z-index:3;
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.inv-round-badge{
  display:inline-flex;align-items:center;gap:10px;margin-bottom:24px;
  background:rgba(89,192,209,.08);border:1px solid var(--tline);
  border-radius:100px;padding:7px 18px;
  font-family:'HNC',sans-serif;font-weight:500;font-size:11px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--teal)}
.inv-title{
  font-family:'Fauna',sans-serif;font-weight:700;
  font-size:clamp(44px,6.5vw,80px);line-height:.93;
  letter-spacing:-.04em;color:#fff;margin-bottom:22px}
.inv-sub{
  font-family:'HN',sans-serif;font-weight:300;font-size:16px;
  color:var(--muted);line-height:1.75;margin-bottom:36px;max-width:500px}
.inv-hero-stats{
  display:flex;flex-direction:column;gap:1px;
  border:1px solid var(--border);border-radius:8px;overflow:hidden}
.ihs-item{
  background:var(--card);padding:24px 28px;border-bottom:1px solid var(--border);
  position:relative;overflow:hidden;transition:background .2s}
.ihs-item:last-child{border-bottom:none}
.ihs-item:hover{background:#0a1728}
.ihs-item:hover::before{opacity:.5}
.ihs-val{
  font-family:'Fauna',sans-serif;font-weight:700;
  font-size:30px;letter-spacing:-.04em;color:#fff;line-height:1;margin-bottom:5px}
.ihs-val strong{color:var(--teal)}
.ihs-label{
  font-family:'HNC',sans-serif;font-weight:500;font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* Investment Thesis */
.thesis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.thesis-card{padding:36px;position:relative;overflow:hidden}
.thesis-card:hover::before{opacity:.6}
.thesis-num{
  font-family:'Fauna',sans-serif;font-weight:700;font-size:48px;
  color:var(--teal);opacity:.2;line-height:1;margin-bottom:14px;letter-spacing:-.04em}
.thesis-title{font-size:20px;margin-bottom:12px}
.thesis-body{font-size:13.5px;line-height:1.72}

/* Market Opportunity */
.market-inner{
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-top:52px}
/* TAM/SAM/SOM funnel bars */
.mkt-funnel{display:flex;flex-direction:column;gap:16px}
.mkt-row{display:flex;flex-direction:column;gap:8px}
.mkt-row-top{display:flex;justify-content:space-between;align-items:baseline}
.mkt-tag{
  font-family:'HNC',sans-serif;font-weight:700;font-size:9px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.mkt-row-num{
  font-family:'Fauna',sans-serif;font-weight:700;
  font-size:clamp(28px,3vw,40px);color:#fff;letter-spacing:-.04em;line-height:1}
.mkt-row-num em{font-style:normal;color:var(--teal)}
.mkt-bar-track{
  height:6px;background:rgba(255,255,255,.05);border-radius:3px;overflow:hidden}
.mkt-bar-fill{height:100%;border-radius:3px;background:var(--teal);transition:width .4s}
.mkt-desc{
  font-family:'HN',sans-serif;font-weight:300;font-size:12.5px;
  color:var(--muted);line-height:1.55;margin-top:2px}
.mkt-divider{border:none;border-top:1px solid var(--border);margin:8px 0 0}
/* Market context copy */
.mkt-context{}
.mkt-context h3{
  font-family:'Fauna',sans-serif;font-weight:700;
  font-size:clamp(26px,3vw,38px);letter-spacing:-.035em;
  color:#fff;line-height:1.08;margin-bottom:18px}
.mkt-context p{
  font-family:'HN',sans-serif;font-weight:300;font-size:14.5px;
  color:var(--muted);line-height:1.8;margin-bottom:14px}
.mkt-context p:last-child{margin-bottom:0}
.mkt-context strong{color:var(--text-hi);font-weight:500}

/* Traction / KPIs */
.kpi-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--border);border:1px solid var(--border);
  border-radius:8px;overflow:hidden;margin-top:52px}
.kpi-card{
  background:var(--card);padding:36px 32px;
  position:relative;overflow:hidden;transition:background .2s}
.kpi-card:hover{background:#0a1728}
.kpi-card:hover::after{opacity:.5}
.kpi-val{
  font-family:'Fauna',sans-serif;font-weight:700;
  font-size:44px;letter-spacing:-.045em;line-height:1;
  color:#fff;margin-bottom:8px}
.kpi-val em{font-style:normal;color:var(--teal)}
.kpi-label{
  font-family:'HNC',sans-serif;font-weight:500;font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  margin-bottom:10px}
.kpi-desc{
  font-family:'HN',sans-serif;font-weight:300;font-size:12.5px;
  color:var(--muted);line-height:1.6}

/* Growth Journey */
.growth-track{
  position:relative;margin-top:56px;
  padding-bottom:16px}
/* Horizontal rule behind nodes */
.growth-track::before{
  content:'';position:absolute;top:28px;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--teal),rgba(89,192,209,.2))}
.growth-nodes{
  display:grid;grid-template-columns:repeat(4,1fr);
  position:relative;z-index:1}
.growth-node{
  display:flex;flex-direction:column;align-items:flex-start;
  padding:0 16px 0 0}
.growth-node:first-child{padding-left:0}
.gn-dot{
  width:14px;height:14px;border-radius:50%;flex-shrink:0;
  border:2px solid var(--surface);margin-bottom:16px}
.gn-dot.done{background:var(--teal);border-color:var(--teal);box-shadow:0 0 10px rgba(89,192,209,.4)}
.gn-dot.active{
  background:var(--surface);border:2px solid var(--teal);width:18px;height:18px;
  box-shadow:0 0 0 4px rgba(89,192,209,.12),0 0 16px rgba(89,192,209,.35)}
.gn-dot.future{background:var(--dim);border-color:var(--muted)}
.gn-year{
  font-family:'HNC',sans-serif;font-weight:500;font-size:10px;
  letter-spacing:.14em;color:var(--muted);margin-bottom:5px}
.gn-event{
  font-family:'Fauna',sans-serif;font-weight:500;font-size:15px;
  color:var(--text-hi);letter-spacing:-.01em;margin-bottom:6px;line-height:1.2}
.growth-node.active .gn-event{color:#fff}
.growth-node.future .gn-event{color:var(--muted)}
.gn-detail{
  font-family:'HN',sans-serif;font-weight:300;font-size:12.5px;
  color:var(--muted);line-height:1.6}

/* Round Details */
.round-inner{
  display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start;margin-top:52px}
.round-summary{}
.round-amount{
  font-family:'Fauna',sans-serif;font-weight:700;
  font-size:clamp(52px,7vw,80px);letter-spacing:-.05em;
  color:#fff;line-height:1;margin-bottom:6px}
.round-amount em{font-style:normal;color:var(--teal)}
.round-currency{
  font-family:'HNC',sans-serif;font-weight:500;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.round-body{
  font-family:'HN',sans-serif;font-weight:300;font-size:15px;
  color:var(--muted);line-height:1.8;margin-bottom:28px}
.round-terms{display:flex;flex-direction:column;gap:1px;
  border:1px solid var(--border);border-radius:8px;overflow:hidden}
.rt-row{
  display:flex;justify-content:space-between;align-items:center;
  background:var(--card);padding:14px 20px;border-bottom:1px solid var(--border)}
.rt-row:last-child{border-bottom:none}
.rt-key{
  font-family:'HNC',sans-serif;font-weight:500;font-size:9.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rt-val{
  font-family:'HN',sans-serif;font-weight:500;font-size:13.5px;color:var(--text-hi)}
.rt-val.hi{color:var(--teal);font-family:'Fauna',sans-serif;font-weight:700;font-size:16px}
/* Use of funds */
.uof-list{display:flex;flex-direction:column;gap:14px}
.uof-item{}
.uof-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.uof-label{
  font-family:'HN',sans-serif;font-weight:500;font-size:13.5px;color:var(--text-hi)}
.uof-pct{
  font-family:'Fauna',sans-serif;font-weight:700;font-size:16px;
  color:var(--teal);letter-spacing:-.02em}
.uof-track{height:4px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden}
.uof-fill{height:100%;border-radius:2px;background:var(--teal);opacity:.7}
.uof-desc{
  font-family:'HN',sans-serif;font-weight:300;font-size:12px;
  color:var(--muted);margin-top:4px;line-height:1.5}

/* Current Investors */
.inv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.inv-card{padding:28px;display:flex;flex-direction:column;gap:16px;transition:border-color .25s,background .2s}
.inv-card:hover{background:#0a1728;border-color:var(--border-hi,rgba(255,255,255,.11))}
.inv-logo-placeholder{
  height:48px;display:flex;align-items:center}
.inv-wordmark{
  font-family:'Fauna',sans-serif;font-weight:700;font-size:18px;
  color:rgba(255,255,255,.35);letter-spacing:-.02em}
.inv-type{
  font-family:'HNC',sans-serif;font-weight:500;font-size:9.5px;
  letter-spacing:.14em;text-transform:uppercase;
  display:inline-block;padding:4px 10px;border-radius:4px;
  background:var(--td);color:var(--teal)}
.inv-name{
  font-family:'Fauna',sans-serif;font-weight:700;font-size:16px;
  color:var(--text-hi);letter-spacing:-.01em}
.inv-desc{
  font-family:'HN',sans-serif;font-weight:300;font-size:13px;
  color:var(--muted);line-height:1.65;flex:1}

/* IR CTA */
.ir-section{
  padding:100px 0;background:var(--surface);
  border-top:1px solid var(--border)}
.ir-inner{
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.ir-title{
  font-family:'Fauna',sans-serif;font-weight:700;
  font-size:clamp(32px,4.5vw,52px);letter-spacing:-.04em;
  color:#fff;line-height:.96;margin-bottom:18px}
.ir-body{
  font-family:'HN',sans-serif;font-weight:300;font-size:15px;
  color:var(--muted);line-height:1.8;margin-bottom:28px}
.ir-contact-detail{
  display:flex;align-items:center;gap:10px;
  font-size:13px;color:var(--muted);margin-bottom:8px}
.ir-contact-detail strong{color:var(--text-hi);font-weight:500}
.ir-actions{display:flex;flex-direction:column;gap:14px}
.btn-outline-teal{
  background:transparent;color:var(--teal);border:1px solid var(--tline);
  padding:14px 28px;border-radius:var(--r);
  font-family:'HN',sans-serif;font-size:14px;font-weight:500;
  text-decoration:none;letter-spacing:.02em;text-align:center;
  display:block;transition:background .2s,box-shadow .2s}
.btn-outline-teal:hover{background:var(--td);box-shadow:0 0 20px var(--tg)}
.ir-nda{
  font-family:'HNC',sans-serif;font-weight:500;font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  display:block;text-align:center;margin-top:4px}

/* ── INVESTORS PAGE RESPONSIVE ────────────────────── */
@media(max-width:1100px){
  .inv-hero-inner,.market-inner,.round-inner,.ir-inner{grid-template-columns:1fr}
  .thesis-grid{grid-template-columns:1fr 1fr}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .growth-nodes{grid-template-columns:repeat(2,1fr);gap:32px}
  .growth-track::before{display:none}
  .inv-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .thesis-grid,.kpi-grid,.inv-grid{grid-template-columns:1fr}
  .growth-nodes{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════
   MOBILE RESPONSIVE BREAKPOINTS
═══════════════════════════════════════════════════ */

/* ── Tablet / small desktop (≤ 900px) ── */
@media(max-width:900px){
  /* Reduce section padding */
  .section,.section-surface,.section-bg,.ir-section,.roles-section,.dl-section,.phase-section{padding:60px 0}

  /* Wrap padding */
  .wrap{padding:0 32px}

  /* Stats strip → 2 columns */
  .stats-strip{grid-template-columns:repeat(2,1fr)}
  .ss-stat{padding:36px 24px}
  .ss-val{font-size:40px}

  /* Hero adjustments */
  .hero-content{padding:0 28px}
  .hero-sub{font-size:16px;max-width:100%}
  .hero-btns{flex-direction:column;align-items:center}
  .btn-teal,.btn-ghost{width:100%;max-width:280px;text-align:center}

  /* Globe smaller on tablet */
  .globe-wrap{width:min(320px,70vmin);height:min(320px,70vmin)}

  /* About inner gap */
  .about-inner{gap:48px;padding:0 32px}

  /* Product header gap */
  .product-header{gap:40px;margin-bottom:40px}

  /* Specs block gap */
  .specs-block{margin-top:48px;padding-top:40px}
  .solution-row{gap:24px;margin-top:48px}

  /* Contact inner gap */
  .contact-inner{gap:48px;padding:0 32px}

  /* Footer CTA */
  .fcta-inner{padding:0 32px;gap:40px}
  .footer-grid{padding:0 32px 40px}
  .footer-base{padding:20px 32px}
}

/* ── Mobile (≤ 768px) ── */
@media(max-width:768px){
  /* Nav padding */
  nav{padding:0 24px}

  /* Hero — push content below fixed nav */
  .hero{padding-top:68px;min-height:100vh}
  .hero-content{padding:0 20px;margin-top:20px}
  .hero-h1{margin-bottom:16px}
  .hero-bar{margin:20px auto}
  .hero-sub{margin-bottom:32px}
  .globe-wrap{width:min(260px,65vmin);height:min(260px,65vmin);margin-bottom:40px}

  /* Section padding */
  .section,.section-surface,.section-bg,.ir-section,.roles-section,.dl-section,.phase-section{padding:48px 0}

  /* Wrap */
  .wrap{padding:0 20px}

  /* Stats strip cells stack on very small screens handled at 640px */
  .ss-stat{padding:28px 16px}
  .ss-val{font-size:36px}

  /* About inner */
  .about-inner{gap:32px;padding:0 20px}
  .ah-inner{gap:40px}

  /* Product header */
  .product-header{gap:28px;margin-bottom:32px}

  /* Specs block */
  .specs-block{margin-top:36px;padding-top:32px}
  .solution-row{gap:20px;margin-top:36px}

  /* Contact inner */
  .contact-inner{gap:32px;padding:0 20px}

  /* Footer */
  .fcta-inner{padding:0 20px;gap:32px}
  .footer-grid{padding:0 20px 32px}
  .footer-base{padding:16px 20px;flex-direction:column;gap:12px;text-align:center}
  .fb-links{justify-content:center}

  /* About hero / Investors hero padding */
  .about-hero,.inv-hero{padding:80px 0 56px}
}

/* ── Small mobile (≤ 640px) ── */
@media(max-width:640px){
  /* Nav */
  nav{padding:0 16px;height:60px}
  .nav-right{top:60px;height:calc(100vh - 60px)}
  .nav-logo img{height:28px}
  .nav-logo-text{font-size:14px}

  /* Hero — full mobile stack */
  .hero{min-height:640px}
  #star-canvas,#constellation-stage,.hero-vignette{inset:0 !important;top:60px !important;bottom:auto !important}
  .globe-wrap{top:60px !important}
  .hero-content{padding:0 16px;margin-top:12px}
  .hero-h1{font-size:clamp(32px,10vw,48px)}
  .hero-chip{margin-bottom:20px}
  .hero-sub{font-size:14px;line-height:1.6}
  .globe-wrap{width:min(220px,75vmin);height:min(220px,75vmin)}
  /* Stats strip → single column */
  .stats-strip{grid-template-columns:1fr}
  .ss-stat{padding:24px 20px;border-right:none;border-bottom:1px solid var(--border)}
  .ss-stat:last-child{border-bottom:none}
  .ss-val{font-size:32px}

  /* About inner */
  .about-inner{gap:28px;padding:0 16px}
  .ah-title{font-size:clamp(36px,9vw,56px);margin-bottom:20px}
  .ah-body{font-size:15px;max-width:100%}

  /* Product grid cards */
  .pf-card{padding:28px 24px}

  /* Specs table */
  .specs-table td{font-size:12px;padding:10px 0}
  .specs-table td:first-child{width:45%;padding-right:12px}

  /* Contact form */
  .contact-inner{gap:28px;padding:0 16px}

  /* Footer CTA */
  .fcta-inner{grid-template-columns:1fr;gap:28px;padding:0 16px}
  .email-form{flex-direction:column;gap:8px}
  .email-in{border-radius:var(--r);border-right:1px solid var(--border)}
  .email-sb{border-radius:var(--r);padding:14px}

  /* Footer grid → single column */
  .footer-grid{grid-template-columns:1fr;gap:28px;padding:0 16px 28px}
  .fg-brand img{height:28px}

  /* People cards */
  .people-grid{gap:16px}
  .person-card{height:auto;min-height:435px}
  .person-initials{font-size:56px}
  .card-back{padding:20px}
  .cb-name{font-size:16px}
  .cb-bio{font-size:12px;line-height:1.6}

  /* Investors hero */
  .inv-hero{padding:72px 0 48px}
  .inv-title{font-size:clamp(32px,9vw,52px)}
  .inv-sub{font-size:14px;max-width:100%}

  /* Round inner */
  .round-inner{gap:32px}

  /* IR inner */
  .ir-inner{gap:32px}
}

/* ── Very small mobile (≤ 480px) ── */
@media(max-width:480px){
  nav{padding:0 12px;height:56px}
  .nav-right{top:56px;height:calc(100vh - 56px)}
  .hero{min-height:580px;padding-top:26px}
  #star-canvas,#constellation-stage,.hero-vignette{inset:0 !important;top:56px !important;bottom:auto !important}
  .globe-wrap{top:56px !important}
  .hero-content{margin-top:8px}
  .hero-h1{font-size:clamp(28px,11vw,40px)}
  .globe-wrap{width:min(180px,70vmin);height:min(180px,70vmin)}
  .wrap{padding:0 14px}
  .section,.section-surface,.section-bg,.ir-section,.roles-section,.dl-section,.phase-section{padding:36px 0}
  .ss-stat{padding:20px 14px}
  .ss-val{font-size:28px}
  .person-card{height:435px}
  .person-initials{font-size:48px}
}

/* Scroll hint — hidden below desktop since touch users scroll by gesture */
@media(max-width:1100px){
  .scroll-hint{display:none}
}

/* ── press.ejs ─────────────────────────────────────── */
.press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.press-card{padding:28px}
.press-type{margin-bottom:10px}
.press-headline{font-size:16px;line-height:1.3;margin-bottom:8px}
.press-excerpt{font-size:13px;line-height:1.6;margin-bottom:14px}
.press-date{font-family:'HNC',sans-serif;font-weight:500;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.asset-list{display:flex;flex-direction:column;gap:12px;margin-top:48px;max-width:720px}
.asset-item{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.asset-info h3{font-family:'Fauna',sans-serif;font-weight:700;font-size:15px;color:#fff;letter-spacing:-.02em;margin-bottom:2px}
.asset-meta{font-family:'HN',sans-serif;font-weight:300;font-size:12px;color:var(--muted)}
.kf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.kf-item{background:var(--card);padding:32px 28px;text-align:center}
.kf-num{font-family:'Fauna',sans-serif;font-weight:700;font-size:clamp(28px,3.5vw,44px);color:var(--teal);letter-spacing:-.04em;line-height:1;margin-bottom:6px}
.kf-label{font-family:'HNC',sans-serif;font-weight:500;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
@media(max-width:900px){.press-grid{grid-template-columns:1fr 1fr}.kf-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.press-grid{grid-template-columns:1fr}.kf-grid{grid-template-columns:1fr}.hero-inner-sm{padding:0 20px}}

/* ── integration.ejs ────────────────────────────────── */
.step-list{display:flex;flex-direction:column;gap:0;margin-top:48px}
.step-item{display:grid;grid-template-columns:64px 1fr;gap:32px;padding:40px 0;border-bottom:1px solid var(--border);align-items:start}
.step-item:last-child{border-bottom:none}
.step-num{font-family:'Fauna',sans-serif;font-weight:700;font-size:42px;color:rgba(89,192,209,.18);letter-spacing:-.05em;line-height:1;text-align:right}
.step-content h3{font-family:'Fauna',sans-serif;font-weight:700;font-size:20px;color:#fff;letter-spacing:-.02em;margin-bottom:10px}
.step-content p{font-family:'HN',sans-serif;font-weight:300;font-size:14px;color:var(--muted);line-height:1.75;margin-bottom:10px}
.step-content p:last-child{margin-bottom:0}
.step-tag{display:inline-block;font-family:'HNC',sans-serif;font-weight:500;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);background:rgba(89,192,209,.06);border:1px solid var(--tline);padding:3px 10px;border-radius:4px;margin-bottom:12px}
.iface-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:48px}
.iface-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:32px}
.iface-type{margin-bottom:12px}
.iface-title{font-size:17px;margin-bottom:14px}
.iface-list{display:flex;flex-direction:column;gap:8px}
.iface-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-family:'HN',sans-serif;font-size:13px}
.iface-row:last-child{border-bottom:none}
.ir-key{color:var(--muted);font-weight:300}
.ir-val{color:var(--text-hi);font-weight:400}
.support-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.support-title{font-family:'Fauna',sans-serif;font-weight:700;font-size:clamp(26px,3.5vw,40px);line-height:1.05;letter-spacing:-.035em;color:#fff;margin-bottom:18px}
.support-body{font-family:'HN',sans-serif;font-weight:300;font-size:14.5px;color:var(--muted);line-height:1.8;margin-bottom:14px}
.support-list{display:flex;flex-direction:column;gap:12px}
.support-item{padding:20px 24px}
.si-title{font-family:'HN',sans-serif;font-weight:500;font-size:14px;color:var(--text-hi);margin-bottom:4px}
.si-desc{font-family:'HN',sans-serif;font-weight:300;font-size:12.5px;color:var(--muted);line-height:1.55}
@media(max-width:900px){.iface-grid{grid-template-columns:1fr}.support-inner{grid-template-columns:1fr;gap:48px}}
@media(max-width:640px){.step-item{grid-template-columns:40px 1fr;gap:16px}.hero-inner{padding:0 20px}}

/* ── suppliers.ejs ──────────────────────────────────── */
.req-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.req-card{padding:32px}
.req-icon{font-size:20px;margin-bottom:18px;display:block;opacity:.65}
.req-title{font-size:17px;margin-bottom:10px}
.req-body{font-size:13.5px;line-height:1.7}
.cat-list{display:flex;flex-direction:column;gap:12px;margin-top:48px;max-width:740px}
.cat-item{padding:24px 28px}
.cat-type{margin-bottom:6px}
.cat-name{font-size:16px;margin-bottom:6px}
.cat-desc{font-size:13px;line-height:1.6}
.contact-title{font-family:'Fauna',sans-serif;font-weight:700;font-size:clamp(26px,3.5vw,40px);line-height:1.05;letter-spacing:-.035em;color:#fff;margin-bottom:18px}
.contact-body{font-family:'HN',sans-serif;font-weight:300;font-size:14.5px;color:var(--muted);line-height:1.8;margin-bottom:14px}
.contact-detail{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-family:'HN',sans-serif;font-weight:300;font-size:14px;color:var(--text)}
@media(max-width:900px){.req-grid{grid-template-columns:1fr 1fr}.contact-inner{grid-template-columns:1fr;gap:48px}}
@media(max-width:640px){.req-grid{grid-template-columns:1fr}.su-inner{padding:0 20px}}

/* ── product.ejs ────────────────────────────────────── */
.product-hero{position:relative;min-height:58vh;display:flex;align-items:center;overflow:hidden;padding:140px 0 100px}
.ph-inner{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.ph-title{font-family:'Fauna',sans-serif;font-weight:700;font-size:clamp(38px,5.5vw,68px);line-height:.94;letter-spacing:-.04em;color:#fff;margin-bottom:28px}
.ph-body{font-family:'HN',sans-serif;font-weight:300;font-size:16px;color:var(--muted);line-height:1.8;margin-bottom:22px}
.module-visual{background:var(--card);border:1px solid var(--tline);border-radius:12px;padding:60px 40px;text-align:center;position:relative;overflow:hidden}
.module-visual::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:200px;height:1px;background:linear-gradient(90deg,transparent,var(--teal),transparent)}
.mv-label{font-family:'HNC',sans-serif;font-weight:500;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:16px}
.mv-unit{font-family:'Fauna',sans-serif;font-weight:700;font-size:clamp(60px,10vw,120px);color:rgba(89,192,209,.08);letter-spacing:-.05em;line-height:1}
.mv-unit span{color:rgba(89,192,209,.18)}
.mv-size{font-family:'HN',sans-serif;font-weight:300;font-size:13px;color:var(--muted);margin-top:12px}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:48px}
.feat-card{background:var(--card);padding:40px 36px;transition:background .25s}
.feat-card:hover{background:#0a1728}
.feat-icon{font-size:20px;margin-bottom:20px;display:block;opacity:.7}
.feat-title{font-size:18px;margin-bottom:10px}
.feat-body{font-size:13.5px;line-height:1.7}
.how-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.how-title{font-family:'Fauna',sans-serif;font-weight:700;font-size:clamp(28px,3.5vw,44px);line-height:1.05;letter-spacing:-.035em;color:#fff;margin-bottom:20px}
.how-body{font-family:'HN',sans-serif;font-weight:300;font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:14px}
.how-steps{display:flex;flex-direction:column;gap:0}
.how-step{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid var(--border)}
.how-step:last-child{border-bottom:none}
.hs-num{font-family:'Fauna',sans-serif;font-weight:700;font-size:28px;color:rgba(89,192,209,.2);letter-spacing:-.04em;flex-shrink:0;width:40px;line-height:1.1}
.hs-content h4{font-family:'HN',sans-serif;font-weight:500;font-size:14px;color:var(--text-hi);margin-bottom:4px}
.hs-content p{font-family:'HN',sans-serif;font-weight:300;font-size:13px;color:var(--muted);line-height:1.6}
.compat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.compat-card{padding:28px}
.compat-type{margin-bottom:10px}
.compat-name{font-size:16px;margin-bottom:8px}
.compat-desc{font-size:13px;line-height:1.6}
@media(max-width:900px){.ph-inner{grid-template-columns:1fr}.module-visual{display:none}.feat-grid{grid-template-columns:1fr 1fr}.how-inner{grid-template-columns:1fr}.compat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.feat-grid{grid-template-columns:1fr}.compat-grid{grid-template-columns:1fr}}

/* ── specs.ejs ──────────────────────────────────────── */
.spec-group{padding:80px 0;border-bottom:1px solid var(--border)}
.spec-group:last-of-type{border-bottom:none}
.spec-group-title{font-family:'Fauna',sans-serif;font-weight:700;font-size:22px;color:#fff;letter-spacing:-.02em;margin-bottom:32px}
.spec-table{width:100%;border-collapse:collapse;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.spec-table tr{border-bottom:1px solid var(--border)}
.spec-table tr:last-child{border-bottom:none}
.spec-table tr:nth-child(even){background:var(--card)}
.spec-table tr:nth-child(odd){background:var(--surface)}
.spec-key{font-family:'HN',sans-serif;font-weight:400;font-size:13.5px;color:var(--text);padding:16px 24px;width:38%}
.spec-val{font-family:'HN',sans-serif;font-weight:500;font-size:13.5px;color:var(--text-hi);padding:16px 24px}
.spec-val em{font-style:normal;color:var(--teal)}
.spec-note{font-family:'HN',sans-serif;font-weight:300;font-size:11.5px;color:var(--muted);padding:0 24px 14px 24px;display:block}
.spec-header-row{background:var(--bg) !important}
.spec-header-row td{font-family:'HNC',sans-serif;font-weight:700;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding:12px 24px}
.dl-section{padding:80px 0;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.dl-list{display:flex;flex-direction:column;gap:12px;margin-top:40px;max-width:680px}
.dl-item{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.dl-info h3{font-family:'Fauna',sans-serif;font-weight:700;font-size:15px;color:#fff;letter-spacing:-.02em;margin-bottom:2px}
.dl-meta{font-family:'HN',sans-serif;font-weight:300;font-size:12px;color:var(--muted)}
@media(max-width:640px){.spec-key{width:50%}.sp-inner{padding:0 20px}}

/* ── roadmap.ejs ────────────────────────────────────── */
.phase-section{padding:100px 0;border-bottom:1px solid var(--border)}
.phase-section:nth-child(even){background:var(--surface)}
.phase-section:nth-child(odd){background:var(--bg)}
.phase-header{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;margin-bottom:48px}
.phase-status{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:100px;font-family:'HNC',sans-serif;font-weight:500;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.status-done{background:rgba(89,192,209,.06);border:1px solid var(--tline);color:var(--teal)}
.status-active{background:rgba(89,192,209,.12);border:1px solid rgba(89,192,209,.5);color:var(--teal)}
.status-active .badge-dot{background:var(--teal);box-shadow:0 0 6px var(--teal);animation:cpulse 2s ease-in-out infinite}
.status-future{background:rgba(255,255,255,.03);border:1px solid var(--border);color:var(--muted)}
.milestone-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.milestone-card{padding:28px}
.milestone-card.done{border-left:2px solid rgba(89,192,209,.4)}
.milestone-card.active{border-left:2px solid var(--teal)}
.milestone-card.future{border-left:2px solid rgba(255,255,255,.06)}
.mc-date{font-family:'HNC',sans-serif;font-weight:500;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.mc-title{font-family:'Fauna',sans-serif;font-weight:700;font-size:16px;color:#fff;margin-bottom:8px;letter-spacing:-.02em}
.mc-desc{font-family:'HN',sans-serif;font-weight:300;font-size:13px;color:var(--muted);line-height:1.65}
.mc-check{display:inline-flex;align-items:center;gap:6px;font-family:'HNC',sans-serif;font-weight:500;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-top:10px}
.horizon-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.horizon-title{font-family:'Fauna',sans-serif;font-weight:700;font-size:clamp(26px,3.5vw,40px);line-height:1.05;letter-spacing:-.035em;color:#fff;margin-bottom:18px}
.horizon-body{font-family:'HN',sans-serif;font-weight:300;font-size:14.5px;color:var(--muted);line-height:1.8;margin-bottom:14px}
.horizon-list{display:flex;flex-direction:column;gap:14px}
.horizon-item{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}
.horizon-item:last-child{border-bottom:none}
.hi-year{font-family:'HNC',sans-serif;font-weight:700;font-size:10px;letter-spacing:.14em;color:var(--teal);flex-shrink:0;width:48px;padding-top:2px}
.hi-content h4{font-family:'HN',sans-serif;font-weight:500;font-size:13.5px;color:var(--text-hi);margin-bottom:3px}
.hi-content p{font-family:'HN',sans-serif;font-weight:300;font-size:12.5px;color:var(--muted);line-height:1.55}
@media(max-width:900px){.milestone-grid{grid-template-columns:1fr}.horizon-inner{grid-template-columns:1fr;gap:48px}.phase-header{grid-template-columns:1fr}}
@media(max-width:640px){.rm-inner{padding:0 20px}}

/* ── careers.ejs ────────────────────────────────────── */
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.value-card{padding:32px}
.value-icon{font-size:24px;margin-bottom:16px;display:block}
.value-title{font-size:18px;margin-bottom:8px}
.value-desc{font-size:13px;line-height:1.65}
.roles-section{padding:100px 0;background:var(--surface)}
.role-list{display:flex;flex-direction:column;gap:12px;margin-top:48px;max-width:720px}
.role-item{padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.role-info h3{font-family:'Fauna',sans-serif;font-weight:700;font-size:17px;color:#fff;letter-spacing:-.02em;margin-bottom:4px}
.role-meta{display:flex;gap:16px;flex-wrap:wrap}
.role-tag{font-family:'HNC',sans-serif;font-weight:500;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:rgba(89,192,209,.06);padding:3px 10px;border-radius:4px}
.nz-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.nz-title{font-family:'Fauna',sans-serif;font-weight:700;font-size:clamp(28px,3.5vw,46px);line-height:1.06;letter-spacing:-.035em;color:#fff;margin-bottom:20px}
.nz-body{font-family:'HN',sans-serif;font-weight:300;font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:14px}
.nz-highlights{display:flex;flex-direction:column;gap:16px;margin-top:28px}
.nz-hl-item{display:flex;gap:14px;align-items:flex-start}
.nz-hl-dot{width:32px;height:32px;border-radius:50%;background:rgba(89,192,209,.1);border:1px solid var(--tline);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px}
.nz-hl-text strong{display:block;font-family:'HN',sans-serif;font-weight:500;color:var(--text-hi);font-size:13.5px;margin-bottom:2px}
.nz-hl-text span{font-family:'HN',sans-serif;font-weight:300;font-size:12.5px;color:var(--muted);line-height:1.55}
@media(max-width:900px){.values-grid{grid-template-columns:1fr 1fr}.nz-inner{grid-template-columns:1fr;gap:48px}}
@media(max-width:640px){.values-grid{grid-template-columns:1fr}.role-item{flex-direction:column;align-items:flex-start}.cr-inner{padding:0 20px}.wrap{padding:0 32px}}

/* ── COOKIE BANNER ──────────────────────────────────── */
#cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:900;background:var(--surface);border-top:1px solid var(--tline);padding:16px 52px}
.cookie-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1200px;margin:0 auto}
.cookie-banner-text{font-family:'HN',sans-serif;font-size:13px;font-weight:300;color:var(--text);line-height:1.6}
.cookie-banner-text a{color:var(--teal);text-decoration:none}
.cookie-banner-text a:hover{text-decoration:underline}
.cookie-banner-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.cookie-btn{font-family:'HNC',sans-serif;font-weight:700;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:8px 20px;border-radius:var(--r);cursor:pointer;border:1px solid var(--tline);transition:background .2s,box-shadow .2s,color .2s}
.cookie-btn--accept{background:var(--teal);color:#000205;border-color:var(--teal)}
.cookie-btn--accept:hover{box-shadow:0 0 20px var(--tg)}
.cookie-btn--decline{background:transparent;color:var(--muted);border-color:transparent}
.cookie-btn--decline:hover{background:var(--td);color:var(--text)}
@media(max-width:768px){#cookie-banner{padding:16px 24px}.cookie-banner-inner{flex-direction:column;align-items:flex-start;gap:14px}.cookie-banner-actions{width:100%;justify-content:flex-end}}
@media(max-width:480px){#cookie-banner{padding:14px 16px}.cookie-banner-actions{flex-direction:row-reverse;width:100%}.cookie-btn{flex:1;text-align:center}}

/* ── terms.ejs / privacy.ejs ────────────────────────── */
.legal-hero{position:relative;min-height:40vh;display:flex;align-items:center;overflow:hidden;padding:140px 0 72px}
.lh-title{font-family:'Fauna',sans-serif;font-weight:700;font-size:clamp(32px,5vw,56px);line-height:.96;letter-spacing:-.04em;color:#fff;margin-bottom:20px}
.lh-meta{font-family:'HN',sans-serif;font-weight:300;font-size:13px;color:var(--muted)}
.legal-body{padding:80px 0 120px}
.legal-content{max-width:740px}
.legal-section{margin-bottom:56px}
.legal-section:last-child{margin-bottom:0}
.ls-title{font-family:'Fauna',sans-serif;font-weight:700;font-size:20px;color:#fff;letter-spacing:-.02em;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.ls-body{font-family:'HN',sans-serif;font-weight:300;font-size:14.5px;color:var(--muted);line-height:1.85;margin-bottom:12px}
.ls-body:last-child{margin-bottom:0}
.ls-body strong{color:var(--text-hi);font-weight:500}
.ls-body a{color:var(--teal);text-decoration:none}
.ls-body a:hover{text-decoration:underline}
.ls-list{font-family:'HN',sans-serif;font-weight:300;font-size:14.5px;color:var(--muted);line-height:1.85;padding-left:20px;margin-bottom:12px}
.ls-list li{margin-bottom:6px}
