
:root { color-scheme: light; --ink:#1c1915; --muted:#5c564c; --line:#e4ddd2; --paper:#f7f3ec; --card:#fffdf9; --accent:#1f4d40; --gold:#8d6a32; }
* { box-sizing: border-box; }
html { scroll-behavior: auto; }
body { margin:0; font-family: "Segoe UI", system-ui, sans-serif; color:var(--ink); background:var(--paper); line-height:1.65; }
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }
.wrap { width:min(1080px, calc(100% - 32px)); margin:0 auto; }
@media (max-width: 360px) { .wrap { width:min(1080px, calc(100% - 8px)); } }
header.site { border-bottom:1px solid var(--line); background:#fffdf9; }
header.site .wrap { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:72px; }
.brand { font-family: Georgia, "Times New Roman", serif; font-size:28px; letter-spacing:-0.03em; color:var(--ink); }
.brand small { display:block; font-family: "Segoe UI", system-ui, sans-serif; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); }
nav { display:flex; gap:18px; font-size:14px; }
.hero { padding:48px 0 20px; }
.hero h1 { font-family: Georgia, serif; font-weight:500; font-size:clamp(36px, 5vw, 58px); line-height:1.05; margin:0 0 12px; letter-spacing:-0.03em; }
.hero p { max-width:62ch; color:var(--muted); font-size:18px; }
.grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:16px; padding-bottom:48px; }
.card { background:var(--card); border:1px solid var(--line); }
.card img, .card svg { width:100%; height:auto; display:block; background:#14302a; }
.card .pad { padding:14px 16px 18px; }
.kicker { font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin:0 0 6px; }
.card h2 { font-family: Georgia, serif; font-size:22px; font-weight:500; line-height:1.2; margin:0; }
.card h2 a { color:var(--ink); }
article { padding:28px 0 64px; }
article h1 { font-family: Georgia, serif; font-weight:500; font-size:clamp(32px, 4vw, 48px); line-height:1.12; margin:8px 0 10px; }
.dek { font-size:20px; color:var(--muted); max-width:68ch; }
figure.cover { margin:18px 0 8px; max-width:520px; }
figure.cover img { width:100%; height:auto; display:block; border:1px solid var(--line); }
.prose { max-width:72ch; font-size:18px; }
.prose p { margin:0 0 18px; }
.leaderboard { display:flex; justify-content:center; overflow:hidden; }
.leaderboard:has(iframe) { padding:10px 0 12px; background:#fffdf9; border-bottom:1px solid var(--line); }
.ad-hold { display:flex; justify-content:center; max-width:100%; overflow:hidden; }
.ad-hold-header { margin:0 auto; width:100%; max-width:728px; }
.ad-hold-article { margin:0 auto; max-width:min(336px, 100%); }
.ad-hold-article:has(iframe) { margin:22px auto; }
.note { font-size:14px; color:var(--muted); border-top:1px solid var(--line); padding-top:16px; }
footer { border-top:1px solid var(--line); padding:28px 0 40px; color:var(--muted); font-size:14px; }
footer .wrap { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:flex-start; }
footer nav.legal { display:flex; gap:14px; flex-wrap:wrap; }
footer nav.legal a { color:var(--muted); }
