*{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.4rem;line-height:1.16;letter-spacing:-.02em;margin:.2em 0 .5em}
@media (max-width:640px){h1{font-size:1.95rem}}
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:.85rem;padding:.55rem 1.25rem;
margin:0 -1.25rem 1.4rem;position:sticky;top:0;z-index:50;
background:var(--bg);border-bottom:1px solid var(--line);font-weight:600}
nav a{color:var(--ink);font-size:1.02rem}
nav .brand-mark{display:inline-flex;flex:0 0 20px;width:20px;height:20px;
align-items:center;justify-content:center;opacity:.85}
nav .brand-mark svg{width:20px;height:20px;display:block}
.hero{padding:.5rem 0 1.2rem;margin:0 0 1.2rem}
.hero h1{margin-top:0}
.hero p{color:var(--mut);font-size:1.05rem;max-width:60ch}
.hero-img{display:block;width:100%;height:auto;max-height:320px;
object-fit:cover;border-radius:14px;margin:0 0 1.2rem}
.hero-img.hero-article{max-height:220px;margin:0 0 1rem;opacity:.96}
.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}
.card:hover{border-color:var(--accent);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)}
.ad-slot{display:block;margin:2rem 0;padding:0;background:transparent;
min-height:90px;border:0}.ad-slot ins{display:block;margin:0 auto}
@media(max-width:600px){body{font-size:16px}h1{font-size:1.7rem}
nav{flex-wrap:wrap}.nav-tag{margin-left:0;width:100%}}
/* hub: sticky nav (logo + always-on search) + hero + category cards */
body{max-width:1080px;padding-top:.5rem}
nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;
gap:.9rem;padding:.55rem 1.25rem;margin:0 -1.25rem 1.1rem;
background:var(--bg);border-bottom:1px solid var(--line);font-weight:600}
nav .brand{padding:.1rem 0}
nav .brand-logo{display:inline-block;height:22px;width:auto;vertical-align:middle}
nav .nav-tag{display:none}
.nav-search{position:relative;flex:1 1 auto;max-width:520px;margin-left:auto}
.nav-search input{width:100%;padding:.5rem .85rem .5rem 2.15rem;
font:inherit;font-size:.92rem;border:1px solid var(--line);border-radius:8px;
background:#fff;transition:border .12s,box-shadow .12s}
.nav-search input:focus{outline:0;border-color:var(--accent);
box-shadow:0 0 0 3px rgba(11,102,195,.16)}
.nav-search::before{content:"";position:absolute;left:.7rem;top:50%;
width:14px;height:14px;transform:translateY(-50%);background:no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6b7b' stroke-width='2'><circle cx='11' cy='11' r='7'/><path d='M20 20l-3.5-3.5'/></svg>");opacity:.8}
.nav-search .kbd{position:absolute;right:.45rem;top:50%;transform:translateY(-50%);
font:600 .68rem/1 -apple-system,Segoe UI,Roboto,sans-serif;color:var(--mut);
background:#f6f8fa;border:1px solid var(--line);border-radius:4px;
padding:2px 5px;pointer-events:none}
.hero{padding:1.6rem 0 1.8rem;margin:.4rem 0 1.6rem;
border-bottom:1px solid var(--line)}
.hero h1{font-size:2.6rem;line-height:1.12;margin:.1rem 0 .7rem;
color:var(--ink);max-width:18ch;letter-spacing:-.015em}
.hero h1 .accent{color:var(--accent)}
.hero .lede{color:var(--mut);font-size:1.15rem;max-width:62ch;
line-height:1.5;margin:0 0 1rem}
.hero-stats{margin-top:1.1rem}
@media (max-width:640px){.hero h1{font-size:2.05rem;max-width:none}
.hero .lede{font-size:1.05rem}}
.hero-stats{display:flex;flex-wrap:wrap;gap:.45rem;margin:.7rem 0 .2rem}
.hero-stats .pill{background:#fff;border:1px solid var(--line);
border-radius:999px;padding:.32rem .8rem;font-size:.82rem;color:var(--ink);
font-weight:600;box-shadow:0 1px 0 rgba(11,30,60,.04)}
.hero-stats .pill b{color:var(--accent);margin-right:.25rem}
/* Featured-latest strip */
.feat-h{display:flex;align-items:baseline;gap:.55rem;margin:.6rem 0 .9rem}
.feat-h h2{font-size:1.05rem;text-transform:uppercase;letter-spacing:.08em;
color:#3a4a5a;margin:0;padding-bottom:.4rem}
.feat-h .feat-sub{color:var(--mut);font-size:.85rem}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:1rem;margin-bottom:1.6rem}
.feat .card{padding:0;overflow:hidden;display:block}
.feat .card .card-img{aspect-ratio:16/9;overflow:hidden}
.feat .card .card-img img{width:100%;height:100%;object-fit:cover;display:block;
transition:transform .4s ease}
.feat .card:hover .card-img img{transform:scale(1.04)}
.feat .card .card-body{padding:.85rem 1rem .95rem;display:flex;
align-items:center;gap:.6rem}
.feat .card .card-body .card-i{flex:0 0 18px;width:18px;height:18px;
color:var(--accent);opacity:.8}
.feat .card .card-body .card-t{font-weight:700;line-height:1.25}
.feat .card .new-tag{position:absolute;top:.6rem;left:.6rem;
background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;
text-transform:uppercase;letter-spacing:.06em;padding:.22rem .55rem;
border-radius:6px;box-shadow:0 2px 6px rgba(11,30,60,.18)}
.feat .card .editor-tag{position:absolute;top:.6rem;left:.6rem;
background:#d9501f;color:#fff;font-size:.7rem;font-weight:700;
text-transform:uppercase;letter-spacing:.06em;padding:.22rem .6rem;
border-radius:6px;box-shadow:0 2px 6px rgba(180,55,15,.25)}
section.cat .cat-desc{color:var(--mut);font-size:.95rem;line-height:1.5;
max-width:60ch;margin:-.4rem 0 1rem}
.feat .card{position:relative}
/* Image cards inside category grids */
.grid .card.has-img{flex-direction:column;align-items:stretch;
padding:0;overflow:hidden}
.grid .card.has-img .card-img{aspect-ratio:16/10;overflow:hidden}
.grid .card.has-img .card-img img{width:100%;height:100%;object-fit:cover;
display:block;transition:transform .35s ease}
.grid .card.has-img:hover .card-img img{transform:scale(1.04)}
.grid .card.has-img .card-body{padding:.75rem .95rem .85rem;display:flex;
align-items:center;gap:.55rem}
.grid .card.has-img .card-body .card-i{flex:0 0 18px;width:18px;height:18px;
color:var(--accent);opacity:.8}
.grid .card.has-img .card-body .card-t{line-height:1.25;font-weight:600}
section.cat{margin:1.4rem 0 1.8rem}
section.cat .cat-h{display:flex;align-items:center;gap:.55rem;
font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;
color:#3a4a5a;margin:0 0 .9rem;padding-bottom:.45rem;
border-bottom:1px solid var(--line)}
section.cat .cat-h svg{width:18px;height:18px;color:var(--accent)}
section.cat .cat-n{font-weight:400;color:#8a96a3;font-size:.82rem;
margin-left:.3rem;text-transform:none;letter-spacing:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:.85rem}
.card{display:flex;align-items:center;gap:.7rem;padding:.95rem 1rem;
border:1px solid var(--line);border-radius:12px;background:var(--bg);
font-weight:600;color:var(--ink);transition:transform .15s,box-shadow .15s,
border-color .15s}
.card:hover{transform:translateY(-2px);border-color:var(--accent);
box-shadow:0 6px 18px rgba(11,30,60,.06);text-decoration:none}
.card .card-i{flex:0 0 22px;width:22px;height:22px;color:var(--accent);
opacity:.85}
.card .card-t{line-height:1.25}
#no-results{display:none;padding:1rem 1.2rem;border:1px dashed var(--line);
border-radius:10px;color:var(--mut);background:var(--soft);margin:1rem 0}
#no-results.show{display:block}
#no-results a{color:var(--accent);font-weight:600}
@media (max-width:640px){
.hero{margin:.4rem -1rem 1rem;padding:1.4rem 1.1rem}
.hero h1{font-size:1.7rem}
.nav-search .kbd{display:none}
nav{flex-wrap:wrap;gap:.55rem;padding:.5rem .75rem;margin:0 -1rem 1rem}
.nav-search{flex-basis:100%;max-width:none;margin-left:0}
}
