/* Shared phone and small-tablet layout, loaded after the existing design. */
@media(max-width:1180px){
 body#site.mobile-menu-open{overflow:hidden}
 #site .header-nav{overscroll-behavior:contain;scrollbar-gutter:stable}
}
@media(max-width:800px){
 html{scroll-padding-top:88px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body#site{--cpb-mobile-dock:84px;font-size:16px;line-height:1.65}
 body#site:not(.appointment-page){padding-bottom:calc(var(--cpb-mobile-dock) + env(safe-area-inset-bottom,0px))}
 body#site.appointment-page{--cpb-mobile-dock:0px}
 body#site.mobile-contact-open{overflow:hidden}
 #site .wrap{width:calc(100% - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}
 #site main,#site main section,#site .section-heading>*{min-width:0}
 #site main :is(h1,h2,h3,p,li,dd){overflow-wrap:break-word}
 #site :is(input,select,textarea){font-size:16px}
 #site :is(a,button,input,select,textarea){-webkit-tap-highlight-color:#066aec26}
 #site .ui-button{min-height:52px;font-size:16px;white-space:normal;line-height:1.4;text-align:center;max-width:100%}
 #site .ui-icon-button{min-width:44px;min-height:44px}

 /* A single compact header leaves room for the page and a readable menu. */
 #site .site-header:not(.booking-site-header) .header-shell{min-height:72px;gap:8px;flex-wrap:nowrap;padding-block:0}
 #site .site-header:not(.booking-site-header) .header-brand{width:clamp(118px,36vw,176px);height:auto;flex:none;margin:0}
 #site .site-header .header-brand img{position:static;inset:auto;width:100%;height:auto;max-width:100%;object-fit:contain}
 #site .header-actions{min-width:0;gap:0;margin:0 0 0 auto}
 #site .header-actions>.header-recall,#site .header-actions .header-appointment{display:none}
 #site .header-contact{display:block;min-width:0;margin:0}
 #site .header-phone-caption{display:none}
 #site .header-contact-phone{display:inline-flex;align-items:center;min-height:44px;font-size:clamp(16px,4.4vw,20px);line-height:1.3;font-weight:650;letter-spacing:-.025em;white-space:nowrap;color:#123d70}
 #site .appointment-label-full{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 #site .appointment-label-short{display:inline}
 #site .site-header .menu-toggle.ui-icon-button{width:44px;height:44px;min-width:44px;border-radius:50%}
 #site .booking-exit{min-height:44px;font-size:14px;gap:10px}
 #site .booking-exit .exit-cross{width:40px;height:40px;font-size:24px}
 #site .site-header:not(.booking-site-header) .header-nav{position:fixed;top:72px;left:0;right:0;width:auto;max-height:calc(var(--cpb-visible-height,100dvh) - 72px);padding:10px max(20px,env(safe-area-inset-right,0px)) 24px max(20px,env(safe-area-inset-left,0px));overflow-y:auto;border-bottom:1px solid #dbe5f0}
 #site .header-nav>a{min-height:52px;padding:13px 0;font-size:16px;line-height:1.5;white-space:normal}
 #site .header-nav>a:focus-visible{outline:3px solid #066aec;outline-offset:3px;border-radius:3px}

 /* One primary dock, with WhatsApp as the single floating contact control. */
 #site:not(.appointment-page) .mobile-bar{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(100px,.7fr);gap:10px;height:calc(var(--cpb-mobile-dock) + env(safe-area-inset-bottom,0px));padding:12px max(16px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));box-sizing:border-box}
 #site .mobile-bar .ui-button,#site .mobile-bar>a:not(.button){justify-content:center;min-width:0;min-height:48px;padding:10px;font-size:14px;gap:7px;line-height:1.35}
 #site.appointment-page .mobile-bar{display:none}
 #site .recall-widget{display:none}
 #site #mobile-contact-choice{position:fixed;inset:auto 12px max(12px,env(safe-area-inset-bottom,0px));margin:0 auto;box-sizing:border-box;width:calc(100% - 24px);max-width:480px;max-height:calc(var(--cpb-visible-height,100dvh) - 24px);padding:28px 20px 20px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #c7d7e8;border-radius:20px;background:#fff;color:#061d39}
 #site #mobile-contact-choice::backdrop{background:#031b3870}
 #site #mobile-contact-choice h2{padding-right:42px;font-size:24px;line-height:1.3}
 #site .mobile-contact-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border-radius:50%;background:#edf4fc;color:#173f72;font-size:27px;line-height:1}
 #site .mobile-contact-actions{display:grid;gap:12px;margin-top:24px}
 #site .mobile-contact-actions .ui-button{display:flex;flex-direction:column;gap:3px;width:100%;min-height:56px;padding:14px 16px;font-size:16px}
 #site .mobile-contact-actions .ui-button>span{font-size:14px;font-weight:500}
 #site .whatsapp-widget{right:max(16px,env(safe-area-inset-right,0px));--wa-height:52px;--wa-bottom:calc(var(--cpb-mobile-dock) + 12px + env(safe-area-inset-bottom,0px))}
 #site .recall-widget,#site.appointment-page .recall-widget{right:calc(max(16px,env(safe-area-inset-right,0px)) + 62px);bottom:calc(var(--cpb-mobile-dock) + 12px + env(safe-area-inset-bottom,0px))}
 #site.appointment-page .whatsapp-widget{--wa-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
 #site .whatsapp-trigger,#site .recall-toggle{width:52px;min-width:52px;height:52px;min-height:52px;padding:0;gap:0;border-radius:50%}
 #site .whatsapp-trigger>.whatsapp-label,#site .recall-toggle>span{display:none}
 #site .recall-toggle .icon{width:23px;height:23px}
 #site .whatsapp-panel,#site .recall-panel,#site.appointment-page .whatsapp-panel,#site.appointment-page .recall-panel{position:fixed;left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:calc(var(--cpb-mobile-dock) + 76px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;max-height:calc(var(--cpb-visible-height,100dvh) - var(--cpb-mobile-dock) - 172px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;border-radius:18px}
 #site .recall-panel{padding:24px 20px}
 #site .recall-close.ui-icon-button,#site .whatsapp-close.ui-icon-button{width:44px;height:44px}
 #site .recall-intro{padding-right:32px}
 #site .recall-panel .ui-button,#site .whatsapp-start{font-size:15px}
 #site.mobile-menu-open :is(.mobile-bar,.recall-widget,.whatsapp-widget),#site.mobile-input-active .mobile-bar,#site.mobile-form-editing :is(.recall-toggle,.whatsapp-trigger){visibility:hidden;pointer-events:none}
 #site.mobile-input-active .recall-panel,#site.mobile-input-active .whatsapp-panel{bottom:calc(var(--cpb-keyboard-inset,0px) + 12px);max-height:calc(var(--cpb-visible-height,100dvh) - 96px)}

 /* Less unused space, with comfortable text and full-width primary actions. */
 #site.home-page:not([data-campaign]) .section{padding-block:42px}
 #site .video-campaign .hero-content{width:calc(100% - 32px)}
 #site .video-campaign .campaign-copy{padding:24px 0 28px}
 #site .video-campaign .campaign-copy h1{font-size:clamp(32px,8.6vw,42px);line-height:1.12}
 #site .video-campaign .campaign-copy>.ui-button{width:100%;min-height:54px}
 #site .video-campaign .hero-coverage{gap:12px;margin-top:22px;padding-top:18px;scroll-margin-top:88px}
 #site .video-campaign .hero-coverage h2{font-size:16px}
 #site .video-campaign .hero-coverage p{font-size:14px}
 #site.home-page:not([data-campaign]) .section-heading{display:block;margin-bottom:24px}
 #site.home-page:not([data-campaign]) .section-heading>p{max-width:none;margin-top:16px;font-size:16px}
 #site.home-page:not([data-campaign]) .need-shortcuts{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding-block:24px}
 #site.home-page:not([data-campaign]) .need-shortcuts>a{min-height:54px;gap:14px}
 #site.home-page:not([data-campaign]) .need-shortcuts span{font-size:16px}
 #site.home-page:not([data-campaign]) .need-shortcuts small{font-size:14px}
 #site.home-page:not([data-campaign]) .assurance-strip{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
 #site.home-page:not([data-campaign]) .assurance-strip>span{font-size:14px}
 #site.home-page:not([data-campaign]) .services-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 #site.home-page:not([data-campaign]) .service-list{grid-template-columns:minmax(0,1fr)}
 #site.home-page:not([data-campaign]) .service-list button,#site.home-page:not([data-campaign]) .service-list button+button{min-height:76px;padding:16px;gap:14px}
 #site.home-page:not([data-campaign]) .service-list strong{font-size:16px}
 #site.home-page:not([data-campaign]) .service-list small{font-size:13px}
 #site.home-page:not([data-campaign]) .service-photo{height:clamp(210px,56vw,300px);min-height:0}
 #site.home-page:not([data-campaign]) .service-detail p:not(.eyebrow),#site.home-page:not([data-campaign]) .insurance-intro>p,#site.home-page:not([data-campaign]) .check-list p,#site.home-page:not([data-campaign]) .steps p{font-size:16px;line-height:1.7}
 #site.home-page:not([data-campaign]) .insurance,#site.home-page:not([data-campaign]) .insurance-copy{grid-template-columns:minmax(0,1fr);gap:24px}
 #site.home-page:not([data-campaign]) .insurance-photo>img{height:clamp(210px,56vw,300px);min-height:0}
 #site.home-page:not([data-campaign]) .insurance-sheet{padding:24px 20px}
 #site.home-page:not([data-campaign]) .steps{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:28px}
 #site.home-page:not([data-campaign]) .steps article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:0 16px;padding-top:22px}
 #site.home-page:not([data-campaign]) .step-num{grid-row:1/3;font-size:30px;margin:0}
 #site.home-page:not([data-campaign]) .steps h3{font-size:21px}
 #site.home-page:not([data-campaign]) .steps p{margin-top:10px}
 #site.home-page:not([data-campaign]) .home-faq .faq-list summary{font-size:16px;min-height:52px;line-height:1.5}
 #site.home-page:not([data-campaign]) .home-faq .faq-list details p{font-size:16px;line-height:1.7;margin-right:0}
 #site.home-page:not([data-campaign]) .home-resource-links a{font-size:14px;min-height:48px}
 #site.home-page:not([data-campaign]) .home-enterprise-card>span{font-size:14px}
 #site :is(.faq-list summary,.home-resources>summary){min-height:48px}

 /* Footer, subscription and consent remain readable and easy to operate. */
 #site .cpb-footer{padding-bottom:24px}
 #site .cpb-footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 18px}
 #site .cpb-footer-brand{grid-column:1/-1;grid-row:1;display:block}
 #site .cpb-footer-logo{width:160px}
 #site .cpb-footer-address{margin-top:14px;font-size:13px}
 #site .cpb-footer-brand-copy>p{font-size:14px}
 #site .cpb-footer-main h2{font-size:12px}
 #site .cpb-footer-links>a{display:flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5;padding:7px 0;overflow-wrap:break-word}
 #site .cpb-footer-contact{grid-column:1/-1;grid-row:3;border-top:1px solid #ffffff20;padding-top:20px}
 #site .cpb-footer-phone{font-size:24px;min-height:44px}
 #site .cpb-footer-email,#site .cpb-footer-contact-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center;white-space:normal}
 #site .cpb-footer-bottom{justify-content:center;gap:18px}
 #site .cpb-footer-bottom>.cpb-social-list{flex-basis:100%;margin:0;justify-content:center;gap:8px}
 #site .cpb-social{width:44px;height:44px}
 #site .cpb-footer-legal{justify-content:center;gap:10px 20px}
 #site .cpb-footer-legal a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
 #site .cpb-newsletter{grid-template-columns:minmax(0,1fr);gap:20px}
 #site .cpb-newsletter-field{flex-direction:column;gap:10px}
 #site .cpb-newsletter-field input{height:52px;font-size:16px}
 #site .cpb-newsletter-field button{width:100%;min-height:50px;font-size:15px}
 #site .cpb-newsletter-copy>p:last-child{font-size:14px}
 #site .cpb-newsletter-consent{font-size:13px;line-height:1.65;padding-block:5px}
 #site .cpb-newsletter-consent input{width:20px;height:20px;flex-shrink:0}
 #site .cpb-newsletter-privacy{font-size:12px}
 #site #cpb-audience{inset:auto 12px calc(var(--cpb-mobile-dock) + 12px + env(safe-area-inset-bottom,0px));padding:12px 14px;max-height:calc(var(--cpb-visible-height,100dvh) - var(--cpb-mobile-dock) - 100px);overflow-y:auto}
 #site #cpb-audience p{font-size:13px;line-height:1.45}
 #site #cpb-audience a{white-space:normal}
 #site #cpb-audience button{min-height:44px;min-width:0;font-size:14px}
 #site dialog{max-width:calc(100% - 24px);max-height:calc(var(--cpb-visible-height,100dvh) - 24px);overscroll-behavior:contain}
 #site .dialog-inner{padding:28px 22px}
 #site .dialog-close.ui-icon-button{width:44px;height:44px}
 #site .dialog-inner h2{padding-right:18px;font-size:26px}
}
@media(max-width:380px){
 #site .header-nav>a{font-size:16px}
 #site.home-page:not([data-campaign]) .home-enterprises-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 #site.home-page:not([data-campaign]) .home-enterprise-card>img{max-height:210px}
}
@media(max-width:360px){
 #site .site-header:not(.booking-site-header) .header-shell{gap:6px}
}
@media(max-width:800px) and (max-height:500px){
 #site .whatsapp-panel,#site .recall-panel,#site.appointment-page .whatsapp-panel,#site.appointment-page .recall-panel{bottom:calc(var(--cpb-keyboard-inset,0px) + 12px);max-height:calc(var(--cpb-visible-height,100dvh) - 24px)}
}
