.site-pages{margin:0;background:var(--theme-soft);color:var(--ink);display:block;border-bottom:1px solid color-mix(in srgb,var(--ink) 15%,transparent);font-size:11px;font-weight:700}.site-pages-inner{display:flex;gap:22px;padding:14px 32px;overflow-x:auto;scrollbar-width:thin}.site-pages a{white-space:nowrap}.site-pages a[aria-current=page]{color:var(--theme-text);box-shadow:0 2px var(--theme-text)}.is-auth .site-pages{display:none}.inside-hero{padding:48px 0 58px;border-bottom:1px solid var(--border)}.inside-hero-grid{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:55px}.inside-hero h1{font-size:clamp(42px,4.65vw,75px);letter-spacing:-.055em;line-height:1.02}.inside-hero p{font-size:17px;max-width:54ch}.inside-hero .eyebrow{font-size:9px}.inside-hero .breadcrumbs{margin-bottom:30px}.photo-slot{position:relative;margin:0;min-width:0;border-radius:14px;overflow:hidden;background:var(--surface)}.photo-slot img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover}.photo-slot figcaption{position:absolute;bottom:12px;left:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);border-radius:4px;padding:5px 8px;background:#101815e8;color:#fff;font-size:9px;letter-spacing:.06em;font-weight:700;line-height:1.5}.hero-photo img{height:430px;aspect-ratio:auto}.page-light{background:var(--cream);color:var(--ink)}.page-light p{color:color-mix(in srgb,var(--ink) 73%,var(--cream))}.page-light .eyebrow,.page-light .label{color:var(--theme-text)}.page-light .link{color:var(--theme-text)}.page-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:36px}.page-card{border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent);padding-top:22px}.page-number{display:block;font-weight:700;color:var(--theme-text);font-size:12px;letter-spacing:.12em;margin-bottom:22px}.page-card h3{font-size:23px}.page-card p{font-size:14px}.picture-story{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.picture-story img{height:370px}.picture-story h2{font-size:clamp(30px,3.4vw,48px)}.journey{counter-reset:step;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;gap:36px;margin:38px 0 0}.journey li{border-top:1px solid var(--border);padding-top:25px;counter-increment:step}.journey li:before{content:'0' counter(step);display:block;font-size:30px;font-weight:700;color:var(--pink);margin-bottom:20px}.journey p{font-size:14px}.page-faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.page-light details{border-color:color-mix(in srgb,var(--ink) 20%,transparent)}.academy-facts{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--border);padding-block:30px;gap:20px}.academy-facts strong{display:block;font-size:48px;color:var(--pink);line-height:1.2}.academy-facts span{font-size:12px;color:var(--muted)}.event-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}.event-photo-grid img{height:330px}.table-scroll{overflow-x:auto;margin:32px 0}.fee-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;min-width:600px}.fee-table caption{text-align:left;font-size:12px;padding-bottom:14px}.fee-table th{background:var(--theme-dark);color:var(--cream);padding:18px}.fee-table td{padding:20px 18px;border-bottom:1px solid color-mix(in srgb,var(--ink) 20%,transparent);vertical-align:top}.fee-table td:first-child{font-weight:700}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.filter-button{border:1px solid var(--border);border-radius:30px;padding:9px 18px;color:var(--cream);background:transparent;font-size:12px}.filter-button[aria-pressed=true]{color:var(--theme-accent-text);background:var(--pink);border-color:var(--pink)}.page-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.page-gallery-card{border:1px solid var(--border);padding:0;border-radius:12px;overflow:hidden;background:var(--surface);color:var(--cream);text-align:left}.gallery-img{display:block;position:relative}.gallery-img img{width:100%;height:250px}.gallery-tag{position:absolute;bottom:10px;left:10px;right:10px;background:#0d1716e6;color:#fff;padding:5px 8px;font-size:9px;width:fit-content;line-height:1.5}.gallery-card-title{padding:20px;display:flex;justify-content:space-between;gap:12px;font-size:13px}.video-slot{margin-top:40px;border:1px dashed var(--border);border-radius:12px;padding:30px;display:flex;align-items:center;gap:25px}.video-slot>span:first-child{font-size:42px;color:var(--pink)}.video-slot p{font-size:13px;margin-bottom:0}.video-slot h3{font-size:20px;margin-bottom:8px}.video-slot .service-tag{margin-left:auto;white-space:nowrap}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:35px}.journal-card{background:var(--theme-soft);border-radius:12px;overflow:hidden}.journal-card .photo-slot{border-radius:0}.journal-card img{height:225px}.journal-copy{padding:26px}.journal-copy h3{margin-top:15px;font-size:24px}.journal-copy p{font-size:14px}.journal-copy .label{font-size:9px}.faq-page{display:grid;grid-template-columns:.65fr 1.35fr;gap:65px}.faq-search label{color:var(--theme-text);font-size:11px;letter-spacing:.1em}.faq-search input{background:var(--theme-soft);color:var(--ink);border-color:color-mix(in srgb,var(--ink) 25%,transparent)}.faq-search p{font-size:12px;margin-top:14px}.faq-category{display:block;font-size:9px;padding-bottom:20px}.contact-more{display:flex;justify-content:space-between;align-items:center;gap:35px}.sample-overlay{position:absolute;top:16px;left:16px;z-index:1;padding:5px 8px;background:#10221ce6;color:#fff;font-size:9px;border-radius:3px}.coach-card>.photo-slot img{height:440px}.page-gallery-card[hidden],.faq-results details[hidden],.faq-empty[hidden]{display:none!important}#photo-dialog p{max-width:90%;margin:12px auto;font-size:13px;color:var(--cream)}
@media(max-width:1000px){.inside-hero-grid{gap:30px}.hero-photo img{height:370px}.page-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.page-faq-layout{gap:35px}.journal-grid{gap:15px}.journal-copy{padding:20px}.site-pages-inner{gap:20px;padding-inline:24px}}
@media(max-width:700px){.inside-hero-grid,.picture-story,.page-faq-layout,.faq-page{grid-template-columns:1fr;gap:30px}.inside-hero{padding:30px 0 40px}.inside-hero h1{font-size:clamp(38px,8vw,58px)}.inside-hero p{font-size:15px}.hero-photo img{height:290px}.page-card-grid,.journey,.journal-grid{grid-template-columns:1fr}.page-card-grid{gap:25px}.picture-story img{height:280px}.event-photo-grid{grid-template-columns:1fr}.event-photo-grid img{height:260px}.page-gallery{grid-template-columns:1fr}.gallery-img img{height:270px}.video-slot{flex-wrap:wrap;padding:22px;gap:18px}.video-slot .service-tag{margin-left:0}.academy-facts{grid-template-columns:1fr 1fr;row-gap:30px}.academy-facts strong{font-size:40px}.journal-card img{height:250px}.contact-more{display:block}.contact-more .actions{margin-top:25px}.site-pages-inner{padding:12px 20px;gap:20px}.inside-hero .breadcrumbs{margin-bottom:22px}.coach-card>.photo-slot img{height:350px}}

.site-pages{position:relative;top:auto;left:auto;right:auto;padding:0;z-index:1;border-radius:0;box-shadow:none}.site-pages-inner{width:100%;max-width:100%}

.official-logo{width:66px;height:44px;object-fit:contain;background:#fff;border-radius:3px;padding:3px;flex-shrink:0}.portrait-placeholder{min-height:370px;display:grid;place-items:center;background:var(--surface)}.portrait-placeholder>div{font-size:130px;font-weight:800;font-style:italic;color:var(--pink)}.testimonial-author{display:flex;gap:14px;align-items:center}.testimonial-author img{width:48px;height:48px;border-radius:50%;object-fit:cover}.testimonial-author cite{font-size:12px}.page-gallery [data-gallery-category="Community"] .gallery-img img{object-position:center 35%}

.rally-bg{object-fit:cover}.hero-video-toggle{position:absolute;bottom:22px;left:32px;border:1px solid #ffffff80;background:#0a182990;color:#fff;border-radius:30px;padding:9px 14px;font-size:9px;font-weight:700;letter-spacing:.08em;z-index:2}.rally-credit{max-width:42%;text-align:right}.academy-video-section{margin-top:65px;border-top:1px solid var(--border);padding-top:45px}.academy-video-section p{font-size:14px}.academy-video-section video{display:block;width:100%;max-height:620px;aspect-ratio:16/9;background:#061323;object-fit:contain;border-radius:14px}.rally-hero{background-image:url(assets/academy/hero-poster.jpg);background-size:cover;background-position:center}@media(max-width:600px){.hero-video-toggle{left:20px;bottom:18px;font-size:8px;padding:8px 11px}.rally-credit{right:20px;bottom:20px;font-size:8px}.academy-video-section h2{font-size:30px}}

/* One navigation in the main header; no duplicate page strip. */
.header{gap:18px;padding-inline:24px}.header .brand{font-size:18px;gap:9px}.header .official-logo{width:54px;height:40px}.header #nav{display:flex;position:static;gap:12px;margin:auto;font-size:10px;flex:1;justify-content:center;background:var(--cream)}.header #nav a{white-space:nowrap}.header .nav-book{font-size:10px;padding:12px 14px;gap:8px}.header #nav a[aria-current=page]{color:var(--theme-text);box-shadow:0 2px var(--theme-text)}
@media(max-width:1180px){.header #nav{display:none}.header .menu-toggle{display:block;margin-left:auto}.header #nav.open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:absolute;top:100%;left:0;right:0;margin:0;padding:22px;gap:12px 24px;border-bottom:1px solid #d7e0e8;box-shadow:0 12px 24px #10243a15;z-index:20}.header #nav a{font-size:12px;padding:9px 0;min-height:40px}.header .nav-book{margin-left:auto}.header .menu-toggle{margin-left:0}}
@media(max-width:600px){.header{padding-inline:20px}.header .brand{font-size:18px}.header .menu-toggle{margin-left:auto}.header #nav.open{grid-template-columns:1fr 1fr;padding:20px;gap:8px 20px}}

/* Readable navigation on desktop and touch screens. */
@media(min-width:1181px){.header{display:grid;grid-template-columns:1fr auto;height:auto;min-height:126px;padding:16px 32px 0;gap:12px 28px}.header .brand{grid-column:1;grid-row:1;font-size:22px}.header .official-logo{width:64px;height:44px}.header .nav-book{grid-column:2;grid-row:1;font-size:13px;padding:13px 20px}.header #nav{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;width:100%;font-size:14px;gap:14px;border-top:1px solid #dce4ec;padding:14px 0;margin:0}.header #nav a{padding:4px 0}.header .menu-toggle{display:none}}
@media(max-width:1180px){.header #nav a{font-size:16px;min-height:48px;padding:10px 0}.header #nav.open{gap:8px 24px}}
/* Court booking */
.booking-layout {
  display: grid;
  grid-template-columns: minmax(205px,.68fr) minmax(0,1.65fr);
  gap: clamp(24px,5vw,70px);
  align-items: start;
}
.booking-layout > * { min-width: 0; }
.booking-details h2 { font-size: clamp(27px,3.2vw,42px); }
.court-rate-line {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 16px;
  border-bottom: 1px solid #ccd9e3;
  padding: 12px 0;
}
.booking-surface {
  padding: clamp(18px,3vw,36px);
  border: 1px solid #d5e0e9;
  border-radius: 16px;
  background: #fff;
  color: #10243a;
}
.booking-surface [hidden] { display: none !important; }
.booking-surface fieldset { min-width: 0; border: 0; padding: 0; margin: 0; }
.booking-surface legend, .booking-surface h3 { font-size: 22px; letter-spacing: -.02em; font-weight: 800; margin: 16px 0 6px; }
.booking-surface h3 small { display: inline-block; font-size: 14px; font-weight: 500; color: #455a70; letter-spacing: 0; }
.booking-surface label { display: block; font-size: 15px; letter-spacing: normal; line-height: 1.55; margin-top: 12px; }
.booking-surface input, .booking-surface select, .booking-surface textarea {
  display: block; width: 100%; min-width: 0; font: inherit; font-size: 16px;
  color: #10243a; background: #f5f8fb; border: 1px solid #a4b5c3; border-radius: 6px;
  padding: 10px 12px; margin: 6px 0 10px;
}
.booking-surface .booking-check { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; }
.booking-surface .booking-check input { flex: 0 0 20px; width: 20px; height: 20px; padding: 0; margin: 2px 0; accent-color: #153550; }
.booking-check a { font-size: inherit; }
.booking-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#booking-connection { font-size: 14px; color: #455a70; border-bottom: 1px solid #d8e2eb; padding-bottom: 12px; }
.booking-reference { padding: 18px; background: #eef4f9; border-radius: 8px; overflow-wrap: anywhere; font-size: 15px; }
.booking-reference strong { display: block; margin-top: 8px; }
.booking-surface .estimate { color: #10243a; border-color: #ccd9e3; }
.booking-surface .fine { font-size: 14px; line-height: 1.5; }
.booking-surface .form-error { color: #9c2531; }
.booking-surface .text-button { display: block; color: #173b59; min-height: 44px; font-size: 15px; }
.booking-surface .button:disabled { opacity: .58; cursor: not-allowed; }
#booking-result h2 { font-size: clamp(28px,4vw,40px); margin-top: 24px; }
.availability-panel { margin: 12px 0 24px; padding: 6px 0 16px; border-block: 1px solid #d8e2eb; }
#live-date { max-width: 230px; }
.booking-date-strip { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 6px; margin: 12px 0 24px; }
.date-choice, .slot-choice { min-width: 0; font-family: inherit; border-radius: 8px; text-align: center; line-height: 1.35; }
.date-choice { border: 1px solid #c4d3df; background: #f5f8fb; color: #10243a; padding: 9px 3px; font-size: 13px; min-height: 55px; }
.date-choice strong { display: block; font-size: 14px; }
.date-choice[aria-pressed=true], .slot-choice[aria-pressed=true] { background: #10243a; color: #c7f438; border-color: #10243a; }
#slot-status { color: #314c61; margin: 10px 0; min-height: 21px; }
.booking-slot-grid {
  display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,78px),1fr));
  gap: 6px; max-height: 350px; overflow-y: auto; padding: 4px; scroll-padding: 6px;
}
.slot-choice { border: 1px solid #798996; color: #485d71; background: #edf1f5; padding: 8px 2px; min-height: 56px; opacity: 1; }
.slot-choice strong, .slot-choice span { display: block; }
.slot-choice strong { font-size: 15px; }
.slot-choice span { font-size: 12px; }
.slot-choice[data-state=open]:not([aria-pressed=true]) { color: #204c24; border-color: #84a079; background: #f1f8e9; }
.slot-choice[data-state=booked] { color: #7f2d35; border-color: #bd9092; background: repeating-linear-gradient(135deg,#f6e5e5,#f6e5e5 4px,#fbefef 4px,#fbefef 8px); }
.slot-choice:disabled { cursor: not-allowed; }
.date-choice:focus-visible, .slot-choice:focus-visible { outline: 3px solid #2465a0; outline-offset: 1px; }
.big-price [data-live-rate] { font: inherit; font-size: clamp(25px,3vw,40px); letter-spacing: -.045em; color: inherit; }
@media (max-width: 850px) {
  .booking-layout { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .booking-details { grid-row: 2; }
}
@media (max-width: 650px) {
  .booking-surface .form-row { grid-template-columns: minmax(0,1fr); gap: 0; }
  .booking-date-strip { gap: 4px; }
  .date-choice strong { font-size: 13px; }
  .booking-slot-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 375px) {
  .booking-date-strip { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

.payment-demo{display:grid;grid-template-columns:1fr 220px;gap:25px;align-items:center;background:#f1f5fa;border:1px solid #cad7e3;border-radius:12px;padding:24px;margin:25px 0}.payment-demo h3{font-size:22px;margin:12px 0}.payment-demo p{font-size:14px}.payment-demo .payment-amount{font-size:32px;font-weight:700;color:#10243a;margin:12px 0}.payment-demo figure{margin:0;background:#fff;padding:12px;border-radius:9px}.payment-demo img{display:block;width:100%;height:auto}.payment-demo figcaption{font-size:10px;text-align:center;line-height:1.6;color:#526174;margin-top:8px}.demo-qr-label{font-size:11px;font-weight:800;background:#e1eaaa;border-radius:4px;padding:6px 9px;color:#223610}.court-rate-line small{font-size:12px}@media(max-width:650px){.payment-demo{grid-template-columns:1fr;padding:20px}.payment-demo figure{width:220px;max-width:100%;margin:auto}}
