/* Public-site phone refinements. Keep desktop layouts unchanged. */
@media(max-width:950px){
 .ff-header-main{width:100%;max-width:none;padding-inline:20px}
 .ff-header .ff-menu-group a{min-height:44px;align-items:center}
 .ff-header .ff-navigation{overscroll-behavior:contain;overflow-x:hidden}
}
@media(max-width:760px){
 body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 .ff-header-main{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding:14px 16px}
 .ff-brand{min-width:0}.ff-brand img{width:100%;max-width:190px;height:auto}
 .ff-inspection{margin:0;min-height:44px;padding:10px 12px;font-size:.74rem}
 .ff-header .ff-mobile-toggle{min-width:44px;min-height:44px;padding:10px}
 .ff-header .ff-navigation{max-height:calc(100dvh - 200px - env(safe-area-inset-bottom,0px))}
 .mobile-call{padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));z-index:90}
 .inspection-fields input,.inspection-fields select,.inspection-fields textarea,.inspection-form [data-panel="0"] input,.inspection-form [data-panel="0"] select,.inspection-form [data-panel="0"] textarea{font-size:16px}
 .inspection-intro .inspection-title{font-size:clamp(1.55rem,6.8vw,1.875rem)}
 .contact-inspection{padding:18px!important}.contact-inspection .inspection-body{padding:18px 12px}
 .inspection-days button,.inspection-times button,.calendar-toolbar button{min-height:44px}
 .hero-slide-controls button{min-height:44px;min-width:44px}
 .hero-slide-controls{top:10px;right:10px}
 .review-read{min-height:44px;display:flex;justify-content:space-between;align-items:center}
 .review-tile{height:310px}.review-tools button{min-height:44px}
 .review-dialog{padding:24px;max-height:calc(100dvh - 110px);width:calc(100% - 32px)}
 .review-dialog-close{min-height:44px;min-width:80px}
 .original-tags a{min-height:44px;display:inline-flex;align-items:center}
 .original-footer .original-grid a{min-height:44px;display:flex;align-items:center}
 .original-content table{display:block;overflow-x:auto;max-width:100%}
 .original-content h1,.original-content h2,.original-content h3,.original-content p,.original-text,.original-footer{overflow-wrap:break-word}
 .policy-document iframe{min-height:480px;height:70dvh}
}
@media(max-width:380px){
 .ff-header-main{padding-inline:12px;gap:8px}.ff-inspection{font-size:.68rem;padding-inline:10px}
 .ff-utility{font-size:.58rem}.ff-utility>.wrap{width:calc(100% - 20px)}
 .hero:has(.inspection-form) .hero-copy{padding:24px 16px}
 .contact-inspection{padding:14px!important}.contact-inspection .inspection-body{padding:16px 10px}
 .inspection-progress{gap:4px}.inspection-progress li{padding:12px 4px;font-size:.55rem}
 .calendar-toolbar{font-size:.75rem;gap:4px}.inspection-days{gap:3px}.inspection-days button{padding:8px 2px;font-size:.72rem}
}
.original-footer img{max-width:100%;width:220px;height:auto}
@media(max-width:950px){
 .original-footer-grid{grid-template-columns:1fr 1fr}.original-footer-grid>div:last-child{grid-column:1/-1}
 .original-columns:has(.location-map){grid-template-columns:1fr}
 .original-columns:has(.location-map) .original-grid a{display:block;min-height:44px;padding-block:8px}
}
@media(max-width:760px){
 .inspection-form .inspection-fields input,.inspection-form .inspection-fields select,.inspection-form .inspection-fields textarea{font-size:16px}
}

/* Accessible service-area links at every viewport, including touch laptops. */
.original-columns:has(.location-map) .original-grid a{display:block;min-height:44px;padding-block:8px}
