.seasonal-brand { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 24px; flex: 0 0 22px; color: #ffad56; filter: drop-shadow(0 0 4px #ff8e3270); }
.seasonal-brand[hidden] { display: none; }
.seasonal-brand svg { width: 21px; height: 21px; }
.home-art-media { display: none; }
.home .eyebrow { display: flex; align-items: center; gap: 8px; }
.home .eyebrow svg { width: 18px; height: 18px; }
html[data-season="halloween"] #header { background: #211820; border-bottom-color: #a95732; }
html[data-season="halloween"] #header .wordmark b,
html[data-season="halloween"] .home h1 span { color: #ffad56; }
html[data-season="halloween"] #header nav button.active { background: #563654; color: #fff0dc; }
html[data-season="halloween"] #app button.primary { background: #e88b3f; border-color: #f1a96b; color: #1e121a; }
html[data-season="halloween"] #app button.primary:hover { background: #ffad56; }
html[data-season="halloween"] .home:after { background: linear-gradient(90deg,#211820f2 3%,#211820a6 32%,#21182000 60%),linear-gradient(0deg,#131819,transparent 42%); }
html[data-season="halloween"] .home .eyebrow { color: #e2c4fa; }
.event-art-wrap { position: absolute; inset: 0; z-index: -2; }
.event-card { min-height: 300px; }
.event-card .event-art { object-fit: contain; object-position: right center; }
.event-card::before { background: linear-gradient(90deg,#151017f2,#151017e0 34%,#15101700 66%); }
.event-tower::before { background: linear-gradient(90deg,#101b1ef2,#101b1ee0 34%,#101b1e00 66%); }
.event-christmas { --event-accent: #e9c56e; border-color: #44746c; border-left-color: #e9c56e; }
.event-christmas::before { background: linear-gradient(90deg,#142b27f0,#142b2790 58%,#142b2720); }
.event-christmas .event-coming { color: #f4e9c6; border-color: #678e74; background: #20362de8; }
.event-detail-card { min-height: 460px; }
.event-detail-card .event-art { object-position: right center; }

/* Notched landscape phones need a second navigation row instead of squeezing the brand under the status area. */
@media (min-width: 601px) and (max-width: 1100px) {
  #header { height: auto; min-height: calc(64px + var(--safe-top)); flex-wrap: wrap; gap: 6px 16px; padding-top: calc(10px + var(--safe-top)); padding-bottom: 8px; }
  #header .wordmark { white-space: nowrap; flex: 0 0 auto; }
  #header nav { order: 3; width: 100%; justify-content: center; }
}

/* Portrait uses the whole group illustration instead of cropping its side characters. */
@media (orientation: portrait) and (max-width: 1000px) {
  .home { display: block; padding: 0 0 32px; min-height: calc(100dvh - 94px - var(--safe-top)); }
  .home:before,.home:after { display: none; }
  .home-art-media { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; background: #131819; }
  .home-copy { padding: 24px max(20px,var(--safe-right)) 0 max(20px,var(--safe-left)); }
  .home h1 { font-size: 50px; line-height: 1; max-width: 100%; }
  .home .eyebrow { margin-bottom: 12px; }
  .home p { margin: 12px 0; }
  .home-actions { margin-top: 16px; }
  .home-meta { margin-top: 22px; flex-wrap: wrap; }
}
@media (max-width: 600px) {
  .event-art-wrap { position: relative; inset: auto; z-index: auto; aspect-ratio: 3 / 2; background: #1a1c21; }
  .event-card .event-art { position: static; display: block; width: 100%; height: 100%; object-fit: contain; }
  .event-card::before { display: none; }
  .event-content { min-height: 0; gap: 12px; padding: 18px 20px 22px; }
  .event-symbol { display: none; }
  .event-detail-card { min-height: 0; }
}
/* Prepared only: activating Christmas requires an explicit future schedule/configuration. */
html[data-season="christmas"] #header { background: #172a23; border-bottom-color: #b79755; }
html[data-season="christmas"] .seasonal-brand { color: #d9f5ed; filter: drop-shadow(0 0 4px #b2e8da70); }

.christmas-preview-page{--christmas-gold:#e9c078;--christmas-green:#172f2a;max-width:1180px;margin:auto}
.christmas-eyebrow{color:#eed49f;display:flex;align-items:center;gap:8px;letter-spacing:.12em;font-size:12px;font-weight:700}
.christmas-preview-hero{position:relative;border:1px solid #a08452;border-radius:18px;overflow:hidden;background:#102322;box-shadow:0 16px 55px #0005}
.christmas-preview-hero>img{display:block;width:100%;height:auto;object-fit:contain}
.christmas-preview-tag{position:absolute;left:18px;bottom:16px;padding:7px 14px;border-radius:30px;background:#132d26e8;color:#f1ddb9;border:1px solid #c9aa6b}
.christmas-snow{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.christmas-snow:before{content:"";position:absolute;inset:-100px 0 0;background-image:radial-gradient(2px 2px at 30px 25px,#fff9 80%,transparent),radial-gradient(1px 1px at 90px 75px,#fff9 80%,transparent),radial-gradient(2px 2px at 170px 140px,#fffa 80%,transparent);background-size:210px 180px;animation:christmas-preview-snow 18s linear infinite;opacity:.6}
@keyframes christmas-preview-snow{to{transform:translate3d(15px,180px,0)}}
.christmas-preview-intro{text-align:center;max-width:760px;margin:25px auto;color:#d0ded7}.christmas-preview-intro h2{color:#efd9b0}.christmas-preview-intro button{display:inline-flex;align-items:center;gap:8px;border-color:#9f8a5c;background:#233b31;color:#e3d9c5}
.christmas-cast{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.christmas-cast-card{overflow:hidden;border:1px solid #68806b;border-radius:14px;background:linear-gradient(145deg,#203b31,#142422);box-shadow:0 10px 30px #0003}
.christmas-cast-art{height:310px;padding:16px 8px 0;background:radial-gradient(ellipse at 50% 65%,#bda66b35,transparent 70%)}
.christmas-cast-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.christmas-cast-caption{padding:16px}.christmas-cast-caption small{color:#dfbe7f}.christmas-cast-caption h2{margin:4px 0 8px}.christmas-cast-caption p{font-size:13px;color:#bdcec5;line-height:1.5;min-height:4.5em}
.christmas-cast-caption details{border-top:1px solid #5a735d;padding-top:12px;font-size:13px}.christmas-cast-caption summary{cursor:pointer;color:#f2dfb8}.christmas-cast-caption details img{display:block;width:100%;height:auto;max-height:600px;object-fit:contain;margin-top:12px}.christmas-cast-caption a{display:flex;gap:6px;align-items:center;color:#f0d6a6;margin-top:10px}
.christmas-preview-note{color:#aabdb4;text-align:center;font-size:12px;max-width:760px;margin:24px auto}
.christmas-map-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.christmas-map-previews>a{display:block;overflow:hidden;border:1px solid #68806b;border-radius:14px;background:#172c26;text-decoration:none;color:#f0d6a6}.christmas-map-previews img{display:block;width:100%;height:auto}.christmas-map-previews a>div{padding:14px}.christmas-map-previews h2{margin:0 0 5px;font-size:20px}.christmas-map-previews p{color:#bdcec5;font-size:13px}.christmas-map-previews span{font-size:12px;display:flex;align-items:center;gap:6px}@media(max-width:650px){.christmas-map-previews{grid-template-columns:1fr}}
@media(max-width:900px){.christmas-cast{grid-template-columns:repeat(2,minmax(0,1fr))}.christmas-cast-art{height:280px}}
@media(max-width:480px){.christmas-preview-tag{left:10px;bottom:10px;font-size:11px;padding:4px 9px}.christmas-cast{gap:9px}.christmas-cast-art{height:220px}.christmas-cast-caption{padding:11px}.christmas-cast-caption p{font-size:12px}.christmas-preview-page .page-head h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){.christmas-snow:before{animation:none}}
