/* ===== COMPACT COMPARE TABLE (owner-locked: ONE table per page, no card grid above) ===== */
/* Single visual unit: a premium, slim comparison table. Card grid retired site-wide. */
.fb-compare-section { padding: 40px 0; background: #fff; }
.fb-compare-head { max-width: 760px; margin: 0 auto 22px; text-align: center; }
.fb-compare-head .fb-compare-kicker { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border-radius: 999px; background: linear-gradient(180deg, #fef6e3 0%, #fbe9c0 100%); border: 1px solid #f0d8a3; font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace; font-size: 10.5px; font-weight: 600; color: #7a5a1f; text-transform: uppercase; letter-spacing: .06em; }
.fb-compare-head h2 { font-family: "Source Serif 4", "Source Serif Fallback", Georgia, serif; font-size: clamp(22px, 2.6vw, 28px); font-weight: 600; color: #101c46; margin: 10px 0 6px; line-height: 1.15; letter-spacing: -0.015em; }
.fb-compare-head h2 em { font-style: italic; color: #a0782a; font-weight: 600; }
.fb-compare-head p { font-size: 14px; color: #5a6478; line-height: 1.55; margin: 0; max-width: 560px; margin-left: auto; margin-right: auto; }

/* Card grid retired — hide any stale markup that wasn't swept */
.fb-compare-grid, .fb-compare-card, .fb-compare-card-pill { display: none !important; }

/* Premium compact table */
.fb-compare-table-wrap { max-width: 980px; margin: 0 auto; background: #fff; border: 1px solid #e3e7ef; border-radius: 14px; overflow: hidden; box-shadow: 0 4px 18px -12px rgba(26,58,143,.10); }
.fb-compare-table { width: 100%; border-collapse: collapse; font-family: 'Inter', system-ui, sans-serif; }
.fb-compare-table thead tr { background: linear-gradient(180deg, #fbfcfe 0%, #f3f6fc 100%); border-bottom: 1px solid #e3e7ef; }
.fb-compare-table th { font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace; font-size: 10.5px; font-weight: 600; color: #6b7689; text-transform: uppercase; letter-spacing: .06em; padding: 12px 14px; text-align: left; }
.fb-compare-table th:first-child { padding-left: 18px; width: 30%; }
.fb-compare-table th.fb-compare-th-us { color: #101c46; background: linear-gradient(180deg, #fdf8ec 0%, #faecc8 100%); position: relative; padding-top: 18px; }
.fb-compare-table th.fb-compare-th-us::before { content: 'Recommended'; position: absolute; top: 3px; right: 10px; font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace; font-size: 8px; font-weight: 700; letter-spacing: .08em; color: #7a5a1f; padding: 2px 7px; border-radius: 999px; background: rgba(255,255,255,.85); text-transform: uppercase; }
.fb-compare-table tbody tr { border-top: 1px solid #f0f2f7; transition: background .15s ease; }
.fb-compare-table tbody tr:hover { background: #fafbfd; }
.fb-compare-table tbody th { font-family: 'Inter', system-ui, sans-serif; font-size: 13px; font-weight: 600; color: #2a3550; text-transform: none; letter-spacing: 0; padding: 12px 14px 12px 18px; background: transparent; }
.fb-compare-table tbody td { padding: 12px 14px; font-size: 13px; color: #6b7689; vertical-align: middle; }
.fb-compare-table td.fb-compare-td-us { color: #101c46; font-weight: 600; background: linear-gradient(180deg, rgba(253,248,236,.55) 0%, rgba(250,236,200,.45) 100%); border-left: 2px solid #d49e3c; border-right: 2px solid #d49e3c; }
.fb-compare-table tbody tr:last-child td.fb-compare-td-us { border-bottom: 2px solid #d49e3c; }
.fb-compare-table tbody tr:first-child td.fb-compare-td-us { border-top: 2px solid #d49e3c; }
.fb-compare-table tbody td b { font-weight: 700; color: #101c46; }
.fb-compare-disclosure { text-align: center; margin: 14px auto 0; max-width: 980px; font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace; font-size: 10px; color: #8590a3; line-height: 1.5; padding: 0 18px; }

/* Responsive */
@media (max-width: 760px) {
  .fb-compare-section { padding: 28px 0; }
  .fb-compare-table-wrap { overflow-x: auto; border-radius: 12px; }
  .fb-compare-table th, .fb-compare-table td { padding: 10px 10px; font-size: 12px; }
  .fb-compare-table th:first-child, .fb-compare-table tbody th { padding-left: 14px; }
  .fb-compare-head h2 { font-size: 22px; }
}

/* ===== "WHAT WE'LL SET UP" — canonical 4-card setup grid (owner-locked) ===== */
/* Replaces fb-what-we-do / fb-wwd-* — inherits site visual language, no inline overrides. */
.fb-setup-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; margin-top: 28px; }
.fb-setup-card { background: #fff; border: 1px solid var(--c-border, #ecf0f6); border-radius: 12px; padding: 22px 20px; display: flex; flex-direction: column; gap: 10px; transition: border-color .18s ease, box-shadow .18s ease; }
.fb-setup-card:hover { border-color: #d6dde9; box-shadow: 0 6px 18px -10px rgba(26,58,143,.10); }
.fb-setup-card .num { font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace; font-size: 11px; font-weight: 700; letter-spacing: .12em; color: #a0782a; text-transform: uppercase; }
.fb-setup-card h3 { font-family: "Source Serif 4", "Source Serif Fallback", Georgia, serif; font-size: 17px; font-weight: 600; color: #101c46; letter-spacing: -0.01em; line-height: 1.25; margin: 0; }
.fb-setup-card p { font-family: 'Inter', system-ui, sans-serif; font-size: 13.5px; color: #5a6280; line-height: 1.55; margin: 0; }
@media (max-width: 980px) { .fb-setup-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px) { .fb-setup-grid { grid-template-columns: 1fr; } }
/* Retire legacy fb-wwd markup if any escapes the sweep */
.fb-wwd-wrap, .fb-wwd-head, .fb-wwd-grid, .fb-wwd-card, .fb-wwd-foot, .fb-what-we-do > style { display: none !important; }

/* fb-trust-strip retired site-wide. Hide any stray markup. */
.fb-trust-strip { display: none !important; }

/* 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 Fallback", "Source Serif Pro", "Newsreader", Georgia, "Times New Roman", serif;
  --font-sans: "Inter", "Inter Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "JetBrains Mono", "JetBrains Mono Fallback", 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);
  -webkit-backdrop-filter:saturate(160%) blur(14px);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
   ============================================================ */
/* OLD RULE NEUTRALIZED: this targeted legacy .life-step layout but its .lifecycle{display:grid;grid-template-columns:repeat(4,1fr)} was conflicting with the newer lifecycle-track architecture, forcing .lifecycle-track into column 1 of 4. Replaced by override rules at end of file. */
.life-step-legacy{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){.life-step-legacy{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}
/* Legacy +/− text icons removed 2026-06-28 — canonical FAQ chip is now drawn by the global ::after layer below */
.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}

/* Breadcrumb responsive fix — phones + iPad portrait (≤900px).
   The row is a flex list where each "/" is its own item, so on narrow
   widths it either strands a slash at a line end (when it wraps) or
   overflows the viewport (iPad portrait, 761–834px, where the old
   ≤760px rule didn't apply). Here we let it wrap and move the "/" onto
   the crumb that follows it (::before) so a separator can never dangle
   or start a line, and the row never overflows. */
@media (max-width: 900px){
  .crumb{ flex-wrap: wrap; }
  .crumb .sep{ display: none; }
  .crumb > :not(.sep):not(:first-child)::before{
    content: "/";
    margin-right: 7px;
    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);-webkit-backdrop-filter:blur(4px);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-LEGACY-GRID{display:grid;grid-template-columns:.32fr 1fr;gap:32px;align-items:start}
@media (max-width:980px){.tour-LEGACY-GRID{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-LEGACY-V1{
  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-LEGACY-V1.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,.tl-item h3{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);-webkit-backdrop-filter:blur(4px);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);-webkit-backdrop-filter:blur(4px);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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "Source Serif Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "Inter Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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);-webkit-backdrop-filter:blur(8px);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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", monospace}
.pt-card .pt-eyebrow{font-size:11.5px;color:#a0782a;letter-spacing:1px;text-transform:uppercase;font-weight:600;font-family:"JetBrains Mono", "JetBrains Mono Fallback", 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}
/* Legacy +/− text icons removed 2026-06-28 — canonical FAQ chip is now drawn by the global ::after layer */
.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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:50;border-bottom:1px solid #ecf0f6}
.nav-bar{padding:6px 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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:260px 1fr;gap:56px;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", "JetBrains Mono Fallback", 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 20px}
.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", "JetBrains Mono Fallback", 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}

/* Footer-top is overridden to display:block lower in the file (brand stacks above sections),
   so the legacy 2-col grid breakpoints are no longer needed. Column-count cascade for
   .footer-cols-5 / .footer-cols-4 lives in FIX 8 with !important to win the cascade. */
@media (max-width:560px){.site-footer{padding:48px 0 24px;margin-top:48px}.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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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);-webkit-backdrop-filter:blur(4px);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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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 — DEPRECATED, see PRODUCT TOUR v3 at end of file === */
.tour-DEPRECATED-C6{padding:64px 0;background:#fff;border-top:1px solid #ecf0f6}
.tour-DEPRECATED-C6-head{text-align:center;max-width:680px;margin:0 auto 32px}
.tour-DEPRECATED-C6-shell{display:grid;grid-template-columns:280px 1fr;gap:32px;max-width:1080px;margin:0 auto;align-items:start}
.tour-DEPRECATED-C6-nav{display:flex;flex-direction:column;gap:8px;position:sticky;top:96px}
.tour-DEPRECATED-C6-tab{display:flex;align-items:flex-start;gap:12px;padding:14px 16px}
.tour-DEPRECATED-C6-panel{background:#fbfcfe;border:1px solid #ecf0f6;border-radius:16px;padding:32px;display:none}
@keyframes tourFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* === 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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);-webkit-backdrop-filter:saturate(160%) blur(14px);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);-webkit-backdrop-filter:blur(6px);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);-webkit-backdrop-filter:blur(4px);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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", monospace;text-align:center;font-weight:700}
.entity-compare-cell.row-label{font-family:"JetBrains Mono", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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);-webkit-backdrop-filter:blur(10px);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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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%);
    -webkit-backdrop-filter:blur(8px);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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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 — KEEP 5-in-a-row down to small laptops, then collapse cleanly.
   Owner directive 2026-06-27: the canonical footer is 5 columns in a single row, never 4+1.
   minmax(0,1fr) + min-width:0 on children prevents long link text from pushing one column
   wider than 1fr can hold, which was the cause of the 4-on-row + 1-wrapped layout. */
.footer-cols-5,
.footer-section .footer-cols-4{
  grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
}
.footer-col{min-width:0;}
.footer-col a{word-break:break-word;}

@media (max-width:980px){
  .footer-cols-5, .footer-section .footer-cols-4{grid-template-columns:repeat(3, minmax(0,1fr)) !important;}
}
@media (max-width:720px){
  .footer-cols-5, .footer-section .footer-cols-4{grid-template-columns:repeat(2, minmax(0,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", "JetBrains Mono Fallback", 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", "JetBrains Mono Fallback", 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;
  object-fit:contain !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", "Source Serif Fallback", 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", "Inter Fallback", 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", "Inter Fallback", sans-serif !important;
  font-size:14px !important;
  font-weight:600 !important;
  background:#1a3a8f !important;
  color:#fff !important;
  padding:9px 16px !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 */

/* ============================================================ */
/* DEPRECATED · Tour-shell alignment patch — replaced by v3      */
/* See PRODUCT TOUR v3 — BOS 8-MODULE SHOWCASE at end of file    */
/* ============================================================ */

/* ============================================================ */
/* PATCH · Lifecycle section alignment fix + animations         */
/* The .lifecycle container was capped at 1040px and the 5      */
/* stages were left-aligning instead of distributing across     */
/* the available width. Force full-width distribution and add   */
/* scroll-triggered animations for visual polish.               */
/* ============================================================ */
.vlib-section #lifecycle, section #lifecycle { width: 100%; }

.lifecycle {
  max-width: 1180px !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box;
  padding: 40px 40px !important;
  border: 1px solid #ecf0f6;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 20px 60px -20px rgba(15, 30, 75, 0.08);
  position: relative;
  overflow: hidden;
}

.lifecycle-track {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: start !important;
  position: relative;
}

.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;
  transform-origin: left center;
  animation: lifecycle-line-draw 1.8s cubic-bezier(0.65, 0, 0.35, 1) forwards;
  transform: scaleX(0);
}

.lifecycle-stage {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 0 6px;
  min-width: 0;
  opacity: 0;
  transform: translateY(20px);
  animation: lifecycle-stage-in 0.7s ease-out forwards;
}
.lifecycle-stage:nth-child(1) { animation-delay: 0.2s; }
.lifecycle-stage:nth-child(2) { animation-delay: 0.5s; }
.lifecycle-stage:nth-child(3) { animation-delay: 0.8s; }
.lifecycle-stage:nth-child(4) { animation-delay: 1.1s; }
.lifecycle-stage:nth-child(5) { animation-delay: 1.4s; }

.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, 0.15);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
}
.lifecycle-stage-orb::before {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  background: linear-gradient(135deg, #86d6a6, #1a3a8f, #a0782a);
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.lifecycle-stage:hover .lifecycle-stage-orb {
  transform: translateY(-6px) scale(1.08) rotate(-3deg);
  box-shadow: 0 20px 40px rgba(26, 58, 143, 0.25);
  border-color: #a0782a;
}
.lifecycle-stage:hover .lifecycle-stage-orb::before { opacity: 0.4; }
.lifecycle-stage:hover .lifecycle-stage-orb svg {
  transform: scale(1.1) rotate(5deg);
  color: #a0782a;
}
.lifecycle-stage-orb svg {
  width: 48px;
  height: 48px;
  color: #1a3a8f;
  transition: transform 0.4s ease, color 0.3s ease;
}

.lifecycle-stage-num {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #a0782a;
  color: #fff;
  font-family: Georgia, serif;
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(160, 120, 42, 0.4);
  animation: lifecycle-num-pulse 2.5s ease-in-out infinite;
}
.lifecycle-stage:nth-child(2) .lifecycle-stage-num { animation-delay: 0.5s; }
.lifecycle-stage:nth-child(3) .lifecycle-stage-num { animation-delay: 1s; }
.lifecycle-stage:nth-child(4) .lifecycle-stage-num { animation-delay: 1.5s; }
.lifecycle-stage:nth-child(5) .lifecycle-stage-num { animation-delay: 2s; }

.lifecycle-stage-title {
  font-family: "Source Serif 4", "Source Serif Fallback", Georgia, serif;
  color: #1a3a8f;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 6px;
  letter-spacing: -0.01em;
}
.lifecycle-stage-sub {
  font-size: 11.5px;
  color: #a0782a;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 12px;
  display: block;
}
.lifecycle-stage-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 13px;
  color: #3a4254;
  line-height: 1.6;
  text-align: left;
  max-width: none;
}
.lifecycle-stage-list li {
  padding-left: 14px;
  position: relative;
  margin-bottom: 4px;
  opacity: 0.9;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.lifecycle-stage:hover .lifecycle-stage-list li {
  opacity: 1;
  transform: translateX(2px);
}
.lifecycle-stage-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  background: #a0782a;
  border-radius: 50%;
}

/* Floating ambient orbs in the background for visual depth */
.lifecycle::before {
  content: "";
  position: absolute;
  top: -120px;
  left: -100px;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(134, 214, 166, 0.15) 0%, transparent 70%);
  pointer-events: none;
  animation: lifecycle-ambient 12s ease-in-out infinite;
}
.lifecycle::after {
  content: "";
  position: absolute;
  bottom: -120px;
  right: -100px;
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(160, 120, 42, 0.12) 0%, transparent 70%);
  pointer-events: none;
  animation: lifecycle-ambient 12s ease-in-out infinite reverse;
}

@keyframes lifecycle-line-draw {
  0% { transform: scaleX(0); opacity: 0; }
  100% { transform: scaleX(1); opacity: 1; }
}
@keyframes lifecycle-stage-in {
  0% { opacity: 0; transform: translateY(20px) scale(0.92); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes lifecycle-num-pulse {
  0%, 100% { box-shadow: 0 4px 12px rgba(160, 120, 42, 0.4); transform: scale(1); }
  50% { box-shadow: 0 4px 20px rgba(160, 120, 42, 0.7), 0 0 0 6px rgba(160, 120, 42, 0.15); transform: scale(1.05); }
}
@keyframes lifecycle-ambient {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(30px, -20px) scale(1.1); }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .lifecycle-track::before,
  .lifecycle-stage,
  .lifecycle-stage-num,
  .lifecycle::before,
  .lifecycle::after { animation: none; }
  .lifecycle-stage { opacity: 1; transform: none; }
  .lifecycle-track::before { transform: scaleX(1); }
}

@media (max-width: 980px) {
  .lifecycle { padding: 32px 24px !important; }
  .lifecycle-track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 32px 24px !important;
  }
  .lifecycle-track::before { display: none; }
  .lifecycle-stage:nth-child(5) { grid-column: 1 / -1; max-width: 240px; margin: 0 auto; }
}
@media (max-width: 600px) {
  .lifecycle-track {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .lifecycle-stage { display: grid; grid-template-columns: 80px 1fr; gap: 16px; text-align: left; align-items: center; }
  .lifecycle-stage-orb { width: 72px; height: 72px; margin: 0; }
  .lifecycle-stage-orb svg { width: 36px; height: 36px; }
  .lifecycle-stage-title { font-size: 16px; }
  .lifecycle-stage:nth-child(5) { grid-column: auto; max-width: none; margin: 0; }
  .lifecycle-stage-list { font-size: 12.5px; }
}

/* ============================================================ */
/* PATCH · Lifecycle FORCED OVERRIDE (over older .lifecycle rule at line 397) */
/* The older .lifecycle{display:grid;grid-template-columns:repeat(4,1fr)} was */
/* still applying because it has the same specificity. Need to fully override. */
/* ============================================================ */
.lifecycle,
section .lifecycle,
#lifecycle .lifecycle,
.vlib-section .lifecycle {
  display: block !important;
  grid-template-columns: none !important;
  border: 1px solid #ecf0f6 !important;
  border-radius: 16px !important;
  background: #fff !important;
  overflow: visible !important;
  max-width: 1180px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 48px 48px !important;
  box-sizing: border-box;
  position: relative;
  box-shadow: 0 20px 60px -20px rgba(15, 30, 75, 0.08);
}

.lifecycle .lifecycle-track,
section .lifecycle .lifecycle-track,
#lifecycle .lifecycle-track {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: start !important;
  width: 100% !important;
  position: relative !important;
}

/* The connecting gradient line — repositioned for the new grid */
.lifecycle .lifecycle-track::before {
  content: "" !important;
  position: absolute !important;
  top: 48px !important;
  left: 10% !important;
  right: 10% !important;
  height: 3px !important;
  background: linear-gradient(90deg, #86d6a6 0%, #1a3a8f 35%, #a0782a 70%, #ecf0f6 100%) !important;
  border-radius: 2px !important;
  z-index: 0 !important;
  transform-origin: left center !important;
  animation: lifecycle-line-draw 1.8s cubic-bezier(0.65, 0, 0.35, 1) 0.3s forwards !important;
  transform: scaleX(0) !important;
}

.lifecycle .lifecycle-stage {
  position: relative !important;
  z-index: 1 !important;
  text-align: center !important;
  padding: 0 !important;
  min-width: 0 !important;
  border: none !important;
}

@media (max-width: 980px) {
  .lifecycle, section .lifecycle, #lifecycle .lifecycle {
    padding: 32px 24px !important;
  }
  .lifecycle .lifecycle-track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 32px 24px !important;
  }
  .lifecycle .lifecycle-track::before { display: none !important; }
  .lifecycle .lifecycle-stage:nth-child(5) {
    grid-column: 1 / -1 !important;
    max-width: 280px !important;
    margin: 0 auto !important;
  }
}
@media (max-width: 600px) {
  .lifecycle .lifecycle-track {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .lifecycle .lifecycle-stage {
    display: grid !important;
    grid-template-columns: 80px 1fr !important;
    gap: 16px !important;
    text-align: left !important;
    align-items: center !important;
  }
  .lifecycle .lifecycle-stage:nth-child(5) {
    grid-column: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* ============================================================ */
/* PATCH · Lifecycle premium polish (landing-page tier)         */
/* Subtle background pattern, orb depth, icon animation,        */
/* connecting-line animation that draws on scroll.              */
/* ============================================================ */

/* Container background with subtle dotted pattern */
.lifecycle {
  background-image:
    radial-gradient(circle at 20% 30%, rgba(134, 214, 166, 0.04) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(160, 120, 42, 0.04) 0%, transparent 50%),
    radial-gradient(circle at 1px 1px, rgba(15, 30, 75, 0.03) 1px, transparent 0) !important;
  background-size: auto, auto, 22px 22px !important;
}

/* Animated SVG icon draw-in inside each orb */
.lifecycle-stage-orb svg {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: lifecycle-icon-draw 1.4s cubic-bezier(0.65, 0, 0.35, 1) forwards;
}
.lifecycle-stage:nth-child(1) .lifecycle-stage-orb svg { animation-delay: 0.4s; }
.lifecycle-stage:nth-child(2) .lifecycle-stage-orb svg { animation-delay: 0.7s; }
.lifecycle-stage:nth-child(3) .lifecycle-stage-orb svg { animation-delay: 1.0s; }
.lifecycle-stage:nth-child(4) .lifecycle-stage-orb svg { animation-delay: 1.3s; }
.lifecycle-stage:nth-child(5) .lifecycle-stage-orb svg { animation-delay: 1.6s; }

@keyframes lifecycle-icon-draw {
  to { stroke-dashoffset: 0; }
}

/* Stronger orb depth with inner gradient highlight */
.lifecycle-stage-orb {
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,0.9) 0%, #fff 60%) !important;
  border: 3px solid #1a3a8f !important;
  box-shadow:
    inset 0 -8px 16px rgba(15, 30, 75, 0.06),
    0 14px 40px -8px rgba(26, 58, 143, 0.18),
    0 2px 8px rgba(26, 58, 143, 0.08) !important;
}

/* Make the connecting line thicker and add a subtle moving shimmer */
.lifecycle .lifecycle-track::before {
  height: 4px !important;
  background:
    linear-gradient(90deg,
      #86d6a6 0%,
      #1a3a8f 30%,
      #a0782a 65%,
      #ecf0f6 100%) !important;
  box-shadow: 0 2px 12px rgba(26, 58, 143, 0.15);
}

/* Shimmer overlay that travels along the line continuously */
.lifecycle .lifecycle-track::after {
  content: "";
  position: absolute;
  top: 47px;
  left: 10%;
  right: 10%;
  height: 6px;
  background: linear-gradient(90deg,
    transparent 0%,
    transparent 40%,
    rgba(255,255,255,0.6) 50%,
    transparent 60%,
    transparent 100%);
  background-size: 200% 100%;
  border-radius: 4px;
  z-index: 1;
  pointer-events: none;
  animation: lifecycle-shimmer 4s ease-in-out 2s infinite;
  opacity: 0;
}

@keyframes lifecycle-shimmer {
  0% { background-position: -50% 0; opacity: 0; }
  20% { opacity: 1; }
  80% { opacity: 1; }
  100% { background-position: 150% 0; opacity: 0; }
}

/* Eyebrow above section — make it pop */
#lifecycle .vlib-section-head .step-meta,
#lifecycle .step-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(160, 120, 42, 0.08);
  border: 1px solid rgba(160, 120, 42, 0.2);
  border-radius: 999px;
  color: #a0782a;
}

/* Title gets a subtle gradient on hover */
#lifecycle h2 {
  background-image: linear-gradient(180deg, #0f1e4b 0%, #1a3a8f 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Stage list bullets get a hover lift effect */
.lifecycle-stage-list li {
  transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Final CTA spacing under the section */
section#lifecycle .container > div[style*="text-align:center"] {
  margin-top: 40px !important;
}

/* Loading skeleton — orb gets a slow rotation on first load */
.lifecycle-stage-orb {
  animation: lifecycle-orb-settle 1s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.lifecycle-stage:nth-child(1) .lifecycle-stage-orb { animation-delay: 0.3s; }
.lifecycle-stage:nth-child(2) .lifecycle-stage-orb { animation-delay: 0.6s; }
.lifecycle-stage:nth-child(3) .lifecycle-stage-orb { animation-delay: 0.9s; }
.lifecycle-stage:nth-child(4) .lifecycle-stage-orb { animation-delay: 1.2s; }
.lifecycle-stage:nth-child(5) .lifecycle-stage-orb { animation-delay: 1.5s; }

@keyframes lifecycle-orb-settle {
  0% { transform: scale(0.5) rotate(-20deg); opacity: 0; }
  60% { transform: scale(1.1) rotate(5deg); opacity: 1; }
  100% { transform: scale(1) rotate(0); opacity: 1; }
}

/* Reduced motion respects */
@media (prefers-reduced-motion: reduce) {
  .lifecycle .lifecycle-track::after,
  .lifecycle-stage-orb svg,
  .lifecycle-stage-orb { animation: none !important; stroke-dashoffset: 0 !important; opacity: 1 !important; transform: none !important; }
}

/* ============================================================
   PRODUCT TOUR v3 — BOS 8-MODULE SHOWCASE (2026-06-13)
   Bulletproof alignment + premium polish + mobile responsive
   Supersedes prior .tour-shell rules.
   ============================================================ */

/* Section frame */
section.tour {
  position: relative;
  padding: 96px 0 112px;
  background:
    radial-gradient(1200px 600px at 20% 0%, rgba(26,58,143,0.04), transparent 60%),
    radial-gradient(1000px 500px at 100% 100%, rgba(160,120,42,0.05), transparent 65%),
    linear-gradient(180deg, #fbfcfe 0%, #f5f7fb 100%);
  overflow: hidden;
}
section.tour::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(26,58,143,0.06) 1px, transparent 1.5px);
  background-size: 28px 28px;
  opacity: 0.4;
  pointer-events: none;
}
section.tour > .container { position: relative; z-index: 1; }

/* Tour header */
section.tour .tour-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 56px;
}
section.tour .tour-head .step-meta {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(160,120,42,0.10);
  border: 1px solid rgba(160,120,42,0.28);
  color: #7a5a1f;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin-bottom: 18px;
}
section.tour .tour-head h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.15;
  color: #1a3a8f;
  margin: 0 0 16px;
  background: linear-gradient(135deg, #1a3a8f 0%, #2d4ea8 60%, #1a3a8f 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
section.tour .tour-head p {
  color: #4a5468;
  font-size: 16px;
  line-height: 1.55;
  margin: 0;
}

/* Tour shell — BULLETPROOF GRID */
section.tour .tour-shell,
.tour-shell {
  display: grid !important;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: stretch !important;
  max-width: 1180px;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
section.tour .tour-shell > * { min-width: 0 !important; }

/* Left nav — tab buttons */
section.tour .tour-nav {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
  border: 1px solid #e7ecf3;
  border-radius: 16px;
  padding: 14px !important;
  box-shadow: 0 1px 2px rgba(15, 29, 61, 0.04), 0 8px 28px rgba(15, 29, 61, 0.06);
  height: fit-content;
  position: sticky;
  top: 24px;
}
section.tour .tour-tab {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 14px 14px !important;
  background: transparent !important;
  border: 1.5px solid transparent !important;
  border-radius: 11px !important;
  text-align: left !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  position: relative !important;
}
section.tour .tour-tab:hover {
  background: rgba(26,58,143,0.04) !important;
  border-color: rgba(26,58,143,0.10) !important;
  transform: translateX(2px);
}
section.tour .tour-tab.active {
  background: linear-gradient(135deg, rgba(26,58,143,0.08) 0%, rgba(160,120,42,0.06) 100%) !important;
  border-color: rgba(26,58,143,0.20) !important;
  box-shadow: inset 0 0 0 1px rgba(26,58,143,0.08), 0 4px 14px rgba(26,58,143,0.08);
}
section.tour .tour-tab.active::before {
  content: "";
  position: absolute;
  left: -1.5px;
  top: 14px;
  bottom: 14px;
  width: 4px;
  border-radius: 2px;
  background: linear-gradient(180deg, #1a3a8f 0%, #a0782a 100%);
}
section.tour .tour-tab-num {
  flex: 0 0 32px !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: #f3f5f9 !important;
  color: #6b7280 !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.25s ease !important;
  font-family: Georgia, serif !important;
}
section.tour .tour-tab.active .tour-tab-num {
  background: linear-gradient(135deg, #1a3a8f 0%, #2d4ea8 100%) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(26,58,143,0.30);
}
section.tour .tour-tab:hover .tour-tab-num {
  background: rgba(26,58,143,0.12) !important;
  color: #1a3a8f !important;
}
section.tour .tour-tab-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  gap: 4px !important;
}
section.tour .tour-tab-title {
  display: block !important;
  color: #1a3a8f !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.005em !important;
}
section.tour .tour-tab-sub {
  display: block !important;
  color: #6b7280 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}
section.tour .tour-tab.active .tour-tab-sub { color: #3a4254 !important; }

/* Right side: panel container */
section.tour .tour-shell > .tour-panels,
section.tour .tour-shell > div:last-child {
  width: 100% !important;
  min-width: 0 !important;
  position: relative;
}

/* Individual panels */
section.tour .tour-panel {
  display: none !important;
  background: linear-gradient(180deg, #ffffff 0%, #fafbfd 100%);
  border: 1px solid #e7ecf3;
  border-radius: 18px;
  padding: 36px 36px 32px !important;
  box-shadow: 0 1px 2px rgba(15,29,61,0.04), 0 20px 50px rgba(15,29,61,0.08);
  position: relative;
  overflow: hidden;
}
section.tour .tour-panel.active {
  display: block !important;
  animation: tour-panel-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
}
section.tour .tour-panel::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1a3a8f 0%, #a0782a 50%, #22a571 100%);
  opacity: 0.85;
}
@keyframes tour-panel-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

section.tour .tour-panel-eyebrow {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(160,120,42,0.10);
  border: 1px solid rgba(160,120,42,0.25);
  color: #7a5a1f;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  margin-bottom: 14px;
}
section.tour .tour-panel h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.25;
  color: #1a3a8f;
  margin: 0 0 22px !important;
  letter-spacing: -0.01em;
  max-width: 580px;
}
section.tour .tour-panel-screen {
  width: 100%;
  margin: 0 0 22px;
  padding: 18px;
  border-radius: 14px;
  background:
    radial-gradient(800px 300px at 50% 0%, rgba(26,58,143,0.06), transparent 60%),
    linear-gradient(180deg, #f3f5f9 0%, #eef2f7 100%);
  border: 1px solid #e7ecf3;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
}
section.tour .tour-panel-screen svg {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  filter: drop-shadow(0 14px 30px rgba(15, 29, 61, 0.12));
  border-radius: 12px;
  animation: tour-screen-fade 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes tour-screen-fade {
  from { opacity: 0; transform: translateY(8px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
section.tour .tour-panel p {
  color: #3a4254;
  font-size: 15px;
  line-height: 1.65;
  margin: 0 0 18px;
  max-width: 620px;
}
section.tour .tour-panel-checks {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid;
  gap: 10px;
}
section.tour .tour-panel-checks li {
  position: relative;
  padding: 10px 12px 10px 38px !important;
  color: #1a3a8f;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.45;
  background: rgba(34, 165, 113, 0.05);
  border: 1px solid rgba(34, 165, 113, 0.18);
  border-radius: 10px;
  transition: all 0.2s ease;
}
section.tour .tour-panel-checks li:hover {
  background: rgba(34, 165, 113, 0.08);
  border-color: rgba(34, 165, 113, 0.30);
  transform: translateX(2px);
}
section.tour .tour-panel-checks li::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, #22a571 0%, #1a7d4f 100%);
  box-shadow: 0 2px 6px rgba(34, 165, 113, 0.35);
}
section.tour .tour-panel-checks li::after {
  content: "";
  position: absolute;
  left: 17px;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 7px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  margin-top: -1px;
}

/* Mobile responsive */
@media (max-width: 900px) {
  section.tour .tour-shell,
  .tour-shell {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  section.tour .tour-nav {
    position: static;
    flex-direction: row !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 12px !important;
  }
  section.tour .tour-tab {
    flex: 0 0 240px !important;
    scroll-snap-align: start;
  }
  section.tour .tour-panel { padding: 24px 22px !important; }
}
@media (max-width: 560px) {
  section.tour { padding: 64px 0 80px; }
  section.tour .tour-head { margin-bottom: 36px; }
  section.tour .tour-tab { flex: 0 0 220px !important; padding: 12px !important; }
  section.tour .tour-tab-num { width: 28px !important; height: 28px !important; flex-basis: 28px !important; font-size: 12px !important; }
  section.tour .tour-tab-title { font-size: 12.5px !important; }
  section.tour .tour-tab-sub { font-size: 10.5px !important; }
  section.tour .tour-panel-screen { padding: 12px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  section.tour .tour-panel.active,
  section.tour .tour-panel-screen svg,
  section.tour .tour-tab,
  section.tour .tour-panel-checks li { animation: none !important; transform: none !important; transition: none !important; }
}

/* ============================================================
   PRODUCT TOUR v3 · HARDENING (2026-06-13)
   Final defensive rules — maximum specificity via #product-tour
   Use this if any external CSS file ever tries to override
   ============================================================ */
section#product-tour.tour {
  display: block !important;
  background: linear-gradient(180deg, #fbfcfe 0%, #f5f7fb 100%) !important;
}
section#product-tour .tour-shell {
  display: grid !important;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) !important;
  gap: 28px !important;
  max-width: 1180px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  align-items: stretch !important;
}
section#product-tour .tour-shell > * {
  min-width: 0 !important;
  max-width: 100% !important;
}
section#product-tour .tour-nav {
  grid-column: 1 !important;
  width: 100% !important;
}
section#product-tour .tour-panels {
  grid-column: 2 !important;
  width: 100% !important;
  display: block !important;
  position: relative !important;
}
section#product-tour .tour-panels > .tour-panel {
  width: 100% !important;
  box-sizing: border-box !important;
}
section#product-tour .tour-panel {
  display: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  box-shadow: 0 1px 2px rgba(15,29,61,0.04), 0 20px 50px rgba(15,29,61,0.08) !important;
}
section#product-tour .tour-panel.active {
  display: block !important;
}
section#product-tour .tour-panel-screen {
  min-height: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
section#product-tour .tour-panel-screen svg {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}
section#product-tour .tour-panel h3 {
  max-width: 100% !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}
@media (max-width: 900px) {
  section#product-tour .tour-shell {
    grid-template-columns: 1fr !important;
  }
  section#product-tour .tour-nav,
  section#product-tour .tour-panels {
    grid-column: 1 !important;
  }
}

/* ============================================================
   COST CALCULATOR · v2 HARDENING (2026-06-13)
   Fix: stray comma placeholders, wrapper-as-input bug, 
   invisible CTA button text (navy on navy)
   ============================================================ */
.cost-calc {
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%) !important;
  border: 1px solid #e7ecf3;
  border-radius: 18px;
  padding: 44px 44px 36px !important;
  box-shadow: 0 1px 2px rgba(15,29,61,0.04), 0 20px 50px rgba(15,29,61,0.08);
  position: relative;
  overflow: hidden;
}
.cost-calc::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1a3a8f 0%, #a0782a 50%, #22a571 100%);
}
.cost-calc-head {
  display: block !important;
  margin: 0 0 24px;
}
.cost-calc-head .step-meta {
  display: inline-block !important;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(160,120,42,0.10);
  border: 1px solid rgba(160,120,42,0.25);
  color: #7a5a1f !important;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.cost-calc-head h2 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(24px, 2.6vw, 34px) !important;
  line-height: 1.2 !important;
  color: #1a3a8f !important;
  margin: 0 0 12px !important;
}
.cost-calc-head p {
  color: #4a5468 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  max-width: 640px;
}

/* Input wrapper — was being treated like an input itself */
.cost-calc .cost-calc-input {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 24px !important;
}
.cost-calc .cost-calc-input label {
  display: block !important;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: #6b7280 !important;
  margin: 0 !important;
}
.cost-calc .cost-calc-input select {
  display: block !important;
  width: 100% !important;
  max-width: 360px !important;
  padding: 14px 44px 14px 18px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1a3a8f !important;
  background-color: #ffffff !important;
  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 fill='none' stroke='%231a3a8f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 18px center !important;
  border: 1.5px solid #d6dde8 !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.cost-calc .cost-calc-input select:hover {
  border-color: #1a3a8f !important;
}
.cost-calc .cost-calc-input select:focus {
  outline: none !important;
  border-color: #1a3a8f !important;
  box-shadow: 0 0 0 4px rgba(26,58,143,0.12) !important;
}
.cost-calc .cost-calc-input .cost-calc-help {
  display: block !important;
  font-size: 13px !important;
  color: #6b7280 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Results: 3 polished cells */
.cost-calc .cost-calc-results {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin: 0 0 20px !important;
}
@media (max-width: 700px) {
  .cost-calc .cost-calc-results {
    grid-template-columns: 1fr !important;
  }
}
.cost-calc .cost-calc-cell {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 22px 22px !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%) !important;
  border: 1px solid #e7ecf3 !important;
  position: relative;
  overflow: hidden;
}
.cost-calc .cost-calc-cell:nth-child(1) {
  background: linear-gradient(180deg, #f5efdf 0%, #efe6c8 100%) !important;
  border-color: rgba(160,120,42,0.25) !important;
}
.cost-calc .cost-calc-cell.cost-calc-cell-total {
  background: linear-gradient(135deg, #1a3a8f 0%, #2d4ea8 100%) !important;
  border-color: rgba(26,58,143,0.40) !important;
  box-shadow: 0 8px 24px rgba(26,58,143,0.18);
}
.cost-calc .cost-calc-cell-label {
  display: block !important;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: #6b7280 !important;
  margin: 0 !important;
}
.cost-calc .cost-calc-cell:nth-child(1) .cost-calc-cell-label {
  color: #7a5a1f !important;
}
.cost-calc .cost-calc-cell.cost-calc-cell-total .cost-calc-cell-label {
  color: rgba(255,255,255,0.85) !important;
}
.cost-calc .cost-calc-cell-value {
  display: block !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  color: #1a3a8f !important;
  letter-spacing: -0.01em !important;
}
.cost-calc .cost-calc-cell:nth-child(1) .cost-calc-cell-value {
  color: #7a5a1f !important;
}
.cost-calc .cost-calc-cell.cost-calc-cell-total .cost-calc-cell-value {
  color: #ffffff !important;
  font-size: 36px !important;
}
.cost-calc .cost-calc-cell-sub {
  display: block !important;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  color: #6b7280 !important;
  margin: 0 !important;
}
.cost-calc .cost-calc-cell:nth-child(1) .cost-calc-cell-sub {
  color: #7a5a1f !important;
}
.cost-calc .cost-calc-cell.cost-calc-cell-total .cost-calc-cell-sub {
  color: rgba(255,255,255,0.8) !important;
}

/* Note row */
.cost-calc .cost-calc-note {
  display: block !important;
  padding: 14px 18px !important;
  background: linear-gradient(135deg, #f5efdf 0%, #f3e9c8 100%) !important;
  border: 1px solid rgba(160,120,42,0.30) !important;
  border-radius: 12px !important;
  color: #5a4316 !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  margin: 0 0 24px !important;
}

/* CTA row — fix invisible button text */
.cost-calc .cost-calc-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 18px !important;
  margin: 0 !important;
  text-align: right;
  font-size: 14px;
  color: #6b7280;
}
.cost-calc .cost-calc-cta .cta-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px 28px !important;
  background: linear-gradient(135deg, #1a3a8f 0%, #2d4ea8 100%) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.005em !important;
  text-decoration: none !important;
  border-radius: 12px !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(26,58,143,0.30);
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  white-space: nowrap !important;
}
.cost-calc .cost-calc-cta .cta-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(26,58,143,0.40) !important;
  color: #ffffff !important;
}
.cost-calc .cost-calc-cta .cta-secondary {
  display: inline-flex !important;
  align-items: center !important;
  padding: 12px 18px !important;
  color: #1a3a8f !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid transparent !important;
  transition: border-color 0.2s ease !important;
}
.cost-calc .cost-calc-cta .cta-secondary:hover {
  border-bottom-color: #1a3a8f !important;
}
@media (max-width: 600px) {
  .cost-calc { padding: 28px 22px !important; }
  .cost-calc .cost-calc-cta {
    flex-direction: column-reverse !important;
    align-items: stretch !important;
  }
  .cost-calc .cost-calc-cta .cta-primary { width: 100% !important; }
}

/* ============================================================
   SERVICES MEGA MENU · LIFECYCLE v1 (2026-06-13)
   4 columns: Start · Manage · Stay Compliant · Grow
   Plus: search bar, state picker widget, footer specialist CTA
   Color-coded per lifecycle stage.
   ============================================================ */

/* Mega container — wider for 5-column layout (4 lifecycle + state picker) */
.mega.mega-lifecycle {
  width: min(1280px, 96vw) !important;
  max-width: 1280px !important;
  padding: 0 !important;
}
.mega.mega-lifecycle .mega-inner {
  padding: 18px 22px 16px !important;
  background: #ffffff !important;
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(15, 29, 61, 0.14), 0 2px 6px rgba(15, 29, 61, 0.06);
  border: 1px solid #e7ecf3;
  max-height: 640px !important;
  overflow: hidden !important;
}
/* Lifecycle columns: cap height to right-side panel; scroll within column if overflow */
.mega.mega-lifecycle .mega-grid-5 {
  max-height: 580px !important;
  align-items: stretch !important;
}
.mega.mega-lifecycle .mega-section {
  max-height: 580px !important;
  overflow-y: auto !important;
  scroll-behavior: smooth !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(26,58,143,0.20) transparent;
  padding-right: 6px !important;
}
.mega.mega-lifecycle .mega-section::-webkit-scrollbar { width: 5px; }
.mega.mega-lifecycle .mega-section::-webkit-scrollbar-track { background: transparent; }
.mega.mega-lifecycle .mega-section::-webkit-scrollbar-thumb { background: rgba(26,58,143,0.28); border-radius: 999px; min-height: 30px; }
.mega.mega-lifecycle .mega-section::-webkit-scrollbar-thumb:hover { background: rgba(26,58,143,0.30); }



/* Search bar at top */
.mega-search {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  margin-bottom: 18px;
  background: #f5f7fb;
  border: 1.5px solid #e7ecf3;
  border-radius: 12px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.mega-search:focus-within {
  border-color: #1a3a8f;
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(26,58,143,0.10);
}
.mega-search-ico {
  flex-shrink: 0;
  color: #6b7280;
}
.mega-search:focus-within .mega-search-ico { color: #1a3a8f; }
.mega-search-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14.5px;
  font-weight: 500;
  color: #1a3a8f;
  min-width: 0;
}
.mega-search-input::placeholder { color: #9ca3af; font-weight: 400; }
.mega-search-kbd {
  flex-shrink: 0;
  padding: 3px 8px;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace;
  font-size: 11px;
  font-weight: 700;
  color: #6b7280;
  background: #ffffff;
  border: 1px solid #d6dde8;
  border-radius: 5px;
  box-shadow: 0 1px 0 rgba(0,0,0,0.04);
}
.mega-search-hints {
  position: absolute;
  top: 100%;
  left: 16px;
  right: 16px;
  display: flex;
  gap: 6px;
  padding-top: 8px;
  flex-wrap: wrap;
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.mega-search:focus-within .mega-search-hints {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.mega-search-hints a {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  background: rgba(26,58,143,0.06);
  border: 1px solid rgba(26,58,143,0.12);
  border-radius: 999px;
  color: #1a3a8f;
  font-size: 11.5px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s ease, transform 0.15s ease;
}
.mega-search-hints a:hover {
  background: rgba(26,58,143,0.12);
  transform: translateY(-1px);
}

/* 5-column grid: 4 lifecycle columns + state picker sidebar */
.mega.mega-lifecycle .mega-grid-5 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) 280px !important;
  gap: 14px !important;
  margin-bottom: 14px;
}
@media (max-width: 1180px) {
  .mega.mega-lifecycle .mega-grid-5 {
    grid-template-columns: repeat(4, 1fr) !important;
  }
  .mega-state-picker { display: none !important; }
}
@media (max-width: 900px) {
  .mega.mega-lifecycle .mega-grid-5 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Each lifecycle column */
.mega.mega-lifecycle .mega-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  padding: 0 !important;
  min-width: 0;
}
.mega.mega-lifecycle .mega-label {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 4px 8px 7px !important;
  margin-bottom: 2px !important;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  border-bottom: 1.5px solid;
}
.mega.mega-lifecycle .mega-label-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  display: inline-block !important;
  background: currentColor !important;
}
/* Color-code per column */
.mega-label-start    { color: #1a3a8f !important; border-bottom-color: rgba(26, 58, 143, 0.30) !important; }
.mega-label-manage   { color: #a0782a !important; border-bottom-color: rgba(160, 120, 42, 0.30) !important; }
.mega-label-stay     { color: #16a34a !important; border-bottom-color: rgba(22, 163, 74, 0.30) !important; }
.mega-label-grow     { color: #0f1d3d !important; border-bottom-color: rgba(15, 29, 61, 0.30) !important; }

/* Links inside columns */
.mega.mega-lifecycle .mm-link {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  padding: 6px 9px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: background 0.15s ease, transform 0.12s ease !important;
  position: relative;
}
.mega.mega-lifecycle .mm-link:hover {
  background: rgba(26, 58, 143, 0.04) !important;
  transform: translateX(2px);
}
.mega.mega-lifecycle .mm-link-featured {
  background: linear-gradient(135deg, rgba(160,120,42,0.07) 0%, rgba(26,58,143,0.05) 100%) !important;
  border: 1px solid rgba(160,120,42,0.18) !important;
  margin-bottom: 2px;
}
.mega.mega-lifecycle .mm-link-featured:hover {
  background: linear-gradient(135deg, rgba(160,120,42,0.12) 0%, rgba(26,58,143,0.08) 100%) !important;
  border-color: rgba(160,120,42,0.35) !important;
}
.mega.mega-lifecycle .mm-ico {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  color: #1a3a8f;
  background: rgba(26,58,143,0.08);
  margin-top: 1px;
}
.mega-section-start    .mm-ico { color: #1a3a8f; background: rgba(26, 58, 143, 0.08); }
.mega-section-manage   .mm-ico { color: #a0782a; background: rgba(160, 120, 42, 0.10); }
.mega-section-stay     .mm-ico { color: #16a34a; background: rgba(22, 163, 74, 0.10); }
.mega-section-grow     .mm-ico { color: #0f1d3d; background: rgba(15, 29, 61, 0.08); }
.mega.mega-lifecycle .mm-link:hover .mm-ico {
  transform: scale(1.08);
  transition: transform 0.18s ease;
}
.mega.mega-lifecycle .mm-text {
  flex: 1;
  min-width: 0;
  display: block;
}
.mega.mega-lifecycle .mm-text b {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1a3a8f !important;
  line-height: 1.25 !important;
  margin-bottom: 1px !important;
}
.mega.mega-lifecycle .mm-text > span {
  display: block !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #6b7280 !important;
  line-height: 1.3 !important;
}
.mm-feat {
  color: #a0782a;
  font-size: 11px;
  margin-right: 2px;
  line-height: 1;
}
.mega.mega-lifecycle .mm-badge {
  display: inline-block;
  padding: 1px 6px;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.6px;
  color: #7a5a1f;
  background: rgba(160, 120, 42, 0.15);
  border: 1px solid rgba(160, 120, 42, 0.30);
  border-radius: 4px;
  line-height: 1.4;
}
.mm-new {
  display: inline-block;
  padding: 1px 6px;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.6px;
  color: #ffffff;
  background: linear-gradient(135deg, #22a571 0%, #1a7d4f 100%);
  border-radius: 4px;
  line-height: 1.4;
}

/* State picker sidebar */
.mega-state-picker {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 18px 16px !important;
  background: linear-gradient(180deg, #fbfcfe 0%, #f5f7fb 100%) !important;
  border: 1px solid #e7ecf3 !important;
  border-radius: 12px !important;
  position: relative;
  overflow: hidden;
}
.mega-state-picker::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #1a3a8f 0%, #a0782a 100%);
}
.mega-side-header { margin-bottom: 4px; }
.mega-side-eyebrow {
  display: inline-block;
  padding: 3px 8px;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.2px;
  color: #7a5a1f;
  background: rgba(160, 120, 42, 0.12);
  border: 1px solid rgba(160, 120, 42, 0.30);
  border-radius: 4px;
  margin-bottom: 8px;
}
.mega-side-header h4 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 700;
  color: #1a3a8f;
  margin: 0 0 6px;
  line-height: 1.25;
}
.mega-side-header p {
  font-size: 12px;
  color: #6b7280;
  margin: 0;
  line-height: 1.45;
}
.mega-state-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.mega-state-card {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 9px 10px;
  background: #ffffff;
  border: 1px solid #e7ecf3;
  border-radius: 8px;
  text-decoration: none;
  position: relative;
  transition: all 0.18s ease;
}
.mega-state-card:hover {
  border-color: #1a3a8f;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(26,58,143,0.10);
}
.mega-state-card-featured {
  background: linear-gradient(135deg, #f5efdf 0%, #efe6c8 100%);
  border-color: rgba(160, 120, 42, 0.40);
  grid-column: 1 / -1;
}
.mega-state-card-featured:hover {
  background: linear-gradient(135deg, #efe6c8 0%, #e9dcb5 100%);
  border-color: #a0782a;
}
.mega-state-abbr {
  font-family: Georgia, serif;
  font-size: 13px;
  font-weight: 700;
  color: #1a3a8f;
  letter-spacing: 0.5px;
}
.mega-state-card-featured .mega-state-abbr { color: #7a5a1f; font-size: 14px; }
.mega-state-name {
  font-size: 11.5px;
  font-weight: 700;
  color: #1a3a8f;
  line-height: 1.2;
}
.mega-state-card-featured .mega-state-name { color: #7a5a1f; font-size: 12.5px; }
.mega-state-meta {
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace;
  font-size: 10px;
  font-weight: 600;
  color: #6b7280;
  letter-spacing: 0.3px;
}
.mega-state-card-featured .mega-state-meta { color: #7a5a1f; opacity: 0.85; }
.mega-state-badge {
  display: inline-block;
  margin-top: 4px;
  padding: 2px 6px;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace;
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #ffffff;
  background: #a0782a;
  border-radius: 4px;
  align-self: flex-start;
}
.mega-side-cta {
  display: block;
  text-align: center;
  padding: 10px;
  margin-top: 4px;
  background: #1a3a8f;
  color: #ffffff !important;
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 8px;
  transition: background 0.18s ease, transform 0.18s ease;
}
.mega-side-cta:hover {
  background: #0f1d3d;
  transform: translateY(-1px);
}

/* Footer row: utility services + specialist CTA */
.mega.mega-lifecycle .mega-foot {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) 280px !important;
  gap: 12px !important;
  padding-top: 16px !important;
  margin-top: 6px !important;
  border-top: 1px solid #e7ecf3 !important;
}
@media (max-width: 1180px) {
  .mega.mega-lifecycle .mega-foot {
    grid-template-columns: repeat(4, 1fr) !important;
  }
  .mega.mega-lifecycle .mm-foot-cta { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .mega.mega-lifecycle .mega-foot {
    grid-template-columns: 1fr 1fr !important;
  }
  .mega.mega-lifecycle .mm-foot-cta { grid-column: 1 / -1; }
}
.mega.mega-lifecycle .mm-foot-link {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 9px;
  text-decoration: none;
  transition: background 0.15s ease;
}
.mega.mega-lifecycle .mm-foot-link:hover { background: rgba(26,58,143,0.04); }
.mega.mega-lifecycle .mm-foot-ico {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: rgba(26,58,143,0.07);
  color: #1a3a8f;
}
.mega.mega-lifecycle .mm-foot-text {
  display: block;
  min-width: 0;
}
.mega.mega-lifecycle .mm-foot-text b {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  color: #1a3a8f;
  line-height: 1.3;
  margin-bottom: 1px;
}
.mega.mega-lifecycle .mm-foot-text > span {
  display: block;
  font-size: 11px;
  color: #6b7280;
  line-height: 1.3;
}
.mm-foot-cta {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: linear-gradient(135deg, #1a3a8f 0%, #2d4ea8 100%);
  border-radius: 11px;
  text-decoration: none;
  color: #ffffff !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 14px rgba(26,58,143,0.25);
}
.mm-foot-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(26,58,143,0.40);
}
.mm-foot-cta-ico {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(255,255,255,0.18);
  color: #ffffff;
}
.mm-foot-cta-text {
  flex: 1;
  display: block;
  min-width: 0;
}
.mm-foot-cta-text b {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.25;
}
.mm-foot-cta-text > span {
  display: block;
  font-size: 11px;
  color: rgba(255,255,255,0.78);
  line-height: 1.3;
}
.mm-foot-cta-arrow {
  flex-shrink: 0;
  color: #f5efdf;
  font-size: 18px;
  font-weight: 700;
  transition: transform 0.2s ease;
}
.mm-foot-cta:hover .mm-foot-cta-arrow { transform: translateX(4px); }

/* ============================================================
   MEGA MENU LIFECYCLE · HARDENING (2026-06-13)
   Override the legacy .mega-inner 2-col grid so the new
   lifecycle layout works (search + 5-col grid + footer)
   ============================================================ */
.mega.mega-lifecycle .mega-inner {
  display: block !important;
  grid-template-columns: none !important;
  width: min(1280px, 96vw) !important;
  max-width: 1280px !important;
  padding: 24px 28px 22px !important;
  gap: 0 !important;
}
.mega.mega-lifecycle .mega-search,
.mega.mega-lifecycle .mega-grid,
.mega.mega-lifecycle .mega-foot {
  width: 100% !important;
  box-sizing: border-box !important;
}
.mega.mega-lifecycle .mega-grid.mega-grid-5 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) 280px !important;
}
@media (max-width: 1240px) {
  .mega.mega-lifecycle .mega-inner {
    width: 100% !important;
    max-width: 100% !important;
  }
}
@media (max-width: 1180px) {
  .mega.mega-lifecycle .mega-grid.mega-grid-5 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .mega.mega-lifecycle .mega-state-picker { display: none !important; }
}
@media (max-width: 900px) {
  .mega.mega-lifecycle .mega-grid.mega-grid-5 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ============================================================
   MEGA MENU LIFECYCLE · v2 (2026-06-13)
   - Restructured search: input bar + inline quick chips (no overlap)
   - Force specialist CTA visibility (max specificity)
   ============================================================ */

/* Searchbar wrapper: input + chips stacked, always-visible */
.mega.mega-lifecycle .mega-searchbar {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin-bottom: 22px !important;
}
/* Reset old absolute positioning that overlapped columns */
.mega.mega-lifecycle .mega-search {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  margin: 0 !important;
  background: linear-gradient(180deg, #fafbfd 0%, #f3f5f9 100%) !important;
  border: 1.5px solid #e7ecf3 !important;
  border-radius: 12px !important;
  transition: all 0.2s ease !important;
}
.mega.mega-lifecycle .mega-search:focus-within {
  border-color: #1a3a8f !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(26, 58, 143, 0.10), 0 4px 14px rgba(26, 58, 143, 0.08) !important;
}
.mega.mega-lifecycle .mega-search-ico { flex-shrink: 0; color: #6b7280; transition: color 0.2s ease; }
.mega.mega-lifecycle .mega-search:focus-within .mega-search-ico { color: #1a3a8f; }
.mega.mega-lifecycle .mega-search-input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #1a3a8f !important;
}
.mega.mega-lifecycle .mega-search-input::placeholder {
  color: #9ca3af !important;
  font-weight: 400 !important;
}
.mega.mega-lifecycle .mega-search-kbd {
  flex-shrink: 0;
  padding: 4px 10px;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace;
  font-size: 11px;
  font-weight: 700;
  color: #6b7280;
  background: #ffffff;
  border: 1px solid #d6dde8;
  border-radius: 6px;
  box-shadow: 0 1px 0 rgba(0,0,0,0.04);
}

/* Disable the old absolute-positioned hints */
.mega.mega-lifecycle .mega-search-hints { display: none !important; }

/* New inline quick chips row */
.mega.mega-lifecycle .mega-quick {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  padding: 0 4px !important;
}
.mega.mega-lifecycle .mega-quick-label {
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: #6b7280 !important;
  margin-right: 4px !important;
}
.mega.mega-lifecycle .mega-quick-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 12px !important;
  background: #ffffff !important;
  border: 1px solid #e7ecf3 !important;
  border-radius: 999px !important;
  color: #1a3a8f !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.18s ease !important;
  white-space: nowrap;
}
.mega.mega-lifecycle .mega-quick-chip svg { color: #a0782a; flex-shrink: 0; }
.mega.mega-lifecycle .mega-quick-chip:hover {
  background: linear-gradient(135deg, #f5efdf 0%, rgba(160,120,42,0.10) 100%) !important;
  border-color: rgba(160,120,42,0.40) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(160, 120, 42, 0.18);
}
.mega.mega-lifecycle .mega-quick-chip-ai {
  margin-left: auto !important;
  background: linear-gradient(135deg, #1a3a8f 0%, #2d4ea8 100%) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 4px 12px rgba(26, 58, 143, 0.25) !important;
}
.mega.mega-lifecycle .mega-quick-chip-ai svg { color: #f5efdf; }
.mega.mega-lifecycle .mega-quick-chip-ai:hover {
  background: linear-gradient(135deg, #0f1d3d 0%, #1a3a8f 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 8px 22px rgba(26, 58, 143, 0.40) !important;
  color: #ffffff !important;
}
.mega.mega-lifecycle .mega-quick-chip-ai:hover svg { color: #ffffff; }

@media (max-width: 760px) {
  .mega.mega-lifecycle .mega-quick {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    padding-bottom: 6px !important;
    -webkit-overflow-scrolling: touch;
  }
  .mega.mega-lifecycle .mega-quick-chip-ai { margin-left: 0 !important; }
}

/* ============================================================
   SPECIALIST CTA · MAX SPECIFICITY FORCE (was rendering empty)
   ============================================================ */
.mega.mega-lifecycle .mega-foot a.mm-foot-cta,
.mega.mega-lifecycle a.mm-foot-cta {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  background: linear-gradient(135deg, #1a3a8f 0%, #2d4ea8 100%) !important;
  border: none !important;
  border-radius: 11px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(26, 58, 143, 0.25) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  min-width: 0;
}
.mega.mega-lifecycle .mega-foot a.mm-foot-cta:hover,
.mega.mega-lifecycle a.mm-foot-cta:hover {
  background: linear-gradient(135deg, #0f1d3d 0%, #1a3a8f 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 26px rgba(26, 58, 143, 0.45) !important;
  border: none !important;
}
.mega.mega-lifecycle a.mm-foot-cta .mm-foot-cta-ico {
  flex-shrink: 0 !important;
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
}
.mega.mega-lifecycle a.mm-foot-cta .mm-foot-cta-ico svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
  width: 18px !important;
  height: 18px !important;
}
.mega.mega-lifecycle a.mm-foot-cta .mm-foot-cta-text {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  min-width: 0 !important;
}
.mega.mega-lifecycle a.mm-foot-cta .mm-foot-cta-text b {
  display: block !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}
.mega.mega-lifecycle a.mm-foot-cta .mm-foot-cta-text > span {
  display: block !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.82) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}
.mega.mega-lifecycle a.mm-foot-cta .mm-foot-cta-arrow {
  flex-shrink: 0 !important;
  color: #f5efdf !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  transition: transform 0.2s ease !important;
  line-height: 1 !important;
}
.mega.mega-lifecycle a.mm-foot-cta:hover .mm-foot-cta-arrow {
  transform: translateX(4px) !important;
  color: #ffffff !important;
}

/* ============================================================
   SERVICES MEGA MENU · v3 FULL-BLEED + TABBED SIDEBAR (2026-06-13)
   - Mega panel extends edge-to-edge of viewport
   - Right sidebar has 3 tabs: States / Industries / Resources
   - California removed; sidebar lifted to use vertical space
   ============================================================ */

/* Full-bleed: break out of nav container, extend full viewport width */
.mega.mega-fullbleed {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  top: var(--header-h, 64px) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  border-radius: 0 !important;
  box-shadow: 0 24px 60px rgba(15, 29, 61, 0.14), 0 6px 20px rgba(15, 29, 61, 0.10) !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%) !important;
  border: none !important;
  border-bottom: 1px solid #e7ecf3 !important;
  border-top: 1px solid #e7ecf3 !important;
  z-index: 60;
}
.mega.mega-fullbleed::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #22388d 0%, #6f8fce 40%, #4ea876 70%, #f5cc7a 100%);
  z-index: 1;
}
.mega.mega-fullbleed .mega-inner {
  width: 100% !important;
  max-width: 1340px !important;
  margin: 0 auto !important;
  padding: 22px 32px 20px !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Tighter grid for full-width layout */
.mega.mega-fullbleed .mega-grid.mega-grid-5 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) 320px !important;
  gap: 22px !important;
  align-items: start !important;
  margin-bottom: 18px !important;
}
@media (max-width: 1180px) {
  .mega.mega-fullbleed .mega-grid.mega-grid-5 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .mega.mega-fullbleed .mega-side-tabbed { display: none !important; 
  justify-content: flex-start !important;
}
}
@media (max-width: 900px) {
  .mega.mega-fullbleed .mega-grid.mega-grid-5 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Tabbed sidebar */
.mega-side-tabbed {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  background: linear-gradient(180deg, #fbfcfe 0%, #f3f5f9 100%) !important;
  border: 1px solid #e7ecf3 !important;
  border-radius: 14px !important;
  overflow: hidden;
  position: relative;
  align-self: start !important;
  min-height: 0 !important;
}
.mega-side-tabbed::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #22388d 0%, #6f8fce 50%, #f5cc7a 100%);
}
.mega-side-tabs {
  display: flex !important;
  gap: 2px !important;
  padding: 14px 14px 0 !important;
  background: transparent !important;
  border-bottom: 1px solid #e7ecf3;
}
.mega-side-tab {
  flex: 1 1 auto !important;
  padding: 9px 8px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -1px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #6b7280 !important;
  cursor: pointer !important;
  transition: color 0.15s ease, border-color 0.15s ease !important;
  letter-spacing: 0.2px;
  text-align: center;
}
.mega-side-tab:hover { color: #22388d !important; }
.mega-side-tab.active {
  color: #22388d !important;
  border-bottom-color: #22388d !important;
}

.mega-side-panel {
  display: none !important;
  padding: 16px 16px 16px !important;
  animation: side-panel-in 0.25s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.mega-side-panel.active { display: block !important; }
@keyframes side-panel-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

.mega-side-eyebrow {
  display: inline-block;
  padding: 3px 8px;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.2px;
  color: #7a5a1f;
  background: rgba(245, 204, 122, 0.18);
  border: 1px solid rgba(245, 204, 122, 0.45);
  border-radius: 4px;
  margin-bottom: 8px;
}
.mega-side-tabbed h4 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 700;
  color: #101c46;
  margin: 0 0 4px;
  line-height: 1.2;
}
.mega-side-tabbed p {
  font-size: 11.5px;
  color: #6b7280;
  margin: 0 0 12px;
  line-height: 1.4;
}

/* State grid (no CA) — 4 cards in 2x2 + 1 featured spanning */
.mega-state-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px !important;
}
/* Industries list */
.mega-industry-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin-bottom: 10px !important;
}
.mega-industry-card {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 10px !important;
  background: #ffffff !important;
  border: 1px solid #e7ecf3 !important;
  border-radius: 9px !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}
.mega-industry-card:hover {
  border-color: #22388d !important;
  transform: translateX(2px) !important;
  box-shadow: 0 4px 10px rgba(34, 56, 141, 0.08) !important;
}
.mega-industry-ico {
  flex-shrink: 0 !important;
  width: 30px !important;
  height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 7px !important;
  background: rgba(34, 56, 141, 0.08) !important;
  color: #22388d !important;
}
.mega-industry-name {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #101c46 !important;
  line-height: 1.25 !important;
}
.mega-industry-sub {
  display: block !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  color: #6b7280 !important;
  line-height: 1.3 !important;
}

/* Resources list */
.mega-resource-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  margin-bottom: 10px !important;
}
.mega-resource-card {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 10px !important;
  background: #ffffff !important;
  border: 1px solid #e7ecf3 !important;
  border-radius: 9px !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}
.mega-resource-card:hover {
  border-color: #4ea876 !important;
  transform: translateX(2px) !important;
  box-shadow: 0 4px 10px rgba(78, 168, 118, 0.10) !important;
}
.mega-resource-ico {
  flex-shrink: 0 !important;
  width: 30px !important;
  height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 7px !important;
  background: rgba(78, 168, 118, 0.10) !important;
  color: #4ea876 !important;
}
.mega-resource-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
}
.mega-resource-name {
  display: block !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #101c46 !important;
  line-height: 1.25 !important;
}
.mega-resource-sub {
  display: block !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  color: #6b7280 !important;
  line-height: 1.3 !important;
}

/* CTA at bottom of sidebar */
.mega-side-tabbed .mega-side-cta {
  display: block !important;
  text-align: center !important;
  padding: 10px !important;
  margin-top: 8px !important;
  background: #22388d !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-radius: 8px !important;
  transition: background 0.18s ease, transform 0.18s ease !important;
}
.mega-side-tabbed .mega-side-cta:hover {
  background: #101c46 !important;
  transform: translateY(-1px) !important;
}

/* Mobile: tabs collapse to scroll row, content stacks */
@media (max-width: 900px) {
  .mega.mega-fullbleed { position: absolute !important; top: 100% !important; }
  .mega.mega-fullbleed .mega-inner { padding: 18px 18px !important; }
}

/* ============================================================
   NAV LOGO MARK · AMAZING HOVER ANIMATION (2026-06-13)
   F mark transforms into an opening folder revealing a document
   with a gold sparkle and a green confirmation dot.
   ============================================================ */

.nav-logo-icon-animated {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  position: relative;
  overflow: visible;
  cursor: pointer;
}
.nav-logo-mark {
  width: 24px !important;
  height: 24px !important;
  overflow: visible !important;
  transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
  will-change: transform;
}
.nav-logo:hover .nav-logo-mark {
  transform: scale(1.18) rotate(-4deg);
}

/* SVG layer defaults */
.nav-logo-mark .nav-logo-paths,
.nav-logo-mark .nav-logo-doc,
.nav-logo-mark .nav-logo-spark {
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.35s ease;
  transform-box: fill-box;
  transform-origin: center;
}

/* DEFAULT: F mark visible, document and sparkle hidden */
.nav-logo-mark .nav-logo-doc {
  opacity: 0;
  transform: translateY(8px) scale(0.78);
  transform-origin: bottom center;
}
.nav-logo-mark .nav-logo-doc-paper {
  filter: drop-shadow(0 2px 4px rgba(34, 56, 141, 0.18));
}
.nav-logo-mark .nav-logo-doc-line {
  stroke-dasharray: 20;
  stroke-dashoffset: 20;
  transition: stroke-dashoffset 0.5s ease 0.25s;
}
.nav-logo-mark .nav-logo-spark {
  opacity: 0;
  transform: scale(0.4) rotate(-30deg);
}

/* HOVER: folder opens, document slides up, sparkle pops */
/* Path 1 (top peak) — flips up like a folder lid */
.nav-logo-mark .nav-logo-p1 {
  transition: transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
  transform-origin: 50% 95%;
}
.nav-logo:hover .nav-logo-mark .nav-logo-p1 {
  transform: rotate(-22deg) translateY(-1.5px);
}

/* Path 2 (middle) — subtle slide */
.nav-logo-mark .nav-logo-p2 {
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  transform-origin: center;
}
.nav-logo:hover .nav-logo-mark .nav-logo-p2 {
  transform: translateX(0.8px);
}

/* Path 3 (bottom) — folder body widens slightly */
.nav-logo-mark .nav-logo-p3 {
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  transform-origin: center;
}
.nav-logo:hover .nav-logo-mark .nav-logo-p3 {
  transform: scaleX(1.05);
}

/* Document slides up from behind */
.nav-logo:hover .nav-logo-mark .nav-logo-doc {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.nav-logo:hover .nav-logo-mark .nav-logo-doc-line {
  stroke-dashoffset: 0;
}
.nav-logo:hover .nav-logo-mark .nav-logo-doc-line-2 {
  transition-delay: 0.30s;
}
.nav-logo:hover .nav-logo-mark .nav-logo-doc-line-3 {
  transition-delay: 0.35s;
}
.nav-logo:hover .nav-logo-mark .nav-logo-doc-line-4 {
  transition-delay: 0.40s;
}

/* Sparkle pops in with celebration */
.nav-logo:hover .nav-logo-mark .nav-logo-spark {
  opacity: 1;
  transform: scale(1) rotate(0deg);
  animation: nav-logo-spark-twinkle 1.4s ease-in-out 0.2s infinite;
}
@keyframes nav-logo-spark-twinkle {
  0%, 100% { opacity: 1; transform: scale(1) rotate(0deg); }
  50% { opacity: 0.7; transform: scale(1.15) rotate(15deg); }
}
.nav-logo-mark .nav-logo-spark-2 {
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s, opacity 0.3s ease 0.15s;
  opacity: 0;
  transform: translateY(4px) scale(0);
  transform-origin: center;
}
.nav-logo:hover .nav-logo-mark .nav-logo-spark-2 {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* On focus (keyboard nav), trigger the animation too */
.nav-logo:focus-visible .nav-logo-mark {
  transform: scale(1.18) rotate(-4deg);
}
.nav-logo:focus-visible .nav-logo-mark .nav-logo-p1 { transform: rotate(-22deg) translateY(-1.5px); }
.nav-logo:focus-visible .nav-logo-mark .nav-logo-p3 { transform: scaleX(1.05); }
.nav-logo:focus-visible .nav-logo-mark .nav-logo-doc { opacity: 1; transform: translateY(0) scale(1); }
.nav-logo:focus-visible .nav-logo-mark .nav-logo-doc-line { stroke-dashoffset: 0; }
.nav-logo:focus-visible .nav-logo-mark .nav-logo-spark { opacity: 1; transform: scale(1) rotate(0deg); }
.nav-logo:focus-visible .nav-logo-mark .nav-logo-spark-2 { opacity: 1; transform: translateY(0) scale(1); }

/* Reduced motion: just a subtle scale, no animation */
@media (prefers-reduced-motion: reduce) {
  .nav-logo-mark, .nav-logo-mark * {
    transition: none !important;
    animation: none !important;
  }
  .nav-logo:hover .nav-logo-mark { transform: scale(1.08); }
}

/* ============================================================
   MEGA MENU v4 · NO FOOTER · INTEGRATED UTILITY ITEMS (2026-06-13)
   - Footer row removed; utility services moved into columns
   - Divider above the integrated utility link (last item in column)
   - Talk-to-specialist chip added to search row
   ============================================================ */

/* Divider above utility item (the 7th item in each column) */
.mega.mega-lifecycle .mm-link-divider {
  margin-top: 10px !important;
  padding-top: 12px !important;
  border-top: 1px dashed #e7ecf3 !important;
  position: relative;
}
.mega.mega-lifecycle .mm-link-divider::before {
  content: "UTILITY";
  position: absolute;
  top: -6px;
  left: 12px;
  padding: 1px 6px;
  background: #ffffff;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #9ca3af;
}

/* Hide the old footer row CSS if anything still tries to render it */
.mega.mega-lifecycle .mega-foot { display: none !important; }

/* Talk-to-specialist chip in search row */
.mega.mega-lifecycle .mega-quick-spacer {
  flex: 1 1 auto;
  min-width: 8px;
}
.mega.mega-lifecycle .mega-quick-chip-specialist {
  background: #ffffff !important;
  border: 1.5px solid #4ea876 !important;
  color: #166534 !important;
  font-weight: 700 !important;
}
.mega.mega-lifecycle .mega-quick-chip-specialist svg {
  color: #4ea876 !important;
}
.mega.mega-lifecycle .mega-quick-chip-specialist:hover {
  background: linear-gradient(135deg, rgba(78, 168, 118, 0.10) 0%, rgba(78, 168, 118, 0.18) 100%) !important;
  border-color: #166534 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(78, 168, 118, 0.20) !important;
}

/* Slightly tighten inner padding now that there is no footer row */
.mega.mega-fullbleed .mega-inner {
  padding: 22px 32px 26px !important;
}

@media (max-width: 760px) {
  .mega.mega-lifecycle .mega-quick-spacer { display: none; }
  .mega.mega-lifecycle .mega-quick-chip-specialist { margin-left: 0; }
}

/* ============================================================
   MEGA MENU v5 · ALSO AVAILABLE + POPULAR BADGE + 3 MEGA MENUS
   (2026-06-13)
   - Utility services moved to persistent sidebar footer strip
   - "Popular" badge for featured-but-not-#1 items
   - Same lifecycle pattern applied to Solutions + Resources
   ============================================================ */

/* Kill the inline-column UTILITY divider (no longer used) */
.mega.mega-lifecycle .mm-link-divider { 
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
}
.mega.mega-lifecycle .mm-link-divider::before { display: none !important; }

/* "Also available" strip inside sidebar (4 utility services as mini cards) */
.mega-side-tabbed .mega-side-content {
  flex: 0 0 auto !important;
}
.mega-side-also {
  margin-top: 14px !important;
  padding: 14px 4px 4px !important;
  border-top: 1px solid #eef0f5 !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
}
.mega-side-also-label {
  font-family: inherit !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #8089a3 !important;
  margin-bottom: 10px !important;
  padding-left: 4px !important;
}
.mega-side-also-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 5px !important;
}
.mega-side-also-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  padding: 9px 4px !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  text-align: center !important;
  transition: all 0.15s ease !important;
}
.mega-side-also-card:hover {
  background: rgba(34, 56, 141, 0.05) !important;
  border-color: transparent !important;
  transform: none !important;
  box-shadow: none !important;
}
.mega-side-also-ico {
  width: 26px !important;
  height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 7px !important;
  background: rgba(34, 56, 141, 0.07) !important;
  color: #22388d !important;
  transition: background 0.15s ease !important;
}
.mega-side-also-ico svg { width: 14px !important; height: 14px !important; }
.mega-side-also-card:hover .mega-side-also-ico {
  background: rgba(34, 56, 141, 0.14) !important;
}
.mega-side-also-card:hover .mega-side-also-name { color: #22388d !important; }
.mega-side-also-name {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #5a6280 !important;
  line-height: 1.25 !important;
}

/* "Popular" badge — for featured-but-not-#1 items (e.g., Annual Report) */
.mm-pop {
  display: inline-block;
  padding: 1px 6px;
  font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.6px;
  color: #166534;
  background: rgba(34, 165, 113, 0.14);
  border: 1px solid rgba(34, 165, 113, 0.32);
  border-radius: 4px;
  line-height: 1.4;
  margin-left: 2px;
}

/* Solutions mega menu — slightly different accent (purple) */
.mega.mega-solutions .mega-label-start  { color: #7c3aed !important; border-bottom-color: rgba(124, 58, 237, 0.30) !important; }
.mega.mega-solutions .mega-section-start .mm-ico,
.mega.mega-solutions .mega-section-start.mega-section-start .mm-ico { color: #7c3aed !important; background: rgba(124, 58, 237, 0.08) !important; }

/* Resources mega menu — green accent */
.mega.mega-resources .mega-label-start  { color: #16a34a !important; border-bottom-color: rgba(22, 163, 74, 0.30) !important; }
.mega.mega-resources .mega-section-start .mm-ico { color: #16a34a !important; background: rgba(22, 163, 74, 0.10) !important; }

/* Sidebar restructured: tabs + content + also-available footer */
.mega.mega-fullbleed .mega-side-tabbed {
  display: flex !important;
  flex-direction: column !important;
  align-self: start !important;
  padding: 0 !important;
}
.mega-side-tabbed .mega-side-content {
  padding: 0 !important;
  flex: 0 0 auto !important;
}

/* Tighter mega inner now that footer row is gone */
.mega.mega-fullbleed .mega-inner {
  padding: 22px 32px 24px !important;
}

/* Hide the legacy mega-foot if any leftover instance exists */
.mega.mega-fullbleed .mega-foot,
.mega.mega-lifecycle .mega-foot,
.mega.mega-solutions .mega-foot,
.mega.mega-resources .mega-foot {
  display: none !important;
}

/* The non-featured RA (now secondary featured under Annual Report) should still have the gold tint */
.mega.mega-lifecycle .mega-section-manage .mm-link-featured + .mm-link-featured {
  margin-top: 4px;
}

/* ============================================================
   MEGA MENU v5.1 · TIGHTEN "ALSO AVAILABLE" STRIP (2026-06-13)
   Remove label, compact cards, less padding
   ============================================================ */

/* Hide the "Also available" label entirely */
.mega-side-also .mega-side-also-label {
  display: none !important;
}

/* Tighter overall strip */
.mega-side-also {
  margin-top: 12px !important;
  padding: 12px 4px 14px !important;
  border-top: 1px solid #eef0f5 !important;
  background: transparent !important;
}

/* Smaller mini cards */
.mega-side-also-grid {
  gap: 4px !important;
}
.mega-side-also-card {
  gap: 3px !important;
  padding: 6px 3px !important;
  border-radius: 7px !important;
}
.mega-side-also-ico {
  width: 22px !important;
  height: 22px !important;
  border-radius: 5px !important;
}
.mega-side-also-ico svg {
  width: 12px !important;
  height: 12px !important;
}
.mega-side-also-name {
  font-size: 9.5px !important;
  line-height: 1.1 !important;
}

/* ============================================================
   NAV LOGO MARK · v2 HOVER ANIMATION (2026-06-13)
   The story: F mark opens → paper slides out → paper clip 
   draws on → "FILED" stamp drops with bounce → sparkles twinkle
   ============================================================ */

/* Override v1 defaults that don't fit the new elements */
.nav-logo-icon-animated {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  position: relative;
  overflow: visible;
}
.nav-logo-mark {
  width: 26px !important;
  height: 26px !important;
  overflow: visible !important;
  transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
  will-change: transform;
}
.nav-logo:hover .nav-logo-mark {
  transform: scale(1.18) rotate(-4deg);
}

/* Mark paths default state */
.nav-logo-paths { transform-box: fill-box; transform-origin: center; }
.nav-logo-mark .nav-logo-p1,
.nav-logo-mark .nav-logo-p2,
.nav-logo-mark .nav-logo-p3 {
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  transform-box: fill-box;
}
.nav-logo-mark .nav-logo-p1 {
  transform-origin: 50% 95%;
}
.nav-logo:hover .nav-logo-mark .nav-logo-p1 {
  transform: rotate(-25deg) translateY(-2px);
}
.nav-logo-mark .nav-logo-p2 { transform-origin: center; }
.nav-logo:hover .nav-logo-mark .nav-logo-p2 {
  transform: translateX(0.8px);
}
.nav-logo-mark .nav-logo-p3 { transform-origin: center; }
.nav-logo:hover .nav-logo-mark .nav-logo-p3 {
  transform: scaleX(1.05);
}

/* DOCUMENT — slides up from behind mark with subtle scale */
.nav-logo-mark .nav-logo-doc {
  opacity: 0;
  transform: translateY(10px) scale(0.7);
  transform-origin: bottom center;
  transition: opacity 0.35s ease 0.10s, transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.10s;
}
.nav-logo:hover .nav-logo-mark .nav-logo-doc {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.nav-logo-mark .nav-logo-doc-paper {
  filter: drop-shadow(0 2px 6px rgba(34, 56, 141, 0.22));
}
.nav-logo-mark .nav-logo-doc-fold {
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.10));
}

/* Document lines draw on staggered */
.nav-logo-mark .nav-logo-doc-line {
  stroke-dasharray: 22;
  stroke-dashoffset: 22;
  transition: stroke-dashoffset 0.4s ease;
}
.nav-logo:hover .nav-logo-mark .nav-logo-doc-line-1 { transition-delay: 0.30s; stroke-dashoffset: 0; }
.nav-logo:hover .nav-logo-mark .nav-logo-doc-line-2 { transition-delay: 0.36s; stroke-dashoffset: 0; }
.nav-logo:hover .nav-logo-mark .nav-logo-doc-line-3 { transition-delay: 0.42s; stroke-dashoffset: 0; }
.nav-logo:hover .nav-logo-mark .nav-logo-doc-line-4 { transition-delay: 0.48s; stroke-dashoffset: 0; }

/* Paper clip draws on */
.nav-logo-mark .nav-logo-clip {
  stroke-dasharray: 32;
  stroke-dashoffset: 32;
  transition: stroke-dashoffset 0.5s ease 0.50s;
}
.nav-logo:hover .nav-logo-mark .nav-logo-clip {
  stroke-dashoffset: 0;
}

/* "FILED" STAMP — drops in from upper-right with rotation overshoot */
.nav-logo-mark .nav-logo-stamp {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  transform: translate(8px, -12px) rotate(35deg) scale(0.3);
  transition: opacity 0.25s ease 0.62s,
              transform 0.45s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0.62s;
}
.nav-logo:hover .nav-logo-mark .nav-logo-stamp {
  opacity: 1;
  transform: translate(0, 0) rotate(-10deg) scale(1);
}
.nav-logo-mark .nav-logo-stamp-box {
  filter: drop-shadow(0 1.5px 2.5px rgba(22, 163, 74, 0.35));
}

/* SPARKLES — twinkle in loop after main animation */
.nav-logo-mark .nav-logo-spark > * {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}
.nav-logo:hover .nav-logo-mark .nav-logo-spark-1 {
  animation: nav-logo-spark-twinkle 1.6s ease-in-out 0.45s infinite;
}
.nav-logo:hover .nav-logo-mark .nav-logo-spark-2 {
  animation: nav-logo-spark-pulse 1.8s ease-in-out 0.70s infinite;
}
.nav-logo:hover .nav-logo-mark .nav-logo-spark-3 {
  animation: nav-logo-spark-twinkle 1.5s ease-in-out 0.90s infinite;
}
.nav-logo:hover .nav-logo-mark .nav-logo-spark-4 {
  animation: nav-logo-spark-pulse 1.7s ease-in-out 1.10s infinite;
}
@keyframes nav-logo-spark-twinkle {
  0%, 100% { opacity: 0; transform: scale(0.3) rotate(-20deg); }
  20% { opacity: 1; transform: scale(1) rotate(0); }
  60% { opacity: 1; transform: scale(1.2) rotate(18deg); }
  80% { opacity: 0.85; transform: scale(0.95) rotate(8deg); }
}
@keyframes nav-logo-spark-pulse {
  0%, 100% { opacity: 0; transform: scale(0.4); }
  30% { opacity: 1; transform: scale(1.25); }
  60% { opacity: 0.9; transform: scale(1); }
}

/* Focus-visible (keyboard nav) gets the same animation */
.nav-logo:focus-visible .nav-logo-mark { transform: scale(1.18) rotate(-4deg); }
.nav-logo:focus-visible .nav-logo-mark .nav-logo-p1 { transform: rotate(-25deg) translateY(-2px); }
.nav-logo:focus-visible .nav-logo-mark .nav-logo-doc { opacity: 1; transform: translateY(0) scale(1); }
.nav-logo:focus-visible .nav-logo-mark .nav-logo-doc-line { stroke-dashoffset: 0; }
.nav-logo:focus-visible .nav-logo-mark .nav-logo-clip { stroke-dashoffset: 0; }
.nav-logo:focus-visible .nav-logo-mark .nav-logo-stamp {
  opacity: 1; transform: translate(0,0) rotate(-10deg) scale(1);
}

/* Reduced motion — gentle scale only */
@media (prefers-reduced-motion: reduce) {
  .nav-logo-mark, .nav-logo-mark * {
    transition: none !important;
    animation: none !important;
  }
  .nav-logo:hover .nav-logo-mark { transform: scale(1.08); }
}

/* ============================================================
   MEGA SEARCH · v3 PROMINENT SEARCH BUTTON + SHIMMER (2026-06-13)
   - Replace ⌘K hint with real Search button
   - Subtle shimmer animation to attract attention
   - Slightly tinted background so the search bar pops
   ============================================================ */

/* Hide the old kbd hint everywhere (we may still see it in some places) */
.mega.mega-lifecycle .mega-search-kbd {
  display: none !important;
}

/* The search bar itself - more visible with subtle gradient tint + ambient glow */
.mega.mega-lifecycle .mega-search {
  position: relative !important;
  background: linear-gradient(180deg, #fafbfd 0%, #f0f3f9 100%) !important;
  border: 1.5px solid #d6dde8 !important;
  border-radius: 14px !important;
  padding: 8px 8px 8px 18px !important;
  box-shadow: 
    0 1px 0 rgba(255, 255, 255, 0.6) inset,
    0 2px 12px rgba(34, 56, 141, 0.06) !important;
  overflow: hidden !important;
  transition: all 0.25s ease !important;
}

/* Animated shimmer that sweeps across periodically to draw the eye */
.mega.mega-lifecycle .mega-search::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(245, 204, 122, 0.0) 30%,
    rgba(245, 204, 122, 0.25) 50%,
    rgba(245, 204, 122, 0.0) 70%,
    transparent 100%
  );
  animation: mega-search-shimmer 4.5s ease-in-out infinite;
  animation-delay: 1.5s;
  pointer-events: none;
  z-index: 1;
}
@keyframes mega-search-shimmer {
  0% { left: -100%; }
  35%, 100% { left: 200%; }
}

/* Focused state — kill the shimmer, glow on the border */
.mega.mega-lifecycle .mega-search:focus-within {
  background: #ffffff !important;
  border-color: #22388d !important;
  box-shadow:
    0 0 0 4px rgba(34, 56, 141, 0.12),
    0 6px 18px rgba(34, 56, 141, 0.12) !important;
}
.mega.mega-lifecycle .mega-search:focus-within::before {
  animation-play-state: paused;
  opacity: 0;
}

/* Input grows / icon brightens on focus */
.mega.mega-lifecycle .mega-search-ico {
  color: #6b7280 !important;
  flex-shrink: 0 !important;
  z-index: 2;
  transition: color 0.2s ease, transform 0.2s ease !important;
}
.mega.mega-lifecycle .mega-search:focus-within .mega-search-ico {
  color: #22388d !important;
  transform: scale(1.08) !important;
}
.mega.mega-lifecycle .mega-search-input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #101c46 !important;
  padding: 6px 8px !important;
  position: relative;
  z-index: 2;
}
.mega.mega-lifecycle .mega-search-input::placeholder {
  color: #8a93a3 !important;
  font-weight: 400 !important;
}

/* The Search button — prominent navy CTA with hover + pulse */
.mega.mega-lifecycle .mega-search-btn {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 9px 18px 9px 14px !important;
  background: linear-gradient(135deg, #22388d 0%, #2d4ea8 100%) !important;
  border: none !important;
  border-radius: 9px !important;
  color: #ffffff !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: -0.005em !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: 
    0 4px 12px rgba(34, 56, 141, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1),
              box-shadow 0.2s ease,
              background 0.2s ease !important;
  z-index: 3;
  overflow: hidden;
}
.mega.mega-lifecycle .mega-search-btn svg {
  flex-shrink: 0 !important;
  color: #ffffff !important;
  stroke: #ffffff !important;
}
.mega.mega-lifecycle .mega-search-btn span {
  display: inline !important;
  color: #ffffff !important;
  line-height: 1 !important;
}

/* Pulsing glow ring around the button to make it stand out */
.mega.mega-lifecycle .mega-search-btn::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 11px;
  background: linear-gradient(135deg, #22388d 0%, #6f8fce 100%);
  z-index: -1;
  opacity: 0;
  filter: blur(8px);
  transition: opacity 0.3s ease;
  animation: mega-search-btn-pulse 2.8s ease-in-out infinite;
}
@keyframes mega-search-btn-pulse {
  0%, 100% { opacity: 0.35; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.06); }
}

.mega.mega-lifecycle .mega-search-btn:hover {
  transform: translateY(-1.5px) scale(1.03) !important;
  background: linear-gradient(135deg, #2d4ea8 0%, #3a5fc4 100%) !important;
  box-shadow:
    0 8px 22px rgba(34, 56, 141, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.20) !important;
}
.mega.mega-lifecycle .mega-search-btn:hover::after {
  opacity: 0.85;
  animation-play-state: paused;
}
.mega.mega-lifecycle .mega-search-btn:active {
  transform: translateY(0) scale(0.99) !important;
  box-shadow: 0 2px 6px rgba(34, 56, 141, 0.30) !important;
}

/* Search button shimmer on its surface (sweeps left-to-right) */
.mega.mega-lifecycle .mega-search-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.0) 30%,
    rgba(255, 255, 255, 0.35) 50%,
    rgba(255, 255, 255, 0.0) 70%,
    transparent 100%
  );
  transform: skewX(-20deg);
  animation: mega-search-btn-sweep 4s ease-in-out infinite;
  pointer-events: none;
}
@keyframes mega-search-btn-sweep {
  0%, 50% { left: -120%; }
  80%, 100% { left: 220%; }
}

/* Reduced motion: kill all the animations, keep just hover state */
@media (prefers-reduced-motion: reduce) {
  .mega.mega-lifecycle .mega-search::before,
  .mega.mega-lifecycle .mega-search-btn::after,
  .mega.mega-lifecycle .mega-search-btn::before {
    animation: none !important;
    opacity: 0 !important;
  }
}

/* Mobile: button text hides, just icon */
@media (max-width: 540px) {
  .mega.mega-lifecycle .mega-search-btn {
    padding: 9px 12px !important;
  }
  .mega.mega-lifecycle .mega-search-btn span {
    display: none !important;
  }
}

/* ============================================================
   MEGA MENU v6.3 — Strip removed + tightened
   Bottom utility row (Attorney/Contract/Business/Identity) hidden entirely.
   Mega menu compressed: less padding, tighter grid gap, smaller heights.
   ============================================================ */

/* Hide the bottom utility strip completely */
.mega-side-also,
.mega.mega-lifecycle .mega-side-also,
.mega.mega-fullbleed .mega-side-also { display: none !important; }

/* Tighten the mega menu */
.mega.mega-lifecycle .mega-inner {
  padding: 16px 22px 14px !important;
  max-height: 640px !important;
  background: #ffffff !important;
  border-radius: 14px;
}
.mega.mega-lifecycle .mega-grid-5 {
  max-height: 580px !important;
  gap: 12px !important;
  margin-bottom: 8px !important;
  align-items: start !important;
}
.mega.mega-lifecycle .mega-section {
  max-height: 580px !important;
  overflow-y: auto !important;
  padding-right: 4px !important;
}
.mega.mega-lifecycle .mega-label {
  padding: 4px 8px 6px !important;
  margin-bottom: 2px !important;
  font-size: 10px !important;
}
.mega.mega-lifecycle .mm-link {
  padding: 5px 8px !important;
  gap: 8px !important;
}


/* ============================================================
   MEGA MENU v6.4 — Right-side box: cap selections at 4
   Limit visible cards in Services mega menu right panels to 4 each.
   ============================================================ */
.mega-state-grid > a.mega-state-card:nth-child(n+6),
.mega-industry-list > a.mega-industry-card:nth-child(n+5),
.mega.mega-fullbleed .mega-resource-list > a.mega-resource-card:nth-child(n+5) {
  display: none !important;
}


/* ============================================================
   MEGA MENU v6.5 — Fix right-side tab panel clipping
   Industries + Resources panels were getting cut off. Allow them
   to scroll within the right-side box if content overflows.
   ============================================================ */
.mega.mega-lifecycle .mega-side-tabbed {
  max-height: 580px !important;
  display: flex !important;
  flex-direction: column !important;
}
.mega.mega-lifecycle .mega-side-content {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  min-height: 0 !important;
  padding-right: 4px !important;
}
.mega.mega-lifecycle .mega-side-panel {
  display: none;
}
.mega.mega-lifecycle .mega-side-panel.is-active,
.mega.mega-lifecycle .mega-side-panel[data-panel-active="true"] {
  display: block !important;
}
/* Tab buttons + CTA stay anchored, don't shrink */
.mega.mega-lifecycle .mega-side-tabs,
.mega.mega-lifecycle .mega-side-cta {
  flex: 0 0 auto !important;
}
/* Scrollbar styling on the side content */
.mega.mega-lifecycle .mega-side-content::-webkit-scrollbar { width: 5px; }
.mega.mega-lifecycle .mega-side-content::-webkit-scrollbar-track { background: transparent; }
.mega.mega-lifecycle .mega-side-content::-webkit-scrollbar-thumb { background: rgba(26,58,143,0.20); border-radius: 999px; }
.mega.mega-lifecycle .mega-side-content::-webkit-scrollbar-thumb:hover { background: rgba(26,58,143,0.32); }


/* ============================================================
   MEGA SEARCH BAR — Ask BosAI button inline with Search
   ============================================================ */
.mega-search-bosai {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 9px 14px !important;
  margin-left: 6px !important;
  background: linear-gradient(135deg, rgba(160,120,42,0.10) 0%, rgba(34,56,141,0.08) 100%) !important;
  color: #22388d !important;
  border: 1px solid rgba(160,120,42,0.22) !important;
  border-radius: 8px !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  white-space: nowrap;
}
.mega-search-bosai:hover {
  background: linear-gradient(135deg, rgba(160,120,42,0.18) 0%, rgba(34,56,141,0.14) 100%) !important;
  border-color: rgba(160,120,42,0.40) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 10px rgba(34,56,141,0.08) !important;
}
.mega-search-bosai svg { color: #a0782a; }

/* ============================================================
   FOOTER V3 — CLEAN BASELINE (replaces V2 + V2.1 accumulation)
   Brand block on top as horizontal hero band.
   Trust badges, CTAs, sections all render cleanly below.
   ============================================================ */

.site-footer{padding:64px 0 28px;background:linear-gradient(180deg,#0f1e4b 0%,#0b173d 100%)}

/* Top region: stack brand above sections (no more 2-col split) */
.footer-top{display:block;margin-bottom:0}

/* Brand block — horizontal 3-row layout inside, full-width band on top */
.footer-brand{
  display:grid;
  grid-template-columns:minmax(280px,1.6fr) auto auto;
  grid-template-rows:auto auto;
  column-gap:40px;
  row-gap:14px;
  align-items:start;
  position:static;
  max-width:none;
  padding-bottom:32px;
  margin-bottom:36px;
  border-bottom:1px solid rgba(245,239,223,.10);
}
/* Row 1: logo (col 1), trust badges (col 2 spanning both rows), CTAs (col 3 spanning both rows) */
.footer-brand .footer-logo{
  grid-column:1;grid-row:1;
  display:flex;align-items:center;gap:12px;text-decoration:none;
  margin:0;
}
.footer-brand .footer-logo .brand{
  font-family:var(--font-serif);font-weight:600;font-size:24px;color:#fff;letter-spacing:-.01em;
}
/* Row 2: tag below logo, same column */
.footer-brand .footer-tag{
  grid-column:1;grid-row:2;
  font-size:13.5px;color:#94a0b8;line-height:1.6;
  max-width:480px;margin:0;
}
/* Trust badges: column 2, vertically centered across both rows */
.footer-brand .footer-trust{
  grid-column:2;grid-row:1 / span 2;
  display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;
  align-self:center;justify-content:flex-start;
}
.footer-brand .footer-badge{
  font-size:10.5px;font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace;
  letter-spacing:.04em;color:#d4dde8;
  background:rgba(245,239,223,.05);border:1px solid rgba(245,239,223,.14);
  padding:6px 12px;border-radius:99px;font-weight:500;
  transition:all .15s ease;
}
.footer-brand .footer-badge:hover{
  background:rgba(245,239,223,.10);border-color:rgba(160,120,42,.5);color:#fff;
}
/* CTAs: column 3, vertically centered across both rows */
.footer-brand .footer-cta-row{
  grid-column:3;grid-row:1 / span 2;
  display:flex;flex-direction:column;gap:10px;
  align-self:center;align-items:stretch;margin:0;
}
.footer-brand .footer-cta-row .btn{
  min-width:170px;text-align:center;justify-content:center;
  padding:11px 22px;font-size:13.5px;border-radius:9px;font-weight:600;
  transition:all .18s ease;
}
.footer-brand .footer-cta-row .btn-primary{
  background:#fff;color:#0f1e4b;border:0;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
}
.footer-brand .footer-cta-row .btn-primary:hover{
  background:#f5efdf;transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(245,239,223,.20);
}
.footer-brand .footer-cta-row .btn-ghost-light{
  background:transparent;color:#d4dde8;
  border:1px solid rgba(255,255,255,.18);
}
.footer-brand .footer-cta-row .btn-ghost-light:hover{
  border-color:#a0782a;color:#fff;background:rgba(160,120,42,0.08);
}

/* Sections region: full width below brand */
.footer-sections{display:flex;flex-direction:column;gap:56px;width:100%}
.footer-section{position:relative}
.footer-section + .footer-section{padding-top:44px;border-top:1px solid rgba(245,239,223,.08)}
.footer-section-head{
  font-family:var(--font-serif);font-size:12px;color:#f5efdf;
  letter-spacing:.28em;text-transform:uppercase;font-weight:600;
  margin-bottom:22px;padding-bottom:14px;
  display:flex;align-items:center;gap:10px;
  border-bottom:none;position:relative;
}
.footer-section-head::before{
  content:"";display:inline-block;width:6px;height:6px;
  background:#a0782a;border-radius:50%;
  box-shadow:0 0 0 3px rgba(160,120,42,.18);
}
.footer-section-head::after{
  content:"";position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,rgba(160,120,42,.45) 0%,rgba(245,239,223,.08) 28%,transparent 100%);
}
.footer-cols{display:grid;gap:28px 20px}
.footer-cols-5{grid-template-columns:repeat(5,1fr)}
.footer-cols-4{grid-template-columns:repeat(5,1fr)}  /* normalize to 5-col layout for visual consistency */
.footer-col{display:flex;flex-direction:column;gap:2px}
.footer-label{
  font-size:10.5px;color:#fff;font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace;
  letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:12px;
}
.footer-col a{
  color:#94a0b8;text-decoration:none;font-size:13px;padding:4px 0;
  line-height:1.45;display:inline-block;width:fit-content;
  transition:color .15s ease, transform .15s ease;
}
.footer-col a:hover{color:#fff;transform:translateX(3px)}
.footer-col a strong{color:#f5efdf}

/* ============================================================
   GLOBAL FOOTER STANDARD · 2026-06-27 (owner-locked)
   Single source of truth for tagline color + bottom disclosure.
   ============================================================ */

/* Brand tagline: ALWAYS green (#86d6a6). Overrides every prior layer. */
.site-footer .footer-tag,
.site-footer .footer-brand .footer-tag,
.site-footer .footer-brand > p{
  color:#86d6a6 !important;
  font-family:"Inter", "Inter Fallback", sans-serif;
  font-size:13.5px;
  line-height:1.6;
  letter-spacing:.005em;
}

/* Premium bottom disclosure — replaces the old single-line gray paragraph.
   Owner directive 2026-06-27: force a clean SINGLE-COLUMN vertical stack:
   disclosure → policy-links (one line) → pagebreak → fine-print → copyright/social.
   No 2-col grid in this region under any circumstance. */
.site-footer .footer-bottom{
  display:flex !important;
  flex-direction:column !important;
  gap:0;
  padding:36px 0 0;
  margin-top:40px;
  border-top:1px solid rgba(245,239,223,.10);
  position:relative;
  width:100%;
}
.site-footer .footer-bottom > *{
  width:100% !important;
  max-width:none !important;
  display:block;
}
.site-footer .footer-bottom::before{
  content:"";
  position:absolute; top:-1px; left:0; width:120px; height:1px;
  background:linear-gradient(90deg,#a0782a 0%,rgba(160,120,42,.4) 60%,transparent 100%);
}

/* Explicit visual order: disclosure → legal-links → footer-note → bottom-row */
.site-footer .footer-disclosure   { order:1; margin-bottom:28px; }
.site-footer .footer-legal-links  { order:2; }
.site-footer .footer-note         { order:3; }
.site-footer .footer-bottom-row   { order:4; }

/* Disclosure tier — regulatory/legal block (icon + headline + body) */
.site-footer .footer-disclosure{
  display:grid !important;
  grid-template-columns:36px 1fr;
  gap:16px;
  padding:18px 20px;
  background:rgba(245,239,223,.04);
  border:1px solid rgba(245,239,223,.10);
  border-radius:12px;
  margin-bottom:28px;
}
.site-footer .footer-disclosure-icon{
  width:36px; height:36px; border-radius:9px;
  background:linear-gradient(135deg,#a0782a 0%,#7a5a1f 100%);
  display:flex; align-items:center; justify-content:center;
  color:#fffdf6;
}
.site-footer .footer-disclosure-icon svg{width:18px;height:18px}
.site-footer .footer-disclosure-body{min-width:0}
.site-footer .footer-disclosure-head{
  font-family:var(--font-serif),Georgia,serif;
  font-size:13px; font-weight:700; color:#f5efdf;
  letter-spacing:.02em; margin:0 0 6px;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.site-footer .footer-disclosure-head .sep{
  width:3px; height:3px; border-radius:50%;
  background:rgba(245,239,223,.4); display:inline-block;
}
.site-footer .footer-disclosure-body p{
  margin:0;
  font-size:12px; line-height:1.6; color:#aeb8c8;
  letter-spacing:.005em;
}
.site-footer .footer-disclosure-body p a{
  color:#86d6a6; text-decoration:underline;
  text-decoration-color:rgba(134,214,166,.35);
  text-underline-offset:2px;
}
.site-footer .footer-disclosure-body p a:hover{
  color:#fff; text-decoration-color:#fff;
}

/* Bottom row — copyright + social + legal links */
.site-footer .footer-bottom-row{
  display:flex; justify-content:space-between; align-items:center;
  gap:24px; flex-wrap:wrap; margin-bottom:16px;
}
.site-footer .footer-copy{
  font-family:var(--font-serif),Georgia,serif;
  font-size:13px; color:#d4dde8; font-weight:500; letter-spacing:.005em;
}
.site-footer .footer-social{display:flex; gap:6px}
.site-footer .footer-social a{
  width:32px; height:32px; border-radius:8px;
  display:inline-flex; align-items:center; justify-content:center;
  color:#94a0b8;
  background:transparent;
  border:1px solid rgba(245,239,223,.10);
  transition:all .15s ease;
}
.site-footer .footer-social a:hover{
  color:#fff; background:rgba(160,120,42,.14);
  border-color:rgba(160,120,42,.55);
  transform:translateY(-1px);
}

/* Legal links — ONE LINE with pagebreak above and below.
   Wraps responsively only on narrow screens (<720px). */
.site-footer .footer-legal-links{
  display:flex !important;
  flex-wrap:nowrap !important;
  flex-direction:row !important;
  align-items:center;
  justify-content:flex-start;
  gap:0 22px;
  padding:16px 0;
  margin:0 0 16px;
  border-top:1px solid rgba(245,239,223,.10);
  border-bottom:1px solid rgba(245,239,223,.10);
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.site-footer .footer-legal-links::-webkit-scrollbar{display:none}
.site-footer .footer-legal-links a{
  font-family:"Inter", "Inter Fallback", sans-serif;
  color:#94a0b8; text-decoration:none; font-size:12px;
  letter-spacing:.01em; padding:2px 0;
  white-space:nowrap;
  flex-shrink:0;
  transition:color .15s ease;
}
.site-footer .footer-legal-links a:hover{color:#fff;}

/* Trailing fine print — restricted industries + state-fee note, on its OWN line under the legal pagebreak. */
.site-footer .footer-note{
  font-family:"Inter", "Inter Fallback", sans-serif;
  font-size:11.5px; line-height:1.65; color:#7a8395;
  margin:0 0 24px; max-width:none; letter-spacing:.005em;
  padding:0;
}
.site-footer .footer-note a{
  color:#aeb8c8; text-decoration:underline;
  text-decoration-color:rgba(174,184,200,.35);
  text-underline-offset:2px;
}
.site-footer .footer-note a:hover{color:#fff; text-decoration-color:#fff;}

/* Hide the legacy inline .fb-global-disclosure div — replaced by .footer-disclosure */
.site-footer .fb-global-disclosure{display:none !important;}

/* Mobile tuning for the bottom block */
@media (max-width:760px){
  .site-footer .footer-disclosure{grid-template-columns:1fr !important; padding:16px;}
  .site-footer .footer-disclosure-icon{margin-bottom:4px;}
  .site-footer .footer-bottom-row{flex-direction:column; align-items:flex-start; gap:14px;}
  /* On phones, allow the legal links to wrap onto multiple rows rather than horizontal-scroll. */
  .site-footer .footer-legal-links{
    flex-wrap:wrap !important;
    gap:8px 16px;
    overflow-x:visible;
  }
}

/* Tablet — brand region restacks; column-count is owned by FIX 8 cascade only */
@media (max-width:1200px){
  .footer-brand{grid-template-columns:1fr auto;column-gap:32px}
  .footer-brand .footer-trust{grid-column:1;grid-row:3;justify-content:flex-start;align-self:start}
  .footer-brand .footer-cta-row{grid-column:2;grid-row:1 / span 3;align-self:center}
}

/* Mobile */
@media (max-width:760px){
  .site-footer{padding:48px 0 24px}
  .footer-brand{grid-template-columns:1fr;row-gap:18px}
  .footer-brand .footer-logo{grid-column:1;grid-row:1;justify-content:flex-start}
  .footer-brand .footer-tag{grid-column:1;grid-row:2;max-width:none}
  .footer-brand .footer-trust{grid-column:1;grid-row:3;align-self:start;justify-content:flex-start}
  .footer-brand .footer-cta-row{grid-column:1;grid-row:4;flex-direction:row;flex-wrap:wrap;align-self:start;align-items:flex-start}
}

/* ============================================================
   CTA contrast safety net (added 2026-06-27)
   Catches visual bugs where buttons with white text appear
   without a dark background (commonly from inline styles or
   class drift). Ensures every visible CTA is readable.
   ============================================================ */

/* A) Button-shaped anchors with white text but NO bg — these are the real CTA bugs.
     Requires padding present (i.e., styled as a button, not a text link). */
  a[style*="color:#fff"][style*="padding"]:not([style*="background"]):not([style*="linear-gradient"]):not([class*="badge"]):not([class*="figcaption"]),
  a[style*="color: #fff"][style*="padding"]:not([style*="background"]):not([style*="linear-gradient"]):not([class*="badge"]):not([class*="figcaption"]),
  a[style*="color:white"][style*="padding"]:not([style*="background"]):not([style*="linear-gradient"]):not([class*="badge"]):not([class*="figcaption"]),
  a[style*="color: white"][style*="padding"]:not([style*="background"]):not([style*="linear-gradient"]):not([class*="badge"]):not([class*="figcaption"]) {
    background: linear-gradient(135deg, #22388d 0%, #101c46 100%) !important;
    border-radius: 10px !important;
    display: inline-block !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 22px rgba(34,56,141,0.18) !important;
  }
  
  /* B) Buttons with white text but NO background — same fix */
  button[style*="color:#fff"][style*="padding"]:not([style*="background"]):not([style*="linear-gradient"]),
  button[style*="color: #fff"][style*="padding"]:not([style*="background"]):not([style*="linear-gradient"]),
  button[style*="color:white"][style*="padding"]:not([style*="background"]):not([style*="linear-gradient"]) {
    background: linear-gradient(135deg, #22388d 0%, #101c46 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
  }
  
  /* C) Hover safety on injected CTAs */
  a[style*="color:#fff"][style*="padding"]:not([style*="background"]):hover,
  a[style*="color: #fff"][style*="padding"]:not([style*="background"]):hover,
  a[style*="color:white"][style*="padding"]:not([style*="background"]):hover {
    background: linear-gradient(135deg, #101c46 0%, #22388d 100%) !important;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(34,56,141,0.28) !important;
  }
  
  /* D) When .btn-primary loses its bg context, restore navy */
  a.btn-primary:not([style*="background"]),
  button.btn-primary:not([style*="background"]) {
    background: linear-gradient(135deg, #22388d 0%, #101c46 100%);
    color: #fff;
  }
  
  /* E) Footer link safety: ensure footer-cta-row buttons are never invisible */
.site-footer .btn-primary { background: #fff !important; color: #0f1e4b !important; }
.site-footer .btn-secondary { background: transparent !important; color: #fff !important; border: 1px solid rgba(255,255,255,.28) !important; }


/* ==========================================================================
   "What is included" + "What it is" intro sections — compact premium look
   (added 2026-06-27, compacted)
   ========================================================================== */

/* Section head — premium typography but tight */
.section-head .kicker {
  display: inline-block;
  font-family: 'JetBrains Mono', 'SF Mono', monospace;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #a0782a;
  padding: 4px 10px;
  background: rgba(160,120,42,.08);
  border-radius: 999px;
  margin-bottom: 10px;
}

.section-head h2 {
  font-family: "Source Serif 4", "Source Serif Fallback", Georgia, serif !important;
  font-size: clamp(1.6rem, 2.1vw, 2rem) !important;
  font-weight: 600 !important;
  color: #101c46;
  letter-spacing: -0.018em;
  line-height: 1.18;
  margin: 8px 0 12px !important;
}

.section-head h2 em.italic {
  font-style: italic;
  color: #a0782a;
}

.section-head p {
  font-size: clamp(0.95rem, 1.1vw, 1.05rem);
  color: #4a5570;
  line-height: 1.6;
  max-width: 640px;
}

/* Feature list — compact 2-col grid, tighter cards */
.feature-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 10px !important;
  margin-top: 18px !important;
  list-style: none;
  padding: 0;
  max-width: none !important;
}

.feature-list li {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  background: #ffffff;
  border: 1px solid #e8eaf2;
  border-radius: 10px;
  font-size: 13.5px !important;
  color: #1a2342 !important;
  line-height: 1.5;
  font-weight: 500;
  transition: border-color .15s ease, transform .15s ease;
}

.feature-list li:hover {
  border-color: #c9d2e8;
  transform: translateY(-1px);
}

.feature-list .ci {
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 6px !important;
  background: rgba(160, 120, 42, 0.12) !important;
  display: grid;
  place-items: center;
  color: #a0782a !important;
  margin-top: 1px;
}

.feature-list .ci svg {
  width: 12px;
  height: 12px;
  stroke-width: 3;
}

/* Mobile */
@media (max-width: 600px) {
  .feature-list { grid-template-columns: 1fr !important; gap: 8px !important; }
  .feature-list li { padding: 10px 12px; font-size: 13px !important; }
}

/* ==========================================================================
   "What is included" — compact pillar/card grid
   ========================================================================== */

.pillars {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
  gap: 12px !important;
  margin-top: 20px;
}

.pillar {
  position: relative;
  display: flex !important;
  flex-direction: column;
  padding: 18px 18px !important;
  background: #ffffff !important;
  border: 1px solid #e8eaf2 !important;
  border-radius: 12px !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
  overflow: hidden;
}

.pillar:hover {
  transform: translateY(-2px) !important;
  border-color: #c9d2e8 !important;
  box-shadow: 0 10px 24px rgba(34, 56, 141, 0.08) !important;
}

.pillar .icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  background: rgba(34, 56, 141, 0.08) !important;
  color: #22388d !important;
  display: grid !important;
  place-items: center;
  margin-bottom: 10px !important;
}

.pillar .icon svg {
  width: 18px !important;
  height: 18px !important;
  stroke-width: 1.9 !important;
}

.pillar h3 {
  font-family: "Source Serif 4", "Source Serif Fallback", Georgia, serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin: 0 0 6px !important;
  letter-spacing: -0.01em !important;
  color: #101c46 !important;
  line-height: 1.3;
}

.pillar p {
  font-size: 13px !important;
  color: #4a5570 !important;
  line-height: 1.55 !important;
  margin: 0;
}

/* Subtle color rotation on icon tiles for visual rhythm without being loud */
.pillar:nth-child(3n+1) .icon { background: rgba(34, 56, 141, 0.08) !important; color: #22388d !important; }
.pillar:nth-child(3n+2) .icon { background: rgba(160, 120, 42, 0.10) !important; color: #a0782a !important; }
.pillar:nth-child(3n+3) .icon { background: rgba(22, 163, 74, 0.10) !important; color: #16a34a !important; }

/* Mobile */
@media (max-width: 600px) {
  .pillars { grid-template-columns: 1fr !important; gap: 10px !important; }
  .pillar { padding: 14px 14px !important; }
  .pillar .icon { width: 30px !important; height: 30px !important; margin-bottom: 8px !important; }
  .pillar .icon svg { width: 16px !important; height: 16px !important; }
  .pillar h3 { font-size: 0.95rem !important; }
  .pillar p { font-size: 12.5px !important; }
}

/* ==========================================================================
   Section rhythm + transitions + "What it is" prose polish (2026-06-27)
   - Tighten oversized 96px section padding -> 64px (96px was creating huge gaps)
   - Add visible transition cues between adjacent same-background sections
   - Improve prose blocks inside .section-head with drop-cap, fluid type, mobile fix
   ========================================================================== */

/* 1. Section padding rhythm — tighter on top, asymmetric for natural flow */
section { padding: 64px 0 !important; }
@media (max-width: 900px) { section { padding: 48px 0 !important; } }
@media (max-width: 600px) { section { padding: 40px 0 !important; } }

.section-sm { padding: 44px 0 !important; }
@media (max-width: 600px) { .section-sm { padding: 32px 0 !important; } }

/* 2. Visible transitions: subtle 1px hairline between sections of same bg.
      This signals "new topic" without shouting. */
section + section:not(.section-tint):not([class*="bg-"]):not([style*="background"]) {
  border-top: 1px solid #eef0f5;
}

/* When a section-tint follows a plain section, no border needed — the background change itself is the cue */
section + .section-tint { border-top: none !important; }
.section-tint + section { border-top: none !important; }

/* 3. Prose block ("What it is" reading section) — make it actually a reading block */
.section-head .reveal > div[style*="line-height"],
.section-head > div[style*="line-height"] {
  font-size: clamp(15.5px, 1.3vw, 17px) !important;
  line-height: 1.72 !important;
  color: #2a3450 !important;
  max-width: 680px;
}

/* The prose container (the inline-styled <div> wrapping the <p> tags after the H2) */
.section-head h2 + div,
.section-head [style*="line-height:1.7"],
.section-head [style*="line-height: 1.7"] {
  font-size: clamp(15.5px, 1.25vw, 17px) !important;
  line-height: 1.72 !important;
  color: #2a3450 !important;
  letter-spacing: -0.001em;
}

.section-head h2 + div p,
.section-head [style*="line-height:1.7"] p {
  margin: 0 0 18px !important;
  font-size: inherit !important;
  color: inherit !important;
}

.section-head h2 + div p:last-child,
.section-head [style*="line-height:1.7"] p:last-child { margin-bottom: 0 !important; }

/* Soft "guide rail" on the left side of the prose — gives the reading block a clear identity
   and improves visual alignment without a heavy card treatment */
.section-head h2 + div,
.section-head [style*="line-height:1.7"] {
  padding-left: 20px;
  border-left: 3px solid #eef0f5;
  margin-top: 20px !important;
}

/* First paragraph gets a slightly larger lede treatment */
.section-head h2 + div > p:first-child,
.section-head [style*="line-height:1.7"] > p:first-child {
  font-size: 1.05em !important;
  color: #1a2342 !important;
  font-weight: 450;
}

/* Mobile: drop the left guide rail (saves horizontal space) and re-center */
@media (max-width: 600px) {
  .section-head h2 + div,
  .section-head [style*="line-height:1.7"] {
    padding-left: 0 !important;
    border-left: none !important;
    margin-top: 16px !important;
    font-size: 15.5px !important;
    line-height: 1.65 !important;
  }
  .section-head h2 + div p,
  .section-head [style*="line-height:1.7"] p {
    margin: 0 0 14px !important;
  }
  .section-head.left { padding: 0 4px; }
}

/* 4. Tighten the empty-top of "What it is" sections — the kicker often had margin-top auto-inherited */
.section-head .kicker:first-child { margin-top: 0 !important; }
.section-head h2:first-of-type { margin-top: 8px !important; }


/* ==========================================================================
   KPI band + trust badges — compact mobile / tablet layout (2026-06-27)
   The default 3-col grid leaves an empty cell when 4 KPIs are present.
   Trust badges wrap into multi-row chunks on mobile. Both fixes below.
   ========================================================================== */

/* Tablet (601-900px): force 2x2 grid so 4 KPIs balance, no empty cells */
@media (max-width: 900px) and (min-width: 601px) {
  .v2-kpi-band,
  .v2-kpi-band-dark {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1px !important;
  }
  .v2-kpi-cell { padding: 18px 14px !important; }
}

/* Mobile (≤600px): compact horizontal scrolling row.
   All KPI cells line up on one row that scrolls if needed.
   This avoids the giant empty space and keeps the band 1 row tall. */
@media (max-width: 600px) {
  .v2-kpi-band,
  .v2-kpi-band-dark {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    gap: 1px !important;
    margin: 18px 0 !important;
    padding: 0 !important;
    border-radius: 12px !important;
  }
  .v2-kpi-cell {
    flex: 0 0 calc(33.333% + 0px) !important;
    min-width: 110px !important;
    padding: 14px 10px !important;
    scroll-snap-align: start;
  }
  .v2-kpi-num {
    font-size: 1.4rem !important;
    line-height: 1.1 !important;
  }
  .v2-kpi-label {
    font-size: 9.5px !important;
    letter-spacing: 0.06em !important;
    margin-top: 4px !important;
  }
  .v2-kpi-sub {
    font-size: 10.5px !important;
    margin-top: 2px !important;
  }
  /* Hide scrollbar visually but keep scroll capability */
  .v2-kpi-band::-webkit-scrollbar,
  .v2-kpi-band-dark::-webkit-scrollbar { display: none; }
  .v2-kpi-band, .v2-kpi-band-dark { scrollbar-width: none; }
}

/* Trust badge row — single line that scrolls on mobile */
@media (max-width: 600px) {
  .v2-badge-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    justify-content: flex-start !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    margin: 16px -16px !important;
    border-top: 1px solid #ecf0f6;
    border-bottom: 1px solid #ecf0f6;
  }
  .v2-badge {
    flex-shrink: 0 !important;
    padding: 6px 12px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }
  .v2-badge svg { width: 12px !important; height: 12px !important; }
  .v2-badge-row::-webkit-scrollbar { display: none; }
  .v2-badge-row { scrollbar-width: none; }
}

/* Very small (≤400px) — tighten further */
@media (max-width: 400px) {
  .v2-kpi-cell { min-width: 96px !important; padding: 12px 8px !important; }
  .v2-kpi-num { font-size: 1.25rem !important; }
  .v2-kpi-label { font-size: 9px !important; }
  .v2-kpi-sub { font-size: 10px !important; }
}


/* ==========================================================================
   Merge adjacent KPI band + trust-badge sections (2026-06-27)
   When a section wrapping a .v2-kpi-band is immediately followed by a section
   wrapping a .v2-badge-row, collapse them into one cohesive block.
   ========================================================================== */

/* Collapse the gap between adjacent KPI + badge sections */
section:has(> .container > .v2-kpi-band) + section:has(> .container > .v2-badge-row),
section:has(.v2-kpi-band) + section:has(.v2-badge-row) {
  padding-top: 0 !important;
  margin-top: -16px !important;
  border-top: 0 !important;
}

section:has(> .container > .v2-kpi-band),
section:has(.v2-kpi-band) {
  padding-bottom: 8px !important;
}

/* Make the trust badge row visually subordinate to the KPI band above —
   smaller padding, no top border, sits like a footer caption */
section:has(.v2-kpi-band) + section .v2-badge-row,
section + section .v2-badge-row {
  border-top: 0 !important;
  border-bottom: 0 !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  margin: 0 !important;
}

/* Hide duplicate badges that already appear as KPI numbers (51 jurisdictions / 220K formed)
   when both the band AND the badge appear on the same page. The KPI version is more visible. */
@media (min-width: 600px) {
  section:has(.v2-kpi-band) ~ section .v2-badge:has(svg + *:not(text):where(*[*="Jurisdictions"])) {
    /* Selectors with :has have spotty support — see fallback below */
  }
}

/* Concrete deduplication: use class-targeted rules where possible.
   The duplicated badges in the screenshot were "51 Jurisdictions" and "220,000+ Formed". */
.v2-badge[data-dup="kpi"] { display: none !important; }

/* MOBILE — actually merge them visually into one card stack */
@media (max-width: 600px) {
  /* The wrapping sections shed their padding so they appear seamless */
  section:has(> .container > .v2-kpi-band) {
    padding: 18px 0 0 0 !important;
  }
  section:has(> .container > .v2-badge-row) {
    padding: 0 0 18px 0 !important;
  }
  /* Pull the badge row up against the KPI band */
  section:has(.v2-kpi-band) + section:has(.v2-badge-row) {
    margin-top: -8px !important;
  }
  /* On the badge row: a thin single-row scrolling strip, much smaller */
  .v2-badge-row {
    border-top: 1px solid #ecf0f6 !important;
    padding-top: 12px !important;
    margin: 8px 0 0 0 !important;
  }
  /* The "See disclosures" caption underneath — drop the size */
  .v2-badge-row + div,
  div:has(> .v2-badge-row) + div {
    font-size: 10.5px !important;
    margin-top: 6px !important;
  }
}


/* ==========================================================================
   Section transition polish — premium scroll rhythm (2026-06-27)
   - Gradient bleed between alternating bg sections (no hard edges)
   - Smooth scroll behavior with scroll-margin for anchors
   - Scroll-driven fade-in reveals (respect reduced-motion)
   - Anchored rhythm: subtle decorative seam between sections
   ========================================================================== */

/* 1. Smooth scroll + anchor offset so anchored sections don't sit under sticky nav */
html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 88px; }

/* 2. Gradient bleed between adjacent sections — soft 36px transition zone
      so the page reads as one continuous canvas instead of stacked boxes */
section:not(.section-tint):not([class*="bg-dark"]) {
  position: relative;
}

/* When a tinted section follows a plain section, blend the bottom of the plain
   section into the tint color over the last 36px.
   2026-07-28 audit: exclude .fb-global-cta/.cf-help — the blend ::before was
   hijacking their own decorative ::before (they define one, see §6 note). */
section + .section-tint::before,
.section-tint + section:not(.section-tint):not(.fb-global-cta):not(.cf-help)::before {
  content: '';
  position: absolute;
  top: -36px;
  left: 0;
  right: 0;
  height: 36px;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0%, #fbfcfe 100%);
  z-index: 0;
}

/* Don't fade the light seam over a self-contained dark CTA box that sits
   directly above a tint section — the #fbfcfe bleed would wash out the
   bottom of the dark box (e.g. .cf-help above #related-services). */
.cf-help + .section-tint::before,
.fb-global-cta + .section-tint::before {
  display: none;
}

/* Reverse blend: when going from tint back to white.
   2026-07-28 audit: exclude the dark bands — the #fbfcfe fade painted a
   36px light smear INSIDE the top of .fb-global-cta on 186 state pages
   (same bleed class as the .callout band bug fixed the same day). */
.section-tint + section:not(.section-tint):not(.fb-global-cta):not(.cf-help)::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 36px;
  pointer-events: none;
  background: linear-gradient(180deg, #fbfcfe 0%, transparent 100%);
  z-index: 0;
}

/* 3. Section content stays above the bleed */
section > .container,
section > div { position: relative; z-index: 1; }

/* 4. Scroll-driven reveal — respects reduced-motion. Native CSS scroll
      animation where supported (Chrome 115+); graceful fallback elsewhere. */
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .reveal,
    .section-head,
    .pillar,
    .feature-list li,
    .who-card,
    .step-tile {
      animation: fbFadeIn linear both;
      animation-timeline: view();
      animation-range: entry 5% cover 30%;
    }
    @keyframes fbFadeIn {
      from { opacity: 0; transform: translateY(16px); }
      to   { opacity: 1; transform: translateY(0); }
    }
  }
}

/* 5. Section header rhythm — first H2 in a section gets a top accent rule
      (a thin gold mark above the kicker) to anchor visually */
.section-head .kicker {
  position: relative;
}
.section-head .kicker::before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 1px;
  background: #a0782a;
  vertical-align: middle;
  margin-right: 10px;
  opacity: 0.6;
}

/* 6. Section dividers — a refined seam between sections of the same bg.
      Replaces the prior hairline border with a centered ornament.
      Excludes self-contained dark CTA sections (.cf-help, .fb-global-cta):
      those define their own decorative ::before, and the ornament would
      both hijack it and show as a stray light bump on the dark box. */
section + section:not(.section-tint):not([class*="bg-"]):not(.cf-help):not(.fb-global-cta)::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #d6dae8 50%, transparent 100%);
}

/* Remove the old basic border-top we added earlier; the ornament replaces it */
section + section:not(.section-tint):not([class*="bg-"]):not([style*="background"]) {
  border-top: 0 !important;
}

/* 7. Mobile — disable transition bleeds (they look bad on narrow viewports
      where sections are tall and scroll-driven motion is jittery) */
@media (max-width: 600px) {
  section + .section-tint::before,
  .section-tint + section:not(.section-tint)::before,
  .section-tint + section:not(.section-tint)::after {
    display: none;
  }
  section + section::before {
    width: 40px;
  }
  html { scroll-behavior: auto; }
}


/* ==========================================================================
   Premium "One platform" headline treatment (2026-06-27)
   Targets the homepage's three big "One platform" section openers + any hub
   page using the same pattern. Gives them a unified, more dramatic display.
   ========================================================================== */

.bos-journey-title,
.pros-grid-title,
#state-map h2 {
  font-family: 'Source Serif 4', 'Playfair Display', Georgia, serif !important;
  font-size: clamp(32px, 4.8vw, 56px) !important;
  font-weight: 600 !important;
  color: #101c46 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  max-width: 880px !important;
  margin: 18px 0 16px !important;
  position: relative;
}

/* Italicize the closing phrase ("One platform.") via the existing <em class="italic accent">
   pattern, but for plain text we can highlight the last sentence with a gold underline-on-scroll */
.bos-journey-title em,
.pros-grid-title em,
#state-map h2 em {
  font-style: italic;
  background: linear-gradient(120deg, #a0782a 0%, #c89a47 50%, #a0782a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 600;
}

/* Add a gold anchor dash above the eyebrow for these flagship sections */
.bos-journey-section .step-meta::before,
.pros-grid .step-meta::before,
#state-map .step-meta::before {
  content: '';
  display: inline-block;
  width: 28px;
  height: 2px;
  background: linear-gradient(90deg, #a0782a 0%, #c89a47 100%);
  vertical-align: middle;
  margin-right: 12px;
  border-radius: 2px;
}

/* Subtle radial glow behind the H2 for the state-map version (most prominent) */
#state-map > .container > div:first-child > div:first-child {
  position: relative;
}
#state-map > .container > div:first-child > div:first-child::before {
  content: '';
  position: absolute;
  top: -20px;
  left: -40px;
  width: 320px;
  height: 320px;
  background: radial-gradient(circle, rgba(160,120,42,.08) 0%, transparent 70%);
  z-index: 0;
  pointer-events: none;
  border-radius: 50%;
}
#state-map > .container > div:first-child > div:first-child > * { position: relative; z-index: 1; }

/* Drop a sub-line accent under flagship H2s — a thin gold rule */
.bos-journey-title::after,
.pros-grid-title::after {
  content: '';
  display: block;
  width: 56px;
  height: 3px;
  background: linear-gradient(90deg, #a0782a 0%, transparent 100%);
  border-radius: 2px;
  margin-top: 14px;
}

/* Better lede paragraph under the One platform H2s */
.bos-journey-section .bos-journey-title + p,
.pros-grid .pros-grid-title + p,
#state-map h2 + p {
  font-size: clamp(15px, 1.2vw, 18px) !important;
  color: #3a4254 !important;
  line-height: 1.6 !important;
  max-width: 640px !important;
  margin: 8px 0 0 !important;
}

/* Mobile tightening — keep the drama but fit the viewport */
@media (max-width: 600px) {
  .bos-journey-title,
  .pros-grid-title,
  #state-map h2 {
    font-size: clamp(26px, 8vw, 36px) !important;
    line-height: 1.1 !important;
    margin: 12px 0 10px !important;
  }
  #state-map > .container > div:first-child > div:first-child::before { display: none; }
  .bos-journey-title::after,
  .pros-grid-title::after { width: 40px; margin-top: 10px; }
}


/* ==========================================================================
   Section rhythm normalization (2026-06-27)
   Many sections were shipped with inline padding values from 32px to 120px,
   producing inconsistent gaps between transitions. Force a uniform rhythm
   that wins over inline styles via attribute-selector specificity.
   ========================================================================== */

main > section,
body > section,
section[class],
section[id],
section[style] {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Tighter rhythm on small visual band sections that intentionally stayed compact */
section.fb-global-cta,
section.section-sm,
section.section-tight {
  padding-top: 36px !important;
  padding-bottom: 36px !important;
}

/* Hero sections keep slightly larger top padding (they sit under the nav) */
main > section.hero,
main > section.hero-small,
main > section.hero-conv,
main > section[class*="hero"]:first-child {
  padding-top: 48px !important;
  padding-bottom: 28px !important;
}

@media (max-width: 900px) {
  main > section, body > section, section[class], section[id], section[style] {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  section.fb-global-cta, section.section-sm, section.section-tight {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }
}

@media (max-width: 600px) {
  main > section, body > section, section[class], section[id], section[style] {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  section.fb-global-cta, section.section-sm, section.section-tight {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }
}

/* Strip any orphan margin from divs that sit immediately between sections
   (some sections used a wrapping <div style="margin-top:Xpx"> to push spacing) */
section + section { margin-top: 0 !important; }

/* Global grid backdrop reverted per owner directive 2026-06-27 —
   form-a-corporation.html and compare.html retain their scoped
   .hero-bg .grid pattern only inside their own hero sections. */

/* ============================================================
   RELATED SERVICES — ONE GLOBAL VIEW · 2026-06-28 (owner-locked)
   Single canonical look for .related-services across all service
   pages. Overrides per-page inline styles via attribute selectors
   so we don't need to touch 2,751 HTML files individually.
   Rule: max 4 cards × 1 row, premium card chrome, consistent type.
   ============================================================ */
.related-services{ margin: 48px auto 32px !important; max-width: 1240px !important; padding: 0 24px !important; }
.related-services > div{ border-top: 1px solid #ecf0f6 !important; padding-top: 36px !important; }
.related-services h2{ font-family: "Source Serif 4", "Source Serif Fallback", Georgia, serif !important; font-size: 22px !important; font-weight: 600 !important; color: #101c46 !important; letter-spacing: -0.018em !important; margin: 0 0 18px !important; line-height: 1.2 !important; }
.related-services > div > div[style*="grid"],
.related-services > div > div:not([style]){
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.related-services .rel-svc-card:nth-child(n+5){ display: none !important; }
.related-services .rel-svc-card{
  display: flex !important; flex-direction: column !important; gap: 8px !important;
  background: #fff !important; border: 1px solid #ecf0f6 !important; border-radius: 12px !important;
  padding: 18px 18px 16px !important; text-decoration: none !important; color: inherit !important;
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease !important;
  min-height: 100% !important;
}
.related-services .rel-svc-card:hover{ border-color: #d6dde9 !important; transform: translateY(-2px) !important; box-shadow: 0 8px 22px -14px rgba(26,58,143,.18) !important; }
.related-services .rel-svc-card h3{ font-family: "Source Serif 4", "Source Serif Fallback", Georgia, serif !important; font-size: 15px !important; font-weight: 600 !important; color: #101c46 !important; letter-spacing: -0.01em !important; line-height: 1.3 !important; margin: 0 !important; }
.related-services .rel-svc-card p{ font-family: 'Inter', system-ui, sans-serif !important; font-size: 12.5px !important; color: #5a6280 !important; line-height: 1.5 !important; margin: 0 !important; flex: 1 !important;
  /* clamp body to 3 lines so card heights stay even */
  display: -webkit-box !important; -webkit-line-clamp: 3 !important; -webkit-box-orient: vertical !important; overflow: hidden !important;
}
.related-services .rel-svc-card span{ display: inline-flex !important; align-items: center !important; gap: 4px !important; font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace !important; font-size: 10.5px !important; font-weight: 700 !important; color: #a0782a !important; letter-spacing: -0.005em !important; margin-top: auto !important; padding-top: 6px !important; }
.related-services .rel-svc-card:hover span{ color: #7a5a1f !important; }
@media (max-width: 1024px){
  .related-services > div > div[style*="grid"],
  .related-services > div > div:not([style]){ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .related-services .rel-svc-card:nth-child(n+5){ display: none !important; }
}
@media (max-width: 560px){
  .related-services{ margin: 32px auto 24px !important; padding: 0 16px !important; }
  .related-services > div{ padding-top: 24px !important; }
  .related-services > div > div[style*="grid"],
  .related-services > div > div:not([style]){ grid-template-columns: 1fr !important; gap: 10px !important; }
  .related-services h2{ font-size: 19px !important; }
}

/* ============================================================
   "WHAT'S INCLUDED" SECTION REFRESH · 2026-06-28 (owner-locked)
   Owner directive: the .section-tint > .feature-list block read
   as a cluttered mix of standard + add-on SKUs. This layer keeps
   the underlying data on 433+ pages but reframes the visual:
   - Kicker swapped from "What is included on Starter" to a
     capability-oriented "How we handle this for you" via CSS
   - Checklist becomes a 2-col card grid with green check tiles
   - The Growth upgrade callout + à la carte callout demote to
     compact subtle reference rows that don't compete with the
     main capability list
   ============================================================ */

/* Reframe the kicker text. Hide the original text node and inject the new label. */
.section-tint .section-head.left > .kicker{
  font-size:0 !important;          /* hide existing text */
  letter-spacing:0 !important;
  margin-bottom:6px !important;
}
.section-tint .section-head.left > .kicker::after{
  content:"How we handle this for you" !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace !important;
  font-size:10.5px !important;
  font-weight:700 !important;
  letter-spacing:.16em !important;
  color:#a0782a !important;
  text-transform:uppercase !important;
}
.section-tint .section-head.left > .kicker::before{
  content:"" !important;
  display:inline-block;
  width:18px;
  height:1.5px;
  background:#a0782a;
  border-radius:1px;
  margin-right:8px;
  vertical-align:middle;
}

/* The intro paragraph under the kicker — calmer, smaller, less salesy */
.section-tint .section-head.left > p{
  font-size:14.5px !important;
  color:#5a6280 !important;
  line-height:1.6 !important;
  margin-top:8px !important;
}

/* CAPABILITY GRID: the .feature-list inside section-tint becomes a 2-col card grid */
.section-tint .feature-list{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:12px !important;
  list-style:none !important;
  padding:0 !important;
  margin-top:24px !important;
  max-width:780px !important;
}
@media (max-width:680px){
  .section-tint .feature-list{ grid-template-columns:1fr !important; }
}
.section-tint .feature-list > li{
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  padding:14px 16px !important;
  background:#fff !important;
  border:1px solid #ecf0f6 !important;
  border-radius:11px !important;
  font-family:"Inter", "Inter Fallback", sans-serif !important;
  font-size:14px !important;
  line-height:1.5 !important;
  color:#101c46 !important;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease !important;
  position:relative;
}
.section-tint .feature-list > li:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(34,56,141,0.18) !important;
  box-shadow:0 6px 16px rgba(20,28,50,0.06) !important;
}
/* Green check tile (replaces the inline .ci checkmark) */
.section-tint .feature-list > li .ci{
  width:24px !important;
  height:24px !important;
  flex-shrink:0 !important;
  border-radius:7px !important;
  background:linear-gradient(135deg,#86d6a6 0%, #1a5e3a 100%) !important;
  color:#fff !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  border:none !important;
  box-shadow:0 2px 6px rgba(22,163,74,0.20) !important;
}
.section-tint .feature-list > li .ci svg{
  width:13px !important;
  height:13px !important;
}

/* DEMOTE the two callout boxes (Upgrade to Growth + à la carte) to compact
   single-line reference rows so they stop competing with the capability grid. */
.section-tint > .container > .reveal[style*="border:1px solid var(--primary-100)"],
.section-tint > .container > .reveal[style*="border:1px solid var(--line)"]{
  padding:14px 18px !important;
  margin-top:14px !important;
  max-width:780px !important;
  background:#fbfcfe !important;
  border:1px solid #ecf0f6 !important;
  border-radius:11px !important;
  background-image:none !important;
  background-color:#fbfcfe !important;
}
/* Inner eyebrow → small inline label */
.section-tint > .container > .reveal[style*="border:1px solid var(--primary-100)"] span[style*="JetBrains"],
.section-tint > .container > .reveal[style*="border:1px solid var(--line)"] span[style*="JetBrains"]{
  font-size:10px !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  font-weight:700 !important;
  color:#a0782a !important;
}
/* Hide the gigantic serif headline ("Add the operating stack...") — pricing belongs on /pricing */
.section-tint > .container > .reveal[style*="border:1px solid var(--primary-100)"] p[style*="Source Serif"],
.section-tint > .container > .reveal[style*="border:1px solid var(--primary-100)"] p[style*="font-serif"],
.section-tint > .container > .reveal[style*="border:1px solid var(--primary-100)"] p[style*="font-family:var(--font-serif)"]{
  display:none !important;
}
/* Compact the supporting paragraph */
.section-tint > .container > .reveal[style*="border:1px solid var(--primary-100)"] p:not([style*="Serif"]):not([style*="font-serif"]),
.section-tint > .container > .reveal[style*="border:1px solid var(--line)"] p{
  font-size:13px !important;
  line-height:1.55 !important;
  color:#5a6280 !important;
  margin:6px 0 0 !important;
}
.section-tint > .container > .reveal[style*="border:1px solid var(--primary-100)"] div[style*="margin-bottom:10px"],
.section-tint > .container > .reveal[style*="border:1px solid var(--line)"] div[style*="margin-bottom:8px"]{
  margin-bottom:0 !important;
}

/* ============================================================
   "WHAT IT IS" SECTION REFRESH · 2026-06-28 (owner-locked)
   Owner directive: the .section-head.left text-only explainer
   sections looked cluttered and read like SEO copy walls.
   This CSS layer transforms every one of them into a premium
   reading experience: gold rail, drop-cap on the lead paragraph,
   highlighted key terms, generous breathing room.
   ============================================================ */

/* Reading container — spans the full container width with a gold left rail */
.section-head.left{
  position:relative;
  padding-left:28px;
  margin-left:0;
  max-width:none !important;
  width:100% !important;
  border-left:3px solid #d49e3c;
}

/* The text wrapper inside .section-head.left .reveal > div — fills available width
   but caps individual paragraphs to comfortable reading measure via a multi-column
   reading layout on wide viewports. */
.section-head.left > div{
  font-family:"Inter", "Inter Fallback", sans-serif !important;
  font-size:16.5px !important;
  line-height:1.78 !important;
  color:#3b4658 !important;
  max-width:none !important;
  width:100% !important;
}

/* On wide viewports, flow body paragraphs into 2 columns so the text fills the
   page width without producing 1000px-wide reading lines. */
@media (min-width:980px){
  .section-head.left > div{
    column-count:2 !important;
    column-gap:48px !important;
    column-rule:1px solid rgba(20,28,50,0.06) !important;
  }
  /* Keep the lead paragraph + drop-cap in column 1 only — looks weird across columns */
  .section-head.left > div > p:first-child{
    column-span:all !important;
    margin-bottom:8px !important;
  }
}

/* LEAD paragraph (first <p>) — bigger, darker, with a serif drop cap */
.section-head.left > div > p:first-child{
  font-size:18.5px !important;
  font-weight:500 !important;
  color:#101c46 !important;
  line-height:1.65 !important;
  margin-top:0 !important;
}
.section-head.left > div > p:first-child::first-letter{
  font-family:"Source Serif 4", "Source Serif Fallback", Georgia, serif;
  font-size:62px;
  font-weight:600;
  font-style:italic;
  float:left;
  line-height:0.92;
  padding:6px 14px 0 0;
  color:#a0782a;
}

/* Body paragraphs — generous spacing, calmer color, longer measure */
.section-head.left > div > p{
  margin-top:18px !important;
}

/* Strong terms — soft gold highlighter + navy color for instant scannability */
.section-head.left > div p strong{
  color:#22388d !important;
  font-weight:700 !important;
  background:linear-gradient(180deg,transparent 64%, rgba(212,158,60,0.20) 64%) !important;
  padding:0 3px !important;
  border-radius:2px !important;
}

/* Inline anchors inside the prose get a subtle gold underline so they don't disappear */
.section-head.left > div p a{
  color:#22388d !important;
  font-weight:600 !important;
  text-decoration:underline !important;
  text-decoration-color:rgba(212,158,60,0.50) !important;
  text-decoration-thickness:2px !important;
  text-underline-offset:3px !important;
}

/* Kicker (mono eyebrow) gets a tiny gold accent dot before it */
.section-head.left > .kicker,
.section-head.left .kicker{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace !important;
  font-size:10.5px !important;
  font-weight:700 !important;
  letter-spacing:.18em !important;
  color:#a0782a !important;
  text-transform:uppercase !important;
  margin-bottom:10px !important;
}
.section-head.left > .kicker::before,
.section-head.left .kicker::before{
  content:"";
  display:inline-block;
  width:18px;
  height:1.5px;
  background:#a0782a;
  border-radius:1px;
}

/* H2 headline — serifs feel premium, slightly larger, gold italic emphasis support */
.section-head.left h2{
  font-family:"Source Serif 4", "Source Serif Fallback", Georgia, serif !important;
  font-weight:600 !important;
  font-size:clamp(28px, 3.4vw, 38px) !important;
  letter-spacing:-0.022em !important;
  line-height:1.1 !important;
  color:#101c46 !important;
  margin:0 0 18px !important;
  max-width:none !important;
}
.section-head.left h2 em{
  font-style:italic !important;
  color:#a0782a !important;
  font-weight:500 !important;
}

/* Pull breath at top + bottom of the explainer section */
section:has(> .container > .section-head.left){
  padding:64px 0 !important;
}

/* Mobile tuning — shrink drop cap, drop the rail rule, keep scale */
@media (max-width:680px){
  .section-head.left{ padding-left:18px; border-left-width:2px; }
  .section-head.left > div > p:first-child{ font-size:17px !important; }
  .section-head.left > div > p:first-child::first-letter{ font-size:48px; padding:4px 10px 0 0; }
  .section-head.left h2{ font-size:24px !important; }
}

/* ============================================================
   CANONICAL FAQ STYLE · 2026-06-28 (owner-locked)
   Owner directive: every FAQ section across the site should match
   the index page's .faq2 design. Rather than rewriting 4,482 pages,
   target every <details> + <summary> with the canonical chrome.
   Pages that use raw <details>, .faq-item, or .faq2-item all inherit.
   ============================================================ */

/* Apply the canonical card look to every <details> inside a content area */
main details,
.faq-list details,
.faq2-list details,
details.faq-item,
details.faq2-item{
  background:#fff !important;
  border:1.5px solid #ecf0f6 !important;
  border-radius:14px !important;
  margin-bottom:10px !important;
  overflow:hidden !important;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
}
main details[open],
.faq-list details[open],
.faq2-list details[open],
details.faq-item[open],
details.faq2-item[open]{
  border-color:rgba(34,56,141,.22) !important;
  background:#fbfcfe !important;
  box-shadow:0 8px 22px rgba(34,56,141,.06) !important;
}

/* Summary (the clickable Q line) */
main details > summary,
.faq-list details > summary,
.faq2-list details > summary,
details.faq-item > summary,
details.faq2-item > summary{
  list-style:none !important;
  cursor:pointer !important;
  padding:18px 22px !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:16px !important;
  font-family:"Source Serif 4", "Source Serif Fallback", Georgia, serif !important;
  font-size:17px !important;
  font-weight:600 !important;
  color:#101c46 !important;
  letter-spacing:-0.01em !important;
  line-height:1.3 !important;
}
main details > summary::-webkit-details-marker,
.faq-list details > summary::-webkit-details-marker,
.faq2-list details > summary::-webkit-details-marker,
details.faq-item > summary::-webkit-details-marker,
details.faq2-item > summary::-webkit-details-marker{ display:none !important; }
main details > summary::marker,
.faq-list details > summary::marker,
.faq2-list details > summary::marker,
details.faq-item > summary::marker,
details.faq2-item > summary::marker{ display:none !important; content:'' !important; }
main details > summary:hover,
.faq-list details > summary:hover,
.faq2-list details > summary:hover{ color:#22388d !important; }

/* Toggle chip — drawn with CSS borders for pixel-perfect alignment.
   Outer ::after is the circle, inner ::before is the cross (two lines via box-shadow). */
main details > summary::after,
.faq-list details > summary::after,
.faq2-list details > summary::after,
details.faq-item > summary::after,
details.faq2-item > summary::after{
  content:"";
  flex-shrink:0;
  width:28px;
  height:28px;
  border-radius:50%;
  background:
    /* horizontal bar */
    linear-gradient(#22388d,#22388d) center/12px 2px no-repeat,
    /* vertical bar */
    linear-gradient(#22388d,#22388d) center/2px 12px no-repeat,
    rgba(34,56,141,.08);
  transition:transform .25s ease, background-color .2s ease;
  position:relative;
}
main details[open] > summary::after,
.faq-list details[open] > summary::after,
.faq2-list details[open] > summary::after,
details.faq-item[open] > summary::after,
details.faq2-item[open] > summary::after{
  transform:rotate(45deg);
  background:
    linear-gradient(#fff,#fff) center/12px 2px no-repeat,
    linear-gradient(#fff,#fff) center/2px 12px no-repeat,
    #22388d;
}

/* Answer body — direct children of <details> after <summary> */
main details > div,
main details > p,
main details > .a,
main details > .faq2-a,
main details > .faq-a,
.faq-list details > div,
.faq-list details > p,
.faq2-list details > div,
.faq2-list details > p,
details.faq-item > div,
details.faq-item > p,
details.faq2-item > div,
details.faq2-item > p{
  padding:0 22px 20px !important;
  font-family:"Inter", "Inter Fallback", sans-serif !important;
  font-size:15px !important;
  line-height:1.65 !important;
  color:#3b4658 !important;
  margin:0 !important;
}
main details > div a,
main details > p a,
.faq-list details a,
.faq2-list details a,
details.faq-item a,
details.faq2-item a{
  color:#22388d !important;
  font-weight:600 !important;
}

/* Hide ALL pre-existing toggle icons inside FAQ summaries — my CSS chip is the canonical icon now.
   This catches every variant: faq2-icn, faq-icn, faq-toggle, svg, generic icon spans. */
main details > summary svg,
main details > summary .faq2-icn,
main details > summary .faq-icn,
main details > summary .faq-toggle,
main details > summary .faq-chevron,
main details > summary .toggle-icon,
main details > summary .icon,
.faq-list details > summary svg,
.faq-list details > summary .faq2-icn,
.faq-list details > summary .faq-icn,
.faq2-list details > summary svg,
.faq2-list details > summary .faq2-icn,
details.faq-item > summary svg,
details.faq-item > summary .faq2-icn,
details.faq-item > summary .faq-icn,
details.faq2-item > summary svg,
details.faq2-item > summary .faq2-icn,
details.faq2-item > summary .faq-icn{
  display:none !important;
}

/* ============================================================
   NATURAL SECTIONS REFRESH · 2026-06-28 (owner-locked)
   Owner directive: service + industry pages were reading as a
   string of pill-framed UI strips rather than natural content.
   This layer softens the chrome to match the index page's natural
   flow: subtle eyebrows, no strip-borders, gold italic emphasis
   on headlines, more breathing room.
   ============================================================ */

/* Eyebrow pill (.v2-live-pill) — keep the pulse-dot accent but soften
   the cream background so it reads as a label, not a UI tag. */
.v2-live-pill{
  background:rgba(160,120,42,0.08) !important;
  border:1px solid rgba(160,120,42,0.16) !important;
  padding:6px 13px !important;
  margin-bottom:14px !important;
  box-shadow:none !important;
}
.v2-live-pill-text{
  font-size:10.5px !important;
  letter-spacing:.14em !important;
}

/* Trust badge row (.v2-badge-row) — remove the harsh top+bottom borders
   that made it look like a control strip; give it air instead. */
.v2-badge-row{
  border-top:0 !important;
  border-bottom:0 !important;
  padding:14px 0 !important;
  margin:18px 0 28px !important;
  gap:10px !important;
}
.v2-badge{
  background:rgba(255,255,255,0.92) !important;
  border:1px solid #ecf0f6 !important;
  padding:7px 13px !important;
  font-size:11.5px !important;
  box-shadow:0 1px 2px rgba(20,28,50,0.04) !important;
}
.v2-badge:hover{
  border-color:rgba(160,120,42,0.30) !important;
  transform:translateY(-1px) !important;
  transition:all .15s ease;
}

/* Section heads — give headlines more presence and breathing room
   like the index page sections. */
.section-head{
  margin-bottom:36px !important;
}
.section-head h2{
  font-family:"Source Serif 4", "Source Serif Fallback", Georgia, serif !important;
  font-weight:600 !important;
  letter-spacing:-0.022em !important;
  line-height:1.1 !important;
  font-size:clamp(1.65rem, 2.9vw, 2.3rem) !important;
}
/* Allow inline gold italic emphasis like the index hero/headlines:
   <h2>Run the math <em>before</em> you start.</h2> */
.section-head h2 em{
  font-style:italic !important;
  color:#a0782a !important;
  font-weight:500 !important;
}

/* Kicker (text eyebrow) — bump letter-spacing + mono feel where the
   page uses the plainer .kicker instead of the .v2-live-pill */
.kicker{
  font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace !important;
  font-size:10.5px !important;
  letter-spacing:.16em !important;
  font-weight:700 !important;
  color:#a0782a !important;
  text-transform:uppercase !important;
}

/* Reduce vertical density between adjacent natural sections so the
   flow reads as a continuous story, not stacked banners. */
section.section-normal + section.section-normal{ padding-top:48px !important; }
section.section-normal{ padding:64px 0 !important; }
section.section-normal.section-tint{ background:#fbfcfe !important; }

/* Soft horizontal rule between content blocks — replaces hard borders */
.section-head + .rel-grid,
.section-head + .tile-grid,
.section-head + .who-grid,
.section-head + .calc-grid,
.section-head + .faq-list{ margin-top:22px !important; }


/* ============================================================
   MOBILE EXPERIENCE OPERATING STANDARD (MES v1.0) · 2026-06-28
   Owner-locked: every page scores 10/10 on mobile UX/conversion/readability.
   Loads automatically site-wide via site.css.
   Implements all 25 MES rules. Breakpoints: ≤760px (phone), ≤480px (small phone).
   ============================================================ */

/* === RULE 3 · 4 · Typography & Visual Rhythm (≤760px) === */
@media (max-width: 760px) {
  html { -webkit-text-size-adjust: 100%; }
  body { font-size: 15.5px; line-height: 1.65; }
  
  /* Headings — bigger, tighter for thumb reading */
  h1, .hero h1, .v2-hero h1 { font-size: clamp(28px, 8vw, 38px) !important; line-height: 1.12 !important; letter-spacing: -0.022em !important; margin: 0 0 14px !important; }
  h2:where(:not(.was-h3)) { font-size: clamp(22px, 6vw, 28px) !important; line-height: 1.18 !important; margin: 0 0 12px !important; }
  h3:where(:not(.was-h4)) { font-size: 17px !important; line-height: 1.3 !important; }
  
  /* Paragraphs — comfortable mobile reading */
  p, p.lede, .hero-sub { max-width: 100% !important; font-size: 15.5px !important; line-height: 1.65 !important; }
  p.lede, .lede { font-size: 16.5px !important; line-height: 1.6 !important; }
  .kicker, .eyebrow { font-size: 11px !important; letter-spacing: .12em !important; }
  
  /* Sections — consistent vertical rhythm */
  section, .section, .section-tint, .section-sm { padding: 36px 0 !important; }
  section.hero, .hero, .hero-small { padding: 28px 0 36px !important; }
  .container { padding-left: 16px !important; padding-right: 16px !important; width: 100% !important; }
}
@media (max-width: 480px) {
  body { font-size: 15px; line-height: 1.6; }
  section, .section, .section-tint { padding: 28px 0 !important; }
}

/* === RULE 5 · Cards — stack, breathe, large tap targets === */
@media (max-width: 760px) {
  .pillar-grid, .three-up, .stat-grid, .feature-grid, .grid-3, .grid-4, .grid-2,
  .pp-grid, .fb-tools-grid, .vlib-grid, .related-grid, .ind-grid, .card-grid,
  .pillars, .v2-card-grid, .hero-grid, .fb-hero-grid-2col-real,
  .fb-setup-grid, .fb-wwd-grid, .fb-compare-grid,
  .state-econ, .footer-cols, .footer-cols-5, .footer-cols-4,
  .intent-grid, .why-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .pillar, .stat, .card, .pp-card, .vlib-card, .related-card, .ind-card,
  .v2-card, .fb-setup-card, .fb-tools-card, .pricing-card, .price-card,
  .testimonial-card, .case-study-card, .partner-card {
    padding: 18px 16px !important;
    border-radius: 14px !important;
    min-height: auto !important;
  }
}

/* === RULE 6 · Buttons — thumb-friendly, full-width primary === */
@media (max-width: 760px) {
  .btn, .button, button.btn, a.btn { min-height: 46px !important; padding: 12px 18px !important; font-size: 15px !important; border-radius: 10px !important; }
  .btn-lg, .btn.btn-lg { min-height: 52px !important; padding: 14px 20px !important; font-size: 16px !important; }
  .btn-sm { min-height: 40px !important; padding: 10px 14px !important; font-size: 13.5px !important; }
  
  /* Primary CTA full-width in hero + form contexts */
  .hero .btn-primary, .hero-ctas .btn, .cta-row .btn, .hero-cta .btn { width: 100% !important; justify-content: center !important; }
  .hero-ctas { flex-direction: column !important; width: 100% !important; gap: 10px !important; }
  
  /* Button rows stack */
  .btn-row, .cta-row, .button-row { flex-direction: column !important; gap: 8px !important; }
  .btn-row .btn, .cta-row .btn, .button-row .btn { width: 100% !important; }
}

/* === RULE 7 · Forms — large inputs, single column, sticky continue === */
@media (max-width: 760px) {
  input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
  input[type="search"], input[type="url"], input[type="password"], input[type="date"],
  select, textarea, .input, .form-input, .sab-input, .ar-input {
    min-height: 48px !important;
    font-size: 16px !important;  /* iOS no-zoom */
    padding: 12px 14px !important;
    border-radius: 10px !important;
    border-width: 1.5px !important;
    width: 100% !important;
  }
  label, .label, .field-label, .sab-field-label, .ar-field-label {
    font-size: 14px !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
    display: block !important;
  }
  .field-help, .sab-field-help, .ar-field-help { font-size: 13px !important; line-height: 1.4 !important; }
  
  /* Form rows stack */
  .form-row, .field-row, .sab-row, .ar-row { grid-template-columns: 1fr !important; gap: 12px !important; }
  
  /* Wizard sticky-bottom Continue button */
  .sab-nav, .ar-nav, .wizard-nav { position: sticky !important; bottom: 0 !important; background: #fff !important; padding: 12px 16px !important; border-top: 1px solid #ecf0f6 !important; box-shadow: 0 -4px 16px -8px rgba(15,30,75,.08) !important; z-index: 10 !important; margin: 0 -16px !important; }
  .sab-nav .btn, .ar-nav .btn, .wizard-nav .btn { min-height: 48px !important; }
}

/* === RULE 9 · 10 · Graphics & Images — recompose for mobile === */
@media (max-width: 760px) {
  .hero-visual, .hero-illustration, .hero-image, .v2-hero-visual, .fb-hero-visual {
    min-height: 200px !important;
    padding: 22px !important;
    margin-top: 18px !important;
  }
  /* Hide decorative hero backgrounds that may bog down render */
  .hero-bg .grid, .hero-bg::before { opacity: .5 !important; }
  /* Images responsive */
  img { max-width: 100% !important; height: auto !important; }
  /* Decorative SVG illustrations cap their size */
  .hero svg.illustration, .hero-illustration svg { max-width: 100% !important; max-height: 180px !important; }
}

/* === RULE 11 · Animations — reduce on mobile === */
@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
  *, *::before, *::after {
    animation-duration: .25s !important;
    transition-duration: .15s !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* === RULE 14 · Content density — progressive disclosure === */
@media (max-width: 760px) {
  /* Hide non-essential 5th-onwards items in dense lists */
  .feature-list li:nth-child(n+6), .pillar-grid > *:nth-child(n+7) { display: none; }
  /* Trust strips fit on one line */
  .footer-trust, .cta-trust { flex-wrap: wrap !important; gap: 8px !important; }
}

/* === RULE 16 · Tables — convert to cards on mobile === */
@media (max-width: 760px) {
  table.fb-compare-table, table.compare-table, .responsive-table table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    white-space: nowrap !important;
    font-size: 13px !important;
  }
  table.fb-compare-table th, table.fb-compare-table td { padding: 10px !important; min-width: 110px !important; }
  /* For simple data tables: stack rows */
  .tbl-stack table, .tbl-stack table tbody, .tbl-stack table tr, .tbl-stack table td {
    display: block !important;
    width: 100% !important;
  }
  .tbl-stack table th { display: none !important; }
  .tbl-stack table tr { margin-bottom: 16px; border: 1px solid #ecf0f6; border-radius: 10px; padding: 12px; }
  .tbl-stack table td::before { content: attr(data-label) ': '; font-weight: 600; color: #101c46; display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; }
}

/* === RULE 17 · Pricing — stack, primary plan obvious === */
@media (max-width: 760px) {
  .pricing-grid, .price-grid, .plan-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .pricing-card, .price-card, .plan-card { padding: 22px 18px !important; }
  .plan-recommended, .plan-featured, .price-card.is-featured { order: -1 !important; transform: none !important; }
  .price-big, .plan-price { font-size: 32px !important; }
}

/* === RULE 19 · Accessibility — focus states, touch targets === */
@media (max-width: 760px) {
  a, button, [role="button"], [tabindex]:not([tabindex="-1"]) {
    min-height: 44px;
    min-width: 44px;
    -webkit-tap-highlight-color: rgba(26,58,143,.12);
  }
  /* Exceptions for inline links inside paragraphs */
  p a, li a, span a { min-height: auto !important; min-width: auto !important; }
  /* Focus visibility */
  *:focus-visible { outline: 2px solid #1a3a8f !important; outline-offset: 2px !important; }
}

/* === Hero specifics: mobile === */
@media (max-width: 760px) {
  .hero-grid, .fb-hero-grid-2col-real { display: flex !important; flex-direction: column !important; gap: 20px !important; }
  .hero-visual, .fb-hero-visual { order: 2; }
  .v2-live-pill { font-size: 11px !important; padding: 5px 10px !important; }
  .price-row { flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; }
  .price-big { font-size: 38px !important; }
  .crumb { flex-wrap: wrap !important; font-size: 12px !important; letter-spacing: .03em !important; gap: 4px 7px !important; margin-bottom: 14px !important; }
  .crumb a, .crumb span { padding: 2px 0 !important; }
}

/* === FAQ — mobile-optimized accordion === */
@media (max-width: 760px) {
  .faq, .faq-home, .faq-list { max-width: 100% !important; }
  .faq-item, details.faq-item { padding: 14px 16px !important; min-height: 56px !important; }
  .faq-item summary, details.faq-item summary { font-size: 15px !important; line-height: 1.4 !important; padding: 4px 0 !important; min-height: 44px !important; display: flex !important; align-items: center !important; }
  .faq-body { font-size: 14.5px !important; line-height: 1.6 !important; padding-top: 8px !important; }
}

/* === Footer — mobile stack === */
@media (max-width: 760px) {
  .site-footer { padding: 28px 0 20px !important; }
  .footer-top { flex-direction: column !important; align-items: flex-start !important; gap: 18px !important; }
  .footer-brand { width: 100% !important; }
  .footer-sections, .footer-cols, .footer-cols-5, .footer-cols-4 {
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }
  .footer-col { padding: 8px 0 !important; }
  .footer-label { font-size: 12px !important; }
  .footer-col a { font-size: 13.5px !important; padding: 8px 0 !important; display: block !important; min-height: 36px !important; }
  .footer-bottom { flex-direction: column !important; gap: 10px !important; text-align: center !important; }
  .footer-disclosure, .footer-fine { font-size: 12px !important; text-align: center !important; }
}
@media (max-width: 480px) {
  .footer-sections, .footer-cols-5, .footer-cols-4 { grid-template-columns: 1fr !important; }
}

/* === fb-global-cta — mobile single column === */
@media (max-width: 760px) {
  .fb-global-cta { padding: 32px 0 !important; }
  .fb-global-cta-wrap { grid-template-columns: 1fr !important; gap: 22px !important; padding: 0 16px !important; }
  .fb-global-cta-left h2 { font-size: 24px !important; }
  .fb-global-cta-form { flex-direction: column !important; padding: 10px !important; gap: 8px !important; }
  .fb-global-cta-form input, .fb-global-cta-form select, .fb-global-cta-form button { width: 100% !important; min-height: 48px !important; font-size: 16px !important; }
}

/* === RULE 24 · Quality — overflow + alignment guards === */
@media (max-width: 760px) {
  html, body { overflow-x: hidden !important; max-width: 100vw !important; }
  /* Prevent any element from extending past viewport */
  .container, section > div, main > div { max-width: 100% !important; }
  /* Mono blocks that overflow */
  pre, code { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
}

/* === Performance — content-visibility for off-screen sections === */
@media (max-width: 760px) {
  section:not(.hero):not(:first-of-type) { content-visibility: auto; contain-intrinsic-size: 0 800px; }
}

/* === Sticky bottom CTA for service pages (rule 8) === */
@media (max-width: 760px) {
  .mobile-sticky-cta { position: fixed; bottom: 0; left: 0; right: 0; background: #fff; border-top: 1px solid #ecf0f6; padding: 10px 14px; z-index: 40; box-shadow: 0 -6px 18px -10px rgba(15,30,75,.12); display: flex; gap: 8px; padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
  .mobile-sticky-cta .btn { flex: 1; min-height: 46px; }
}

/* End MES v1.0 */

/* ============================================================
   GLOBAL CTA STABILIZER · 2026-06-28 (owner-locked)
   The inline <style> inside .fb-global-cta is per-page; some pages render
   the layout disturbed by external rules. This site-wide block re-asserts
   the canonical 2-col grid + form alignment so the bottom CTA is always premium.
   ============================================================ */
.fb-global-cta { padding: 48px 0 !important; }
.fb-global-cta-wrap {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.2fr) !important;
  gap: 36px !important;
  align-items: center !important;
  padding: 0 24px !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}
.fb-global-cta-form {
  display: flex !important;
  gap: 8px !important;
  align-items: stretch !important;
  padding: 8px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}
.fb-global-cta-form input,
.fb-global-cta-form select,
.fb-global-cta-form button {
  height: 44px !important;
  border-radius: 9px !important;
  font-size: 14px !important;
}
.fb-global-cta-form input { flex: 1.4 1 0 !important; min-width: 0 !important; }
.fb-global-cta-form select { flex: 1 1 0 !important; min-width: 0 !important; }
.fb-global-cta-form button {
  flex: 0 0 auto !important;
  padding: 0 18px !important;
  background: linear-gradient(180deg,#fbcb6b 0%,#d49e3c 100%) !important;
  color: #0f1e4b !important;
  font-weight: 700 !important;
  border: 0 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}
@media (max-width: 880px) {
  .fb-global-cta-wrap {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
}
@media (max-width: 480px) {
  .fb-global-cta { padding: 32px 0 !important; }
  .fb-global-cta-form { flex-direction: column !important; }
  .fb-global-cta-form input,
  .fb-global-cta-form select,
  .fb-global-cta-form button { width: 100% !important; height: 48px !important; font-size: 16px !important; }
}


/* ============================================================
   BUTTON CONTRAST GUARD · 2026-06-28 (owner-locked)
   Defends against any rule that strips/overrides button text color.
   Every button below has an explicit color value with !important so
   no cascade conflict (like a:not(selector) rules) can wash it out.
   ============================================================ */

/* Primary buttons: navy bg → ALWAYS white text */
.btn-primary, a.btn-primary, button.btn-primary,
.nav-cta, a.nav-cta,
.nav-v2-start, a.nav-v2-start,
.mega-foot-cta, a.mega-foot-cta,
.fb-global-cta-form button,
.featured-bosai,
.ai-input-btn {
  color: #ffffff !important;
}
.btn-primary svg, .nav-cta svg, .nav-v2-start svg,
.mega-foot-cta svg, .ai-input-btn svg {
  color: #ffffff !important;
  stroke: currentColor !important;
}

/* Specific re-ink: the gold form-submit button needs navy text for contrast */
.fb-global-cta-form button { color: #0f1e4b !important; }
.fb-global-cta-form button svg { color: #0f1e4b !important; }

/* Featured panel button (white bg) → ALWAYS navy text */
.featured-btn, a.featured-btn,
.nav-v2-mega .featured-btn {
  color: #101c46 !important;
  background: #ffffff !important;
}
.featured-btn svg, .nav-v2-mega .featured-btn svg {
  color: #101c46 !important; stroke: currentColor !important;
}

/* Ghost / secondary buttons: light bg → ALWAYS dark text */
.btn-ghost, a.btn-ghost,
.btn-secondary, a.btn-secondary,
.btn.btn-outline, a.btn.btn-outline,
.nav-login, a.nav-login,
.nav-v2-signin, a.nav-v2-signin,
.mega-foot-secondary, a.mega-foot-secondary {
  color: #2a3550 !important;
}
.btn-ghost:hover, .btn-secondary:hover, .nav-login:hover,
.mega-foot-secondary:hover { color: #101c46 !important; }

/* Featured-bosai link inside navy panel → gold text */
.featured-bosai, a.featured-bosai, .nav-v2-mega .featured-bosai {
  color: #d49e3c !important;
}
.featured-bosai svg, .nav-v2-mega .featured-bosai svg {
  color: #d49e3c !important; stroke: currentColor !important;
}

/* fb-global-cta links inside the navy band → light text */
.fb-global-cta a:not(.fb-global-cta-form button),
.fb-global-cta-left a,
.fb-global-cta-trust a {
  color: #ffffff !important;
}

/* AI chip in navy mega-panel context already has the gold-on-cream hover state.
   Make sure default text is the soft gray we expect, not inherited white. */
.nav-v2-mega .ai-chip, .nav-v2-mega .ai-chip:link, .nav-v2-mega .ai-chip:visited {
  color: #5a6280 !important;
}
.nav-v2-mega .ai-chip:hover { color: #a0782a !important; }

/* Hero CTAs: btn-primary in hero should be navy+white */
.hero .btn-primary, .hero-ctas .btn-primary,
.hero-ctas a.btn-primary {
  background: #101c46 !important;
  color: #ffffff !important;
}
.hero .btn-ghost, .hero-ctas .btn-ghost {
  color: #2a3550 !important;
  border: 1px solid #e3e7ef !important;
  background: #ffffff !important;
}

/* Journey (.fbj) buttons on narrative pages: lock contrast like the standard buttons */
.fbj a.fbj-btn-primary { background: linear-gradient(135deg,#22388d,#0f1e4b) !important; color:#ffffff !important; }
.fbj a.fbj-btn-primary svg { color:#ffffff !important; stroke: currentColor !important; }
.fbj a.fbj-btn-outline { background:#ffffff !important; color:#22388d !important; border:1.5px solid #22388d !important; }
.fbj a.fbj-btn-gold { background: linear-gradient(135deg,#fbcb6b,#f5b748) !important; color:#0f1e4b !important; }
.fbj a.fbj-btn-gold svg { color:#0f1e4b !important; stroke: currentColor !important; }
.fbj .fbj-tool-cta { background: linear-gradient(135deg,#22388d,#0f1e4b) !important; color:#ffffff !important; }

/* End BUTTON CONTRAST GUARD */


/* ============================================================
   FB-GLOBAL-CTA · FINAL VISUAL SAFETY NET · 2026-06-28
   ============================================================ */
.fb-global-cta { background: linear-gradient(120deg,#0f1e4b 0%,#1a3a8f 45%,#22388d 100%) !important; padding: 56px 0 !important; border-top: 1px solid rgba(255,255,255,.08) !important; }
.fb-global-cta * { box-sizing: border-box !important; }
.fb-global-cta-wrap { display: grid !important; grid-template-columns: minmax(0,1.05fr) minmax(0,1.2fr) !important; gap: 36px !important; align-items: center !important; max-width: 1200px !important; margin: 0 auto !important; padding: 0 24px !important; }
.fb-global-cta-left h2 { color: #ffffff !important; font-family: "Source Serif 4", "Source Serif Fallback", Georgia, serif !important; font-size: clamp(22px, 2.6vw, 30px) !important; font-weight: 600 !important; margin: 0 0 8px !important; line-height: 1.15 !important; }
.fb-global-cta-left h2 em { color: #fbcb6b !important; font-style: italic !important; }
.fb-global-cta-left p { color: rgba(255,255,255,.78) !important; font-size: 14px !important; line-height: 1.55 !important; margin: 0 0 10px !important; max-width: 460px !important; }
.fb-global-cta-trust { color: rgba(255,255,255,.65) !important; font-family: "JetBrains Mono", "JetBrains Mono Fallback", monospace !important; font-size: 11px !important; }
.fb-global-cta-trust svg { color: #86d6a6 !important; }
.fb-global-cta-form { background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.10) !important; border-radius: 14px !important; padding: 8px !important; }
.fb-global-cta-form input, .fb-global-cta-form select { color: #ffffff !important; background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.10) !important; height: 44px !important; padding: 0 14px !important; font-size: 14px !important; border-radius: 9px !important; }
.fb-global-cta-form input::placeholder { color: rgba(255,255,255,.55) !important; }
.fb-global-cta-form button { background: linear-gradient(180deg,#fbcb6b,#d49e3c) !important; color: #0f1e4b !important; font-weight: 700 !important; height: 44px !important; padding: 0 20px !important; border: 0 !important; border-radius: 9px !important; cursor: pointer !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; }
.fb-global-cta-form button svg { color: #0f1e4b !important; }
@media (max-width:880px) { .fb-global-cta-wrap { grid-template-columns: 1fr !important; gap: 22px !important; } }
@media (max-width:520px) { .fb-global-cta-form { flex-direction: column !important; gap: 8px !important; } .fb-global-cta-form input, .fb-global-cta-form select, .fb-global-cta-form button { width: 100% !important; } }

/* ===================================================================
   WIZARD SITE-NAV SUPPRESSION  (owner directive 2026-06-28)
   --------------------------------------------------------------------
   Every wizard owns its viewport. The wizard's own chrome (.ar-progress
   / .sab-progress) carries logo + step progress + running total.
   The site nav + V2 mega panels above it are redundant and the mega
   drops collide with the wizard sticky header (see CoS wizard report).

   Rule: when a page contains .ar-shell, .sab-shell, or .wizard-shell,
   hide the site header.nav, V2 mega navigation, global CTA banner, and
   site footer. Wizards stand alone — they have their own logo, their
   own progress chrome, their own running total, their own "Need help?".

   Uses :has() — supported in all evergreen browsers (Safari 15.4+,
   Chrome 105+, Firefox 121+) which covers >99% of 2026 traffic.
   =================================================================== */
body:has(.ar-shell) header.nav,
body:has(.sab-shell) header.nav,
body:has(.wizard-shell) header.nav,
body:has(.ar-shell) .nav-v2,
body:has(.sab-shell) .nav-v2,
body:has(.wizard-shell) .nav-v2,
body:has(.ar-shell) .fb-global-cta,
body:has(.sab-shell) .fb-global-cta,
body:has(.wizard-shell) .fb-global-cta,
body:has(.ar-shell) .site-footer,
body:has(.sab-shell) .site-footer,
body:has(.wizard-shell) .site-footer { display: none !important; }

/* Defensive fallback — wizards may also opt in with a body class */
body.fb-wizard-page header.nav,
body.fb-wizard-page .nav-v2,
body.fb-wizard-page .fb-global-cta,
body.fb-wizard-page .site-footer { display: none !important; }

/* === Mobile optimization: stack inline fixed grids on small screens (content program) === */
@media (max-width:1024px){
  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns:repeat(5"],
  [style*="grid-template-columns:repeat(6"]{grid-template-columns:repeat(2,1fr)!important;}
}
@media (max-width:680px){
  [style*="grid-template-columns:repeat(2"],
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns:repeat(5"],
  [style*="grid-template-columns:repeat(6"],
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:1.05fr"],
  [style*="grid-template-columns:1.2fr"],
  [style*="grid-template-columns:.95fr"]{grid-template-columns:1fr!important;}
  /* keep wide fixed-width hero/visual blocks from forcing horizontal scroll */
  .container{max-width:100%!important;}
}

/* --- Legacy article-shell top composition fix (2026-07-18) ---
   Scope: pages whose <main> opens with the crumb container followed by .section-normal
   (faq/, glossary/, root legacy series ~2,518 pages). Fixes: floating divider hairline
   in the empty band, eyebrow/pill jam on one line, dead whitespace above the title.
   Cannot match hero-led pages or index.html (their <main> opens with a hero section). */
main > section.container:first-child + section.section-normal::before{display:none!important}
main > section.container:first-child{padding-bottom:0!important}
main > section.container:first-child + section.section-normal{padding-top:26px!important}
main > section.container:first-child + section.section-normal .step-meta{display:block;margin-bottom:10px}

/* --- Unboxed CTA bands (2026-07-18) ---
   Dark .callout CTA cards no longer float as rounded boxes; their parent section
   becomes a full-width dark band (service-page pattern) and the callout content
   embeds directly. In-article `.prose .callout` info notes are untouched (they are
   nested deeper, the direct-child selectors below cannot match them). */
section:has(> .container > .callout:only-child),
section:has(> .container-narrow > .callout:only-child){
  background:linear-gradient(120deg,#0f1e4b 0%,#1a3a8f 45%,#22388d 100%)!important;
  padding:64px 0!important;
}
section:has(> .container > .callout:only-child) .callout,
section:has(> .container-narrow > .callout:only-child) .callout{
  background:none!important;border:0!important;border-radius:0!important;
  padding:0!important;box-shadow:none!important;overflow:visible!important;
}
section:has(> .container > .callout:only-child) .callout::after,
section:has(> .container-narrow > .callout:only-child) .callout::after{display:none!important}

/* === Cinematic hero component (2026-07-24) === */
.fb-cine{position:relative;border-radius:20px;overflow:hidden;background:#101c46;box-shadow:0 34px 64px -26px rgba(16,28,70,.42),0 6px 18px -8px rgba(16,28,70,.25);transform:perspective(1100px) rotateX(0) rotateY(0);transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s;min-height:340px;height:100%;isolation:isolate}
.fb-cine:hover{transform:perspective(1100px) rotateX(1.6deg) rotateY(-2.4deg) translateY(-5px);box-shadow:0 44px 80px -28px rgba(16,28,70,.5)}
.fb-cine-media{position:absolute;inset:0;margin:0}
.fb-cine-media img{width:100%;height:100%;object-fit:cover;display:block;animation:fbCineKen 26s ease-in-out infinite alternate;will-change:transform}
@keyframes fbCineKen{from{transform:scale(1.04) translateX(0)}to{transform:scale(1.13) translateX(-1.5%)}}
.fb-cine-veil{position:absolute;inset:0;background:linear-gradient(158deg,rgba(16,28,70,.62) 0%,rgba(34,56,141,.28) 42%,rgba(16,28,70,.05) 68%,rgba(160,120,42,.22) 100%);mix-blend-mode:multiply}
.fb-cine-veil::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(16,28,70,.55) 100%)}
.fb-cine-chip{position:absolute;top:18px;left:18px;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#101c46;box-shadow:0 8px 20px -8px rgba(16,28,70,.4);animation:fbCineFloat 7s ease-in-out infinite}
.fb-cine-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:#4ea876;box-shadow:0 0 0 4px rgba(78,168,118,.25)}
@keyframes fbCineFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.fb-cine-plate{position:absolute;left:18px;bottom:18px;right:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-radius:14px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.28)}
.fb-cine-plate strong{font-family:"Source Serif 4", "Source Serif Fallback", Georgia, serif;font-size:16.5px;font-weight:600;color:#fff;letter-spacing:-.01em;line-height:1.25}
.fb-cine-plate span{font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace;font-size:10px;font-weight:600;letter-spacing:.14em;color:#f5cc7a;text-transform:uppercase;white-space:nowrap}
@media (max-width:600px){.fb-cine{min-height:260px}}
@media (prefers-reduced-motion:reduce){.fb-cine,.fb-cine:hover{transform:none}.fb-cine-media img,.fb-cine-chip{animation:none}}

/* === fb-scene: interactive 3D document hero (2026-07-24) === */
.fb-scene{position:relative;min-height:380px;height:100%;border-radius:20px;overflow:hidden;background:radial-gradient(130% 120% at 18% -5%,#22388d 0%,#16255f 46%,#0c1435 100%);box-shadow:0 34px 64px -26px rgba(16,28,70,.45),0 6px 18px -8px rgba(16,28,70,.3);perspective:1200px;isolation:isolate;cursor:default}
.fb-scene::before{content:"";position:absolute;inset:auto -20% -34% -20%;height:70%;background:repeating-linear-gradient(90deg,rgba(191,207,232,.14) 0 1px,transparent 1px 46px),repeating-linear-gradient(0deg,rgba(191,207,232,.14) 0 1px,transparent 1px 38px);transform:rotateX(64deg);transform-origin:top;mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 85%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 85%)}
.fb-scene::after{content:"";position:absolute;width:340px;height:340px;right:-90px;top:-110px;border-radius:50%;background:radial-gradient(circle,rgba(245,204,122,.30),transparent 62%);pointer-events:none}
.fb-scene-stage{position:absolute;inset:0;display:grid;place-items:center;transform-style:preserve-3d;animation:fbSceneSway 10s ease-in-out infinite;will-change:transform}
.fb-scene-stage.is-live{animation:none;transition:transform .18s ease-out}
@keyframes fbSceneSway{0%,100%{transform:rotateX(5deg) rotateY(-9deg)}50%{transform:rotateX(8deg) rotateY(-14deg)}}
.fb-doc-back,.fb-doc{width:min(300px,66%);border-radius:14px}
.fb-doc-back{position:absolute;height:72%;background:linear-gradient(180deg,#93a5cd,#6f83b6);opacity:.42;transform:translateZ(-60px) translate(34px,26px) rotateZ(3deg);box-shadow:0 30px 60px -20px rgba(5,10,30,.5)}
.fb-doc{position:relative;background:linear-gradient(180deg,#ffffff,#f5f8fd);transform:translateZ(34px);transform-style:preserve-3d;box-shadow:0 46px 90px -34px rgba(4,9,28,.65),0 12px 28px -14px rgba(4,9,28,.4);overflow:hidden}
.fb-doc::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 46%,transparent 60%);transform:translateX(-120%);animation:fbDocSheen 6.5s ease-in-out infinite}
@keyframes fbDocSheen{0%,58%{transform:translateX(-120%)}78%,100%{transform:translateX(130%)}}
.fb-doc-head{background:linear-gradient(135deg,#101c46,#22388d);padding:13px 17px 12px}
.fb-doc-eyebrow{font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace;font-size:8.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#f5cc7a;margin-bottom:4px}
.fb-doc-title{font-family:"Source Serif 4", "Source Serif Fallback", Georgia, serif;font-size:15.5px;font-weight:600;color:#fff;letter-spacing:-.01em;line-height:1.25}
.fb-doc-body{padding:16px 17px 54px;display:flex;flex-direction:column;gap:9px}
.fb-doc-line{height:8px;border-radius:4px;background:linear-gradient(90deg,#e3e9f4,#eff3fa)}
.fb-doc-line.l1{width:86%}.fb-doc-line.l2{width:70%}.fb-doc-line.l4{width:76%}.fb-doc-line.l5{width:58%}
.fb-doc-line.gold{width:44%;background:linear-gradient(90deg,#e9d197,#f5cc7a);margin-top:4px}
.fb-doc-rule{height:1px;background:#e6ebf4;margin:5px 0}
.fb-doc-stamp{position:absolute;left:16px;bottom:16px;font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace;font-size:9px;font-weight:600;letter-spacing:.1em;color:#2f7d5c;border:1.5px solid #4ea876;border-radius:5px;padding:4px 8px;transform:rotate(-5deg);background:rgba(78,168,118,.07)}
.fb-doc-seal{position:absolute;right:14px;bottom:12px;width:52px;height:52px;border-radius:50%;background:conic-gradient(from 20deg,#f5cc7a,#b3853a,#f0c56d,#a0782a,#f5cc7a);display:grid;place-items:center;transform:translateZ(26px);box-shadow:0 10px 22px -8px rgba(160,120,42,.65)}
.fb-doc-seal i{width:40px;height:40px;border-radius:50%;background:#101c46;display:grid;place-items:center;color:#f5cc7a;font-style:normal;font-size:16px;font-weight:700}
.fb-chip3d{position:absolute;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.96);font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace;font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#101c46;box-shadow:0 14px 30px -10px rgba(4,9,28,.55);white-space:nowrap}
.fb-chip3d::before{content:"";width:8px;height:8px;border-radius:50%;flex-shrink:0}
.fb-chip3d.c1{top:9%;left:7%;transform:translateZ(80px);animation:fbChipBob 6s ease-in-out infinite}
.fb-chip3d.c1::before{background:#4ea876;box-shadow:0 0 0 4px rgba(78,168,118,.22)}
.fb-chip3d.c2{bottom:10%;right:6%;transform:translateZ(95px);animation:fbChipBob 7s ease-in-out .8s infinite}
.fb-chip3d.c2::before{background:#f5cc7a;box-shadow:0 0 0 4px rgba(245,204,122,.25)}
@keyframes fbChipBob{0%,100%{margin-top:0}50%{margin-top:-9px}}
@media (max-width:600px){.fb-scene{min-height:300px}.fb-chip3d{display:none}}
@media (prefers-reduced-motion:reduce){.fb-scene-stage{animation:none}.fb-doc::after,.fb-chip3d{animation:none}}

/* === fb-scene v2 detail pass (2026-07-24): richer document, lighting, depth === */
.fb-scene-aura{position:absolute;width:520px;height:520px;left:-160px;top:-180px;border-radius:50%;background:conic-gradient(from 0deg,rgba(111,143,206,.16),rgba(245,204,122,.10),rgba(34,56,141,.18),rgba(111,143,206,.16));filter:blur(40px);pointer-events:none;opacity:.9}
@keyframes fbAura{to{transform:rotate(360deg)}}
.fb-dust i{position:absolute;width:3px;height:3px;border-radius:50%;background:rgba(191,207,232,.65);animation:fbTwinkle 5s ease-in-out infinite;font-size:0}
.fb-dust i:nth-child(1){left:12%;top:22%;animation-delay:0s}.fb-dust i:nth-child(2){left:26%;top:64%;animation-delay:1.2s}.fb-dust i:nth-child(3){left:70%;top:16%;animation-delay:2.1s}.fb-dust i:nth-child(4){left:84%;top:58%;animation-delay:3s}.fb-dust i:nth-child(5){left:52%;top:80%;animation-delay:3.8s}
@keyframes fbTwinkle{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:.9;transform:scale(1.2)}}
.fb-doc-shadow{position:absolute;width:min(340px,72%);height:44px;border-radius:50%;background:radial-gradient(ellipse,rgba(3,7,22,.55),transparent 65%);transform:translateZ(-8px) translateY(150px) rotateX(70deg);filter:blur(6px)}
.fb-doc3{position:absolute;width:min(300px,66%);height:64%;border-radius:14px;background:linear-gradient(180deg,#7186b8,#4f628f);opacity:.28;transform:translateZ(-95px) translate(-40px,34px) rotateZ(-4deg)}
.fb-doc-ribbon{position:absolute;top:14px;right:-34px;width:130px;transform:rotate(38deg) translateZ(2px);background:linear-gradient(90deg,#a0782a,#f5cc7a,#a0782a);color:#101c46;font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace;font-size:7.5px;font-weight:700;letter-spacing:.22em;text-align:center;padding:4px 0;box-shadow:0 4px 10px -3px rgba(4,9,28,.4)}
.fb-doc-mark{display:flex;align-items:center;gap:7px;margin-bottom:6px}
.fb-doc-mark b{width:16px;height:16px;border-radius:4px;background:linear-gradient(135deg,#6f8fce,#bfcfe8);display:inline-block;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.fb-doc-field{display:flex;flex-direction:column;gap:3px;padding:7px 9px;border:1px solid #e6ebf4;border-radius:8px;background:#fbfcff}
.fb-doc-field small{font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace;font-size:6.8px;font-weight:600;letter-spacing:.16em;color:#8a94ad;text-transform:uppercase}
.fb-doc-field span{font-family:"Source Serif 4", "Source Serif Fallback", Georgia, serif;font-size:12px;font-weight:600;color:#16255f;line-height:1.2}
.fb-doc-field .ok{display:inline-flex;align-items:center;gap:5px;font-family:"Inter", "Inter Fallback", sans-serif;font-size:10.5px;font-weight:700;color:#2f7d5c}
.fb-doc-field .ok::before{content:"";width:6px;height:6px;border-radius:50%;background:#4ea876;box-shadow:0 0 0 3px rgba(78,168,118,.18)}
.fb-doc-sig{margin-top:2px;position:relative}
.fb-doc-sig svg{display:block;width:112px;height:26px}
.fb-doc-sig svg path{stroke:#16255f;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-dasharray:220;stroke-dashoffset:220;animation:fbSign 7s ease-in-out infinite}
@keyframes fbSign{12%{stroke-dashoffset:220}46%,82%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
.fb-doc-sig::after{content:"AUTHORIZED SIGNATURE";position:absolute;left:0;bottom:-11px;font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace;font-size:6.4px;letter-spacing:.18em;color:#aab3c9}
.fb-doc-sig hr{border:0;border-top:1px solid #d8dfec;margin:1px 0 0;width:150px}
.fb-doc-code{position:absolute;left:16px;bottom:14px;display:flex;flex-direction:column;gap:3px}
.fb-doc-code b{width:74px;height:14px;background:repeating-linear-gradient(90deg,#16255f 0 1.5px,transparent 1.5px 3px,#16255f 3px 5.5px,transparent 5.5px 7px,#16255f 7px 8px,transparent 8px 11px);display:block;opacity:.85}
.fb-doc-code small{font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace;font-size:6.8px;letter-spacing:.14em;color:#8a94ad}
.fb-doc-seal.v2{width:58px;height:58px;bottom:38px;background:radial-gradient(circle at 34% 30%,#f8dfa4,#e0b45f 46%,#a0782a 78%,#7c5a1c)}
.fb-doc-seal.v2::before{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px dashed rgba(245,204,122,.85);animation:fbSealSpin 24s linear infinite}
@keyframes fbSealSpin{to{transform:rotate(360deg)}}
.fb-doc-seal.v2 i{width:42px;height:42px;font-size:15px;box-shadow:inset 0 2px 6px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.35)}
.fb-doc-seal.v2::after{content:"";position:absolute;right:8px;bottom:-16px;width:9px;height:22px;background:linear-gradient(180deg,#a0782a,#f5cc7a);clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);transform:rotate(14deg)}
.fb-glass{position:absolute;left:5%;bottom:12%;width:148px;padding:11px 13px;border-radius:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);transform:translateZ(55px);animation:fbChipBob 8s ease-in-out 1.4s infinite}
.fb-glass em{display:block;font-style:normal;font-family:"JetBrains Mono", "JetBrains Mono Fallback", monospace;font-size:7px;font-weight:600;letter-spacing:.18em;color:#f5cc7a;margin-bottom:7px}
.fb-glass s{display:flex;align-items:center;gap:6px;text-decoration:none;font-family:"Inter", "Inter Fallback", sans-serif;font-size:9.5px;font-weight:600;color:#eef2fb;margin-top:5px}
.fb-glass s::before{content:"✓";display:grid;place-items:center;width:12px;height:12px;border-radius:50%;background:#4ea876;color:#fff;font-size:8px;flex-shrink:0}
.fb-doc{border:1px solid rgba(255,255,255,.65);background:linear-gradient(180deg,#ffffff 0%,#f5f8fd 88%,#eef2fa 100%)}
.fb-doc-head{position:relative;overflow:hidden}
.fb-doc-head::after{content:"";position:absolute;right:-24px;top:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(111,143,206,.45),transparent 70%)}
@media (max-width:600px){.fb-glass{display:none}}
@media (prefers-reduced-motion:reduce){.fb-scene-aura,.fb-dust i,.fb-doc-sig svg path,.fb-doc-seal.v2::before,.fb-glass{animation:none}.fb-doc-sig svg path{stroke-dashoffset:0}}

/* ============================================================
   DARK-BAND CONTRAST FIX · 2026-07-28
   The 2026-07-18 unboxed CTA pass turned .callout parent sections
   into full-width navy bands, but three light-context systems kept
   painting on them:
   1. BUTTON CONTRAST GUARD forced .btn-primary text white (on the
      callout's white button = invisible) and .btn-secondary text
      dark (on navy = invisible). Dark-context exceptions below win
      via higher specificity, same pattern as .site-footer's.
   2. Section-blend gradients (#fbfcfe fades) + divider ornament
      smeared near-white over the band's top edge.
   3. Global ::selection forced navy text + faint navy tint —
      selected text vanished on navy surfaces.
   ============================================================ */

/* 1a. Primary button inside dark callout: white pill, navy text */
.callout .actions .btn-primary,
.callout .actions a.btn-primary{
  background:#ffffff !important;
  color:#0f1e4b !important;
}
.callout .actions .btn-primary svg{color:#0f1e4b !important;stroke:currentColor !important}
.callout .actions .btn-primary:hover{background:#fbfcfe !important;color:#0f1e4b !important}

/* 1b. Secondary button inside dark callout: ghost, white text */
.callout .actions .btn-secondary,
.callout .actions a.btn-secondary{
  background:transparent !important;
  color:#ffffff !important;
  border-color:rgba(255,255,255,.35) !important;
}
.callout .actions .btn-secondary svg{color:#ffffff !important;stroke:currentColor !important}
.callout .actions .btn-secondary:hover{
  color:#ffffff !important;
  border-color:#ffffff !important;
  background:rgba(255,255,255,.08) !important;
}

/* 2a. Trust row inside dark callout: light text, mint checks */
.callout .final-cta-trust{color:rgba(255,255,255,.85)}
.callout .final-cta-trust .it svg{color:#7ed9a7}

/* 2b. Kill light-context section decorations on the dark band:
   the .section-tint blend fade and the centered hairline ornament */
section:has(> .container > .callout:only-child)::before,
section:has(> .container > .callout:only-child)::after,
section:has(> .container-narrow > .callout:only-child)::before,
section:has(> .container-narrow > .callout:only-child)::after{
  display:none !important;
}
/* …and the tint-blend a following .section-tint would paint over the
   band's BOTTOM edge (same exception .cf-help/.fb-global-cta already get) */
section:has(> .container > .callout:only-child) + .section-tint::before,
section:has(> .container-narrow > .callout:only-child) + .section-tint::before{
  display:none !important;
}
/* 2c. Audit 2026-07-28: the same blend system also smeared #fbfcfe over
   the top of .fb-global-cta (186 state pages) and hijacked its decorative
   ::before. Fixed AT THE SOURCE — :not(.fb-global-cta):not(.cf-help) added
   to both blend rules in the §2 block (~line 9215/9241). Nothing extra here. */

/* 3. Selection: gold highlight + navy text reads on BOTH light and
   dark surfaces (old navy-tint rule at :143 is overridden here) */
::selection{background:rgba(245,204,122,.9);color:#0f1e4b}
::-moz-selection{background:rgba(245,204,122,.9);color:#0f1e4b}

/* 4. Audit 2026-07-28 — namespace collision: the legacy accordion rule
   `.ac-body` (~:2838, no live accordion uses it) painted the .ac-body
   wrapper inside dark .article-cta cards light (#fbfcfe), washing out
   the card's white/gold text on 13 article pages. Neutralize in-card. */
.article-cta .ac-body{background:transparent;border-top:0;padding:0;color:inherit}

/* 5. Audit 2026-07-28 — dark-callout text rules leaked into the LIGHT
   in-article `.prose .callout` info notes (blog): inherited #fff /
   #ecf0f6 text sat on the tint box. Re-ink for the light variant. */
.prose .callout{color:var(--ink-2)}
.prose .callout p{color:var(--ink-2)}
.prose .callout h2,.prose .callout h3,.prose .callout h4{color:var(--ink)}

/* End DARK-BAND CONTRAST FIX */


/* ============================================================ */
/* Site search results (assets/js/search.js)                    */
/* .fbs-panel-mobile fills the drawer under .mobile-search;     */
/* .fbs-panel-inline is an absolute dropdown under a nav input. */
/* ============================================================ */
.fbs-panel{display:none}
.fbs-panel.show{display:block}
.fbs-panel-mobile{flex:1;overflow-y:auto;padding:6px 0;border-bottom:1px solid #ecf0f6}
.fbs-panel-inline{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;z-index:100}
.fbs-hit{display:block;padding:11px 20px;border-bottom:1px solid #fbfcfe;text-decoration:none;color:#1a3a8f}
.fbs-hit:last-child{border-bottom:none}
.fbs-hit:hover,.fbs-hit.active{background:#fbfcfe}
.fbs-hit:focus-visible{outline:3px solid #a0782a;outline-offset:-3px}
.fbs-hit-t{display:block;font-weight:600;font-size:14px;line-height:1.35;margin-bottom:3px}
.fbs-hit-d{display:block;font-size:12px;line-height:1.45;color:#6b7689;margin-bottom:4px}
.fbs-hit-s{display:block;font-size:10px;color:#a0782a;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.fbs-empty{padding:22px 20px;text-align:center;color:#6b7689;font-size:13px}
.fbs-panel-inline .fbs-hit{padding:11px 16px}

.fbs-sm{max-width:1080px;margin:0 auto;padding:28px 24px 4px}
.fbs-sm-h{font-size:20px;margin:0 0 14px;color:#1a3a8f}
.fbs-panel-static{display:block;border:1px solid #ecf0f6;border-radius:12px;overflow:hidden;background:#fff}
.fbs-sm-all{margin:14px 0 0;font-size:13px}
.fbs-sm-all a{color:#1a3a8f}

/* tl-item steps: keep the h4-era metrics after the accessibility renumber (the mobile h3 !important rule would shrink them) */
.tl-item h3{font-size:1.2rem !important;line-height:1.1 !important;letter-spacing:-.015em !important}

/* === was-h3 parity (generated by css_dupe.py) === */
/* Headings renumbered h3->h2 for outline correctness keep their exact old
   rendering: h2:where(.was-h3) has the same specificity as the h3 selector it
   mirrors, rules appear in original source order, media contexts preserved.
   Regenerate with css_dupe.py rather than editing by hand. */
.fb-setup-card h2:where(.was-h3){font-family: "Source Serif 4", "Source Serif Fallback", Georgia, serif; font-size: 17px; font-weight: 600; color: #101c46; letter-spacing: -0.01em; line-height: 1.25; margin: 0;}
h2:where(.was-h3), :is(h3,div):where(.was-h4){margin:0;color:var(--ink);font-family:var(--font-serif);font-weight:400;letter-spacing:-.015em;line-height:1.1}
h2:where(.was-h3){font-size:clamp(1.3rem,1.9vw,1.6rem)}
:is(h3,div):where(.was-h4){font-size:1.08rem}
.app-side :is(h3,div):where(.was-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}
.section-deep h2:where(.was-h3), .section-deep :is(h3,div):where(.was-h4){color:#fff}
.pillar h2:where(.was-h3){font-family:var(--font-serif);font-size:1.32rem;margin-bottom:8px;letter-spacing:-.01em;color:var(--ink)}
.tile :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.05rem;line-height:1.2;color:var(--ink)}
.life-step :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.18rem;margin-bottom:8px;color:var(--ink)}
.showcase h2:where(.was-h3){font-family:var(--font-serif);font-size:clamp(1.7rem,2.6vw,2.3rem);margin:16px 0 14px;line-height:1.15}
.tier h2:where(.was-h3){font-family:var(--font-serif);font-size:1.5rem;letter-spacing:-.01em;color:var(--ink)}
.foot div:where(.was-h5){font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--ink);text-transform:uppercase;margin-bottom:14px;font-weight:600}
.footer-cols .fc div:where(.was-h5){font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff;font-weight:600;margin-bottom:14px}
.wiz-panel h2:where(.was-h3){margin-bottom:8px;font-family:var(--font-serif);font-size:1.6rem}
.industry :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.15rem;color:var(--ink)}
.tl-item h2:where(.was-h3), .tl-item :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.2rem;color:var(--ink);margin-bottom:6px}
.prefore :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.18rem;color:var(--ink);margin-top:4px}
.feature-call.deep h2:where(.was-h3){color:#fff}
.feature-call h2:where(.was-h3){font-family:var(--font-serif);font-size:1.7rem;line-height:1.15;letter-spacing:-.02em;color:var(--ink)}
.req-card :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.1rem;color:var(--ink);line-height:1.2}
.svc-cta h2:where(.was-h3){font-family:var(--font-serif);font-size:1.6rem;color:var(--ink);letter-spacing:-.015em}
.who-card :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.1rem;color:var(--ink);line-height:1.25;letter-spacing:-.01em}
.step-tile :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.08rem;color:var(--ink);line-height:1.25}
.screen-step h2:where(.was-h3){font-family:var(--font-serif);font-size:1.45rem;margin-top:6px;color:var(--ink);letter-spacing:-.015em;line-height:1.2}
.screen-done h2:where(.was-h3){font-family:var(--font-serif);font-size:1.6rem;color:var(--ink);letter-spacing:-.015em}
.legal-doc .section h2:where(.was-h3){font-family:var(--font-serif);font-size:1.15rem;color:var(--ink);margin:22px 0 8px;letter-spacing:-.005em}
.legal-doc .section :is(h3,div):where(.was-h4){font-family:var(--font-sans);font-size:14.5px;color:var(--ink);font-weight:600;margin:18px 0 8px}
.legal-doc .contact-block h2:where(.was-h3){font-family:var(--font-serif);font-size:1.2rem;margin-bottom:10px;color:var(--ink)}
.blog-card h2:where(.was-h3){padding:8px 24px 0;font-family:var(--font-serif);font-size:1.32rem;line-height:1.2;color:var(--ink);letter-spacing:-.01em}
.prose h2:where(.was-h3){font-family:var(--font-serif);font-size:1.32rem;line-height:1.25;margin:32px 0 12px;color:var(--ink);letter-spacing:-.005em}
.help-card :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.15rem;color:var(--ink);line-height:1.2}
.persona :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.32rem;color:var(--ink);letter-spacing:-.01em;line-height:1.2}
.ba-side :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.35rem;margin-top:6px;color:var(--ink);letter-spacing:-.015em}
.journey-step :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.2rem;color:var(--ink);margin-top:6px;letter-spacing:-.01em;line-height:1.2}
.feature-big h2:where(.was-h3){font-family:var(--font-serif);font-size:1.8rem;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}
.fee-look .fl-head :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.4rem;color:var(--ink);letter-spacing:-.015em;margin:0;line-height:1.15}
.guarantee h2:where(.was-h3){font-family:var(--font-serif);font-size:1.55rem;color:var(--ink);letter-spacing:-.02em;margin:0;line-height:1.15}
.exit-modal .em-banner h2:where(.was-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-success :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.3rem;color:var(--ink);margin:0;letter-spacing:-.01em}
.article-cta h2:where(.was-h3){font-family:var(--font-serif);font-size:1.35rem;color:#fff;letter-spacing:-.015em;line-height:1.2;margin:0;font-weight:500}
.free-tool :is(h3,div):where(.was-h4){font-family:var(--font-serif);font-size:1.15rem;color:var(--ink);letter-spacing:-.015em;line-height:1.2;margin:4px 0 0}
.cmp-section h2:where(.was-h3){font-family:var(--font-serif);font-size:1.5rem;letter-spacing:-.015em;color:var(--ink);font-weight:500;margin-bottom:12px}
.doc-section h2:where(.was-h3){font-family:var(--font-serif);font-size:1.25rem;color:var(--ink);margin-top:24px;margin-bottom:8px;font-weight:500}
.changelog-entry h2:where(.was-h3){font-family:var(--font-serif);font-size:1.35rem;letter-spacing:-.015em;color:var(--ink);font-weight:500;margin-bottom:10px}
.calc-form h2:where(.was-h3){font-family:var(--font-serif);font-size:1.3rem;color:var(--ink);letter-spacing:-.015em;margin:0 0 18px;font-weight:500}
.quiz-step h2:where(.was-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-result h2:where(.was-h3){font-family:var(--font-serif);font-size:2rem;color:var(--ink);letter-spacing:-.02em;margin:0 0 12px;font-weight:500}
.doc-section .ds-body h2:where(.was-h3){font-family:var(--font-serif);font-size:1.05rem;color:#1a3a8f;margin:0 0 8px;font-weight:600}
.vs-strengths h2:where(.was-h3){margin:0 0 12px;font-size:16px;color:#1a3a8f;font-family:var(--font-serif);font-weight:600}
.vs-pick :is(h3,div):where(.was-h4){margin:0 0 10px;color:#1a3a8f;font-size:15px;font-weight:600}
.dl-box h2:where(.was-h3){color:#fff;margin:0 0 6px;font-size:1.3rem;font-family:var(--font-serif)}
.fb-fields h2:where(.was-h3){margin:0 0 12px;font-family:var(--font-serif);font-size:1.1rem;color:#1a3a8f;font-weight:600}
.feature-trio .ft-card h2:where(.was-h3){margin:0 0 10px;font-family:var(--font-serif);font-size:1.2rem;color:#1a3a8f;font-weight:600}
.process-step :is(h3,div):where(.was-h4){margin:0 0 8px;font-size:15px;color:#1a3a8f;font-weight:600}
.compare-cards .cc-card :is(h3,div):where(.was-h4){margin:0 0 18px;font-family:var(--font-serif);font-size:1.3rem;font-weight:600;color:inherit}
.compare-cards .cc-us :is(h3,div):where(.was-h4){color:#fff}
.related-card :is(h3,div):where(.was-h4){margin:0 0 8px;color:#1a3a8f;font-size:15.5px;font-weight:600;font-family:var(--font-serif)}
.highlight-box h2:where(.was-h3){margin:0 0 10px;font-family:var(--font-serif);font-size:1.2rem;color:#1a3a8f;font-weight:600}
.long-content h2:where(.was-h3){margin-top:28px;font-family:var(--font-serif);font-size:1.2rem;color:#1a3a8f;font-weight:600}
.tlb-card :is(h3,div):where(.was-h4){margin:0 0 10px;font-family:var(--font-serif);font-size:1.05rem;color:#1a3a8f;font-weight:600;text-align:center}
.calc-card :is(h3,div):where(.was-h4){margin:0;font-family:var(--font-serif);font-size:1rem;color:#1a3a8f;font-weight:600;line-height:1.25}
.sm-group h2:where(.was-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}
.fb-capture h2:where(.was-h3){margin:0 0 8px;font-family:var(--font-serif,Georgia,serif);font-size:22px;color:#1a3a8f}
.fb-exit-modal h2:where(.was-h3){margin:0 0 8px;font-family:var(--font-serif,Georgia,serif);font-size:24px;color:#1a3a8f}
.boi-result h2:where(.was-h3){margin:0 0 12px;font-family:var(--font-serif,Georgia,serif);font-size:24px}
.pricing-addon :is(h3,div):where(.was-h4){margin:0 0 6px;font-size:15px;color:#1a3a8f}
.timeline-step h2:where(.was-h3){font-size:14.5px;color:#1a3a8f;margin:0 0 4px;font-family:var(--font-serif,Georgia,serif)}
.help-widget-modal-head h2:where(.was-h3){margin:0;font-size:16px;color:#1a3a8f;font-family:Georgia,serif;font-weight:600}
.video-card-body :is(h3,div):where(.was-h4){margin:0 0 6px;font-family:Georgia,serif;color:#1a3a8f;font-size:16px}
.exit-intent-modal h2:where(.was-h3){margin:0 0 10px;font-family:Georgia,serif;color:#1a3a8f;font-size:24px;line-height:1.25}
.state-map-head h2:where(.was-h3){font-family:Georgia,serif;color:#1a3a8f;margin:0;font-size:20px;font-weight:600}
.compliance-cal-head h2:where(.was-h3){font-family:Georgia,serif;color:#1a3a8f;margin:0;font-size:20px;font-weight:600}
.entity-compare-head h2:where(.was-h3){font-family:Georgia,serif;color:#1a3a8f;margin:0;font-size:20px;font-weight:600}
.status-tracker-head h2:where(.was-h3){font-family:Georgia,serif;color:#1a3a8f;margin:0 0 6px;font-size:22px;font-weight:600}
.fee-tool-head h2:where(.was-h3){font-family:Georgia,serif;color:#1a3a8f;margin:0;font-size:20px;font-weight:600}
.workflow-head h2:where(.was-h3){font-family:Georgia,serif;color:#1a3a8f;margin:0 0 6px;font-size:22px;font-weight:600}
.v2-hero-dark h2:where(.was-h3){color:#fff}
.how-step h2:where(.was-h3){font-family: Georgia, serif; color: #1a3a8f; font-size: 21px; margin: 0 0 12px; font-weight: 600; letter-spacing: -.005em; line-height: 1.25;}
.timeline-v2 .timeline-step-body h2:where(.was-h3){font-family:Source Serif 4,Georgia,serif;font-size:17px;color:#1a3a8f;margin:0 0 8px;font-weight:600;letter-spacing:-.005em}
section.tour .tour-panel h2:where(.was-h3){font-family: Georgia, "Times New Roman", serif; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.25; color: #1a3a8f; margin: 0 0 22px !important; letter-spacing: -0.01em; max-width: 580px;}
section#product-tour .tour-panel h2:where(.was-h3){max-width: 100% !important; word-break: normal !important; overflow-wrap: break-word !important; hyphens: none !important;}
.mega-side-header :is(h3,div):where(.was-h4){font-family: Georgia, "Times New Roman", serif; font-size: 16px; font-weight: 700; color: #1a3a8f; margin: 0 0 6px; line-height: 1.25;}
.mega-side-tabbed :is(h3,div):where(.was-h4){font-family: Georgia, "Times New Roman", serif; font-size: 16px; font-weight: 700; color: #101c46; margin: 0 0 4px; line-height: 1.2;}
.pillar h2:where(.was-h3){font-family: "Source Serif 4", "Source Serif Fallback", Georgia, serif !important; font-size: 1rem !important; font-weight: 600 !important; margin: 0 0 6px !important; letter-spacing: -0.01em !important; color: #101c46 !important; line-height: 1.3;}
@media (max-width: 600px){
  .pillar h2:where(.was-h3){font-size: 0.95rem !important;}
}
.related-services .rel-svc-card h2:where(.was-h3){font-family: "Source Serif 4", "Source Serif Fallback", Georgia, serif !important; font-size: 15px !important; font-weight: 600 !important; color: #101c46 !important; letter-spacing: -0.01em !important; line-height: 1.3 !important; margin: 0 !important;}
@media (max-width: 760px){
  h2:where(.was-h3):where(:not(.was-h4)){font-size: 17px !important; line-height: 1.3 !important;}
}
.prose .callout h2:where(.was-h3), .prose .callout :is(h3,div):where(.was-h4){color:var(--ink)}
.tl-item h2:where(.was-h3){font-size:1.2rem !important;line-height:1.1 !important;letter-spacing:-.015em !important}

/* ==== cls-reserve =========================================================
   Space reserved for boxes that ship empty (or hidden) and are filled by
   script after first paint. Without this the page below them jumps down when
   the content lands, which is what Core Web Vitals measures as layout shift.
   Every number here was measured on the settled page, not estimated, so the
   reservation costs no blank space once the content is in.
   ------------------------------------------------------------------------- */
#sfBody{min-height:430px}      /* state-fee table body; already capped at 430 */
#fbpxList{min-height:240px}    /* price search results; already capped at 240 */
#fbpxResult{min-height:186px}  /* price estimate readout */

/* The homepage map panel auto-selects a state 300ms in, swapping the prompt
   pane for the detail pane. Reserving the taller of the two makes the swap
   free. */
#usMapPanel{min-height:481px}
@media (max-width:1100px){#usMapPanel{min-height:463px}}
@media (max-width:700px){#usMapPanel{min-height:629px}}
