
* { box-sizing: border-box; }
body { background:#fff; color:#1d1c1a; font:17px/1.75 system-ui, sans-serif; margin:0; }
header { background:#000; border-bottom:4px solid #C8102E; padding:40px 16px 30px; text-align:center; }
header a { display:inline-block; }
header img { display:block; height:auto; margin:0 auto; width:min(300px, 68vw); }
header p { color:#a8a49d; font-size:15px; margin:14px 0 0; }
nav { margin-top:16px; }
nav a { color:#a8a49d; font-size:14px; font-weight:600; letter-spacing:.08em; margin:0 14px; text-decoration:none; text-transform:uppercase; }
nav a:hover { color:#fff; }
nav a.here { border-bottom:2px solid #C8102E; color:#fff; padding-bottom:2px; }
main { margin:0 auto; max-width:820px; padding:8px 24px 48px; }
.kicker { color:#C8102E; font-size:13px; font-weight:700; letter-spacing:.08em; margin:36px 0 0; text-transform:uppercase; }
h1 { font-family:Georgia, 'Times New Roman', serif; font-size:clamp(26px, 5.5vw, 36px); line-height:1.2; margin:8px 0; }
h2 { font-family:Georgia, 'Times New Roman', serif; font-size:clamp(20px, 4vw, 24px); line-height:1.3; margin:40px 0 12px; }
h3 { font-size:19px; line-height:1.35; }
figure { margin:20px 0; }
figure img { border:1px solid #e5e2dc; border-radius:12px; display:block; height:auto; width:100%; }
iframe { aspect-ratio:16/9; border:0; border-radius:12px; display:block; margin:24px 0 0; width:100%; }
a { color:#C8102E; }
article a { word-break:break-all; }
article p { text-wrap:pretty; }
article table { border-collapse:collapse; display:block; overflow-x:auto; }
article td, article th { border:1px solid #e5e2dc; padding:4px 8px; }
footer { background:#000; color:#a8a49d; font-size:14px; line-height:1.6; margin-top:64px; padding:28px 24px 36px; text-align:center; }
footer a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
footer a:hover { color:#C8102E; }
footer p { margin:4px 0; }
form { margin:24px 0; }
form label { display:block; font-weight:600; margin:16px 0 4px; }
form input, form textarea { border:1px solid #e5e2dc; border-radius:8px; font:inherit; padding:8px 12px; width:100%; max-width:560px; }
form textarea { resize:vertical; }
form button { background:#C8102E; border:0; border-radius:8px; color:#fff; cursor:pointer; font:inherit; font-weight:600; margin-top:16px; padding:10px 24px; }
form button:hover { background:#a50d24; }
.hidden { display:none; }
.home li { border-bottom:1px solid #e5e2dc; list-style:none; padding:18px 0; }
.home ul { margin:32px 0; padding:0; }
.home .day { color:#6e6a63; font-size:13px; margin:4px 0 0; }
.home a { color:#1d1c1a; font-size:20px; font-weight:600; line-height:1.35; text-decoration:none; }
.home a:hover { color:#C8102E; }
@media (max-width:600px) {
  body { font-size:16px; }
  header { padding:28px 12px 22px; }
  main { padding:8px 16px 40px; }
}
