
:root { --bg:#ffffff; --ink:#1a2332; --accent:#0e7c7b; --soft:#f4f6f8;
  --line:#dde3ea; --muted:#5a6a7a; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#10161f; --ink:#e8edf3; --accent:#3bbdbb; --soft:#1a2332;
    --line:#2a3547; --muted:#93a3b3; }
}
* { box-sizing:border-box; }
body { margin:0; font:17px/1.65 "Segoe UI",system-ui,sans-serif;
  color:var(--ink); background:var(--bg); }
header.site { border-bottom:2px solid var(--accent); padding:1.1rem 1.5rem;
  display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:.5rem; }
header.site .brand { font-weight:700; font-size:1.15rem; text-decoration:none; color:var(--ink); }
header.site .brand span { color:var(--accent); }
header.site nav a { margin-left:1.1rem; color:var(--ink); text-decoration:none; font-size:.95rem; }
main { max-width:720px; margin:0 auto; padding:2rem 1.5rem 4rem; }
h1 { font-size:1.9rem; line-height:1.25; margin:.4em 0; }
h2 { font-size:1.35rem; margin-top:2em; border-bottom:1px solid var(--line); padding-bottom:.25em; }
a { color:var(--accent); }
.meta { color:var(--muted); font-size:.9rem; }
.disclosure { background:var(--soft); border-left:4px solid var(--accent); padding:.7rem 1rem;
  font-size:.88rem; margin:1.2rem 0; border-radius:0 6px 6px 0; }
blockquote { margin:1.2rem 0; padding:.6rem 1rem; background:var(--soft);
  border-left:4px solid var(--line); font-style:italic; }
.card { border:1px solid var(--line); border-radius:8px; padding:1rem 1.2rem; margin:1rem 0; }
.card h3 { margin:.2rem 0; }
footer.site { border-top:1px solid var(--line); padding:1.5rem; font-size:.85rem;
  color:var(--muted); text-align:center; }
footer.site a { color:var(--muted); }
.newsletter { max-width:720px; margin:2.5rem auto 0; padding:1.5rem; background:var(--soft);
  border:1px solid var(--line); border-radius:8px; text-align:center; }
.newsletter h3 { margin:0 0 .3rem; font-size:1.1rem; }
.newsletter p { margin:.2rem 0 1rem; color:var(--muted); font-size:.92rem; }
.newsletter form { display:flex; gap:.5rem; max-width:420px; margin:0 auto; flex-wrap:wrap;
  justify-content:center; }
.newsletter input[type=email] { flex:1 1 220px; padding:.6rem .8rem; border:1px solid var(--line);
  border-radius:6px; background:var(--bg); color:var(--ink); font-size:.95rem; }
.newsletter button { padding:.6rem 1.2rem; border:none; border-radius:6px; background:var(--accent);
  color:#fff; font-weight:600; cursor:pointer; font-size:.95rem; }
.newsletter button:hover { opacity:.9; }
.newsletter-success { font-weight:600; color:var(--accent); }
.newsletter-error { color:#c0392b; font-size:.88rem; margin-top:.5rem !important; }
