:root{--background:#0b0b0b;--background-soft:#121212;--surface:#ffffff0d;--surface-strong:#ffffff14;--surface-accent:#ff5a001f;--text:#f4ede3;--text-soft:#f4ede3bd;--line:#ffffff1a;--accent:#ff5a00;--accent-hover:orange;--shadow:0 18px 40px #0000004d;--container:min(1220px, calc(100vw - 40px));--radius-lg:32px;--radius-md:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 0 0,#ff5a0024,#0000 28%),radial-gradient(circle at 85% 15%,#ffa5001f,#0000 24%),linear-gradient(#111 0%,#0b0b0b 100%);margin:0;font-family:Trebuchet MS,Segoe UI,sans-serif}a{color:inherit}.siteHeader{z-index:50;background:#191919;border-bottom:1px solid #ffffff14;position:sticky;top:0}.siteHeaderInner,.sectionInner{width:var(--container);margin:0 auto}.siteHeaderInner{grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:92px;display:grid}.brandMark{border-radius:22px;justify-content:center;align-items:center;width:76px;height:76px;text-decoration:none;display:inline-flex}.brandMarkImage{object-fit:contain;width:76px;height:76px}.logoFallback{border:1px solid var(--line);border-radius:inherit;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;background:#ffffff0a;justify-content:center;align-items:center;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:1.45rem;display:inline-flex}.siteNav{justify-self:center;align-items:center;gap:24px;display:flex}.navDropdown{align-items:center;display:flex;position:relative}.navDropdown:after{content:"";width:max(260px,100% + 36px);height:16px;position:absolute;top:100%;left:-18px}.navLink,.dropdownLink{color:var(--accent);text-underline-offset:.35em;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:2px;transition:color .18s,text-decoration-color .18s}.navLink{letter-spacing:.08em;text-transform:uppercase;align-items:center;min-height:44px;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:1.02rem;display:inline-flex}.navLink:hover,.navLink:focus-visible,.navLink.isActive,.dropdownLink:hover,.dropdownLink:focus-visible,.dropdownLink.isActive,.navDropdown:hover>.navLink,.navDropdown:focus-within>.navLink{color:var(--accent-hover);text-decoration-color:currentColor}.dropdownMenu{min-width:260px;box-shadow:var(--shadow);opacity:0;pointer-events:none;background:#191919fa;border:1px solid #ffffff14;border-radius:22px;padding:14px 16px;transition:opacity .18s,transform .18s;position:absolute;top:calc(100% + 16px);left:-18px;transform:translateY(8px)}.navDropdown:hover .dropdownMenu,.navDropdown:focus-within .dropdownMenu{opacity:1;pointer-events:auto;transform:translateY(0)}.dropdownLink{padding:10px 0;display:block}.headerSpacer{justify-self:end;width:76px}.siteMain{flex-direction:column;gap:8px;padding:0 0 48px;display:flex}.heroSection,.subpageHero{position:relative;overflow:clip}.heroSection{align-items:center;min-height:calc(100svh - 92px);display:flex}.heroBackdrop,.subpageHeroBackdrop{background-position:100%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.heroBackdrop{background-image:linear-gradient(90deg,#000000db 0%,#00000094 45%,#00000024 100%),url(/images/hero1.jpg),url(/images/hero2.jpg)}.subpageHeroBackdrop{background-position:100%;background-repeat:no-repeat;background-size:cover}.isFacilityBackdrop{background-image:linear-gradient(90deg,#000000d1 0%,#00000080 48%,#0000002e 100%),url(/images/teretana2.jpg)}.heroContent,.subpageHeroContent{z-index:1;position:relative}.heroContent{padding:96px 0}.subpageHeroContent{padding:88px 0 72px}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:.96rem}.heroTitle,.subpageTitle,.sectionTitle,.finalCtaTitle,.carouselCardTitle,.galleryCardTitle,.programCardTitle,.infoPanelTitle,.footerHeading{letter-spacing:.03em;text-transform:uppercase;margin:0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif}.heroTitle{max-width:820px;font-size:clamp(2.8rem,6vw,5.4rem);line-height:.96}.heroLead,.subpageLead,.sectionLead,.carouselCardText,.programCardText,.footerAddress,.footerHours{color:var(--text-soft);font-size:1.04rem;line-height:1.8}.heroLead{max-width:640px;margin:24px 0 0}.subpageTitle{max-width:820px;font-size:clamp(2.2rem,4vw,4rem);line-height:.98}.subpageLead{max-width:720px;margin:18px 0 0}.contentSection{padding:12px 0}.sectionPanel,.infoPanel,.contactMapPanel,.programCard,.carouselCard,.galleryCard{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.sectionPanel{padding:44px}.isAccentPanel{background:linear-gradient(135deg,#ff5a0033,#ffffff05),#ffffff0d}.isSoftPanel{background:linear-gradient(135deg,#ffa5001a,#ffffff05),#ffffff0a}.sectionHeadingBlock{margin-bottom:26px}.sectionTitle{font-size:clamp(2rem,3vw,3rem);line-height:1.02}.sectionLead{margin:0}.textBlock{gap:18px;display:grid}.textBlock p{color:var(--text-soft);margin:0;font-size:1.04rem;line-height:1.85}.ctaButton,.textButton,.carouselButton{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;border:0;border-radius:999px;justify-content:center;align-items:center;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;text-decoration:none;transition:background-color .18s,color .18s,border-color .18s,transform .18s;display:inline-flex}.ctaButton{background:var(--accent);color:#fff;min-height:52px;margin-top:30px;padding:0 28px}.ctaButton:hover,.ctaButton:focus-visible{background:var(--accent-hover);color:#000;transform:translateY(-1px)}.textButton{min-height:42px;color:var(--accent);padding:0}.textButton:hover,.textButton:focus-visible{color:var(--accent-hover)}.carousel{gap:22px;display:grid}.carouselControls{justify-content:space-between;align-items:center;gap:18px;display:flex}.carouselPagination{color:var(--text-soft);letter-spacing:.05em;text-transform:uppercase;font-size:.96rem}.carouselButtonRow{gap:12px;display:flex}.carouselButton{border:1px solid var(--line);min-height:42px;color:var(--text);background:0 0;padding:0 18px}.carouselButton:hover:not(:disabled),.carouselButton:focus-visible:not(:disabled){color:var(--accent-hover);border-color:#ffa50080}.carouselButton:disabled{opacity:.4;cursor:default}.carouselViewport{overflow:hidden}.carouselTrack{transition:transform .28s;display:flex}.carouselPage{flex:0 0 100%;gap:22px;display:grid}.carouselCard{overflow:hidden}.carouselMedia,.galleryCardImage,.programCardImage{background-color:var(--background-soft);background-position:50%;background-repeat:no-repeat;background-size:cover}.carouselMedia{aspect-ratio:4/3}.carouselCardBody{gap:14px;padding:24px;display:grid}.carouselCardTitle{font-size:1.45rem;line-height:1}.carouselCardText{margin:0}.isAchievement .carouselCardText{display:none}.galleryGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.galleryCard{overflow:hidden}.galleryCardImage{aspect-ratio:4/5}.galleryCardTitle{padding:20px 22px 24px;font-size:1.2rem;line-height:1}.programGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.programCard{overflow:hidden}.programCardImage{aspect-ratio:4/3}.programCardBody{gap:14px;padding:24px;display:grid}.programBadge{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:.9rem}.programCardTitle{font-size:1.5rem;line-height:1}.programCardText{margin:0}.trainingShowcaseGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.trainingShowcaseCard,.facilityGalleryPanel,.facilityGalleryItem{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.trainingShowcaseCard{overflow:hidden}.trainingShowcaseBody{gap:16px;padding:28px;display:grid}.trainingShowcaseTitle{font-size:clamp(1.8rem,2vw,2.4rem)}.trainingShowcaseMedia,.facilityGalleryImage{background-color:var(--background-soft);background-position:50%;background-repeat:no-repeat;background-size:cover}.trainingShowcaseMedia{aspect-ratio:4/3}.trainingShowcaseText{color:var(--text-soft);margin:0;font-size:1.04rem;line-height:1.8}.facilityGalleryPanel{padding:22px}.facilityGalleryGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.facilityGalleryItem{overflow:hidden}.facilityGalleryImage{aspect-ratio:4/5}.trainingDetailGallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.trainingDetailGalleryImage{aspect-ratio:4/5}.twoColumnLayout{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:22px;display:grid}.coachProfileLayout{grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr)}.coachPortraitCard{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.coachPortraitImage{background-color:var(--background-soft);aspect-ratio:4/5;background-position:50%;background-repeat:no-repeat;background-size:cover}.infoPanel{padding:32px}.infoPanelTitle{font-size:1.35rem;line-height:1}.featureList{color:var(--text-soft);gap:14px;margin:22px 0 0;padding:0 0 0 18px;line-height:1.75;display:grid}.contactGrid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:22px;display:grid}.contactMapPanel{min-height:100%;overflow:hidden}.contactMapPanel iframe,.footerMapFrame iframe{border:0;width:100%;height:100%;min-height:320px}.contactInfoHeader{margin-bottom:30px}.contactInfoList{gap:22px;margin:0;font-style:normal;display:grid}.contactInfoItem{color:var(--text-soft);gap:8px;font-size:1.04rem;line-height:1.8;display:grid}.contactInfoLabel,.contactFieldLabel{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:.9rem}.contactSocials{gap:16px;margin-top:34px;display:grid}.contactSocialLinks{flex-wrap:wrap;gap:14px;display:flex}.socialLink{width:62px;height:62px;color:var(--text);box-shadow:var(--shadow);background:linear-gradient(135deg,#ff5a002e,#ffffff0a),#ffffff0d;border:1px solid #ffffff24;border-radius:20px;justify-content:center;align-items:center;transition:border-color .18s,color .18s,transform .18s;display:inline-flex}.socialLink:hover,.socialLink:focus-visible{color:var(--accent-hover);border-color:#ffa50080;transform:translateY(-1px)}.socialIcon{fill:currentColor;width:28px;height:28px}.contactFormPanel{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(135deg,#ffffff0f,#ff5a0014),#ffffff0d;gap:18px;padding:32px;display:grid}.contactFormHeading{margin-bottom:4px}.contactField{gap:10px;display:grid}.contactInput,.contactTextarea{width:100%;color:var(--text);font:inherit;background:#090909d1;border:1px solid #ffffff24;border-radius:18px;padding:14px 16px}.contactInput{min-height:54px}.contactTextarea{resize:vertical;min-height:180px}.contactInput:focus-visible,.contactTextarea:focus-visible{outline-offset:2px;outline:2px solid #ffa50080}.contactSubmitButton{margin-top:8px}.contactFormNote{color:var(--text-soft);margin:0;font-size:.96rem;line-height:1.7}.finalCtaSection{padding-bottom:0}.finalCtaPanel{justify-content:space-between;align-items:center;gap:24px;display:flex}.coachClosingPanel{text-align:center;background:linear-gradient(135deg,#ff5a002e,#ffffff05),#ffffff0d;justify-content:center;align-items:center;display:flex}.finalCtaTitle{max-width:780px;font-size:clamp(1.9rem,3vw,3rem);line-height:1.02}.coachClosingTitle{letter-spacing:.03em;text-transform:uppercase;max-width:860px;margin:0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(1.7rem,2.8vw,2.6rem);line-height:1.08}.siteFooter{background:#191919;border-top:1px solid #ffffff14}.footerGrid{gap:22px;padding:54px 0;display:flex}.footerColumn{flex:1 1 0;min-width:0}.footerWordmark{align-items:center;min-height:88px;display:inline-flex}.footerWordmarkImage{object-fit:contain;width:auto;max-width:100%;height:88px}.footerAddress{gap:10px;margin:20px 0 0;font-style:normal;display:grid}.footerLink{color:var(--text-soft);text-decoration:none}.footerLink:hover,.footerLink:focus-visible{color:var(--accent-hover)}.footerHeading{font-size:1.1rem;line-height:1}.footerMapFrame{border:1px solid var(--line);border-radius:24px;margin-top:18px;overflow:hidden}.footerMapLink{margin-top:14px;display:inline-flex}.footerCtaColumn{flex-direction:column;justify-content:center;display:flex}.footerHours{margin:14px 0 0}.footerTagline{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin:20px 0 0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(2rem,3vw,3.2rem);line-height:.95}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1100px){.programGrid,.contactGrid,.galleryGrid,.twoColumnLayout,.trainingShowcaseGrid{grid-template-columns:1fr}.footerGrid{flex-direction:column}.finalCtaPanel{flex-direction:column;align-items:flex-start}.facilityGalleryGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.siteHeaderInner{grid-template-columns:1fr;justify-items:center;padding:16px 0}.siteNav{flex-wrap:wrap;justify-content:center;gap:16px 22px}.dropdownMenu{min-width:0;box-shadow:none;opacity:1;pointer-events:auto;background:0 0;border:0;border-radius:0;padding:12px 0 0;position:static;transform:none}.navDropdown:after{content:none}.headerSpacer{display:none}.heroSection{min-height:auto}.heroContent,.subpageHeroContent{padding:72px 0 64px}.trainingDetailGallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){:root{--container:min(100vw - 24px, 100%)}.brandMark,.brandMarkImage{width:64px;height:64px}.navLink{font-size:.94rem}.sectionPanel,.infoPanel{padding:26px}.coachClosingPanel{padding:30px 26px}.trainingShowcaseBody,.facilityGalleryPanel{padding:20px}.carouselControls{flex-direction:column;align-items:flex-start}.ctaButton{width:100%}.footerWordmarkImage{height:72px}.facilityGalleryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.trainingDetailGallery{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
