/* Shared responsive corrections, loaded after all component styles. */
main :is(fieldset,form,aside,figure,article){min-inline-size:0}
main :is(input,select,textarea,button){max-inline-size:100%}
main :is(p,li,a,legend,figcaption){overflow-wrap:break-word}
.button{white-space:normal;text-align:center;max-width:100%}
@media(max-width:1050px){
 header{height:auto;flex-wrap:nowrap;gap:16px;padding-block:14px}
 .menu-toggle{min-width:44px;min-height:44px;flex-shrink:0}
 header nav{max-height:calc(100dvh - 150px);overscroll-behavior:contain}
 .rp-inperson{flex-wrap:wrap}.rp-inperson .button{flex-shrink:1}
}
@media(max-width:850px){
 .guide-reference-hero,.guide-coach-intro,.guide-last-signup,.guide-sales,.enquiry-layout,.protein-layout,.contact-grid,.assessment-shell{grid-template-columns:minmax(0,1fr);gap:28px}
 .guide-sales .contact-form{position:static}
 .pc-product{grid-template-columns:minmax(0,1fr);gap:28px}
 .pc-product-image{width:100%;max-width:520px;margin-inline:auto}
 .pc-product-image img{height:auto;aspect-ratio:1.15;max-height:420px}
 .rp-plan-pair{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
 html{scroll-padding-top:96px}
 .section,.inner-hero,.ph-product-section,.ph-product-section.reverse,.blue-cta,.assessment-intro,.quiz-wrap,.coach-copy,.about-hero>div,.rp-coaching-why>div{padding-inline:20px}
 .section{padding-block:48px}
 .ph-home-copy,.rp-coaching-hero-copy{padding-inline:20px}
 .ph-home-hero .ph-home-copy h1,.rp-coaching-hero h1{font-size:clamp(2.8rem,12vw,4.25rem);line-height:1.04}
 .inner-hero h1,.guide-landing h1,.guide-sales h1,.editorial-copy h1,.ph-product-copy h1,.about-hero h1,.coaching-intro h1{font-size:clamp(2.4rem,10vw,3.5rem);line-height:1.06}
 main h2{font-size:clamp(2rem,8.5vw,3rem);line-height:1.1}
 .eyebrow{letter-spacing:.1em}
 .actions{width:100%;align-items:stretch;gap:12px}
 .actions .button,.blue-cta .button,.rp-inperson .button,.coaching-plan .button,.pc-contact .button,.pc-cart .button{width:100%}
 .button{padding:15px 16px;gap:12px;min-height:48px;letter-spacing:.045em}
 .text-link{max-width:100%;gap:10px}
 .product-visual{width:100%;max-width:100%;margin-inline:0}
 .hero-bottom{position:static;flex-wrap:wrap;gap:8px 18px;margin:0 20px 24px;padding-top:16px;font-size:11px;letter-spacing:0}
 .ph-home-hero{flex-direction:column;align-items:stretch;min-height:0}
 .ph-home-copy{padding-top:48px;padding-bottom:30px}
 .rp-coaching-hero{min-height:0}.rp-coaching-hero-copy{padding-block:48px}
 .contact-form,.enquiry-form,.enquiry-layout .contact-form,.guide-sales .contact-form,.guide-landing .contact-form{padding:24px 18px;width:100%}
 .contact-form :is(input,select,textarea),.search-box input{font-size:16px;min-width:0}
 .contact-form :is(input:not([type=checkbox]):not([type=radio]),select){min-height:48px}
 .contact-form label{overflow-wrap:anywhere}
 .contact-form :is(input[type=checkbox],input[type=radio]){flex-shrink:0}
 .small-note,.capture-form .small-note{font-size:14px}
 .visual-card>div,.price-card,.quote-grid blockquote,.ph-home-proof .quote-grid blockquote{padding:24px}
 .class-list article{grid-template-columns:48px minmax(0,1fr);gap:14px}
 .class-list article>.text-link{grid-column:2;justify-self:start}
 .class-list article :is(h3,p){overflow-wrap:anywhere}
 .pc-tools{flex-wrap:wrap;gap:12px}.pc-tools select{flex:1;min-width:130px;max-width:100%;font-size:16px}
 .pc-levels{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
 .pc-levels label{display:block}.pc-levels span{text-align:center;min-height:48px;font-size:16px}
 .pc-subscription{padding:20px 16px}.pc-subscription>div{flex-wrap:wrap;gap:8px 16px}
 .pc-price{font-size:clamp(1.65rem,7vw,2rem);overflow-wrap:anywhere}
 .pc-list article{grid-template-columns:96px minmax(0,1fr);gap:10px 16px}
 .pc-list article>a:first-child{min-width:0}.pc-list h2{font-size:20px;overflow-wrap:anywhere}
 .pc-buy h1{font-size:clamp(1.9rem,8vw,2.8rem)}
 .rp-plan{padding:24px 20px}.rp-plan-price{font-size:clamp(3rem,13vw,4.5rem)}
 .rp-plan-price sup{font-size:1.7rem}.rp-plan h3{font-size:2.15rem}
 .rp-coaching-features article{gap:16px}.rp-feature-number{flex-shrink:0;font-size:1.6rem}
 .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}
 .footer-top a,.footer-bottom a{overflow-wrap:anywhere}
 body>footer{padding-inline:20px;padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
 .mobile-actions{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));gap:8px}
 .mobile-actions a{min-width:0;min-height:48px;padding:10px 8px;text-align:center;font-size:13px;line-height:1.35}
 .comparison{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:360px){
 .pc-list article{grid-template-columns:minmax(0,1fr)}
 .pc-list article>a:first-child{grid-row:auto}
 .pc-tools select{flex-basis:100%}
 .footer-top{grid-template-columns:minmax(0,1fr)}
}
