/* V26 — original AW / AFTERWORK lockup; graphite, white and silver. */
:root {
  --color-page: #f5f5f3;
  --color-surface: #e7e8e8;
  --color-ink: #111214;
  --color-secondary: #575c61;
  --color-accent: #25292d;
  --color-accent-hover: #41474d;
  --color-dark: #101214;
  --color-dark-raised: #292e32;
  --color-on-dark: #ffffff;
  --color-muted-on-dark: #bcc2c7;
  --color-border: #bfc3c5;
  --party-paper: #f5f5f3;
  --party-ink: #101214;
  --party-muted: #575c61;
  --party-line: #bfc3c5;
}
html { scroll-padding-top: 82px; scrollbar-color: #8d959b var(--color-page); }
::selection { background: #c9d1d7; color: #101214; }
:focus-visible { outline-color: #575f67; }
.skip-link { background: #fff; color: #101214; }
.topbar, .topbar.is-scrolled {
  min-height: 82px;
  background: #101214;
  color: #fff;
  border-bottom: 1px solid #34393d;
  gap: 30px;
  color-scheme: dark;
}
.nav-brand { min-width: 0; flex-shrink: 0; min-height: 46px; }
.nav-brand img { display: block; width: 270px; height: auto; filter: none; }
.topbar nav { margin-left: auto; margin-right: 18px; }
.topbar nav a::after { background: #fff; }
.topbar .menu-pill { background: #fff; border-color: #fff; color: #101214; }
.topbar .menu-pill:hover { background: #d8dfe4; border-color: #d8dfe4; }
.topbar .lang-toggle span, .topbar .lang-toggle i { color: #b8c0c6; }
.topbar .lang-toggle span.active { color: #fff; }
.topbar :focus-visible { outline-color: #fff; }
.hero, .page-hero, .event-detail-hero, .experience-editorial, .archive-cover { color: #fff; }
.home-page .hero-center { color: #fff; text-shadow: 0 2px 24px rgba(0,0,0,.25); }
.home-page .pane::after { background: linear-gradient(180deg,rgba(8,10,12,.08),rgba(8,10,12,.25) 45%,rgba(8,10,12,.12) 62%,rgba(8,10,12,.84)); }
.page-hero.photo::before { background: linear-gradient(180deg,rgba(8,10,12,.16),rgba(8,10,12,.64)),var(--bg) center var(--photo-y,42%)/cover no-repeat; }
.event-detail-hero::before { background: linear-gradient(90deg,rgba(8,10,12,.76),rgba(8,10,12,.16)),var(--bg) center var(--photo-y,42%)/cover no-repeat; }
.experience-editorial::before { background: linear-gradient(90deg,rgba(8,10,12,.74),rgba(8,10,12,.18)),var(--editorial-bg) center/cover no-repeat; }
.special-editorial::before { background-position: center,center 75%; }
.party-cta { background: #fff; color: #101214; }
.party-row:hover .party-cta { background: #d8dfe4; }
.party-row:focus-visible .party-cta { background: #d8dfe4; }
.party-list, .party-row { border-color: #454c51; }
.home-upcoming ::selection, .site-footer ::selection, .aftermovie-section ::selection { background: #c9d1d7; color: #101214; }
.ticket-pill { background: #25292d; color: #fff; }
.ticket-pill:hover { background: #41474d; }
.location-card-arrow { background: #25292d; color: #fff; }
.location-card:hover .location-card-arrow, .location-card:focus-visible .location-card-arrow { background: #41474d; color: #fff; }
.faq-section { background: #e7e8e8; }
.site-footer.editorial-footer { background: #101214; color: #fff; --muted: #bcc2c7; --line: #454c51; }
.editorial-footer .footer-main { align-items: center; }
.footer-signature { display: inline-flex; align-items: center; min-height: 52px; }
.footer-signature .footer-lockup { display: block; width: clamp(260px,34vw,440px); max-width: 100%; height: auto; }
.lightbox { background: #101214; color: #fff; }
.lightbox::backdrop { background: rgba(8,10,12,.96); }
.lightbox button { background: #292e32; border-color: #89939b; }
.lightbox button:hover { background: #41474d; }
@media (max-width: 1050px) and (min-width: 701px) {
  .topbar, .topbar.is-scrolled { gap: 18px; }
  .nav-brand img { width: 225px; }
  .topbar nav { gap: 20px; margin-right: 0; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 104px; }
  .topbar, .topbar.is-scrolled {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-rows: 38px 44px;
    min-height: 104px;
    padding: 10px 18px 11px;
    gap: 0 14px;
  }
  .nav-brand { grid-column: 1 / -1; min-height: 38px; justify-self: center; }
  .nav-brand img { width: 230px; height: auto; }
  .topbar nav { display: flex; margin: 0; gap: clamp(12px,4vw,23px); }
  .topbar nav a { font-size: 10px; letter-spacing: .04em; padding-inline: 0; }
  .nav-actions { gap: 10px; }
  .topbar .menu-pill { min-height: 40px; font-size: 10px; padding-inline: 12px; }
  .lang-toggle { font-size: 9px; padding-inline: 0; }
  .gallery-intro { padding-top: 144px; }
  .editorial-footer .footer-main { align-items: flex-start; }
  .footer-signature .footer-lockup { width: min(100%,340px); }
}
@media (max-width: 359px) {
  .topbar, .topbar.is-scrolled { padding-inline: 12px; column-gap: 8px; }
  .topbar nav { gap: 11px; }
  .topbar nav a, .topbar .menu-pill { font-size: 9px; }
  .nav-actions { gap: 7px; }
  .topbar .menu-pill { padding-inline: 10px; }
}

/* Additional aerial film opens on request; original aftermovie remains primary. */
.archive-aerial { scroll-margin-top: 120px; }
.aerial-player { width: min(100%,300px); margin: 0 0 22px; }
.aerial-player video { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; background: #101214; }
.aerial-player figcaption { color: #bcc2c7; margin-top: 12px; font-size: 10px; letter-spacing: .04em; }
.archive-aerial :focus-visible { outline-color: #fff; }

/* Unattributed community photographs have their own collection. */
.moments-section { border-top: 1px solid var(--party-line); }
.moments-section .section-head h2 { font-size: clamp(32px,4.3vw,62px); }
.moments-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.moments-grid .photo-link { display: block; min-width: 0; overflow: hidden; }
.moments-grid img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.moments-grid .photo-link:first-child { grid-column: 1 / -1; }
.moments-grid .photo-link:first-child img { aspect-ratio: 3 / 1; object-position: center 48%; }
@media (max-width: 640px) {
  .moments-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .moments-grid .photo-link:first-child img { aspect-ratio: 3 / 2; }
  .moments-section .section-head h2 { font-size: 32px; }
}
