/* Mobile-first refinement. Desktop remains the approved baseline. */
.mobile-comparison-toggle{display:none}
@media(max-width:600px){
html{scroll-padding-top:20px}body{line-height:1.55}
body>.header,body.coaching-page>.header{height:120px}
body>.header nav a{min-height:44px;padding-block:10px}
body>.header nav a:first-child{min-width:44px}
body main .eyebrow,body main .contexts .eyebrow,body main .relationship-list .eyebrow,body main .experience-heading .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.07em}
body main p{overflow-wrap:break-word}
body main .plain-link,body main .plain-button{min-height:44px;display:inline-flex;align-items:center;line-height:1.4;padding-block:10px}
body main .button:disabled,body main .text-link:disabled{opacity:1;box-shadow:none;cursor:not-allowed}
body main .button>span.sr-only{width:1px;height:1px;border:0}
body main .hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:22px}
body main .hero-actions .button{width:100%;justify-content:space-between}
body main .button{min-height:52px;touch-action:manipulation}
body main .program-actions .button,body main .quiz-actions .button{touch-action:manipulation}
body footer.wrap{gap:10px;padding-bottom:36px}body footer.wrap>span{font-size:12px;line-height:1.5;letter-spacing:.045em}body footer.wrap>a:not(.brand){min-height:44px;display:flex;align-items:center;justify-content:center;font-size:16px}
.preview-disclosure{font-size:12px;line-height:1.55;padding-bottom:24px}
/* Home: preserve first-screen CTA and reduce decorative scroll debt. */
#H-01 .eyebrow{font-size:11px;max-width:100%;margin-bottom:14px}
#H-01 .hero-content{padding-top:clamp(24px,8svh,64px)}
#H-01 .hero-foot{font-size:10px;letter-spacing:.05em}
#H-03 .philosophy-copy p{font-size:17px;line-height:1.55}
#H-03 .coach-photo{height:400px;min-height:400px}
#H-03 .rebuilt h3.rebuilt-logo-title{width:min(245px,100%)}
#H-03 .rebuilt-caption{font-size:12px;line-height:1.45;max-width:250px}
#H-03 .coach-photo figcaption{font-size:10px;line-height:1.4;right:18px}
#H-04 .offer-image{height:240px}#H-04 .offer-benefit{font-size:13px;letter-spacing:.02em;min-height:56px}
#H-04 .offer-label{font-size:12px;letter-spacing:.02em;line-height:1.4}
#H-04 .home-offer-note{font-size:14px}#H-04 .home-offer-price span{font-size:15px}
#H-04 .offer-cta{min-height:54px;margin-bottom:18px}
#H-07 .review-card{flex-basis:94%;padding:22px;min-height:0}#H-07 .review-card blockquote{font-size:19px;line-height:1.5;margin:20px 0}
#H-05{height:590px}#H-05 .hyrox-top .eyebrow{max-width:155px}#H-05 .hyrox-bottom h2{font-size:36px}
#H-06 figure{height:340px}#H-06 figcaption{font-size:11px;letter-spacing:0}
#H-08 .close-links{flex-wrap:wrap}
/* Interior hero: shorter offset, deliberate image crops, first action sooner. */
body.coaching-page .coaching-hero-overlay{padding:130px 0 44px;min-height:0}
.coaching-hero-overlay .coaching-hero-photo img{height:430px;object-position:58% 20%}
.coaching-hero-overlay .coaching-hero-photo:after{background:linear-gradient(180deg,#080a0d15,#080a0d99 140px,#080a0df5 330px,#080a0d 450px)}
.coaching-hero-overlay .coaching-intro h1{font-size:clamp(34px,10vw,42px);line-height:1.05}
.coaching-hero-overlay .coaching-intro>p:not(.eyebrow){font-size:16px;line-height:1.5;margin-top:16px}
.coaching-hero-overlay .hero-actions{margin-top:18px;gap:4px}
.coaching-hero-overlay .coaching-hero-photo figcaption{font-size:10px;bottom:12px}
.program-jumps{gap:8px;padding-block:20px}.program-jumps a{min-height:110px;padding:12px 8px;border:1px solid #344052;border-radius:8px}.program-jumps strong{font-size:19px}.program-jumps span{font-size:11px;line-height:1.4;letter-spacing:0}.program-jumps small{font-size:13px;line-height:1.4}
/* Quiz: legible options, clear selection/focus/error and spacious controls. */
.fit-section .fit-layout{gap:24px}.fit-intro h2{font-size:32px}.fit-intro>p:not(.eyebrow){font-size:16px;line-height:1.5;margin-top:16px}
.quiz-panel{padding:24px 18px}.quiz-option{font-size:16px;line-height:1.5;padding:14px 12px;min-height:64px;gap:12px}.quiz-option input{flex:0 0 20px;width:20px;height:20px;accent-color:#2452d4}
.quiz-option:has(input:checked){border-color:#2452d4;background:#eaf0ff;box-shadow:inset 3px 0 #2452d4}
.quiz-option:focus-within{outline:2px solid #2452d4;outline-offset:2px}
#fit-quiz legend{font-size:23px;line-height:1.25}.quiz-helper{font-size:15px;line-height:1.5}
.quiz-actions{gap:12px;align-items:stretch}body #quiz-next{flex:1;min-width:0;min-height:52px;font-size:16px}body #quiz-back{min-width:76px;border:1px solid #9ba8ba;border-radius:999px}#quiz-back:disabled{opacity:.5}
#quiz-error{font-size:15px;line-height:1.4;color:#9c2020}#quiz-result-title{font-size:27px;line-height:1.2}#quiz-result-link{width:100%;justify-content:center}.result-compare{margin-top:12px}
/* Progressive comparison: all original cells remain, optional detail can expand. */
.mobile-comparison-toggle:not([hidden]){display:flex;width:100%;align-items:center;justify-content:space-between;min-height:52px;border:1px solid #7c96bf;border-radius:999px;background:#14233c;color:#fff;padding:12px 18px;font:600 16px Source;margin:4px 0 24px}
.coaching-table td{grid-template-columns:64px minmax(0,1fr);font-size:16px;padding:14px 10px}.coaching-table td:before{font-size:13px}.support-value{grid-template-columns:18px minmax(0,1fr);gap:6px}.support-mark{width:18px;height:18px}.comparison-key{font-size:13px}
.comparison-note{font-size:15px;line-height:1.5}
/* Program decision hierarchy: price follows the summary, not a long feature list. */
.program-photo{height:230px}.program-copy{display:flex;flex-direction:column}.program-copy>.eyebrow{order:0}.program-copy>h2{order:1;font-size:32px}.program-copy>.program-lead{order:2;font-size:17px;line-height:1.5}.program-copy>.price{order:3;margin-top:20px}.program-copy>.program-boundary{order:4;font-size:15px;line-height:1.5}.program-copy>.program-actions{order:5;margin-top:18px}.program-copy>.trial-note{order:6;font-size:14px;line-height:1.5}.program-copy>.program-facts{order:7;margin-top:24px}
.program-facts li{font-size:16px;line-height:1.5;padding-block:12px}.price span{font-size:16px}
body #elevate .program-actions,body #elite .program-actions{grid-template-columns:1fr 1fr;gap:10px}body #elevate .program-actions button,body #elite .program-actions button{font-size:14px;line-height:1.4;color:#536173;background:#edf1f7;border-color:#bbc5d3;min-height:60px}body #elevate .program-actions>a,body #elite .program-actions>a{min-height:60px;height:auto;font-size:16px}
#elevate .booking-reserved p,#elite .booking-reserved p{font-size:13px;line-height:1.5}
.coaching-faq summary{min-height:56px;font-size:17px;line-height:1.45;padding-block:16px}.coaching-faq details p{font-size:16px;line-height:1.6}
/* About: show the athlete instead of the ceiling, simplify reading measure. */
body.interior-page .about-hero.interior-overlay{padding:150px 0 42px;min-height:0}
.about-hero.interior-overlay .coaching-hero-photo img{height:420px;object-position:56% 95%}
.about-hero.interior-overlay .coaching-hero-photo:after{background:linear-gradient(180deg,#080a0d22,#080a0d99 140px,#080a0df5 310px,#080a0d 420px)}
.about-hero .coaching-intro h1{font-size:clamp(30px,8.7vw,38px);line-height:1.06}
.about-hero .coaching-intro>p:not(.eyebrow){font-size:16px;line-height:1.5;margin-top:16px}
.about-hero .coaching-hero-photo figcaption{font-size:10px;bottom:12px}
.experience-story{padding:24px 16px}.experience-story .reading-copy{font-size:17px;line-height:1.6}.experience-photo{height:320px}.experience-section .experience-contexts{font-size:14px;line-height:1.5}
.credentials-list li{font-size:17px;line-height:1.5}.reading-copy{line-height:1.6}.method-note{font-size:14px;line-height:1.5}
/* Contact: contact actions are the destination, not a second long introduction. */
.contact-overlay .contact-entry{padding-top:88px;padding-bottom:32px;gap:22px}.contact-overlay .contact-heading h1{font-size:32px;line-height:1.05}.contact-heading .eyebrow{margin-bottom:16px}.contact-overlay .contact-heading>p:not(.eyebrow){font-size:16px;line-height:1.5;margin-top:16px}.contact-overlay .contact-heading .plain-link{margin-top:10px;font-size:15px}
.contact-overlay .coaching-hero-photo img{height:400px;object-position:50% 12%}.contact-overlay .coaching-hero-photo:after{background:linear-gradient(180deg,#080a0d11,#080a0d99 100px,#080a0dee 230px,#080a0d 400px)}
.contact-email{padding:22px 18px}.contact-email>.eyebrow{margin-bottom:12px}.contact-email h2{font-size:26px;line-height:1.1}.contact-email h2 br{display:none}.contact-email>p{font-size:16px;line-height:1.5}.contact-email .contact-actions{margin-top:18px;gap:12px}.contact-email .contact-actions .button{font-size:16px;min-height:54px}.contact-email .call-pending{font-size:14px;text-align:left}.contact-email .email-note{font-size:14px;line-height:1.5}.contact-direct-details a{min-height:44px;display:flex;align-items:center}.contact-direct-details{font-size:15px}
.contact-next .pending-note{font-size:14px;line-height:1.5}
/* Safe-area placement; JS hides the floating shortcut only when it covers a target. */
.whatsapp-fixed{bottom:calc(16px + env(safe-area-inset-bottom));right:16px}
.whatsapp-fixed[data-obscures-control=true]{opacity:0;visibility:hidden;pointer-events:none}
}
@media(max-width:350px){body main .eyebrow{font-size:11px}#H-01 .hero-content{padding-top:24px}#H-01 .hero-bottom p{font-size:14px}.program-jumps{grid-template-columns:1fr;gap:8px}.program-jumps a{min-height:64px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:10px 14px}.program-jumps a>span{grid-column:1;grid-row:2}.program-jumps a>strong{grid-column:1;grid-row:1}.program-jumps a>small{grid-column:2;grid-row:1/3}.contact-overlay .contact-entry{padding-top:64px}.coaching-table td{grid-template-columns:1fr;gap:8px}.coaching-table td:before{padding:0}.experience-story{padding-inline:14px}}

@media(max-width:800px){body>.header nav a{min-height:44px}body>.header .header-link{min-height:46px}body footer.wrap>a:not(.brand){min-height:44px;display:inline-flex;align-items:center}}
@media(max-width:600px){.about-hero .coaching-hero-photo picture{display:block;width:100%;height:100%}.about-hero.interior-overlay .coaching-hero-photo img{height:360px;object-position:50% 15%}.contact-overlay .coaching-hero-photo img{width:140%;max-width:none;height:520px;position:absolute;top:-35px;left:0;object-position:50% 0%}}

@media(max-width:800px){body.coaching-page>.header .header-link{min-height:46px}}

@media(max-width:600px){.contact-email .contact-actions+p{margin-top:18px}.coaching-intro .hero-actions+p{margin-top:20px!important}.program-photo figcaption{font-size:12px}}
@media(max-width:600px) and (max-height:700px){body.coaching-page .coaching-hero-overlay{padding-top:80px}body.interior-page .about-hero.interior-overlay{padding-top:100px}.contact-overlay .contact-entry{padding-top:60px}}

/* Home mobile: header + hero fill the first visible screen. Grow if content needs more room. */
@media(max-width:600px){
#H-01{min-height:calc(100svh - 120px)}
#H-01 .hero-content{min-height:calc(100svh - 120px);box-sizing:border-box}
#H-01 .hero-foot{margin-top:auto;padding-top:16px}
#H-01 .hero-bottom{margin-bottom:24px}
}

@media(max-width:600px) and (min-height:760px){#H-01>img{object-position:34% 50%}}

/* Mobile owner review: move the supporting copy and CTA together to the bottom. */
@media(max-width:600px){
#H-01 .hero-bottom{margin-top:auto;padding-top:18px;margin-bottom:24px}
#H-01 .hero-foot{margin-top:0;flex-shrink:0}
}

/* Group the complete mobile hero message at the bottom. */
@media(max-width:600px){
#H-01 .hero-content>.eyebrow{margin-top:auto}
#H-01 .hero-bottom{margin-top:18px;padding-top:0}
}

/* Mobile portrait framing: subtle zoom, athlete centered above bottom copy. */
@media(max-width:600px){#H-01>img{object-position:43% 50%;transform:translateY(-40px) scale(1.24);transform-origin:50% 35%}}

/* Short viewports keep the face beside the title rather than beneath it. */
@media(max-width:600px) and (max-height:759px){#H-01>img{object-position:28% 50%;transform:none}}
