:root { color-scheme: light; --ink:#1f2933; --muted:#5b6675; --line:#d8dee8; --paper:#fbfcfd; --brand:#175e54; --accent:#b3452c; }
* { box-sizing: border-box; }
body { margin:0; font-family: Arial, Helvetica, sans-serif; color:var(--ink); background:var(--paper); line-height:1.55; }
a { color:var(--brand); }
.site-header, .site-footer { max-width:1120px; margin:0 auto; padding:22px; display:flex; gap:18px; align-items:center; justify-content:space-between; }
.brand { font-weight:700; text-decoration:none; color:var(--ink); }
nav { display:flex; gap:14px; flex-wrap:wrap; }
nav a { text-decoration:none; color:var(--muted); }
.hero { min-height:52vh; display:grid; align-items:center; background:linear-gradient(135deg,#f5f7f4,#e7f0ed); border-block:1px solid var(--line); }
.hero > div, main { max-width:1120px; margin:0 auto; padding:42px 22px; width:100%; }
h1 { font-size:clamp(2rem,4vw,4.2rem); line-height:1.04; margin:8px 0 16px; letter-spacing:0; }
h2 { font-size:1.35rem; line-height:1.2; }
.kicker { color:var(--accent); text-transform:uppercase; font-weight:700; font-size:.78rem; letter-spacing:.08em; }
.dek { font-size:1.25rem; color:var(--muted); }
.post-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; }
.post-card { border:1px solid var(--line); border-radius:8px; background:#fff; padding:20px; }
.post-card h2 a { color:var(--ink); text-decoration:none; }
.article-layout, .narrow { max-width:820px; }
.article { background:#fff; border:1px solid var(--line); border-radius:8px; padding:28px; }
.service-note, .sources { border-top:1px solid var(--line); margin-top:24px; padding-top:18px; }
.archive-list, .brand-list { list-style:none; padding:0; display:grid; gap:12px; }
.archive-list li, .brand-list li { border-bottom:1px solid var(--line); padding:12px 0; display:grid; gap:4px; }
.signup { display:flex; gap:8px; flex-wrap:wrap; margin-top:22px; }
.signup input { min-width:240px; padding:12px; border:1px solid var(--line); border-radius:6px; }
.signup button { padding:12px 16px; border:0; border-radius:6px; background:var(--brand); color:#fff; font-weight:700; }
.site-footer { color:var(--muted); font-size:.9rem; }
@media (max-width:700px) { .site-header, .site-footer { display:block; } nav { margin-top:12px; } .article { padding:20px; } }
