/* Keep layout positions predictable while images and lower sections load. */
html body main>section,html body footer{content-visibility:visible!important;contain-intrinsic-size:none!important}
html body .mobile-drawer{overscroll-behavior:contain}
html body .service-choice summary,html body .faq summary{touch-action:manipulation}
html body .mobile-card-rail,html body .desktop-faq-rail{overscroll-behavior-x:contain}
@media(max-width:900px){
html body input,html body select,html body textarea{font-size:16px}
html body .service-choice__links a,html body .service-menu__contact a,html body .service-link{min-height:44px;box-sizing:border-box;display:flex;align-items:center}
html body .faq summary{min-height:56px;box-sizing:border-box}
html body .audience-mobile-sub a{min-height:44px;display:flex;align-items:center}
html body .hero-actions .btn,html body .cta-actions .btn{min-height:48px}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto!important}
html body .mobile-card-rail,html body .recent-work-track,html body .local-answer-grid,html body .desktop-faq-rail{scroll-behavior:auto!important}
}
/* Keep contact buttons after the service list so they never cover menu links. */
@media(max-width:900px){
html body.experience-ready .experience-menu-actions{position:static;background:#fff;border-top:1px solid #eceef7;padding-top:12px}
}
