
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:#f5f7fc;color:#1a1a2e;line-height:1.6}

:root{
  --navy:#0d2137;--navy2:#163354;--navy3:#1e4570;
  --gold:#f59e0b;--gold2:#14b8a6;--gold-light:#fef3c7;
  --blue:#2563eb;--blue2:#3b82f6;--blue-light:#eff6ff;
  --green:#16a34a;--green-light:#dcfce7;
  --red:#dc2626;--red-light:#fee2e2;
  --surface:#f5f7fc;--card:#fff;
  --border:#e2e8f0;--text2:#4a5568;--text3:#718096;
  --shadow:0 2px 16px rgba(13,33,55,0.08);
  --shadow2:0 8px 40px rgba(13,33,55,0.14);
  --radius:14px;--radius2:9px;
}

/* ── DARK MODE ── */
body.dark-mode{
  --surface:#0f172a;--card:#1e293b;--border:#334155;
  --text2:#94a3b8;--text3:#64748b;
  --blue-light:#1e3a5f;--green-light:#14291f;--red-light:#3b1111;
  --gold-light:#2d1f05;
  --shadow:0 2px 16px rgba(0,0,0,0.4);
  --shadow2:0 8px 40px rgba(0,0,0,0.5);
  color:#e2e8f0;
}
body.dark-mode .section-eyebrow{color:#fbbf24}
body.dark-mode .bc-tag.gold{color:#fbbf24}
body.dark-mode .about-tag{color:#fbbf24}
body.dark-mode .growth-insight{color:#fbbf24}
body.dark-mode .art-key-list li::before{color:#fbbf24}
body.dark-mode .nl-strip{color:#e2e8f0}
body.dark-mode input[type=range]{background:var(--border)!important}
.dark-toggle{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:#fff;border-radius:20px;padding:5px 13px;font-size:0.78rem;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:600;transition:all 0.18s;white-space:nowrap}
.dark-toggle:hover{background:rgba(255,255,255,0.2)}

/* ── NAV ── */
nav{background:var(--navy);position:sticky;top:0;z-index:1000;box-shadow:0 2px 24px rgba(0,0,0,0.25)}
.nav-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:66px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{width:38px;height:38px;background:transparent;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.65rem;color:var(--navy);letter-spacing:-0.5px}
.logo-text{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:#fff}
.logo-text em{color:var(--gold2);font-style:normal}
.logo-sub{font-size:0.58rem;color:rgba(255,255,255,0.35);letter-spacing:2px;text-transform:uppercase;display:block;margin-top:-5px}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{color:rgba(255,255,255,0.7);text-decoration:none;font-size:0.87rem;padding:7px 15px;border-radius:7px;transition:all 0.18s;font-weight:500}
.nav-links a:hover,.nav-links a.active{color:#fff;background:rgba(255,255,255,0.1)}
.nav-cta{background:linear-gradient(135deg,#0ea5e9,#14b8a6)!important;color:#fff!important;font-weight:700!important;margin-left:6px!important}
.nav-cta:hover{background:linear-gradient(135deg,#0284c7,#0d9488)!important}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;color:#fff;font-size:1.5rem;line-height:1}
.mob-menu{display:none;background:var(--navy2);border-top:1px solid rgba(255,255,255,0.07)}
.mob-menu.open{display:block}
.mob-menu a{display:block;color:rgba(255,255,255,0.75);text-decoration:none;padding:13px 2rem;border-bottom:1px solid rgba(255,255,255,0.05);font-size:0.95rem}

/* ── PAGES ── */
.page{display:none}.page.active{display:block}

/* ── HERO ── */
.hero{background:var(--navy);padding:0;overflow:hidden;position:relative}
.hero-inner{max-width:1280px;margin:0 auto;padding:2.5rem 2rem 0;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.hero-content{padding-bottom:2.5rem}
.hero-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(245,158,11,0.15);border:1px solid rgba(245,158,11,0.35);color:#fbbf24;padding:5px 16px;border-radius:30px;font-size:0.74rem;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:1.25rem;font-weight:600}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.12;color:#fff;font-weight:800;margin-bottom:1rem}
.hero h1 .line2{color:var(--gold2);display:block}
.hero p{color:rgba(255,255,255,0.58);font-size:0.97rem;max-width:440px;line-height:1.78;margin-bottom:1.75rem}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap}
.btn-gold{background:linear-gradient(135deg,#f59e0b,#d97706);color:#1a1a2e;border:none;padding:13px 28px;border-radius:10px;font-weight:700;font-size:0.95rem;cursor:pointer;font-family:'DM Sans',sans-serif;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all 0.2s}
.btn-gold:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-2px);box-shadow:0 8px 24px rgba(245,158,11,0.4)}
.btn-ghost{background:rgba(255,255,255,0.08);color:#fff;border:1px solid rgba(255,255,255,0.2);padding:13px 28px;border-radius:10px;font-size:0.95rem;cursor:pointer;font-family:'DM Sans',sans-serif;text-decoration:none;display:inline-block;transition:all 0.2s}
.btn-ghost:hover{background:rgba(255,255,255,0.15)}

/* hero illustration */
.hero-illustration{display:flex;align-items:center;justify-content:center;padding-bottom:2rem}
.hero-illustration svg{width:100%;max-width:460px;height:auto}

/* ── HOME CALCULATOR SECTION ── */
.home-calc-section{background:var(--surface);padding:3rem 0 4rem}
.container{max-width:1280px;margin:0 auto;padding:0 2rem}
.section-eyebrow{font-size:0.75rem;color:var(--gold);text-transform:uppercase;letter-spacing:2px;font-weight:700;margin-bottom:0.5rem}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--navy);font-weight:700;margin-bottom:0.4rem}
.section-sub{color:var(--text3);font-size:0.92rem;margin-bottom:2.5rem}
.text-center{text-align:center}

/* mini calc card */
.home-calc-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow2);overflow:hidden}
.calc-tabs-mini{display:flex;border-bottom:1px solid var(--border)}
.calc-tab-mini{flex:1;padding:14px;text-align:center;cursor:pointer;font-size:0.88rem;font-weight:600;color:var(--text3);background:var(--card);border:none;font-family:'DM Sans',sans-serif;transition:all 0.2s;border-bottom:3px solid transparent}
.calc-tab-mini.active{color:var(--blue);border-bottom-color:var(--blue);background:#fafcff}
.home-calc-body{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:0}
.hc-inputs{padding:2rem;border-right:1px solid var(--border)}
.hc-donut{padding:2rem;border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center}
.hc-chart{padding:2rem}

/* input fields */
.fi{margin-bottom:1.4rem}
.fi label{display:flex;justify-content:space-between;font-size:0.78rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.8px;font-weight:600;margin-bottom:7px}
.fi label .badge{background:var(--navy);color:#fff;font-size:0.8rem;padding:2px 11px;border-radius:5px;font-weight:600;text-transform:none;letter-spacing:0}
.range-hint{display:flex;justify-content:space-between;font-size:0.68rem;color:var(--text3);margin-top:4px}
input[type=range]{width:100%;height:5px;border-radius:3px;cursor:pointer;appearance:none;-webkit-appearance:none;accent-color:var(--blue)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--blue);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--blue);cursor:pointer}

/* ── Vertical sliders for SIP vs Lumpsum "Assumed Market Path" editor ──
   CUSTOM-BUILT (not a native <input type=range>) — see renderSvLCycleChart
   in the script section. CSS-only approaches using appearance, writing-mode
   or transform:rotate on a real range input proved inconsistent across
   browsers in practice. This track/thumb pair is plain positioned divs
   whose placement is computed directly in JS, so max(+30) is always at
   top:0% and min(-30) is always at top:100% — guaranteed by arithmetic,
   not by any browser's native vertical-fill convention. */
.svl-vtrack{
  position:relative;
  width:14px;
  height:75px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:7px;
  cursor:pointer;
  touch-action:none;
}
.svl-vtrack[data-active="0"]{cursor:default}
.svl-vthumb{
  position:absolute;
  left:50%;
  width:16px;
  height:16px;
  margin-left:-8px;
  border-radius:50%;
  border:2.5px solid #fff;
  box-shadow:0 1px 3px rgba(0,0,0,0.3);
  pointer-events:none;
}

.maturity-box{background:linear-gradient(135deg,var(--navy),var(--navy3));border-radius:var(--radius2);padding:1.25rem;text-align:center;margin-top:1rem}
.mat-label{font-size:0.72rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.mat-amount{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--gold2);font-weight:700}

/* donut */
.donut-container{position:relative;width:150px;height:150px;margin:0 auto 1rem}
.donut-container canvas{position:absolute;top:0;left:0}
.donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;width:100%;max-width:90px;padding:0 4px}
.donut-center-val{font-family:'Playfair Display',serif;font-size:0.95rem;font-weight:700;color:var(--navy);line-height:1.15}
.donut-center-label{font-size:0.6rem;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px}
.donut-legend{width:100%;margin-top:0.5rem}
.dl-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;font-size:0.82rem}
.dl-dot{width:10px;height:10px;border-radius:50%;margin-right:7px;flex-shrink:0}
.dl-left{display:flex;align-items:center;color:var(--text2)}
.dl-val{font-weight:600;color:var(--navy)}

.growth-label{font-size:0.8rem;font-weight:600;color:var(--navy);margin-bottom:0.75rem}
.growth-insight{background:var(--gold-light);border:1px solid rgba(245,158,11,0.25);border-radius:var(--radius2);padding:0.75rem 1rem;margin-top:0.75rem;font-size:0.82rem;color:#92400e}
.growth-insight strong{color:#d97706}

/* ── STATS BAR ── */
.stats-strip{background:var(--card);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.stats-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr)}
.stat-cell{padding:1.75rem 1.5rem;text-align:center;border-right:1px solid var(--border)}
.stat-cell:last-child{border-right:none}
.stat-num{font-family:'Playfair Display',serif;font-size:1.9rem;font-weight:700;color:var(--navy);display:block}
.stat-num.gold{color:var(--gold)}
.stat-label{font-size:0.72rem;color:var(--text3);text-transform:uppercase;letter-spacing:1px;margin-top:2px;display:block}

/* ── FEATURE ICONS ── */
.features-section{background:var(--card);padding:4rem 0}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.feat-card{text-align:center;padding:1.5rem 1rem}
.feat-icon-wrap{width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}
.feat-icon-wrap svg{width:30px;height:30px}
.feat-title{font-weight:700;color:var(--navy);font-size:1rem;margin-bottom:6px}
.feat-desc{font-size:0.83rem;color:var(--text2);line-height:1.6}

/* ── ALL CALCULATORS PAGE ── */
.page-hero{background:var(--navy);padding:2.5rem 0 3.5rem}
.page-hero h1{font-family:'Playfair Display',serif;color:#fff;font-size:1.9rem;font-weight:700;margin-bottom:4px}
.page-hero p{color:rgba(255,255,255,0.5);font-size:0.92rem}
.eyebrow-sm{color:rgba(255,255,255,0.4);font-size:0.72rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:6px}

.calc-section{padding:3rem 0 4rem}
.tab-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:2rem}
.tab-btn{display:flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--border);padding:9px 18px;border-radius:30px;cursor:pointer;font-size:0.86rem;font-family:'DM Sans',sans-serif;color:var(--text2);font-weight:500;transition:all 0.2s}
.tab-btn svg{width:15px;height:15px;flex-shrink:0}
.tab-btn:hover{border-color:var(--navy);color:var(--navy)}
.tab-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.calc-panel{display:none}.calc-panel.active{display:block}

.calc-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.calc-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:0}
.calc-grid-2{display:grid;grid-template-columns:1fr 1.1fr;gap:0}
/* reuse EXACT home page column styles */
.cc-col{padding:2rem;border-right:1px solid var(--border);display:flex;flex-direction:column}
.cc-col .result-box{height:auto}
.cc-col:last-child{border-right:none}
.cc-donut{padding:2rem;border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center}
.cc-chart{padding:2rem}
.cc-chart-label{font-size:0.8rem;font-weight:600;color:var(--navy);margin-bottom:0.75rem}
/* ── WEALTH GOAL PLANNER ── */
.goal-card{background:var(--card);border:2px solid var(--border);border-radius:14px;padding:1.4rem 1.25rem;cursor:pointer;transition:all 0.2s;text-align:center}
.goal-card:hover{border-color:#2563eb;box-shadow:0 4px 20px rgba(37,99,235,0.12);transform:translateY(-2px)}
.goal-card.selected{border-color:#2563eb;background:rgba(37,99,235,0.06);box-shadow:0 4px 20px rgba(37,99,235,0.15)}
.goal-card-icon{font-size:2rem;margin-bottom:0.6rem}
.goal-card-title{font-size:0.92rem;font-weight:700;color:var(--navy);margin-bottom:0.3rem}
.goal-card-sub{font-size:0.75rem;color:var(--text3);line-height:1.4}
@media(max-width:700px){#goal-cards{grid-template-columns:1fr 1fr}#goal-followup .grid-2{grid-template-columns:1fr}}
.insight-card{background:linear-gradient(135deg,#0d2137 0%,#1e4570 100%);border-radius:12px;padding:1.1rem 1.25rem;margin-top:1.25rem}
.insight-card-title{font-size:0.7rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#fbbf24;margin-bottom:0.75rem;display:flex;align-items:center;gap:6px}
.insight-item{display:flex;align-items:flex-start;gap:8px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,0.07);font-size:0.8rem;color:rgba(255,255,255,0.85);line-height:1.5}
.insight-item:last-child{border-bottom:none;padding-bottom:0}
.insight-icon{font-size:0.9rem;flex-shrink:0;margin-top:1px}
@media(max-width:900px){.calc-grid,.calc-grid-2{grid-template-columns:1fr}.cc-col,.cc-donut{border-right:none;border-bottom:1px solid var(--border)}}
.calc-h{font-family:'Playfair Display',serif;font-size:1.35rem;color:var(--navy);font-weight:700;margin-bottom:4px}
.calc-sub{font-size:0.83rem;color:var(--text3);margin-bottom:1.75rem;line-height:1.5}

/* input group */
.field{margin-bottom:1.4rem}
.field label{display:flex;justify-content:space-between;align-items:center;font-size:0.78rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.8px;font-weight:600;margin-bottom:7px}
.field label .val{background:var(--navy);color:#fff;font-size:0.82rem;padding:3px 12px;border-radius:5px;font-weight:600;text-transform:none;letter-spacing:0}
.text-input,.sel{width:100%;border:1.5px solid var(--border);border-radius:var(--radius2);padding:11px 14px;font-size:0.95rem;font-family:'DM Sans',sans-serif;color:var(--navy);background:var(--card);transition:border-color 0.2s}
.text-input:focus,.sel:focus{outline:none;border-color:var(--blue)}
.pfx{position:relative}.pfx span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text3);pointer-events:none}
.pfx input{padding-left:26px}
.radio-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.rbtn{flex:1;min-width:80px;border:1.5px solid var(--border);border-radius:var(--radius2);padding:9px 10px;text-align:center;cursor:pointer;font-size:0.83rem;color:var(--text2);transition:all 0.2s;font-weight:500;user-select:none}
.rbtn.active{background:var(--navy);color:#fff;border-color:var(--navy)}

/* result box */
.result-box{background:var(--navy);border-radius:var(--radius);padding:1.75rem;height:100%}
.result-title{font-size:0.72rem;color:rgba(255,255,255,0.45);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1.25rem;font-weight:600}
.result-hl{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius2);padding:1.25rem;margin-bottom:1.25rem;text-align:center}
.result-hl .rl{font-size:0.72rem;color:rgba(255,255,255,0.45);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}
.result-hl .rv-big{font-family:'Playfair Display',serif;font-size:2rem;color:var(--gold2);font-weight:700}
.result-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.result-row:last-child{border-bottom:none}
.rl{font-size:0.84rem;color:rgba(255,255,255,0.5)}
.rv{font-size:0.9rem;font-weight:600;color:#fff}
.rv.green{color:#4ade80}.rv.red{color:#f87171}.rv.gold{color:var(--gold2)}

.note-box{background:var(--blue-light,#eff6ff);border:1px solid #bfdbfe;border-radius:var(--radius2);padding:0.9rem 1.1rem;font-size:0.79rem;color:#1e40af;margin-top:1.25rem;line-height:1.65}
/* ── CALCULATOR SUPPORTING CONTENT (SEO) ── */
.calc-content{max-width:none;margin:1.6rem 0 0;padding:0}
.calc-content .cc-sec{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem 2rem;margin-bottom:1.1rem}
.calc-content h2{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--navy);font-weight:700;margin:0 0 0.55rem;line-height:1.25}
.calc-content h2:not(:first-child){margin-top:1.6rem}
.calc-content h2 .cc-accent{display:block;width:38px;height:3px;background:var(--gold);border-radius:2px;margin-top:0.55rem}
.calc-content p{font-size:0.9rem;color:var(--text2);line-height:1.7;margin:0 0 0.7rem;max-width:72ch}
.calc-content ul{list-style:none;margin:0.4rem 0 0.2rem;padding:0;max-width:72ch}
.calc-content ul li{position:relative;padding-left:1.4rem;font-size:0.9rem;color:var(--text2);line-height:1.6;margin-bottom:0.5rem}
.calc-content ul li::before{content:"\25B8";position:absolute;left:0;color:var(--gold);font-weight:700}
.calc-content .cc-example{background:var(--blue-light);border:1px solid #bfdbfe;border-radius:var(--radius2);padding:1rem 1.25rem;margin-top:0.3rem}
.calc-content .cc-example p{color:#1e40af;margin-bottom:0}
.calc-content details{border-top:1px solid var(--border);padding:0.9rem 0;max-width:72ch}
.calc-content details:first-of-type{border-top:none;padding-top:0.3rem}
.calc-content summary{font-size:0.92rem;font-weight:600;color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.calc-content summary::-webkit-details-marker{display:none}
.calc-content summary::after{content:"+";color:var(--blue);font-size:1.25rem;font-weight:700;flex-shrink:0;line-height:1}
.calc-content details[open] summary::after{content:"\2013"}
.calc-content details p{margin:0.65rem 0 0}
body.dark-mode .calc-content h2,body.dark-mode .calc-content summary{color:#e2e8f0}
body.dark-mode .calc-content .cc-example{border-color:#2a4f7a}
body.dark-mode .calc-content .cc-example p{color:#bfdbfe}
/* ── ARTICLE → TOOL INTERNAL LINKS (SEO) ── */
.art-related{margin:2rem 0 0.5rem;padding:1.4rem 1.6rem;background:var(--blue-light);border:1px solid #bfdbfe;border-radius:var(--radius)}
.art-related-h{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:0.9rem}
.art-related-links{display:flex;flex-wrap:wrap;gap:0.6rem}
.art-tool-link{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:0.5rem 1rem;font-size:0.85rem;font-weight:600;color:var(--blue);text-decoration:none;transition:all 0.18s}
.art-tool-link:hover{border-color:var(--blue);box-shadow:var(--shadow);transform:translateY(-1px)}
.art-tool-link span{font-size:1rem;transition:transform 0.18s}
.art-tool-link:hover span{transform:translateX(3px)}
body.dark-mode .art-related{background:#14243a;border-color:#2a4f7a}
body.dark-mode .art-related-h{color:#e2e8f0}
body.dark-mode .art-tool-link{color:#93c5fd}
/* ── ARTICLE CONTENT CLUSTERS (SEO) ── */
.art-cluster{margin:2rem 0 0;padding:1.4rem 1.6rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.art-cluster-eyebrow{font-size:0.7rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);margin-bottom:0.55rem}
.art-cluster-title{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:0.9rem;line-height:1.35}
.art-cluster-title a.pillar-link{color:var(--blue);text-decoration:none}
.art-cluster-title a.pillar-link:hover{text-decoration:underline}
.art-cluster-more{font-size:0.78rem;color:var(--text3);margin-bottom:0.6rem}
.art-cluster ul{list-style:none;margin:0;padding:0;max-width:100%}
.art-cluster li{margin-bottom:0.5rem}
.art-cluster li a{color:var(--text2);text-decoration:none;font-size:0.9rem;display:inline-flex;gap:8px;line-height:1.5}
.art-cluster li a:hover{color:var(--blue)}
.art-cluster li a::before{content:"\203A";color:var(--gold);font-weight:700;flex-shrink:0}
body.dark-mode .art-cluster-title{color:#e2e8f0}
/* calc-charts legacy removed — charts now inline in grid columns */

/* ── HOW IT WORKS ── */
.hiw-section{background:var(--surface);padding:4rem 0}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:steps}
.step-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;position:relative;counter-increment:steps}
.step-card::after{content:counter(steps,'0'counter(steps));font-family:'Playfair Display',serif;font-size:3rem;font-weight:800;color:var(--border);position:absolute;bottom:1rem;right:1.25rem;line-height:1}
.step-icon{width:42px;height:42px;background:var(--gold-light);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.step-icon svg{width:20px;height:20px;color:var(--gold)}
.step-title{font-weight:700;color:var(--navy);margin-bottom:5px}
.step-desc{font-size:0.82rem;color:var(--text2);line-height:1.6}

/* ── CTA ── */
.cta-section{background:var(--navy);padding:5rem 2rem;text-align:center}
.cta-section h2{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3vw,2.3rem);color:#fff;margin-bottom:0.75rem}
.cta-section p{color:rgba(255,255,255,0.5);max-width:460px;margin:0 auto 2rem;line-height:1.75}

/* ── ABOUT ── */
.about-section{background:var(--card);padding:4.5rem 0}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about-tag{display:inline-block;background:var(--gold-light);color:#d97706;font-size:0.72rem;padding:4px 14px;border-radius:20px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:1rem}
.about-h{font-family:'Playfair Display',serif;font-size:1.75rem;color:var(--navy);font-weight:700;margin-bottom:1rem;line-height:1.25}
.about-p{color:var(--text2);line-height:1.8;margin-bottom:1rem;font-size:0.95rem}
.check-list{list-style:none;margin-top:1.25rem}
.check-list li{display:flex;align-items:flex-start;gap:10px;font-size:0.88rem;color:var(--text2);padding:6px 0}
.check-list li::before{content:'✓';background:var(--green-light);color:var(--green);width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.68rem;font-weight:700;flex-shrink:0;margin-top:1px}
.about-visual{background:linear-gradient(135deg,var(--navy),var(--navy3));border-radius:var(--radius);padding:2.5rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.av-card{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:1.25rem;text-align:center}
.av-num{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;color:var(--gold2);display:block;margin-bottom:3px}
.av-label{font-size:0.72rem;color:rgba(255,255,255,0.45);text-transform:uppercase;letter-spacing:1px}

/* ── FOOTER ── */
footer{background:#081929;padding:3.5rem 2rem 1.5rem}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-logo-wrap{margin-bottom:1rem}
.footer-desc{font-size:0.83rem;color:rgba(255,255,255,0.3);line-height:1.7;max-width:230px}
.footer-h{color:rgba(255,255,255,0.5);font-size:0.72rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1rem;font-weight:600}
.footer-col a{display:block;color:rgba(255,255,255,0.3);text-decoration:none;font-size:0.85rem;margin-bottom:9px;transition:color 0.2s}
.footer-col a:hover{color:var(--gold2)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.05);padding-top:1.25rem;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}
.footer-copy{font-size:0.75rem;color:rgba(255,255,255,0.18)}
.footer-copy span{color:var(--gold)}
.disclaimer{font-size:0.68rem;color:rgba(255,255,255,0.14);max-width:520px;line-height:1.5}

/* ── TOAST ── */
.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(120px);background:var(--navy);color:#fff;padding:11px 24px;border-radius:30px;font-size:0.86rem;font-weight:500;transition:transform 0.3s;z-index:9999;box-shadow:var(--shadow2);pointer-events:none;border:1px solid rgba(255,255,255,0.1)}
.toast.show{transform:translateX(-50%) translateY(0)}

/* ── BLOG LIST ── */
.blog-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:2rem}
.bf{background:var(--card);border:1px solid var(--border);padding:6px 18px;border-radius:20px;cursor:pointer;font-size:0.83rem;color:var(--text2);font-weight:500;transition:all 0.18s;font-family:'DM Sans',sans-serif}
.bf:hover{border-color:var(--navy);color:var(--navy)}.bf.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.5rem}
.blog-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all 0.2s;cursor:pointer;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow2);border-color:var(--navy)}
.blog-card.featured{grid-column:1/-1;flex-direction:row;align-items:stretch}
.blog-card.featured .bc-thumb{width:38%;max-width:440px;height:auto;min-height:210px;font-size:4rem}
.blog-card.featured .bc-body{flex:1;justify-content:center}
.blog-card.featured .bc-title{font-size:1.4rem}
@media(max-width:700px){.blog-card.featured{grid-column:span 1;flex-direction:column}.blog-card.featured .bc-thumb{width:auto;min-height:0;height:180px;font-size:2.5rem}.blog-card.featured .bc-title{font-size:1.2rem}}
.bc-thumb{height:140px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;flex-shrink:0}
.bc-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
.bc-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:0.75rem}
.bc-tag{font-size:0.68rem;padding:2px 9px;border-radius:10px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase}
.bc-tag.blue{background:var(--blue-light);color:#1e40af}.bc-tag.gold{background:var(--gold-light);color:#92400e}
.bc-tag.green{background:var(--green-light);color:#14532d}.bc-tag.new{background:#fce7f3;color:#be185d}
.bc-tag.red{background:#fee2e2;color:#991b1b}
.crore-tbtn{flex:1;min-width:180px;padding:9px 12px;border:1.5px solid var(--border);background:var(--card);border-radius:9px;font-family:inherit;font-size:0.8rem;font-weight:600;color:var(--text2);cursor:pointer;transition:all 0.18s}
.crore-tbtn:hover{border-color:#93c5fd}
.crore-tbtn.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}
.screens-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-bottom:1.25rem}
.screen-card{display:block;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;text-decoration:none;transition:all 0.18s}
.screen-card:hover{border-color:#2563eb;transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,0.08)}
.screen-tag{display:inline-block;font-size:0.66rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;padding:3px 10px;border-radius:20px;margin-bottom:0.7rem}
.screen-name{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:0.4rem}
.screen-desc{font-size:0.82rem;color:var(--text2);line-height:1.55;margin-bottom:0.85rem}
.screen-cta{font-size:0.8rem;font-weight:700;color:#2563eb}
.art-tag.red{background:#fee2e2;color:#991b1b}
.bc-title{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--navy);line-height:1.3;margin-bottom:0.5rem}
.bc-excerpt{font-size:0.82rem;color:var(--text2);line-height:1.6;flex:1;margin-bottom:1rem}
.bc-meta{display:flex;justify-content:space-between;align-items:center;font-size:0.74rem;color:var(--text3);padding-top:0.75rem;border-top:1px solid var(--border);margin-top:auto}
.bc-read{color:var(--blue);font-weight:600;font-size:0.78rem}
.coming-card{background:var(--card);border:1.5px dashed var(--border);border-radius:var(--radius);padding:2rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.75rem;color:var(--text3);min-height:180px;font-size:0.85rem}
.nl-strip{background:var(--gold-light);border:1px solid rgba(245,158,11,0.3);border-radius:var(--radius);padding:2rem;margin-top:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.nl-text h3{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--navy);margin-bottom:4px}
.nl-text p{font-size:0.83rem;color:var(--text2)}
.nl-form{display:flex;gap:8px;flex-wrap:wrap}
.nl-input{border:1.5px solid var(--border);border-radius:var(--radius2);padding:10px 16px;font-size:0.88rem;font-family:'DM Sans',sans-serif;color:var(--navy);min-width:200px;background:var(--card)}
.nl-input:focus{outline:none;border-color:var(--navy)}

/* ── ARTICLE READER ── */
.article-wrap{max-width:1200px;margin:0 auto;padding:3rem 2rem;display:grid;grid-template-columns:1fr 290px;gap:3rem;align-items:start}
.art-back{display:inline-flex;align-items:center;gap:6px;color:var(--text3);font-size:0.84rem;cursor:pointer;margin-bottom:1.5rem;transition:color 0.15s;background:none;border:none;font-family:'DM Sans',sans-serif;padding:0}
.art-back:hover{color:var(--navy)}
.art-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:1rem}
.art-tag{font-size:0.68rem;padding:3px 10px;border-radius:10px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase}
.art-tag.blue{background:var(--blue-light);color:#1e40af}.art-tag.gold{background:var(--gold-light);color:#92400e}.art-tag.green{background:var(--green-light);color:#14532d}
h1.art-title{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;line-height:1.18;color:var(--navy);margin-bottom:1rem}
.art-meta-row{display:flex;align-items:center;gap:1rem;font-size:0.79rem;color:var(--text3);flex-wrap:wrap;padding-bottom:1.25rem;border-bottom:1px solid var(--border);margin-bottom:1.75rem}
.art-body h2{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:700;color:var(--navy);margin:2rem 0 0.6rem}
.art-body h3{font-size:1.02rem;font-weight:600;color:var(--navy);margin:1.5rem 0 0.4rem}
.art-body p{color:var(--text2);margin-bottom:1rem;font-size:0.95rem;line-height:1.8}
.art-body ul,.art-body ol{color:var(--text2);margin:0.75rem 0 1rem 1.5rem;font-size:0.95rem}
.art-body li{margin-bottom:5px;line-height:1.7}
.art-body strong{color:var(--navy);font-weight:600}
.art-callout{border-radius:var(--radius2);padding:1rem 1.25rem;margin:1.5rem 0;border-left:4px solid}
.art-callout.info{background:var(--blue-light);border-color:var(--blue)}.art-callout.info .act{color:#1e40af}.art-callout.info p{color:#1e3a8a}
.art-callout.warn{background:#fffbeb;border-color:#d97706}.art-callout.warn .act{color:#92400e}.art-callout.warn p{color:#78350f}
.art-callout.success{background:var(--green-light);border-color:var(--green)}.art-callout.success .act{color:#14532d}.art-callout.success p{color:#166534}
.act{font-weight:700;font-size:0.76rem;text-transform:uppercase;letter-spacing:0.8px;margin-bottom:4px}.art-callout p{margin:0;font-size:0.87rem;line-height:1.65}
.art-table-wrap{overflow-x:auto;margin:1.25rem 0}
.art-table{width:100%;border-collapse:collapse;font-size:0.86rem}
.art-table th{background:var(--navy);color:#fff;padding:10px 12px;text-align:left;font-weight:600;font-size:0.78rem}
.art-table td{padding:9px 12px;border-bottom:1px solid var(--border);color:var(--text2)}
.art-table tr:nth-child(even) td{background:#fafbfd}.art-table tr:hover td{background:var(--blue-light)}
.rp{display:inline-block;padding:2px 9px;border-radius:10px;font-weight:700;font-size:0.78rem}
.rp-red{background:var(--red-light);color:var(--red)}.rp-amber{background:#fffbeb;color:#d97706}.rp-green{background:var(--green-light);color:var(--green)}
.art-eg{background:var(--navy);border-radius:var(--radius);padding:1.5rem;margin:1.5rem 0}
.art-eg-title{font-size:0.7rem;color:rgba(255,255,255,0.4);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1rem;font-weight:600}
.art-eg-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.art-eg-item{background:rgba(255,255,255,0.06);border-radius:8px;padding:0.85rem}
.art-eg-label{font-size:0.68rem;color:rgba(255,255,255,0.4);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:3px}
.art-eg-val{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:#fff}
.art-eg-val.gold{color:var(--gold2)}.art-eg-val.green{color:#4ade80}.art-eg-val.red{color:#f87171}
.art-eg-div{grid-column:span 2;border-top:1px solid rgba(255,255,255,0.08);padding-top:0.75rem}
.art-key{background:var(--gold-light);border:1px solid rgba(245,158,11,0.3);border-radius:var(--radius2);padding:1.25rem;margin:1.75rem 0}
.art-key-title{font-weight:700;color:#78450a;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.8px;margin-bottom:0.6rem}
.art-key-list{list-style:none}
.art-key-list li{display:flex;gap:8px;padding:4px 0;font-size:0.85rem;color:#78350f;line-height:1.5}
.art-key-list li::before{content:'✓';font-weight:700;color:#d97706;flex-shrink:0}
.art-faq-item{border:1px solid var(--border);border-radius:var(--radius2);margin-bottom:8px;overflow:hidden}
.art-faq-q{width:100%;background:var(--card);border:none;text-align:left;padding:0.9rem 1.1rem;font-size:0.88rem;font-weight:600;color:var(--navy);cursor:pointer;font-family:'DM Sans',sans-serif;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:background 0.15s}
.art-faq-q:hover{background:#fafbfd}.art-faq-q.open{background:var(--navy);color:#fff}
.art-faq-icon{font-size:1.1rem;flex-shrink:0;transition:transform 0.2s;color:var(--text3)}
.art-faq-q.open .art-faq-icon{transform:rotate(45deg);color:rgba(255,255,255,0.5)}
.art-faq-a{display:none;padding:0.85rem 1.1rem;font-size:0.86rem;color:var(--text2);line-height:1.7;background:var(--card)}.art-faq-a.open{display:block}
.art-cta{background:var(--navy);border-radius:var(--radius);padding:1.5rem;margin:2rem 0;text-align:center;color:#fff}
.art-calc-nudge{display:flex;align-items:center;gap:0.75rem;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--teal);border-radius:8px;padding:0.65rem 0.9rem;margin:1rem 0;font-size:0.82rem;color:var(--text2)}
.art-calc-nudge a{color:var(--blue);font-weight:600;white-space:nowrap;text-decoration:none}
.art-calc-nudge a:hover{text-decoration:underline}
.art-calc-nudge-icon{font-size:1rem;flex-shrink:0}
.art-cta h3{font-family:'Playfair Display',serif;font-size:1.15rem;margin-bottom:0.4rem}
.art-cta p{color:rgba(255,255,255,0.5);font-size:0.83rem;margin-bottom:1.1rem;line-height:1.6}
.art-author{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;gap:1rem;align-items:flex-start;margin-top:2rem}
.art-avatar{width:44px;height:44px;background:var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.85rem;color:var(--gold2);flex-shrink:0}
.art-author-name{font-weight:700;color:var(--navy);font-size:0.88rem;margin-bottom:2px}
.art-author-bio{font-size:0.8rem;color:var(--text2);line-height:1.6}
.art-sb{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow)}
.art-sb-title{font-weight:700;color:var(--navy);font-size:0.86rem;margin-bottom:0.9rem;padding-bottom:0.7rem;border-bottom:1px solid var(--border)}
.art-qf-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border);font-size:0.8rem}
.art-qf-row:last-child{border-bottom:none}
.art-qf-l{color:var(--text3)}.art-qf-v{font-weight:600;color:var(--navy)}
.art-qf-v.green{color:var(--green)}.art-qf-v.red{color:var(--red)}.art-qf-v.amber{color:#d97706}
.art-toc a{display:block;color:var(--text2);text-decoration:none;font-size:0.81rem;padding:5px 0;border-bottom:1px solid var(--border);transition:color 0.15s}
.art-toc a:last-child{border-bottom:none}.art-toc a:hover{color:var(--navy);padding-left:3px}
.art-rel a{display:flex;align-items:flex-start;gap:6px;color:var(--blue);text-decoration:none;font-size:0.8rem;padding:5px 0;border-bottom:1px solid var(--border);line-height:1.4}
.art-rel a:last-child{border-bottom:none}.art-rel a::before{content:'→';color:var(--text3);flex-shrink:0}.art-rel a:hover{color:var(--navy)}
.art-sb-cta{background:var(--navy);border-radius:var(--radius);padding:1.1rem;text-align:center;color:#fff}
.art-sb-cta h4{color:#fff;margin-bottom:5px;font-size:0.9rem}
.art-sb-cta p{font-size:0.77rem;color:rgba(255,255,255,0.45);margin-bottom:0.9rem;line-height:1.55}
@media(max-width:900px){.article-wrap{grid-template-columns:1fr;gap:2rem}.art-eg-grid{grid-template-columns:1fr}.art-eg-div{grid-column:span 1}}

/* ── STOCKS SCREENER PAGE ── */
.stocks-hero{background:var(--navy);padding:2.5rem 0 3.5rem;position:relative;overflow:hidden}
.stocks-hero::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:50px;background:var(--surface);clip-path:ellipse(60% 100% at 50% 100%)}
.platform-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin-bottom:2.5rem}
.platform-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:all 0.2s}
.platform-card:hover{transform:translateY(-3px);box-shadow:var(--shadow2)}
.platform-card.top-pick{border-color:#f59e0b;border-width:2px}
.pc-header{padding:1.5rem 1.5rem 1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.pc-logo{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.85rem;color:#fff;flex-shrink:0;letter-spacing:0.3px}
.pc-info{flex:1}
.pc-name{font-weight:700;color:var(--navy);font-size:1rem;margin-bottom:3px}
.pc-tagline{font-size:0.78rem;color:var(--text3);line-height:1.4}
.pc-badge{font-size:0.65rem;padding:3px 9px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;white-space:nowrap;flex-shrink:0}
.pb-free{background:var(--green-light);color:var(--green)}
.pb-top{background:var(--gold-light);color:#92400e}
.pb-pro{background:var(--blue-light);color:#1e40af}
.pc-features{padding:0 1.5rem;margin-bottom:1rem}
.pc-feat-row{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:0.83rem;color:var(--text2);border-bottom:1px solid var(--border)}
.pc-feat-row:last-child{border-bottom:none}
.pc-feat-row::before{content:'✓';color:var(--green);font-weight:700;flex-shrink:0;font-size:0.75rem}
.pc-footer{padding:1rem 1.5rem;margin-top:auto;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:0.75rem}
.pc-price{font-size:0.8rem;color:var(--text3)}
.pc-price strong{color:var(--navy)}
.pc-btn{background:var(--navy);color:#fff;border:none;padding:8px 20px;border-radius:8px;font-size:0.82rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;text-decoration:none;display:inline-block;transition:all 0.2s;white-space:nowrap}
.pc-btn:hover{background:var(--navy2)}
.pc-btn.gold{background:#f59e0b;color:#1a1a2e}
.pc-btn.gold:hover{background:#d97706}
.screener-builder{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow)}
.sb-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.sb-top h2{font-family:'Playfair Display',serif;font-size:1.25rem;color:var(--navy);font-weight:700}
.sb-top p{font-size:0.83rem;color:var(--text3);margin-top:3px}
.filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;margin-bottom:1.5rem}
.filter-group label{display:block;font-size:0.75rem;color:var(--text2);text-transform:uppercase;letter-spacing:0.8px;font-weight:600;margin-bottom:6px}
.filter-sel{width:100%;border:1.5px solid var(--border);border-radius:var(--radius2);padding:9px 12px;font-size:0.88rem;font-family:'DM Sans',sans-serif;color:var(--navy);background:var(--card);transition:border-color 0.2s}
.filter-sel:focus{outline:none;border-color:var(--blue)}
.filter-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.screener-result-hint{background:var(--navy);border-radius:var(--radius);padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.srh-left h3{font-family:'Playfair Display',serif;color:#fff;font-size:1.1rem;margin-bottom:4px}
.srh-left p{color:rgba(255,255,255,0.5);font-size:0.84rem;line-height:1.6}
.srh-btns{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}
.how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem}
.how-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;position:relative}
.how-num{font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:800;color:var(--border);position:absolute;top:1rem;right:1.25rem;line-height:1}
.how-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;font-size:1.2rem}
.how-title{font-weight:600;color:var(--navy);margin-bottom:5px;font-size:0.95rem}
.how-desc{font-size:0.82rem;color:var(--text2);line-height:1.6}
.compare-table-wrap{overflow-x:auto;margin-bottom:2.5rem}
.compare-table{width:100%;border-collapse:collapse;font-size:0.86rem}
.compare-table th{background:var(--navy);color:#fff;padding:11px 14px;text-align:left;font-size:0.78rem;font-weight:600;letter-spacing:0.3px}
.compare-table th:first-child{border-radius:8px 0 0 0}.compare-table th:last-child{border-radius:0 8px 0 0}
.compare-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text2);vertical-align:middle}
.compare-table tr:last-child td{border-bottom:none}
.compare-table tr:hover td{background:var(--blue-light)}
.ct-yes{color:var(--green);font-weight:600}.ct-no{color:var(--text3)}.ct-part{color:#d97706;font-weight:500}
.affil-note{background:var(--blue-light);border:1px solid #bfdbfe;border-radius:var(--radius2);padding:0.9rem 1.1rem;font-size:0.79rem;color:#1e40af;line-height:1.65;margin-top:1.5rem}

/* ── RESPONSIVE ── */
@media(max-width:1000px){
  .nav-links{display:none}.hamburger{display:block}
  .hero-inner{grid-template-columns:1fr;padding:2rem 1.25rem 0}
  .hero-illustration{display:none}
  .home-calc-body{grid-template-columns:1fr}
  .hc-donut,.hc-chart{border-right:none;border-top:1px solid var(--border)}
  .feat-grid{grid-template-columns:repeat(2,1fr)}
  .steps-grid{grid-template-columns:repeat(2,1fr)}
  .stats-inner{grid-template-columns:repeat(2,1fr)}
  .stat-cell:nth-child(2){border-right:none}
  .stat-cell:nth-child(3){border-top:1px solid var(--border)}
  .calc-grid,.calc-grid-2{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .hero h1{font-size:2rem}
  .hero-content{padding-bottom:2.5rem}
  .feat-grid{grid-template-columns:1fr 1fr}
  .steps-grid{grid-template-columns:1fr}
  .stats-inner{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .calc-card{padding:1.5rem}
  .about-visual{grid-template-columns:1fr 1fr}
  .footer-desc{max-width:100%}
  .disclaimer{max-width:100%}
}
/* ── INSURANCE PAGE ── */
.ins-calc-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow2);overflow:hidden;margin-bottom:2.5rem}
.ins-calc-header{background:linear-gradient(135deg,#0d2137,#1e4570);padding:1.5rem 2rem}
.ins-calc-header h2{font-family:'Playfair Display',serif;font-size:1.2rem;color:#fff;font-weight:700;margin-bottom:3px}
.ins-calc-header p{color:rgba(255,255,255,0.5);font-size:0.82rem}
.ins-tabs{display:flex;border-bottom:1px solid var(--border)}
.ins-tab{flex:1;padding:13px;text-align:center;cursor:pointer;font-size:0.86rem;font-weight:600;color:var(--text3);background:var(--card);border:none;font-family:'DM Sans',sans-serif;transition:all 0.2s;border-bottom:3px solid transparent}
.ins-tab.active{color:var(--blue);border-bottom-color:var(--blue);background:#fafcff}
.ins-panel{display:none;padding:2rem}.ins-panel.active{display:block}
.ins-result-box{background:var(--navy);border-radius:var(--radius);padding:1.5rem;color:#fff}
.ins-result-title{font-size:0.72rem;color:rgba(255,255,255,0.45);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1.25rem;font-weight:600}
.ins-result-hl{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius2);padding:1.25rem;margin-bottom:1.25rem;text-align:center}
.ins-result-hl .irl{font-size:0.72rem;color:rgba(255,255,255,0.45);text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}
.ins-result-hl .irv{font-family:'Playfair Display',serif;font-size:2rem;color:#4ade80;font-weight:700}
.ins-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.ins-row:last-child{border-bottom:none}
.ins-rl{font-size:0.83rem;color:rgba(255,255,255,0.5)}.ins-rv{font-size:0.88rem;font-weight:600;color:#fff}
.ins-rv.green{color:#4ade80}.ins-rv.amber{color:var(--gold2)}.ins-rv.red{color:#f87171}
.ins-tip{background:rgba(14,165,233,0.12);border:1px solid rgba(14,165,233,0.25);border-radius:var(--radius2);padding:0.9rem 1rem;margin-top:1rem;font-size:0.8rem;color:#7dd3fc;line-height:1.6}
.ins-note{background:#fffbeb;border:1px solid #fcd34d;border-radius:var(--radius2);padding:0.85rem 1rem;font-size:0.8rem;color:#78350f;line-height:1.6;margin-top:1.25rem}
.ins-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2.5rem}
.ins-type-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:all 0.18s;display:flex;flex-direction:column}
.ins-type-card.recommended{border-color:var(--green);border-width:2px}
.ins-type-card.avoid{border-color:var(--red)}
.itc-cta{margin-top:auto;padding-top:0.85rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:0.78rem;color:var(--text3)}
.itc-cta a{color:var(--blue);font-weight:600;text-decoration:none;font-size:0.78rem}
.itc-cta a:hover{text-decoration:underline}
.itc-icon{font-size:1.75rem;margin-bottom:0.75rem}
.itc-name{font-weight:700;color:var(--navy);font-size:1rem;margin-bottom:4px}
.itc-tag{display:inline-block;font-size:0.65rem;padding:2px 9px;border-radius:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.75rem}
.tag-recommend{background:var(--green-light);color:var(--green)}
.tag-ok{background:var(--blue-light);color:#1e40af}
.tag-avoid{background:var(--red-light);color:var(--red)}
.itc-desc{font-size:0.82rem;color:var(--text2);line-height:1.6;margin-bottom:0.75rem}
.itc-list{list-style:none;margin:0}
.itc-list li{font-size:0.79rem;color:var(--text2);padding:3px 0;display:flex;gap:7px;line-height:1.45}
.itc-list li.pro::before{content:'✓';color:var(--green);font-weight:700;flex-shrink:0;font-size:0.7rem;margin-top:2px}
.itc-list li.con::before{content:'✗';color:var(--red);font-weight:700;flex-shrink:0;font-size:0.7rem;margin-top:2px}

/* ── PDF PRINT STYLES ── */
#pdf-overlay{display:none}
@media print{
  /* Hide everything except the PDF overlay */
  body > *:not(#pdf-overlay){display:none!important}
  /* Show overlay as normal block (NOT fixed) so it doesn't repeat across pages */
  #pdf-overlay{display:block!important;position:static!important;width:100%;background:#fff;padding:2rem;box-sizing:border-box;font-family:'DM Sans',sans-serif;color:#1a1a2e}
  #pdf-overlay .pdf-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #0d2137}
  #pdf-overlay .pdf-logo-text{font-size:1.4rem;font-weight:700;color:#0d2137}
  #pdf-overlay .pdf-logo-sub{font-size:0.65rem;color:#718096;letter-spacing:2px;text-transform:uppercase}
  #pdf-overlay .pdf-title{font-size:1.1rem;font-weight:700;color:#0d2137;margin:1rem 0 0.5rem}
  #pdf-overlay .pdf-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;margin:0.75rem 0}
  #pdf-overlay .pdf-row{display:flex;justify-content:space-between;padding:0.4rem 0.75rem;background:#f5f7fc;border-radius:6px;font-size:0.85rem}
  #pdf-overlay .pdf-row.highlight{background:#0d2137;color:#fff;font-weight:700;font-size:1rem}
  #pdf-overlay .pdf-row .label{color:#4a5568}
  #pdf-overlay .pdf-row.highlight .label{color:rgba(255,255,255,0.75)}
  #pdf-overlay .pdf-row .value{font-weight:600;color:#0d2137}
  #pdf-overlay .pdf-row.highlight .value{color:#22c55e;font-size:1.1rem}
  #pdf-overlay .pdf-chart{margin:1rem 0;text-align:center}
  #pdf-overlay .pdf-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0;font-size:0.7rem;color:#718096;display:flex;justify-content:space-between}
  #pdf-overlay .pdf-disclaimer{font-size:0.65rem;color:#a0aec0;margin-top:0.5rem;line-height:1.5}
  /* Prevent page breaks inside chart and result blocks */
  #pdf-overlay .pdf-chart,
  #pdf-overlay .pdf-grid,
  #pdf-overlay .pdf-row{page-break-inside:avoid;break-inside:avoid}
  /* Force single-page output where content fits */
  @page{margin:1cm}
  /* Force background colours to print (navy logo, highlighted rows) */
  #pdf-overlay *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}
}
.nl-text h3{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--navy);margin-bottom:4px}
.nl-text p{font-size:0.83rem;color:var(--text2)}
.blog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.75rem}
.blog-search{position:relative;flex:0 0 auto}
.blog-search input{width:250px;max-width:100%;padding:9px 12px 9px 34px;border:1.5px solid var(--border);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:0.86rem;background:var(--card);color:var(--navy)}
.blog-search input:focus{outline:none;border-color:var(--navy)}
.blog-search .bs-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text3);pointer-events:none}
@media(max-width:640px){.blog-search,.blog-search input{width:100%}}


.mf-cat-tile{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);padding:1rem;cursor:pointer;transition:all 0.18s;text-align:center}
.mf-cat-tile:hover{border-color:var(--navy);transform:translateY(-2px);box-shadow:var(--shadow)}
.mf-cat-tile.active{border-color:var(--navy);border-width:2px;background:var(--navy)}
.mf-cat-tile.active .mct-name{color:#fff}
.mf-cat-tile.active .mct-sub{color:rgba(255,255,255,0.5)}
.mct-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin:0 auto 0.75rem}
.mct-name{font-weight:700;color:var(--navy);font-size:0.9rem;margin-bottom:3px}
.mct-sub{font-size:0.73rem;color:var(--text3);line-height:1.4}

/* ── BROKER QUIZ ── */
.quiz-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-bottom:2.5rem}
.quiz-header{background:var(--navy);padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.quiz-header h2{font-family:'Playfair Display',serif;font-size:1.2rem;color:#fff;font-weight:700}
.quiz-header p{color:rgba(255,255,255,0.5);font-size:0.83rem;margin-top:3px}
.quiz-progress{display:flex;gap:5px;align-items:center}
.qp-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.2);transition:all 0.2s;flex-shrink:0}
.qp-dot.done{background:var(--gold2)}
.qp-dot.active{background:#fff;width:22px;border-radius:4px}
.quiz-body{padding:2rem}
.quiz-q-text{font-size:1rem;font-weight:600;color:var(--navy);margin-bottom:1.25rem;line-height:1.4}
.quiz-q-num{font-size:0.75rem;color:var(--text3);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-weight:600}
.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:500px){.quiz-options{grid-template-columns:1fr}}
.quiz-opt{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius2);padding:12px 16px;cursor:pointer;transition:all 0.18s;text-align:left;font-family:'DM Sans',sans-serif;font-size:0.88rem;color:var(--text2);line-height:1.4;display:flex;align-items:flex-start;gap:10px}
.quiz-opt:hover{border-color:var(--navy);color:var(--navy);background:#fff}
.quiz-opt.selected{border-color:var(--navy);background:var(--navy);color:#fff}
.quiz-opt-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px}
.quiz-opt-text{}
.quiz-opt-sub{font-size:0.74rem;opacity:0.65;display:block;margin-top:2px}
.quiz-nav{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}
.quiz-back{background:none;border:1px solid var(--border);border-radius:8px;padding:9px 18px;font-size:0.85rem;color:var(--text2);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.15s}
.quiz-back:hover{border-color:var(--navy);color:var(--navy)}
.quiz-step{font-size:0.8rem;color:var(--text3)}
.quiz-next{background:var(--navy);color:#fff;border:none;border-radius:8px;padding:10px 22px;font-size:0.88rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.2s}
.quiz-next:hover{background:var(--navy2)}
.quiz-next:disabled{opacity:0.35;cursor:not-allowed}
/* result */
.quiz-result{padding:2rem;display:none}
.qr-top{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:start;margin-bottom:1.5rem}
.qr-logo{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;color:#fff;flex-shrink:0}
.qr-match{font-size:0.72rem;color:var(--gold);text-transform:uppercase;letter-spacing:1.5px;font-weight:700;margin-bottom:4px}
.qr-name{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:800;color:var(--navy);margin-bottom:4px}
.qr-tagline{font-size:0.88rem;color:var(--text2)}
.qr-why{background:var(--green-light);border:1px solid #bbf7d0;border-radius:var(--radius2);padding:1rem 1.25rem;margin-bottom:1.25rem}
.qr-why-title{font-size:0.75rem;color:#14532d;text-transform:uppercase;letter-spacing:0.8px;font-weight:700;margin-bottom:0.5rem}
.qr-why ul{list-style:none;margin:0}
.qr-why ul li{font-size:0.86rem;color:#166534;padding:3px 0;display:flex;gap:8px}
.qr-why ul li::before{content:'✓';font-weight:700;flex-shrink:0}
.qr-also{margin-bottom:1.25rem}
.qr-also-title{font-size:0.78rem;color:var(--text3);text-transform:uppercase;letter-spacing:0.8px;font-weight:600;margin-bottom:0.6rem}
.qr-also-list{display:flex;gap:8px;flex-wrap:wrap}
.qr-also-pill{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:5px 14px;font-size:0.8rem;color:var(--text2);font-weight:500}
.qr-actions{display:flex;gap:10px;flex-wrap:wrap}
.quiz-retry{background:none;border:1px solid var(--border);border-radius:8px;padding:10px 20px;font-size:0.86rem;color:var(--text2);cursor:pointer;font-family:'DM Sans',sans-serif}
.quiz-retry:hover{border-color:var(--navy);color:var(--navy)}

/* ── DIRECT vs REGULAR CALC ── */
.dvr-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-bottom:2.5rem}
.dvr-header{background:linear-gradient(135deg,var(--navy),var(--navy2));padding:1.5rem 2rem}
.dvr-header h2{font-family:'Playfair Display',serif;font-size:1.2rem;color:#fff;font-weight:700;margin-bottom:4px}
.dvr-header p{color:rgba(255,255,255,0.5);font-size:0.83rem}
.dvr-body{padding:2rem;display:grid;grid-template-columns:1.1fr 0.9fr;gap:2.5rem}
@media(max-width:800px){.dvr-body{grid-template-columns:1fr}}
.dvr-inputs{}
.dvr-result{display:flex;flex-direction:column;gap:10px}
.dvr-big{background:var(--navy);border-radius:var(--radius);padding:1.25rem;text-align:center;color:#fff}
.dvr-big .dvr-label{font-size:0.7rem;color:rgba(255,255,255,0.45);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.dvr-big .dvr-val{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:700;color:var(--gold2)}
.dvr-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dvr-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius2);padding:1rem;text-align:center}
.dvr-card .dvr-label{font-size:0.68rem;color:var(--text3);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:4px;display:block}
.dvr-card .dvr-val{font-size:1.1rem;font-weight:700;display:block}
.dvr-card.direct .dvr-val{color:var(--green)}
.dvr-card.regular .dvr-val{color:var(--red)}
.dvr-insight{background:var(--blue-light);border:1px solid #bfdbfe;border-radius:var(--radius2);padding:0.9rem 1rem;font-size:0.82rem;color:#1e40af;line-height:1.6}
.dvr-chart-wrap{padding:1.5rem 2rem 2rem;border-top:1px solid var(--border)}
.dvr-chart-title{font-size:0.88rem;font-weight:600;color:var(--navy);margin-bottom:1rem}
.dvr-chart-container{position:relative;width:100%;height:260px}

/* ── FINANCIAL HEALTH SCORE ── */
.fhs-hero{background:linear-gradient(135deg,#0d2137 0%,#1e4570 100%);padding:3rem 0 4rem;position:relative;overflow:hidden}
.fhs-hero::before{content:'';position:absolute;top:-60px;right:-60px;width:300px;height:300px;border-radius:50%;background:rgba(200,153,42,0.06)}
.fhs-hero::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:50px;background:var(--surface);clip-path:ellipse(60% 100% at 50% 100%)}
.fhs-wrap{max-width:760px;margin:0 auto;padding:0 2rem}
.fhs-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow2);overflow:hidden;margin-bottom:2rem}
.fhs-card-header{background:var(--navy);padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.fhs-card-header h2{font-family:'Playfair Display',serif;font-size:1.15rem;color:#fff;font-weight:700}
.fhs-card-header p{color:rgba(255,255,255,0.5);font-size:0.82rem;margin-top:3px}
.fhs-prog-wrap{display:flex;align-items:center;gap:10px;flex-shrink:0}
.fhs-prog-bar{width:120px;height:6px;background:rgba(255,255,255,0.15);border-radius:3px;overflow:hidden}
.fhs-prog-fill{height:100%;background:var(--gold2);border-radius:3px;transition:width 0.3s}
.fhs-prog-txt{font-size:0.78rem;color:rgba(255,255,255,0.5);white-space:nowrap}
.fhs-body{padding:2rem}
.fhs-q-label{font-size:0.72rem;color:var(--text3);text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-bottom:6px}
.fhs-q-text{font-size:1rem;font-weight:600;color:var(--navy);margin-bottom:1.25rem;line-height:1.45}
.fhs-opts{display:flex;flex-direction:column;gap:8px}
.fhs-opt{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius2);padding:12px 16px;cursor:pointer;transition:all 0.18s;text-align:left;font-family:'DM Sans',sans-serif;display:flex;align-items:center;gap:12px;color:var(--text2);font-size:0.9rem}
.fhs-opt:hover{border-color:var(--navy);color:var(--navy);background:#fff}
.fhs-opt.sel{border-color:var(--navy);background:var(--navy);color:#fff}
.fhs-opt-icon{font-size:1.2rem;flex-shrink:0;width:28px;text-align:center}
.fhs-opt-body{}
.fhs-opt-title{font-weight:500;display:block}
.fhs-opt-sub{font-size:0.75rem;opacity:0.6;display:block;margin-top:1px}
.fhs-nav{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}
.fhs-back{background:none;border:1px solid var(--border);border-radius:8px;padding:9px 18px;font-size:0.85rem;color:var(--text2);cursor:pointer;font-family:'DM Sans',sans-serif}
.fhs-back:hover{border-color:var(--navy);color:var(--navy)}
.fhs-hint{font-size:0.8rem;color:var(--text3)}
.fhs-next{background:var(--navy);color:#fff;border:none;border-radius:8px;padding:10px 22px;font-size:0.88rem;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif}
.fhs-next:disabled{opacity:0.3;cursor:not-allowed}
/* result */
.fhs-result{padding:2rem;display:none}
.fhs-score-ring{width:160px;height:160px;margin:0 auto 1.5rem;position:relative}
.fhs-score-ring svg{transform:rotate(-90deg)}
.fhs-score-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}
.fhs-score-num{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:800;color:var(--navy);display:block;line-height:1}
.fhs-score-lbl{font-size:0.68rem;color:var(--text3);text-transform:uppercase;letter-spacing:1px;margin-top:3px;display:block}
.fhs-grade{text-align:center;margin-bottom:1.75rem}
.fhs-grade-badge{display:inline-block;padding:6px 24px;border-radius:30px;font-weight:700;font-size:1rem;letter-spacing:0.5px}
.grade-a{background:var(--green-light);color:var(--green)}
.grade-b{background:var(--blue-light);color:#1e40af}
.grade-c{background:var(--gold-light);color:#78450a}
.grade-d{background:#fff7ed;color:#c2410c}
.grade-f{background:var(--red-light);color:var(--red)}
.fhs-grade-msg{font-size:0.88rem;color:var(--text2);margin-top:6px}
.fhs-cats{margin-bottom:1.75rem}
.fhs-cats-title{font-size:0.78rem;color:var(--text3);text-transform:uppercase;letter-spacing:0.8px;font-weight:600;margin-bottom:0.75rem}
.fhs-cat-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.fhs-cat-name{font-size:0.84rem;color:var(--navy);font-weight:500;width:160px;flex-shrink:0}
.fhs-cat-bar{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}
.fhs-cat-fill{height:100%;border-radius:4px;transition:width 0.6s ease}
.fhs-cat-score{font-size:0.8rem;font-weight:600;color:var(--navy);width:44px;text-align:right;flex-shrink:0}
.fhs-actions-title{font-size:0.78rem;color:var(--text3);text-transform:uppercase;letter-spacing:0.8px;font-weight:600;margin-bottom:0.75rem}
.fhs-action-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius2);padding:1rem;margin-bottom:8px;display:flex;align-items:flex-start;gap:12px}
.fhs-action-icon{font-size:1.2rem;flex-shrink:0;margin-top:2px}
.fhs-action-title{font-size:0.88rem;font-weight:600;color:var(--navy);margin-bottom:3px}
.fhs-action-desc{font-size:0.8rem;color:var(--text2);line-height:1.5}
.fhs-action-link{font-size:0.78rem;color:var(--blue);font-weight:600;text-decoration:none;margin-top:4px;display:inline-block}
.fhs-result-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}
.fhs-retry{background:none;border:1px solid var(--border);border-radius:8px;padding:10px 20px;font-size:0.86rem;color:var(--text2);cursor:pointer;font-family:'DM Sans',sans-serif}
.fhs-retry:hover{border-color:var(--navy);color:var(--navy)}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;margin-top:1.5rem}
.tool-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;cursor:pointer;transition:all 0.2s;display:flex;flex-direction:column;gap:0.75rem}
.tool-card:hover{border-color:var(--navy);transform:translateY(-2px);box-shadow:var(--shadow2)}
.tc-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.tc-title{font-weight:700;color:var(--navy);font-size:0.95rem}
.tc-desc{font-size:0.8rem;color:var(--text2);line-height:1.5}
.tc-badge{display:inline-block;font-size:0.65rem;padding:2px 8px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;background:var(--gold-light);color:#78450a;margin-top:4px}

/* ══ Restored cosmetic fixes — parity with Jul 1 build ══ */
/* Cookie consent banner (HTML + JS were present in Jul 3 but CSS was missing) */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:2000;background:var(--navy);color:#fff;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;box-shadow:0 -4px 20px rgba(0,0,0,0.25);transform:translateY(130%);transition:transform 0.35s ease;font-size:0.85rem}
.cookie-banner.show{transform:translateY(0)}
.cookie-text{flex:1;min-width:240px;color:rgba(255,255,255,0.85);line-height:1.5}
.cookie-text a{color:var(--gold2);text-decoration:underline;cursor:pointer}
.cookie-btns{display:flex;gap:10px;flex-shrink:0}
.cookie-decline,.cookie-accept{padding:8px 18px;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:0.83rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all 0.15s;border:1px solid rgba(255,255,255,0.3)}
.cookie-decline{background:transparent;color:#fff}
.cookie-decline:hover{background:rgba(255,255,255,0.12)}
.cookie-accept{background:linear-gradient(135deg,#0ea5e9,#14b8a6);color:#fff;border-color:transparent}
.cookie-accept:hover{opacity:0.92}
/* Dark-mode toggle: fixed width + spacing so the button doesn't resize/shift when text toggles */
.dark-toggle{margin-left:10px;min-width:84px;text-align:center}
/* Feature cards: pointer cursor + rounded corners + hover lift */
.feat-card{cursor:pointer;border-radius:12px;transition:transform 0.15s,background 0.15s}
.feat-card:hover{transform:translateY(-3px);background:var(--surface)}
/* Platform-card info: allow long names to show; wrap the badge below when space is tight */
.pc-info{min-width:0;overflow:visible}
.pc-header{flex-wrap:wrap}
.top-pick .pc-header{flex-wrap:wrap}
.top-pick .pc-info{min-width:auto;overflow:visible}
#page-insurance .platform-card .pc-header{flex-wrap:wrap}
#page-insurance .platform-card .pc-info{min-width:auto;overflow:visible}
/* Comparison-table 'not available' cell */
.ct-na{color:var(--text3);font-style:italic}
/* Insurance panel calculator grid */
.ins-panel .calc-grid-2{grid-template-columns:1fr 1.1fr;gap:2rem}
@media(max-width:900px){.ins-panel .calc-grid-2{grid-template-columns:1fr;gap:1.5rem}}
@media(max-width:600px){.cookie-banner{flex-direction:column;align-items:stretch;text-align:center;gap:0.9rem}.cookie-btns{justify-content:center}}

/* ── static-page header (SEO article pages) ── */
.swc-hdr{background:var(--navy,#0d2137);position:sticky;top:0;z-index:50}
.swc-hdr-inner{max-width:1100px;margin:0 auto;padding:0.9rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.swc-brand{font-family:'Playfair Display',serif;font-weight:800;color:#fff;font-size:1.15rem;text-decoration:none;letter-spacing:0.2px}
.swc-brand span{color:var(--gold,#c8992a)}
.swc-nav{display:flex;gap:1.25rem;flex-wrap:wrap}
.swc-nav a{color:rgba(255,255,255,0.75);text-decoration:none;font-size:0.9rem;font-weight:500}
.swc-nav a:hover{color:#fff}
.swc-artwrap{max-width:820px;margin:0 auto;padding:2.5rem 1.5rem 3rem}
.swc-crumb{font-size:0.8rem;color:var(--text3,#94a3b8);margin-bottom:1.25rem}
.swc-crumb a{color:var(--blue,#2563eb);text-decoration:none}
.swc-backcta{display:inline-block;margin-top:2rem;background:var(--gold,#c8992a);color:#0d2137;padding:0.7rem 1.4rem;border-radius:10px;font-weight:700;text-decoration:none;font-size:0.9rem}
