/* Mobile refinement: readable content, reliable touch controls and iOS safe areas. */
:root{--mobile-actions-space:calc(82px + env(safe-area-inset-bottom,0px))}
@media(max-width:760px){
 html{scroll-padding-bottom:var(--mobile-actions-space);-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{padding-bottom:var(--mobile-actions-space)}
 .mobile-bar{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}
 .mobile-bar .btn{font-size:16px;min-height:52px}
 .back-to-top{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 .footer{padding-bottom:30px}
 .header .wrap{gap:14px}
 .nav a,.nav button{min-height:48px}
 .dropdown{padding:18px 16px}
 .dropdown a{overflow-wrap:anywhere}
 .nav .btn{margin-top:20px}
 .article-card p,.care-copy>p,.care-secondary p,.wayfinding-layout>div>p,.first-visit-line p,.our-place-copy>p,.visit p{font-size:18px;line-height:1.75}
 .team p,.side-card,.payment p,.first-visit-line .text-link,.care-secondary .text-link,.article-card .text-link,.footer a,.footer p{font-size:16px}
 .side-card .btn{font-size:16px;min-height:48px}
 .footer a.clinic-phone{font-size:25px}
 .footer-bottom a,.footer-bottom{font-size:14px}
 .article-search input{font-size:18px;min-height:48px}
 input,textarea,select{font-size:16px}
 .demo-form [disabled]{font-size:18px}
 .mobile-toc a{min-height:44px;padding-block:10px}
 .photo-dialog{max-height:calc(100dvh - 28px);max-width:calc(100vw - 24px);padding:58px 16px 20px;overflow:auto;overscroll-behavior:contain}
 .photo-dialog .close{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px}
 .photo-dialog .enlarged-photo{max-height:calc(100dvh - 160px);object-fit:contain}
 .photo-dialog p{font-size:16px;line-height:1.5;margin-top:16px}
 .faq-item,.mobile-toc,.page-intro,.prose,.side-card{min-width:0}
 .prose{overflow-wrap:anywhere}
 .faq-item>summary h3,.prose h2,.prose h3{overflow-wrap:anywhere}
 .urgent-standard .emergency-start{min-height:64px}
}
@media(max-width:360px){.mobile-bar .btn.clinic-phone{font-size:15px}.team-grid{column-gap:16px}.team h3{font-size:20px}.footer-grid{column-gap:18px}}
@media(max-width:1024px) and (max-height:500px){
 body{padding-bottom:var(--mobile-actions-space)}
 .mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;inset:auto 0 0;z-index:9;background:#fff;border-top:1px solid #d7e4ec;padding:6px max(12px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));gap:10px}
 .mobile-bar .btn{min-height:44px;padding:10px;font-size:16px}
 .back-to-top{bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 .photo-dialog{max-height:calc(100dvh - 16px);padding-top:52px;overflow:auto}
 .photo-dialog .enlarged-photo{max-height:calc(100dvh - 135px)}
}
@media print{body{padding-bottom:0}.mobile-bar{display:none}}

/* A definite width keeps lazy photographs in prose and galleries measurable before download. */
.prose .photo-open{width:100%;min-width:0}.prose .photo-open img{width:100%;height:auto;max-height:none}
