@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--orange:#a77920;--cream:#f2f2ef;--ink:#0b0b0b;--muted:#a3a3a3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:6px}button{cursor:pointer}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #333;background:var(--ink);color:white;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand b{font-family:'Barlow Condensed',Impact,sans-serif;font-size:28px;line-height:.85}.brand small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:7px}.brand svg{width:42px;color:var(--orange)}nav{display:flex;align-items:center;gap:32px;font-size:13px}nav a:not(.btn){padding:10px 0}nav a[aria-current=page]{border-bottom:2px solid var(--orange)}.btn{background:var(--orange);color:#101010;display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:18px 25px;font-weight:700;font-size:13px;transition:transform .2s,background .2s;border:0}.btn:hover{transform:translateY(-3px);background:#efcc7b}.btn.light{background:var(--cream)}.textlink{display:inline-flex;gap:20px;align-items:center;font-size:13px;border-bottom:1px solid;padding:15px 0}.menu{display:none;background:transparent;border:1px solid #777;color:white;padding:10px}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:2px;display:flex;gap:10px;align-items:center}.eyebrow:before{content:'';height:7px;width:7px;background:var(--orange);border-radius:50%}h1,h2,h3,.display{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:0;font-weight:800;line-height:.94;letter-spacing:-1px}h1{font-size:clamp(70px,8.7vw,140px)}h2{font-size:clamp(50px,5.5vw,82px)}h3{font-size:34px}p{line-height:1.8;font-size:15px}.hero{background:var(--ink);color:var(--cream);padding:65px 5% 0;position:relative;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;min-height:620px}.hero-copy{position:relative;z-index:2;padding-bottom:65px}.hero h1{margin:30px 0 24px}.accent{color:var(--orange)}.outline{-webkit-text-stroke:1px #b5b5b5;color:transparent}.hero-copy p{color:#b4b4b4;max-width:370px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:30px}.hero-art{position:relative;min-height:550px;background:linear-gradient(160deg,#424242,#252525);overflow:hidden;align-self:stretch}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b0b0b 0%,transparent 50%)}.hero-art img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center;filter:none;opacity:.8}.court{position:absolute;inset:35px;border:1px solid #9e9e9e55;transform:rotate(-14deg) scale(1.1);border-radius:4px}.court:before{content:'';position:absolute;width:70%;height:60%;border:1px solid #9e9e9e55;border-radius:50%;top:20%;left:15%}.hero-num{position:absolute;right:15px;bottom:-30px;font:300px 'Barlow Condensed',Impact,sans-serif;color:#d9af4a26;z-index:1}.art-label{position:absolute;bottom:60px;left:28px;right:28px;z-index:2;display:flex;justify-content:space-between;align-items:end}.art-label b{font:36px 'Barlow Condensed',Impact,sans-serif;max-width:140px;line-height:1}.art-label span{font-size:10px;letter-spacing:2px;writing-mode:vertical-rl}.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff25;padding:22px 0;font-size:10px;letter-spacing:1.5px}.ticker{background:var(--orange);overflow:hidden;padding:17px 0;white-space:nowrap;font:25px 'Barlow Condensed',Impact,sans-serif;letter-spacing:2px}.ticker div{display:inline-block;animation:marquee 28s linear infinite}.ticker span{padding:0 28px}.section{padding:90px 7%}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.section h2{margin:23px 0}.section p{max-width:550px}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}.section-head p{max-width:340px;color:#646464}.features{margin-top:35px}.feature{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:24px 0;border-top:1px solid #cacaca}.feature>span{color:#797979;font-size:12px}.feature p{margin:10px 0;color:#5f5f5f;font-size:14px}.dark{background:var(--ink);color:var(--cream)}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#c2c2c2;border:1px solid #c2c2c2}.skill{background:var(--cream);padding:30px 25px;min-height:250px;transition:background .3s,transform .3s}.skill:hover{background:#e3e3e3;transform:translateY(-5px)}.skill .icon{font-size:40px;display:block;color:var(--orange);margin-bottom:40px}.skill p{font-size:13px;color:#646464}.reviews{display:grid;grid-template-columns:1fr 1fr;gap:50px}.stars{color:var(--orange);letter-spacing:5px;font-size:20px}.quote{font-size:25px;line-height:1.5;margin:25px 0}.review-note{color:#a1a1a1;font-size:12px}.review-nav{display:flex;gap:10px;margin-top:25px}.round{border:1px solid #777;color:inherit;background:transparent;width:42px;height:42px;font-size:20px}.cta{background:var(--orange);padding:65px 7%;display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{max-width:700px}.cta .eyebrow:before{background:var(--ink)}footer{background:#121212;color:#aeaeae;padding:45px 5% 25px}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-links{display:flex;gap:35px;font-size:13px}.footer-bottom{margin-top:45px;border-top:1px solid #333333;padding-top:20px;font-size:10px;display:flex;justify-content:space-between;gap:20px}.page-intro{background:var(--ink);color:var(--cream);padding:65px 7%}.page-intro h1{font-size:clamp(66px,8vw,110px);margin:25px 0}.page-intro p{max-width:570px;color:#b4b4b4}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:35px 0}.tab{padding:12px 22px;border:1px solid #b9b9b9;background:transparent}.tab.active{background:var(--ink);color:white}.focus-panel{background:#e1e1e1;padding:35px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.focus-panel h3{font-size:48px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.step{border-top:1px solid #c2c2c2;padding-top:25px}.step span{font:60px 'Barlow Condensed',Impact,sans-serif;color:var(--orange);display:block;margin-bottom:20px}.coach-photo{min-height:480px;position:relative;background:#d5d5d5}.coach-photo img{position:absolute;width:100%;height:100%;object-fit:cover;filter:none}.note{font-size:12px;color:#727272;line-height:1.6}.video-shell{background:#252525;padding:35px;max-width:550px}.video-shell iframe{border:0;width:100%;min-height:570px;background:white}.video-shell .textlink{color:var(--cream);margin-top:15px}details{border-bottom:1px solid #bdbdbd;padding:23px 0}summary{font-weight:600;cursor:pointer;line-height:1.5}details p{color:#616161}.booking{background:white;border:1px solid #ddd;padding:35px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}label{font-size:12px;font-weight:700}input,select,textarea{border:1px solid #b6b6b6;border-radius:0;background:var(--cream);padding:14px;color:var(--ink);width:100%}textarea{resize:vertical}#draft{white-space:pre-wrap;background:var(--cream);padding:20px;line-height:1.7;font-size:13px}.hidden{display:none}.reveal{animation:rise .7s both}.page-progress{position:fixed;top:0;left:0;height:3px;background:var(--orange);z-index:100;width:0}.basketball{width:150px;height:150px;border:2px solid var(--orange);border-radius:50%;position:relative;margin:35px 0;overflow:hidden;transition:transform .7s}.basketball:hover{transform:rotate(70deg)}.basketball:before{content:'';position:absolute;left:50%;height:100%;border-left:2px solid var(--orange)}.basketball:after{content:'';position:absolute;top:50%;width:100%;border-top:2px solid var(--orange)}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{to{transform:translateX(-50%)}}@media(max-width:800px){header{height:78px}.menu{display:block}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--ink);padding:25px;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{padding-top:40px}.hero-layout{grid-template-columns:1fr}.hero-copy{padding-bottom:15px}.hero-art{min-height:380px}.hero-num{font-size:240px}.hero-bottom{font-size:8px;gap:15px}.split,.reviews,.focus-panel{grid-template-columns:1fr;gap:35px}.section{padding:60px 6%}.section-head{display:block}.skill-grid{grid-template-columns:1fr 1fr}.skill{padding:25px 18px}.steps{grid-template-columns:1fr}.cta{display:block}.cta .btn{margin-top:25px}.footer-top{flex-direction:column}.footer-links{flex-wrap:wrap;gap:20px}.footer-bottom{flex-direction:column}.video-shell{padding:15px}.page-intro{padding:45px 6%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Court energy: purposeful motion and interactive practice cues. */
:root{--lime:#e6c77f}nav{gap:24px}.hero-layout{grid-template-columns:1.1fr .92fr;gap:6%;min-height:680px}.hero-copy{padding-top:12px}.hero h1{font-size:clamp(64px,7.9vw,122px)}.hero-video{position:relative;z-index:1;background:#232323;border:1px solid #4f4f4f;align-self:start;box-shadow:14px 14px 0 #e6c77f14;transform:rotate(1deg)}.video-topline{display:flex;align-items:center;gap:8px;color:var(--lime);font-size:10px;letter-spacing:1px;padding:14px}.video-topline>span:last-child{margin-left:auto;color:#eee}.live-dot{width:7px;height:7px;background:var(--lime);border-radius:50%;animation:live 2s ease-in-out infinite}.reel-wrap{height:515px;overflow:auto;background:#fff}.reel-wrap iframe{width:100%;height:620px;border:0}.video-credit{display:flex;justify-content:space-between;gap:14px;padding:14px;font-size:10px;color:#dbdbdb}.video-credit a{text-decoration:underline}.highlight-link{display:block;border-top:1px solid #4b4b4b;padding:14px;font-size:11px;color:var(--lime)}.hero:before{content:'';position:absolute;width:550px;height:550px;border:1px solid #e6c77f22;border-radius:50%;right:-260px;top:180px}.hero-copy .accent{display:inline-block;position:relative}.hero-copy .accent:after{content:'';display:block;height:5px;background:var(--lime);width:38%;margin-top:12px;transform:skewX(-25deg);transform-origin:left;animation:underline 1s ease-out both}.hero-bottom span:nth-child(2){color:var(--lime)}.ticker{display:flex;align-items:center}.section-head h2{max-width:800px}.skill-grid{border:0;gap:16px;background:transparent}.skill{display:flex;flex-direction:column;align-items:stretch;text-align:left;border:1px solid #bcbcbc;background:#eaeaea;color:var(--ink);position:relative;overflow:hidden;padding:25px 22px;min-height:355px}.skill[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--cream)}.skill[aria-pressed=true] .skill-desc{color:#c1c1c1}.skill-number{font:13px 'DM Sans',sans-serif;color:#7d7d7d;letter-spacing:2px}.skill-title{font:800 34px/.95 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:20px 0 12px;letter-spacing:-.5px}.skill-desc{font-size:13px;line-height:1.7;color:#646464}.skill-explore{font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:700;padding-top:25px;margin-top:auto;display:flex;justify-content:space-between}.skill-explore>span{color:var(--orange);font-size:18px}.court-demo{width:100%;height:145px;overflow:visible;margin-top:12px}.court-line{fill:none;stroke:#9a9a9a66;stroke-width:1}.route{fill:none;stroke:var(--orange);stroke-width:2;stroke-dasharray:4 6}.rim{fill:none;stroke:var(--orange);stroke-width:3}.player{fill:#8b8b8b}.p2{opacity:.4}.moving-ball{fill:var(--orange);stroke:#0b0b0b;stroke-width:1;offset-path:path('M45 133 Q100 20 220 46');animation:shot 2.8s ease-in-out infinite}.handling .moving-ball{offset-path:path('M95 70 Q95 170 125 70 Q125 170 155 70');animation:shot 2s linear infinite}.handling .p1{cx:125;cy:65}.handling .route,.handling .rim{opacity:0}.passing .moving-ball{offset-path:path('M45 133 L225 130');animation:passball 2.4s ease-in-out infinite}.passing .route{d:path('M45 133 L225 130')}.passing .rim{opacity:0}.defence .moving-ball{offset-path:path('M65 100 L210 100');animation:passball 2.4s ease-in-out infinite}.defence .p1{cx:110;cy:75;animation:slide 2.4s ease-in-out infinite}.defence .route,.defence .rim{opacity:0}.skill-detail{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px;border:1px solid #bcbcbc;border-top:4px solid var(--orange);margin-top:18px;background:#fffdf7}.skill-detail h3{font-size:32px;margin-top:15px;line-height:1.05}.skill-detail p{font-size:13px;margin-bottom:0}.skill-detail .btn{flex-shrink:0}.challenge{margin-top:24px;background:var(--orange);padding:35px;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}.challenge .eyebrow:before{background:var(--ink)}.challenge h3{font-size:37px;margin:18px 0 10px}.challenge p{font-size:13px;margin-bottom:0}.challenge>div:last-child{border-left:1px solid #19191933;padding-left:30px}.motivation-cue{font-weight:700;min-height:50px}.skill-pop{animation:cardpop .45s ease}.cue-pop{animation:rise .4s ease}.motion-toggle{position:fixed;right:20px;bottom:16px;z-index:50;background:#0b0b0b;color:#e6c77f;border:1px solid #646464;padding:9px 13px;font-size:10px;border-radius:30px;box-shadow:0 3px 12px #0002}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .reveal{animation:none!important}.rates{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:80px}.rates article{border-top:3px solid var(--orange);padding:28px;background:#e3e3e3}.rates p{margin:22px 0 0}.rates b{font:800 76px/.95 'Barlow Condensed',Impact,sans-serif}.rates p>span{font-size:13px}.duration-tabs{display:inline-flex;gap:6px;padding:6px;background:#dbdbdb;margin-bottom:30px}.duration-tabs button{padding:14px 24px;border:0;background:transparent;font-weight:700;font-size:13px}.duration-tabs button.active{background:var(--ink);color:var(--lime)}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.package-card{border:1px solid #b4b4b4;padding:32px 25px;background:#fffdf7;transition:transform .25s,box-shadow .25s}.package-card:hover{transform:translateY(-6px);box-shadow:8px 8px 0 #e6c77f}.package-index{font-size:9px;letter-spacing:2px;color:#6b6b6b}.package-card h3{margin:28px 0 0;font-size:44px}.package-price{font:800 80px/1 'Barlow Condensed',Impact,sans-serif;margin:20px 0;color:var(--orange)}.package-card p{font-size:12px}.package-math{border-top:1px solid #bababa;border-bottom:1px solid #bababa;padding:16px 0;font-weight:700;font-size:13px}.package-card .btn{width:100%;gap:10px;font-size:11px;margin-top:22px;padding:18px}.package-note{max-width:900px!important;margin-top:30px}.credentials{padding-left:20px;line-height:2;font-size:14px}.credentials li::marker{color:var(--orange)}.poster-photo{background:#0a0a0a;min-height:650px}.poster-photo img{object-fit:contain;filter:none}.dark .note{color:#a9a9a9}.reveal{animation-duration:.55s}.btn:hover span{transform:translate(3px,-3px)}.btn span{transition:transform .25s}.ticker:hover div{animation-play-state:paused}.feature{transition:padding .25s}.feature:hover{padding-left:10px}.cta{position:relative;overflow:hidden}.cta:after{content:'';position:absolute;width:350px;height:350px;border:2px solid #1919191a;border-radius:50%;right:25%;top:-40px;pointer-events:none}.cta>*{position:relative;z-index:1}
@keyframes shot{0%,12%{offset-distance:0%;transform:scale(1)}70%{offset-distance:100%;transform:scale(.75)}85%,100%{offset-distance:100%;transform:scale(.75)}}@keyframes passball{0%,15%{offset-distance:0%}50%,65%{offset-distance:100%}100%{offset-distance:0%}}@keyframes slide{0%,100%{transform:translateX(-50px)}50%{transform:translateX(50px)}}@keyframes live{50%{box-shadow:0 0 0 5px #e6c77f20}}@keyframes underline{from{transform:scaleX(0) skewX(-25deg)}to{transform:scaleX(1) skewX(-25deg)}}@keyframes cardpop{50%{transform:translateY(-8px)}}
@media(max-width:1000px){nav{gap:16px}.hero-layout{gap:30px}.skill-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(65px,8vw,105px)}.package-card{padding:25px 18px}.skill-detail{flex-wrap:wrap}}
@media(max-width:800px){.hero-layout{grid-template-columns:1fr}.hero-video{transform:none;margin:15px 0 30px;width:100%;max-width:520px;justify-self:center}.reel-wrap{height:500px}.hero h1{font-size:clamp(65px,12vw,105px)}.package-grid,.rates,.challenge{grid-template-columns:1fr}.rates{gap:14px;margin-bottom:60px}.challenge>div:last-child{border-left:0;border-top:1px solid #19191933;padding:25px 0 0}.skill{min-height:340px;padding:20px 15px}.skill-title{font-size:28px}.court-demo{height:110px}.skill-detail{padding:25px 20px}.package-card .btn{font-size:13px}.duration-tabs{display:flex}.duration-tabs button{flex:1;padding:14px 10px;font-size:12px}.poster-photo{min-height:600px}}
@media(prefers-reduced-motion:reduce){.moving-ball{offset-distance:65%}.defence .p1{transform:none}.hero-copy .accent:after{transform:skewX(-25deg)}}
.highlight-cover{height:515px;position:relative;display:block;overflow:hidden;background:#090909}.highlight-cover>img{position:absolute;width:200%;height:auto;max-width:none;right:-9%;top:-29%;filter:none;opacity:.7;transition:transform .7s}.cover-shade{position:absolute;inset:0;background:linear-gradient(0deg,#131313 0%,#13131333 65%,#13131311)}.play-ring{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);height:84px;width:84px;border:1px solid var(--lime);color:var(--lime);border-radius:50%;display:grid;place-items:center;padding-left:5px;font-size:24px;box-shadow:0 0 0 12px #e6c77f10;transition:background .25s,box-shadow .25s}.highlight-cover:hover .play-ring{background:var(--orange);color:var(--ink);box-shadow:0 0 0 22px #e6c77f10}.highlight-cover:hover>img{transform:scale(1.04)}.cover-title{position:absolute;left:30px;right:20px;bottom:30px;font:800 60px/.95 'Barlow Condensed',Impact,sans-serif;color:#f2f2ef}.cover-title small{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:2px;margin-bottom:15px;color:var(--lime)}.cover-title em{display:block;font:600 13px 'DM Sans',sans-serif;margin-top:20px;color:var(--lime)}.load-reel{background:transparent;border:0;color:var(--lime);font-size:10px;text-decoration:underline;padding:0}.reel-preview iframe{width:100%;height:570px;border:0;background:#fff}.reel-preview .highlight-link{color:var(--lime)}@media(max-width:800px){.highlight-cover{height:480px}.highlight-cover>img{top:-31%}.cover-title{font-size:54px}}
.highlight-cover>img{width:330%;right:-20%;top:-155%;height:auto}.highlight-cover{isolation:isolate}@media(max-width:800px){.highlight-cover>img{width:330%;right:-20%;top:-155%}}

.social-icon{width:28px;height:28px;vertical-align:middle;flex-shrink:0}.social-badge{display:grid;place-items:center;width:52px;height:52px;border-radius:15px}.social-badge .social-icon{width:42px;height:42px}.instagram-badge{color:white!important;background:linear-gradient(140deg,#7044df,#e23385 55%,#ffae43)}.footer-links a{display:inline-flex;align-items:center;gap:8px}.footer-links .social-icon{width:21px;height:21px}.social-contact:hover .social-badge{transform:rotate(-6deg) scale(1.06)}.social-badge{transition:transform .25s ease}

.coach-photo.portrait-photo{aspect-ratio:816/1256;max-height:760px;background:#ddd}.coach-photo.portrait-photo img{width:100%;height:100%;object-fit:cover;object-position:center}

button.highlight-cover{border:0;padding:0;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}button.highlight-cover[hidden]{display:none}.hero-video .reel-preview iframe{min-height:620px}@media(max-width:600px){.hero-video .reel-preview iframe{min-height:540px}}

.native-highlights{display:block;width:100%;height:560px;object-fit:contain;background:#111111}.coach-photo img{filter:none}@media(max-width:600px){.native-highlights{height:500px}}

/* Competition collections and accessible photo carousels. */
.coach-achievements{background:#e7e7e7}.collection-jumps{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 55px}.collection-jumps a{border:1px solid #acacac;padding:13px 18px;font-size:12px;background:var(--cream)}.collection-jumps a:hover{background:var(--ink);color:var(--cream)}.collection-group{scroll-margin-top:25px;margin-top:65px}.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #b2b2b2;padding-bottom:22px;margin-bottom:30px;font-size:32px}.collection-heading span{font:11px 'DM Sans',sans-serif;letter-spacing:1px}.achievement-card{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.7fr);background:var(--cream);border:1px solid #b9b9b9;margin:0 0 30px;scroll-margin-top:25px}.achievement-copy{padding:35px 30px}.collection-year{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#585858}.achievement-copy h3{font-size:clamp(30px,3vw,48px);line-height:1.05;margin:25px 0;overflow-wrap:anywhere}.placement{display:inline-block;background:var(--ink);color:var(--lime);padding:10px 15px;font-size:13px;font-weight:700}.placement.medal{background:var(--orange);color:var(--ink)}.achievement-copy p{font-size:12px;color:#585858}.collection-total{margin-top:35px}.photo-carousel{min-width:0;background:#181818;color:var(--cream)}.photo-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;position:relative;scrollbar-width:thin;scrollbar-color:#767676 #272727}.photo-track:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}.photo-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;margin:0}.photo-open{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#181818;cursor:zoom-in}.photo-open img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.photo-open:focus-visible{outline:3px solid var(--lime);outline-offset:-4px}.photo-enlarge{position:absolute;right:12px;bottom:12px;padding:8px 12px;background:#111c;color:white;font-size:10px;pointer-events:none}.photo-controls{display:flex;align-items:center;gap:16px;padding:16px 20px;border-top:1px solid #464646}.photo-count{font-size:12px;font-variant-numeric:tabular-nums;min-width:50px}.swipe-hint{font-size:10px;color:#bcbcbc}.photo-controls>div{display:flex;gap:8px;margin-left:auto}.photo-controls .round{border-color:#787878}.round:disabled{opacity:.3;cursor:default}.round:hover:not(:disabled){background:var(--orange);color:var(--ink)}.photo-dialog{background:#131313;color:var(--cream);border:1px solid #686868;padding:20px;width:min(1150px,95vw);max-width:95vw;max-height:95dvh;overflow:auto}.photo-dialog::backdrop{background:#0a0a0aed}.photo-dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:20px}.photo-dialog-title{font-size:13px;margin:0}.photo-close{background:var(--cream);border:0;padding:12px 16px;white-space:nowrap;cursor:pointer;font-size:12px}.photo-dialog-image{display:block;width:100%;height:calc(90dvh - 150px);object-fit:contain;margin:15px 0}.photo-dialog-controls{display:flex;justify-content:center;align-items:center;gap:25px;font-size:12px}.photo-viewer-open{overflow:hidden}
@media(max-width:800px){.achievement-card{grid-template-columns:1fr}.achievement-copy{padding:25px}.achievement-copy h3{font-size:36px;max-width:580px;margin:15px 0}.collection-total{display:none}.achievement-copy p{display:inline-block;margin-left:12px}.collection-jumps{display:flex;position:static;flex-direction:row;align-items:stretch;padding:0;background:none;gap:8px}.collection-jumps a{padding:11px;font-size:11px}.collection-heading{font-size:28px}.collection-heading span{font-size:9px}.photo-controls{padding:12px 15px}.photo-dialog{padding:12px}.photo-dialog-title{font-size:11px}.photo-dialog-image{height:calc(88dvh - 150px)}}

/* JR Basketball: gold, silver and black, with circular and angled emblem details. */
:root{--gold:#e1b854;--silver:#d7d9dc;--cream:#f2f2ef;--ink:#0b0b0b;--orange:#9e721c;--lime:#e6c77f;--muted:#9d9d9d}
header{height:106px;background:#060606;border-bottom:1px solid #8e6c2b;padding:0 5%}.brand{gap:15px;flex-shrink:0}.brand-mark{position:relative;display:block;overflow:hidden;width:68px;height:68px;border-radius:50%;background:#000;flex-shrink:0}.brand-mark img{position:absolute;display:block;width:300%;max-width:none;height:auto;left:-94%;top:-75%}.brand b{font-size:27px;line-height:1;letter-spacing:1px;color:var(--silver)}.brand small{font-size:8px;letter-spacing:1.7px;color:#e6c77f;margin-top:8px;white-space:nowrap}.brand:hover .brand-mark{box-shadow:0 0 22px #e1b85426}nav a[aria-current=page]{border-color:var(--gold)}
.hero,.page-intro,.dark{background-color:#0b0b0b}.hero{background-image:radial-gradient(ellipse at 80% 40%,#e1b85412,transparent 62%)}.hero .accent,.page-intro .accent,.dark .accent{color:#e6c77f}.hero:before{border-color:#e1b85430}.hero-copy .accent:after{height:4px;background:linear-gradient(90deg,#ad7c24,#f8dda0,#c19a41);transform:skewX(-25deg)}
.btn{background:linear-gradient(115deg,#d2a342 0%,#f4d991 48%,#deb650 100%);color:#111;border:1px solid #f6dfaa;box-shadow:inset 0 1px 0 #fff5}.btn:hover{background:linear-gradient(115deg,#e2b85b,#ffe8b5,#ecc974);box-shadow:0 6px 20px #af81252b}.btn.light{background:linear-gradient(125deg,#b8bcc0,#f4f4f5 48%,#c9cbd0);color:#111;border-color:#e0e1e3}.eyebrow:before{background:linear-gradient(135deg,#bd8c2f,#efd386)}
.ticker{background:linear-gradient(100deg,#c49332,#efd28a 55%,#cfa74e);color:#0b0b0b}.hero-bottom span:nth-child(2){color:#e8cc8e}.hero-video{background:#111;border-color:#6e5c35;box-shadow:12px 12px 0 #d1ad5112}.video-topline{color:#e6c77f}.live-dot{background:#e6c77f}.video-credit{color:#d1d1d1}.native-highlights{background:#080808}.video-topline>span:last-child{color:#ddd}
.cta{background:linear-gradient(120deg,#bd8c32,#edcc7d 55%,#d3ac52);color:#101010}.cta:after{border-color:#5c431f40}.skill{border-color:#c2c2c2;background:#ededeb}.skill[aria-pressed=true]{background:#101010;border-color:#a77920}.skill[aria-pressed=true] .skill-desc{color:#c6c6c6}.skill-detail{border-color:#c6c6c6;border-top-color:#b58a32;background:#fcfcfa}.challenge{background:linear-gradient(115deg,#c79a41,#efd496)}.skill:hover{background:#e3e3df}.skill[aria-pressed=true]:hover{background:#1a1a1a}
.rates article{border-top-color:#b58a32;background:linear-gradient(125deg,#e1e2e3,#f4f4f1)}.package-card{background:#fcfcfa;border-color:#bfc0c1}.package-card:hover{box-shadow:8px 8px 0 #d6b263}.package-price{color:#8b6418}.duration-tabs{background:#ddd}.duration-tabs button.active{background:#111;color:#e6c77f}.motion-toggle{background:#111;color:#e6c77f;border-color:#82704b}
.coach-achievements{background:linear-gradient(145deg,#e4e5e6,#f3f3f0 55%,#e6e6e2)}.collection-heading,.achievement-card{border-color:#bcbec0}.collection-jumps a{background:#f4f4f1;border-color:#b4b6b8}.collection-jumps a:hover{background:#111;color:#ebd39c}.achievement-copy{position:relative}.achievement-copy:before{content:'';position:absolute;left:0;top:0;width:65px;height:4px;background:linear-gradient(90deg,#af7e25,#f3db9c);clip-path:polygon(0 0,100% 0,94% 100%,0 100%)}.achievement-copy h3{letter-spacing:-.5px}.placement.medal{background:linear-gradient(110deg,#c69939,#f4d68a,#d2a944);color:#17130a;border:1px solid #b38c35}.placement{background:#111;color:#e6c77f}.collection-year,.achievement-copy p{color:#555}.photo-carousel,.photo-open{background:#101010}.photo-track{scrollbar-color:#a48747 #222}.photo-controls{border-color:#444}.photo-controls .round{border-color:#756849}.round:hover:not(:disabled){background:#e1b854;color:#111}.swipe-hint{color:#bdbdbd}.photo-dialog{background:#0b0b0b;border-color:#8b7442}.photo-dialog::backdrop{background:#050505ed}.photo-enlarge{background:#080808d9}.page-progress{background:linear-gradient(90deg,#b58a32,#f3dca2,#c1c5cc)}
footer{background:#050505;color:#bcbcbc;border-top:1px solid #6b572d}.footer-top{align-items:center}.footer-top .brand-mark{width:230px;height:210px;border-radius:0}.footer-top .brand-mark img{width:205%;left:-51%;top:-56%}.footer-top .brand b{display:none}.footer-bottom{border-color:#353535}.footer-links a:hover{color:#efd38d}.footer-links{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1000px){header{padding:0 4%}header .brand{gap:10px}header .brand b{font-size:24px}nav{gap:15px}nav .btn{padding:16px 17px;gap:16px}}
@media(max-width:800px){header{height:88px}header .brand-mark{width:58px;height:58px}header .brand b{font-size:25px}header .brand small{font-size:7px;letter-spacing:1.1px}header nav{top:88px;background:#080808;border-bottom:1px solid #8e6c2b}.menu{border-color:#8d794e;color:#ebd39c}.footer-top{align-items:flex-start}.footer-top .brand-mark{width:205px;height:187px}.footer-links{justify-content:flex-start}.collection-jumps{background:none}.hero-video{box-shadow:8px 8px 0 #d1ad5112}}
@media(max-width:380px){header .brand b{font-size:21px}header .brand small{font-size:6px}header .brand-mark{width:49px;height:49px}.brand{gap:8px}}

/* Keep the entire emblem and wordmark inside their visible bounds. */
header .brand-mark{border-radius:0;overflow:hidden}
header .brand-mark img{width:270%;left:-80%;top:-64%}
.footer-top .brand-mark img{width:190%;left:-45%;top:-48%}
.brand b{line-height:1.15}.brand small{line-height:1.5}
@media(max-width:380px){header .brand{min-width:0}header .brand b{font-size:20px;letter-spacing:.5px}header .brand small{letter-spacing:.6px}}

/* Clear action labels and consistent button typography. */
.btn{justify-content:center;text-align:center;gap:0;font-family:'DM Sans',sans-serif;font-weight:700;font-size:15px;line-height:1.4;letter-spacing:.15px;padding:18px 26px;min-height:56px;border-radius:4px;white-space:normal;text-wrap:balance}
header .btn{font-size:13px;min-height:48px;padding:14px 24px}.hero .actions .btn{font-size:16px;min-width:255px;padding:20px 28px}.textlink{font-weight:700;font-size:14px;line-height:1.5;gap:0}.actions{gap:24px}.cta .btn{min-width:210px}.package-card .btn{font-size:14px;padding:17px 20px;line-height:1.45}.booking .btn{width:100%;font-size:15px;margin-top:4px}
.tab,.duration-tabs button{font-weight:700;font-size:14px;line-height:1.4;padding:15px 23px;border-radius:4px;min-height:50px}.tab.active,.duration-tabs button.active{box-shadow:inset 0 -3px 0 #d9b76c}.skill{border-radius:5px;padding:28px 24px}.skill-title{font-size:36px;line-height:1.05;font-weight:800;margin:23px 0 14px}.skill-desc{font-size:14px;line-height:1.65}.skill-explore{font-weight:700;font-size:11px;letter-spacing:1px;line-height:1.5;border-top:1px solid #9995;margin-top:24px;padding-top:18px}.collection-jumps a{font-size:13px;font-weight:700;line-height:1.4;padding:14px 19px;border-radius:4px;text-align:center}.ticker-divider{display:inline-block;vertical-align:middle;width:1px;height:21px;background:#17130a66;margin:0 12px}.photo-enlarge{font-weight:700;font-size:11px}.photo-close{font-weight:700;letter-spacing:.2px}.round{border-radius:4px;font-weight:700}
@media(max-width:800px){.btn{font-size:15px;padding:17px 22px;min-height:54px}.hero .actions{align-items:stretch;gap:16px}.hero .actions .btn{width:100%;max-width:400px;min-width:0;padding:20px 24px;font-size:16px}.hero .actions .textlink{align-self:flex-start;font-size:14px}.skill{padding:24px 18px}.skill-title{font-size:30px;line-height:1.1;letter-spacing:-.3px;margin-top:18px}.skill-desc{font-size:13px;line-height:1.6}.skill-explore{font-size:10px;letter-spacing:.6px;padding-top:14px}.duration-tabs button{padding:15px 12px;font-size:13px}.collection-jumps a{font-size:12px;padding:13px 15px}.package-card .btn{font-size:14px}.cta .btn{min-width:210px}}
@media(max-width:380px){.skill{padding:22px 14px}.skill-title{font-size:27px}.skill-desc{font-size:12px}}

/* WhatsApp contact and pre-filled enquiry handoff. */
.whatsapp-badge{background:#087b43;color:white!important}.whatsapp-badge .social-icon{width:38px;height:38px}.btn.whatsapp-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#087b43;border-color:#087b43;color:#fff}.btn.whatsapp-btn:hover{background:#076638;border-color:#076638;box-shadow:0 5px 16px #087b4326}.whatsapp-btn .social-icon{width:26px;height:26px}.whatsapp-btn span{transform:none!important}.whatsapp-float{position:fixed;right:20px;bottom:72px;z-index:50;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#087b43;color:#fff;border:1px solid #ffffff40;border-radius:30px;padding:12px 18px;box-shadow:0 4px 18px #0003;font-size:13px;font-weight:700;line-height:1.3;transition:background .2s,transform .2s}.whatsapp-float:hover{background:#076638;transform:translateY(-2px)}.whatsapp-float .social-icon{width:28px;height:28px}.whatsapp-float:focus-visible{outline:3px solid #d9b76c;outline-offset:4px}#result .actions{margin-top:18px}#result #copy{background:#f2f2ef;border:1px solid #bbb;color:#111}
@media(max-width:600px){.whatsapp-float{right:16px;bottom:76px;width:52px;height:52px;padding:10px;border-radius:50%}.whatsapp-float>span{display:none}.whatsapp-float .social-icon{width:30px;height:30px}.booking .whatsapp-btn{font-size:15px;gap:10px;padding:16px 14px}}
@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}}

/* Persistent, collapsible navigation for desktop and mobile. */
html{scroll-padding-top:110px}header{position:sticky;top:0;z-index:100;height:96px;box-shadow:0 4px 16px #0002}.page-progress{z-index:110}header .menu{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;min-width:110px;padding:12px 18px;background:#0b0b0b;color:#f0d797;border:1px solid #8d794e;border-radius:4px;font-size:14px;font-weight:700;line-height:1.3}.menu-bars{display:flex;flex-direction:column;justify-content:center;gap:4px;width:18px;height:18px}.menu-bars i{height:2px;width:18px;background:currentColor;display:block;transition:transform .2s,opacity .2s}.menu[aria-expanded=true] .menu-bars i:first-child{transform:translateY(6px) rotate(45deg)}.menu[aria-expanded=true] .menu-bars i:nth-child(2){opacity:0}.menu[aria-expanded=true] .menu-bars i:last-child{transform:translateY(-6px) rotate(-45deg)}header nav{display:none;position:absolute;top:100%;left:auto;right:5%;width:330px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 110px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:4px;padding:16px;background:#090909;color:#f2f2ef;border:1px solid #8d794e;border-top:0;border-radius:0 0 6px 6px;box-shadow:0 14px 25px #0004;font-size:15px}header nav.open{display:flex}header nav a:not(.btn){display:block;padding:15px 18px;border-bottom:0;font-weight:700;line-height:1.4;border-radius:3px}header nav a[aria-current=page]{border:0;background:#e1b85419;box-shadow:inset 3px 0 0 #e1b854;color:#efd493}header nav a:not(.btn):hover{background:#ffffff0d}header nav .btn{margin-top:10px;font-size:14px;min-height:50px}header .menu:focus-visible{outline:3px solid #e1b854;outline-offset:3px}
@media(max-width:800px){header{height:82px}header .menu{min-width:95px;min-height:44px;font-size:13px;padding:11px 14px;gap:10px}header nav{top:100%;right:0;left:0;width:100%;max-width:100%;max-height:calc(100dvh - 82px);border-left:0;border-right:0;padding:14px 6% 20px;border-radius:0}html{scroll-padding-top:96px}}
@media(max-width:380px){header .menu{min-width:78px;padding:10px;font-size:12px;gap:8px}}
@media(prefers-reduced-motion:reduce){.menu-bars i{transition:none}}

/* Larger full-colour social logos across contact, footer and enquiry buttons. */
.social-icon{width:40px;height:40px;object-fit:contain;border-radius:10px}
.footer-links .social-icon{width:38px;height:38px}.footer-links a{gap:12px;min-height:44px}
.social-contact{grid-template-columns:68px minmax(0,1fr);align-items:center;gap:18px}
.social-contact .social-badge{width:64px;height:64px;background:transparent;border-radius:15px}
.social-badge .social-icon,.whatsapp-badge .social-icon{width:64px;height:64px;border-radius:15px}
.whatsapp-btn .social-icon{width:36px;height:36px;border-radius:9px}
.whatsapp-float .social-icon{width:40px;height:40px;border-radius:10px}
@media(max-width:600px){.whatsapp-float{width:64px;height:64px;padding:8px}.whatsapp-float .social-icon{width:44px;height:44px;border-radius:11px}.footer-links .social-icon{width:36px;height:36px}.social-contact .textlink{overflow-wrap:anywhere}}

.enquiry-only{max-width:850px;margin:0 auto;padding-top:48px;padding-bottom:64px}.enquiry-only .booking{border-radius:12px;padding:clamp(24px,5vw,48px)}.enquiry-only .booking h3{font-size:clamp(32px,5vw,44px);line-height:1.05}

.review-nav{align-items:center}.review-count{font-size:13px;letter-spacing:1px;color:#d9bb76;margin-right:10px}.reviews .quote{overflow-wrap:anywhere}

.reviews .quote{font-size:clamp(18px,2vw,25px);line-height:1.65;white-space:pre-wrap}

/* Keep the logo tagline consistent with one-to-one coaching. */
.brand-tagline{display:none}.footer-top .brand-tagline{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;left:16%;right:16%;top:91.5%;height:8.5%;background:#000;color:#ddd;font:700 8px/1 'DM Sans',sans-serif;letter-spacing:2.2px;white-space:nowrap;text-shadow:0 1px 1px #777}
@media(max-width:800px){.footer-top .brand-tagline{font-size:7px;letter-spacing:2px}}

/* Goals and values copy: readable on small screens and beside the video. */
.hero h1{font-size:clamp(56px,6.4vw,100px);overflow-wrap:normal}
.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.goal-card{padding:32px;border:1px solid #c7c3b9;background:#fffdf7;display:flex;flex-direction:column;align-items:flex-start}
.goal-card h3{font-size:clamp(29px,3vw,42px);line-height:1.06;margin:22px 0 8px}
.goal-card p{font-size:15px;margin-bottom:18px}.goal-card .textlink{margin-top:auto;font-weight:700}
.values-section .features{margin-top:0}.values-section .feature{border-color:#424242}.values-section .feature p{color:#c4c4c4}
.cta p{max-width:560px}.cta h2{font-size:clamp(38px,4.2vw,66px)}
@media(max-width:800px){.hero h1{font-size:clamp(46px,10.6vw,80px)}.goal-grid{grid-template-columns:1fr}.goal-card{padding:26px}.goal-card h3{font-size:34px}}

/* Illustrated goals: clear starting points, visible next actions. */
.goal-section{background:#f2f2ef}.goal-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.goal-filters button{border:1px solid #c4bda9;border-radius:30px;padding:12px 19px;background:#fffdf7;font-size:13px;font-weight:700;color:var(--ink);transition:background .2s,color .2s}
.goal-filters button[aria-pressed="true"]{background:#151512;color:#efd48a;border-color:#151512}.goal-filters button:hover{border-color:#a77920}
.goal-match-count{font-size:12px!important;color:#686355;letter-spacing:.3px;margin:0 0 24px}
.goal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.goal-card{padding:0;overflow:hidden;border-color:#d9d3c5;border-radius:12px;transition:transform .2s,box-shadow .2s}
.goal-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #342b1912}.goal-card[hidden]{display:none!important}
.goal-visual{position:relative;width:100%;background:#fffdf7;overflow:hidden;aspect-ratio:4/3;flex-shrink:0}
.goal-visual img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s}.goal-card:hover .goal-visual img{transform:scale(1.035)}
.goal-number{position:absolute;top:18px;left:18px;background:#fffdf7e8;border:1px solid #d7c28d;padding:7px 10px;border-radius:50%;font-size:11px;font-weight:700;color:#6f5318}
.goal-card-body{padding:28px;display:flex;flex:1;flex-direction:column;align-items:flex-start;width:100%}.goal-card-body .eyebrow{font-size:10px;letter-spacing:1.5px}
.goal-card h3{font-size:clamp(29px,2.6vw,39px);line-height:1.05;margin:18px 0 0;letter-spacing:-.5px}
.goal-card p{font-size:14px;line-height:1.75;margin:16px 0 20px;max-width:540px}
.goal-tags{display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0 0 24px;list-style:none}.goal-tags li{font-size:10px;padding:7px 10px;border-radius:20px;background:#efe8d7;color:#5f4a1f;font-weight:700}
.goal-action{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:16px 18px;border:1px solid #bf9c53;border-radius:5px;background:#151512;color:#f2d78f;font-size:13px;font-weight:700;min-height:51px}.goal-action:hover{background:#2b271d}.goal-action>span:last-child{font-size:20px}
.goal-card:last-child{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}.goal-card:last-child .goal-visual{height:100%;aspect-ratio:auto;min-height:300px}
.goal-grid.is-filtered{grid-template-columns:1fr;max-width:1000px}.goal-grid.is-filtered .goal-card{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.goal-grid.is-filtered .goal-visual{height:100%;aspect-ratio:auto;min-height:300px}
@media(max-width:1050px){.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-card h3{font-size:34px}}
@media(max-width:650px){.goal-grid,.goal-grid.is-filtered{grid-template-columns:1fr}.goal-card:last-child,.goal-grid.is-filtered .goal-card{grid-column:auto;display:flex;flex-direction:column}.goal-visual,.goal-card:last-child .goal-visual,.goal-grid.is-filtered .goal-visual{aspect-ratio:4/3;height:auto;min-height:0}.goal-card-body{padding:24px}.goal-card h3{font-size:33px}.goal-filters{gap:8px}.goal-filters button{font-size:12px;padding:11px 14px}.goal-tags li{font-size:11px}}
@media(prefers-reduced-motion:reduce){.goal-card,.goal-visual img{transition:none}.goal-card:hover,.goal-card:hover .goal-visual img{transform:none}}

/* Still basketball photography with deliberate crops for each goal. */
.goal-visual img{object-fit:cover;object-position:center;transition:none}.goal-card{transition:none}.goal-card:hover,.goal-card:hover .goal-visual img{transform:none}
[data-goal-card="parents"] .goal-visual img{object-position:50% 28%}[data-goal-card="beginner"] .goal-visual img{object-position:50% 18%}[data-goal-card="progress"] .goal-visual img{object-position:50% 25%}
.goal-photo-credits{margin-top:20px;max-width:900px}.goal-photo-credits summary{font-size:12px;font-weight:500;color:#6d675c}.goal-photo-credits p{font-size:12px}.goal-photo-credits a{text-decoration:underline}
@media(min-width:651px){.goal-grid:not(.is-filtered) .goal-card:last-child{display:flex;flex-direction:column}.goal-grid:not(.is-filtered) .goal-card:last-child .goal-visual{height:auto;min-height:0;aspect-ratio:2/1}.goal-grid:not(.is-filtered) .goal-card:last-child .goal-visual img{object-position:center}}

/* Singapore competition photography. */
.goal-photo-caption{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 13px;background:linear-gradient(transparent,#000b);color:white;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
[data-goal-card="parents"] .goal-visual img{object-position:50% 50%}[data-goal-card="beginner"] .goal-visual img{object-position:50% 46%}[data-goal-card="team"] .goal-visual img{object-position:50% 48%}[data-goal-card="progress"] .goal-visual img{object-position:50% 36%}[data-goal-card="friends"] .goal-visual img{object-position:50% 35%}
/* Keep faces and basketballs in view in the portrait training scenes. */
.goal-visual{aspect-ratio:4/5}[data-goal-card="parents"] .goal-visual img{object-position:50% 28%}[data-goal-card="beginner"] .goal-visual img{object-position:50% 20%}[data-goal-card="progress"] .goal-visual img{object-position:50% 25%}
@media(max-width:650px){.goal-visual,.goal-grid.is-filtered .goal-visual{aspect-ratio:4/5}.goal-card:last-child .goal-visual{aspect-ratio:4/3}}

/* Student package promotion matches the existing bundle cards. */
.student-promo{margin-top:24px;border-top:4px solid #bf9848;background:#fffdf7}
.student-promo h3{margin-top:20px}.student-promo .student-discount{font:800 clamp(46px,5.5vw,78px)/1.05 'Barlow Condensed',Impact,sans-serif;color:var(--orange);margin:22px 0 14px;letter-spacing:-.5px}
.student-discount span{display:inline-block;color:var(--ink)}.student-promo .student-eligibility{font-size:16px;line-height:1.6;margin:0 0 8px}.student-promo .btn{width:auto;min-width:280px;font-size:13px}
@media(max-width:650px){.student-promo .btn{width:100%;min-width:0}.student-discount span{display:block}.student-promo{padding:28px 22px}.student-promo h3{font-size:38px}}
