/* Full-screen club opening: a short warm-up, then the existing hero reveal. */
.entry-pending body { overflow: hidden; }
.entry-pending .site-intro:not([open]) { display: block; z-index: 100; }
.site-intro {
  background: #0c2d3b;
  color: #f6f4ed;
  padding: 30px 5vw 32px;
  background-image: radial-gradient(circle at 75% 40%, #144a5a 0, transparent 48%), radial-gradient(#edf8ee0c .7px, transparent .8px);
  background-size: auto, 9px 9px;
}
.site-intro::backdrop { background: #0c2d3b; }
.intro-logo { width: 106px; padding: 6px; border-radius: 12px; }
.intro-brand { gap: 18px; }
.intro-brand-name { font-size: 22px; letter-spacing: .035em; }
.intro-brand-name span { color: #74d5e8; letter-spacing: .24em; }
.intro-skip { border-color: #bdd5d13d; color: #f6f4ed; font-size: 12px; padding: 13px 19px; }
.intro-skip:hover { color: #0c2d3b; background: #f6f4ed; }
.intro-stage { width: min(100%, 1060px); height: min(58vh, 530px); min-height: 280px; }
.intro-backword {
  position: absolute;
  left: 50%;
  top: 48%;
  transform: translate(-50%, -50%);
  margin: 0;
  font-size: clamp(150px, 27vw, 400px);
  line-height: .8;
  font-weight: 800;
  letter-spacing: -.085em;
  color: #9be2e911;
  pointer-events: none;
}
.intro-track { transform: rotate(-12deg); }
.intro-lanes { stroke: #b8dce0; opacity: .4; stroke-width: 1.3; }
.intro-lap { stroke: #f27043; stroke-width: 5; filter: drop-shadow(0 0 5px #f2704344); }
.intro-runner-disc { fill: #f27043; stroke: #fff0d8; stroke-width: 1.5; }
.intro-runner-icon { color: #0c2d3b; }
.intro-stage-copy { width: 79%; padding: 0; display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; z-index: 2; }
.intro-eyebrow { grid-column: 1 / -1; text-align: left; color: #83cede; font-size: 10px; margin: 0 0 0 4px; letter-spacing: .18em; }
.intro-stage h1 { text-align: left; font-size: clamp(48px, 6.8vw, 94px); line-height: .98; letter-spacing: -.065em; max-width: 660px; }
.intro-phase { color: #f27043; font-size: clamp(94px, 13vw, 165px); letter-spacing: -.07em; margin: 0; min-width: 1.3em; text-align: right; }
.intro-steps { grid-column: 1 / -1; display: flex; gap: 22px; margin: 16px 0 0 4px; text-align: left; }
.intro-steps > span { display: flex; align-items: center; gap: 10px; padding-top: 12px; border-top: 1px solid #d8efef33; color: #97b3bc; font-size: 9px; flex: 1; max-width: 175px; transition: color .2s, border-color .2s; }
.intro-steps b { font-size: 11px; font-weight: 700; }
.intro-stage[data-phase="0"] [data-step="0"],
.intro-stage[data-phase="1"] [data-step="1"],
.intro-stage[data-phase="2"] [data-step="2"] { color: #f6f4ed; border-color: #f27043; }
.intro-description { color: #c4d7d8; font-size: 14px; max-width: 390px; }
.intro-cheer { color: #0c2d3b; background: #f27043; font-size: 12px; padding: 15px 22px; }
.intro-cheer:hover { background: #ff9567; }
.intro-cheer > span[aria-hidden] { color: #0c2d3b; }
.site-intro.is-leaving { animation: intro-curtain-v26 .45s cubic-bezier(.65, 0, .35, 1) both; }
@keyframes intro-curtain-v26 { to { clip-path: inset(0 0 100% 0); } }
@media (max-width: 760px) {
  .site-intro { padding: 22px 24px 25px; }
  .intro-logo { width: 75px; border-radius: 9px; }
  .intro-brand { gap: 11px; }
  .intro-brand-name { font-size: 16px; }
  .intro-skip { font-size: 9px; padding: 10px 0 10px 10px; border: 0; gap: 6px; }
  .intro-stage { width: calc(100% + 36px); height: min(49vh, 390px); min-height: 270px; }
  .intro-track { width: 156%; height: 100%; }
  .intro-backword { font-size: 40vw; top: 38%; }
  .intro-stage-copy { width: 92%; gap: 12px; grid-template-columns: 1fr; justify-items: center; }
  .intro-eyebrow { display: none; }
  .intro-stage h1 { font-size: clamp(42px, 13vw, 66px); text-align: center; }
  .intro-phase { font-size: 90px; text-align: center; line-height: .95; margin-top: 4px; }
  .intro-steps { width: 100%; gap: 12px; margin: 12px 0 0; }
  .intro-steps > span { gap: 5px; font-size: 8px; justify-content: center; padding-top: 10px; }
  .intro-steps b { font-size: 9px; }
  .intro-footer { gap: 18px; }
  .intro-description { font-size: 12px; }
  .intro-cheer { padding: 13px 20px; }
}
@media (max-height: 600px) {
  .site-intro { padding-top: 15px; padding-bottom: 16px; }
  .intro-logo { width: 62px; }
  .intro-stage { min-height: 150px; height: 57vh; }
  .intro-stage-copy { grid-template-columns: 1fr auto; width: 77%; gap: 9px; }
  .intro-eyebrow { text-align: left; margin: 0; }
  .intro-stage h1 { font-size: clamp(32px, 6vw, 64px); }
  .intro-phase { font-size: 70px; margin: 0; }
  .intro-steps { margin-top: 3px; }
  .intro-footer { flex-direction: row; align-items: center; text-align: left; }
  .intro-description { font-size: 10px; }
  .intro-cheer { padding: 9px 14px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-intro.is-leaving { animation: none; }
  .intro-steps > span { transition: none; }
}
