/* Canonical 12-color token system */
:root {
  --c-navy: #1a3a8f;
  --c-navy-dark: #0f1e4b;
  --c-navy-light: #2a4ba1;
  --c-gold: #a0782a;
  --c-gold-dark: #7a5a1f;
  --c-cream: #f5efdf;
  --c-bg-tint: #fbfcfe;
  --c-border: #ecf0f6;
  --c-text-body: #3a4254;
  --c-text-muted: #6b7689;
  --c-white: #ffffff;
  --c-success: #86d6a6;
  --c-danger: #a22e2e;
  --c-success-dark: #1a5e3a;
}

/* ============================================================
   FILE.BUSINESS: DESIGN SYSTEM (v2: Professional / Trust)
   Light, editorial, institution-grade.
   ============================================================ */
:root{
  /* Surfaces */
  --bg:#ffffff;
  --bg-tint:#fbfcfe;
  --bg-warm:#f5efdf;
  --bg-deep:#0f1e4b;
  --surface:#ffffff;
  --surface-2:#fbfcfe;

  /* Lines */
  --line:#ecf0f6;
  --line-strong:#ecf0f6;
  --line-deep:#bcc3cf;

  /* Ink */
  --ink:#0f1e4b;       /* near-black navy */
  --ink-2:#3a4254;
  --ink-3:#6b7689;
  --muted:#6b7689;
  --muted-2:#86d6a6;

  /* Brand */
  --primary:#1a3a8f;        /* trust navy */
  --primary-600:#1a3a8f;
  --primary-700:#0f1e4b;
  --primary-50:#ecf0f6;
  --primary-100:#ecf0f6;

  --accent:#1a5e3a;         /* forest, "filed / compliant" */
  --accent-50:#ecf0f6;
  --gold:#a0782a;           /* deep gold seal */
  --gold-50:#f5efdf;
  --warn:#a0782a;
  --red:#a22e2e;

  /* Radius */
  --r-sm:8px;
  --r:12px;
  --r-lg:18px;
  --r-xl:24px;

  /* Shadows */
  --sh-1: 0 1px 2px rgba(12,26,45,.04), 0 1px 0 rgba(12,26,45,.02);
  --sh-2: 0 4px 14px -4px rgba(12,26,45,.10), 0 2px 6px -2px rgba(12,26,45,.06);
  --sh-3: 0 24px 60px -24px rgba(12,26,45,.18), 0 8px 24px -12px rgba(12,26,45,.10);

  /* Type */
  --font-serif: "Source Serif 4", "Source Serif Pro", "Newsreader", Georgia, "Times New Roman", serif;
  --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--font-sans);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  line-height:1.55;overflow-x:hidden;
  font-feature-settings:"ss01","cv11";
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{display:block;max-width:100%}
::selection{background:rgba(26,58,143,.18);color:var(--ink)}

/* Layout */
.container{width:min(1200px,92%);margin-inline:auto}
.container-wide{width:min(1320px,94%);margin-inline:auto}
.container-narrow{width:min(880px,92%);margin-inline:auto}

/* Type */
h1,h2,h3,h4{margin:0;color:var(--ink);font-family:var(--font-serif);font-weight:400;letter-spacing:-.015em;line-height:1.1}
h1{font-size:clamp(2.6rem,5.4vw,4.6rem);letter-spacing:-.025em;line-height:1.04}
h2{font-size:clamp(1.9rem,3.6vw,2.8rem);letter-spacing:-.02em;line-height:1.08}
h3{font-size:clamp(1.3rem,1.9vw,1.6rem)}
h4{font-size:1.08rem}
p{margin:0;color:var(--ink-2);font-size:16px}
.lede{font-size:clamp(1.05rem,1.25vw,1.2rem);color:var(--ink-2);line-height:1.55}
.sans{font-family:var(--font-sans)}
.serif{font-family:var(--font-serif)}
.italic{font-style:italic}
.mono{font-family:var(--font-mono)}

.eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-sans);font-weight:600;
  font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--primary);
  padding:.4rem .7rem;border:1px solid var(--primary-100);border-radius:999px;
  background:var(--primary-50);
}
.eyebrow.green{color:var(--accent);background:var(--accent-50);border-color:rgba(15,107,86,.18)}
.eyebrow.gold{color:var(--gold);background:var(--gold-50);border-color:rgba(160,120,42,.2)}
.eyebrow.neutral{color:var(--ink-2);background:var(--bg-tint);border-color:var(--line)}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:currentColor}

.kicker{
  font-family:var(--font-sans);font-weight:600;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--primary);
}

/* Links */
.link-arrow{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-weight:600;font-size:14.5px}
.link-arrow svg{transition:transform .2s}
.link-arrow:hover svg{transform:translateX(3px)}

/* ============================================================
   ANNOUNCEMENT BAR
   ============================================================ */
.bar{background:var(--bg-deep);color:#fff;font-size:13px;padding:9px 0;text-align:center}
.bar a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.4);font-weight:500}
.bar .pill{display:inline-block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;padding:2px 8px;border-radius:4px;background:rgba(255,255,255,.12);color:#fff;margin-right:8px}

/* ============================================================
   NAVIGATION
   ============================================================ */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .25s, background .25s, box-shadow .25s;
}
.nav.scrolled{border-bottom-color:var(--line);background:rgba(255,255,255,.92);box-shadow:var(--sh-1)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0}

.brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.015em;font-size:17px;color:var(--ink);font-family:var(--font-sans)}
.brand .mark{
  width:30px;height:30px;border-radius:7px;
  background:linear-gradient(155deg,var(--primary),var(--primary-700));
  display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px;
  box-shadow:inset 0 -1px 0 rgba(0,0,0,.25), 0 1px 2px rgba(12,26,45,.18);
  font-family:var(--font-serif);
}
.brand .wm{display:flex;align-items:baseline}
.brand .wm .dom{color:var(--primary);font-weight:600}

.nav-links{display:flex;align-items:center;gap:2px}
.nav-links > a, .nav-links > .has-menu > .trigger{
  padding:9px 14px;border-radius:8px;color:var(--ink-2);font-size:14.5px;font-weight:500;
  transition:color .2s, background .2s;cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;
}
.nav-links > a:hover, .nav-links > .has-menu:hover > .trigger, .nav-links > a.active{color:var(--ink);background:var(--bg-tint)}
.nav-cta{display:flex;align-items:center;gap:10px}

.has-menu{position:relative}
.has-menu .menu{
  position:absolute;top:100%;left:-12px;margin-top:6px;
  min-width:560px;padding:18px;
  background:#fff;
  border:1px solid var(--line);border-radius:14px;
  display:none;grid-template-columns:1fr 1fr;gap:6px;
  box-shadow:var(--sh-3);
}
.has-menu.wide .menu{min-width:780px;grid-template-columns:1fr 1fr 1fr}
.has-menu:hover .menu, .has-menu:focus-within .menu{display:grid}
.menu a{display:block;padding:10px 12px;border-radius:8px;transition:background .15s}
.menu a:hover{background:var(--bg-tint)}
.menu a b{display:block;font-size:13.5px;color:var(--ink);font-weight:600;font-family:var(--font-sans)}
.menu a span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px;line-height:1.4}
.menu .group-label{grid-column:1/-1;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:8px 12px 4px}
@media (max-width:1080px){.nav-links{display:none}}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.78rem 1.1rem;border-radius:10px;
  font-weight:600;font-size:14.5px;letter-spacing:-.003em;
  transition:transform .12s ease, box-shadow .25s ease, background .2s, color .15s, border-color .2s;
  white-space:nowrap;border:1px solid transparent;font-family:var(--font-sans);
}
.btn-primary{color:#fff;background:var(--primary);box-shadow:var(--sh-1)}
.btn-primary:hover{background:var(--primary-600);box-shadow:var(--sh-2)}
.btn-secondary{color:var(--ink);background:#fff;border-color:var(--line-strong)}
.btn-secondary:hover{border-color:var(--ink);background:#fff}
.btn-tertiary{color:var(--primary);background:transparent;padding:.78rem 0}
.btn-tertiary:hover{color:var(--primary-700)}
.btn-dark{color:#fff;background:var(--bg-deep)}
.btn-dark:hover{background:#0f1e4b}
.btn-sm{padding:.55rem .85rem;font-size:13.5px;border-radius:8px}
.btn-lg{padding:1rem 1.4rem;font-size:15.5px;border-radius:12px}
.btn .arrow{transition:transform .2s}
.btn:hover .arrow{transform:translateX(3px)}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;isolation:isolate;padding:90px 0 90px;overflow:hidden}
.hero-small{padding:70px 0 50px}
.hero .container{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:48px}}

.hero h1{margin-top:18px}
.hero h1 .accent{color:var(--primary)}
.hero h1 .underline{
  display:inline-block;position:relative;padding-bottom:.06em;
}
.hero h1 .underline::after{
  content:"";position:absolute;left:0;right:0;bottom:.04em;height:.08em;
  background:linear-gradient(90deg, var(--gold), var(--gold) 70%, transparent);
  border-radius:1px;
}

.hero-sub{max-width:560px;margin-top:22px}
.hero-ctas{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.hero-meta{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:32px;color:var(--ink-2);font-size:13.5px}
.hero-meta .check{color:var(--accent);width:14px;height:14px;display:inline-block;vertical-align:-2px;margin-right:6px}

/* Soft background wash, no neon */
.hero-bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(60% 50% at 85% 10%, rgba(26,58,143,.06), transparent 70%),
    radial-gradient(50% 40% at 0% 100%, rgba(15,107,86,.05), transparent 70%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg) 60%, var(--bg-tint) 100%);
}
.hero-bg .grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(12,26,45,.04) 1px, transparent 1px),linear-gradient(90deg, rgba(12,26,45,.04) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(circle at 50% 30%, black, transparent 75%);
  -webkit-mask-image:radial-gradient(circle at 50% 30%, black, transparent 75%);
}

/* ============================================================
   HERO PRODUCT CARD (light)
   ============================================================ */
.stage{position:relative;min-height:520px}
.app-card{
  position:relative;border-radius:var(--r-xl);
  background:#fff;border:1px solid var(--line);
  box-shadow:var(--sh-3);overflow:hidden;
}
.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg-tint)}
.app-header .pills{display:flex;gap:7px}
.app-header .pills i{width:10px;height:10px;border-radius:50%;background:#f5efdf}
.app-header .pills i:first-child{background:#e8736d}
.app-header .pills i:nth-child(2){background:#e8b66d}
.app-header .pills i:nth-child(3){background:#86d6a6}
.app-header .url{font-family:var(--font-mono);font-size:11.5px;color:var(--muted)}
.app-body{padding:18px}
.app-row{display:flex;gap:14px}
.app-side{flex:0 0 36%;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-tint)}
.app-side h4{font-family:var(--font-sans);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-weight:600}
.menu-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:var(--ink-2);font-size:13px}
.menu-row .ic{width:22px;height:22px;border-radius:6px;background:#fff;display:grid;place-items:center;color:var(--primary);border:1px solid var(--line)}
.menu-row.active{background:#fff;color:var(--ink);border:1px solid var(--line);font-weight:500;box-shadow:var(--sh-1)}
.app-main-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}
.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kpi{padding:12px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.kpi small{font-family:var(--font-mono);font-size:10px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
.kpi b{display:block;font-family:var(--font-serif);font-size:20px;margin-top:4px;letter-spacing:-.015em;color:var(--ink);font-weight:500}
.kpi .delta{font-size:11px;color:var(--accent);margin-top:4px;font-family:var(--font-mono)}
.chart{height:120px;border:1px solid var(--line);border-radius:var(--r);background:#fff;position:relative;overflow:hidden}
.chart svg{position:absolute;inset:0;width:100%;height:100%}
.tasks{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.task{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}
.task .b{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--line-strong);position:relative;flex:0 0 14px;background:#fff}
.task.done .b{background:var(--accent);border-color:var(--accent)}
.task.done .b::after{content:"";position:absolute;left:3px;top:0;width:4px;height:8px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}
.task.done span{color:var(--muted);text-decoration:line-through}

.app-floater{
  position:absolute;right:-16px;bottom:6%;
  width:280px;padding:16px;border-radius:var(--r-lg);
  background:#fff;border:1px solid var(--line);
  box-shadow:var(--sh-3);
}
.app-floater .top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.app-floater .avatar{width:32px;height:32px;border-radius:8px;background:linear-gradient(155deg,var(--primary),var(--primary-700));display:grid;place-items:center;color:#fff;font-weight:700;font-size:12px;font-family:var(--font-serif)}
.app-floater .name{font-size:13.5px;font-weight:600;color:var(--ink)}
.app-floater .label{font-size:11px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.app-floater p{font-size:13.5px;color:var(--ink);line-height:1.5}
.app-floater p b{font-weight:600}
.app-floater .row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.chip{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.05em;background:var(--bg-tint)}
.chip.ok{color:var(--accent);background:var(--accent-50);border-color:rgba(15,107,86,.2)}
.chip.warn{color:var(--gold);background:var(--gold-50);border-color:rgba(160,120,42,.22)}
@media (max-width:980px){.stage{min-height:auto}.app-floater{right:6%;bottom:-12%;width:240px;position:absolute}}

/* ============================================================
   LOGO STRIP
   ============================================================ */
.logos{padding:60px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg)}
.logos .label{display:block;text-align:center;color:var(--muted);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:32px}
.logo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:22px;align-items:center}
@media (max-width:880px){.logo-grid{grid-template-columns:repeat(3,1fr);gap:18px 22px}}
.logo-grid .lg{
  text-align:center;font-family:var(--font-serif);font-style:italic;
  font-size:18px;color:var(--muted);letter-spacing:-.01em;
  display:flex;align-items:center;justify-content:center;height:36px;
}
.logo-grid .lg.bold{font-family:var(--font-sans);font-style:normal;font-weight:700;letter-spacing:.02em;font-size:15px;color:var(--ink-3)}
.logo-grid .lg.allcaps{font-family:var(--font-sans);font-style:normal;font-weight:600;letter-spacing:.16em;font-size:13px;color:var(--ink-3);text-transform:uppercase}

/* ============================================================
   SECTIONS
   ============================================================ */
section{position:relative;padding:96px 0}
.section-sm{padding:70px 0}
.section-tint{background:var(--bg-tint)}
.section-warm{background:var(--bg-warm)}
.section-deep{background:var(--bg-deep);color:#fff}
.section-deep h1,.section-deep h2,.section-deep h3,.section-deep h4{color:#fff}
.section-deep p{color:#ecf0f6}

.section-head{max-width:740px;margin:0 auto 48px;text-align:center}
.section-head.left{margin-left:0;text-align:left;margin-right:auto}
.section-head h2{margin:14px 0 14px}
.section-head p{font-size:clamp(1rem,1.18vw,1.13rem);color:var(--ink-2);max-width:620px;margin:0 auto;line-height:1.6}
.section-head.left p{margin-left:0}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1)}
/* AUTO-REVEAL FALLBACK, ensures .reveal content shows even if scroll observer never fires.
   Animates from invisible to visible after 200ms. Scroll observer can still smoothly animate
   above-the-fold elements faster via .reveal.in. */
.reveal{animation:revealAutoIn 0.5s ease-out 0.2s forwards}
@keyframes revealAutoIn{to{opacity:1;transform:none}}
.reveal.in{animation:none;opacity:1;transform:none}
.reveal.in{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.06s}
.reveal-delay-2{transition-delay:.12s}
.reveal-delay-3{transition-delay:.18s}
.reveal-delay-4{transition-delay:.24s}
.reveal-delay-5{transition-delay:.30s}

/* ============================================================
   PILLAR / SERVICE CARDS
   ============================================================ */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:980px){.pillars{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.pillars{grid-template-columns:1fr}}

.pillar{
  position:relative;padding:28px;border-radius:var(--r-lg);
  background:#fff;border:1px solid var(--line);
  display:flex;flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s;
  text-decoration:none;color:inherit;
}
.pillar:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:var(--line-strong)}
.pillar .icon{
  width:44px;height:44px;border-radius:10px;display:grid;place-items:center;
  background:var(--primary-50);color:var(--primary);
  margin-bottom:18px;border:1px solid var(--primary-100);
}
.pillar h3{font-family:var(--font-serif);font-size:1.32rem;margin-bottom:8px;letter-spacing:-.01em;color:var(--ink)}
.pillar p{font-size:14.5px;color:var(--ink-2);line-height:1.55}
.pillar .more{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:18px;font-size:13px;font-weight:600;color:var(--primary)}
.pillar .more svg{transition:transform .2s}
.pillar:hover .more svg{transform:translateX(3px)}
.pillar .price-tag{position:absolute;top:20px;right:20px;font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.05em}
.pillar .price-tag b{color:var(--ink);font-weight:600}

/* Simple 4-col mini cards */
.tile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:980px){.tile-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.tile-grid{grid-template-columns:1fr}}
.tile{padding:22px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;transition:border-color .2s, box-shadow .2s;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:8px}
.tile:hover{border-color:var(--line-strong);box-shadow:var(--sh-2)}
.tile .ico{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:var(--primary-50);color:var(--primary);margin-bottom:6px}
.tile h4{font-family:var(--font-serif);font-size:1.05rem;line-height:1.2;color:var(--ink)}
.tile p{font-size:13.5px;color:var(--ink-2);line-height:1.5}
.tile .more{margin-top:auto;padding-top:10px;color:var(--primary);font-size:13px;font-weight:600;display:inline-flex;gap:6px}

/* ============================================================
   LIFECYCLE
   ============================================================ */
.lifecycle{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
@media (max-width:880px){.lifecycle{grid-template-columns:repeat(2,1fr)}.life-step:nth-child(2){border-right:0}.life-step:nth-child(-n+2){border-bottom:1px solid var(--line)}}
.life-step{padding:30px 28px;border-right:1px solid var(--line);position:relative}
.life-step:last-child{border-right:0}
.life-step .num{font-family:var(--font-mono);font-size:11px;color:var(--primary);letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-bottom:14px}
.life-step h4{font-family:var(--font-serif);font-size:1.18rem;margin-bottom:8px;color:var(--ink)}
.life-step p{font-size:14px;color:var(--ink-2);line-height:1.55}
.life-step .ring{position:absolute;right:24px;top:26px;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--primary);background:var(--primary-50);border:1px solid var(--primary-100)}

/* ============================================================
   SHOWCASE / SPLIT
   ============================================================ */
.showcase{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding:24px 0}
.showcase.rev{grid-template-columns:1fr 1fr;direction:rtl}
.showcase.rev > *{direction:ltr}
@media (max-width:980px){.showcase,.showcase.rev{grid-template-columns:1fr;direction:ltr;gap:40px}}
.showcase h3{font-family:var(--font-serif);font-size:clamp(1.7rem,2.6vw,2.3rem);margin:16px 0 14px;line-height:1.15}
.showcase p{font-size:16px;color:var(--ink-2);line-height:1.65;max-width:520px}
.feature-list{margin-top:22px;display:flex;flex-direction:column;gap:12px;padding:0;list-style:none}
.feature-list li{display:flex;align-items:flex-start;gap:12px;font-size:14.5px;color:var(--ink-2)}
.feature-list .ci{flex:0 0 22px;width:22px;height:22px;border-radius:6px;background:var(--accent-50);display:grid;place-items:center;color:var(--accent);margin-top:1px}
.showcase .visual{position:relative;padding:0;border-radius:var(--r-xl);overflow:visible}
.showcase .visual .frame{border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;overflow:hidden;box-shadow:var(--sh-2)}
ul{padding:0;margin:0}

/* compliance visual */
.comp-list{display:flex;flex-direction:column;gap:8px;padding:18px}
.comp-row{display:grid;grid-template-columns:10px 1fr auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.comp-row .stat{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;font-weight:600}
.stat.ok{color:var(--accent);background:var(--accent-50);border:1px solid rgba(15,107,86,.18)}
.stat.warn{color:var(--gold);background:var(--gold-50);border:1px solid rgba(160,120,42,.22)}
.stat.due{color:var(--primary);background:var(--primary-50);border:1px solid var(--primary-100)}
.stat.late{color:var(--red);background:#f5efdf;border:1px solid rgba(185,28,28,.18)}
.comp-row .dot{width:10px;height:10px;border-radius:50%;background:var(--primary)}
.comp-row.warn .dot{background:var(--gold)}
.comp-row.ok .dot{background:var(--accent)}
.comp-row.late .dot{background:var(--red)}
.comp-row .title{font-size:13.5px;font-weight:500;color:var(--ink)}
.comp-row .sub{font-size:11.5px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.05em;display:block;margin-top:3px}

/* inbox visual */
.inbox{display:flex;flex-direction:column;gap:6px;padding:18px}
.message{display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.message .av{width:32px;height:32px;border-radius:50%;background:var(--primary-50);border:1px solid var(--primary-100);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--primary);font-family:var(--font-sans)}
.message .body{display:flex;flex-direction:column;min-width:0}
.message .who{font-size:13.5px;font-weight:600;color:var(--ink)}
.message .pv{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message .ch{font-size:10.5px;font-family:var(--font-mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:6px;border:1px solid var(--line);background:var(--bg-tint)}
.message.unread{background:var(--primary-50);border-color:var(--primary-100)}
.message.unread .who::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--primary);margin-left:8px;vertical-align:middle}

/* team visual */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:18px}
.team .member{border:1px solid var(--line);background:#fff;border-radius:var(--r);padding:14px;text-align:center}
.team .av{width:42px;height:42px;border-radius:50%;background:linear-gradient(155deg,var(--primary),var(--primary-700));margin:0 auto 8px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px}
.team .nm{font-size:12.5px;font-weight:600;color:var(--ink)}
.team .ro{font-size:11px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.payroll-pill{margin:0 18px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-radius:var(--r);border:1px solid var(--line);background:var(--bg-tint)}
.payroll-pill .lbl{font-size:11px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-family:var(--font-mono);font-weight:600}
.payroll-pill .amt{font-weight:600;font-size:20px;letter-spacing:-.015em;font-family:var(--font-serif);color:var(--ink)}
.payroll-pill .next{font-size:12.5px;color:var(--ink-2)}

/* ============================================================
   TRUST BAND / STATS
   ============================================================ */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden}
.stats > div{padding:36px 24px;text-align:center;border-right:1px solid var(--line)}
.stats > div:last-child{border-right:0}
.stats .num{font-family:var(--font-serif);font-size:clamp(2rem,3vw,2.6rem);letter-spacing:-.02em;color:var(--ink)}
.stats .lbl{font-size:12px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin-top:6px;font-weight:600}
@media (max-width:880px){.stats{grid-template-columns:repeat(2,1fr)}.stats > div:nth-child(2n){border-right:0}.stats > div:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* ============================================================
   PRICING
   ============================================================ */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:980px){.pricing{grid-template-columns:1fr}}
.tier{position:relative;padding:32px;border-radius:var(--r-lg);border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:18px;transition:transform .25s, box-shadow .25s}
.tier:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.tier .badge{position:absolute;top:-13px;right:24px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:5px 12px;border-radius:999px;background:#fff;border:1px solid var(--line)}
.tier.featured{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary), var(--sh-2)}
.tier.featured .badge{background:var(--primary);color:#fff;border-color:var(--primary)}
.tier h3{font-family:var(--font-serif);font-size:1.5rem;letter-spacing:-.01em;color:var(--ink)}
.tier .price{display:flex;align-items:baseline;gap:8px;margin-top:4px}
.tier .price b{font-family:var(--font-serif);font-size:clamp(2.4rem,3.4vw,3rem);font-weight:500;letter-spacing:-.025em;line-height:1;color:var(--ink)}
.tier .price .per{color:var(--muted);font-size:13.5px}
.tier .pitch{color:var(--ink-2);font-size:14.5px;line-height:1.5;min-height:42px}
.tier ul{display:flex;flex-direction:column;gap:10px;margin-top:4px;padding:0;list-style:none}
.tier li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--ink-2);line-height:1.5}
.tier li svg{flex:0 0 18px;margin-top:2px;color:var(--accent)}
.tier .cta{margin-top:auto;display:flex}
.tier .cta .btn{flex:1;justify-content:center}

/* Comparison table */
.compare-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.compare{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
.compare th,.compare td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.compare thead th{color:var(--muted);font-weight:600;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;background:var(--bg-tint)}
.compare tbody th{font-weight:500;color:var(--ink);font-family:var(--font-sans)}
.compare td{color:var(--ink-2);text-align:center}
.compare td:first-child,.compare th:first-child{text-align:left}
.compare .yes{color:var(--accent);font-weight:600}
.compare .no{color:var(--muted-2)}
.compare .featured-col{background:var(--primary-50);color:var(--ink);font-weight:500}
.compare tbody tr:last-child td,.compare tbody tr:last-child th{border-bottom:0}
.compare tbody tr:hover{background:var(--bg-tint)}
.compare tbody tr:hover .featured-col{background:var(--primary-100)}

/* ============================================================
   TESTIMONIALS / QUOTES
   ============================================================ */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:980px){.quotes{grid-template-columns:1fr}}
.quote{padding:30px;border-radius:var(--r-lg);border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:20px;position:relative}
.quote::before{content:"\201C";position:absolute;top:14px;right:24px;font-family:var(--font-serif);font-size:60px;line-height:1;color:var(--line);font-weight:400}
.quote .q{font-family:var(--font-serif);font-size:18px;line-height:1.5;color:var(--ink);letter-spacing:-.005em;font-style:italic}
.quote .who{display:flex;align-items:center;gap:12px;margin-top:auto}
.quote .av{width:40px;height:40px;border-radius:50%;background:linear-gradient(155deg,var(--primary),var(--primary-700));display:grid;place-items:center;font-weight:700;font-size:14px;color:#fff}
.quote .meta b{display:block;font-size:14px;color:var(--ink);font-family:var(--font-sans)}
.quote .meta span{font-size:12px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;font-weight:500}

/* ============================================================
   FAQ
   ============================================================ */
.faq{display:flex;flex-direction:column;gap:0;max-width:820px;margin:0 auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:0}
.faq summary{list-style:none;cursor:pointer;padding:22px 4px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-weight:500;font-size:16px;font-family:var(--font-serif);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-sans);font-size:22px;color:var(--muted);font-weight:300;transition:transform .25s}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 4px 22px;color:var(--ink-2);font-size:15px;line-height:1.65;max-width:720px}

/* ============================================================
   CALLOUT / CTA BLOCK
   ============================================================ */
.callout{
  padding:48px;border-radius:var(--r-xl);
  background:linear-gradient(135deg, #0f1e4b 0%, #0f1e4b 100%);
  color:#fff;position:relative;overflow:hidden;
}
.callout::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(60% 80% at 100% 0%, rgba(160,120,42,.18), transparent 60%),
             radial-gradient(50% 60% at 0% 100%, rgba(26,58,143,.4), transparent 70%);
  pointer-events:none;
}
.callout > *{position:relative;z-index:1}
.callout h2{color:#fff;margin-bottom:14px}
.callout p{color:#ecf0f6;max-width:520px;font-size:16.5px}
.callout .actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.callout .actions .btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
.callout .actions .btn-secondary:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.callout .actions .btn-primary{background:#fff;color:var(--ink)}
.callout .actions .btn-primary:hover{background:#fbfcfe}

/* ============================================================
   FOOTER
   ============================================================ */
/* Legacy footer styles (kept for non-synced pages) */
footer{padding:60px 0 40px;border-top:1px solid var(--line);background:var(--bg-tint)}
.foot{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px}
@media (max-width:980px){.foot{grid-template-columns:1fr 1fr}}
.foot h5{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--ink);text-transform:uppercase;margin-bottom:14px;font-weight:600}
.foot a{display:block;font-size:14px;color:var(--ink-2);padding:5px 0;transition:color .15s}
.foot a:hover{color:var(--primary)}
.foot .blurb{color:var(--ink-2);font-size:14px;max-width:320px;margin-top:12px;line-height:1.6}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:12.5px;flex-wrap:wrap}
.foot-bottom .legal{display:flex;gap:18px;flex-wrap:wrap}
.foot-bottom a{color:var(--muted)}
.foot-bottom a:hover{color:var(--ink-2)}

/* ============================================================
   SITE FOOTER (v3, clean, balanced, horizontal legal strip)
   ============================================================ */



.site-footer 
@media (max-width:1080px){.site-footer }

.site-footer .footer-brand .brand{color:#fff}
.site-footer .footer-brand .brand .dom{color:#a0c4ff}
.site-footer .footer-brand .brand .mark{background:#fff;color:var(--bg-deep);box-shadow:none;font-family:var(--font-serif)}
.site-footer .footer-brand > p{margin-top:16px;color:#86d6a6;font-size:14px;line-height:1.6;max-width:340px}
.site-footer .footer-brand .badges{margin-top:16px}
.site-footer .trust-badge{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#ecf0f6}
.site-footer .trust-badge .b-dot{background:#86d6a6}

.footer-newsletter{margin-top:22px;max-width:380px}
.footer-newsletter label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#fff;font-weight:600;margin-bottom:8px}
.footer-newsletter .nl-row{display:flex;gap:6px;padding:4px;border-radius:9px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.25)}
.footer-newsletter input{flex:1;background:transparent;border:0;outline:none;color:#fff;padding:7px 10px;font-size:13px;font:inherit}
.footer-newsletter input::placeholder{color:#6b7689}


@media (max-width:880px){}
@media (max-width:480px){}
.footer-cols .fc h5{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff;font-weight:600;margin-bottom:14px}
.footer-cols .fc a{display:block;padding:4px 0;font-size:13.5px;color:#86d6a6;line-height:1.4;transition:color .15s, transform .15s}
.footer-cols .fc a:hover{color:#fff;transform:translateX(2px)}

/* Legal strip, clean horizontal with bullet dots */
.legal-strip{
  margin-top:48px;padding-top:24px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;flex-wrap:wrap;align-items:center;
  justify-content:center;gap:0;
  font-size:12.5px;
}
.legal-strip a{
  color:#86d6a6;padding:4px 12px;
  position:relative;transition:color .15s;
  line-height:1.4;
}
.legal-strip a + a::before{
  content:"·";position:absolute;left:-3px;top:50%;transform:translateY(-50%);
  color:rgba(255,255,255,.25);font-weight:600;
}
.legal-strip a:hover{color:#fff}

/* Bottom row: copyright + actions */

@media (max-width:980px){}
.fb-meta{font-size:12px;color:#86d6a6;line-height:1.65}
.fb-copy{color:#ecf0f6}
.fb-copy a{color:#86d6a6;transition:color .15s}
.fb-copy a:hover{color:#fff}
.fb-disc{margin-top:6px;font-size:11px;color:#6b7689;max-width:640px;line-height:1.55}

.fb-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:980px){.fb-actions{justify-content:flex-start}}

.status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border-radius:999px;background:rgba(121,184,132,.10);border:1px solid rgba(121,184,132,.3);font-size:12px;color:#ecf0f6}
.status-pill a{color:#86d6a6;font-weight:600}
.status-pill .pulse{width:7px;height:7px;border-radius:50%;background:#86d6a6;position:relative}
.status-pill .pulse::after{content:"";position:absolute;inset:-3px;border-radius:50%;background:#86d6a6;opacity:.35;animation:pulse 2.4s ease-out infinite}

.fb-lang{padding:6px 10px;border-radius:7px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);color:#ecf0f6;font-family:var(--font-sans);font-size:12px;outline:none;cursor:pointer}
.fb-lang option{background:var(--bg-deep);color:#fff}

.fb-social{display:flex;gap:6px}
.fb-social a{width:30px;height:30px;border-radius:7px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;color:#ecf0f6;transition:background .15s, color .15s, transform .15s}
.fb-social a:hover{background:#fff;color:var(--bg-deep);transform:translateY(-1px)}

/* "Powered by Plutobee" badge */
.powered{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:7px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);font-size:12px;color:#86d6a6;transition:background .15s, border-color .15s, color .15s;text-decoration:none}
.powered:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28);color:#fff}
.powered .pb-lbl{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#6b7689}
.powered .pb-name{font-family:var(--font-serif);font-weight:500;font-size:13.5px;letter-spacing:-.005em;color:#fff;font-style:italic}
.badges{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.trust-badge{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--line);border-radius:6px;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px;background:#fff;font-weight:600}
.trust-badge .b-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}

/* ============================================================
   STATES GRID
   ============================================================ */
.state-controls{display:flex;align-items:center;gap:12px;margin-bottom:24px;flex-wrap:wrap}
.state-search{flex:1;max-width:380px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:10px;font:inherit;font-size:14px;color:var(--ink);background:#fff;outline:none}
.state-search:focus{border-color:var(--primary)}
.state-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.state-card{padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:border-color .2s, box-shadow .2s, transform .2s;cursor:pointer;text-decoration:none;color:inherit}
.state-card:hover{border-color:var(--line-strong);box-shadow:var(--sh-1);transform:translateY(-1px)}
.state-card .nm{font-weight:500;font-size:14px;color:var(--ink)}
.state-card .ab{font-family:var(--font-mono);font-size:10.5px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;display:block;margin-top:2px;font-weight:600}
.state-card .fee{font-family:var(--font-mono);font-size:12px;color:var(--primary);font-weight:600}

/* ============================================================
   DATA TABLES
   ============================================================ */
.table-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
.tbl th,.tbl td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line)}
.tbl thead th{color:var(--muted);font-weight:600;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;background:var(--bg-tint)}
.tbl tbody td{color:var(--ink-2)}
.tbl tbody td.b{color:var(--ink);font-weight:500;font-family:var(--font-sans)}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl tbody tr:hover{background:var(--bg-tint)}
.tbl .pill{display:inline-flex;padding:3px 9px;border-radius:999px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-strong);font-weight:600;background:#fff}
.tbl .pill.ok{color:var(--accent);background:var(--accent-50);border-color:rgba(15,107,86,.2)}
.tbl .pill.warn{color:var(--gold);background:var(--gold-50);border-color:rgba(160,120,42,.22)}
.tbl .pill.info{color:var(--primary);background:var(--primary-50);border-color:var(--primary-100)}

/* ============================================================
   FORMS
   ============================================================ */
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:720px}
.form .full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:12.5px;color:var(--ink);font-family:var(--font-sans);font-weight:600;letter-spacing:.02em}
.field input,.field select,.field textarea{
  background:#fff;border:1px solid var(--line-strong);color:var(--ink);
  padding:12px 14px;border-radius:10px;font:inherit;font-size:14.5px;outline:none;
  transition:border-color .15s, box-shadow .15s
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-100)}
.field textarea{min-height:130px;resize:vertical}
.field-hint{font-size:12.5px;color:var(--muted)}
@media (max-width:680px){.form{grid-template-columns:1fr}}

/* ============================================================
   WIZARD (FORMATION FLOW)
   ============================================================ */
.wizard{display:grid;grid-template-columns:.36fr 1fr;gap:32px;align-items:start}
@media (max-width:880px){.wizard{grid-template-columns:1fr}}
.steps{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;background:#fff;position:sticky;top:90px;box-shadow:var(--sh-1)}
.step{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:10px;color:var(--ink-2);font-size:14px;transition:background .2s}
.step .ix{flex:0 0 26px;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line-strong);display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;color:var(--muted);font-weight:600;background:#fff}
.step.active{background:var(--primary-50);color:var(--ink)}
.step.active .ix{background:var(--primary);color:#fff;border-color:var(--primary)}
.step.done .ix{background:var(--accent);color:#fff;border-color:var(--accent)}
.step.done .ix::after{content:"✓";font-family:var(--font-sans)}
.step.done .ix span{display:none}
.step b{display:block;font-size:13.5px;color:var(--ink);font-weight:600;font-family:var(--font-sans)}
.step span:not(.ix span){display:block;font-size:12.5px;color:var(--muted)}
.wiz-panel{padding:32px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh-1)}
.wiz-panel h3{margin-bottom:8px;font-family:var(--font-serif);font-size:1.6rem}
.wiz-panel p.lead{color:var(--ink-2);margin-bottom:24px;font-size:15.5px;line-height:1.6}
.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:8px}
@media (max-width:680px){.option-grid{grid-template-columns:1fr}}
.option-card{padding:18px;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;transition:border-color .15s, background .15s;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.option-card:hover{border-color:var(--line-strong)}
.option-card.sel{border-color:var(--primary);background:var(--primary-50)}
.option-card b{font-family:var(--font-serif);font-size:1.05rem;color:var(--ink)}
.option-card span{font-size:13.5px;color:var(--ink-2);line-height:1.5}
.option-card .tag{font-family:var(--font-mono);font-size:10.5px;color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-weight:600}

/* ============================================================
   BREADCRUMB / MISC
   ============================================================ */
.crumb{display:flex;gap:8px;align-items:center;color:var(--muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:24px;font-weight:600}
.crumb a{color:var(--muted);transition:color .2s}
.crumb a:hover{color:var(--primary)}
.crumb .sep{opacity:.5}

.sticky-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;display:none;padding:10px;border-radius:var(--r);border:1px solid var(--line-strong);background:#fff;box-shadow:var(--sh-3);align-items:center;justify-content:space-between;gap:12px}
.sticky-bar .copy{font-size:13.5px;font-weight:600;color:var(--ink)}
@media (max-width:640px){.sticky-bar{display:flex}}

.divider{height:1px;background:var(--line);margin:0}
.spacer-xs{height:24px}
.spacer-sm{height:48px}
.spacer-md{height:80px}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:6px}

/* reduce motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

/* small utilities */
.text-center{text-align:center}
.flex{display:flex}
.flex-wrap{flex-wrap:wrap}
.gap-sm{gap:8px}
.gap-md{gap:14px}
.muted{color:var(--muted)}
.ink-2{color:var(--ink-2)}

/* ============================================================
   MEGA MENU (v4, clean, scoped, hover-friendly)
   ============================================================ */
.has-menu
.has-menu

/* Column headers, small caps label above each group */
.has-menu

/* Regular column links, icon + label */
.has-menu
.has-menu
.has-menu
.has-menu

.has-menu

/* Search bar at top of mega, spans full row, sits above columns */
.menu-search{
  grid-column:1/-1;display:flex;align-items:center;gap:10px;
  padding:11px 14px;margin:0 0 10px;border-radius:11px;
  background:var(--bg-tint);border:1px solid var(--line);
  transition:border-color .15s, background .15s;
}
.menu-search:focus-within{border-color:var(--primary-100);background:#fff}
.menu-search svg{color:var(--muted);flex-shrink:0}
.menu-search input{
  flex:1;border:0;background:transparent;outline:none;
  font:inherit;font-size:13.5px;color:var(--ink);
}
.menu-search input::placeholder{color:var(--muted)}
.menu-search kbd{
  font-family:var(--font-mono);font-size:10.5px;color:var(--muted);
  padding:3px 7px;border:1px solid var(--line-strong);border-radius:5px;background:#fff;
  letter-spacing:.05em;
}

/* Featured row at bottom of mega, scoped so nothing leaks from the column rules above */
.has-menu
.has-menu
.has-menu
.has-menu
.has-menu
.has-menu
.has-menu
.has-menu

/* ============================================================
   SEARCH OVERLAY (Cmd+K)
   ============================================================ */
.search-overlay{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-start;justify-content:center;padding:100px 20px 20px}
.search-overlay[hidden]{display:none}
.search-backdrop{position:absolute;inset:0;background:rgba(8,11,17,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease}
.search-box{
  position:relative;width:min(640px,100%);max-height:calc(100vh - 140px);
  background:#fff;border-radius:16px;border:1px solid var(--line);
  box-shadow:0 40px 80px -20px rgba(12,26,45,.4);
  display:flex;flex-direction:column;overflow:hidden;
  animation:slideDown .25s cubic-bezier(.2,.7,.2,1);
}
@keyframes slideDown{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
.search-input-row{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}
.search-input-row svg{color:var(--muted);flex-shrink:0}
.search-input-row input{flex:1;border:0;outline:none;font:inherit;font-size:16px;color:var(--ink);background:transparent}
.search-input-row input::placeholder{color:var(--muted)}
.search-close{display:flex;align-items:center;justify-content:center;padding:6px;border-radius:6px;color:var(--muted);transition:background .15s,color .15s}
.search-close:hover{background:var(--bg-tint);color:var(--ink)}
.search-results{flex:1;overflow-y:auto;padding:8px}
.search-group{padding:6px 0}
.search-group-head{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:8px 12px}
.sr{
  display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:8px;
  font-size:14px;color:var(--ink);transition:background .12s, color .12s;
  text-decoration:none;
}
.sr:hover, .sr.sr-active{background:var(--primary-50);color:var(--primary-700)}
.sr .sri{width:26px;height:26px;border-radius:6px;background:var(--bg-tint);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-3);flex-shrink:0;transition:all .12s}
.sr:hover .sri, .sr.sr-active .sri{background:var(--primary);color:#fff;border-color:var(--primary)}
.sr .sg{margin-left:auto;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:3px 7px;border-radius:5px;border:1px solid var(--line);background:var(--bg-tint);font-weight:600}
.search-empty{padding:32px;text-align:center;color:var(--muted);font-size:14px}
.search-footer{
  display:flex;align-items:center;justify-content:flex-start;gap:18px;
  padding:10px 20px;border-top:1px solid var(--line);background:var(--bg-tint);
  font-size:12px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;
}
.search-footer kbd{
  font-family:var(--font-mono);font-size:10.5px;color:var(--ink-2);
  padding:2px 6px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;
  margin-right:4px;
}

/* Search button in top nav */
.nav-search-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 12px;border-radius:8px;
  background:var(--bg-tint);border:1px solid var(--line);
  font-size:12.5px;color:var(--muted);font-weight:500;
  transition:border-color .15s, color .15s;cursor:pointer;
  font-family:var(--font-sans);
}
.nav-search-btn:hover{border-color:var(--line-strong);color:var(--ink-2)}
.nav-search-btn svg{color:var(--muted)}
.nav-search-btn kbd{
  font-family:var(--font-mono);font-size:10px;color:var(--muted);
  padding:2px 5px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;
  margin-left:6px;
}
@media (max-width:780px){.nav-search-btn kbd{display:none}}

/* ============================================================
   PRESS STRIP / "AS SEEN IN"
   ============================================================ */
.press{padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.press-grid{display:grid;grid-template-columns:auto repeat(5,1fr);gap:32px;align-items:center}
@media (max-width:880px){.press-grid{grid-template-columns:1fr 1fr;gap:14px}}
.press-grid .lbl{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.press-grid .name{font-family:var(--font-serif);font-style:italic;color:var(--muted);font-size:18px;text-align:center;opacity:.7}
.press-grid .name.bold{font-family:var(--font-sans);font-weight:700;font-style:normal;letter-spacing:.04em;font-size:14px;text-transform:uppercase;color:var(--ink-3)}

/* ============================================================
   TRUST STRIP
   ============================================================ */
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden;margin-top:12px}
.trust-strip > div{padding:22px;text-align:center;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:8px}
.trust-strip > div:last-child{border-right:0}
.trust-strip .ico{width:34px;height:34px;border-radius:8px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center}
.trust-strip .num{font-family:var(--font-serif);font-size:1.6rem;line-height:1;color:var(--ink);letter-spacing:-.02em}
.trust-strip .lbl{font-size:12px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-weight:600}
@media (max-width:780px){.trust-strip{grid-template-columns:1fr 1fr}.trust-strip > div:nth-child(2){border-right:0}.trust-strip > div:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* Stars */
.stars{display:inline-flex;gap:2px;color:var(--gold);align-items:center}
.stars svg{fill:currentColor}
.stars-label{font-family:var(--font-mono);font-size:11.5px;color:var(--muted);letter-spacing:.08em;margin-left:6px;font-weight:600}

/* ============================================================
   PRODUCT TOUR, tabbed showcase
   ============================================================ */
.tour{display:grid;grid-template-columns:.32fr 1fr;gap:32px;align-items:start}
@media (max-width:980px){.tour{grid-template-columns:1fr;gap:24px}}
.tour-tabs{display:flex;flex-direction:column;gap:6px}
@media (max-width:980px){.tour-tabs{flex-direction:row;overflow-x:auto;padding-bottom:6px}}
.tour-tab{
  display:flex;align-items:flex-start;gap:14px;padding:16px 18px;
  border-radius:var(--r);background:#fff;border:1px solid var(--line);
  cursor:pointer;transition:all .2s;text-align:left;color:var(--ink-2);
  width:100%;
}
@media (max-width:980px){.tour-tab{flex:0 0 auto;min-width:260px}}
.tour-tab:hover{border-color:var(--line-strong);background:var(--bg-tint)}
.tour-tab.active{border-color:var(--primary);background:var(--primary-50);box-shadow:0 0 0 1px var(--primary)}
.tour-tab .num{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--muted);font-weight:600}
.tour-tab.active .num{color:var(--primary)}
.tour-tab b{display:block;font-family:var(--font-sans);font-size:14.5px;color:var(--ink);font-weight:600;margin-top:2px}
.tour-tab span{display:block;font-size:13px;color:var(--ink-2);margin-top:4px;line-height:1.4}
.tour-panel{
  display:none;border:1px solid var(--line);border-radius:var(--r-xl);
  background:#fff;overflow:hidden;box-shadow:var(--sh-2);
  min-height:520px;
}
.tour-panel.active{display:block;animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ============================================================
   PRICING TOGGLE
   ============================================================ */
.price-toggle{
  display:inline-flex;padding:5px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;gap:0;margin:0 auto 28px;
}
.price-toggle button{
  padding:8px 18px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink-2);transition:all .2s;
  font-family:var(--font-sans);
}
.price-toggle button.active{background:var(--primary);color:#fff}
.price-toggle .save{font-family:var(--font-mono);font-size:10px;color:var(--accent);letter-spacing:.1em;padding:2px 6px;border-radius:4px;background:var(--accent-50);margin-left:6px;font-weight:600}
.price-toggle button.active .save{background:rgba(255,255,255,.18);color:#fff}

/* ============================================================
   INTEGRATIONS GRID
   ============================================================ */
.integrations{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
@media (max-width:780px){.integrations{grid-template-columns:repeat(3,1fr)}}
.integration{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;padding:24px 14px;border:1px solid var(--line);border-radius:var(--r);
  background:#fff;transition:border-color .2s, box-shadow .2s, transform .2s;
  text-decoration:none;color:inherit;text-align:center;
}
.integration:hover{border-color:var(--line-strong);box-shadow:var(--sh-1);transform:translateY(-2px)}
.integration .glyph{
  width:42px;height:42px;border-radius:10px;background:var(--bg-tint);border:1px solid var(--line);
  display:grid;place-items:center;font-family:var(--font-serif);font-weight:600;font-size:18px;color:var(--ink);
}
.integration .nm{font-size:13px;font-weight:600;color:var(--ink)}
.integration .cat{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;font-weight:600}

/* ============================================================
   INDUSTRIES
   ============================================================ */
.industries{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:880px){.industries{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.industries{grid-template-columns:1fr}}
.industry{
  display:flex;flex-direction:column;gap:8px;
  padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);
  background:#fff;text-decoration:none;color:inherit;transition:all .25s;
}
.industry:hover{border-color:var(--primary-100);background:var(--primary-50);transform:translateY(-2px)}
.industry .ico{width:38px;height:38px;border-radius:9px;background:var(--gold-50);color:var(--gold);display:grid;place-items:center;border:1px solid rgba(160,120,42,.18);margin-bottom:6px}
.industry h4{font-family:var(--font-serif);font-size:1.15rem;color:var(--ink)}
.industry p{font-size:13.5px;color:var(--ink-2);line-height:1.5}
.industry .more{margin-top:auto;padding-top:8px;font-size:12.5px;color:var(--primary);font-weight:600;display:inline-flex;gap:6px}

/* ============================================================
   VS COMPETITORS
   ============================================================ */
.vs-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.vs{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}
.vs th,.vs td{padding:14px 16px;text-align:center;border-bottom:1px solid var(--line);vertical-align:middle}
.vs thead th{color:var(--muted);font-weight:600;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;background:var(--bg-tint);text-align:center;padding:18px 12px}
.vs thead th.us{background:var(--primary);color:#fff;font-size:11.5px}
.vs thead th:first-child,.vs tbody th{text-align:left;color:var(--ink);font-weight:500;font-family:var(--font-sans)}
.vs tbody td{color:var(--ink-2)}
.vs .y{color:var(--accent);font-weight:600}
.vs .n{color:var(--muted-2)}
.vs .us-col{background:var(--primary-50);font-weight:500;color:var(--ink)}
.vs tbody tr:last-child td,.vs tbody tr:last-child th{border-bottom:0}
.vs tbody tr:hover{background:rgba(0,0,0,.01)}
.vs tbody tr:hover .us-col{background:var(--primary-100)}

/* ============================================================
   MOBILE / DEVICE MOCKUP
   ============================================================ */
.phone{
  width:280px;height:560px;
  border-radius:38px;border:8px solid #0f1e4b;
  background:#fff;box-shadow:0 30px 80px -20px rgba(12,26,45,.35), 0 0 0 1px rgba(255,255,255,.08) inset;
  overflow:hidden;position:relative;
}
.phone::before{
  content:"";position:absolute;left:50%;top:8px;transform:translateX(-50%);
  width:100px;height:24px;border-radius:16px;background:#0f1e4b;z-index:2;
}
.phone-screen{height:100%;width:100%;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(180deg, var(--primary-50), #fff 30%)}
.phone-header{padding:42px 18px 14px;display:flex;align-items:center;justify-content:space-between}
.phone-header .name{font-family:var(--font-serif);font-weight:600;font-size:16px;color:var(--ink)}
.phone-header .icon{width:30px;height:30px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px;font-family:var(--font-serif)}
.phone-cards{padding:0 14px 14px;display:flex;flex-direction:column;gap:10px;overflow:hidden;flex:1}
.phone-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:12px;line-height:1.4}
.phone-card .lbl{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:6px}
.phone-card b{font-family:var(--font-serif);font-size:15px;color:var(--ink);font-weight:500;display:block;margin-bottom:4px}
.phone-card .meta{color:var(--muted);font-size:11px}
.phone-card.alert{border-color:rgba(160,120,42,.3);background:var(--gold-50)}
.phone-card.ok{border-color:rgba(15,107,86,.18);background:var(--accent-50)}

/* ============================================================
   ACTIVITY TICKER
   ============================================================ */
.ticker{
  display:flex;flex-direction:column;gap:8px;
  padding:18px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;
  max-height:340px;overflow:hidden;position:relative;
}
.ticker::after{content:"";position:absolute;left:0;right:0;bottom:0;height:60px;background:linear-gradient(180deg, transparent, #fff)}
.ticker-row{display:flex;align-items:center;gap:12px;padding:10px;border-radius:8px;background:var(--bg-tint);font-size:13px;color:var(--ink-2)}
.ticker-row .pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);position:relative;flex-shrink:0}
.ticker-row .pulse::after{content:"";position:absolute;inset:-3px;border-radius:50%;background:var(--accent);opacity:.3;animation:pulse 2s ease-out infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.4}100%{transform:scale(2.5);opacity:0}}
.ticker-row b{color:var(--ink);font-weight:600}
.ticker-row .when{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.06em}

/* ============================================================
   STORY CARDS (customer)
   ============================================================ */
.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:980px){.stories{grid-template-columns:1fr}}
.story{
  border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden;
  display:flex;flex-direction:column;transition:box-shadow .25s, transform .25s;
}
.story:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.story .head{
  padding:20px 24px;background:var(--bg-tint);border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:14px;
}
.story .head .av{width:44px;height:44px;border-radius:10px;background:linear-gradient(155deg,var(--primary),var(--primary-700));display:grid;place-items:center;color:#fff;font-weight:700;font-size:16px;font-family:var(--font-serif)}
.story .head b{display:block;font-size:14px;color:var(--ink);font-weight:600}
.story .head span{display:block;font-size:12px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;margin-top:2px}
.story .body{padding:24px;flex:1}
.story .q{font-family:var(--font-serif);font-size:16.5px;line-height:1.5;color:var(--ink);font-style:italic}
.story .metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.story .metrics > div{padding:18px 24px;border-right:1px solid var(--line)}
.story .metrics > div:last-child{border-right:0}
.story .metrics .n{font-family:var(--font-serif);font-size:1.45rem;color:var(--ink);letter-spacing:-.015em;line-height:1}
.story .metrics .l{font-size:11px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-top:6px;font-weight:600}

/* ============================================================
   STEP TIMELINE (numbered process)
   ============================================================ */
.timeline{position:relative;padding:24px 0}
.timeline::before{
  content:"";position:absolute;left:24px;top:24px;bottom:24px;width:2px;
  background:var(--line);
}
.tl-item{position:relative;padding-left:64px;padding-bottom:32px}
.tl-item:last-child{padding-bottom:0}
.tl-item .dot{
  position:absolute;left:14px;top:0;width:24px;height:24px;border-radius:50%;
  background:var(--primary);color:#fff;display:grid;place-items:center;
  font-family:var(--font-mono);font-size:11px;font-weight:700;z-index:1;
  box-shadow:0 0 0 4px #fff;
}
.tl-item h4{font-family:var(--font-serif);font-size:1.2rem;color:var(--ink);margin-bottom:6px}
.tl-item p{color:var(--ink-2);font-size:14.5px;line-height:1.55;max-width:560px}

/* ============================================================
   PRE-FORMATION (idea to business)
   ============================================================ */
.prefore-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:880px){.prefore-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.prefore-grid{grid-template-columns:1fr}}
.prefore{
  padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;
  display:flex;flex-direction:column;gap:8px;transition:all .25s;
  text-decoration:none;color:inherit;position:relative;
}
.prefore:hover{border-color:var(--gold);background:linear-gradient(180deg, var(--gold-50) 0%, #fff 100%);transform:translateY(-2px)}
.prefore .ix{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);font-weight:600;
}
.prefore h4{font-family:var(--font-serif);font-size:1.18rem;color:var(--ink);margin-top:4px}
.prefore p{font-size:13.5px;color:var(--ink-2);line-height:1.5}
.prefore .more{margin-top:auto;padding-top:10px;font-size:12.5px;font-weight:600;color:var(--gold);display:inline-flex;gap:6px}

/* ============================================================
   PLATFORM HERO MOCKUP (multi-card stack)
   ============================================================ */
.platform-stage{position:relative;min-height:560px}
.platform-stage .layer{position:absolute;border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;box-shadow:var(--sh-2);overflow:hidden}
.platform-stage .layer.back{top:0;left:0;right:60px;bottom:80px;opacity:.85;transform:rotate(-1.5deg)}
.platform-stage .layer.front{top:48px;left:40px;right:0;bottom:0;box-shadow:var(--sh-3)}
.platform-stage .layer.mini{
  top:auto;bottom:-16px;right:-8px;width:200px;height:auto;
  padding:14px;background:#fff;border-radius:14px;border:1px solid var(--line);
  box-shadow:var(--sh-3);transform:rotate(2deg);overflow:visible;
}
.platform-stage .layer.mini .pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);position:relative;margin-bottom:8px;display:inline-block}
.platform-stage .layer.mini .pulse::after{content:"";position:absolute;inset:-3px;border-radius:50%;background:var(--accent);opacity:.3;animation:pulse 2s ease-out infinite}
.platform-stage .layer.mini b{display:block;font-family:var(--font-serif);font-size:14px;color:var(--ink);margin-bottom:4px}
.platform-stage .layer.mini p{font-size:12px;color:var(--ink-2);line-height:1.4}

/* ============================================================
   FEATURE CALLOUT
   ============================================================ */
.feature-call{
  display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center;
  padding:32px;border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;
  overflow:hidden;
}
@media (max-width:880px){.feature-call{grid-template-columns:1fr}}
.feature-call.deep{background:var(--bg-deep);color:#fff;border-color:var(--bg-deep)}
.feature-call.deep h3{color:#fff}
.feature-call.deep p{color:#ecf0f6}
.feature-call h3{font-family:var(--font-serif);font-size:1.7rem;line-height:1.15;letter-spacing:-.02em;color:var(--ink)}
.feature-call p{margin-top:12px;font-size:15px;line-height:1.6}

/* ============================================================
   SECTION DIVIDERS
   ============================================================ */
.rule{height:1px;background:var(--line);border:0;margin:0}

/* small text utility */
.tiny{font-size:11.5px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em}

/* frequency grid responsive */
@media (max-width:980px){.freq-grid{grid-template-columns:repeat(2,1fr) !important}}
@media (max-width:540px){.freq-grid{grid-template-columns:1fr !important}}

/* ============================================================
   SERVICE DEEP-DIVE PAGES
   ============================================================ */
.svc-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
@media (max-width:980px){.svc-hero{grid-template-columns:1fr;gap:40px}}
.svc-hero .price-row{display:flex;align-items:baseline;gap:14px;margin-top:24px;flex-wrap:wrap}
.svc-hero .price-row .price-big{font-family:var(--font-serif);font-size:clamp(2rem,3.4vw,2.8rem);letter-spacing:-.025em;color:var(--ink);font-weight:500;line-height:1}
.svc-hero .price-row .price-note{font-size:14px;color:var(--ink-2)}
.svc-hero .turnaround{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--accent-50);border:1px solid rgba(15,107,86,.2);color:var(--accent);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}

/* Requirement / checklist cards */
.req-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:880px){.req-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.req-grid{grid-template-columns:1fr}}
.req-card{padding:22px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;display:flex;flex-direction:column;gap:8px}
.req-card .ix{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);font-weight:600}
.req-card h4{font-family:var(--font-serif);font-size:1.1rem;color:var(--ink);line-height:1.2}
.req-card p{font-size:13.5px;color:var(--ink-2);line-height:1.55}

/* Inline filing form (mini conversion at bottom of page) */
.svc-cta{
  padding:32px;border-radius:var(--r-xl);
  background:linear-gradient(135deg, var(--primary-50) 0%, #fff 80%);
  border:1px solid var(--primary-100);
}
.svc-cta h3{font-family:var(--font-serif);font-size:1.6rem;color:var(--ink);letter-spacing:-.015em}
.svc-cta p{margin-top:10px;color:var(--ink-2);font-size:15px;line-height:1.55;max-width:540px}
.svc-cta-form{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:10px;margin-top:24px;align-items:end}
@media (max-width:880px){.svc-cta-form{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.svc-cta-form{grid-template-columns:1fr}}
.svc-cta-form .field{gap:6px}
.svc-cta-form .field label{font-size:11.5px;font-weight:600;letter-spacing:.02em}
.svc-cta-form .submit-cell .btn{width:100%;justify-content:center}
.svc-cta-foot{margin-top:14px;display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em}

/* Comparison strip */
.vs-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:880px){.vs-strip{grid-template-columns:1fr}}
.vs-card{padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;display:flex;flex-direction:column;gap:8px}
.vs-card.us{border-color:var(--primary);background:linear-gradient(180deg, var(--primary-50) 0%, #fff 100%);box-shadow:0 0 0 1px var(--primary), var(--sh-2)}
.vs-card .lab{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.vs-card.us .lab{color:var(--primary)}
.vs-card .v{font-family:var(--font-serif);font-size:1.6rem;color:var(--ink);letter-spacing:-.02em;line-height:1}
.vs-card .vp{font-size:13.5px;color:var(--ink-2);line-height:1.55}
.vs-card ul{margin-top:auto;padding:14px 0 0;border-top:1px solid var(--line);list-style:none;display:flex;flex-direction:column;gap:6px}
.vs-card.us ul{border-top-color:var(--primary-100)}
.vs-card li{font-size:13px;color:var(--ink-2);display:flex;align-items:flex-start;gap:8px}
.vs-card li::before{content:"✓";color:var(--accent);font-weight:600;flex-shrink:0}
.vs-card.con li::before{content:"✗";color:var(--red)}

/* Service-page trust band (4-up after hero) */
.svc-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px}
@media (max-width:780px){.svc-trust{grid-template-columns:1fr 1fr}}
.svc-trust-card{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.svc-trust-card .gl{width:42px;height:42px;border-radius:10px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;flex-shrink:0;border:1px solid var(--primary-100)}
.svc-trust-card .gl.gold{background:var(--gold-50);color:var(--gold);border-color:rgba(160,120,42,.22)}
.svc-trust-card .gl.green{background:var(--accent-50);color:var(--accent);border-color:rgba(15,107,86,.22)}
.svc-trust-card .num{font-family:var(--font-serif);font-size:1.35rem;color:var(--ink);letter-spacing:-.02em;line-height:1}
.svc-trust-card .lbl{font-size:12px;color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-weight:600}

/* "What it is" visual side panel */
.what-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media (max-width:880px){.what-grid{grid-template-columns:1fr;gap:32px}}
.what-illus{padding:32px;border:1px solid var(--line);border-radius:var(--r-xl);background:linear-gradient(180deg, var(--bg-tint) 0%, #fff 100%);display:flex;align-items:center;justify-content:center;min-height:280px}
.what-illus svg{max-width:100%;height:auto}

/* Who-card with prominent icon */
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:880px){.who-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.who-grid{grid-template-columns:1fr}}
.who-card{padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;display:flex;flex-direction:column;gap:8px;transition:border-color .2s, box-shadow .2s, transform .2s}
.who-card:hover{border-color:var(--line-strong);box-shadow:var(--sh-1);transform:translateY(-2px)}
.who-card .who-ic{width:40px;height:40px;border-radius:10px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;border:1px solid var(--primary-100);margin-bottom:6px}
.who-card .ix{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.who-card h4{font-family:var(--font-serif);font-size:1.1rem;color:var(--ink);line-height:1.25;letter-spacing:-.01em}
.who-card p{font-size:13.5px;color:var(--ink-2);line-height:1.55}

/* Illustrated step (numbered with custom icon) */
.step-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
@media (max-width:880px){.step-flow{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.step-flow{grid-template-columns:1fr}}
.step-tile{padding:22px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;display:flex;flex-direction:column;gap:10px;position:relative}
.step-tile .step-art{height:90px;border-radius:10px;background:linear-gradient(135deg, var(--primary-50) 0%, #fff 100%);border:1px solid var(--primary-100);display:flex;align-items:center;justify-content:center;color:var(--primary)}
.step-tile .step-n{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);font-weight:600}
.step-tile h4{font-family:var(--font-serif);font-size:1.08rem;color:var(--ink);line-height:1.25}
.step-tile p{font-size:13.5px;color:var(--ink-2);line-height:1.55}

/* Inline customer quote (social proof mid-page) */
.svc-quote{
  padding:36px 40px;border-radius:var(--r-xl);
  background:linear-gradient(135deg, var(--bg-deep) 0%, #0f1e4b 100%);
  color:#fff;position:relative;overflow:hidden;
}
.svc-quote::before{content:"";position:absolute;inset:0;
  background:radial-gradient(60% 80% at 100% 0%, rgba(160,120,42,.18), transparent 60%),radial-gradient(50% 60% at 0% 100%, rgba(26,58,143,.4), transparent 70%);
  pointer-events:none;
}
.svc-quote > *{position:relative;z-index:1}
.svc-quote .stars{color:#f5c46e;margin-bottom:14px}
.svc-quote blockquote{font-family:var(--font-serif);font-size:clamp(1.2rem,1.6vw,1.55rem);line-height:1.4;color:#fff;letter-spacing:-.01em;font-style:italic;margin:0}
.svc-quote .who-row{margin-top:24px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.svc-quote .av{width:44px;height:44px;border-radius:50%;background:#fff;color:var(--bg-deep);display:grid;place-items:center;font-weight:700;font-size:15px;font-family:var(--font-serif)}
.svc-quote .meta b{display:block;font-size:14.5px;color:#fff;font-family:var(--font-sans)}
.svc-quote .meta span{font-size:12px;color:#86d6a6;font-family:var(--font-mono);letter-spacing:.08em}
.svc-quote .outcomes{margin-left:auto;display:flex;gap:24px;flex-wrap:wrap}
.svc-quote .outcome b{display:block;font-family:var(--font-serif);font-size:1.55rem;color:#fff;letter-spacing:-.02em}
.svc-quote .outcome span{font-size:11.5px;color:#86d6a6;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase}

/* ============================================================
   CAREERS, 6-question screening modal
   ============================================================ */
.screen-overlay{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px}
.screen-overlay[hidden]{display:none}
.screen-overlay .backdrop{position:absolute;inset:0;background:rgba(8,11,17,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease}
.screen-card{
  position:relative;width:min(640px,100%);max-height:calc(100vh - 40px);
  background:#fff;border-radius:18px;border:1px solid var(--line);
  box-shadow:0 40px 80px -20px rgba(12,26,45,.4);
  display:flex;flex-direction:column;overflow:hidden;
  animation:slideDown .25s cubic-bezier(.2,.7,.2,1);
}
.screen-head{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}
.screen-head .role{font-family:var(--font-serif);font-size:1.15rem;line-height:1.2;color:var(--ink)}
.screen-head .role span{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.screen-close{padding:8px;border-radius:7px;color:var(--muted);transition:background .15s,color .15s}
.screen-close:hover{background:var(--bg-tint);color:var(--ink)}
.screen-progress{display:flex;gap:5px;padding:14px 26px;background:var(--bg-tint);border-bottom:1px solid var(--line)}
.screen-progress .seg{flex:1;height:4px;border-radius:2px;background:var(--line-strong)}
.screen-progress .seg.done{background:var(--primary)}
.screen-progress .seg.active{background:var(--primary);animation:pulseSeg 1.4s ease-in-out infinite alternate}
@keyframes pulseSeg{from{opacity:.55}to{opacity:1}}
.screen-body{padding:28px 26px 8px;flex:1;overflow-y:auto;min-height:240px}
.screen-step{display:none}
.screen-step.active{display:block;animation:fadeIn .25s ease}
.screen-step .step-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);font-weight:600}
.screen-step h3{font-family:var(--font-serif);font-size:1.45rem;margin-top:6px;color:var(--ink);letter-spacing:-.015em;line-height:1.2}
.screen-step .sub{margin-top:8px;color:var(--ink-2);font-size:14.5px;line-height:1.55}
.screen-step .opts{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.screen-step .opt{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s, background .15s}
.screen-step .opt:hover{border-color:var(--line-strong);background:var(--bg-tint)}
.screen-step .opt input{flex-shrink:0;accent-color:var(--primary)}
.screen-step .opt.sel{border-color:var(--primary);background:var(--primary-50)}
.screen-step .opt b{font-size:14.5px;color:var(--ink);font-weight:500;font-family:var(--font-sans)}
.screen-step .opt span.desc{display:block;font-size:13px;color:var(--ink-2);margin-top:2px}
.screen-step .ta, .screen-step .ti{width:100%;padding:12px 14px;border:1px solid var(--line-strong);border-radius:10px;font:inherit;font-size:14.5px;color:var(--ink);background:#fff;margin-top:14px;outline:none;transition:border-color .15s}
.screen-step .ta:focus, .screen-step .ti:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-100)}
.screen-step .ta{min-height:120px;resize:vertical}
.screen-foot{display:flex;justify-content:space-between;align-items:center;padding:18px 26px;border-top:1px solid var(--line);background:var(--bg-tint)}
.screen-foot .step-of{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;color:var(--muted);font-weight:600}
.screen-foot .actions{display:flex;gap:8px}
.screen-foot .actions .btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}
.screen-done{padding:36px 26px;text-align:center}
.screen-done .check{width:54px;height:54px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;margin:0 auto 18px}
.screen-done h3{font-family:var(--font-serif);font-size:1.6rem;color:var(--ink);letter-spacing:-.015em}
.screen-done p{margin-top:10px;color:var(--ink-2);font-size:15px;line-height:1.6;max-width:420px;margin-left:auto;margin-right:auto}
.screen-done .form{margin-top:24px;text-align:left}

/* ============================================================
   LEGAL DOCS
   ============================================================ */
.legal-shell{display:grid;grid-template-columns:.28fr 1fr;gap:48px;align-items:start}
@media (max-width:980px){.legal-shell{grid-template-columns:1fr;gap:24px}}
.legal-toc{position:sticky;top:96px;padding:18px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;font-size:13.5px;max-height:calc(100vh - 120px);overflow-y:auto}
.legal-toc .h{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:10px}
.legal-toc a{display:block;padding:6px 10px;border-radius:6px;color:var(--ink-2);transition:background .15s, color .15s;border-left:2px solid transparent}
.legal-toc a:hover{background:var(--bg-tint);color:var(--ink)}
.legal-toc a.l2{padding-left:20px;font-size:12.5px}
.legal-doc h1{font-family:var(--font-serif);font-size:clamp(2rem,3.4vw,2.8rem);letter-spacing:-.02em;line-height:1.1}
.legal-doc .meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px;color:var(--muted);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.legal-doc .meta .pill{padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--bg-tint)}
.legal-doc .summary{margin-top:22px;padding:18px 22px;border-radius:12px;background:var(--primary-50);border:1px solid var(--primary-100);font-size:14.5px;line-height:1.6;color:var(--ink)}
.legal-doc .summary b{color:var(--primary);font-weight:600;display:block;margin-bottom:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.legal-doc .section{margin-top:48px;scroll-margin-top:90px}
.legal-doc .section h2{font-family:var(--font-serif);font-size:1.55rem;letter-spacing:-.015em;color:var(--ink);line-height:1.2;margin-bottom:14px;display:flex;align-items:baseline;gap:10px}
.legal-doc .section h2 .num{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--muted);font-weight:600;flex-shrink:0}
.legal-doc .section h3{font-family:var(--font-serif);font-size:1.15rem;color:var(--ink);margin:22px 0 8px;letter-spacing:-.005em}
.legal-doc .section h4{font-family:var(--font-sans);font-size:14.5px;color:var(--ink);font-weight:600;margin:18px 0 8px}
.legal-doc .section p, .legal-doc .section li{font-size:15px;line-height:1.7;color:var(--ink-2)}
.legal-doc .section p{margin:0 0 12px}
.legal-doc .section ul, .legal-doc .section ol{padding-left:22px;margin:0 0 16px}
.legal-doc .section li{margin-bottom:6px}
.legal-doc .section strong{color:var(--ink);font-weight:600}
.legal-doc .section blockquote{margin:18px 0;padding:14px 18px;border-left:3px solid var(--primary);background:var(--primary-50);border-radius:0 8px 8px 0;font-style:italic;color:var(--ink);font-size:14.5px;line-height:1.6}
.legal-doc .section table{width:100%;border-collapse:separate;border-spacing:0;margin:18px 0;font-size:13.5px}
.legal-doc .section table th{text-align:left;padding:10px 12px;background:var(--bg-tint);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line)}
.legal-doc .section table td{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:top}
.legal-doc .section table tr:last-child td{border-bottom:0}
.legal-doc .contact-block{margin-top:48px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--bg-tint)}
.legal-doc .contact-block h3{font-family:var(--font-serif);font-size:1.2rem;margin-bottom:10px;color:var(--ink)}
.legal-doc .contact-block p{font-size:14.5px;line-height:1.7;color:var(--ink-2)}
.legal-doc .contact-block a{color:var(--primary);font-weight:600}

/* Legal hub grid */
.legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:880px){.legal-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.legal-grid{grid-template-columns:1fr}}
.legal-card{padding:20px;border:1px solid var(--line);border-radius:var(--r);background:#fff;display:flex;flex-direction:column;gap:6px;transition:box-shadow .25s, transform .25s, border-color .25s;text-decoration:none;color:inherit}
.legal-card:hover{box-shadow:var(--sh-1);border-color:var(--primary-100);transform:translateY(-1px)}
.legal-card .ic{width:30px;height:30px;border-radius:7px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;border:1px solid var(--primary-100);margin-bottom:6px}
.legal-card b{font-family:var(--font-serif);font-size:1.05rem;color:var(--ink);line-height:1.2}
.legal-card span{font-size:13px;color:var(--ink-2);line-height:1.45}
.legal-card .updated{margin-top:auto;padding-top:10px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-weight:600}

/* ============================================================
   BLOG LIST + ARTICLE
   ============================================================ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:980px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.blog-grid{grid-template-columns:1fr}}
.blog-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;overflow:hidden;transition:box-shadow .25s, transform .25s;text-decoration:none;color:inherit}
.blog-card:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.blog-card .cover{height:160px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.blog-card .cover.c1{background:linear-gradient(135deg, var(--primary-50) 0%, #fff 100%)}
.blog-card .cover.c2{background:linear-gradient(135deg, var(--accent-50) 0%, #fff 100%)}
.blog-card .cover.c3{background:linear-gradient(135deg, var(--gold-50) 0%, #fff 100%)}
.blog-card .cover.c4{background:linear-gradient(135deg, #ecf0f6 0%, #fff 100%)}
.blog-card .cover.c5{background:linear-gradient(135deg, #ecf0f6 0%, #fff 100%)}
.blog-card .cover.c6{background:linear-gradient(135deg, #f5efdf 0%, #fff 100%)}
.blog-card .cover svg{width:70%;height:70%}
.blog-card .meta{display:flex;align-items:center;gap:10px;padding:14px 24px 0;color:var(--muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.blog-card .meta .tag{padding:3px 8px;border:1px solid var(--line);border-radius:999px;color:var(--primary);background:var(--primary-50)}
.blog-card h3{padding:8px 24px 0;font-family:var(--font-serif);font-size:1.32rem;line-height:1.2;color:var(--ink);letter-spacing:-.01em}
.blog-card p{padding:8px 24px;font-size:14px;color:var(--ink-2);line-height:1.55}
.blog-card .author{padding:14px 24px 22px;display:flex;align-items:center;gap:10px;margin-top:auto;border-top:1px solid var(--line)}
.blog-card .author .av{width:30px;height:30px;border-radius:50%;background:linear-gradient(155deg,var(--primary),var(--primary-700));display:grid;place-items:center;color:#fff;font-weight:700;font-size:11.5px;font-family:var(--font-serif)}
.blog-card .author b{display:block;font-size:13px;color:var(--ink);font-weight:600}
.blog-card .author span{font-size:12px;color:var(--muted)}

/* Featured (large) blog card */
.blog-featured{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;overflow:hidden;text-decoration:none;color:inherit;margin-bottom:32px;transition:box-shadow .25s}
.blog-featured:hover{box-shadow:var(--sh-2)}
@media (max-width:880px){.blog-featured{grid-template-columns:1fr}}
.blog-featured .cover{height:auto;min-height:320px;background:linear-gradient(135deg, var(--primary-50) 0%, #fff 100%);display:flex;align-items:center;justify-content:center}
.blog-featured .cover svg{width:60%;height:60%}
.blog-featured .body{padding:40px}
.blog-featured .body .meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;display:flex;gap:10px;align-items:center}
.blog-featured .body .meta .tag{padding:3px 8px;border-radius:999px;background:var(--primary-50);color:var(--primary);border:1px solid var(--primary-100)}
.blog-featured h2{font-family:var(--font-serif);font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.15;margin-top:14px;letter-spacing:-.02em}
.blog-featured p{margin-top:14px;color:var(--ink-2);font-size:16px;line-height:1.65}
.blog-featured .read-more{margin-top:24px;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--primary)}

/* Article body (typography) */
.article{max-width:760px;margin:0 auto}
.article-head{margin-bottom:40px}
.article-head .meta{display:flex;align-items:center;gap:14px;color:var(--muted);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;margin-bottom:18px}
.article-head .meta .tag{padding:3px 9px;border-radius:999px;background:var(--primary-50);color:var(--primary);border:1px solid var(--primary-100)}
.article-head h1{font-family:var(--font-serif);font-size:clamp(2.2rem,4vw,3.4rem);letter-spacing:-.025em;line-height:1.08}
.article-head .summary{margin-top:18px;font-size:clamp(1.1rem,1.3vw,1.25rem);line-height:1.55;color:var(--ink-2)}
.article-head .byline{margin-top:28px;display:flex;align-items:center;gap:14px;padding-top:24px;border-top:1px solid var(--line)}
.article-head .byline .av{width:42px;height:42px;border-radius:50%;background:linear-gradient(155deg,var(--primary),var(--primary-700));display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px;font-family:var(--font-serif)}
.article-head .byline b{display:block;font-size:14px;color:var(--ink);font-weight:600}
.article-head .byline span{display:block;font-size:12.5px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em}

.prose{font-size:17px;line-height:1.75;color:var(--ink)}
.prose p{margin:0 0 18px}
.prose h2{font-family:var(--font-serif);font-size:1.8rem;line-height:1.2;margin:48px 0 16px;color:var(--ink);letter-spacing:-.015em}
.prose h3{font-family:var(--font-serif);font-size:1.32rem;line-height:1.25;margin:32px 0 12px;color:var(--ink);letter-spacing:-.005em}
.prose ul, .prose ol{margin:0 0 22px;padding-left:24px}
.prose li{margin-bottom:8px;color:var(--ink-2)}
.prose strong{color:var(--ink);font-weight:600}
.prose blockquote{margin:28px 0;padding:18px 24px;border-left:3px solid var(--primary);background:var(--primary-50);border-radius:0 10px 10px 0;font-family:var(--font-serif);font-style:italic;font-size:18px;color:var(--ink)}
.prose a{color:var(--primary);text-decoration:underline;text-decoration-color:var(--primary-100);text-underline-offset:3px;font-weight:500}
.prose a:hover{text-decoration-color:var(--primary)}
.prose .callout{margin:28px 0;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--bg-tint)}
.prose .callout .ch{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);font-weight:600;margin-bottom:6px}
.prose .callout p:last-child{margin-bottom:0}

.article-end{margin-top:48px;padding-top:32px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.article-end .share{display:flex;gap:8px}
.article-end .share a{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;border:1px solid var(--line);color:var(--ink-2);background:#fff;transition:background .15s, color .15s}
.article-end .share a:hover{background:var(--primary-50);color:var(--primary);border-color:var(--primary-100)}

/* Help center categories */
.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:880px){.help-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.help-grid{grid-template-columns:1fr}}
.help-card{padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;transition:box-shadow .25s, transform .25s, border-color .25s;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:8px}
.help-card:hover{box-shadow:var(--sh-2);transform:translateY(-2px);border-color:var(--primary-100)}
.help-card .ic{width:38px;height:38px;border-radius:9px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;margin-bottom:6px;border:1px solid var(--primary-100)}
.help-card h4{font-family:var(--font-serif);font-size:1.15rem;color:var(--ink);line-height:1.2}
.help-card p{font-size:13.5px;color:var(--ink-2);line-height:1.5}
.help-card .ct{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--muted);margin-top:auto;padding-top:10px;font-weight:600;text-transform:uppercase}
.help-card .ct b{color:var(--primary)}

/* ============================================================
   ILLUSTRATIONS & SCENES
   ============================================================ */
.illus{display:block;width:100%;height:auto}
.illus-frame{
  position:relative;border-radius:var(--r-xl);overflow:hidden;
  background:linear-gradient(180deg, var(--primary-50) 0%, #fff 100%);
  border:1px solid var(--line);padding:32px;
  box-shadow:var(--sh-2);
}
.illus-frame.warm{background:linear-gradient(180deg, var(--gold-50) 0%, #fff 100%)}
.illus-frame.cool{background:linear-gradient(180deg, var(--accent-50) 0%, #fff 100%)}

/* Multi-device scene */
.scene-multi{position:relative;height:540px}
.scene-multi .laptop{
  position:absolute;left:0;right:60px;top:30px;bottom:80px;
  border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;
  box-shadow:var(--sh-3);overflow:hidden;transform:rotate(-1deg);
}
.scene-multi .phone-float{
  position:absolute;right:-12px;bottom:0;
}
.scene-multi .desk-base{
  position:absolute;left:8%;right:8%;bottom:-12px;height:18px;border-radius:50%;
  background:radial-gradient(50% 100% at 50% 0%, rgba(12,26,45,.18), transparent 70%);
  z-index:-1;
}
@media (max-width:880px){.scene-multi{height:auto}.scene-multi .laptop{position:relative;right:auto;bottom:auto;transform:none;margin-bottom:24px}.scene-multi .phone-float{position:relative;right:auto;bottom:auto;display:flex;justify-content:center}}

/* Persona scenes */
.personas{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:980px){.personas{grid-template-columns:1fr}}
.persona{
  border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .25s, box-shadow .25s;
}
.persona:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.persona .scene{
  height:180px;position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.persona .scene.bake{background:linear-gradient(135deg, #f5efdf 0%, #f5efdf 100%)}
.persona .scene.consult{background:linear-gradient(135deg, #ecf0f6 0%, #ecf0f6 100%)}
.persona .scene.estate{background:linear-gradient(135deg, #ecf0f6 0%, #f5efdf 100%)}
.persona .scene.creator{background:linear-gradient(135deg, #ecf0f6 0%, #ecf0f6 100%)}
.persona .scene.nonprofit{background:linear-gradient(135deg, #f5efdf 0%, #f5efdf 100%)}
.persona .scene.startup{background:linear-gradient(135deg, #ecf0f6 0%, #b5cef0 100%)}
.persona .scene svg{width:90%;height:90%}
.persona .body{padding:24px;flex:1;display:flex;flex-direction:column;gap:10px}
.persona .who{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.persona h4{font-family:var(--font-serif);font-size:1.32rem;color:var(--ink);letter-spacing:-.01em;line-height:1.2}
.persona p{color:var(--ink-2);font-size:14px;line-height:1.55}
.persona .tags{margin-top:auto;padding-top:14px;display:flex;flex-wrap:wrap;gap:6px}
.persona .tags .t{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--line);border-radius:6px;color:var(--ink-2);background:var(--bg-tint);font-weight:600}

/* Before / After panel */
.ba{display:grid;grid-template-columns:1fr 24px 1fr;gap:0;align-items:stretch;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;background:#fff}
@media (max-width:780px){.ba{grid-template-columns:1fr;border-radius:var(--r-lg)}}
.ba-side{padding:28px}
.ba-side.left{background:var(--bg-tint)}
.ba-side.right{background:linear-gradient(135deg, var(--primary-50) 0%, #fff 80%)}
.ba-side .label{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.ba-side.right .label{color:var(--primary)}
.ba-side h4{font-family:var(--font-serif);font-size:1.35rem;margin-top:6px;color:var(--ink);letter-spacing:-.015em}
.ba-cluster{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}
@media (max-width:540px){.ba-cluster{grid-template-columns:repeat(3,1fr)}}
.ba-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 8px;border:1px solid var(--line);background:#fff;border-radius:10px;text-align:center;font-size:11px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;font-weight:600}
.ba-chip .gl{width:30px;height:30px;border-radius:8px;background:var(--bg-tint);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-3);font-family:var(--font-serif);font-weight:600;font-size:13px}
.ba-chip.us .gl{background:var(--primary);color:#fff;border-color:var(--primary)}
.ba-side.right .ba-cluster{grid-template-columns:1fr}
.ba-divider{background:var(--bg-tint);position:relative;display:flex;align-items:center;justify-content:center}
.ba-divider::before{content:"→";font-size:20px;color:var(--primary);font-weight:600}
@media (max-width:780px){.ba-divider{display:none}}

.ba-single{padding:24px;border:1px solid var(--primary);border-radius:var(--r);background:#fff;display:flex;align-items:center;gap:14px}
.ba-single .glyph{width:48px;height:48px;border-radius:12px;background:linear-gradient(155deg,var(--primary),var(--primary-700));color:#fff;display:grid;place-items:center;font-family:var(--font-serif);font-weight:700;font-size:18px;flex-shrink:0}
.ba-single b{display:block;font-family:var(--font-serif);font-size:1.3rem;color:var(--ink);letter-spacing:-.01em}
.ba-single span{display:block;font-size:13px;color:var(--ink-2);margin-top:2px}

/* Visual journey (illustrated lifecycle) */
.journey{position:relative;padding:40px 0}
.journey-track{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;
}
@media (max-width:880px){.journey-track{grid-template-columns:1fr 1fr}}
.journey-step{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);
  padding:0;overflow:hidden;display:flex;flex-direction:column;
}
.journey-step .art{
  height:140px;display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.journey-step.s1 .art{background:linear-gradient(135deg, #f5efdf 0%, #f5efdf 100%)}
.journey-step.s2 .art{background:linear-gradient(135deg, #ecf0f6 0%, #ecf0f6 100%)}
.journey-step.s3 .art{background:linear-gradient(135deg, #ecf0f6 0%, #f5efdf 100%)}
.journey-step.s4 .art{background:linear-gradient(135deg, #ecf0f6 0%, #ecf0f6 100%)}
.journey-step .art svg{width:75%;height:75%}
.journey-step .text{padding:22px}
.journey-step .stage{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--primary);font-weight:600}
.journey-step h4{font-family:var(--font-serif);font-size:1.2rem;color:var(--ink);margin-top:6px;letter-spacing:-.01em;line-height:1.2}
.journey-step p{color:var(--ink-2);font-size:13.5px;line-height:1.55;margin-top:8px}

/* Stat tiles with visual quantity */
.stat-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:880px){.stat-tiles{grid-template-columns:1fr 1fr}}
.stat-tile{
  padding:24px;border-radius:var(--r-lg);border:1px solid var(--line);background:#fff;
  display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden;
}
.stat-tile .bg-illus{position:absolute;right:-12px;bottom:-12px;opacity:.08;width:120px;height:120px}
.stat-tile .n{font-family:var(--font-serif);font-size:2.2rem;color:var(--ink);letter-spacing:-.025em;line-height:1;font-weight:500}
.stat-tile .l{font-size:13px;color:var(--ink-2);line-height:1.45}
.stat-tile .ctx{margin-top:auto;padding-top:8px;display:flex;align-items:center;gap:8px;color:var(--accent);font-size:11.5px;font-weight:600;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}

/* Big feature card with side illustration */
.feature-big{
  display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:center;
  padding:32px;border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;
  overflow:hidden;
}
@media (max-width:880px){.feature-big{grid-template-columns:1fr}}
.feature-big.tint{background:var(--bg-tint)}
.feature-big.warm{background:linear-gradient(135deg, var(--gold-50) 0%, #fff 60%)}
.feature-big h3{font-family:var(--font-serif);font-size:1.8rem;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}
.feature-big p{margin-top:12px;font-size:15px;line-height:1.6;color:var(--ink-2)}
.feature-big .art{display:flex;align-items:center;justify-content:center}

/* Mini icon row */
.icon-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-top:24px}
.icon-row .ir{display:flex;flex-direction:column;gap:8px}
.icon-row .ir .gl{width:36px;height:36px;border-radius:9px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;border:1px solid var(--primary-100)}
.icon-row .ir b{display:block;font-family:var(--font-sans);font-size:14px;color:var(--ink);font-weight:600}
.icon-row .ir span{font-size:12.5px;color:var(--ink-2);line-height:1.45}

/* Section eyebrow centered with line */
.head-line{display:flex;align-items:center;gap:14px;justify-content:center;color:var(--muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-bottom:20px}
.head-line::before,.head-line::after{content:"";flex:0 0 60px;height:1px;background:var(--line)}

/* ============================================
   CONVERSION COMPONENTS
   Name search · Help dock · Activity toast
   State-fee lookup · Guarantee · Exit-intent
   ============================================ */

/* Trust microcopy under primary CTAs */
.cta-trust{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:14px;font-size:12.5px;color:var(--ink-2);font-family:var(--font-sans)}
.cta-trust .it{display:inline-flex;align-items:center;gap:6px;line-height:1.4}
.cta-trust .it svg{flex-shrink:0;color:#1a5e3a}
.cta-trust.dark .it{color:#ecf0f6}
.cta-trust.dark .it svg{color:#86d6a6}

/* Business Name Search */
.name-search{padding:18px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 30px rgba(15,30,60,.06);margin-top:22px}
.name-search .ns-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:10px}
.name-search .ns-label::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(160,120,42,.12)}
.name-search .ns-row{display:grid;grid-template-columns:1.5fr 1fr auto;gap:10px;align-items:stretch}
@media (max-width:680px){.name-search .ns-row{grid-template-columns:1fr}}
.name-search input,.name-search select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;color:var(--ink);background:#fff;font-size:14.5px}
.name-search input:focus,.name-search select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,58,143,.12)}
.name-search .ns-btn{padding:13px 22px;font-size:14.5px;white-space:nowrap}
.name-search .ns-result{margin-top:14px;display:none}
.name-search .ns-result.show{display:block;animation:nsFade .35s ease}
.name-search .ns-card{padding:14px 16px;border-radius:10px;background:#ecf0f6;border:1px solid #86d6a6;color:#1a5e3a;display:flex;gap:12px;align-items:center}
.name-search .ns-card .nsc-ico{width:34px;height:34px;border-radius:50%;background:#1a5e3a;color:#fff;display:grid;place-items:center;flex-shrink:0}
.name-search .ns-card b{display:block;font-size:14.5px;color:#1a5e3a}
.name-search .ns-card span{font-size:12.5px;color:#1a5e3a}
.name-search .ns-cta{margin-top:10px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--ink-2)}
@keyframes nsFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* Sticky help dock */
.help-dock{position:fixed;bottom:22px;right:22px;z-index:60;font-family:var(--font-sans)}
.help-dock .hd-btn{display:flex;align-items:center;gap:10px;padding:12px 20px 12px 14px;border-radius:999px;background:var(--primary);color:#fff;border:none;cursor:pointer;box-shadow:0 16px 40px -10px rgba(26,58,143,.5),0 2px 6px rgba(0,0,0,.1);font-size:14px;font-weight:600;font-family:inherit;transition:transform .2s, box-shadow .2s}
.help-dock .hd-btn:hover{transform:translateY(-1px);box-shadow:0 22px 50px -10px rgba(26,58,143,.6)}
.help-dock .hd-ico{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center}
.help-dock .hd-pulse{position:relative;width:8px;height:8px;background:#86d6a6;border-radius:50%;margin-right:2px}
.help-dock .hd-pulse::after{content:"";position:absolute;inset:-3px;border-radius:50%;background:#86d6a6;opacity:.4;animation:hdPulse 1.6s ease-in-out infinite}
@keyframes hdPulse{0%,100%{transform:scale(1);opacity:.4}50%{transform:scale(1.7);opacity:0}}
.help-dock .hd-panel{position:absolute;bottom:64px;right:0;width:320px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 28px 60px -20px rgba(15,30,60,.25);padding:20px;display:none}
.help-dock.open .hd-panel{display:block;animation:hdSlide .25s ease}
@keyframes hdSlide{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.help-dock .hd-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.help-dock .hd-head b{font-family:var(--font-serif);font-size:1.15rem;color:var(--ink);letter-spacing:-.01em}
.help-dock .hd-close{background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;border-radius:6px;line-height:1}
.help-dock .hd-close:hover{background:var(--bg-tint);color:var(--ink)}
.help-dock .hd-row{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);margin-bottom:8px;transition:border-color .15s, transform .15s}
.help-dock .hd-row:hover{border-color:var(--primary);transform:translateX(2px)}
.help-dock .hd-row .ic{width:36px;height:36px;border-radius:10px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;flex-shrink:0;border:1px solid var(--primary-100)}
.help-dock .hd-row b{display:block;font-size:14px;color:var(--ink);font-weight:600}
.help-dock .hd-row span{font-size:12.5px;color:var(--ink-2);line-height:1.4}
.help-dock .hd-foot{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.1em;display:flex;align-items:center;gap:6px}
.help-dock .hd-foot::before{content:"";width:6px;height:6px;border-radius:50%;background:#1a5e3a;box-shadow:0 0 0 3px rgba(47,122,74,.18)}
@media (max-width:520px){.help-dock .hd-panel{width:calc(100vw - 44px)}}

/* Activity toast */
.activity-toast{position:fixed;bottom:22px;left:22px;z-index:55;max-width:300px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px -10px rgba(15,30,60,.18);padding:12px 14px;display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(20px);transition:opacity .4s, transform .4s;pointer-events:none}
.activity-toast.show{opacity:1;transform:translateY(0)}
.activity-toast .at-av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg, var(--primary-50), var(--gold-50));color:var(--primary);display:grid;place-items:center;font-size:13px;font-weight:700;flex-shrink:0;border:1px solid var(--line)}
.activity-toast .at-body{font-size:12.5px;line-height:1.45;color:var(--ink-2)}
.activity-toast .at-body b{color:var(--ink);font-weight:600}
.activity-toast .at-meta{font-size:10.5px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;margin-top:3px;display:flex;align-items:center;gap:5px}
.activity-toast .at-meta::before{content:"";width:5px;height:5px;border-radius:50%;background:#1a5e3a}
@media (max-width:680px){.activity-toast{display:none}}

/* State fee lookup */
.fee-look{padding:28px;border-radius:var(--r-xl);background:#fff;border:1px solid var(--line);box-shadow:0 14px 40px -16px rgba(15,30,60,.08)}
.fee-look .fl-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
.fee-look .fl-head .fl-ico{width:42px;height:42px;border-radius:11px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;border:1px solid var(--primary-100);flex-shrink:0}
.fee-look .fl-head h4{font-family:var(--font-serif);font-size:1.4rem;color:var(--ink);letter-spacing:-.015em;margin:0;line-height:1.15}
.fee-look .fl-head p{font-size:13.5px;color:var(--ink-2);margin:6px 0 0 0;line-height:1.5}
.fee-look .fl-pick{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:16px}
.fee-look .fl-pick select{padding:13px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;color:var(--ink);background:#fff;font-size:14.5px;width:100%}
.fee-look .fl-pick select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,58,143,.12)}
.fee-look .fl-out{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:680px){.fee-look .fl-out{grid-template-columns:1fr}}
.fee-look .fl-tile{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg-tint)}
.fee-look .fl-tile small{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:6px}
.fee-look .fl-tile b{display:block;font-family:var(--font-serif);font-size:1.45rem;color:var(--ink);letter-spacing:-.015em;line-height:1.05}
.fee-look .fl-tile .sub{display:block;font-size:12px;color:var(--ink-2);margin-top:4px;line-height:1.4}
.fee-look .fl-tile.hl{background:linear-gradient(135deg, var(--gold-50) 0%, #fff 80%);border-color:#f5efdf}
.fee-look .fl-note{margin-top:14px;font-size:12px;color:var(--muted);line-height:1.5}
.fee-look .fl-cta{margin-top:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}

/* Guarantee panel */
.guarantee{padding:32px;border-radius:var(--r-xl);background:linear-gradient(135deg, var(--gold-50) 0%, #fff 70%);border:1px solid #f5efdf;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}
@media (max-width:680px){.guarantee{grid-template-columns:1fr;text-align:center}}
.guarantee .g-seal{width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 30% 30%, #d4ae5a 0%, #a0782a 100%);color:#fff;display:grid;place-items:center;text-align:center;line-height:1.05;flex-shrink:0;box-shadow:0 14px 30px -8px rgba(160,120,42,.45);border:3px solid #fff;outline:1px solid #c9a049}
.guarantee .g-seal b{display:block;font-family:var(--font-serif);font-size:1.85rem;font-weight:500;letter-spacing:-.02em}
.guarantee .g-seal span{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;margin-top:2px;opacity:.95}
@media (max-width:680px){.guarantee .g-seal{margin:0 auto}}
.guarantee h3{font-family:var(--font-serif);font-size:1.55rem;color:var(--ink);letter-spacing:-.02em;margin:0;line-height:1.15}
.guarantee p{margin-top:8px;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.guarantee .g-points{margin-top:14px;display:flex;flex-wrap:wrap;gap:16px}
@media (max-width:680px){.guarantee .g-points{justify-content:center}}
.guarantee .g-points span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink);font-weight:500}
.guarantee .g-points svg{color:#1a5e3a;flex-shrink:0}

/* Exit intent modal */
.exit-modal{position:fixed;inset:0;z-index:80;background:rgba(15,25,50,.55);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:20px}
.exit-modal.open{display:flex;animation:emFade .25s ease}
.exit-modal .em-card{max-width:520px;width:100%;background:#fff;border-radius:var(--r-xl);overflow:hidden;box-shadow:0 32px 70px -20px rgba(0,0,0,.4);position:relative;animation:emSlide .35s ease}
@keyframes emFade{from{opacity:0}to{opacity:1}}
@keyframes emSlide{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.exit-modal .em-close{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;display:grid;place-items:center;z-index:2}
.exit-modal .em-close:hover{background:rgba(255,255,255,.25)}
.exit-modal .em-banner{padding:28px 32px;background:linear-gradient(135deg, var(--bg-deep) 0%, #0f1e4b 100%);color:#fff;position:relative;overflow:hidden}
.exit-modal .em-banner::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 100% 0%, rgba(160,120,42,.22), transparent 60%);pointer-events:none}
.exit-modal .em-banner > *{position:relative;z-index:1}
.exit-modal .em-kicker{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#e8c882;font-weight:600;margin-bottom:8px}
.exit-modal .em-banner h3{font-family:var(--font-serif);font-size:1.6rem;color:#fff;letter-spacing:-.02em;line-height:1.15;margin:0;font-weight:500}
.exit-modal .em-banner p{margin-top:8px;color:#ecf0f6;font-size:13.5px;line-height:1.5}
.exit-modal .em-body{padding:24px 32px 28px}
.exit-modal .em-list{display:grid;gap:10px;margin-bottom:18px}
.exit-modal .em-list div{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--ink-2);line-height:1.5}
.exit-modal .em-list svg{color:#1a5e3a;flex-shrink:0;margin-top:2px}
.exit-modal .em-form{display:flex;gap:8px}
@media (max-width:520px){.exit-modal .em-form{flex-direction:column}}
.exit-modal .em-form input{flex:1;padding:13px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;color:var(--ink);font-size:14.5px}
.exit-modal .em-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,58,143,.12)}
.exit-modal .em-form button{white-space:nowrap}
.exit-modal .em-foot{margin-top:12px;font-size:11px;color:var(--muted);line-height:1.5}
.exit-modal .em-success{display:none;text-align:center;padding:8px 0}
.exit-modal .em-success svg{color:#1a5e3a;margin-bottom:10px}
.exit-modal .em-success h4{font-family:var(--font-serif);font-size:1.3rem;color:var(--ink);margin:0;letter-spacing:-.01em}
.exit-modal .em-success p{margin-top:6px;color:var(--ink-2);font-size:13.5px}
.exit-modal.success .em-list,.exit-modal.success .em-form,.exit-modal.success .em-foot{display:none}
.exit-modal.success .em-success{display:block}

/* In-article CTA interstitial (blog posts) */
.article-cta{margin:32px 0;border-radius:var(--r-lg);background:linear-gradient(135deg, var(--bg-deep) 0%, #0f1e4b 100%);color:#fff;overflow:hidden;position:relative}
.article-cta::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 100% 0%, rgba(160,120,42,.22), transparent 60%);pointer-events:none}
.article-cta .ac-inner{position:relative;z-index:1;padding:26px 32px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
@media (max-width:680px){.article-cta .ac-inner{grid-template-columns:1fr;text-align:left}}
.article-cta .ac-kicker{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#e8c882;font-weight:600;display:inline-flex;align-items:center;gap:8px;margin-bottom:6px}
.article-cta .ac-kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:#e8c882}
.article-cta h3{font-family:var(--font-serif);font-size:1.35rem;color:#fff;letter-spacing:-.015em;line-height:1.2;margin:0;font-weight:500}
.article-cta p{margin-top:6px;font-size:13px;color:#ecf0f6;line-height:1.5}
.article-cta .ac-cta .btn{white-space:nowrap}

/* Inline final-CTA trust strip (alt placement for pages without hero-ctas) */
.final-cta-trust{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;margin-top:18px;font-size:12.5px;color:var(--ink-2)}
.final-cta-trust .it{display:inline-flex;align-items:center;gap:6px;line-height:1.4}
.final-cta-trust .it svg{color:#1a5e3a;flex-shrink:0}

/* Free tools grid */
.free-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:980px){.free-tools{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.free-tools{grid-template-columns:1fr}}
.free-tool{padding:22px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink);transition:border-color .2s, transform .2s, box-shadow .2s}
.free-tool:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 14px 36px -14px rgba(15,30,60,.15)}
.free-tool .ft-ico{width:42px;height:42px;border-radius:11px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;border:1px solid var(--primary-100)}
.free-tool .ft-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;display:inline-flex;align-items:center;gap:6px}
.free-tool .ft-tag::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent)}
.free-tool h4{font-family:var(--font-serif);font-size:1.15rem;color:var(--ink);letter-spacing:-.015em;line-height:1.2;margin:4px 0 0}
.free-tool p{font-size:13px;color:var(--ink-2);line-height:1.5;margin:0}
.free-tool .ft-arrow{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:13px;font-weight:600;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}

/* States page tools grid (name search + fee lookup side by side) */
.states-tools-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:18px;align-items:start}
@media (max-width:880px){.states-tools-grid{grid-template-columns:1fr}}

/* ============================================
   MID-PAGE CONVERSION ELEMENTS
   - Mid-CTA bands (multiple per page)
   - Visual callout strips
   - Quick-fact pull boxes
   - Step-action ribbons
   ============================================ */

/* Compact mid-page CTA band */
.mid-cta{margin:0;padding:22px 28px;border-radius:var(--r-lg);background:linear-gradient(135deg, var(--primary-50) 0%, #fbfcfe 100%);border:1px solid var(--primary-100);display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
@media (max-width:680px){.mid-cta{grid-template-columns:1fr;text-align:left}}
.mid-cta .mc-text b{font-family:var(--font-serif);font-size:1.3rem;color:var(--ink);letter-spacing:-.015em;line-height:1.2;display:block;font-weight:500}
.mid-cta .mc-text span{display:block;margin-top:4px;font-size:13.5px;color:var(--ink-2);line-height:1.5}
.mid-cta .mc-cta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:680px){.mid-cta .mc-cta{justify-content:flex-start}}
.mid-cta .mc-cta .mc-meta{font-size:12px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em}

/* Dark mid-CTA (alt visual variant for rhythm) */
.mid-cta.dark{background:linear-gradient(135deg, var(--bg-deep) 0%, #0f1e4b 100%);border-color:transparent;color:#fff;position:relative;overflow:hidden}
.mid-cta.dark::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 100% 0%, rgba(160,120,42,.2), transparent 60%);pointer-events:none}
.mid-cta.dark > *{position:relative;z-index:1}
.mid-cta.dark .mc-text b{color:#fff}
.mid-cta.dark .mc-text span{color:#ecf0f6}
.mid-cta.dark .mc-cta .mc-meta{color:#86d6a6}

/* Visual callout strip (3-up icon stats inline) */
.callout-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;padding:20px 22px;border:1px dashed var(--primary-100);border-radius:14px;background:#fbfcfe}
@media (max-width:680px){.callout-strip{grid-template-columns:1fr}}
.callout-strip .cs-item{display:flex;align-items:center;gap:12px}
.callout-strip .cs-ico{width:38px;height:38px;border-radius:10px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;border:1px solid var(--primary-100);flex-shrink:0}
.callout-strip .cs-text b{display:block;font-family:var(--font-serif);font-size:1.05rem;color:var(--ink);letter-spacing:-.01em;line-height:1.2;font-weight:500}
.callout-strip .cs-text span{display:block;font-size:12.5px;color:var(--ink-2);margin-top:2px;line-height:1.4}

/* Pull quote / key fact (breaks up long prose) */
.key-fact{margin:22px 0;padding:18px 24px;border-left:4px solid var(--accent);background:var(--gold-50);border-radius:0 10px 10px 0}
.key-fact .kf-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600;display:block;margin-bottom:6px}
.key-fact .kf-text{font-family:var(--font-serif);font-size:1.1rem;color:var(--ink);line-height:1.5;letter-spacing:-.005em;margin:0}
.key-fact .kf-text em{font-style:italic;color:var(--primary)}

/* Big number band (visual break with stat callouts) */
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:30px 0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:#fff}
@media (max-width:780px){.stat-band{grid-template-columns:1fr 1fr}}
.stat-band .sb-cell{padding:22px 18px;text-align:center;border-right:1px solid var(--line)}
.stat-band .sb-cell:last-child{border-right:none}
@media (max-width:780px){.stat-band .sb-cell{border-bottom:1px solid var(--line)}.stat-band .sb-cell:nth-child(2n){border-right:none}.stat-band .sb-cell:nth-last-child(-n+2){border-bottom:none}}
.stat-band .sb-n{display:block;font-family:var(--font-serif);font-size:1.85rem;color:var(--primary);letter-spacing:-.02em;line-height:1;font-weight:500}
.stat-band .sb-l{display:block;margin-top:6px;font-size:12.5px;color:var(--ink-2);line-height:1.4;font-family:var(--font-sans)}

/* Inline "next step" ribbon */
.step-ribbon{display:flex;align-items:center;gap:14px;padding:14px 20px;background:#1a3a8f;color:#fff;border-radius:999px;font-size:14px;margin:18px auto;max-width:560px;text-decoration:none;justify-content:center;font-weight:600;box-shadow:0 14px 30px -10px rgba(26,58,143,.4);transition:transform .15s, box-shadow .15s}
.step-ribbon:hover{transform:translateY(-1px);box-shadow:0 18px 36px -10px rgba(26,58,143,.5)}
.step-ribbon svg{flex-shrink:0}

/* ============================================
   SOLUTIONS / "FOR X" PAGE COMPONENTS
   ============================================ */

/* Bundle grid (8-card service bundle) */
.bundle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (max-width:780px){.bundle-grid{grid-template-columns:1fr}}
.bundle-card{display:flex;align-items:flex-start;gap:14px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink);transition:border-color .15s, transform .15s, box-shadow .15s}
.bundle-card:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 10px 30px -10px rgba(15,30,60,.12)}
.bundle-card .bc-ico{width:42px;height:42px;border-radius:11px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;border:1px solid var(--primary-100);flex-shrink:0}
.bundle-card .bc-body{flex:1;min-width:0}
.bundle-card .bc-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;display:block;margin-bottom:4px}
.bundle-card .bc-body b{display:block;font-family:var(--font-serif);font-size:1.1rem;color:var(--ink);letter-spacing:-.01em;line-height:1.2;font-weight:500;margin-bottom:4px}
.bundle-card .bc-desc{display:block;font-size:13px;color:var(--ink-2);line-height:1.5}
.bundle-card .bc-arrow{align-self:center;color:var(--primary);font-size:18px;font-weight:600;opacity:0;transition:opacity .15s, transform .15s}
.bundle-card:hover .bc-arrow{opacity:1;transform:translateX(2px)}

/* Workflow rows */
.workflow{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.wf-row{display:grid;grid-template-columns:80px 1fr auto;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);align-items:center}
.wf-row:last-child{border-bottom:none}
.wf-row .wf-num{font-family:var(--font-mono);font-size:13px;color:var(--primary);font-weight:600;letter-spacing:.06em}
.wf-row .wf-body b{font-family:var(--font-serif);font-size:1.15rem;color:var(--ink);letter-spacing:-.01em;font-weight:500;display:block;line-height:1.2}
.wf-row .wf-body p{margin-top:4px;font-size:13.5px;color:var(--ink-2);line-height:1.55}
.wf-row .wf-stamp span{font-family:var(--font-mono);font-size:10.5px;color:var(--accent);font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;background:var(--gold-50);border-radius:99px;border:1px solid #f5efdf;white-space:nowrap}
@media (max-width:680px){
  .wf-row{grid-template-columns:50px 1fr;gap:10px}
  .wf-row .wf-stamp{grid-column:1/-1}
}

/* Testimonial grid (3 cards) */
.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:880px){.t-grid{grid-template-columns:1fr}}
.tcard{padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;display:flex;flex-direction:column;gap:14px}
.tcard .tstars{display:flex;gap:2px}
.tcard blockquote{margin:0;font-family:var(--font-serif);font-size:1.05rem;line-height:1.5;color:var(--ink);letter-spacing:-.005em;font-style:italic;flex:1}
.tcard .tattr{display:flex;align-items:center;gap:12px;padding-top:12px;border-top:1px solid var(--line)}
.tcard .tav{width:36px;height:36px;border-radius:50%;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;font-weight:700;font-size:13px;border:1px solid var(--primary-100)}
.tcard .tattr b{display:block;font-size:13.5px;color:var(--ink);font-weight:600}
.tcard .tattr span{font-size:12px;color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.04em}

/* Comparison page big-table (used on /vs- pages) */
.cmp-hero{padding:36px 32px;border-radius:var(--r-xl);background:linear-gradient(135deg, var(--bg-deep) 0%, #0f1e4b 100%);color:#fff;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;margin-top:20px;position:relative;overflow:hidden}
.cmp-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 100% 0%, rgba(160,120,42,.18), transparent 60%);pointer-events:none}
.cmp-hero > *{position:relative;z-index:1}
@media (max-width:780px){.cmp-hero{grid-template-columns:1fr;text-align:center}}
.cmp-hero .vs-label{font-family:var(--font-serif);font-size:1.8rem;color:#e8c882;letter-spacing:-.02em;font-weight:500;text-align:center}
.cmp-hero .vs-side b{display:block;font-family:var(--font-serif);font-size:1.5rem;color:#fff;letter-spacing:-.015em;font-weight:500}
.cmp-hero .vs-side span{display:block;color:#ecf0f6;font-size:13.5px;margin-top:4px;line-height:1.5}
.cmp-tbl{width:100%;border-collapse:collapse;font-size:14px;margin-top:24px}
.cmp-tbl th,.cmp-tbl td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.cmp-tbl thead th{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;background:var(--bg-tint)}
.cmp-tbl tbody th{font-weight:600;color:var(--ink);width:30%}
.cmp-tbl td.them{color:var(--ink-2)}
.cmp-tbl td.us{background:var(--gold-50);color:var(--ink);font-weight:500;border-left:2px solid var(--accent)}
.cmp-tbl .y{color:#1a5e3a;font-weight:600}
.cmp-tbl .n{color:var(--muted)}
.cmp-section{margin-top:32px}
.cmp-section h3{font-family:var(--font-serif);font-size:1.5rem;letter-spacing:-.015em;color:var(--ink);font-weight:500;margin-bottom:12px}

/* Tools hub cards (re-use free-tool but with hero treatment) */
.tools-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}
@media (max-width:980px){.tools-hero{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.tools-hero{grid-template-columns:1fr}}

/* Status/Changelog/Press doc-style */
/* old .doc-section max-width rule replaced by component block below */
.doc-section h2{font-family:var(--font-serif);font-size:1.7rem;letter-spacing:-.02em;color:var(--ink);font-weight:500;margin-top:36px;margin-bottom:14px}
.doc-section h3{font-family:var(--font-serif);font-size:1.25rem;color:var(--ink);margin-top:24px;margin-bottom:8px;font-weight:500}
.doc-section p{font-size:15.5px;color:var(--ink-2);line-height:1.7;margin-bottom:12px}
.doc-section ul{margin:8px 0 12px 0;padding-left:22px;color:var(--ink-2);font-size:15px;line-height:1.65}
.doc-section ul li{margin-bottom:6px}

/* Status indicators */
.status-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.status-row{display:grid;grid-template-columns:1fr auto;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);align-items:center}
.status-row:last-child{border-bottom:none}
.status-row b{font-family:var(--font-sans);font-size:14.5px;color:var(--ink);font-weight:600}
.status-row .uptime{font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.06em;margin-left:8px}
.status-row .pill-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;font-size:11.5px;font-weight:600;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase}
.status-row .pill-status.ok{background:#ecf0f6;color:#1a5e3a;border:1px solid #86d6a6}
.status-row .pill-status.degraded{background:#f5efdf;color:#7a5a1f;border:1px solid #e8c882}
.status-row .pill-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}

/* Changelog timeline */
.changelog-entry{padding:24px 0;border-bottom:1px solid var(--line)}
.changelog-entry:last-child{border-bottom:none}
.changelog-entry .ce-date{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.changelog-entry .ce-date::after{content:"";flex:1;height:1px;background:var(--line)}
.changelog-entry h3{font-family:var(--font-serif);font-size:1.35rem;letter-spacing:-.015em;color:var(--ink);font-weight:500;margin-bottom:10px}
.changelog-entry .ce-tag{display:inline-block;padding:3px 10px;border-radius:99px;font-size:10.5px;font-weight:600;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-right:6px;margin-bottom:8px}
.changelog-entry .ce-tag.new{background:var(--primary-50);color:var(--primary);border:1px solid var(--primary-100)}
.changelog-entry .ce-tag.fix{background:#ecf0f6;color:#1a5e3a;border:1px solid #86d6a6}
.changelog-entry .ce-tag.improvement{background:var(--gold-50);color:#7a5a1f;border:1px solid #f5efdf}
.changelog-entry ul{margin-top:8px}

/* ============================================
   STATE-SPECIFIC PAGE COMPONENTS
   ============================================ */

/* State economy strip, 4-up stat row with real numbers */
.state-econ{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}
@media (max-width:780px){.state-econ{grid-template-columns:1fr 1fr}}
.state-econ-cell{padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.state-econ-cell .se-l{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:6px}
.state-econ-cell .se-v{display:block;font-family:var(--font-serif);font-size:1.5rem;color:var(--ink);letter-spacing:-.02em;font-weight:500;line-height:1.1}
.state-econ-cell .se-s{display:block;font-size:12px;color:var(--ink-2);margin-top:4px;line-height:1.4}

/* Top industries pill row */
.industry-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.industry-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:99px;background:var(--primary-50);color:var(--primary);border:1px solid var(--primary-100);font-size:13px;font-weight:500;font-family:var(--font-sans)}
.industry-pill svg{flex-shrink:0}

/* Top cities grid */
.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
@media (max-width:780px){.city-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.city-grid{grid-template-columns:1fr}}
.city-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:8px;transition:border-color .15s, transform .15s}
.city-card:hover{border-color:var(--primary);transform:translateY(-1px)}
.city-card .ct-name{font-family:var(--font-serif);font-size:1.15rem;color:var(--ink);letter-spacing:-.01em;font-weight:500;display:flex;align-items:center;gap:8px}
.city-card .ct-name svg{color:var(--primary);flex-shrink:0}
.city-card .ct-note{font-size:13px;color:var(--ink-2);line-height:1.5}

/* Secretary of State info card */
.sos-card{padding:24px 28px;border:1px solid var(--primary-100);border-radius:var(--r-lg);background:linear-gradient(135deg, var(--primary-50) 0%, #fff 70%);margin-top:18px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:flex-start}
@media (max-width:680px){.sos-card{grid-template-columns:1fr;text-align:left}}
.sos-card .sos-seal{width:60px;height:60px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;flex-shrink:0;font-family:var(--font-serif);font-size:1.6rem;font-weight:500;letter-spacing:-.02em}
.sos-card .sos-body b{display:block;font-family:var(--font-serif);font-size:1.25rem;color:var(--ink);letter-spacing:-.015em;font-weight:500;line-height:1.2}
.sos-card .sos-body p{margin-top:6px;font-size:14px;color:var(--ink-2);line-height:1.55}
.sos-card .sos-body .sos-link{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;color:var(--primary);font-weight:600}

/* State comparison table */
.state-compare{display:grid;grid-template-columns:1fr;gap:0;margin-top:16px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.state-compare .sc-row{display:grid;grid-template-columns:140px 100px 1fr;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);align-items:center}
.state-compare .sc-row:last-child{border-bottom:none}
.state-compare .sc-row.us{background:var(--gold-50);border-left:3px solid var(--accent)}
.state-compare .sc-row b{font-family:var(--font-serif);font-size:1.05rem;color:var(--ink);font-weight:500;letter-spacing:-.01em}
.state-compare .sc-row .sc-fee{font-family:var(--font-mono);font-size:13px;color:var(--primary);font-weight:600}
.state-compare .sc-row .sc-note{font-size:13px;color:var(--ink-2);line-height:1.5}
@media (max-width:680px){
  .state-compare .sc-row{grid-template-columns:1fr 1fr}
  .state-compare .sc-row .sc-note{grid-column:1/-1;font-size:12.5px;margin-top:4px}
}

/* Local resources card */
.local-resources{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}
@media (max-width:680px){.local-resources{grid-template-columns:1fr}}
.local-resources .lr-card{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;align-items:flex-start;gap:10px}
.local-resources .lr-card .lr-ic{width:32px;height:32px;border-radius:8px;background:var(--gold-50);color:var(--accent);display:grid;place-items:center;border:1px solid #f5efdf;flex-shrink:0}
.local-resources .lr-card b{display:block;font-size:14px;color:var(--ink);font-weight:600}
.local-resources .lr-card span{display:block;font-size:12.5px;color:var(--ink-2);line-height:1.45;margin-top:2px}

/* State visual hero, big map / landmark area */
.state-hero-visual{position:relative;background:linear-gradient(135deg, #ecf0f6 0%, #ecf0f6 100%);border-radius:var(--r-xl);border:1px solid #ecf0f6;padding:30px;overflow:hidden;min-height:360px;display:flex;flex-direction:column;justify-content:space-between}
.state-hero-visual .shv-stack{display:flex;flex-direction:column;gap:12px}
.state-hero-visual .shv-code{font-family:var(--font-serif);font-size:5rem;line-height:1;color:var(--primary);letter-spacing:-.05em;font-weight:500;text-align:center;margin-top:8px}
.state-hero-visual .shv-name{font-family:var(--font-mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);font-weight:600;text-align:center}
.state-hero-visual .shv-divider{height:1px;background:#ecf0f6;margin:14px 0}
.state-hero-visual .shv-row{display:flex;justify-content:space-between;padding:8px 0;font-size:13px}
.state-hero-visual .shv-row span:first-child{color:var(--ink-2)}
.state-hero-visual .shv-row span:last-child{color:var(--ink);font-weight:600;font-family:var(--font-mono)}
.state-hero-visual .shv-cta{margin-top:auto;text-align:center}
.state-hero-visual .shv-cta-pill{display:inline-block;padding:8px 18px;background:var(--primary);color:#fff;border-radius:99px;font-size:11.5px;font-family:var(--font-mono);letter-spacing:.16em;font-weight:600;text-transform:uppercase}

/* SEO long-tail keywords inline */
.seo-keywords{margin-top:16px;font-size:12.5px;color:var(--muted);line-height:1.7;font-family:var(--font-sans)}
.seo-keywords b{color:var(--ink-2);font-weight:600}

/* ============================================
   ENTITY-SPECIFIC VISUAL COMPONENTS
   ============================================ */

/* Stock certificate visual (Corp pages) */
.stock-cert{padding:24px 28px;border-radius:var(--r-lg);background:linear-gradient(135deg, #fff 0%, var(--gold-50) 100%);border:2px dashed var(--accent);position:relative;overflow:hidden}
.stock-cert::before{content:"";position:absolute;top:0;right:0;width:60px;height:60px;background:radial-gradient(circle, var(--accent) 30%, transparent 70%);opacity:.15}
.stock-cert .sc-head{font-family:var(--font-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:6px}
.stock-cert .sc-title{font-family:var(--font-serif);font-size:1.6rem;color:var(--ink);letter-spacing:-.02em;font-weight:500;line-height:1.15}
.stock-cert .sc-rows{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
@media (max-width:680px){.stock-cert .sc-rows{grid-template-columns:1fr}}
.stock-cert .sc-cell{padding:12px 14px;background:#fff;border-radius:8px;border:1px solid #f5efdf}
.stock-cert .sc-cell .sc-l{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:4px}
.stock-cert .sc-cell .sc-v{display:block;font-family:var(--font-serif);font-size:1.1rem;color:var(--ink);font-weight:500;letter-spacing:-.01em}
.stock-cert .sc-seal{position:absolute;bottom:18px;right:20px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle, var(--gold-50) 0%, transparent 60%);display:grid;place-items:center;color:var(--accent);font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;font-weight:700;text-align:center;line-height:1.1;opacity:.5}

/* Mission diagram (Nonprofit pages) */
.mission-flow{padding:24px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line)}
.mission-flow .mf-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:center}
@media (max-width:780px){.mission-flow .mf-row{grid-template-columns:1fr}}
.mission-flow .mf-step{padding:14px 12px;background:var(--bg-tint);border-radius:10px;border:1px solid var(--line);text-align:center;position:relative}
.mission-flow .mf-step.hl{background:linear-gradient(135deg, var(--primary-50), #fff);border-color:var(--primary-100)}
.mission-flow .mf-step .mf-num{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;color:var(--accent);font-weight:700;margin-bottom:6px}
.mission-flow .mf-step b{display:block;font-family:var(--font-serif);font-size:.95rem;color:var(--ink);letter-spacing:-.005em;font-weight:500;line-height:1.2}
.mission-flow .mf-step span{display:block;font-size:11px;color:var(--ink-2);margin-top:4px;line-height:1.4}
.mission-flow .mf-arrow{display:grid;place-items:center;color:var(--primary)}
@media (max-width:780px){.mission-flow .mf-arrow{display:none}}

/* Board / governance diagram */
.board-diagram{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
@media (max-width:680px){.board-diagram{grid-template-columns:1fr}}
.board-tile{padding:18px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);text-align:center}
.board-tile .bt-icon{width:46px;height:46px;border-radius:50%;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;margin:0 auto 10px;border:1px solid var(--primary-100)}
.board-tile b{display:block;font-family:var(--font-serif);font-size:1.1rem;color:var(--ink);letter-spacing:-.01em;font-weight:500}
.board-tile span{display:block;font-size:12.5px;color:var(--ink-2);margin-top:4px;line-height:1.45}

/* When this entity makes sense (decision tree) */
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
@media (max-width:680px){.fit-grid{grid-template-columns:1fr}}
.fit-card{padding:20px 22px;border-radius:var(--r-lg);border:1px solid var(--line);background:#fff}
.fit-card.yes{border-color:#86d6a6;background:linear-gradient(135deg, #ecf0f6 0%, #fff 100%)}
.fit-card.no{border-color:var(--line);background:var(--bg-tint)}
.fit-card .fc-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.fit-card.yes .fc-head{color:#1a5e3a}
.fit-card.no .fc-head{color:var(--muted)}
.fit-card .fc-head b{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.fit-card ul{margin:0;padding-left:18px;font-size:13.5px;line-height:1.6;color:var(--ink-2)}
.fit-card ul li{margin-bottom:5px}

/* Filing timeline visual */
.timeline-h{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:18px;position:relative}
@media (max-width:780px){.timeline-h{grid-template-columns:1fr}}
.timeline-h::after{content:"";position:absolute;top:18px;left:18px;right:18px;height:2px;background:linear-gradient(to right, var(--primary-100), var(--primary-100));z-index:0}
@media (max-width:780px){.timeline-h::after{display:none}}
.tl-step{position:relative;z-index:1;text-align:center;padding:0 12px}
.tl-step .tl-dot{width:36px;height:36px;border-radius:50%;background:#fff;border:2px solid var(--primary);color:var(--primary);display:grid;place-items:center;margin:0 auto 10px;font-family:var(--font-mono);font-size:13px;font-weight:700}
.tl-step .tl-when{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:4px}
.tl-step b{display:block;font-family:var(--font-serif);font-size:1.05rem;color:var(--ink);letter-spacing:-.005em;font-weight:500;line-height:1.2}
.tl-step span{display:block;font-size:12.5px;color:var(--ink-2);margin-top:4px;line-height:1.45}

/* Pricing tier: muted "add-on" list items */
.tier ul .muted-li{color:var(--muted);font-size:13.5px;padding-top:6px;margin-top:6px;border-top:1px dashed var(--line)}
.tier ul .muted-li svg{color:var(--muted);opacity:.7}

/* Definitional page components */
.key-facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:880px){.key-facts-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.key-facts-grid{grid-template-columns:1fr}}
.key-fact-card{padding:20px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.key-fact-card .kfc-l{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:8px}
.key-fact-card .kfc-v{font-family:var(--font-serif);font-size:1.1rem;color:var(--ink);letter-spacing:-.005em;line-height:1.4;font-weight:500}
.cmp-stack{display:flex;flex-direction:column;gap:12px}
.cmp-row{display:grid;grid-template-columns:240px 1fr;gap:18px;padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:12px;align-items:start}
@media (max-width:680px){.cmp-row{grid-template-columns:1fr}}
.cmp-row .cmp-label{font-family:var(--font-serif);font-size:1.05rem;color:var(--primary);letter-spacing:-.005em;font-weight:500}
.cmp-row .cmp-text{font-size:14.5px;color:var(--ink-2);line-height:1.55}

/* ============================================
   TIER 3 CALCULATOR + TOOL COMPONENTS
   ============================================ */

/* Calculator layout: form left, result right */
.calc-shell{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px}
@media (max-width:880px){.calc-shell{grid-template-columns:1fr}}

/* Calculator form panel */
.calc-form{padding:28px 30px;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:0 8px 30px rgba(15,30,60,.06)}
.calc-form h3{font-family:var(--font-serif);font-size:1.3rem;color:var(--ink);letter-spacing:-.015em;margin:0 0 18px;font-weight:500}
.calc-form .field{margin-bottom:16px}
.calc-form .field label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:6px}
.calc-form .field-help{font-size:12.5px;color:var(--ink-2);margin-top:4px;line-height:1.4}
.calc-form input[type="text"],.calc-form input[type="number"],.calc-form select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;color:var(--ink);background:#fff;font-size:15.5px}
.calc-form input:focus,.calc-form select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,58,143,.12)}
.calc-form .input-prefix{position:relative}
.calc-form .input-prefix::before{content:attr(data-prefix);position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:15px;font-family:var(--font-mono);font-weight:600;pointer-events:none}
.calc-form .input-prefix input{padding-left:30px}
.calc-form .input-suffix{position:relative}
.calc-form .input-suffix::after{content:attr(data-suffix);position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px;font-family:var(--font-mono);pointer-events:none}

/* Range slider */
.calc-form input[type="range"]{width:100%;-webkit-appearance:none;appearance:none;height:6px;background:var(--line);border-radius:3px;outline:none}
.calc-form input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--primary);border-radius:50%;cursor:pointer;border:2px solid #fff;box-shadow:0 2px 6px rgba(26,58,143,.3)}
.calc-form input[type="range"]::-moz-range-thumb{width:20px;height:20px;background:var(--primary);border-radius:50%;cursor:pointer;border:2px solid #fff;box-shadow:0 2px 6px rgba(26,58,143,.3)}
.calc-form .range-display{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.calc-form .range-display .val{font-family:var(--font-serif);font-size:1.2rem;color:var(--primary);font-weight:500}
.calc-form .range-display .lim{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.06em}

/* Result panel */
.calc-result{padding:28px 30px;background:linear-gradient(135deg, var(--bg-deep) 0%, #0f1e4b 100%);color:#fff;border-radius:var(--r-xl);position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:400px}
.calc-result::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 100% 0%, rgba(160,120,42,.18), transparent 60%);pointer-events:none}
.calc-result > *{position:relative;z-index:1}
.calc-result .cr-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#e8c882;font-weight:600;margin-bottom:8px}
.calc-result .cr-headline{font-family:var(--font-serif);font-size:2.4rem;line-height:1.05;letter-spacing:-.02em;color:#fff;font-weight:500;margin-bottom:6px}
.calc-result .cr-sub{font-size:14px;color:#ecf0f6;line-height:1.5;margin-bottom:18px}
.calc-result .cr-breakdown{display:grid;grid-template-columns:1fr;gap:8px;padding:14px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);margin-top:auto;margin-bottom:18px}
.calc-result .cr-row{display:flex;justify-content:space-between;align-items:baseline;font-size:14px}
.calc-result .cr-row .cr-k{color:#ecf0f6}
.calc-result .cr-row .cr-v{color:#fff;font-family:var(--font-mono);font-weight:600;font-size:15px}
.calc-result .cr-row.total{padding-top:8px;margin-top:4px;border-top:1px solid rgba(255,255,255,.12)}
.calc-result .cr-row.total .cr-k{color:#fff;font-weight:600}
.calc-result .cr-row.total .cr-v{color:#e8c882;font-size:1.05rem}
.calc-result .cr-cta{margin-top:14px}
.calc-result .cr-cta .btn{width:100%;justify-content:center}

/* Comparison bar viz */
.compare-bars{display:flex;flex-direction:column;gap:14px;margin:20px 0}
.compare-bar{display:grid;grid-template-columns:140px 1fr 100px;align-items:center;gap:12px}
@media (max-width:680px){.compare-bar{grid-template-columns:1fr;gap:6px}}
.compare-bar .cb-label{font-size:13.5px;color:var(--ink);font-weight:500}
.compare-bar .cb-track{height:32px;background:var(--bg-tint);border-radius:6px;position:relative;overflow:hidden}
.compare-bar .cb-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg, var(--primary) 0%, #2a4ba1 100%);border-radius:6px;transition:width .6s ease}
.compare-bar .cb-fill.saving{background:linear-gradient(90deg, #1a5e3a 0%, #4ea366 100%)}
.compare-bar .cb-value{font-family:var(--font-mono);font-size:13px;color:var(--ink);font-weight:600;text-align:right}

/* Quiz steps */
.quiz-shell{max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:32px 36px;box-shadow:0 14px 40px -10px rgba(15,30,60,.08)}
.quiz-progress{display:flex;gap:6px;margin-bottom:24px}
.quiz-progress .qp-bar{flex:1;height:4px;background:var(--line);border-radius:2px;overflow:hidden}
.quiz-progress .qp-bar.active{background:var(--primary)}
.quiz-progress .qp-bar.done{background:#1a5e3a}
.quiz-step{display:none}
.quiz-step.active{display:block;animation:qFade .25s ease}
@keyframes qFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.quiz-step .q-meta{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:8px}
.quiz-step h3{font-family:var(--font-serif);font-size:1.6rem;color:var(--ink);letter-spacing:-.02em;margin:0 0 18px;font-weight:500;line-height:1.2}
.quiz-options{display:grid;gap:10px}
.quiz-option{padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;display:flex;align-items:center;gap:12px;transition:border-color .15s, transform .15s, background .15s;text-align:left;font-size:15px;color:var(--ink);font-family:inherit}
.quiz-option:hover{border-color:var(--primary);background:var(--primary-50)}
.quiz-option .qo-ic{width:32px;height:32px;border-radius:8px;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;flex-shrink:0;border:1px solid var(--primary-100)}
.quiz-option b{font-family:var(--font-serif);font-weight:500;font-size:1.05rem;display:block}
.quiz-option span{display:block;font-size:13px;color:var(--ink-2);margin-top:2px;line-height:1.4}
.quiz-option .qo-text{flex:1}
.quiz-nav{display:flex;justify-content:space-between;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}

/* Quiz result */
.quiz-result{display:none;text-align:center;padding:18px 0}
.quiz-result.show{display:block;animation:qFade .35s ease}
.quiz-result .qr-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:10px}
.quiz-result h3{font-family:var(--font-serif);font-size:2rem;color:var(--ink);letter-spacing:-.02em;margin:0 0 12px;font-weight:500}
.quiz-result p{font-size:15px;color:var(--ink-2);line-height:1.6;max-width:560px;margin:0 auto 18px}
.quiz-result .qr-cta{margin-top:18px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Name generator results */
.name-results{margin-top:18px}
.name-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (max-width:680px){.name-grid{grid-template-columns:1fr}}
.name-card{padding:14px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:border-color .15s, transform .15s}
.name-card:hover{border-color:var(--primary);transform:translateY(-1px)}
.name-card .nc-name{font-family:var(--font-serif);font-size:1.1rem;color:var(--ink);letter-spacing:-.01em;font-weight:500}
.name-card .nc-actions{display:flex;gap:6px}
.name-card .nc-pill{padding:4px 10px;border-radius:99px;font-size:11px;font-family:var(--font-mono);letter-spacing:.06em;font-weight:600;text-decoration:none;background:var(--primary-50);color:var(--primary);border:1px solid var(--primary-100)}
.name-card .nc-pill:hover{background:var(--primary);color:#fff}

/* Tool intro hero illustration */
.tool-hero-art{background:linear-gradient(135deg, #ecf0f6 0%, #ecf0f6 100%);border-radius:var(--r-xl);padding:32px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:280px;border:1px solid #ecf0f6}
.tool-hero-art .tha-icon{width:84px;height:84px;border-radius:50%;background:#fff;color:var(--primary);display:grid;place-items:center;margin-bottom:14px;border:2px solid var(--primary-100);box-shadow:0 10px 30px -10px rgba(26,58,143,.2)}
.tool-hero-art .tha-num{font-family:var(--font-serif);font-size:3rem;line-height:1;color:var(--primary);letter-spacing:-.02em;font-weight:500;margin-bottom:6px}
.tool-hero-art .tha-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600}


/* doc-section numbered step layout, used in Tier 6/7/8 + Sprint 1 */
.doc-section{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid #ecf0f6;border-radius:10px;padding:18px 22px;margin-bottom:12px;max-width:none}
.doc-section .ds-num{flex-shrink:0;width:38px;height:38px;background:#1a3a8f;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-weight:600;font-size:13px;letter-spacing:.5px}
.doc-section .ds-body{flex:1;min-width:0}
.doc-section .ds-body h3{font-family:var(--font-serif);font-size:1.05rem;color:#1a3a8f;margin:0 0 8px;font-weight:600}
.doc-section .ds-body p{margin:0;font-size:14.5px;color:#3a4254;line-height:1.6}

/* hero-art container, used in many pages */
.hero-art{display:flex;align-items:center;justify-content:center;background:transparent}
.hero-art svg{max-width:100%;height:auto}

/* vs comparison page components */
.vs-summary{background:#fbfcfe;border-left:3px solid #1a3a8f;padding:18px 22px;border-radius:6px;margin:24px 0;font-size:15px;color:#1a3a8f;line-height:1.6}
.vs-strengths{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}
.vs-strengths > div{background:#fff;border:1px solid #ecf0f6;border-radius:10px;padding:22px 24px}
.vs-strengths h3{margin:0 0 12px;font-size:16px;color:#1a3a8f;font-family:var(--font-serif);font-weight:600}
.vs-strengths ul{margin:0;padding-left:18px;color:#3a4254;font-size:14px;line-height:1.7}
.vs-pick{background:#fbfcfe;border-radius:10px;padding:22px 24px;margin:14px 0}
.vs-pick h4{margin:0 0 10px;color:#1a3a8f;font-size:15px;font-weight:600}
.vs-pick ul{margin:0;padding-left:18px;color:#3a4254;font-size:14px;line-height:1.7}
@media (max-width:680px){.vs-strengths{grid-template-columns:1fr}}

/* Legal forms library components, used in /legal-forms/ */
.lf-section{margin-bottom:48px}
.lf-cat-h{font-size:1.5rem;color:#1a3a8f;font-family:var(--font-serif);border-bottom:1px solid #ecf0f6;padding-bottom:6px;margin:0 0 14px;font-weight:600}
.lf-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.lf-item{display:block;padding:16px 18px;background:#fff;border:1px solid #ecf0f6;border-radius:8px;text-decoration:none;color:inherit;transition:all .15s}
.lf-item:hover{border-color:#1a3a8f;transform:translateX(2px)}
.lf-item b{display:block;color:#1a3a8f;font-size:14.5px;margin-bottom:4px;font-weight:600}
.lf-item span{color:#3a4254;font-size:12.5px;line-height:1.5;display:block}
.lf-search{display:block;width:100%;padding:13px 16px;border:1px solid #ecf0f6;border-radius:8px;font-size:15px;margin-bottom:32px;font-family:inherit}

/* Clause boxes inside legal-form templates */
.clause-box{background:#fbfcfe;border-left:3px solid #1a3a8f;padding:12px 14px;margin-top:10px;border-radius:4px}
.clause-label{font-size:10px;font-family:'JetBrains Mono',monospace;letter-spacing:1.2px;text-transform:uppercase;color:#a0782a;margin-bottom:6px;display:block}
.clause-text{font-family:var(--font-serif);font-size:14px;color:#3a4254;line-height:1.55;margin:0;font-style:italic}

/* Related-forms grid */
.rf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:18px}
.rf-card{display:block;padding:14px 16px;background:#fff;border:1px solid #ecf0f6;border-radius:8px;text-decoration:none;color:inherit;transition:all .15s}
.rf-card:hover{border-color:#1a3a8f;transform:translateX(2px)}
.rf-card b{display:block;color:#1a3a8f;font-size:14px;margin-bottom:2px}
.rf-card span{font-size:11.5px;color:#6b7689;font-family:'JetBrains Mono',monospace;letter-spacing:.5px;text-transform:uppercase}

/* Download CTA box in legal-forms */
.dl-box{background:linear-gradient(135deg,#1a3a8f,#2a4ba1);color:#fff;padding:28px 32px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin:32px 0;flex-wrap:wrap}
.dl-box h3{color:#fff;margin:0 0 6px;font-size:1.3rem;font-family:var(--font-serif)}
.dl-box p{margin:0;color:#ecf0f6;font-size:14px}
.dl-btn{display:inline-flex;gap:8px;align-items:center;background:#fff;color:#1a3a8f;padding:12px 22px;border-radius:8px;font-weight:600;text-decoration:none;font-size:14.5px}
.dl-btn:hover{background:#f5efdf}


/* Interactive legal-form builder, split layout: form | live preview */
.fb-shell{display:grid;grid-template-columns:380px 1fr;gap:24px;background:#fbfcfe;border:1px solid #ecf0f6;border-radius:14px;padding:24px;margin:24px 0;align-items:start}
.fb-fields{position:sticky;top:88px;max-height:calc(100vh - 120px);overflow-y:auto;padding-right:8px}
.fb-fields h3{margin:0 0 12px;font-family:var(--font-serif);font-size:1.1rem;color:#1a3a8f;font-weight:600}
.fb-fields .fb-sub{color:#6b7689;font-size:13px;margin:0 0 18px;line-height:1.5}
.fb-group{margin-bottom:14px}
.fb-group > label{display:block;font-size:12px;color:#6b7689;font-weight:500;margin-bottom:5px;font-family:"JetBrains Mono",monospace;letter-spacing:.3px;text-transform:uppercase}
.fb-group input[type=text],.fb-group input[type=number],.fb-group input[type=date],.fb-group select,.fb-group textarea{width:100%;padding:10px 12px;border:1px solid #ecf0f6;border-radius:6px;font-size:14px;font-family:inherit;background:#fff;color:#1a3a8f}
.fb-group input:focus,.fb-group select:focus,.fb-group textarea:focus{outline:none;border-color:#1a3a8f;box-shadow:0 0 0 3px rgba(26,58,143,.1)}
.fb-group textarea{resize:vertical;min-height:64px;line-height:1.5}
.fb-group .fb-hint{font-size:11.5px;color:#86d6a6;margin-top:4px;font-style:italic}
.fb-group .fb-repeater{display:flex;gap:6px;margin-top:6px}
.fb-group .fb-repeater button{padding:6px 10px;background:#fff;border:1px solid #ecf0f6;border-radius:6px;font-size:12px;color:#1a3a8f;cursor:pointer;font-family:inherit}
.fb-group .fb-repeater button:hover{border-color:#1a3a8f}
.fb-preview{background:#fff;border:1px solid #ecf0f6;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;min-height:600px}
.fb-toolbar{display:flex;gap:6px;padding:10px 14px;background:#fbfcfe;border-bottom:1px solid #ecf0f6;align-items:center}
.fb-toolbar .fb-label{font-size:11px;color:#6b7689;font-family:"JetBrains Mono",monospace;letter-spacing:.5px;text-transform:uppercase;margin-right:auto;font-weight:500}
.fb-toolbar button{padding:8px 14px;background:#1a3a8f;color:#fff;border:none;border-radius:6px;font-size:12.5px;font-weight:500;cursor:pointer;font-family:inherit;display:inline-flex;gap:6px;align-items:center}
.fb-toolbar button:hover{background:#1a3a8f}
.fb-toolbar button.secondary{background:#fff;color:#1a3a8f;border:1px solid #ecf0f6}
.fb-toolbar button.secondary:hover{background:#fbfcfe;border-color:#1a3a8f}
.fb-toolbar .fb-success{display:none;color:#1a5e3a;font-size:12px;font-weight:500}
.fb-toolbar .fb-success.show{display:inline-flex;align-items:center;gap:4px}
.fb-doc{padding:36px 44px;font-family:"Source Serif 4",Georgia,serif;font-size:13.5px;line-height:1.7;color:#3a4254;white-space:pre-wrap;flex:1;overflow-y:auto;max-height:80vh}
.fb-doc h1{font-family:var(--font-serif);font-size:1.4rem;color:#1a3a8f;text-align:center;margin:0 0 22px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}
.fb-doc h2{font-family:var(--font-serif);font-size:1.05rem;color:#1a3a8f;font-weight:600;margin:24px 0 10px;text-transform:uppercase;letter-spacing:.3px}
.fb-doc p{margin:0 0 12px}
.fb-doc .sig{margin-top:36px;padding-top:18px;border-top:1px solid #ecf0f6;font-style:italic;color:#6b7689}
.fb-doc .filled{background:#f5efdf;padding:0 2px;border-radius:2px;color:#1a3a8f;font-weight:500}
.fb-doc .empty{background:#f5efdf;padding:0 4px;border-radius:2px;color:#a22e2e;font-style:italic;font-size:.92em}
.fb-attorney{background:linear-gradient(135deg,#1a3a8f,#2a4ba1);color:#fff;padding:18px 22px;border-radius:8px;margin:18px 0;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.fb-attorney p{margin:0;font-size:13.5px;color:#ecf0f6;flex:1}
.fb-attorney p b{color:#fff}
.fb-attorney a{background:#fff;color:#1a3a8f;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;text-decoration:none}
.fb-attorney a:hover{background:#f5efdf}
@media (max-width:1000px){.fb-shell{grid-template-columns:1fr}.fb-fields{position:relative;top:auto;max-height:none}.fb-doc{padding:24px 28px}}
@media print{.fb-shell{display:block;background:transparent;border:none;padding:0}.fb-fields,.fb-toolbar,.fb-attorney,header,footer,.bar{display:none !important}.fb-preview{border:none;min-height:auto}.fb-doc{max-height:none;padding:0}}

/* No-JS / preview-pane fallback: ensure .reveal content shows even when site.js does not load.
   The scroll observer will still smoothly animate in normal use; this guarantees visibility
   when the page is rendered in a sandboxed preview that does not execute external scripts. */
.reveal{animation:revealAutoIn 0.5s ease-out 0.15s forwards}
@keyframes revealAutoIn{to{opacity:1;transform:none}}
@media (scripting: none){
  .reveal{opacity:1 !important;transform:none !important;animation:none !important}
}


/* ======================================================== */
/* ENRICHMENT v1, rich visual components (site-wide)       */
/* ======================================================== */

/* Trust indicator row, used on every conversion page */
.trust-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;background:#fff;border:1px solid #ecf0f6;border-radius:14px;padding:0;overflow:hidden;margin:32px 0}
.trust-row > div{padding:22px 26px;border-right:1px solid #ecf0f6;display:flex;flex-direction:column;gap:6px}
.trust-row > div:last-child{border-right:none}
.trust-row .ti-num{font-family:var(--font-serif);font-size:1.85rem;color:#1a3a8f;font-weight:600;line-height:1}
.trust-row .ti-lbl{font-size:11.5px;color:#6b7689;font-family:"JetBrains Mono",monospace;letter-spacing:.8px;text-transform:uppercase;margin-top:2px}
.trust-row .ti-sub{font-size:13px;color:#3a4254;margin-top:4px;line-height:1.4}
@media (max-width:700px){.trust-row > div{border-right:none;border-bottom:1px solid #ecf0f6}.trust-row > div:last-child{border-bottom:none}}

/* Stat tile reveal, animated entry */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:24px 0}
.stat-tile{background:linear-gradient(135deg,#fbfcfe 0%,#fff 100%);border:1px solid #ecf0f6;border-radius:12px;padding:24px 26px;position:relative;overflow:hidden}
.stat-tile::before{content:"";position:absolute;top:0;right:0;width:80px;height:80px;background:radial-gradient(circle at top right,rgba(160,120,42,.08),transparent 70%);pointer-events:none}
.stat-tile .st-num{font-family:var(--font-serif);font-size:2.6rem;color:#1a3a8f;font-weight:600;line-height:1;letter-spacing:-.02em}
.stat-tile .st-lbl{font-size:12px;color:#6b7689;font-family:"JetBrains Mono",monospace;letter-spacing:.8px;text-transform:uppercase;margin-top:8px;font-weight:500}
.stat-tile .st-sub{font-size:14px;color:#3a4254;margin-top:10px;line-height:1.55}
.stat-tile.gold{background:linear-gradient(135deg,#f5efdf 0%,#fff 100%);border-color:#e8d49f}
.stat-tile.gold .st-num{color:#a0782a}
.stat-tile.forest{background:linear-gradient(135deg,#ecf0f6 0%,#fff 100%);border-color:#86d6a6}
.stat-tile.forest .st-num{color:#1a5e3a}

/* Feature trio, three benefit cards with icons */
.feature-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:32px 0}
.feature-trio .ft-card{background:#fff;border:1px solid #ecf0f6;border-radius:14px;padding:28px 30px;transition:transform .25s,box-shadow .25s}
.feature-trio .ft-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px -12px rgba(26,58,143,.18)}
.feature-trio .ft-icon{width:48px;height:48px;background:linear-gradient(135deg,#1a3a8f,#2a4ba1);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.feature-trio .ft-icon.gold{background:linear-gradient(135deg,#a0782a,#a0782a)}
.feature-trio .ft-icon.forest{background:linear-gradient(135deg,#1a5e3a,#1a9474)}
.feature-trio .ft-card h3{margin:0 0 10px;font-family:var(--font-serif);font-size:1.2rem;color:#1a3a8f;font-weight:600}
.feature-trio .ft-card p{margin:0;color:#3a4254;font-size:14.5px;line-height:1.6}

/* Illustrated process, numbered steps with connecting line */
.process-track{position:relative;margin:32px 0;padding:8px 0}
.process-track::before{content:"";position:absolute;top:36px;left:30px;right:30px;height:2px;background:linear-gradient(90deg,#1a3a8f 0%,#a0782a 100%);z-index:0}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;z-index:1}
.process-step{text-align:center;background:#fff;padding:12px 8px 0}
.process-step .ps-circle{width:64px;height:64px;background:#fff;border:3px solid #1a3a8f;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-family:var(--font-serif);font-size:1.4rem;color:#1a3a8f;font-weight:600;position:relative}
.process-step.active .ps-circle{background:#1a3a8f;color:#fff;box-shadow:0 4px 12px rgba(26,58,143,.3)}
.process-step h4{margin:0 0 8px;font-size:15px;color:#1a3a8f;font-weight:600}
.process-step p{margin:0;font-size:13px;color:#6b7689;line-height:1.5}
@media (max-width:760px){.process-steps{grid-template-columns:1fr 1fr;gap:24px}.process-track::before{display:none}}

/* Comparison card, side-by-side highlight */
.compare-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:32px 0}
.compare-cards .cc-card{padding:28px 30px;border-radius:14px;border:1px solid #ecf0f6}
.compare-cards .cc-them{background:#fbfcfe}
.compare-cards .cc-us{background:linear-gradient(135deg,#1a3a8f,#2a4ba1);color:#fff;border-color:#1a3a8f}
.compare-cards .cc-card h4{margin:0 0 18px;font-family:var(--font-serif);font-size:1.3rem;font-weight:600;color:inherit}
.compare-cards .cc-us h4{color:#fff}
.compare-cards .cc-card ul{margin:0;padding-left:22px;line-height:1.8;font-size:14.5px}
.compare-cards .cc-them ul{color:#3a4254}
.compare-cards .cc-us ul{color:#ecf0f6}
.compare-cards .cc-us ul li::marker{color:#f5efdf}
@media (max-width:680px){.compare-cards{grid-template-columns:1fr}}

/* Pull quote callout */
.pull-quote{background:#fbfcfe;border-left:4px solid #a0782a;padding:32px 36px;margin:32px 0;border-radius:0 12px 12px 0}
.pull-quote::before{content:"\201C";font-family:var(--font-serif);font-size:4rem;color:#a0782a;line-height:.5;display:block;height:30px;opacity:.6}
.pull-quote p{margin:0;font-family:var(--font-serif);font-size:1.35rem;color:#1a3a8f;line-height:1.55;font-style:italic;font-weight:500}
.pull-quote cite{display:block;margin-top:16px;font-style:normal;font-size:14px;color:#6b7689;font-family:Inter,sans-serif;font-weight:500}
.pull-quote cite::before{content:"";display:inline-block;width:24px;height:1px;background:#a0782a;vertical-align:middle;margin-right:10px}

/* Inline alert / info card */
.info-alert{display:flex;gap:16px;padding:20px 24px;background:#f5efdf;border:1px solid #e8d49f;border-radius:10px;margin:24px 0;align-items:flex-start}
.info-alert.success{background:#ecf0f6;border-color:#86d6a6}
.info-alert.warning{background:#f5efdf;border-color:#f5b89f}
.info-alert .ia-icon{flex-shrink:0;width:36px;height:36px;background:#a0782a;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}
.info-alert.success .ia-icon{background:#1a5e3a}
.info-alert.warning .ia-icon{background:#a22e2e}
.info-alert .ia-body{flex:1}
.info-alert .ia-body b{display:block;margin-bottom:4px;color:#1a3a8f;font-size:15px;font-weight:600}
.info-alert.success .ia-body b{color:#1a5e3a}
.info-alert.warning .ia-body b{color:#a22e2e}
.info-alert .ia-body p{margin:0;color:#3a4254;font-size:14px;line-height:1.55}

/* Customer logo wall */
.logo-wall{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:32px;align-items:center;justify-items:center;padding:24px 0;opacity:.7;filter:grayscale(1);transition:opacity .3s,filter .3s}
.logo-wall:hover{opacity:1;filter:grayscale(0)}
.logo-wall .lw-item{font-family:var(--font-serif);font-size:1.05rem;color:#1a3a8f;font-weight:600;letter-spacing:.5px;text-align:center;padding:8px}

/* Internal-link grid (related content) */
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:32px 0}
.related-card{display:block;background:#fff;border:1px solid #ecf0f6;border-radius:10px;padding:20px 22px;text-decoration:none;color:inherit;transition:all .2s;position:relative}
.related-card:hover{border-color:#1a3a8f;transform:translateY(-2px);box-shadow:0 8px 24px -8px rgba(26,58,143,.12)}
.related-card .rc-tag{display:inline-block;font-size:10.5px;font-family:"JetBrains Mono",monospace;letter-spacing:.8px;text-transform:uppercase;color:#a0782a;background:#f5efdf;padding:3px 10px;border-radius:4px;margin-bottom:10px}
.related-card h4{margin:0 0 8px;color:#1a3a8f;font-size:15.5px;font-weight:600;font-family:var(--font-serif)}
.related-card p{margin:0;color:#6b7689;font-size:13px;line-height:1.55}
.related-card .rc-arrow{position:absolute;top:20px;right:22px;color:#aeb8c8;transition:color .2s,transform .2s}
.related-card:hover .rc-arrow{color:#1a3a8f;transform:translateX(3px)}

/* Two-column rich layout */
.split-rich{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;margin:48px 0}
.split-rich .sr-text h2{font-family:var(--font-serif);font-size:1.9rem;color:#1a3a8f;font-weight:600;margin:0 0 16px;letter-spacing:-.02em;line-height:1.2}
.split-rich .sr-text p{margin:0 0 14px;color:#3a4254;font-size:15.5px;line-height:1.7}
.split-rich .sr-text ul{margin:18px 0;padding-left:22px;color:#3a4254;font-size:15px;line-height:1.8}
.split-rich .sr-art{background:#fbfcfe;border-radius:14px;padding:30px;display:flex;align-items:center;justify-content:center;min-height:280px;border:1px solid #ecf0f6}
@media (max-width:880px){.split-rich{grid-template-columns:1fr;gap:24px}}

/* Animated number reveal (count up effect via CSS) */
@keyframes countUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.stat-tile .st-num,.trust-row .ti-num{animation:countUp .8s ease-out forwards}

/* Section divider with center label */
.section-divider{display:flex;align-items:center;gap:14px;margin:48px 0 24px;color:#a0782a;font-size:11px;font-family:"JetBrains Mono",monospace;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}
.section-divider::before,.section-divider::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#ecf0f6 30%,#ecf0f6 70%,transparent)}

/* Badge collection */
.badge-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.badge-row .pill-tag,.pill-tag{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;background:#fff;border:1px solid #ecf0f6;border-radius:99px;font-size:12px;color:#1a3a8f;font-weight:500}
.pill-tag{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;background:#fff;border:1px solid #ecf0f6;border-radius:99px;font-size:12px;color:#1a3a8f;font-weight:500}
.pill-tag.gold{background:#f5efdf;border-color:#e8d49f;color:#a0782a}
.pill-tag.forest{background:#ecf0f6;border-color:#86d6a6;color:#1a5e3a}
.pill-tag svg{width:11px;height:11px}

/* Highlight box (gold tinted callout) */
.highlight-box{background:linear-gradient(135deg,#f5efdf 0%,#f5efdf 100%);border:1px solid #e8d49f;border-radius:12px;padding:24px 28px;margin:24px 0}
.highlight-box .hb-eyebrow{font-size:11px;font-family:"JetBrains Mono",monospace;letter-spacing:1.2px;text-transform:uppercase;color:#a0782a;font-weight:600;margin-bottom:8px}
.highlight-box h3{margin:0 0 10px;font-family:var(--font-serif);font-size:1.2rem;color:#1a3a8f;font-weight:600}
.highlight-box p{margin:0;color:#3a4254;font-size:14.5px;line-height:1.6}

/* Big number callout */
.big-number{font-family:var(--font-serif);font-size:5.5rem;color:#1a3a8f;font-weight:600;line-height:1;letter-spacing:-.04em;margin:0}
.big-number-row{display:flex;align-items:baseline;gap:18px;padding:32px 0}
.big-number-row p{margin:0;max-width:380px;font-size:15.5px;color:#3a4254;line-height:1.65}

/* SEO-friendly: better h2 spacing in long content */
.long-content h2{margin-top:48px;font-family:var(--font-serif);font-size:1.7rem;color:#1a3a8f;font-weight:600;letter-spacing:-.01em}
.long-content h3{margin-top:28px;font-family:var(--font-serif);font-size:1.2rem;color:#1a3a8f;font-weight:600}
.long-content p{margin:14px 0;font-size:15.5px;line-height:1.75;color:#3a4254}
.long-content ul,.long-content ol{margin:14px 0;padding-left:24px;line-height:1.75;color:#3a4254;font-size:15.5px}
.long-content li{margin:6px 0}
.long-content blockquote{border-left:3px solid #a0782a;padding:8px 20px;margin:20px 0;color:#3a4254;font-style:italic;background:#fbfcfe;border-radius:0 6px 6px 0}


/* Responsive hero + big-number text sizing */
@media (max-width:880px){
  .hero h1{font-size:2.4rem !important;line-height:1.1 !important}
  .hero-small h1{font-size:2rem !important}
  .big-number{font-size:3.5rem !important}
  .big-number-row{flex-direction:column;align-items:flex-start;gap:14px;padding:24px 0}
  .stat-tile .st-num{font-size:2rem}
  .trust-row .ti-num{font-size:1.5rem}
}
@media (max-width:600px){
  .hero h1{font-size:1.9rem !important}
  .hero-small h1{font-size:1.7rem !important}
  .big-number{font-size:2.8rem !important}
  .feature-trio{gap:14px}
  .feature-trio .ft-card{padding:22px 24px}
}


/* ======================================================== */
/* GLOSSARY, search, filter, A-Z, cards                    */
/* ======================================================== */
.glo-controls{position:sticky;top:68px;z-index:6;background:rgba(247,249,252,.97);backdrop-filter:blur(8px);padding:14px 18px;margin:18px 0 36px;border:1px solid #ecf0f6;border-radius:12px}
.glo-search-row{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.glo-search{flex:1;padding:11px 14px;border:1px solid #ecf0f6;border-radius:8px;font-size:14.5px;font-family:inherit;background:#fff;color:#1a3a8f}
.glo-search:focus{outline:none;border-color:#1a3a8f;box-shadow:0 0 0 3px rgba(26,58,143,.1)}
.glo-filter-btn{padding:9px 14px;background:#fff;border:1px solid #ecf0f6;border-radius:8px;color:#3a4254;font-size:13px;cursor:pointer;font-family:inherit;white-space:nowrap;font-weight:500}
.glo-filter-btn:hover{border-color:#1a3a8f;color:#1a3a8f}
.glo-filter-btn.has-active{background:#1a3a8f;color:#fff;border-color:#1a3a8f}
.glo-toc{display:flex;flex-wrap:wrap;gap:3px;padding:8px 0 6px;border-top:1px solid #ecf0f6;margin-top:8px}
.glo-letter{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;color:#6b7689;font-weight:500;font-size:11.5px;font-family:"JetBrains Mono",monospace;text-decoration:none;border-radius:4px;transition:all .15s}
.glo-letter:hover{background:#1a3a8f;color:#fff}
.glo-cats{display:none;padding:10px 0 6px;border-top:1px solid #ecf0f6;margin-top:8px;flex-wrap:wrap;gap:6px}
.glo-cats.open{display:flex}
.glo-cat-pill{padding:5px 11px;background:#fff;border:1px solid #ecf0f6;border-radius:99px;color:#3a4254;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit}
.glo-cat-pill:hover{border-color:#1a3a8f;color:#1a3a8f}
.glo-cat-pill.active{background:#1a3a8f;border-color:#1a3a8f;color:#fff}
.glo-stats{margin-top:8px;padding-top:8px;border-top:1px solid #ecf0f6;font-size:12.5px;color:#6b7689}
.glo-stats b{color:#1a3a8f;font-weight:600}
.glo-section{margin-top:36px;scroll-margin-top:200px}
.glo-letter-h{font-size:1.6rem;color:#1a3a8f;border-bottom:1px solid #ecf0f6;padding-bottom:6px;font-family:var(--font-serif);font-weight:600;margin:0 0 14px}
.glo-grid{display:grid;gap:10px}
.glo-card{background:#fff;border:1px solid #ecf0f6;border-radius:8px;padding:14px 18px;scroll-margin-top:200px;transition:opacity .2s,border-color .2s}
.glo-card:hover{border-color:#ecf0f6}
.glo-card.hidden{display:none}
.glo-head{display:flex;align-items:baseline;gap:10px;margin-bottom:4px;flex-wrap:wrap}
.glo-head b{font-size:15px;color:#1a3a8f;font-weight:600}
.glo-cat{font-size:10.5px;color:#6b7689;font-weight:400;letter-spacing:.3px}
.glo-card p{margin:0;color:#3a4254;line-height:1.6;font-size:14px}
.glo-meta{margin-top:8px;padding-top:8px;border-top:1px dashed #ecf0f6;font-size:12.5px;color:#6b7689;line-height:1.6}
.glo-meta a{color:#1a3a8f;text-decoration:none}
.glo-meta a:hover{text-decoration:underline}
.glo-meta .sep{color:#ecf0f6;margin:0 6px}
.glo-meta-lbl{color:#a0782a;font-size:10px;letter-spacing:.5px;text-transform:uppercase;margin-right:4px;font-weight:600;font-family:"JetBrains Mono",monospace}
.glo-empty{display:none;padding:36px 24px;text-align:center;color:#6b7689;background:#fbfcfe;border-radius:8px;font-size:14px}
.glo-empty.show{display:block}


/* ======================================================== */
/* P0, Inline hero action + pricing teaser + timeline       */
/* ======================================================== */
.hero-action{background:#fff;border:1px solid #ecf0f6;border-radius:14px;padding:8px;display:flex;gap:6px;align-items:stretch;box-shadow:0 12px 32px -10px rgba(26,58,143,.15);margin:24px 0 16px;max-width:560px}
.hero-action input,.hero-action select{flex:1;border:none;outline:none;padding:14px 16px;font-size:15px;font-family:inherit;color:#1a3a8f;background:transparent;min-width:0}
.hero-action input::placeholder{color:#aeb8c8}
.hero-action select{cursor:pointer;font-weight:500;max-width:170px}
.hero-action button{padding:14px 22px;background:#1a3a8f;color:#fff;border:none;border-radius:10px;font-size:14.5px;font-weight:600;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background .15s}
.hero-action button:hover{background:#1a3a8f}
.hero-action .sep{width:1px;background:#ecf0f6;align-self:stretch;margin:6px 0}
@media (max-width:600px){.hero-action{flex-direction:column}.hero-action select{max-width:none}.hero-action .sep{width:auto;height:1px;margin:0}}

.hero-microtrust{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;color:#6b7689;margin-top:14px}
.hero-microtrust span{display:inline-flex;align-items:center;gap:5px}
.hero-microtrust svg{color:#1a5e3a;flex-shrink:0}

/* Pricing teaser */
.price-teaser{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:32px 0}
.pt-card{background:#fff;border:1px solid #ecf0f6;border-radius:14px;padding:28px 30px;position:relative;transition:transform .2s,box-shadow .2s,border-color .2s}
.pt-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px -12px rgba(26,58,143,.15);border-color:#1a3a8f}
.pt-card.pt-featured{border:2px solid #1a3a8f;box-shadow:0 12px 32px -12px rgba(26,58,143,.18)}
.pt-card.pt-featured::before{content:"Most popular";position:absolute;top:-12px;left:24px;background:#1a3a8f;color:#fff;padding:4px 12px;border-radius:99px;font-size:11px;letter-spacing:.5px;text-transform:uppercase;font-weight:600;font-family:"JetBrains Mono",monospace}
.pt-card .pt-eyebrow{font-size:11.5px;color:#a0782a;letter-spacing:1px;text-transform:uppercase;font-weight:600;font-family:"JetBrains Mono",monospace;margin-bottom:6px}
.pt-card .pt-name{font-family:var(--font-serif);font-size:1.4rem;color:#1a3a8f;font-weight:600;margin:0 0 6px}
.pt-card .pt-price{font-family:var(--font-serif);font-size:2.2rem;color:#1a3a8f;font-weight:600;line-height:1;letter-spacing:-.02em}
.pt-card .pt-price small{font-size:1rem;color:#6b7689;font-weight:400;letter-spacing:0}
.pt-card .pt-sub{font-size:13px;color:#6b7689;margin:8px 0 18px}
.pt-card ul{margin:0 0 24px;padding:0;list-style:none;font-size:14px;color:#3a4254;line-height:1.7}
.pt-card ul li{padding-left:22px;position:relative;margin-bottom:4px}
.pt-card ul li::before{content:"✓";position:absolute;left:0;color:#1a5e3a;font-weight:700}
.pt-card .btn{width:100%;justify-content:center}
@media (max-width:880px){.price-teaser{grid-template-columns:1fr;gap:14px}}

/* What you get timeline */
.timeline-blocks{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:32px 0;position:relative}
.timeline-blocks::before{content:"";position:absolute;top:34px;left:5%;right:5%;height:2px;background:linear-gradient(90deg,#1a3a8f 0%,#a0782a 100%);z-index:0}
.tlb-card{background:#fff;border:1px solid #ecf0f6;border-radius:12px;padding:24px 22px;position:relative;z-index:1}
.tlb-card .tlb-time{display:inline-flex;width:64px;height:64px;background:#fff;border:3px solid #1a3a8f;border-radius:50%;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:13px;color:#1a3a8f;font-weight:700;margin:-50px auto 14px;text-align:center;line-height:1.1;padding:0 6px;flex-direction:column}
.tlb-card.tlb-active .tlb-time{background:#1a3a8f;color:#fff}
.tlb-card.tlb-last .tlb-time{background:#a0782a;border-color:#a0782a;color:#fff}
.tlb-card h4{margin:0 0 10px;font-family:var(--font-serif);font-size:1.05rem;color:#1a3a8f;font-weight:600;text-align:center}
.tlb-card ul{margin:0;padding:0 0 0 18px;list-style:none;font-size:13.5px;color:#3a4254;line-height:1.6}
.tlb-card ul li{position:relative;padding-left:14px;margin-bottom:4px}
.tlb-card ul li::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;background:#a0782a;border-radius:50%}
@media (max-width:760px){.timeline-blocks{grid-template-columns:1fr 1fr;gap:24px}.timeline-blocks::before{display:none}.tlb-card .tlb-time{margin-top:0}}
@media (max-width:480px){.timeline-blocks{grid-template-columns:1fr}}


/* ======================================================== */
/* P1, FAQ, calculator grid, industry grid, proof badges    */
/* ======================================================== */
.faq-home{display:grid;gap:8px;max-width:780px;margin:24px auto 0}
.faq-home details{background:#fff;border:1px solid #ecf0f6;border-radius:10px;padding:0;transition:border-color .15s}
.faq-home details:hover{border-color:#1a3a8f}
.faq-home details[open]{border-color:#1a3a8f;box-shadow:0 8px 24px -10px rgba(26,58,143,.12)}
.faq-home summary{padding:18px 22px;font-size:15px;font-weight:500;color:#1a3a8f;cursor:pointer;list-style:none;position:relative;padding-right:48px}
.faq-home summary::-webkit-details-marker{display:none}
.faq-home summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:22px;color:#a0782a;font-weight:300;transition:transform .2s}
.faq-home details[open] summary::after{content:"−"}
.faq-home details div.a{padding:0 22px 22px;color:#3a4254;font-size:14.5px;line-height:1.65}

.calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0}
.calc-card{background:#fff;border:1px solid #ecf0f6;border-radius:12px;padding:20px 22px;text-decoration:none;color:inherit;transition:all .2s;display:flex;flex-direction:column;gap:10px}
.calc-card:hover{border-color:#1a3a8f;transform:translateY(-3px);box-shadow:0 12px 32px -12px rgba(26,58,143,.12)}
.calc-card .calc-icon{width:36px;height:36px;background:#f5efdf;color:#a0782a;border-radius:8px;display:flex;align-items:center;justify-content:center}
.calc-card h4{margin:0;font-family:var(--font-serif);font-size:1rem;color:#1a3a8f;font-weight:600;line-height:1.25}
.calc-card p{margin:0;color:#6b7689;font-size:12.5px;line-height:1.5}
@media (max-width:880px){.calc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.calc-grid{grid-template-columns:1fr}}

.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0}
.ind-card{background:#fff;border:1px solid #ecf0f6;border-radius:10px;padding:18px 20px;text-decoration:none;color:inherit;transition:all .15s;display:flex;align-items:center;gap:14px}
.ind-card:hover{border-color:#1a3a8f;background:#fbfcfe}
.ind-card .ind-icon{width:36px;height:36px;background:linear-gradient(135deg,#1a3a8f,#2a4ba1);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ind-card .ind-icon.gold{background:linear-gradient(135deg,#a0782a,#a0782a)}
.ind-card .ind-icon.forest{background:linear-gradient(135deg,#1a5e3a,#1a9474)}
.ind-card span{font-size:14px;color:#1a3a8f;font-weight:500;line-height:1.3}
@media (max-width:880px){.industry-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.industry-grid{grid-template-columns:1fr}}

.proof-bar{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;align-items:center;padding:24px 0;margin:24px 0;border-top:1px solid #ecf0f6;border-bottom:1px solid #ecf0f6}
.proof-bar a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit;padding:6px 14px;border-radius:8px;transition:background .15s}
.proof-bar a:hover{background:#fbfcfe}
.proof-bar .proof-num{font-family:var(--font-serif);font-size:1.05rem;color:#1a3a8f;font-weight:600}
.proof-bar .proof-lbl{font-size:11.5px;color:#6b7689;font-family:"JetBrains Mono",monospace;letter-spacing:.5px;text-transform:uppercase}


/* ======================================================== */
/* DESIGN SYSTEM v1, Canonical cards, sections, tone tokens */
/* ======================================================== */

/* Canonical card tiers */
.card{background:#fff;border:1px solid #ecf0f6;border-radius:12px;padding:24px 26px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card-sm{padding:18px 20px}
.card-lg{padding:32px 36px}
.card-featured{border:2px solid #1a3a8f;box-shadow:0 12px 32px -12px rgba(26,58,143,.18)}
.card-clickable{cursor:pointer;text-decoration:none;color:inherit;display:block}
.card-clickable:hover{transform:translateY(-3px);box-shadow:0 12px 32px -12px rgba(26,58,143,.15);border-color:#1a3a8f}

/* Section rhythm */
.section-tight{padding:48px 0}
.section-normal{padding:80px 0}
.section-loose{padding:120px 0}

/* Stat tone tokens (color-anchored numbers) */
.stat-tone-navy{color:#1a3a8f}
.stat-tone-gold{color:#a0782a}
.stat-tone-forest{color:#1a5e3a}
.stat-tone-deep{color:#1a3a8f}

/* Card-grid spacing standardization */
.grid-cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.grid-cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:880px){.grid-cards-4{grid-template-columns:repeat(2,1fr)}.grid-cards-3{grid-template-columns:1fr}}
@media (max-width:480px){.grid-cards-4{grid-template-columns:1fr}}

/* Hero action button system reset (works with .btn now) */
.hero-action{padding:6px}
.hero-action .btn{margin:0;padding:14px 22px;font-size:14.5px}
.hero-action input,.hero-action select{padding:14px 16px;font-size:15px}

/* Mobile vertical timeline */
@media (max-width:760px){
  .timeline-blocks{display:flex !important;flex-direction:column !important;gap:0 !important;padding-left:36px !important;position:relative}
  .timeline-blocks::before{display:block !important;left:14px !important;top:0 !important;bottom:0 !important;width:2px !important;height:auto !important;right:auto !important}
  .tlb-card{margin-left:0 !important;margin-bottom:14px !important}
  .tlb-card .tlb-time{position:absolute !important;left:-36px !important;margin-top:0 !important;width:42px !important;height:42px !important;font-size:10px !important;border-width:2px !important}
}

/* Hero responsive, hide illustration on mid viewports */
@media (max-width:1080px){.hero-grid{grid-template-columns:1fr !important}.hero-art{display:none}}

/* Featured card "Most popular" badge moves inside card as corner ribbon */
.pt-card.pt-featured{position:relative;overflow:hidden}
.pt-card.pt-featured::before{content:"Most popular";position:absolute;top:14px;right:14px;left:auto;background:#1a3a8f;color:#fff;padding:3px 10px;border-radius:4px;font-size:10px;letter-spacing:.5px;text-transform:uppercase;font-weight:600;font-family:"JetBrains Mono",monospace;line-height:1.4}

/* Calc-icon brighter gold */
.calc-card .calc-icon{background:#f5efdf;color:#7a5a1f}

/* Section dividers more letter-spacing for legibility */
.section-divider{letter-spacing:2px}

/* Final CTA h2 larger */
.final-cta-h2{font-size:2.5rem !important}


/* ======================================================== */
/* NEW NAV, 4 top items, mega panels, search, slim         */
/* ======================================================== */
.nav{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);z-index:50;border-bottom:1px solid #ecf0f6}
.nav-bar{padding:12px 0}
.nav-flex{display:flex;align-items:center;gap:24px}
.nav-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:#1a3a8f}
.nav-logo-text{font-family:var(--font-serif);font-weight:600;font-size:17px}
.nav-main{display:flex;align-items:center;gap:6px;flex:1}
.nav-link{padding:8px 12px;font-size:14px;color:#3a4254;text-decoration:none;font-weight:500;border-radius:6px;display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;font-family:inherit;transition:color .15s,background .15s}
.nav-link:hover{color:#1a3a8f;background:#fbfcfe}
.nav-item{position:relative}





.nav-right{display:flex;align-items:center;gap:10px}
.nav-search{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fbfcfe;border:1px solid #ecf0f6;border-radius:8px;color:#6b7689;transition:border-color .15s}
.nav-search:focus-within{border-color:#1a3a8f;background:#fff}
.nav-search input{border:none;outline:none;background:none;font-size:13.5px;font-family:inherit;color:#1a3a8f;width:130px}
.nav-search input::placeholder{color:#aeb8c8}
.nav-login{padding:8px 12px;font-size:14px;color:#3a4254;text-decoration:none;font-weight:500;border-radius:6px}
.nav-login:hover{color:#1a3a8f}
.nav-cta{margin:0}

@media (max-width:1080px){
  .nav-main,.nav-search,.nav-login{display:none}
  
}

/* ======================================================== */
/* RICH MEGA MENU, restored old-style with icons + b/sub    */
/* ======================================================== */


@media (max-width:760px){.mega-grid-3,}


/* ======================================================== */




.brand-icon{display:inline-flex}
.footer-logo .brand{font-family:var(--font-serif);font-weight:600;font-size:18px;color:#fff}




.footer-cta-row .btn-primary{background:#fff;color:#0f1e4b;border:none}
.footer-cta-row .btn-primary:hover{background:#f5efdf}
.footer-cta-row .btn-secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.2)}
.footer-cta-row .btn-secondary:hover{border-color:#fff;background:rgba(255,255,255,.06)}



















@media (max-width:1200px){}
@media (max-width:980px){}
@media (max-width:680px){}
@media (max-width:480px){}

/* ============================================================ */
/* AUDIT FIXES, undefined classes referenced by pages           */
/* ============================================================ */

/* New nav helpers */


.nav-item.has-mega:hover 
.nav-logo-icon{display:inline-flex;align-items:center}

/* Step / process meta */
.step-meta{font-size:11px;color:#a0782a;font-family:"JetBrains Mono",monospace;letter-spacing:1px;text-transform:uppercase;font-weight:600;margin-bottom:8px}

/* Related card / related grid (footer-of-page CTAs) */
.rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:24px 0}
.rel-card{display:block;padding:18px 20px;background:#fff;border:1px solid #ecf0f6;border-radius:12px;text-decoration:none;color:inherit;transition:transform .15s,border-color .15s,box-shadow .15s}
.rel-card:hover{transform:translateY(-2px);border-color:#1a3a8f;box-shadow:0 8px 24px -10px rgba(26,58,143,.18)}
.rel-card b{display:block;font-size:14.5px;color:#1a3a8f;margin-bottom:4px}
.rel-card span{font-size:12.5px;color:#6b7689}

/* Sitemap link groups */
.sm-group{margin-bottom:32px}
.sm-group .footer-label,.sm-group h3{font-size:13px;color:#1a3a8f;letter-spacing:.5px;text-transform:uppercase;font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #ecf0f6}
.sm-link{display:block;padding:6px 0;font-size:13.5px;color:#3a4254;text-decoration:none;transition:color .12s}
.sm-link:hover{color:#1a3a8f}

/* Quiz / entity-type-quiz output cards */
.qo{background:#fff;border:1px solid #ecf0f6;border-radius:14px;padding:24px;margin-bottom:16px;box-shadow:0 4px 16px -8px rgba(26,58,143,.08)}
.qstars{color:#a0782a;font-size:16px;letter-spacing:2px;margin-bottom:8px}
.qattr{font-size:11px;color:#6b7689;font-family:"JetBrains Mono",monospace;letter-spacing:1px;text-transform:uppercase}
.qav{font-size:18px;color:#1a3a8f;font-weight:600;margin-bottom:4px}
.qmeta{font-size:13px;color:#6b7689;line-height:1.55}
.qout{padding:14px;background:#fbfcfe;border-radius:10px;margin-top:12px}

/* Learning Center layout */
.lc-section{margin-bottom:48px}
.lc-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px;gap:16px;flex-wrap:wrap}
.lc-head h2{margin:0;font-size:24px;color:#1a3a8f}
.lc-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.lc-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:#fff;border:1px solid #ecf0f6;border-radius:12px;text-decoration:none;color:inherit;transition:transform .15s,border-color .15s,box-shadow .15s}
.lc-item:hover{transform:translateY(-1px);border-color:#1a3a8f;box-shadow:0 6px 20px -10px rgba(26,58,143,.16)}
.lc-item b{display:block;font-size:14.5px;color:#1a3a8f;margin-bottom:3px}
.lc-item span{font-size:12.5px;color:#6b7689;display:block}
.lc-arrow{flex-shrink:0;color:#a0782a;font-size:18px}
.lc-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;background:#fff;border:1px solid #ecf0f6;border-radius:12px;text-align:center}
.lc-stat b{font-size:28px;color:#1a3a8f;font-family:var(--font-serif);display:block}
.lc-stat span{font-size:11.5px;color:#6b7689;font-family:"JetBrains Mono",monospace;letter-spacing:1px;text-transform:uppercase;margin-top:4px}
.lc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:24px}
.lc-search{margin-bottom:24px}
.lc-search input{width:100%;padding:14px 18px;border:1px solid #ecf0f6;border-radius:10px;font-size:15px}

/* vs- competitor grids */
.vs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:24px 0}

/* Webinars cards */
.web-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:24px 0}
.web-card{background:#fff;border:1px solid #ecf0f6;border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.web-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px -14px rgba(26,58,143,.2)}
.web-thumb{height:140px;background:linear-gradient(135deg,#1a3a8f,#2a4ba1);display:flex;align-items:center;justify-content:center;color:#f5efdf;font-size:32px}
.web-body{padding:18px 20px}
.web-cat{font-size:10.5px;color:#a0782a;font-family:"JetBrains Mono",monospace;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;margin-bottom:6px}
.web-card b,.web-card .web-title{display:block;font-size:15px;color:#1a3a8f;line-height:1.35;margin-bottom:6px}
.web-desc{font-size:13px;color:#6b7689;line-height:1.5;margin-bottom:10px}
.web-meta{font-size:11.5px;color:#6b7689;display:flex;gap:12px;align-items:center}

/* Calculator block helpers */
.calc-headline{font-size:24px;color:#1a3a8f;margin-bottom:6px;font-family:var(--font-serif)}
.calc-sub{font-size:13.5px;color:#6b7689;line-height:1.55;margin-bottom:20px}
.calc-tag{display:inline-block;padding:3px 10px;font-size:10.5px;color:#a0782a;font-family:"JetBrains Mono",monospace;letter-spacing:1px;text-transform:uppercase;font-weight:600;background:#f5efdf;border-radius:99px;margin-bottom:10px}
.calc-tag-good{display:inline-block;padding:3px 10px;font-size:10.5px;color:#1a5e3a;background:#ecf0f6;border-radius:99px}
.calc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
@media (max-width:560px){.calc-form-row{grid-template-columns:1fr}}
.calc-breakdown{margin-top:18px;padding-top:18px;border-top:1px solid #ecf0f6}

/* Hero illustration block */
.hero-illus{display:flex;align-items:center;justify-content:center;padding:24px}

/* Confirmation message */
.confirm{padding:14px 18px;background:#ecf0f6;border:1px solid #86d6a6;border-radius:10px;color:#1a5e3a;margin:12px 0}

/* Case study cards */
.case-card{background:#fff;border:1px solid #ecf0f6;border-radius:14px;padding:24px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}
.case-card:hover{transform:translateY(-2px);border-color:#1a3a8f;box-shadow:0 12px 32px -14px rgba(26,58,143,.2)}
.case-meta-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px;flex-wrap:wrap}
.case-pill{display:inline-block;padding:3px 10px;font-size:10.5px;color:#a0782a;background:#f5efdf;border-radius:99px;font-family:"JetBrains Mono",monospace;letter-spacing:1px;text-transform:uppercase;font-weight:600}
.case-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.case-tags span{font-size:11px;color:#6b7689;background:#fbfcfe;padding:2px 8px;border-radius:99px}

/* Industry hub groups */
.for-group{margin-bottom:36px}
.for-group h2,.for-group .for-label{font-size:13px;color:#1a3a8f;letter-spacing:1px;text-transform:uppercase;font-weight:600;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #ecf0f6}

/* Business license cost table */
.bc-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #ecf0f6;border-radius:12px;overflow:hidden}
.bc-table th,.bc-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #ecf0f6;font-size:13.5px}
.bc-table th{background:#fbfcfe;color:#1a3a8f;font-weight:600;font-size:11.5px;letter-spacing:.5px;text-transform:uppercase}

/* Business license lookup tool */
.bl-shell{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;margin:24px 0}
@media (max-width:760px){.bl-shell{grid-template-columns:1fr}}
.bl-form{background:#fff;border:1px solid #ecf0f6;border-radius:14px;padding:20px}
.bl-form label{display:block;font-size:11.5px;color:#6b7689;letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px;margin-top:12px;font-weight:600}
.bl-form input,.bl-form select{width:100%;padding:10px 12px;border:1px solid #ecf0f6;border-radius:8px;font-size:14px}
.bl-result{background:#fbfcfe;border-radius:14px;padding:20px;min-height:200px}
.bl-license{padding:14px;background:#fff;border:1px solid #ecf0f6;border-radius:10px;margin-bottom:10px}
.bl-license b{display:block;font-size:14px;color:#1a3a8f;margin-bottom:4px}
.bl-license-tag{display:inline-block;padding:2px 8px;font-size:10.5px;color:#a0782a;background:#f5efdf;border-radius:99px;font-family:"JetBrains Mono",monospace;letter-spacing:1px;text-transform:uppercase;font-weight:600;margin-right:6px}

/* Login page */
.login-shell{display:grid;grid-template-columns:1.1fr 1fr;min-height:80vh}
@media (max-width:840px){.login-shell{grid-template-columns:1fr}}
.login-side{padding:48px;background:#fbfcfe;display:flex;flex-direction:column;justify-content:center}
.login-main{padding:48px;display:flex;flex-direction:column;justify-content:center}
.login-card{max-width:380px;margin:0 auto;width:100%}
.login-divider{display:flex;align-items:center;gap:10px;margin:18px 0;color:#6b7689;font-size:12px}
.login-divider::before,.login-divider::after{content:"";flex:1;height:1px;background:#ecf0f6}
.sso-row{display:flex;gap:8px;flex-wrap:wrap}
.sso-row a{flex:1;min-width:140px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;background:#fff;border:1px solid #ecf0f6;border-radius:8px;text-decoration:none;color:#3a4254;font-size:13.5px;transition:border-color .15s}
.sso-row a:hover{border-color:#1a3a8f}
.login-foot{margin-top:18px;text-align:center;font-size:13px;color:#6b7689}
.quote-block{padding:24px;background:#fff;border-left:3px solid #a0782a;border-radius:10px;margin:18px 0;font-style:italic;color:#3a4254;line-height:1.55}

/* Apply button styling */
.apply-btn{padding:11px 18px;background:#1a3a8f;color:#fff;border:0;border-radius:8px;cursor:pointer;font-size:13.5px;font-weight:600;transition:background .15s}
.apply-btn:hover{background:#1a3a8f}

/* Accordion body */
.ac-body{padding:14px 18px;background:#fbfcfe;border-radius:0 0 10px 10px;border-top:1px solid #ecf0f6;font-size:14px;line-height:1.6;color:#3a4254}

/* Resource hub groups */
.res-group{margin-bottom:36px}

/* Final form block */
.final-form{padding:24px;background:#fff;border:1px solid #ecf0f6;border-radius:14px;max-width:520px;margin:0 auto}

/* Calculator table + tags */
.calc-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #ecf0f6;border-radius:12px;overflow:hidden;margin:16px 0}
.calc-table th,.calc-table td{padding:11px 14px;text-align:left;border-bottom:1px solid #ecf0f6;font-size:13.5px}
.calc-table th{background:#fbfcfe;color:#1a3a8f;font-weight:600;font-size:11.5px;letter-spacing:.5px;text-transform:uppercase}
.calc-tag-warn{display:inline-block;padding:3px 10px;font-size:10.5px;color:#a22e2e;background:#f5efdf;border-radius:99px;font-family:"JetBrains Mono",monospace;letter-spacing:1px;text-transform:uppercase;font-weight:600}
.calc-tag-bad{display:inline-block;padding:3px 10px;font-size:10.5px;color:#a22e2e;background:#f5efdf;border-radius:99px;font-family:"JetBrains Mono",monospace;letter-spacing:1px;text-transform:uppercase;font-weight:600}

/* Logo maker page */
.lm-shell{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;margin:24px 0}
@media (max-width:760px){.lm-shell{grid-template-columns:1fr}}
.lm-form{background:#fff;border:1px solid #ecf0f6;border-radius:14px;padding:22px}
.lm-form label{display:block;font-size:11.5px;color:#6b7689;letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px;margin-top:14px;font-weight:600}
.lm-form input,.lm-form select,.lm-form textarea{width:100%;padding:10px 12px;border:1px solid #ecf0f6;border-radius:8px;font-size:14px;font-family:inherit}
.lm-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.lm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.lm-card-actions{display:flex;gap:6px;margin-top:8px}

/* Case study grid */
.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:24px 0}

/* ============================================================ */
/* FOOTER V2, organized into 4 visual sections                  */
/* ============================================================ */
.site-footer{background:#0f1e4b;color:#aeb8c8;padding:80px 0 32px;margin-top:80px;position:relative}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(245,239,223,.2) 50%,transparent)}
.footer-top{display:grid;grid-template-columns:300px 1fr;gap:64px;margin-bottom:48px}

.footer-brand{display:flex;flex-direction:column;gap:16px;position:sticky;top:24px;align-self:start}
.footer-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-icon{display:inline-flex}
.footer-logo .brand{font-family:var(--font-serif);font-weight:600;font-size:22px;color:#fff;letter-spacing:.3px}
.footer-tag{font-size:13.5px;color:#6b7689;line-height:1.6;margin:0;max-width:280px}
.footer-trust{display:flex;flex-wrap:wrap;gap:6px}
.footer-badge{font-size:10.5px;font-family:"JetBrains Mono",monospace;letter-spacing:.5px;color:#f5efdf;background:rgba(245,239,223,.08);border:1px solid rgba(245,239,223,.18);padding:5px 11px;border-radius:99px;font-weight:500}
.footer-cta-row{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.footer-cta-row .btn-primary{background:#fff;color:#0f1e4b;border:none;font-weight:600}
.footer-cta-row .btn-primary:hover{background:#f5efdf;color:#0f1e4b}
.btn-ghost-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25);font-weight:500}
.btn-ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.06);color:#fff}

.footer-sections{display:flex;flex-direction:column;gap:48px}
.footer-section{position:relative}
.footer-section-head{font-family:var(--font-serif);font-size:13px;color:#f5efdf;letter-spacing:3px;text-transform:uppercase;font-weight:600;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid rgba(245,239,223,.15);display:flex;align-items:center;gap:12px}
.footer-section-head::before{content:"";display:inline-block;width:6px;height:6px;background:#a0782a;border-radius:50%}
.footer-cols{display:grid;gap:32px 28px}
.footer-cols-5{grid-template-columns:repeat(5,1fr)}
.footer-cols-4{grid-template-columns:repeat(4,1fr)}
.footer-col{display:flex;flex-direction:column;gap:4px}
.footer-label{font-size:11px;color:#fff;font-family:"JetBrains Mono",monospace;letter-spacing:1.2px;text-transform:uppercase;font-weight:600;margin-bottom:12px;opacity:.85}
.footer-col a{color:#6b7689;text-decoration:none;font-size:13px;padding:3.5px 0;transition:color .15s,transform .12s;line-height:1.5;display:inline-block;width:fit-content;max-width:100%}
.footer-col a:hover{color:#fff;transform:translateX(2px)}

.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:32px;margin-top:8px}
.footer-bottom-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;margin-bottom:20px}
.footer-copy{font-size:12.5px;color:#6b7689}
.footer-social{display:flex;gap:18px}
.footer-social a{color:#6b7689;transition:color .15s,transform .12s;display:inline-flex}
.footer-social a:hover{color:#fff;transform:translateY(-1px)}
.footer-legal-links{display:flex;flex-wrap:wrap;gap:22px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.06)}
.footer-legal-links a{color:#6b7689;text-decoration:none;font-size:12.5px;transition:color .15s}
.footer-legal-links a:hover{color:#fff}
.footer-note{font-size:11.5px;color:#6b7689;line-height:1.65;margin:0;max-width:980px}
.footer-note a{color:#aeb8c8;text-decoration:underline;text-decoration-color:rgba(174,184,200,.4)}
.footer-note a:hover{color:#fff;text-decoration-color:#fff}

@media (max-width:1200px){.footer-top{grid-template-columns:260px 1fr;gap:40px}.footer-cols-5{grid-template-columns:repeat(3,1fr)}.footer-cols-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.footer-top{grid-template-columns:1fr;gap:40px}.footer-brand{position:static;max-width:none}.footer-tag{max-width:none}.footer-cols-5{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.site-footer{padding:48px 0 24px;margin-top:48px}.footer-cols-5,.footer-cols-4{grid-template-columns:1fr;gap:24px}.footer-section-head{font-size:12px;letter-spacing:2px}.footer-bottom-row{flex-direction:column;align-items:flex-start}}

/* ============================================================ */
/* MOBILE NAV, drawer with accordion sections                   */
/* ============================================================ */
.nav-mobile-toggle{display:none;background:transparent;border:0;cursor:pointer;color:#1a3a8f;padding:8px;border-radius:6px}
.nav-mobile-toggle:hover{background:#f5efdf}

@media (max-width:1100px){
  .nav-main{display:none}
  .nav-right .nav-search{display:none}
  .nav-right .nav-login{display:none}
  .nav-mobile-toggle{display:inline-flex;align-items:center;justify-content:center}
}
@media (max-width:560px){
  .nav-right .nav-cta{display:none}
}

/* Mobile drawer */
.mobile-drawer{position:fixed;top:0;right:0;bottom:0;width:min(380px,100vw);background:#fff;z-index:200;transform:translateX(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-12px 0 40px -10px rgba(14,26,54,.25);overflow:hidden}
.mobile-drawer.open{transform:translateX(0)}
.mobile-backdrop{position:fixed;inset:0;background:rgba(14,26,54,.5);z-index:199;opacity:0;pointer-events:none;transition:opacity .25s}
.mobile-backdrop.open{opacity:1;pointer-events:auto}
.mobile-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #ecf0f6;flex-shrink:0}
.mobile-head a{display:flex;align-items:center;gap:8px;text-decoration:none}
.mobile-head .brand{font-family:var(--font-serif);font-weight:600;font-size:18px;color:#1a3a8f}
.mobile-close{background:transparent;border:0;cursor:pointer;color:#3a4254;padding:8px;border-radius:6px}
.mobile-close:hover{background:#fbfcfe}

.mobile-search{padding:14px 20px;border-bottom:1px solid #ecf0f6;flex-shrink:0}
.mobile-search form{display:flex;align-items:center;gap:8px;background:#fbfcfe;border-radius:8px;padding:10px 14px}
.mobile-search input{flex:1;background:transparent;border:0;font-size:14px;outline:none}

.mobile-body{flex:1;overflow-y:auto;padding:8px 0}
.mobile-section{border-bottom:1px solid #ecf0f6}
.mobile-section-toggle{width:100%;background:transparent;border:0;text-align:left;padding:16px 20px;font-size:15px;font-weight:600;color:#1a3a8f;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:inherit}
.mobile-section-toggle svg{transition:transform .2s;color:#6b7689}
.mobile-section.expanded .mobile-section-toggle svg{transform:rotate(180deg)}
.mobile-section-body{max-height:0;overflow:hidden;transition:max-height .25s ease-out;background:#fbfcfe}
.mobile-section.expanded .mobile-section-body{max-height:2000px}
.mobile-sub-group{padding:12px 20px}
.mobile-sub-label{font-size:10.5px;color:#a0782a;font-family:"JetBrains Mono",monospace;letter-spacing:1.2px;text-transform:uppercase;font-weight:600;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #ecf0f6}
.mobile-sub-group a{display:block;padding:8px 0;font-size:14px;color:#3a4254;text-decoration:none}
.mobile-sub-group a:hover,.mobile-sub-group a:active{color:#1a3a8f}
.mobile-direct{display:block;padding:16px 20px;font-size:15px;font-weight:600;color:#1a3a8f;text-decoration:none;border-bottom:1px solid #ecf0f6}

.mobile-foot{padding:16px 20px;border-top:1px solid #ecf0f6;background:#fbfcfe;flex-shrink:0;display:flex;flex-direction:column;gap:8px}
.mobile-foot .btn{width:100%;justify-content:center;display:flex}
.mobile-foot-link{font-size:13.5px;color:#6b7689;text-align:center;text-decoration:none;padding:8px;border-radius:6px}
.mobile-foot-link:hover{color:#1a3a8f}

body.no-scroll{overflow:hidden}

.nav-toggle{background:transparent;border:0;cursor:pointer;color:inherit;font:inherit;padding:0;display:inline-flex;align-items:center;gap:5px;position:relative}
.nav-toggle svg{transition:transform .15s}
.nav-item.has-mega:hover .nav-toggle svg,.nav-item.has-mega:focus-within .nav-toggle svg{transform:rotate(180deg)}
.nav-logo-icon{display:inline-flex;align-items:center}


/* ============================================================ */
/* MEGA MENU: POLISHED VISUAL EXCELLENCE PASS                   */
/* ============================================================ */
.mega{position:absolute;top:100%;left:0;background:#fff;border:1px solid #ecf0f6;border-radius:18px;padding:0;box-shadow:0 24px 80px -20px rgba(14,26,54,.22),0 8px 24px -16px rgba(14,26,54,.12);display:none;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s;z-index:60;overflow:hidden}
.mega::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#1a3a8f 0%,#2a4ba1 35%,#a0782a 100%)}
.nav-item.has-mega:hover>.mega,.nav-item.has-mega:focus-within>.mega{display:block;opacity:1;transform:translateY(0);pointer-events:auto}

/* Active state indicator on the nav-link when mega is open */
.nav-item.has-mega:hover .nav-toggle,.nav-item.has-mega:focus-within .nav-toggle{color:#1a3a8f}
.nav-item.has-mega:hover .nav-toggle::after,.nav-item.has-mega:focus-within .nav-toggle::after{transform:scaleX(1)}
.nav-toggle{position:relative}
.nav-toggle::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:#a0782a;transform:scaleX(0);transform-origin:center;transition:transform .2s;border-radius:2px}

.mega-inner{display:grid;grid-template-columns:1fr 240px;gap:24px;padding:28px}
.mega-lg .mega-inner{width:1020px}
.mega-xl .mega-inner{width:1180px}

.mega-grid{display:grid;gap:32px 28px}
.mega-grid-3{grid-template-columns:repeat(3,1fr)}
.mega-grid-4{grid-template-columns:repeat(4,1fr)}

.mega-section{display:flex;flex-direction:column}
.mega-label{font-size:10.5px;color:#1a3a8f;font-family:"JetBrains Mono",monospace;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #ecf0f6;display:flex;align-items:center;gap:8px}
.mega-label-dot{display:inline-block;width:5px;height:5px;background:#a0782a;border-radius:50%;flex-shrink:0}

.mm-link{display:flex;gap:11px;align-items:flex-start;padding:9px 10px;border-radius:10px;text-decoration:none;color:inherit;transition:background .15s,transform .15s;position:relative}
.mm-link:hover{background:linear-gradient(180deg,#fbfcfe 0%,#ecf0f6 100%)}
.mm-link::after{content:"→";position:absolute;right:10px;top:50%;transform:translate(-4px,-50%);color:#a0782a;opacity:0;transition:opacity .15s,transform .15s;font-size:14px;font-weight:600}
.mm-link:hover::after{opacity:1;transform:translate(0,-50%)}

.mm-ico{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:#1a3a8f;background:linear-gradient(135deg,#f5efdf 0%,#f5efdf 100%);border-radius:8px;transition:background .15s,color .15s,transform .2s;border:1px solid rgba(160,120,42,.12)}
.mm-link:hover .mm-ico{background:linear-gradient(135deg,#1a3a8f 0%,#1a3a8f 100%);color:#fff;border-color:#1a3a8f;transform:scale(1.04)}

.mm-text{display:flex;flex-direction:column;gap:1px;line-height:1.3;padding-top:2px;min-width:0;flex:1}
.mm-text b{font-size:13.5px;color:#1a3a8f;font-weight:600;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.mm-text>b>span:not(.mm-badge){font-size:11.5px}
.mm-link:hover .mm-text b{color:#1a3a8f}
.mm-text>span:not(.mm-badge){font-size:11.5px;color:#6b7689;line-height:1.45}

.mm-badge{display:inline-block;font-size:9.5px;color:#a0782a;background:rgba(160,120,42,.1);padding:2px 7px;border-radius:99px;font-family:"JetBrains Mono",monospace;letter-spacing:.5px;text-transform:uppercase;font-weight:600;line-height:1.4;flex-shrink:0;border:1px solid rgba(160,120,42,.2)}

/* Promo card (right rail) */
.mega-promo{background:linear-gradient(160deg,#fbfcfe 0%,#ecf0f6 100%);border:1px solid #ecf0f6;border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.mega-promo::after{content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;background:radial-gradient(circle,rgba(160,120,42,.08) 0%,transparent 70%);pointer-events:none}
.mega-promo-tag{display:inline-block;align-self:flex-start;font-size:9.5px;color:#a0782a;background:rgba(160,120,42,.12);padding:3px 9px;border-radius:99px;font-family:"JetBrains Mono",monospace;letter-spacing:1px;text-transform:uppercase;font-weight:600}
.mega-promo-title{font-family:var(--font-serif);font-size:18px;color:#1a3a8f;font-weight:600;line-height:1.25;margin:0}
.mega-promo p{font-size:12.5px;color:#3a4254;line-height:1.55;margin:0 0 4px 0}
.mega-promo-cta{font-size:13px;color:#1a3a8f;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:gap .15s,color .15s;align-self:flex-start;margin-top:auto;border-bottom:1px solid transparent;padding-bottom:2px}
.mega-promo-cta:hover{color:#a0782a;gap:8px;border-bottom-color:#a0782a}

.mega-promo-blue{background:linear-gradient(160deg,#1a3a8f 0%,#1a3a8f 100%);border-color:#1a3a8f;color:#fff}
.mega-promo-blue::after{background:radial-gradient(circle,rgba(245,239,223,.15) 0%,transparent 70%)}
.mega-promo-blue .mega-promo-tag{color:#f5efdf;background:rgba(245,239,223,.15)}
.mega-promo-blue .mega-promo-title{color:#fff}
.mega-promo-blue p{color:rgba(255,255,255,.85)}
.mega-promo-blue .mega-promo-cta{color:#f5efdf;border-bottom-color:transparent}
.mega-promo-blue .mega-promo-cta:hover{color:#fff;border-bottom-color:#fff}

.mega-promo-gold{background:linear-gradient(160deg,#f5efdf 0%,#f5efdf 100%);border-color:#d6c598}
.mega-promo-gold .mega-promo-tag{background:rgba(255,255,255,.5);color:#7a5a1f}
.mega-promo-gold .mega-promo-title{color:#7a5a1f}

/* Mega foot row */
.mega-foot{background:#fbfcfe;border-top:1px solid #ecf0f6;padding:18px 28px}
.mega-foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mega-foot-3{grid-template-columns:repeat(3,1fr)}
.mm-foot-link{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:0;padding:10px 12px;background:#fff;border:1px solid #ecf0f6;border-radius:10px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .12s}
.mm-foot-link:hover{border-color:#1a3a8f;box-shadow:0 6px 18px -10px rgba(26,58,143,.2);transform:translateY(-1px)}
.mm-foot-ico{grid-row:1/3;grid-column:1;align-self:center;width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:#1a3a8f;background:#f5efdf;border-radius:7px}
.mm-foot-link b{grid-row:1;grid-column:2;font-size:12.5px;color:#1a3a8f;font-weight:600;line-height:1.3;align-self:end}
.mm-foot-link span{grid-row:2;grid-column:2;font-size:10.5px;color:#6b7689;line-height:1.4}

/* Responsive */
@media (max-width:1300px){
  .mega-lg .mega-inner{width:auto;max-width:96vw}
  .mega-xl .mega-inner{width:auto;max-width:96vw}
  .mega-inner{grid-template-columns:1fr 220px}
}
@media (max-width:1100px){
  .mega{display:none !important}
}

/* Soft fade at the top of mega panel content */
.mega::after{content:"";position:absolute;top:3px;left:0;right:0;height:24px;background:linear-gradient(180deg,rgba(255,255,255,.6) 0%,transparent 100%);pointer-events:none}

/* Hover bridge, invisible padding above mega panel keeps hover alive when moving mouse down */
.mega{padding-top:8px !important;box-sizing:border-box}
.mega::before{top:8px !important}
.mega::after{top:11px !important}

/* Icon tile robustness, prevent SVG from being squashed by flex parent on small screens */
.mm-ico,.mm-foot-ico,.footer-cta-row svg{flex-shrink:0 !important;aspect-ratio:1/1}
.mm-ico svg,.mm-foot-ico svg{flex-shrink:0 !important;width:16px;height:16px;display:block}
.brand-icon svg,.nav-logo-icon svg{flex-shrink:0;display:block}

/* Anchor variant of nav-toggle keeps same styling */
a.nav-toggle{text-decoration:none}

/* ============================================================ */
/* CLICK SAFETY, bulletproof every decorative pseudo-element    */
/* ============================================================ */

/* All decorative pseudos on nav and footer cannot block clicks */
.nav-toggle::after,
.nav::before,
.nav::after,
.mega::before,
.mega::after,
.mega-promo::before,
.mega-promo::after,
.mm-link::after,
.site-footer::before,
.site-footer::after,
.footer-section-head::before,
.footer-section-head::after,
.footer-brand::before,
.footer-brand::after,
.footer-top::before,
.footer-top::after,
.footer-bottom::before,
.footer-bottom::after{pointer-events:none !important}

/* Mobile drawer/backdrop only catch clicks when explicitly open */
.mobile-drawer:not(.open){pointer-events:none}
.mobile-backdrop:not(.open){pointer-events:none}

/* Mega panel, only catch hover when visible (display:block).
   When display:none, no events fire anyway, but enforce it */
.mega{pointer-events:none}
.nav-item.has-mega:hover>.mega,
.nav-item.has-mega:focus-within>.mega{pointer-events:auto}

/* Ensure footer is genuinely above any decorative content layers */
.site-footer{position:relative;z-index:1}
.site-footer a{position:relative;z-index:2}

/* Header sits above content but below mobile drawer */
.mega{z-index:60}
.mobile-backdrop{z-index:199}
.mobile-drawer{z-index:200}

/* Catch-all: no stray fixed overlay (exit-modal, screen-overlay, search-overlay)
   should ever be visible since they're not in the rendered HTML.
   But if any does sneak in, force it hidden until programmatically opened */
.exit-modal:not(.open),
.screen-overlay:not(.open),
.search-overlay:not(.open){display:none !important}

/* ============================================================ */
/* MEGA PANEL POSITIONING, prevent right-edge overflow         */
/* ============================================================ */

/* Default: anchor under nav item, left aligned */
.mega{left:0;right:auto}

/* For nav items near the right (Resources is last), anchor right edge */
/* For Solutions (3rd-to-last with 1020px panel), center under item */
.mega-center{left:50% !important;right:auto !important;transform:translateY(-8px) translateX(-50%) !important}
.nav-item.has-mega:hover>.mega-center,.nav-item.has-mega:focus-within>.mega-center{transform:translateY(0) translateX(-50%) !important}

/* On smaller viewports, force every mega to align right of viewport */
@media (max-width:1400px){
  .mega{left:auto !important;right:0 !important;transform:translateY(-8px) !important}
  .nav-item.has-mega:hover>.mega,.nav-item.has-mega:focus-within>.mega{transform:translateY(0) !important}
  .mega-center{transform:translateY(-8px) !important}
  .nav-item.has-mega:hover>.mega-center,.nav-item.has-mega:focus-within>.mega-center{transform:translateY(0) !important}
}

/* Ensure mega never wider than viewport minus 32px padding */
.mega-lg .mega-inner,.mega-xl .mega-inner{max-width:calc(100vw - 32px)}

/* ============================================================ */
/* MEGA FOOT LINK, clean flex layout (no grid row collision)    */
/* ============================================================ */
.mm-foot-link{display:flex !important;align-items:center;gap:12px;padding:12px 14px;background:#fff;border:1px solid #ecf0f6;border-radius:10px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .12s;grid-template-columns:none !important;grid-template-rows:none !important}
.mm-foot-link:hover{border-color:#1a3a8f;box-shadow:0 6px 18px -10px rgba(26,58,143,.2);transform:translateY(-1px)}

.mm-foot-ico{flex-shrink:0;width:34px;height:34px;display:flex !important;align-items:center;justify-content:center;color:#1a3a8f;background:#f5efdf;border-radius:8px;grid-row:auto !important;grid-column:auto !important}
.mm-foot-ico svg{width:16px;height:16px;display:block;flex-shrink:0}

/* Text block stacks inside .mm-foot-link, NOT in grid cells */
.mm-foot-link b{display:block !important;font-size:13px;color:#1a3a8f;font-weight:600;line-height:1.3;margin:0;grid-row:auto !important;grid-column:auto !important}
.mm-foot-link>span:not(.mm-foot-ico){display:block !important;font-size:11px;color:#6b7689;line-height:1.4;margin-top:2px;grid-row:auto !important;grid-column:auto !important}

/* Wrap title+subtitle into one column via a helper span */
.mm-foot-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.mm-foot-text b{font-size:13px;color:#1a3a8f;font-weight:600;line-height:1.3;display:block}
.mm-foot-text span{font-size:11px;color:#6b7689;line-height:1.4}

/* ============================================================ */
/* MEGA PANEL POSITIONING: Resources anchors to viewport right  */
/* ============================================================ */

/* Default behavior preserved: left:0 of nav-item */

/* Resources panel uses fixed positioning so it never overflows */
.mega-right{
  position:fixed !important;
  top:64px !important;
  right:16px !important;
  left:auto !important;
  transform:translateY(-8px) !important;
}
.nav-item.has-mega:hover>.mega-right,
.nav-item.has-mega:focus-within>.mega-right{
  transform:translateY(0) !important;
}

/* Add an invisible hover bridge above the fixed panel so hover from nav stays alive */
.mega-right::before{
  content:"" !important;
  position:absolute !important;
  top:-16px !important;
  left:0 !important;
  right:0 !important;
  height:16px !important;
  background:transparent !important;
  pointer-events:auto !important;
}

/* When viewport is narrower than the panel, allow horizontal scroll inside */
.mega-right{max-width:calc(100vw - 32px);overflow-x:auto}

/* Below 1100px, mobile drawer takes over so mega is hidden, preserved */

/* ============================================================ */
/* V2, A11y + UX foundations                                    */
/* ============================================================ */

/* Skip to main content link (screen reader users + keyboard nav) */
.skip-link{position:absolute;left:-10000px;top:0;background:#1a3a8f;color:#fff;padding:14px 22px;text-decoration:none;font-weight:600;z-index:9999;border-radius:0 0 8px 0}
.skip-link:focus{left:0}

/* Focus visible, WCAG 2.4.7 */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:2px solid #1a3a8f;outline-offset:2px;border-radius:4px
}
.btn:focus-visible{outline:3px solid #a0782a;outline-offset:3px}

/* Cookie consent banner, hidden by default, JS shows on first visit */
.cookie-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:300;
  background:#fff;border:1px solid #ecf0f6;border-radius:12px;
  box-shadow:0 -8px 32px -10px rgba(14,26,54,.16);
  padding:18px 22px;display:none;
  max-width:880px;margin:0 auto;
  align-items:center;gap:18px;flex-wrap:wrap
}
.cookie-banner.show{display:flex}
.cookie-banner-text{flex:1;min-width:260px;font-size:13.5px;line-height:1.55;color:#3a4254}
.cookie-banner-text a{color:#1a3a8f;text-decoration:underline}
.cookie-banner-actions{display:flex;gap:8px;flex-wrap:wrap}
.cookie-banner .btn{font-size:13px;padding:9px 14px}
@media (max-width:560px){.cookie-banner{padding:14px 16px}.cookie-banner-text{font-size:13px}}

/* Lazy image fade-in */
img[loading="lazy"]{opacity:0;transition:opacity .3s}
img[loading="lazy"].loaded,img[loading="lazy"][src]{opacity:1}

/* Ensure main element exists and is targetable */
#main-content{scroll-margin-top:80px}

/* ============================================================ */
/* V2, WCAG AA color contrast helpers                          */
/* ============================================================ */
/* Use this when gold appears as small body text (< 18px or < 14px bold) */
.gold-text-dark{color:#7a5a1f}

/* Form input visual focus enhancement */
input:focus,select:focus,textarea:focus{outline:2px solid #1a3a8f;outline-offset:2px;border-color:#1a3a8f}

/* ============================================================ */
/* EMAIL CAPTURE COMPONENT                                       */
/* ============================================================ */
.fb-capture{background:linear-gradient(135deg,#fbfcfe 0%,#ecf0f6 100%);border:1px solid #ecf0f6;border-radius:14px;padding:28px;margin:32px 0}
.fb-capture h3{margin:0 0 8px;font-family:var(--font-serif,Georgia,serif);font-size:22px;color:#1a3a8f}
.fb-capture p{margin:0 0 16px;color:#3a4254;font-size:14.5px;line-height:1.55}
.fb-capture-form{display:flex;gap:8px;flex-wrap:wrap}
.fb-capture-form input[type="email"]{flex:1;min-width:240px;padding:12px 14px;border:1px solid #ecf0f6;border-radius:8px;font-size:15px;font-family:inherit;background:#fff}
.fb-capture-form input[type="email"]:focus{outline:2px solid #1a3a8f;outline-offset:2px;border-color:#1a3a8f}
.fb-capture-form button{padding:12px 22px;border:0;background:#1a3a8f;color:#fff;border-radius:8px;font-size:14.5px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit;transition:background .15s}
.fb-capture-form button:hover{background:#1a3a8f}
.fb-capture-form button:focus-visible{outline:3px solid #a0782a;outline-offset:3px}
.fb-capture-fine{margin-top:10px;font-size:11.5px;color:#6b7689}
.fb-capture-success{background:#ecf0f6;border:1px solid #f5efdf;color:#1a5e3a;padding:12px 16px;border-radius:8px;margin-top:8px;display:none}
.fb-capture-success.show{display:block}
.fb-exit-modal{position:fixed;inset:0;background:rgba(14,26,54,.5);backdrop-filter:blur(4px);z-index:300;display:none;align-items:center;justify-content:center;padding:20px}
.fb-exit-modal.show{display:flex}
.fb-exit-modal-card{background:#fff;border-radius:14px;padding:32px;max-width:480px;width:100%;box-shadow:0 24px 80px -10px rgba(14,26,54,.4);position:relative}
.fb-exit-modal-close{position:absolute;top:12px;right:12px;background:transparent;border:0;width:32px;height:32px;border-radius:6px;cursor:pointer;color:#6b7689;font-size:20px;line-height:1}
.fb-exit-modal-close:hover{background:#fbfcfe;color:#1a3a8f}
.fb-exit-modal h3{margin:0 0 8px;font-family:var(--font-serif,Georgia,serif);font-size:24px;color:#1a3a8f}
.fb-exit-modal-tag{display:inline-block;font-size:11px;font-family:"JetBrains Mono",monospace;color:#a0782a;background:#f5efdf;padding:4px 10px;border-radius:99px;letter-spacing:.8px;text-transform:uppercase;margin-bottom:12px}
.fb-magnet-hero{background:linear-gradient(135deg,#1a3a8f 0%,#1a3a8f 100%);color:#fff;padding:60px 0;margin-bottom:32px;position:relative;overflow:hidden}
.fb-magnet-hero::before{content:"";position:absolute;top:-100px;right:-100px;width:300px;height:300px;background:radial-gradient(circle,rgba(245,239,223,.15) 0%,transparent 70%);pointer-events:none}
.fb-magnet-hero .container{position:relative;z-index:2}
.fb-magnet-hero h1{color:#fff;font-size:38px;line-height:1.2;margin:0 0 14px;max-width:780px}
.fb-magnet-hero .lead{color:rgba(255,255,255,.92);font-size:18px;line-height:1.55;max-width:680px;margin:0 0 24px}
.fb-magnet-hero .fb-capture{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.4);max-width:520px;margin:0}
.fb-magnet-hero .fb-magnet-tag{display:inline-block;font-size:11.5px;color:#f5efdf;background:rgba(245,239,223,.18);border:1px solid rgba(245,239,223,.3);padding:5px 12px;border-radius:99px;letter-spacing:1px;text-transform:uppercase;font-family:"JetBrains Mono",monospace;margin-bottom:18px;font-weight:600}
.fb-magnet-preview{background:#fff;border:1px solid #ecf0f6;border-radius:14px;padding:32px;margin:32px 0;box-shadow:0 8px 32px -16px rgba(14,26,54,.12)}
.fb-magnet-preview h2{margin:0 0 18px;color:#1a3a8f}
.fb-magnet-toc{list-style:none;padding:0;margin:0}
.fb-magnet-toc li{padding:11px 0;border-bottom:1px solid #ecf0f6;font-size:14.5px;display:flex;align-items:center;gap:10px}
.fb-magnet-toc li:last-child{border:0}
.fb-magnet-toc li::before{content:"";display:inline-block;width:6px;height:6px;background:#a0782a;border-radius:50%;flex-shrink:0}
@media (max-width:560px){.fb-magnet-hero h1{font-size:30px}.fb-capture-form{flex-direction:column}.fb-capture-form input[type="email"],.fb-capture-form button{width:100%}}

/* ============================================================ */
/* BOI DECISION TREE                                            */
/* ============================================================ */
.boi-tree{background:#fff;border:1px solid #ecf0f6;border-radius:14px;padding:32px;margin:32px 0;box-shadow:0 4px 24px -10px rgba(14,26,54,.08)}
.boi-step{display:none}
.boi-step.active{display:block;animation:boiFadeIn .3s ease-out}
@keyframes boiFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.boi-question{font-size:22px;color:#1a3a8f;font-family:var(--font-serif,Georgia,serif);margin:0 0 8px;line-height:1.3}
.boi-context{font-size:14.5px;color:#6b7689;margin:0 0 24px;line-height:1.55}
.boi-options{display:grid;gap:10px}
.boi-option{display:block;padding:18px 22px;border:1.5px solid #ecf0f6;border-radius:10px;background:#fff;color:#1a3a8f;text-decoration:none;cursor:pointer;font-size:15.5px;font-weight:600;line-height:1.4;text-align:left;font-family:inherit;width:100%;transition:border-color .15s,background .15s,transform .12s}
.boi-option:hover{border-color:#1a3a8f;background:#fbfcfe;transform:translateX(2px)}
.boi-option:focus-visible{outline:2px solid #a0782a;outline-offset:2px}
.boi-option-sub{display:block;font-size:12.5px;font-weight:400;color:#6b7689;margin-top:4px}
.boi-progress{font-size:11.5px;color:#a0782a;font-family:"JetBrains Mono",monospace;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;margin-bottom:16px}
.boi-back{background:none;border:0;color:#6b7689;font-size:13px;cursor:pointer;text-decoration:underline;padding:8px 0;font-family:inherit;margin-top:20px}
.boi-back:hover{color:#1a3a8f}

.boi-result{padding:28px;border-radius:14px;border:2px solid}
.boi-result-yes{background:#f5efdf;border-color:#e8b3b3;color:#a22e2e}
.boi-result-no{background:#ecf0f6;border-color:#86d6a6;color:#1a5e3a}
.boi-result-maybe{background:#f5efdf;border-color:#e8d28b;color:#7a5a1f}
.boi-result h3{margin:0 0 12px;font-family:var(--font-serif,Georgia,serif);font-size:24px}
.boi-result p{margin:0 0 12px;font-size:15px;line-height:1.6}
.boi-result-actions{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap}
.boi-result-actions .btn{font-size:13.5px}

/* ============================================================ */
/* PRICING PAGE: TIER CARDS                                     */
/* ============================================================ */
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:32px 0}
@media (max-width:1100px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.pricing-grid{grid-template-columns:1fr}}
.pricing-tier{background:#fff;border:1.5px solid #ecf0f6;border-radius:14px;padding:28px;display:flex;flex-direction:column;position:relative;transition:transform .15s,box-shadow .15s,border-color .15s}
.pricing-tier:hover{transform:translateY(-4px);box-shadow:0 16px 40px -16px rgba(14,26,54,.16)}
.pricing-tier.featured{border-color:#1a3a8f;border-width:2px;box-shadow:0 8px 32px -12px rgba(26,58,143,.18)}
.pricing-tier.featured::before{content:"Most popular";position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#1a3a8f;color:#fff;font-size:10.5px;font-family:"JetBrains Mono",monospace;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;padding:6px 14px;border-radius:99px;white-space:nowrap}
.pricing-tier-name{font-family:var(--font-serif,Georgia,serif);font-size:22px;color:#1a3a8f;margin:0 0 6px}
.pricing-tier-tag{font-size:11.5px;color:#a0782a;font-family:"JetBrains Mono",monospace;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;margin-bottom:18px}
.pricing-tier-price{font-family:var(--font-serif,Georgia,serif);font-size:38px;color:#1a3a8f;font-weight:600;line-height:1;margin:0 0 4px}
.pricing-tier-price-sub{font-size:13px;color:#6b7689;margin-bottom:18px;line-height:1.4}
.pricing-tier-tagline{font-size:13.5px;color:#3a4254;line-height:1.5;margin-bottom:20px;min-height:42px}
.pricing-tier-cta{display:block;text-align:center;padding:11px 14px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;margin-bottom:24px;border:1.5px solid #1a3a8f;color:#1a3a8f;background:#fff;transition:background .15s,color .15s}
.pricing-tier-cta:hover{background:#1a3a8f;color:#fff}
.pricing-tier.featured .pricing-tier-cta{background:#1a3a8f;color:#fff}
.pricing-tier.featured .pricing-tier-cta:hover{background:#1a3a8f;border-color:#1a3a8f}
.pricing-tier-features{list-style:none;padding:0;margin:0;flex:1}
.pricing-tier-features li{padding:8px 0;font-size:13.5px;color:#3a4254;line-height:1.5;display:flex;gap:8px}
.pricing-tier-features li::before{content:"✓";color:#1a3a8f;font-weight:700;flex-shrink:0;margin-top:1px}
.pricing-tier-features li.excluded{color:#86d6a6}
.pricing-tier-features li.excluded::before{content:"·";color:#86d6a6}

.pricing-compare-table{width:100%;border-collapse:collapse;margin:32px 0;background:#fff;border:1px solid #ecf0f6;border-radius:12px;overflow:hidden}
.pricing-compare-table th,.pricing-compare-table td{padding:14px 16px;font-size:13.5px;text-align:left;border-bottom:1px solid #ecf0f6}
.pricing-compare-table th{background:#fbfcfe;color:#1a3a8f;font-weight:600;font-size:12.5px;letter-spacing:.5px;text-transform:uppercase}
.pricing-compare-table tr:last-child td{border-bottom:0}
.pricing-compare-table .check{color:#1a3a8f;font-weight:700}
.pricing-compare-table .x{color:#c0a8a8}

.pricing-addon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:24px 0}
.pricing-addon{background:#fff;border:1px solid #ecf0f6;border-radius:10px;padding:18px}
.pricing-addon h4{margin:0 0 6px;font-size:15px;color:#1a3a8f}
.pricing-addon-price{font-size:14px;font-weight:600;color:#a0782a;margin-bottom:6px}
.pricing-addon p{margin:0;font-size:13px;color:#6b7689;line-height:1.5}

/* ============================================================ */
/* SPRINT 1, Hero impact components                            */
/* ============================================================ */

/* === 1. Hero illustration system === */
.hero-v2{position:relative;padding:72px 0 56px;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)}
.hero-v2::before{content:"";position:absolute;top:0;left:0;right:0;height:280px;background:radial-gradient(ellipse 800px 280px at 20% 40%,rgba(245,239,223,.6) 0%,transparent 60%);pointer-events:none}
.hero-v2-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;position:relative;z-index:2}
@media (max-width:980px){.hero-v2-grid{grid-template-columns:1fr;gap:32px}}
.hero-v2-content h1{font-size:48px;line-height:1.08;margin:0 0 18px;letter-spacing:-.5px}
@media (max-width:680px){.hero-v2-content h1{font-size:36px}}
.hero-v2-lead{font-size:19px;line-height:1.55;color:#3a4254;margin:0 0 28px;max-width:560px}
.hero-v2-cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.hero-v2-cta-row .btn{font-size:15px;padding:13px 24px}
.hero-v2-trust{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:12.5px;color:#6b7689;margin-top:8px}
.hero-v2-trust strong{color:#1a3a8f;font-weight:600}
.hero-v2-trust-divider{color:#ecf0f6}

.hero-illus{width:100%;max-width:560px;height:auto;display:block;animation:heroFloat 6s ease-in-out infinite;will-change:transform}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-illus-card{background:#fff;border:1px solid #ecf0f6;border-radius:14px;box-shadow:0 24px 60px -20px rgba(14,26,54,.15)}

/* === 2. Product dashboard mockup === */
.dashboard-mock{background:#fff;border:1px solid #ecf0f6;border-radius:14px;overflow:hidden;box-shadow:0 32px 80px -24px rgba(14,26,54,.22);max-width:580px;margin:0 auto}
.dashboard-mock-chrome{background:#fbfcfe;padding:10px 14px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #ecf0f6}
.dashboard-mock-dot{width:10px;height:10px;border-radius:50%;background:#ecf0f6}
.dashboard-mock-dot.red{background:#fb8b8b}
.dashboard-mock-dot.yellow{background:#fbcb6b}
.dashboard-mock-dot.green{background:#86d6a6}
.dashboard-mock-url{flex:1;background:#fff;border:1px solid #ecf0f6;border-radius:6px;padding:5px 12px;font-size:11.5px;color:#6b7689;margin-left:8px;font-family:"JetBrains Mono",monospace}
.dashboard-mock-body{padding:24px;display:grid;grid-template-columns:1fr 1.4fr;gap:18px;background:#fbfcfe;min-height:380px}
.dashboard-mock-sidebar{background:#fff;border:1px solid #ecf0f6;border-radius:10px;padding:14px}
.dashboard-mock-side-label{font-size:9.5px;font-family:"JetBrains Mono",monospace;letter-spacing:1.5px;text-transform:uppercase;color:#a0782a;font-weight:600;margin-bottom:10px}
.dashboard-mock-entity{padding:8px 10px;background:#fbfcfe;border-radius:6px;margin-bottom:6px;font-size:11.5px;color:#3a4254;display:flex;align-items:center;gap:8px}
.dashboard-mock-entity.active{background:#1a3a8f;color:#fff}
.dashboard-mock-entity-dot{width:6px;height:6px;border-radius:50%;background:#86d6a6;flex-shrink:0}
.dashboard-mock-entity.active .dashboard-mock-entity-dot{background:#a0782a}
.dashboard-mock-main{display:flex;flex-direction:column;gap:12px}
.dashboard-mock-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dashboard-mock-stat{background:#fff;border:1px solid #ecf0f6;border-radius:10px;padding:12px}
.dashboard-mock-stat-label{font-size:9.5px;font-family:"JetBrains Mono",monospace;letter-spacing:1px;text-transform:uppercase;color:#6b7689;margin-bottom:4px}
.dashboard-mock-stat-value{font-size:18px;font-family:Georgia,serif;color:#1a3a8f;font-weight:600;line-height:1}
.dashboard-mock-list{background:#fff;border:1px solid #ecf0f6;border-radius:10px;padding:14px;flex:1}
.dashboard-mock-list-label{font-size:9.5px;font-family:"JetBrains Mono",monospace;letter-spacing:1.5px;text-transform:uppercase;color:#a0782a;font-weight:600;margin-bottom:10px}
.dashboard-mock-row{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:11.5px;color:#3a4254;border-bottom:1px solid #ecf0f6}
.dashboard-mock-row:last-child{border-bottom:0}
.dashboard-mock-row-icon{width:18px;height:18px;background:#f5efdf;border-radius:5px;display:inline-block;flex-shrink:0;position:relative}
.dashboard-mock-row-icon.urgent{background:#f5efdf}
.dashboard-mock-row-icon.done{background:#ecf0f6}
.dashboard-mock-row-meta{margin-left:auto;font-size:10.5px;color:#6b7689}
.dashboard-mock-row-meta.urgent{color:#a22e2e;font-weight:600}
@media (max-width:680px){.dashboard-mock-body{grid-template-columns:1fr}}

/* === 3. Customer logo wall === */
.logo-wall{padding:48px 0;background:#fff;border-top:1px solid #ecf0f6;border-bottom:1px solid #ecf0f6}
.logo-wall-title{font-size:11.5px;font-family:"JetBrains Mono",monospace;letter-spacing:2px;text-transform:uppercase;color:#a0782a;font-weight:600;text-align:center;margin:0 0 28px}
.logo-wall-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:28px;align-items:center;justify-items:center}
@media (max-width:980px){.logo-wall-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:560px){.logo-wall-grid{grid-template-columns:repeat(3,1fr);gap:18px}}
.logo-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;border-radius:8px;text-align:center;width:100%;transition:transform .15s,background .15s}
.logo-card:hover{background:#fbfcfe;transform:translateY(-2px)}
.logo-card-mark{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5efdf 0%,#f5efdf 100%);border-radius:10px;color:#1a3a8f;border:1px solid rgba(160,120,42,.18)}
.logo-card-name{font-size:11px;color:#6b7689;font-weight:500;line-height:1.3}

/* === 4. Testimonials carousel === */
.testimonials{padding:64px 0;background:#fbfcfe}
.testimonials-head{text-align:center;max-width:680px;margin:0 auto 36px}
.testimonials-head h2{margin:0 0 8px;font-size:30px;color:#1a3a8f}
.testimonials-head p{margin:0;font-size:15px;color:#3a4254;line-height:1.55}
.carousel{max-width:920px;margin:0 auto;position:relative;overflow:hidden}
.carousel-track{display:flex;transition:transform .45s cubic-bezier(.45,.05,.55,.95)}
.carousel-slide{flex:0 0 100%;padding:0 16px;box-sizing:border-box}
.testimonial-card{background:#fff;border:1px solid #ecf0f6;border-radius:14px;padding:36px;box-shadow:0 12px 40px -16px rgba(14,26,54,.12);display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start}
@media (max-width:680px){.testimonial-card{grid-template-columns:1fr;text-align:center}}
.testimonial-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#f5efdf,#f5efdf);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid rgba(160,120,42,.2)}
.testimonial-content{display:flex;flex-direction:column}
.testimonial-stars{color:#a0782a;font-size:14px;letter-spacing:2px;margin-bottom:10px}
.testimonial-quote{font-family:Georgia,serif;font-size:19px;line-height:1.55;color:#1a3a8f;margin:0 0 16px;font-style:italic;quotes:"\201C" "\201D"}
.testimonial-quote::before{content:open-quote;font-size:32px;color:#a0782a;line-height:0;vertical-align:-12px;margin-right:4px}
.testimonial-quote::after{content:close-quote;font-size:32px;color:#a0782a;line-height:0;vertical-align:-12px;margin-left:4px}
.testimonial-attrib{font-size:13.5px;color:#3a4254}
.testimonial-attrib strong{color:#1a3a8f;font-weight:600}
.testimonial-attrib-meta{display:block;color:#6b7689;font-size:12px;margin-top:2px}
.carousel-nav{display:flex;gap:8px;justify-content:center;margin-top:24px}
.carousel-dot{width:9px;height:9px;border-radius:50%;background:#ecf0f6;border:0;padding:0;cursor:pointer;transition:background .15s,transform .15s}
.carousel-dot.active{background:#1a3a8f;transform:scale(1.2)}
.carousel-dot:focus-visible{outline:2px solid #a0782a;outline-offset:3px}

/* === 5. Animated stat counters === */
.stats-row{padding:56px 0;background:#fff;border-top:1px solid #ecf0f6}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
@media (max-width:760px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
.stat-tile-v2{padding:20px 16px;border-radius:14px;background:#fbfcfe;border:1px solid #ecf0f6;transition:transform .15s,box-shadow .15s}
.stat-tile-v2:hover{transform:translateY(-3px);box-shadow:0 12px 32px -16px rgba(14,26,54,.14)}
.stat-tile-v2-number{font-family:Georgia,serif;font-size:48px;line-height:1;color:#1a3a8f;font-weight:600;margin-bottom:6px}
.stat-tile-v2-number .stat-prefix,.stat-tile-v2-number .stat-suffix{font-size:32px;vertical-align:top;line-height:1;margin:0 1px}
.stat-tile-v2-label{font-size:12.5px;color:#3a4254;font-weight:500;line-height:1.45}
@media (max-width:560px){.stat-tile-v2-number{font-size:36px}.stat-tile-v2-number .stat-prefix,.stat-tile-v2-number .stat-suffix{font-size:24px}}

/* ============================================================ */
/* SPRINT 2, Conversion-lift components                        */
/* ============================================================ */

/* === C6: Interactive product tour === */
.tour{padding:64px 0;background:#fff;border-top:1px solid #ecf0f6}
.tour-head{text-align:center;max-width:680px;margin:0 auto 32px}
.tour-head h2{margin:8px 0 10px;font-size:30px;color:#1a3a8f}
.tour-head p{margin:0;font-size:15.5px;color:#3a4254;line-height:1.55}
.tour-shell{display:grid;grid-template-columns:280px 1fr;gap:32px;max-width:1080px;margin:0 auto;align-items:start}
@media (max-width:880px){.tour-shell{grid-template-columns:1fr;gap:18px}}
.tour-nav{display:flex;flex-direction:column;gap:8px;position:sticky;top:96px}
@media (max-width:880px){.tour-nav{position:static;flex-direction:row;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}}
.tour-tab{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#fff;border:1px solid #ecf0f6;border-radius:10px;cursor:pointer;text-align:left;font-family:inherit;color:#3a4254;transition:border-color .15s,background .15s,transform .12s;width:100%}
.tour-tab:hover{border-color:#ecf0f6;background:#fbfcfe;transform:translateX(2px)}
.tour-tab.active{border-color:#1a3a8f;background:#fbfcfe;box-shadow:0 4px 16px -8px rgba(26,58,143,.2)}
.tour-tab.active .tour-tab-num{background:#1a3a8f;color:#fff}
.tour-tab-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#f5efdf;color:#1a3a8f;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:14px;font-weight:600;transition:background .15s,color .15s}
.tour-tab-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.tour-tab-title{font-size:14.5px;color:#1a3a8f;font-weight:600;line-height:1.3}
.tour-tab-sub{font-size:12px;color:#6b7689;line-height:1.4}
.tour-panel{background:#fbfcfe;border:1px solid #ecf0f6;border-radius:16px;padding:32px;display:none;animation:tourFadeIn .35s ease-out}
.tour-panel.active{display:block}
@keyframes tourFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.tour-panel-eyebrow{font-size:11.5px;color:#a0782a;font-family:"JetBrains Mono",monospace;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;margin-bottom:8px}
.tour-panel h3{margin:0 0 12px;font-size:22px;color:#1a3a8f;font-family:var(--font-serif,Georgia,serif)}
.tour-panel p{margin:0 0 16px;font-size:14.5px;color:#3a4254;line-height:1.55}
.tour-panel-screen{background:#fff;border:1px solid #ecf0f6;border-radius:12px;padding:18px;margin-bottom:16px;min-height:240px;display:flex;align-items:center;justify-content:center}
.tour-panel-checks{list-style:none;padding:0;margin:0}
.tour-panel-checks li{padding:6px 0;font-size:13.5px;color:#3a4254;display:flex;align-items:center;gap:8px}
.tour-panel-checks li::before{content:"✓";color:#1a3a8f;font-weight:700}

/* === C7: Inline cost calculator === */
.cost-calc{background:linear-gradient(135deg,#fbfcfe 0%,#ecf0f6 100%);border:1px solid #ecf0f6;border-radius:14px;padding:24px;margin:24px 0}
.cost-calc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px}
.cost-calc-title{margin:0;font-size:15px;font-weight:600;color:#1a3a8f;font-family:var(--font-serif,Georgia,serif)}
.cost-calc-tag{font-size:10.5px;color:#a0782a;font-family:"JetBrains Mono",monospace;letter-spacing:1.2px;text-transform:uppercase;background:#f5efdf;padding:3px 10px;border-radius:99px;font-weight:600}
.cost-calc-row{display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:center;margin-bottom:14px}
@media (max-width:560px){.cost-calc-row{grid-template-columns:1fr}}
.cost-calc-label{font-size:13px;color:#3a4254;font-weight:500}
.cost-calc-select{width:100%;padding:10px 12px;border:1px solid #ecf0f6;border-radius:8px;font-size:14px;background:#fff;font-family:inherit;color:#1a3a8f;font-weight:500}
.cost-calc-select:focus{outline:2px solid #1a3a8f;outline-offset:2px;border-color:#1a3a8f}
.cost-calc-result{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #ecf0f6}
@media (max-width:560px){.cost-calc-result{grid-template-columns:1fr}}
.cost-calc-cell{background:#fff;border-radius:10px;padding:12px}
.cost-calc-cell-label{font-size:10.5px;color:#6b7689;font-family:"JetBrains Mono",monospace;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;font-weight:600}
.cost-calc-cell-value{font-family:Georgia,serif;font-size:22px;color:#1a3a8f;font-weight:600;line-height:1}
.cost-calc-cell.our{background:linear-gradient(135deg,#f5efdf 0%,#f5efdf 100%);border:1px solid rgba(160,120,42,.2)}
.cost-calc-cta{margin-top:12px;text-align:right;font-size:12.5px;color:#6b7689}
.cost-calc-cta a{color:#1a3a8f;text-decoration:underline;font-weight:600}

/* === C8: Visual comparison cards === */
.vs-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:32px 0}
@media (max-width:680px){.vs-cards{grid-template-columns:1fr}}
.vs-card{background:#fff;border:1.5px solid #ecf0f6;border-radius:14px;padding:28px;display:flex;flex-direction:column;position:relative;transition:border-color .15s,box-shadow .15s,transform .15s}
.vs-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px -16px rgba(14,26,54,.14)}
.vs-card.winner{border-color:#1a3a8f;border-width:2px;box-shadow:0 12px 36px -12px rgba(26,58,143,.18)}
.vs-card.winner::before{content:"Better choice";position:absolute;top:-12px;right:18px;background:#1a3a8f;color:#fff;font-size:10.5px;font-family:"JetBrains Mono",monospace;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;padding:5px 12px;border-radius:99px}
.vs-card-header{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #ecf0f6}
.vs-card-logo{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,#f5efdf,#f5efdf);display:flex;align-items:center;justify-content:center;color:#1a3a8f;font-family:Georgia,serif;font-weight:600;font-size:20px;flex-shrink:0;border:1px solid rgba(160,120,42,.2)}
.vs-card-name{font-family:var(--font-serif,Georgia,serif);font-size:20px;color:#1a3a8f;margin:0 0 2px;font-weight:600}
.vs-card-tagline{font-size:12.5px;color:#6b7689;line-height:1.4}
.vs-card-price{margin-bottom:18px}
.vs-card-price-big{font-family:Georgia,serif;font-size:36px;color:#1a3a8f;font-weight:600;line-height:1}
.vs-card-price-period{font-size:13px;color:#6b7689;margin-top:4px}
.vs-card-features{list-style:none;padding:0;margin:0 0 18px;flex:1}
.vs-card-features li{padding:7px 0;font-size:13.5px;line-height:1.5;color:#3a4254;display:flex;align-items:flex-start;gap:8px}
.vs-card-features li.win{color:#1a3a8f;font-weight:500}
.vs-card-features li.win::before{content:"✓";color:#1a3a8f;font-weight:700;flex-shrink:0}
.vs-card-features li.lose{color:#86d6a6}
.vs-card-features li.lose::before{content:"×";color:#c0a8a8;font-weight:700;flex-shrink:0}
.vs-card-features li.partial{color:#6b7689}
.vs-card-features li.partial::before{content:"·";color:#6b7689;font-weight:700;flex-shrink:0;font-size:18px;line-height:1}
.vs-card-score{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fbfcfe;border-radius:10px;font-size:13px;color:#3a4254;margin-bottom:14px}
.vs-card-score-num{font-family:Georgia,serif;font-size:24px;color:#1a3a8f;font-weight:600;line-height:1}
.vs-card-score-of{color:#6b7689;font-size:12px}
.vs-card-cta{display:block;text-align:center;padding:12px;border-radius:8px;text-decoration:none;font-size:14px;font-weight:600;border:1.5px solid #1a3a8f;color:#1a3a8f;background:#fff;transition:background .15s,color .15s}
.vs-card-cta:hover{background:#1a3a8f;color:#fff}
.vs-card.winner .vs-card-cta{background:#1a3a8f;color:#fff}
.vs-card.winner .vs-card-cta:hover{background:#1a3a8f;border-color:#1a3a8f}

/* === C9: Animated process timeline === */
.timeline-v2{padding:64px 0;background:#fff;border-top:1px solid #ecf0f6}
.timeline-head{text-align:center;max-width:680px;margin:0 auto 48px}
.timeline-head h2{margin:8px 0 10px;font-size:30px;color:#1a3a8f}
.timeline-head p{margin:0;font-size:15.5px;color:#3a4254;line-height:1.55}
.timeline-track{position:relative;max-width:1080px;margin:0 auto;padding:24px 16px 0}
.timeline-line{position:absolute;top:48px;left:5%;right:5%;height:3px;background:#ecf0f6;border-radius:2px;z-index:1}
.timeline-line-fill{position:absolute;inset:0 100% 0 0;background:linear-gradient(90deg,#1a3a8f 0%,#a0782a 100%);border-radius:2px;transition:right 1s cubic-bezier(.45,.05,.55,.95)}
.timeline-line-fill.complete{right:0}
.timeline-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;position:relative;z-index:2}
@media (max-width:880px){.timeline-steps{grid-template-columns:1fr;gap:16px}.timeline-line{display:none}}
.timeline-step{text-align:center;padding:8px}
.timeline-step-marker{width:48px;height:48px;border-radius:50%;background:#fff;border:3px solid #ecf0f6;display:flex;align-items:center;justify-content:center;color:#86d6a6;margin:0 auto 14px;transition:border-color .3s,color .3s,transform .3s,background .3s;font-family:Georgia,serif;font-size:18px;font-weight:600;position:relative;z-index:3}
.timeline-step.active .timeline-step-marker{border-color:#1a3a8f;color:#fff;background:#1a3a8f;transform:scale(1.08)}
.timeline-step.active .timeline-step-marker::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(26,58,143,.18);animation:pulseRing 1.8s ease-out infinite}
@keyframes pulseRing{0%{transform:scale(.9);opacity:1}100%{transform:scale(1.4);opacity:0}}
.timeline-step h3{font-size:14.5px;color:#1a3a8f;margin:0 0 4px;font-family:var(--font-serif,Georgia,serif)}
.timeline-step p{font-size:12.5px;color:#3a4254;line-height:1.45;margin:0 0 6px}
.timeline-step-time{font-size:10.5px;color:#a0782a;font-family:"JetBrains Mono",monospace;letter-spacing:1px;text-transform:uppercase;font-weight:600}

/* === C10: Live activity ticker === */
.activity-ticker{position:fixed;bottom:20px;left:20px;background:#fff;border:1px solid #ecf0f6;border-radius:12px;padding:14px 18px;box-shadow:0 16px 48px -12px rgba(14,26,54,.18);display:flex;align-items:center;gap:12px;max-width:340px;z-index:90;transform:translateX(-380px);transition:transform .35s cubic-bezier(.45,.05,.55,.95);font-family:inherit}
.activity-ticker.show{transform:translateX(0)}
.activity-ticker-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#f5efdf,#f5efdf);display:flex;align-items:center;justify-content:center;color:#1a3a8f;font-family:Georgia,serif;font-weight:600;font-size:14px;flex-shrink:0;border:1px solid rgba(160,120,42,.2)}
.activity-ticker-content{flex:1;min-width:0}
.activity-ticker-text{font-size:13px;color:#3a4254;line-height:1.4;margin:0 0 2px}
.activity-ticker-text strong{color:#1a3a8f;font-weight:600}
.activity-ticker-meta{font-size:10.5px;color:#6b7689;display:flex;align-items:center;gap:6px}
.activity-ticker-dot{display:inline-block;width:6px;height:6px;background:#86d6a6;border-radius:50%;animation:tickerPulse 2s ease-out infinite}
@keyframes tickerPulse{0%{box-shadow:0 0 0 0 rgba(134,214,166,.6)}70%{box-shadow:0 0 0 6px rgba(134,214,166,0)}100%{box-shadow:0 0 0 0 rgba(134,214,166,0)}}
.activity-ticker-close{background:transparent;border:0;color:#86d6a6;cursor:pointer;font-size:18px;line-height:1;padding:4px;flex-shrink:0}
.activity-ticker-close:hover{color:#1a3a8f}
@media (max-width:560px){.activity-ticker{left:12px;right:12px;max-width:none;bottom:12px}}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .tour-panel{animation:none}
  .timeline-line-fill{transition:none}
  .timeline-step.active .timeline-step-marker::after{animation:none}
  .activity-ticker{transition:none}
  .activity-ticker-dot{animation:none}
}

/* ============================================================
   SPRINT 3, Polish layer
   ============================================================ */

/* C11 Microinteractions library */
/* Unified easing curve */
:root{--mi-ease:cubic-bezier(0.22, 0.61, 0.36, 1);--mi-ease-out:cubic-bezier(0.16, 1, 0.3, 1)}

/* Card lift on hover */
.card,.feature-card,.case-card,.vs-card,.tier-card,.pricing-tier,.related-card,.faq-card,.testimonial-card{transition:transform .35s var(--mi-ease),box-shadow .35s var(--mi-ease),border-color .25s ease}
.card:hover,.feature-card:hover,.case-card:hover,.related-card:hover,.faq-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(26,58,143,.10)}

/* Button press feedback */
.cta-primary,.cta-secondary,.btn,button.cta,.tour-tab,.boi-btn{transition:transform .2s var(--mi-ease),background-color .2s ease,box-shadow .25s ease,border-color .2s ease}
.cta-primary:active,.cta-secondary:active,.btn:active{transform:translateY(1px) scale(0.99)}
.cta-primary:hover{box-shadow:0 10px 22px rgba(26,58,143,.18)}

/* Link underline reveal */
a:not(.cta-primary):not(.cta-secondary):not(.btn):not(.nav-link):not(.footer-link):not(.tour-tab){background-image:linear-gradient(to right,currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .35s var(--mi-ease)}
a:not(.cta-primary):not(.cta-secondary):not(.btn):not(.nav-link):not(.footer-link):not(.tour-tab):hover{background-size:100% 1px}

/* Focus-visible, unified gold ring */
*:focus-visible{outline:3px solid #a0782a;outline-offset:2px;border-radius:6px}
.cta-primary:focus-visible,.cta-secondary:focus-visible{outline-offset:3px}

/* Scroll-reveal stagger (refines existing .reveal) */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--mi-ease-out),transform .7s var(--mi-ease-out)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal-stagger > *{opacity:0;transform:translateY(10px);transition:opacity .55s var(--mi-ease-out),transform .55s var(--mi-ease-out)}
.reveal-stagger.is-visible > *:nth-child(1){transition-delay:.05s;opacity:1;transform:translateY(0)}
.reveal-stagger.is-visible > *:nth-child(2){transition-delay:.12s;opacity:1;transform:translateY(0)}
.reveal-stagger.is-visible > *:nth-child(3){transition-delay:.19s;opacity:1;transform:translateY(0)}
.reveal-stagger.is-visible > *:nth-child(4){transition-delay:.26s;opacity:1;transform:translateY(0)}
.reveal-stagger.is-visible > *:nth-child(5){transition-delay:.33s;opacity:1;transform:translateY(0)}
.reveal-stagger.is-visible > *:nth-child(6){transition-delay:.40s;opacity:1;transform:translateY(0)}

/* Image / SVG fade-in */
img,svg{transition:opacity .4s ease}
img[data-loading="true"]{opacity:0}

@media (prefers-reduced-motion: reduce){
  .card,.feature-card,.case-card,.vs-card,.tier-card,.pricing-tier,.related-card,.faq-card,.testimonial-card{transition:none}
  .card:hover,.feature-card:hover,.case-card:hover,.related-card:hover,.faq-card:hover{transform:none;box-shadow:none}
  .cta-primary,.cta-secondary,.btn{transition:none}
  .reveal,.reveal-stagger > *{opacity:1;transform:none;transition:none}
}

/* C12 Sticky help widget */
.help-widget{position:fixed;right:20px;bottom:20px;z-index:90;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.help-widget-btn{display:inline-flex;align-items:center;gap:10px;background:#1a3a8f;color:#fff;border:none;border-radius:999px;padding:14px 22px 14px 18px;font-size:15px;font-weight:600;box-shadow:0 12px 30px rgba(26,58,143,.32);cursor:pointer;transition:transform .25s var(--mi-ease),box-shadow .25s ease}
.help-widget-btn:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(26,58,143,.4)}
.help-widget-btn:focus-visible{outline:3px solid #a0782a;outline-offset:3px}
.help-widget-btn svg{width:22px;height:22px;flex-shrink:0}
.help-widget-btn-label{white-space:nowrap}
.help-widget-modal{position:fixed;right:20px;bottom:84px;width:340px;max-width:calc(100vw - 40px);background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(20,28,50,.2);padding:22px 22px 20px;border:1px solid #ecf0f6;z-index:91;display:none;transform:translateY(10px);opacity:0;transition:transform .3s var(--mi-ease-out),opacity .25s ease}
.help-widget-modal.show{display:block;transform:translateY(0);opacity:1}
.help-widget-modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
.help-widget-modal-head h3{margin:0;font-size:16px;color:#1a3a8f;font-family:Georgia,serif;font-weight:600}
.help-widget-modal-head button{background:transparent;border:none;font-size:22px;color:#6b7689;cursor:pointer;line-height:1;padding:0 4px}
.help-widget-modal p{font-size:13px;color:#3a4254;margin:0 0 14px;line-height:1.5}
.help-widget-modal-options{display:grid;gap:8px;margin-bottom:14px}
.help-widget-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #ecf0f6;border-radius:9px;text-decoration:none;color:#1a3a8f;font-size:13px;font-weight:600;background:#fbfcfe;transition:all .2s ease}
.help-widget-option:hover{border-color:#1a3a8f;background:#fff;transform:translateX(2px)}
.help-widget-option-icon{width:32px;height:32px;border-radius:8px;background:#1a3a8f;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.help-widget-option-icon svg{width:16px;height:16px}
.help-widget-option-text{display:flex;flex-direction:column}
.help-widget-option-text small{color:#6b7689;font-weight:400;font-size:11px}
.help-widget-footer{font-size:11px;color:#6b7689;border-top:1px solid #ecf0f6;padding-top:10px;text-align:center}

/* C13 Mobile UX polish */
@media (max-width: 720px){
  .cta-primary,.cta-secondary,.btn{min-height:48px;padding:14px 22px;font-size:16px}
  button,a.cta-primary,a.cta-secondary{min-height:44px}
  .nav-toggle,.drawer-toggle{min-width:48px;min-height:48px}
  .mobile-sticky-cta{position:fixed;left:0;right:0;bottom:0;padding:12px 16px;background:rgba(255,255,255,.97);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-top:1px solid #ecf0f6;box-shadow:0 -8px 22px rgba(20,28,50,.06);z-index:80;display:flex;gap:10px;align-items:center}
  .mobile-sticky-cta .cta-primary{flex:1;text-align:center}
  .mobile-sticky-cta-meta{flex-shrink:0;font-size:12px;color:#6b7689}
  body.has-sticky-cta{padding-bottom:78px}
  .help-widget{bottom:90px}
  .help-widget-btn-label{display:none}
  .help-widget-btn{padding:14px;border-radius:50%}
  .activity-ticker{bottom:90px;left:12px;right:12px;max-width:none}
  .tour-shell{grid-template-columns:1fr}
  .tour-nav{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
  .tour-tab{scroll-snap-align:start;flex-shrink:0;min-width:240px}
  .vs-cards{grid-template-columns:1fr;gap:14px}
  .cost-calc-results{grid-template-columns:1fr;gap:12px}
  .timeline-v2{grid-template-columns:1fr}
  .timeline-line{display:none}
}

/* C14 Pricing 3-year cost estimator */
.estimator{background:linear-gradient(135deg,#0f1e4b 0%,#1a3a8f 100%);color:#fff;border-radius:18px;padding:32px 28px;margin:32px 0}
.estimator-head{margin-bottom:22px}
.estimator-head .step-meta{color:#f5efdf;opacity:.85}
.estimator-head h2{color:#fff;font-family:Georgia,serif;margin:6px 0 6px}
.estimator-head p{color:rgba(255,255,255,.78);max-width:640px;margin:0}
.estimator-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:14px;margin-bottom:24px}
@media (max-width: 800px){.estimator-grid{grid-template-columns:1fr 1fr}}
@media (max-width: 480px){.estimator-grid{grid-template-columns:1fr}}
.estimator-field{display:flex;flex-direction:column;gap:6px}
.estimator-field label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#f5efdf}
.estimator-field select,.estimator-field input{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;padding:12px 14px;border-radius:9px;font-size:15px;font-family:inherit;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23f5efdf' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.estimator-field select:focus,.estimator-field input:focus{outline:2px solid #f5efdf;outline-offset:2px}
.estimator-field select option{color:#1a3a8f}
.estimator-checkboxes{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.estimator-checkbox{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}
.estimator-checkbox input{accent-color:#a0782a}
.estimator-checkbox:has(input:checked){background:rgba(245,239,223,.18);border-color:#f5efdf}
.estimator-results{background:rgba(255,255,255,.06);border-radius:12px;padding:22px;border:1px solid rgba(255,255,255,.12)}
.estimator-table{width:100%;border-collapse:collapse}
.estimator-table th,.estimator-table td{padding:11px 8px;text-align:left;font-size:14px;border-bottom:1px solid rgba(255,255,255,.08)}
.estimator-table th{font-weight:700;color:#f5efdf;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.estimator-table td{color:rgba(255,255,255,.92)}
.estimator-table td.estimator-cell-fb{font-weight:700;color:#f5efdf}
.estimator-table td.estimator-cell-num{font-family:JetBrains Mono,Menlo,monospace;text-align:right}
.estimator-table tr.estimator-total td{font-size:16px;font-weight:700;color:#fff;border-bottom:none;padding-top:14px}
.estimator-savings{background:#f5efdf;color:#7a5a1f;border-radius:10px;padding:14px 18px;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.estimator-savings-num{font-family:Georgia,serif;font-size:24px;font-weight:600}
.estimator-cta{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px}
.estimator-cta .cta-primary{background:#fff;color:#1a3a8f}
.estimator-cta .cta-primary:hover{background:#f5efdf}
.estimator-cta .cta-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}

/* C15 Video placeholder system */
.video-card{position:relative;display:block;border-radius:14px;overflow:hidden;box-shadow:0 14px 36px rgba(20,28,50,.12);background:#1a3a8f;text-decoration:none;color:inherit;transition:transform .35s var(--mi-ease),box-shadow .35s var(--mi-ease)}
.video-card:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(26,58,143,.22)}
.video-card-thumb{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#0f1e4b 0%,#1a3a8f 60%,#a0782a 100%)}
.video-card-thumb svg{width:100%;height:100%;display:block}
.video-card-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 32px rgba(20,28,50,.32);transition:transform .25s var(--mi-ease)}
.video-card:hover .video-card-play{transform:translate(-50%,-50%) scale(1.06)}
.video-card-play::after{content:"";display:block;width:0;height:0;border-left:18px solid #1a3a8f;border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:6px}
.video-card-meta{position:absolute;left:14px;bottom:14px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:6px;background:rgba(15,30,75,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.video-card-body{background:#fff;padding:16px 18px 18px;border-radius:0 0 14px 14px}
.video-card-body h4{margin:0 0 6px;font-family:Georgia,serif;color:#1a3a8f;font-size:16px}
.video-card-body p{margin:0;color:#6b7689;font-size:13px;line-height:1.5}
.video-cards{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:18px;margin:24px 0}

/* ============================================================
   SPRINT 5, Conversion + AEO + Performance layer
   ============================================================ */

/* C16 Exit intent modal */
.exit-intent-backdrop{position:fixed;inset:0;background:rgba(15,30,75,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:none;opacity:0;transition:opacity .35s ease}
.exit-intent-backdrop.show{display:flex;align-items:center;justify-content:center;opacity:1;padding:20px}
.exit-intent-modal{background:#fff;border-radius:18px;max-width:520px;width:100%;padding:36px 36px 30px;box-shadow:0 30px 80px rgba(20,28,50,.4);transform:translateY(20px) scale(.95);transition:transform .4s var(--mi-ease-out);position:relative}
.exit-intent-backdrop.show .exit-intent-modal{transform:translateY(0) scale(1)}
.exit-intent-modal-close{position:absolute;top:16px;right:18px;background:transparent;border:none;font-size:26px;line-height:1;color:#6b7689;cursor:pointer;padding:4px 8px;border-radius:6px}
.exit-intent-modal-close:hover{background:#fbfcfe;color:#1a3a8f}
.exit-intent-eyebrow{display:inline-block;background:#f5efdf;color:#7a5a1f;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:4px;margin-bottom:14px}
.exit-intent-modal h3{margin:0 0 10px;font-family:Georgia,serif;color:#1a3a8f;font-size:24px;line-height:1.25}
.exit-intent-modal p{color:#3a4254;font-size:15px;line-height:1.55;margin:0 0 20px}
.exit-intent-form{display:flex;gap:8px;margin-bottom:14px}
.exit-intent-form input{flex:1;padding:13px 16px;border:1px solid #ecf0f6;border-radius:9px;font-size:15px;font-family:inherit}
.exit-intent-form input:focus{outline:3px solid #a0782a;outline-offset:2px;border-color:#1a3a8f}
.exit-intent-form button{padding:13px 22px;background:#1a3a8f;color:#fff;border:none;border-radius:9px;font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit;transition:all .2s ease}
.exit-intent-form button:hover{background:#1a3a8f;transform:translateY(-1px)}
.exit-intent-fine{font-size:12px;color:#6b7689;text-align:center}
.exit-intent-fine a{color:#1a3a8f}
.exit-intent-success{padding:18px;background:#ecf0f6;border-radius:10px;color:#1a5e3a;font-size:14px}

/* C17 Announcement bar */
.announce-bar{background:linear-gradient(90deg,#0f1e4b 0%,#1a3a8f 100%);color:#fff;padding:9px 16px;text-align:center;font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;position:relative;z-index:50}
.announce-bar strong{color:#f5efdf;font-weight:700;margin-right:4px}
.announce-bar a{color:#f5efdf;text-decoration:underline;font-weight:600;background-image:none}
.announce-bar a:hover{color:#fff}
.announce-bar-close{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:rgba(255,255,255,.7);font-size:18px;cursor:pointer;padding:2px 6px;line-height:1}
.announce-bar-close:hover{color:#fff}
.announce-bar[hidden]{display:none}
@media (max-width: 600px){.announce-bar{font-size:12px;padding:8px 30px 8px 14px}}

/* C18 Site search */
.site-search{position:relative;max-width:360px;width:100%}
.site-search-input{width:100%;padding:9px 14px 9px 38px;border:1px solid #ecf0f6;border-radius:999px;font-size:14px;font-family:inherit;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7689' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat 12px center;background-size:16px;color:#1a3a8f;transition:all .2s ease}
.site-search-input:focus{outline:3px solid #a0782a;outline-offset:2px;border-color:#1a3a8f;background-color:#fbfcfe}
.site-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid #ecf0f6;border-radius:12px;box-shadow:0 20px 50px rgba(20,28,50,.18);max-height:420px;overflow-y:auto;display:none;z-index:100}
.site-search-results.show{display:block}
.site-search-result{display:block;padding:11px 16px;border-bottom:1px solid #fbfcfe;text-decoration:none;color:#1a3a8f}
.site-search-result:last-child{border-bottom:none}
.site-search-result:hover,.site-search-result.active{background:#fbfcfe}
.site-search-result-title{font-weight:600;font-size:14px;margin-bottom:2px}
.site-search-result-meta{font-size:11px;color:#6b7689;text-transform:uppercase;letter-spacing:.04em}
.site-search-empty{padding:20px;text-align:center;color:#6b7689;font-size:13px}
@media (max-width: 720px){.site-search{max-width:none}}

/* Performance: reserve image dimensions to prevent CLS */
img{height:auto;max-width:100%}
img[width][height]{aspect-ratio:attr(width) / attr(height)}
.video-card-thumb svg,.dashboard-mock svg{display:block}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ============================================================
   TIER 1, VISUAL LIBRARY (BOS DIRECTIVE)
   State maps, compliance calendars, lifecycle diagrams,
   entity comparison, trust constellation, dashboard frames.
   ============================================================ */

/* === Generic visual-component scaffolding === */
.vlib-section{padding:60px 0;position:relative}
.vlib-section-head{text-align:center;max-width:720px;margin:0 auto 36px}
.vlib-section-head .step-meta{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;color:#a0782a;font-weight:700;text-transform:uppercase;margin-bottom:12px}
.vlib-section-head h2{font-family:Georgia,serif;color:#1a3a8f;font-size:38px;line-height:1.15;margin:0 0 14px;font-weight:600}
.vlib-section-head p{font-size:17px;color:#3a4254;line-height:1.55;margin:0}

/* Section backdrop variants */
.vlib-bg-light{background:linear-gradient(180deg,#fbfcfe 0%,#fbfcfe 100%)}
.vlib-bg-dark{background:linear-gradient(135deg,#0f1e4b 0%,#1a3a8f 100%);color:#fff}
.vlib-bg-dark .vlib-section-head h2{color:#fff}
.vlib-bg-dark .vlib-section-head .step-meta{color:#f5efdf}
.vlib-bg-dark .vlib-section-head p{color:rgba(255,255,255,.85)}
.vlib-bg-cream{background:linear-gradient(135deg,#fbfcfe 0%,#f5efdf 200%)}

/* === C47 Interactive US State Map === */
.state-map{position:relative;max-width:920px;margin:0 auto;background:#fff;border:1px solid #ecf0f6;border-radius:18px;padding:24px;box-shadow:0 24px 60px rgba(20,28,50,.08)}
.state-map-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #ecf0f6}
.state-map-head h3{font-family:Georgia,serif;color:#1a3a8f;margin:0;font-size:20px;font-weight:600}
.state-map-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:#6b7689}
.state-map-legend-item{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;letter-spacing:.04em;text-transform:uppercase}
.state-map-legend-dot{width:10px;height:10px;border-radius:2px;display:inline-block}
.state-map-svg{width:100%;height:auto;cursor:default;display:block}
.state-map-svg path{fill:#ecf0f6;stroke:#fff;stroke-width:1.5;transition:fill .18s ease,transform .18s ease;cursor:pointer;transform-origin:center;transform-box:fill-box}
.state-map-svg path:hover{fill:#1a3a8f}
.state-map-svg path.tier-fast{fill:#86d6a6}
.state-map-svg path.tier-fast:hover{fill:#5fb285}
.state-map-svg path.tier-standard{fill:#ecf0f6}
.state-map-svg path.tier-standard:hover{fill:#1a3a8f}
.state-map-svg path.tier-slow{fill:#fbcb6b}
.state-map-svg path.tier-slow:hover{fill:#e0a83a}
.state-map-svg path.active{fill:#a0782a !important;stroke:#1a3a8f;stroke-width:2}
.state-map-label{font-family:'JetBrains Mono',monospace;font-size:9px;fill:#1a3a8f;pointer-events:none;font-weight:700;letter-spacing:.04em}
.state-map-detail{margin-top:20px;padding:20px;background:#fbfcfe;border:1px solid #ecf0f6;border-radius:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}
.state-map-detail-item{font-size:13px;color:#3a4254}
.state-map-detail-item strong{display:block;color:#a0782a;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.state-map-detail-item .num{font-family:Georgia,serif;font-size:22px;color:#1a3a8f;font-weight:600;display:block;line-height:1.1}
.state-map-cta{margin-top:16px;text-align:center;font-size:13px;color:#6b7689}

/* === C48 Compliance Calendar === */
.compliance-cal{max-width:920px;margin:0 auto;background:#fff;border:1px solid #ecf0f6;border-radius:18px;padding:24px;box-shadow:0 24px 60px rgba(20,28,50,.08)}
.compliance-cal-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid #ecf0f6}
.compliance-cal-head h3{font-family:Georgia,serif;color:#1a3a8f;margin:0;font-size:20px;font-weight:600}
.compliance-cal-nav{display:flex;gap:6px;background:#fbfcfe;border:1px solid #ecf0f6;border-radius:9px;padding:4px}
.compliance-cal-nav button{background:transparent;border:none;font-family:inherit;font-size:13px;font-weight:600;color:#6b7689;padding:8px 14px;border-radius:6px;cursor:pointer;transition:all .2s ease}
.compliance-cal-nav button.active{background:#1a3a8f;color:#fff}
.compliance-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:14px}
.compliance-cal-dow{text-align:center;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;color:#6b7689;font-weight:700;padding:6px 0;text-transform:uppercase}
.compliance-cal-day{aspect-ratio:1;background:#fbfcfe;border:1px solid #ecf0f6;border-radius:7px;padding:6px;font-size:11px;color:#6b7689;position:relative;display:flex;flex-direction:column;transition:all .2s ease;min-height:64px}
.compliance-cal-day:hover{border-color:#1a3a8f;transform:translateY(-1px);box-shadow:0 4px 10px rgba(26,58,143,.08)}
.compliance-cal-day.empty{background:transparent;border:none}
.compliance-cal-day.today{background:#1a3a8f;color:#fff}
.compliance-cal-day-num{font-family:Georgia,serif;font-size:15px;font-weight:600;line-height:1}
.compliance-cal-day-pins{margin-top:auto;display:flex;flex-wrap:wrap;gap:2px}
.compliance-cal-pin{height:4px;border-radius:2px;flex:1;min-width:8px}
.compliance-cal-pin.fed{background:#a22e2e}
.compliance-cal-pin.state{background:#1a3a8f}
.compliance-cal-pin.tax{background:#a0782a}
.compliance-cal-pin.boi{background:#86d6a6}
.compliance-cal-day-tooltip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-4px);background:#0f1e4b;color:#fff;padding:8px 12px;border-radius:7px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:10}
.compliance-cal-day:hover .compliance-cal-day-tooltip{opacity:1}
.compliance-cal-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#3a4254;padding-top:14px;border-top:1px solid #ecf0f6}
.compliance-cal-legend-item{display:inline-flex;align-items:center;gap:8px}
.compliance-cal-legend-dot{width:12px;height:12px;border-radius:3px}

/* === C49 Business Lifecycle Diagram === */
.lifecycle{position:relative;max-width:1040px;margin:0 auto;padding:30px 0}
.lifecycle-track{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:0;align-items:start}
.lifecycle-track::before{content:"";position:absolute;top:48px;left:10%;right:10%;height:3px;background:linear-gradient(90deg,#86d6a6 0%,#1a3a8f 35%,#a0782a 70%,#ecf0f6 100%);border-radius:2px;z-index:0}
.lifecycle-stage{position:relative;z-index:1;text-align:center;padding:0 8px}
.lifecycle-stage-orb{width:96px;height:96px;border-radius:50%;background:#fff;border:3px solid #1a3a8f;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;position:relative;box-shadow:0 10px 28px rgba(26,58,143,.15);transition:transform .3s ease}
.lifecycle-stage:hover .lifecycle-stage-orb{transform:translateY(-4px) scale(1.05)}
.lifecycle-stage-orb svg{width:48px;height:48px;color:#1a3a8f}
.lifecycle-stage-num{position:absolute;top:-8px;right:-8px;width:28px;height:28px;border-radius:50%;background:#a0782a;color:#fff;font-family:Georgia,serif;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}
.lifecycle-stage-title{font-family:Georgia,serif;color:#1a3a8f;font-size:17px;font-weight:600;margin:0 0 6px}
.lifecycle-stage-sub{font-size:12px;color:#a0782a;font-family:'JetBrains Mono',monospace;letter-spacing:.06em;text-transform:uppercase;font-weight:700;margin-bottom:8px;display:block}
.lifecycle-stage-list{list-style:none;padding:0;margin:0;font-size:12px;color:#3a4254;line-height:1.6;text-align:left;max-width:170px;margin:0 auto}
.lifecycle-stage-list li{padding-left:14px;position:relative;margin-bottom:4px}
.lifecycle-stage-list li::before{content:"•";color:#a0782a;position:absolute;left:0;font-weight:700}
@media (max-width: 760px){.lifecycle-track{grid-template-columns:1fr;gap:20px}.lifecycle-track::before{display:none}.lifecycle-stage{display:grid;grid-template-columns:96px 1fr;gap:18px;text-align:left}.lifecycle-stage-list{max-width:none;margin:0}}

/* === C50 Trust Badge Constellation === */
.trust-constellation{position:relative;max-width:1100px;margin:0 auto;padding:20px 0}
.trust-constellation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.trust-badge{background:#fff;border:1px solid #ecf0f6;border-radius:14px;padding:24px 22px;position:relative;overflow:hidden;transition:transform .35s var(--mi-ease,cubic-bezier(.22,.61,.36,1)),box-shadow .35s ease}
.trust-badge::before{content:"";position:absolute;top:0;right:0;width:80px;height:80px;background:radial-gradient(circle at top right,rgba(160,120,42,.12) 0%,transparent 70%);pointer-events:none}
.trust-badge:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(20,28,50,.1)}
.trust-badge-icon{width:46px;height:46px;border-radius:11px;background:linear-gradient(135deg,#1a3a8f 0%,#0f1e4b 100%);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:14px;position:relative}
.trust-badge-icon svg{width:24px;height:24px}
.trust-badge.gold .trust-badge-icon{background:linear-gradient(135deg,#a0782a 0%,#7a5a1f 100%)}
.trust-badge.green .trust-badge-icon{background:linear-gradient(135deg,#86d6a6 0%,#5fb285 100%)}
.trust-badge-value{font-family:Georgia,serif;color:#1a3a8f;font-size:28px;font-weight:600;line-height:1.05;margin:0 0 4px}
.trust-badge-label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;color:#a0782a;font-weight:700;text-transform:uppercase;margin-bottom:8px}
.trust-badge-desc{font-size:12px;color:#6b7689;line-height:1.5;margin:0}

/* === C51 Entity Comparison Chart === */
.entity-compare{max-width:1080px;margin:0 auto;background:#fff;border:1px solid #ecf0f6;border-radius:18px;padding:24px;box-shadow:0 24px 60px rgba(20,28,50,.08);overflow:hidden}
.entity-compare-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid #ecf0f6}
.entity-compare-head h3{font-family:Georgia,serif;color:#1a3a8f;margin:0;font-size:20px;font-weight:600}
.entity-compare-tabs{display:flex;gap:4px;background:#fbfcfe;border:1px solid #ecf0f6;border-radius:9px;padding:4px}
.entity-compare-tab{background:transparent;border:none;font-family:inherit;font-size:12px;font-weight:600;color:#6b7689;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease}
.entity-compare-tab.active{background:#1a3a8f;color:#fff}
.entity-compare-grid{display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:0;overflow-x:auto}
.entity-compare-cell{padding:14px 12px;border-bottom:1px solid #fbfcfe;font-size:13px;color:#3a4254;display:flex;align-items:center;min-height:54px}
.entity-compare-cell.head{background:linear-gradient(180deg,#fbfcfe 0%,#fff 100%);font-family:Georgia,serif;color:#1a3a8f;font-weight:600;font-size:14px;border-bottom:2px solid #1a3a8f;justify-content:center;text-align:center;flex-direction:column;padding:14px 8px;min-height:80px}
.entity-compare-cell.head .entity-icon{width:32px;height:32px;border-radius:8px;background:#1a3a8f;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:6px}
.entity-compare-cell.head.recommended{background:linear-gradient(180deg,#f5efdf 0%,#fff 100%)}
.entity-compare-cell.head.recommended .entity-icon{background:#a0782a}
.entity-compare-cell.head.recommended::after{content:"MOST POPULAR";position:absolute;top:0;left:0;right:0;padding:3px;font-size:9px;letter-spacing:.06em;background:#a0782a;color:#fff;font-family:'JetBrains Mono',monospace;text-align:center;font-weight:700}
.entity-compare-cell.row-label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#a0782a;font-weight:700}
.entity-compare-cell.center{justify-content:center;text-align:center}
.entity-compare-check{color:#1a5e3a;font-weight:700;font-size:18px}
.entity-compare-cross{color:#a22e2e;opacity:.65;font-size:16px}
.entity-compare-partial{color:#a0782a}
.entity-compare-cta{margin-top:18px;text-align:center}

/* Dashboard frame (browser chrome around mockups) */
.dash-frame{background:#fff;border-radius:14px;border:1px solid #ecf0f6;box-shadow:0 30px 80px rgba(20,28,50,.18);overflow:hidden}
.dash-frame-chrome{background:#fbfcfe;border-bottom:1px solid #ecf0f6;padding:10px 14px;display:flex;align-items:center;gap:6px}
.dash-frame-dot{width:11px;height:11px;border-radius:50%}
.dash-frame-dot:nth-child(1){background:#ff5f56}
.dash-frame-dot:nth-child(2){background:#ffbd2e}
.dash-frame-dot:nth-child(3){background:#28c941}
.dash-frame-addr{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:11px;color:#6b7689;background:#fff;border:1px solid #ecf0f6;padding:4px 12px;border-radius:6px}

/* Composite-case banner */
.composite-banner{background:linear-gradient(135deg,#f5efdf 0%,#fff 100%);border:1px solid rgba(160,120,42,.25);border-radius:12px;padding:16px 20px;margin:20px 0;display:flex;align-items:center;gap:16px;font-size:14px;color:#7a5a1f}
.composite-banner-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:#a0782a;color:#fff;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-weight:700;font-size:18px}
.composite-banner strong{color:#7a5a1f;font-family:Georgia,serif;display:block;margin-bottom:2px}

/* ============================================================
   TIER 2, additional visual components
   ============================================================ */

/* === C57 Filing Status Tracker === */
.status-tracker{max-width:920px;margin:0 auto;background:#fff;border:1px solid #ecf0f6;border-radius:18px;padding:28px;box-shadow:0 24px 60px rgba(20,28,50,.08)}
.status-tracker-head{margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #ecf0f6}
.status-tracker-head h3{font-family:Georgia,serif;color:#1a3a8f;margin:0 0 6px;font-size:22px;font-weight:600}
.status-tracker-head p{color:#6b7689;font-size:14px;margin:0}
.status-tracker-id{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:11px;color:#a0782a;background:#f5efdf;padding:4px 10px;border-radius:6px;letter-spacing:.04em;margin-bottom:8px}
.status-tracker-progress{position:relative;height:8px;background:#ecf0f6;border-radius:4px;overflow:hidden;margin-bottom:24px}
.status-tracker-bar{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#1a3a8f 0%,#a0782a 100%);border-radius:4px;transition:width .8s ease}
.status-tracker-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}
.status-tracker-step{position:relative;text-align:center;padding:0 8px}
.status-tracker-step-dot{width:38px;height:38px;border-radius:50%;background:#fff;border:2px solid #ecf0f6;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-weight:700;font-size:14px;color:#6b7689;margin:0 auto 10px;position:relative;z-index:1;transition:all .35s ease}
.status-tracker-step.done .status-tracker-step-dot{background:#1a5e3a;border-color:#1a5e3a;color:#fff}
.status-tracker-step.done .status-tracker-step-dot::after{content:"✓";font-size:18px}
.status-tracker-step.done .status-tracker-step-dot{font-size:0}
.status-tracker-step.active .status-tracker-step-dot{background:#1a3a8f;border-color:#1a3a8f;color:#fff;box-shadow:0 0 0 6px rgba(26,58,143,.18);animation:pulse-ring 2.2s infinite}
@keyframes pulse-ring{0%,100%{box-shadow:0 0 0 0 rgba(26,58,143,.4)}50%{box-shadow:0 0 0 12px rgba(26,58,143,0)}}
.status-tracker-step-label{font-size:11px;font-family:'JetBrains Mono',monospace;letter-spacing:.04em;color:#1a3a8f;font-weight:700;text-transform:uppercase;margin-bottom:4px}
.status-tracker-step-time{font-size:11px;color:#6b7689}
.status-tracker-step.done .status-tracker-step-label{color:#1a5e3a}
.status-tracker-step.active .status-tracker-step-label{color:#1a3a8f}
.status-tracker-detail{margin-top:24px;padding:18px;background:#fbfcfe;border:1px solid #ecf0f6;border-radius:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;font-size:13px}
.status-tracker-detail strong{display:block;color:#a0782a;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}

/* === C58 Compliance Score visualization === */
.compliance-score{max-width:900px;margin:0 auto;background:#fff;border:1px solid #ecf0f6;border-radius:18px;padding:36px;box-shadow:0 24px 60px rgba(20,28,50,.08);display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:center}
@media (max-width: 720px){.compliance-score{grid-template-columns:1fr}}
.compliance-score-ring{position:relative;width:260px;height:260px;margin:0 auto}
.compliance-score-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.compliance-score-ring-bg{fill:none;stroke:#ecf0f6;stroke-width:14}
.compliance-score-ring-fg{fill:none;stroke:url(#scoreGradient);stroke-width:14;stroke-linecap:round;transition:stroke-dashoffset 1.4s ease}
.compliance-score-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.compliance-score-number{font-family:Georgia,serif;color:#1a3a8f;font-size:72px;font-weight:600;line-height:1}
.compliance-score-of{font-size:13px;color:#6b7689;margin-top:-4px}
.compliance-score-label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;color:#a0782a;font-weight:700;text-transform:uppercase;margin-top:8px}
.compliance-score-breakdown{display:flex;flex-direction:column;gap:14px}
.compliance-score-row{display:grid;grid-template-columns:140px 1fr 50px;gap:14px;align-items:center;font-size:13px}
.compliance-score-row-label{color:#1a3a8f;font-weight:600}
.compliance-score-row-bar{height:8px;background:#ecf0f6;border-radius:4px;overflow:hidden;position:relative}
.compliance-score-row-fill{height:100%;background:#1a3a8f;border-radius:4px;transition:width 1s ease}
.compliance-score-row-fill.warn{background:#fbcb6b}
.compliance-score-row-fill.crit{background:#a22e2e}
.compliance-score-row-fill.good{background:#1a5e3a}
.compliance-score-row-pct{font-family:'JetBrains Mono',monospace;color:#6b7689;font-weight:700;text-align:right;font-size:12px}

/* === C59 State Fee comparison tool === */
.fee-tool{max-width:1080px;margin:0 auto;background:#fff;border:1px solid #ecf0f6;border-radius:18px;padding:24px;box-shadow:0 24px 60px rgba(20,28,50,.08)}
.fee-tool-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid #ecf0f6}
.fee-tool-head h3{font-family:Georgia,serif;color:#1a3a8f;margin:0;font-size:20px;font-weight:600}
.fee-tool-filters{display:flex;gap:10px;flex-wrap:wrap}
.fee-tool-filter{padding:6px 12px;background:#fbfcfe;border:1px solid #ecf0f6;border-radius:7px;font-size:12px;color:#3a4254;font-family:inherit;cursor:pointer;transition:all .2s ease}
.fee-tool-filter.active{background:#1a3a8f;color:#fff;border-color:#1a3a8f}
.fee-tool-table{width:100%;border-collapse:collapse;font-size:13px}
.fee-tool-table th{text-align:left;padding:10px 14px;color:#a0782a;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;border-bottom:1px solid #ecf0f6;background:#fbfcfe;cursor:pointer;user-select:none}
.fee-tool-table th:hover{color:#1a3a8f}
.fee-tool-table td{padding:11px 14px;border-bottom:1px solid #fbfcfe;color:#3a4254}
.fee-tool-table tr:hover td{background:#fbfcfe}
.fee-tool-table td.num{font-family:'JetBrains Mono',monospace;font-weight:600;color:#1a3a8f}
.fee-tool-bar{display:inline-block;height:6px;background:#ecf0f6;border-radius:3px;width:80px;margin-left:8px;vertical-align:middle;overflow:hidden;position:relative}
.fee-tool-bar-fill{height:100%;background:#1a3a8f;border-radius:3px}

/* === C60 Workflow Diagrams === */
.workflow{max-width:980px;margin:0 auto;background:#fff;border:1px solid #ecf0f6;border-radius:18px;padding:28px;box-shadow:0 24px 60px rgba(20,28,50,.08)}
.workflow-head{margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #ecf0f6}
.workflow-head h3{font-family:Georgia,serif;color:#1a3a8f;margin:0 0 6px;font-size:22px;font-weight:600}
.workflow-head p{color:#6b7689;font-size:14px;margin:0}
.workflow-track{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;align-items:start}
.workflow-track::before{content:"";position:absolute;top:34px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,#1a3a8f 0,#1a3a8f 8px,transparent 8px,transparent 14px);z-index:0}
.workflow-node{position:relative;z-index:1;text-align:center;padding:0 12px}
.workflow-node-circle{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,#1a3a8f 0%,#0f1e4b 100%);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 12px 28px rgba(26,58,143,.2);position:relative}
.workflow-node-circle svg{width:30px;height:30px}
.workflow-node-circle::after{content:attr(data-step);position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid #1a3a8f;color:#1a3a8f;font-family:Georgia,serif;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
.workflow-node-title{font-family:Georgia,serif;color:#1a3a8f;font-size:16px;font-weight:600;margin:0 0 4px}
.workflow-node-time{font-size:11px;font-family:'JetBrains Mono',monospace;letter-spacing:.04em;color:#a0782a;font-weight:700;text-transform:uppercase;margin-bottom:8px;display:block}
.workflow-node-desc{font-size:12px;color:#6b7689;line-height:1.55;margin:0}
@media (max-width: 720px){.workflow-track{grid-template-columns:1fr;gap:24px}.workflow-track::before{display:none}.workflow-node{display:grid;grid-template-columns:68px 1fr;gap:16px;text-align:left}}


/* ═══════════════════════════════════════════════════════════════════ */
/*                  V2 PREMIUM VISUAL LIBRARY                         */
/* Reusable premium components: hero treatments, KPI bands,           */
/* section dividers, hover effects, motion, callouts.                 */
/* Namespaced with .v2- to prevent collisions.                        */
/* ═══════════════════════════════════════════════════════════════════ */

/* ─── PREMIUM HERO BACKGROUNDS ─── */
.v2-hero{position:relative;overflow:hidden;padding:64px 0 48px;background:linear-gradient(180deg,#fbfcfe 0%,#fff 60%)}
.v2-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at top right,rgba(160,120,42,.08) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at bottom left,rgba(26,58,143,.06) 0%,transparent 60%);pointer-events:none;z-index:0}
.v2-hero::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,#a0782a 50%,transparent 100%);opacity:.4;z-index:1}
.v2-hero > .container{position:relative;z-index:2}

.v2-hero-mesh{position:relative;overflow:hidden;padding:80px 0 56px;background:#fbfcfe}
.v2-hero-mesh::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(26,58,143,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(26,58,143,.03) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse at center,#000 0%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,#000 0%,transparent 70%);z-index:0}
.v2-hero-mesh::after{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(160,120,42,.12) 0%,transparent 60%);pointer-events:none;z-index:0}
.v2-hero-mesh > .container{position:relative;z-index:2}

.v2-hero-dark{position:relative;overflow:hidden;padding:80px 0 56px;background:linear-gradient(135deg,#0f1e4b 0%,#1a3a8f 60%,#2a4ba1 100%);color:#fff}
.v2-hero-dark::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at top right,rgba(160,120,42,.25) 0%,transparent 50%),radial-gradient(ellipse at bottom left,rgba(134,214,166,.15) 0%,transparent 50%);pointer-events:none;z-index:0}
.v2-hero-dark::after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(255,255,255,.06) 1px,transparent 1px),radial-gradient(circle at 80% 20%,rgba(255,255,255,.08) 1px,transparent 1px);background-size:60px 60px,90px 90px;opacity:.6;pointer-events:none;z-index:0}
.v2-hero-dark > .container{position:relative;z-index:2}
.v2-hero-dark h1,.v2-hero-dark h2,.v2-hero-dark h3{color:#fff}
.v2-hero-dark p{color:rgba(255,255,255,.85)}

/* ─── LIVE STATUS PILL ─── */
.v2-live-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;background:#f5efdf;border-radius:999px;margin-bottom:18px}
.v2-live-pill-dot{width:8px;height:8px;border-radius:50%;background:#86d6a6;box-shadow:0 0 0 4px rgba(134,214,166,.3);animation:v2-pulse-dot 2s infinite}
.v2-live-pill-text{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.08em;color:#7a5a1f;font-weight:700;text-transform:uppercase}
@keyframes v2-pulse-dot{0%,100%{box-shadow:0 0 0 0 rgba(134,214,166,.6)}50%{box-shadow:0 0 0 8px rgba(134,214,166,0)}}

/* ─── KPI BAND ─── */
.v2-kpi-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:#ecf0f6;border:1px solid #ecf0f6;border-radius:14px;overflow:hidden;margin:32px 0}
.v2-kpi-cell{background:#fff;padding:24px;text-align:center;transition:background .25s ease}
.v2-kpi-cell:hover{background:#fbfcfe}
.v2-kpi-num{font-family:Georgia,serif;font-size:36px;color:#1a3a8f;font-weight:600;line-height:1;letter-spacing:-.015em;margin-bottom:6px}
.v2-kpi-label{font-family:JetBrains Mono,monospace;font-size:10px;color:#a0782a;letter-spacing:.1em;font-weight:700;text-transform:uppercase}
.v2-kpi-sub{font-size:12px;color:#6b7689;margin-top:6px}

.v2-kpi-band-dark{background:linear-gradient(135deg,#0f1e4b 0%,#1a3a8f 100%);border:none;border-radius:18px;padding:8px;gap:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.v2-kpi-band-dark .v2-kpi-cell{background:rgba(255,255,255,.06);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:24px;transition:all .3s ease}
.v2-kpi-band-dark .v2-kpi-cell:hover{background:rgba(255,255,255,.10);transform:translateY(-2px)}
.v2-kpi-band-dark .v2-kpi-num{color:#fff}
.v2-kpi-band-dark .v2-kpi-label{color:#fbcb6b}
.v2-kpi-band-dark .v2-kpi-sub{color:rgba(255,255,255,.7)}

/* ─── SECTION DIVIDERS (decorative SVG separators between sections) ─── */
.v2-divider{position:relative;height:80px;background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);overflow:hidden}
.v2-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,#ecf0f6 20%,#a0782a 50%,#ecf0f6 80%,transparent 100%);transform:translateY(-50%)}
.v2-divider-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#fff;border:2px solid #a0782a;border-radius:50%;z-index:2}

.v2-divider-wave{height:60px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0,30 Q360,5 720,30 T1440,30 L1440,60 L0,60 Z' fill='%23fbfcfe'/%3E%3C/svg%3E") no-repeat center/100% 100%}

/* ─── PREMIUM CARD V2 ─── */
.v2-card{background:#fff;border:1px solid #ecf0f6;border-radius:14px;padding:24px;position:relative;overflow:hidden;transition:all .3s ease}
.v2-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#a0782a,#1a3a8f);opacity:0;transition:opacity .3s ease}
.v2-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(26,58,143,.12);border-color:#1a3a8f}
.v2-card:hover::before{opacity:1}
.v2-card-num{position:absolute;top:18px;right:22px;font-family:Georgia,serif;font-size:54px;color:#f5efdf;font-weight:700;line-height:1;letter-spacing:-.02em}
.v2-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;background:linear-gradient(135deg,#1a3a8f,#0f1e4b);color:#fff}
.v2-card-icon-gold{background:linear-gradient(135deg,#a0782a,#7a5a1f)}
.v2-card-icon-green{background:linear-gradient(135deg,#1a5e3a,#1a5e3a)}
.v2-card-title{font-family:Georgia,serif;color:#1a3a8f;font-size:20px;margin:0 0 8px;font-weight:600;letter-spacing:-.005em}
.v2-card-meta{font-family:JetBrains Mono,monospace;font-size:11px;color:#a0782a;letter-spacing:.08em;font-weight:700;text-transform:uppercase;margin-top:10px}

.v2-card-feature{position:relative;background:#fff;border:1px solid #ecf0f6;border-radius:16px;padding:28px 26px;transition:all .3s ease;overflow:hidden}
.v2-card-feature::after{content:'';position:absolute;bottom:0;left:-10%;right:-10%;height:80px;background:radial-gradient(ellipse at center bottom,rgba(160,120,42,.08) 0%,transparent 70%);transition:transform .35s ease;transform:translateY(40px);pointer-events:none}
.v2-card-feature:hover::after{transform:translateY(0)}
.v2-card-feature:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgba(26,58,143,.10);border-color:#a0782a}

/* ─── TRUST BADGE CONSTELLATION V2 ─── */
.v2-badge-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;padding:20px 0;border-top:1px solid #ecf0f6;border-bottom:1px solid #ecf0f6;margin:32px 0}
.v2-badge{display:inline-flex;align-items:center;gap:8px;background:#fbfcfe;border:1px solid #ecf0f6;border-radius:999px;padding:8px 16px;font-size:12px;color:#3a4254;font-family:JetBrains Mono,monospace;font-weight:600;letter-spacing:.03em}
.v2-badge svg{width:14px;height:14px;flex-shrink:0}
.v2-badge-check{color:#1a5e3a}
.v2-badge-gold{color:#a0782a;background:#f5efdf;border-color:#f5efdf}
.v2-badge-navy{color:#1a3a8f;background:#fff;border-color:#1a3a8f}

/* ─── CALLOUT / FEATURE HIGHLIGHT ─── */
.v2-callout{background:linear-gradient(135deg,#f5efdf 0%,#f5efdf 100%);border:1px solid #f5efdf;border-radius:16px;padding:28px 32px;display:flex;gap:22px;align-items:center;margin:28px 0;position:relative;overflow:hidden}
.v2-callout::before{content:'';position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:radial-gradient(circle,rgba(160,120,42,.18) 0%,transparent 70%);pointer-events:none}
.v2-callout-icon{width:56px;height:56px;background:#fff;border:2px solid #a0782a;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}
.v2-callout-body{flex:1;position:relative;z-index:1}
.v2-callout-eyebrow{font-family:JetBrains Mono,monospace;font-size:10px;color:#a0782a;letter-spacing:.1em;font-weight:700;text-transform:uppercase;margin-bottom:6px}
.v2-callout-title{font-family:Georgia,serif;color:#1a3a8f;font-size:20px;font-weight:600;margin:0 0 6px}
.v2-callout-text{color:#3a4254;font-size:14px;line-height:1.55;margin:0}

.v2-callout-dark{background:linear-gradient(135deg,#0f1e4b 0%,#1a3a8f 100%);border:none;color:#fff}
.v2-callout-dark .v2-callout-icon{background:#a0782a;border-color:#a0782a;color:#fff}
.v2-callout-dark .v2-callout-eyebrow{color:#fbcb6b}
.v2-callout-dark .v2-callout-title{color:#fff}
.v2-callout-dark .v2-callout-text{color:rgba(255,255,255,.8)}

/* ─── INLINE METRIC CARD (for fee/stat callouts) ─── */
.v2-metric{background:#fbfcfe;border:1px solid #ecf0f6;border-radius:10px;padding:14px;transition:background .25s ease,border-color .25s ease}
.v2-metric:hover{background:#fff;border-color:#a0782a}
.v2-metric-label{font-family:JetBrains Mono,monospace;font-size:9px;color:#a0782a;letter-spacing:.1em;font-weight:700;text-transform:uppercase;margin-bottom:6px}
.v2-metric-value{font-family:Georgia,serif;font-size:24px;color:#1a3a8f;font-weight:600;line-height:1}
.v2-metric-sub{font-size:11px;color:#6b7689;margin-top:4px}

/* ─── EYEBROW / META LABEL ─── */
.v2-eyebrow{display:inline-block;font-family:JetBrains Mono,monospace;font-size:11px;color:#a0782a;letter-spacing:.1em;font-weight:700;text-transform:uppercase;margin-bottom:10px}

/* ─── DASHBOARD FRAME (reusable across pages) ─── */
.v2-dashboard{background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(20,28,50,.18);overflow:hidden;position:relative}
.v2-dashboard-tilt{transform:perspective(1200px) rotateY(-3deg) rotateX(2deg);transform-origin:left center}
.v2-dashboard-bar{background:linear-gradient(180deg,#fbfcfe 0%,#fbfcfe 100%);border-bottom:1px solid #ecf0f6;padding:14px 18px;display:flex;align-items:center;gap:6px}
.v2-dashboard-dot{width:11px;height:11px;border-radius:50%}
.v2-dashboard-dot-r{background:#ff5f56}
.v2-dashboard-dot-y{background:#ffbd2e}
.v2-dashboard-dot-g{background:#28c941}
.v2-dashboard-url{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px;color:#6b7689;background:#fff;border:1px solid #ecf0f6;padding:4px 14px;border-radius:6px}

/* ─── HOVER LIFT / MOTION ─── */
.v2-lift{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease}
.v2-lift:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(26,58,143,.12)}

.v2-fade-in{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.v2-fade-in.is-visible{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  .v2-fade-in{opacity:1 !important;transform:none !important;transition:none !important}
  .v2-lift{transition:none}
  .v2-live-pill-dot{animation:none}
}

/* ─── COMPARISON TABLE V2 (premium) ─── */
.v2-compare{background:#fff;border-radius:16px;box-shadow:0 14px 50px rgba(20,28,50,.08);overflow:hidden;border:1px solid #ecf0f6;margin:24px 0}
.v2-compare-head{display:grid;grid-template-columns:1.4fr repeat(4,1fr);background:#fbfcfe;border-bottom:1px solid #ecf0f6}
.v2-compare-head > div{padding:18px 14px;text-align:center;font-size:13px;color:#6b7689}
.v2-compare-head > div:first-child{text-align:left;padding-left:22px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.v2-compare-head > div.is-us{font-family:Georgia,serif;color:#1a3a8f;font-size:14px;font-weight:700;background:#f5efdf}
.v2-compare-row{display:grid;grid-template-columns:1.4fr repeat(4,1fr);border-bottom:1px solid #ecf0f6}
.v2-compare-row:nth-child(odd){background:#fbfcfe}
.v2-compare-row:last-child{border-bottom:none}
.v2-compare-row > div{padding:14px 14px;text-align:center;font-size:13px;color:#6b7689}
.v2-compare-row > div:first-child{text-align:left;padding-left:22px;color:#1a3a8f;font-weight:600}
.v2-compare-row > div.is-us{color:#1a5e3a;font-weight:700;background:#f5efdf}

/* ─── PROCESS TIMELINE V2 ─── */
.v2-process{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;position:relative;padding:14px 0}
.v2-process-step{background:#fff;border:1px solid #ecf0f6;border-radius:14px;padding:24px;position:relative}
.v2-process-step::before{content:attr(data-step);position:absolute;top:18px;right:22px;font-family:Georgia,serif;font-size:48px;color:#f5efdf;font-weight:700;line-height:1}
.v2-process-icon{width:44px;height:44px;border-radius:11px;background:linear-gradient(135deg,#1a3a8f,#0f1e4b);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.v2-process-title{font-family:Georgia,serif;color:#1a3a8f;font-size:18px;font-weight:600;margin:0 0 6px}
.v2-process-text{color:#3a4254;font-size:13px;line-height:1.5;margin:0 0 10px}
.v2-process-time{font-family:JetBrains Mono,monospace;font-size:10px;color:#a0782a;font-weight:700;letter-spacing:.06em}

/* ─── AVATAR STACK ─── */
.v2-avatar-stack{display:flex}
.v2-avatar{width:30px;height:30px;border-radius:50%;border:2px solid #fff;color:#fff;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-weight:700;font-size:12px}
.v2-avatar+.v2-avatar{margin-left:-8px}
.v2-avatar-1{background:linear-gradient(135deg,#a0782a,#7a5a1f)}
.v2-avatar-2{background:linear-gradient(135deg,#1a3a8f,#0f1e4b)}
.v2-avatar-3{background:linear-gradient(135deg,#86d6a6,#1a5e3a)}
.v2-avatar-4{background:linear-gradient(135deg,#ecf0f6,#1a3a8f)}

/* ─── PROOF ROW ─── */
.v2-proof{display:flex;gap:14px;align-items:center;padding-top:14px;border-top:1px solid #ecf0f6}
.v2-proof-text{font-size:13px;color:#3a4254;line-height:1.4}
.v2-proof-text strong{color:#1a3a8f}

/* ─── HEADER ACCENT (decorative top border for sections) ─── */
.v2-accent{position:relative}
.v2-accent::before{content:'';display:block;width:48px;height:3px;background:linear-gradient(90deg,#a0782a,#1a3a8f);border-radius:2px;margin-bottom:14px}

/* ─── SECTION INTRO HEADER (premium centered intro) ─── */
.v2-section-intro{text-align:center;max-width:720px;margin:0 auto 36px}
.v2-section-intro h2{font-family:Georgia,serif;font-size:38px;color:#1a3a8f;margin:8px 0 14px;font-weight:600;letter-spacing:-.012em;line-height:1.15}
.v2-section-intro p{font-size:17px;color:#3a4254;line-height:1.55;margin:0}

@media (max-width: 900px){
  .v2-hero, .v2-hero-mesh, .v2-hero-dark{padding:48px 0 32px}
  .v2-section-intro h2{font-size:28px}
  .v2-callout{flex-direction:column;text-align:center}
}


/* ════════════════════════════════════════════════════════════════
   A11Y ENHANCEMENTS, added for 95+ deployment score
   Skip link, focus rings, AA gold token, motion guards
   ════════════════════════════════════════════════════════════════ */

/* Skip-to-content link */
.skip-link{position:absolute;left:-9999px;top:0;background:#1a3a8f;color:#fff;padding:12px 18px;border-radius:0 0 8px 0;font-weight:700;z-index:9999;text-decoration:none;font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.skip-link:focus,.skip-link:focus-visible{left:0;outline:3px solid #fbcb6b;outline-offset:2px}

/* :focus-visible on every interactive element, WCAG keyboard nav */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.v2-card:focus-visible,
.v2-badge:focus-visible,
.v2-kpi-cell:focus-visible,
.us-state:focus-visible,
[tabindex="0"]:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid #a0782a;
  outline-offset: 3px;
  border-radius: 6px;
  box-shadow: 0 0 0 4px rgba(160,120,42,.15);
}

/* High-contrast gold for body text (WCAG AA 4.5:1 on white) */
:root {
  --c-gold-body: #6b4a14;       /* contrast 7.0:1 on #fbfcfe, AA Large + AAA */
  --c-gold-body-on-cream: #5a3e10; /* contrast 7.5:1 on #f5efdf */
}

/* Apply the AA-compliant gold to body-size text */
.v2-eyebrow,
.v2-kpi-label,
.v2-card-meta,
.v2-callout-eyebrow,
.v2-live-pill-text,
.step-meta {
  color: var(--c-gold-body);
}

/* prefers-reduced-motion, guard all animations */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .v2-fade-in { opacity: 1 !important; transform: none !important; }
  .v2-live-pill-dot { box-shadow: 0 0 0 0 rgba(134,214,166,.6) !important; animation: none !important; }
}

/* Mobile touch targets, Apple HIG + WCAG 2.1 AAA */
@media (pointer: coarse) {
  .v2-badge,
  .v2-card a,
  .v2-kpi-cell a,
  button[type="submit"],
  .cta-primary,
  .help-widget-option,
  .nav-main a,
  .footer-cols a {
    min-height: 44px;
    padding-top: max(7px, 0.4em);
    padding-bottom: max(7px, 0.4em);
    display: inline-flex;
    align-items: center;
  }
  .v2-card {
    min-height: 44px;
  }
}

/* Mobile hero H1 clamp, prevents 60px text overflowing 380px viewport */
@media (max-width: 900px) {
  .hero-conv h1,
  .v2-hero h1,
  .v2-hero-mesh h1,
  .v2-hero-dark h1 {
    font-size: clamp(28px, 6.5vw, 60px) !important;
  }
  .dash-frame {
    transform: none !important;  /* flatten 3D dashboard mockup on mobile */
  }
}

/* Sticky mobile CTA bar */
.mobile-sticky-cta {
  display: none;
}
@media (max-width: 768px) {
  .mobile-sticky-cta {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(180deg, rgba(26,58,143,.95) 0%, #1a3a8f 100%);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 12px 16px env(safe-area-inset-bottom, 12px);
    z-index: 9000;
    align-items: center;
    gap: 12px;
    box-shadow: 0 -8px 24px rgba(15,30,75,.25);
    border-top: 1px solid rgba(255,255,255,.1);
  }
  .mobile-sticky-cta-text {
    flex: 1;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
  }
  .mobile-sticky-cta-btn {
    background: #a0782a;
    color: #fff;
    padding: 10px 18px;
    border-radius: 9px;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    white-space: nowrap;
    flex-shrink: 0;
  }
  body { padding-bottom: 70px; }
}


/* Sticky CTA + cookie banner stacking, don't show both at once on mobile */
@media (max-width: 768px) {
  body:has(.cookie-banner.show) .mobile-sticky-cta { transform: translateY(100%); transition: transform .25s ease; }
  .cookie-banner.show { bottom: 0 !important; z-index: 9100 !important; }
}


/* Photo strip, shorter on mobile so they don't dominate the viewport */
@media (max-width: 600px) {
  section .container > div[style*="grid-template-columns:repeat(auto-fit,minmax(260px"] figure,
  section .container > div[style*="grid-template-columns:repeat(auto-fit,minmax(280px"] figure {
    height: 160px !important;
  }
  /* Sticky CTA shouldn't squish the page on very small screens */
  body.has-sticky-cta { padding-bottom: 64px; }
}


/* Help widget, move above the sticky CTA on mobile */
@media (max-width: 768px) {
  .help-widget-btn { bottom: calc(80px + env(safe-area-inset-bottom, 12px)) !important; }
}


/* Dark callout, override eyebrow color so it reads on navy bg */
.v2-callout-dark .v2-callout-eyebrow { color: #fbcb6b !important; }
.v2-callout-dark .v2-callout-title { color: #fff !important; }
.v2-callout-dark .v2-callout-text { color: rgba(255,255,255,.88) !important; }
.v2-hero-dark .v2-eyebrow, .v2-kpi-band-dark .v2-kpi-label { color: #fbcb6b !important; }


/* ════════════════════════════════════════════════════════════════
   HOW IT WORKS, 3-step section
   Previously unstyled (CSS classes missing); now premium card grid
   ════════════════════════════════════════════════════════════════ */

.how-works {
  padding: 80px 0;
  background: linear-gradient(180deg, #fbfcfe 0%, #fff 100%);
  position: relative;
  overflow: hidden;
}
.how-works::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 40% at top right, rgba(160,120,42,.06) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}
.how-works > .container {
  position: relative;
  z-index: 1;
}

.how-works-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 48px;
}
.how-works-head .step-meta {
  display: inline-block;
  font-family: JetBrains Mono, monospace;
  font-size: 11px;
  letter-spacing: .1em;
  color: #6b4a14;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.how-works-head h2 {
  font-family: Georgia, serif;
  font-size: 38px;
  color: #1a3a8f;
  margin: 0 0 16px;
  font-weight: 600;
  letter-spacing: -.012em;
  line-height: 1.15;
}
.how-works-head p {
  font-size: 17px;
  color: #3a4254;
  line-height: 1.6;
  margin: 0;
}

.how-works-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
  position: relative;
}

/* Connector line between cards on desktop */
@media (min-width: 901px) {
  .how-works-grid::before {
    content: '';
    position: absolute;
    top: 64px;
    left: 16.66%;
    right: 16.66%;
    height: 2px;
    background: repeating-linear-gradient(90deg, #ecf0f6 0 6px, transparent 6px 14px);
    z-index: 0;
  }
}

.how-step {
  background: #fff;
  border: 1px solid #ecf0f6;
  border-radius: 16px;
  padding: 32px 28px 28px;
  position: relative;
  transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease;
  z-index: 1;
}
.how-step::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #a0782a, #1a3a8f);
  border-radius: 16px 16px 0 0;
  opacity: 0;
  transition: opacity .3s ease;
}
.how-step:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 50px rgba(26,58,143,.10);
  border-color: #a0782a;
}
.how-step:hover::before {
  opacity: 1;
}

.how-step-num {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1a3a8f 0%, #0f1e4b 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Georgia, serif;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 18px;
  position: relative;
  box-shadow: 0 8px 24px rgba(26,58,143,.25);
}
.how-step-num::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid #f5efdf;
  z-index: -1;
}

.how-step h3 {
  font-family: Georgia, serif;
  color: #1a3a8f;
  font-size: 21px;
  margin: 0 0 12px;
  font-weight: 600;
  letter-spacing: -.005em;
  line-height: 1.25;
}
.how-step p {
  color: #3a4254;
  font-size: 14px;
  line-height: 1.55;
  margin: 0 0 18px;
}

.how-step-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #f5efdf;
  border: 1px solid #e8dcc0;
  border-radius: 999px;
  padding: 7px 14px;
  font-family: JetBrains Mono, monospace;
  font-size: 11px;
  color: #6b4a14;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.how-step-meta-time {
  color: #1a3a8f;
  font-weight: 700;
}

@media (max-width: 900px) {
  .how-works { padding: 56px 0; }
  .how-works-head h2 { font-size: 28px; }
  .how-step { padding: 24px 22px 20px; }
  .how-step-num { width: 48px; height: 48px; font-size: 20px; }
}


/* ════════════════════════════════════════════════════════════════
   HOMEPAGE, fix all sections rendering unstyled
   ════════════════════════════════════════════════════════════════ */

/* ─── TRUST CONSTELLATION, fix overflow + dark-bg color contrast ─── */
.trust-constellation-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 16px !important;
}
.trust-badge {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 14px !important;
  padding: 22px 20px !important;
  color: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 200px;
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, background .25s ease, border-color .25s ease;
}
.trust-badge:hover {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(160,120,42,.4) !important;
  transform: translateY(-3px);
}
.trust-badge.gold { border-color: rgba(160,120,42,.3) !important; }
.trust-badge.green { border-color: rgba(134,214,166,.3) !important; }
.trust-badge-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 11px;
  background: linear-gradient(135deg, #a0782a 0%, #7a5a1f 100%) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  flex-shrink: 0;
}
.trust-badge-icon svg { width: 20px; height: 20px; }
.trust-badge.green .trust-badge-icon { background: linear-gradient(135deg, #86d6a6 0%, #1a5e3a 100%) !important; }
.trust-badge-label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
  color: #fbcb6b !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}
.trust-badge-value {
  font-family: Georgia, serif !important;
  color: #fff !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  margin: 0 0 10px !important;
  letter-spacing: -.01em;
}
.trust-badge-desc {
  font-size: 12px !important;
  color: rgba(255,255,255,.72) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  flex: 1;
}

/* ─── SAVINGS TEASER, vs-competitor comparison block ─── */
.savings-teaser {
  padding: 72px 0;
  background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
}
.savings-card {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 48px;
  align-items: center;
  background: #fff;
  border: 1px solid #ecf0f6;
  border-radius: 18px;
  padding: 40px 44px;
  box-shadow: 0 18px 50px rgba(20,28,50,.08);
  position: relative;
  overflow: hidden;
}
.savings-card::before {
  content: '';
  position: absolute;
  top: -100px;
  right: -100px;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(134,214,166,.12) 0%, transparent 60%);
  pointer-events: none;
}
.savings-card-tag {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: .1em;
  color: #6b4a14;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.savings-card h2 {
  font-family: Georgia, serif;
  font-size: 34px;
  color: #1a3a8f;
  margin: 0 0 14px;
  font-weight: 600;
  letter-spacing: -.012em;
  line-height: 1.15;
}
.savings-card p {
  color: #3a4254;
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 22px;
}
.savings-card-vis {
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  z-index: 1;
}
.savings-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fbfcfe;
  border: 1px solid #ecf0f6;
  border-radius: 11px;
  padding: 14px 18px;
  transition: background .2s ease, transform .2s ease;
}
.savings-bar:hover { background: #fff; transform: translateX(4px); }
.savings-bar.us {
  background: linear-gradient(90deg, #f5efdf 0%, #fbf6e7 100%);
  border-color: #a0782a;
  border-left-width: 4px;
}
.savings-bar-name {
  font-size: 13px;
  color: #1a3a8f;
  font-weight: 600;
}
.savings-bar.us .savings-bar-name { color: #7a5a1f; }
.savings-bar-price {
  font-family: Georgia, serif;
  font-size: 18px;
  color: #1a3a8f;
  font-weight: 700;
  letter-spacing: -.01em;
}
.savings-bar-saving {
  display: inline-block;
  margin-left: 6px;
  background: #a22e2e;
  color: #fff;
  padding: 3px 8px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 700;
  font-family: 'JetBrains Mono', monospace;
}
.savings-bar.us .savings-bar-price { color: #7a5a1f; }

/* ─── BTN-GHOST ─── */
.btn-ghost {
  background: transparent;
  color: #1a3a8f;
  border: 1px solid #ecf0f6;
  padding: 11px 20px;
  border-radius: 9px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  display: inline-block;
  transition: background .2s ease, border-color .2s ease;
}
.btn-ghost:hover { background: #fbfcfe; border-color: #a0782a; color: #1a3a8f; }

/* ─── COST CALC SECTION ─── */
.cost-calc-section {
  padding: 72px 0;
  background: #fff;
}
.cost-calc-input {
  padding: 13px 16px;
  border: 1px solid #ecf0f6;
  border-radius: 10px;
  font-family: inherit;
  font-size: 14px;
  color: #1a3a8f;
  background: #fbfcfe;
  width: 100%;
  max-width: 280px;
}
.cost-calc-input:focus { outline: 2px solid #a0782a; outline-offset: 2px; border-color: #a0782a; }
.cost-calc-cell-sub {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: #6b4a14;
  letter-spacing: .08em;
  font-weight: 700;
  text-transform: uppercase;
}
.cost-calc-cell-total {
  font-family: Georgia, serif;
  font-size: 28px;
  color: #1a3a8f;
  font-weight: 600;
  letter-spacing: -.01em;
}
.cost-calc-help {
  font-size: 13px;
  color: #6b7689;
  line-height: 1.5;
}
.cost-calc-note {
  background: #f5efdf;
  border: 1px solid #e8dcc0;
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 13px;
  color: #7a5a1f;
  margin-top: 14px;
}

/* ─── TIMELINE V2 SECTION ─── */
.timeline-v2-section {
  padding: 72px 0;
  background: linear-gradient(180deg, #fbfcfe 0%, #fff 100%);
}
.timeline-v2-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 40px;
}
.timeline-v2-cta {
  text-align: center;
  margin-top: 32px;
}
.timeline-step-body {
  flex: 1;
  padding-left: 18px;
}
.timeline-step-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #a0782a;
  box-shadow: 0 0 0 4px rgba(160,120,42,.18);
  flex-shrink: 0;
}
.timeline-pulse {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid #a0782a;
  animation: timeline-pulse-anim 2s infinite;
}
@keyframes timeline-pulse-anim {
  0% { opacity: .8; transform: scale(1); }
  100% { opacity: 0; transform: scale(2); }
}

/* ─── VIDEO SECTION ─── */
.video-section {
  padding: 72px 0;
  background: #fff;
}

/* ─── ACTIVITY TICKER ─── */
.activity-ticker-body {
  font-size: 13px;
  color: #3a4254;
}
.activity-ticker-icon {
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: linear-gradient(135deg, #86d6a6 0%, #1a5e3a 100%);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* ─── HAS-MEGA placeholder (mega menu trigger styling) ─── */
.has-mega { position: relative; }

/* Mobile collapse for savings-card 2-col layout */
@media (max-width: 900px) {
  .savings-card { grid-template-columns: 1fr !important; gap: 28px !important; padding: 28px 24px !important; }
  .savings-card h2 { font-size: 26px !important; }
  .trust-constellation-grid { grid-template-columns: 1fr !important; }
  .trust-badge { min-height: auto !important; }
}

/* ============================================================ */
/* PATCH · 2026-06-12 · Nav + footer fixes                       */
/* ============================================================ */

/* FIX 1 (v2): Resources mega menu — anchor to viewport right edge, not parent's right edge.
   Previous attempt used position:absolute with right:0 which extended LEFT off-screen
   because the parent nav-item is on the right side of the nav. Switching to position:fixed
   anchored to the viewport's right edge solves the overflow. */
.nav-main .nav-item.has-mega > .mega-right{
  position:fixed !important;
  top:68px !important;
  right:24px !important;
  left:auto !important;
  bottom:auto !important;
  max-width:min(1080px, calc(100vw - 48px)) !important;
  overflow:hidden !important;
  transform:translateY(-8px) !important;
  z-index:200 !important;
}
.nav-main .nav-item.has-mega:hover > .mega-right,
.nav-main .nav-item.has-mega:focus-within > .mega-right{
  transform:translateY(0) !important;
}
/* Hover bridge — invisible vertical strip that keeps hover state alive
   when the mouse moves from the Resources button down to the fixed panel. */
.nav-main .nav-item.has-mega > .mega-right::before{
  content:"" !important;
  position:fixed !important;
  top:50px !important;
  right:0 !important;
  width:280px !important;
  height:24px !important;
  background:transparent !important;
  pointer-events:auto !important;
  z-index:199 !important;
}
@media (max-width:1100px){
  .nav-main .nav-item.has-mega > .mega-right{display:none !important;}
}

/* FIX 2: Site-search positioning inside nav.
   Move site-search to the right area so it doesn't compete with nav items. */
.nav-main .site-search{
  margin-left:auto;
  max-width:240px;
  margin-right:18px;
}
.nav-main .site-search-input{
  height:36px;
  padding:8px 14px 8px 36px;
  background-position:10px center;
  background-size:14px;
  font-size:13px;
}
@media (max-width:1280px){
  .nav-main .site-search{display:none}
}

/* FIX 3 removed per user feedback · 2026-06-12 */

/* FIX 4: Footer columns — standardize 4-column section to match 5-column rhythm.
   When a footer-cols-4 sits next to footer-cols-5 sections, the 4-col version
   spans the same total width with wider columns, creating visual mismatch.
   Force 5-column grid layout, with the 5th cell auto-empty. */
.footer-section .footer-cols-4{
  grid-template-columns:repeat(5, 1fr) !important;
}

/* FIX 5: Footer section dividers — clearer visual page-breaks between sections. */
.footer-sections{gap:64px !important;}
.footer-section + .footer-section{
  padding-top:48px;
  border-top:1px solid rgba(245,239,223,.08);
  position:relative;
}
.footer-section + .footer-section::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:80px;
  height:1px;
  background:linear-gradient(90deg, #a0782a, transparent);
}

/* FIX 6: Footer section head — more distinct page-break treatment. */
.footer-section-head{
  font-size:14px !important;
  letter-spacing:4px !important;
  padding-bottom:18px !important;
  margin-bottom:28px !important;
  border-bottom-color:rgba(245,239,223,.12) !important;
}
.footer-section-head::before{
  width:8px !important;
  height:8px !important;
  box-shadow:0 0 0 3px rgba(160,120,42,.18);
}

/* FIX 7: Footer column gap tighter for better density */
.footer-cols{gap:36px 32px !important;}
.footer-col{gap:6px}
.footer-label{margin-bottom:14px !important; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.06)}

/* FIX 8: Footer responsive — collapse to 3 columns on tablet, 2 on mobile,
   1 on phone for a cleaner stacked layout. */
@media (max-width:1180px){
  .footer-cols-5, .footer-section .footer-cols-4{grid-template-columns:repeat(3, 1fr) !important;}
}
@media (max-width:820px){
  .footer-cols-5, .footer-section .footer-cols-4{grid-template-columns:repeat(2, 1fr) !important;}
  .footer-sections{gap:40px !important;}
  .footer-section + .footer-section{padding-top:32px;}
}
@media (max-width:520px){
  .footer-cols-5, .footer-section .footer-cols-4{grid-template-columns:1fr !important;}
  .footer-section-head{font-size:12px !important; letter-spacing:3px !important;}
}

/* FIX 9: Mega menu hover bridge polish — eliminates the menu-disappear-on-mouse-move
   gap between nav-link and mega-panel on the standard (not mega-right) menus. */
.nav-main .nav-item.has-mega > .mega:not(.mega-right){
  position:absolute;
  top:100%;
  left:0;
}
.nav-main .nav-item.has-mega > .mega:not(.mega-right)::before{
  content:"";
  position:absolute;
  top:-12px;
  left:0;
  right:0;
  height:12px;
  background:transparent;
  pointer-events:auto;
}

/* FIX 10: Keyboard accessibility — focus ring on nav links + search. */
.nav-link:focus-visible, .nav-cta:focus-visible, .nav-login:focus-visible,
.mm-link:focus-visible, .site-search-input:focus-visible{
  outline:3px solid #a0782a;
  outline-offset:3px;
  border-radius:6px;
}

/* /PATCH */


/* ============================================================ */
/* PATCH 2 · 2026-06-12 · timeline-v2 step-dot styles            */
/* DOM uses .timeline-step-dot + .timeline-step-body but CSS    */
/* only defined .timeline-step-marker — adding missing classes. */
/* ============================================================ */
.timeline-v2{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;position:relative;padding:64px 0 32px;background:#fff}
.timeline-v2 .timeline-line{position:absolute;top:96px;left:8%;right:8%;height:3px;background:#ecf0f6;border-radius:2px;z-index:1}
.timeline-v2 .timeline-line-fill{position:absolute;inset:0 100% 0 0;background:linear-gradient(90deg,#1a3a8f 0%,#a0782a 100%);border-radius:2px;transition:right 1s cubic-bezier(.45,.05,.55,.95)}
.timeline-v2 .timeline-step{text-align:center;padding:8px;position:relative;z-index:2}
.timeline-v2 .timeline-step-dot{width:64px;height:64px;border-radius:50%;background:#fff;border:3px solid #ecf0f6;display:flex;align-items:center;justify-content:center;color:#6b7689;margin:0 auto 18px;transition:border-color .3s,color .3s,transform .3s,background .3s;font-family:Source Serif 4,Georgia,serif;font-size:22px;font-weight:600;position:relative;z-index:3}
.timeline-v2 .timeline-step-dot span{position:relative;z-index:2}
.timeline-v2 .timeline-step.active .timeline-step-dot{border-color:#1a3a8f;background:#1a3a8f;color:#fff;transform:scale(1.06);box-shadow:0 8px 24px rgba(26,58,143,.18)}
.timeline-v2 .timeline-pulse{position:absolute;inset:-8px;border-radius:50%;border:2px solid rgba(26,58,143,.16);opacity:0;pointer-events:none}
.timeline-v2 .timeline-step.active .timeline-pulse{animation:tlPulse 2s ease-out infinite;opacity:1}
@keyframes tlPulse{0%{transform:scale(.95);opacity:.6}80%{transform:scale(1.35);opacity:0}100%{transform:scale(1.4);opacity:0}}
.timeline-v2 .timeline-step-body{padding:0 14px}
.timeline-v2 .timeline-step-time{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#a0782a;font-weight:700;margin-bottom:6px}
.timeline-v2 .timeline-step-body h3{font-family:Source Serif 4,Georgia,serif;font-size:17px;color:#1a3a8f;margin:0 0 8px;font-weight:600;letter-spacing:-.005em}
.timeline-v2 .timeline-step-body p{font-size:13.5px;color:#3a4254;line-height:1.55;margin:0}
.timeline-v2-head{text-align:center;max-width:760px;margin:0 auto 36px}
.timeline-v2-head h2{font-family:Source Serif 4,Georgia,serif;font-size:clamp(26px,3vw,38px);color:#1a3a8f;margin:6px 0 14px;letter-spacing:-.01em;font-weight:600;line-height:1.15}
.timeline-v2-head .step-meta{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#a0782a;font-weight:700}
.timeline-v2-head p{font-size:16px;line-height:1.6;color:#3a4254;max-width:620px;margin:0 auto}
.timeline-v2-cta{grid-column:1 / -1;text-align:center;padding-top:24px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.timeline-v2-cta .cta-primary{background:#1a3a8f;color:#fff;padding:12px 22px;border-radius:9px;text-decoration:none;font-weight:600;font-size:14px}
.timeline-v2-cta .cta-secondary{color:#1a3a8f;border:1.5px solid #d6dee8;padding:11px 20px;border-radius:9px;text-decoration:none;font-weight:600;font-size:14px}

@media (max-width:880px){
  .timeline-v2{grid-template-columns:1fr;gap:24px}
  .timeline-v2 .timeline-line{display:none}
  .timeline-v2 .timeline-step{text-align:left;display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:flex-start}
  .timeline-v2 .timeline-step-dot{margin:0}
  .timeline-v2 .timeline-step-body{padding:0}
}
@media (prefers-reduced-motion: reduce){
  .timeline-v2 .timeline-line-fill{transition:none}
  .timeline-v2 .timeline-step.active .timeline-pulse{animation:none}
}

/* /PATCH 2 */

/* ============================================================ */
/* PATCH 3 · 2026-06-12 · Remove duplicate nav search           */
/* The header has TWO search inputs: .site-search (Algolia-style */
/* inside nav-main) and .nav-search (simpler form in nav-right). */
/* Keep .site-search, hide the duplicate .nav-search.            */
/* ============================================================ */
.nav-right .nav-search{display:none !important;}
/* /PATCH 3 */

/* ============================================================ */
/* PATCH 4 · 2026-06-12 · Click + visual distortion fixes        */
/* ============================================================ */

/* Make any element with data-href appear clickable + handle click */
[data-href]{cursor:pointer; transition:transform .15s ease, box-shadow .2s ease}
[data-href]:hover{transform:translateY(-2px); box-shadow:0 12px 32px rgba(20,28,50,.08)}
[data-href]:active{transform:translateY(0)}

/* Tile / card visual feedback even without href */
.tile, .card, .cta{transition:transform .15s ease, box-shadow .2s ease}
a.tile:hover, a.card:hover, a.cta:hover{transform:translateY(-2px); box-shadow:0 12px 32px rgba(20,28,50,.08)}

/* Ensure all anchors are pointer-capable even with overlays */
a[href]{pointer-events:auto !important;}
a[href]:not([href=""]):not([href="#"]){cursor:pointer}

/* Fix any accidental pointer-events:none on visible regions */
.hero, .hero-grid, .container, section{pointer-events:auto !important;}

/* Logo images — ensure they render at right size, don't shrink to 0 */
.nav-logo-icon img, .brand-icon img{
  width:100% !important;
  height:100% !important;
  display:block !important;
}
.nav-logo-icon{display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px;}
.brand-icon{display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px;}

/* Skip-link · only show on focus (prevent double rendering visual) */
.skip-link:not(:focus){position:absolute !important; left:-9999px !important; top:0 !important;}
.skip-link + .skip-link{display:none !important;}

/* /PATCH 4 */

/* PATCH 5 · stat tiles (display only) — do not show pointer cursor */
.stat-tile-v2{cursor:default !important;}
.stat-tile-v2:hover{transform:none !important;box-shadow:none !important;}

/* PATCH 5 · ensure all valid anchors show proper cursor + hover state */
a.tile, a.card, a.cta, a.btn, a.feature, a.mm-link, a.mm-foot-link, a.footer-col a, a.mega-promo-cta{cursor:pointer !important;}

/* PATCH 5 · highlight underline on all text-link anchors for click affordance */
.feature p a:not(.btn), .lede a:not(.btn), section p a:not(.btn){
  color:#1a3a8f;
  text-decoration:underline;
  text-decoration-color:#a0782a;
  text-underline-offset:3px;
  text-decoration-thickness:1.5px;
}
.feature p a:not(.btn):hover, .lede a:not(.btn):hover, section p a:not(.btn):hover{
  color:#0f1e4b;
  text-decoration-color:#1a3a8f;
}

/* /PATCH 5 */

/* PATCH 6 · 2026-06-12 · Resources mega 5-column grid (was 4) */
.mega-grid-5{display:grid;grid-template-columns:repeat(5, 1fr);gap:32px}
@media (max-width:1280px){.mega-grid-5{grid-template-columns:repeat(3, 1fr); gap:24px}}
@media (max-width:900px){.mega-grid-5{grid-template-columns:repeat(2, 1fr); gap:18px}}
/* /PATCH 6 */

/* ============================================================ */
/* PATCH 7 · 2026-06-12 · Nav typography + spacing polish        */
/* ============================================================ */

/* Wordmark — refined kerning + size to match nav item rhythm */
.nav-logo{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  text-decoration:none !important;
}
.nav-logo-icon{
  width:28px !important;
  height:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.nav-logo-icon img{
  width:28px !important;
  height:28px !important;
  display:block !important;
}
.nav-logo-text{
  font-family:'Source Serif 4', Georgia, serif !important;
  font-size:19px !important;
  font-weight:600 !important;
  color:#1a3a8f !important;
  letter-spacing:-0.018em !important;
  line-height:1 !important;
}

/* Nav items — consistent typography, spacing, vertical alignment */
.nav-main{
  display:flex !important;
  align-items:center !important;
  gap:4px !important;
  margin:0 24px !important;
}
.nav-main .nav-item{
  display:inline-flex !important;
  align-items:center !important;
}
.nav-link, .nav-main .nav-link, .nav-main .nav-toggle{
  font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size:14.5px !important;
  font-weight:500 !important;
  color:#3a4254 !important;
  letter-spacing:-0.005em !important;
  padding:8px 14px !important;
  border-radius:8px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  transition:color .15s ease, background .15s ease !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  line-height:1 !important;
}
.nav-link:hover, .nav-main .nav-link:hover, .nav-main .nav-toggle:hover{
  color:#1a3a8f !important;
  background:#f5efdf !important;
}
.nav-main .nav-toggle svg{
  width:9px !important;
  height:9px !important;
  margin-top:1px !important;
  opacity:.55 !important;
  transition:transform .2s ease, opacity .2s ease !important;
}
.nav-main .nav-item.has-mega:hover .nav-toggle svg,
.nav-main .nav-item.has-mega:focus-within .nav-toggle svg{
  transform:rotate(180deg) !important;
  opacity:1 !important;
}

/* Right side — Sign in + CTA spacing */
.nav-right{
  display:inline-flex !important;
  align-items:center !important;
  gap:18px !important;
  margin-left:auto !important;
}
.nav-login{
  font-family:Inter, sans-serif !important;
  font-size:14.5px !important;
  font-weight:500 !important;
  color:#3a4254 !important;
  letter-spacing:-0.005em !important;
  text-decoration:none !important;
  padding:8px 4px !important;
}
.nav-login:hover{color:#1a3a8f !important;}
.nav-cta, .btn.nav-cta{
  font-family:Inter, sans-serif !important;
  font-size:14px !important;
  font-weight:600 !important;
  background:#1a3a8f !important;
  color:#fff !important;
  padding:11px 18px !important;
  border-radius:8px !important;
  letter-spacing:-0.002em !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  transition:background .15s ease, transform .15s ease !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
}
.nav-cta:hover{background:#0f1e4b !important; transform:translateY(-1px) !important;}

/* Nav bar container — tighter vertical padding, consistent height */
.nav-bar, header.nav .nav-flex{
  padding-top:14px !important;
  padding-bottom:14px !important;
  min-height:64px !important;
}

/* Mobile burger — proper hit target + alignment */
.nav-mobile-toggle{
  display:none !important;
}
@media (max-width:1100px){
  .nav-main{display:none !important;}
  .nav-mobile-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:40px !important;
    height:40px !important;
    border:1px solid #ecf0f6 !important;
    background:#fff !important;
    border-radius:8px !important;
    cursor:pointer !important;
  }
}

/* /PATCH 7 */

/* FIX 1 (v3): Resources mega — widened for 5-column grid + aside promo.
   v2 had max-width:1080px + overflow:hidden which was clipping the new Developers
   column and the BOI Reporting Guide aside. The 5-col grid + 280px aside needs
   ~1340px. Setting max-width to viewport-aware value and removing overflow:hidden. */
.nav-main .nav-item.has-mega > .mega-right{
  position:fixed !important;
  top:68px !important;
  right:24px !important;
  left:auto !important;
  bottom:auto !important;
  width:min(1360px, calc(100vw - 48px)) !important;
  max-width:none !important;
  overflow:visible !important;
  transform:translateY(-8px) !important;
  z-index:200 !important;
}
.nav-main .nav-item.has-mega:hover > .mega-right,
.nav-main .nav-item.has-mega:focus-within > .mega-right{
  transform:translateY(0) !important;
}
/* Hover bridge */
.nav-main .nav-item.has-mega > .mega-right::before{
  content:"" !important;
  position:fixed !important;
  top:50px !important;
  right:0 !important;
  width:280px !important;
  height:24px !important;
  background:transparent !important;
  pointer-events:auto !important;
  z-index:199 !important;
}
/* When viewport gets narrow (<1380px) hide the .mega-promo aside so 5 cols fit */
@media (max-width:1380px){
  .nav-main .nav-item.has-mega > .mega-right .mega-promo{display:none !important;}
  .nav-main .nav-item.has-mega > .mega-right .mega-inner{display:block !important;}
}
/* Below 1100px the mobile drawer takes over */
@media (max-width:1100px){
  .nav-main .nav-item.has-mega > .mega-right{display:none !important;}
}


/* PATCH 8 · 2026-06-12 · Resources mega inner layout fix */
.mega-right .mega-inner{
  display:grid !important;
  grid-template-columns:1fr 280px;
  gap:32px;
  padding:32px;
  max-width:none;
}
.mega-right .mega-inner > .mega-grid-5{
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:20px;
}
.mega-right .mega-section{min-width:0;}
.mega-right .mm-link{font-size:13.5px;}
.mega-right .mm-text b{font-size:13.5px;}
.mega-right .mm-text span{font-size:11.5px;}
@media (max-width:1380px){
  .mega-right .mega-inner{grid-template-columns:1fr;}
}
/* /PATCH 8 */

/* ============================================================ */
/* PATCH 9 · 2026-06-12 · Remove number badges + sticky mega    */
/* ============================================================ */

/* Hide all .mm-badge number pills (25, 377, 13, 21, etc.) */
.mm-badge{display:none !important;}

/* Make mega menus stay open when their parent nav-item has .open class
   (added by JS on click) */
.nav-main .nav-item.has-mega.open > .mega,
.nav-main .nav-item.has-mega.open > .mega-right{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}
.nav-main .nav-item.has-mega:not(.open) > .mega,
.nav-main .nav-item.has-mega:not(.open) > .mega-right{
  pointer-events:none;
}
/* Hover still opens (for desktop users who don't click) */
.nav-main .nav-item.has-mega:hover > .mega,
.nav-main .nav-item.has-mega:hover > .mega-right{
  pointer-events:auto;
}

/* Active nav item indicator when mega is open */
.nav-main .nav-item.has-mega.open .nav-toggle{
  color:#1a3a8f !important;
  background:#f5efdf !important;
}
.nav-main .nav-item.has-mega.open .nav-toggle svg{
  transform:rotate(180deg) !important;
  opacity:1 !important;
}

/* /PATCH 9 */
