@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Jakarta";src:url(/assets/fonts/jakarta-latin.woff2) format("woff2");font-weight:200 800;font-display:swap}
:root{--ink:#0b1b33;--ink2:#1c2f4d;--mut:#55657e;--bg:#f5f7fb;--card:#fff;--line:#e4e9f2;--acc:#12b886;--acc-d:#0a7d5c;--acc-l:#e6f8f1;
--A:#15803d;--B:#4d7c0f;--C:#b45309;--D:#c2410c;--F:#b91c1c;--r:16px;--sh:0 1px 2px rgba(11,27,51,.06),0 8px 24px rgba(11,27,51,.06)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3,.logo,.grade-ring text,.stat b,.num{font-family:Jakarta,Inter,system-ui,sans-serif;letter-spacing:-.02em}
h1{font-size:clamp(28px,4vw,40px);line-height:1.15;margin:.2em 0;font-weight:800}h2{font-size:24px;margin:44px 0 14px;font-weight:800}h3{font-size:18px;margin:28px 0 10px}
a{color:var(--acc-d);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.small{font-size:13px;color:var(--mut)}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
/* header */
header.top{background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}
.logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:21px;color:var(--ink)}.logo:hover{text-decoration:none}.logo span{color:var(--acc-d)}
header nav{display:flex;align-items:center;gap:4px}header nav a{color:var(--ink2);font-weight:500;padding:8px 12px;border-radius:10px;font-size:15px}header nav a:hover{background:var(--bg);text-decoration:none}
header nav a.cta{background:var(--ink);color:#fff}header nav a.cta:hover{background:var(--ink2)}
main{padding:28px 0 56px}
/* hero */
.hero{background:radial-gradient(1200px 500px at 85% -10%,rgba(18,184,134,.35),transparent 60%),linear-gradient(160deg,#0b1b33 0%,#13294b 100%);color:#fff;padding:72px 0 88px;margin-top:-28px}
.hero h1{font-size:clamp(36px,6vw,62px);margin:0 0 14px;color:#fff}.hero h1 em{font-style:normal;color:#5eead4}
.hero p.lead{font-size:clamp(17px,2vw,20px);color:#c9d4e5;max-width:640px;margin:0 0 28px}
.eyebrow{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5eead4;background:rgba(94,234,212,.1);border:1px solid rgba(94,234,212,.25);padding:4px 12px;border-radius:99px;margin-bottom:18px}
.search{position:relative;max-width:680px}
.search input{width:100%;font:500 19px Inter,system-ui,sans-serif;padding:20px 22px 20px 56px;border:0;border-radius:14px;outline:none;color:var(--ink);box-shadow:0 10px 40px rgba(0,0,0,.25)}
.search input:focus{box-shadow:0 0 0 4px rgba(18,184,134,.5),0 10px 40px rgba(0,0,0,.25)}
.search svg{position:absolute;left:20px;top:22px;color:var(--mut)}
#res{position:absolute;left:0;right:0;top:70px;background:#fff;border-radius:14px;text-align:left;z-index:15;box-shadow:0 18px 50px rgba(11,27,51,.25);max-height:440px;overflow:auto;color:var(--ink)}#res:empty{display:none}
#res a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--ink)}#res a:hover{background:var(--acc-l);text-decoration:none}
#res .rn{display:flex;flex-direction:column}#res .rn b{font-weight:600}#res .rn .small{font-size:12.5px}
.trust{margin-top:18px;font-size:14px;color:#9fb0c8}.trust b{color:#fff}
/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:-48px 0 8px;position:relative;z-index:2}
.stat{background:var(--card);border-radius:var(--r);padding:20px 22px;box-shadow:var(--sh);border:1px solid var(--line)}
.stat b{display:block;font-size:30px;font-weight:800;line-height:1.1}.stat span{color:var(--mut);font-size:14px}.stat i{font-style:normal;display:block;font-size:12px;color:var(--acc-d);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
/* famous strip */
.famous{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.fam{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:var(--ink);box-shadow:0 1px 2px rgba(11,27,51,.04);transition:transform .15s,box-shadow .15s}
.fam:hover{transform:translateY(-2px);box-shadow:var(--sh);text-decoration:none}.fam b{display:block;font-weight:600;font-size:15px;line-height:1.2}.fam small{color:var(--mut);font-size:12.5px}
.badge{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;font:800 21px Jakarta,Inter,sans-serif}
.gA{background:var(--A)}.gB{background:var(--B)}.gC{background:var(--C)}.gD{background:var(--D)}.gF{background:var(--F)}
.pill{display:inline-grid;place-items:center;min-width:30px;height:26px;color:#fff;border-radius:8px;font-weight:700;font-size:14px;padding:0 7px}
/* teasers */
.teasers{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.teaser{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;box-shadow:var(--sh)}
.teaser h3{margin:0 0 4px}.teaser p{margin:0 0 12px;color:var(--mut);font-size:14px}.teaser ol{margin:0 0 12px;padding:0;list-style:none;counter-reset:t}
.teaser li{counter-increment:t;display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--line);font-size:15px}.teaser li:before{content:counter(t);font-weight:700;color:var(--acc-d);width:20px;flex:none}.teaser li span:first-of-type{flex:1}
.more{font-weight:600}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.step{padding:4px 0}.step b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--acc-l);color:var(--acc-d);font-weight:800;margin-bottom:8px}.step p{margin:4px 0;color:var(--mut)}
.dist{display:flex;height:46px;border-radius:12px;overflow:hidden;box-shadow:var(--sh)}.bar{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden}
/* cards & sections */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--sh)}
.crumbs{font-size:14px;color:var(--mut);margin-bottom:14px}.crumbs a{color:var(--mut)}
/* plan hero */
.plan-hero{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
.grade-ring{width:150px;height:150px;flex:none}.grade-ring .trk{stroke:#eef2f7}.grade-ring text{font-weight:800}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.chip{font-size:13px;background:var(--bg);border:1px solid var(--line);padding:3px 10px;border-radius:99px;color:var(--ink2)}
.est{display:inline-block;font-size:13.5px;background:#fff8e6;color:#7a4b00;border:1px solid #f6e2b3;padding:5px 12px;border-radius:10px}
.sub{margin:.1em 0;color:var(--mut);font-size:17px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:18px 0}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.kpi b{display:block;font:800 25px Jakarta,Inter,sans-serif;letter-spacing:-.02em}.kpi span{font-size:13.5px;color:var(--mut);line-height:1.35;display:block}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.brk{margin:0;padding:0;list-style:none}.brk li{margin:0 0 14px}.brk .lbl{display:flex;justify-content:space-between;font-size:14.5px;margin-bottom:6px}.brk .lbl b{font-weight:600}
.track{height:12px;background:#eef2f7;border-radius:99px;overflow:hidden}.fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--acc-d),var(--acc))}
.brk .neg .fill{background:var(--F)}.total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;font-weight:700}
.chart text{font:13px Inter,system-ui,sans-serif;fill:var(--ink2)}.chart .v{font-weight:700;fill:var(--ink)}
.flag{display:flex;gap:12px;background:#fef2f2;border:1px solid #fecaca;border-left:4px solid var(--F);border-radius:12px;padding:12px 16px;margin:10px 0;color:#5b1111}.flag b{color:var(--F)}
.okbox{display:flex;gap:10px;align-items:center;background:var(--acc-l);border:1px solid #b9ecd9;color:#08513c;border-radius:12px;padding:14px 16px;font-weight:600}
.tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;padding:0;list-style:none}
.tips li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px 16px 52px;position:relative;font-size:15px}
.tips li:before{content:"✓";position:absolute;left:16px;top:15px;width:24px;height:24px;border-radius:8px;background:var(--acc-l);color:var(--acc-d);display:grid;place-items:center;font-weight:800;font-size:14px}
.slot{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;border:1px dashed #c4cede;border-radius:14px;padding:14px 18px;margin:20px 0;background:#fbfcfe;color:var(--mut);font-size:14.5px}.slot .tag{font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:#eef2f7;padding:2px 8px;border-radius:6px;color:var(--mut);flex:none}
.news{background:linear-gradient(135deg,#0b1b33,#173a63);color:#fff;border-radius:20px;padding:28px;display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center;margin:44px 0 8px}
.news h3{margin:0 0 6px;color:#fff;font-size:22px}.news p{margin:0;color:#c9d4e5}
.news form{display:flex;gap:8px}.news input{flex:1;min-width:0;font:16px Inter,sans-serif;padding:13px 14px;border-radius:12px;border:0}.news button,.btn{font:600 16px Inter,sans-serif;padding:13px 18px;border:0;border-radius:12px;background:var(--acc);color:#05261b;cursor:pointer}.news button:hover{filter:brightness(1.05)}
details.raw{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin:18px 0}details.raw summary{cursor:pointer;padding:16px 20px;font-weight:700;font-family:Jakarta,Inter,sans-serif}details.raw[open] summary{border-bottom:1px solid var(--line)}details.raw .in{padding:8px 20px 18px}
/* tables */
table{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
th,td{padding:11px 14px;text-align:left;font-size:15px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}
th{background:#f1f4f9;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);font-weight:600}
table.lb tbody tr:nth-child(even){background:#fafbfd}table.lb tbody tr:hover{background:var(--acc-l)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.rank{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:99px;background:#eef2f7;font-weight:700;font-size:14px;color:var(--ink2)}
tr:nth-child(1) .rank{background:#fde68a;color:#713f12}tr:nth-child(2) .rank{background:#e5e7eb;color:#374151}tr:nth-child(3) .rank{background:#fed7aa;color:#7c2d12}
td.ind{padding-left:32px;color:var(--mut)}.tblwrap{overflow-x:auto;border-radius:14px;box-shadow:var(--sh)}
.lbgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;padding:0;list-style:none}.lbgrid a{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-weight:600;color:var(--ink)}.lbgrid a:hover{border-color:var(--acc);text-decoration:none}
.method{max-width:780px}.method li{margin:6px 0}
.letters a{display:inline-grid;place-items:center;width:36px;height:36px;margin:3px;border-radius:10px;background:var(--card);border:1px solid var(--line);font-weight:700}.browse{columns:2;padding-left:18px}.browse li{margin:4px 0;break-inside:avoid}
/* footer */
footer{background:var(--ink);color:#aab8cc;padding:44px 0 30px;font-size:14px}footer a{color:#e2e8f0}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}.fgrid h4{color:#fff;margin:0 0 10px;font-size:14px;text-transform:uppercase;letter-spacing:.06em}.fgrid ul{list-style:none;margin:0;padding:0}.fgrid li{margin:6px 0}
.disc{border-top:1px solid #23395c;margin-top:28px;padding-top:18px;font-size:13px;line-height:1.55}
@media(max-width:820px){.two,.news,.fgrid{grid-template-columns:1fr}header nav a:not(.cta){display:none}}
@media(max-width:560px){.plan-hero{grid-template-columns:1fr;justify-items:start}.grade-ring{width:120px;height:120px}.hero{padding:48px 0 76px}.search input{font-size:17px;padding:17px 16px 17px 48px}.search svg{left:16px;top:19px}
.browse{columns:1}th,td{padding:9px 10px;font-size:14px}.hide-sm{display:none}.news form{flex-direction:column}}
@media(max-width:560px){.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:13px 14px}.kpi b{font-size:21px}.card{padding:18px}}
