
:root{
  --bg:#f6f7fb;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --line:#e5e7eb;
  --text:#0f172a;
  --muted:#475569;
  --brand:#0f172a;
  --brand-2:#1d4ed8;
  --accent:#dbeafe;
  --radius:20px;
  --shadow:0 18px 40px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  background:linear-gradient(180deg,#f8fafc 0%,#f6f7fb 100%);
  color:var(--text);
  line-height:1.65;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:30;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(229,231,235,.8);
}
.header-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;font-weight:800;
  background:linear-gradient(135deg,var(--brand) 0%,var(--brand-2) 100%);
  color:#fff;box-shadow:var(--shadow)
}
.brand small{display:block;color:var(--muted);font-size:13px}
.main-nav{display:flex;flex-wrap:wrap;gap:8px}
.main-nav a{
  padding:10px 14px;border-radius:999px;color:var(--muted);font-weight:600;font-size:14px
}
.main-nav a:hover,.main-nav a.is-active{background:#eef2ff;color:var(--brand)}
.hero{padding:48px 0 22px}
.hero-grid{
  display:grid;grid-template-columns:1.35fr .8fr;gap:26px;align-items:stretch
}
.hero-copy,.hero-panel,.featured-card,.post-card,.category-card,.author-panel,.sidebar-card,.page-head,.error-page{
  background:var(--surface);border:1px solid rgba(229,231,235,.9);border-radius:28px;box-shadow:var(--shadow)
}
.hero-copy{padding:34px}
.hero-copy h1{font-size:clamp(30px,4vw,52px);line-height:1.06;margin:10px 0 16px;letter-spacing:-.03em}
.hero-copy p{font-size:18px;color:var(--muted);max-width:64ch}
.eyebrow{
  display:inline-flex;padding:8px 12px;border-radius:999px;
  background:#eef2ff;color:#1e3a8a;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em
}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 18px;border-radius:16px;font-weight:700;border:1px solid transparent
}
.btn-primary{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-2) 100%);color:#fff}
.btn-secondary{background:#fff;border-color:#cbd5e1;color:var(--text)}
.hero-panel{padding:28px}
.hero-panel h2{margin:0 0 10px;font-size:22px}
.feature-list{margin:0;padding-left:18px;color:var(--muted)}
.feature-list li+li{margin-top:10px}
.section{padding:18px 0 34px}
.section-head,.page-head{margin-bottom:22px}
.section-head h2,.page-head h1{font-size:clamp(28px,3vw,40px);line-height:1.1;margin:10px 0 0;letter-spacing:-.03em}
.page-head{padding:28px}
.featured-card{
  overflow:hidden;display:grid;grid-template-columns:1.08fr 1fr;gap:0;margin-bottom:22px
}
.featured-image img,.post-card-image img,.article-cover img{width:100%;height:100%;object-fit:cover}
.featured-image{min-height:100%}
.featured-body{padding:28px}
.featured-body h3{font-size:32px;line-height:1.12;margin:14px 0}
.featured-body p,.post-card-body p,.author-hero p,.article-excerpt,.article-content p,.article-content li,.sidebar-card p,.footer-grid p{color:var(--muted)}
.card-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px
}
.post-card{overflow:hidden}
.post-card-image{aspect-ratio:16/10;background:#e2e8f0}
.post-card-body{padding:22px}
.post-card-body h2,.post-card-body h3{font-size:22px;line-height:1.2;margin:14px 0 12px;letter-spacing:-.02em}
.meta-row{display:flex;flex-wrap:wrap;gap:12px;color:#64748b;font-size:14px}
.chip{
  display:inline-flex;padding:8px 12px;border-radius:999px;background:#f1f5f9;color:#0f172a;
  font-weight:700;font-size:12px
}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.category-card{padding:22px;display:flex;flex-direction:column;gap:8px}
.category-card strong{font-size:18px}
.category-card span{color:var(--muted)}
.category-card:hover,.post-card:hover,.featured-card:hover{transform:translateY(-2px);transition:.18s ease}
.author-hero,.article-wrap{display:grid;gap:22px}
.author-hero{grid-template-columns:1.2fr .8fr;margin-bottom:24px}
.author-hero>div{padding:28px}
.compact li+li{margin-top:6px}
.article-wrap{grid-template-columns:minmax(0,1fr) 320px;padding:36px 0}
.article{
  background:var(--surface);border:1px solid rgba(229,231,235,.9);border-radius:28px;box-shadow:var(--shadow);padding:34px
}
.article-head h1{font-size:clamp(34px,4vw,50px);line-height:1.06;margin:14px 0 14px;letter-spacing:-.03em}
.article-excerpt{font-size:18px}
.article-cover{margin:24px 0 30px}
.article-cover{overflow:hidden;border-radius:22px;background:#e2e8f0}
.article-cover figcaption{padding:10px 14px;font-size:13px;color:#64748b;background:#f8fafc;border-top:1px solid var(--line)}
.article-content h2{font-size:30px;line-height:1.15;margin:34px 0 12px;letter-spacing:-.02em}
.article-content ul{padding-left:18px}
.article-sidebar{display:flex;flex-direction:column;gap:18px}
.sidebar-card{padding:24px}
.sidebar-card h3{margin-top:0}
.related-list{padding-left:18px;margin:0}
.related-list li+li{margin-top:10px}
.text-link{font-weight:700;color:#1d4ed8}
.tag-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.tag{
  background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;
  padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700
}
.error-page{padding:40px;text-align:center}
.site-footer{background:#0f172a;color:#cbd5e1;margin-top:28px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:28px;padding:40px 0 26px}
.footer-grid h3,.footer-grid h4{color:#fff;margin-top:0}
.footer-list{list-style:none;padding:0;margin:0}
.footer-list li+li{margin-top:10px}
.footer-list a{color:#cbd5e1}
.footer-bar{padding:16px 0 28px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#94a3b8}
@media (max-width: 1080px){
  .hero-grid,.featured-card,.card-grid,.category-grid,.author-hero,.article-wrap,.footer-grid{grid-template-columns:1fr 1fr}
  .card-grid{grid-template-columns:1fr 1fr}
  .category-grid{grid-template-columns:1fr 1fr}
  .article-wrap{grid-template-columns:1fr}
}
@media (max-width: 720px){
  .header-wrap,.main-nav{align-items:flex-start}
  .header-wrap{flex-direction:column}
  .hero-grid,.featured-card,.card-grid,.category-grid,.author-hero,.footer-grid{grid-template-columns:1fr}
  .hero-copy,.hero-panel,.featured-body,.post-card-body,.article,.sidebar-card,.page-head{padding:22px}
  .article-head h1,.hero-copy h1{letter-spacing:-.02em}
}
