:root { --ink:#1c2126; --muted:#5a646b; --accent:#0b6e75; --line:#dfe5e8; --bg:#ffffff; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink);
  font:16px/1.6 "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif; }
header, main, footer { max-width:880px; margin:0 auto; padding:0 24px; }
header { padding-top:56px; padding-bottom:8px; }
h1 { font-size:2rem; line-height:1.2; margin:0 0 6px; }
.tagline { color:var(--muted); margin:0 0 8px; font-size:1.05rem; }
h2 { font-size:1.25rem; margin:2.2rem 0 .6rem; padding-bottom:.3rem; border-bottom:1px solid var(--line); }
p { margin:.5rem 0 1rem; }
a { color:var(--accent); }
ul { margin:.4rem 0 1rem; padding-left:1.3rem; }
li { margin:.3rem 0; }
.button { display:inline-block; padding:9px 18px; border:1.5px solid var(--accent);
  border-radius:6px; text-decoration:none; font-weight:600; }
.button:hover { background:var(--accent); color:#fff; }
figure { margin:1rem 0 1.6rem; }
figure img, .gallery img { max-width:100%; height:auto; border:1px solid var(--line); border-radius:4px; }
figcaption { font-size:.85rem; color:var(--muted); margin-top:.4rem; }
.gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:18px; }
.gallery a { display:block; text-decoration:none; color:var(--muted); font-size:.85rem; }
.gallery a:hover span { color:var(--accent); }
.gallery span { display:block; margin-top:.35rem; }
footer { margin:3rem 0 2.5rem; padding-top:1rem; border-top:1px solid var(--line);
  color:var(--muted); font-size:.85rem; }
@media print { .gallery a span { display:none; } }
