:root { --ink:#e8edf8; --muted:#a8b2c8; --paper:#0a1020; --surface:#111a2e; --surface-2:#15213a; --line:#33405b; --lime:#d7ff5f; --orange:#ffb35c; --focus:#ffffff; --shell:76rem; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 1rem/1.62 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration-thickness:.09em; text-underline-offset:.18em; }
a:hover { color:var(--lime); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
.shell { width:min(calc(100% - 2.5rem), var(--shell)); margin-inline:auto; }
.skip-link { position:fixed; z-index:20; left:1rem; top:-4rem; padding:.7rem 1rem; background:var(--lime); color:#07101e; font-weight:800; }
.skip-link:focus { top:1rem; }
.site-header { border-bottom:1px solid var(--line); background:rgba(10,16,32,.94); position:sticky; top:0; z-index:10; backdrop-filter:blur(14px); }
.header-inner { min-height:4.75rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { display:inline-flex; align-items:center; gap:.65rem; text-decoration:none; line-height:1.1; letter-spacing:.02em; }
.brand-mark { width:2.45rem; height:2.45rem; fill:var(--lime); color:var(--paper); }.brand-mark path + path { fill:var(--paper); }
.brand b { display:block; font-size:1.08rem; letter-spacing:.08em; }.brand small { display:block; color:var(--muted); font-size:.73rem; margin-top:.14rem; }
nav { display:flex; gap:1.45rem; align-items:center; } nav a { color:var(--muted); font-size:.9rem; font-weight:700; text-decoration:none; }
.menu-button { display:none; color:var(--ink); border:1px solid var(--line); background:var(--surface); padding:.5rem .75rem; font:inherit; font-weight:700; }
.hero { padding:clamp(2.7rem, 5vw, 4.8rem) 0 2.4rem; }
.eyebrow,.section-kicker { text-transform:uppercase; letter-spacing:.14em; color:var(--lime); font-size:.77rem; font-weight:800; }.pulse { display:inline-block; width:.55rem; height:.55rem; border-radius:50%; background:var(--lime); margin-right:.4rem; }
h1,h2,h3 { line-height:1.12; text-wrap:balance; margin:0; } h1 { font-size:clamp(2.35rem, 4vw, 4.15rem); max-width:24ch; letter-spacing:-.055em; } h2 { font-size:clamp(2rem,3.4vw,3.05rem); letter-spacing:-.04em; max-width:none; } h3 { font-size:1.1rem; letter-spacing:-.02em; }
.lede { color:#cbd3e3; font-size:clamp(1.08rem,1.45vw,1.22rem); max-width:67rem; margin:1.15rem 0 0; }.hero-meta { color:var(--muted); font-size:.85rem; font-weight:700; margin:.75rem 0 0; }
.section { padding:clamp(3.25rem,6vw,5.5rem) 0; border-top:1px solid var(--line); }.section-intro { margin-bottom:2rem; }.section-intro h2 { margin-top:.35rem; }.section-intro > p:last-child { max-width:none; margin:1.1rem 0 0; color:#cbd3e3; }.section > h3 { margin-top:2.9rem; }.section > h3 + p { max-width:none; margin-top:.75rem; }.section > p { max-width:none; margin:1.25rem 0; color:#cbd3e3; }
.ranking-list { border-top:1px solid var(--line); }.rank-card { display:grid; grid-template-columns:3.7rem 11rem minmax(16rem,1fr) auto; min-height:8.4rem; align-items:center; gap:1.25rem; padding:1rem .35rem; border-bottom:1px solid var(--line); transition:background .2s ease; }.rank-card:hover { background:rgba(255,255,255,.025); }.rank { align-self:stretch; display:flex; align-items:center; color:var(--orange); font-size:1.45rem; font-weight:900; letter-spacing:-.05em; }.logo-box { height:5.75rem; display:flex; justify-content:center; align-items:center; padding:.65rem; background:#fff; border:1px solid #dce2ec; border-radius:.4rem; }.logo-box img { max-height:100%; width:100%; object-fit:contain; }.rank-info h3 { font-size:1.2rem; }.rank-bonus { color:#cbd3e3; font-size:.94rem; line-height:1.4; margin:.35rem 0 0; }.rank-action { justify-self:end; background:var(--lime); color:#09111e; font-size:.84rem; font-weight:850; text-decoration:none; padding:.68rem 1rem; white-space:nowrap; }.rank-action:hover { background:#f0ffc0; color:#09111e; }.caption { color:var(--muted)!important; font-size:.85rem; line-height:1.5; max-width:none!important; }
.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:1.5rem 0 1.7rem; }.info-grid article { border:1px solid var(--line); padding:1.25rem; background:linear-gradient(145deg,var(--surface),#0d1628); min-height:12rem; }.info-grid span { color:var(--orange); display:block; font-size:.75rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; margin-bottom:2.4rem; }.info-grid .card-title { color:var(--ink); font-size:1.03rem; font-weight:800; line-height:1.25; margin:0; }.info-grid p { color:var(--muted); font-size:.89rem; line-height:1.48; margin:.55rem 0 0; }.info-grid.compact article { min-height:10.7rem; }.info-grid.compact span { margin-bottom:1.5rem; }
.check-list,.criteria-list { max-width:none; margin:1.4rem 0; padding:0; list-style:none; counter-reset:item; display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }.check-list li,.criteria-list li { position:relative; min-height:5.3rem; padding:1.15rem 1rem 1rem 3rem; border:1px solid var(--line); background:var(--surface); line-height:1.45; }.check-list li::before { content:"✓"; color:var(--lime); position:absolute; left:1rem; top:1.1rem; font-weight:900; }.criteria-list li::before { content:"0" counter(item); counter-increment:item; color:var(--orange); position:absolute; left:1rem; top:1.14rem; font-weight:900; font-size:.82rem; }
.callout { max-width:none; background:var(--lime); color:#09111e; padding:1.35rem 1.5rem; margin:1.6rem 0 2.4rem; border-left:7px solid var(--orange); }.callout strong { font-size:1.08rem; }.callout p { max-width:none; margin:.3rem 0 0; line-height:1.5; }
.table-wrap { overflow-x:auto; margin:1.5rem 0; border:1px solid var(--line); } table { width:100%; min-width:42rem; border-collapse:collapse; text-align:left; } th { background:var(--surface-2); color:var(--ink); font-weight:800; font-size:.85rem; } th,td { padding:1rem 1.1rem; vertical-align:top; border-bottom:1px solid var(--line); } td { color:#cbd3e3; font-size:.9rem; font-weight:400; line-height:1.48; } tbody tr:last-child td { border-bottom:0; }
.source-note { color:var(--muted)!important; font-size:.88rem; }.source-note a, td a { color:var(--lime); text-underline-offset:.18em; }.status { display:inline-block; padding:.2rem .45rem; border:1px solid var(--line); border-radius:999px; font-size:.73rem; font-weight:800; line-height:1.2; }.status.unverified { color:#ffd19a; border-color:#70502d; background:#261d13; }.status.restricted { margin-top:.4rem; color:#ffb5ad; border-color:#78413b; background:#2a1716; } tr[id] { scroll-margin-top:6rem; } tr[id]:target td { background:rgba(207,255,61,.08); }
.faq-list { border-top:1px solid var(--line); }.faq-item { border-bottom:1px solid var(--line); }.faq-item h3 { margin:0; }.faq-item button { cursor:pointer; width:100%; padding:1.2rem 3.2rem 1.2rem 0; position:relative; border:0; background:transparent; color:var(--ink); text-align:left; font:inherit; font-weight:800; line-height:1.25; }.faq-item button::after { content:"+"; position:absolute; right:.3rem; top:.88rem; color:var(--lime); font-size:1.6rem; }.faq-item button[aria-expanded="true"]::after { content:"−"; }.faq-list p { max-width:none; margin:0 0 1.35rem; color:#cbd3e3; }.js .faq-item:not(.is-open) .faq-answer { display:none; }
.site-footer { border-top:1px solid var(--line); background:#080d19; padding:3.5rem 0 1.5rem; }.footer-grid { display:grid; grid-template-columns:1.25fr .85fr .9fr .9fr; gap:2rem; }.footer-grid p,.footer-grid li { color:var(--muted); font-size:.88rem; line-height:1.5; }.footer-heading { color:var(--ink)!important; font-size:1rem!important; font-weight:800; letter-spacing:0; margin:0; }.footer-grid ul { padding:0; list-style:none; margin:.8rem 0; }.footer-grid li { padding:.2rem 0; }.footer-brand { margin-bottom:.75rem; }.support-strip { display:grid; grid-template-columns:repeat(6,1fr); gap:.65rem; margin-top:2.6rem; padding-top:1.4rem; border-top:1px solid var(--line); }.support-strip a { min-width:0; height:4.5rem; display:flex; align-items:center; justify-content:center; padding:.7rem; border:1px solid var(--line); background:#18243d; }.support-strip img { max-height:100%; max-width:100%; object-fit:contain; }.footer-bottom { display:flex; justify-content:space-between; gap:1rem; padding-top:2rem; margin-top:1rem; color:var(--muted); font-size:.77rem; border-top:1px solid var(--line); }
@media (max-width: 54rem) { .rank-card { grid-template-columns:2.7rem 8.4rem minmax(0,1fr) auto; }.info-grid { grid-template-columns:1fr; }.info-grid article { min-height:auto; }.info-grid span,.info-grid.compact span { margin-bottom:.9rem; }.check-list,.criteria-list { grid-template-columns:1fr; }.footer-grid { grid-template-columns:1fr 1fr; }.support-strip { grid-template-columns:repeat(3,1fr); } }
@media (max-width: 44rem) { .shell { width:min(calc(100% - 1.5rem), var(--shell)); }.header-inner { min-height:4.3rem; }.menu-button { display:block; } nav { display:none; position:absolute; top:100%; left:0; width:100%; padding:1rem .75rem; background:var(--surface); border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; gap:0; } .menu-button[aria-expanded="true"] + nav { display:flex; } nav a { padding:.75rem; }.hero { padding-top:2.8rem; }.rank-card { grid-template-columns:2.3rem minmax(0,1fr); gap:.75rem; }.rank { grid-row:1 / span 3; }.logo-box { grid-column:2; grid-row:1; width:7.25rem; height:4.6rem; }.rank-info { grid-column:2; grid-row:2; }.rank-action { grid-column:2; grid-row:3; justify-self:start; margin-top:.15rem; }.section { padding:3.4rem 0; }.footer-grid { grid-template-columns:1fr; gap:1.5rem; }.footer-bottom { flex-direction:column; } }
@media (max-width: 22rem) { h1 { font-size:2.28rem; }.rank-card { grid-template-columns:2.05rem minmax(0,1fr); }.rank { font-size:1.1rem; }.support-strip a { width:calc(50% - .35rem); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
