:root{
  --bg:#ffffff;
  --text:#101114;
  --muted:#5b6070;
  --line:#e7e9ee;
  --brand:#0b5fff;
  --brand2:#ff2d55;
  --card:#ffffff;
  --shadow: 0 10px 30px rgba(0,0,0,.06);
  --radius: 14px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
a{color:inherit;text-decoration:none;}
a:hover{text-decoration:underline;}
.container{max-width:1180px;margin:0 auto;padding:0 20px;}
.muted{color:var(--muted);} .small{font-size:.9rem;}
.dot{margin:0 .5rem;color:#a0a6b8;}

.site-header{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line);z-index:10;}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;}
.brand{display:flex;align-items:center;gap:10px;}
.brand-logo{width:36px;height:36px;border-radius:10px;display:block;}
.brand-name{font-weight:800;}
.nav{display:flex;gap:16px;flex-wrap:wrap;}
.nav a{font-weight:600;color:#2b2f3a;}

.hero{display:grid;grid-template-columns: 1.6fr .8fr;gap:24px; padding:28px 0;}
.hero-main{display:grid;grid-template-columns: 1fr 1fr;gap:20px;align-items:stretch;}
.hero-media{border-radius:var(--radius);overflow:hidden;background:#f4f6fb;border:1px solid var(--line);min-height:320px;}
.hero-media img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-copy{display:flex;flex-direction:column;gap:10px;}
.kicker{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--brand2);text-transform:uppercase;font-size:.8rem;letter-spacing:.08em;}
.hero-title{font-size:2rem;line-height:1.1;margin:0;font-weight:800;}
.hero-title a:hover{text-decoration:none;color:var(--brand);}
.hero-dek{margin:0;color:#2b2f3a;font-size:1.05rem;line-height:1.45;}

.hero-rail{border-left:1px solid var(--line);padding-left:18px;}
.rail-title{font-weight:800;margin:6px 0 12px;}
.rail-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
.rail-list a{font-weight:700;}

.grid-block{padding:10px 0 34px;}
.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:16px 0;}
.block-head h2{margin:0;font-size:1.35rem;}
.more{color:var(--brand);font-weight:700;}

.grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:18px;}

.with-rail{display:grid;grid-template-columns: 1fr 320px;gap:26px;align-items:start;}
.rail{position:sticky;top:84px;align-self:start;border-left:1px solid var(--line);padding-left:18px;}
.rail .rail-title{margin-top:0;}
.rail-card{border:1px solid var(--line);border-radius:var(--radius);padding:14px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.02);}
.rail-card + .rail-card{margin-top:14px;}
.rail-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.rail-links a{font-weight:800;}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.02);}
.card-link{display:flex;flex-direction:column;height:100%;}
.card-media{aspect-ratio:16/9;background:#f1f3f8;}
.card-media img{width:100%;height:100%;object-fit:cover;display:block;}
.card-body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:8px;}
.card-title{margin:0;font-size:1.05rem;line-height:1.25;font-weight:800;}
.card-markets .card-title,.card-economy .card-title,.card-personal-finance .card-title{font-family:"Source Serif 4", Georgia, serif;font-weight:700;}
.card-cybersecurity .card-title{font-family:"Space Grotesk", Inter, system-ui, sans-serif;letter-spacing:-0.01em;}
.card-reviews .card-title,.card-deals .card-title{font-family:Inter,system-ui,sans-serif;}
.card-dek{margin:0;color:var(--muted);line-height:1.45;}
.card-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem;}

.badge{display:inline-flex;align-items:center;gap:6px;background:#eef2ff;color:#2b3a9a;border:1px solid #dde3ff;border-radius:999px;padding:3px 8px;font-weight:800;font-size:.72rem;letter-spacing:.06em;}
.badge-shopping{background:#fff1f2;border-color:#ffd0d9;color:#9f1239;}

.page-head{padding:26px 0 10px;border-bottom:1px solid var(--line);margin-bottom:20px;}
.page-head h1{margin:0;font-size:2rem;}

.article{max-width:900px;}
.article-head{padding:26px 0 14px;border-bottom:1px solid var(--line);margin-bottom:16px;}
.article-title{font-family:"Source Serif 4", Georgia, serif;font-size:2.4rem;line-height:1.1;margin:10px 0 8px;}

/* Template variety (keep brand consistent; vary typographic voice + layout accents) */
.tmpl-feature .article-title{font-family:"Playfair Display", Georgia, serif;font-size:3rem;letter-spacing:-0.01em;}
.tmpl-brief .article-title{font-family:Inter,system-ui,sans-serif;font-size:2.05rem;}
.tmpl-brief .article-dek{display:none;}
.tmpl-analysis .article-title{font-family:"Source Serif 4", Georgia, serif;font-size:2.7rem;}
.tmpl-analysis .article-body{border-left:3px solid var(--line);padding-left:16px;}
.tmpl-checklist .article-title{font-family:Inter,system-ui,sans-serif;font-size:2.3rem;}
.tmpl-checklist .article-body ul{padding-left:1.1rem;}
.tmpl-tech .article-title{font-family:"Space Grotesk", Inter, system-ui, sans-serif;font-size:2.5rem;}
.article-dek{font-size:1.15rem;line-height:1.5;margin:0;color:#2b2f3a;}
.article-meta{display:flex;align-items:center;gap:10px;}
.article-hero{margin:16px 0 10px;}
.article-hero img{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line);display:block;}

.prose{font-family:"Source Serif 4", Georgia, serif;font-size:1.12rem;line-height:1.75;}
.prose h2,.prose h3{font-family:Inter,system-ui,sans-serif;line-height:1.25;}
.prose a{color:var(--brand);}

.callout{border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;background:#fbfbfd;margin:14px 0;}
.callout-disclosure{border-color:#ffd0d9;background:#fff7f8;}

.form{display:grid;gap:12px;max-width:560px;padding:16px 0 40px;}
.form label{display:grid;gap:6px;font-weight:700;}
.form input,.form textarea{padding:10px 12px;border-radius:12px;border:1px solid var(--line);font:inherit;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid #0b5fff;background:var(--brand);color:white;font-weight:800;cursor:pointer;}
.btn:hover{filter:brightness(.95);}

.site-footer{border-top:1px solid var(--line);padding:26px 0;margin-top:34px;background:#fbfcff;}
.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.footer-brand{font-weight:900;}
.footer-links{margin-top:8px;}
.footer-links a{font-weight:700;}

.disclosure{margin-top:12px;}

@media (max-width: 980px){
  .hero{grid-template-columns:1fr;}
  .hero-rail{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:14px;}
  .hero-main{grid-template-columns:1fr;}
  .grid{grid-template-columns:repeat(2,1fr);}
  .with-rail{grid-template-columns:1fr;}
  .rail{position:static;border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:14px;top:auto;}
}
@media (max-width: 640px){
  .grid{grid-template-columns:1fr;}
  .nav{gap:12px;}
  .hero-title{font-size:1.7rem;}
  .article-title{font-size:2rem;}
}
