*{box-sizing:border-box}:root{--ink:#15202b;--mut:#5b6b7b;
--accent:#0b66c3;--line:#e7ebef;--bg:#fff;--soft:#f6f8fa}
html{-webkit-text-size-adjust:100%}
body{font:17px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,
Helvetica,Arial,sans-serif;max-width:820px;margin:0 auto;
padding:1.5rem 1.25rem 4rem;color:var(--ink);background:var(--bg)}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
h1{font-size:2.15rem;line-height:1.22;letter-spacing:-.02em;margin:.2em 0 .4em}
h2{font-size:1.4rem;margin:2.2rem 0 .6rem;letter-spacing:-.01em}
h3{font-size:1.13rem;margin:1.6rem 0 .4rem}
p{margin:.7rem 0}ul,ol{padding-left:1.25rem}li{margin:.25rem 0}
nav{display:flex;align-items:center;gap:1rem;padding:.4rem 0 1.1rem;
margin-bottom:1.6rem;border-bottom:1px solid var(--line);font-weight:600}
nav a{color:var(--ink);font-size:1.05rem}
.hero{padding:.4rem 0 1.4rem}.hero h1{margin-top:0}
.hero p{color:var(--mut);font-size:1.1rem;max-width:60ch}
.aff-disclosure{background:var(--soft);border:1px solid var(--line);
border-left:3px solid var(--accent);padding:.7rem .95rem;border-radius:8px;
font-size:.88rem;color:var(--mut);margin:0 0 1.6rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
gap:.9rem;margin:1.3rem 0}
.card{display:block;padding:1rem 1.1rem;border:1px solid var(--line);
border-radius:10px;background:var(--bg);font-weight:600;color:var(--ink);
transition:border-color .15s,box-shadow .15s,transform .15s}
.card:hover{border-color:var(--accent);box-shadow:0 4px 14px rgba(11,102,195,.10);
transform:translateY(-1px);text-decoration:none}
#recommended{background:var(--soft);border:1px solid var(--line);
border-radius:10px;padding:1rem 1.2rem;margin:2rem 0}
#recommended h2{margin-top:0}
footer{margin-top:3.5rem;border-top:1px solid var(--line);
padding-top:1.1rem;font-size:.85rem;color:var(--mut)}
.brand{font-weight:800;font-size:1.15rem;letter-spacing:-.02em;
color:var(--ink)!important}.nav-tag{margin-left:auto;font-weight:500;
font-size:.8rem;color:var(--mut);text-transform:uppercase;
letter-spacing:.06em}
.byline{font-size:.86rem;color:var(--mut);margin:0 0 .2rem}
.trust strong{display:inline-block;margin-bottom:.3rem}
.trust p{font-size:.85rem;margin:.4rem 0}
.trust .copyright{margin-top:.8rem;color:var(--mut)}
#top-picks{margin:1.6rem 0 2rem}
.cmp-note{font-size:.82rem;color:var(--mut);margin:.2rem 0 .8rem}
.cmp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
table.cmp{border-collapse:collapse;width:100%;font-size:.95rem}
table.cmp th,table.cmp td{padding:.7rem .8rem;text-align:left;
border-bottom:1px solid var(--line);vertical-align:middle}
table.cmp thead th{background:var(--soft);font-size:.78rem;
text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}
table.cmp tr:last-child td{border-bottom:0}
.cmp-name{font-weight:600;color:var(--ink)}
.badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;
font-size:.74rem;font-weight:700;background:var(--soft);color:var(--mut);
white-space:nowrap}
.badge-0{background:#0b66c3;color:#fff}.badge-1{background:#0a8a4a;color:#fff}
.badge-2{background:#b06a00;color:#fff}
a.cta{display:inline-block;background:var(--accent);color:#fff!important;
padding:.5rem .85rem;border-radius:8px;font-weight:700;font-size:.88rem;
white-space:nowrap;text-decoration:none!important}
a.cta:hover{filter:brightness(.93)}
@media(max-width:600px){body{font-size:16px}h1{font-size:1.7rem}
nav{flex-wrap:wrap}.nav-tag{margin-left:0;width:100%}}