/* Section layout, type and surfaces come from the approved homepage stylesheet. */
.service-page .testimonials .eyebrow{display:none}
.service-page .callback-condition{font-size:14px;color:#465367}
/* The utility reading layout uses the same palette and body scale. */
.utility-page{background:#f5f2e9;color:#101d32;--muted:#465367;--line:#d3d8db;--text:#101d32}
.utility-page .policy-hero{padding-top:52px}
.utility-page .policy-hero h1{text-transform:none}
.utility-page .draft-notice{background:#e8ecec;border-color:#d3d8db;border-left-color:#b52b35}
.utility-page .policy-nav{font-size:14px}
.utility-page .policy-copy p{font-size:16px;line-height:1.8}
.utility-page .policy-copy h2{font-size:34px}
@media(max-width:500px){
  .utility-page .policy-hero{padding-top:32px}
  .utility-page .policy-copy p{font-size:18px;line-height:1.75}
  .utility-page .policy-copy h2{font-size:30px}
  .utility-page .policy-nav{font-size:14px}
}

/* All service pages use the approved six-card static Emergency layout. */
.service-page .service-repair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:34px;overflow:visible;scroll-snap-type:none}
.service-page .service-repair-grid .service-card{width:auto;min-width:0;min-height:0;padding:30px;animation:none;transform:none;scroll-snap-align:none}
.service-page .service-repair-grid .service-card h3{margin:0 0 14px;font-size:30px;line-height:1.2}
.service-page .service-repair-grid .service-card p{font-size:17px;line-height:1.75;margin:0}
.service-page .service-repair-grid .service-top{margin-bottom:20px}
@media(max-width:600px){
  .service-page .service-repair-grid{grid-template-columns:1fr;gap:16px;margin-top:26px}
  .service-page .service-repair-grid .service-card{padding:26px}
  .service-page .service-repair-grid .service-card h3{font-size:28px}
}

/* Approved Emergency presentation, scoped to generated inner pages.
   Preserve all page-specific wording and the shared homepage surfaces. */
.service-page .hero .hero-headline{max-width:none;text-wrap:balance}
.service-page .hero .hero-headline em{display:inline}
.service-page .hero .hero-description{margin-top:22px;margin-bottom:17px}
.service-page .hero .hero-grid{align-items:start}
.service-page .hero .hero-visual,.service-page .hero .hero-visual img{height:100%;min-height:460px}
.service-page .hero h1.hero-seo{display:block;font:600 18px/1.5 DM,Arial,sans-serif;color:#f5f2e9;letter-spacing:0;text-transform:none;margin:0 0 22px}
.service-page .hero-expectation,.service-page .hero-expectation p,.service-page .hero-expectation a{font-size:14px;line-height:1.65}
.service-page .usp{align-items:flex-start;min-width:0}
.service-page .usp strong{font-size:28px}
.service-page .usp span{font-size:16px;line-height:1.5}
.service-page .usp-terms{font-size:14px;line-height:1.6;color:#d3dce8}
.service-page .review-proof--summary{max-width:330px}
.service-page .review-context-note{font-size:16px!important;line-height:1.75!important}
.service-page .continuous-testimonials{background:var(--bg);color:var(--text);overflow:hidden;padding:74px 0}
.service-page .service-review-lane{overflow:hidden;min-width:0}
.service-page .continuous-testimonials .review-track{animation-play-state:running}
.service-page .service-review-lane.reverse .review-track{animation-direction:reverse;animation-duration:100s}
.service-page .continuous-testimonials .review-author strong{font-size:14px}
.service-page .service-static-map{width:100%;background:transparent;border:1px solid #000;border-radius:0;box-shadow:none;align-self:start}
.service-page .service-static-map>img{display:block;width:100%;height:auto;aspect-ratio:600/460;object-fit:contain;padding:0}
.service-page .service-regions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;list-style:none;padding:0;margin:26px 0;font-size:16px;color:#263b52}
.service-page .areas .small-copy{font-size:16px!important}
.service-page #faq .faq-list{border-top:0}
.service-page #faq details{border:1px solid #c1cbd1;border-radius:5px;margin:0 0 12px;padding:0 20px;background:#fff;transition:background-color .2s ease,border-color .2s ease}
.service-page #faq details[open]{background:#fff;border-color:#a52530}
.service-page #faq summary{padding:21px 32px 21px 0;min-height:66px}
.service-page #faq summary h3{font-size:17px;line-height:1.6}
.service-page #faq summary:focus-visible{outline:2px solid #a52530;outline-offset:4px;border-radius:2px}
.service-page #faq details p{margin:0;padding:0 0 22px;font-size:16px;line-height:1.8}
@supports (interpolate-size:allow-keywords){
  .service-page #faq details{interpolate-size:allow-keywords}
  .service-page #faq details::details-content{block-size:0;overflow:clip;transition:block-size .24s ease,content-visibility .24s allow-discrete}
  .service-page #faq details[open]::details-content{block-size:auto}
}
@media(max-width:800px){
  .service-page .hero .hero-visual,.service-page .hero .hero-visual img{height:280px;min-height:0}
  .service-page .review-proof--summary{margin-top:20px;max-width:none}
  .service-page .continuous-testimonials{padding:65px 0}
  .service-page #areas .section-copy{order:-1}
  .service-page .service-static-map{max-width:600px;margin:0 auto}
}
@media(max-width:500px){
  .service-page .hero .hero-visual,.service-page .hero .hero-visual img{height:235px;min-height:0}
  .service-page .hero .hero-headline{font-size:49px;line-height:1.03}
  .service-page .hero .hero-description{font-size:18px;line-height:1.75}
  .service-page .hero h1.hero-seo{font-size:17px;line-height:1.5;margin-bottom:20px}
  .service-page .usp{gap:10px}
  .service-page .usp strong{font-size:25px}
  .service-page .usp span{font-size:16px}
  .service-page .usp-terms{text-align:left;font-size:14px;margin-top:22px}
  .service-page .review-proof--summary{width:100%;text-align:center}
  .service-page .continuous-testimonials{padding:50px 0}
  .service-page .service-regions{font-size:16px;gap:10px 14px}
  .service-page #faq details{padding:0 16px}
}
@media(prefers-reduced-motion:reduce){
  .service-page #faq details,.service-page #faq details::details-content{transition:none}
  .service-page .service-review-lane{overflow-x:auto;scroll-snap-type:x proximity}
}
/* Allow the larger service-point labels to fit narrow phones without overlap. */
@media(max-width:500px){
  .service-page .usp p{min-width:0}
  .service-page .usp span{white-space:normal}
  .service-page .usp svg{flex-shrink:0}
}

/* Shared individual PAS review, using the approved Emergency proof treatment. */
.service-page .pas-proof{margin-top:26px;max-width:540px;color:#263b52}
.service-page .pas-proof .proof-rating{display:flex;align-items:center;gap:12px;white-space:nowrap;font:600 14px/1.5 DM,Arial,sans-serif}
.service-page .pas-proof .proof-quote{font-size:16px;line-height:1.65;margin:10px 0 6px}
.service-page .pas-proof .proof-attribution{font-size:14px;line-height:1.65;margin:0;color:#465367}
.service-page .pas-proof .proof-attribution a{color:#96232d;text-decoration:underline;text-underline-offset:3px}
@media(max-width:500px){
  .service-page .pas-proof .proof-rating{justify-content:center;gap:8px}
  .service-page .pas-proof .review-stars{width:72px;height:14.4px}
  .service-page .pas-proof .proof-quote,.service-page .pas-proof .proof-attribution{text-align:center}
}
