/* Public pages only. Keep administration and form input usability unchanged. */
body{font-size:16px;line-height:1.75}
.header-inner{min-height:74px;gap:22px}
.wordmark strong{font-size:32px}
.desktop-nav{gap:25px;font-size:14px}
.header-call{font-size:16px;padding:9px 15px}
.hero-grid{min-height:0;padding-block:56px 42px;gap:26px}
.hero h1{font-size:clamp(34px,4vw,52px);font-weight:700;line-height:1.4}
.hero-description{font-size:16px;line-height:1.85;margin-top:18px}
.eyebrow{font-size:13px;margin-bottom:18px}
.hero-buttons{margin-top:24px;gap:10px}
.button{min-height:46px;padding:11px 19px;font-size:14px;gap:16px}
.button-blue{box-shadow:0 3px 0 #123c94,0 9px 22px #286ee51f}
.hero-review{margin-top:24px;font-size:13px}
.lobby-heading{padding:16px 20px}
.lobby-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.lobby-service{padding:18px;font-size:14px}
.lobby h2{font-size:15px;font-weight:500}
.services,.reviews,.coverage,.contact,.quote-section{padding-block:64px}
.section-heading{gap:32px;margin-bottom:30px}
h2,.contact h2,.quote-intro h2,.cms-section h2{font-size:clamp(27px,2.8vw,38px);line-height:1.45;font-weight:700}
.section-kicker{font-size:13px;margin-bottom:10px}
.section-intro,.hero-description,.coverage-copy>p:not(.section-kicker),.contact p:not(.section-kicker),.quote-intro>p:not(.section-kicker){font-size:15px;line-height:1.8}
.service-grid{gap:22px}
.service-body{padding:22px}
.service-body h3{font-size:23px;font-weight:700;margin-bottom:10px}
.service-body p{font-size:15px;line-height:1.8;min-height:0}
.text-link{font-size:14px}
.service-body .text-link{font-size:14px;margin-top:16px;padding-top:12px;min-height:44px}
.google-card{padding:30px}
.review-combined{gap:30px}
.review-combined .review-invite{padding-inline-start:30px}
.review-combined .review-invite h3{font-size:clamp(25px,2.5vw,34px);font-weight:700}
.review-invite>p:not(.section-kicker),.rating-label{font-size:15px}
.review-combined .rating-value strong{font-size:clamp(68px,6vw,88px)}
.rating-date,.rating-source{font-size:13px}
.review-combined .review-action{margin-top:18px;padding:11px 18px;font-size:14px}
.quote-layout{gap:38px}
.quote-form{padding:24px}
.quote-fields{gap:16px}
.quote-fields label{font-size:14px}
.quote-fields input,.quote-fields select,.quote-fields textarea{font-size:16px}
.quote-fields input,.quote-fields select{height:46px}
.quote-submit{font-size:15px;min-height:46px}
.quote-map-button{font-size:14px;min-height:44px}
.quote-extras summary{font-size:14px;font-weight:500}
.quote-intro .quote-caveat{font-size:14px!important;padding-top:14px}
.quote-field-help{font-size:13px}
.contact-number{font-size:46px}
.contact-actions .button{font-size:14px}
.contact-choice h2{font-size:22px}
.contact-choice .button{font-size:15px;min-height:46px}
html[lang="en"] .hero h1{font-size:clamp(42px,4.6vw,62px);font-weight:600;line-height:1.1}
html[lang="en"] h2,html[lang="en"] .contact h2,html[lang="en"] .quote-intro h2{font-size:clamp(32px,3.1vw,43px);line-height:1.15}
html[lang="en"] .service-body h3{font-size:28px;font-weight:600;line-height:1.2}
html[lang="en"] .hero-description,html[lang="en"] .service-body p{font-size:15px}
html[lang="en"] .review-combined .review-invite h3{font-size:34px}
html[lang="en"] .lobby h2{font-size:14px}
@media(max-width:850px){
 .lobby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lobby-service:last-child{grid-column:auto}
 .hero-grid{gap:28px;padding-block:36px 28px}
 .services,.reviews,.coverage,.contact,.quote-section{padding-block:48px}
 .quote-layout{gap:22px}
 .section-heading{gap:16px}
}
@media(max-width:600px){
 html{scroll-padding-top:82px}
 .header-inner{min-height:64px;gap:12px}
 .wordmark strong{font-size:28px}
 .wordmark small{font-size:8px;letter-spacing:2px}
 .header-actions{gap:15px}
 .hero-grid{padding-top:24px;gap:26px}
 .hero h1{font-size:clamp(30px,8vw,36px);line-height:1.4}
 .hero-description{font-size:15px;margin-top:14px}
 .hero-buttons{margin-top:20px;gap:9px}
 .hero-buttons .button{font-size:14px;min-height:46px;padding-inline:16px;gap:12px}
 .hero-review{margin-top:20px}
 .eyebrow{font-size:12px;margin-bottom:12px}
 .lobby-heading{padding:13px 15px}
 .lobby-service{padding:14px 12px;font-size:13px;line-height:1.6}
 .lobby h2{font-size:14px}
 .services,.reviews,.coverage,.contact,.quote-section{padding-block:40px}
 h2,.contact h2,.quote-intro h2,.cms-section h2{font-size:26px}
 .section-heading{margin-bottom:24px;gap:13px}
 .service-grid{gap:18px}
 .service-body{padding:18px}
 .service-body h3{font-size:22px}
 .service-body p{font-size:15px;line-height:1.8}
 .service-body .text-link{font-size:14px;margin-top:14px;padding-top:10px}
 .google-card{padding:23px}
 .review-combined{gap:22px}
 .review-combined .review-invite{padding:22px 0 0}
 .review-combined .review-invite h3{font-size:26px}
 .review-combined .rating-value strong{font-size:76px}
 .quote-form{padding:20px 16px}
 .quote-fields{gap:14px}
 .quote-location{padding:13px}
 .contact-inner{gap:26px}
 .contact-number{font-size:39px}
 .mobile-contact :is(a,button){font-size:13px;min-height:46px}
 html[lang="en"] .hero h1{font-size:44px}
 html[lang="en"] h2,html[lang="en"] .contact h2,html[lang="en"] .quote-intro h2{font-size:32px}
 html[lang="en"] .service-body h3{font-size:26px}
 html[lang="en"] .review-combined .review-invite h3{font-size:30px}
 html[lang="en"] .hero-buttons .button{font-size:13px;padding-inline:15px}
}

/* Compact public layout: image geometry and the hero 24/7 badge stay intact. */
.services,.reviews,.coverage,.contact,.quote-section{padding-block:42px}
.section-heading{margin-bottom:22px;gap:20px}
.lobby-heading{padding-block:10px}.lobby-service{padding-block:12px}
.service-body{padding:16px 20px}.service-body h3{margin-bottom:6px}
.service-body p{margin-block:0;line-height:1.65}
.service-body .text-link{margin-top:8px;padding-top:6px}
.quote-layout{gap:24px}.quote-form{padding:20px}
.quote-fields{gap:10px 14px}.quote-fields label{gap:5px;margin:0}
.quote-fields input,.quote-fields select{padding-block:9px;min-height:46px}
.quote-intro>p{margin-block:8px}.quote-extras{margin-block:12px}
.google-card{padding:22px}.review-combined{gap:20px}
.review-combined .review-invite{padding-inline-start:20px}
.review-combined .review-invite h3{font-size:26px;margin-block:0 12px}
.review-combined .rating-value strong{font-size:64px}
.rating-value{margin-block:8px}.rating-label{margin-block:6px}
.review-combined .review-action{margin-top:8px}
.contact-inner{gap:22px}.contact h2{font-size:30px}
.contact-number{font-size:36px}.contact-actions{gap:12px}
@media(max-width:600px){
.services,.reviews,.coverage,.contact,.quote-section{padding-block:30px}
.section-heading{margin-bottom:18px}
.service-body{padding:14px 16px}.service-body .text-link{margin-top:6px}
.quote-form{padding:16px}.quote-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.quote-fields>label{grid-column:1/-1;min-width:0}
.quote-fields>.quote-date-field,.quote-fields>.quote-time-field{grid-column:auto}
.quote-fields input,.quote-fields select{width:100%;min-width:0;box-sizing:border-box}
.quote-extras .quote-fields>*{grid-column:1/-1}
.google-card{padding:18px}.review-combined{gap:14px}
.review-combined .review-invite{padding:14px 0 0}
.review-combined .review-invite h3,html[lang="en"] .review-combined .review-invite h3{font-size:23px}
.review-combined .rating-value strong{font-size:60px}
.contact h2,html[lang="en"] .contact h2{font-size:27px}
}

/* A shorter map and footer; all service and hero image sizes are preserved. */
.coverage{padding-block:28px}.coverage-inner{gap:24px}
.coverage h2,html[lang="en"] .coverage h2{font-size:28px;line-height:1.5}
.coverage .section-kicker{margin-bottom:8px}.coverage .text-link{margin-top:12px;min-height:44px}
.map-panel iframe{display:block;width:100%;height:260px;min-height:0}
.map-heading{padding:10px 14px;font-size:13px}
.contact{padding-block:24px}.contact-inner{align-items:center;gap:18px}
.contact h2,html[lang="en"] .contact h2{font-size:26px;line-height:1.4;margin:0 0 8px}
.contact-number{font-size:30px;margin-top:0}.contact-actions{gap:0}
.footer{padding-top:20px}.footer-inner{padding-block:12px;gap:16px;min-height:0}
.footer .wordmark strong{font-size:26px}.footer .wordmark small{font-size:8px}
.footer-bottom{padding-block:12px;gap:10px;font-size:12px}
.social-links{gap:18px;font-size:14px}
@media(max-width:600px){
.coverage{padding-block:24px}.coverage-inner{gap:16px}
.coverage h2,html[lang="en"] .coverage h2{font-size:23px}
.map-panel iframe{height:220px;min-height:0}.map-heading{padding:9px 12px;font-size:12px}
.contact{padding-block:22px}.contact-inner{gap:12px}
.contact h2,html[lang="en"] .contact h2{font-size:24px}.contact-number{font-size:29px}
.contact-actions .button{width:100%;justify-content:space-between}
.footer{padding-top:10px}.footer-inner{gap:12px;padding-block:12px}
.footer-bottom{padding-block:12px;gap:8px}
}
