/* Party website: navigation, stable anchors and legibility, 2026-10-18. */
:root {
  --header-offset: 92px;
  --readable-coral: #ae3f4c;
  --readable-mint: #286c5b;
  --readable-sky: #28688f;
}

/* A clipped hero must not become a scroll container when focus moves. */
.hero {
  overflow: visible;
  background-image:
    radial-gradient(circle 185px at calc(100% - 25px) 65px, rgba(255, 228, 162, .75) 99.5%, transparent 100%),
    radial-gradient(circle 120px at -30px calc(100% - 20px), rgba(188, 239, 226, .7) 99.5%, transparent 100%);
}
.hero::before,
.hero::after { display: none; }
@supports (overflow: clip) {
  .hero { overflow: clip; background-image: none; }
  .hero::before,
  .hero::after { display: block; }
}

section[id], main#top, #details { scroll-margin-top: var(--header-offset); }
.menu-toggle { display: none; }
.nav a { min-height: 48px; display: inline-flex; align-items: center; }

.eyebrow { color: var(--readable-mint); }
.faq-card b, .kicker, .time-card b, .zone-id, .mini-list b,
.stage b, .item-copy b, .phase-card b { color: var(--readable-coral); }
.journey-card b, .vote i, .quick-num { background: var(--readable-coral); color: #fff; }
.quick-card:nth-child(2) .quick-num { background: var(--readable-mint); }
.quick-card:nth-child(3) .quick-num { background: var(--readable-sky); }
.quick-card:nth-child(4) .quick-num { background: #7055a8; }
.status-badge, .fan-positioning-tags span, .quick-note b,
.catalog.merch .item-copy b, .catalog.merch h3 { color: var(--readable-sky); }
.court { color: #163746; }

a:focus-visible, button:focus-visible, summary:focus-visible,
[tabindex="-1"]:focus-visible {
  outline: 3px solid #28688f;
  outline-offset: 4px;
}

@media (max-width: 980px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .nav { display: flex; width: 100%; max-width: 100%; overflow-x: auto; }
  .nav a { font-size: 14px; flex-shrink: 0; }
  .party-navigation-ready .top-in { gap: 8px; }
  .party-navigation-ready .logo { flex: 1; min-width: 0; white-space: normal; line-height: 1.35; }
  .party-navigation-ready .logo-mark { flex-shrink: 0; }
  .party-navigation-ready .logo > span:last-child { font-size: clamp(13px, 3.7vw, 16px); }
  .party-navigation-ready .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    min-height: 48px;
    margin-left: auto;
    padding: 9px 12px;
    border: 1px solid #c6d8d2;
    border-radius: 14px;
    background: #fffdf8;
    color: var(--ink);
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
  }
  .party-navigation-ready .menu-toggle[aria-expanded="true"] { background: var(--mint); }
  .party-navigation-ready .nav { display: none; }
  .party-navigation-ready .nav.is-open {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 8px 0 4px;
    overflow: visible;
    white-space: normal;
  }
  .party-navigation-ready .nav a { justify-content: center; padding: 10px; border-radius: 12px; }
}
@media (max-width: 640px) {
  .hero-grid { gap: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media print {
  .menu-toggle, .nav, .party-navigation-ready .menu-toggle, .party-navigation-ready .nav { display: none; }
}

.planning-status{padding:12px 15px;border:1px solid #c6d8d2;border-radius:14px;background:#fffdf8;color:#365443;font-size:14px;line-height:1.65;margin:16px 0}.original-image-link{display:block;text-align:right;padding:8px 14px;color:#28688f;font-size:14px;text-decoration:underline;min-height:44px}
