
:root { --bg:#000; --fg:#fff; --muted:#b9b9b9; --accent:#CD2020; --line:#2a2a2a; --card:#111; }
* { box-sizing: border-box; }
html, body { margin:0; padding:0; background:var(--bg); color:var(--fg); }
body { font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; }
a { color:var(--fg); }
header.top { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; padding:16px; border-bottom:1px solid var(--line); }
header.top .brand { font-weight:700; text-decoration:none; }
header.top nav { display:flex; flex-wrap:wrap; gap:14px; }
header.top nav a { text-decoration:none; color:var(--muted); }
main { max-width: 1040px; margin:0 auto; padding: 24px 16px; }
section { margin: 0 0 40px; }
h1 { font-size: 2rem; margin: 0 0 12px; }
h2 { font-size: 1.4rem; margin: 0 0 12px; border-bottom:1px solid var(--line); padding-bottom: 6px; }
.eyebrow { color: var(--accent); text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; margin: 0; }
.lede { font-size: 1.1rem; color: var(--muted); }
.notice { border-left: 3px solid var(--accent); padding: 8px 12px; background: var(--card); color: var(--muted); }
.draft { color: var(--muted); font-size: .9rem; font-style: italic; }
.subtitle { color: var(--muted); margin-top: -6px; }
.grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.card { display:flex; flex-direction:column; align-items:center; gap:8px; padding:14px; background:var(--card); border:1px solid var(--line); border-radius: 8px; text-decoration:none; text-align:center; }
.card span { font-size: .95rem; }
.icon { width:64px; height:64px; object-fit:contain; }
.icon.placeholder { display:flex; align-items:center; justify-content:center; border:1px dashed #555; border-radius:8px; color:#777; font-weight:700; font-size: 1.4rem; }
.head { display:flex; align-items:center; gap:14px; }
.shot { display:block; width:100%; max-width: 960px; height:auto; border:1px solid var(--line); border-radius: 6px; margin: 12px 0; }
.shot.placeholder { display:flex; align-items:center; justify-content:center; height:240px; border:1px dashed #555; color:#777; }
.gallery { display:grid; gap: 12px; }
footer { border-top:1px solid var(--line); padding:16px; color:var(--muted); font-size:.85rem; text-align:center; }
@media (max-width: 480px) {
  main { padding: 16px; }
  h1 { font-size: 1.6rem; }
}
