:root{
  --ink:#1f2328; --muted:#5b636c; --line:#e6e8eb; --bg:#ffffff; --soft:#f6f7f9;
  --accent:#2f6f4f; --accent-ink:#1c4a34; --max:760px; --radius:12px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.65;font-size:18px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
a{color:var(--accent-ink);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;border-radius:8px}

/* header */
.site-head{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);z-index:10}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;max-width:980px;padding:12px 20px}
.brand{font-weight:800;font-size:20px;color:var(--ink)}
.site-head nav a{margin-left:16px;color:var(--muted);font-size:15px;font-weight:600}
.site-head nav a:hover{color:var(--accent-ink);text-decoration:none}

/* hero + grid */
.hero{padding:44px 0 20px}
.hero h1{font-size:34px;margin:0 0 8px;letter-spacing:-.02em}
.hero p{color:var(--muted);font-size:19px;margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;padding:16px 0 48px;max-width:980px;margin:0 auto}
.card{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--bg);transition:.15s}
.card:hover{border-color:#cfd4da;box-shadow:0 6px 20px rgba(20,30,40,.06);text-decoration:none;transform:translateY(-1px)}
.card .tag{display:inline-block;font-size:12px;font-weight:700;color:var(--accent-ink);background:#eaf3ee;padding:2px 8px;border-radius:20px;text-transform:capitalize}
.card h3{margin:10px 0 6px;font-size:19px;line-height:1.3;color:var(--ink)}
.card p{margin:0;color:var(--muted);font-size:15px}

/* article */
.article{padding:24px 0 40px}
.article h1{font-size:32px;line-height:1.2;letter-spacing:-.02em;margin:6px 0 10px}
.crumbs{font-size:13px;color:var(--muted);text-transform:capitalize}
.meta{color:var(--muted);font-size:14px;margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.article h2{font-size:25px;margin:36px 0 10px;letter-spacing:-.01em}
.article h3{font-size:20px;margin:26px 0 8px}
.article p{margin:16px 0}
.article ul,.article ol{padding-left:22px}
.article li{margin:6px 0}
.article blockquote{margin:20px 0;padding:12px 18px;border-left:4px solid var(--accent);background:var(--soft);border-radius:0 8px 8px 0;color:#333}
.article code{background:var(--soft);padding:2px 6px;border-radius:6px;font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.article pre{background:#0f1720;color:#e6edf3;padding:16px;border-radius:10px;overflow:auto;font-size:14px}
.article pre code{background:none;padding:0;color:inherit}
.article table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px}
.article th,.article td{border:1px solid var(--line);padding:9px 12px;text-align:left}
.article th{background:var(--soft);font-weight:700}
.article figure{margin:22px 0}
.article figcaption{color:var(--muted);font-size:13px;text-align:center;margin-top:6px}
.article hr{border:0;border-top:1px solid var(--line);margin:32px 0}

/* ads */
.ad{margin:26px 0;min-height:90px;display:flex;align-items:center;justify-content:center}
.ad--placeholder{background:repeating-linear-gradient(45deg,#f3f4f6,#f3f4f6 10px,#eceef1 10px,#eceef1 20px);border:1px dashed #cfd4da;border-radius:10px;color:#9aa2ab;font-size:12px;letter-spacing:.15em;text-transform:uppercase}

/* related */
.related{max-width:var(--max);margin:20px auto 0;padding:20px;background:var(--soft);border-radius:var(--radius)}
.related h2{margin:0 0 8px;font-size:18px}
.related ul{margin:0;padding-left:20px}

/* footer */
.site-foot{border-top:1px solid var(--line);margin-top:40px;padding:28px 0;color:var(--muted);font-size:14px}
.site-foot .wrap{max-width:980px}
.site-foot .disclosure{background:var(--soft);padding:12px 14px;border-radius:8px;font-size:13px}
.site-foot nav a{margin-right:16px;color:var(--muted)}
@media(max-width:600px){
  body{font-size:17px}
  .hero h1{font-size:28px}.article h1{font-size:26px}
  .site-head nav a{margin-left:11px;font-size:14px}
}
