:root{
  --bg:#fbfaf6;
  --panel:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --brand:#274690;
  --brand2:#2a9d8f;
  --border:rgba(31,41,55,.10);
}

html,body{height:100%}
body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:1120px;margin:0 auto;padding:0 16px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.site-header{position:sticky;top:0;background:rgba(251,250,246,.92);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--border);z-index:10}
.header-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px 0}
#logo a{font-weight:900;letter-spacing:.2px;font-size:18px}
.title-block{flex:1;min-width:0}
.tagline{color:var(--muted)}
.header-ads{min-width:180px;max-width:360px}

.top-nav{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.top-nav ul{list-style:none;margin:0;padding:10px 0;display:flex;flex-wrap:wrap;gap:10px}
.top-nav a{display:inline-block;padding:8px 10px;border-radius:10px;background:transparent}
.top-nav li.active a{background:rgba(39,70,144,.10);font-weight:800}

.lede{padding:14px 0}
.lede-text{margin:0;background:linear-gradient(90deg,rgba(39,70,144,.10),rgba(42,157,143,.10));border:1px solid var(--border);border-radius:14px;padding:12px 14px}

.magazine{padding:18px 0 28px}
.grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.article{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 8px 22px rgba(31,41,55,.06)}
.sidebar .slot{background:var(--panel);border:1px dashed rgba(31,41,55,.22);border-radius:16px;padding:12px}

#footer{border-top:1px solid var(--border);padding:16px 0;background:rgba(255,255,255,.65)}
#footer .social{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
#footer .social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:#fff}
#footer p{margin:0;color:var(--muted)}

@media (max-width: 980px){
  .grid{grid-template-columns:1fr}
  .header-ads{display:none}
}
