:root{--dark:#11241c;--dark2:#1a3528;--ink:#182f23;--muted:#59695e;--lime:#d6fb61;--cream:#f5f4ed;--line:#dbe3d7;--max:1320px}
body{background:var(--cream);font-size:16px;line-height:1.7}
.container{width:min(var(--max),calc(100% - 72px))}
.site-header{background:#10241cf7;backdrop-filter:blur(20px);box-shadow:0 6px 35px #11281b16}
.topline{background:var(--lime);color:#122719;font-size:10px;letter-spacing:.14em}.topline .container{padding:9px 0}
.header-inner{min-height:83px;gap:23px}.brand span{font-size:27px}.brand small{letter-spacing:.10em}
.nav{gap:18px}.nav a{position:relative;white-space:nowrap;font-size:12px}
.nav a:after{content:"";position:absolute;left:0;bottom:-12px;width:100%;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav a.active:after,.nav a:hover:after{transform:scaleX(1)}
.btn{min-height:51px;border-radius:2px;padding:0 24px;gap:18px;font-size:11px;letter-spacing:.085em}
.btn .arrow{transition:transform .25s}.btn:hover .arrow{transform:translate(3px,-3px)}
.btn-lime{background:var(--lime);color:#11241c}.btn-dark{background:#162d20;color:white}
h1,h2,h3{letter-spacing:-.017em}h2{font-size:clamp(46px,5.5vw,76px);line-height:.93}h3{line-height:1}
h2 em,h1 em{color:var(--lime)}.section.white h2 em,.section.cream h2 em{color:#819e36}
.section{padding:94px 0}.section-head{gap:54px;margin-bottom:40px}.section-head p{font-size:15px;line-height:1.75;max-width:370px}
.split{gap:clamp(38px,6vw,90px)}.split p{font-size:15px;line-height:1.85}
.hero{min-height:720px;background:#0e231a}
.hero:before{background-image:linear-gradient(90deg,#0b1b14f7 0%,#10261be8 38%,#10251b52 100%),url('https://images.pexels.com/photos/9501976/pexels-photo-9501976.jpeg?auto=compress&cs=tinysrgb&w=1800');background-position:center;background-size:cover;opacity:1}
.hero:after{background:linear-gradient(0deg,#10221c8a 0%,transparent 36%)}
.hero .container{padding-top:94px;padding-bottom:112px}.hero-copy{max-width:720px}.hero h1{font-size:clamp(79px,8.5vw,116px);line-height:.86;margin:27px 0}
.hero-copy>p{max-width:520px;font-size:16px;line-height:1.85;color:#e6ece4}
.hero-bottom{background:#10251bdc}.hero-bottom p{font-size:10px}.eyebrow{font-size:10px;letter-spacing:.18em}
.stats-row{border-color:#d6dfd0}.stat b{font-size:42px}.stat small{font-size:11px}
.photo{min-height:465px;background-color:#284a35;overflow:hidden}
.photo:after{background:linear-gradient(0deg,#11251bac,transparent 55%)}
.photo-training{background-image:url('https://images.pexels.com/photos/30585018/pexels-photo-30585018.jpeg?auto=compress&cs=tinysrgb&w=1200')}
.photo-football{background-image:url('https://images.pexels.com/photos/34085836/pexels-photo-34085836.jpeg?auto=compress&cs=tinysrgb&w=1200')}
.photo-player{background-image:url('https://images.pexels.com/photos/14705681/pexels-photo-14705681.jpeg?auto=compress&cs=tinysrgb&w=1200')}
.photo-stadium{background-image:url('https://images.pexels.com/photos/15789902/pexels-photo-15789902.jpeg?auto=compress&cs=tinysrgb&w=1200')}
.photo-tag{font-size:28px;bottom:29px;left:29px}.photo-tag small{letter-spacing:.14em}
.card-grid,.testimonial-grid,.gallery,.locations{gap:19px}
.service-card{padding:31px;min-height:330px;border:1px solid #d9e3d4;box-shadow:0 8px 26px #152a1710;border-radius:2px}
.service-card.featured{background:#d6fb61;border-color:#d6fb61}
.service-card .count{margin-bottom:56px;font-size:16px}.service-card h3{font-size:clamp(30px,2.65vw,38px)}.service-card p{font-size:14px;line-height:1.8}
.service-card a{font-size:11px;padding-top:18px}.service-card a span{font-size:19px}
.program-grid{gap:24px}.program-card{min-height:460px;border-radius:2px;box-shadow:0 12px 32px #102a171d}
.program-card:before{background:linear-gradient(0deg,#0a1d15f5 0%,#12251a91 39%,#12251a16 100%),var(--photo);background-size:cover;background-position:center}
.program-card .inner{padding:33px}.program-card h3{font-size:49px}.program-card p{font-size:14px;line-height:1.75}
.program-card .chip{background:var(--lime);color:#132b1d;border-radius:1px}
.program-card .card-bottom{border-color:#ffffff6c}.program-card .card-bottom a{color:var(--lime)}
.price-card{background:white;border:1px solid #dbe3d8;padding:35px;border-radius:2px;box-shadow:0 10px 25px #172c1910}
.price-card.highlight{background:#eaf2dc;border-color:#d3dec7}.price-card h3{font-size:clamp(35px,3.2vw,47px)}
.price-card p,.price-card li{font-size:14px}.price{color:#1a3926;font-size:69px}.price-card li{padding:15px 0}
.testimonial{padding:30px;border:1px solid #e0e6dc;box-shadow:0 8px 27px #112a1710;border-radius:2px}
.testimonial blockquote{font-size:15px;line-height:1.8;color:#273a2e}.testimonial .stars{color:#739a30}
.video-card{border:1px solid #e3e8dd;border-radius:2px}.video-thumb{height:245px}.video-card h3{font-size:29px}
.video-card .detail{padding:24px}.video-card p{font-size:13px;line-height:1.7}
.video-thumb .play{background:var(--lime);color:var(--dark);border-radius:50%}
.page-hero{background:#193629;position:relative;overflow:hidden;padding:79px 0}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#173225 5%,#173225f0 55%,#17322570),url('https://images.pexels.com/photos/14705681/pexels-photo-14705681.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover;opacity:.96}
.page-hero .container{position:relative;z-index:1}.page-hero h1{font-size:clamp(66px,7.2vw,94px);line-height:.85;margin:22px 0}
.page-hero p{font-size:15px;line-height:1.8;max-width:625px;color:#e3eee0}.page-hero .breadcrumbs{color:#cedbcd}
.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.step{min-width:0;border:1px solid #dce4d7;background:white;padding:30px}
.step h3{overflow-wrap:anywhere;font-size:clamp(26px,2.6vw,34px)}.step p{font-size:14px;line-height:1.8}
.portrait-placeholder{min-height:495px;background:radial-gradient(circle at 85% 16%,#375642,#11291e 65%)}
.portrait-placeholder .letter{font-size:300px;color:#d6fb6120}
.portrait-caption small{color:var(--lime)}.portrait-caption b{font-size:50px}
.form-card{padding:38px;background:white;box-shadow:0 12px 35px #15302013}
.field input,.field select,.field textarea{padding:14px 15px;min-height:48px;border-radius:2px;font-size:14px}
.field textarea{min-height:125px}.field label{font-size:11px}.check{line-height:1.7}
.contact-details h2{font-size:clamp(52px,6vw,83px)}.contact-details p{font-size:15px}
.contact-line{padding:20px 0}.contact-line a{overflow-wrap:anywhere}
.map-link{background-color:#dbe7d4}.location-card{border:1px solid #d9e3d5;padding:29px}
.location-card p{font-size:14px;line-height:1.7}.location-card h3{font-size:30px}
.faq-item button{font-size:15px;line-height:1.5}.faq-answer{font-size:14px;line-height:1.75}
.cta-band{background:var(--lime);padding:70px 0}.cta-band h2{font-size:clamp(57px,6.9vw,94px);line-height:.86}
.footer{background:#10241c;padding:72px 0 23px}.footer-grid{gap:42px}.footer p{font-size:13px;line-height:1.8}
.footer-bottom{font-size:11px;line-height:1.7}.modal-content{border-radius:2px}
.filter-bar button{border-radius:2px;padding:11px 17px}.filter-bar button.active{background:var(--dark)}
:focus-visible{outline:3px solid #98c529;outline-offset:3px}
@media(max-width:1100px){
.container{width:calc(100% - 50px)}.nav{gap:13px}.nav a{font-size:11px}
.hero h1{font-size:clamp(74px,8.5vw,105px)}.split{gap:39px}
}
@media(max-width:860px){
.nav{background:#10241c;max-height:calc(100dvh - 72px);overflow-y:auto}
.container{width:calc(100% - 40px)}.header-inner{min-height:72px}
.section{padding:72px 0}.hero{min-height:650px}
.hero:before{background-image:linear-gradient(90deg,#0c2119ef,#0d241bca),url('https://images.pexels.com/photos/9501976/pexels-photo-9501976.jpeg?auto=compress&cs=tinysrgb&w=1100')}
.hero .container{padding-top:77px;padding-bottom:100px}.hero h1{font-size:clamp(74px,12vw,100px)}
.card-grid,.testimonial-grid,.gallery,.locations{grid-template-columns:repeat(2,minmax(0,1fr))}
.steps{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:580px){
body{font-size:15px}.container{width:calc(100% - 34px)}
.hero{min-height:640px}.hero .container{padding:60px 0 108px}.hero h1{font-size:clamp(68px,15vw,86px);line-height:.9}
.hero-copy>p{font-size:14px;line-height:1.8}.hero-index{display:none}
h2{font-size:clamp(47px,12.8vw,66px)}.section{padding:61px 0}
.section-head p{font-size:14px}.actions .btn{width:100%}
.card-grid,.program-grid,.testimonial-grid,.gallery,.locations,.pricing,.steps{grid-template-columns:1fr}
.service-card{min-height:285px}.service-card .count{margin-bottom:35px}
.program-card{min-height:430px}.program-card h3{font-size:42px}
.photo{min-height:360px}.price-card{padding:25px}.price{font-size:64px}
.portrait-placeholder{min-height:390px}.portrait-placeholder .letter{font-size:240px}
.page-hero{padding:61px 0}.page-hero h1{font-size:clamp(60px,14vw,79px)}.page-hero p{font-size:14px}
.steps{grid-template-columns:1fr}.step{min-width:0}.step h3{font-size:30px;overflow-wrap:anywhere}
.field-row{grid-template-columns:1fr}.form-card{padding:25px}
.cta-band h2{font-size:clamp(57px,13.5vw,78px)}.footer-grid{gap:30px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}