/* Hoopss composition + Rep Republic's native sticky covers, adapted to No Plan B. */
:root{--blue:#00D0FF;--night:#081b25;--ink:#102a35;--paper:#f6f7f8;--brand-text:#00778f}
html{scroll-padding-top:95px}body{overflow-x:clip}main{isolation:isolate}main>section{position:relative;background:var(--paper)}.wrap{width:min(1280px,88%)}h2{font-size:clamp(48px,5.8vw,86px);line-height:.98;letter-spacing:-.015em}p{font-size:16px}.eyebrow,.tag{font-size:12px}.btn{border-radius:4px;padding:15px 24px;min-height:52px;transition:background .2s,transform .25s,color .2s}.btn:hover{background:white;color:var(--night);border-color:white;transform:translateY(-2px)}.textlink{display:inline-block;font-size:15px;transition:color .2s,border-color .2s}.textlink:hover{color:var(--night)}.header{background:var(--night);color:white;padding:16px 0}.header:not(.scrolled){color:white}.header.scrolled{color:var(--ink);background:#f6f7f8f5;padding:10px 0}.brand-logo{mix-blend-mode:normal;width:45px;height:45px;border-radius:50%}.wordmark small{letter-spacing:.12em}.header .btn{color:var(--night)}.desktopnav{font-size:14px;gap:25px}.header.scrolled .wordmark,.header.scrolled .desktopnav{color:var(--ink)}.menu-trigger{color:inherit}.menu nav a{font-family:'NPB Display',Impact,sans-serif;letter-spacing:0}.menu-bottom{font-size:16px}
main>.reference-hero{background:var(--night);color:white;min-height:790px;height:100svh;max-height:1120px;overflow:clip;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:105px 4% 65px;z-index:1}
.reference-stage{position:relative;isolation:isolate;width:min(1200px,100%);height:510px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.reference-stage h1{position:relative;width:100%;margin:0;text-align:center;font-family:'NPB Display',Impact,sans-serif;font-weight:800;font-size:clamp(75px,10vw,148px);line-height:1;letter-spacing:-.015em;transform:translateY(-20px);z-index:1}.reference-stage h1 span{display:block;white-space:nowrap}.reference-stage h1 span+span{color:var(--blue)}.reference-athlete{position:absolute;z-index:2;width:350px;height:525px;left:50%;top:-8px;transform:translateX(-50%);object-fit:contain;pointer-events:none}.reference-conversion{position:relative;z-index:3;max-width:510px;text-align:center;margin-top:12px}.reference-conversion p{color:#e0e8ed;font-size:16px;line-height:1.5;margin:0 0 22px}.reference-conversion .btn{min-width:190px}.reference-discover{position:absolute;bottom:21px;left:50%;transform:translateX(-50%);color:#ccd7de;font-size:12px;border-bottom:1px solid #ffffff45;letter-spacing:.03em;white-space:nowrap}
main>.reference-box{background:var(--blue);color:var(--night);z-index:2;padding:0 0 80px;overflow:visible}.reference-band{overflow:hidden;border-bottom:1px solid #102a3530;white-space:nowrap;text-align:center;font-family:'NPB Display',Impact,sans-serif;font-size:clamp(20px,3vw,36px);font-weight:800;padding:15px 20px}.box-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:100px;padding-bottom:85px}.box-intro h2{margin:24px 0 28px}.box-intro p{font-size:17px;line-height:1.6;max-width:500px}.reference-box .textlink{color:var(--night);margin-top:14px}.box-photo{margin:0;position:relative;overflow:hidden;aspect-ratio:.9;align-self:stretch;border-radius:5px;background:var(--night)}.box-photo img{object-position:56% center;transform:scale(1.02)}.box-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#081b25da);padding:55px 24px 22px;color:white;font-size:14px}.box-principles{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.values-title{position:sticky;top:120px}.values-title h2{font-size:clamp(42px,5vw,76px)}.values-stack{position:relative}.value-panel{position:sticky;top:115px;min-height:320px;border:1px solid #102a3545;border-radius:5px;padding:30px 34px;background:var(--blue);margin-bottom:25px;box-shadow:0 -5px 15px #081b2505}.value-panel:nth-child(2){top:150px;background:#fff}.value-panel:nth-child(3){top:185px;background:#e4f8fd}.value-panel:nth-child(4){top:220px;background:var(--night);color:white}.value-panel span{font-size:13px;display:block}.value-panel h3{font-family:'NPB Display',Impact,sans-serif;font-size:clamp(38px,3.8vw,56px);line-height:1;margin:25px 0 18px;font-weight:800}.value-panel p{max-width:390px;line-height:1.55;margin:0}.difference{margin-top:75px;border-top:1px solid #102a3540;padding-top:40px}.difference>h3{font-family:'NPB Display',Impact,sans-serif;font-size:38px;margin:0 0 22px}.difference-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.difference details{border-bottom:1px solid #102a3540;padding:17px 0}.difference summary{font-size:17px;font-weight:700;cursor:pointer;line-height:1.5;list-style:none;display:flex;justify-content:space-between;gap:20px}.difference summary::after{content:'+';font-size:22px;font-weight:400;flex:0 0 auto}.difference details[open] summary::after{content:'−'}.difference details p{font-size:16px;line-height:1.65;margin:20px 0 5px}.difference-grid details:first-child{grid-row:span 2}
main>.classes{background:var(--night);color:white;z-index:3;overflow:clip;padding:90px 0}.classes-layout{gap:60px}.classes .class-tab .name{font-size:clamp(28px,3.6vw,48px);line-height:1.1}.class-tab{padding:17px 0}.classes .class-panel p{color:#c4d1d9;line-height:1.6;font-size:16px}.class-giant{font-size:clamp(60px,6vw,94px);pointer-events:none;line-height:1;top:35px}.class-photo{height:365px}.class-signal{font-size:12px}.recovery{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:45px;padding-top:35px;border-top:1px solid #ffffff35}.recovery>span{font-size:14px;color:#92eaff}.recovery h3{font-family:'NPB Display',Impact,sans-serif;font-size:42px;margin:0 0 15px;line-height:1}.recovery p{color:#c4d1d9;font-size:16px;margin:0;max-width:460px}
main>.coaches{background:white;z-index:4;padding:95px 0}.coach-profile{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.coach-profile>div>p{font-size:18px;color:var(--muted);margin-top:30px}.jeremy{border-top:1px solid var(--ink);padding-top:25px}.jeremy>span{font-size:14px;color:var(--brand-text)}.jeremy h3{font-family:'NPB Display',Impact,sans-serif;font-size:clamp(68px,7vw,108px);line-height:1;margin:18px 0 28px}.jeremy>p{font-size:17px;line-height:1.6}.jeremy>p:first-of-type{font-size:22px;line-height:1.4}.jeremy button{border:0;border-bottom:1px solid;background:none;padding:0 0 6px;margin-top:10px}.certifications{list-style:none;display:flex;flex-wrap:wrap;padding:0;gap:8px;margin:30px 0 0}.certifications li{padding:7px 11px;background:var(--paper);font-size:13px}
main>.planning{background:#edf0f2;z-index:5;padding:90px 0}.planning-grid{gap:65px}.planning-intro p{font-size:16px}.schedule-note{font-size:13px}.schedule-top span{font-size:12px}.slot span{font-size:13px}main>.testimonials{background:#daf6fc;z-index:6;padding:90px 0;overflow:clip}.quote-layout{grid-template-columns:1.5fr .6fr;gap:50px}.quote-number{font-family:'NPB Display',Impact,sans-serif;font-size:clamp(38px,4.5vw,68px);letter-spacing:-.015em;overflow-wrap:anywhere}.quote-number span{font-family:Arial,sans-serif;font-size:13px;letter-spacing:.04em}.quote-person span{font-size:13px}.quote-controls button{color:var(--ink)}main>.initiation{background:var(--blue);z-index:7;padding:90px 0;overflow:clip}.initiation:before{display:none}.initiation-head p{font-size:17px}.step p{font-size:16px}.initiation-bottom span{font-size:13px}.faq details p{font-size:16px}.faq h3{font-size:28px}main>.news{background:white;z-index:8;padding:90px 0}.news-card h3{font-family:'NPB Display',Impact,sans-serif;font-size:34px;letter-spacing:0}.news-card p{font-size:16px}main>.contact{background:var(--night);z-index:9;color:white;position:relative}.contact-info a{font-size:16px}.contact-info p{font-size:16px;color:#c4d1d9}.contact-info h3{font-size:14px}.contact .prototype-note{font-size:12px;color:#9dafbb;max-width:1000px}.footer-bottom{font-size:13px}.sms-link{display:none}.mobile-cta{z-index:45}.mobile-cta small{font-size:12px}
.club-entry{display:none}.entry-running .club-entry{display:grid;place-items:center;position:fixed;inset:0;z-index:150;background:#000;pointer-events:none;animation:entry-exit .35s .95s forwards,entry-safety .01s 2.5s forwards}.entry-mark{width:min(300px,72vw);text-align:center}.entry-mark svg{width:100%;height:auto;overflow:visible}.entry-mark>span{font-family:'NPB Display',Impact,sans-serif;font-size:36px;font-weight:800;letter-spacing:.02em;color:white;display:block;animation:entry-name .35s .55s both}.discs-left{animation:disc-left .3s .1s both}.discs-right{animation:disc-right .3s .1s both}.bar-sweep{transform-origin:left;animation:bar-sweep .45s .35s both}@keyframes bar-sweep{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes disc-left{from{transform:translateX(-35px);opacity:0}to{transform:none;opacity:1}}@keyframes disc-right{from{transform:translateX(35px);opacity:0}to{transform:none;opacity:1}}@keyframes entry-name{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes entry-exit{to{transform:translateY(-100%);visibility:hidden}}@keyframes entry-safety{to{visibility:hidden;opacity:0}}
@media(min-width:900px) and (prefers-reduced-motion:no-preference){.motion main>.stack-panel{position:sticky;top:var(--stack-top,0px)}.motion .reference-stage h1{transform:translateY(calc(-20px - var(--hero-scroll,0)*15px))}.motion .reference-athlete{transform:translateX(-50%) translateY(calc(var(--hero-scroll,0)*12px))}.motion .box-photo img{transform:scale(calc(1.06 - var(--box-scroll,0)*.06))}}
@media(max-width:1000px){.desktopnav{gap:16px;font-size:13px}.wordmark{font-size:20px}.header-row{gap:16px}.box-grid,.box-principles,.coach-profile{gap:40px}.reference-stage h1{font-size:10.3vw}.reference-stage{height:490px}.reference-athlete{height:490px;width:327px}.reference-conversion{margin-top:0}.planning-grid{gap:35px}}
@media(max-width:760px){html{scroll-padding-top:90px}.wrap{width:88%}.header{padding:13px 0}.header .header-cta,.desktopnav{display:none}.menu-trigger{display:block;min-height:44px;border-color:#ffffff50;font-size:13px}.header.scrolled .menu-trigger{border-color:#102a3540}.wordmark{font-size:20px}.brand-logo{width:38px;height:38px}.wordmark small{font-size:8px}.header-row{gap:10px}main>.reference-hero{height:auto;min-height:780px;padding:110px 5% 70px;justify-content:flex-start}.reference-stage{height:405px;width:100%;margin-top:0}.reference-stage h1{font-size:12.1vw;line-height:1.08;transform:translateY(-35px);letter-spacing:-.018em}.reference-athlete{width:260px;height:390px;top:8px;max-width:100%;object-fit:contain}.reference-conversion{margin-top:18px;max-width:365px}.reference-conversion p{font-size:16px;line-height:1.5;margin-bottom:22px}.reference-discover{bottom:22px}.reference-band{font-size:19px;padding:13px 4px;white-space:normal}.box-grid{grid-template-columns:1fr;gap:35px;padding-top:55px;padding-bottom:55px}.box-intro h2{font-size:56px}.box-intro p{font-size:16px}.box-photo{aspect-ratio:1.08;min-height:0}.box-principles{grid-template-columns:1fr;gap:30px}.values-title{position:relative;top:auto}.values-title h2{font-size:50px}.value-panel{position:relative;top:auto!important;min-height:0;padding:25px;margin-bottom:14px;box-shadow:none}.value-panel h3{font-size:38px;margin:20px 0 16px}.value-panel p{font-size:16px}.difference{margin-top:45px;padding-top:30px}.difference>h3{font-size:34px}.difference-grid{grid-template-columns:1fr}.difference summary{font-size:16px}.difference details:first-child{grid-row:auto}main>.reference-box{padding-bottom:55px}.section-head{display:block;margin-bottom:30px}.section-head p{margin-top:22px}.section-head>.textlink{margin-top:25px}h2{font-size:50px;line-height:1}.classes-layout{grid-template-columns:1fr;gap:30px}.classes .class-tab .name{font-size:30px}.class-tab{padding:15px 0;gap:16px}.class-tab .num{font-size:13px}.class-photo{height:310px}.class-giant{font-size:66px;left:18px;top:30px}.class-signal{font-size:10px;left:18px}.class-photo-label{font-size:10px;left:18px;right:18px}.class-panel h3{font-size:26px;line-height:1.2}.recovery{grid-template-columns:1fr;gap:20px;margin-top:25px;padding-top:25px}.recovery h3{font-size:38px}.coach-profile{grid-template-columns:1fr;gap:40px}.coach-profile>div>p{font-size:17px}.jeremy h3{font-size:76px}.jeremy>p:first-of-type{font-size:21px}.planning-grid{grid-template-columns:1fr;gap:35px}.schedule{padding:22px}.days{gap:6px}.days button{min-height:44px;font-size:13px}.schedule-top{gap:10px}.schedule-top h3{font-size:18px}.schedule-top span{max-width:95px;font-size:10px}.quote-layout{grid-template-columns:1fr;gap:35px}blockquote{font-size:32px;letter-spacing:-.03em}.quote-mark{margin-top:30px}.quote-person{align-items:flex-start}.quote-person p{font-size:14px;max-width:170px}.quote-number{font-size:54px}.quote-controls{gap:5px}.quote-controls button{width:42px;height:42px}.initiation-head{display:block}.initiation-head h2{font-size:54px}.initiation-head p{margin-top:25px}.steps{grid-template-columns:1fr;gap:26px}.step{padding-top:20px}.initiation-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.faq{grid-template-columns:1fr;gap:25px}.faq summary{font-size:16px}.news-grid{grid-template-columns:1fr;gap:35px}.news-image{height:290px}.news-card h3{font-size:32px}.contact-top{display:block}.contact-top .btn{margin-top:30px}.contact-info{grid-template-columns:1fr;gap:25px}.contact-info a{overflow-wrap:anywhere}.footer-bottom{flex-direction:column;align-items:flex-start;gap:18px}.sms-link{display:block}main>.classes,main>.coaches,main>.planning,main>.testimonials,main>.initiation,main>.news{padding:60px 0}.mobile-cta{padding:10px 5%}.mobile-cta .btn{font-size:13px;padding:10px 17px;min-height:44px}.mobile-cta b{font-size:14px}dialog{width:92%;max-height:85svh;padding:28px}dialog h2{font-size:44px}dialog p{font-size:16px}}
@media(max-width:370px){.reference-stage h1{font-size:12vw}.reference-stage{height:370px}.reference-athlete{height:365px;width:243px}.reference-conversion{margin-top:14px}.box-intro h2,h2{font-size:46px}.initiation-head h2{font-size:46px}.class-giant{font-size:55px}.schedule{padding:17px}.quote-controls button{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.club-entry{display:none!important}.reveal,.motion .reveal{opacity:1!important;transform:none!important;transition:none!important}.value-panel,.values-title,.stack-panel{position:relative!important;top:auto!important}.reference-athlete{transform:translateX(-50%)!important}.reference-stage h1{transform:translateY(-20px)!important}.box-photo img{transform:none!important}*,*::before,*::after{animation:none!important;transition:none!important}}
/* V5: Rep Republic's photographic hero, editorial block and review wall. */
main>.republic-hero{display:block;position:relative;isolation:isolate;padding:0;height:100svh;min-height:760px;max-height:1120px;background:var(--night);color:#fff;overflow:clip}
.republic-hero-photo{position:absolute;inset:78px 0 0;z-index:0}.republic-hero-photo img{object-position:64% 45%;transform:scale(1.01)}.republic-hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#081b2590 0%,#081b2510 60%,transparent 85%),linear-gradient(0deg,#081b25f2 0%,transparent 46%),linear-gradient(180deg,#081b25c0 0%,transparent 24%)}.republic-hero h1{position:absolute;left:6%;top:130px;z-index:2;font-family:'NPB Display',Impact,sans-serif;font-weight:800;font-size:clamp(112px,13.8vw,220px);letter-spacing:-.025em;line-height:.9;margin:0;white-space:nowrap;color:#fff}.republic-hero-copy{position:absolute;left:6%;bottom:65px;width:min(450px,42%);z-index:2}.republic-hero-copy h2{font-size:clamp(37px,3.6vw,58px);line-height:1;margin:0 0 20px;color:var(--blue)}.republic-hero-copy p{font-size:17px;line-height:1.5;color:#edf4f8;margin:0 0 25px;max-width:420px}.republic-hero-copy .btn{margin-right:20px}.republic-explore{font-size:14px;border-bottom:1px solid #ffffff65;padding-bottom:4px;display:inline-block}
main>.republic-box{background:#fff;color:var(--ink);padding-bottom:0}.club-ticker{overflow:hidden;background:var(--blue);color:var(--night);padding:20px 0}.club-ticker-track{display:flex;width:max-content;animation:club-ticker 23s linear infinite}.club-ticker-group{display:flex;align-items:center;gap:45px;padding-right:45px;white-space:nowrap}.club-ticker-group span{font-family:'NPB Display',Impact,sans-serif;font-size:32px;font-weight:800;line-height:1.1}.club-ticker-group i{font-style:normal;font-size:26px}@keyframes club-ticker{to{transform:translateX(-50%)}}.republic-box .box-grid{padding-top:95px;padding-bottom:95px;grid-template-columns:1fr 1fr;gap:65px;align-items:stretch}.republic-box .box-intro h2{font-size:clamp(55px,5.8vw,82px);margin:20px 0 35px;line-height:.98}.republic-box .box-intro h2 span{color:var(--brand-text)}.box-editorial{padding:23px 0;border-top:1px solid var(--line)}.box-editorial h3{font-size:22px;letter-spacing:-.035em;line-height:1.25;margin:0 0 12px}.box-editorial p{font-size:16px;line-height:1.65;margin:0;max-width:520px}.republic-box .box-intro .btn{margin-top:15px}.republic-box .box-photo{aspect-ratio:unset;min-height:620px;max-height:780px;height:100%;border-radius:6px;align-self:stretch}.republic-box .box-photo img{object-position:50% 45%}
main>.training-interlude{height:76svh;min-height:480px;max-height:900px;background:var(--night);overflow:clip;isolation:isolate}.training-window{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 var(--training-inset,3%));will-change:clip-path}.training-window img{height:112%;width:100%;object-fit:cover;object-position:50% 32%;transform:translateY(calc(var(--training-progress,0)*-5%));will-change:transform}
main>.reference-values{background:#fff;padding:90px 0;color:var(--ink)}.reference-values .value-panel:first-child{background:var(--blue)}.reference-values .value-panel:nth-child(3){background:#f1f4f6}.reference-values .values-title h2{font-size:clamp(48px,5vw,72px)}
main>.brand-difference{background:#eef2f4;padding:95px 0;color:var(--ink)}.difference-heading{text-align:center;margin-bottom:50px}.difference-heading h2{margin:0;font-size:clamp(55px,6.4vw,90px);line-height:1}.difference-heading h2 em{color:var(--brand-text)}.brand-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.brand-feature{background:white;border:1px solid #dde4e8;border-radius:6px;padding:30px;min-width:0;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.brand-feature:hover{transform:translateY(-4px);box-shadow:0 16px 35px #102a3509}.feature-icon{display:grid;place-items:center;background:var(--night);color:var(--blue);width:58px;height:58px;border-radius:50%;margin-bottom:25px}.feature-icon svg{width:30px;height:30px}.brand-feature h3{font-family:'NPB Display',Impact,sans-serif;font-size:30px;line-height:1.1;margin:0 0 20px;font-weight:800;letter-spacing:0}.brand-feature p{font-size:16px;line-height:1.6;color:#536572;margin:0}
.classes .class-photo:after{display:none}.classes .class-photo img{filter:none}.classes .class-panel h3{font-family:'NPB Display',Impact,sans-serif;font-size:34px;line-height:1.1}.classes .class-panel p{margin-bottom:18px;max-width:100%;font-size:16px}.wod-phases{padding-left:19px;color:#c4d1d9;font-size:16px;line-height:1.6;margin:0 0 18px}.wod-phases li+li{margin-top:8px}.recovery{display:block;max-width:100%;padding:32px 0 0}.recovery>div{max-width:650px}.recovery h3{font-size:42px}.recovery p{max-width:650px}.classes-layout{align-items:start}
.club-coach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.club-coach{min-width:0}.club-coach-photo{position:relative;overflow:hidden;background:#dce4e9;aspect-ratio:4/5;border-radius:5px}.club-coach-photo img{position:absolute;left:0;top:-12%;width:300%;height:auto;max-width:none;object-fit:initial}.coach-photo-2 img{transform:translateX(-33.3333%)}.coach-photo-3 img{transform:translateX(-66.6666%)}.club-coach-photo>span{position:absolute;left:16px;bottom:16px;background:#fff;color:var(--ink);padding:6px 10px;font-size:12px;border-radius:3px}.club-coach-copy{padding-top:22px}.club-coach-copy>span{color:var(--brand-text);font-size:14px}.club-coach-copy h3{font-family:'NPB Display',Impact,sans-serif;font-size:clamp(34px,3.3vw,46px);line-height:1.05;margin:12px 0 20px}.club-coach-copy p{font-size:16px;line-height:1.6;color:#536572}.club-coach-copy button{background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 6px;margin:8px 0 0;color:var(--brand-text);font-size:15px}.club-coach-copy .coach-credentials{font-size:13px;padding-top:20px;border-top:1px solid var(--line);margin-top:25px}
main>.republic-testimonials{background:#ecf7fa;position:relative;overflow:visible;padding:95px 0 70px;color:var(--ink)}.testimonials-pinned{position:sticky;top:calc(50svh - 120px);text-align:center;z-index:0;padding:0 12%;margin-bottom:0}.testimonials-pinned .eyebrow{justify-content:center}.testimonials-pinned h2{font-size:clamp(60px,7.5vw,100px);margin:20px 0;line-height:.95}.testimonials-pinned>p{font-size:13px;color:#536572;max-width:520px;margin:20px auto}.review-jumps{display:flex;justify-content:center;gap:10px}.review-jumps a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #adbfc8;border-radius:50%;font-size:14px;font-weight:700;background:#ecf7fa}.review-jumps a:hover{background:var(--blue);border-color:var(--blue)}.review-wall{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:38px;row-gap:0;padding-top:220px;pointer-events:none}.review-card{position:relative;border-radius:6px;overflow:hidden;background:var(--night);min-height:400px;scroll-margin-top:100px;pointer-events:auto;transform:translateY(var(--review-shift,0px));will-change:transform}.review-card:first-child{grid-column:1;grid-row:1;align-self:start}.review-card:nth-child(2){grid-column:3;grid-row:1;margin-top:145px}.review-card:nth-child(3){grid-column:2;grid-row:2;margin-top:50px}.review-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 37%}.review-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#081b25d5,#081b2565 40%,#081b25ef);z-index:0}.review-card-copy{position:relative;z-index:1;padding:30px;color:white;display:flex;flex-direction:column;min-height:400px;justify-content:space-between}.review-symbol{font-family:Georgia,serif;font-size:65px;line-height:.8;color:var(--blue);font-weight:700}.review-card blockquote{font-family:Arial,sans-serif;font-size:24px;line-height:1.3;letter-spacing:-.02em;margin:28px 0;max-width:100%}.review-card-copy>p{margin:30px 0 0;padding-top:18px;border-top:1px solid #ffffff50;font-size:16px}.review-card-copy>p>span{display:block;font-size:12px;color:#c7d7df}.review-more{position:relative;z-index:1;text-align:center;margin-top:65px}.review-more button{background:none;border:0;border-bottom:1px solid;padding:0 0 6px;font-size:15px;color:var(--brand-text)}
main>.club-contact{background:var(--night);padding:100px 0 35px;color:white;position:relative;overflow:clip}.anchor-alias{display:block;position:absolute;top:0;left:0;scroll-margin-top:90px}.contact-cta{text-align:center;max-width:980px;margin:auto}.contact-cta .eyebrow{justify-content:center}.contact-cta h2{max-width:none;font-size:clamp(60px,8.8vw,125px);line-height:.95;margin:25px 0}.contact-cta h2 em{color:var(--blue)}.contact-cta>p{font-size:18px;max-width:570px;margin:30px auto;color:#d6e2e9;line-height:1.6}.contact-actions{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin:35px 0 24px}.contact-actions .btn{min-width:210px;font-size:16px;min-height:58px;color:var(--night);background:var(--blue);border-color:var(--blue);padding:18px 27px}.contact-actions .contact-sms{background:#fff;border-color:#fff}.contact-actions .btn:hover{background:#b3efff;border-color:#b3efff}.first-session-link{display:inline-block;border-bottom:1px solid #ffffff65;font-size:14px;padding-bottom:5px;color:#d6e2e9}.contact-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;margin-top:85px;border-top:1px solid #ffffff30;padding-top:35px;align-items:start}.contact-bottom>div{display:flex;flex-direction:column;gap:25px}.contact-bottom .wordmark{display:block;font-size:25px;letter-spacing:-.015em}.contact-bottom .wordmark small{font-size:10px;letter-spacing:.13em;line-height:1.5}.contact-bottom .textlink{color:#d6e2e9;align-self:flex-start;font-size:14px}.contact-bottom nav{display:flex;gap:13px 22px;flex-wrap:wrap;font-size:14px}.contact-bottom>span{font-size:13px;line-height:1.7;color:#aabecb}.club-contact .prototype-note{margin:35px auto 0;text-align:center;font-size:12px;max-width:960px}
/* Every homepage entry/reload: longer, visible phases followed by a brief exit. */
.entry-running .club-entry{animation:entry-exit .6s 2.6s forwards,entry-safety .01s 5s forwards}.entry-mark{width:min(360px,74vw)}.entry-mark>span{animation:entry-name .45s 1.4s both;font-size:42px}.discs-left{animation:disc-left .55s .2s both}.discs-right{animation:disc-right .55s .2s both}.bar-sweep{animation:bar-sweep .9s .8s both}
@media(min-width:900px) and (prefers-reduced-motion:no-preference){.motion .republic-hero-photo img{transform:scale(calc(1.01 + var(--hero-scroll,0)*.035)) translateY(calc(var(--hero-scroll,0)*14px));will-change:transform}}
@media(max-width:1000px){.republic-hero h1{font-size:14vw;top:135px}.brand-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.club-coach-grid{gap:18px}.review-wall{column-gap:20px}.review-card-copy{padding:23px}.review-card blockquote{font-size:22px}.republic-box .box-grid{gap:40px}.republic-box .box-photo{min-height:590px}.republic-hero-copy{width:47%;max-width:440px}}
@media(max-width:760px){main>.republic-hero{height:100svh;min-height:640px;max-height:none;padding:0}.republic-hero-photo{inset:0}.republic-hero-photo img{object-position:70% 40%;transform:none}.republic-hero-shade{background:linear-gradient(0deg,#081b25de 0%,#081b2566 28%,transparent 64%),linear-gradient(180deg,#081b2566 0%,transparent 32%)}.republic-hero h1{font-size:19vw;top:112px;left:6%;width:88%;max-width:100%;line-height:.95;letter-spacing:-.025em}.republic-hero-copy{left:6%;bottom:35px;width:88%;max-width:470px}.republic-hero-copy h2{font-size:38px;margin-bottom:17px;line-height:1}.republic-hero-copy p{font-size:16px;line-height:1.5;margin-bottom:23px;max-width:370px}.republic-hero-copy .btn{font-size:14px;padding:14px 20px;min-height:52px;margin-right:15px}.republic-explore{font-size:13px}.club-ticker{padding:17px 0}.club-ticker-group{gap:25px;padding-right:25px}.club-ticker-group span{font-size:25px}.club-ticker-group i{font-size:22px}.republic-box .box-grid{grid-template-columns:1fr;padding:60px 0;gap:30px}.republic-box .box-intro h2{font-size:54px;line-height:1;margin:20px 0 30px}.box-editorial{padding:22px 0}.box-editorial h3{font-size:21px}.box-editorial p{font-size:16px}.republic-box .box-photo{height:480px;min-height:0;max-height:none;aspect-ratio:unset}.republic-box .box-photo img{object-position:50% 42%}main>.training-interlude{height:72svh;min-height:440px;max-height:680px}.training-window{clip-path:none}.training-window img{height:100%;transform:none;object-position:50% 40%}main>.reference-values{padding:60px 0}.reference-values .values-title h2{font-size:49px}.value-panel{margin-bottom:15px}.value-panel h3{font-size:36px}main>.brand-difference{padding:60px 0}.difference-heading{margin-bottom:35px}.difference-heading h2{font-size:55px}.brand-feature-grid{grid-template-columns:1fr;gap:15px}.brand-feature{padding:27px}.brand-feature h3{font-size:30px}.feature-icon{margin-bottom:20px;width:52px;height:52px}.classes .class-panel h3{font-size:30px}.wod-phases{font-size:16px}.recovery{margin-top:35px;padding-top:30px}.recovery h3{font-size:36px}.club-coach-grid{display:grid;grid-template-columns:1fr;gap:40px}.club-coach-photo{aspect-ratio:4/4.8;max-height:480px}.club-coach-copy h3{font-size:42px}.club-coach-copy>p{font-size:16px}.club-coach-copy .coach-credentials{font-size:13px}main>.republic-testimonials{padding:65px 0}.testimonials-pinned{position:relative;top:auto;padding:0;margin-bottom:35px;z-index:0}.testimonials-pinned h2{font-size:55px}.testimonials-pinned>p{font-size:13px;margin:20px auto}.review-wall{display:grid;grid-template-columns:1fr;gap:20px;padding-top:0}.review-card:first-child,.review-card:nth-child(2),.review-card:nth-child(3){grid-column:auto;grid-row:auto;margin-top:0;transform:none!important}.review-card{min-height:350px}.review-card-copy{min-height:350px;padding:30px}.review-card blockquote{font-size:25px;line-height:1.3}.review-more{margin-top:35px}main>.club-contact{padding:70px 0 30px}.contact-cta h2{font-size:56px;line-height:1;margin:23px 0}.contact-cta>p{font-size:17px;margin:25px auto}.contact-actions{flex-direction:column;gap:12px;margin-top:28px;align-items:stretch}.contact-actions .btn{width:100%;font-size:16px;min-height:56px}.contact-bottom{grid-template-columns:1fr;gap:35px;margin-top:55px;padding-top:30px}.contact-bottom nav{font-size:15px;gap:17px}.club-contact .prototype-note{text-align:left;font-size:12px}.entry-mark>span{font-size:36px}}
@media(max-width:370px){.republic-hero-copy h2{font-size:34px}.republic-hero-copy .btn{margin-right:10px;font-size:13px;padding:14px 16px}.republic-explore{font-size:12px}.contact-cta h2{font-size:49px}.republic-box .box-intro h2{font-size:48px}.review-card-copy{padding:25px}}
@media(prefers-reduced-motion:reduce){.club-ticker-track{animation:none!important;transform:none!important}.training-window{clip-path:none!important}.training-window img,.republic-hero-photo img,.review-card{transform:none!important;will-change:auto}.testimonials-pinned{position:relative;top:auto;margin-bottom:35px}.review-wall{padding-top:0;gap:25px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.review-card:first-child,.review-card:nth-child(2),.review-card:nth-child(3){grid-column:auto;grid-row:auto;margin-top:0}.club-entry{display:none!important}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.review-wall{grid-template-columns:1fr}}
/* Scope entry child animations so a restored homepage can replay them too. */
.discs-left,.discs-right,.bar-sweep,.entry-mark>span{animation:none}
.entry-running .discs-left{animation:disc-left .55s .2s both}.entry-running .discs-right{animation:disc-right .55s .2s both}.entry-running .bar-sweep{animation:bar-sweep .9s .8s both}.entry-running .entry-mark>span{animation:entry-name .45s 1.4s both}
@media(prefers-reduced-motion:reduce){.entry-running .discs-left,.entry-running .discs-right,.entry-running .bar-sweep,.entry-running .entry-mark>span{animation:none!important}}
/* V6: continuous ticker, photographic cards, framed courses and mobile depth. */
.entry-mark>span{font-size:clamp(58px,7vw,84px);line-height:1.05;margin-top:12px;letter-spacing:0}
.club-ticker-track{animation-duration:var(--ticker-duration,32s)}
.club-ticker-group{flex:none;min-width:100vw}
.republic-box .box-photo{position:relative;inset:auto;width:auto;height:clamp(620px,50vw,760px);min-height:0;max-height:none;clip-path:none;transform:none;transition:none;align-self:center}
.republic-box .box-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;clip-path:none}
main>.training-interlude{height:100svh;min-height:0;max-height:none}
.training-window{clip-path:none;inset:0}
.training-window img{height:115%;object-position:50% 50%;transform:translateY(calc(var(--training-progress,0)*-8%))}
main>.brand-difference{background:#edf2f4}
.brand-feature-grid{align-items:stretch;gap:24px}
.brand-feature{position:relative;display:flex;flex-direction:column;padding:28px 28px 0;overflow:hidden;border-radius:8px;border:0;min-height:0}
.feature-icon{background:transparent;border-radius:0;width:36px;height:36px;color:var(--blue);margin-bottom:24px;place-items:start}
.feature-icon svg{width:32px;height:32px}
.feature-number{position:absolute;right:28px;top:30px;font-family:'NPB Display',Impact,sans-serif;font-size:23px;color:inherit;opacity:.75}
.brand-feature h3{font-size:32px;line-height:1.05;margin-bottom:18px}
.brand-feature p{color:inherit;font-size:16px;line-height:1.6;margin:0 0 28px}
.feature-photo{height:190px;flex-shrink:0;margin:auto -28px 0;overflow:hidden}
.feature-photo img{object-position:50% 42%;transition:transform .7s var(--ease)}
.brand-feature:hover .feature-photo img{transform:scale(1.035)}
.feature-style-1{background:var(--night);color:#fff}
.feature-style-1 p{color:#dbe5eb}
.feature-style-2{background:var(--blue);color:var(--night)}
.feature-style-2 .feature-icon{color:var(--night)}
.feature-style-2 .feature-photo{margin-left:-12px;margin-right:-12px;margin-bottom:16px;border-radius:4px}
.feature-style-3{background:#fff;color:var(--ink)}
.feature-style-3 .feature-icon{color:var(--brand-text)}
.classes .class-stage{background:#fff;color:var(--ink);padding:16px;border-radius:7px;min-width:0;overflow:hidden}
.classes .class-photo{height:auto;aspect-ratio:1.45;border-radius:4px;background:#edf2f4}
.classes .class-photo img{width:100%;height:100%}
.classes .class-panel{padding:25px 8px 12px;margin:0}
.classes .class-panel h3{color:var(--ink);font-size:34px;letter-spacing:0}
.classes .class-panel p,.classes .wod-phases{color:#445b68;line-height:1.65}
.classes .class-panel p:last-child{margin-bottom:0}
.classes .class-list{min-width:0}
.club-coach-photo{--coach-crop:0%;}
.coach-photo-2{--coach-crop:-33.3333%}.coach-photo-3{--coach-crop:-66.6666%}
.club-coach-photo img{transform:translateX(var(--coach-crop));filter:saturate(.35);transition:transform .8s var(--ease),filter .7s}
.club-coach:hover .club-coach-photo img,.club-coach:focus-within .club-coach-photo img{filter:saturate(1);transform:translateX(var(--coach-crop)) scale(1.025)}
.club-coach-copy h3{margin-bottom:14px}
.npb-news .news-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:25px}
.npb-news .news-card{display:flex;flex-direction:column;min-width:0}
.npb-news .news-image{height:auto;aspect-ratio:1.45;flex-shrink:0}
.npb-news .news-card h3{font-size:34px;min-height:2.25em}
.npb-news .news-card p{margin:0 0 25px;flex:1}
.npb-news .news-card .textlink{align-self:flex-start;margin-top:auto;font-size:14px}
.npb-news .news-card:nth-child(2){transition-delay:.09s}.npb-news .news-card:nth-child(3){transition-delay:.18s}
.testimonials-pinned h2{font-size:clamp(55px,8vw,112px);overflow-wrap:anywhere}
@media(prefers-reduced-motion:no-preference){
 .motion main>.stack-panel{position:sticky;top:var(--stack-top,0px)}
 .motion .republic-hero-photo img{transform:scale(calc(1.01 + var(--hero-scroll,0)*.025)) translateY(calc(var(--hero-scroll,0)*10px));will-change:transform}
 .motion .republic-box .box-photo img{transform:scale(calc(1.06 - var(--box-scroll,0)*.06));will-change:transform}
}
@media(max-width:1000px){.brand-feature{padding:25px 25px 0}.feature-photo{margin-left:-25px;margin-right:-25px}.feature-number{right:25px;top:27px}.feature-style-2 .feature-photo{margin-left:-10px;margin-right:-10px}.republic-box .box-photo{height:650px}.npb-news .news-card h3{font-size:30px}}
@media(max-width:760px){
 .entry-mark>span{font-size:clamp(52px,15vw,72px)}
 .republic-box .box-photo{height:460px;min-height:0;max-height:none;width:100%;aspect-ratio:unset}
 main>.training-interlude{height:100svh;min-height:0;max-height:none}
 .training-window img{height:112%;object-position:57% 50%;transform:translateY(calc(var(--training-progress,0)*-6%))}
 .brand-feature-grid{gap:22px}.brand-feature{padding:26px 26px 0}.feature-photo{height:205px;margin-left:-26px;margin-right:-26px}.feature-style-2 .feature-photo{margin-left:-10px;margin-right:-10px}.brand-feature h3{font-size:33px}
 .classes .class-stage{padding:12px}.classes .class-panel{padding:23px 10px 14px}.classes .class-panel h3{font-size:30px}.classes .class-photo{height:auto;aspect-ratio:1.12}
 .classes .class-tab .name{font-size:23px}.classes .class-tab{padding:12px 15px}
 .npb-news .news-grid{grid-template-columns:1fr;gap:40px}.npb-news .news-image{aspect-ratio:1.45}.npb-news .news-card h3{font-size:32px;min-height:0}.npb-news .news-card p{flex:none}.npb-news .news-card:nth-child(n){transition-delay:0s}
 .testimonials-pinned h2{font-size:clamp(43px,12vw,68px)}
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 .motion .value-panel{position:sticky;top:var(--value-top,82px)!important;min-height:0;margin-bottom:26px}
 .motion .value-panel:nth-child(2){top:var(--value-top,98px)!important}.motion .value-panel:nth-child(3){top:var(--value-top,114px)!important}.motion .value-panel:nth-child(4){top:var(--value-top,130px)!important}
 .motion .testimonials-pinned{position:sticky;top:110px;margin-bottom:0}
 .motion .review-wall{padding-top:180px;gap:85px}
 .motion .review-card:first-child,.motion .review-card:nth-child(2),.motion .review-card:nth-child(3){transform:translateY(var(--review-shift,0px))!important}
}
@media(prefers-reduced-motion:reduce){.republic-box .box-photo img,.training-window img,.club-coach-photo img{transition:none!important}.club-coach-photo img{transform:translateX(var(--coach-crop))!important}.npb-news .news-card{transition-delay:0s!important}}
/* V7: compact icon labels and a scroll-assembled testimonial mosaic. */
.eyebrow{font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;gap:9px;line-height:1.4}
.eyebrow:before{content:none;display:none}
.eyebrow-icon{display:block;flex:none;width:20px;height:20px;color:currentColor}
.brand-feature{padding:30px;min-height:0}
.brand-feature p{margin:0;line-height:1.65}
.feature-photo{display:none}
main>.mosaic-testimonials{padding:70px 0;background:#ecf7fa;overflow:clip}
.mosaic-testimonials .testimonials-pinned{position:relative;top:auto;padding:0;margin:0 auto 28px}
.mosaic-testimonials .testimonials-pinned h2{font-size:clamp(52px,6.3vw,86px);margin:14px 0;line-height:1}
.mosaic-testimonials .testimonials-pinned>p{margin:14px auto 0;max-width:580px}
.mosaic-testimonials .review-wall{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px;padding:0;max-width:1080px;min-height:430px;margin:auto;pointer-events:auto}
.mosaic-testimonials .review-card{margin:0;min-height:0;border-radius:7px;transform:none;scroll-margin-top:100px;will-change:auto}
.mosaic-testimonials .review-card:first-child{grid-column:1;grid-row:1/span 2;align-self:stretch;background:var(--night)}
.mosaic-testimonials .review-card:nth-child(2){grid-column:2;grid-row:1;background:var(--blue);color:var(--ink)}
.mosaic-testimonials .review-card:nth-child(3){grid-column:2;grid-row:2;background:#fff;color:var(--ink)}
.mosaic-testimonials .review-card:after{background:#081b25b8}
.mosaic-testimonials .review-card:nth-child(n+2):after{display:none}
.mosaic-testimonials .review-card:nth-child(n+2)>img{display:none}
.mosaic-testimonials .review-card-copy{min-height:0;height:100%;padding:23px 28px;color:inherit;display:flex;justify-content:flex-start}
.mosaic-testimonials .review-card:first-child .review-card-copy{padding:32px;color:white}
.mosaic-testimonials .review-symbol{font-size:35px;line-height:.75;color:var(--brand-text)}
.mosaic-testimonials .review-card:first-child .review-symbol{font-size:62px;color:var(--blue)}
.mosaic-testimonials .review-card blockquote{font-size:21px;line-height:1.28;margin:15px 0;letter-spacing:-.02em}
.mosaic-testimonials .review-card:first-child blockquote{font-size:clamp(28px,3vw,40px);line-height:1.2;margin:30px 0}
.mosaic-testimonials .review-card-copy>p{margin:auto 0 0;padding-top:12px;font-size:15px;border-color:#102a3525}
.mosaic-testimonials .review-card-copy>p>span{color:#445b68;font-size:12px}
.mosaic-testimonials .review-card:first-child .review-card-copy>p{border-color:#ffffff50}
.mosaic-testimonials .review-card:first-child .review-card-copy>p>span{color:#d8e4ea}
.mosaic-testimonials .review-more{margin-top:25px}
@media(min-width:761px) and (prefers-reduced-motion:no-preference){
 .motion main>.mosaic-testimonials{height:var(--review-range,190svh);padding:0}
 .motion .review-scene{position:sticky;top:var(--review-scene-top,82px);min-height:calc(100svh - 82px);padding:28px 0;display:flex;align-items:center}
 .motion .review-scene>.wrap{width:min(1160px,88%)}
 .motion .mosaic-testimonials .review-card{transform:translate3d(var(--gather-x,0px),var(--gather-y,0px),0);will-change:transform}
}
@media(max-width:760px){
 .eyebrow{font-size:14px;gap:8px}.eyebrow-icon{width:19px;height:19px}
 .brand-feature{padding:27px}
 main>.mosaic-testimonials{padding:65px 0}
 .mosaic-testimonials .testimonials-pinned{position:relative;top:auto;margin-bottom:30px}
 .mosaic-testimonials .testimonials-pinned h2{font-size:clamp(44px,12vw,68px)}
 .mosaic-testimonials .review-wall{grid-template-columns:1fr;grid-template-rows:auto;gap:18px;min-height:0}
 .mosaic-testimonials .review-card:first-child,.mosaic-testimonials .review-card:nth-child(2),.mosaic-testimonials .review-card:nth-child(3){grid-column:auto;grid-row:auto;margin:0;min-height:290px}
 .mosaic-testimonials .review-card-copy,.mosaic-testimonials .review-card:first-child .review-card-copy{padding:28px;min-height:290px}
 .mosaic-testimonials .review-card blockquote,.mosaic-testimonials .review-card:first-child blockquote{font-size:26px;margin:24px 0;line-height:1.25}
 .mosaic-testimonials .review-symbol,.mosaic-testimonials .review-card:first-child .review-symbol{font-size:45px}
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 .motion .mosaic-testimonials .review-card:first-child,.motion .mosaic-testimonials .review-card:nth-child(2),.motion .mosaic-testimonials .review-card:nth-child(3){transform:translateY(var(--gather-y,0px))!important;will-change:transform}
}
@media(prefers-reduced-motion:reduce){
 .mosaic-testimonials .review-card:first-child,.mosaic-testimonials .review-card:nth-child(2),.mosaic-testimonials .review-card:nth-child(3){transform:none!important}
}

/* Fine static grain sits behind the loading mark only. */
.entry-running .club-entry{isolation:isolate}
.entry-running .club-entry::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22160%22%20height%3D%22160%22%20viewBox%3D%220%200%20160%20160%22%3E%3Cfilter%20id%3D%22grain%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.85%22%20numOctaves%3D%223%22%20seed%3D%2217%22%20stitchTiles%3D%22stitch%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url%28%23grain%29%22%2F%3E%3C%2Fsvg%3E");background-size:160px 160px;background-repeat:repeat}
.entry-mark{position:relative;z-index:1}

/* Client photography — October 2026 */
.club-coach-photo.real-coach-photo{--coach-crop:0%}
.club-coach-photo.real-coach-photo img{inset:0;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:50% 40%;transform:none}
.club-coach:hover .club-coach-photo.real-coach-photo img,.club-coach:focus-within .club-coach-photo.real-coach-photo img{transform:scale(1.025)}
.republic-hero-photo img{object-position:50% 48%}
.training-window img{object-position:43% 48%}
.recovery>img{width:100%;height:300px;object-fit:cover;object-position:50% 45%;border-radius:4px}
.recovery{align-items:center}
#coach-2 h3{font-family:inherit;font-size:18px;margin:28px 0 10px}
@media(max-width:760px){.recovery{grid-template-columns:1fr}.recovery>img{height:260px}.republic-hero-photo img{object-position:50% 50%}.training-window img{object-position:43% 50%}}

/* Chloé: real client portrait. */
.coach-photo-3.real-coach-photo img{object-position:50% 50%}

/* Sauna: compact image alongside the copy. */
.classes .recovery{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,300px);gap:48px;align-items:center}
.classes .recovery>div{grid-column:1;grid-row:1;max-width:650px}
.classes .recovery>img{grid-column:2;grid-row:1;width:100%;height:240px;object-fit:cover;object-position:50% 46%}
/* Training interlude: original colors with a slow scroll push. */
.training-window img{filter:none;object-position:43% 48%}
.motion .training-window img{height:112%;transform-origin:43% 45%;transform:translateY(calc(var(--training-progress,0)*-5%)) scale(calc(1.015 + var(--training-progress,0)*.065));will-change:transform}
@media(max-width:760px){
 .classes .recovery{grid-template-columns:minmax(0,1fr) 100px;gap:20px}
 .classes .recovery>img{height:170px}
 .classes .recovery h3{font-size:clamp(28px,7vw,36px)}
 .classes .recovery p{font-size:15px;line-height:1.6}
 .motion .training-window img{transform:translateY(calc(var(--training-progress,0)*-4%)) scale(calc(1.01 + var(--training-progress,0)*.04))}
}
@media(prefers-reduced-motion:reduce){.motion .training-window img{transform:none!important;will-change:auto}}


/* Mobile course choices and clear schedule rows. */
.npb-planning .schedule .slot{grid-template-columns:110px minmax(0,1fr);gap:20px}
.npb-planning .slot-label{font-size:18px;font-weight:700;line-height:1.35;color:var(--ink);letter-spacing:-.02em}
.npb-planning .schedule-whatsapp{margin-top:24px;text-align:center;white-space:normal}
@media(max-width:760px){
 .classes .class-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible;padding-bottom:0;width:100%}
 .classes .class-tab{width:100%;min-width:0;min-height:52px;padding:12px 8px;justify-content:center;text-align:center;gap:0}
 .classes .class-tab .name{font-size:clamp(20px,5.6vw,25px);line-height:1.15;letter-spacing:-.012em;white-space:normal;overflow-wrap:normal;min-width:0}
 .classes .class-tab.active{background:#00D0FF;border-color:#00D0FF!important;color:#06151e}
 .classes .class-tab:focus-visible{outline:2px solid #fff;outline-offset:3px}
 .npb-planning .schedule .slot{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:22px 0}
 .npb-planning .slot-label{font-size:14px;font-weight:600;color:#536572;line-height:1.4}
 .npb-planning .schedule .slot>div{min-width:0}
 .npb-planning .schedule .slot b{font-size:17px;line-height:1.4}
 .npb-planning .schedule .slot span:not(.slot-label){font-size:14px;line-height:1.55;margin-top:5px}
 .npb-planning .schedule-whatsapp{display:flex;justify-content:center;width:100%;font-size:14px;min-height:52px;padding:14px 12px}
}
