/* ============================================================
   AudioDriveHub — Design System + Animation Layer
   ============================================================ */
:root{
  --navy-900:#0B1424;--navy-800:#14233A;--navy-700:#1E2F4D;
  --blue-600:#2476D2;--blue-500:#368BFF;--blue-400:#5EA5FF;--blue-100:#E0EEFF;
  --white:#FFFFFF;--bg-light:#F4F7FB;--text-body:#526176;--border:#E2E8F0;
  --grad:linear-gradient(135deg,#1769D2 0%,#40A0FF 100%);
  --grad-soft:linear-gradient(135deg,rgba(23,105,210,.08) 0%,rgba(64,160,255,.08) 100%);
  --radius:16px;--radius-lg:24px;--shadow:0 10px 30px rgba(11,20,36,.08);
  --shadow-lg:0 20px 50px rgba(11,20,36,.14);
  --font-body:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-head:'Manrope','Inter',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--text-body);background:var(--white);overflow-x:hidden;}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--navy-900);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em;}
h1{font-size:clamp(2.1rem,4.4vw,3.6rem);font-weight:800;}
h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800;}
h3{font-size:1.2rem;font-weight:700;}
h4{font-size:1rem;font-weight:700;}
p{margin:0 0 1em;}
a{color:var(--blue-600);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}
.container{width:100%;max-width:1180px;margin-inline:auto;padding-inline:20px;}
.container.narrow{max-width:860px;}
.center{text-align:center;}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-weight:600;
  font-size:1rem;padding:.9rem 1.5rem;border-radius:999px;border:2px solid transparent;
  cursor:pointer;transition:.2s ease;min-height:48px;text-align:center;line-height:1.1;position:relative;overflow:hidden;}
.btn:hover{text-decoration:none;transform:translateY(-1px);}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 22px rgba(36,118,210,.35);}
.btn-primary:hover{box-shadow:0 12px 30px rgba(36,118,210,.5);}
.btn-outline{background:transparent;color:var(--navy-900);border-color:var(--navy-900);}
.btn-outline:hover{background:var(--navy-900);color:#fff;}
.section-dark .btn-outline{color:#fff;border-color:rgba(255,255,255,.7);}
.section-dark .btn-outline:hover{background:#fff;color:var(--navy-900);}
.btn-call{background:var(--grad);color:#fff;box-shadow:0 8px 22px rgba(36,118,210,.35);}
.btn-call::after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;
  background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .5s,height .5s;}
.btn-call:hover::after{width:300px;height:300px;}
.btn-call:hover{text-decoration:none;box-shadow:0 12px 30px rgba(36,118,210,.5);}
.btn.full{width:100%;}

/* Scroll progress */
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--grad);width:0%;z-index:999;transition:width .1s ease-out;}

/* Reveal */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.reveal-left.is-visible{opacity:1;transform:translateX(0);}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.reveal-right.is-visible{opacity:1;transform:translateX(0);}
.stagger > *{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);}
.stagger.is-visible > *{opacity:1;transform:translateY(0);}
.stagger.is-visible > *:nth-child(1){transition-delay:.05s;}
.stagger.is-visible > *:nth-child(2){transition-delay:.15s;}
.stagger.is-visible > *:nth-child(3){transition-delay:.25s;}
.stagger.is-visible > *:nth-child(4){transition-delay:.35s;}
.stagger.is-visible > *:nth-child(5){transition-delay:.45s;}
.stagger.is-visible > *:nth-child(6){transition-delay:.55s;}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}
  .reveal,.reveal-left,.reveal-right,.stagger > *{opacity:1 !important;transform:none !important;}
}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(11,20,36,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06);}
.header-inner{display:flex;align-items:center;gap:1.5rem;padding-block:.9rem;}
.logo img{height:36px;width:auto;}
.site-nav{margin-left:auto;}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem;}
.site-nav a{display:inline-block;padding:.55rem .8rem;color:#cfd9e8;font-weight:500;font-size:.95rem;border-radius:8px;position:relative;transition:.2s;}
.site-nav a::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.35rem;height:2px;background:var(--blue-500);transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.site-nav a:hover::after,.site-nav a.is-active::after{transform:scaleX(1);}
.site-nav a:hover,.site-nav a.is-active{color:#fff;background:rgba(255,255,255,.05);text-decoration:none;}
.btn-header-call{padding:.7rem 1.1rem;font-size:.95rem;color:#fff;}
.nav-toggle{display:none;background:transparent;border:0;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;}
.nav-toggle span{display:block;height:2px;background:#fff;border-radius:2px;transition:.2s;width:24px;}
.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);}

/* Hero */
.hero{background:radial-gradient(1200px 500px at 80% -10%,rgba(54,139,255,.28),transparent 60%),var(--navy-900);color:#e5eefb;padding:4.5rem 0 5.5rem;position:relative;overflow:hidden;}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;pointer-events:none;z-index:0;}
.hero::before{width:400px;height:400px;background:#368BFF;top:-150px;right:10%;animation:orbFloat1 18s ease-in-out infinite;}
.hero::after{width:300px;height:300px;background:#1769D2;bottom:-100px;left:5%;animation:orbFloat2 22s ease-in-out infinite;}
@keyframes orbFloat1{0%,100%{transform:translate(0,0);}50%{transform:translate(-40px,40px);}}
@keyframes orbFloat2{0%,100%{transform:translate(0,0);}50%{transform:translate(50px,-30px);}}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:center;position:relative;z-index:1;}
.eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.14em;font-weight:600;color:#7db4ff;text-transform:uppercase;background:rgba(54,139,255,.12);padding:.45rem .85rem;border-radius:999px;border:1px solid rgba(54,139,255,.3);margin-bottom:1.25rem;}
.eyebrow-dark{color:var(--blue-600);background:rgba(36,118,210,.1);border-color:rgba(36,118,210,.25);}
.hero h1{color:#fff;margin-bottom:1rem;}
.hero .lead{font-size:1.08rem;color:#c6d3e6;max-width:56ch;}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin:1.75rem 0 1.5rem;}
.hero-ctas.center{justify-content:center;}
.trust-points{list-style:none;padding:0;margin:0 0 2rem;display:flex;gap:1.5rem;flex-wrap:wrap;}
.trust-points li{position:relative;padding-left:1.6rem;font-size:.92rem;color:#cfd9e8;}
.trust-points li::before{content:"✓";position:absolute;left:0;top:-1px;color:#5ea5ff;font-weight:700;}
.phone-display{display:flex;flex-direction:column;gap:.15rem;margin-bottom:1rem;border-left:3px solid #368BFF;padding-left:1rem;}
.phone-display span{font-size:.85rem;color:#9db4d1;letter-spacing:.02em;}
.phone-display a{font-family:var(--font-head);font-size:1.5rem;font-weight:800;color:#fff;}
.phone-display a:hover{color:#9dc7ff;text-decoration:none;}
.disclosure-micro{font-size:.78rem;color:#7e94b2;margin:0;}
.hero-image{position:relative;}
.hero-image img{border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;height:auto;object-fit:cover;aspect-ratio:16/9;animation:heroFloat 6s ease-in-out infinite;}
@keyframes heroFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.hero-copy > *{opacity:0;transform:translateY(20px);animation:heroEnter .8s cubic-bezier(.16,1,.3,1) forwards;}
.hero-copy > *:nth-child(1){animation-delay:.1s;}
.hero-copy > *:nth-child(2){animation-delay:.25s;}
.hero-copy > *:nth-child(3){animation-delay:.4s;}
.hero-copy > *:nth-child(4){animation-delay:.55s;}
.hero-copy > *:nth-child(5){animation-delay:.7s;}
.hero-copy > *:nth-child(6){animation-delay:.85s;}
.hero-copy > *:nth-child(7){animation-delay:1s;}
@keyframes heroEnter{to{opacity:1;transform:translateY(0);}}
.hero-image{opacity:0;transform:scale(.95);animation:heroImg .9s cubic-bezier(.16,1,.3,1) .3s forwards;}
@keyframes heroImg{to{opacity:1;transform:scale(1);}}

/* Trust bar */
.trust-bar{background:var(--navy-800);border-top:1px solid rgba(255,255,255,.06);color:#fff;padding:1.25rem 0;}
.trust-bar-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.trust-item{display:flex;flex-direction:column;gap:.15rem;padding-left:1rem;border-left:2px solid rgba(54,139,255,.6);transition:.3s;}
.trust-item:hover{border-left-color:#5ea5ff;padding-left:1.25rem;}
.trust-item strong{font-family:var(--font-head);color:#fff;font-size:1rem;}
.trust-item span{font-size:.85rem;color:#9db4d1;}

/* Sections */
.section{padding:5rem 0;}
.section-light{background:var(--bg-light);}
.section-white{background:var(--white);}
.section-grey{background:#EEF3FA;}
.section-dark{background:var(--navy-900);color:#c6d3e6;}
.section-dark h2,.section-dark h3{color:#fff;}
.section-head{max-width:760px;margin:0 auto 3rem;text-align:center;}
.section-head h2{margin-bottom:.75rem;}
.section-lead-dark{color:#9db4d1;}
.disclosure{font-size:.9rem;color:#6b7c93;background:#EEF3FA;border-left:3px solid var(--blue-600);padding:.85rem 1rem;border-radius:6px;}

/* Card grid */
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.benefit-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow);transition:.3s ease;}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(36,118,210,.3);}
.benefit-card h3{margin-top:0;}
.icon-circle{width:48px;height:48px;border-radius:50%;background:rgba(36,118,210,.1);color:var(--blue-600);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:.3s;}
.card:hover .icon-circle{background:var(--grad);color:#fff;transform:rotate(-8deg) scale(1.1);}

/* Split */
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.split-grid.reverse .split-image{order:2;}
.split-image img{border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;height:auto;object-fit:cover;aspect-ratio:3/2;transition:transform .6s ease;}
.split-image:hover img{transform:scale(1.02);}
.check-list{list-style:none;padding:0;margin:0 0 1.5rem;}
.check-list li{position:relative;padding-left:1.7rem;margin-bottom:.6rem;color:var(--text-body);}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--blue-600);font-weight:700;}

/* Plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.plan-card{position:relative;display:flex;flex-direction:column;transition:.3s ease;}
.plan-card:hover{transform:translateY(-6px);}
.plan-featured{border:2px solid var(--blue-500);box-shadow:0 20px 50px rgba(36,118,210,.18);animation:featuredPulse 3s ease-in-out infinite;}
@keyframes featuredPulse{0%,100%{box-shadow:0 20px 50px rgba(36,118,210,.18);}50%{box-shadow:0 25px 60px rgba(36,118,210,.32);}}
.plan-badge{position:absolute;top:-12px;right:20px;background:var(--grad);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .8rem;border-radius:999px;}
.plan-card h3{margin-bottom:.5rem;}
.plan-desc{font-size:.92rem;}
.plan-price{font-family:var(--font-head);font-size:2rem;font-weight:800;color:var(--navy-900);margin:.5rem 0 .25rem;}
.plan-duration{font-size:.9rem;color:var(--text-body);margin-bottom:1rem;}
.plan-features{list-style:none;padding:0;margin:0 0 1.5rem;border-top:1px solid var(--border);padding-top:1rem;}
.plan-features li{position:relative;padding-left:1.5rem;font-size:.92rem;margin-bottom:.5rem;}
.plan-features li::before{content:"•";position:absolute;left:0;color:var(--blue-600);font-weight:700;}
.plan-disclosure{font-size:.82rem;color:#6b7c93;text-align:center;margin-top:1.5rem;}
/* ============================================================
   Plan card — icon + tier label refinements
   ============================================================ */
.plan-icon{
  width:64px;
  height:64px;
  border-radius:16px;
  background:var(--grad-soft);
  color:var(--blue-600);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1.25rem;
  transition:.3s ease;
}
.plan-card:hover .plan-icon{
  background:var(--grad);
  color:#fff;
  transform:scale(1.08) rotate(-5deg);
}
.plan-featured .plan-icon{
  background:var(--grad);
  color:#fff;
}

/* Section eyebrow — reuse existing .eyebrow-dark style */
.section-eyebrow{
  display:inline-block;
  font-size:.78rem;
  letter-spacing:.14em;
  font-weight:600;
  color:var(--blue-600);
  text-transform:uppercase;
  background:rgba(36,118,210,.1);
  padding:.45rem .85rem;
  border-radius:999px;
  border:1px solid rgba(36,118,210,.25);
  margin-bottom:1.25rem;
}
/* Steps */
.steps{list-style:none;padding:0;margin:0 0 2.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.step{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:1.75rem;position:relative;transition:.3s;overflow:hidden;}
.step::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(54,139,255,.12),transparent);opacity:0;transition:.4s;}
.step:hover{transform:translateY(-4px);border-color:rgba(54,139,255,.4);}
.step:hover::before{opacity:1;}
.step-num{font-family:var(--font-head);font-size:2rem;font-weight:800;color:#5ea5ff;display:block;margin-bottom:.75rem;transition:.3s;}
.step:hover .step-num{transform:scale(1.15);color:#9dc7ff;}
.step h3{font-size:1.1rem;margin-bottom:.5rem;position:relative;z-index:1;}
.step p{font-size:.92rem;margin:0;color:#a8bcd6;position:relative;z-index:1;}

/* Image banner */
.image-banner{background-size:cover;background-position:center;position:relative;background-image:linear-gradient(120deg,#14233A 0%,#2476D2 100%);}
.image-banner-overlay{background:linear-gradient(90deg,rgba(11,20,36,.92) 0%,rgba(11,20,36,.7) 60%,rgba(11,20,36,.4) 100%);color:#fff;padding:6rem 0;}
.image-banner h2{color:#fff;font-size:clamp(1.6rem,3vw,2.4rem);max-width:600px;}
.image-banner p{color:#cfd9e8;max-width:520px;font-size:1.05rem;margin-bottom:1.5rem;}

/* Use cases */
.use-case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.use-case h3{font-size:1.05rem;}

/* Eligibility */
.eligibility-list{list-style:none;padding:0;margin:0 0 1.75rem;}
.eligibility-list li{position:relative;padding-left:1.7rem;margin-bottom:.6rem;}
.eligibility-list li::before{content:"→";position:absolute;left:0;color:var(--blue-600);font-weight:700;transition:.3s;}
.eligibility-list li:hover::before{transform:translateX(4px);}

/* Q grid */
.q-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:2rem;text-align:left;}
.q-card h4{font-size:1rem;margin-bottom:.4rem;color:var(--navy-900);}
.q-card p{font-size:.92rem;margin:0;}

/* Accordion */
.accordion{border-top:1px solid var(--border);}
.accordion-item{border-bottom:1px solid var(--border);}
.accordion-trigger{width:100%;background:transparent;border:0;text-align:left;padding:1.15rem 2.5rem 1.15rem 0;font-family:var(--font-head);font-weight:700;font-size:1.02rem;color:var(--navy-900);cursor:pointer;position:relative;}
.accordion-trigger::after{content:"+";position:absolute;right:.5rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--blue-600);transition:.2s;}
.accordion-trigger[aria-expanded="true"]::after{content:"−";}
.accordion-panel{padding:0 0 1.25rem;overflow:hidden;}
.accordion-panel p{margin:0;font-size:.95rem;}

/* Final CTA + waveform */
.cta-final{position:relative;overflow:hidden;}
.cta-final::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 50% 0%,rgba(54,139,255,.25),transparent 70%);pointer-events:none;}
.waveform{position:absolute;bottom:0;left:0;right:0;height:80px;display:flex;align-items:flex-end;justify-content:center;gap:4px;opacity:.4;padding:0 1rem;pointer-events:none;}
.waveform span{display:block;width:3px;background:linear-gradient(180deg,transparent,#368BFF);border-radius:2px;animation:wave 1.6s ease-in-out infinite;}
.waveform span:nth-child(1){animation-delay:0s;height:20%;}
.waveform span:nth-child(2){animation-delay:.1s;height:40%;}
.waveform span:nth-child(3){animation-delay:.2s;height:60%;}
.waveform span:nth-child(4){animation-delay:.3s;height:80%;}
.waveform span:nth-child(5){animation-delay:.4s;height:100%;}
.waveform span:nth-child(6){animation-delay:.5s;height:80%;}
.waveform span:nth-child(7){animation-delay:.6s;height:60%;}
.waveform span:nth-child(8){animation-delay:.7s;height:40%;}
.waveform span:nth-child(9){animation-delay:.8s;height:20%;}
.waveform span:nth-child(10){animation-delay:.9s;height:40%;}
.waveform span:nth-child(11){animation-delay:1s;height:60%;}
.waveform span:nth-child(12){animation-delay:1.1s;height:80%;}
.waveform span:nth-child(13){animation-delay:1.2s;height:100%;}
.waveform span:nth-child(14){animation-delay:1.3s;height:80%;}
.waveform span:nth-child(15){animation-delay:1.4s;height:60%;}
.waveform span:nth-child(16){animation-delay:1.5s;height:40%;}
.waveform span:nth-child(17){animation-delay:1.6s;height:20%;}
@keyframes wave{0%,100%{transform:scaleY(.3);}50%{transform:scaleY(1);}}
.cta-final h2{color:#fff;font-size:clamp(1.7rem,3vw,2.4rem);position:relative;z-index:1;}
.cta-final p{position:relative;z-index:1;}
.phone-big{font-family:var(--font-head);font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:800;color:#fff;margin-top:1rem;position:relative;z-index:1;}

/* Footer */
.site-footer{background:var(--navy-900);color:#a8bcd6;padding:4rem 0 2rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem;}
.footer-col h4{color:#fff;font-size:.95rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1rem;}
.footer-col ul{list-style:none;padding:0;margin:0;}
.footer-col ul li{margin-bottom:.5rem;font-size:.92rem;}
.footer-col ul li a{color:#a8bcd6;transition:.2s;}
.footer-col ul li a:hover{color:#fff;text-decoration:none;padding-left:4px;}
.footer-brand p{font-size:.9rem;margin-bottom:.5rem;}
.footer-logo{height:40px;width:auto;margin-bottom:1rem;}
.footer-disclosure{border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;font-size:.82rem;color:#7e94b2;}
.footer-disclosure p{margin-bottom:.5rem;}

/* Sticky mobile */
.sticky-mobile-call{display:none;position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:200;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.35);}

/* Breadcrumbs */
.breadcrumbs{background:#EEF3FA;padding:.75rem 0;font-size:.85rem;}
.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;gap:.5rem;flex-wrap:wrap;}
.breadcrumbs li::after{content:"›";margin-left:.5rem;color:#9db4d1;}
.breadcrumbs li:last-child::after{content:"";}
.breadcrumbs a{color:var(--blue-600);}

/* ============================================================
   Benefits section
   ============================================================ */
.benefits-section{background:linear-gradient(180deg,#fff 0%,var(--bg-light) 100%);position:relative;overflow:hidden;}
.benefits-hero{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin-bottom:3.5rem;}
.benefits-hero-copy h2{margin-bottom:1rem;}
.benefits-hero-copy p{font-size:1.05rem;margin-bottom:1.5rem;}
.benefit-stats{display:flex;gap:2rem;flex-wrap:wrap;}
.benefit-stat{display:flex;flex-direction:column;}
.benefit-stat strong{font-family:var(--font-head);font-size:2rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1;}
.benefit-stat span{font-size:.82rem;color:var(--text-body);margin-top:.25rem;}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.benefit-tile{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem 1.75rem;transition:.3s ease;position:relative;overflow:hidden;}
.benefit-tile::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.benefit-tile:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:transparent;}
.benefit-tile:hover::before{transform:scaleX(1);}
.benefit-tile-icon{width:56px;height:56px;border-radius:14px;background:var(--grad-soft);color:var(--blue-600);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:.3s;}
.benefit-tile:hover .benefit-tile-icon{background:var(--grad);color:#fff;transform:scale(1.08) rotate(-5deg);}
.benefit-tile h3{font-size:1.1rem;margin-bottom:.6rem;}
.benefit-tile p{font-size:.92rem;margin:0;color:var(--text-body);}

/* ============================================================
   Playlist section
   ============================================================ */
.playlist-section{background:var(--navy-900);color:#e5eefb;position:relative;overflow:hidden;}
.playlist-section .section-head h2{color:#fff;}
.playlist-section .section-head p{color:#9db4d1;}
.playlist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;perspective:1000px;}
.playlist-card{background:var(--navy-800);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s;}
.playlist-card:hover{border-color:rgba(54,139,255,.5);box-shadow:0 20px 40px rgba(0,0,0,.4);}
.playlist-art{aspect-ratio:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.playlist-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.4) 100%);pointer-events:none;}
.playlist-art-1{background:linear-gradient(135deg,#1769D2,#40A0FF);}
.playlist-art-2{background:linear-gradient(135deg,#7B3FE4,#368BFF);}
.playlist-art-3{background:linear-gradient(135deg,#D23F76,#FF8A5E);}
.playlist-art-4{background:linear-gradient(135deg,#0EA5E9,#22C55E);}
.playlist-art-note{font-family:var(--font-head);font-size:4rem;font-weight:800;color:rgba(255,255,255,.15);position:absolute;bottom:-10px;right:10px;line-height:1;transition:.4s;}
.playlist-card:hover .playlist-art-note{transform:rotate(15deg) scale(1.1);color:rgba(255,255,255,.25);}
.playlist-play{position:absolute;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;color:var(--navy-900);box-shadow:0 6px 20px rgba(0,0,0,.3);transition:.25s;z-index:2;}
.playlist-card:hover .playlist-play{transform:scale(1.15);background:#fff;animation:pulsePlay 1.5s infinite;}
@keyframes pulsePlay{0%,100%{box-shadow:0 6px 20px rgba(0,0,0,.3),0 0 0 0 rgba(54,139,255,.6);}50%{box-shadow:0 6px 20px rgba(0,0,0,.3),0 0 0 15px rgba(54,139,255,0);}}
.playlist-body{padding:1.25rem;}
.playlist-genre{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#5ea5ff;font-weight:700;margin-bottom:.35rem;}
.playlist-title{font-family:var(--font-head);font-size:1.05rem;font-weight:700;color:#fff;margin:0 0 .35rem;}
.playlist-meta{font-size:.82rem;color:#8fa6c4;margin:0;display:flex;align-items:center;gap:.5rem;}
.playlist-meta::before{content:"♪";color:#5ea5ff;font-size:.9rem;}
.playlist-disclosure{font-size:.82rem;color:#7e94b2;text-align:center;max-width:640px;margin:1.5rem auto 0;}

/* ============================================================
   Showcase (tabs)
   ============================================================ */
.showcase-section{background:var(--white);}
.showcase-tabs{display:flex;justify-content:center;gap:.5rem;margin-bottom:3rem;flex-wrap:wrap;}
.showcase-tab{background:transparent;border:1.5px solid var(--border);color:var(--text-body);font-family:var(--font-head);font-weight:700;font-size:.95rem;padding:.85rem 1.5rem;border-radius:999px;cursor:pointer;transition:.25s ease;}
.showcase-tab:hover{border-color:var(--blue-500);color:var(--blue-600);transform:translateY(-2px);}
.showcase-tab.is-active{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(36,118,210,.35);transform:translateY(-2px);}
.showcase-panel{display:none;}
.showcase-panel.is-active{display:block;animation:fadeSlide .5s cubic-bezier(.16,1,.3,1);}
@keyframes fadeSlide{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.showcase-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.showcase-copy h3{font-size:1.6rem;margin-bottom:.75rem;}
.showcase-copy p{font-size:1rem;margin-bottom:1.5rem;}
.showcase-list{list-style:none;padding:0;margin:0 0 1.5rem;}
.showcase-list li{display:flex;gap:.85rem;margin-bottom:1rem;align-items:flex-start;}
.showcase-list-icon{flex-shrink:0;width:32px;height:32px;border-radius:8px;background:var(--grad-soft);color:var(--blue-600);display:flex;align-items:center;justify-content:center;transition:.3s;}
.showcase-list li:hover .showcase-list-icon{background:var(--grad);color:#fff;transform:scale(1.1);}
.showcase-list strong{display:block;color:var(--navy-900);font-size:.95rem;margin-bottom:.1rem;}
.showcase-list span{font-size:.88rem;color:var(--text-body);}
.showcase-visual{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);}
.showcase-visual img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .6s ease;}
.showcase-visual:hover img{transform:scale(1.03);}

/* ============================================================
   Proof band
   ============================================================ */
.proof-band{background:var(--grad);color:#fff;padding:3.5rem 0;position:relative;overflow:hidden;}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;position:relative;z-index:1;}
.proof-item{text-align:center;}
.proof-item strong{display:block;font-family:var(--font-head);font-size:clamp(2rem,3.4vw,2.8rem);font-weight:800;color:#fff;line-height:1;margin-bottom:.5rem;}
.proof-item span{font-size:.92rem;color:rgba(255,255,255,.9);}
.proof-disclaimer{text-align:center;font-size:.75rem;color:rgba(255,255,255,.7);margin-top:2rem;position:relative;z-index:1;}

/* Assurance */
.assurance-strip{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2rem 0;}
.assurance-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;align-items:center;}
.assurance-item{display:flex;align-items:center;gap:.75rem;justify-content:center;text-align:left;transition:.3s;}
.assurance-item:hover{transform:translateY(-3px);}
.assurance-icon{width:40px;height:40px;border-radius:10px;background:var(--bg-light);color:var(--blue-600);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.3s;}
.assurance-item:hover .assurance-icon{background:var(--grad);color:#fff;transform:rotate(-8deg) scale(1.1);}
.assurance-copy strong{display:block;font-size:.85rem;color:var(--navy-900);font-family:var(--font-head);}
.assurance-copy span{font-size:.75rem;color:var(--text-body);}


/* ============================================================
   AudioDriveHub — Complete Design System
   Includes: base + animations + homepage + subscription-options
             + how-it-works + utilities
   ============================================================ */

/* ---------- 1. Tokens ---------- */
:root{
  --navy-900:#0B1424;--navy-800:#14233A;--navy-700:#1E2F4D;
  --blue-600:#2476D2;--blue-500:#368BFF;--blue-400:#5EA5FF;--blue-100:#E0EEFF;
  --white:#FFFFFF;--bg-light:#F4F7FB;--text-body:#526176;--border:#E2E8F0;
  --grad:linear-gradient(135deg,#1769D2 0%,#40A0FF 100%);
  --grad-soft:linear-gradient(135deg,rgba(23,105,210,.08) 0%,rgba(64,160,255,.08) 100%);
  --radius:16px;--radius-lg:24px;
  --shadow:0 10px 30px rgba(11,20,36,.08);
  --shadow-lg:0 20px 50px rgba(11,20,36,.14);
  --font-body:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-head:'Manrope','Inter',system-ui,sans-serif;
}

/* ---------- 2. Reset & base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--text-body);background:var(--white);overflow-x:hidden;}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--navy-900);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em;}
h1{font-size:clamp(2.1rem,4.4vw,3.6rem);font-weight:800;}
h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800;}
h3{font-size:1.2rem;font-weight:700;}
h4{font-size:1rem;font-weight:700;}
p{margin:0 0 1em;}
a{color:var(--blue-600);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}
.container{width:100%;max-width:1180px;margin-inline:auto;padding-inline:20px;}
.container.narrow{max-width:860px;}
.center{text-align:center;}

/* ---------- 3. Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-weight:600;
  font-size:1rem;padding:.9rem 1.5rem;border-radius:999px;border:2px solid transparent;
  cursor:pointer;transition:.2s ease;min-height:48px;text-align:center;line-height:1.1;position:relative;overflow:hidden;}
.btn:hover{text-decoration:none;transform:translateY(-1px);}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 22px rgba(36,118,210,.35);}
.btn-primary:hover{box-shadow:0 12px 30px rgba(36,118,210,.5);}
.btn-outline{background:transparent;color:var(--navy-900);border-color:var(--navy-900);}
.btn-outline:hover{background:var(--navy-900);color:#fff;}
.section-dark .btn-outline{color:#fff;border-color:rgba(255,255,255,.7);}
.section-dark .btn-outline:hover{background:#fff;color:var(--navy-900);}
.btn-call{background:var(--grad);color:#fff;box-shadow:0 8px 22px rgba(36,118,210,.35);}
.btn-call::after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;
  background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .5s,height .5s;}
.btn-call:hover::after{width:300px;height:300px;}
.btn-call:hover{text-decoration:none;box-shadow:0 12px 30px rgba(36,118,210,.5);}
.btn.full{width:100%;}
.btn-lg{padding:1rem 1.75rem;font-size:1.05rem;}

/* ---------- 4. Utility ---------- */
.gradient-text{
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.14em;font-weight:600;color:#7db4ff;
  text-transform:uppercase;background:rgba(54,139,255,.12);padding:.45rem .85rem;border-radius:999px;
  border:1px solid rgba(54,139,255,.3);margin-bottom:1.25rem;}
.eyebrow-dark{color:var(--blue-600);background:rgba(36,118,210,.1);border-color:rgba(36,118,210,.25);}
.disclosure{font-size:.9rem;color:#6b7c93;background:#EEF3FA;border-left:3px solid var(--blue-600);
  padding:.85rem 1rem;border-radius:6px;}
.disclosure-micro{font-size:.78rem;color:#7e94b2;margin:0;}
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--grad);width:0%;z-index:999;transition:width .1s ease-out;}

/* ---------- 5. Reveal / stagger animations ---------- */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.reveal-left.is-visible{opacity:1;transform:translateX(0);}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.reveal-right.is-visible{opacity:1;transform:translateX(0);}
.stagger > *{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);}
.stagger.is-visible > *{opacity:1;transform:translateY(0);}
.stagger.is-visible > *:nth-child(1){transition-delay:.05s;}
.stagger.is-visible > *:nth-child(2){transition-delay:.15s;}
.stagger.is-visible > *:nth-child(3){transition-delay:.25s;}
.stagger.is-visible > *:nth-child(4){transition-delay:.35s;}
.stagger.is-visible > *:nth-child(5){transition-delay:.45s;}
.stagger.is-visible > *:nth-child(6){transition-delay:.55s;}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}
  .reveal,.reveal-left,.reveal-right,.stagger > *{opacity:1 !important;transform:none !important;}
}

/* ---------- 6. Header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(11,20,36,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06);}
.header-inner{display:flex;align-items:center;gap:1.5rem;padding-block:.9rem;}
.logo img{height:36px;width:auto;}
.site-nav{margin-left:auto;}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem;}
.site-nav a{display:inline-block;padding:.55rem .8rem;color:#cfd9e8;font-weight:500;font-size:.95rem;border-radius:8px;position:relative;transition:.2s;}
.site-nav a::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.35rem;height:2px;background:var(--blue-500);transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.site-nav a:hover::after,.site-nav a.is-active::after{transform:scaleX(1);}
.site-nav a:hover,.site-nav a.is-active{color:#fff;background:rgba(255,255,255,.05);text-decoration:none;}
.btn-header-call{padding:.7rem 1.1rem;font-size:.95rem;color:#fff;}
.nav-toggle{display:none;background:transparent;border:0;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;}
.nav-toggle span{display:block;height:2px;background:#fff;border-radius:2px;transition:.2s;width:24px;}
.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);}

/* ---------- 7. Homepage hero ---------- */
.hero{background:radial-gradient(1200px 500px at 80% -10%,rgba(54,139,255,.28),transparent 60%),var(--navy-900);color:#e5eefb;padding:4.5rem 0 5.5rem;position:relative;overflow:hidden;}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;pointer-events:none;z-index:0;}
.hero::before{width:400px;height:400px;background:#368BFF;top:-150px;right:10%;animation:orbFloat1 18s ease-in-out infinite;}
.hero::after{width:300px;height:300px;background:#1769D2;bottom:-100px;left:5%;animation:orbFloat2 22s ease-in-out infinite;}
@keyframes orbFloat1{0%,100%{transform:translate(0,0);}50%{transform:translate(-40px,40px);}}
@keyframes orbFloat2{0%,100%{transform:translate(0,0);}50%{transform:translate(50px,-30px);}}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:3.5rem;align-items:center;position:relative;z-index:1;}
.hero h1{color:#fff;margin-bottom:1rem;}
.hero .lead{font-size:1.08rem;color:#c6d3e6;max-width:56ch;}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin:1.75rem 0 1.5rem;}
.hero-ctas.center{justify-content:center;}
.trust-points{list-style:none;padding:0;margin:0 0 2rem;display:flex;gap:1.5rem;flex-wrap:wrap;}
.trust-points li{position:relative;padding-left:1.6rem;font-size:.92rem;color:#cfd9e8;}
.trust-points li::before{content:"✓";position:absolute;left:0;top:-1px;color:#5ea5ff;font-weight:700;}
.phone-display{display:flex;flex-direction:column;gap:.15rem;margin-bottom:1rem;border-left:3px solid #368BFF;padding-left:1rem;}
.phone-display span{font-size:.85rem;color:#9db4d1;letter-spacing:.02em;}
.phone-display a{font-family:var(--font-head);font-size:1.5rem;font-weight:800;color:#fff;}
.phone-display a:hover{color:#9dc7ff;text-decoration:none;}
.hero-image{position:relative;}
.hero-image img{border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;height:auto;object-fit:cover;aspect-ratio:16/9;animation:heroFloat 6s ease-in-out infinite;}
@keyframes heroFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.hero-copy > *{opacity:0;transform:translateY(20px);animation:heroEnter .8s cubic-bezier(.16,1,.3,1) forwards;}
.hero-copy > *:nth-child(1){animation-delay:.1s;}
.hero-copy > *:nth-child(2){animation-delay:.25s;}
.hero-copy > *:nth-child(3){animation-delay:.4s;}
.hero-copy > *:nth-child(4){animation-delay:.55s;}
.hero-copy > *:nth-child(5){animation-delay:.7s;}
.hero-copy > *:nth-child(6){animation-delay:.85s;}
.hero-copy > *:nth-child(7){animation-delay:1s;}
@keyframes heroEnter{to{opacity:1;transform:translateY(0);}}
.hero-image{opacity:0;transform:scale(.95);animation:heroImg .9s cubic-bezier(.16,1,.3,1) .3s forwards;}
@keyframes heroImg{to{opacity:1;transform:scale(1);}}

/* ---------- 8. Trust bar ---------- */
.trust-bar{background:var(--navy-800);border-top:1px solid rgba(255,255,255,.06);color:#fff;padding:1.25rem 0;}
.trust-bar-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.trust-item{display:flex;flex-direction:column;gap:.15rem;padding-left:1rem;border-left:2px solid rgba(54,139,255,.6);transition:.3s;}
.trust-item:hover{border-left-color:#5ea5ff;padding-left:1.25rem;}
.trust-item strong{font-family:var(--font-head);color:#fff;font-size:1rem;}
.trust-item span{font-size:.85rem;color:#9db4d1;}

/* ---------- 9. Sections ---------- */
.section{padding:5rem 0;}
.section-light{background:var(--bg-light);}
.section-white{background:var(--white);}
.section-grey{background:#EEF3FA;}
.section-dark{background:var(--navy-900);color:#c6d3e6;}
.section-dark h2,.section-dark h3{color:#fff;}
.section-head{max-width:760px;margin:0 auto 3rem;text-align:center;}
.section-head h2{margin-bottom:.75rem;}
.section-lead-dark{color:#9db4d1;}

/* ---------- 10. Card grids ---------- */
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.benefit-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow);transition:.3s ease;}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(36,118,210,.3);}
.benefit-card h3{margin-top:0;}
.icon-circle{width:48px;height:48px;border-radius:50%;background:rgba(36,118,210,.1);color:var(--blue-600);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:.3s;}
.card:hover .icon-circle{background:var(--grad);color:#fff;transform:rotate(-8deg) scale(1.1);}

/* ---------- 11. Split ---------- */
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.split-grid.reverse .split-image{order:2;}
.split-image img{border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;height:auto;object-fit:cover;aspect-ratio:3/2;transition:transform .6s ease;}
.split-image:hover img{transform:scale(1.02);}
.check-list{list-style:none;padding:0;margin:0 0 1.5rem;}
.check-list li{position:relative;padding-left:1.7rem;margin-bottom:.6rem;color:var(--text-body);}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--blue-600);font-weight:700;}

/* ---------- 12. Plan cards (homepage + subscription-options) ---------- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.plan-card{position:relative;display:flex;flex-direction:column;transition:.3s ease;}
.plan-card:hover{transform:translateY(-6px);}
.plan-featured{border:2px solid var(--blue-500);box-shadow:0 20px 50px rgba(36,118,210,.18);animation:featuredPulse 3s ease-in-out infinite;}
@keyframes featuredPulse{0%,100%{box-shadow:0 20px 50px rgba(36,118,210,.18);}50%{box-shadow:0 25px 60px rgba(36,118,210,.32);}}
.plan-badge{position:absolute;top:-12px;right:20px;background:var(--grad);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .8rem;border-radius:999px;}
.plan-tier-label{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-600);background:rgba(36,118,210,.1);padding:.35rem .75rem;border-radius:999px;margin-bottom:1rem;}
.plan-featured .plan-tier-label{color:#fff;background:var(--grad);}
.plan-icon{width:64px;height:64px;border-radius:16px;background:var(--grad-soft);color:var(--blue-600);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:.3s ease;}
.plan-card:hover .plan-icon{background:var(--grad);color:#fff;transform:scale(1.08) rotate(-5deg);}
.plan-featured .plan-icon{background:var(--grad);color:#fff;}
.plan-card h3{margin-bottom:.5rem;}
.plan-desc{font-size:.92rem;}
.plan-price-wrap{padding:.9rem 0 .5rem;border-bottom:1px solid var(--border);margin-bottom:.75rem;}
.plan-price{display:flex;align-items:baseline;gap:.15rem;font-family:var(--font-head);color:var(--navy-900);margin:0;line-height:1;font-size:2rem;font-weight:800;}
.plan-currency{font-size:1.3rem;font-weight:700;align-self:flex-start;margin-top:.25rem;color:var(--text-body);}
.plan-amount{font-size:2.6rem;font-weight:800;letter-spacing:-.02em;}
.plan-period{font-size:1rem;font-weight:600;color:var(--text-body);margin-left:.35rem;}
.plan-price-note{display:block;font-size:.72rem;color:#94a3b8;margin-top:.35rem;font-style:italic;}
.plan-duration{font-size:.9rem;color:var(--text-body);margin-bottom:1rem;}
.plan-features{list-style:none;padding:0;margin:0 0 1.5rem;border-top:1px solid var(--border);padding-top:1rem;}
.plan-features li{position:relative;padding-left:1.5rem;font-size:.92rem;margin-bottom:.5rem;}
.plan-features li::before{content:"•";position:absolute;left:0;color:var(--blue-600);font-weight:700;}
.plan-features li.muted{color:#94a3b8;font-style:italic;}
.plan-disclosure{font-size:.82rem;color:#6b7c93;text-align:center;margin-top:1.5rem;}

/* ---------- 13. Steps (homepage four-step band) ---------- */
.steps{list-style:none;padding:0;margin:0 0 2.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.step{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:1.75rem;position:relative;transition:.3s;overflow:hidden;}
.step::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(54,139,255,.12),transparent);opacity:0;transition:.4s;}
.step:hover{transform:translateY(-4px);border-color:rgba(54,139,255,.4);}
.step:hover::before{opacity:1;}
.step-num{font-family:var(--font-head);font-size:2rem;font-weight:800;color:#5ea5ff;display:block;margin-bottom:.75rem;transition:.3s;}
.step:hover .step-num{transform:scale(1.15);color:#9dc7ff;}
.step h3{font-size:1.1rem;margin-bottom:.5rem;position:relative;z-index:1;}
.step p{font-size:.92rem;margin:0;color:#a8bcd6;position:relative;z-index:1;}

/* ---------- 14. Image banner ---------- */
.image-banner{background-size:cover;background-position:center;position:relative;background-image:linear-gradient(120deg,#14233A 0%,#2476D2 100%);}
.image-banner-overlay{background:linear-gradient(90deg,rgba(11,20,36,.92) 0%,rgba(11,20,36,.7) 60%,rgba(11,20,36,.4) 100%);color:#fff;padding:6rem 0;}
.image-banner h2{color:#fff;font-size:clamp(1.6rem,3vw,2.4rem);max-width:600px;}
.image-banner p{color:#cfd9e8;max-width:520px;font-size:1.05rem;margin-bottom:1.5rem;}

/* ---------- 15. Use cases ---------- */
.use-case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.use-case h3{font-size:1.05rem;}

/* ---------- 16. Eligibility list ---------- */
.eligibility-list{list-style:none;padding:0;margin:0 0 1.75rem;}
.eligibility-list li{position:relative;padding-left:1.7rem;margin-bottom:.6rem;}
.eligibility-list li::before{content:"→";position:absolute;left:0;color:var(--blue-600);font-weight:700;transition:.3s;}
.eligibility-list li:hover::before{transform:translateX(4px);}

/* ---------- 17. Q grid ---------- */
.q-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:2rem;text-align:left;}
.q-card h4{font-size:1rem;margin-bottom:.4rem;color:var(--navy-900);}
.q-card p{font-size:.92rem;margin:0;}

/* ---------- 18. Accordion ---------- */
.accordion{border-top:1px solid var(--border);}
.accordion-item{border-bottom:1px solid var(--border);}
.accordion-trigger{width:100%;background:transparent;border:0;text-align:left;padding:1.15rem 2.5rem 1.15rem 0;font-family:var(--font-head);font-weight:700;font-size:1.02rem;color:var(--navy-900);cursor:pointer;position:relative;}
.accordion-trigger::after{content:"+";position:absolute;right:.5rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--blue-600);transition:.2s;}
.accordion-trigger[aria-expanded="true"]::after{content:"−";}
.accordion-panel{padding:0 0 1.25rem;overflow:hidden;}
.accordion-panel p{margin:0;font-size:.95rem;}

/* ---------- 19. Final CTA + waveform ---------- */
.cta-final{position:relative;overflow:hidden;}
.cta-final::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 50% 0%,rgba(54,139,255,.25),transparent 70%);pointer-events:none;}
.waveform{position:absolute;bottom:0;left:0;right:0;height:80px;display:flex;align-items:flex-end;justify-content:center;gap:4px;opacity:.4;padding:0 1rem;pointer-events:none;}
.waveform span{display:block;width:3px;background:linear-gradient(180deg,transparent,#368BFF);border-radius:2px;animation:wave 1.6s ease-in-out infinite;}
.waveform span:nth-child(1){animation-delay:0s;height:20%;}
.waveform span:nth-child(2){animation-delay:.1s;height:40%;}
.waveform span:nth-child(3){animation-delay:.2s;height:60%;}
.waveform span:nth-child(4){animation-delay:.3s;height:80%;}
.waveform span:nth-child(5){animation-delay:.4s;height:100%;}
.waveform span:nth-child(6){animation-delay:.5s;height:80%;}
.waveform span:nth-child(7){animation-delay:.6s;height:60%;}
.waveform span:nth-child(8){animation-delay:.7s;height:40%;}
.waveform span:nth-child(9){animation-delay:.8s;height:20%;}
.waveform span:nth-child(10){animation-delay:.9s;height:40%;}
.waveform span:nth-child(11){animation-delay:1s;height:60%;}
.waveform span:nth-child(12){animation-delay:1.1s;height:80%;}
.waveform span:nth-child(13){animation-delay:1.2s;height:100%;}
.waveform span:nth-child(14){animation-delay:1.3s;height:80%;}
.waveform span:nth-child(15){animation-delay:1.4s;height:60%;}
.waveform span:nth-child(16){animation-delay:1.5s;height:40%;}
.waveform span:nth-child(17){animation-delay:1.6s;height:20%;}
@keyframes wave{0%,100%{transform:scaleY(.3);}50%{transform:scaleY(1);}}
.cta-final h2{color:#fff;font-size:clamp(1.7rem,3vw,2.4rem);position:relative;z-index:1;}
.cta-final p{position:relative;z-index:1;}
.phone-big{font-family:var(--font-head);font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:800;color:#fff;margin-top:1rem;position:relative;z-index:1;}

/* ---------- 20. Footer ---------- */
.site-footer{background:var(--navy-900);color:#a8bcd6;padding:4rem 0 2rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem;}
.footer-col h4{color:#fff;font-size:.95rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1rem;}
.footer-col ul{list-style:none;padding:0;margin:0;}
.footer-col ul li{margin-bottom:.5rem;font-size:.92rem;}
.footer-col ul li a{color:#a8bcd6;transition:.2s;}
.footer-col ul li a:hover{color:#fff;text-decoration:none;padding-left:4px;}
.footer-brand p{font-size:.9rem;margin-bottom:.5rem;}
.footer-logo{height:40px;width:auto;margin-bottom:1rem;}
.footer-disclosure{border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;font-size:.82rem;color:#7e94b2;}
.footer-disclosure p{margin-bottom:.5rem;}

/* ---------- 21. Sticky mobile call ---------- */
.sticky-mobile-call{display:none;position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:200;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.35);}

/* ---------- 22. Breadcrumbs ---------- */
.breadcrumbs{background:#EEF3FA;padding:.75rem 0;font-size:.85rem;}
.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;gap:.5rem;flex-wrap:wrap;}
.breadcrumbs li::after{content:"›";margin-left:.5rem;color:#9db4d1;}
.breadcrumbs li:last-child::after{content:"";}
.breadcrumbs a{color:var(--blue-600);}

/* ============================================================
   23. SUBSCRIPTION-OPTIONS PAGE
   ============================================================ */

/* --- Page hero (centered) --- */
.page-hero{position:relative;background:var(--navy-900);color:#e5eefb;padding:5rem 0 8rem;overflow:hidden;isolation:isolate;}
.page-hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;}
.page-hero-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.4;}
.page-hero-orb-1{width:520px;height:520px;background:radial-gradient(circle,#368BFF,transparent 70%);top:-200px;left:-100px;animation:orbFloat1 20s ease-in-out infinite;}
.page-hero-orb-2{width:420px;height:420px;background:radial-gradient(circle,#7B3FE4,transparent 70%);bottom:-160px;right:-80px;animation:orbFloat2 24s ease-in-out infinite;}
.page-hero-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(54,139,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(54,139,255,.06) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,black 40%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,black 40%,transparent 75%);}
.page-hero-inner{text-align:center;max-width:860px;margin:0 auto;position:relative;z-index:1;}
.page-hero-badge{display:inline-flex;align-items:center;gap:.55rem;padding:.5rem 1rem;background:rgba(54,139,255,.12);border:1px solid rgba(54,139,255,.3);border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:.03em;color:#9dc7ff;margin-bottom:1.75rem;}
.page-hero-badge-dot{width:8px;height:8px;border-radius:50%;background:#5ea5ff;box-shadow:0 0 0 3px rgba(94,165,255,.25);animation:pulseDot 2s ease-in-out infinite;}
@keyframes pulseDot{0%,100%{box-shadow:0 0 0 3px rgba(94,165,255,.25);}50%{box-shadow:0 0 0 6px rgba(94,165,255,.08);}}
.page-hero-title{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;color:#fff;line-height:1.1;margin-bottom:1.5rem;letter-spacing:-.02em;}
.page-hero-lead{font-size:1.12rem;color:#c6d3e6;max-width:56ch;margin:0 auto 2.25rem;}
.page-hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3.5rem;}
.page-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:720px;margin:0 auto;border-top:1px solid rgba(255,255,255,.1);padding-top:2.5rem;}
.page-hero-stat{text-align:center;}
.page-hero-stat strong{display:block;font-family:var(--font-head);font-size:2rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1;margin-bottom:.5rem;}
.page-hero-stat span{font-size:.85rem;color:#9db4d1;line-height:1.4;}
.page-hero-wave{position:absolute;bottom:-1px;left:0;right:0;line-height:0;}
.page-hero-wave svg{display:block;width:100%;height:80px;}

/* --- Categories ribbon --- */
.categories-section{background:var(--bg-light);padding-top:4rem;}
.categories-header{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:end;margin-bottom:3rem;}
.categories-header h2{margin:0;max-width:520px;}
.categories-header-desc{font-size:.98rem;color:var(--text-body);margin:0;padding-bottom:.25rem;}
.ribbon{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:#fff;}
.ribbon-item{position:relative;padding:2.5rem 2rem 2rem;border-right:1px solid var(--border);color:var(--text-body);text-decoration:none;transition:.3s ease;background:#fff;display:flex;flex-direction:column;}
.ribbon-item:last-child{border-right:none;}
.ribbon-item:hover{text-decoration:none;background:#F8FBFF;transform:translateY(-2px);z-index:1;box-shadow:0 20px 40px rgba(11,20,36,.08);}
.ribbon-featured{background:linear-gradient(180deg,#F0F7FF 0%,#fff 100%);}
.ribbon-featured:hover{background:linear-gradient(180deg,#E5F1FF 0%,#F8FBFF 100%);}
.ribbon-accent{position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .4s ease;}
.ribbon-item:hover .ribbon-accent{transform:scaleX(1);}
.ribbon-featured .ribbon-accent{transform:scaleX(1);opacity:.5;}
.ribbon-featured:hover .ribbon-accent{opacity:1;}
.ribbon-number{font-family:var(--font-head);font-size:3rem;font-weight:800;color:rgba(36,118,210,.15);line-height:1;margin-bottom:1rem;transition:.3s;}
.ribbon-item:hover .ribbon-number{color:var(--blue-500);transform:translateX(4px);}
.ribbon-content{flex:1;display:flex;flex-direction:column;}
.ribbon-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--blue-600);margin-bottom:.6rem;}
.ribbon-content h3{font-size:1.2rem;margin-bottom:.75rem;color:var(--navy-900);}
.ribbon-content p{font-size:.9rem;color:var(--text-body);margin-bottom:1.25rem;flex:1;}
.ribbon-cta{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;color:var(--blue-600);letter-spacing:.02em;transition:.3s;}
.ribbon-item:hover .ribbon-cta{color:var(--blue-500);gap:.7rem;}
.ribbon-actions{text-align:center;margin-top:2.5rem;}

/* --- Compare tiles --- */
.compare-section{background:#fff;position:relative;}
.compare-section::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);}
.compare-header{text-align:center;max-width:720px;margin:0 auto 3rem;}
.compare-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.compare-tile{position:relative;background:var(--bg-light);border-radius:var(--radius-lg);padding:2rem 1.75rem;transition:.3s ease;display:flex;flex-direction:column;}
.compare-tile:hover{background:#EBF2FA;transform:translateY(-4px);}
.compare-tile-featured{background:linear-gradient(180deg,#EAF2FB 0%,#F4F7FB 100%);box-shadow:0 0 0 2px rgba(36,118,210,.2);}
.compare-tile-ribbon{position:absolute;top:-12px;left:1.75rem;background:var(--grad);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .85rem;border-radius:999px;box-shadow:0 4px 12px rgba(36,118,210,.3);}
.compare-tile-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;}
.compare-tile-num{font-family:var(--font-head);font-size:1.5rem;font-weight:800;color:var(--navy-900);opacity:.4;line-height:1;}
.compare-tile-badge{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .75rem;border-radius:999px;background:rgba(36,118,210,.1);color:var(--blue-600);}
.compare-tile-badge-blue{background:var(--grad);color:#fff;}
.compare-tile h3{font-size:1.15rem;margin-bottom:.6rem;color:var(--navy-900);}
.compare-tile-desc{font-size:.9rem;color:var(--text-body);margin-bottom:1.25rem;}
.compare-tile-list{list-style:none;padding:0;margin:0 0 1.5rem;border-top:1px solid rgba(36,118,210,.1);padding-top:1rem;flex:1;}
.compare-tile-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:.88rem;margin-bottom:.65rem;color:var(--text-body);}
.check-dot{flex-shrink:0;display:inline-block;width:16px;height:16px;border-radius:50%;background:rgba(36,118,210,.12);position:relative;margin-top:.2rem;}
.check-dot::after{content:"";position:absolute;left:4px;top:4px;width:8px;height:8px;border-radius:50%;background:var(--blue-600);}

/* --- Numbered benefits --- */
.numbered-section{background:linear-gradient(180deg,#F4F7FB 0%,#fff 100%);position:relative;overflow:hidden;}
.numbered-header{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:end;margin-bottom:3rem;}
.numbered-header h2{margin:0;}
.numbered-header-right{font-size:.98rem;color:var(--text-body);margin:0;}
.numbered-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.numbered-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:2rem 1.75rem 1.75rem;overflow:hidden;transition:.3s ease;}
.numbered-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(36,118,210,.25);}
.numbered-digit{position:absolute;top:-8px;right:-4px;font-family:var(--font-head);font-size:5rem;font-weight:800;line-height:1;color:rgba(36,118,210,.06);letter-spacing:-.04em;transition:.3s;pointer-events:none;}
.numbered-card:hover .numbered-digit{color:rgba(36,118,210,.14);transform:translateX(-6px);}
.numbered-card h3{position:relative;font-size:1.05rem;margin-bottom:.5rem;color:var(--navy-900);}
.numbered-card p{position:relative;font-size:.9rem;color:var(--text-body);margin:0;}

/* --- Process tracker (horizontal connected) --- */
.tracker-section{background:#fff;}
.tracker-header{text-align:center;max-width:680px;margin:0 auto 4rem;}
.tracker{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:3rem;}
.tracker-line{position:absolute;top:32px;left:calc(12.5% + 20px);right:calc(12.5% + 20px);height:2px;background:linear-gradient(90deg,var(--blue-500),var(--blue-500) 50%,var(--border) 50%,var(--border));background-size:200% 100%;background-position:0 0;z-index:0;transition:background-position .8s ease;}
.tracker-step{position:relative;z-index:1;text-align:center;}
.tracker-node{width:64px;height:64px;border-radius:50%;background:var(--grad);color:#fff;font-family:var(--font-head);font-size:1.15rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:0 0 0 6px #fff,0 8px 22px rgba(36,118,210,.3);}
.tracker-node-num{letter-spacing:.02em;}
.tracker-copy h3{font-size:1rem;margin-bottom:.4rem;}
.tracker-copy p{font-size:.85rem;color:var(--text-body);margin:0;max-width:240px;margin-inline:auto;}

/* --- Options FAQ (side-tab layout) --- */
.options-faq-section{background:var(--bg-light);}
.options-faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:4rem;align-items:start;}
.options-faq-left h2{margin-bottom:1rem;}
.options-faq-left p{font-size:1rem;color:var(--text-body);margin-bottom:1.5rem;}
.options-faq-cta{margin-top:1rem;}

/* ============================================================
   24. HOW IT WORKS PAGE
   ============================================================ */

/* --- Split hero with vertical step rail --- */
.how-hero{position:relative;background:radial-gradient(1000px 500px at 15% -20%,rgba(123,63,228,.18),transparent 60%),radial-gradient(800px 400px at 90% 20%,rgba(54,139,255,.2),transparent 60%),var(--navy-900);color:#e5eefb;padding:5rem 0 5.5rem;overflow:hidden;}
.how-hero-grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(54,139,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(54,139,255,.05) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse at 70% 50%,black 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 70% 50%,black 30%,transparent 70%);}
.how-hero-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1;}
.how-hero-copy h1{color:#fff;font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.1;margin-bottom:1.25rem;letter-spacing:-.02em;}
.how-hero-copy .lead{font-size:1.08rem;color:#c6d3e6;max-width:52ch;margin-bottom:2rem;}
.how-hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem;}
.how-hero-rail{display:flex;flex-direction:column;gap:.85rem;position:relative;}
.how-hero-rail::before{content:"";position:absolute;left:26px;top:32px;bottom:32px;width:2px;background:linear-gradient(180deg,rgba(94,165,255,.1) 0%,rgba(94,165,255,.6) 30%,rgba(94,165,255,.6) 70%,rgba(94,165,255,.1) 100%);}
.how-hero-rail-step{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:.3s;position:relative;}
.how-hero-rail-step:hover{background:rgba(255,255,255,.08);border-color:rgba(94,165,255,.4);transform:translateX(6px);}
.how-hero-rail-num{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:var(--grad);color:#fff;font-family:var(--font-head);font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(54,139,255,.4);z-index:1;}
.how-hero-rail-copy strong{display:block;color:#fff;font-family:var(--font-head);font-size:.98rem;margin-bottom:.15rem;}
.how-hero-rail-copy span{color:#9db4d1;font-size:.82rem;}

/* --- Zig-zag timeline --- */
.zigzag-section{background:var(--bg-light);padding:5rem 0;}
.zigzag-header{text-align:center;max-width:680px;margin:0 auto 4rem;}
.zigzag{position:relative;max-width:1000px;margin:0 auto;}
.zigzag::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,transparent 0%,var(--border) 5%,var(--border) 95%,transparent 100%);transform:translateX(-50%);z-index:0;}
.zig-row{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;margin-bottom:2rem;position:relative;}
.zig-spacer{}
.zig-marker{width:72px;height:72px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px var(--bg-light),0 8px 24px rgba(36,118,210,.3);z-index:1;position:relative;}
.zig-marker-num{color:#fff;font-family:var(--font-head);font-weight:800;font-size:1.35rem;letter-spacing:.02em;}
.zig-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;transition:.3s ease;box-shadow:var(--shadow);}
.zig-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(36,118,210,.3);}
.zig-card-highlight{border:2px solid var(--blue-500);box-shadow:0 20px 50px rgba(36,118,210,.15);}
.zig-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem;}
.zig-badge{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--blue-600);background:rgba(36,118,210,.1);padding:.3rem .75rem;border-radius:999px;}
.zig-badge-final{background:var(--grad);color:#fff;}
.zig-duration{font-size:.75rem;color:#94a3b8;font-weight:600;}
.zig-card h3{font-size:1.2rem;margin-bottom:.65rem;}
.zig-card > p{font-size:.92rem;color:var(--text-body);margin-bottom:1.15rem;}
.zig-detail{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-top:1px solid var(--border);padding-top:1rem;}
.zig-detail-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-600);margin-bottom:.4rem;}
.zig-detail-block ul{list-style:none;padding:0;margin:0;}
.zig-detail-block li{font-size:.82rem;color:var(--text-body);position:relative;padding-left:1rem;margin-bottom:.35rem;line-height:1.5;}
.zig-detail-block li::before{content:"";position:absolute;left:0;top:.55rem;width:5px;height:5px;border-radius:50%;background:var(--blue-500);}
.zig-zag-cta{text-align:center;margin-top:3rem;}

/* --- Prep section --- */
.prep-section{background:#fff;padding:5rem 0;}
.prep-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start;}
.prep-copy h2{margin-bottom:1rem;}
.prep-copy p{font-size:1rem;color:var(--text-body);margin-bottom:1.5rem;}
.prep-tip{display:flex;gap:.85rem;align-items:flex-start;padding:1rem 1.15rem;background:var(--bg-light);border-radius:12px;border-left:3px solid var(--blue-500);}
.prep-tip-icon{color:var(--blue-600);flex-shrink:0;margin-top:.15rem;}
.prep-tip p{margin:0;font-size:.88rem;color:var(--text-body);}
.prep-list{display:flex;flex-direction:column;gap:.75rem;}
.prep-item{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 1.25rem;background:var(--bg-light);border-radius:12px;transition:.25s;}
.prep-item:hover{background:#EAF2FB;transform:translateX(4px);}
.prep-check{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;}
.prep-item strong{display:block;color:var(--navy-900);font-family:var(--font-head);font-size:.95rem;margin-bottom:.2rem;}
.prep-item span{font-size:.85rem;color:var(--text-body);display:block;}

/* --- After-order section --- */
.after-section{background:linear-gradient(180deg,var(--bg-light) 0%,#fff 100%);padding:5rem 0;}
.after-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:2rem;}
.after-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem 1.5rem;text-align:left;transition:.3s;}
.after-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(36,118,210,.25);}
.after-icon{width:48px;height:48px;border-radius:12px;background:var(--grad-soft);color:var(--blue-600);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:.3s;}
.after-card:hover .after-icon{background:var(--grad);color:#fff;transform:scale(1.08) rotate(-5deg);}
.after-card h3{font-size:1.02rem;margin-bottom:.5rem;}
.after-card p{font-size:.88rem;color:var(--text-body);margin-bottom:.75rem;}
.after-time{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-600);background:rgba(36,118,210,.1);padding:.25rem .65rem;border-radius:999px;}
.after-note{max-width:720px;margin:0 auto;text-align:center;padding:1rem 1.25rem;background:#FEF3E7;border-left:3px solid #F59E0B;border-radius:8px;font-size:.88rem;color:#78350F;}
.after-note strong{color:#92400E;}

/* --- Scenarios section --- */
.scenarios-section{background:#fff;padding:5rem 0;}
.scenarios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.scenario-card{background:var(--bg-light);border-radius:var(--radius-lg);padding:2rem 1.75rem;transition:.3s;display:flex;flex-direction:column;}
.scenario-card:hover{transform:translateY(-4px);background:#EAF2FB;}
.scenario-featured{background:linear-gradient(180deg,#EAF2FB 0%,#F4F7FB 100%);box-shadow:0 0 0 2px rgba(36,118,210,.2);}
.scenario-tag{display:inline-block;align-self:flex-start;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-600);background:rgba(36,118,210,.1);padding:.35rem .75rem;border-radius:999px;margin-bottom:1rem;}
.scenario-tag-blue{background:var(--grad);color:#fff;}
.scenario-card h3{font-size:1.15rem;margin-bottom:.85rem;}
.scenario-quote{font-style:italic;color:var(--text-body);font-size:.9rem;padding:.85rem 0;border-top:1px solid rgba(36,118,210,.15);border-bottom:1px solid rgba(36,118,210,.15);margin-bottom:1.15rem;line-height:1.55;}
.scenario-path{display:flex;flex-direction:column;gap:.6rem;flex:1;}
.scenario-step{display:flex;gap:.65rem;align-items:flex-start;font-size:.85rem;color:var(--text-body);}
.scenario-step-num{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:rgba(36,118,210,.15);color:var(--blue-600);font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:.15rem;}

/* --- Process FAQ (numbered accordion) --- */
.process-faq-section{background:var(--bg-light);padding:5rem 0;}
.process-faq-accordion{border-top:1px solid var(--border);margin-top:2rem;}
.pfaq-item{display:grid;grid-template-columns:56px 1fr;gap:1.25rem;align-items:start;border-bottom:1px solid var(--border);padding:0;position:relative;}
.pfaq-num{font-family:var(--font-head);font-size:1.1rem;font-weight:800;color:rgba(36,118,210,.35);padding:1.15rem 0 0 0;text-align:center;transition:.25s;}
.pfaq-item:hover .pfaq-num,.pfaq-item:focus-within .pfaq-num{color:var(--blue-600);}
.pfaq-item .accordion-trigger{padding-left:0;}
.pfaq-item .accordion-panel{grid-column:2;padding-left:0;}

/* --- Sub-page hero utility (used by inner pages like about/eligibility) --- */
.hero-sub{background:radial-gradient(900px 400px at 90% -20%,rgba(54,139,255,.22),transparent 60%),var(--navy-900);color:#e5eefb;padding:4rem 0;position:relative;overflow:hidden;}
.hero-sub-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center;}
.hero-sub-copy h1{color:#fff;margin-bottom:1rem;}
.hero-sub-copy .lead{font-size:1.05rem;color:#c6d3e6;max-width:56ch;margin-bottom:1.5rem;}
.hero-sub-image img{border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;height:auto;object-fit:cover;aspect-ratio:3/2;animation:heroFloat 6s ease-in-out infinite;}

/* ============================================================
   25. RESPONSIVE OVERRIDES (in addition to responsive.css)
   These support the new page-specific sections.
   ============================================================ */
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;gap:2rem;}
  .hero{padding:3.5rem 0 4rem;}
  .hero-image{order:-1;}
  .trust-bar-inner{grid-template-columns:repeat(2,1fr);}
  .benefit-grid,.benefit-grid.cols-4,.use-case-grid{grid-template-columns:repeat(2,1fr);}
  .plans{grid-template-columns:1fr;max-width:480px;margin:0 auto;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .split-grid{grid-template-columns:1fr;gap:2rem;}
  .split-grid.reverse .split-image{order:0;}
  .footer-grid{grid-template-columns:1fr 1fr;}

  /* Subscription options page */
  .hero-sub-inner{grid-template-columns:1fr;gap:2rem;}
  .hero-sub-image{order:-1;}
  .categories-header,.numbered-header{grid-template-columns:1fr;gap:1rem;align-items:start;}
  .ribbon{grid-template-columns:1fr;}
  .ribbon-item{border-right:none;border-bottom:1px solid var(--border);}
  .ribbon-item:last-child{border-bottom:none;}
  .compare-tiles{grid-template-columns:1fr;}
  .numbered-grid{grid-template-columns:repeat(2,1fr);}
  .tracker{grid-template-columns:repeat(2,1fr);gap:2rem;}
  .tracker-line{display:none;}
  .options-faq-grid{grid-template-columns:1fr;gap:2.5rem;}

  /* How it works page */
  .how-hero-inner{grid-template-columns:1fr;gap:2.5rem;}
  .how-hero-rail{order:-1;}
  .zig-row{grid-template-columns:1fr;gap:1rem;}
  .zig-row .zig-spacer{display:none;}
  .zig-row .zig-marker{margin:0 auto;order:-1;}
  .zigzag::before{display:none;}
  .prep-grid{grid-template-columns:1fr;gap:2rem;}
  .after-grid{grid-template-columns:repeat(2,1fr);}
  .scenarios-grid{grid-template-columns:1fr;}
}

@media (max-width:768px){
  .nav-toggle{display:flex;}
  .site-nav{position:fixed;top:64px;left:0;right:0;background:var(--navy-900);padding:1rem 1.25rem 1.5rem;border-top:1px solid rgba(255,255,255,.08);display:none;box-shadow:0 20px 40px rgba(0,0,0,.3);}
  .nav-wrap.is-open .site-nav{display:block;}
  .site-nav ul{flex-direction:column;gap:.15rem;}
  .site-nav a{display:block;padding:.85rem .75rem;font-size:1rem;}
  .btn-header-call{display:none;}
  .hero-ctas{gap:.75rem;}
  .hero-ctas .btn{flex:1 1 auto;}
  .trust-points{gap:1rem;}
  .section{padding:3.5rem 0;}
  .q-grid{grid-template-columns:1fr;}
  .image-banner-overlay{padding:4rem 0;}
  .sticky-mobile-call{display:flex;}
  body{padding-bottom:5rem;}
  .footer-grid{grid-template-columns:1fr;gap:2rem;}

  /* Subscription options page */
  .page-hero{padding:3.5rem 0 6rem;}
  .page-hero-stats{grid-template-columns:1fr;gap:1.25rem;padding-top:2rem;}
  .page-hero-stat strong{font-size:1.6rem;}

  /* How it works page */
  .how-hero{padding:3rem 0 4rem;}
  .how-hero-rail-step{padding:.85rem 1rem;}
  .how-hero-rail-num{width:44px;height:44px;font-size:1rem;}
  .zig-card{padding:1.35rem;}
  .zig-detail{grid-template-columns:1fr;gap:.75rem;}
  .after-grid{grid-template-columns:1fr;}
  .scenario-card{padding:1.5rem 1.25rem;}
  .pfaq-item{grid-template-columns:44px 1fr;gap:.75rem;}
  .pfaq-num{font-size:.95rem;}
}

@media (max-width:480px){
  .benefit-grid,.benefit-grid.cols-4,.use-case-grid,.steps,.proof-grid{grid-template-columns:1fr;}
  .trust-bar-inner{grid-template-columns:1fr;}
  .hero .lead{font-size:1rem;}
  .phone-display a{font-size:1.3rem;}
  h1{font-size:2rem;}
  h2{font-size:1.55rem;}
  .card{padding:1.35rem;}
  .btn{font-size:.95rem;padding:.85rem 1.15rem;}
  .benefit-stats{gap:1.25rem;}
  .numbered-grid{grid-template-columns:1fr;}
  .tracker{grid-template-columns:1fr;}
}


/* ============================================================
   HOW IT WORKS PAGE — Distinct design
   ============================================================ */

/* --- Split hero with vertical step rail --- */
.how-hero{
  position:relative;
  background:radial-gradient(1000px 500px at 15% -20%,rgba(123,63,228,.18),transparent 60%),
             radial-gradient(800px 400px at 90% 20%,rgba(54,139,255,.2),transparent 60%),
             var(--navy-900);
  color:#e5eefb;
  padding:5rem 0 5.5rem;
  overflow:hidden;
}
.how-hero-grid-bg{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(54,139,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(54,139,255,.05) 1px,transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse at 70% 50%,black 30%,transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse at 70% 50%,black 30%,transparent 70%);
}
.how-hero-inner{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:4rem;
  align-items:center;
  position:relative;
  z-index:1;
}
.how-hero-copy h1{
  color:#fff;
  font-size:clamp(2.2rem,4.4vw,3.6rem);
  line-height:1.1;
  margin-bottom:1.25rem;
  letter-spacing:-.02em;
}
.how-hero-copy .lead{
  font-size:1.08rem;
  color:#c6d3e6;
  max-width:52ch;
  margin-bottom:2rem;
}
.how-hero-actions{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:1.5rem;
}
.how-hero-rail{
  display:flex;
  flex-direction:column;
  gap:.85rem;
  position:relative;
}
.how-hero-rail::before{
  content:"";
  position:absolute;
  left:26px;
  top:32px;
  bottom:32px;
  width:2px;
  background:linear-gradient(180deg,
    rgba(94,165,255,.1) 0%,
    rgba(94,165,255,.6) 30%,
    rgba(94,165,255,.6) 70%,
    rgba(94,165,255,.1) 100%);
}
.how-hero-rail-step{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1rem 1.25rem;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  transition:.3s;
  position:relative;
}
.how-hero-rail-step:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(94,165,255,.4);
  transform:translateX(6px);
}
.how-hero-rail-num{
  flex-shrink:0;
  width:52px;height:52px;
  border-radius:50%;
  background:var(--grad);
  color:#fff;
  font-family:var(--font-head);
  font-weight:800;
  font-size:1.1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 16px rgba(54,139,255,.4);
  z-index:1;
}
.how-hero-rail-copy strong{
  display:block;
  color:#fff;
  font-family:var(--font-head);
  font-size:.98rem;
  margin-bottom:.15rem;
}
.how-hero-rail-copy span{
  color:#9db4d1;
  font-size:.82rem;
}

/* --- Zig-zag timeline --- */
.zigzag-section{
  background:var(--bg-light);
  padding:5rem 0;
}
.zigzag-header{
  text-align:center;
  max-width:680px;
  margin:0 auto 4rem;
}
.zigzag{
  position:relative;
  max-width:1000px;
  margin:0 auto;
}
.zigzag::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:2px;
  background:linear-gradient(180deg,
    transparent 0%,
    var(--border) 5%,
    var(--border) 95%,
    transparent 100%);
  transform:translateX(-50%);
  z-index:0;
}
.zig-row{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:2rem;
  align-items:center;
  margin-bottom:2rem;
  position:relative;
}
.zig-spacer{}
.zig-marker{
  width:72px;height:72px;
  border-radius:50%;
  background:var(--grad);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 0 0 8px var(--bg-light),0 8px 24px rgba(36,118,210,.3);
  z-index:1;
  position:relative;
}
.zig-marker-num{
  color:#fff;
  font-family:var(--font-head);
  font-weight:800;
  font-size:1.35rem;
  letter-spacing:.02em;
}
.zig-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:1.75rem;
  transition:.3s ease;
  box-shadow:var(--shadow);
}
.zig-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-lg);
  border-color:rgba(36,118,210,.3);
}
.zig-card-highlight{
  border:2px solid var(--blue-500);
  box-shadow:0 20px 50px rgba(36,118,210,.15);
}
.zig-card-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:.85rem;
}
.zig-badge{
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--blue-600);
  background:rgba(36,118,210,.1);
  padding:.3rem .75rem;
  border-radius:999px;
}
.zig-badge-final{
  background:var(--grad);
  color:#fff;
}
.zig-duration{
  font-size:.75rem;
  color:#94a3b8;
  font-weight:600;
}
.zig-card h3{
  font-size:1.2rem;
  margin-bottom:.65rem;
}
.zig-card > p{
  font-size:.92rem;
  color:var(--text-body);
  margin-bottom:1.15rem;
}
.zig-detail{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
  border-top:1px solid var(--border);
  padding-top:1rem;
}
.zig-detail-block{}
.zig-detail-label{
  display:block;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--blue-600);
  margin-bottom:.4rem;
}
.zig-detail-block ul{
  list-style:none;
  padding:0;
  margin:0;
}
.zig-detail-block li{
  font-size:.82rem;
  color:var(--text-body);
  position:relative;
  padding-left:1rem;
  margin-bottom:.35rem;
  line-height:1.5;
}
.zig-detail-block li::before{
  content:"";
  position:absolute;
  left:0;top:.55rem;
  width:5px;height:5px;
  border-radius:50%;
  background:var(--blue-500);
}
.zig-zag-cta{
  text-align:center;
  margin-top:3rem;
}

/* --- Prep section (checklist band) --- */
.prep-section{
  background:#fff;
  padding:5rem 0;
}
.prep-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:4rem;
  align-items:start;
}
.prep-copy h2{margin-bottom:1rem;}
.prep-copy p{
  font-size:1rem;
  color:var(--text-body);
  margin-bottom:1.5rem;
}
.prep-tip{
  display:flex;
  gap:.85rem;
  align-items:flex-start;
  padding:1rem 1.15rem;
  background:var(--bg-light);
  border-radius:12px;
  border-left:3px solid var(--blue-500);
}
.prep-tip-icon{
  color:var(--blue-600);
  flex-shrink:0;
  margin-top:.15rem;
}
.prep-tip p{
  margin:0;
  font-size:.88rem;
  color:var(--text-body);
}
.prep-list{
  display:flex;
  flex-direction:column;
  gap:.75rem;
}
.prep-item{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding:1.1rem 1.25rem;
  background:var(--bg-light);
  border-radius:12px;
  transition:.25s;
}
.prep-item:hover{
  background:#EAF2FB;
  transform:translateX(4px);
}
.prep-check{
  flex-shrink:0;
  width:32px;height:32px;
  border-radius:50%;
  background:var(--grad);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.prep-item strong{
  display:block;
  color:var(--navy-900);
  font-family:var(--font-head);
  font-size:.95rem;
  margin-bottom:.2rem;
}
.prep-item span{
  font-size:.85rem;
  color:var(--text-body);
  display:block;
}

/* --- After-order section --- */
.after-section{
  background:linear-gradient(180deg,var(--bg-light) 0%,#fff 100%);
  padding:5rem 0;
}
.after-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.25rem;
  margin-bottom:2rem;
}
.after-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.75rem 1.5rem;
  text-align:left;
  transition:.3s;
}
.after-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-lg);
  border-color:rgba(36,118,210,.25);
}
.after-icon{
  width:48px;height:48px;
  border-radius:12px;
  background:var(--grad-soft);
  color:var(--blue-600);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1rem;
  transition:.3s;
}
.after-card:hover .after-icon{
  background:var(--grad);
  color:#fff;
  transform:scale(1.08) rotate(-5deg);
}
.after-card h3{
  font-size:1.02rem;
  margin-bottom:.5rem;
}
.after-card p{
  font-size:.88rem;
  color:var(--text-body);
  margin-bottom:.75rem;
}
.after-time{
  display:inline-block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--blue-600);
  background:rgba(36,118,210,.1);
  padding:.25rem .65rem;
  border-radius:999px;
}
.after-note{
  max-width:720px;
  margin:0 auto;
  text-align:center;
  padding:1rem 1.25rem;
  background:#FEF3E7;
  border-left:3px solid #F59E0B;
  border-radius:8px;
  font-size:.88rem;
  color:#78350F;
}
.after-note strong{color:#92400E;}

/* --- Scenarios section --- */
.scenarios-section{
  background:#fff;
  padding:5rem 0;
}
.scenarios-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.scenario-card{
  background:var(--bg-light);
  border-radius:var(--radius-lg);
  padding:2rem 1.75rem;
  transition:.3s;
  display:flex;
  flex-direction:column;
}
.scenario-card:hover{
  transform:translateY(-4px);
  background:#EAF2FB;
}
.scenario-featured{
  background:linear-gradient(180deg,#EAF2FB 0%,#F4F7FB 100%);
  box-shadow:0 0 0 2px rgba(36,118,210,.2);
}
.scenario-tag{
  display:inline-block;
  align-self:flex-start;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--blue-600);
  background:rgba(36,118,210,.1);
  padding:.35rem .75rem;
  border-radius:999px;
  margin-bottom:1rem;
}
.scenario-tag-blue{
  background:var(--grad);
  color:#fff;
}
.scenario-card h3{
  font-size:1.15rem;
  margin-bottom:.85rem;
}
.scenario-quote{
  font-style:italic;
  color:var(--text-body);
  font-size:.9rem;
  padding:.85rem 0;
  border-top:1px solid rgba(36,118,210,.15);
  border-bottom:1px solid rgba(36,118,210,.15);
  margin-bottom:1.15rem;
  line-height:1.55;
}
.scenario-path{
  display:flex;
  flex-direction:column;
  gap:.6rem;
  flex:1;
}
.scenario-step{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  font-size:.85rem;
  color:var(--text-body);
}
.scenario-step-num{
  flex-shrink:0;
  width:22px;height:22px;
  border-radius:50%;
  background:rgba(36,118,210,.15);
  color:var(--blue-600);
  font-size:.72rem;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:.15rem;
}

/* --- Process FAQ (numbered accordion) --- */
.process-faq-section{
  background:var(--bg-light);
  padding:5rem 0;
}
.process-faq-accordion{
  border-top:1px solid var(--border);
  margin-top:2rem;
}
.pfaq-item{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:1.25rem;
  align-items:start;
  border-bottom:1px solid var(--border);
  padding:0;
  position:relative;
}
.pfaq-num{
  font-family:var(--font-head);
  font-size:1.1rem;
  font-weight:800;
  color:rgba(36,118,210,.35);
  padding:1.15rem 0 0 0;
  text-align:center;
  transition:.25s;
}
.pfaq-item:hover .pfaq-num,
.pfaq-item:focus-within .pfaq-num{
  color:var(--blue-600);
}
.pfaq-item .accordion-trigger{
  padding-left:0;
}
.pfaq-item .accordion-panel{
  grid-column:2;
  padding-left:0;
}

/* --- Responsive --- */
@media (max-width:1024px){
  .how-hero-inner{grid-template-columns:1fr;gap:2.5rem;}
  .how-hero-rail{order:-1;}
  .zig-row{grid-template-columns:1fr;gap:1rem;}
  .zig-row .zig-spacer{display:none;}
  .zig-row .zig-marker{margin:0 auto;order:-1;}
  .zigzag::before{display:none;}
  .prep-grid{grid-template-columns:1fr;gap:2rem;}
  .after-grid{grid-template-columns:repeat(2,1fr);}
  .scenarios-grid{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .how-hero{padding:3rem 0 4rem;}
  .how-hero-rail-step{padding:.85rem 1rem;}
  .how-hero-rail-num{width:44px;height:44px;font-size:1rem;}
  .zig-card{padding:1.35rem;}
  .zig-detail{grid-template-columns:1fr;gap:.75rem;}
  .after-grid{grid-template-columns:1fr;}
  .scenario-card{padding:1.5rem 1.25rem;}
  .pfaq-item{grid-template-columns:44px 1fr;gap:.75rem;}
  .pfaq-num{font-size:.95rem;}
}


/* ============================================================
   ABOUT PAGE — Distinct design
   ============================================================ */

/* --- Editorial hero (statement-led) --- */
.about-hero{
  position:relative;
  background:
    radial-gradient(900px 500px at 20% 0%,rgba(54,139,255,.18),transparent 60%),
    radial-gradient(700px 400px at 90% 90%,rgba(123,63,228,.12),transparent 60%),
    var(--navy-900);
  color:#e5eefb;
  padding:6rem 0 5.5rem;
  overflow:hidden;
}
.about-hero-bg{
  position:absolute;inset:0;pointer-events:none;
}
.about-hero-dots{
  position:absolute;inset:0;
  background-image:radial-gradient(rgba(94,165,255,.15) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:radial-gradient(ellipse at 50% 40%,black 30%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse at 50% 40%,black 30%,transparent 80%);
}
.about-hero-inner{
  text-align:center;
  max-width:820px;
  margin:0 auto;
  position:relative;
  z-index:1;
}
.about-hero-title{
  font-size:clamp(2.2rem,4.6vw,3.6rem);
  font-weight:800;
  color:#fff;
  line-height:1.1;
  letter-spacing:-.02em;
  margin-bottom:1.5rem;
}
.about-hero-lead{
  font-size:1.15rem;
  color:#c6d3e6;
  max-width:60ch;
  margin:0 auto 3rem;
  line-height:1.6;
}
.about-hero-meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  max-width:640px;
  margin:0 auto;
  border-top:1px solid rgba(255,255,255,.1);
  padding-top:2rem;
}
.about-hero-meta-item{
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:.35rem;
}
.about-hero-meta-label{
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#7db4ff;
  font-weight:700;
}
.about-hero-meta-value{
  font-family:var(--font-head);
  font-size:.92rem;
  font-weight:700;
  color:#fff;
}

/* --- Story section --- */
.story-section{
  background:#fff;
  padding:5.5rem 0;
}
.story-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:4rem;
  align-items:start;
}
.story-copy h2{margin-bottom:1rem;}
.story-lead{
  font-size:1.08rem;
  color:var(--navy-900);
  font-weight:500;
  line-height:1.6;
  margin-bottom:1.25rem;
}
.story-copy p{
  font-size:.98rem;
  color:var(--text-body);
  margin-bottom:1rem;
}
.story-closing{
  padding:1.15rem 1.25rem;
  background:var(--bg-light);
  border-left:3px solid var(--blue-500);
  border-radius:0 8px 8px 0;
  font-style:italic;
  color:var(--navy-900) !important;
  margin-top:1.5rem !important;
}

.story-milestones{
  position:relative;
  padding-left:2.5rem;
}
.story-milestones::before{
  content:"";
  position:absolute;
  left:9px;
  top:8px;
  bottom:8px;
  width:2px;
  background:linear-gradient(180deg,
    var(--blue-500) 0%,
    var(--blue-500) 60%,
    rgba(54,139,255,.15) 100%);
}
.story-milestone{
  position:relative;
  padding-bottom:2rem;
}
.story-milestone:last-child{
  padding-bottom:0;
}
.story-milestone-dot{
  position:absolute;
  left:-2.5rem;
  top:6px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--blue-500);
  box-shadow:0 0 0 4px #fff;
  z-index:1;
}
.story-milestone-final .story-milestone-dot{
  background:var(--grad);
  border-color:transparent;
}
.story-milestone-label{
  display:inline-block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--blue-600);
  background:rgba(36,118,210,.1);
  padding:.25rem .65rem;
  border-radius:999px;
  margin-bottom:.5rem;
}
.story-milestone p{
  font-size:.92rem;
  color:var(--text-body);
  margin:0;
  line-height:1.6;
}

/* --- Values section --- */
.values-section{
  background:var(--bg-light);
  padding:5.5rem 0;
}
.values-header{
  text-align:center;
  max-width:680px;
  margin:0 auto 3.5rem;
}
.values-stack{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.value-row{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:2.5rem;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:2.5rem;
  align-items:center;
  transition:.3s ease;
}
.value-row:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-lg);
  border-color:rgba(36,118,210,.25);
}
.value-row-reverse{
  grid-template-columns:auto 1fr auto;
}
.value-row-reverse .value-visual{
  order:-1;
}
.value-num{
  font-family:var(--font-head);
  font-size:3.5rem;
  font-weight:800;
  line-height:1;
  background:var(--grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  letter-spacing:-.03em;
}
.value-copy h3{
  font-size:1.35rem;
  margin-bottom:.65rem;
}
.value-copy p{
  font-size:.95rem;
  color:var(--text-body);
  margin-bottom:1rem;
  line-height:1.6;
}
.value-points{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:.5rem;
}
.value-points li{
  position:relative;
  padding-left:1.4rem;
  font-size:.85rem;
  color:var(--text-body);
}
.value-points li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--blue-600);
  font-weight:700;
}
.value-visual{
  width:96px;
  height:96px;
  border-radius:24px;
  background:var(--grad-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:.3s;
}
.value-row:hover .value-visual{
  background:var(--grad);
  transform:rotate(-6deg) scale(1.05);
}
.value-visual-inner{
  color:var(--blue-600);
  transition:.3s;
}
.value-row:hover .value-visual-inner{
  color:#fff;
}

/* --- Boundaries section --- */
.boundaries-section{
  background:#fff;
  padding:5.5rem 0;
}
.boundaries-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.25rem;
  margin-bottom:2.5rem;
}
.boundary-card{
  padding:1.75rem 1.5rem;
  background:#FEF3E7;
  border:1px solid rgba(245,158,11,.2);
  border-radius:var(--radius);
  transition:.3s;
}
.boundary-card:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 35px rgba(245,158,11,.15);
  border-color:rgba(245,158,11,.4);
}
.boundary-icon{
  width:44px;
  height:44px;
  border-radius:12px;
  background:rgba(245,158,11,.15);
  color:#D97706;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1rem;
}
.boundary-card h4{
  font-size:1rem;
  margin-bottom:.5rem;
  color:#78350F;
}
.boundary-card p{
  font-size:.85rem;
  color:#92400E;
  margin:0;
  line-height:1.55;
}
.boundaries-note{
  max-width:720px;
  margin:0 auto;
  text-align:center;
  padding:1.25rem 1.5rem;
  background:var(--bg-light);
  border-radius:12px;
  border:1px solid var(--border);
}
.boundaries-note p{
  margin:0;
  font-size:.9rem;
  color:var(--text-body);
}

/* --- Business details card --- */
.business-section{
  background:linear-gradient(180deg,var(--bg-light) 0%,#fff 100%);
  padding:5.5rem 0;
}
.business-card{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:0;
  background:#fff;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-lg);
  border:1px solid var(--border);
}
.business-card-copy{
  padding:3rem 2.75rem;
}
.business-card-copy h2{
  margin-bottom:1rem;
}
.business-card-copy > p{
  font-size:.98rem;
  color:var(--text-body);
  margin-bottom:2rem;
}
.business-details{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
  margin:0 0 2rem;
  padding:1.5rem 0;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.business-detail dt{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--blue-600);
  margin-bottom:.35rem;
}
.business-detail dd{
  margin:0;
  font-family:var(--font-head);
  font-size:.95rem;
  font-weight:600;
  color:var(--navy-900);
}
.business-detail dd a{
  color:var(--navy-900);
  text-decoration:none;
}
.business-detail dd a:hover{
  color:var(--blue-600);
}
.business-card-actions{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
}

.business-card-disclosure{
  background:var(--navy-900);
  color:#c6d3e6;
  padding:3rem 2.5rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.business-disclosure-icon{
  width:48px;
  height:48px;
  border-radius:12px;
  background:rgba(54,139,255,.15);
  color:#5ea5ff;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1.25rem;
}
.business-card-disclosure h4{
  color:#fff;
  font-size:1.15rem;
  margin-bottom:.85rem;
}
.business-card-disclosure p{
  font-size:.9rem;
  color:#a8bcd6;
  line-height:1.65;
  margin-bottom:1.5rem;
}
.business-disclosure-link{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-size:.85rem;
  font-weight:700;
  color:#5ea5ff;
  letter-spacing:.02em;
  transition:.25s;
}
.business-disclosure-link:hover{
  color:#9dc7ff;
  text-decoration:none;
  gap:.6rem;
}

/* --- About FAQ (minimal) --- */
.about-faq-section{
  background:#fff;
  padding:5.5rem 0;
}

/* --- About page responsive --- */
@media (max-width:1024px){
  .story-grid{
    grid-template-columns:1fr;
    gap:3rem;
  }
  .value-row,
  .value-row-reverse{
    grid-template-columns:auto 1fr;
  }
  .value-visual{
    grid-column:1 / -1;
    margin-bottom:1rem;
  }
  .value-row-reverse .value-visual{
    order:0;
  }
  .boundaries-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .business-card{
    grid-template-columns:1fr;
  }
}

@media (max-width:768px){
  .about-hero{
    padding:4rem 0 3.5rem;
  }
  .about-hero-meta{
    grid-template-columns:1fr;
    gap:1.25rem;
    padding-top:1.5rem;
  }
  .about-hero-meta-item{
    padding:.75rem 0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .about-hero-meta-item:last-child{
    border-bottom:none;
  }
  .story-section,
  .values-section,
  .boundaries-section,
  .business-section,
  .about-faq-section{
    padding:3.5rem 0;
  }
  .value-row{
    grid-template-columns:1fr;
    padding:1.75rem;
    gap:1.5rem;
  }
  .value-num{
    font-size:2.5rem;
  }
  .value-visual{
    width:72px;
    height:72px;
    border-radius:16px;
  }
  .value-visual svg{
    width:36px;
    height:36px;
  }
  .boundaries-grid{
    grid-template-columns:1fr;
  }
  .business-card-copy{
    padding:2rem 1.5rem;
  }
  .business-card-disclosure{
    padding:2rem 1.5rem;
  }
  .business-details{
    grid-template-columns:1fr;
    gap:1rem;
  }
  .business-card-actions{
    flex-direction:column;
  }
  .business-card-actions .btn{
    width:100%;
  }
}

@media (max-width:480px){
  .story-milestones{
    padding-left:2rem;
  }
  .story-milestone-dot{
    left:-2rem;
    width:16px;
    height:16px;
  }
  .value-points{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   CONTACT PAGE — Complete self-contained styles
   Load order: must be at END of style.css
   ============================================================ */

/* ---------- Contact hero ---------- */
.contact-hero{
  position:relative;
  background:
    radial-gradient(700px 400px at 20% 0%,rgba(54,139,255,.2),transparent 60%),
    radial-gradient(500px 300px at 90% 100%,rgba(123,63,228,.12),transparent 60%),
    var(--navy-900);
  color:#e5eefb;
  padding:4.5rem 0 4rem;
  overflow:hidden;
}
.contact-hero-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:radial-gradient(rgba(94,165,255,.12) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse at 30% 50%,black 20%,transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse at 30% 50%,black 20%,transparent 70%);
}
.contact-hero-inner{
  position:relative;
  z-index:1;
  max-width:760px;
}
.contact-hero-copy h1{
  font-size:clamp(2rem,4vw,3rem);
  color:#fff;
  margin-bottom:1rem;
  letter-spacing:-.02em;
}
.contact-hero-lead{
  font-size:1.08rem;
  color:#c6d3e6;
  max-width:56ch;
  margin-bottom:1.75rem;
}
.contact-hero-actions{
  display:flex;
  gap:.85rem;
  flex-wrap:wrap;
  margin-bottom:1.75rem;
}
.contact-hero-trust{
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
  padding-top:1.25rem;
  border-top:1px solid rgba(255,255,255,.08);
}
.contact-hero-trust-item{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-size:.85rem;
  color:#9db4d1;
}
.contact-hero-trust-item svg{color:#5ea5ff;}

/* ---------- Contact section wrapper ---------- */
.contact-section{
  background:var(--bg-light);
  padding:4rem 0 5rem;
}
.contact-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:2.5rem;
  align-items:start;
}

/* ---------- Form card ---------- */
.contact-form-wrap{
  background:#ffffff;
  border-radius:16px;
  padding:2.5rem;
  box-shadow:0 20px 50px rgba(11,20,36,.14);
  border:1px solid #E2E8F0;
}
.contact-form-head{margin-bottom:2rem;}
.contact-form-head h2{
  margin:0 0 .35rem;
  font-size:1.55rem;
}
.contact-form-head p{
  margin:0;
  font-size:.88rem;
  color:#526176;
}
.required-mark{
  color:#DC2626;
  font-weight:700;
}

/* ---------- Form messages (success/error banners) ---------- */
.form-message{
  display:flex;
  gap:1rem;
  padding:1.15rem 1.25rem;
  border-radius:12px;
  margin-bottom:1.5rem;
  align-items:flex-start;
}
.form-message-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.form-message strong{
  display:block;
  font-family:'Manrope','Inter',sans-serif;
  font-size:.95rem;
  margin-bottom:.25rem;
}
.form-message p,
.form-message ul{
  margin:0;
  font-size:.88rem;
  line-height:1.5;
}
.form-message-success{
  background:#ECFDF5;
  border:1px solid #A7F3D0;
  color:#065F46;
}
.form-message-success .form-message-icon{
  background:#D1FAE5;
  color:#059669;
}
.form-message-error{
  background:#FEF2F2;
  border:1px solid #FECACA;
  color:#991B1B;
}
.form-message-error .form-message-icon{
  background:#FEE2E2;
  color:#DC2626;
}
.form-error-list{
  padding-left:1.25rem;
  margin:.25rem 0 0;
  list-style:disc;
}
.form-error-list li{margin-bottom:.25rem;}

/* ---------- Form structure ---------- */
.contact-form{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.25rem;
}
.form-field{
  display:flex;
  flex-direction:column;
  gap:.4rem;
}
.form-field label{
  font-family:'Manrope','Inter',sans-serif;
  font-size:.85rem;
  font-weight:600;
  color:#0B1424;
}

/* ---------- Inputs, selects, textarea ---------- */
.form-field input[type="text"],
.form-field input[type="email"],
.form-field input[type="tel"],
.form-field select,
.form-field textarea{
  width:100%;
  padding:.75rem .9rem;
  font-family:'Inter',system-ui,sans-serif;
  font-size:.95rem;
  color:#0B1424;
  background:#ffffff;
  border:1.5px solid #E2E8F0;
  border-radius:10px;
  transition:border-color .2s,box-shadow .2s,background .2s;
  min-height:48px;
  box-sizing:border-box;
}
.form-field textarea{
  resize:vertical;
  min-height:140px;
  line-height:1.55;
}
.form-field input[type="text"]:focus,
.form-field input[type="email"]:focus,
.form-field input[type="tel"]:focus,
.form-field select:focus,
.form-field textarea:focus{
  outline:none;
  border-color:#368BFF;
  box-shadow:0 0 0 3px rgba(54,139,255,.15);
}
.form-field input.is-invalid,
.form-field select.is-invalid,
.form-field textarea.is-invalid{
  border-color:#DC2626;
  background:#FEF2F2;
}
.form-field input.is-invalid:focus,
.form-field select.is-invalid:focus,
.form-field textarea.is-invalid:focus{
  box-shadow:0 0 0 3px rgba(220,38,38,.15);
}
.form-field select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23526176'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .75rem center;
  background-size:20px;
  padding-right:2.5rem;
  cursor:pointer;
}
.form-field input::placeholder,
.form-field textarea::placeholder{
  color:#94a3b8;
}

/* ---------- Field hints & errors ---------- */
.field-hint{
  font-size:.78rem;
  color:#94a3b8;
  display:flex;
  justify-content:space-between;
}
.field-error{
  font-size:.8rem;
  color:#DC2626;
  font-weight:500;
  min-height:1em;
  opacity:0;
  transition:opacity .2s;
}
.field-error.is-visible{opacity:1;}

/* ---------- Checkbox ---------- */
.form-field-checkbox{padding-top:.5rem;}
.checkbox-label{
  display:flex !important;
  gap:.75rem;
  align-items:flex-start;
  cursor:pointer;
  font-family:'Inter',system-ui,sans-serif !important;
  font-weight:400 !important;
  color:#526176 !important;
  font-size:.85rem !important;
  line-height:1.55;
  text-transform:none;
  letter-spacing:normal;
}
.checkbox-label input[type="checkbox"]{
  flex-shrink:0;
  width:20px;
  height:20px;
  margin-top:2px;
  accent-color:#2476D2;
  cursor:pointer;
}

/* ---------- Submit row ---------- */
.form-submit-row{
  display:flex;
  flex-direction:column;
  gap:.85rem;
  padding-top:1rem;
  border-top:1px solid #E2E8F0;
  margin-top:.5rem;
}
.btn-submit{
  align-self:flex-start;
  padding:1rem 2rem;
  font-size:1rem;
  min-width:200px;
  position:relative;
}
.btn-submit-loading{
  display:none;
  align-items:center;
  gap:.5rem;
}
.btn-submit.is-loading .btn-submit-label{display:none;}
.btn-submit.is-loading .btn-submit-loading{display:inline-flex;}
.btn-submit.is-loading{
  opacity:.8;
  cursor:not-allowed;
  pointer-events:none;
}
.spin{animation:contactSpin 1s linear infinite;}
@keyframes contactSpin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
.form-submit-note{
  font-size:.82rem;
  color:#526176;
  margin:0;
}
.form-submit-note a{color:#2476D2;}

/* ---------- Honeypot ---------- */
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

/* ---------- Sidebar ---------- */
.contact-sidebar{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.contact-sidebar-card{
  background:#ffffff;
  border-radius:16px;
  padding:1.75rem;
  border:1px solid #E2E8F0;
}
.contact-sidebar-card h3{
  font-size:1.05rem;
  margin:0 0 .65rem;
  color:#0B1424;
}
.contact-sidebar-card > p{
  font-size:.88rem;
  color:#526176;
  margin:0 0 1rem;
}
.contact-sidebar-card-dark{
  background:#0B1424;
  color:#c6d3e6;
  border:none;
  position:relative;
  overflow:hidden;
}
.contact-sidebar-card-dark::before{
  content:"";
  position:absolute;
  top:-40px;
  right:-40px;
  width:120px;
  height:120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(54,139,255,.3),transparent 70%);
  pointer-events:none;
}
.contact-sidebar-card-dark h3{
  color:#ffffff;
  position:relative;
}
.contact-sidebar-card-dark > p{
  color:#a8bcd6;
  position:relative;
}
.contact-big-phone{
  display:flex;
  align-items:center;
  gap:.65rem;
  font-family:'Manrope','Inter',sans-serif;
  font-size:1.4rem;
  font-weight:800;
  color:#ffffff;
  text-decoration:none;
  margin-bottom:.5rem;
  position:relative;
}
.contact-big-phone:hover{
  color:#9dc7ff;
  text-decoration:none;
}
.contact-big-phone svg{color:#5ea5ff;flex-shrink:0;}
.contact-hours{
  font-size:.82rem;
  color:#8fa6c4;
  margin:0;
  position:relative;
}
.contact-details-list{
  display:flex;
  flex-direction:column;
  gap:1rem;
  margin:0;
}
.contact-details-list > div{margin:0;}
.contact-details-list dt{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#2476D2;
  margin-bottom:.2rem;
}
.contact-details-list dd{
  margin:0;
  font-family:'Manrope','Inter',sans-serif;
  font-size:.92rem;
  font-weight:600;
  color:#0B1424;
  word-break:break-word;
}
.contact-details-list dd a{color:#0B1424;}
.contact-details-list dd a:hover{color:#2476D2;}

.contact-sidebar-card-light{background:#F4F7FB;}
.contact-next-steps{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:.85rem;
}
.contact-next-steps li{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  font-size:.85rem;
  color:#526176;
  line-height:1.55;
}
.contact-next-num{
  flex-shrink:0;
  width:26px;
  height:26px;
  border-radius:50%;
  background:linear-gradient(135deg,#1769D2 0%,#40A0FF 100%);
  color:#ffffff;
  font-size:.75rem;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:.1rem;
}

.contact-sidebar-card-note{
  background:#FEF3E7;
  border-color:rgba(245,158,11,.25);
}
.contact-sidebar-card-note h3{color:#78350F;}
.contact-sidebar-card-note p{
  font-size:.82rem;
  color:#92400E;
  margin:0;
  line-height:1.6;
}

/* ---------- Contact FAQ ---------- */
.contact-faq-section{
  background:#ffffff;
  padding:4.5rem 0;
}

/* ---------- Contact responsive ---------- */
@media (max-width:1024px){
  .contact-grid{
    grid-template-columns:1fr;
    gap:2rem;
  }
  .contact-form-wrap{padding:2rem;}
}
@media (max-width:768px){
  .contact-hero{padding:3rem 0 2.5rem;}
  .contact-hero-trust{gap:1rem;padding-top:1rem;}
  .form-row{
    grid-template-columns:1fr;
    gap:1rem;
  }
  .contact-form-wrap{padding:1.5rem;}
  .btn-submit{
    width:100%;
    align-self:stretch;
    min-width:0;
  }
  .contact-big-phone{font-size:1.15rem;}
  .contact-sidebar-card{padding:1.35rem;}
}
@media (max-width:480px){
  .contact-form-wrap{padding:1.25rem;}
  .contact-form-head h2{font-size:1.25rem;}
  .form-field input[type="text"],
  .form-field input[type="email"],
  .form-field input[type="tel"],
  .form-field select,
  .form-field textarea{
    font-size:16px; /* prevents iOS zoom on focus */
  }
}

/* ============================================================
   ELIGIBILITY PAGE
   ============================================================ */

/* ---------- Hero ---------- */
.elig-hero{
  position:relative;
  background:
    radial-gradient(900px 500px at 15% 0%,rgba(54,139,255,.18),transparent 60%),
    radial-gradient(700px 400px at 90% 100%,rgba(123,63,228,.1),transparent 60%),
    var(--navy-900);
  color:#e5eefb;
  padding:4.5rem 0 5rem;
  overflow:hidden;
}
.elig-hero-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(54,139,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(54,139,255,.05) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse at 30% 50%,black 25%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at 30% 50%,black 25%,transparent 75%);
}
.elig-hero-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:3.5rem;
  align-items:center;
  position:relative;
  z-index:1;
}
.elig-hero-copy h1{
  color:#fff;
  font-size:clamp(2.1rem,4.4vw,3.4rem);
  line-height:1.1;
  margin-bottom:1.1rem;
  letter-spacing:-.02em;
}
.elig-hero-copy .lead{
  font-size:1.06rem;
  color:#c6d3e6;
  max-width:54ch;
  margin-bottom:1.75rem;
}
.elig-hero-actions{
  display:flex;
  gap:.85rem;
  flex-wrap:wrap;
  margin-bottom:1.25rem;
}

/* ---------- Self-check widget ---------- */
.elig-check-card{
  background:var(--navy-800);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius-lg);
  padding:2rem;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
  position:relative;
}
.elig-check-card__head{
  display:flex;
  align-items:center;
  gap:.85rem;
  margin-bottom:1.25rem;
  padding-bottom:1.15rem;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.elig-check-card__icon{
  width:44px;
  height:44px;
  border-radius:12px;
  background:var(--grad);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 20px rgba(54,139,255,.35);
  flex-shrink:0;
}
.elig-check-card__head strong{
  display:block;
  color:#fff;
  font-family:var(--font-head);
  font-size:1rem;
  font-weight:800;
  margin-bottom:.15rem;
}
.elig-check-card__head span{
  color:#8fa6c4;
  font-size:.78rem;
}
.elig-check-card__intro{
  font-size:.85rem;
  color:#a8bcd6;
  margin-bottom:1.5rem;
  line-height:1.55;
}
.elig-check-list{
  display:flex;
  flex-direction:column;
  gap:.55rem;
  margin-bottom:1.5rem;
}
.elig-check-item{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  padding:.85rem .95rem;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  cursor:pointer;
  transition:all .2s ease;
  margin:0;
}
.elig-check-item:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(94,165,255,.35);
}
.elig-check-item:has(input:checked){
  background:rgba(54,139,255,.12);
  border-color:rgba(94,165,255,.5);
}
.elig-check-item input[type="checkbox"]{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
}
.elig-check-box{
  flex-shrink:0;
  width:20px;
  height:20px;
  border-radius:6px;
  border:2px solid rgba(255,255,255,.3);
  background:rgba(255,255,255,.04);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:1px;
  transition:all .2s ease;
  position:relative;
}
.elig-check-box::after{
  content:"";
  width:10px;
  height:6px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg) scale(0);
  transition:transform .2s ease;
  margin-top:-2px;
}
.elig-check-item input:checked + .elig-check-box{
  background:var(--grad);
  border-color:transparent;
}
.elig-check-item input:checked + .elig-check-box::after{
  transform:rotate(-45deg) scale(1);
}
.elig-check-text{
  display:flex;
  flex-direction:column;
  gap:.15rem;
  flex:1;
}
.elig-check-text strong{
  color:#fff;
  font-size:.88rem;
  font-weight:600;
  line-height:1.35;
}
.elig-check-text em{
  color:#8fa6c4;
  font-size:.76rem;
  font-style:normal;
  line-height:1.4;
}

.elig-check-progress{
  margin-bottom:1.25rem;
  padding-top:1.15rem;
  border-top:1px solid rgba(255,255,255,.1);
}
.elig-check-progress__bar{
  height:6px;
  background:rgba(255,255,255,.08);
  border-radius:999px;
  overflow:hidden;
  margin-bottom:.65rem;
}
.elig-check-progress__bar span{
  display:block;
  height:100%;
  background:var(--grad);
  border-radius:999px;
  transition:width .35s cubic-bezier(.16,1,.3,1);
}
.elig-check-progress__meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:.82rem;
}
.elig-check-progress__meta strong{
  color:#fff;
  font-weight:700;
}
.elig-check-progress__meta span{
  color:#8fa6c4;
  font-weight:600;
  transition:color .2s ease;
}
.elig-check-progress__meta span.is-ready{
  color:#5ea5ff;
}

/* ---------- Factors section ---------- */
.elig-factors-section{
  background:var(--bg-light);
  padding:5rem 0;
}
.elig-factors-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.25rem;
  max-width:1000px;
  margin:0 auto;
}
.elig-factor{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:border-color .25s ease,box-shadow .25s ease;
}
.elig-factor:hover{
  border-color:rgba(36,118,210,.3);
  box-shadow:0 12px 30px rgba(11,20,36,.06);
}
.elig-factor[open]{
  border-color:rgba(36,118,210,.35);
  box-shadow:0 15px 40px rgba(36,118,210,.1);
}
.elig-factor > summary{
  padding:1.35rem 1.5rem;
  display:flex;
  align-items:center;
  gap:1rem;
  cursor:pointer;
  list-style:none;
  position:relative;
  user-select:none;
}
.elig-factor > summary::-webkit-details-marker{display:none;}
.elig-factor > summary::marker{display:none;}
.elig-factor__num{
  font-family:var(--font-head);
  font-size:1.5rem;
  font-weight:800;
  color:rgba(36,118,210,.25);
  line-height:1;
  flex-shrink:0;
  min-width:44px;
  transition:color .25s ease;
}
.elig-factor[open] .elig-factor__num{
  color:var(--blue-500);
}
.elig-factor__title{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:.15rem;
  min-width:0;
}
.elig-factor__title strong{
  color:var(--navy-900);
  font-family:var(--font-head);
  font-size:1rem;
  font-weight:700;
  line-height:1.3;
}
.elig-factor__title em{
  color:var(--text-body);
  font-size:.78rem;
  font-style:normal;
  line-height:1.3;
}
.elig-factor__chevron{
  flex-shrink:0;
  color:#94a3b8;
  transition:transform .3s ease,color .25s ease;
}
.elig-factor[open] .elig-factor__chevron{
  transform:rotate(180deg);
  color:var(--blue-600);
}
.elig-factor__body{
  padding:0 1.5rem 1.5rem;
  border-top:1px solid var(--border);
  padding-top:1.15rem;
  animation:eligFade .3s ease;
}
@keyframes eligFade{
  from{opacity:0;transform:translateY(-4px);}
  to{opacity:1;transform:translateY(0);}
}
.elig-factor__body p{
  font-size:.92rem;
  color:var(--text-body);
  line-height:1.65;
  margin-bottom:.85rem;
}
.elig-factor__body p:last-child{margin-bottom:0;}
.elig-factor__list{
  list-style:none;
  padding:0;
  margin:0 0 1rem;
  display:flex;
  flex-direction:column;
  gap:.4rem;
}
.elig-factor__list li{
  position:relative;
  padding-left:1.5rem;
  font-size:.88rem;
  color:var(--text-body);
  line-height:1.55;
}
.elig-factor__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55rem;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--blue-500);
}
.elig-factor__note{
  font-size:.82rem;
  color:#6b7c93;
  background:var(--bg-light);
  border-left:3px solid var(--blue-500);
  padding:.75rem .9rem;
  border-radius:0 8px 8px 0;
  margin:0 !important;
}

/* ---------- Prep section ---------- */
.elig-prep-section{
  background:#fff;
  padding:5rem 0;
}
.elig-prep-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
  margin-bottom:2rem;
}
.elig-prep-card{
  position:relative;
  padding:2rem 1.5rem 1.75rem;
  background:var(--bg-light);
  border-radius:var(--radius-lg);
  border:1px solid transparent;
  transition:all .3s ease;
}
.elig-prep-card:hover{
  background:#EAF2FB;
  border-color:rgba(36,118,210,.2);
  transform:translateY(-4px);
}
.elig-prep-card__num{
  position:absolute;
  top:1.25rem;
  right:1.5rem;
  font-family:var(--font-head);
  font-size:3rem;
  font-weight:800;
  color:rgba(36,118,210,.08);
  line-height:1;
  letter-spacing:-.04em;
}
.elig-prep-card__icon{
  width:52px;
  height:52px;
  border-radius:14px;
  background:var(--grad-soft);
  color:var(--blue-600);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1rem;
  transition:all .3s ease;
}
.elig-prep-card:hover .elig-prep-card__icon{
  background:var(--grad);
  color:#fff;
  transform:scale(1.08) rotate(-5deg);
}
.elig-prep-card h3{
  font-size:1.05rem;
  margin-bottom:.5rem;
  position:relative;
}
.elig-prep-card p{
  font-size:.9rem;
  color:var(--text-body);
  margin:0;
  line-height:1.55;
  position:relative;
}
.elig-prep-note{
  max-width:640px;
  margin:0 auto;
  text-align:center;
  padding:1rem 1.25rem;
  background:rgba(54,139,255,.08);
  border-radius:12px;
  font-size:.9rem;
  color:var(--text-body);
}
.elig-prep-note strong{color:var(--navy-900);}

/* ---------- FAQ section ---------- */
.elig-faq-section{
  background:var(--bg-light);
  padding:5rem 0;
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .elig-hero-grid{
    grid-template-columns:1fr;
    gap:2.5rem;
  }
  .elig-hero{padding:3.5rem 0 4rem;}
  .elig-factors-grid{grid-template-columns:1fr;}
  .elig-prep-grid{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .elig-hero{padding:3rem 0 3.5rem;}
  .elig-check-card{padding:1.5rem;}
  .elig-check-card__head{padding-bottom:1rem;margin-bottom:1rem;}
  .elig-hero-actions{flex-direction:column;}
  .elig-hero-actions .btn{width:100%;}
  .elig-factor > summary{padding:1.15rem 1.25rem;}
  .elig-factor__body{padding:0 1.25rem 1.25rem;padding-top:1rem;}
  .elig-factor__num{font-size:1.25rem;min-width:36px;}
  .elig-prep-card{padding:1.75rem 1.35rem;}
  .elig-prep-card__num{font-size:2.4rem;top:1rem;right:1.35rem;}
}
@media (max-width:480px){
  .elig-check-item{padding:.75rem .85rem;}
  .elig-check-text strong{font-size:.85rem;}
  .elig-check-text em{font-size:.73rem;}
  .elig-check-card__head strong{font-size:.92rem;}
  .elig-factor__title strong{font-size:.92rem;}
  .elig-factor__title em{font-size:.74rem;}
  .elig-factor__list li{font-size:.84rem;}
  .elig-prep-card__num{font-size:2rem;}
}


/* ============================================================
   LEGAL PAGES — Refund / Privacy / Terms / Cancellation / Disclosure
   ============================================================ */

/* ---------- Hero ---------- */
.legal-hero{
  position:relative;
  background:
    radial-gradient(800px 400px at 20% 0%,rgba(54,139,255,.15),transparent 60%),
    radial-gradient(600px 300px at 90% 100%,rgba(123,63,228,.08),transparent 60%),
    var(--navy-900);
  color:#e5eefb;
  padding:4.5rem 0 4rem;
  overflow:hidden;
}
.legal-hero-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(54,139,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(54,139,255,.04) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse at 40% 50%,black 20%,transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse at 40% 50%,black 20%,transparent 70%);
}
.legal-hero-inner{
  position:relative;
  z-index:1;
  max-width:820px;
}
.legal-hero h1{
  color:#fff;
  font-size:clamp(2rem,4vw,3rem);
  margin-bottom:1rem;
  letter-spacing:-.02em;
}
.legal-hero-lead{
  font-size:1.08rem;
  color:#c6d3e6;
  max-width:60ch;
  margin-bottom:1.5rem;
}
.legal-hero-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.65rem;
  padding-top:1.25rem;
  border-top:1px solid rgba(255,255,255,.1);
  font-size:.85rem;
  color:#8fa6c4;
}
.legal-hero-meta strong{
  color:#5ea5ff;
  font-weight:600;
}
.legal-hero-dot{
  color:#5ea5ff;
  opacity:.6;
}

/* ---------- Layout (TOC + content) ---------- */
.legal-section{
  background:var(--bg-light);
  padding:4rem 0 5rem;
}
.legal-layout{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:2.5rem;
  align-items:start;
}

/* ---------- Sidebar TOC ---------- */
.legal-toc{
  position:sticky;
  top:88px;
  align-self:start;
}
.legal-toc__inner{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:1.5rem;
  box-shadow:var(--shadow);
}
.legal-toc__title{
  font-family:var(--font-head);
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--blue-600);
  margin-bottom:1rem;
  padding-bottom:.75rem;
  border-bottom:1px solid var(--border);
}
.legal-toc__list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:.1rem;
}
.legal-toc__list a{
  display:block;
  padding:.45rem .7rem;
  font-size:.85rem;
  color:var(--text-body);
  border-radius:6px;
  text-decoration:none;
  transition:all .15s ease;
  border-left:2px solid transparent;
}
.legal-toc__list a:hover{
  background:var(--bg-light);
  color:var(--navy-900);
  border-left-color:var(--blue-500);
  padding-left:.9rem;
}
.legal-toc__cta{
  margin-top:1.25rem;
  padding-top:1.25rem;
  border-top:1px solid var(--border);
}
.legal-toc__cta p{
  font-size:.82rem;
  color:var(--text-body);
  margin-bottom:.75rem;
}
.legal-toc__cta .btn{
  width:100%;
  font-size:.85rem;
  padding:.7rem 1rem;
  min-height:40px;
}

/* ---------- Content ---------- */
.legal-content{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:2.5rem 3rem;
  box-shadow:var(--shadow);
  max-width:none;
}
.legal-content h2{
  font-size:1.35rem;
  color:var(--navy-900);
  margin-top:2.5rem;
  margin-bottom:1rem;
  padding-top:1.5rem;
  border-top:1px solid var(--border);
  scroll-margin-top:100px;
}
.legal-content h2:first-of-type{
  margin-top:0;
  padding-top:0;
  border-top:0;
}
.legal-content h3{
  font-size:1.05rem;
  color:var(--navy-900);
  margin-top:1.75rem;
  margin-bottom:.65rem;
}
.legal-content p{
  font-size:.95rem;
  color:var(--text-body);
  line-height:1.75;
  margin-bottom:1rem;
}
.legal-content p:last-child{margin-bottom:0;}
.legal-content ul,
.legal-content ol{
  margin:0 0 1.25rem;
  padding-left:1.5rem;
}
.legal-content ul{list-style:disc;}
.legal-content ol{list-style:decimal;}
.legal-content li{
  font-size:.95rem;
  color:var(--text-body);
  line-height:1.7;
  margin-bottom:.55rem;
  padding-left:.25rem;
}
.legal-content li::marker{
  color:var(--blue-600);
  font-weight:700;
}
.legal-content li > ul,
.legal-content li > ol{
  margin-top:.5rem;
  margin-bottom:.25rem;
}
.legal-content strong{
  color:var(--navy-900);
  font-weight:600;
}
.legal-content a{
  color:var(--blue-600);
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:1px;
}
.legal-content a:hover{
  color:var(--blue-500);
  text-decoration-thickness:2px;
}

/* ---------- Callouts ---------- */
.legal-callout{
  display:flex;
  gap:1rem;
  padding:1.15rem 1.25rem;
  border-radius:12px;
  margin:1.5rem 0;
  font-size:.92rem;
  line-height:1.6;
  border:1px solid transparent;
}
.legal-callout strong{color:var(--navy-900);font-weight:700;}
.legal-callout__icon{
  flex-shrink:0;
  width:32px;
  height:32px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.legal-callout--info{
  background:rgba(37,99,235,.06);
  border-color:rgba(37,99,235,.2);
  color:var(--text-body);
}
.legal-callout--info .legal-callout__icon{
  background:rgba(37,99,235,.15);
  color:#2563EB;
}
.legal-callout--warn{
  background:rgba(245,158,11,.08);
  border-color:rgba(245,158,11,.25);
  color:#78350F;
}
.legal-callout--warn .legal-callout__icon{
  background:rgba(245,158,11,.18);
  color:#D97706;
}
.legal-callout--warn strong{color:#92400E;}

/* ---------- Tables ---------- */
.legal-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
  margin:1.25rem 0;
  font-size:.9rem;
}
.legal-table thead th{
  background:#F5F8FC;
  color:var(--navy-900);
  font-weight:700;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  padding:.85rem 1.1rem;
  text-align:left;
  border-bottom:1px solid var(--border);
}
.legal-table tbody td{
  padding:.85rem 1.1rem;
  color:var(--text-body);
  border-bottom:1px solid var(--border);
  line-height:1.55;
  vertical-align:top;
}
.legal-table tbody tr:last-child td{border-bottom:0;}
.legal-table tbody tr:nth-child(even){background:#FAFCFE;}
.legal-table tbody tr:hover{background:rgba(54,139,255,.04);}
.legal-table tbody td:first-child{
  color:var(--navy-900);
  font-weight:600;
}

/* ---------- Inline contact block ---------- */
.legal-contact-block{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  padding:1.25rem;
  background:var(--bg-light);
  border-radius:12px;
  margin:1.25rem 0;
}
.legal-contact-block > div{
  display:flex;
  flex-direction:column;
  gap:.25rem;
}
.legal-contact-block strong{
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--blue-600);
  font-weight:700;
}
.legal-contact-block a,
.legal-contact-block span{
  font-family:var(--font-head);
  font-size:.95rem;
  font-weight:600;
  color:var(--navy-900);
  text-decoration:none;
  word-break:break-word;
}
.legal-contact-block a:hover{
  color:var(--blue-600);
  text-decoration:underline;
}

/* ---------- Contact list at bottom ---------- */
.legal-contact-list{
  list-style:none;
  padding:0;
  margin:1rem 0 1.5rem;
  display:flex;
  flex-direction:column;
  gap:.55rem;
}
.legal-contact-list li{
  padding:.7rem 1rem;
  background:var(--bg-light);
  border-radius:8px;
  font-size:.92rem;
  color:var(--text-body);
  border:1px solid transparent;
  transition:border-color .2s ease;
}
.legal-contact-list li:hover{
  border-color:rgba(54,139,255,.25);
}
.legal-contact-list strong{
  display:inline-block;
  min-width:120px;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--blue-600);
  font-weight:700;
}
.legal-contact-list a{
  color:var(--navy-900);
  font-weight:600;
  text-decoration:none;
  word-break:break-word;
}
.legal-contact-list a:hover{
  color:var(--blue-600);
  text-decoration:underline;
}

/* ---------- Footer actions ---------- */
.legal-footer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:2.5rem;
  padding-top:1.75rem;
  border-top:1px solid var(--border);
}
.legal-footer-actions .btn{
  font-size:.85rem;
  padding:.65rem 1.15rem;
  min-height:42px;
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .legal-layout{
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  .legal-toc{
    position:static;
    order:-1;
  }
  .legal-toc__list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.35rem;
  }
  .legal-toc__cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    flex-wrap:wrap;
  }
  .legal-toc__cta p{margin:0;}
  .legal-toc__cta .btn{width:auto;}
  .legal-content{padding:2rem;}
}
@media (max-width:768px){
  .legal-hero{padding:3.5rem 0 3rem;}
  .legal-hero-lead{font-size:1rem;}
  .legal-toc__list{grid-template-columns:1fr;}
  .legal-toc__cta{flex-direction:column;align-items:stretch;}
  .legal-toc__cta .btn{width:100%;}
  .legal-content{padding:1.5rem;}
  .legal-content h2{font-size:1.15rem;margin-top:2rem;padding-top:1.25rem;}
  .legal-content h3{font-size:.98rem;}
  .legal-content p,
  .legal-content li{font-size:.9rem;}
  .legal-contact-block{grid-template-columns:1fr;}
  .legal-table{font-size:.85rem;}
  .legal-table thead th,
  .legal-table tbody td{padding:.7rem .85rem;}
  .legal-footer-actions{flex-direction:column;}
  .legal-footer-actions .btn{width:100%;}
}
@media (max-width:480px){
  .legal-content{padding:1.25rem;}
  .legal-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .legal-callout{padding:1rem;gap:.75rem;font-size:.88rem;}
}

/* ---------- Print / PDF ---------- */
@media print{
  .legal-hero{
    background:#fff !important;
    color:#000 !important;
    padding:1rem 0 !important;
  }
  .legal-hero h1{color:#000 !important;}
  .legal-hero-lead{color:#333 !important;}
  .legal-hero-meta{color:#555 !important;border-color:#ccc !important;}
  .legal-hero-meta strong{color:#000 !important;}
  .legal-hero-bg{display:none;}
  .legal-toc{display:none;}
  .legal-section{padding:0;background:#fff;}
  .legal-content{
    box-shadow:none;
    border:0;
    padding:0;
    max-width:none;
  }
  .legal-content h2{page-break-after:avoid;}
  .legal-callout{border:1px solid #999 !important;}
  .legal-footer-actions,
  .cta-final,
  .site-header,
  .site-footer,
  .breadcrumbs,
  .sticky-mobile-call{display:none !important;}
}
