@import url('assets/fonts/fonts.css');
@import url('assets/vendor/lenis.css');

[hidden] { display: none !important; }

:root{--bg:#090a0d;--panel:#111216;--card:#15161c;--line:#2a2c34;--white:#f6f5f1;--muted:#aeb0b9;--red:#ef4b51;--pink:#f06b70;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg) url('assets/images/5f069.svg') center top/100% 100%;color:var(--white);font-family:Sora,Arial,sans-serif;font-size:15px;line-height:1.85}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%;display:block}p{margin:0 0 22px;color:var(--muted)}h1,h2,h3,h4{font-family:Anton,Impact,sans-serif;font-weight:400;line-height:1.18;margin:0;text-transform:uppercase;letter-spacing:.005em}h2{font-size:62px}h3{font-size:29px}h4{font-size:22px}::selection{background:var(--red);color:white}:focus-visible{outline:2px solid var(--pink);outline-offset:6px}button:disabled{cursor:not-allowed}.container{width:calc(100% - 160px);max-width:1280px;margin-inline:auto}.section{padding:100px 0}.panel-section{background:var(--panel)}.accent{color:var(--red)}.eyebrow{font-size:12px;line-height:1.6;font-weight:700;text-transform:uppercase;letter-spacing:1.6px;color:var(--red);margin:0 0 22px}.section-heading{margin-bottom:46px}.section-heading h2 span{margin-left:28px}.section-heading>p:last-child{margin:20px 0 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.muted{color:var(--muted)}.small{font-size:12px}.skip-link{position:fixed;z-index:1000;top:12px;left:16px;padding:12px 24px;background:var(--white);color:var(--bg);transform:translateY(-180%)}.skip-link:focus{transform:none}.arrow{display:inline-flex;flex:0 0 auto;transition:transform .35s var(--ease)}.arrow img{max-width:none}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:16px 24px;min-height:56px;background:var(--red);border:1px solid transparent;border-radius:30px;color:var(--white);font-size:13px;font-weight:700;line-height:1.4;text-transform:uppercase;position:relative;isolation:isolate;transition:transform .35s var(--ease),box-shadow .35s,background .35s}.btn:hover{background:#f65b60;box-shadow:0 0 28px #ef4b5135;transform:translateY(-3px)}.btn:hover .arrow,.text-link:hover .arrow{transform:translate(3px,-3px)}.btn-light{background:var(--white);color:var(--bg)}.btn-light:hover{background:white;box-shadow:0 0 28px #ffffff26}.btn-outline{background:transparent;border-color:#555761}.btn-outline:hover{background:#ef4b5110;border-color:var(--red)}.button-row{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;font-size:14px;font-weight:700;line-height:1.5;text-transform:uppercase;transition:color .3s}.text-link:hover{color:var(--pink)}
/* Navigation preserves the approved five-item header; dropdowns expose the full brief. */
.site-header{height:112px;background:var(--bg) url('assets/images/67801.svg') center/100% 100%;position:relative;z-index:30}.nav-shell{max-width:1312px;width:calc(100% - 128px);height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{width:286px;height:78px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;border-radius:8px;overflow:hidden}.brand img{width:272px;height:92px;object-fit:contain}.primary-nav{display:flex;align-items:center;gap:36px}.nav-item{position:relative;display:flex;align-items:center;gap:5px}.nav-link{font-size:13px;color:var(--muted);padding:28px 0;white-space:nowrap;position:relative}.nav-link:after{content:'';position:absolute;bottom:15px;left:50%;width:5px;height:5px;border-radius:50%;background:var(--red);transform:scale(0);transition:transform .25s}.nav-link:hover,.nav-link[aria-current=page]{color:var(--white)}.nav-link[aria-current=page]{font-weight:700}.nav-link:hover:after,.nav-link[aria-current=page]:after{transform:scale(1)}.submenu-toggle{border:0;background:none;padding:8px 2px;color:var(--muted);font-size:12px}.dropdown{position:absolute;top:calc(100% - 6px);left:-24px;min-width:224px;padding:12px;background:#15161c;border:1px solid var(--line);border-top-color:var(--red);border-radius:6px;box-shadow:0 16px 48px #0008;display:none}.dropdown a{display:block;font-size:12px;padding:10px 12px;border-radius:3px;color:var(--muted)}.dropdown a:hover,.dropdown a[aria-current=page]{color:var(--white);background:#ffffff09}.nav-item.is-open .dropdown{display:block}.nav-cta{min-width:214px}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:6px;padding:10px 13px;font-size:12px}.menu-toggle span{display:block;width:20px;height:2px;background:var(--white);margin:4px 0}
/* Approved homepage */
.hero{height:860px;position:relative;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-shade{background-image:url('assets/images/81de5.svg'),url('assets/images/fdb84.svg');background-size:100% 100%;pointer-events:none}.hero .container{position:relative;height:100%;padding-top:78px}.hero .eyebrow{color:var(--white);display:flex;align-items:center;gap:18px;margin-bottom:24px;letter-spacing:.4px}.hero .eyebrow:before{content:'';width:32px;height:2px;background:var(--red) url('assets/images/908e4.svg')}.hero h1{font-size:108px;line-height:1.14;letter-spacing:0}.hero h1 span{display:block}.hero-copy{font-size:18px;line-height:1.72;color:#d2d3da;margin:24px 0 66px}.hero-tagline{position:absolute;bottom:35px;left:0;font-size:12px;letter-spacing:.45px;color:var(--muted);margin:0}.hero-badge{position:absolute;right:0;bottom:70px;width:250px;padding:23px;background:var(--card);border-radius:8px}.hero-badge p{font-size:12px;color:var(--pink);font-weight:700;margin:0 0 14px}.hero-badge h3{font-size:26px}.sports-ribbon{height:72px;background:url('assets/images/fc944.svg') center/100% 100%;border-block:1px solid #2b2c33}.sports-ribbon .container{display:flex;align-items:center;justify-content:space-between;height:100%}.sports-ribbon a,.sports-ribbon span{font-family:Anton,Impact,sans-serif;font-size:22px;white-space:nowrap}.sports-ribbon i{width:7px;height:7px;background:url('assets/images/a0dca.svg') center/contain}.sports-ribbon a:hover{color:var(--pink)}.welcome{padding:98px 0 48px}.welcome .split{grid-template-columns:1.18fr 1fr;gap:128px;align-items:start}.welcome h2{font-size:63px;line-height:1.18}.welcome-copy{padding-top:44px;max-width:410px;font-size:16px;line-height:1.85}.welcome-copy .text-link{margin-top:13px}.facts{display:grid;grid-template-columns:repeat(4,1fr);justify-content:space-between;border-top:1px solid var(--line);padding-top:38px;margin-top:70px}.facts strong{display:block;font-family:Anton,Impact,sans-serif;font-weight:400;font-size:66px;line-height:1.25;color:var(--red)}.facts p{font-size:12px;font-weight:700;letter-spacing:.6px;margin:16px 0 0}.facts>div:last-child{text-align:right}.services{padding:80px 0 64px;background:var(--panel) url('assets/images/c8bda.svg') center/100% 100%}.services-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:58px}.services-heading p{margin:0 140px 0 0;font-size:14px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px}.service-card{position:relative;border:1px solid var(--line);border-radius:8px;background:var(--card);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s}.card-image{height:232px;overflow:hidden;position:relative}.card-image:after{content:'';position:absolute;inset:0;background:url('assets/images/80805.svg') center/100% 100%;pointer-events:none}.card-image img{height:100%;width:100%;object-fit:cover;transition:transform .8s var(--ease)}.card-body{padding:24px 25px}.card-body .eyebrow{color:var(--pink);margin-bottom:9px;letter-spacing:.7px}.card-body h3{font-size:29px;margin-bottom:16px}.card-body>p:not(.eyebrow){font-size:13px;line-height:1.78;margin-bottom:23px;min-height:70px;max-width:325px}.card-body .text-link{border-top:1px solid var(--line);padding-top:23px;width:100%;font-size:13px}.service-card:hover .card-image img{transform:scale(1.055)}.service-card:hover{transform:translateY(-5px);box-shadow:0 14px 35px #0004}.service-card:focus-within{border-color:var(--red)}
@property --border-angle{syntax:'<angle>';initial-value:0deg;inherits:false}.glow-card{position:relative;isolation:isolate}.glow-card:after{content:'';position:absolute;inset:0;z-index:3;border-radius:inherit;padding:1px;background:conic-gradient(from var(--border-angle),transparent 0deg,transparent 225deg,#ef4b5133 260deg,#ef4b51 290deg,#ffc0c4 315deg,transparent 345deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;opacity:0;pointer-events:none;transition:opacity .35s;animation:border-orbit 3s linear infinite;animation-play-state:paused}.glow-card:hover:after,.glow-card:focus-within:after{opacity:1;animation-play-state:running}@keyframes border-orbit{to{--border-angle:360deg}}.service-bottom{margin-top:58px;display:flex;justify-content:space-between;align-items:center;padding:0 14px}.service-bottom p{margin:0;font-size:12px}.service-bottom .text-link{color:var(--pink)}.facility-highlight{padding:116px 0 100px}.facility-highlight .split{gap:78px;grid-template-columns:594fr 608fr}.feature-image{height:700px;position:relative;border-radius:8px;overflow:hidden}.feature-image>img{width:100%;height:100%;object-fit:cover;object-position:55%}.feature-image:after{content:'';position:absolute;inset:0;background:url('assets/images/99f39.svg') center/100% 100%;pointer-events:none}.image-caption{position:absolute;left:30px;right:24px;bottom:30px;z-index:1}.image-caption p{font-size:12px;color:var(--white);font-weight:700;letter-spacing:.5px;margin-bottom:15px}.image-caption h3{font-size:30px}.facility-copy>p:not(.eyebrow){font-size:15px;margin:28px 0 50px;max-width:460px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:55px}.feature-tile{border:1px solid var(--line);border-radius:6px;padding:20px;background:var(--card);min-height:140px}.feature-tile>img{margin-bottom:12px}.feature-tile h4{font-size:18px;margin-bottom:12px}.feature-tile p{font-size:12px;line-height:1.7;margin:0}.gallery-section{padding:76px 0 88px;background:var(--panel) url('assets/images/b2e08.svg') center/100% 100%}.gallery-grid{display:grid;grid-template-columns:2.08fr 1fr 1fr;grid-template-rows:226px 226px;gap:22px}.gallery-item{border:0;background:transparent;padding:0;position:relative;overflow:hidden;border-radius:8px;text-align:left}.gallery-item:first-child{grid-row:span 2}.gallery-item>img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s}.gallery-item:hover>img{transform:scale(1.04);filter:brightness(1.13)}.gallery-item:first-child:after{content:'';position:absolute;inset:0;background:url('assets/images/eb485.svg') center/100% 100%}.gallery-item .image-caption{bottom:20px}.gallery-item .image-caption h3{font-size:25px}.gallery-item .image-caption p{margin-bottom:9px}.gallery-label{font-size:12px;letter-spacing:.4px;margin:42px 0 0}.membership-section{padding:100px 0 0}.membership-panel{padding:60px 44px 64px;background:var(--card);border-radius:20px;display:grid;grid-template-columns:1.12fr 1fr;gap:70px;align-items:center;min-height:510px}.membership-panel h2{font-size:60px}.membership-panel p:not(.eyebrow){font-size:15px;margin:24px 0 38px;max-width:475px}.membership-steps{border-left:1px solid var(--line);padding-left:44px;display:grid;gap:48px}.numbered-step{display:grid;grid-template-columns:22px 1fr;gap:20px}.numbered-step>span{color:var(--pink);font-size:12px;font-weight:700;padding-top:4px}.numbered-step h3{font-size:24px}.numbered-step p{font-size:12px!important;margin:16px 0 0!important}.booking-steps{padding:130px 0 95px}.booking-steps h2{font-size:48px}.three-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:46px}.step{border-top:1px solid var(--line);padding-top:23px}.step .eyebrow{color:var(--pink);margin-bottom:24px}.step h3{font-size:27px;margin-bottom:16px}.step p{font-size:12px;margin:0}.faq-section{padding:78px 0 110px;background:var(--panel) url('assets/images/5e574.svg') center/100% 100%}.faq-layout{display:grid;grid-template-columns:.7fr 1fr;gap:55px}.faq-intro>p:not(.eyebrow){margin:30px 0 45px;font-size:15px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;padding:30px 0;display:flex;justify-content:space-between;align-items:center;gap:30px;cursor:pointer;font-size:15px;line-height:1.7}.faq-list details:first-child summary{padding-top:0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:25px;color:var(--red);font-weight:400;flex:0 0 20px}.faq-list details[open] summary:after{content:'−'}.faq-list details[open] summary{font-weight:700}.faq-list details p{font-size:14px;line-height:1.9;max-width:590px;margin:8px 0 38px}.contact-band{padding:82px 0 88px}.contact-panel{display:grid;grid-template-columns:.6fr 1fr;gap:65px;border:1px solid var(--line);border-radius:12px;padding:44px 40px;background:var(--panel)}.contact-panel h2{font-size:51px}.contact-panel>div>p:not(.eyebrow){font-size:14px;line-height:2;margin-bottom:30px}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-option{border:1px solid var(--line);background:#17181e;padding:22px;border-radius:6px}.contact-option>img{margin-bottom:24px}.contact-option small{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:10px}.contact-option strong{font-size:22px;font-weight:400}.contact-option.email strong{font-size:13px;overflow-wrap:anywhere}.closing{position:relative;height:420px;overflow:hidden;background:url('assets/images/0dfb8.png') center/cover}.closing:before{content:'';position:absolute;inset:0;background:url('assets/images/fdf5d.svg') center/100% 100%}.closing .container{position:relative;padding-top:55px}.closing .eyebrow{color:var(--white);margin-bottom:18px}.closing h2{font-size:72px;line-height:1.16;margin-bottom:30px}.site-footer{background:var(--bg) url('assets/images/553ff.svg') center/100% 100%;padding-top:74px}.footer-grid{display:grid;grid-template-columns:360px 1fr 1.05fr 1fr;gap:94px;padding-bottom:60px}.footer-brand{padding:20px 26px;background:transparent;border-radius:10px;min-height:205px}.footer-brand img{width:310px;height:92px;object-fit:contain}.footer-brand p{font-size:12px;line-height:1.9;color:var(--muted);margin:18px 0 0}.social-links{display:flex;gap:18px;margin:32px 7px 0}.social-links button{background:none;border:none;padding:0;opacity:.8}.social-links button:hover{opacity:1}.social-f{position:relative}.social-f span{position:absolute;inset:0;display:grid;place-items:center;color:var(--bg);font-size:18px;font-weight:700}.footer-col .eyebrow{color:var(--pink);margin:5px 0 26px;letter-spacing:.8px}.footer-col a,.footer-col button{display:block;color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:18px;background:none;border:0;padding:0;text-align:left}.footer-col a:hover,.footer-col button:hover{color:var(--white)}.footer-col .footer-phone{font-size:18px;color:var(--white);font-weight:700;white-space:nowrap}.footer-col .footer-email{overflow-wrap:anywhere}.footer-col small{font-size:12px;color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;font-size:12px;color:var(--muted)}.footer-bottom p{margin:0}.footer-bottom .credit{color:var(--white);font-size:12px}.footer-bottom a:hover{color:var(--white)}
/* Inner pages share the Figma type, imagery, spacing, and surfaces. */
.inner-hero{min-height:570px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--panel)}.inner-hero .hero-media img{object-position:center 42%}.inner-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#090a0df5 5%,#090a0dd6 40%,#090a0d35),linear-gradient(0deg,#090a0d,transparent 40%)}.inner-hero .container{position:relative;z-index:1;padding-block:66px}.breadcrumb{font-size:12px;display:flex;gap:15px;color:var(--muted);margin-bottom:48px}.breadcrumb a:hover{color:var(--white)}.breadcrumb span:last-child{color:var(--white)}.inner-hero h1{font-size:80px;max-width:850px;line-height:1.12}.inner-hero .intro{max-width:590px;font-size:16px;line-height:1.9;margin:27px 0 30px}.inner-hero .eyebrow{margin-bottom:16px}.inner-copy h2{font-size:52px;margin-bottom:28px}.inner-copy p{max-width:590px}.inner-photo{width:100%;height:540px;object-fit:cover;border-radius:10px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.info-card{border:1px solid var(--line);border-radius:8px;background:var(--card);padding:34px;display:flex;flex-direction:column}.info-card .eyebrow{color:var(--pink)}.info-card h3{margin-bottom:20px}.info-card p{font-size:13px}.info-card .text-link{margin-top:auto;padding-top:20px;font-size:12px}.check-list{list-style:none;padding:0;margin:24px 0 36px}.check-list li{padding:12px 0 12px 24px;position:relative;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.check-list li:before{content:'+';position:absolute;left:0;color:var(--red);font-weight:700}.notice{border-left:3px solid var(--red);background:#ef4b5109;padding:20px 24px;margin:32px 0;font-size:13px;color:var(--muted);line-height:1.9}.notice strong{color:var(--white)}.rate{font-family:Anton,Impact,sans-serif;font-size:36px;color:var(--white);margin:10px 0!important}.rate small{font:13px Sora,Arial,sans-serif;color:var(--muted);display:block;margin-top:13px}.pricing-card .btn{margin-top:auto;font-size:12px}.pricing-card.featured{border-color:var(--red)}.pricing-note{font-size:12px;margin:26px 0 0}.page-tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:35px}.page-tabs a{border:1px solid var(--line);padding:10px 20px;border-radius:25px;font-size:12px}.page-tabs a:hover{border-color:var(--red);background:#ef4b5111}.booking-layout,.contact-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:start}.form-panel,.summary-panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:38px}.form-panel h2,.summary-panel h2{font-size:32px;margin-bottom:24px}.form-panel fieldset{padding:0;border:0;margin:0 0 32px}.form-panel legend{font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:18px;letter-spacing:.5px}.sport-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sport-option{position:relative}.sport-option input{position:absolute;opacity:0}.sport-option span{display:block;border:1px solid #444650;border-radius:6px;padding:18px 10px;text-align:center;font-size:12px;cursor:pointer;transition:background .2s,border-color .2s}.sport-option input:checked+span{border-color:var(--red);background:#ef4b5112;color:var(--pink)}.sport-option input:focus-visible+span{outline:2px solid var(--white);outline-offset:3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:9px;font-size:12px;color:var(--muted);margin-bottom:22px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{background:var(--bg);border:1px solid #41434d;color:var(--white);border-radius:5px;padding:13px 14px;width:100%;min-width:0;font-size:13px;color-scheme:dark}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:1px solid var(--red);border-color:var(--red)}.field-help{font-size:12px;line-height:1.7;margin-top:-10px}.summary-list{margin:0}.summary-list>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:15px 0;font-size:13px}.summary-list dt{color:var(--muted)}.summary-list dd{margin:0;text-align:right}.summary-panel .btn{width:100%;margin-top:25px}.summary-panel .notice{margin-bottom:0}.form-status{margin:22px 0 0;color:var(--pink);font-size:13px}.contact-details{display:grid;gap:20px}.contact-details .info-card{padding:28px}.contact-details h3{font-size:24px}.contact-details a{overflow-wrap:anywhere}.contact-details p:last-child{margin:0}.rules-list{display:grid;grid-template-columns:1fr 1fr;gap:25px 60px;counter-reset:rule;padding:0;list-style:none}.rules-list li{position:relative;padding-left:46px;color:var(--muted);font-size:14px}.rules-list li:before{counter-increment:rule;content:counter(rule,decimal-leading-zero);position:absolute;left:0;color:var(--red);font-family:Anton;font-size:25px}.rules-list strong{display:block;color:var(--white);margin-bottom:8px}.legal-copy{max-width:820px}.legal-copy h2{font-size:30px;margin:38px 0 20px}.lightbox,.info-dialog{border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--white);padding:24px;max-width:min(1000px,92vw);max-height:92vh}.lightbox::backdrop,.info-dialog::backdrop{background:#000d;backdrop-filter:blur(8px)}.lightbox img{max-height:70vh;max-width:100%;margin:auto;object-fit:contain}.lightbox-caption{margin:18px 0 0;font-size:13px}.dialog-close{display:block;margin:0 0 18px auto;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;background:var(--card);font-size:24px;line-height:1}.info-dialog{max-width:480px;padding:32px}.info-dialog h2{font-size:32px;margin-bottom:20px}.info-dialog p{font-size:14px}.info-dialog .btn{margin-top:10px;font-size:12px}
@media(min-width:1600px){.hero-media img{object-position:center 45%}}
@media(max-width:1250px){.container{width:calc(100% - 96px)}.nav-shell{width:calc(100% - 64px);gap:22px}.brand{width:230px;height:68px}.brand img{width:220px}.primary-nav{gap:20px}.nav-cta{min-width:170px;gap:15px;padding:16px 20px}.footer-grid{grid-template-columns:300px 1fr 1fr 1fr;gap:45px}.split{gap:50px}.welcome .split{gap:55px}.services-heading p{margin-right:0}.section-heading h2 span{margin-left:14px}h2,.welcome h2{font-size:54px}.facility-highlight .split{gap:48px}.card-body{padding:22px}.card-body h3{font-size:25px}.card-body .text-link{font-size:12px}.membership-panel{gap:35px}.membership-panel h2{font-size:50px}.contact-panel{gap:35px}.contact-options{gap:15px}.contact-option{padding:18px}.contact-option strong{font-size:18px}}
@media(max-width:1024px){.site-header{height:96px}.nav-shell{gap:20px}.brand{width:236px}.menu-toggle{display:block;margin-left:auto}.primary-nav{display:none;position:absolute;top:96px;left:0;right:0;background:#111216;border-bottom:1px solid var(--line);padding:20px 48px;max-height:calc(100dvh - 96px);overflow-y:auto}.primary-nav.is-open{display:block}.nav-item{display:flex;flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid var(--line)}.nav-link{font-size:15px;padding:17px 0}.nav-link:after{display:none}.submenu-toggle{padding:20px;font-size:15px}.dropdown{position:static;flex:0 0 100%;border:0;border-radius:0;box-shadow:none;margin-bottom:14px}.nav-cta{min-width:175px}.hero h1{font-size:95px}.hero{height:820px}.hero .container{padding-top:70px}.hero-copy{margin-bottom:48px}.hero-badge{bottom:35px}.hero-tagline{max-width:300px}.sports-ribbon a,.sports-ribbon span{font-size:18px}.section{padding:75px 0}.welcome{padding-top:75px}.welcome h2{font-size:46px}.welcome-copy{font-size:14px;padding-top:35px}.facts{margin-top:48px}.facts p{font-size:12px}.services-heading{display:block}.services-heading p{margin-top:22px}.card-grid{grid-template-columns:repeat(2,1fr)}.card-body>p:not(.eyebrow){min-height:70px}.feature-image{height:620px}.facility-highlight .split{gap:35px}.facility-copy h2{font-size:48px}.facility-copy>p:not(.eyebrow){margin:24px 0}.feature-grid{gap:12px;margin-bottom:30px}.feature-tile{padding:14px}.feature-tile h4{font-size:16px}.gallery-grid{grid-template-rows:180px 180px;gap:16px}.gallery-item .image-caption h3{font-size:20px}.membership-panel{padding:40px 32px;gap:30px}.membership-panel h2{font-size:43px}.membership-panel p:not(.eyebrow){font-size:13px}.membership-steps{padding-left:25px}.numbered-step{gap:12px}.numbered-step h3{font-size:21px}.booking-steps{padding:90px 0}.booking-steps h2{font-size:42px}.three-steps{gap:30px}.step h3{font-size:23px}.faq-layout{grid-template-columns:.7fr 1fr;gap:45px}.faq-intro h2{font-size:50px}.contact-panel{grid-template-columns:1fr}.contact-options{gap:24px}.contact-panel h2 br{display:none}.contact-panel h2 span{margin-left:10px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:35px}.footer-grid>.footer-col:last-child{grid-column:2/4;display:flex;flex-wrap:wrap;gap:15px 30px}.footer-grid>.footer-col:last-child .eyebrow{width:100%;margin:0}.footer-grid>.footer-col:last-child a{margin:0}.footer-brand{min-height:190px}.footer-bottom{flex-wrap:wrap;padding:22px 0;gap:12px}.inner-hero h1{font-size:68px}.inner-copy h2{font-size:43px}.inner-photo{height:490px}.info-card{padding:25px}.info-card h3{font-size:24px}.booking-layout,.contact-layout{grid-template-columns:1.2fr 1fr;gap:25px}.form-panel,.summary-panel{padding:26px}.form-grid{gap:14px}.sport-options{grid-template-columns:1fr}.sport-option span{padding:12px}.sport-options{gap:8px}.contact-details .info-card{padding:23px}}
@media(max-width:767px){.container{width:calc(100% - 40px)}h2{font-size:42px}.site-header{height:86px}.nav-shell{width:calc(100% - 32px);gap:12px}.brand{width:180px;height:56px}.brand img{width:174px;height:65px}.nav-cta{min-width:0;padding:12px 14px;min-height:44px;font-size:12px;gap:10px}.nav-cta .arrow{display:none}.menu-toggle{order:3;padding:8px 10px}.primary-nav{top:86px;padding:14px 24px;max-height:calc(100dvh - 86px)}.hero{height:780px}.hero-media img{object-position:64% center}.hero-shade{background:linear-gradient(90deg,#090a0dd9,#090a0d60),linear-gradient(0deg,#090a0d,transparent 60%)}.hero .container{padding-top:60px}.hero .eyebrow{font-size:12px;gap:12px;margin-bottom:24px}.hero h1{font-size:clamp(60px,12vw,88px);line-height:1.13}.hero-copy{font-size:14px;line-height:1.9;margin:28px 0 30px}.hero .button-row{gap:12px;align-items:flex-start;flex-direction:column}.btn{font-size:12px;min-height:50px;padding:15px 20px;gap:24px}.hero-badge{width:180px;bottom:30px;padding:15px}.hero-badge p{font-size:12px;letter-spacing:0;margin-bottom:8px}.hero-badge h3{font-size:19px}.hero-tagline{font-size:12px;max-width:140px;bottom:41px;line-height:1.7}.sports-ribbon{height:auto;padding:20px 0}.sports-ribbon .container{justify-content:center;flex-wrap:wrap;gap:12px 20px}.sports-ribbon a,.sports-ribbon span{font-size:16px}.sports-ribbon i{width:5px;height:5px}.sports-ribbon i:nth-of-type(3){display:none}.split,.welcome .split{grid-template-columns:1fr;gap:32px}.welcome{padding:64px 0 48px}.welcome h2{font-size:44px}.welcome-copy{padding:0;max-width:none;font-size:14px}.welcome-copy .text-link{font-size:12px;margin-top:5px}.facts{grid-template-columns:1fr 1fr;gap:32px 20px;margin-top:44px;padding-top:28px}.facts>div:last-child{text-align:left}.facts strong{font-size:54px}.facts p{font-size:12px;margin-top:10px}.services{padding:64px 0 45px}.section-heading{margin-bottom:30px}.section-heading h2 span{display:block;margin-left:0}.services-heading{margin-bottom:34px}.services-heading h2{font-size:42px}.services-heading p{font-size:13px}.card-grid{grid-template-columns:1fr;gap:24px}.card-image{height:auto;aspect-ratio:410/232}.card-body{padding:25px}.card-body h3{font-size:29px}.card-body>p:not(.eyebrow){min-height:0;max-width:none;font-size:13px}.card-body .text-link{font-size:12px}.service-bottom{margin-top:35px;display:block;padding:0}.service-bottom .text-link{margin-top:22px;font-size:12px;gap:40px}.facility-highlight{padding:70px 0}.facility-highlight .split{grid-template-columns:1fr;gap:44px}.feature-image{height:480px}.image-caption{left:22px;bottom:24px}.image-caption h3{font-size:26px}.facility-copy h2{font-size:48px}.facility-copy>p:not(.eyebrow){font-size:14px;margin-bottom:30px}.feature-grid{gap:14px}.feature-tile{padding:18px}.feature-tile h4{font-size:18px}.gallery-section{padding:65px 0}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:14px}.gallery-item{aspect-ratio:4/3}.gallery-item:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:1.3}.gallery-item .image-caption h3{font-size:24px}.gallery-item .image-caption p{font-size:12px}.gallery-label{font-size:12px;margin-top:28px}.membership-section{padding-top:65px}.membership-panel{padding:32px 25px;grid-template-columns:1fr;gap:40px;border-radius:12px}.membership-panel h2{font-size:42px}.membership-panel p:not(.eyebrow){font-size:13px;margin:24px 0 28px}.membership-steps{border-left:0;border-top:1px solid var(--line);padding:32px 0 0;gap:30px}.numbered-step{gap:16px}.numbered-step h3{font-size:24px}.booking-steps{padding:75px 0}.booking-steps h2{font-size:38px}.three-steps{grid-template-columns:1fr;gap:30px;margin-top:34px}.step .eyebrow{margin-bottom:16px}.step h3{font-size:26px}.faq-section{padding:65px 0}.faq-layout{grid-template-columns:1fr;gap:45px}.faq-intro h2{font-size:48px}.faq-intro>p:not(.eyebrow){margin:24px 0}.faq-list summary{font-size:13px;padding:25px 0}.faq-list details p{font-size:12px}.contact-band{padding:65px 0}.contact-panel{padding:30px 23px;gap:30px}.contact-panel h2{font-size:40px}.contact-panel h2 br{display:block}.contact-panel h2 span{margin:0}.contact-panel>div>p:not(.eyebrow){font-size:13px}.contact-options{grid-template-columns:1fr;gap:16px}.contact-option{padding:22px}.contact-option>img{margin-bottom:16px}.contact-option strong{font-size:22px}.closing{height:390px;background-position:63% center}.closing h2{font-size:60px}.closing .container{padding-top:52px}.site-footer{padding-top:55px}.footer-grid{grid-template-columns:1fr 1fr;gap:38px 24px;padding-bottom:32px}.footer-brand-wrap{grid-column:1/-1;max-width:360px}.footer-brand{min-height:190px}.footer-grid>.footer-col:last-child{grid-column:1/-1;display:block}.footer-grid>.footer-col:last-child .eyebrow{margin:0 0 20px}.footer-grid>.footer-col:last-child a{margin-bottom:16px}.footer-col .eyebrow{font-size:12px}.footer-col a,.footer-col button{font-size:12px}.footer-bottom{font-size:12px;justify-content:flex-start;gap:12px 30px}.footer-bottom .credit{width:100%;font-size:12px}.inner-hero{min-height:550px}.inner-hero .container{padding-block:40px}.breadcrumb{margin-bottom:40px;font-size:12px}.inner-hero h1{font-size:55px}.inner-hero .intro{font-size:14px}.inner-hero:after{background:linear-gradient(90deg,#090a0dea,#090a0d75),linear-gradient(0deg,#090a0d,transparent)}.section{padding:65px 0}.inner-copy h2{font-size:40px}.inner-photo{height:400px}.info-grid{grid-template-columns:1fr}.info-card{padding:28px}.info-card h3{font-size:29px}.rules-list{grid-template-columns:1fr;gap:28px}.booking-layout,.contact-layout{grid-template-columns:1fr}.form-panel,.summary-panel{padding:25px}.form-grid{grid-template-columns:1fr;gap:0}.sport-options{grid-template-columns:repeat(3,1fr)}.sport-option span{font-size:12px;padding:15px 6px}.form-panel h2,.summary-panel h2{font-size:30px}.notice{padding:18px;font-size:12px}.lightbox{padding:15px}.page-tabs{gap:8px}.page-tabs a{padding:9px 13px;font-size:12px}}
@media(max-width:380px){.brand{width:150px;height:52px}.brand img{width:145px}.nav-cta{font-size:12px;padding:11px}.hero h1{font-size:58px}.hero-copy{font-size:12px}.hero-badge{width:165px}.hero-tagline{max-width:115px}.feature-tile{padding:13px}.feature-tile h4{font-size:16px}.membership-panel h2{font-size:37px}.inner-hero h1{font-size:48px}.sport-options{grid-template-columns:1fr}}
@media(max-width:767px){.nav-cta{white-space:nowrap;font-size:12px;padding-inline:12px}.brand{width:170px}.brand img{width:164px}.membership-steps{border-image-width:1px 0 0}}
@media(max-width:380px){.nav-shell{gap:8px}.brand{width:138px}.brand img{width:134px}.nav-cta{font-size:12px;padding-inline:10px}.hero-badge{width:180px;bottom:65px}.hero-tagline{bottom:23px;max-width:none;width:100%;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.glow-card:hover:after{--border-angle:290deg}}

/* One rounded surface per component. Images, gradients, and glow use its clip. */
:root {
  --radius-card: 20px;
  --radius-panel: 20px;
  --radius-small: 16px;
  --muted: #bdc0ca;
}
.service-card, .info-card, .form-panel, .summary-panel {
  border-radius: var(--radius-card);
}
.feature-tile, .contact-option, .hero-badge {
  border-radius: var(--radius-small);
}
.contact-panel, .membership-panel {
  border-radius: var(--radius-panel);
  overflow: hidden;
}
.membership-panel { border: 1px solid var(--line); }
.service-card {
  display: flex;
  flex-direction: column;
  transition: translate .45s var(--ease), box-shadow .5s;
}
.service-card:hover { transform: none; translate: 0 -5px; }
.card-image { flex-shrink: 0; border-radius: 0; }
.card-body { display: flex; flex: 1; flex-direction: column; }
.card-body > p:not(.eyebrow) { min-height: 0; max-width: none; }
.card-body .text-link { margin-top: auto; }
.feature-image, .gallery-item, .inner-photo { border-radius: var(--radius-card); }
.feature-image:after, .gallery-item:after { border-radius: inherit; }
.glow-card { --glow-radius: var(--radius-card); }
.feature-tile.glow-card, .contact-option.glow-card { --glow-radius: var(--radius-small); }
.membership-panel.glow-card { --glow-radius: var(--radius-panel); }
.glow-card:after {
  /* Keep the traveling highlight inside the overflow clip, following its inner curve. */
  inset: 0;
  border-radius: calc(var(--glow-radius) - 1px);
  padding: 2px;
}
.feature-tile, .contact-option, .info-card { overflow: hidden; }
.brand, .footer-brand { background-color: transparent; }

/* Readable supporting type at every viewport size. */
.eyebrow, .card-body .eyebrow, .footer-col .eyebrow {
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: 1.2px;
}
.nav-link { font-size: 14px; }
.dropdown a { font-size: 14px; padding: 12px; }
.card-body > p:not(.eyebrow), .info-card p, .check-list li {
  font-size: 15px;
  line-height: 1.8;
}
.card-body h3, .info-card h3 { font-size: 30px; line-height: 1.25; }
.card-body .text-link, .info-card .text-link, .pricing-card .btn { font-size: 13px; }
.feature-tile { padding: 22px; min-height: 172px; }
.feature-tile h4 { font-size: 23px; line-height: 1.3; margin-bottom: 12px; }
.feature-tile p { font-size: 14px; line-height: 1.8; }
.numbered-step p { font-size: 14px !important; line-height: 1.8; }
.numbered-step > span { font-size: 13px; }
.step p, .service-bottom p, .section-heading > p, .small,
.notice, .pricing-note, .field-help, .contact-panel > div > p:not(.eyebrow) {
  font-size: 14px;
  line-height: 1.8;
}
.facts p, .gallery-label, .image-caption p, .contact-option small,
.hero-badge p, .footer-col small, .footer-bottom, .footer-bottom .credit,
.gallery-item .image-caption p, .breadcrumb {
  font-size: 12px;
  line-height: 1.8;
}
.facts p { max-width: 240px; }
.facts > div:last-child p { margin-left: auto; }
.contact-option.email strong { font-size: 15px; line-height: 1.7; }
.footer-col a, .footer-col button { font-size: 14px; line-height: 1.8; }
.footer-col .footer-phone { font-size: 18px; }
.footer-brand p { font-size: 14px; }
.faq-list summary { font-size: 16px; }
.faq-list details p { font-size: 15px; }
.pricing-card .rate {
  font-family: Anton, Impact, sans-serif;
  font-size: 36px;
  line-height: 1.25;
  margin: 12px 0 0 !important;
}
.pricing-card .rate small {
  font-family: Sora, Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: .3px;
  margin-top: 16px;
}
.form-panel legend, .field, .summary-list > div { font-size: 14px; }
.field input, .field select, .field textarea { font-size: 16px; }
.sport-option span { font-size: 13px; }
.page-tabs a, .form-status, .lightbox-caption { font-size: 14px; }
.hero .eyebrow { font-size: 12px; }
.hero-tagline { font-size: 12px; line-height: 1.7; }
.hero-badge { width: 265px; }

/* A single chevron rotates up whenever its submenu is open. */
.submenu-toggle {
  display: grid;
  place-items: center;
  flex: 0 0 28px;
  width: 28px;
  height: 36px;
  padding: 0;
  border-radius: 6px;
  color: #d2d4db;
  transition: background .2s, color .2s;
}
.submenu-toggle:hover, .submenu-toggle[aria-expanded="true"] {
  color: var(--white);
  background: #ffffff08;
}
.nav-chevron {
  display: block;
  transition: transform .3s var(--ease);
  transform-origin: center;
}
.submenu-toggle[aria-expanded="true"] .nav-chevron { transform: rotate(180deg); }
.dropdown { top: 100%; min-width: 236px; border-radius: 12px; }
.nav-item.is-open .dropdown { animation: menu-enter .22s var(--ease) both; }
@keyframes menu-enter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.scroll-locked { overflow: hidden; }
html.lenis, html.lenis body { scroll-behavior: auto; }
.primary-nav, dialog, textarea { overscroll-behavior: contain; }

@media (max-width: 1250px) {
  .primary-nav { gap: 16px; }
  .nav-item { gap: 1px; }
  .feature-tile { padding: 18px; }
  .feature-tile h4 { font-size: 22px; }
  .footer-grid { gap: 34px; }
}
@media (max-width: 1024px) {
  .nav-link { font-size: 16px; }
  .submenu-toggle { width: 44px; height: 44px; flex-basis: 44px; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-tile { min-height: 0; }
  .feature-tile h4 { font-size: 23px; }
  .feature-tile p { font-size: 14px; }
  .feature-image { height: 740px; }
  .hero-badge { width: 245px; }
  .hero-tagline { max-width: 300px; }
  .contact-panel h2 br { display: block; }
  .contact-panel h2 span { margin-left: 0; }
}
@media (max-width: 767px) {
  .brand { width: 156px; }
  .brand img { width: 150px; }
  .nav-shell { gap: 10px; }
  .nav-cta { font-size: 12px; padding-inline: 12px; flex-shrink: 0; }
  .menu-toggle { flex-shrink: 0; }
  .hero { height: auto; min-height: 900px; }
  .hero .container { min-height: 900px; padding-bottom: 236px; }
  .hero-copy { font-size: 15px; }
  .hero .eyebrow { font-size: 12px; letter-spacing: .3px; gap: 10px; }
  .hero .eyebrow:before { width: 24px; flex-shrink: 0; }
  .hero-badge { width: 220px; bottom: 82px; padding: 18px; }
  .hero-badge h3 { font-size: 23px; }
  .hero-badge p { font-size: 12px; }
  .hero-tagline { max-width: none; width: 100%; bottom: 26px; font-size: 12px; }
  .btn { font-size: 13px; }
  .facts p { font-size: 12px; }
  .facts > div:last-child p { margin-left: 0; }
  .services-heading p, .welcome-copy, .facility-copy > p:not(.eyebrow),
  .membership-panel p:not(.eyebrow), .inner-hero .intro { font-size: 15px; }
  .card-body { padding: 25px; }
  .card-body > p:not(.eyebrow), .info-card p { font-size: 15px; }
  .feature-image { height: 480px; }
  .feature-grid { grid-template-columns: 1fr 1fr; }
  .feature-tile { padding: 18px; }
  .feature-tile h4 { font-size: 22px; }
  .feature-tile p { font-size: 14px; }
  .gallery-label { line-height: 2; }
  .membership-panel h2 { font-size: clamp(36px, 9vw, 46px); }
  .membership-panel { padding: 34px 25px; }
  .numbered-step h3 { font-size: 26px; }
  .faq-list summary { font-size: 15px; }
  .faq-list details p { font-size: 14px; }
  .footer-grid { gap: 38px 24px; }
  .footer-col .eyebrow, .footer-col small, .footer-bottom, .footer-bottom .credit { font-size: 12px; }
  .footer-col a, .footer-col button { font-size: 14px; }
  .footer-col .footer-phone { font-size: 18px; }
  .footer-bottom { line-height: 1.9; }
  .sport-options { grid-template-columns: 1fr; }
  .sport-option span { font-size: 14px; padding: 14px; }
  .pricing-card .rate { font-size: 36px; }
  .pricing-card .rate small { font-size: 13px; }
}
@media (max-width: 420px) {
  .feature-grid { grid-template-columns: 1fr; }
  .feature-tile { padding: 23px; }
  .feature-tile h4 { font-size: 24px; }
  .brand { width: 138px; }
  .brand img { width: 134px; }
  .nav-cta { font-size: 11px; }
}
@media (max-width: 380px) {
  .brand { width: 112px; }
  .brand img { width: 108px; }
  .nav-shell { gap: 8px; }
  .nav-cta { font-size: 11px; padding-inline: 10px; }
  .menu-toggle { padding-inline: 8px; }
  .hero .eyebrow { font-size: 11px; }
  .hero h1 { font-size: 57px; }
  .hero-copy { font-size: 14px; }
  .hero-tagline { font-size: 12px; }
  .hero-badge { width: 220px; }
  .card-body, .info-card { padding: 23px; }
  .service-bottom .text-link { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .nav-chevron, .dropdown { animation: none !important; transition: none !important; }
}

.back-to-top {
  position: fixed;
  right: 28px;
  bottom: 28px;
  z-index: 40;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  padding: 0;
  border: 1px solid #ff858966;
  border-radius: 50%;
  background: var(--red);
  color: var(--white);
  box-shadow: 0 6px 24px #0006;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity .25s, visibility .25s, transform .3s var(--ease), background .25s, box-shadow .25s;
}
.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.back-to-top:hover {
  background: #f65b60;
  transform: translateY(-3px);
  box-shadow: 0 6px 28px #ef4b5140;
}
.scroll-locked .back-to-top { opacity: 0; visibility: hidden; pointer-events: none; }
@media (max-width: 767px) {
  .back-to-top { width: 46px; height: 46px; right: 18px; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); }
}

/* Service revisions and email inquiry form */
.service-overview { margin-top: 70px; }
.service-overview .card-grid { align-items: stretch; }
.service-overview .card-body { height: 100%; display: flex; flex-direction: column; }
.service-overview .card-body h3 { font-size: 29px; }
.service-overview .card-body .text-link { margin-top: auto; padding-top: 20px; }
.service-overview .card-body > p { min-height: 0; }
.service-overview .card-body .small { font-size: 13px; }
.lane-specs { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; padding: 28px 0; margin-top: 30px; border-top: 1px solid var(--line); }
.lane-specs span { color: var(--muted); font-size: 15px; }
.lane-specs strong { display: block; color: var(--white); font: 26px Anton, sans-serif; text-transform: uppercase; margin-bottom: 10px; }
.practice-links { margin: 28px 0 0; font-size: 14px; }
.facility-photo-grid { grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: none; grid-auto-rows: 260px; }
.facility-photo-grid .gallery-item:first-child { grid-column: span 2; grid-row: span 2; }
.facility-photo-grid .gallery-item:after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 50%,#000b); pointer-events: none; }
.gallery-caption { position: absolute; z-index: 1; inset: auto 20px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #fff; font-weight: 600; font-size: 14px; line-height: 1.5; }
.gallery-caption > span { flex-shrink: 0; font-size: 22px; }
.practice-links a { color: var(--white); text-decoration: underline; text-underline-offset: 4px; }
.booking-notice { margin-top: 0; }
.booking-layout { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); }
.booking-layout > * { min-width: 0; }
.booking-summary { position: sticky; top: 24px; }
.summary-list dd { max-width: 62%; overflow-wrap: anywhere; }
.summary-addons { padding-top: 26px; }
.summary-addons h3 { font: 700 13px Sora,sans-serif; letter-spacing: .6px; }
.summary-addons ul { padding-left: 18px; color: var(--muted); font-size: 13px; }
.summary-addons li { margin-top: 12px; }
.summary-total { color: var(--pink); font-weight: 700; }
.booking-summary > .small { margin-top: 20px; }
.member-check { display: flex; align-items: start; gap: 12px; font-size: 14px; margin-bottom: 20px; }
.member-check input { width: 20px; height: 20px; margin-top: 3px; accent-color: var(--red); }
#addon-fields { margin-top: 32px; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
#addon-fields legend { padding: 0 8px; margin: 0; }
#addon-fields .field:last-child { margin-bottom: 0; }
#session-fields > .eyebrow { margin-top: 32px; }
.inquiry-help { margin-top: 20px; }
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.form-panel .field-help a { text-decoration: underline; }
@media (max-width: 1024px) {
  .service-overview .card-grid { grid-template-columns: 1fr; }
  .booking-layout { grid-template-columns: 1fr; }
  .booking-summary { position: static; }
}
@media (max-width: 767px) {
  .service-overview { margin-top: 48px; }
  .facility-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: auto; }
  .facility-photo-grid .gallery-item:first-child { grid-column: 1/-1; grid-row: auto; }
  .gallery-caption { inset: auto 12px 12px; font-size: 12px; gap: 8px; }
  .service-overview .card-body h3 { font-size: 27px; }
  .lane-specs { grid-template-columns: 1fr; gap: 18px; }
  .lane-specs span { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
  .lane-specs strong { margin: 0; font-size: 23px; }
  #addon-fields { padding: 20px 14px; }
  #addon-fields select { font-size: 12px; padding-inline: 8px; }
  .summary-list > div { gap: 12px; }
}
