/* ── RESET & ROOT ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --green:#7ED957;--gd:#5ec93a;--gp:#f0fbe8;
  --teal:#79C9CC;--td:#5ab3b6;--tp:#edf8f9;
  --amber:#f5a623;--amberl:#fff8e8;
  --dark:#1a2332;--mid:#2d3f52;
  --text:#4a5568;--muted:#8a9bb0;
  --border:#e8edf2;--bg:#fff;--bg2:#f8fafb;
  --r:12px;--rl:20px;
  color-scheme: only light;
  --shadow:0 4px 20px rgba(26,35,50,.07);
  --shadowlg:0 12px 48px rgba(26,35,50,.14);
  --shadowmd:0 10px 36px rgba(26,35,50,.12);
  --max:1100px;
}
html{scroll-behavior:smooth}
body{font-family:"Nunito",sans-serif;color:var(--text);background:var(--bg);overflow-x:hidden;line-height:1.65}

/* ── NAV ── */
nav{background:rgba(255,255,255,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:0 5%;height:100px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:200;transition:box-shadow .25s}
nav.scrolled{box-shadow:0 2px 24px rgba(26,35,50,.09)}
.nav-logo img{height:80px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:24px}
.nav-links a{font-size:.84rem;font-weight:700;color:var(--muted);text-decoration:none;transition:color .15s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--dark)}
.nav-cta{background:var(--dark);color:#fff;padding:9px 20px;border-radius:50px;font-size:.82rem;font-weight:800;text-decoration:none;transition:background .15s;white-space:nowrap}
.nav-cta:hover{background:var(--mid)}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--dark);border-radius:2px}
.mobile-menu{display:none;position:fixed;inset:0;top:100px;background:#fff;z-index:199;padding:2rem 1.5rem;flex-direction:column;overflow-y:auto}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:1.05rem;font-weight:700;color:var(--dark);text-decoration:none;padding:.875rem 0;border-bottom:1px solid var(--border)}
.mobile-menu .mob-cta{margin-top:1.5rem;background:var(--dark);color:#fff;padding:14px 24px;border-radius:12px;text-align:center;border-bottom:none}

/* ── BREADCRUMB ── */
.breadcrumb{padding:.75rem 5%;background:var(--bg2);border-bottom:1px solid var(--border);font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.breadcrumb a{color:var(--muted);text-decoration:none;transition:color .15s}
.breadcrumb a:hover{color:var(--dark)}

/* ── SECTION SHELLS ── */
.section{padding:5rem 5%}
.section.alt{background:var(--bg2)}
.section.dark{background:var(--dark)}
.section-inner{max-width:var(--max);margin:0 auto}
.section-eyebrow{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--td);margin-bottom:.75rem}
.section.dark .section-eyebrow{color:rgba(126,217,87,.85)}
.section-title{font-family:"Merriweather",serif;font-size:clamp(1.5rem,2.6vw,2.1rem);color:var(--dark);line-height:1.25;margin-bottom:.75rem}
.section.dark .section-title{color:#fff}
.section-body{font-size:.97rem;color:var(--text);line-height:1.75;max-width:620px}
.section-header{margin-bottom:3rem}
.section-header.centered{text-align:center}
.section-header.centered .section-body{margin:0 auto}

/* ── BUTTONS ── */
.btn-primary{background:linear-gradient(135deg,var(--green),var(--gd));color:var(--dark);font-weight:800;font-size:.92rem;padding:13px 28px;border-radius:50px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;box-shadow:0 0 0 0 rgba(126,217,87,.4);transition:transform .2s,box-shadow .2s;white-space:nowrap}
.btn-primary:hover{transform:scale(1.03);box-shadow:0 0 0 8px rgba(126,217,87,.12),0 8px 32px rgba(126,217,87,.35)}
.btn-outline-white{border:1.5px solid rgba(255,255,255,.28);color:rgba(255,255,255,.88);font-weight:700;font-size:.88rem;padding:12px 24px;border-radius:50px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .18s;white-space:nowrap}
.btn-outline-white:hover{border-color:rgba(255,255,255,.55);color:#fff}
.btn-outline-dark{border:1.5px solid var(--border);color:var(--dark);font-weight:700;font-size:.88rem;padding:12px 24px;border-radius:50px;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all .18s;white-space:nowrap;background:var(--bg)}
.btn-outline-dark:hover{border-color:var(--td);color:var(--td)}

/* ══════════════════════════════════════════════════════════════════
   MODERN ANIMATION SYSTEM
   ══════════════════════════════════════════════════════════════════ */

/* ── WORD-BY-WORD HERO REVEAL (Apple-style) ── */
.word-wrap{display:inline-block;overflow:hidden;vertical-align:bottom;line-height:1.1}
.word-inner{display:inline-block;transform:translateY(110%);animation:wordUp .75s cubic-bezier(.16,1,.3,1) forwards}
@keyframes wordUp{
  0%{transform:translateY(110%)}
  65%{transform:translateY(-3%)}
  82%{transform:translateY(1.5%)}
  100%{transform:translateY(0)}
}

/* ── HERO ENTRY ANIMATIONS ── */
.hero-ey-anim{opacity:0;animation:fadeUp .5s .05s forwards}
.hero-sub-anim{opacity:0;animation:fadeUp .6s .88s forwards}
.hero-pills-anim{opacity:0;animation:fadeUp .5s .95s forwards}
.hero-cta-anim{opacity:0;animation:fadeUp .5s 1.1s forwards}
.hero-trust-anim{opacity:0;animation:fadeUp .5s 1.2s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Word delay cascade */
.w1{animation-delay:.12s}.w2{animation-delay:.19s}.w3{animation-delay:.26s}.w4{animation-delay:.33s}
.w5{animation-delay:.40s}.w6{animation-delay:.47s}.w7{animation-delay:.54s}.w8{animation-delay:.61s}
.w9{animation-delay:.68s}.w10{animation-delay:.75s}.w11{animation-delay:.82s}.w12{animation-delay:.89s}

/* ── HERO TOOL ENTRY ── */
.hero-tool-anim{opacity:0;animation:toolIn .85s .25s cubic-bezier(.16,1,.3,1) forwards}
@keyframes toolIn{
  0%{opacity:0;transform:translateX(32px) scale(.96)}
  65%{transform:translateX(-4px) scale(1.005)}
  100%{opacity:1;transform:none}
}

/* ── SCROLL REVEAL — clip-path unmask (not fade) ── */
.rv{opacity:0;transform:translateY(32px);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:translateY(0)}

/* Stagger grids */
.rv-grid>*{opacity:0;transform:translateY(28px);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1)}
.rv-grid.in>*{opacity:1;transform:none}
.rv-grid.in>*:nth-child(1){transition-delay:.04s}
.rv-grid.in>*:nth-child(2){transition-delay:.10s}
.rv-grid.in>*:nth-child(3){transition-delay:.16s}
.rv-grid.in>*:nth-child(4){transition-delay:.22s}
.rv-grid.in>*:nth-child(5){transition-delay:.28s}
.rv-grid.in>*:nth-child(6){transition-delay:.34s}

/* ── HERO SECTION ── */
.hero{background:var(--dark);padding:4.5rem 5% 0;position:relative;overflow:hidden}

/* Floating ambient orbs */
.hero-orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;will-change:transform}
.orb-a{width:520px;height:520px;background:rgba(126,217,87,.11);top:-120px;right:-60px;animation:driftA 20s ease-in-out infinite}
.orb-b{width:360px;height:360px;background:rgba(121,201,204,.08);bottom:-40px;left:6%;animation:driftB 28s ease-in-out infinite}
.orb-c{width:220px;height:220px;background:rgba(245,166,35,.055);top:35%;right:22%;animation:driftC 22s ease-in-out infinite}
@keyframes driftA{0%,100%{transform:translate(0,0) scale(1)}35%{transform:translate(-28px,18px) scale(1.04)}70%{transform:translate(18px,-14px) scale(.97)}}
@keyframes driftB{0%,100%{transform:translate(0,0)}50%{transform:translate(38px,-28px) scale(1.07)}}
@keyframes driftC{0%,100%{transform:translate(0,0)}42%{transform:translate(-18px,26px)}72%{transform:translate(22px,-8px)}}

/* Perspective grid — depth cue */
.hero-perspective-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;transform:perspective(900px) rotateX(22deg) scale(1.35) translateY(-5%);transform-origin:50% 0;opacity:.45;pointer-events:none;mask-image:linear-gradient(to bottom,transparent 0%,black 20%,black 70%,transparent 100%)}

.hero-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 370px;gap:4rem;align-items:start;position:relative;z-index:1}

.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(126,217,87,.12);border:1px solid rgba(126,217,87,.25);border-radius:50px;padding:5px 14px;margin-bottom:1.375rem;font-size:.72rem;font-weight:800;color:var(--green);letter-spacing:.1em;text-transform:uppercase}
.hero-dot{width:6px;height:6px;background:var(--green);border-radius:50%;animation:dotPulse 2s infinite}
@keyframes dotPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.55)}}

.hero-h1{font-family:"Merriweather",serif;font-size:clamp(1.85rem,2.8vw,2.5rem);color:#fff;line-height:1.14;margin-bottom:1.25rem}
.hero-h1 em{color:var(--green);font-style:normal}
.hero-sub{font-size:1rem;color:rgba(255,255,255,.56);line-height:1.78;max-width:480px;margin-bottom:1.75rem}
.hero-pills{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:1.875rem}
.hero-pill{display:inline-flex;align-items:center;padding:5px 13px;border-radius:50px;border:1px solid rgba(255,255,255,.15);font-size:.73rem;font-weight:700;color:rgba(255,255,255,.55);cursor:pointer;transition:border-color .25s,color .25s,background .25s,transform .2s cubic-bezier(.34,1.56,.64,1);text-decoration:none}
.hero-pill:hover{border-color:var(--green);color:var(--green);background:rgba(126,217,87,.1);transform:translateY(-2px)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:2rem}
.hero-trust{display:flex;gap:20px;flex-wrap:wrap}
.htrust{display:flex;align-items:center;gap:7px;font-size:.76rem;font-weight:700;color:rgba(255,255,255,.38)}
.htrust svg{color:rgba(126,217,87,.55);flex-shrink:0}

/* ── HERO TOOL (glassmorphism) ── */
.hero-tool{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:20px;overflow:hidden;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.ht-head{background:rgba(0,0,0,.25);padding:13px 18px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between}
.ht-head-title{font-size:.8rem;font-weight:800;color:rgba(255,255,255,.6)}
.ht-head-link{font-size:.74rem;font-weight:700;color:var(--teal);text-decoration:none;transition:opacity .15s}
.ht-head-link:hover{opacity:.75}
.ht-body{padding:12px 14px;display:grid;grid-template-columns:1fr 1fr;gap:7px}
.ht-tile{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid rgba(255,255,255,.09);border-radius:12px;cursor:pointer;transition:border-color .2s,background .2s,transform .2s cubic-bezier(.34,1.56,.64,1);background:rgba(255,255,255,.03)}
.ht-tile:hover{border-color:rgba(121,201,204,.45);background:rgba(121,201,204,.1);transform:scale(1.02)}
.ht-tile.sel{border-color:var(--teal);background:rgba(121,201,204,.14)}
.ht-tile-icon{width:26px;height:26px;border-radius:7px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:rgba(255,255,255,.4);transition:all .2s}
.ht-tile:hover .ht-tile-icon,.ht-tile.sel .ht-tile-icon{background:rgba(121,201,204,.2);color:var(--teal)}
.ht-tile-label{font-size:.73rem;font-weight:700;color:rgba(255,255,255,.48);transition:color .2s;line-height:1.2}
.ht-tile:hover .ht-tile-label,.ht-tile.sel .ht-tile-label{color:rgba(255,255,255,.9)}
.ht-foot{padding:12px 14px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;gap:8px}
.ht-cta{background:linear-gradient(135deg,var(--green),var(--gd));color:var(--dark);font-weight:800;font-size:.82rem;padding:9px 18px;border-radius:50px;border:none;cursor:pointer;font-family:"Nunito",sans-serif;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;box-shadow:0 4px 16px rgba(126,217,87,.28)}
.ht-cta:hover{transform:scale(1.05);box-shadow:0 6px 22px rgba(126,217,87,.42)}
.ht-disc{font-size:.67rem;color:rgba(255,255,255,.24)}

/* ── STATS STRIP (inside hero dark bg) ── */
.stats-strip{border-top:1px solid rgba(255,255,255,.08);margin-top:3rem;display:flex;max-width:var(--max);margin-left:auto;margin-right:auto}
.stat{flex:1;padding:1.25rem .75rem;text-align:center;border-right:1px solid rgba(255,255,255,.08)}
.stat:last-child{border-right:none}
.stat-n{font-family:"Merriweather",serif;font-size:1.8rem;font-weight:700;color:var(--green);line-height:1}
.stat-n span{font-size:1rem}
.stat-l{font-size:.72rem;color:rgba(255,255,255,.3);line-height:1.4;margin-top:.375rem}

/* ── AUDIENCE GRID (3D magnetic tilt via JS) ── */
.aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.aud-card{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:1.75rem;text-decoration:none;display:flex;flex-direction:column;transform-style:preserve-3d;will-change:transform;transition:box-shadow .3s,border-color .3s,background .5s;position:relative}
.aud-card::before{content:none}
.aud-card.ag:hover,.aud-card.ag.tapped,.aud-card.ag.highlight{box-shadow:inset 3px 0 0 var(--green),0 20px 48px rgba(26,35,50,.1)}
.aud-card.at:hover,.aud-card.at.tapped,.aud-card.at.highlight{box-shadow:inset 3px 0 0 var(--teal),0 20px 48px rgba(26,35,50,.1)}
.aud-card.aa:hover,.aud-card.aa.tapped,.aud-card.aa.highlight{box-shadow:inset 3px 0 0 var(--amber),0 20px 48px rgba(26,35,50,.1)}
.aud-card:hover{border-color:transparent}

.aud-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.125rem;flex-shrink:0}
.ag .aud-icon{background:var(--gp)}.at .aud-icon{background:var(--tp)}.aa .aud-icon{background:var(--amberl)}
.aud-title{font-size:.97rem;font-weight:800;color:var(--dark);margin-bottom:.45rem;line-height:1.2}
.aud-desc{font-size:.81rem;color:var(--text);line-height:1.62;flex:1}
.aud-link{font-size:.78rem;font-weight:800;display:flex;align-items:center;gap:5px;margin-top:1rem;transition:gap .2s}
.ag .aud-link{color:var(--gd)}.at .aud-link{color:var(--td)}.aa .aud-link{color:#c47a00}
.aud-card:hover .aud-link{gap:9px}

/* ── CREDIBILITY ── */
.cred-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.cred-lead{font-family:"Merriweather",serif;font-size:clamp(1.2rem,2vw,1.65rem);color:var(--dark);line-height:1.32;margin-bottom:1.125rem}
.cred-body{font-size:.95rem;color:var(--text);line-height:1.78;margin-bottom:1rem}
.cred-review{margin-top:1.875rem;background:var(--bg);border-left:3px solid var(--teal);padding:1.25rem 1.5rem;border-radius:0 12px 12px 0}
.cred-stars{color:var(--amber);font-size:.82rem;margin-bottom:.5rem}
.cred-quote{font-size:.9rem;color:var(--text);line-height:1.72;font-style:italic;margin-bottom:.5rem}
.cred-source{font-size:.74rem;color:var(--muted);font-weight:700}
.cred-stats{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}
.cred-stat-card{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:1.25rem 1.375rem}
.cred-num{font-family:"Merriweather",serif;font-size:2rem;font-weight:700;color:var(--dark);line-height:1;margin-bottom:.375rem}
.cred-num span{font-size:1rem;color:var(--td)}
.cred-text{font-size:.79rem;color:var(--text);line-height:1.55}

/* ── COVERAGE TYPES ── */
.cov-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.cov-type-card{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:1.75rem;display:flex;flex-direction:column;gap:.5rem;transition:box-shadow .3s;position:relative;overflow:hidden}
.cov-type-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;opacity:0;transition:opacity .3s,height .2s}
.cov-type-card:hover::after{opacity:1}
.cov-type-card.ct::after{background:linear-gradient(90deg,var(--teal),var(--td))}
.cov-type-card.cg::after{background:linear-gradient(90deg,var(--green),var(--gd))}
.cov-type-card.ca::after{background:linear-gradient(90deg,var(--amber),#c47a00)}
.cov-type-card:hover{box-shadow:0 16px 48px rgba(26,35,50,.1)}
.cov-type-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:.375rem}
.ct .cov-type-icon{background:var(--tp)}.cg .cov-type-icon{background:var(--gp)}.ca .cov-type-icon{background:var(--amberl)}
.cov-type-name{font-size:.97rem;font-weight:800;color:var(--dark)}
.cov-type-desc{font-size:.82rem;color:var(--text);line-height:1.62;flex:1}

/* ── HOW IT WORKS ── */
.hiw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;position:relative}
.hiw-grid::before{content:"";position:absolute;top:27px;left:calc(16.67% + 28px);right:calc(16.67% + 28px);height:1px;background:linear-gradient(90deg,var(--green),var(--teal));opacity:.25}
.hiw-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}
.hiw-n{width:56px;height:56px;border-radius:50%;background:var(--dark);border:2px solid rgba(126,217,87,.3);color:var(--green);font-family:"Merriweather",serif;font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;transition:background .3s,border-color .3s,color .3s,box-shadow .3s}
.hiw-step:hover .hiw-n{background:var(--green);border-color:var(--green);color:var(--dark);box-shadow:0 0 0 10px rgba(126,217,87,.1)}
.hiw-title{font-size:1rem;font-weight:800;color:var(--dark)}
.hiw-desc{font-size:.84rem;color:var(--text);line-height:1.7;max-width:230px}

/* ── CARRIER BAR ── */
.carrier-bar{padding:0;border-bottom:1px solid var(--border)}
.carrier-bar-inner{max-width:var(--max);margin:0 auto}
.cb-header{padding:1.375rem 5% .875rem;border-bottom:1px solid var(--border)}
.cb-header-ey{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--td);margin-bottom:.375rem}
.cb-header-h{font-size:1.02rem;font-weight:800;color:var(--dark)}
.cb-cards{display:grid;grid-template-columns:repeat(5,1fr)}
.cb-card{padding:1.25rem 5%;border-right:1px solid var(--border);transition:background .18s}
.cb-card:last-child{border-right:none}
.cb-card:hover{background:var(--bg2)}
.cb-card-logo{height:18px;display:flex;align-items:center;margin-bottom:.625rem;opacity:.45;filter:grayscale(1);transition:opacity .2s,filter .2s}
.cb-card:hover .cb-card-logo{opacity:.65;filter:grayscale(.5)}
.cb-card-logo img{height:18px;width:auto}
.cb-strength{font-size:.79rem;color:var(--text);line-height:1.5;margin-bottom:.5rem}
.cb-badge{display:inline-block;font-size:.68rem;font-weight:800;padding:2px 9px;border-radius:50px;background:var(--tp);color:var(--td)}

/* ── ADVISOR SEGMENT CARDS ── */
.adv-seg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.75rem}
.adv-seg-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.375rem 1.5rem;transition:border-color .25s,background .25s,transform .3s cubic-bezier(.34,1.56,.64,1)}
.adv-seg-card:hover{border-color:rgba(121,201,204,.5);background:rgba(121,201,204,.07);transform:translateY(-5px)}
.adv-seg-title{font-size:.92rem;font-weight:800;color:#fff;margin-bottom:.375rem}
.adv-seg-desc{font-size:.79rem;color:rgba(255,255,255,.5);line-height:1.55;margin-bottom:.875rem}
.adv-seg-link{font-size:.78rem;font-weight:800;color:var(--teal);text-decoration:none;display:inline-flex;align-items:center;gap:5px;transition:gap .2s}
.adv-seg-card:hover .adv-seg-link{gap:8px}

/* ── FAQ ── */
.faq-grid{border:1px solid var(--border);border-radius:20px;overflow:hidden}
.faq-row{display:grid;grid-template-columns:1fr 1fr}
.faq-item{border-bottom:1px solid var(--border);border-right:1px solid var(--border)}
.faq-item:nth-child(2n){border-right:none}
.faq-item:nth-last-child(-n+2){border-bottom:none}
.faq-q{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.375rem 1.625rem;background:none;border:none;cursor:pointer;font-family:"Nunito",sans-serif;text-align:left;font-size:.92rem;font-weight:700;color:var(--dark);line-height:1.38;transition:background .15s}
.faq-q:hover{background:var(--bg2)}
.faq-arr{font-size:1.1rem;color:var(--muted);transition:transform .3s,color .15s;font-weight:400;flex-shrink:0;margin-top:1px}
.faq-q.open{background:var(--bg2)}
.faq-q.open .faq-arr{transform:rotate(45deg);color:var(--td)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s ease}
.faq-a.open{max-height:600px}
.faq-a-inner{padding:0 1.625rem 1.375rem;font-size:.87rem;color:var(--text);line-height:1.75}

/* ── PROOF + CTA DARK ── */
.proof-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;overflow:visible}
.proof-cta-h{font-family:"Merriweather",serif;font-size:clamp(1.4rem,2.4vw,2rem);color:#fff;line-height:1.22;margin-bottom:.875rem}
.proof-cta-sub{font-size:.97rem;color:rgba(255,255,255,.48);line-height:1.75;margin-bottom:1.875rem}
.proof-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:1.125rem}
.proof-contact{font-size:.8rem;color:rgba(255,255,255,.28)}
.claim-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:1.5rem;margin-bottom:.875rem;transition:background .2s,border-color .2s,transform .25s cubic-bezier(.34,1.56,.64,1)}
.claim-card:last-child{margin-bottom:0}
.claim-card:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15);transform:translateX(5px)}
.claim-type{font-size:.71rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--green);margin-bottom:.625rem}
.claim-quote{font-size:.88rem;color:rgba(255,255,255,.65);line-height:1.72;font-style:italic;margin-bottom:.625rem}
.claim-outcome{font-size:.8rem;font-weight:800;color:var(--td)}
.review-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.875rem}
.rev-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.875rem;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}
.rev-card:hover{transform:translateY(-3px)}
.rev-stars{color:var(--amber);font-size:.8rem;margin-bottom:.375rem}
.rev-quote{font-size:.78rem;color:rgba(255,255,255,.55);line-height:1.6;font-style:italic}

/* ── FOOTER ── */
footer{background:var(--dark);color:rgba(255,255,255,.55);padding:4rem 5% 2rem}
.footer-inner{max-width:var(--max);margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-brand img{height:36px;width:auto;display:block;margin-bottom:1rem;opacity:.85}
.footer-brand p{font-size:.82rem;line-height:1.7;max-width:240px}
.footer-col h4{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:1rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.footer-col li a{font-size:.82rem;color:rgba(255,255,255,.5);text-decoration:none;transition:color .15s;display:flex;align-items:center;gap:7px}
.footer-col li a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}
.footer-bottom p{font-size:.76rem;color:rgba(255,255,255,.3)}

/* ── QUOTE TOOL PRESERVED STYLES ── */
.tool-wrap{border:1.5px solid var(--border);border-radius:var(--rl);overflow:hidden;box-shadow:var(--shadow)}
.tool-head{background:var(--dark);padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.th-tag{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(126,217,87,.75);margin-bottom:4px}
.th-title{font-family:'Merriweather',serif;font-size:1.05rem;color:#fff;margin-bottom:3px}
.th-sub{font-size:.78rem;color:rgba(255,255,255,.35)}
.th-badges{display:flex;gap:7px;flex-wrap:wrap}
.th-badge{font-size:.68rem;font-weight:700;padding:3px 10px;border-radius:50px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.1)}
.tool-body{padding:2rem 2.25rem 1.5rem}

/* ── RESPONSIVE ── */
@media(max-width:1024px){.cov-type-grid{grid-template-columns:repeat(2,1fr)}}

/* ── 860px: hide hero tool, stack proof/footer ── */
@media(max-width:860px){
  .hero-inner{grid-template-columns:1fr}
  .hero-tool{display:none}
  .proof-inner{grid-template-columns:1fr;gap:2.5rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .cb-cards{grid-template-columns:repeat(3,1fr)}
  .cb-card:nth-child(3n){border-right:none}
  .cb-card{border-bottom:1px solid var(--border)}
  .cb-card:nth-last-child(-n+3){border-bottom:none}
}

/* ── 768px: nav collapse, audience scroll, hiw row ── */
@media(max-width:768px){
  nav .nav-links,.nav-cta{display:none}
  .nav-hamburger{display:flex}
  /* Audience cards: 2-col grid handled above */
  /* HIW row layout */
  .hiw-grid{grid-template-columns:1fr;gap:1.375rem}
  .hiw-grid::before{display:none}
  .hiw-step{flex-direction:row;text-align:left;align-items:flex-start;gap:1rem}
  .hiw-n{width:46px;height:46px;font-size:1.05rem;flex-shrink:0}
  /* FAQ single col */
  .faq-row{grid-template-columns:1fr}
  .faq-item{border-right:none!important}
  .faq-item:nth-last-child(-n+2){border-bottom:1px solid var(--border)!important}
  .faq-item:last-child{border-bottom:none!important}
  /* Advisor cards: scroll handled above */
}

/* ── 720px: credibility stack ── */
@media(max-width:720px){
  .cred-grid{grid-template-columns:1fr;gap:2rem}
  .cred-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
  .cred-stat-card{padding:1rem 1.125rem}
  .cred-num{font-size:1.65rem}
}

/* ── 540px: section padding, coverage scroll, footer, carriers ── */
@media(max-width:540px){
  .section{padding:2.75rem 4%}
  .section.dark{padding:2.75rem 4%}
  .section-header{margin-bottom:1.75rem}
  /* Coverage cards: 2-col grid handled above */
  /* Carrier bar 2-col */
  .cb-cards{grid-template-columns:1fr 1fr}
  .cb-card{border-bottom:1px solid var(--border)}
  .cb-card:nth-child(2n){border-right:none}
  .cb-card:nth-last-child(-n+2){border-bottom:none}
  .cb-card:nth-last-child(1):nth-child(odd){border-right:none;grid-column:span 1}
  /* Footer */
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  nav{padding:0 4%;height:60px}
  .nav-logo img{height:44px}
  .mobile-menu{top:60px}
  /* Stats strip 2x2 */
  .stats-strip{flex-wrap:wrap}
  .stat{flex:0 0 50%;border-bottom:1px solid rgba(255,255,255,.08)}
  .stat:nth-child(2n){border-right:none}
  .stat:nth-child(3),.stat:nth-child(4){border-bottom:none}
  /* Proof */
  .proof-inner{gap:1.75rem}
  .proof-actions{flex-direction:column}
  .proof-actions .btn-primary,
  .proof-actions .btn-outline-white{width:100%;justify-content:center;padding:13px 20px}
  .review-row{grid-template-columns:1fr}
  /* Claim cards tighter */
  .claim-card{padding:1.125rem}
  /* Advisor segs */
  .adv-seg-card{padding:1rem 1.125rem}
  .adv-seg-title{font-size:.88rem}
  .adv-seg-desc{font-size:.76rem}
}

/* ── 480px: hero, typography ── */
@media(max-width:480px){
  .hero{padding:2.25rem 4% 0}
  .hero-eyebrow{font-size:.67rem;padding:4px 12px;margin-bottom:1rem}
  .hero-h1{font-size:1.65rem;line-height:1.18}
  .hero-sub{font-size:.88rem;margin-bottom:1.375rem}
  .hero-pills{gap:5px;margin-bottom:1.375rem}
  .hero-pill{font-size:.7rem;padding:4px 10px}
  .hero-actions .btn-primary{width:100%;justify-content:center}
  .hero-trust{gap:10px}
  .htrust{font-size:.72rem}
  .section{padding:2.5rem 4%}
  .section.dark{padding:2.5rem 4%}
  .section-title{font-size:1.4rem}
  /* Carrier bar single col on very small */
  .cb-header{padding:1.125rem 4% .75rem}
  .cb-header-h{font-size:.92rem}
  .cb-card{padding:1rem 4%}
  .cb-strength{font-size:.76rem}
  /* Cred tighter */
  .cred-lead{font-size:1.15rem}
  .cred-body{font-size:.9rem}
  .cred-review{padding:1rem 1.125rem}
  .cred-quote{font-size:.84rem}
  /* HIW tighter */
  .hiw-title{font-size:.92rem}
  .hiw-desc{font-size:.8rem;max-width:none}
  /* FAQ */
  .faq-q{font-size:.86rem;padding:1.125rem 1.25rem}
  .faq-a-inner{padding:0 1.25rem 1.125rem;font-size:.83rem}
  /* Proof */
  .proof-cta-h{font-size:1.45rem}
  .proof-cta-sub{font-size:.88rem}
}

/* ── 360px ── */
@media(max-width:360px){
  .hero-h1{font-size:1.45rem}
  /* aud/cov widths handled above */
}





/* ── AUDIENCE CARDS — compact 2-col grid on mobile ── */
@media(max-width:768px){
  .aud-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:.75rem;overflow:visible;margin:0;padding:0}
  .aud-card{min-width:0!important;flex-shrink:unset;padding:1.125rem 1rem;border-radius:16px}
  .aud-icon{width:36px;height:36px;border-radius:9px;margin-bottom:.625rem}
  .aud-icon svg{width:18px;height:18px}
  .aud-title{font-size:.88rem}
  .aud-desc{display:none}
  .aud-link{font-size:.74rem;margin-top:.625rem}
}

/* ── COVERAGE CARDS — compact 2-col grid on mobile ── */
@media(max-width:540px){
  .cov-type-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:.75rem;overflow:visible;margin:0;padding:0}
  .cov-type-card{min-width:0!important;flex-shrink:unset;padding:1.125rem 1rem;border-radius:16px}
  .cov-type-icon{width:36px;height:36px;border-radius:9px;margin-bottom:.375rem}
  .cov-type-icon svg{width:18px;height:18px}
  .cov-type-name{font-size:.88rem}
  .cov-type-desc{font-size:.78rem;line-height:1.5}
}

/* ── CARRIER BAR — horizontal scroll on mobile ── */
@media(max-width:768px){
  .cb-cards{display:flex!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0;border-top:1px solid var(--border)}
  .cb-cards::-webkit-scrollbar{display:none}
  .cb-card{min-width:160px;flex-shrink:0;border-right:1px solid var(--border)!important;border-bottom:none!important;padding:1rem 1.125rem}
  .cb-card:last-child{border-right:none!important}
  /* On mobile show logo + badge only, hide the strength text */
  .cb-strength{display:none}
  .cb-card-logo{margin-bottom:.5rem;opacity:.55}
  .cb-badge{font-size:.67rem;padding:2px 8px}
}
@media(max-width:480px){
  .cb-header{padding:1rem 4% .75rem}
  .cb-header-h{font-size:.92rem}
}

/* ── ADVISOR SEGMENT CARDS — horizontal scroll on mobile ── */
@media(max-width:768px){
  .adv-seg-grid{display:flex!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.875rem;padding:0 4% .875rem;margin:0 -4%;margin-top:1.5rem}
  .adv-seg-grid::-webkit-scrollbar{display:none}
  .adv-seg-card{min-width:78vw;flex-shrink:0;padding:1.375rem 1.5rem;border-radius:16px}
  .adv-seg-title{font-size:.95rem}
  .adv-seg-desc{font-size:.82rem;line-height:1.6}
}
@media(max-width:480px){
  .adv-seg-card{min-width:84vw;padding:1.25rem 1.375rem}
}


/* ── AUDIENCE CARDS — mobile tap-to-expand interaction ────────────────
   On mobile the card starts compact (icon + title only).
   On tap: card expands, colour floods, description + link reveal.
   Spring animation via CSS transition on max-height + transform.
───────────────────────────────────────────────────────────────────── */
@media(max-width:768px){
  /* Description and link hidden by default — expand on tap */
  .aud-card .aud-desc{
    max-height:0;overflow:hidden;opacity:0;margin-top:0;
    transition:max-height .4s cubic-bezier(.16,1,.3,1),opacity .3s,margin-top .3s;
  }
  .aud-card .aud-link{
    max-height:0;overflow:hidden;opacity:0;margin-top:0;
    transition:max-height .35s cubic-bezier(.16,1,.3,1),opacity .3s .05s,margin-top .3s;
  }
  /* Expanded state */
  .aud-card.tapped .aud-desc{
    max-height:120px;opacity:1;margin-top:.5rem;
  }
  .aud-card.tapped .aud-link{
    max-height:40px;opacity:1;margin-top:.625rem;
  }
  /* Card lifts + colour floods when tapped */
  .aud-card.tapped{
    transform:translateY(-4px) scale(1.02)!important;
    box-shadow:0 16px 40px rgba(26,35,50,.13)!important;
    border-color:transparent!important;
    z-index:3;
  }
  
  .aud-card.ag.tapped{background:linear-gradient(135deg,rgba(126,217,87,.07) 0%,var(--bg) 70%)}
  .aud-card.at.tapped{background:linear-gradient(135deg,rgba(121,201,204,.07) 0%,var(--bg) 70%)}
  .aud-card.aa.tapped{background:linear-gradient(135deg,rgba(245,166,35,.07) 0%,var(--bg) 70%)}
  .aud-card.ag.tapped .aud-icon{background:rgba(126,217,87,.2)}
  .aud-card.at.tapped .aud-icon{background:rgba(121,201,204,.2)}
  .aud-card.aa.tapped .aud-icon{background:rgba(245,166,35,.18)}
  /* Icon bounces on tap */
  .aud-card.tapping .aud-icon{
    animation:iconBounce .4s cubic-bezier(.34,1.56,.64,1);
  }
  @keyframes iconBounce{
    0%{transform:scale(1)}
    50%{transform:scale(1.22)}
    100%{transform:scale(1)}
  }
  /* Subtle hint that cards are tappable — slight scale pulse on first load */
  .aud-card:active{transform:scale(.97)!important;transition:transform .1s!important}
}


@media(max-width:640px){
  .cred-strip{grid-template-columns:1fr 1fr!important}
  .cred-strip>div:nth-child(3){border-left:none;border-top:1px solid var(--border)}
  .cred-strip>div:nth-child(4){border-top:1px solid var(--border)}
}

/* ── QUOTE TOOL INTERNAL STYLES ─────────────────────────────────────── */
.ht-head-link{font-size:.74rem;font-weight:700;color:var(--teal);text-decoration:none;transition:opacity .15s}
.ht-tile.sel{border-color:var(--teal);background:rgba(121,201,204,.13)}
.ht-tile.sel .ht-tile-icon,.ht-tile:hover .ht-tile-icon{background:rgba(121,201,204,.2);color:var(--teal)}
.aud-card.at::after{background:linear-gradient(90deg,var(--teal),var(--td))}
.aud-card.aa::after{background:linear-gradient(90deg,var(--amber),#c47a00)}
.aa .aud-icon{background:var(--amberl)}
.cred-review{margin-top:1.75rem;background:var(--bg);border-left:3px solid var(--teal);padding:1.25rem 1.5rem;border-radius:0 var(--r) var(--r) 0}
.cred-stars{color:var(--amber);font-size:.85rem;letter-spacing:1px;margin-bottom:.5rem}
.cov-card.ct::after{background:linear-gradient(90deg,var(--teal),var(--td))}
.cov-card.ca::after{background:linear-gradient(90deg,var(--amber),#c47a00)}
.ca .cov-icon{background:var(--amberl)}
.hiw-n{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--teal));color:var(--dark);font-family:"Merriweather",serif;font-size:1.3rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;box-shadow:0 4px 18px rgba(126,217,87,.28);transition:transform .2s,box-shadow .2s}
.adv-chip-a{background:var(--amberl);color:#c47a00;border:1px solid rgba(245,166,35,.3)}
.eye-dot{width:6px;height:6px;background:var(--teal);border-radius:50%;animation:blink 2s infinite}
.progress-wrap{margin-bottom:2rem}
.progress-bar-bg{height:5px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:10px}
.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--green));border-radius:3px;transition:width .4s ease}
.form-card{background:var(--bg);border-radius:var(--rl);border:1.5px solid var(--border);box-shadow:var(--shadow);overflow:hidden}
.card-head{padding:1.5rem 1.75rem 0}
.step-tag{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--td);margin-bottom:6px}
.step-title{font-family:'Merriweather',serif;font-size:1.25rem;color:var(--dark);margin-bottom:6px;line-height:1.3}
.step-hint{font-size:.84rem;color:var(--muted);line-height:1.55;margin-bottom:1.5rem}
.card-body{padding:0 1.75rem 1.75rem}
.card-foot{padding:1.25rem 1.75rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg2)}
.option-grid{display:grid;gap:10px}
.option-grid.cols2{grid-template-columns:1fr 1fr}
.option-grid.cols1{grid-template-columns:1fr}
.opt-desc{font-size:.78rem;color:var(--muted);line-height:1.45;margin-top:2px}
.opt-check{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg);transition:all .16s;margin-left:auto}
.opt-text{flex:1;min-width:0}
.trav-label{font-size:.78rem;font-weight:700;color:var(--muted);white-space:nowrap}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opt-card{border:1.5px solid var(--border);border-radius:var(--r);padding:14px 16px;cursor:pointer;transition:all .18s;display:flex;align-items:flex-start;gap:12px;background:var(--bg);position:relative;user-select:none}
.opt-card:hover{border-color:var(--teal);background:var(--tp);transform:translateY(-1px)}
.opt-card.selected{border-color:var(--teal);background:var(--tp);box-shadow:0 0 0 3px rgba(121,201,204,.15)}
.opt-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.opt-icon{width:40px;height:40px;border-radius:10px;background:var(--tp);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .18s}
.opt-card.selected .opt-icon{background:rgba(121,201,204,.25)}
.opt-title{font-size:.92rem;font-weight:800;color:var(--dark);margin-bottom:2px}
.opt-badge{font-size:.62rem;font-weight:800;padding:2px 7px;border-radius:50px;margin-top:4px;display:inline-block}
.opt-badge.pop{background:#fff3cd;color:#7a4e00;border:.5px solid rgba(245,166,35,.35)}
.opt-badge.rec{background:var(--gp);color:var(--gd);border:.5px solid rgba(94,201,58,.3)}
.opt-card.selected .opt-check{background:var(--teal);border-color:var(--teal)}
.opt-card.selected .opt-check::after{content:'';width:8px;height:8px;border-radius:50%;background:#fff}
.field-group{margin-bottom:1.25rem}
.field-label{font-size:.82rem;font-weight:800;color:var(--dark);margin-bottom:6px;display:flex;align-items:center;gap:6px}
.req{color:var(--teal);font-size:1rem;line-height:1}
.field-hint{font-size:.74rem;color:var(--muted);margin-top:4px;line-height:1.45}
input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(121,201,204,.12)}
.yn-wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.yn-btn{border:1.5px solid var(--border);border-radius:var(--r);padding:14px;text-align:center;cursor:pointer;font-size:.9rem;font-weight:800;color:var(--muted);transition:all .18s;background:var(--bg);user-select:none}
.yn-btn:hover{border-color:var(--teal);color:var(--td)}
.yn-btn.sel{border-color:var(--teal);background:var(--tp);color:var(--td)}
.yn-btn input{position:absolute;opacity:0;pointer-events:none}
.traveller-rows{display:flex;flex-direction:column;gap:10px}
.trav-row{display:flex;flex-direction:column;gap:8px;background:var(--bg2);padding:12px 14px;border-radius:var(--r);border:1px solid var(--border)}
.trav-row-head{display:flex;align-items:center;justify-content:space-between}
.trav-num{font-size:.7rem;font-weight:900;color:var(--td);white-space:nowrap;text-transform:uppercase;letter-spacing:.08em}
.trav-age-note.senior{color:var(--amber, #f5a623)}
.remove-trav{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1.2rem;line-height:1;padding:4px;border-radius:50%;transition:color .18s,background .18s;flex-shrink:0;font-family:'Nunito',sans-serif;width:24px;height:24px;display:flex;align-items:center;justify-content:center}
.remove-trav:hover{color:#e05c2a;background:rgba(224,92,42,.08)}
.add-traveller-btn{display:flex;align-items:center;gap:7px;padding:10px 16px;border-radius:var(--r);border:1.5px dashed var(--border);background:transparent;font-size:.84rem;font-weight:700;color:var(--muted);cursor:pointer;width:100%;justify-content:center;transition:all .18s;margin-top:6px;font-family:'Nunito',sans-serif}
.add-traveller-btn:hover{border-color:var(--teal);color:var(--td);background:var(--tp)}
.warn-note{background:#fff8e8;border-radius:var(--r);padding:10px 14px;font-size:.8rem;color:#7a4a0a;line-height:1.6;border:1px solid rgba(245,166,35,.3);margin-top:.75rem}
.warn-note a{color:#92570a;font-weight:700}
.alert-note{background:#fef3ee;border-radius:var(--r);padding:10px 14px;font-size:.8rem;color:#c94a1a;line-height:1.6;border:1px solid rgba(201,74,26,.22);margin-top:.75rem}
.alert-note a{color:#c94a1a;font-weight:700}
.elig-list{display:flex;flex-direction:column;gap:.375rem;margin-top:.625rem}
.elig-item{display:flex;align-items:flex-start;gap:.625rem;font-size:.82rem;color:var(--dark);line-height:1.55;cursor:pointer;padding:.25rem 0}
.btn-next{background:linear-gradient(135deg,var(--green),var(--gd));color:var(--dark);font-weight:800;font-size:.92rem;padding:12px 28px;border-radius:50px;border:none;cursor:pointer;transition:transform .18s,box-shadow .18s;box-shadow:0 4px 14px rgba(126,217,87,.3);font-family:'Nunito',sans-serif}
.btn-next:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(126,217,87,.42)}
.btn-next:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-back{background:transparent;color:var(--muted);font-weight:700;font-size:.86rem;padding:10px 16px;border-radius:50px;border:1.5px solid var(--border);cursor:pointer;transition:all .18s;font-family:'Nunito',sans-serif}
.btn-back:hover{border-color:var(--td);color:var(--td)}
.step-error{background:#fef3ee;border:1px solid rgba(201,74,26,.25);border-radius:var(--r);padding:10px 14px;font-size:.82rem;color:#c94a1a;font-weight:700;margin-bottom:1rem;display:none}
.step-error.show{display:block}
.chip-strip{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.875rem 1rem;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);margin-bottom:1.25rem;box-shadow:var(--shadow)}
.chip-strip-lbl{font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.chips-row{display:flex;gap:.375rem;flex-wrap:wrap}
.results{display:none}
.results.show{display:block;animation:slideUp .3s ease both}
.results-head{margin-bottom:1.75rem}
.results-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.results-head h2{font-family:'Merriweather',serif;font-size:1.3rem;color:var(--dark);margin-bottom:.25rem}
.results-head p{font-size:.83rem;color:var(--muted)}
.btn-restart{font-size:.78rem;font-weight:700;color:var(--muted);background:none;border:none;cursor:pointer;font-family:'Nunito',sans-serif;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;margin-top:.2rem}
.btn-restart:hover{color:var(--dark)}
.carrier-grid{display:grid;gap:1rem;margin-bottom:1.25rem}
.cc.featured{border-color:var(--teal);box-shadow:0 0 0 3px rgba(121,201,204,.12)}
.cc.featured:hover{box-shadow:0 0 0 3px rgba(121,201,204,.12),var(--shadowmd)}
.cc-ribbon{position:absolute;top:0;left:0;background:linear-gradient(135deg,var(--teal),var(--td));color:#fff;font-size:.58rem;font-weight:900;padding:4px 12px 4px 10px;letter-spacing:.07em;text-transform:uppercase;border-bottom-right-radius:8px}
.cc-top{padding:1.125rem 1.25rem .875rem;border-bottom:1px solid var(--border)}
.cc-logo{height:22px;margin-bottom:.5rem;display:flex;align-items:center}
.cc-price{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--border)}
.cc-price.std{background:linear-gradient(160deg,var(--bg2),var(--bg))}
.cc-price.senior{background:linear-gradient(160deg,var(--tp),rgba(121,201,204,.03))}
.cc-price.dim{background:var(--bg2)}
.cc-price-lbl{font-size:.62rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.cc-price.senior .cc-price-lbl{color:var(--td)}
.cc-price-range{display:flex;align-items:baseline;gap:2px;margin-bottom:.25rem}
.cc-amount.sm{font-size:1.25rem}
.cc-price-note{font-size:.67rem;font-weight:700;margin-top:.375rem;display:flex;align-items:center;gap:4px}
.cc-price-note.teal{color:var(--td)}
.cc-price-note.amber{color:#f5a623}
.cc-price-note.green{color:var(--gd)}
.cc-btn.primary{background:linear-gradient(135deg,var(--teal),var(--td));color:#fff;box-shadow:0 3px 10px rgba(121,201,204,.25)}
.cc-btn.secondary:hover{border-color:var(--teal);background:var(--tp);color:var(--td)}
/* Info / disclaimer / advisor */
.info-box{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);padding:1rem 1.25rem;margin-bottom:1.125rem}
.info-box h4{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;display:flex;align-items:center;gap:5px}
.info-box p{font-size:.79rem;color:var(--text);line-height:1.65}
.disclaimer{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:.875rem 1.125rem;font-size:.72rem;color:var(--muted);line-height:1.65;display:flex;gap:.5rem;align-items:flex-start;margin-bottom:1.125rem}
.disclaimer svg{flex-shrink:0;margin-top:2px}
.adv-cta{background:var(--dark);border-radius:var(--rl);padding:1.5rem 1.75rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;position:relative;overflow:hidden;flex-wrap:wrap}
.adv-cta::before{content:'';position:absolute;right:-30px;bottom:-30px;width:160px;height:160px;border-radius:50%;background:rgba(121,201,204,.07)}
.adv-cta-text{position:relative}
.adv-cta-text h3{font-family:'Merriweather',serif;font-size:.95rem;color:#fff;margin-bottom:.25rem}
.adv-cta-text p{font-size:.79rem;color:rgba(255,255,255,.42);line-height:1.55;max-width:360px}
.adv-btn{background:var(--teal);color:var(--dark);font-weight:800;font-size:.84rem;padding:11px 22px;border-radius:50px;text-decoration:none;white-space:nowrap;transition:all .18s;flex-shrink:0}
.adv-btn:hover{background:#8fd9dc;transform:translateY(-1px)}
.trust-footer{text-align:center;margin-top:1.5rem}
.trust-badges{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap}
.tbadge{font-size:.74rem;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:5px}
.step-wrap{animation:stepIn .25s ease both}
  .option-grid.cols2{grid-template-columns:1fr 1fr}
  .carrier-grid.cg-2,.carrier-grid.cg-3,.carrier-grid.cg-4{grid-template-columns:1fr 1fr}
  .card-head{padding:1rem 1.125rem 0}
  .card-body{padding:0 1.125rem 1.125rem}
  .card-foot{padding:.875rem 1.125rem;flex-direction:row;gap:8px}
  .btn-next{flex:1;justify-content:center;padding:11px 14px;font-size:.88rem}
  .btn-back{padding:11px 12px;font-size:.84rem}
  .option-grid.cols2{grid-template-columns:1fr 1fr}
  .opt-card{padding:10px 10px;gap:8px}
  .opt-title{font-size:.82rem}
  .trav-row{gap:8px;padding:8px 10px}
  .carrier-grid.cg-2{grid-template-columns:1fr 1fr}
  .carrier-grid.cg-3{grid-template-columns:1fr 1fr}
  .carrier-grid.cg-4{grid-template-columns:1fr 1fr}
  .cc-top{padding:.875rem .875rem .625rem}
  .cc-price{padding:.875rem .875rem .75rem}
  .cc-amount.sm{font-size:1.1rem}
  .adv-cta{flex-direction:column;padding:1.125rem;gap:1rem}
  .results-head-row{flex-direction:column;gap:.5rem}
  .card-head{padding:.875rem .875rem 0}
  .card-body{padding:0 .875rem 1rem}
  .card-foot{padding:.75rem .875rem}
  .aud-sel-grid{grid-template-columns:1fr 1fr}
.aud-sel-grid{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;margin:-1.5rem -1.75rem 0;padding:1.25rem 1.75rem}
.aud-sel-card{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;transition:all .16s;background:var(--bg);position:relative;user-select:none}
.aud-sel-card:hover{border-color:var(--teal);background:var(--tp);transform:translateY(-1px)}
.aud-sel-card.sel{border-color:var(--teal);background:var(--tp);box-shadow:0 0 0 3px rgba(121,201,204,.12)}
.aud-sel-card input{position:absolute;opacity:0;pointer-events:none}
.aud-sel-icon{width:38px;height:38px;border-radius:9px;background:var(--bg2);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted);transition:all .16s}
.aud-sel-card:hover .aud-sel-icon,.aud-sel-card.sel .aud-sel-icon{background:rgba(121,201,204,.15);color:var(--td)}
.aud-sel-body{flex:1;min-width:0}
.aud-sel-title{font-size:.88rem;font-weight:800;color:var(--dark);margin-bottom:2px;line-height:1.2}
.aud-sel-desc{font-size:.73rem;color:var(--muted);line-height:1.45}
.aud-sel-check{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg);transition:all .16s}
.aud-sel-card.sel .aud-sel-check{background:var(--teal);border-color:var(--td)}
.aud-sel-card.sel .aud-sel-check::after{content:'';width:7px;height:7px;border-radius:50%;background:#fff}
@media(max-width:540px){.aud-sel-grid{grid-template-columns:1fr 1fr;padding:.875rem 1.125rem;gap:.5rem}.aud-sel-desc{display:none}.aud-sel-card{padding:.625rem .75rem;gap:.625rem}.aud-sel-icon{width:30px;height:30px}.aud-sel-title{font-size:.8rem}}
.adv-seg-link{font-size:.78rem;font-weight:800;color:var(--teal);text-decoration:none;display:inline-flex;align-items:center;gap:5px;transition:gap .15s}
@media(max-width:540px){
  .cov-grid{grid-template-columns:1fr 1fr;gap:.875rem}
  .stats-strip{flex-wrap:wrap}
  .stat{flex:0 0 50%;border-bottom:1px solid rgba(255,255,255,.07)}
  .stat:nth-child(2n){border-right:none}
  .stat:nth-child(3),.stat:nth-child(4){border-bottom:none}
  .section{padding:3.5rem 4%}
  .section.dark{padding:3.5rem 4%}
  .hero{padding:3rem 4% 0}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  nav{padding:0 4%;height:60px}
  .nav-logo img{height:44px}
  .mobile-menu{top:60px}
}

/* ── ESTIMATOR TOOL ─────────────────────────────────────────────────────── */

/* Progress bar */
.progress-wrap{margin-bottom:1.75rem}
.progress-bar-bg{height:3px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:10px}
.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--green));border-radius:3px;transition:width .5s cubic-bezier(.16,1,.3,1)}
.progress-label{display:flex;align-items:center;justify-content:space-between}
.prog-step{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--td)}
.prog-total{font-size:.78rem;color:var(--muted);font-weight:600}

/* Form card */
.form-card{background:var(--bg);border-radius:var(--rl);border:1.5px solid var(--border);box-shadow:var(--shadow);overflow:hidden}
.card-head{padding:1.75rem 2rem 0}
.card-body{padding:1.25rem 2rem 2rem}
.card-foot{padding:1.25rem 2rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg2)}
.step-tag{font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--td);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.step-tag::before{content:'';width:16px;height:2px;background:var(--teal);border-radius:2px;display:inline-block}
.step-title{font-family:'Merriweather',serif;font-size:1.3rem;color:var(--dark);margin-bottom:8px;line-height:1.3}
.step-hint{font-size:.84rem;color:var(--muted);line-height:1.6;margin-bottom:1.75rem}
.step-error{background:#fef3ee;border:1px solid rgba(201,74,26,.25);border-radius:var(--r);padding:10px 14px;font-size:.82rem;color:#c94a1a;font-weight:700;margin-bottom:1rem;display:none}
.step-error.show{display:block}
.step-wrap{animation:stepIn .22s ease both}

/* Audience selector grid — step 1 */
.aud-sel-grid{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;margin-top:.25rem}
.aud-sel-card{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;transition:all .18s;background:var(--bg);position:relative;user-select:none}
.aud-sel-card:hover{border-color:var(--teal);background:var(--tp);transform:translateY(-1px)}
.aud-sel-card.sel{border-color:var(--teal);background:var(--tp);box-shadow:0 0 0 3px rgba(121,201,204,.12)}
.aud-sel-card input{position:absolute;opacity:0;pointer-events:none}
.aud-sel-icon{width:36px;height:36px;border-radius:9px;background:var(--bg2);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted);transition:all .16s}
.aud-sel-card:hover .aud-sel-icon,.aud-sel-card.sel .aud-sel-icon{background:rgba(121,201,204,.15);color:var(--td)}
.aud-sel-body{flex:1;min-width:0}
.aud-sel-title{font-size:.87rem;font-weight:800;color:var(--dark);margin-bottom:2px;line-height:1.2}
.aud-sel-desc{font-size:.72rem;color:var(--muted);line-height:1.45}
.aud-sel-check{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg);transition:all .16s;flex-shrink:0}
.aud-sel-card.sel .aud-sel-check{background:var(--teal);border-color:var(--td)}
.aud-sel-card.sel .aud-sel-check::after{content:'';width:7px;height:7px;border-radius:50%;background:#fff}

/* Option grid — subsequent steps */
.option-grid{display:grid;gap:8px}
.option-grid.cols2{grid-template-columns:1fr 1fr}
.option-grid.cols1{grid-template-columns:1fr}
.opt-card{border:1.5px solid var(--border);border-radius:var(--r);padding:14px 16px;cursor:pointer;transition:all .18s;display:flex;align-items:flex-start;gap:12px;background:var(--bg);position:relative;user-select:none}
.opt-card:hover{border-color:var(--teal);background:var(--tp);transform:translateY(-1px)}
.opt-card.selected{border-color:var(--teal);background:var(--tp);box-shadow:0 0 0 3px rgba(121,201,204,.15)}
.opt-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.opt-text{flex:1;min-width:0}
.opt-icon{width:38px;height:38px;border-radius:9px;background:var(--tp);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .18s}
.opt-card.selected .opt-icon{background:rgba(121,201,204,.25)}
.opt-title{font-size:.9rem;font-weight:800;color:var(--dark);margin-bottom:2px;line-height:1.25}
.opt-desc{font-size:.76rem;color:var(--muted);line-height:1.5;margin-top:2px}
.opt-check{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg);transition:all .16s;margin-left:auto;margin-top:1px}
.opt-card.selected .opt-check{background:var(--teal);border-color:var(--teal)}
.opt-card.selected .opt-check::after{content:'';width:8px;height:8px;border-radius:50%;background:#fff}
.opt-badge{font-size:.6rem;font-weight:800;padding:2px 7px;border-radius:50px;margin-top:5px;display:inline-block;letter-spacing:.03em}
.opt-badge.pop{background:#fff3cd;color:#7a4e00;border:.5px solid rgba(245,166,35,.35)}
.opt-badge.rec{background:var(--gp);color:var(--gd);border:.5px solid rgba(94,201,58,.3)}

/* Form fields */
.field-group{margin-bottom:1.375rem}
.field-label{font-size:.8rem;font-weight:800;color:var(--dark);margin-bottom:7px;display:flex;align-items:center;gap:6px}
.req{color:var(--teal);font-size:1rem;line-height:1}
.field-hint{font-size:.73rem;color:var(--muted);margin-top:5px;line-height:1.5}
input[type=text],input[type=date],select,textarea{
  width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--r);
  font-family:'Nunito',sans-serif;font-size:.9rem;color:var(--dark);background:var(--bg);
  outline:none;transition:border-color .16s,box-shadow .16s;box-sizing:border-box;
  -webkit-appearance:none;appearance:none
}
input[type=date]{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a9bb0' stroke-width='1.8' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:40px;
  color-scheme:light;cursor:pointer;position:relative
}
input[type=date]::-webkit-calendar-picker-indicator{
  position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;
  opacity:0;cursor:pointer
}
input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(121,201,204,.12)}
select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a9bb0' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:38px;cursor:pointer
}

/* Two-column helpers */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* Yes/No buttons */
.yn-wrap{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.yn-btn{border:1.5px solid var(--border);border-radius:var(--r);padding:13px 14px;text-align:center;cursor:pointer;font-size:.88rem;font-weight:800;color:var(--muted);transition:all .18s;background:var(--bg);user-select:none;line-height:1.3}
.yn-btn:hover{border-color:var(--teal);color:var(--td);background:var(--tp)}
.yn-btn.sel{border-color:var(--teal);background:var(--tp);color:var(--td);box-shadow:0 0 0 3px rgba(121,201,204,.12)}
.yn-btn input{position:absolute;opacity:0;pointer-events:none}

/* Traveller rows */
.traveller-rows{display:flex;flex-direction:column;gap:10px}
.trav-row{display:flex;flex-direction:column;gap:8px;background:var(--bg2);padding:12px 14px;border-radius:var(--r);border:1px solid var(--border)}
.trav-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:-2px}
.trav-num{font-size:.7rem;font-weight:900;color:var(--td);white-space:nowrap;text-transform:uppercase;letter-spacing:.08em}
.trav-label{font-size:.78rem;font-weight:700;color:var(--muted);white-space:nowrap}
.trav-age-note{font-size:.72rem;margin-top:-2px}
.trav-age-note.senior{color:var(--amber,#f5a623)}
.remove-trav{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1.2rem;line-height:1;padding:4px;border-radius:50%;transition:color .16s,background .16s;font-family:'Nunito',sans-serif;width:24px;height:24px;display:flex;align-items:center;justify-content:center}
.remove-trav:hover{color:#e05c2a;background:rgba(224,92,42,.08)}
.add-traveller-btn{display:flex;align-items:center;gap:7px;padding:10px 16px;border-radius:var(--r);border:1.5px dashed var(--border);background:transparent;font-size:.83rem;font-weight:700;color:var(--muted);cursor:pointer;width:100%;justify-content:center;transition:all .18s;margin-top:8px;font-family:'Nunito',sans-serif}
.add-traveller-btn:hover{border-color:var(--teal);color:var(--td);background:var(--tp)}

/* Notes */
.warn-note{background:#fff8e8;border-radius:var(--r);padding:10px 14px;font-size:.79rem;color:#7a4a0a;line-height:1.6;border:1px solid rgba(245,166,35,.3);margin-top:.875rem;display:flex;gap:7px;align-items:flex-start}
.warn-note a{color:#92570a;font-weight:700}
.alert-note{background:#fef3ee;border-radius:var(--r);padding:10px 14px;font-size:.79rem;color:#c94a1a;line-height:1.6;border:1px solid rgba(201,74,26,.22);margin-top:.875rem;display:flex;gap:7px;align-items:flex-start}
.alert-note a{color:#c94a1a;font-weight:700}
.info-note{background:rgba(121,201,204,.07);border-radius:var(--r);padding:10px 14px;font-size:.79rem;color:var(--td);line-height:1.6;border:1px solid rgba(121,201,204,.2);margin-top:.875rem;display:flex;gap:7px;align-items:flex-start}
.info-note a{color:var(--td);font-weight:700}

/* Eligibility checklist */
.elig-list{display:flex;flex-direction:column;gap:.25rem;margin-top:.625rem}
.elig-item{display:flex;align-items:flex-start;gap:.625rem;font-size:.81rem;color:var(--dark);line-height:1.6;cursor:pointer;padding:.35rem .5rem;border-radius:6px;transition:background .14s}
.elig-item:hover{background:var(--bg2)}
.elig-item input[type=checkbox]{width:15px;height:15px;flex-shrink:0;margin-top:2px;accent-color:var(--teal);cursor:pointer}

/* Buttons */
.btn-next{background:linear-gradient(135deg,var(--green),var(--gd));color:var(--dark);font-weight:800;font-size:.9rem;padding:12px 28px;border-radius:50px;border:none;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;box-shadow:0 4px 14px rgba(126,217,87,.28);font-family:'Nunito',sans-serif;white-space:nowrap}
.btn-next:hover{transform:translateY(-2px);box-shadow:0 6px 22px rgba(126,217,87,.40)}
.btn-back{background:transparent;color:var(--muted);font-weight:700;font-size:.84rem;padding:10px 16px;border-radius:50px;border:1.5px solid var(--border);cursor:pointer;transition:all .18s;font-family:'Nunito',sans-serif;white-space:nowrap}
.btn-back:hover{border-color:var(--td);color:var(--td)}

/* Chip strip */
.chip-strip{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;padding:.875rem 1rem;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);margin-top:1rem;box-shadow:var(--shadow)}
.chip-strip-lbl{font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.chips-row{display:flex;gap:.3rem;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;padding:3px 10px;background:var(--bg2);border:1px solid var(--border);border-radius:50px;font-size:.7rem;font-weight:700;color:var(--muted)}

/* Results */
.results{display:none}
.results.show{display:block;animation:slideUp .3s ease both}
.results-head{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}
.results-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.results-head h2{font-family:'Merriweather',serif;font-size:1.4rem;color:var(--dark);margin-bottom:.25rem}
.results-head p{font-size:.82rem;color:var(--muted)}
.btn-restart{font-size:.78rem;font-weight:700;color:var(--td);background:rgba(121,201,204,.08);border:1.5px solid rgba(121,201,204,.35);cursor:pointer;font-family:'Nunito',sans-serif;padding:8px 16px 8px 14px;border-radius:50px;transition:all .2s cubic-bezier(.34,1.56,.64,1);white-space:nowrap;margin-top:.1rem;display:inline-flex;align-items:center;gap:7px}
.btn-restart:hover{background:var(--teal);border-color:var(--teal);color:var(--dark);transform:translateY(-1px);box-shadow:0 4px 14px rgba(121,201,204,.35)}
.btn-restart:active{transform:translateY(0);box-shadow:0 2px 6px rgba(121,201,204,.3)}
.btn-restart svg{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.btn-restart:hover svg{transform:rotate(-180deg)}

/* Carrier cards */
.carrier-grid{display:grid;gap:1rem;margin-bottom:1.5rem}
.carrier-grid.cg-2{grid-template-columns:1fr 1fr}
.carrier-grid.cg-3{grid-template-columns:repeat(3,1fr)}
.carrier-grid.cg-4{grid-template-columns:1fr 1fr}
.cc{border:1.5px solid var(--border);border-radius:var(--rl);background:var(--bg);overflow:hidden;position:relative;transition:box-shadow .2s,transform .2s cubic-bezier(.34,1.56,.64,1)}
.cc:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(26,35,50,.09)}
.cc.featured{border-color:var(--teal);box-shadow:0 0 0 3px rgba(121,201,204,.12)}
.cc.featured:hover{box-shadow:0 0 0 3px rgba(121,201,204,.12),0 8px 28px rgba(26,35,50,.1)}
.cc-ribbon{position:absolute;top:0;left:0;background:linear-gradient(135deg,var(--teal),var(--td));color:#fff;font-size:.56rem;font-weight:900;padding:4px 11px 4px 9px;letter-spacing:.08em;text-transform:uppercase;border-bottom-right-radius:8px}
.cc-top{padding:1.125rem 1.25rem .875rem;border-bottom:1px solid var(--border)}
.cc-logo{height:22px;margin-bottom:.5rem;display:flex;align-items:center}
.cc-tagline{font-size:.73rem;color:var(--muted);line-height:1.5}

/* Carrier price block */
.cc-price{padding:1.125rem 1.25rem;border-bottom:1px solid var(--border)}
.cc-price.std{background:linear-gradient(160deg,rgba(237,248,249,.6),var(--bg))}
.cc-price.senior{background:linear-gradient(160deg,rgba(237,248,249,.8),rgba(121,201,204,.04))}
.cc-price.dim{background:var(--bg2)}
.cc-price-lbl{font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.cc-price.senior .cc-price-lbl{color:var(--td)}
.cc-price-range{display:flex;align-items:baseline;gap:1px;margin-bottom:.2rem;flex-wrap:wrap}
.cc-dollar{font-size:.95rem;font-weight:700;color:var(--dark);line-height:1}
.cc-amount{font-size:1.55rem;font-weight:900;color:var(--dark);letter-spacing:-.02em;line-height:1;font-family:'Merriweather',serif}
.cc-amount.sm{font-size:1.25rem}
.cc-sep{font-size:1rem;color:var(--muted);margin:0 3px}
.cc-period{font-size:.72rem;color:var(--muted);margin-top:2px}
.cc-price-note{font-size:.67rem;font-weight:700;margin-top:.375rem;display:flex;align-items:center;gap:4px;line-height:1.4}
.cc-price-note.teal{color:var(--td)}
.cc-price-note.amber{color:#c47a00}

/* Feature rows */
.cc-feats{padding:.875rem 1.25rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:5px}
.cc-feat{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;font-size:.74rem;min-height:20px}
.cc-feat-k{color:var(--muted);flex-shrink:0;line-height:1.4}
.cc-feat-v{font-weight:700;color:var(--text);text-align:right;line-height:1.4}
.cc-feat-v.hi{color:var(--gd)}
.cc-feat-v.lo{color:var(--muted);opacity:.7}
.cc-feat-v.warn{color:#c47a00}

/* CTA row */
.cc-cta{padding:.875rem 1.25rem}
.cc-btn{display:block;text-align:center;padding:10px 14px;border-radius:50px;font-size:.78rem;font-weight:800;text-decoration:none;transition:all .18s;font-family:'Nunito',sans-serif}
.cc-btn.primary{background:linear-gradient(135deg,var(--teal),var(--td));color:#fff;box-shadow:0 3px 10px rgba(121,201,204,.25)}
.cc-btn.primary:hover{box-shadow:0 5px 16px rgba(121,201,204,.4);transform:translateY(-1px)}
.cc-btn.secondary{background:var(--bg2);color:var(--dark);border:1.5px solid var(--border)}
.cc-btn.secondary:hover{border-color:var(--teal);background:var(--tp);color:var(--td)}
.cc-btn.dark{background:var(--dark);color:#fff}
.cc-btn.dark:hover{opacity:.85}
.cc-btn-note{font-size:.65rem;color:var(--muted);margin-top:5px;text-align:center;line-height:1.4}

/* Info/disclaimer/advisor */
.info-box{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);padding:1rem 1.25rem;margin-bottom:1.125rem}
.info-box h4{font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;display:flex;align-items:center;gap:5px}
.info-box p{font-size:.79rem;color:var(--text);line-height:1.65}
.disclaimer{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:1rem 1.25rem;font-size:.72rem;color:var(--muted);line-height:1.7;display:flex;gap:.625rem;align-items:flex-start;margin-bottom:1.125rem}
.adv-cta{background:var(--dark);border-radius:var(--rl);padding:1.75rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;position:relative;overflow:hidden;flex-wrap:wrap;margin-top:1.5rem}
.adv-cta::before{content:'';position:absolute;right:-30px;bottom:-30px;width:180px;height:180px;border-radius:50%;background:rgba(121,201,204,.06)}
.adv-cta::after{content:'';position:absolute;right:60px;top:-40px;width:100px;height:100px;border-radius:50%;background:rgba(126,217,87,.04)}
.adv-cta-text{position:relative;z-index:1}
.adv-cta-text h3{font-family:'Merriweather',serif;font-size:1rem;color:#fff;margin-bottom:.375rem}
.adv-cta-text p{font-size:.79rem;color:rgba(255,255,255,.45);line-height:1.6;max-width:360px}
.adv-btn{background:var(--teal);color:var(--dark);font-weight:800;font-size:.84rem;padding:11px 22px;border-radius:50px;text-decoration:none;white-space:nowrap;transition:all .2s cubic-bezier(.34,1.56,.64,1);flex-shrink:0;position:relative;z-index:1}
.adv-btn:hover{background:#8fd9dc;transform:translateY(-2px);box-shadow:0 6px 20px rgba(121,201,204,.3)}

/* Trust footer */
.trust-footer{text-align:center;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--border)}
.trust-badges{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap}
.tbadge{font-size:.73rem;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:5px}

/* Tool header */
.tool-wrap{border:1.5px solid var(--border);border-radius:var(--rl);overflow:hidden;box-shadow:var(--shadow)}
.tool-head{background:linear-gradient(135deg,var(--dark) 0%,#253045 100%);padding:1.5rem 2rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.th-tag{font-size:.6rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(121,201,204,.7);margin-bottom:6px}
.th-title{font-family:'Merriweather',serif;font-size:1.05rem;color:#fff;margin-bottom:4px;line-height:1.3}
.th-sub{font-size:.76rem;color:rgba(255,255,255,.4);line-height:1.5}
.th-badges{display:flex;gap:.375rem;flex-wrap:wrap;align-items:flex-start;padding-top:2px}
.th-badge{font-size:.6rem;font-weight:800;padding:3px 9px;border-radius:50px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.1);letter-spacing:.03em}
.tool-body{padding:1.75rem 2rem 0}

/* Responsive */
@media(max-width:720px){
  .aud-sel-grid{grid-template-columns:1fr}
  .option-grid.cols2{grid-template-columns:1fr}
  .carrier-grid.cg-2,.carrier-grid.cg-3,.carrier-grid.cg-4{grid-template-columns:1fr}
  .tool-body{padding:1.25rem 1.25rem 0}
  .card-head{padding:1.25rem 1.25rem 0}
  .card-body{padding:1rem 1.25rem 1.25rem}
  .card-foot{padding:1rem 1.25rem}
}
@media(max-width:540px){
  .tool-head{padding:1.25rem 1.25rem}
  .tool-body{padding:1rem 1rem 0}
  .card-head{padding:1rem 1rem 0}
  .card-body{padding:.875rem 1rem 1rem}
  .card-foot{padding:.875rem 1rem;flex-direction:row;gap:8px}
  .btn-next{flex:1;justify-content:center;padding:11px 14px;font-size:.87rem}
  .btn-back{padding:11px 12px;font-size:.82rem}
  .aud-sel-card{padding:.75rem .875rem}
  .aud-sel-desc{display:none}
  .opt-card{padding:11px 12px;gap:10px}
  .opt-title{font-size:.85rem}
  .results-head-row{flex-direction:column;gap:.625rem}
  .adv-cta{padding:1.25rem;gap:1rem}
  .trav-row{gap:7px;padding:10px 12px}
}
@media(max-width:360px){
  .card-head,.card-body,.card-foot,.tool-body{padding-left:.875rem;padding-right:.875rem}
}
/* ── DATE PICKER (Month/Day/Year selects, branded) ── */
.dp{display:flex;align-items:stretch;width:100%;background:#fff;border:1.5px solid var(--border);border-radius:var(--r);overflow:hidden;transition:border-color .17s,box-shadow .17s}
.dp:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(121,201,204,.12)}
.dp select{flex:1;border:none;border-right:1px solid var(--border);background:transparent;padding:11px 8px 11px 12px;font-size:.88rem;font-weight:700;color:var(--dark);font-family:'Nunito',sans-serif;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M1 1l3.5 3.5L8 1' stroke='%238a9bb0' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;padding-right:24px;min-width:0}
.dp select.dp-m{flex:2}
.dp select.dp-d{flex:1.1}
.dp select.dp-y{flex:1.4;border-right:none}
.dp select:focus{background-color:var(--tp)}
.dp select:invalid,.dp select option[value=""]{color:var(--muted)}
