/* V21: explicit portrait geometry and responsive layouts, loaded after legacy styles. */
html{max-width:100%}body{min-width:0}img{max-width:100%}button,input,select,textarea{max-width:100%}main,section,article,aside,figure{min-width:0}
/* Home portrait: no transforms or inherited landscape crop. */
.heroVisual .fitnessPhoto.coachHero{transform:none!important;opacity:1!important;height:clamp(460px,42vw,580px);min-height:0;max-height:none;border-radius:12px;overflow:hidden}
.heroVisual .fitnessPhoto.coachHero>img{display:block;position:static;width:100%;height:100%;object-fit:cover;object-position:center top;transform:none!important}
/* Quiz portrait: anchor the top of the supplied photo at every breakpoint. */
.intro-visual.coach-intro{height:clamp(480px,44vw,620px);min-height:0;max-height:none;aspect-ratio:auto;align-self:center;border-radius:12px}
.intro-visual.coach-intro>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center top;transform:none}
.site-header .brand{min-width:0;flex-shrink:0}.site-header .header-link{flex-shrink:0}
.quiz-shell>*,.result-layout>*,.intro>*{min-width:0}.option{overflow-wrap:anywhere}.button{white-space:normal;text-align:left;line-height:1.45}.intro-actions>.text-link{line-height:1.6}.question-actions .button{min-width:0}#contact-form>input,.admin-input{font-size:16px}.plan-duration{white-space:normal}.recommendation-top{gap:10px}.contact-panel #direct-wa{gap:12px}.site-footer{flex-wrap:wrap}
@media(min-width:761px) and (max-width:1100px){
 .heroVisual .fitnessPhoto.coachHero{height:460px}
 .intro.wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding-block:40px}
 .intro-copy h1{font-size:clamp(40px,5.5vw,57px);letter-spacing:-2px}
 .intro-visual.coach-intro{height:470px}
 .intro-actions{align-items:stretch;gap:12px}.intro-actions>.button{min-width:0;width:100%}.intro-actions>.text-link{font-size:12px}
 .result-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.recommendation,.contact-panel{padding:24px}.recommendation-top{flex-wrap:wrap}.recommendation .plan-title h2{font-size:38px}.contact-panel h2{font-size:28px}.contact-panel .button{font-size:12px;padding:13px 15px}
}
@media(max-width:760px){
 .heroVisual .fitnessPhoto.coachHero{height:auto;aspect-ratio:1/1;max-height:none;border-radius:10px}.heroVisual .fitnessPhoto.coachHero>img{position:absolute;inset:0;object-position:center top}
 .intro.wrap{display:grid;grid-template-columns:minmax(0,1fr);width:calc(100% - 32px);padding-block:28px 34px;gap:24px}
 .intro-copy{max-width:none}.intro-copy h1{font-size:clamp(36px,9.5vw,48px);line-height:1.08;letter-spacing:-1.5px}.intro-copy .intro-lead{font-size:15px}.intro-copy .intro-text{font-size:14px}
 .intro-visual.coach-intro{height:auto;min-height:0;max-height:none;aspect-ratio:1/1;width:100%;align-self:start}.intro-visual.coach-intro>img{object-position:center top}
 .site-header{width:calc(100% - 32px);gap:12px;min-height:78px}.site-header .brand{gap:8px}.site-header .brand>span{font-size:8px}.site-header .header-link{max-width:100px;font-size:11px;line-height:1.5;text-align:right}.header-note{display:none}
 .quiz-shell.wrap,.result.wrap{width:calc(100% - 32px)}.quiz-shell{grid-template-columns:minmax(0,1fr);min-height:0}.quiz-aside{display:none}.question-panel{padding:22px 18px}.question-panel h2{font-size:25px;line-height:1.25}.hint{font-size:13px}.option{font-size:14px;line-height:1.55;min-height:58px;padding:13px 12px}.option-letter{display:none}.question-actions{gap:12px}.question-actions .button{min-width:0;padding:13px 16px}.back{min-height:44px}.question-footer{font-size:11px;line-height:1.65}
 .result-layout{grid-template-columns:minmax(0,1fr);gap:18px}.recommendation,.contact-panel{padding:22px 20px}.recommendation-top{flex-wrap:wrap}.recommendation .eyebrow,.plan-duration{font-size:9px}.recommendation .plan-title h2{font-size:36px}.checks{font-size:14px}.contact-panel>p,.reason-details p,.reason-details li{font-size:14px}.contact-panel h2{font-size:26px}.result-intro h1{font-size:29px;line-height:1.2}.result-intro>p{font-size:14px}.contact-panel #direct-wa{font-size:13px;min-height:50px}.consent{font-size:12px}.callback-details summary,.reason-details summary{min-height:44px;font-size:13px}.site-footer.wrap{width:calc(100% - 32px)}
}
@media(max-width:360px){.intro-copy h1{font-size:35px}.site-header .brand img{width:38px;height:32px}.site-header .header-link{max-width:84px;font-size:10px}.question-panel{padding:20px 15px}.question-panel h2{font-size:23px}.recommendation,.contact-panel{padding:20px 17px}}
