@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Inter:wght@300;400;500;600;700&family=Roboto+Mono:wght@400;500&display=swap");

/* ============================================================
   AI-CRRQ™ — light product theme v3, mobile first.
   Full visual rebuild. Content and behaviour unchanged.
   Load order: page <style> first, this file last (it wins).
   ============================================================ */

:root{
  /* ink — cool navy neutrals, not flat gray */
  --ink-900:#0A1020;--ink-800:#141C2F;--ink-700:#2B3448;--ink-600:#46506A;
  --ink-500:#6E7891;--ink-400:#98A1B5;--ink-300:#C4CBDA;--ink-200:#E3E8F2;--ink-100:#EFF2F8;--ink-50:#F5F7FB;
  --white:#FFFFFF;

  --canvas:#F5F7FB;
  --band:#FFFFFF;
  --surface:#FFFFFF;
  --surface-2:#F8FAFD;
  --line:#E3E8F2;
  --line-strong:#C9D2E3;

  --t-hi:#0A1020;
  --t-mid:#3A4359;
  --t-low:#5C667E;
  --t-faint:#667085;

  --accent:#1F5FE0;
  --accent-hover:#1A4FC4;
  --accent-press:#153F9E;
  --accent-2:#0E7C74;
  --accent-2-fill:#17A69B;
  --accent-soft:#E9F0FE;
  --accent-line:#C2D6FA;

  --navy:#0A1020;--deep-blue:#1F5FE0;--blue:#1F5FE0;
  --teal:#0E7C74;--teal-light:#17A69B;
  --gray-100:#F5F7FB;--gray-200:#E3E8F2;--gray-300:#98A1B5;--gray-500:#5C667E;--gray-700:#2B3448;
  --gold:#7A5205;--gold-light:#7A5205;

  --font-display:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono:'Roboto Mono',ui-monospace,monospace;

  --radius-s:10px;--radius-m:14px;--radius-l:20px;--radius-xl:28px;--radius-pill:999px;
  --radius:14px;--radius-lg:20px;

  --shadow-s:0 1px 2px rgba(10,16,32,.05),0 1px 1px rgba(10,16,32,.03);
  --shadow-m:0 1px 2px rgba(10,16,32,.04),0 10px 24px -8px rgba(10,16,32,.10);
  --shadow-l:0 2px 4px rgba(10,16,32,.04),0 24px 56px -16px rgba(10,16,32,.16);
  --shadow-xl:0 4px 8px rgba(10,16,32,.04),0 40px 90px -24px rgba(16,32,64,.22);
  --shadow-sm:var(--shadow-s);--shadow-md:var(--shadow-m);--shadow-lg:var(--shadow-l);
  --shadow-focus:0 0 0 4px rgba(31,95,224,.20);
  --shadow-accent:0 6px 18px -4px rgba(31,95,224,.38);

  --ease:cubic-bezier(.22,.68,.28,1);
  --nav-h:60px;
  --pad-x:20px;
}

/* ── Canvas + ambient light ──────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{background:var(--canvas);scroll-padding-top:calc(var(--nav-h) + 20px);-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-body);font-size:16px;line-height:1.68;
  color:var(--t-mid)!important;background:var(--canvas)!important;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative}

/* soft ambient washes + hairline grid, fixed behind everything */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;display:block!important;
  background:
    radial-gradient(720px 460px at 8% -6%,rgba(31,95,224,.10),transparent 62%),
    radial-gradient(640px 420px at 96% 2%,rgba(23,166,155,.09),transparent 60%),
    radial-gradient(900px 600px at 50% 104%,rgba(31,95,224,.06),transparent 62%)}
body::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(rgba(10,16,32,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,16,32,.035) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(120% 60% at 50% 0%,#000 0%,transparent 72%);
  mask-image:radial-gradient(120% 60% at 50% 0%,#000 0%,transparent 72%)}
body>*{position:relative;z-index:1}
img,svg,video,canvas{max-width:100%}
::selection{background:var(--accent-soft);color:var(--ink-900)}

/* ── Type ────────────────────────────────────────────────── */
h1,h2,h3,h4,h5,h6{font-family:var(--font-display)!important;color:var(--t-hi)!important;text-wrap:balance}
h1{font-size:clamp(2.05rem,7.6vw,3.75rem)!important;font-weight:800!important;line-height:1.06!important;letter-spacing:-0.036em!important}
h2{font-size:clamp(1.62rem,5.6vw,2.7rem)!important;font-weight:800!important;line-height:1.1!important;letter-spacing:-0.032em!important}
h3{font-size:1.12rem!important;font-weight:700!important;line-height:1.32;letter-spacing:-0.016em}
h4,h5{font-weight:700;letter-spacing:-0.01em;color:var(--t-hi)!important}
p,li,dd,dt{text-wrap:pretty;color:var(--t-mid)}
p{max-width:70ch}
.lead{font-size:clamp(1.04rem,2.7vw,1.26rem)!important;line-height:1.62!important;color:var(--t-low)!important;max-width:62ch}
strong,b{color:var(--t-hi);font-weight:650}
em{font-style:italic}
a{color:var(--accent);text-decoration-color:rgba(31,95,224,.32);text-underline-offset:3px;
  transition:color .16s var(--ease)}
a:hover{color:var(--accent-hover)}
hr{border:none;border-top:1px solid var(--line)}
code,kbd,pre,samp{font-family:var(--font-mono)}

.section-label,.eyebrow,.hero-eyebrow{
  display:inline-flex!important;align-items:center;gap:10px;font-family:var(--font-mono)!important;
  font-size:0.66rem!important;font-weight:500!important;letter-spacing:0.18em!important;text-transform:uppercase;
  color:var(--accent)!important;margin-bottom:14px!important;opacity:1!important}
.section-label::before,.eyebrow::before,.hero-eyebrow::before{
  content:"";width:22px;height:2px;border-radius:2px;flex:none;
  background:linear-gradient(90deg,var(--accent),rgba(31,95,224,.15))}

/* ── Rhythm (mobile first) ───────────────────────────────── */
section{padding:56px var(--pad-x)!important;position:relative;background:transparent}
.section-inner,.page-hero-inner{max-width:1180px!important;margin:0 auto;width:100%}
section:nth-of-type(even){background:rgba(255,255,255,.72);backdrop-filter:blur(2px)}
section+section{border-top:1px solid rgba(227,232,242,.9)}

/* ── Navigation ──────────────────────────────────────────── */
nav#main-nav,body>nav{
  height:var(--nav-h)!important;min-height:var(--nav-h)!important;
  background:rgba(255,255,255,.78)!important;
  backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);
  border-bottom:1px solid rgba(227,232,242,.85)!important;box-shadow:none!important;
  padding:0 14px!important;gap:10px;z-index:1200!important;
  transition:box-shadow .25s var(--ease),background .25s var(--ease),height .25s var(--ease)}
nav#main-nav.is-scrolled,body>nav.is-scrolled{
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 1px 0 rgba(227,232,242,.9),0 10px 30px -14px rgba(10,16,32,.22)!important}
.nav-logo{gap:0!important;align-items:center}
.nav-logo:has(img){gap:10px!important}
.nav-logo:not(:has(img)){font-family:var(--font-display);font-weight:800;font-size:1rem;
  letter-spacing:-0.022em;color:var(--ink-900);text-decoration:none}
.nav-logo:not(:has(img)) span{color:var(--accent)}
.nav-logo-img{width:32px!important;height:32px!important;border-radius:9px!important;
  box-shadow:0 2px 8px -2px rgba(10,16,32,.3)}
.nav-logo-text{font-family:var(--font-display)!important;font-weight:800!important;font-size:0.98rem!important;
  letter-spacing:-0.024em!important;color:var(--ink-900)!important}
.nav-logo-text span{color:var(--accent)!important}

.hamburger{display:flex!important;width:42px;height:42px;align-items:center;justify-content:center;
  flex-direction:column;border-radius:var(--radius-m);gap:5px!important;padding:0!important;margin-left:auto;
  transition:background .16s var(--ease)}
.hamburger:active{background:var(--ink-100)}
.hamburger span{width:20px!important;height:2px!important;background:var(--ink-900)!important;border-radius:2px;
  transition:transform .26s var(--ease),opacity .18s var(--ease)}
.hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.is-open span:nth-child(2){opacity:0}
.hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* mobile drawer */
@media(max-width:1180px){
  .nav-links{display:none!important}
  .nav-links.open{display:flex!important}
  .hamburger{display:flex!important}
}
.nav-links{
  position:fixed!important;top:var(--nav-h)!important;left:0;right:0;
  max-height:calc(100vh - var(--nav-h));overflow-y:auto;-webkit-overflow-scrolling:touch;
  flex-direction:column!important;align-items:stretch!important;
  background:rgba(255,255,255,.98)!important;backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line)!important;
  box-shadow:0 24px 48px -18px rgba(10,16,32,.24)!important;
  padding:12px 12px calc(16px + env(safe-area-inset-bottom))!important;gap:2px!important;
  list-style:none;z-index:1201}
.nav-links li{width:100%}
.nav-links a{
  display:flex!important;align-items:center;width:100%;
  font-family:var(--font-body)!important;text-transform:none!important;
  font-size:1rem!important;font-weight:500!important;letter-spacing:-0.005em!important;
  color:var(--t-mid)!important;padding:13px 14px!important;min-height:48px;
  border:none!important;border-radius:var(--radius-m)!important;text-decoration:none;
  transition:background .16s var(--ease),color .16s var(--ease),transform .12s var(--ease)}
.nav-links a:hover{color:var(--ink-900)!important;background:var(--ink-100)!important}
.nav-links a:active{transform:scale(.99)}
.nav-links a.active{color:var(--accent)!important;background:var(--accent-soft)!important;font-weight:600!important}
.nav-links a.nav-cta,.nav-cta{
  background:linear-gradient(180deg,#2C6BE8,var(--accent))!important;color:#FFFFFF!important;justify-content:center;
  border-radius:var(--radius-pill)!important;font-weight:600!important;
  height:48px!important;margin:10px 2px 2px!important;padding:0 20px!important;
  box-shadow:var(--shadow-accent)!important;border:none!important}
.nav-links a.nav-cta:hover,.nav-cta:hover{background:linear-gradient(180deg,#2560DC,var(--accent-hover))!important;color:#FFFFFF!important}
.nav-cta:active{transform:scale(.97)}

/* ── Hero ────────────────────────────────────────────────── */
#hero,.hero,.page-hero,.about-hero,.qc-hero,.tm-hero,.inv-hero,body>section:first-of-type{
  min-height:0!important;overflow:hidden;background:transparent!important;
  padding-top:calc(var(--nav-h) + 40px)!important;padding-bottom:48px!important;
  padding-left:var(--pad-x)!important;padding-right:var(--pad-x)!important;
  border-bottom:1px solid rgba(227,232,242,.9)}
#hero::before,#hero::after,.page-hero::before,.page-hero::after,
.hero::after,.about-hero::after,.qc-hero::after{display:none!important}
.hero-grid{grid-template-columns:1fr!important;gap:36px!important;padding:0!important;width:100%}
#hero .hero-title,.page-hero .hero-title,.hero-title{
  font-size:clamp(2.05rem,7.8vw,3.5rem)!important;line-height:1.05!important;
  letter-spacing:-0.036em!important;color:var(--ink-900)!important;font-weight:800!important}
.hero-title em{
  font-style:normal;color:var(--accent)!important;
  background:linear-gradient(180deg,#2C6BE8,#1747B8);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent}
.hero-kicker{font-size:clamp(1.04rem,3vw,1.26rem)!important;color:var(--t-low)!important;line-height:1.55!important;font-weight:400}
.hero-purpose{border-left:3px solid var(--accent-line)!important;padding-left:16px!important;
  color:var(--t-low)!important;font-size:0.96rem!important}
.hero-purpose em{color:var(--accent-2)!important;font-style:normal;font-weight:600}
.hero-badge,.qc-badge,.version-badge,[class$="-badge"]:not(.framework-badge),[class*="-badge "]:not(.framework-badge){
  display:inline-flex!important;align-items:center;gap:8px;width:auto!important;max-width:100%;
  white-space:nowrap!important;background:rgba(255,255,255,.9)!important;border:1px solid var(--accent-line)!important;
  color:var(--accent-press)!important;border-radius:var(--radius-pill)!important;padding:7px 15px!important;
  font-family:var(--font-mono)!important;font-size:0.62rem!important;letter-spacing:0.12em;
  box-shadow:var(--shadow-s)!important;line-height:1.2}
.trust-item{color:var(--t-low)!important;font-family:var(--font-mono)!important;font-size:0.72rem!important}
.hero-legal-note{color:var(--t-low)!important;font-size:0.74rem!important}
.core-question{background:rgba(255,255,255,.86)!important;border:1px solid var(--line)!important;
  border-radius:var(--radius-l)!important;padding:12px 16px!important;max-width:100%!important;
  box-shadow:var(--shadow-s)!important}
.cq-text{font-family:var(--font-display)!important;font-style:normal!important;font-weight:600;color:var(--ink-900)!important}
.cq-label{color:var(--accent)!important}
.cq-sep{background:var(--line-strong)!important}
.hero-cta-group{gap:10px!important}
.about-hero .hero-title{font-family:var(--font-body)!important;font-size:0.98rem!important;font-weight:500!important;
  letter-spacing:0!important;line-height:1.55!important;color:var(--t-low)!important;margin-bottom:20px!important}
.about-hero .hero-name{font-size:clamp(1.95rem,6.8vw,3rem)!important;letter-spacing:-0.034em!important;margin-bottom:8px!important}
.about-hero .hero-tagline{font-family:var(--font-display)!important;font-style:normal!important;font-weight:600!important;
  font-size:1.1rem!important;line-height:1.5!important;color:var(--ink-900)!important;letter-spacing:-0.014em}
.about-hero .photo-frame{border:1px solid var(--line)!important;border-radius:var(--radius-xl)!important;
  box-shadow:var(--shadow-xl)!important;background:var(--surface)!important}
.about-hero .photo-caption{font-family:var(--font-body)!important;font-size:0.8rem!important;color:var(--t-faint)!important;letter-spacing:0!important}
.hero-label{display:inline-block;font-family:var(--font-mono);font-size:0.66rem;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.page-hero-inner h1,.page-hero-inner h2{margin-bottom:14px}
.page-hero-inner .lead,.page-hero-inner > p{margin-bottom:0}
.inv-hero-inner{max-width:1180px;margin:0 auto}
.inv-badge{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:0.66rem;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}

/* ── Cards ───────────────────────────────────────────────── */
[class$="-card"],[class*="-card "],[class$="-box"],[class*="-box "],[class$="-cell"],[class*="-cell "]{
  border-radius:var(--radius-l)!important}
[class$="-card"]:not(.mc-score-card),[class*="-card "]:not(.mc-score-card){
  position:relative;background:var(--surface)!important;border:1px solid var(--line)!important;
  box-shadow:var(--shadow-m)!important;
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.driver-card,.why-card,.threat-card,.aud-card,.step-card{padding:24px!important}
.driver-icon,.threat-icon,.step-icon{font-size:1.2rem!important;width:46px;height:46px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#F1F6FF,var(--accent-soft));border:1px solid var(--accent-line);
  border-radius:var(--radius-m);margin-bottom:16px!important;box-shadow:inset 0 1px 0 #fff}
[class$="-card"] h3,[class*="-card "] h3{margin-bottom:8px!important;color:var(--ink-900)!important}
[class$="-card"] p,[class*="-card "] p{font-size:0.94rem!important;color:var(--t-low)!important;max-width:none}

/* ── Stat rail ───────────────────────────────────────────── */
.stat-bar{background:var(--surface)!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:34px var(--pad-x)!important;grid-template-columns:1fr 1fr!important;gap:4px!important;
  box-shadow:var(--shadow-s)}
.stat-item{border-right:none!important;padding:16px 8px!important}
.stat-number{font-family:var(--font-display)!important;font-size:clamp(1.95rem,7.4vw,3rem)!important;font-weight:800!important;
  letter-spacing:-0.038em!important;line-height:1;
  background:linear-gradient(180deg,#2C6BE8,#1440A8);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--accent)!important}
.stat-desc{color:var(--t-low)!important;font-size:0.82rem!important;margin-top:8px!important;max-width:26ch;margin-left:auto;margin-right:auto}

/* ── Buttons ─────────────────────────────────────────────── */
.btn,.mc-cta-btn,.qc-btn,.gate-btn,.form-submit,.fb-submit-btn,button[type="submit"],input[type="submit"]{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;
  border-radius:var(--radius-pill)!important;font-family:var(--font-body)!important;font-weight:600!important;
  font-size:0.95rem!important;padding:13px 24px!important;min-height:48px;letter-spacing:-0.005em!important;
  border:1px solid transparent;text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:background .18s var(--ease),color .18s var(--ease),transform .14s var(--ease),
             box-shadow .22s var(--ease),border-color .18s var(--ease)}
.btn::after,.mc-cta-btn::after,.qc-btn::after{
  content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);
  transform:skewX(-18deg);transition:left .55s var(--ease)}
.btn:hover::after,.mc-cta-btn:hover::after,.qc-btn:hover::after{left:130%}
.btn:active,.mc-cta-btn:active,.qc-btn:active,.form-submit:active,.fb-submit-btn:active,button[type="submit"]:active{transform:scale(.97)}
.btn-primary,.btn-white,.mc-cta-primary,.qc-btn-primary,.form-submit,.fb-submit-btn,button[type="submit"],input[type="submit"]{
  background:linear-gradient(180deg,#2C6BE8,var(--accent))!important;color:#FFFFFF!important;border-color:transparent!important;
  box-shadow:var(--shadow-accent)!important}
.btn-primary:hover,.btn-white:hover,.mc-cta-primary:hover,.qc-btn-primary:hover,.form-submit:hover,.fb-submit-btn:hover,button[type="submit"]:hover{
  background:linear-gradient(180deg,#2560DC,var(--accent-hover))!important;color:#FFFFFF!important;transform:translateY(-1px)!important;
  box-shadow:0 10px 26px -6px rgba(31,95,224,.5)!important}
.btn-teal{background:linear-gradient(180deg,#1BB4A8,var(--accent-2-fill))!important;color:#FFFFFF!important;
  box-shadow:0 6px 18px -4px rgba(23,166,155,.42)!important}
.btn-teal:hover{background:linear-gradient(180deg,#17A69B,#0E7C74)!important;color:#FFFFFF!important;transform:translateY(-1px)!important}
.btn-outline,.mc-cta-outline,.btn-ghost-w,.btn-outline-white,.btn-ghost,.btn-border,.qc-btn-secondary{
  background:rgba(255,255,255,.9)!important;color:var(--accent)!important;
  border:1px solid var(--accent-line)!important;box-shadow:var(--shadow-s)!important}
.btn-outline:hover,.mc-cta-outline:hover,.btn-ghost-w:hover,.btn-outline-white:hover,.btn-ghost:hover,.btn-border:hover,.qc-btn-secondary:hover{
  background:var(--accent-soft)!important;color:var(--accent-press)!important;border-color:var(--accent)!important;
  transform:translateY(-1px)!important}
.btn-group,.cta-btns,.cta-group,.hero-btns,.qc-btn-group,.fb-share-btns{display:flex;flex-wrap:wrap;gap:10px}

/* ── Forms ───────────────────────────────────────────────── */
input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],input[type="password"],input[type="date"],select,textarea,
.form-input,.form-select,.form-textarea{
  font-family:var(--font-body)!important;font-size:16px!important;color:var(--ink-900)!important;
  background:#FFFFFF!important;border:1px solid var(--line-strong)!important;border-radius:var(--radius-m)!important;
  padding:13px 15px!important;width:100%;box-shadow:inset 0 1px 2px rgba(10,16,32,.04)!important;
  transition:border-color .16s var(--ease),box-shadow .16s var(--ease);-webkit-appearance:none;appearance:none}
select,.form-select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235C667E' stroke-width='1.6' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 14px center!important;padding-right:36px!important}
select option{background:#FFFFFF;color:var(--ink-900)}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:var(--accent)!important;box-shadow:var(--shadow-focus)!important}
input::placeholder,textarea::placeholder{color:var(--ink-400)!important}
.form-label{font-family:var(--font-body)!important;font-weight:600!important;font-size:0.86rem!important;color:var(--t-hi)!important}
.form-wrap{background:var(--surface)!important;border-radius:var(--radius-xl)!important;border:1px solid var(--line)!important;
  box-shadow:var(--shadow-l)!important;padding:22px!important}
input[type="range"]{accent-color:var(--accent)}
input[type="checkbox"],input[type="radio"]{accent-color:var(--accent);width:20px;height:20px}

/* ── Panels, quotes, tables ──────────────────────────────── */
.scenario-box,.trinity-block,.attr-block,.cite-block,.notice-box,.contact-box,.citation-box,.gate-card,
.formula-block,.sh-formula,.formula-display,.vector-exec,.gc-why,.gc-how,.gc-what,.tier-cell{
  background:var(--surface)!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-s)!important;
  color:var(--t-mid)!important}
.scenario-box,.trinity-block,.notice-box,.citation-box,.formula-block{border-radius:var(--radius-l)!important}
.sh-formula,.formula-display,.formula-block{border-radius:var(--radius-l)!important;color:var(--ink-900)!important;
  background:linear-gradient(180deg,#FFFFFF,#F4F7FD)!important;border:1px solid var(--line)!important}
.sh-formula{font-family:var(--font-mono)!important;font-size:clamp(0.92rem,3.4vw,1.4rem)!important;padding:18px 20px!important;
  overflow-x:auto;white-space:nowrap}
.sh-exec,.formula-exec{font-family:var(--font-body)!important;font-style:normal!important;color:var(--t-low)!important}
blockquote{font-family:var(--font-display)!important;font-weight:600;letter-spacing:-0.02em;color:var(--ink-900)!important}
cite{color:var(--t-faint)!important;font-style:normal}
.tier-cell{border-radius:var(--radius-m)!important;padding:16px 12px!important}
.tier-range{font-family:var(--font-display)!important;font-weight:800!important;letter-spacing:-0.024em}
.tier-label{color:var(--t-low)!important;font-size:0.8rem!important}

table{border-radius:var(--radius-l);overflow:hidden;border:1px solid var(--line);border-collapse:separate!important;
  border-spacing:0;width:100%;background:var(--surface)!important;font-size:0.92rem;box-shadow:var(--shadow-s)}
th{font-family:var(--font-display)!important;font-weight:700!important;color:var(--ink-900)!important;
  background:var(--ink-50)!important;border-bottom:1px solid var(--line)!important;padding:12px 14px!important;text-align:left}
td{border-top:1px solid var(--line)!important;color:var(--t-mid)!important;padding:12px 14px!important}
tbody tr:nth-child(even) td{background:#FAFBFE!important}
tbody tr:hover td{background:var(--accent-soft)!important}
tbody tr:first-child td{border-top:none!important}

/* ── Mini calculator ─────────────────────────────────────── */
.mini-calc{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--radius-xl)!important;
  padding:20px!important;box-shadow:var(--shadow-xl)!important;overflow:hidden}
.mini-calc::before{background:linear-gradient(90deg,var(--accent),var(--accent-2-fill))!important;height:3px!important}
.mc-score-card{background:linear-gradient(180deg,#FFFFFF,#F5F8FD)!important;border:1px solid var(--line)!important;
  border-radius:var(--radius-m)!important;box-shadow:var(--shadow-s)!important}
.mc-card-num{font-family:var(--font-display)!important;font-weight:800!important;letter-spacing:-0.034em!important;color:var(--ink-900)}
.mc-title{color:var(--accent)!important}
.mc-badge{background:var(--ink-50)!important;border:1px solid var(--line)!important;color:var(--t-low)!important;white-space:nowrap}
.mc-card-label{color:var(--t-low)!important}
.mc-card-formula{color:var(--t-low)!important}
.mc-disclaimer{color:var(--t-low)!important;font-style:normal!important;font-size:0.78rem!important}

/* slider rows: label on its own line so nothing is ever truncated */
.mc-sliders{gap:18px!important}
.mc-slider-row{
  display:grid!important;grid-template-columns:1fr auto!important;
  grid-template-areas:"label value" "range range"!important;
  align-items:center!important;gap:8px 12px!important}
.mc-slider-label{grid-area:label;display:flex!important;flex-direction:row!important;align-items:baseline!important;
  gap:8px!important;flex-wrap:wrap;min-width:0}
.mc-slider-abbr{font-family:var(--font-mono)!important;font-size:0.7rem!important;font-weight:700!important;flex:none}
.mc-slider-name{font-size:0.86rem!important;color:var(--t-low)!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.35}
.mc-slider-val{grid-area:value;font-family:var(--font-display)!important;font-weight:800!important;
  font-size:1rem!important;text-align:right;font-variant-numeric:tabular-nums}
.mc-range{grid-area:range;width:100%!important;height:8px!important;border-radius:99px!important;
  background-color:var(--ink-200)}
.mc-range::-webkit-slider-thumb{width:22px!important;height:22px!important;border:2px solid #fff!important;
  box-shadow:0 2px 8px -1px rgba(10,16,32,.35)!important}
.mc-range::-moz-range-thumb{width:22px!important;height:22px!important;border:2px solid #fff!important}
.mc-s-tei .mc-slider-abbr,.mc-s-tei .mc-slider-val{color:var(--accent)!important}
.mc-s-orci .mc-slider-abbr,.mc-s-orci .mc-slider-val{color:var(--accent-2)!important}
.mc-s-rvi .mc-slider-abbr,.mc-s-rvi .mc-slider-val{color:#A05A00!important}
.mc-cta-row{grid-template-columns:1fr!important;gap:8px!important}
.mc-cta-btn{white-space:normal!important;font-size:0.86rem!important;padding:12px 16px!important}
.mc-critical{color:#C2323A!important}
.mc-at-risk{color:#A05A00!important}
.mc-vulnerable{color:#15774A!important}
.mc-resilient{color:var(--accent)!important}

/* ── Framework vector cards + stress test ────────────────── */
.vector-card{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--radius-l)!important;
  border-top:3px solid var(--accent)!important;color:var(--t-mid)!important}
.vector-card:nth-child(2){border-top-color:var(--accent-2-fill)!important}
.vector-card:nth-child(3){border-top-color:#6D3FE0!important}
.vector-card h3{color:var(--ink-900)!important}
.vector-card p{color:var(--t-low)!important}
.vector-card .vector-abbr{color:var(--accent)!important;opacity:1!important}
.vector-card:nth-child(2) .vector-abbr{color:var(--accent-2)!important}
.vector-card:nth-child(3) .vector-abbr{color:#5B32C8!important}
.vector-card .vector-num{opacity:.06!important;color:var(--ink-900)!important}
.vector-exec{background:var(--ink-50)!important;border:1px solid var(--line)!important;color:var(--t-mid)!important;border-radius:var(--radius-m)!important}
.stress-test-box{background:linear-gradient(180deg,#F2F7FF,#E9F0FE)!important;border:1px solid var(--accent-line)!important;
  border-radius:var(--radius-l)!important;color:var(--t-mid)!important}
.stress-test-box h2,.stress-test-box h3,.stress-test-box strong{color:var(--ink-900)!important}
.stress-test-box p,.stress-test-box li{color:var(--t-mid)!important}

/* ── Chips ───────────────────────────────────────────────── */
.ct-blue,.ct-teal,.ct-purple,.ct-gold,.ct-green,.cert-tag{
  background:var(--ink-50)!important;color:var(--t-hi)!important;border:1px solid var(--line)!important;
  border-radius:var(--radius-pill)!important;font-weight:500}

/* ── Closing CTA + footer ────────────────────────────────── */
#cta-main,.cta-section,.cta-band,.cta-strip,.final-cta,.inv-cta,.qc-cta-band{
  background:linear-gradient(180deg,#F1F6FF,#E7EFFD)!important;
  border-top:1px solid var(--accent-line);border-bottom:1px solid var(--accent-line)}
#cta-main h2,.cta-section h2,.cta-band h2,.cta-strip h2,.final-cta h2,.inv-cta h2,.qc-cta-band h2{color:var(--ink-900)!important}
#cta-main p,.cta-section p,.cta-band p,.final-cta p{color:var(--t-mid)!important}

footer{background:var(--ink-900)!important;border-top:none!important;
  padding:44px var(--pad-x) calc(28px + env(safe-area-inset-bottom))!important;color:rgba(255,255,255,.68)!important}
footer h1,footer h2,footer h3,footer h4,footer p,footer li,footer span,footer div{color:rgba(255,255,255,.72)!important}
.footer-logo{font-family:var(--font-display)!important;font-weight:800!important;color:#FFFFFF!important}
.footer-logo span{color:#7FA8FF!important}
.footer-tagline{color:rgba(255,255,255,.62)!important;font-family:var(--font-body)!important;font-style:normal!important}
.footer-col-title{color:rgba(255,255,255,.48)!important;letter-spacing:0.16em;font-size:0.64rem!important;text-transform:uppercase}
.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.footer-col a{color:rgba(255,255,255,.74)!important;font-size:0.92rem!important;padding:7px 0;display:block;text-decoration:none}
.footer-col a:hover{color:#FFFFFF!important}
.footer-inner{max-width:1180px;margin:0 auto}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12)!important;color:rgba(255,255,255,.5)!important;
  padding-top:22px!important;font-size:0.8rem}
.footer-bottom a,.footer-links a{color:rgba(255,255,255,.66)!important}
.footer-bottom a:hover,.footer-links a:hover{color:#FFFFFF!important}
.footer-note,.footer-attr,.footer-copy{color:rgba(255,255,255,.5)!important;font-size:0.8rem}
.footer-links{display:flex;flex-wrap:wrap;gap:14px}

/* ── Threat map console (intentionally dark data surface) ── */
.threat-map-panel{border-radius:var(--radius-l)!important;overflow:hidden!important;
  border:1px solid rgba(10,16,32,.12)!important;box-shadow:var(--shadow-xl)!important}
.threat-map-panel [class$="-card"],.threat-map-panel [class*="-card "],
.threat-map-panel [class$="-cell"],.threat-map-panel [class*="-cell "],
.threat-map-panel [class$="-box"],.threat-map-panel [class*="-box "]{
  border-radius:0!important;background:none;border:none;box-shadow:none!important;transform:none!important}
.threat-map-panel a{color:inherit}

/* ── Image slots ─────────────────────────────────────────── */
.img-slot{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;
  width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-l);
  border:1px dashed var(--line-strong);background:linear-gradient(180deg,#FFFFFF,var(--ink-50))}
.img-slot img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.img-slot > span{padding:0 20px;font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--t-faint);line-height:1.8}
.img-slot > span b{display:block;color:var(--t-low);font-weight:500;letter-spacing:0.06em}
.img-slot:has(img){border-style:solid;border-color:var(--line);box-shadow:var(--shadow-l)}
.img-slot:has(img) > span{display:none}
.img-slot--portrait{aspect-ratio:3/4}
.img-slot--wide{aspect-ratio:21/9}
.img-figure{margin:0;display:block}
.img-caption{margin-top:10px;font-size:0.8rem;color:var(--t-faint);font-family:var(--font-body);
  padding-left:12px;border-left:2px solid var(--accent-line);line-height:1.5}

/* ── Podcast band ────────────────────────────────────────── */
#podcast .podcast-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:center}
#podcast h2{margin-bottom:12px}
#podcast .pod-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
#podcast .pod-chip{font-family:var(--font-mono);font-size:0.64rem;letter-spacing:0.13em;text-transform:uppercase;
  color:var(--accent-press);background:var(--accent-soft);border:1px solid var(--accent-line);
  border-radius:var(--radius-pill);padding:5px 12px}
#podcast .pod-desc{color:var(--t-low);margin-bottom:22px;max-width:46ch}
.pod-player{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:var(--radius-l);overflow:hidden;
  border:1px solid var(--line);background:var(--ink-50);box-shadow:var(--shadow-l);text-decoration:none;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.pod-player:hover{transform:translateY(-4px);border-color:var(--accent-line);box-shadow:var(--shadow-xl)}
.pod-player img,.pod-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.pod-player::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,16,32,0) 50%,rgba(10,16,32,.72) 100%);pointer-events:none}
.pod-player.is-live::after{display:none}
.pod-player.is-empty{background:linear-gradient(160deg,#FFFFFF,#EDF2FA)}
.pod-player.is-empty::after{display:none}
.pod-player.is-empty .pod-play{background:var(--ink-200);box-shadow:none;color:var(--t-low)}
.pod-player.is-empty .pod-play::before{animation:none;border-color:var(--line)}
.pod-player.is-empty .pod-caption{color:var(--t-low);text-shadow:none}
.pod-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;z-index:2;color:#fff;font-size:1.3rem;padding-left:4px;
  background:linear-gradient(180deg,#2C6BE8,var(--accent));box-shadow:0 12px 32px -6px rgba(31,95,224,.55);
  transition:transform .22s var(--ease),background .22s var(--ease);overflow:hidden;line-height:1}
.pod-player:hover .pod-play{transform:translate(-50%,-50%) scale(1.08)}
.pod-play::before{content:"";position:absolute;inset:-12px;border-radius:50%;border:1px solid rgba(31,95,224,.45);animation:podPulse 2.6s ease-out infinite}
@keyframes podPulse{0%{transform:scale(.9);opacity:.8}100%{transform:scale(1.35);opacity:0}}
.pod-caption{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff;font-family:var(--font-display);
  font-weight:700;font-size:0.96rem;letter-spacing:-0.014em;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.fb-share-btn{background:#FFFFFF!important;border:1px solid var(--line-strong)!important;color:var(--t-hi)!important;
  border-radius:var(--radius-pill)!important;font-weight:600!important}
.fb-share-btn:hover{background:var(--ink-50)!important;border-color:var(--accent)!important;color:var(--accent)!important}

/* ── 20 disruption scenarios ─────────────────────────────── */
.scn-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.scn-wrap{display:flex;flex-direction:column;gap:32px;margin:32px 0}
.scn-cat{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.scn-cat-label{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--ink-700);color:color-mix(in srgb,var(--cat,var(--accent)) 58%,var(--ink-900));white-space:nowrap;font-weight:500}
.scn-rule{flex:1;height:1px;background:linear-gradient(90deg,var(--cat,var(--accent)),var(--line))}
.scn-count{font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--t-faint);border:1px solid var(--line);border-radius:var(--radius-pill);padding:4px 10px;white-space:nowrap;background:#fff}
.scn-grid{display:grid;grid-template-columns:1fr;gap:12px}
.scn-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-l);padding:20px 18px;box-shadow:var(--shadow-s);
  transition:transform .26s var(--ease),border-color .26s var(--ease),box-shadow .26s var(--ease)}
.scn-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--cat,var(--accent));opacity:.8}
.scn-card:hover{transform:translateY(-4px);border-color:var(--cat,var(--accent));box-shadow:var(--shadow-l)}
.scn-num{position:absolute;top:14px;right:16px;font-family:var(--font-mono);font-size:0.68rem;color:var(--t-faint);letter-spacing:0.05em}
.scn-ico{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:14px;
  font-size:1.15rem;line-height:1;border-radius:var(--radius-m);
  background:color-mix(in srgb,var(--cat,var(--accent)) 10%,#fff);
  border:1px solid color-mix(in srgb,var(--cat,var(--accent)) 26%,#fff)}
.scn-title{font-family:var(--font-display);font-size:0.98rem!important;font-weight:700;color:var(--ink-900)!important;
  margin:0 0 6px;letter-spacing:-0.014em;line-height:1.28;padding-right:28px}
.scn-desc{font-size:0.86rem!important;line-height:1.6;color:var(--t-low)!important;margin:0;max-width:none}
.scn-cta{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding:24px 22px;border-radius:var(--radius-l);border:1px solid var(--accent-line);
  background:linear-gradient(135deg,#F2F7FF,#E7F4F2)}
.scn-cta h3{font-size:1.18rem!important;margin-bottom:6px!important}

/* ── FAQ page ────────────────────────────────────────────── */
.hero-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.hero-tab{display:inline-flex;align-items:center;flex:0 0 auto;white-space:nowrap;min-height:42px;padding:9px 17px;border-radius:var(--radius-pill);
  background:rgba(255,255,255,.9);border:1px solid var(--line);color:var(--t-mid);font-size:0.88rem;font-weight:500;
  text-decoration:none;box-shadow:var(--shadow-s);
  transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),transform .14s var(--ease)}
.hero-tab:hover{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-press);transform:translateY(-1px)}

.faq-layout{display:grid;grid-template-columns:1fr;gap:28px;max-width:1180px;margin:0 auto;padding:44px var(--pad-x) 8px}
.faq-sidebar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sidebar-title{width:100%;font-family:var(--font-mono);font-size:0.64rem;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--t-faint);margin-bottom:4px}
.sidebar-link{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 15px;
  border-radius:var(--radius-pill);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-s);
  font-family:var(--font-body);font-size:0.86rem;font-weight:500;color:var(--t-mid);
  cursor:pointer;text-align:left;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease)}
.sidebar-link:hover{background:var(--ink-50);color:var(--ink-900)}
.sidebar-link.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-press);font-weight:600}
.sidebar-link .num{font-family:var(--font-mono);font-size:0.68rem;color:var(--t-faint)}
.sidebar-link.active .num{color:var(--accent)}
.sidebar-divider{display:none}
.sidebar-cta{display:none}

.faq-content{min-width:0}
.faq-group{margin-bottom:40px;scroll-margin-top:calc(var(--nav-h) + 20px)}
.group-header{margin-bottom:16px}
.group-label{display:block;font-family:var(--font-mono);font-size:0.64rem;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.group-title{font-family:var(--font-display);font-size:1.5rem!important;font-weight:800;letter-spacing:-0.028em;color:var(--ink-900)!important}
.group-divider{height:1px;background:var(--line);border:none;margin:0 0 18px}

.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);
  margin-bottom:10px;overflow:hidden;box-shadow:var(--shadow-s);
  transition:border-color .22s var(--ease),box-shadow .22s var(--ease)}
.faq-item.open{border-color:var(--accent-line);box-shadow:var(--shadow-m)}
.faq-q{display:flex;align-items:flex-start;gap:12px;width:100%;min-height:58px;
  padding:17px 18px;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-body)}
.faq-q:hover{background:var(--ink-50)}
.faq-q-num{font-family:var(--font-mono);font-size:0.72rem;color:var(--t-faint);padding-top:3px;flex:none}
.faq-item.open .faq-q-num{color:var(--accent)}
.faq-q-text{flex:1;font-family:var(--font-display);font-size:1rem;font-weight:700;line-height:1.4;
  letter-spacing:-0.016em;color:var(--ink-900)}
.faq-chevron{width:20px;height:20px;flex:none;color:var(--t-faint);margin-top:2px;
  transition:transform .28s var(--ease),color .22s var(--ease)}
.faq-item.open .faq-chevron{transform:rotate(180deg);color:var(--accent)}
.faq-a{display:none;padding:0 18px 20px;border-top:1px solid var(--line)}
.faq-item.open .faq-a{display:block;padding-top:16px;animation:faqIn .32s var(--ease)}
@keyframes faqIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.faq-a p{color:var(--t-mid);font-size:0.96rem;margin-bottom:12px;max-width:72ch}
.faq-a p:last-child{margin-bottom:0}
.faq-a ul,.faq-a ol{margin:0 0 12px;padding-left:20px}
.faq-a li{color:var(--t-mid);font-size:0.96rem;margin-bottom:6px}
.example-box{background:var(--ink-50)!important;border:1px solid var(--line)!important;
  border-radius:var(--radius-m)!important;padding:16px 18px!important;margin:12px 0!important}

.not-section{border-top:1px solid var(--line)}
.not-inner{max-width:1180px;margin:0 auto;padding:52px var(--pad-x)}
.not-divider{height:1px;background:var(--line);border:none;margin:20px 0}
.not-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:24px}
.not-card{padding:22px!important}
.not-card-icon{font-size:1.2rem;margin-bottom:10px;display:block}
.not-card-title{font-family:var(--font-display);font-weight:700;color:var(--ink-900);margin-bottom:6px}
.not-card-body{color:var(--t-low);font-size:0.92rem}
.not-card-instead{display:block;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);
  color:var(--accent-press);font-size:0.88rem}
.service-cta{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-weight:600}

/* ── Long-form legal / document pages ────────────────────── */
main{display:block;max-width:880px;margin:0 auto;padding:40px var(--pad-x) 56px}
main h2{font-size:1.35rem!important;margin:34px 0 12px;scroll-margin-top:calc(var(--nav-h) + 20px)}
main h3{font-size:1.05rem!important;margin:22px 0 8px}
main p{margin-bottom:14px;color:var(--t-mid);max-width:none}
main ul,main ol{margin:0 0 16px;padding-left:22px}
main li{margin-bottom:6px;color:var(--t-mid)}
.page-meta,.effective-date{color:var(--t-faint);font-size:0.88rem;font-family:var(--font-mono);letter-spacing:0.01em}
.content{max-width:880px;margin:0 auto;padding:40px var(--pad-x) 56px}
.warning-box{background:linear-gradient(180deg,#FFFBF2,#FDF3E0)!important;border:1px solid #E4B970!important;
  border-radius:var(--radius-l)!important;padding:18px 20px!important;margin:0 0 24px!important}
.warning-box p{margin:0}
.highlight-box{background:linear-gradient(180deg,#F4F8FF,var(--accent-soft))!important;border:1px solid var(--accent-line)!important;
  border-radius:var(--radius-l)!important;padding:18px 20px!important;margin:18px 0!important}
.highlight-box p{margin:0}
nav.toc{display:block;position:static!important;height:auto!important;min-height:0!important;
  background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--radius-l);
  padding:20px 22px!important;margin:0 0 32px;box-shadow:var(--shadow-s)!important;backdrop-filter:none!important}
nav.toc h3{margin:0 0 12px;font-size:0.95rem!important}
nav.toc ol{margin:0;padding-left:20px}
nav.toc li{margin-bottom:7px;font-size:0.92rem}
nav.toc a{text-decoration:none}
nav.toc a:hover{text-decoration:underline}

/* ── Mobile grid + overflow safety ───────────────────────── */
@media(max-width:760px){
  [style*="grid-template-columns"]:not(.mc-scores-row):not(.mc-slider-row):not(.stat-bar){
    grid-template-columns:1fr!important}
  [style*="grid-template-columns"] > [style*="grid-column"]{grid-column:auto!important}
  [style*="display:flex"][style*="gap"]{flex-wrap:wrap}
  pre,.sh-formula,.formula-display{overflow-x:auto}
}
div:has(> table),.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ── Tablet ──────────────────────────────────────────────── */
@media(min-width:768px){
  :root{--pad-x:40px;--nav-h:64px}
  section{padding:80px var(--pad-x)!important}
  .stat-bar{grid-template-columns:repeat(4,1fr)!important;padding:48px var(--pad-x)!important}
  .stat-item{border-right:1px solid var(--line)!important}
  .stat-item:last-child{border-right:none!important}
  .driver-card,.why-card,.threat-card,.aud-card,.step-card{padding:30px!important}
  .form-wrap{padding:34px!important}
  .mini-calc{padding:28px!important}
  .mc-cta-row{grid-template-columns:1fr 1fr!important}
  .scn-grid{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px}
  #podcast .podcast-grid{grid-template-columns:0.9fr 1.1fr;gap:44px}
  #hero,.hero,.page-hero,.about-hero,.qc-hero,.tm-hero,.inv-hero,body>section:first-of-type{
    padding-top:calc(var(--nav-h) + 64px)!important;padding-bottom:72px!important}
  footer{padding:64px var(--pad-x) 32px!important}
  .faq-layout{padding:64px var(--pad-x) 8px;gap:36px}
  .not-grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .not-inner{padding:72px var(--pad-x)}
  main{padding:56px var(--pad-x) 72px}
  .content{padding:56px var(--pad-x) 72px}
  nav.toc ol{columns:2;column-gap:32px}
}
@media(min-width:1024px){
  .faq-layout{grid-template-columns:250px 1fr;align-items:start}
  .faq-sidebar{position:sticky;top:calc(var(--nav-h) + 24px);flex-direction:column;align-items:stretch;gap:6px}
  .sidebar-link{width:100%;border-radius:var(--radius-m)}
  .sidebar-divider{display:block;height:1px;background:var(--line);margin:16px 0}
  .sidebar-cta{display:block;background:linear-gradient(180deg,#FFFFFF,var(--ink-50));border:1px solid var(--line);
    border-radius:var(--radius-l);padding:16px;box-shadow:var(--shadow-s)}
  .sidebar-cta p{font-size:0.84rem;color:var(--t-low);margin-bottom:12px}
  .sidebar-cta a{display:flex;align-items:center;justify-content:center;min-height:44px;
    border-radius:var(--radius-pill);background:linear-gradient(180deg,#2C6BE8,var(--accent));color:#fff;
    font-size:0.86rem;font-weight:600;text-decoration:none;margin-bottom:8px;box-shadow:var(--shadow-accent)}
  .sidebar-cta a:hover{background:linear-gradient(180deg,#2560DC,var(--accent-hover));color:#fff}
  .sidebar-cta a.ghost{background:#fff;color:var(--accent);border:1px solid var(--accent-line);
    margin-bottom:0;box-shadow:none}
  .sidebar-cta a.ghost:hover{background:var(--accent-soft)}
  .not-grid{grid-template-columns:repeat(3,1fr)}
  .faq-q-text{font-size:1.06rem}
}

/* ── Desktop nav + layout ────────────────────────────────── */
@media(min-width:1181px){
  :root{--pad-x:56px;--nav-h:70px}
  nav#main-nav,body>nav{padding:0 30px!important}
  nav#main-nav.is-scrolled,body>nav.is-scrolled{height:62px!important;min-height:62px!important}
  .hamburger{display:none!important}
  .nav-links{
    position:static!important;flex-direction:row!important;align-items:center!important;
    max-height:none;overflow:visible;background:transparent!important;border:none!important;
    box-shadow:none!important;padding:0!important;gap:2px!important;width:auto;backdrop-filter:none}
  .nav-links li{width:auto}
  .nav-links a{width:auto;font-size:0.8rem!important;padding:9px 11px!important;min-height:0;
    border-radius:var(--radius-pill)!important;white-space:nowrap}
  .nav-links a.nav-cta,.nav-cta{height:42px!important;margin:0 0 0 10px!important;padding:0 20px!important}
  section{padding:104px var(--pad-x)!important}
  .hero-grid{grid-template-columns:1fr 1.22fr!important;gap:60px!important;align-items:center}
  #hero,.hero,.page-hero,.about-hero,.qc-hero,.inv-hero,body>section:first-of-type{
    padding-top:calc(var(--nav-h) + 72px)!important;padding-bottom:88px!important}
  [class$="-card"]:not(.mc-score-card):hover,[class*="-card "]:not(.mc-score-card):hover{
    transform:translateY(-4px);border-color:var(--accent-line)!important;box-shadow:var(--shadow-l)!important}
  .nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:11px;right:11px;bottom:2px;height:2px;
    border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;
    transition:transform .26s var(--ease)}
  .nav-links a:not(.nav-cta){position:relative}
  .nav-links a:not(.nav-cta):hover::after{transform:scaleX(1)}
}

/* ── Motion ──────────────────────────────────────────────── */
html.m-anim section > *,html.m-anim .stat-bar{opacity:0;transform:translateY(18px)}
html.m-anim .m-in,html.m-anim .m-in > *{opacity:1;transform:none;
  transition:opacity .62s var(--ease),transform .62s var(--ease)}
html.m-anim .m-in > *:nth-child(2){transition-delay:.06s}
html.m-anim .m-in > *:nth-child(3){transition-delay:.12s}
html.m-anim .m-in > *:nth-child(4){transition-delay:.18s}
html.m-anim .m-in > *:nth-child(5){transition-delay:.24s}
html.m-anim .m-in > *:nth-child(6){transition-delay:.30s}
html.m-anim .m-in > *:nth-child(7){transition-delay:.36s}
html.m-anim nav,html.m-anim nav *,html.m-anim #hero > *,html.m-anim .page-hero > *,html.m-anim .hero > *,
html.m-anim .about-hero > *,html.m-anim .qc-hero > *{opacity:1;transform:none}

/* hero entrance */
@keyframes heroRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
#hero .hero-grid > *,.page-hero-inner > *,.about-hero .hero-grid > *,.inv-hero-inner > *{
  animation:heroRise .7s var(--ease) both}
#hero .hero-grid > *:nth-child(2),.page-hero-inner > *:nth-child(2),.inv-hero-inner > *:nth-child(2){animation-delay:.09s}
.page-hero-inner > *:nth-child(3),.inv-hero-inner > *:nth-child(3){animation-delay:.16s}
.page-hero-inner > *:nth-child(4){animation-delay:.22s}

@media(prefers-reduced-motion:reduce){
  html.m-anim section > *,html.m-anim .stat-bar{opacity:1;transform:none}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ── Focus visibility ────────────────────────────────────── */
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,.hamburger:focus-visible{
  outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}


/* ============================================================
   v7 — DEPTH LAYER
   Adds section identity, richer surfaces and a real table
   design on top of everything above. Later rules win.
   ============================================================ */

:root{
  --canvas:#EFF3FA;
  --aurora-1:rgba(31,95,224,.16);
  --aurora-2:rgba(23,166,155,.14);
  --aurora-3:rgba(109,63,224,.10);
}
html{background:var(--canvas)}
body{background:var(--canvas)!important}

/* richer ambient field */
body::before{
  background:
    radial-gradient(780px 520px at 6% -8%,var(--aurora-1),transparent 60%),
    radial-gradient(700px 460px at 98% 0%,var(--aurora-2),transparent 58%),
    radial-gradient(900px 620px at 50% 46%,var(--aurora-3),transparent 60%),
    radial-gradient(1000px 660px at 50% 106%,var(--aurora-1),transparent 62%)!important}
body::after{opacity:.42!important;background-size:64px 64px!important;
  -webkit-mask-image:linear-gradient(#000,transparent 46%)!important;
  mask-image:linear-gradient(#000,transparent 46%)!important}

/* ── Section identity ────────────────────────────────────── */
section{isolation:isolate}
section:nth-of-type(even):not(#cta-main):not(.cta-section):not(.cta-band):not(.cta-strip):not(.final-cta):not(.inv-cta):not(.qc-cta-band){
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.86))!important;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
section:nth-of-type(odd){background:transparent}
section+section{border-top:none!important}
/* hairline gradient divider between every pair of sections */
section+section::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(31,95,224,.28) 18%,rgba(23,166,155,.28) 50%,rgba(31,95,224,.28) 82%,transparent)}
/* soft glow at the top of alternating bands */
section:nth-of-type(odd)::after{
  content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);
  width:min(1100px,100%);height:230px;z-index:-1;pointer-events:none;opacity:.85;
  background:radial-gradient(60% 100% at 50% 0%,rgba(31,95,224,.13),transparent 72%)}
.scn-section,.not-section{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.8))!important}

/* ── Eyebrow → pill ──────────────────────────────────────── */
.section-label,.eyebrow,.hero-eyebrow,.group-label,.hero-label,.inv-badge,.sidebar-title{
  background:linear-gradient(180deg,#FFFFFF,var(--accent-soft))!important;
  border:1px solid var(--accent-line)!important;border-radius:var(--radius-pill)!important;
  padding:6px 14px 6px 11px!important;box-shadow:var(--shadow-s)!important;
  color:var(--accent-press)!important;font-size:0.64rem!important;letter-spacing:0.15em!important;
  width:auto!important;align-self:flex-start;white-space:nowrap!important;max-width:100%}
.section-label::before,.eyebrow::before,.hero-eyebrow::before{
  width:6px!important;height:6px!important;border-radius:50%!important;
  background:var(--accent)!important;box-shadow:0 0 0 3px rgba(31,95,224,.16)!important}
.group-label,.hero-label,.inv-badge,.sidebar-title{display:inline-flex!important;align-items:center}
.sidebar-title{margin-bottom:10px!important}

/* ── Cards: more presence ────────────────────────────────── */
[class$="-card"]:not(.mc-score-card):not(.tm-context-card),[class*="-card "]:not(.mc-score-card){
  background:linear-gradient(180deg,#FFFFFF,#FBFCFE)!important;
  border:1px solid #E1E6F0!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 14px 30px -14px rgba(16,32,64,.16)!important;
  overflow:hidden}
[class$="-card"]:not(.mc-score-card)::before,[class*="-card "]:not(.mc-score-card)::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:1;
  background:linear-gradient(90deg,var(--accent),var(--accent-2-fill));
  opacity:0;transition:opacity .3s var(--ease)}
[class$="-card"]:not(.mc-score-card):hover::before,[class*="-card "]:not(.mc-score-card):hover::before{opacity:1}
.driver-icon,.threat-icon,.step-icon,.scn-ico,.not-card-icon{
  box-shadow:inset 0 1px 0 #fff,0 6px 14px -8px rgba(16,32,64,.45)}
.not-card-icon{display:inline-flex!important;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:var(--radius-m);font-size:1.15rem;
  background:linear-gradient(180deg,#F4F8FF,var(--accent-soft));border:1px solid var(--accent-line)}

/* ── Stat rail → stat cards ──────────────────────────────── */
.stat-bar{background:transparent!important;border:none!important;box-shadow:none!important;
  gap:12px!important;padding:44px var(--pad-x)!important}
.stat-item{
  background:linear-gradient(180deg,#FFFFFF,#F7F9FD)!important;border:1px solid #E1E6F0!important;
  border-right:1px solid #E1E6F0!important;border-radius:var(--radius-l)!important;
  padding:22px 16px!important;box-shadow:0 1px 2px rgba(10,16,32,.04),0 14px 30px -16px rgba(16,32,64,.18)!important;
  transition:transform .26s var(--ease),box-shadow .26s var(--ease)}
.stat-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-l)!important}
.stat-item:last-child{border-right:1px solid #E1E6F0!important}

/* ── Tables: proper data design ──────────────────────────── */
.table-shell{position:relative}
table{
  border:1px solid #DCE3EF!important;border-radius:var(--radius-l)!important;overflow:hidden;
  background:#FFFFFF!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 18px 40px -20px rgba(16,32,64,.22)!important;
  font-size:0.92rem}
thead th,th{
  background:linear-gradient(180deg,#16203A,#0C1426)!important;
  color:#FFFFFF!important;border-bottom:none!important;border-top:none!important;
  font-family:var(--font-display)!important;font-weight:700!important;font-size:0.78rem!important;
  letter-spacing:0.06em!important;text-transform:uppercase;padding:14px 16px!important;text-align:left;
  white-space:nowrap}
thead th:not(:last-child),th:not(:last-child){box-shadow:inset -1px 0 0 rgba(255,255,255,.12)}
td{border-top:1px solid #EDF0F6!important;color:var(--t-mid)!important;padding:14px 16px!important;
  vertical-align:top}
tbody tr:first-child td{border-top:none!important}
tbody tr:nth-child(even) td{background:#F7F9FD!important}
tbody tr:hover td{background:var(--accent-soft)!important;color:var(--ink-900)!important}
tbody td:first-child{font-weight:600;color:var(--ink-900)!important}
tbody tr:last-child td{border-bottom:none!important}
caption{caption-side:bottom;padding-top:10px;color:var(--t-faint);font-size:0.8rem;text-align:left}

/* comparison "tables" built from divs — give them the same language */
[style*="grid-template-columns:2fr 1fr 1fr"],
[style*="grid-template-columns:2fr 1fr 1fr 1fr"]{background:#FFFFFF}
div:has(> table){border-radius:var(--radius-l)}

/* ── Panels / notices: tinted, not grey ──────────────────── */
.notice-box,.citation-box,.cite-block,.attr-block,.contact-box,.gate-card,.scenario-box,.trinity-block{
  background:linear-gradient(180deg,#FFFFFF,#F7FAFF)!important;border:1px solid #E1E6F0!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 12px 26px -16px rgba(16,32,64,.18)!important}
.formula-block,.sh-formula,.formula-display{
  background:linear-gradient(135deg,#101B33,#1B2A4A)!important;color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 20px 44px -22px rgba(16,32,64,.55)!important}
.formula-block *,.sh-formula *,.formula-display *{color:#EAF1FF!important}
.sh-exec,.formula-exec{color:rgba(255,255,255,.72)!important}
.vector-exec{background:linear-gradient(180deg,#FFFFFF,#F5F8FD)!important}
.example-box{background:linear-gradient(180deg,#FFFFFF,#F5F8FD)!important}
.stress-test-box{
  background:linear-gradient(135deg,#EEF4FF,#E6F5F2)!important;border:1px solid var(--accent-line)!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 18px 40px -22px rgba(16,32,64,.24)!important}

/* tier cells get their own colour identity */
.tier-cell{background:linear-gradient(180deg,#FFFFFF,#F7F9FD)!important;border:1px solid #E1E6F0!important}
.tier-cell:nth-child(1){border-top:3px solid #C2323A!important}
.tier-cell:nth-child(2){border-top:3px solid #A05A00!important}
.tier-cell:nth-child(3){border-top:3px solid #15774A!important}
.tier-cell:nth-child(4){border-top:3px solid var(--accent)!important}

/* ── Closing CTA: aurora band ────────────────────────────── */
#cta-main,.cta-section,.cta-band,.cta-strip,.final-cta,.inv-cta,.qc-cta-band,.scn-cta{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#0E1830 0%,#16294F 46%,#0F2E46 100%)!important;
  border-top:none!important;border-bottom:none!important}
#cta-main::after,.cta-section::after,.cta-band::after,.final-cta::after,.inv-cta::after,.qc-cta-band::after,.scn-cta::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(60% 120% at 12% 0%,rgba(31,95,224,.42),transparent 62%),
    radial-gradient(52% 110% at 88% 100%,rgba(23,166,155,.34),transparent 60%)}
#cta-main > *,.cta-section > *,.cta-band > *,.final-cta > *,.inv-cta > *,.qc-cta-band > *,.scn-cta > *{position:relative;z-index:1}
#cta-main h1,#cta-main h2,#cta-main h3,.cta-section h1,.cta-section h2,.cta-section h3,
.cta-band h2,.cta-band h3,.cta-strip h2,.final-cta h2,.final-cta h3,.inv-cta h2,.qc-cta-band h2,.scn-cta h3{
  color:#FFFFFF!important}
#cta-main p,.cta-section p,.cta-band p,.cta-strip p,.final-cta p,.inv-cta p,.qc-cta-band p,.scn-cta p,
#cta-main li,.cta-section li,.final-cta li{color:rgba(255,255,255,.78)!important}
#cta-main .section-label,.cta-section .section-label,.final-cta .section-label,
.inv-cta .section-label,.qc-cta-band .section-label,.scn-cta .section-label{
  background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.22)!important;
  color:#CFE0FF!important;box-shadow:none!important}
#cta-main .section-label::before,.cta-section .section-label::before,.final-cta .section-label::before,
.scn-cta .section-label::before{background:#7FB0FF!important;box-shadow:0 0 0 3px rgba(127,176,255,.22)!important}
#cta-main .btn-outline,.cta-section .btn-outline,.final-cta .btn-outline,.inv-cta .btn-outline,
.qc-cta-band .btn-outline,.scn-cta .btn-outline,#cta-main .btn-ghost-w,.cta-section .btn-ghost-w{
  background:rgba(255,255,255,.10)!important;color:#FFFFFF!important;border-color:rgba(255,255,255,.34)!important}
#cta-main .btn-outline:hover,.cta-section .btn-outline:hover,.final-cta .btn-outline:hover,
.scn-cta .btn-outline:hover{background:rgba(255,255,255,.18)!important;border-color:#FFFFFF!important}
#cta-main a:not(.btn),.cta-section a:not(.btn),.final-cta a:not(.btn),.scn-cta a:not(.btn){color:#9FC2FF!important}
.scn-cta{padding:30px 26px!important;border-radius:var(--radius-l)!important}

/* ── Footer meets the CTA band ───────────────────────────── */
footer{background:linear-gradient(180deg,#0B1220,#070B14)!important}

/* ── Mini calc + score cards: dimensional ────────────────── */
.mini-calc{background:linear-gradient(180deg,#FFFFFF,#FAFCFF)!important;
  box-shadow:0 2px 4px rgba(10,16,32,.05),0 40px 80px -34px rgba(16,32,64,.42)!important}
.mc-score-card{background:linear-gradient(180deg,#FFFFFF,#F4F8FE)!important;border:1px solid #E1E6F0!important}

/* ── Scenario cards: tinted wash per category ────────────── */
.scn-card{background:linear-gradient(180deg,#FFFFFF,#FAFCFF)!important;border:1px solid #E1E6F0!important}
.scn-card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--cat,var(--accent)) 10%,transparent),transparent 70%);
  transition:opacity .3s var(--ease)}
.scn-card:hover::after{opacity:1}
.scn-count{background:#FFFFFF!important}

/* ── FAQ / doc surfaces ──────────────────────────────────── */
.faq-item{background:linear-gradient(180deg,#FFFFFF,#FBFCFE)!important;border-color:#E1E6F0!important}
.faq-item.open{background:#FFFFFF!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 18px 38px -20px rgba(16,32,64,.24)!important}
nav.toc{background:linear-gradient(180deg,#FFFFFF,#F7FAFF)!important}
.hero-tab,.sidebar-link{background:linear-gradient(180deg,#FFFFFF,#F8FAFE)!important}

/* ── Section headings get a little more air ──────────────── */
section > .section-inner > h2,section > h2{margin-bottom:14px}

@media(min-width:768px){
  .stat-bar{gap:16px!important}
  .scn-cta{padding:36px 34px!important}
}
@media(prefers-reduced-motion:reduce){
  section:nth-of-type(odd)::after{display:none}
}


/* ── Comparison tables built from div grids ─────────────── */
div:has(> [style*="grid-template-columns:2fr 1fr 1fr"]),
div:has(> [style*="grid-template-columns:2fr 1fr 1fr 1fr"]){
  border:1px solid #DCE3EF!important;border-radius:var(--radius-l)!important;overflow:hidden!important;
  background:#FFFFFF!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 18px 40px -22px rgba(16,32,64,.22)!important}

div:has(> [style*="grid-template-columns:2fr 1fr 1fr"]) > [style*="grid-template-columns:2fr 1fr 1fr"]:first-child,
div:has(> [style*="grid-template-columns:2fr 1fr 1fr 1fr"]) > [style*="grid-template-columns:2fr 1fr 1fr 1fr"]:first-child{
  background:linear-gradient(180deg,#16203A,#0C1426)!important;border-top:none!important}
div:has(> [style*="grid-template-columns:2fr 1fr 1fr"]) > [style*="grid-template-columns:2fr 1fr 1fr"]:first-child > *,
div:has(> [style*="grid-template-columns:2fr 1fr 1fr 1fr"]) > [style*="grid-template-columns:2fr 1fr 1fr 1fr"]:first-child > *{
  color:#FFFFFF!important;font-weight:700!important;padding-top:14px!important;padding-bottom:14px!important;
  border-right-color:rgba(255,255,255,.14)!important;border-left-color:rgba(255,255,255,.14)!important}

div:has(> [style*="grid-template-columns:2fr 1fr 1fr"]) > [style*="grid-template-columns:2fr 1fr 1fr"]:nth-child(even){
  background:#F7F9FD!important}
div:has(> [style*="grid-template-columns:2fr 1fr 1fr"]) > [style*="grid-template-columns:2fr 1fr 1fr"]:hover{
  background:var(--accent-soft)!important}
div:has(> [style*="grid-template-columns:2fr 1fr 1fr"]) > [style*="grid-template-columns:2fr 1fr 1fr"] > *{
  border-color:#EDF0F6!important}
div:has(> [style*="grid-template-columns:2fr 1fr 1fr"]) > [style*="grid-template-columns:2fr 1fr 1fr"] > *:first-child{
  color:var(--ink-900)!important;font-weight:600}
div:has(> [style*="grid-template-columns:2fr 1fr 1fr"]) > [style*="grid-template-columns:2fr 1fr 1fr"]:first-child > *:first-child{
  color:#FFFFFF!important}

@media(max-width:680px){
  div:has(> [style*="grid-template-columns:2fr 1fr 1fr"]){
    overflow-x:auto!important;-webkit-overflow-scrolling:touch}
}


/* ── Dark bands: force legible inline-styled text ────────── */
#cta-main,.cta-section,.cta-band,.cta-strip,.final-cta,.inv-cta,.qc-cta-band,.scn-cta{color:rgba(255,255,255,.80)!important}
#cta-main *,.cta-section *,.cta-band *,.cta-strip *,.final-cta *,.inv-cta *,.qc-cta-band *,.scn-cta *{
  border-color:rgba(255,255,255,.18)!important}
#cta-main [style*="color:#0F7A70"],.cta-section [style*="color:#0F7A70"],.cta-band [style*="color:#0F7A70"],
.final-cta [style*="color:#0F7A70"],.inv-cta [style*="color:#0F7A70"],.qc-cta-band [style*="color:#0F7A70"],
.scn-cta [style*="color:#0F7A70"],
#cta-main [style*="color:#1F5FE0"],.cta-section [style*="color:#1F5FE0"],.scn-cta [style*="color:#1F5FE0"],
#cta-main [style*="color:#2F6FED"],.cta-section [style*="color:#2F6FED"],.scn-cta [style*="color:#2F6FED"]{
  color:#6FE3D4!important}
#cta-main [style*="color:rgba(11,13,18"],.cta-section [style*="color:rgba(11,13,18"],.cta-band [style*="color:rgba(11,13,18"],
.final-cta [style*="color:rgba(11,13,18"],.inv-cta [style*="color:rgba(11,13,18"],.qc-cta-band [style*="color:rgba(11,13,18"],
.scn-cta [style*="color:rgba(11,13,18"],
#cta-main [style*="color:#0B0D12"],.cta-section [style*="color:#0B0D12"],.scn-cta [style*="color:#0B0D12"],
#cta-main [style*="color:#5B6270"],.cta-section [style*="color:#5B6270"],.scn-cta [style*="color:#5B6270"]{
  color:rgba(255,255,255,.78)!important}
#cta-main [style*="background:linear-gradient(180deg,#FFFFFF"],.cta-section [style*="background:linear-gradient(180deg,#FFFFFF"],
.final-cta [style*="background:linear-gradient(180deg,#FFFFFF"],.scn-cta [style*="background:linear-gradient(180deg,#FFFFFF"],
.qc-cta-band [style*="background:linear-gradient(180deg,#FFFFFF"],.inv-cta [style*="background:linear-gradient(180deg,#FFFFFF"]{
  background:rgba(255,255,255,.07)!important;box-shadow:none!important}


/* ── Teal CTA contrast (AA) ─────────────────────────────── */
.btn-teal,a.btn-teal,button.btn-teal,
.scn-cta .btn-teal,#cta-main .btn-teal,.cta-section .btn-teal,.final-cta .btn-teal,
.inv-cta .btn-teal,.qc-cta-band .btn-teal,.cta-band .btn-teal{
  background:linear-gradient(180deg,#0F8177,#0B6A63)!important;
  color:#FFFFFF!important;
  box-shadow:0 1px 2px rgba(6,40,37,.24),0 14px 28px -12px rgba(11,106,99,.55)!important}
.btn-teal:hover,a.btn-teal:hover,button.btn-teal:hover{
  background:linear-gradient(180deg,#0C6F66,#095A54)!important;color:#FFFFFF!important}
.btn-teal *,.btn-teal span{color:#FFFFFF!important}

/* dark-band inheritance must never dilute a button label */
#cta-main .btn,.cta-section .btn,.cta-band .btn,.cta-strip .btn,.final-cta .btn,
.inv-cta .btn,.qc-cta-band .btn,.scn-cta .btn,
#cta-main .btn *,.cta-section .btn *,.final-cta .btn *,.scn-cta .btn *{color:#FFFFFF!important}
#cta-main .btn-outline,.cta-section .btn-outline,.final-cta .btn-outline,.scn-cta .btn-outline,
.inv-cta .btn-outline,.qc-cta-band .btn-outline{color:#FFFFFF!important}


/* ============================================================
   v11 — POLISH LAYER
   Kills leftover grey, turns scattered raw text into designed
   components, and rebuilds the live calculator.
   ============================================================ */

:root{
  --t-mid:#33405C;
  --t-low:#46557A;
  --t-faint:#56658A;
  --line:#DDE4F0;
  --surface:linear-gradient(180deg,#FFFFFF,#F7FAFF);
}

/* ── Trust row → chips ──────────────────────────────────── */
.hero-trust-row,.trust-row,.hero-trust{
  display:flex!important;flex-wrap:wrap!important;gap:10px!important;
  align-items:center!important;margin-top:22px!important;border:none!important;
  background:transparent!important;padding:0!important}
.trust-item{
  display:inline-flex!important;align-items:center!important;gap:6px!important;
  background:linear-gradient(180deg,#FFFFFF,#F3F8FF)!important;
  border:1px solid #D7E3F5!important;border-radius:999px!important;
  padding:8px 15px!important;margin:0!important;
  font-family:var(--font-body)!important;font-size:0.79rem!important;font-weight:600!important;
  letter-spacing:0!important;text-transform:none!important;
  color:var(--ink-800)!important;white-space:nowrap;
  box-shadow:0 1px 2px rgba(10,16,32,.05),0 6px 14px -8px rgba(16,32,64,.22)!important;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.trust-item:hover{transform:translateY(-2px);
  box-shadow:0 2px 4px rgba(10,16,32,.06),0 12px 22px -10px rgba(16,32,64,.28)!important}

/* ── Legal / disclaimer notes → tinted callouts ─────────── */
.hero-legal-note,.mc-disclaimer,.calc-disclaimer,.legal-note,.disclaimer-note{
  background:linear-gradient(135deg,#F2F8FF,#EDF7F5)!important;
  border:1px solid #D5E5F6!important;border-left:3px solid var(--accent)!important;
  border-radius:14px!important;padding:13px 17px!important;margin-top:18px!important;
  font-size:0.79rem!important;line-height:1.72!important;color:var(--t-low)!important;
  max-width:640px;text-align:left!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04)!important}
.mc-disclaimer{max-width:none;text-align:center!important;border-left-width:0!important;
  border-radius:0 0 22px 22px!important;margin:0!important;font-family:var(--font-mono)!important;
  font-size:0.72rem!important;letter-spacing:0.04em}

/* ── Sources block → citation panel ─────────────────────── */
.source-note,
p[style*="var(--font-mono)"][style*="line-height:1.8"][style*="text-align:center"]{
  position:relative;max-width:920px!important;margin:0 auto!important;
  background:linear-gradient(180deg,#FFFFFF,#F6FAFF)!important;
  border:1px solid var(--line)!important;border-radius:18px!important;
  padding:26px 26px 22px!important;
  font-family:var(--font-body)!important;font-size:0.78rem!important;line-height:1.95!important;
  color:var(--t-low)!important;text-align:left!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 16px 34px -22px rgba(16,32,64,.22)!important}
.source-note::before{
  content:"";position:absolute;top:0;left:26px;right:26px;height:3px;border-radius:0 0 3px 3px;
  background:linear-gradient(90deg,var(--accent),var(--accent-2-fill),transparent)}
.source-note em,.source-note i{color:var(--ink-700);font-style:italic}

/* ── Validation line → badge link ───────────────────────── */
.validation-note{
  display:inline-flex!important;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;
  max-width:min(720px,94%);text-align:center!important;
  margin:18px auto 0!important;padding:11px 22px!important;
  background:linear-gradient(180deg,#FFFFFF,#F3F8FF)!important;
  border:1px solid #D7E3F5!important;border-radius:999px!important;
  font-family:var(--font-body)!important;font-size:0.79rem!important;font-weight:500!important;
  color:var(--t-mid)!important;line-height:1.5!important;
  box-shadow:0 1px 2px rgba(10,16,32,.05),0 10px 22px -14px rgba(16,32,64,.28)!important;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.validation-note:hover{transform:translateY(-2px);
  box-shadow:0 2px 5px rgba(10,16,32,.06),0 16px 30px -16px rgba(16,32,64,.32)!important}
.validation-note a{color:var(--accent)!important;font-weight:700;text-decoration:none;border:none!important}
.validation-note a:hover{color:var(--accent-press)!important}

/* ── No neutral greys anywhere ──────────────────────────── */
[style*="color:rgba(11,13,18,0.5"],[style*="color:rgba(11,13,18,0.6"],
[style*="color:rgba(11,13,18,0.62)"],[style*="color:rgba(11,13,18,0.68)"]{color:var(--t-low)!important}
[style*="color:rgba(11,13,18,0.7"],[style*="color:rgba(11,13,18,0.8"]{color:var(--t-mid)!important}
[style*="color:#5B6270"],[style*="color:#667085"],[style*="color:#6E7891"],
[style*="color:#98A1B5"],[style*="color:#8A94A6"]{color:var(--t-low)!important}
[style*="background:#F4F5F7"],[style*="background:#E4E7EC"],[style*="background-color:#F4F5F7"]{
  background:var(--surface)!important}

/* ══════════════════════════════════════════════════════════
   LIVE CALCULATOR — rebuilt
   ══════════════════════════════════════════════════════════ */
.mini-calc{
  background:#FFFFFF!important;border:1px solid #D9E2F1!important;
  border-radius:24px!important;overflow:hidden!important;padding:0!important;
  box-shadow:0 2px 6px rgba(10,16,32,.06),0 44px 90px -38px rgba(16,32,64,.46)!important}

.mc-header{
  background:linear-gradient(120deg,#0E1830 0%,#17325C 55%,#0E3A46 100%)!important;
  border:none!important;border-radius:0!important;
  padding:18px 22px!important;margin:0!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:12px;flex-wrap:wrap;position:relative;overflow:hidden}
.mc-header::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(70% 160% at 8% 0%,rgba(31,95,224,.45),transparent 62%),
             radial-gradient(60% 150% at 96% 100%,rgba(23,166,155,.38),transparent 60%)}
.mc-header > *{position:relative;z-index:1}
.mc-title{color:#FFFFFF!important;font-family:var(--font-display)!important;
  font-size:0.98rem!important;font-weight:700!important;letter-spacing:-0.01em!important}
.mc-badge{
  background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.26)!important;
  color:#BFE9E2!important;border-radius:999px!important;padding:5px 13px!important;
  font-family:var(--font-mono)!important;font-size:0.66rem!important;letter-spacing:0.1em!important;
  text-transform:uppercase;white-space:nowrap}

.mc-scores-row{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;
  padding:22px 20px 4px!important;margin:0!important;background:transparent!important}
.mc-score-card{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#FFFFFF,#F5F9FF)!important;
  border:1px solid #DEE7F5!important;border-radius:18px!important;
  padding:18px 18px 16px!important;text-align:center!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 16px 32px -20px rgba(16,32,64,.26)!important;
  transition:transform .26s var(--ease),box-shadow .26s var(--ease)}
.mc-score-card:hover{transform:translateY(-3px);
  box-shadow:0 2px 5px rgba(10,16,32,.06),0 26px 48px -24px rgba(16,32,64,.34)!important}
.mc-card-stripe{position:absolute!important;top:0!important;left:0!important;right:0!important;
  height:3px!important;border-radius:0!important;margin:0!important}
.mc-stripe-board{background:linear-gradient(90deg,var(--accent),#5B8FF0)!important}
.mc-stripe-qrm{background:linear-gradient(90deg,#0F8177,#2FC4B4)!important}
.mc-card-label{
  font-family:var(--font-mono)!important;font-size:0.66rem!important;letter-spacing:0.13em!important;
  text-transform:uppercase!important;color:var(--t-low)!important;margin-bottom:8px!important}
.mc-card-num{
  font-family:var(--font-display)!important;font-size:3.15rem!important;font-weight:800!important;
  line-height:1!important;letter-spacing:-0.03em!important;font-variant-numeric:tabular-nums;
  margin:0 0 8px!important}
.mc-card-tier{
  display:inline-flex!important;align-items:center;gap:6px;
  border-radius:999px!important;padding:5px 13px!important;
  font-family:var(--font-mono)!important;font-size:0.68rem!important;font-weight:500!important;
  letter-spacing:0.09em!important;text-transform:uppercase;margin-bottom:10px!important;
  white-space:nowrap!important}
.mc-card-formula{
  font-family:var(--font-mono)!important;font-size:0.62rem!important;line-height:1.6!important;
  color:var(--t-faint)!important;letter-spacing:0.02em!important;
  padding-top:9px!important;border-top:1px dashed #E1E8F4!important;margin-top:2px!important}

/* tier colour identities */
.mc-card-num.mc-critical{color:#C2323A!important}
.mc-card-num.mc-at-risk{color:#A05A00!important}
.mc-card-num.mc-vulnerable{color:#A05A00!important}
.mc-card-num.mc-resilient{color:#15774A!important}
.mc-card-tier.mc-critical{background:#FDECEC!important;color:#9E2A31!important;border:1px solid #F6D2D2!important}
.mc-card-tier.mc-at-risk,.mc-card-tier.mc-vulnerable{background:#FEF5E6!important;color:#7A4400!important;border:1px solid #F6E2BE!important}
.mc-card-tier.mc-resilient{background:#E9F7F0!important;color:#11603C!important;border:1px solid #C8E9D8!important}

.mc-sliders{padding:14px 20px 4px!important;display:flex!important;flex-direction:column!important;
  gap:10px!important;background:transparent!important;border:none!important}
.mc-slider-row{
  display:grid!important;grid-template-columns:1fr!important;gap:9px!important;
  background:linear-gradient(180deg,#FFFFFF,#F7FAFF)!important;
  border:1px solid #E3EAF6!important;border-radius:16px!important;
  padding:14px 16px!important;align-items:center!important;
  transition:border-color .22s var(--ease),box-shadow .22s var(--ease)}
.mc-slider-row:hover{border-color:#CFDDF3!important;
  box-shadow:0 8px 20px -14px rgba(16,32,64,.3)!important}
.mc-slider-label{display:flex!important;align-items:center!important;gap:9px!important;
  justify-content:flex-start!important}
.mc-slider-abbr{
  font-family:var(--font-mono)!important;font-size:0.64rem!important;font-weight:500!important;
  letter-spacing:0.1em!important;border-radius:7px!important;padding:4px 9px!important;
  border:1px solid transparent!important}
.mc-s-tei .mc-slider-abbr{background:#EAF1FE!important;color:#154BB8!important;border-color:#D3E2FB!important}
.mc-s-orci .mc-slider-abbr{background:#E7F6F3!important;color:#0B5E57!important;border-color:#C6E8E1!important}
.mc-s-rvi .mc-slider-abbr{background:#FDF3E3!important;color:#7A4400!important;border-color:#F3E1BE!important}
.mc-slider-name{font-size:0.85rem!important;font-weight:600!important;color:var(--ink-800)!important;
  letter-spacing:-0.005em!important}
.mc-slider-val{
  margin-left:auto!important;min-width:46px!important;text-align:center!important;
  font-family:var(--font-mono)!important;font-size:0.86rem!important;font-weight:500!important;
  color:var(--ink-900)!important;background:#FFFFFF!important;
  border:1px solid #DDE5F2!important;border-radius:9px!important;padding:4px 8px!important;
  font-variant-numeric:tabular-nums;
  box-shadow:inset 0 1px 2px rgba(16,32,64,.05)!important}

.mc-range{
  -webkit-appearance:none;appearance:none;width:100%!important;height:10px!important;
  border-radius:999px!important;outline:none;cursor:pointer;
  box-shadow:inset 0 1px 3px rgba(16,32,64,.14)!important;border:none!important}
.mc-range::-webkit-slider-thumb{
  -webkit-appearance:none;width:24px!important;height:24px!important;border-radius:50%!important;
  border:3px solid #FFFFFF!important;cursor:pointer;
  box-shadow:0 2px 5px rgba(10,16,32,.2),0 0 0 1px rgba(16,32,64,.10)!important;
  transition:transform .16s var(--ease),box-shadow .16s var(--ease)}
.mc-range::-webkit-slider-thumb:hover,.mc-range:active::-webkit-slider-thumb{
  transform:scale(1.12);box-shadow:0 4px 12px rgba(10,16,32,.28),0 0 0 6px rgba(31,95,224,.14)!important}
.mc-range::-moz-range-thumb{width:24px!important;height:24px!important;border:3px solid #FFFFFF!important;
  box-shadow:0 2px 5px rgba(10,16,32,.2)!important}
.mc-range:focus-visible{box-shadow:0 0 0 4px rgba(31,95,224,.22),inset 0 1px 3px rgba(16,32,64,.14)!important}

.mc-cta-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;
  padding:16px 20px 18px!important;margin:0!important;background:transparent!important}
.mc-cta-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:8px!important;height:52px!important;border-radius:14px!important;
  font-family:var(--font-display)!important;font-weight:700!important;font-size:0.95rem!important;
  letter-spacing:-0.01em!important;text-decoration:none!important;border:1px solid transparent!important;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}
.mc-cta-primary{
  background:linear-gradient(180deg,#2C6BE8,#1B50CB)!important;color:#FFFFFF!important;
  box-shadow:0 2px 4px rgba(10,25,60,.22),0 16px 30px -14px rgba(31,95,224,.62)!important}
.mc-cta-primary:hover{background:linear-gradient(180deg,#2560DC,#163FAE)!important;
  transform:translateY(-2px);box-shadow:0 4px 8px rgba(10,25,60,.24),0 22px 40px -16px rgba(31,95,224,.7)!important}
.mc-cta-outline{
  background:linear-gradient(180deg,#FFFFFF,#F4F9FF)!important;color:var(--accent-press)!important;
  border:1px solid #CBDCF6!important;
  box-shadow:0 1px 2px rgba(10,16,32,.05),0 10px 22px -14px rgba(16,32,64,.3)!important}
.mc-cta-outline:hover{background:linear-gradient(180deg,#F6FAFF,#EAF2FF)!important;
  border-color:#A9C6F1!important;transform:translateY(-2px)}

.mc-disclaimer{
  background:linear-gradient(180deg,#F6F9FF,#EEF4FD)!important;
  border:none!important;border-top:1px solid #E3EAF6!important;
  padding:13px 20px!important;color:var(--t-low)!important}

@media(min-width:560px){
  .mc-scores-row{grid-template-columns:1fr 1fr!important}
  .mc-cta-row{grid-template-columns:1fr 1fr!important}
  .mc-card-num{font-size:3.5rem!important}
}
@media(min-width:900px){
  .mc-header{padding:20px 26px!important}
  .mc-scores-row,.mc-sliders,.mc-cta-row{padding-left:26px!important;padding-right:26px!important}
  .mc-title{font-size:1.06rem!important}
}


/* ══════════════════════════════════════════════════════════
   FULL CALCULATOR PAGES (.qc-*) — same language as mini-calc
   ══════════════════════════════════════════════════════════ */
.qc-card{
  background:#FFFFFF!important;border:1px solid #D9E2F1!important;border-radius:24px!important;
  padding:0!important;overflow:hidden!important;
  box-shadow:0 2px 6px rgba(10,16,32,.06),0 44px 90px -40px rgba(16,32,64,.42)!important}
.qc-sliders{display:flex!important;flex-direction:column!important;gap:12px!important;
  padding:20px!important;background:transparent!important}
.qc-slider-block{
  background:linear-gradient(180deg,#FFFFFF,#F7FAFF)!important;
  border:1px solid #E3EAF6!important;border-radius:18px!important;
  padding:18px!important;margin:0!important;
  transition:border-color .22s var(--ease),box-shadow .22s var(--ease)}
.qc-slider-block:hover{border-color:#CFDDF3!important;box-shadow:0 10px 24px -16px rgba(16,32,64,.32)!important}
.qc-slider-header{display:flex!important;align-items:center!important;gap:10px!important;
  margin-bottom:6px!important}
.qc-slider-label{display:flex!important;align-items:center!important;gap:9px!important}
.qc-slider-abbr{
  font-family:var(--font-mono)!important;font-size:0.64rem!important;font-weight:500!important;
  letter-spacing:0.1em!important;border-radius:7px!important;padding:4px 9px!important;
  border:1px solid transparent!important}
.qc-s-tei .qc-slider-abbr{background:#EAF1FE!important;color:#154BB8!important;border-color:#D3E2FB!important}
.qc-s-orci .qc-slider-abbr{background:#E7F6F3!important;color:#0B5E57!important;border-color:#C6E8E1!important}
.qc-s-rvi .qc-slider-abbr{background:#FDF3E3!important;color:#7A4400!important;border-color:#F3E1BE!important}
.qc-slider-name{font-size:0.95rem!important;font-weight:700!important;color:var(--ink-900)!important;
  font-family:var(--font-display)!important;letter-spacing:-0.01em!important}
.qc-slider-val{
  margin-left:auto!important;min-width:54px!important;text-align:center!important;
  font-family:var(--font-mono)!important;font-size:1rem!important;font-weight:500!important;
  color:var(--ink-900)!important;background:#FFFFFF!important;
  border:1px solid #DDE5F2!important;border-radius:10px!important;padding:5px 10px!important;
  font-variant-numeric:tabular-nums;box-shadow:inset 0 1px 2px rgba(16,32,64,.05)!important}
.qc-slider-desc{font-size:0.82rem!important;line-height:1.65!important;color:var(--t-low)!important;
  margin:0 0 14px!important;max-width:none!important}
.qc-range{
  -webkit-appearance:none;appearance:none;width:100%!important;height:10px!important;
  border-radius:999px!important;outline:none;cursor:pointer;border:none!important;
  box-shadow:inset 0 1px 3px rgba(16,32,64,.14)!important}
.qc-range::-webkit-slider-thumb{
  -webkit-appearance:none;width:24px!important;height:24px!important;border-radius:50%!important;
  border:3px solid #FFFFFF!important;cursor:pointer;
  box-shadow:0 2px 5px rgba(10,16,32,.2),0 0 0 1px rgba(16,32,64,.10)!important;
  transition:transform .16s var(--ease),box-shadow .16s var(--ease)}
.qc-range::-webkit-slider-thumb:hover,.qc-range:active::-webkit-slider-thumb{
  transform:scale(1.12);box-shadow:0 4px 12px rgba(10,16,32,.28),0 0 0 6px rgba(31,95,224,.14)!important}
.qc-range::-moz-range-thumb{width:24px!important;height:24px!important;border:3px solid #FFFFFF!important}
.qc-slider-ends{
  display:flex!important;justify-content:space-between!important;margin-top:9px!important;
  font-family:var(--font-mono)!important;font-size:0.68rem!important;letter-spacing:0.06em!important;
  color:var(--t-faint)!important;text-transform:uppercase}

/* results */
.qc-results{
  background:linear-gradient(180deg,#FFFFFF,#F5F9FF)!important;
  border-top:1px solid #E3EAF6!important;border-radius:0!important;
  padding:22px 20px!important;margin:0!important;
  display:grid!important;gap:14px!important}
.qc-score-card{
  position:relative;overflow:hidden;
  background:#FFFFFF!important;border:1px solid #DEE7F5!important;border-radius:18px!important;
  padding:20px 18px 18px!important;text-align:center!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 18px 34px -22px rgba(16,32,64,.28)!important}
.qc-score-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px}
.qc-score-card-exec::before{background:linear-gradient(90deg,var(--accent),#5B8FF0)}
.qc-score-card-qrm::before{background:linear-gradient(90deg,#0F8177,#2FC4B4)}

/* tier scale */
.qc-tier-bar{
  display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:8px!important;
  background:transparent!important;border:none!important;padding:0!important;margin-top:4px!important}
.qc-tier{
  background:linear-gradient(180deg,#FFFFFF,#F7FAFF)!important;
  border:1px solid #E3EAF6!important;border-radius:14px!important;
  padding:12px 8px!important;text-align:center!important;opacity:.72;
  transition:all .26s var(--ease)}
.qc-tier.qc-tier-active{opacity:1;transform:translateY(-2px);
  box-shadow:0 2px 5px rgba(10,16,32,.06),0 16px 30px -18px rgba(16,32,64,.4)!important}
.qc-tier.qt-crit.qc-tier-active{background:linear-gradient(180deg,#FEF2F2,#FCE7E7)!important;border-color:#F3CFCF!important}
.qc-tier.qt-risk.qc-tier-active{background:linear-gradient(180deg,#FEF8EC,#FCEFD8)!important;border-color:#F2DDB6!important}
.qc-tier.qt-vuln.qc-tier-active{background:linear-gradient(180deg,#F0FAF4,#E2F4E9)!important;border-color:#C6E6D2!important}
.qc-tier.qt-resi.qc-tier-active{background:linear-gradient(180deg,#EEF4FE,#E1ECFD)!important;border-color:#C7DBF8!important}

/* insight rows */
.qc-insights{background:transparent!important;border:none!important;padding:0!important}
.qc-insights-title{
  display:inline-flex!important;align-items:center;gap:8px;max-width:100%;
  background:linear-gradient(180deg,#FFFFFF,var(--accent-soft))!important;
  border:1px solid var(--accent-line)!important;border-radius:999px!important;
  padding:6px 14px!important;color:var(--accent-press)!important;
  font-size:0.66rem!important;letter-spacing:0.15em!important;box-shadow:var(--shadow-s)!important}
.qc-insight-row{
  border-radius:18px!important;padding:20px 22px!important;
  border:1px solid #E3EAF6!important;border-left-width:4px!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 14px 30px -20px rgba(16,32,64,.22)!important}
.qc-insight-text{color:var(--t-mid)!important;line-height:1.72!important}
.qc-insight-action{color:var(--t-low)!important}

/* footnote → designed note */
.qc-footnote,.qc-note,.qc-insights-note,.qc-insights + p,.qc-disclaimer-note{
  background:linear-gradient(135deg,#F2F8FF,#EDF7F5)!important;
  border:1px solid #D5E5F6!important;border-left:3px solid var(--accent)!important;
  border-radius:14px!important;padding:14px 18px!important;margin-top:18px!important;
  font-family:var(--font-body)!important;font-size:0.8rem!important;line-height:1.7!important;
  color:var(--t-low)!important;letter-spacing:0!important;max-width:none!important}

/* consent gate */
.qc-consent,.consent-box,.gate-box{
  background:linear-gradient(135deg,#FFFAF0,#FEF6E7)!important;
  border:1px solid #F0DDB4!important;border-left:4px solid #C68A12!important;
  border-radius:18px!important;padding:20px 22px!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 14px 30px -20px rgba(80,60,10,.24)!important}

@media(min-width:640px){
  .qc-results{grid-template-columns:1fr 1fr!important;align-items:start}
  .qc-tier-bar{grid-column:1/-1;grid-template-columns:repeat(4,1fr)!important}
  .qc-sliders,.qc-results{padding-left:26px!important;padding-right:26px!important}
}


/* ── Gated content card ─────────────────────────────────── */
.gate-card{
  background:#FFFFFF!important;border:1px solid #D9E2F1!important;border-radius:26px!important;
  box-shadow:0 2px 6px rgba(10,16,32,.06),0 44px 90px -40px rgba(16,32,64,.42)!important}
.gate-lock{filter:drop-shadow(0 8px 16px rgba(16,32,64,.22))}
.gate-features{display:grid!important;gap:12px!important}
.gate-feature{
  background:linear-gradient(180deg,#FFFFFF,#F5F9FF)!important;
  border:1px solid #E1E9F6!important;border-radius:16px!important;
  padding:16px 18px!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 12px 26px -18px rgba(16,32,64,.2)!important;
  transition:transform .24s var(--ease),box-shadow .24s var(--ease)}
.gate-feature:hover{transform:translateY(-2px);
  box-shadow:0 2px 5px rgba(10,16,32,.06),0 20px 38px -20px rgba(16,32,64,.3)!important}
.gate-feature-text{color:var(--t-mid)!important;line-height:1.7!important}
.gate-feature-text strong,.gate-feature-text b{color:var(--ink-900)!important}
.gate-divider{border:none!important;height:1px!important;
  background:linear-gradient(90deg,transparent,#D8E2F2 20%,#D8E2F2 80%,transparent)!important}
.inside-card{
  background:linear-gradient(180deg,#FFFFFF,#FAFCFF)!important;border:1px solid #E1E6F0!important}
@media(min-width:640px){.gate-features{grid-template-columns:1fr 1fr!important}}


/* ============================================================
   v17 — legibility & layering corrections
   ============================================================ */

/* 1. Dark CTA bands must always win the background (specificity
      was being beaten by section:nth-of-type()). */
section#cta-main,section.cta-section,section.cta-band,section.cta-strip,
section.final-cta,section.inv-cta,section.qc-cta-band,
#cta-main:nth-of-type(n),.cta-section:nth-of-type(n),.cta-band:nth-of-type(n),
.cta-strip:nth-of-type(n),.final-cta:nth-of-type(n),.inv-cta:nth-of-type(n),
.qc-cta-band:nth-of-type(n),.scn-cta{
  background:linear-gradient(135deg,#0E1830 0%,#16294F 46%,#0F2E46 100%)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important}

/* white text on those bands, whatever the page's inline styles say */
#cta-main h1,#cta-main h2,#cta-main h3,#cta-main h4,
.cta-section h1,.cta-section h2,.cta-section h3,.cta-section h4,
.cta-band h2,.cta-band h3,.cta-strip h1,.cta-strip h2,.cta-strip h3,
.final-cta h2,.final-cta h3,.inv-cta h2,.qc-cta-band h2,.scn-cta h3,
#cta-main h2 *,.cta-section h2 *,.cta-strip h2 *,.final-cta h2 *{color:#FFFFFF!important}
#cta-main p,#cta-main p *,.cta-section p,.cta-section p *,.cta-band p,
.cta-strip p,.cta-strip p *,.final-cta p,.final-cta p *,.inv-cta p,
.qc-cta-band p,.scn-cta p{color:rgba(255,255,255,.84)!important}
#cta-main .section-label,.cta-section .section-label,.cta-strip .section-label,
.final-cta .section-label,.inv-cta .section-label,.qc-cta-band .section-label,.scn-cta .section-label{
  background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.24)!important;
  color:#CFE0FF!important;box-shadow:none!important}
/* white/ghost buttons on a dark band */
#cta-main .btn-white,.cta-section .btn-white,.cta-strip .btn-white,.final-cta .btn-white,
.inv-cta .btn-white,.qc-cta-band .btn-white{
  background:#FFFFFF!important;color:#12336F!important;border:1px solid #FFFFFF!important;
  box-shadow:0 2px 6px rgba(0,0,0,.2),0 18px 34px -18px rgba(0,0,0,.55)!important}
#cta-main .btn-white:hover,.cta-section .btn-white:hover,.cta-strip .btn-white:hover,
.final-cta .btn-white:hover{background:#EAF1FF!important;color:#0E2A5E!important}

/* 2. Formula panel: revert to light — it holds white cards inside. */
.formula-block{
  background:linear-gradient(180deg,#FFFFFF,#F4F8FF)!important;
  border:1px solid #DCE5F3!important;color:var(--ink-900)!important;
  box-shadow:0 2px 6px rgba(10,16,32,.05),0 34px 70px -34px rgba(16,32,64,.34)!important}
.formula-block *{color:var(--t-mid)!important}
.formula-block strong,.formula-block b,.formula-block h1,.formula-block h2,
.formula-block h3,.formula-block h4{color:var(--ink-900)!important}
.formula-block [style*="font-family:var(--font-display)"]{color:var(--ink-900)!important;font-weight:700!important}
.formula-block [style*="color:#0F7A70"],.formula-block [style*="color:#1FADA0"]{color:#0B5E57!important}
.formula-block a[style*="background:#1FADA0"],.formula-block a[style*="background:#2F6FED"]{
  background:linear-gradient(180deg,#2C6BE8,#1B50CB)!important;color:#FFFFFF!important;
  border-radius:12px!important;box-shadow:0 2px 4px rgba(10,25,60,.22),0 16px 30px -14px rgba(31,95,224,.6)!important}
.formula-block a[style*="background:#1FADA0"]:hover,.formula-block a[style*="background:#2F6FED"]:hover{
  background:linear-gradient(180deg,#2560DC,#163FAE)!important}
.formula-block a *{color:#FFFFFF!important}
/* the tinted inner box + the three vector cards */
.formula-block [style*="background:rgba(0,172,193"]{
  background:linear-gradient(135deg,#F1F7FF,#E9F6F4)!important;
  border:1px solid #CFE6E2!important;border-radius:16px!important}
.formula-block [style*="background:#FFFFFF"],.formula-block [style*="background:rgba(255,255,255"]{
  background:#FFFFFF!important;border:1px solid #DEE7F5!important;border-radius:14px!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 14px 28px -20px rgba(16,32,64,.24)!important}
/* single-line formulas stay dark, and keep readable text */
.sh-formula,.formula-display{background:linear-gradient(135deg,#101B33,#1B2A4A)!important;color:#FFFFFF!important}
.sh-formula *,.formula-display *{color:#EAF1FF!important}

/* 3. Decorative section washes must never sit over content. */
.why-section::before,.why-section::after,.products-section::before,
.about-hero::before,.about-hero::after,.page-hero::before,.page-hero::after,
.hero::before,.hero::after{z-index:0!important;pointer-events:none!important}
.why-section,.products-section,.about-hero,.page-hero,.hero{isolation:isolate}
.why-inner,.products-inner,.hero-inner,.page-hero-inner,.section-inner{position:relative;z-index:2}
.why-section .card,.why-section [class*="card"],.gc-why,.gc-how,.gc-what{position:relative;z-index:2}

/* 4. Methodology note: rows stay full width */
.note-box > div[style*="flex-direction:column"] > div[style*="display:flex"]{width:100%}
.note-box > div[style*="border-left:3px solid"]{width:100%;margin-top:24px!important}


/* 5. Inline-styled (class-less) buttons inside dark bands */
#cta-main a[style*="background:#FFFFFF"],.cta-section a[style*="background:#FFFFFF"],
.cta-band a[style*="background:#FFFFFF"],.cta-strip a[style*="background:#FFFFFF"],
.final-cta a[style*="background:#FFFFFF"],.inv-cta a[style*="background:#FFFFFF"],
.qc-cta-band a[style*="background:#FFFFFF"],.scn-cta a[style*="background:#FFFFFF"]{
  background:#FFFFFF!important;color:#12336F!important;border:1px solid #FFFFFF!important;
  border-radius:12px!important;font-weight:700!important;
  box-shadow:0 2px 6px rgba(0,0,0,.22),0 18px 34px -18px rgba(0,0,0,.55)!important}
#cta-main a[style*="background:#FFFFFF"]:hover,.cta-section a[style*="background:#FFFFFF"]:hover,
.cta-strip a[style*="background:#FFFFFF"]:hover,.final-cta a[style*="background:#FFFFFF"]:hover{
  background:#E9F1FF!important;color:#0E2A5E!important;transform:translateY(-2px)}

#cta-main a[style*="background:transparent"],.cta-section a[style*="background:transparent"],
.cta-band a[style*="background:transparent"],.cta-strip a[style*="background:transparent"],
.final-cta a[style*="background:transparent"],.inv-cta a[style*="background:transparent"],
.qc-cta-band a[style*="background:transparent"],.scn-cta a[style*="background:transparent"]{
  background:rgba(255,255,255,.10)!important;color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.38)!important;border-radius:12px!important;font-weight:600!important;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#cta-main a[style*="background:transparent"]:hover,.cta-section a[style*="background:transparent"]:hover,
.cta-strip a[style*="background:transparent"]:hover,.final-cta a[style*="background:transparent"]:hover{
  background:rgba(255,255,255,.20)!important;border-color:#FFFFFF!important;transform:translateY(-2px)}


/* 6. Ghost secondary keeps its own weight on dark bands */
#cta-main .btn-outline-white,.cta-section .btn-outline-white,.cta-strip .btn-outline-white,
.final-cta .btn-outline-white,.inv-cta .btn-outline-white,.qc-cta-band .btn-outline-white,
.scn-cta .btn-outline-white{
  background:rgba(255,255,255,.10)!important;color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.38)!important;box-shadow:none!important;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#cta-main .btn-outline-white:hover,.cta-section .btn-outline-white:hover,
.cta-strip .btn-outline-white:hover,.final-cta .btn-outline-white:hover,
.inv-cta .btn-outline-white:hover,.qc-cta-band .btn-outline-white:hover{
  background:rgba(255,255,255,.20)!important;border-color:#FFFFFF!important;color:#FFFFFF!important}


/* ============================================================
   v21 — framework map cards + dark-band button system
   ============================================================ */

/* Framework mapping: real cards, not pills */
.framework-grid{grid-template-columns:1fr!important;gap:16px!important;margin-top:28px!important}
@media(min-width:640px){.framework-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(min-width:1000px){.framework-grid{grid-template-columns:repeat(3,1fr)!important;gap:18px!important}}
.framework-badge{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  text-align:left!important;white-space:normal!important;width:auto!important;max-width:none!important;
  border-radius:16px!important;padding:20px 20px 22px!important;position:relative;overflow:hidden;
  background:linear-gradient(180deg,#FFFFFF,#F7FAFF)!important;
  border:1px solid #E1E7F3!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 16px 32px -22px rgba(16,32,64,.26)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.framework-badge::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--accent),var(--accent-2));opacity:.9}
.framework-badge:hover{transform:translateY(-3px);border-color:#CBD8EE!important;
  box-shadow:0 2px 4px rgba(10,16,32,.05),0 26px 48px -24px rgba(16,32,64,.34)!important}
.framework-name{
  display:inline-flex!important;align-items:center;align-self:flex-start;
  font-family:var(--font-mono)!important;font-size:0.68rem!important;font-weight:600!important;
  letter-spacing:0.13em!important;text-transform:uppercase;
  color:#0B5E57!important;background:linear-gradient(180deg,#FFFFFF,#E9F6F4)!important;
  border:1px solid #CFE6E2!important;border-radius:999px!important;
  padding:6px 12px!important;margin:0 0 12px!important;white-space:nowrap}
.framework-desc{
  font-family:var(--font-body)!important;font-size:0.9rem!important;line-height:1.68!important;
  color:var(--t-mid)!important;text-align:left!important;margin:0!important;max-width:none!important}

/* Dark-band buttons — one system for every band and every variant */
#cta-main .btn-white,.cta-section .btn-white,.cta-band .btn-white,.cta-strip .btn-white,
.final-cta .btn-white,.inv-cta .btn-white,.qc-cta-band .btn-white,.scn-cta .btn-white{
  background:#FFFFFF!important;color:#12336F!important;border:1px solid #FFFFFF!important;
  border-radius:12px!important;font-weight:700!important;
  box-shadow:0 2px 6px rgba(0,0,0,.22),0 18px 34px -18px rgba(0,0,0,.55)!important}
#cta-main .btn-white:hover,.cta-section .btn-white:hover,.cta-band .btn-white:hover,
.cta-strip .btn-white:hover,.final-cta .btn-white:hover,.inv-cta .btn-white:hover,
.qc-cta-band .btn-white:hover,.scn-cta .btn-white:hover{
  background:#E9F1FF!important;color:#0E2A5E!important;transform:translateY(-2px)}

#cta-main .btn-border,#cta-main .btn-outline,#cta-main .btn-outline-white,
.cta-section .btn-border,.cta-section .btn-outline,.cta-section .btn-outline-white,
.cta-band .btn-border,.cta-band .btn-outline,.cta-band .btn-outline-white,
.cta-strip .btn-border,.cta-strip .btn-outline,.cta-strip .btn-outline-white,
.final-cta .btn-border,.final-cta .btn-outline,.final-cta .btn-outline-white,
.inv-cta .btn-border,.inv-cta .btn-outline,.inv-cta .btn-outline-white,
.qc-cta-band .btn-border,.qc-cta-band .btn-outline,.qc-cta-band .btn-outline-white,
.scn-cta .btn-border,.scn-cta .btn-outline,.scn-cta .btn-outline-white{
  background:rgba(255,255,255,.09)!important;color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.42)!important;border-radius:12px!important;
  font-weight:600!important;box-shadow:none!important;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#cta-main .btn-border:hover,.cta-section .btn-border:hover,.cta-band .btn-border:hover,
.cta-strip .btn-border:hover,.final-cta .btn-border:hover,
#cta-main .btn-outline:hover,.cta-section .btn-outline:hover,.cta-band .btn-outline:hover,
.cta-strip .btn-outline:hover,.final-cta .btn-outline:hover,
#cta-main .btn-outline-white:hover,.cta-section .btn-outline-white:hover,
.cta-band .btn-outline-white:hover,.cta-strip .btn-outline-white:hover,
.final-cta .btn-outline-white:hover,.inv-cta .btn-outline-white:hover,
.qc-cta-band .btn-outline-white:hover{
  background:rgba(255,255,255,.20)!important;border-color:#FFFFFF!important;
  color:#FFFFFF!important;transform:translateY(-2px)}


/* ============================================================
   v22 — Survival Index scoring model block (framework.html)
   ============================================================ */
.formula-block.si-model{
  position:relative;overflow:hidden;
  background:linear-gradient(160deg,#0E1830 0%,#16294F 46%,#123F4A 100%)!important;
  border:1px solid rgba(255,255,255,.10)!important;border-radius:22px!important;
  padding:0!important;margin-top:34px!important;
  box-shadow:0 2px 6px rgba(8,16,34,.18),0 40px 80px -44px rgba(10,22,48,.62)!important}
.formula-block.si-model::before{
  content:"";position:absolute;top:-40%;right:-18%;width:70%;height:150%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(23,166,155,.30),transparent 72%);filter:blur(10px)}
.formula-block.si-model > *{position:relative;z-index:1}

.formula-block.si-model .si-model-rail{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:.66rem;font-weight:500;letter-spacing:.16em;
  color:rgba(255,255,255,.62);text-transform:uppercase;
  padding:16px 22px;border-bottom:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04)}
.formula-block.si-model .si-model-rail::before{
  content:"";width:7px;height:7px;border-radius:50%;flex:none;
  background:var(--accent-2);box-shadow:0 0 0 4px rgba(23,166,155,.22)}

.formula-block.si-model .si-model-hero{padding:30px 22px 32px;text-align:center;
  border-bottom:1px solid rgba(255,255,255,.09)}
.formula-block.si-model .si-model-kicker{
  display:inline-flex;align-items:center;
  font-family:var(--font-mono);font-size:.62rem;letter-spacing:.15em;font-weight:600;
  color:#8FE3D9;background:rgba(23,166,155,.14);border:1px solid rgba(143,227,217,.30);
  border-radius:999px;padding:6px 13px;margin-bottom:16px}
.formula-block.si-model .si-model-title{
  font-family:var(--font-display)!important;font-size:clamp(1.5rem,5.4vw,2.1rem)!important;
  font-weight:800!important;letter-spacing:-.028em!important;line-height:1.14!important;
  color:#FFFFFF!important;margin:0 0 12px!important}
.formula-block.si-model .si-model-copy{
  font-size:.98rem!important;line-height:1.68!important;color:rgba(255,255,255,.80)!important;
  max-width:52ch;margin:0 auto 24px!important;text-wrap:pretty}
.formula-block.si-model .si-model-cta{
  display:inline-flex;align-items:center;justify-content:center;
  background:#FFFFFF;color:#12336F!important;font-weight:700;font-size:.94rem;
  padding:14px 26px;border-radius:12px;text-decoration:none;border:1px solid #FFFFFF;
  box-shadow:0 2px 6px rgba(0,0,0,.22),0 18px 34px -18px rgba(0,0,0,.55);
  transition:transform .2s ease,background .2s ease}
.formula-block.si-model .si-model-cta:hover{background:#E9F1FF;color:#0E2A5E!important;transform:translateY(-2px)}

.formula-block.si-model .si-vectors{display:grid;grid-template-columns:1fr;gap:12px;padding:22px}
@media(min-width:760px){.formula-block.si-model .si-vectors{grid-template-columns:repeat(3,1fr)!important;gap:14px;padding:26px 22px}}
.formula-block.si-model .si-vector{
  position:relative;overflow:hidden;text-align:left;
  background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);
  border-radius:14px;padding:16px 16px 18px;
  transition:background .22s ease,border-color .22s ease,transform .22s ease}
.formula-block.si-model .si-vector::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--vc)}
.formula-block.si-model .si-vector[data-role="primary"]{--vc:#34D399}
.formula-block.si-model .si-vector[data-role="numerator"]{--vc:#FBBF24}
.formula-block.si-model .si-vector[data-role="denominator"]{--vc:#60A5FA}
.formula-block.si-model .si-vector:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.26);transform:translateY(-3px)}
.formula-block.si-model .si-vector-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.formula-block.si-model .si-vector-abbr{
  font-family:var(--font-display);font-size:1.32rem;font-weight:800;letter-spacing:-.02em;
  color:var(--vc);line-height:1}
.formula-block.si-model .si-vector-role{
  font-family:var(--font-mono);font-size:.56rem;letter-spacing:.14em;font-weight:600;
  color:rgba(255,255,255,.72);background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:4px 9px;white-space:nowrap}
.formula-block.si-model .si-vector-name{
  font-size:.9rem;line-height:1.5;color:rgba(255,255,255,.86);font-weight:500;text-wrap:pretty}

.formula-block.si-model .si-model-note{
  display:flex;flex-direction:column;gap:10px;
  margin:0 22px 24px;padding:16px 18px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);
  border-left:3px solid var(--accent-2);border-radius:12px}
.formula-block.si-model .si-model-note-label{
  align-self:flex-start;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.15em;
  font-weight:600;color:#8FE3D9}
.formula-block.si-model .si-model-note p{
  margin:0!important;font-size:.9rem!important;line-height:1.68!important;
  color:rgba(255,255,255,.82)!important;text-align:left!important;max-width:none!important;text-wrap:pretty}
@media(min-width:760px){
  .formula-block.si-model .si-model-rail{padding:18px 30px}
  .formula-block.si-model .si-model-hero{padding:44px 40px 46px}
  .formula-block.si-model .si-vectors{padding:28px 30px}
  .formula-block.si-model .si-model-note{margin:0 30px 30px;padding:18px 22px}}

/* v22b — colour enforcement (beats page-local descendant rules) */
.formula-block.si-model .si-model-rail{color:rgba(255,255,255,.62)!important}
.formula-block.si-model .si-model-kicker{color:#8FE3D9!important}
.formula-block.si-model .si-model-title{color:#FFFFFF!important}
.formula-block.si-model .si-model-copy{color:rgba(255,255,255,.82)!important}
.formula-block.si-model .si-model-cta{color:#12336F!important;background:#FFFFFF!important}
.formula-block.si-model .si-model-cta:hover{color:#0E2A5E!important;background:#E9F1FF!important}
.formula-block.si-model .si-vector-abbr{color:var(--vc)!important}
.formula-block.si-model .si-vector-role{color:rgba(255,255,255,.74)!important}
.formula-block.si-model .si-vector-name{color:rgba(255,255,255,.87)!important}
.formula-block.si-model .si-model-note-label{color:#8FE3D9!important}
.formula-block.si-model .si-model-note p{color:rgba(255,255,255,.84)!important}
.formula-block.si-model .si-vector{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.14)!important}
.formula-block.si-model .si-vector:hover{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.26)!important}
.formula-block.si-model .si-model-note{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.13)!important;border-left-color:var(--accent-2)!important}
.formula-block.si-model .si-model-kicker{background:rgba(23,166,155,.14)!important;border-color:rgba(143,227,217,.30)!important}


/* ============================================================
   v25 — Illustrative scenario case block (methodology.html)
   ============================================================ */
.scenario-section.scn-case{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#FFFFFF,#F7FAFF)!important;
  border:1px solid var(--line)!important;border-left:none!important;
  border-radius:20px!important;padding:0!important;
  box-shadow:0 1px 2px rgba(16,24,40,.05),0 26px 54px -34px rgba(16,32,64,.30)!important}

.scenario-section.scn-case .scn-case-rail{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-family:var(--font-mono);font-size:.64rem;font-weight:600;letter-spacing:.15em;
  color:#0B5F58!important;text-transform:uppercase;
  padding:15px 20px;border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,rgba(23,166,155,.10),rgba(31,95,224,.07))}
.scenario-section.scn-case .scn-case-rail::before{
  content:"";width:7px;height:7px;border-radius:50%;flex:none;
  background:#C9333A;box-shadow:0 0 0 4px rgba(201,51,58,.16)}

.scenario-section.scn-case .scn-case-head{padding:22px 20px 4px}
.scenario-section.scn-case .scn-case-title{
  font-family:var(--font-display)!important;font-size:clamp(1.28rem,4.6vw,1.72rem)!important;
  font-weight:800!important;letter-spacing:-.026em!important;line-height:1.22!important;
  color:var(--ink-900)!important;margin:0 0 12px!important;text-wrap:pretty}
.scenario-section.scn-case .scn-case-brief{
  font-size:.98rem!important;line-height:1.72!important;color:var(--t-mid)!important;
  max-width:74ch!important;margin:0!important;text-wrap:pretty}

.scenario-section.scn-case .scn-case-grid{
  display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:22px 20px!important;margin:0!important}
@media(min-width:820px){
  .scenario-section.scn-case .scn-case-grid{grid-template-columns:repeat(3,1fr)!important;gap:14px!important;padding:26px 26px!important}
  .scenario-section.scn-case .scn-case-rail{padding:16px 28px}
  .scenario-section.scn-case .scn-case-head{padding:28px 28px 4px}}

.scenario-section.scn-case .scn-metric{
  position:relative;overflow:hidden;text-align:left!important;
  background:#FFFFFF!important;border:1px solid var(--line)!important;border-radius:14px!important;
  padding:16px 16px 18px!important;
  box-shadow:0 1px 2px rgba(16,24,40,.05)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.scenario-section.scn-case .scn-metric::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--sv)}
.scenario-section.scn-case .scn-metric[data-sev="high"]{--sv:#C9333A;--svs:rgba(201,51,58,.12)}
.scenario-section.scn-case .scn-metric[data-sev="mid"]{--sv:#B45309;--svs:rgba(180,83,9,.12)}
.scenario-section.scn-case .scn-metric:hover{
  transform:translateY(-3px);border-color:rgba(16,32,64,.16)!important;
  box-shadow:0 1px 2px rgba(16,24,40,.05),0 20px 34px -22px rgba(16,32,64,.34)!important}
.scenario-section.scn-case .scn-metric-top{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.scenario-section.scn-case .scn-metric-label{
  font-family:var(--font-mono)!important;font-size:.6rem!important;letter-spacing:.13em!important;
  font-weight:600!important;color:var(--t-low)!important;margin:0!important;text-align:left!important;line-height:1.5!important}
.scenario-section.scn-case .scn-metric-value{
  font-family:var(--font-display)!important;font-size:1.9rem!important;font-weight:900!important;
  line-height:1!important;letter-spacing:-.03em!important;color:var(--sv)!important;margin:0!important}
.scenario-section.scn-case .scn-metric-bar{
  height:5px;border-radius:99px;background:#E6EBF5;overflow:hidden;margin-bottom:11px}
.scenario-section.scn-case .scn-metric-bar i{
  display:block;height:100%;border-radius:99px;background:var(--sv)}
.scenario-section.scn-case .scn-metric-name{
  font-size:.86rem!important;line-height:1.6!important;color:var(--t-mid)!important;
  text-align:left!important;margin:0!important;text-wrap:pretty}

.scenario-section.scn-case .scn-result{
  position:relative;overflow:hidden;
  margin:0 20px 22px;padding:24px 20px;border-radius:18px;
  background:linear-gradient(155deg,#0E1830 0%,#16294F 52%,#123F4A 100%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 26px 52px -34px rgba(10,22,48,.7)}
.scenario-section.scn-case .scn-result::before{
  content:"";position:absolute;top:-45%;right:-16%;width:64%;height:150%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(201,51,58,.28),transparent 72%)}
.scenario-section.scn-case .scn-result > *{position:relative;z-index:1}
@media(min-width:820px){.scenario-section.scn-case .scn-result{margin:0 26px 28px;padding:30px 30px}}

.scenario-section.scn-case .scn-result-rail{
  display:inline-flex;align-items:center;
  font-family:var(--font-mono)!important;font-size:.6rem!important;letter-spacing:.15em!important;
  font-weight:600!important;color:#8FE3D9!important;
  background:rgba(23,166,155,.16);border:1px solid rgba(143,227,217,.30);
  border-radius:999px;padding:6px 12px;margin-bottom:16px}
.scenario-section.scn-case .scn-result-score{
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.scenario-section.scn-case .scn-score-num{
  font-family:var(--font-display)!important;font-size:clamp(2.9rem,11vw,3.9rem)!important;
  font-weight:900!important;line-height:.92!important;letter-spacing:-.045em!important;
  color:#FF8A90!important}
.scenario-section.scn-case .scn-score-meta{
  font-size:.92rem!important;font-weight:600!important;letter-spacing:.01em!important;
  color:rgba(255,255,255,.78)!important;
  border-left:1px solid rgba(255,255,255,.22);padding-left:12px}
.scenario-section.scn-case .scn-result-copy{
  font-size:.94rem!important;line-height:1.72!important;color:rgba(255,255,255,.82)!important;
  max-width:76ch!important;margin:0 0 18px!important;text-wrap:pretty}
.scenario-section.scn-case .scn-result-copy strong{color:#FFFFFF!important;font-weight:700!important}

.scenario-section.scn-case .scn-takeaway{
  padding:16px 18px;border-radius:12px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);
  border-left:3px solid var(--accent-2)}
.scenario-section.scn-case .scn-takeaway p{
  margin:0!important;font-size:.92rem!important;line-height:1.72!important;
  color:rgba(255,255,255,.86)!important;max-width:none!important;text-wrap:pretty}
.scenario-section.scn-case .scn-takeaway strong{color:#8FE3D9!important;font-weight:700!important}

.scenario-section.scn-case .scn-formula{
  display:flex;flex-direction:column;gap:6px;margin-top:16px;padding:14px 16px;
  border-radius:12px;background:rgba(0,0,0,.26);border:1px solid rgba(255,255,255,.10)}
.scenario-section.scn-case .scn-formula-label{
  font-family:var(--font-mono)!important;font-size:.58rem!important;letter-spacing:.15em!important;
  font-weight:600!important;color:rgba(255,255,255,.60)!important}
.scenario-section.scn-case .scn-formula-value{
  font-family:var(--font-mono)!important;font-size:.88rem!important;
  color:#BFE9FF!important;line-height:1.5!important}


/* ============================================================
   v25b — Homepage without/with scenario comparison
   ============================================================ */
.scenario-box.scn-compare{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#FFFFFF,#F7FAFF)!important;
  border:1px solid var(--line)!important;border-radius:20px!important;padding:0!important;
  box-shadow:0 1px 2px rgba(16,24,40,.05),0 26px 54px -34px rgba(16,32,64,.30)!important}

.scenario-box.scn-compare .scn-cmp-rail{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-family:var(--font-mono)!important;font-size:.64rem!important;font-weight:600!important;
  letter-spacing:.15em!important;color:#0B5F58!important;text-transform:uppercase;
  padding:15px 20px;border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,rgba(23,166,155,.10),rgba(31,95,224,.07))}
.scenario-box.scn-compare .scn-cmp-rail::before{
  content:"";width:7px;height:7px;border-radius:50%;flex:none;
  background:#C9333A;box-shadow:0 0 0 4px rgba(201,51,58,.16)}

.scenario-box.scn-compare .scn-cmp-grid{
  display:grid!important;grid-template-columns:1fr!important;gap:14px!important;padding:20px!important}
@media(min-width:820px){
  .scenario-box.scn-compare .scn-cmp-grid{grid-template-columns:1fr 1fr!important;gap:18px!important;padding:26px!important}
  .scenario-box.scn-compare .scn-cmp-rail{padding:16px 28px}}

.scenario-box.scn-compare .scn-cmp-card{
  position:relative;overflow:hidden;
  border-radius:14px;padding:18px 18px 20px;
  border:1px solid var(--line);background:#FFFFFF;
  box-shadow:0 1px 2px rgba(16,24,40,.05);
  transition:transform .22s ease,box-shadow .22s ease}
.scenario-box.scn-compare .scn-cmp-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--cc)}
.scenario-box.scn-compare .scn-cmp-card[data-side="without"]{--cc:#C9333A;
  background:linear-gradient(180deg,rgba(201,51,58,.055),#FFFFFF 58%)}
.scenario-box.scn-compare .scn-cmp-card[data-side="with"]{--cc:#0F8177;
  background:linear-gradient(180deg,rgba(23,166,155,.07),#FFFFFF 58%)}
.scenario-box.scn-compare .scn-cmp-card:hover{
  transform:translateY(-3px);
  box-shadow:0 1px 2px rgba(16,24,40,.05),0 20px 34px -22px rgba(16,32,64,.34)}
.scenario-box.scn-compare .scn-cmp-head{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-mono)!important;font-size:.6rem!important;letter-spacing:.13em!important;
  font-weight:600!important;color:var(--cc)!important;
  border:1px solid var(--cc);border-radius:999px;padding:5px 11px;margin-bottom:12px;
  background:#FFFFFF}
.scenario-box.scn-compare .scn-cmp-card p{
  font-size:.92rem!important;line-height:1.72!important;color:var(--t-mid)!important;
  margin:0!important;max-width:none!important;text-wrap:pretty}
.scenario-box.scn-compare .scn-cmp-card em{
  display:block;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);
  font-style:italic;color:var(--t-low)!important;font-size:.86rem!important}

.scenario-box.scn-compare .scn-cmp-diff{
  position:relative;overflow:hidden;
  margin:0 20px 20px;padding:24px 20px;border-radius:18px;
  background:linear-gradient(155deg,#0E1830 0%,#16294F 52%,#123F4A 100%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 26px 52px -34px rgba(10,22,48,.7)}
.scenario-box.scn-compare .scn-cmp-diff::before{
  content:"";position:absolute;top:-45%;right:-16%;width:64%;height:150%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(23,166,155,.30),transparent 72%)}
.scenario-box.scn-compare .scn-cmp-diff > *{position:relative;z-index:1}
@media(min-width:820px){.scenario-box.scn-compare .scn-cmp-diff{margin:0 26px 26px;padding:30px}}
.scenario-box.scn-compare .scn-cmp-diff-rail{
  display:inline-flex;align-items:center;
  font-family:var(--font-mono)!important;font-size:.6rem!important;letter-spacing:.15em!important;
  font-weight:600!important;color:#8FE3D9!important;
  background:rgba(23,166,155,.16);border:1px solid rgba(143,227,217,.30);
  border-radius:999px;padding:6px 12px;margin-bottom:14px}
.scenario-box.scn-compare .scn-cmp-diff p{
  font-size:1rem!important;line-height:1.72!important;color:rgba(255,255,255,.86)!important;
  margin:0!important;max-width:70ch!important;text-wrap:pretty}
.scenario-box.scn-compare .scn-cmp-diff p strong{color:#FFFFFF!important;font-weight:700!important}
.scenario-box.scn-compare .scn-cmp-cta{
  margin-top:20px!important;display:inline-flex!important;
  background:#FFFFFF!important;color:#12336F!important;border-color:#FFFFFF!important}
.scenario-box.scn-compare .scn-cmp-cta:hover{background:#E9F1FF!important;color:#0E2A5E!important}

.scenario-section.scn-case::before{display:none!important;content:none!important}
.scenario-box.scn-compare::before{display:none!important;content:none!important}
@media(max-width:520px){
  .scenario-box.scn-compare .scn-cmp-head{white-space:normal;line-height:1.5;border-radius:12px}}


/* ============================================================
   v29 — Transparency & disclosure ledger
   ============================================================ */
.disc-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:28px}
@media(min-width:860px){.disc-grid{grid-template-columns:1fr 1fr;gap:20px}}

.disc-card{
  position:relative;overflow:hidden;border-radius:18px;padding:0;
  border:1px solid var(--line);background:#FFFFFF;
  box-shadow:0 1px 2px rgba(16,24,40,.05),0 20px 44px -30px rgba(16,32,64,.28);
  transition:transform .22s ease,box-shadow .22s ease}
.disc-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--dc)}
.disc-card[data-kind="yes"]{--dc:#0F8177;--dcs:rgba(15,129,119,.09);--dcb:rgba(15,129,119,.22)}
.disc-card[data-kind="no"]{--dc:#C9333A;--dcs:rgba(201,51,58,.08);--dcb:rgba(201,51,58,.20)}
.disc-card:hover{transform:translateY(-3px);
  box-shadow:0 1px 2px rgba(16,24,40,.05),0 26px 48px -28px rgba(16,32,64,.34)}

.disc-head{
  display:flex;align-items:center;gap:12px;
  padding:18px 20px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,var(--dcs),rgba(255,255,255,0))}
.disc-badge{
  flex:none;width:30px;height:30px;border-radius:9px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.92rem;font-weight:800;line-height:1;
  color:#FFFFFF;background:var(--dc);
  box-shadow:0 6px 14px -8px var(--dc)}
.disc-title{
  margin:0!important;font-family:var(--font-display)!important;
  font-size:1.02rem!important;font-weight:800!important;letter-spacing:-.015em!important;
  color:var(--ink-900)!important;line-height:1.3!important}

.disc-list{list-style:none!important;margin:0!important;padding:8px 12px 14px!important;
  display:flex;flex-direction:column;gap:2px}
.disc-item{
  display:flex;align-items:flex-start;gap:11px;
  padding:11px 10px;border-radius:11px;margin:0!important;
  transition:background .18s ease}
.disc-item + .disc-item{border-top:1px solid rgba(16,32,64,.06)}
.disc-item:hover{background:var(--dcs)}
.disc-mark{
  flex:none;margin-top:1px;width:19px;height:19px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.66rem;font-weight:800;line-height:1;
  color:var(--dc);background:var(--dcs);border:1px solid var(--dcb)}
.disc-text{
  font-size:.92rem!important;line-height:1.62!important;
  color:var(--t-mid)!important;text-wrap:pretty}


/* v30 — accent-as-text contrast on tinted panels */
.wp-toc a,.wp-toc ol a{color:#1F51C4!important}
.wp-toc a:hover{color:#16409E!important}
a[style*="#2F6FED"],a[style*="#2f6fed"]{color:#1F51C4!important}
a[style*="#2F6FED"]:hover,a[style*="#2f6fed"]:hover{color:#16409E!important}


/* ============================================================
   v31 — Threat map panel is a dark instrument surface:
   restore light-on-dark text that the light theme overrode.
   ============================================================ */
.threat-map-panel,.threat-map-panel *{color:rgba(255,255,255,.72)!important}
.threat-map-panel a{color:rgba(0,229,255,.85)!important}
.threat-map-panel a:hover{color:#7FEFFF!important}
.threat-map-panel .tmp-title,.threat-map-panel .tm-panel-title,
.threat-map-panel .tm-th,.threat-map-panel .tmp-stat-lbl{color:rgba(0,229,255,.78)!important}
.threat-map-panel .tmp-stat-val{color:#00E5FF!important}
.threat-map-panel .tm-cell{color:rgba(255,255,255,.78)!important}
.threat-map-panel .tm-cell-time{color:rgba(255,255,255,.58)!important}
.threat-map-panel .tm-cell-attack{color:rgba(0,229,255,.85)!important}
.threat-map-panel .tm-legend-item,.threat-map-panel .tm-loc-name{color:rgba(255,255,255,.78)!important}
.threat-map-panel .tm-na{color:rgba(255,255,255,.5)!important}
.threat-map-panel .tmp-credit-link,.threat-map-panel .tmp-legal-link,
.threat-map-panel .tmp-disclaimer-compact,.threat-map-panel .tmp-source-chip{color:rgba(255,255,255,.66)!important}
.threat-map-panel .tmp-legal-sep{color:rgba(255,255,255,.35)!important}
/* threat type codes — bright variants for the dark surface */
.threat-map-panel .tt-ransomware{color:#FF8A90!important}
.threat-map-panel .tt-phishing{color:#FFC861!important}
.threat-map-panel .tt-ddos{color:#C4A6FF!important}
.threat-map-panel .tt-malware{color:#FFB067!important}
.threat-map-panel .tt-botnet{color:#5EE1F5!important}
.threat-map-panel .tld-red{color:#FF6B85!important}
.threat-map-panel .tld-orange{color:#FFA05C!important}
.threat-map-panel .tld-yellow{color:#FFE066!important}
.threat-map-panel .tld-cyan{color:#3DDCFF!important}
.threat-map-panel .tld-purple{color:#C4A6FF!important}
.threat-map-panel .tm-legend-dot,.threat-map-panel .tm-legend-inner{color:inherit!important}


/* v32 — nav must not overflow between the mobile menu breakpoint and wide desktop */
@media(min-width:1051px) and (max-width:1440px){
  .nav-links a{padding:0 5px!important;font-size:.76rem!important}
  .nav-cta{padding:0 10px!important;margin-left:6px!important}
  .nav-logo-text{font-size:.88rem!important}}
.nav-links{min-width:0}


/* ============================================================
   v33 — whitepaper: Contents card + Trinity Model panel
   ============================================================ */
.wp-toc{
  background:linear-gradient(180deg,#FFFFFF,#F7FAFF)!important;
  border:1px solid var(--line)!important;border-left:4px solid var(--accent-2)!important;
  border-radius:6px 20px 20px 6px!important;padding:26px 28px 22px!important;margin:48px 0!important;
  box-shadow:0 1px 2px rgba(16,24,40,.05),0 20px 44px -30px rgba(16,32,64,.28)!important;
  position:relative;overflow:hidden}
.wp-toc h4{
  display:flex;align-items:center;gap:9px;font-family:var(--font-mono)!important;
  font-size:.72rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;
  color:var(--accent-2-fill)!important;margin:0 0 16px!important;padding-bottom:14px!important;
  border-bottom:1px solid var(--line)!important}
.wp-toc h4::before{
  content:"";width:7px;height:7px;border-radius:50%;flex:0 0 auto;
  background:var(--accent-2);box-shadow:0 0 0 3px rgba(23,166,155,.16)}
.wp-toc ol{list-style:none!important;padding:0!important;margin:0!important;counter-reset:wptoc}
.wp-toc li{
  counter-increment:wptoc;margin:0!important;font-size:.9rem!important;
  border-bottom:1px solid rgba(16,24,40,.06)}
.wp-toc li:last-child{border-bottom:0}
.wp-toc li a{
  display:flex;align-items:center;gap:12px;padding:11px 10px 11px 8px;margin:0 -8px;
  border-radius:10px;text-decoration:none!important;font-weight:500;
  transition:background .18s ease,color .18s ease,transform .18s ease}
.wp-toc li a::before{
  content:counter(wptoc,decimal-leading-zero);flex:0 0 auto;
  width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.02em;
  color:#1F51C4;background:rgba(31,95,224,.09);
  border:1px solid rgba(31,95,224,.18);border-radius:8px;transition:all .18s ease}
.wp-toc li a::after{content:"→";margin-left:auto;color:rgba(16,24,40,.28);font-size:.85rem;transition:all .18s ease}
.wp-toc li a:hover{background:rgba(31,95,224,.05);transform:translateX(2px)}
.wp-toc li a:hover::before{background:var(--accent);border-color:var(--accent);color:#fff}
.wp-toc li a:hover::after{color:var(--accent);transform:translateX(3px)}

.placeholder-box{
  background:linear-gradient(180deg,#FFFFFF,#F7FAFF)!important;
  border:1px solid var(--line)!important;border-radius:20px!important;
  padding:44px 36px!important;margin:40px 0!important;text-align:center!important;
  box-shadow:0 1px 2px rgba(16,24,40,.05),0 20px 44px -30px rgba(16,32,64,.28)!important;
  position:relative;overflow:hidden}
.placeholder-box::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.placeholder-box::after{
  content:"";position:absolute;top:-90px;left:50%;transform:translateX(-50%);
  width:min(560px,100%);height:220px;pointer-events:none;z-index:0;
  background:radial-gradient(60% 100% at 50% 50%,rgba(31,95,224,.10),transparent 70%)}
.placeholder-box>*{position:relative;z-index:1}
.placeholder-box h3{
  font-family:var(--font-display)!important;font-size:1.25rem!important;font-weight:700!important;
  color:var(--ink-900)!important;margin:0 0 10px!important}
.placeholder-box h3::before{
  content:"IN DEVELOPMENT";display:block;margin:0 auto 14px;width:max-content;
  font-family:var(--font-mono);font-size:.64rem;font-weight:600;letter-spacing:.16em;
  color:var(--accent-2-fill);background:rgba(23,166,155,.10);
  border:1px solid rgba(23,166,155,.24);border-radius:999px;padding:5px 12px}
.placeholder-box p{
  color:var(--t-low)!important;font-size:.92rem!important;line-height:1.7!important;
  max-width:560px!important;margin:0 auto!important}
@media(max-width:600px){
  .wp-toc{padding:22px 20px 18px!important;border-radius:6px 16px 16px 6px!important}
  .placeholder-box{padding:34px 22px!important;border-radius:16px!important}}


/* ═══ v35 — mobile alignment, icon rows, step cards ═══════ */

/* icon/number + text rows: glyph and copy stay on one line, left aligned */
li[style*="display:flex"],
div[style*="display:flex"]:has(> span[style*="flex-shrink:0"]){
  flex-wrap:nowrap!important;text-align:left!important;align-items:flex-start!important}
li[style*="display:flex"] > span:first-child,
div[style*="display:flex"] > span[style*="flex-shrink:0"]{
  flex:0 0 auto!important;white-space:nowrap!important;line-height:1.55!important}
li[style*="display:flex"] > *:not(:first-child),
div[style*="display:flex"]:has(> span[style*="flex-shrink:0"]) > p{
  min-width:0!important;flex:1 1 auto!important;text-align:left!important;margin:0!important}

/* Methodology stress-test steps — card, not grey slab */
.st-step{
  background:linear-gradient(180deg,#FFFFFF,#F7FAFF)!important;
  border:1px solid #DDE4F0!important;border-radius:16px!important;padding:18px 20px!important;
  box-shadow:0 1px 2px rgba(10,16,32,.04),0 14px 32px -20px rgba(16,32,64,.20)!important}
.st-step-num{
  color:#0B5E57!important;background:rgba(23,166,155,.10);border:1px solid rgba(23,166,155,.26);
  border-radius:999px;padding:4px 11px;align-self:flex-start;font-weight:600!important}
.st-step-content p{color:var(--t-mid)!important}
@media(max-width:760px){
  .st-step{flex-direction:column!important;gap:10px!important}
  .st-step-content h4{margin-bottom:6px}
}

/* About hero — centred portrait, badge that wraps */
.bio-badge{white-space:normal!important;max-width:100%!important;line-height:1.65!important}
@media(max-width:1000px){
  .photo-col{align-items:center!important;text-align:center!important;width:100%}
  .photo-frame{max-width:100%}
}

/* mobile: stacked, full-width CTA rows — nothing runs off screen */
@media(max-width:760px){
  .hero-cta,.cta-group,.contact-cta,.about-cta{
    flex-direction:column!important;align-items:stretch!important;width:100%}
  .hero-cta .btn,.cta-group .btn{width:100%!important;justify-content:center!important;text-align:center!important}
  .cert-row{justify-content:flex-start}
}
html,body{overflow-x:hidden!important}


/* ── Footer grid (pages lacking their own .footer-inner grid) ─── */
footer .footer-inner{max-width:1180px!important;margin:0 auto!important;text-align:left!important;
  display:grid!important;grid-template-columns:1fr!important;gap:32px!important;margin-bottom:36px!important}
@media(min-width:760px){
  footer .footer-inner{grid-template-columns:2fr 1fr 1fr 1fr!important;gap:48px!important}
}
footer{text-align:left!important}
footer .footer-bottom{text-align:center!important}


/* ═══ v42 — MOBILE OVERFLOW GUARD ═══════════════════════════ */
@media(max-width:767px){
  html,body{overflow-x:hidden!important;max-width:100%!important}
  body *{min-width:0!important}
  img,svg,video,iframe,canvas{max-width:100%!important;height:auto}

  /* long words / mono strings never push the page wide */
  p,li,h1,h2,h3,h4,h5,td,th,dd,dt,figcaption,blockquote{overflow-wrap:break-word!important}

  /* every multi-column grid stacks */
  [class*="grid"],[class*="Grid"]{grid-template-columns:1fr!important}
  [style*="grid-template-columns"]{grid-template-columns:1fr!important}

  /* mono pills, badges, abbreviations wrap instead of running off-screen */
  [class*="badge"],[class*="abbr"],[class*="chip"],[class*="pill"],[class*="tag"],
  [class*="label"],[class*="eyebrow"],[class*="kicker"],[class*="cred"],[class*="note"]{
    white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;
    max-width:100%!important;letter-spacing:.05em!important;text-align:left}

  /* buttons wrap their label and never exceed the column */
  .btn,a.btn,button.btn,[class*="btn"],[class*="cta-btn"]{
    white-space:normal!important;max-width:100%!important;width:auto;
    overflow-wrap:break-word!important;text-align:center;justify-content:center}

  /* horizontal rows wrap */
  [class*="row"],[class*="chips"],[class*="tags"],[class*="pair"],[class*="group"],
  [class*="cta"],[class*="links"],[class*="list"]{flex-wrap:wrap!important}

  /* the About hero photo column centres */
  .photo-col{align-items:center!important;text-align:center}
}
