/* Shared phone-first safeguards for the five independent public sites. */
html{width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;min-width:0;margin:0}
main,section,article,form,header,footer,div,label,details{min-width:0}
p,h1,h2,h3,h4,li,label,summary,blockquote,a,button{overflow-wrap:anywhere}
img,video,svg{max-width:100%}
button,.button,input,select,textarea{max-width:100%;box-sizing:border-box}
button,.button{white-space:normal;text-align:center;line-height:1.45}
button,.button{min-height:48px}
.actions{gap:12px}
.steps,.slots,.review-grid{min-width:0}
.slots>p{grid-column:1/-1}
.check-row>span{min-width:0;flex:1}
.check-row input{flex:0 0 22px}
.captcha{width:100%;min-width:0}
.review-dialog{box-sizing:border-box;margin:auto;max-width:min(600px,calc(100vw - 24px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-block:20px;padding-bottom:max(22px,env(safe-area-inset-bottom));}
.calendar-dialog{max-width:min(440px,calc(100vw - 24px))}
.calendar-picker-head h2{min-width:0}
.calendar-month-arrow,.close{flex-shrink:0}
.star-picker button{min-width:0}
.pricing-page-v60,.public-shell,.pricing-carousel-v60,.pricing-track-v60{min-width:0;max-width:100%}
.pricing-plan-v60 li>span:last-child,.pricing-included-v60 li>span:last-child{min-width:0}
.pricing-carousel-controls-v60>button{flex-shrink:0;min-width:44px}
.pricing-dots-v60{min-width:0;max-width:50%;gap:6px}
@media(max-width:650px){
 header{display:flex;justify-content:flex-start;padding:18px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}
 header img,.public-brand{width:135px;height:45px}
 main,.public-shell{width:100%;padding:16px max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
 body{font-size:15px}
 h1{font-size:clamp(28px,7.6vw,38px);line-height:1.2;letter-spacing:-.9px}
 h2{font-size:22px}
 .intro{font-size:16px}
 .card{padding:20px 18px;border-radius:22px;margin:18px 0}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}
 .steps button{font-size:12px;padding:10px 8px}
 .actions{align-items:stretch}
 .actions>.button,.actions>button{flex:1 1 160px}
 .card>button,form>button{width:100%;display:flex;margin:12px 0 0}
 input,select,textarea{font-size:16px;padding:13px 12px}
 .slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .slots button{width:100%;min-width:0;padding:12px 8px}
 .review-dialog{padding:20px 18px max(20px,env(safe-area-inset-bottom));border-radius:22px}
 .review-dialog .actions h2{flex-basis:calc(100% - 64px);margin:0;align-self:center}
 .review-dialog .actions .close{flex:0 0 44px;width:44px}
 .calendar-picker-head{gap:6px}
 .calendar-picker-head h2{font-size:16px;line-height:1.3}
 .calendar-month-arrow{width:32px;min-width:32px}
 .calendar-picker-grid{gap:4px}
 .calendar-picker-day{min-height:38px;padding:0}
 .pricing-filters-v60{gap:10px}
 .pricing-filters-v60 button{flex:1 1 120px;font-size:12px;min-height:48px}
 .pricing-plan-v60{flex-basis:100%;min-width:0;max-width:100%;padding:26px 22px}
 .pricing-profile-v60{gap:12px}
 .pricing-hero-v60>h2{font-size:30px;letter-spacing:-1px}
 .pricing-included-v60,.pricing-service-v67{padding:22px 20px}
 .pricing-carousel-controls-v60{gap:8px}
 .pricing-track-v60{scroll-padding-inline:4px}
 .pricing-toolbar-v60>a,.pricing-toolbar-v60>button{flex:1 1 140px;text-align:center;justify-content:center}
}
