.hero-estimate { position:relative; z-index:3; grid-column:1/-1; flex-basis:100%; width:100%; box-sizing:border-box; padding:0 24px 50px; margin:0 auto; }
.hero-estimate moving-estimate { display:block; max-width:680px; margin:0 auto; --move-accent:#2857a6; --move-accent-dark:#1a3c75; --move-radius:18px; color:#203047; }
.home-hero:has(.hero-estimate) { overflow:visible; }
.home-hero:has(.hero-estimate) .hero-estimate { align-self:stretch; }
@media(max-width:700px) { .hero-estimate { padding:8px 16px 32px; } }

/* Keep the quote form beside the introduction on wide screens and before the photo on phones. */
@media (min-width:901px){
.hero:has(.hero-estimate){grid-template-columns:minmax(0,1fr) minmax(0,540px);grid-template-rows:auto auto;gap:0 36px;padding-right:clamp(24px,4vw,70px)}
.hero:has(.hero-estimate)>.hero-copy{grid-column:1;grid-row:1;padding-top:48px;padding-bottom:22px}
.hero:has(.hero-estimate)>figure{grid-column:1;grid-row:2;min-height:220px;max-height:300px}
.hero:has(.hero-estimate)>.hero-estimate{grid-column:2;grid-row:1/3;align-self:start;padding:32px 0;margin:0}
}
@media (max-width:900px){
.hero:has(.hero-estimate){display:flex;flex-direction:column}
.hero:has(.hero-estimate)>.hero-copy{order:1}
.hero:has(.hero-estimate)>.hero-estimate{order:2;padding:0 20px 28px}
.hero:has(.hero-estimate)>figure{order:3;width:100%;min-height:220px;max-height:320px}
}
