:root{--bg:#fff;--fg:#0F172A;--mu:#475569;--bd:#E2E8F0;--cd:#F8FAFC;--br:#2563EB;--brh:#1D4ED8;--navy:#0F172A;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0B1220;--fg:#E5E7EB;--mu:#94A3B8;--bd:#1E293B;--cd:#111A2E;--navy:#050A14}}
:root[data-theme="dark"]{--bg:#0B1220;--fg:#E5E7EB;--mu:#94A3B8;--bd:#1E293B;--cd:#111A2E;--navy:#050A14}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--br)}img{max-width:100%}
:focus-visible{outline:2px solid var(--br);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--bg);padding:8px;z-index:99}
.w{max-width:1080px;margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);background:var(--bg);border-bottom:1px solid var(--bd);z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;gap:12px}
.logo{text-decoration:none;color:var(--fg);display:inline-flex;align-items:center}
.logo-text{font-weight:800;font-size:20px}.logo-text b{color:var(--br)}
nav>ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;align-items:center}
nav a,nav button{color:var(--fg);font:600 14px/1 inherit;text-decoration:none;background:none;border:0;padding:10px;border-radius:8px;cursor:pointer}
nav a:hover,nav button:hover{background:var(--cd)}
.dd{position:relative}
.dd>ul{display:none;position:absolute;top:100%;left:0;min-width:250px;list-style:none;margin:0;padding:8px;background:var(--bg);border:1px solid var(--bd);border-radius:12px;box-shadow:0 12px 30px rgba(15,23,42,.12)}
.dd>button[aria-expanded="true"]+ul{display:block}
.dd>ul a{display:block;font-weight:500}
.only-m{display:none}
.nav-r{display:flex;gap:10px;align-items:center}
.signin{color:var(--fg);font-weight:600;font-size:14px;text-decoration:none;padding:10px}
.btn{display:inline-block;background:var(--br);color:#fff!important;font-weight:700;padding:12px 20px;border-radius:10px;text-decoration:none;border:0;cursor:pointer;font-size:15px}
.btn:hover{background:var(--brh)}.btn.o{background:transparent;color:var(--fg)!important;border:1px solid var(--bd)}
#menu-toggle{display:none;background:none;border:1px solid var(--bd);border-radius:8px;padding:9px 12px;color:var(--fg);font-weight:600;cursor:pointer}
section{padding:56px 0}
h1{font-size:clamp(32px,5vw,50px);line-height:1.1;letter-spacing:-.02em;margin:0 0 16px}
h2{font-size:clamp(24px,3vw,32px);margin:0 0 12px}h3{margin:0 0 6px;font-size:17px}
.mu{color:var(--mu)}.lead{font-size:18px;color:var(--mu);max-width:640px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:20px}
.card{background:var(--cd);border:1px solid var(--bd);border-radius:14px;padding:20px}
.big{font-size:28px;font-weight:800}.note{font-size:13px;color:var(--mu)}
.calc{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-top:20px}
.opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--bd);border-radius:12px;padding:12px;margin-bottom:10px;cursor:pointer;background:var(--bg)}
.opt input{margin-top:5px}
.row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--bd);font-size:14px}
.tot{display:flex;justify-content:space-between;align-items:baseline;font-weight:800;padding-top:12px}.tot span:last-child{font-size:30px}
fieldset{border:0;padding:0;margin:0 0 14px}legend{font-weight:700;margin-bottom:8px}
.sc{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:10px;border-bottom:1px solid var(--bd);vertical-align:top}
ol.st{padding-left:20px}ol.st li{margin-bottom:8px}
details{border:1px solid var(--bd);border-radius:12px;padding:14px 16px;margin-bottom:10px;background:var(--cd)}summary{font-weight:700;cursor:pointer}
.site-footer{background:var(--navy);color:#CBD5E1;padding:48px 0 24px;margin-top:24px;font-size:14px}
.site-footer a{color:#E2E8F0}.site-footer h3{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.06em}
.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:6px 0}
.site-footer .logo-text{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.foot-legal{border-top:1px solid #1E293B;margin-top:28px;padding-top:18px;font-size:12px;color:#94A3B8}
@media(max-width:860px){
 nav>ul{display:none}
 nav.open>ul{display:flex;flex-direction:column;align-items:stretch;position:absolute;left:0;right:0;top:68px;background:var(--bg);padding:12px 20px;border-bottom:1px solid var(--bd);max-height:calc(100vh - 68px);overflow-y:auto}
 nav.open .dd>ul{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 12px}
 nav.open .dd>button{width:100%;text-align:left}
 .only-m{display:block}.signin{display:none}#menu-toggle{display:block}
 .calc{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}
}
.logo-badge{background:#fff;border-radius:12px;padding:10px 14px;margin-bottom:12px}

/* ===== Homepage v2 ===== */
:root{--tint:#EFF6FF;--ok:#15803d;--no:#b91c1c}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--tint:#0F1A33}}
:root[data-theme="dark"]{--tint:#0F1A33}
.band{padding:72px 0}.band.tint{background:var(--tint)}.band.navy{background:var(--navy);color:#E2E8F0}
.band.navy h2,.band.navy h3{color:#fff}.band.navy .mu{color:#94A3B8}
.band.cta{background:linear-gradient(135deg,#1D4ED8,#2563EB 60%,#3B82F6);color:#fff;text-align:center}
.band.cta .btn{background:#fff;color:#1D4ED8!important}.band.cta .btn.o{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.6)}
.eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--br);margin-bottom:8px}
.band.navy .eyebrow{color:#93C5FD}
.hero{background:radial-gradient(900px 420px at 88% -10%,rgba(37,99,235,.14),transparent 70%),var(--bg);padding:64px 0 56px}
.hero-g{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.hero h1 span{color:var(--br)}
.chips{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:20px 0 0;font-size:14px;color:var(--mu)}
.chips li:before{content:"✓ ";color:var(--ok);font-weight:800}
.sample{background:var(--bg);border:1px solid var(--bd);border-radius:20px;padding:24px;box-shadow:0 24px 60px -20px rgba(15,23,42,.25)}
.sample-h{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:var(--mu);text-transform:uppercase;letter-spacing:.06em;padding-bottom:14px;border-bottom:1px solid var(--bd);margin-bottom:6px}
.pill{background:var(--tint);color:var(--br);border-radius:99px;padding:3px 10px;font-size:11px;font-weight:700;text-transform:none;letter-spacing:0}
.sample .row{font-size:15px;padding:10px 0}.sample .tot span:last-child{font-size:36px;color:var(--br)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--bd);border-radius:16px;background:var(--bg);margin-top:-28px;position:relative;overflow:hidden}
.stats div{padding:18px 20px;border-right:1px solid var(--bd)}.stats div:last-child{border:0}
.stats b{display:block;font-size:20px}.stats span{font-size:13px;color:var(--mu)}
.head{max-width:640px;margin:0 auto 32px;text-align:center}.head p{color:var(--mu);margin:0}
.band.navy .head p{color:#94A3B8}
.opt{transition:border-color .15s,background .15s}.opt:hover{border-color:var(--br)}
.opt:has(input:checked){border-color:var(--br);background:var(--tint);box-shadow:0 0 0 1px var(--br)}
.band.tint .calc .card{background:var(--bg)}
.sticky-sum{position:sticky;top:90px}
.st3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sc3{background:var(--bg);border:1px solid var(--bd);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:10px;position:relative}
.sc3 .badge{position:absolute;top:-12px;left:20px;background:var(--br);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:99px}
.sc3 h3{font-size:20px;margin:0}.sc3 .num{font-size:34px;font-weight:800;line-height:1}.sc3 .num small{font-size:14px;font-weight:600;color:var(--mu)}
.sc3 p{margin:0;font-size:14px;color:var(--mu)}.sc3 .btn{margin-top:auto;text-align:center}
.sc3.hl{border-color:var(--br);box-shadow:0 0 0 1px var(--br)}
.ic{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ic>div{background:rgba(255,255,255,.05);border:1px solid #1E293B;border-radius:16px;padding:20px}
.ic .n{width:34px;height:34px;border-radius:10px;background:var(--br);color:#fff;display:grid;place-items:center;font-weight:800;margin-bottom:12px}
.ic p{margin:0;font-size:14px;color:#94A3B8}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:s;list-style:none;padding:0;margin:0}
.timeline li{position:relative;padding-top:52px;font-size:14px;color:var(--mu)}
.timeline li:before{counter-increment:s;content:counter(s);position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;background:var(--br);color:#fff;display:grid;place-items:center;font-weight:800}
.timeline li:after{content:"";position:absolute;top:19px;left:48px;right:-8px;height:2px;background:var(--bd)}
.timeline li:last-child:after{display:none}
.timeline b{display:block;color:var(--fg);font-size:16px;margin-bottom:4px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.two .card ul{list-style:none;margin:0;padding:0}.two .card li{padding:7px 0 7px 26px;position:relative;border-bottom:1px dashed var(--bd)}
.two .card li:last-child{border:0}
.two .yes li:before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:800}
.two .no li:before{content:"✕";position:absolute;left:0;color:var(--no);font-weight:800}
.faq-w{max-width:780px;margin:0 auto}
details summary{list-style:none;display:flex;justify-content:space-between;gap:12px}
details summary::-webkit-details-marker{display:none}
details summary:after{content:"+";font-size:20px;line-height:1;color:var(--br)}details[open] summary:after{content:"−"}
@media(max-width:860px){
 .hero-g,.two{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(2){border-right:0}.stats div:nth-child(-n+2){border-bottom:1px solid var(--bd)}
 .st3,.ic{grid-template-columns:1fr}.timeline{grid-template-columns:1fr;gap:22px}.timeline li{padding:0 0 0 56px;min-height:40px}.timeline li:after{display:none}
 .band{padding:52px 0}.sticky-sum{position:static}
}

/* ===== Articles ===== */
.art{max-width:760px;margin:0 auto;padding:40px 20px 24px}
.art h2{margin-top:38px}.art p,.art li{font-size:17px;line-height:1.7}
.crumb{font-size:13px;color:var(--mu);margin-bottom:10px}.crumb a{color:var(--mu)}
.meta{font-size:13px;color:var(--mu);margin:0 0 24px}
.callout{border-left:4px solid var(--br);background:var(--tint);padding:14px 18px;border-radius:8px;margin:22px 0}
.callout p{margin:0;font-size:16px}
.src{font-size:14px;border-top:1px solid var(--bd);margin-top:40px;padding-top:18px}.src li{font-size:14px;margin:4px 0}
.art-cta{background:var(--tint);border:1px solid var(--bd);border-radius:16px;padding:22px;margin:32px 0;text-align:center}
.art table{font-size:15px}
.learn-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.learn-g a.card{text-decoration:none;color:var(--fg)}.learn-g a.card:hover{border-color:var(--br)}
