:root {
    --bg:#07111f; --surface:#0d1c2f; --surface-2:#10233a; --ink:#edf5ff;
    --muted:#96a7be; --line:rgba(148,163,184,.17); --cyan:#54d9ff;
    --blue:#7298ff; --violet:#a98cff; --amber:#ffc66d; --max:1180px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    margin:0; min-width:320px; color:var(--ink);
    background:radial-gradient(circle at 50% -10%,rgba(52,123,255,.14),transparent 34rem),linear-gradient(180deg,#07111f,#081321 62%,#050c16);
    font:400 16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    overflow-x:hidden;
}
body::before { content:""; position:fixed; inset:0; z-index:-2; opacity:.14; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(black,transparent 70%); }
a { color:inherit; }
img { display:block; max-width:100%; }
:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
.skip-link { position:fixed; top:1rem; left:1rem; z-index:100; padding:.7rem 1rem; border-radius:999px; color:#04101b; background:var(--cyan); font-weight:800; transform:translateY(-180%); transition:transform .2s ease; }
.skip-link:focus { transform:none; }
.topbar, main, footer { width:min(calc(100% - 40px),var(--max)); margin-inline:auto; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:28px 0; }
.brand,.hub-link { text-decoration:none; }
.brand { display:inline-flex; align-items:center; gap:.72rem; font-weight:780; letter-spacing:-.02em; }
.brand-mark { display:grid; place-items:center; width:2.25rem; height:2.25rem; border:1px solid rgba(84,217,255,.38); border-radius:10px; color:var(--cyan); background:rgba(84,217,255,.08); }
.hub-link { color:var(--muted); font-size:.88rem; font-weight:700; transition:color .2s ease; }
.hub-link:hover { color:var(--ink); }
.hero { position:relative; min-height:clamp(560px,74vh,760px); overflow:hidden; border:1px solid var(--line); border-radius:32px; background:#091524; box-shadow:0 30px 90px rgba(0,0,0,.34); }
.hero-media,.hero-shade { position:absolute; inset:0; }
.hero-media { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-shade { background:linear-gradient(90deg,rgba(3,10,18,.97) 0%,rgba(3,10,18,.83) 38%,rgba(3,10,18,.16) 74%),linear-gradient(0deg,rgba(3,10,18,.78),transparent 45%); }
.hero-content { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:flex-end; min-height:inherit; max-width:720px; padding:clamp(2rem,6vw,5rem); }
.archive-kicker { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; color:var(--amber); font-size:.72rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.archive-kicker span { padding:.32rem .62rem; border:1px solid rgba(255,198,109,.33); border-radius:999px; background:rgba(255,198,109,.08); }
.archive-kicker.current { color:#78e6b1; }
.archive-kicker.current span { border-color:rgba(120,230,177,.34); background:rgba(120,230,177,.08); }
.archive-kicker.future { color:var(--violet); }
.archive-kicker.future span { border-color:rgba(169,140,255,.34); background:rgba(169,140,255,.08); }
.hero h1 { margin:1rem 0; font-size:clamp(3rem,7vw,6.5rem); line-height:.93; letter-spacing:-.07em; }
.hero-copy { max-width:660px; margin:0; color:#bdcadc; font-size:clamp(1.05rem,2vw,1.3rem); line-height:1.55; }
.hero-meta { display:flex; flex-wrap:wrap; gap:.7rem 1.5rem; margin-top:2rem; color:var(--muted); font-size:.8rem; }
.archive-notice { display:flex; align-items:flex-start; gap:1.2rem; margin:1.4rem 0 0; padding:1.15rem 1.3rem; border:1px solid rgba(255,198,109,.22); border-radius:18px; background:rgba(255,198,109,.055); }
.archive-notice strong { flex:0 0 auto; color:var(--amber); font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; }
.archive-notice p { margin:0; color:var(--muted); font-size:.88rem; }
.archive-notice.current { border-color:rgba(120,230,177,.22); background:rgba(120,230,177,.055); }
.archive-notice.current strong { color:#78e6b1; }
.archive-notice.future { border-color:rgba(169,140,255,.24); background:rgba(169,140,255,.06); }
.archive-notice.future strong { color:var(--violet); }
.jump-nav { position:sticky; top:10px; z-index:20; display:flex; gap:.4rem; margin:1.4rem 0 clamp(4rem,9vw,7rem); padding:.45rem; border:1px solid var(--line); border-radius:16px; background:rgba(7,17,31,.82); box-shadow:0 16px 44px rgba(0,0,0,.26); backdrop-filter:blur(18px); }
.jump-nav a { flex:1; padding:.72rem .9rem; border-radius:11px; color:var(--muted); font-size:.82rem; font-weight:750; text-align:center; text-decoration:none; transition:background .2s ease,color .2s ease; }
.jump-nav a:hover { color:var(--ink); background:rgba(84,217,255,.08); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.section-heading span { color:var(--cyan); font-size:.72rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.section-heading h2 { margin:.45rem 0 0; font-size:clamp(2.2rem,5vw,4rem); line-height:1; letter-spacing:-.055em; }
.section-heading p { max-width:480px; margin:0; color:var(--muted); }
.rank-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; padding:0; margin:0; list-style:none; }
.rank-card { position:relative; overflow:hidden; display:grid; grid-template-columns:150px minmax(0,1fr); min-height:220px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(145deg,rgba(18,38,62,.86),rgba(9,21,36,.94)); box-shadow:0 18px 50px rgba(0,0,0,.22); transition:transform .22s ease,border-color .22s ease; }
.rank-card:hover { transform:translateY(-3px); border-color:rgba(84,217,255,.28); }
.rank-number { position:absolute; top:.9rem; left:.9rem; z-index:3; display:grid; place-items:center; width:2.4rem; height:2.4rem; border:1px solid rgba(255,255,255,.17); border-radius:50%; color:white; background:rgba(3,10,18,.72); font:800 .75rem/1 ui-monospace,monospace; backdrop-filter:blur(10px); }
.card-art { position:relative; min-height:100%; overflow:hidden; background:linear-gradient(145deg,#17304e,#091523); }
.card-art img { width:100%; height:100%; object-fit:cover; }
.card-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(7,17,31,.28)); pointer-events:none; }
.provider-art { display:grid; place-items:center; }
.provider-art::before { content:""; position:absolute; width:150px; height:150px; border:1px solid rgba(255,255,255,.1); border-radius:36%; transform:rotate(25deg); box-shadow:0 0 60px currentColor; opacity:.35; }
.provider-art b { position:relative; z-index:1; display:grid; place-items:center; width:70px; height:70px; border:1px solid rgba(255,255,255,.25); border-radius:22px; color:white; background:rgba(255,255,255,.09); box-shadow:0 12px 32px rgba(0,0,0,.25); font-size:1.7rem; letter-spacing:-.08em; backdrop-filter:blur(8px); }
.hostinger { color:#8a7bff; background:linear-gradient(145deg,#302b69,#121a33); }
.siteground { color:#ff9c56; background:linear-gradient(145deg,#713519,#21182a); }
.bluehost { color:#5aa7ff; background:linear-gradient(145deg,#164d82,#111b34); }
.hostgator { color:#ffd35a; background:linear-gradient(145deg,#31577b,#16243b); }
.dreamhost { color:#4de3ba; background:linear-gradient(145deg,#0a5b61,#102239); }
.a2 { color:#7bd34d; background:linear-gradient(145deg,#335c20,#152635); }
.namecheap { color:#ff7659; background:linear-gradient(145deg,#6f2f27,#24182b); }
.cloudways { color:#55b5ff; background:linear-gradient(145deg,#164a76,#14223a); }
.ionos { color:#6884ff; background:linear-gradient(145deg,#283879,#171a38); }
.namebox { color:#e85dff; background:linear-gradient(145deg,#583065,#17192c); }
.kinsta { color:#a98cff; background:linear-gradient(145deg,#472f7d,#17182f); }
.scala { color:#61d0ac; background:linear-gradient(145deg,#176354,#122737); }
.hostingcom { color:#fe875d; background:linear-gradient(145deg,#703827,#221a30); }
.krystal { color:#67d8ff; background:linear-gradient(145deg,#15536d,#11243a); }
.card-copy { display:flex; flex-direction:column; padding:1.35rem; }
.card-copy h3 { margin:0; font-size:1.22rem; line-height:1.25; letter-spacing:-.025em; }
.card-copy p { margin:.48rem 0 1rem; color:var(--muted); font-size:.87rem; line-height:1.52; }
.fact-row { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:auto; }
.fact { padding:.3rem .52rem; border:1px solid var(--line); border-radius:999px; color:#b8c5d8; background:rgba(255,255,255,.025); font-size:.65rem; font-weight:750; }
.comparison { padding-top:clamp(5rem,10vw,9rem); }
.table-shell { overflow-x:auto; border:1px solid var(--line); border-radius:24px; background:rgba(13,28,47,.72); box-shadow:0 20px 60px rgba(0,0,0,.2); }
table { width:100%; min-width:850px; border-collapse:collapse; }
th,td { padding:1rem 1.15rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
th { color:var(--cyan); background:rgba(84,217,255,.04); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
td { color:#b9c6d8; font-size:.84rem; }
td:first-child { color:var(--ink); font-weight:760; }
tbody tr:last-child td { border-bottom:0; }
.faq { padding:clamp(5rem,10vw,9rem) 0; }
.faq-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.faq article { padding:1.5rem; border-top:1px solid var(--line); }
.faq h3 { margin:0 0 .5rem; font-size:1rem; }
.faq p { margin:0; color:var(--muted); font-size:.86rem; }
.primary-action { display:inline-flex; align-items:center; justify-content:center; gap:.7rem; margin-top:1.5rem; padding:.85rem 1.15rem; border:1px solid rgba(84,217,255,.3); border-radius:999px; color:var(--cyan); background:rgba(84,217,255,.08); font-size:.86rem; font-weight:800; text-decoration:none; transition:background .2s ease,transform .2s ease; }
.primary-action:hover { background:rgba(84,217,255,.14); transform:translateY(-2px); }
.year-chain { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:0 0 clamp(4rem,9vw,7rem); }
.year-chain a,.year-chain div { padding:1.2rem; border:1px solid var(--line); border-radius:18px; background:rgba(13,28,47,.68); text-decoration:none; }
.year-chain strong,.year-chain span { display:block; }
.year-chain strong { font-size:1rem; }
.year-chain span { margin-top:.25rem; color:var(--muted); font-size:.76rem; }
.year-chain .active { border-color:rgba(84,217,255,.32); background:rgba(84,217,255,.07); }
.placeholder-panel { padding:clamp(2rem,6vw,4rem); border:1px solid var(--line); border-radius:28px; background:linear-gradient(145deg,rgba(18,38,62,.84),rgba(9,21,36,.94)); box-shadow:0 20px 60px rgba(0,0,0,.22); }
.placeholder-panel h2 { margin:0; font-size:clamp(2rem,5vw,3.8rem); line-height:1; letter-spacing:-.055em; }
.placeholder-panel > p { max-width:700px; color:var(--muted); }
.placeholder-bars { display:grid; gap:.75rem; margin-top:2rem; }
.placeholder-bars i { display:block; height:.72rem; border-radius:999px; background:linear-gradient(90deg,rgba(169,140,255,.15),rgba(84,217,255,.06)); }
.placeholder-bars i:nth-child(2){width:78%}.placeholder-bars i:nth-child(3){width:56%}
.article-footer { display:grid; grid-template-columns:1fr auto; gap:1.5rem; align-items:center; margin-top:2rem; padding:2.5rem 0 calc(2.5rem + env(safe-area-inset-bottom)); border-top:1px solid var(--line); }
.article-footer p { margin:.15rem 0 0; color:var(--muted); font-size:.8rem; }
.article-footer nav { display:flex; gap:1.1rem; }
.article-footer a { color:var(--muted); font-size:.82rem; text-decoration:none; }
.article-footer a:hover { color:var(--ink); }
.article-footer small { grid-column:1/-1; color:#64748b; font-size:.7rem; }
.back-to-top { position:fixed; right:max(1rem,calc((100vw - var(--max))/2)); bottom:max(1rem,env(safe-area-inset-bottom)); z-index:30; display:grid; place-items:center; width:3rem; height:3rem; border:1px solid rgba(84,217,255,.25); border-radius:50%; color:var(--cyan); background:rgba(7,17,31,.86); cursor:pointer; opacity:0; visibility:hidden; transform:translateY(10px); transition:.24s ease; }
.back-to-top.is-visible { opacity:1; visibility:visible; transform:none; }
@media (max-width:860px) {
    .rank-list { grid-template-columns:1fr; }
    .rank-card { grid-template-columns:180px minmax(0,1fr); }
    .section-heading { display:block; }
    .section-heading p { margin-top:1rem; }
    .faq-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
    .topbar,main,footer { width:min(calc(100% - 28px),var(--max)); }
    .topbar { padding:20px 0; }
    .brand > span:last-child { display:none; }
    .hub-link { font-size:.78rem; }
    .hero { min-height:600px; border-radius:22px; }
    .hero-media { object-position:62% center; }
    .hero-shade { background:linear-gradient(0deg,rgba(3,10,18,.97) 0%,rgba(3,10,18,.8) 57%,rgba(3,10,18,.2) 100%); }
    .hero-content { justify-content:flex-end; padding:1.5rem; }
    .hero h1 { font-size:clamp(2.75rem,15vw,4.8rem); }
    .archive-notice { display:block; }
    .archive-notice strong { display:block; margin-bottom:.35rem; }
    .jump-nav a { padding:.7rem .35rem; font-size:.7rem; }
    .rank-card { display:block; }
    .card-art { height:190px; min-height:0; }
    .provider-art { height:190px; }
    .card-copy { min-height:190px; }
    .article-footer { grid-template-columns:1fr; }
    .article-footer small { grid-column:1; }
    .back-to-top { right:.8rem; }
}
@media (max-width:720px) {
    .year-chain { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
@media print {
    .topbar,.jump-nav,.back-to-top { display:none!important; }
    body { color:#111; background:white; }
    main,footer { width:100%; }
    .hero,.rank-card,.table-shell { color:#111; background:white; box-shadow:none; }
    .hero-media { opacity:.16; }
    .hero-shade { background:white; opacity:.75; }
    .rank-card { break-inside:avoid; }
}
