/* ==========================================================================
   AIQ — Auto Insurance Quotes
   Design DNA: American highway signage. Sign-green + asphalt + reflective
   cream, with caution yellow reserved exclusively for calls-to-action.
   Type: Overpass (display, derived from Highway Gothic) / Inter (body) /
   IBM Plex Mono (data, plates, tags).
   ========================================================================== */

/* ---------- Tokens ---------- */
:root{
  /* color */
  --green-950:#08251c;
  --green-900:#0a2c21;
  --green-800:#0f3d2e;
  --green-600:#1f6349;
  --green-500:#2c7d5d;
  --green-100:#dce8e0;
  --asphalt-950:#111414;
  --asphalt-900:#181b1c;
  --asphalt-800:#232728;
  --asphalt-700:#2e3335;
  --paper:#f7f5ec;
  --paper-dim:#ece8da;
  --paper-mute:#e0dccb;
  --caution:#ffc627;
  --caution-deep:#dfa900;
  --stop-red:#c8102e;
  --ink:#141815;
  --ink-soft:#3d463f;
  --muted:#6f7a71;
  --line-dark:rgba(247,245,236,.14);
  --line-light:rgba(15,61,46,.16);

  /* type — fluid scale, ~1.25 ratio anchored at 16px */
  --fs-xs:.75rem;
  --fs-sm:.8125rem;
  --fs-base:1rem;
  --fs-md:clamp(1.0625rem,1rem + .3vw,1.1875rem);
  --fs-lg:clamp(1.25rem,1.1rem + .7vw,1.5rem);
  --fs-xl:clamp(1.55rem,1.3rem + 1.2vw,2.1rem);
  --fs-2xl:clamp(1.9rem,1.5rem + 2vw,2.75rem);
  --fs-hero:clamp(2.35rem,1.6rem + 3.8vw,4.15rem);

  --font-display:'Overpass',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
  --font-mono:'IBM Plex Mono','Courier New',monospace;

  /* rhythm */
  --space-section:clamp(4rem,3rem + 4vw,7rem);
  --wrap:1180px;
  --radius:8px;
  --radius-lg:16px;
  --shadow-lg:0 24px 60px -12px rgba(8,37,28,.35);
  --shadow-md:0 10px 30px -8px rgba(8,37,28,.22);
  --shadow-btn:0 6px 0 var(--caution-deep);

  --ease-out:cubic-bezier(.22,1,.36,1);
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:96px;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:var(--fs-base);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,.display{
  font-family:var(--font-display);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.01em;
  line-height:1.08;
  margin:0;
}
p{margin:0;}
a{color:inherit;}
img,svg{display:block;max-width:100%;}
button{font:inherit;}
.mono{font-family:var(--font-mono);}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

a:focus-visible,button:focus-visible,input:focus-visible,
summary:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--caution);
  outline-offset:2px;
  border-radius:2px;
}

::selection{background:var(--caution);color:var(--asphalt-900);}

/* ---------- Scroll reveal (only hides content when JS is running) ---------- */
html.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);}
html.js .reveal.in-view{opacity:1;transform:none;}
html.js .reveal-stagger > *{opacity:0;transform:translateY(26px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);}
html.js .reveal-stagger.in-view > *{opacity:1;transform:none;}
.reveal-stagger.in-view > :nth-child(2){transition-delay:.09s;}
.reveal-stagger.in-view > :nth-child(3){transition-delay:.18s;}
.reveal-stagger.in-view > :nth-child(4){transition-delay:.27s;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--font-display);font-weight:800;text-transform:uppercase;
  letter-spacing:.05em;border-radius:var(--radius);border:none;cursor:pointer;
  text-decoration:none;white-space:nowrap;
  transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out),
             background .15s var(--ease-out),color .15s var(--ease-out);
}
.btn-caution{
  background:var(--caution);color:var(--asphalt-950);
  padding:14px 26px;font-size:.9rem;box-shadow:var(--shadow-btn);
}
.btn-caution:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--caution-deep);}
.btn-caution:active{transform:translateY(3px);box-shadow:0 2px 0 var(--caution-deep);}
.btn-outline{
  background:transparent;color:var(--paper);
  border:2px solid var(--line-dark);padding:11px 20px;font-size:.8rem;
}
.btn-outline:hover{border-color:var(--caution);color:var(--caution);}
.btn-sm{padding:9px 16px;font-size:.75rem;}
.btn .arrow{transition:transform .2s var(--ease-out);}
.btn:hover .arrow{transform:translateX(4px);}

/* ---------- Eyebrow / section head ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-mono);font-size:.72rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--caution);border:1px solid rgba(255,198,39,.45);
  padding:7px 14px;border-radius:999px;
}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}
.section-head{text-align:center;max-width:660px;margin:0 auto clamp(2.4rem,4vw,3.5rem);}
.section-head .eyebrow{margin-bottom:18px;}
.section-head h2{font-size:var(--fs-2xl);color:var(--asphalt-900);}
.section-head p{font-size:var(--fs-md);color:var(--muted);margin-top:16px;line-height:1.65;}
.on-light .eyebrow{color:var(--green-800);border-color:rgba(15,61,46,.32);}

/* ---------- Header ---------- */
.site-header{
  background:var(--asphalt-900);
  border-bottom:4px solid var(--caution);
  position:sticky;top:0;z-index:80;
  transition:box-shadow .25s var(--ease-out);
}
.site-header.scrolled{box-shadow:0 12px 32px -10px rgba(0,0,0,.55);}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding-block:12px;
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--paper);min-width:0;}
.brand img{height:44px;width:auto;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45));}
.brand-name{
  font-family:var(--font-display);font-weight:800;font-size:1.06rem;
  line-height:1.1;text-transform:uppercase;letter-spacing:.02em;
}
.brand-name span{color:var(--caution);}
.brand-tag{
  display:block;font-family:var(--font-mono);font-weight:400;font-size:.6rem;
  letter-spacing:.22em;color:rgba(247,245,236,.55);text-transform:uppercase;margin-top:3px;
}
.main-nav{display:flex;align-items:center;gap:6px;}
.main-nav a{
  font-family:var(--font-display);font-weight:700;font-size:.8rem;
  letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
  color:rgba(247,245,236,.78);padding:10px 13px;border-radius:6px;
  transition:color .15s,background .15s;
}
.main-nav a:hover{color:var(--caution);background:rgba(255,198,39,.08);}
.header-actions{display:flex;align-items:center;gap:16px;}
.phone-link{
  display:flex;align-items:center;gap:8px;color:var(--paper);
  font-family:var(--font-mono);font-weight:600;font-size:.83rem;text-decoration:none;
  transition:color .15s;
}
.phone-link:hover{color:var(--caution);}
.phone-link svg{width:15px;height:15px;flex-shrink:0;}
.nav-toggle{
  display:none;background:none;border:2px solid var(--line-dark);border-radius:8px;
  width:44px;height:44px;cursor:pointer;padding:0;
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--paper);transition:transform .25s var(--ease-out),opacity .2s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-nav{
  display:none;background:var(--asphalt-950);border-top:1px solid var(--line-dark);
  padding:10px 24px 22px;
}
.mobile-nav.open{display:block;}
.mobile-nav a{
  display:block;padding:14px 6px;text-decoration:none;color:var(--paper);
  font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.05em;
  text-transform:uppercase;border-bottom:1px dashed var(--line-dark);
}
.mobile-nav a:last-child{border-bottom:none;}
.mobile-nav a:hover{color:var(--caution);}

/* ---------- Lane divider signature ---------- */
.lane-divider{height:36px;background:var(--asphalt-900);position:relative;overflow:hidden;}
.lane-divider::before{
  content:"";position:absolute;top:50%;left:-84px;right:-84px;height:5px;transform:translateY(-50%);
  background-image:repeating-linear-gradient(90deg,var(--paper) 0 46px,transparent 46px 84px);
  opacity:.85;
  animation:lane-move 2.6s linear infinite;
}
@keyframes lane-move{to{transform:translate(84px,-50%);}}

/* ---------- Hero ---------- */
.hero{
  position:relative;color:var(--paper);overflow:hidden;
  /* Car photo ghosted beneath layered sign-green gradients — warm advances,
     cool recedes (ch09): the image stays a receding texture, never competes
     with the copy or the caution-yellow CTA. */
  background:
    radial-gradient(1100px 520px at 78% -10%,rgba(44,125,93,.45),transparent 60%),
    linear-gradient(172deg,rgba(15,61,46,.8) 0%,rgba(10,44,33,.85) 55%,rgba(8,37,28,.92) 100%),
    url("../assets/hero-car.jpg") center 62%/cover no-repeat var(--green-900);
  padding:clamp(3.5rem,3rem + 3vw,6rem) 0 clamp(3.4rem,3rem + 2vw,5rem);
}
.hero::before{ /* extra legibility scrim behind the headline column */
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(10,44,33,.55) 0%,transparent 55%);
}
.hero-grid{
  position:relative;display:grid;grid-template-columns:1.08fr .92fr;
  gap:clamp(2.4rem,4vw,4rem);align-items:start;
}
.hero .eyebrow{margin-bottom:22px;background:rgba(8,37,28,.4);}
.hero h1{font-size:var(--fs-hero);max-width:12ch;}
.hero h1 .accent{color:var(--caution);position:relative;display:inline-block;}
.hero h1 .accent::after{
  content:"";position:absolute;left:0;right:0;bottom:.02em;height:.14em;
  background:repeating-linear-gradient(90deg,var(--caution) 0 14px,transparent 14px 24px);
  opacity:.55;
}
.hero-sub{font-size:var(--fs-md);color:var(--paper-dim);max-width:47ch;margin:22px 0 28px;line-height:1.7;}
.trust-row{display:flex;flex-wrap:wrap;gap:12px;}
.trust-item{
  display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--paper-dim);
  font-family:var(--font-mono);background:rgba(8,37,28,.45);
  border:1px solid rgba(247,245,236,.14);border-radius:999px;padding:8px 14px;
}
.trust-item svg{width:14px;height:14px;color:var(--caution);flex-shrink:0;}
.hero-note{margin-top:28px;font-size:.78rem;color:rgba(247,245,236,.6);max-width:52ch;line-height:1.7;}
.hero-note strong{color:rgba(247,245,236,.85);}

/* mile-marker strip under hero copy */
.marker-row{display:flex;gap:26px;margin-top:34px;flex-wrap:wrap;}
.marker{
  border-left:3px solid var(--caution);padding-left:14px;
}
.marker .val{font-family:var(--font-display);font-weight:900;font-size:1.5rem;line-height:1;color:var(--paper);}
.marker .cap{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(247,245,236,.6);margin-top:5px;}

/* ---------- Quote card (license plate) ---------- */
.quote-card{
  position:relative;background:var(--paper);color:var(--ink);
  border-radius:var(--radius-lg);border:3px solid var(--asphalt-900);
  padding:clamp(1.4rem,2vw,1.8rem);box-shadow:var(--shadow-lg);
}
.quote-card::before{
  content:"";position:absolute;inset:9px;border:2px dashed rgba(15,61,46,.3);
  border-radius:10px;pointer-events:none;
}
.quote-card::after{ /* plate bolts */
  content:"";position:absolute;top:16px;left:50%;transform:translateX(-50%);
  width:110px;height:8px;pointer-events:none;
  background:radial-gradient(circle 4px at 4px 4px,rgba(15,61,46,.35) 98%,transparent),
             radial-gradient(circle 4px at 106px 4px,rgba(15,61,46,.35) 98%,transparent);
}
.quote-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 2px;}
.quote-card-head h2{font-size:1.32rem;color:var(--green-900);}
.quote-card-tag{
  font-family:var(--font-mono);font-size:.66rem;background:var(--asphalt-900);color:var(--caution);
  padding:5px 9px;border-radius:4px;letter-spacing:.08em;flex-shrink:0;
}
.quote-card .sub{font-size:.83rem;color:var(--muted);margin:6px 0 20px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.field{display:flex;flex-direction:column;gap:6px;min-width:0;}
.field label{
  font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--green-900);
}
.field input,.field select{
  font-family:var(--font-mono);font-size:.95rem;padding:12px 13px;border-radius:6px;
  border:1.5px solid rgba(15,61,46,.28);background:#fff;color:var(--ink);width:100%;
  transition:border-color .15s,box-shadow .15s;appearance:none;
}
.field select{
  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' fill='none' stroke='%230f3d2e' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;padding-right:34px;
}
.field input::placeholder{color:#a9ada4;font-family:var(--font-body);}
.field input:focus,.field select:focus{border-color:var(--green-600);box-shadow:0 0 0 3px rgba(31,99,73,.15);outline:none;}
.field input.invalid{border-color:var(--stop-red);}
.field .err{display:none;font-size:.7rem;color:var(--stop-red);font-weight:600;}
.field input.invalid ~ .err{display:block;}
.consent-box{
  display:flex;gap:11px;align-items:flex-start;background:rgba(15,61,46,.05);
  border:1px solid rgba(15,61,46,.18);border-radius:10px;padding:13px 15px;margin:16px 0;
}
.consent-box input[type="checkbox"]{margin-top:3px;width:17px;height:17px;flex-shrink:0;accent-color:var(--green-800);cursor:pointer;}
.consent-box label{font-size:.76rem;line-height:1.6;color:var(--ink-soft);cursor:pointer;}
.consent-box a{color:var(--green-800);font-weight:600;text-decoration:underline;}
.quote-card .btn-caution{width:100%;padding:16px;font-size:1rem;}
.quote-card .btn-caution:disabled{opacity:.7;cursor:wait;transform:none;box-shadow:var(--shadow-btn);}
.form-error{
  background:rgba(200,16,46,.07);border:1.5px solid rgba(200,16,46,.4);border-radius:8px;
  padding:12px 15px;margin-bottom:14px;font-size:.8rem;line-height:1.6;color:#8f0c22;font-weight:600;
}
.form-error a{color:inherit;}
.quote-card .fineprint{
  display:block;text-align:center;margin-top:12px;font-size:.68rem;color:var(--muted);line-height:1.55;
}
.quote-card .fineprint a{color:var(--green-800);}
.success-msg{display:none;text-align:center;padding:26px 8px;}
.success-msg.show{display:block;animation:pop-in .45s var(--ease-out);}
@keyframes pop-in{from{opacity:0;transform:scale(.92);}to{opacity:1;transform:none;}}
.success-msg .check{
  width:58px;height:58px;border-radius:50%;background:var(--green-800);color:var(--caution);
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;
}
.success-msg h3{color:var(--green-900);font-size:1.2rem;margin-bottom:10px;}
.success-msg p{font-size:.86rem;color:var(--muted);line-height:1.65;max-width:36ch;margin-inline:auto;}

/* ---------- Stats ---------- */
.stats-section{padding:var(--space-section) 0;}
.stats-grid{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:22px;align-items:stretch;}
.stat-card{
  background:#fff;border:1.5px solid var(--line-light);border-radius:var(--radius-lg);
  padding:32px 26px;display:flex;flex-direction:column;justify-content:center;text-align:center;
  transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out);
}
.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.stat-card .num{
  font-family:var(--font-display);font-weight:900;font-size:clamp(2.4rem,4vw,3rem);
  color:var(--green-900);line-height:1;font-variant-numeric:tabular-nums;
}
.stat-card .label{font-size:.84rem;color:var(--muted);margin-top:10px;font-weight:600;}
.gauge-wrap{position:relative;max-width:270px;margin:0 auto;}
.gauge-arc{transition:stroke-dashoffset 1.4s var(--ease-out);}
.gauge-center{position:absolute;left:50%;top:66%;transform:translate(-50%,-50%);text-align:center;}
.gauge-center .amount{font-family:var(--font-display);font-weight:900;font-size:2.1rem;color:var(--asphalt-900);font-variant-numeric:tabular-nums;}
.gauge-center .amount-label{font-size:.64rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
.gauge-ticks{display:flex;justify-content:space-between;max-width:270px;margin:4px auto 0;font-family:var(--font-mono);font-size:.68rem;color:var(--muted);}
.disclaimer-star{font-size:.7rem;color:var(--muted);margin:20px auto 0;line-height:1.65;text-align:center;max-width:720px;}

/* ---------- How it works ---------- */
.howto-section{background:var(--asphalt-900);padding:var(--space-section) 0;color:var(--paper);position:relative;overflow:hidden;}
.howto-section .section-head h2{color:var(--paper);}
.howto-section .section-head p{color:rgba(247,245,236,.55);}
.exit-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;}
.exit-row::before{ /* connecting dashed route */
  content:"";position:absolute;top:44px;left:8%;right:8%;height:3px;z-index:0;
  background-image:repeating-linear-gradient(90deg,rgba(247,245,236,.28) 0 18px,transparent 18px 32px);
}
.exit-card{
  position:relative;z-index:1;background:var(--asphalt-800);border-radius:var(--radius-lg);
  padding:30px 26px;border:1px solid rgba(247,245,236,.08);
  transition:transform .25s var(--ease-out),border-color .25s;
}
.exit-card:hover{transform:translateY(-5px);border-color:rgba(255,198,39,.4);}
.exit-sign{
  display:inline-flex;align-items:center;gap:9px;background:var(--green-800);
  border:2px solid var(--paper);border-radius:7px;padding:7px 14px;
  font-family:var(--font-display);font-weight:800;font-size:.8rem;letter-spacing:.05em;
  margin-bottom:20px;box-shadow:0 4px 12px rgba(0,0,0,.35);
}
.exit-sign .num{color:var(--caution);font-size:1.05rem;}
.exit-card h3{font-size:1.15rem;text-transform:none;font-weight:700;letter-spacing:0;color:var(--paper);margin-bottom:10px;}
.exit-card p{font-size:.88rem;color:rgba(247,245,236,.6);line-height:1.65;}

/* ---------- Why us ---------- */
.why-section{padding:var(--space-section) 0;}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.why-card{
  border:1.5px solid var(--line-light);border-radius:var(--radius-lg);
  padding:28px 22px;background:#fff;
  transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),border-color .25s;
}
.why-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(15,61,46,.35);}
.why-card .icon{
  width:46px;height:46px;border-radius:10px;background:var(--green-800);color:var(--caution);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.why-card .icon svg{width:23px;height:23px;}
.why-card h3{font-size:1rem;text-transform:none;letter-spacing:0;font-weight:700;color:var(--asphalt-900);margin-bottom:9px;}
.why-card p{font-size:.85rem;color:var(--muted);line-height:1.65;}

/* ---------- Testimonials ---------- */
.reviews-section{background:var(--green-900);color:var(--paper);padding:var(--space-section) 0;position:relative;overflow:hidden;}
.reviews-section::before{
  content:"";position:absolute;inset:0;opacity:.04;pointer-events:none;
  background:repeating-linear-gradient(-55deg,transparent 0 36px,var(--paper) 36px 38px);
}
.reviews-section .section-head h2{color:var(--paper);}
.reviews-section .section-head p{color:rgba(247,245,236,.6);}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;}
.review-card{
  background:rgba(8,37,28,.55);border:1px solid rgba(247,245,236,.12);
  border-radius:var(--radius-lg);padding:28px 26px;display:flex;flex-direction:column;gap:16px;
}
.review-stars{display:flex;gap:3px;color:var(--caution);}
.review-stars svg{width:15px;height:15px;}
.review-card blockquote{margin:0;font-size:.92rem;line-height:1.7;color:var(--paper-dim);flex:1;}
.review-meta{display:flex;align-items:center;gap:12px;border-top:1px dashed rgba(247,245,236,.18);padding-top:16px;}
.review-plate{
  font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.1em;
  background:var(--paper);color:var(--green-900);border-radius:4px;padding:5px 9px;
  border:1.5px solid var(--asphalt-800);
}
.review-meta .who{font-size:.78rem;color:rgba(247,245,236,.65);}
.review-note{margin-top:22px;text-align:center;font-size:.7rem;color:rgba(247,245,236,.45);}

/* ---------- FAQ ---------- */
.faq-section{padding:var(--space-section) 0;}
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
details.faq-item{
  background:#fff;border:1.5px solid var(--line-light);border-radius:12px;
  padding:2px 22px;transition:border-color .2s;
}
details.faq-item[open]{border-color:rgba(15,61,46,.4);}
details.faq-item summary{
  padding:18px 0;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:.98rem;
  color:var(--asphalt-900);list-style:none;display:flex;justify-content:space-between;
  align-items:center;gap:14px;text-transform:none;letter-spacing:0;
}
details.faq-item summary::-webkit-details-marker{display:none;}
details.faq-item summary .indicator{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(15,61,46,.35);
  display:flex;align-items:center;justify-content:center;color:var(--green-900);
  font-family:var(--font-body);font-weight:400;font-size:1.15rem;line-height:1;
  transition:transform .25s var(--ease-out),background .2s,color .2s;
}
details.faq-item[open] summary .indicator{transform:rotate(45deg);background:var(--green-800);color:var(--paper);border-color:var(--green-800);}
details.faq-item p{font-size:.88rem;color:var(--muted);line-height:1.75;padding:0 0 20px;}

/* ---------- Disclosure ---------- */
.disclosure-section{background:#fff;border-block:1px solid var(--line-light);padding:clamp(2.6rem,4vw,3.6rem) 0;}
.disclosure-box{
  background:var(--paper);border:1.5px dashed rgba(200,16,46,.45);border-radius:var(--radius-lg);
  padding:clamp(1.5rem,3vw,2rem);display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:flex-start;
}
.disclosure-box .icon{
  width:46px;height:46px;border-radius:10px;background:var(--stop-red);color:#fff;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.disclosure-box h3{font-size:1.05rem;text-transform:none;letter-spacing:0;color:var(--asphalt-900);margin-bottom:9px;}
.disclosure-box p{font-size:.85rem;color:var(--muted);line-height:1.7;}
.disclosure-box a.inline-link{color:var(--green-800);font-weight:600;text-decoration:underline;}

/* ---------- Legal center ---------- */
.legal-section{background:var(--asphalt-900);padding:var(--space-section) 0 calc(var(--space-section) + 1rem);color:var(--paper);}
.legal-section .section-head h2{color:var(--paper);}
.legal-section .section-head p{color:rgba(247,245,236,.55);}
.legal-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:30px;}
.legal-tab-btn{
  background:var(--asphalt-800);color:var(--paper-dim);border:1px solid rgba(247,245,236,.14);
  padding:11px 18px;border-radius:999px;font-family:var(--font-mono);font-size:.76rem;cursor:pointer;
  transition:background .15s,color .15s,border-color .15s;
}
.legal-tab-btn:hover{border-color:rgba(255,198,39,.5);color:var(--caution);}
.legal-tab-btn.active{background:var(--caution);color:var(--asphalt-950);border-color:var(--caution);font-weight:600;}
.legal-panel{
  display:none;background:var(--paper);color:var(--ink);border-radius:var(--radius-lg);
  padding:clamp(1.6rem,3.4vw,2.6rem);max-height:560px;overflow-y:auto;box-shadow:var(--shadow-lg);
}
.legal-panel.active{display:block;animation:panel-in .35s var(--ease-out);}
@keyframes panel-in{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.legal-panel h3{font-size:1.3rem;color:var(--green-900);text-transform:none;letter-spacing:0;margin-bottom:6px;}
.legal-panel .effective{font-family:var(--font-mono);font-size:.7rem;color:var(--muted);margin-bottom:22px;display:block;}
.legal-panel h4{font-size:.92rem;text-transform:none;letter-spacing:0;color:var(--asphalt-900);margin:24px 0 8px;font-weight:800;font-family:var(--font-display);}
.legal-panel p,.legal-panel li{font-size:.86rem;color:var(--ink-soft);line-height:1.75;}
.legal-panel p{margin-bottom:10px;}
.legal-panel ul{padding-left:20px;margin:8px 0;}
.legal-panel li{margin-bottom:6px;}
.legal-panel a{color:var(--green-800);font-weight:600;}
.ccpa-form{margin-top:18px;border-top:1px solid var(--line-light);padding-top:22px;}
.toggle-row{
  display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;
  border:1px solid var(--line-light);border-radius:10px;padding:15px 17px;margin:18px 0;
}
.switch{position:relative;width:48px;height:27px;flex-shrink:0;}
.switch input{opacity:0;width:0;height:0;}
.slider-el{position:absolute;inset:0;background:#c7ccc4;border-radius:999px;transition:.2s;cursor:pointer;}
.slider-el::before{content:"";position:absolute;width:21px;height:21px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.25);}
.switch input:checked + .slider-el{background:var(--green-800);}
.switch input:checked + .slider-el::before{transform:translateX(21px);}
.ccpa-confirm{
  display:none;background:rgba(15,61,46,.08);border:1px solid rgba(15,61,46,.25);
  border-radius:8px;padding:13px 16px;margin-top:14px;font-size:.82rem;color:var(--green-900);font-weight:600;
}
.ccpa-confirm.show{display:block;}

/* ---------- Footer ---------- */
.site-footer{background:var(--green-950);color:var(--paper-dim);padding:clamp(3rem,5vw,4.2rem) 0 26px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:38px;margin-bottom:38px;}
.footer-brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--paper);margin-bottom:18px;}
.footer-brand img{height:52px;width:auto;}
.footer-brand .brand-name{font-size:1.05rem;}
.footer-about p{font-size:.82rem;line-height:1.75;color:rgba(247,245,236,.7);max-width:44ch;}
.footer-grid h4{
  font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--caution);
  margin:0 0 16px;font-family:var(--font-display);font-weight:700;
}
.footer-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px;}
.footer-grid ul a{font-size:.85rem;color:rgba(247,245,236,.75);text-decoration:none;transition:color .15s;}
.footer-grid ul a:hover{color:var(--caution);}
.footer-bottom{
  border-top:1px solid rgba(247,245,236,.14);padding-top:24px;
  display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:flex-start;
}
.footer-bottom p{font-size:.7rem;color:rgba(247,245,236,.5);line-height:1.7;max-width:900px;}
.back-to-top{
  flex-shrink:0;display:inline-flex;align-items:center;gap:7px;background:none;border:1px solid rgba(247,245,236,.25);
  color:rgba(247,245,236,.75);border-radius:999px;padding:9px 16px;cursor:pointer;
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
  transition:color .15s,border-color .15s;
}
.back-to-top:hover{color:var(--caution);border-color:var(--caution);}

/* ---------- Mobile sticky CTA ---------- */
.mobile-cta{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:70;background:var(--asphalt-950);
  border-top:3px solid var(--caution);padding:10px 14px;gap:10px;
  padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));
}
.mobile-cta a{flex:1;text-align:center;}

/* ---------- Responsive ---------- */
@media (max-width:1040px){
  .main-nav{display:none;}
}
@media (max-width:980px){
  html{scroll-padding-top:84px;}
  .hero-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .stats-grid .gauge-card{grid-column:1 / -1;}
  .exit-row{grid-template-columns:1fr;gap:18px;}
  .exit-row::before{left:44px;right:auto;top:8%;bottom:8%;width:3px;height:auto;
    background-image:repeating-linear-gradient(180deg,rgba(247,245,236,.28) 0 18px,transparent 18px 32px);}
  .why-grid{grid-template-columns:1fr 1fr;}
  .review-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:30px;}
  .legal-panel{max-height:460px;}
  .nav-toggle{display:flex;}
}
@media (max-width:600px){
  .why-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:1fr;}
  .field-row{grid-template-columns:1fr;}
  .header-actions .phone-link span{display:none;}
  .header-actions .btn-outline{display:none;}
  .brand-tag{display:none;}
  .brand img{height:38px;}
  .brand-name{font-size:.94rem;}
  .mobile-cta{display:flex;}
  body{padding-bottom:76px;}
  .marker-row{gap:18px;}
  .disclosure-box{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .reveal,.reveal-stagger > *{opacity:1;transform:none;}
}

/* ---------- Print ---------- */
@media print{
  .site-header,.mobile-cta,.lane-divider,.back-to-top{display:none;}
  body{background:#fff;color:#000;}
}
