/* Only the ten added routes use this file. Existing design tokens/components stay intact. */
.hm-geo-extension .geo-expansion-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:48px;align-items:center}
.hm-geo-extension .quick-estimate-card{position:static;inset:auto;min-width:0;box-shadow:7px 7px 0 var(--coral);padding:24px;background:var(--paper)}
.hm-geo-extension .quick-estimate-card h2{font-size:30px;margin:6px 0 18px}
.hm-geo-extension .quick-estimate-kicker{font-size:12px!important;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--pine)}
.hm-geo-extension .quick-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hm-geo-extension .quick-estimate-form .field label{font-size:12px}
.hm-geo-extension .quick-estimate-form .field input,.hm-geo-extension .quick-estimate-form .field select{width:100%;min-width:0;min-height:46px;padding:9px 10px}
.hm-geo-extension .quick-estimate-form>.btn{width:100%;margin-top:14px}
.hm-geo-extension .form-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px}
.hm-geo-extension .page-hero{padding:38px 0 48px}
.hm-geo-extension .page-hero h1{font-size:clamp(40px,4.7vw,68px);text-wrap:balance}
.hm-geo-extension .page-hero .hero-actions{align-items:center}
body.hm-geo-extension.hm-layout-enabled:not(.home):not(.hm-page-contact) .quick-lead.quick-lead{display:none!important}
.hm-geo-extension .geo-r1-narrow>p{max-width:760px}
.hm-geo-extension .geo-r1-columns a{text-decoration-thickness:1px;text-underline-offset:4px}
.hm-geo-extension .geo-r1-local-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:48px;align-items:stretch}
.hm-geo-extension .geo-r1-local-copy{min-width:0}
.hm-geo-extension .geo-r1-local-copy>h2{max-width:15ch;font-size:clamp(36px,4.2vw,60px);margin:.12em 0 .35em}
.hm-geo-extension .geo-r1-local-copy>p{max-width:760px}
.hm-geo-extension .geo-r1-local-planning .geo-r1-item-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hm-geo-extension .geo-r1-local-planning .geo-r1-item-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hm-geo-extension .geo-r1-local-planning .geo-r1-item-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.hm-geo-extension .geo-r1-local-planning .geo-r1-item-grid article{padding:20px}
.hm-geo-extension .geo-r1-local-planning .geo-r1-item-grid h3{font-size:clamp(18px,1.45vw,21px);overflow-wrap:normal;word-break:normal;hyphens:none}
.hm-geo-extension .hm-city-secondary{min-width:0;margin:0;align-self:stretch;overflow:hidden;border:1px solid var(--line);background:var(--paper)}
.hm-geo-extension .hm-city-secondary img{display:block;width:100%;height:100%;min-height:440px;object-fit:cover}
@media(max-width:1050px){
 .hm-geo-extension .geo-r1-local-layout{grid-template-columns:1fr;gap:28px}
 .hm-geo-extension .hm-city-secondary img{height:auto;min-height:0;aspect-ratio:16/9}
}
@media(max-width:900px){
 .hm-geo-extension .geo-expansion-hero-grid{grid-template-columns:1fr;gap:22px}
 .hm-geo-extension .page-hero{padding-top:22px}
 .hm-geo-extension .quick-estimate-card{padding:20px;max-width:600px;width:100%}
 .hm-geo-extension .quick-estimate-card h2{font-size:30px}
}
@media(max-width:560px){
 .hm-geo-extension .page-hero{padding:18px 0 30px}
 .hm-geo-extension .geo-expansion-hero-grid{gap:14px}
 .hm-geo-extension .page-hero h1{font-size:36px;margin:8px 0}
 .hm-geo-extension .page-hero .eyebrow,.hm-geo-extension .page-hero .hero-actions{display:none}
 .hm-geo-extension .page-hero .breadcrumbs{margin:0 0 10px;font-size:11px}
 .hm-geo-extension .geo-r1-hero p:not(.eyebrow):not(.breadcrumbs){font-size:15px;line-height:1.45;margin:8px 0}
 .hm-geo-extension .quick-estimate-card{padding:16px;box-shadow:5px 5px 0 var(--coral)}
 .hm-geo-extension .quick-estimate-card h2{font-size:24px;margin:4px 0 12px}
 .hm-geo-extension .quick-form-grid{gap:8px}
 .hm-geo-extension .quick-estimate-form .field input,.hm-geo-extension .quick-estimate-form .field select{min-width:0;min-height:42px;padding:7px}
 .hm-geo-extension .quick-estimate-form>.btn{min-height:44px;margin-top:10px}
 .hm-geo-extension .quick-estimate-form .status:empty{display:none}
 .hm-geo-extension .geo-r1-local-planning .geo-r1-item-grid,
 .hm-geo-extension .geo-r1-local-planning .geo-r1-item-count-2,
 .hm-geo-extension .geo-r1-local-planning .geo-r1-item-count-4{grid-template-columns:1fr}
 .hm-geo-extension .hm-city-secondary img{aspect-ratio:4/3}
}

/* Keep the expanded location hero and its estimate form as one composition. */
@media(min-width:901px){
 .hm-geo-extension .geo-expansion-hero-grid{align-items:start}
 .hm-geo-extension .geo-expansion-hero-grid>.hm-city-hero{margin-top:0;align-self:center}
 .hm-geo-extension .geo-expansion-hero-grid>.quick-estimate-card{grid-column:1/-1;width:100%}
 .hm-geo-extension .geo-expansion-hero-grid>.quick-estimate-card .quick-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}

 /* Three cards belong in three readable columns, not a four-column track
  * squeezed into the text half of the section. */
 .hm-geo-extension [data-geo-block="company-help"] .editorial-grid{grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);gap:48px}
 .hm-geo-extension [data-geo-block="company-help"] .geo-r1-item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .hm-geo-extension [data-geo-block="company-help"] .geo-r1-item-grid h3{font-size:clamp(18px,1.55vw,22px);overflow-wrap:normal;word-break:normal;hyphens:none}
}


/* medford-balanced-hero */
@media(min-width:901px){
 .hm-geo-expansion-medford .geo-expansion-hero-grid,
 .hm-geo-expansion-waltham .geo-expansion-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:48px;align-items:start}
 .hm-geo-expansion-medford .hm-city-hero,
 .hm-geo-expansion-waltham .hm-city-hero{margin-top:0}
 .hm-geo-expansion-medford .hm-city-hero img,
 .hm-geo-expansion-waltham .hm-city-hero img{aspect-ratio:4/3}
}
