
:root{--ink:#111;--bg:#fff}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
header,nav,main,footer{max-width:1100px;margin:auto;padding:16px}
nav a{margin-right:14px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--ink)}
h1{font-size:2rem;line-height:1.2;margin:14px 0}
h2{margin:18px 0 8px}
.lead{font-size:1.05rem}
.k{font-weight:bold}
.section{margin:28px 0}
ul{padding-left:18px}
.cta{margin-top:16px;display:inline-block;border:1px solid var(--ink);padding:8px 12px}
figure{margin:16px 0}
figcaption{font-size:.9rem;opacity:.8}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.resp-media{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}
.resp-media iframe, .resp-media video{position:absolute;top:0;left:0;width:100%;height:100%}
table{border-collapse:collapse;margin:16px 0;width:100%;border:2px solid #000}
th,td{border:1px solid #000;padding:8px;text-align:left;vertical-align:top}
img{max-width:100%;height:auto;display:block}
footer{font-size:.95rem;opacity:.85}
small.muted{opacity:.6}
@media (prefers-color-scheme:dark){
  :root{--ink:#f3f3f3;--bg:#0e0e0e}
  nav a{border-bottom-color:#666}
  table{border-color:#aaa}
  th,td{border-color:#777}
}
