/* Silver, ice blue and graphite follow the September 2026 official artwork. */
:root {
  color-scheme: light;
  --ink: #202a33;
  --ink-muted: #526371;
  --ink-dark: #172f42;
  --surface: #f8fafc;
  --surface-raised: #fff;
  --surface-soft: #e9eff4;
  --accent: #173e5b;
  --accent-soft: #dce9f2;
  /* Shared components still use the original token names. */
  --violet: var(--accent);
  --violet-light: var(--accent-soft);
  --gold: var(--accent);
  --line: rgba(44, 72, 94, 0.16);
  --shadow: 0 24px 70px rgba(34, 58, 78, 0.1);
  --radius-lg: 20px;
  --radius-md: 16px;
}
::selection { background: #c4d9e8; color: #172f42; }
.site-header { border-bottom: 1px solid var(--line); background: rgba(244, 247, 250, 0.96); backdrop-filter: blur(18px); view-transition-name: event-header; }
.brand img, .footer-brand img { filter: brightness(0); opacity: 0.88; }
.brand span, .desktop-nav a { color: var(--ink); }
.desktop-nav a:hover { color: var(--accent); }
.language-switcher { border-color: var(--line); background: rgba(255, 255, 255, 0.48); }
.language-switcher a { color: var(--ink-muted); }
.language-switcher a[aria-current="page"] { background: var(--accent); color: #fff; }
.header-ticket { background: var(--accent); color: #fff; border-color: transparent; }
.header-ticket:hover { background: #102f46; }
.menu-toggle { border-color: var(--line); color: var(--ink); }
.mobile-menu { background: #f4f7fa; color: var(--ink); }
.mobile-menu nav a { border-color: var(--line); }
.mobile-menu .mobile-ticket { background: var(--accent); color: #fff; }
.site-header :focus-visible, .mobile-menu :focus-visible { outline-color: var(--accent); }
.section-soft { background: var(--surface-soft); }
#videos::before, #gallery::before, .moments-section::before { border-color: rgba(80, 117, 144, 0.12); box-shadow: 0 0 0 68px rgba(80, 117, 144, 0.03); }
.show-reasons::before { background: radial-gradient(ellipse at 50% 0%, rgba(102, 144, 174, 0.1), transparent 66%); }
.section-kicker { color: #466b87; }
.about-copy { background: linear-gradient(145deg, #fff, #f3f7fa); }
.date-panel { background: linear-gradient(135deg, #254e69, #142f44); color: #f8fafc; border-color: transparent; }
.date-panel::before { border-color: rgba(221, 237, 248, 0.23); box-shadow: 0 0 0 42px rgba(221, 237, 248, 0.06), 0 0 0 84px rgba(221, 237, 248, 0.03); }
.date-big { color: #f8fafc; letter-spacing: -0.04em; }
.date-meta { color: #d0e0ec; }
.archive-notice { border-color: #c7d6e1; background: #edf3f7; color: #425f74; }
.person-card { background: #142534; color: #fff; }
.person-card::after { background: linear-gradient(180deg, transparent 0%, rgba(12, 25, 37, 0.92) 48%, #0c1925 68%); }
.person-card h3 { color: #fff; }
.reason-card::after { background: linear-gradient(180deg, transparent 0%, rgba(12, 25, 37, 0.24) 40%, rgba(12, 25, 37, 0.94) 100%); }
.video-card { background: #142534; }
.video-card::after { background: rgba(12, 25, 37, 0.25); }
.video-card:hover::after { background: rgba(12, 25, 37, 0.12); }
.video-play { background: rgba(20, 47, 68, 0.5); }
.faq-item summary::after { color: var(--accent); }
.faq-item[open] { background: rgba(255, 255, 255, 0.28); }
.faq-item[open] summary::after { background: var(--accent-soft); }
.moments-section { background: linear-gradient(150deg, #edf3f7, #e2ebf2); }
.moments-intro, .moments-hint { color: var(--ink-muted); }
.moment-card { background: #142534; box-shadow: 0 18px 40px rgba(34, 58, 78, 0.14); }
.moment-card:hover { box-shadow: 0 24px 48px rgba(34, 58, 78, 0.2); }
.moment-card::after { background: linear-gradient(180deg, rgba(12, 25, 37, 0.28) 0%, transparent 36%, rgba(12, 25, 37, 0.92) 100%); }
.moment-card-meta { color: #f8fafc; }
.moment-card-meta > span { background: rgba(20, 37, 52, 0.74); }
.moment-play { background: #f8fafc; color: var(--accent); box-shadow: 0 12px 28px rgba(20, 37, 52, 0.2); }
.moment-card-caption > span { color: #d6e5f0; }
.final-cta { background: radial-gradient(ellipse at 50% 0, #2d5672, transparent 70%), #132f44; color: #f8fafc; }
.final-cta p { color: #cddfea; }
.final-cta::before, .final-cta::after { border-color: rgba(217, 234, 246, 0.2); }
.final-cta .final-status { background: #f4f7fa; border-color: transparent; color: var(--accent); }
.final-cta .final-status:hover { background: #dce9f2; }
.final-cta :focus-visible { outline-color: #dce9f2; }
.site-footer { background: #f4f7fa; color: var(--ink-muted); border-top: 1px solid var(--line); }
.site-footer strong, .site-footer .footer-brand { color: var(--ink); }
.people-scroller, .moments-rail { scrollbar-color: #6e8ba0 #dce6ee; }
.people-scroller::-webkit-scrollbar-thumb, .moments-rail::-webkit-scrollbar-thumb { background: #6e8ba0; }
.motion-ready .motion-heading::after { background: #466b87; box-shadow: none; }
