/* ============ Two Generals — SENTINEL ============ */
:root {
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
  --text-hero: clamp(2.75rem, 1rem + 6vw, 6rem);

  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem;
  --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem; --space-32:8rem;

  --radius-sm:.375rem; --radius-md:.5rem; --radius-lg:.75rem; --radius-xl:1rem; --radius-full:9999px;
  --content-wide:1200px; --content-default:1040px;
  --transition:180ms cubic-bezier(.16,1,.3,1);

  --font-display:'Space Grotesk', system-ui, sans-serif;
  --font-body:'Inter', system-ui, sans-serif;
  --font-mono:'JetBrains Mono', ui-monospace, monospace;
}

/* Dark (default) — security console */
:root, [data-theme="dark"] {
  --bg:#0a0e12;
  --bg-2:#0d1117;
  --surface:#12181f;
  --surface-2:#161d26;
  --border:#20303a;
  --border-2:#2a3d49;
  --text:#e6edf3;
  --text-muted:#9db0bd;
  --text-faint:#6b7f8c;
  --teal:#2fb6c4;
  --teal-bright:#4fd6e2;
  --teal-deep:#20808d;
  --teal-glow:rgba(47,182,196,.35);
  --ok:#6dd18a;
  --warn:#e8b043;
  --bad:#e2717f;
  --scrim:linear-gradient(180deg, rgba(10,14,18,.35) 0%, rgba(10,14,18,.7) 55%, rgba(10,14,18,.96) 100%);
}
[data-theme="light"] {
  --bg:#f3f5f6;
  --bg-2:#ffffff;
  --surface:#ffffff;
  --surface-2:#eef2f3;
  --border:#d6dee2;
  --border-2:#c2ced4;
  --text:#0d1a20;
  --text-muted:#4a5b64;
  --text-faint:#7d8d95;
  --teal:#0d7f8c;
  --teal-bright:#0d7f8c;
  --teal-deep:#0a5a63;
  --teal-glow:rgba(13,127,140,.18);
  --ok:#2f8f52;
  --warn:#9a6a12;
  --bad:#b23a4a;
  --scrim:linear-gradient(180deg, rgba(10,14,18,.55) 0%, rgba(10,14,18,.5) 45%, rgba(243,245,246,.96) 100%);
}

/* ---- reset ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:5rem}
body{min-height:100dvh;line-height:1.6;font-family:var(--font-body);font-size:var(--text-base);color:var(--text);background:var(--bg)}
img,video,svg{display:block;max-width:100%;height:auto}
ul[role=list]{list-style:none}
a{color:inherit;text-decoration:none}
button{cursor:pointer;background:none;border:none;color:inherit;font:inherit}
h1,h2,h3{text-wrap:balance;line-height:1.1;font-family:var(--font-display);font-weight:700}
p{text-wrap:pretty}
::selection{background:var(--teal-glow);color:var(--text)}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:var(--radius-sm)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.wrap{width:min(100% - 2.5rem, var(--content-wide));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:0;background:var(--teal-deep);color:#fff;padding:.6rem 1rem;z-index:200;border-radius:0 0 var(--radius-md) 0}
.skip-link:focus{left:0}
.accent{color:var(--teal-bright)}

/* ---- header ---- */
.site-header{position:sticky;top:0;z-index:100;background:color-mix(in oklab, var(--bg) 82%, transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;gap:var(--space-6);height:4.25rem}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--text);font-family:var(--font-display);font-weight:700}
.brand-mark{color:var(--teal-bright);flex-shrink:0;filter:drop-shadow(0 0 6px var(--teal-glow))}
.brand-text{display:flex;flex-direction:column;line-height:1.05;font-size:1rem;letter-spacing:.01em}
.brand-sub{font-family:var(--font-mono);font-size:.62rem;font-weight:500;color:var(--teal);letter-spacing:.28em}
.nav{display:flex;gap:var(--space-6);margin-inline-start:auto;font-size:var(--text-sm);color:var(--text-muted)}
.nav a{position:relative;padding:.25rem 0;transition:color var(--transition)}
.nav a:hover{color:var(--text)}
.nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--teal-bright);transition:width var(--transition)}
.nav a:hover::after{width:100%}
.header-actions{display:flex;align-items:center;gap:var(--space-3)}
.theme-toggle{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted)}
.theme-toggle:hover{color:var(--teal-bright);border-color:var(--border-2)}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;font-size:var(--text-sm);padding:.8rem 1.4rem;border-radius:var(--radius-md);border:1px solid transparent;transition:all var(--transition)}
.btn-sm{padding:.55rem 1rem}
.btn-primary{background:var(--teal-deep);color:#eafcff;border-color:var(--teal-deep);box-shadow:0 0 0 0 var(--teal-glow)}
.btn-primary:hover{background:var(--teal);box-shadow:0 6px 24px var(--teal-glow);transform:translateY(-1px)}
.btn-ghost{border-color:var(--border-2);color:var(--text)}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal-bright)}

/* ---- hero ---- */
/* Hero is always dark (video is dark) — force readable light text in both themes */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--border);background:#070a0d}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(7,10,13,.55) 0%, rgba(7,10,13,.78) 55%, rgba(7,10,13,.97) 100%)}
.hero-scrim::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(7,10,13,.85) 0%, rgba(7,10,13,.45) 45%, transparent 75%)}
.hero-inner{position:relative;z-index:2;padding-block:var(--space-24);max-width:52rem}
.kicker{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;color:#5fe0ec;margin-bottom:var(--space-5)}
.hero-title{font-size:var(--text-hero);letter-spacing:-.02em;margin-bottom:var(--space-6);color:#f1f7fa;text-shadow:0 2px 30px rgba(0,0,0,.8)}
.hero-title .accent{color:#4fd6e2}
.hero-lede{font-size:var(--text-lg);color:#dbe7ed;max-width:44ch;margin-bottom:var(--space-8);text-shadow:0 1px 14px rgba(0,0,0,.9)}
.hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-12)}
.hero-stats{display:flex;gap:var(--space-10);flex-wrap:wrap}
.hero-stats li{display:flex;flex-direction:column}
.hero-stats strong{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--teal-bright);line-height:1}
.hero-stats strong{color:#4fd6e2}
.hero-stats span{font-size:var(--text-xs);color:#b8c8d0;letter-spacing:.05em;margin-top:.3rem}
.hero .btn-ghost{border-color:rgba(255,255,255,.35);color:#f1f7fa}
.hero .btn-ghost:hover{border-color:#4fd6e2;color:#4fd6e2}

/* ---- doctrine strip ---- */
.strip{background:var(--bg-2);border-bottom:1px solid var(--border)}
.strip-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);padding-block:var(--space-6)}
.strip-line{display:flex;align-items:center;gap:.6rem;font-size:var(--text-sm);color:var(--text-muted)}
.dot{width:.55rem;height:.55rem;border-radius:var(--radius-full);flex-shrink:0}
.dot.ok{background:var(--ok);box-shadow:0 0 8px var(--ok)}

/* ---- sections ---- */
.section{padding-block:clamp(var(--space-16),8vw,var(--space-32))}
.section-alt{background:var(--bg-2);border-block:1px solid var(--border)}
.section-head{max-width:60ch;margin-bottom:var(--space-12)}
.section-title{font-size:var(--text-2xl);letter-spacing:-.02em;margin:var(--space-3) 0}
.section-lede{font-size:var(--text-lg);color:var(--text-muted)}

/* ---- flow ---- */
.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);counter-reset:none}
.flow-step{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color var(--transition),transform var(--transition)}
.flow-step:hover{border-color:var(--teal-deep);transform:translateY(-3px)}
.flow-num{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--teal-bright);letter-spacing:.1em}
.flow-step h3{font-size:var(--text-lg);margin:var(--space-3) 0 var(--space-2)}
.flow-step p{font-size:var(--text-sm);color:var(--text-muted)}
.flow-figure{margin-top:var(--space-12);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface)}
.flow-figure img{width:100%}
.flow-figure figcaption{padding:var(--space-4) var(--space-6);font-size:var(--text-sm);color:var(--text-muted);border-top:1px solid var(--border)}

/* ---- cyber caller id ---- */
.cid-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10);align-items:start}
.cid-steps{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.cid-step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5)}
.cid-step:hover{border-color:var(--teal-deep)}
.cid-b{display:block;font-family:var(--font-display);font-weight:700;color:var(--teal-bright);margin-bottom:var(--space-2);font-size:var(--text-base)}
.cid-step p{font-size:var(--text-sm);color:var(--text-muted)}
.cid-log{position:sticky;top:6rem;background:var(--bg-2);border:1px solid var(--border-2);border-radius:var(--radius-lg);padding:var(--space-5);font-family:var(--font-mono);box-shadow:0 12px 40px rgba(0,0,0,.35)}
.cid-log-head{display:flex;align-items:center;gap:.5rem;font-size:var(--text-xs);letter-spacing:.14em;color:var(--teal-bright);padding-bottom:var(--space-4);margin-bottom:var(--space-2);border-bottom:1px solid var(--border)}
.cid-row{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem var(--space-3);align-items:center;padding:.55rem .3rem;font-size:.78rem;border-bottom:1px solid var(--border);color:var(--text-muted)}
.cid-row:last-child{border-bottom:none}
.cid-time{color:var(--text-faint)}
.cid-id{color:var(--text)}
.cid-tok{grid-column:2;font-size:.68rem;color:var(--text-faint)}
.cid-verdict{grid-row:1 / span 2;grid-column:3;font-weight:600;font-size:.7rem;padding:.2rem .5rem;border-radius:var(--radius-sm);letter-spacing:.06em}
.v-ok{color:var(--ok);background:color-mix(in oklab,var(--ok) 15%,transparent)}
.v-warn{color:var(--warn);background:color-mix(in oklab,var(--warn) 15%,transparent)}
.v-bad{color:var(--bad);background:color-mix(in oklab,var(--bad) 15%,transparent)}
.v-rot{color:var(--teal-bright);background:color-mix(in oklab,var(--teal) 15%,transparent)}
.cid-bad .cid-id,.cid-rot .cid-id{color:var(--text)}
.cid-rot{background:color-mix(in oklab,var(--teal) 6%,transparent)}

/* ---- cards ---- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color var(--transition),transform var(--transition)}
.card:hover{border-color:var(--teal-deep);transform:translateY(-3px)}
.card-tag{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--teal-bright);letter-spacing:.08em;padding:.25rem .6rem;border:1px solid var(--border-2);border-radius:var(--radius-full);margin-bottom:var(--space-4)}
.card h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}
.card p{font-size:var(--text-sm);color:var(--text-muted)}

/* ---- lessons ---- */
.lessons{display:flex;flex-direction:column;gap:var(--space-3);max-width:60rem}
.lesson{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}
.lesson[open]{border-color:var(--teal-deep)}
.lesson summary{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);cursor:pointer;font-family:var(--font-display);font-weight:500;font-size:var(--text-base);list-style:none}
.lesson summary::-webkit-details-marker{display:none}
.lesson summary::after{content:"+";margin-inline-start:auto;color:var(--teal-bright);font-size:1.3rem;transition:transform var(--transition)}
.lesson[open] summary::after{content:"\2013"}
.lesson-idx{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--teal);flex-shrink:0}
.lesson-body{padding:0 var(--space-6) var(--space-6) calc(var(--space-6) + 2.4rem);display:flex;flex-direction:column;gap:var(--space-3)}
.lesson-body p{font-size:var(--text-sm);color:var(--text-muted)}
.lesson-body strong{color:var(--text)}
.learn-note{margin-top:var(--space-8);font-size:var(--text-sm);color:var(--text-muted)}
.learn-note a{color:var(--teal-bright);text-decoration:underline;text-underline-offset:3px}

/* ---- tiers ---- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.tier{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6)}
.tier-mid{border-color:var(--teal-deep);box-shadow:0 0 0 1px var(--teal-deep), 0 12px 40px var(--teal-glow)}
.tier h3{font-size:var(--text-xl);color:var(--teal-bright)}
.tier-line{font-size:var(--text-sm);color:var(--text-muted);margin:var(--space-2) 0 var(--space-5)}
.tier ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}
.tier li{position:relative;padding-inline-start:1.4rem;font-size:var(--text-sm);color:var(--text)}
.tier li::before{content:"";position:absolute;left:0;top:.55em;width:.5rem;height:.5rem;border:1.5px solid var(--teal);border-radius:var(--radius-full)}

/* ---- docs ---- */
.docs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5)}
.doc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);transition:all var(--transition)}
.doc-card:hover{border-color:var(--teal-deep);transform:translateY(-3px)}
.doc-card-zip{background:linear-gradient(160deg, color-mix(in oklab,var(--teal-deep) 18%, var(--surface)), var(--surface))}
.doc-kind{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--teal-bright);letter-spacing:.14em}
.doc-card h3{font-size:var(--text-base)}
.doc-card p{font-size:var(--text-sm);color:var(--text-muted);flex-grow:1}
.doc-cta{font-size:var(--text-sm);color:var(--teal-bright);font-weight:600;margin-top:var(--space-2)}

/* ---- footer ---- */
.site-footer{background:var(--bg-2);border-top:1px solid var(--border);padding-block:var(--space-16)}
.footer-inner{display:flex;flex-direction:column;gap:var(--space-5);max-width:70ch}
.footer-brand .brand-text{font-size:var(--text-lg);color:var(--text)}
.footer-brand p{color:var(--teal-bright);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.1em;margin-top:.3rem}
.footer-legal{font-size:var(--text-xs);color:var(--text-faint);line-height:1.7}
.footer-copy{font-size:var(--text-xs);color:var(--text-faint);font-family:var(--font-mono)}

/* ---- reveal animation ---- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}

/* ---- responsive ---- */
@media (max-width:980px){
  .flow,.cards,.docs-grid{grid-template-columns:repeat(2,1fr)}
  .cid-layout{grid-template-columns:1fr}
  .cid-log{position:static}
  .strip-inner{grid-template-columns:repeat(2,1fr)}
  .tiers{grid-template-columns:1fr}
}
@media (max-width:640px){
  .nav{display:none}
  .flow,.cards,.docs-grid,.cid-steps,.strip-inner{grid-template-columns:1fr}
  .hero-stats{gap:var(--space-6)}
  .hero{min-height:88vh}
}

/* ---- BB2G emblem in hero (faint, behind text) ---- */
.hero-emblem{
  position:absolute; top:50%; right:4%; transform:translateY(-50%);
  width:min(46vw,540px); height:auto; opacity:.10; pointer-events:none;
  filter:drop-shadow(0 0 40px rgba(0,0,0,.6)); z-index:1;
}
@media (max-width:820px){ .hero-emblem{ opacity:.06; right:-8%; width:80vw; } }

/* ---- new module cards (Sovereign layer) ---- */
.card-new{ border-color:var(--teal-deep); box-shadow:0 0 0 1px rgba(47,182,196,.15), 0 18px 40px -24px var(--teal-glow); }
.card-badge{
  display:inline-block; margin-left:.5rem; padding:.12em .55em;
  font-family:var(--mono,ui-monospace,monospace); font-size:.62em; letter-spacing:.05em;
  color:#0a0e12; background:var(--teal-bright); border-radius:999px; vertical-align:middle;
  font-weight:700;
}

/* ---- videos ---- */
.video-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.75rem; margin-top:2.5rem; }
@media (max-width:820px){ .video-grid{ grid-template-columns:1fr; } }
.video-card{ margin:0; }
.video-card video{
  width:100%; aspect-ratio:16/9; display:block; border-radius:14px;
  background:#000; border:1px solid var(--border);
  box-shadow:0 24px 60px -30px rgba(0,0,0,.7);
}
.video-card figcaption{ display:flex; flex-direction:column; gap:.15rem; margin-top:.9rem; }
.video-card figcaption strong{ font-size:var(--text-lg); color:var(--text); }
.video-card figcaption span{ font-size:var(--text-sm); color:var(--text-muted); }

/* ---- featured doc card ---- */
.doc-card-feature{
  border-color:var(--teal-deep);
  background:linear-gradient(135deg, rgba(47,182,196,.08), transparent 60%);
  box-shadow:0 0 0 1px rgba(47,182,196,.18), 0 20px 50px -30px var(--teal-glow);
}
.doc-card-feature .doc-kind{ background:var(--teal-bright); color:#0a0e12; }

/* ---- Get started / signup ---- */
.section-cta{ position:relative; overflow:hidden; }
.cta-emblem{
  position:absolute; left:-6%; bottom:-12%; width:min(52vw,620px); height:auto;
  opacity:.06; pointer-events:none; z-index:0;
}
.section-cta .wrap{ position:relative; z-index:1; }
.signup-grid{
  display:grid; grid-template-columns:1.35fr 1fr; gap:1.5rem; margin-top:2.5rem;
  align-items:start;
}
@media (max-width:820px){ .signup-grid{ grid-template-columns:1fr; } }
.signup-card{
  background:var(--bg-2); border:1px solid var(--border); border-radius:16px;
  padding:1.75rem 1.6rem; display:flex; flex-direction:column; gap:.9rem;
  box-shadow:0 24px 60px -40px rgba(0,0,0,.6);
}
.signup-card{ border-color:var(--teal-deep); box-shadow:0 0 0 1px rgba(47,182,196,.15), 0 24px 60px -40px var(--teal-glow); }
.signup-card-alt{ border-color:var(--border); box-shadow:0 24px 60px -40px rgba(0,0,0,.6); }
.signup-card h3{ font-size:var(--text-lg); color:var(--text); margin:0; }
.signup-note{ font-size:var(--text-sm); color:var(--text-muted); margin:-.3rem 0 .4rem; }
.signup-card label{
  display:flex; flex-direction:column; gap:.35rem;
  font-size:var(--text-sm); color:var(--text-muted); font-weight:500;
}
.signup-card .opt{ color:var(--text-faint); font-weight:400; }
.signup-card input, .signup-card select{
  width:100%; padding:.7rem .85rem; border-radius:10px;
  background:var(--bg); border:1px solid var(--border); color:var(--text);
  font:inherit; font-size:var(--text-sm); transition:border-color .15s, box-shadow .15s;
}
.signup-card input:focus, .signup-card select:focus{
  outline:none; border-color:var(--teal); box-shadow:0 0 0 3px rgba(47,182,196,.2);
}
.btn-block{ width:100%; justify-content:center; margin-top:.4rem; }
.form-status{ font-size:var(--text-sm); margin:.2rem 0 0; min-height:1.2em; }
.form-status.ok{ color:var(--teal-bright); }
.form-status.err{ color:#ff8a8a; }
.signup-fineprint{ font-size:var(--text-xs); color:var(--text-faint); margin:.3rem 0 0; line-height:1.5; }

/* ---- textarea (matches inputs) ---- */
.signup-card textarea{
  width:100%; padding:.7rem .85rem; border-radius:10px; resize:vertical;
  background:var(--bg); border:1px solid var(--border); color:var(--text);
  font:inherit; font-size:var(--text-sm); line-height:1.5;
  transition:border-color .15s, box-shadow .15s;
}
.signup-card textarea:focus{
  outline:none; border-color:var(--teal); box-shadow:0 0 0 3px rgba(47,182,196,.2);
}
.signup-note a{ color:var(--teal-bright); }

/* ---- Substack block ---- */
.substack-block{
  margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid var(--border);
  display:flex; flex-direction:column; gap:.6rem;
}
.substack-head{
  display:flex; align-items:center; gap:.5rem;
  font-size:var(--text-sm); font-weight:600; color:var(--text);
}
.substack-head svg{ color:#FF6719; flex:none; }
.btn-substack{
  background:#FF6719; color:#fff; border:1px solid #FF6719;
}
.btn-substack:hover{ background:#e85c12; border-color:#e85c12; color:#fff; }

/* ---- contact card spans full width under the grid ---- */
.contact-card{ margin-top:1.5rem; }
.contact-row{ display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
@media (max-width:560px){ .contact-row{ grid-template-columns:1fr; } }

/* ---- footer links ---- */
.footer-links{ display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; font-size:var(--text-sm); margin-top:.4rem; }
.footer-links a{ color:var(--teal-bright); }
.footer-links span{ color:var(--text-faint); }

/* ---- Pricing (extends tiers) ---- */
.tier{ position:relative; display:flex; flex-direction:column; }
.tier-badge{
  position:absolute; top:-.75rem; left:50%; transform:translateX(-50%);
  background:var(--teal-bright); color:#0a0e12; font-weight:700;
  font-size:var(--text-xs); letter-spacing:.03em; padding:.3em .8em; border-radius:999px;
  white-space:nowrap;
}
.tier-price{ display:flex; align-items:baseline; gap:.35rem; margin:.2rem 0 .1rem; }
.tier-amount{ font-size:var(--text-2xl); font-weight:700; color:var(--text); line-height:1; letter-spacing:-.01em; }
.tier-per{ font-size:var(--text-sm); color:var(--text-muted); }
.tier-sub{ font-size:var(--text-xs); color:var(--text-faint); margin:0 0 var(--space-4); }
.tier ul{ flex:1 1 auto; margin-bottom:var(--space-5); }
.tier li:first-child{ font-weight:600; color:var(--text-muted); }
.tier-mid li:first-child, .tier li:first-child{ }
.tier-cta{ margin-top:auto; }
.tier-foot{ margin-top:var(--space-6); text-align:center; font-size:var(--text-xs); color:var(--text-faint); }
.tier-foot a{ color:var(--teal-bright); }
