/* ===================================================================
   Jax Index — shared design system
   Used by every page. Edit here once; every page picks up the change.
=================================================================== */

/* ===== Tokens ===== */
:root{
  --paper:#f7f6f1;
  --surface:#ffffff;
  --surface-2:#edf0ea;
  --ink:#12253a;
  --text:#1a3049;
  --text-muted:#54687a;
  --line:rgba(18,37,58,0.13);
  --line-strong:rgba(18,37,58,0.24);

  --navy-950:#081420;
  --navy-900:#0b1c2c;
  --navy-800:#0f2438;
  --teal-700:#155852;
  --teal-600:#1c6e66;
  --teal-500:#2a8a80;
  --teal-400:#4fa89c;
  --teal-300:#8fd0c4;
  --sand-600:#a8622a;
  --sand-500:#c97d3a;
  --sand-400:#dd9955;

  --live-bg:#e7f4f0;
  --live-text:#0f5c50;
  --wait-bg:#f2ede0;
  --wait-text:#7a5a2a;

  --shadow-sm: 0 1px 2px rgba(9,20,32,0.06), 0 1px 1px rgba(9,20,32,0.04);
  --shadow-md: 0 8px 24px rgba(9,20,32,0.10), 0 2px 6px rgba(9,20,32,0.06);
  --shadow-lg: 0 20px 48px rgba(9,20,32,0.16), 0 6px 16px rgba(9,20,32,0.08);

  --font-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body:'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --font-mono:'IBM Plex Mono', 'SFMono-Regular', Menlo, Consolas, monospace;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;

  --maxw: 1180px;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#081420; --surface:#0f2438; --surface-2:#123047;
    --ink:#eef3f2; --text:#e6ede9; --text-muted:#a9bdc9;
    --line:rgba(255,255,255,0.13); --line-strong:rgba(255,255,255,0.24);
    --teal-500:#5cc0b3; --teal-400:#7fd4c9; --teal-300:#a9e2d8;
    --sand-500:#e2a262; --sand-400:#eab27a;
    --live-bg:#123830; --live-text:#7fe0c9;
    --wait-bg:#2c2515; --wait-text:#e0b46e;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.3); --shadow-md: 0 8px 24px rgba(0,0,0,0.4); --shadow-lg: 0 20px 48px rgba(0,0,0,0.5);
  }
}
:root[data-theme="dark"]{
  --paper:#081420; --surface:#0f2438; --surface-2:#123047;
  --ink:#eef3f2; --text:#e6ede9; --text-muted:#a9bdc9;
  --line:rgba(255,255,255,0.13); --line-strong:rgba(255,255,255,0.24);
  --teal-500:#5cc0b3; --teal-400:#7fd4c9; --teal-300:#a9e2d8;
  --sand-500:#e2a262; --sand-400:#eab27a;
  --live-bg:#123830; --live-text:#7fe0c9;
  --wait-bg:#2c2515; --wait-text:#e0b46e;
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.3); --shadow-md: 0 8px 24px rgba(0,0,0,0.4); --shadow-lg: 0 20px 48px rgba(0,0,0,0.5);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}
body{ margin:0; background:var(--paper); color:var(--text); font-family:var(--font-body); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
img{max-width:100%; display:block;}
a{color:inherit;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
h1,h2,h3{font-family:var(--font-display); color:var(--ink); margin:0; text-wrap:balance; font-weight:600;}
p{margin:0;}
ul{margin:0; padding:0; list-style:none;}
button{font-family:inherit; cursor:pointer;}
input,select,textarea{font-family:inherit; font-size:1rem;}

.skip-link{ position:absolute; left:-999px; top:auto; background:var(--teal-600); color:#fff; padding:10px 16px; border-radius:6px; z-index:200; }
.skip-link:focus{ left:16px; top:16px; }
:focus-visible{ outline:2.5px solid var(--teal-500); outline-offset:3px; border-radius:4px; }

.eyebrow{ font-family:var(--font-mono); font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--teal-500); font-weight:600; display:inline-flex; align-items:center; gap:10px; }
.eyebrow::before{ content:""; width:22px; height:1.5px; background:var(--teal-500); display:inline-block; }

.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:var(--font-body); font-weight:700; font-size:0.98rem; padding:13px 22px; border-radius:999px; border:1.5px solid transparent; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease; white-space:nowrap; }
.btn-primary{ background:var(--sand-500); color:#231204; box-shadow:var(--shadow-sm); }
.btn-primary:hover{ background:var(--sand-400); box-shadow:var(--shadow-md); transform:translateY(-1px); }
.btn-outline{ background:transparent; border-color:var(--line-strong); color:var(--ink); }
.btn-outline:hover{ border-color:var(--teal-500); color:var(--teal-500); }
.btn-teal{ background:var(--teal-600); color:#fff; }
.btn-teal:hover{ background:var(--teal-500); transform:translateY(-1px); box-shadow:var(--shadow-md); }
.btn-ghost-inverse{ background:transparent; border-color:rgba(255,255,255,0.35); color:#fff; }
.btn-ghost-inverse:hover{ border-color:#fff; }
.btn-sm{ padding:9px 16px; font-size:0.86rem; }
.btn-block{ width:100%; }
.btn[disabled]{ opacity:0.6; cursor:not-allowed; transform:none !important; }

/* ===== Nav ===== */
header.site-nav{ position:sticky; top:0; z-index:100; background:color-mix(in srgb, var(--navy-950) 92%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid rgba(255,255,255,0.08); }
.nav-row{ display:flex; align-items:center; justify-content:space-between; height:72px; gap:24px; }
.wordmark{ display:flex; align-items:baseline; gap:2px; text-decoration:none; color:#fff; }
.wordmark .jax{ font-family:var(--font-display); font-weight:700; font-size:1.32rem; letter-spacing:0.01em; }
.wordmark .index{ font-family:var(--font-mono); font-weight:500; font-size:1.32rem; color:var(--teal-300); }
.nav-links{ display:flex; align-items:center; gap:28px; }
.nav-links a{ color:rgba(255,255,255,0.82); text-decoration:none; font-size:0.94rem; font-weight:600; padding:6px 2px; border-bottom:2px solid transparent; transition:color .15s ease, border-color .15s ease; }
.nav-links a:hover, .nav-links a[aria-current="page"]{ color:#fff; border-color:var(--teal-400); }
.nav-cta{ display:flex; align-items:center; gap:14px; }
.nav-toggle{ display:none; background:none; border:none; color:#fff; padding:8px; }
.mobile-menu{ display:none; }

@media (max-width: 940px){
  .nav-links{ display:none; }
  .nav-toggle{ display:inline-flex; }
  .nav-cta .btn-outline{ display:none; }
  .mobile-menu{ display:block; position:fixed; inset:72px 0 0 0; background:var(--navy-950); z-index:99; padding:28px 24px; transform:translateY(-8px); opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease; overflow-y:auto; }
  .mobile-menu.open{ opacity:1; transform:translateY(0); pointer-events:auto; }
  .mobile-menu a{ display:block; color:#fff; text-decoration:none; font-family:var(--font-display); font-size:1.5rem; padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.1); }
  .mobile-menu .btn{ margin-top:20px; }
}

/* ===== Breadcrumb ===== */
.breadcrumb-bar{ background:var(--surface-2); border-bottom:1px solid var(--line); }
.breadcrumb{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:14px 0; font-size:0.86rem; color:var(--text-muted); }
.breadcrumb a{ color:var(--text-muted); text-decoration:none; }
.breadcrumb a:hover{ color:var(--teal-600); text-decoration:underline; }
.breadcrumb .sep{ opacity:0.5; }
.breadcrumb .current{ color:var(--ink); font-weight:600; }

/* ===== Sections generic ===== */
section{ padding:88px 0; }
.section-head{ max-width:680px; margin-bottom:48px; }
.section-head h2{ font-size:clamp(1.85rem, 3vw, 2.5rem); margin-top:14px; }
.section-head h1{ font-size:clamp(2.1rem, 3.6vw, 3rem); margin-top:14px; }
.section-head p{ color:var(--text-muted); margin-top:14px; font-size:1.05rem; line-height:1.65; }
.section-alt{ background:var(--surface-2); }
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }

/* ===== Page hero (interior pages) ===== */
.page-hero{ position:relative; overflow:hidden; background:radial-gradient(ellipse 120% 90% at 15% 0%, var(--navy-800) 0%, var(--navy-950) 60%); color:#fff; padding:56px 0 64px; }
.page-hero h1{ color:#fff; font-size:clamp(2rem, 4vw, 3.1rem); line-height:1.1; margin:16px 0 18px; }
.page-hero .hero-sub{ font-size:1.08rem; color:rgba(255,255,255,0.82); max-width:60ch; line-height:1.65; }
.page-hero .hero-cta-row{ display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }

/* ===== Trust strip ===== */
.trust-strip{ padding:44px 0; border-bottom:1px solid var(--line); }
.trust-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:28px; }
.trust-item{ display:flex; gap:14px; align-items:flex-start; }
.trust-item .ic{ flex-shrink:0; width:38px; height:38px; border-radius:10px; background:var(--surface-2); display:flex; align-items:center; justify-content:center; color:var(--teal-600); }
.trust-item h3{ font-family:var(--font-body); font-weight:700; font-size:0.98rem; color:var(--ink); margin-bottom:4px; }
.trust-item p{ font-size:0.88rem; color:var(--text-muted); line-height:1.5; }
@media (max-width:900px){ .trust-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .trust-grid{ grid-template-columns:1fr; } }

/* ===== How it works ===== */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.step{ padding-top:8px; }
.step-num{ font-family:var(--font-mono); font-size:2.1rem; color:var(--teal-500); font-weight:600; font-variant-numeric:tabular-nums; }
.step h3{ font-family:var(--font-body); font-weight:700; font-size:1.12rem; color:var(--ink); margin:10px 0 8px; }
.step p{ color:var(--text-muted); font-size:0.96rem; line-height:1.6; }
@media (max-width:820px){ .steps{ grid-template-columns:1fr; gap:28px; } }

/* ===== Services index ===== */
.flagship-card{ display:grid; grid-template-columns:0.95fr 1.05fr; gap:0; background:var(--surface); border:1.5px solid var(--teal-500); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); margin-bottom:28px; }
.flagship-card .fc-img{ position:relative; }
.flagship-card .fc-img img{ width:100%; height:100%; object-fit:cover; min-height:280px; }
.flagship-card .fc-body{ padding:38px 40px; display:flex; flex-direction:column; justify-content:center; }
.idx-no{ font-family:var(--font-mono); color:var(--text-muted); font-size:0.85rem; letter-spacing:0.08em; }
.status-pill{ display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.07em; text-transform:uppercase; padding:5px 11px; border-radius:999px; font-weight:600; }
.status-live{ background:var(--live-bg); color:var(--live-text); }
.status-wait{ background:var(--wait-bg); color:var(--wait-text); }
.flagship-card h3{ font-size:1.7rem; margin:14px 0 10px; }
.flagship-card p.desc{ color:var(--text-muted); font-size:1.02rem; line-height:1.6; margin-bottom:20px; }

.service-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); gap:22px; }
.svc-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md); overflow:hidden; display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.svc-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--line-strong); }
.svc-card .sc-img{ height:150px; overflow:hidden; }
.svc-card .sc-img img{ width:100%; height:100%; object-fit:cover; }
.svc-card .sc-body{ padding:20px; display:flex; flex-direction:column; gap:10px; flex:1; }
.svc-card h4{ font-family:var(--font-body); font-weight:700; font-size:1.02rem; color:var(--ink); margin:0; }
.svc-card p{ font-size:0.88rem; color:var(--text-muted); line-height:1.55; flex:1; }
.svc-card .btn{ align-self:flex-start; margin-top:4px; }

/* ===== Chips / checklists ===== */
.chip-row{ display:flex; flex-wrap:wrap; gap:9px; }
.chip{ background:var(--surface-2); border:1px solid var(--line); color:var(--text); font-size:0.85rem; padding:7px 13px; border-radius:999px; }
.check-list{ display:flex; flex-direction:column; gap:10px; }
.check-list li{ display:flex; gap:10px; align-items:flex-start; font-size:0.95rem; color:var(--text); line-height:1.5; }
.check-list svg{ flex-shrink:0; margin-top:3px; color:var(--teal-500); }

/* ===== Spotlight / split layouts ===== */
.spotlight{ display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:start; }
.spotlight-panel{ display:flex; flex-direction:column; gap:26px; }
.spotlight h3{ font-size:1.2rem; font-family:var(--font-body); font-weight:700; color:var(--ink); margin-bottom:14px; }
.spotlight-figure{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); position:sticky; top:96px; }
.spotlight-figure img{ width:100%; height:520px; object-fit:cover; }
@media (max-width:940px){ .spotlight{ grid-template-columns:1fr; } .spotlight-figure{ position:static; } .spotlight-figure img{ height:300px; } }

/* ===== Jax Score ===== */
.score-wrap{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:start; }
.score-intro p{ color:var(--text-muted); font-size:1.02rem; line-height:1.68; }
.score-intro p + p{ margin-top:14px; }
.score-card{ background:var(--navy-950); border-radius:var(--radius-lg); padding:10px 8px; box-shadow:var(--shadow-lg); }
.score-row{ display:grid; grid-template-columns:56px 1fr; gap:18px; padding:20px 22px; border-bottom:1px solid rgba(255,255,255,0.09); align-items:flex-start; }
.score-row:last-child{ border-bottom:none; }
.score-row .sr-num{ font-family:var(--font-mono); color:var(--teal-300); font-size:1.5rem; font-variant-numeric:tabular-nums; }
.score-row h4{ font-family:var(--font-body); color:#fff; font-weight:700; font-size:1rem; margin-bottom:5px; }
.score-row p{ color:rgba(255,255,255,0.66); font-size:0.9rem; line-height:1.55; }
.score-foot{ padding:18px 22px 20px; color:rgba(255,255,255,0.55); font-size:0.83rem; font-family:var(--font-mono); border-top:1px dashed rgba(255,255,255,0.15); margin-top:6px; }
@media (max-width:940px){ .score-wrap{ grid-template-columns:1fr; } }

/* ===== Network growing / CTA banner ===== */
.network-box{ background:linear-gradient(135deg, var(--teal-700), var(--teal-600)); border-radius:var(--radius-lg); padding:56px; color:#fff; display:grid; grid-template-columns:1.2fr 0.8fr; gap:36px; align-items:center; }
.network-box h2{ color:#fff; font-size:clamp(1.6rem,2.6vw,2.15rem); }
.network-box p{ color:rgba(255,255,255,0.88); margin-top:14px; line-height:1.65; font-size:1.02rem; }
.network-cta{ display:flex; gap:12px; flex-wrap:wrap; }
@media (max-width:860px){ .network-box{ grid-template-columns:1fr; padding:36px 26px; } }

/* ===== Guides ===== */
.guide-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
.guide-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md); padding:26px; display:flex; flex-direction:column; gap:14px; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease; }
.guide-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.guide-card .gtag{ align-self:flex-start; background:var(--surface-2); color:var(--text-muted); font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; padding:5px 10px; border-radius:6px; }
.guide-card .gtag.live{ background:var(--live-bg); color:var(--live-text); }
.guide-card h4{ font-family:var(--font-display); font-size:1.18rem; color:var(--ink); font-weight:600; line-height:1.3; }
.guide-card p{ font-size:0.9rem; color:var(--text-muted); line-height:1.55; }
@media (max-width:860px){ .guide-grid{ grid-template-columns:1fr; } }

/* ===== Article / prose (guides) ===== */
.article-head{ max-width:760px; margin:0 auto 40px; text-align:left; }
.article-meta{ display:flex; flex-wrap:wrap; gap:8px 18px; color:var(--text-muted); font-size:0.86rem; margin-top:18px; font-family:var(--font-mono); }
.article-meta strong{ color:var(--ink); font-family:var(--font-body); }
.article-figure{ max-width:900px; margin:0 auto 48px; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); }
.article-figure img{ width:100%; height:auto; max-height:460px; object-fit:cover; }
.prose{ max-width:720px; margin:0 auto; display:flex; flex-direction:column; gap:22px; }
.prose h2{ font-size:1.55rem; margin-top:14px; }
.prose h3{ font-family:var(--font-body); font-weight:700; font-size:1.12rem; color:var(--ink); }
.prose p{ font-size:1.05rem; line-height:1.75; color:var(--text); }
.prose ul, .prose ol{ padding-left:22px; display:flex; flex-direction:column; gap:8px; }
.prose ul{ list-style:disc; }
.prose ol{ list-style:decimal; }
.prose li{ font-size:1.02rem; line-height:1.65; color:var(--text); }
.prose table{ width:100%; border-collapse:collapse; font-size:0.95rem; }
.prose table caption{ text-align:left; font-size:0.85rem; color:var(--text-muted); margin-bottom:8px; }
.prose th, .prose td{ text-align:left; padding:11px 14px; border-bottom:1px solid var(--line); }
.prose th{ font-family:var(--font-mono); font-size:0.76rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--text-muted); }
.prose td{ font-variant-numeric:tabular-nums; }
.callout{ background:var(--surface-2); border-left:3px solid var(--teal-500); border-radius:0 var(--radius-sm) var(--radius-sm) 0; padding:18px 22px; display:flex; gap:14px; align-items:flex-start; }
.callout svg{ flex-shrink:0; color:var(--teal-600); margin-top:3px; }
.callout p{ font-size:0.98rem; line-height:1.6; margin:0; }
.article-cta{ background:var(--navy-950); border-radius:var(--radius-lg); padding:34px 36px; color:#fff; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.article-cta h3{ color:#fff; font-family:var(--font-display); font-size:1.3rem; }
.article-cta p{ color:rgba(255,255,255,0.75); font-size:0.94rem; margin-top:6px; }
.related-guides{ max-width:900px; margin:0 auto; }
.overflow-x{ overflow-x:auto; }

/* ===== For providers ===== */
.providers-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.providers-figure{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); }
.providers-figure img{ width:100%; height:440px; object-fit:cover; }
.provider-bullets{ display:flex; flex-direction:column; gap:18px; margin:26px 0 30px; }
.provider-bullets li{ display:flex; gap:12px; align-items:flex-start; font-size:0.98rem; line-height:1.55; }
.provider-bullets svg{ flex-shrink:0; margin-top:3px; color:var(--teal-500); }
.provider-cta{ display:flex; gap:12px; flex-wrap:wrap; }
@media (max-width:940px){ .providers-wrap{ grid-template-columns:1fr; } .providers-figure img{ height:280px; } .providers-figure{ order:-1; } }

.pricing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.pricing-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-md); padding:30px; display:flex; flex-direction:column; gap:16px; }
.pricing-card.featured{ border-color:var(--teal-500); box-shadow:var(--shadow-md); position:relative; }
.pricing-card .ptag{ font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.07em; text-transform:uppercase; color:var(--teal-600); }
.pricing-card h4{ font-family:var(--font-body); font-weight:700; font-size:1.15rem; color:var(--ink); }
.pricing-card .pnote{ font-size:0.9rem; color:var(--text-muted); line-height:1.55; }
.pricing-card ul{ display:flex; flex-direction:column; gap:9px; margin-top:4px; }
.pricing-card li{ font-size:0.88rem; display:flex; gap:8px; align-items:flex-start; }
.pricing-card svg{ flex-shrink:0; margin-top:3px; color:var(--teal-500); }
@media (max-width:860px){ .pricing-grid{ grid-template-columns:1fr; } }

/* ===== FAQ ===== */
.faq-list{ display:flex; flex-direction:column; gap:12px; max-width:800px; }
.faq-item{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; }
.faq-item summary{ padding:19px 22px; font-family:var(--font-body); font-weight:700; font-size:1rem; color:var(--ink); cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary .chev{ transition:transform .2s ease; flex-shrink:0; color:var(--teal-500); }
.faq-item[open] summary .chev{ transform:rotate(180deg); }
.faq-item .faq-a{ padding:0 22px 20px; color:var(--text-muted); font-size:0.95rem; line-height:1.65; }

/* ===== Quote form ===== */
.quote-wrap{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:flex-start; }
.quote-side p{ color:var(--text-muted); line-height:1.65; font-size:1.02rem; }
.quote-reasons{ display:flex; flex-direction:column; gap:16px; margin:26px 0; }
.quote-reasons li{ display:flex; gap:12px; align-items:flex-start; font-size:0.95rem; }
.quote-reasons svg{ color:var(--teal-500); flex-shrink:0; margin-top:3px; }
.direct-email{ margin-top:8px; display:inline-flex; align-items:center; gap:10px; font-weight:700; color:var(--teal-600); text-decoration:none; border-bottom:1.5px solid var(--teal-500); padding-bottom:2px; }
.direct-email:hover{ color:var(--teal-500); }

.quote-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg); padding:36px; box-shadow:var(--shadow-md); }
.field{ margin-bottom:20px; }
.field label{ display:block; font-size:0.86rem; font-weight:700; color:var(--ink); margin-bottom:7px; }
.field .hint{ font-weight:400; color:var(--text-muted); font-size:0.82rem; }
.field input[type="text"], .field input[type="email"], .field input[type="tel"], .field select, .field textarea{ width:100%; padding:12px 14px; border-radius:10px; border:1.5px solid var(--line-strong); background:var(--paper); color:var(--text); font-size:0.98rem; transition:border-color .15s ease, box-shadow .15s ease; }
.field textarea{ resize:vertical; min-height:96px; font-family:inherit; }
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--teal-500); box-shadow:0 0 0 3px color-mix(in srgb, var(--teal-500) 22%, transparent); outline:none; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.radio-group{ display:flex; gap:10px; flex-wrap:wrap; }
.radio-pill{ position:relative; }
.radio-pill input{ position:absolute; opacity:0; inset:0; cursor:pointer; }
.radio-pill span{ display:inline-block; padding:9px 15px; border-radius:999px; border:1.5px solid var(--line-strong); font-size:0.87rem; color:var(--text); transition:all .15s ease; }
.radio-pill input:checked + span{ background:var(--teal-600); border-color:var(--teal-600); color:#fff; }
.radio-pill input:focus-visible + span{ outline:2.5px solid var(--teal-500); outline-offset:2px; }
.consent-row{ display:flex; gap:11px; align-items:flex-start; margin-bottom:14px; }
.consent-row input[type="checkbox"]{ width:18px; height:18px; margin-top:2px; accent-color:var(--teal-600); flex-shrink:0; }
.consent-row label{ font-size:0.86rem; color:var(--text-muted); line-height:1.5; }
.form-note{ margin-top:14px; font-size:0.82rem; color:var(--text-muted); text-align:center; line-height:1.5; }
.not-live-note{ display:none; background:var(--wait-bg); color:var(--wait-text); border-radius:8px; padding:11px 14px; font-size:0.84rem; margin-bottom:18px; line-height:1.5; }
.not-live-note.show{ display:block; }
.form-status{ display:none; border-radius:8px; padding:12px 14px; font-size:0.88rem; margin-bottom:16px; line-height:1.5; }
.form-status.show{ display:block; }
.form-status.success{ background:var(--live-bg); color:var(--live-text); }
.form-status.error{ background:#fbe4e2; color:#8a2c22; }
.hp-field{ position:absolute; left:-5000px; top:auto; width:1px; height:1px; overflow:hidden; }
@media (max-width:940px){ .quote-wrap{ grid-template-columns:1fr; } .field-row{ grid-template-columns:1fr; } }

/* ===== Footer ===== */
footer{ background:var(--navy-950); color:rgba(255,255,255,0.72); padding:72px 0 0; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:52px; border-bottom:1px solid rgba(255,255,255,0.1); }
.footer-grid h5{ color:#fff; font-family:var(--font-mono); font-size:0.76rem; letter-spacing:0.09em; text-transform:uppercase; margin-bottom:16px; }
.footer-grid ul{ display:flex; flex-direction:column; gap:11px; }
.footer-grid a{ color:rgba(255,255,255,0.68); text-decoration:none; font-size:0.92rem; }
.footer-grid a:hover{ color:#fff; }
.footer-brand .wordmark{ margin-bottom:14px; }
.footer-brand p{ font-size:0.92rem; line-height:1.6; max-width:32ch; color:rgba(255,255,255,0.6); margin-bottom:16px; }
.footer-legal-list li{ font-size:0.88rem; color:rgba(255,255,255,0.5); }
.footer-disclosure{ padding:28px 0; font-size:0.82rem; line-height:1.65; color:rgba(255,255,255,0.5); max-width:100%; }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding:22px 0; border-top:1px solid rgba(255,255,255,0.1); font-size:0.82rem; color:rgba(255,255,255,0.45); flex-wrap:wrap; gap:10px; }
@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }
