/* ===== CLS: metric-matched fallback fonts so the web-font swap causes no reflow ===== */
@font-face{font-family:'Jakarta Fallback';src:local('Arial');ascent-override:96.88%;descent-override:24.22%;line-gap-override:0%;size-adjust:101.34%}
@font-face{font-family:'Grotesk Fallback';src:local('Arial');ascent-override:92.5%;descent-override:26.3%;line-gap-override:0%;size-adjust:102%}

:root{
  --bg:#f4f5fb; --bg2:#eef0fa; --surface:rgba(255,255,255,.72); --surface-solid:#ffffff;
  --text:#161528; --muted:#5c5a72; --border:rgba(23,21,40,.09);
  --brand:#6d28d9; --brand2:#db2777; --accent:#0ea5e9;
  --grad:linear-gradient(135deg,#7c3aed 0%,#db2777 55%,#f59e0b 120%);
  --grad-soft:linear-gradient(135deg,rgba(124,58,237,.14),rgba(219,39,119,.12));
  --shadow:0 10px 40px -12px rgba(58,28,113,.28);
  --shadow-sm:0 4px 18px -8px rgba(58,28,113,.25);
  --radius:22px; --radius-lg:30px;
}
[data-theme="dark"]{
  --bg:#0c0b16; --bg2:#12101f; --surface:rgba(28,25,46,.62); --surface-solid:#181529;
  --text:#f2f1fa; --muted:#a9a6c4; --border:rgba(255,255,255,.09);
  --grad-soft:linear-gradient(135deg,rgba(124,58,237,.28),rgba(219,39,119,.22));
  --shadow:0 14px 46px -14px rgba(0,0,0,.7);
  --shadow-sm:0 6px 22px -10px rgba(0,0,0,.6);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Plus Jakarta Sans','Jakarta Fallback',system-ui,-apple-system,sans-serif;
  background:
    radial-gradient(1100px 600px at 12% -8%,rgba(124,58,237,.16),transparent 60%),
    radial-gradient(1000px 560px at 108% 4%,rgba(219,39,119,.14),transparent 55%),
    var(--bg);
  color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;
  transition:background .4s,color .4s;overflow-x:hidden;
}
h1,h2,h3{font-family:'Space Grotesk','Grotesk Fallback','Plus Jakarta Sans',sans-serif;line-height:1.15;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* NAV */
header.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);
  background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid var(--border)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:66px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.12rem}
.logo .mark{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--grad);color:#fff;font-size:1.1rem;box-shadow:var(--shadow-sm)}
.nav-links{display:flex;gap:26px;align-items:center;font-weight:600;font-size:.94rem}
.nav-links a{color:var(--muted);transition:color .2s}
.nav-links a:hover{color:var(--brand)}
.theme-btn{width:44px;height:44px;border-radius:13px;border:1px solid var(--border);background:var(--surface);
  cursor:pointer;font-size:1.15rem;display:grid;place-items:center;transition:transform .25s,background .3s}
.theme-btn:hover{transform:rotate(-18deg) scale(1.06)}
.dropdown{position:relative}
.drop-toggle{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.caret{font-size:.7rem;transition:transform .25s}
.dropdown:hover .caret{transform:rotate(180deg)}
.drop-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);
  min-width:250px;background:var(--surface-solid);border:1px solid var(--border);border-radius:16px;
  box-shadow:var(--shadow);padding:8px;opacity:0;visibility:hidden;transition:opacity .22s,transform .22s;z-index:60}
.dropdown:hover .drop-menu,.dropdown:focus-within .drop-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.drop-menu::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.drop-menu a{display:block;padding:10px 13px;border-radius:11px;color:var(--text)!important;font-size:.92rem;font-weight:600;transition:background .18s,color .18s}
.drop-menu a:hover{background:var(--grad-soft);color:var(--brand)!important}
@media(max-width:760px){.nav-links>a:not(.nav-cta),.dropdown{display:none}}
.nav-cta{padding:9px 16px;border-radius:12px;background:var(--grad);color:#fff!important;box-shadow:var(--shadow-sm)}

/* HERO */
.hero{padding:54px 0 26px;text-align:center;position:relative}
.badge-row{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-bottom:22px}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--muted);
  background:var(--surface);border:1px solid var(--border);padding:6px 13px;border-radius:999px;backdrop-filter:blur(8px)}
.pill b{color:var(--text)}
.hero h1{font-size:clamp(2.1rem,5.6vw,3.6rem);font-weight:800;margin-bottom:16px}
.hero p.lead{max-width:640px;margin:0 auto 26px;color:var(--muted);font-size:clamp(1rem,2.3vw,1.16rem)}

/* CALCULATOR CARD */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);
  box-shadow:var(--shadow);backdrop-filter:blur(20px)}
.calc{padding:26px;text-align:left;max-width:960px;margin:8px auto 0;scroll-margin-top:80px}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:620px){.calc-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column}
.field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:7px}
.field label span{color:var(--muted);font-weight:500}
.field input,.field select{width:100%;padding:14px 15px;border-radius:15px;border:1px solid var(--border);
  background:var(--surface-solid);color:var(--text);font-size:1rem;font-family:inherit;transition:border .2s,box-shadow .2s}
.field input:focus,.field select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(124,58,237,.16)}
.dob-selects{display:grid;grid-template-columns:1fr 1.4fr 1.1fr;gap:9px}
.dob-selects select{width:100%;padding:14px 11px;border-radius:15px;border:1px solid var(--border);
  background:var(--surface-solid);color:var(--text);font-size:1rem;font-family:inherit;cursor:pointer;
  appearance:none;-webkit-appearance:none;transition:border .2s,box-shadow .2s;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='3'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}
.dob-selects select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(124,58,237,.16)}
.btn-row{display:flex;flex-wrap:wrap;gap:11px;margin-top:20px}
.btn{border:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:.96rem;padding:14px 24px;border-radius:15px;
  display:inline-flex;align-items:center;gap:9px;transition:transform .18s,box-shadow .25s,background .3s;position:relative;overflow:hidden}
.btn:active{transform:scale(.96)}
.btn-primary{background:var(--grad);color:#fff;box-shadow:var(--shadow-sm);flex:1;min-width:180px;justify-content:center}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px -10px rgba(124,58,237,.6)}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35),transparent 70%);
  transform:translateX(-120%);transition:transform .6s}
.btn-primary:hover::after{transform:translateX(120%)}
.btn-ghost{background:var(--surface-solid);color:var(--text);border:1px solid var(--border)}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}

/* RESULTS */
#results{margin-top:24px;opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s}
#results.show{opacity:1;transform:none}
.hero-metric{background:var(--grad);color:#fff;border-radius:22px;padding:24px;text-align:center;box-shadow:var(--shadow-sm);margin-bottom:18px}
.hero-metric .big{font-family:'Space Grotesk';font-size:clamp(2rem,7vw,3rem);font-weight:700;line-height:1.05}
.hero-metric .sub{opacity:.92;font-weight:500;margin-top:6px}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.stat{background:var(--surface-solid);border:1px solid var(--border);border-radius:17px;padding:15px;text-align:center;transition:transform .2s,box-shadow .25s}
.stat:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.stat .num{font-family:'Space Grotesk';font-size:1.5rem;font-weight:700;color:var(--brand)}
[data-theme=dark] .stat .num{color:#c4b5fd}
.stat .lbl{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-top:2px}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:14px}
.detail{background:var(--grad-soft);border:1px solid var(--border);border-radius:15px;padding:13px 15px;display:flex;align-items:center;gap:11px}
.detail .ico{font-size:1.4rem}
.detail .dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.detail .dv{font-weight:700;font-size:.98rem}
.action-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.action-row .btn{flex:1;min-width:130px;justify-content:center;font-size:.9rem;padding:12px 16px}
.empty-note{color:var(--muted);font-size:.9rem;text-align:center;padding:8px 0 2px}

/* SECTION */
section{padding:56px 0;scroll-margin-top:70px}
.sec-head{text-align:center;max-width:680px;margin:0 auto 36px}
.sec-head .eyebrow{font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;margin-bottom:10px}
[data-theme=dark] .sec-head .eyebrow{color:#c4b5fd}
.sec-head h2{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:800;margin-bottom:12px}
.sec-head p{color:var(--muted);font-size:1.05rem}

/* TOOLS */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.tool{padding:22px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);
  box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s;cursor:pointer;display:block;color:inherit}
.tool:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.tool .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:1.5rem;background:var(--grad-soft);margin-bottom:13px}
.tool h3{font-size:1.12rem;margin-bottom:6px}
.tool p{color:var(--muted);font-size:.92rem}
.tool .go{margin-top:12px;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.88rem;color:var(--brand)}
[data-theme=dark] .tool .go{color:#c4b5fd}
.tool:hover .go{gap:10px}

/* CONTENT */
.prose{max-width:820px;margin:0 auto}
.prose h2{font-size:clamp(1.6rem,3.6vw,2.1rem);margin:0 0 16px}
.prose h3{font-size:1.2rem;margin:26px 0 8px}
.prose p{color:var(--muted);margin-bottom:15px}
.prose .card{padding:30px;margin-bottom:22px}
.steps{display:grid;gap:14px;counter-reset:s}
.step{display:flex;gap:15px;align-items:flex-start}
.step .n{flex:none;width:38px;height:38px;border-radius:12px;background:var(--grad);color:#fff;font-weight:700;display:grid;place-items:center;font-family:'Space Grotesk'}
.step h3{margin:2px 0 3px;font-size:1.05rem}
.step p{margin:0;font-size:.94rem}
.benefit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.benefit{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center;box-shadow:var(--shadow-sm)}
.benefit .bi{font-size:1.8rem;margin-bottom:8px}
.benefit h3{font-size:1.02rem;margin-bottom:4px}
.benefit p{font-size:.86rem;color:var(--muted);margin:0}
.use-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:11px}
.use{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:13px 15px;font-weight:600;font-size:.94rem;box-shadow:var(--shadow-sm)}
.use .ci{font-size:1.25rem}

/* FAQ */
.faq{max-width:820px;margin:0 auto;display:grid;gap:11px}
.qa{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}
.qa summary{cursor:pointer;padding:17px 20px;font-weight:700;font-size:1rem;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";font-size:1.4rem;color:var(--brand);transition:transform .25s;font-weight:400}
[data-theme=dark] .qa summary::after{color:#c4b5fd}
.qa[open] summary::after{transform:rotate(45deg)}
.qa .a{padding:0 20px 18px;color:var(--muted);font-size:.95rem}

/* TRUST */
.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;max-width:900px;margin:0 auto}
.trust{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-sm)}
.trust .ti{width:42px;height:42px;border-radius:12px;background:var(--grad-soft);display:grid;place-items:center;font-size:1.3rem;flex:none}
.trust b{display:block;font-size:.98rem}
.trust span{font-size:.82rem;color:var(--muted)}

/* FOOTER */
footer{border-top:1px solid var(--border);padding:44px 0 30px;margin-top:20px}
.foot-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:26px}
.foot-col h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;color:var(--muted)}
.foot-col a{display:block;color:var(--text);opacity:.8;padding:4px 0;font-size:.93rem;transition:opacity .2s,color .2s}
.foot-col a:hover{opacity:1;color:var(--brand)}
.foot-bot{text-align:center;color:var(--muted);font-size:.85rem;margin-top:30px;border-top:1px solid var(--border);padding-top:22px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(120px);background:var(--text);color:var(--bg);
  padding:13px 22px;border-radius:14px;font-weight:600;box-shadow:var(--shadow);z-index:100;transition:transform .35s;font-size:.92rem}
.toast.show{transform:translateX(-50%) translateY(0)}
.crumb{font-size:.83rem;color:var(--muted);margin-bottom:8px}
.crumb a:hover{color:var(--brand)}
@media(max-width:600px){.action-row .btn{min-width:calc(50% - 5px)}}

/* TOOL-PAGE EXTRAS */
.back-link{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:.9rem;color:var(--muted);margin-bottom:18px;transition:gap .2s,color .2s}
.back-link:hover{gap:11px;color:var(--brand)}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;max-width:920px;margin:0 auto}
.tool-hero-ic{width:70px;height:70px;border-radius:20px;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:2rem;margin:0 auto 18px;box-shadow:var(--shadow-sm)}

/* BLOG */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.post-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .25s,box-shadow .25s;color:inherit}
.post-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.post-card .thumb{height:180px;display:grid;place-items:center;font-size:5rem;background:var(--grad-soft)}
.post-card .body{padding:20px;display:flex;flex-direction:column;flex:1}
.post-card .tag{align-self:flex-start;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:var(--brand);background:var(--grad-soft);border:1px solid var(--border);padding:4px 10px;border-radius:999px;margin-bottom:10px}
[data-theme=dark] .post-card .tag{color:#c4b5fd}
.post-card h3{font-size:1.12rem;margin-bottom:7px;line-height:1.25}
.post-card p{color:var(--muted);font-size:.9rem;margin:0 0 14px}
.post-card .meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--muted)}
.post-card .meta .read{font-weight:700;color:var(--brand)}
[data-theme=dark] .post-card .meta .read{color:#c4b5fd}
.article{max-width:760px;margin:0 auto}
.article .meta-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;color:var(--muted);font-size:.9rem;margin-bottom:8px}
.article .card{padding:32px}
.article h2{font-size:1.5rem;margin:26px 0 12px}
.article h2:first-child{margin-top:0}
.article p{color:var(--muted);margin-bottom:15px}
.article ul{color:var(--muted);margin:0 0 15px 20px}
.article li{margin-bottom:7px}
.pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:36px}
.pager .btn{min-width:120px;justify-content:center}
.pager .btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.pager .btn:disabled:hover{transform:none;box-shadow:var(--shadow-sm);border-color:var(--border);color:var(--text)}
.pager-info{font-weight:600;color:var(--muted);font-size:.92rem;min-width:96px;text-align:center}
/* CLS: keep only the first page visible before pagination JS runs */
.blog-grid .post-card:nth-child(n+7){display:none}

/* CUSTOM SCROLLABLE DROPDOWN */
.cs-wrap{position:relative}
.cs-native{position:absolute!important;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden;clip:rect(0 0 0 0)}
.cs-btn{width:100%;text-align:left;padding:14px 32px 14px 13px;border-radius:15px;border:1px solid var(--border);
  background:var(--surface-solid);color:var(--text);font-family:inherit;font-size:1rem;cursor:pointer;position:relative;
  transition:border .2s,box-shadow .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='3'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center}
.cs-btn.cs-ph{color:var(--muted)}
.cs-wrap.open .cs-btn,.cs-btn:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(124,58,237,.16)}
.cs-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:70;background:var(--surface-solid);
  border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:6px;
  max-height:330px;overflow-y:auto;display:none;-webkit-overflow-scrolling:touch}
.cs-wrap.open .cs-panel{display:block;animation:csIn .16s ease}
@keyframes csIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.cs-opt{padding:9px 12px;border-radius:9px;font-size:.95rem;cursor:pointer;transition:background .12s,color .12s;line-height:1.3}
.cs-opt:hover{background:var(--grad-soft)}
.cs-opt.sel{background:var(--grad-soft);color:var(--brand);font-weight:700}
[data-theme=dark] .cs-opt.sel{color:#c4b5fd}
.cs-opt.cs-ph{color:var(--muted)}
.cs-panel::-webkit-scrollbar{width:10px}
.cs-panel::-webkit-scrollbar-track{background:transparent}
.cs-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px;border:2px solid var(--surface-solid)}
