/* Homepage only: the photograph fills the scene; the unchanged form crosses its edge. */
.hero.hero--home { display: block; position: relative; min-height: 0; padding: 0; overflow: visible; background: var(--paper); color: #fff; }
.hero--home .home-hero__scene { position: relative; isolation: isolate; overflow: hidden; background: var(--ink); }
.hero--home .home-hero__scene::after { content: ''; position: absolute; z-index: -1; inset: 0; pointer-events: none; background: linear-gradient(90deg,rgba(7,20,35,.84),rgba(7,20,35,.74) 42%,rgba(7,20,35,.30) 74%,rgba(7,20,35,.12)); }
.hero--home .home-hero__grid { position: static; display: flex; align-items: center; min-height: clamp(36rem,75svh,47rem); padding-block: clamp(4.5rem,7vw,7rem) 8.5rem; }
.hero--home .hero__media--home { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; min-height: 0; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.hero--home .hero__media--home picture, .hero--home .hero__media--home img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
.hero--home .hero__content { position: relative; z-index: 1; max-width: 43rem; padding: 0; }
.hero--home .eyebrow { margin-bottom: 1.5rem; color: #e1c893; font-size: .75rem; line-height: 1.5; letter-spacing: .13em; }
.hero--home h1 { max-width: 18ch; margin: 0 0 1.5rem; color: #fff; font-size: clamp(3.25rem,4.8vw,5rem); line-height: 1.05; letter-spacing: -.025em; text-wrap: balance; }
.hero--home .lede { max-width: 46ch; margin: 0; color: #fff; font-size: clamp(1rem,1.3vw,1.2rem); line-height: 1.7; }
.hero--home .estimate-starter--hero { position: relative; z-index: 2; bottom: auto; left: auto; transform: none; width: min(66rem,calc(100% - var(--gutter)*2)); margin: -4.5rem auto 0; padding: 0; animation: none; }
.hero--home .estimate-starter__form--bar { margin: 0; border: 1px solid rgba(15,27,42,.1); border-radius: .75rem; box-shadow: 0 .75rem 2.5rem rgba(15,27,42,.09); color: var(--ink); }
.hero--home .estimate-starter__form--bar .button { background: var(--accent); border-color: var(--accent); color: var(--ink); }
.hero--home .estimate-starter__form--bar .button:hover { background: #d5b97e; border-color: #d5b97e; }
.hero--home + .focus-stories { padding-top: clamp(4rem,6vw,5.5rem) !important; }
@media(min-width:701px) and (max-width:1000px) {
 .hero--home .home-hero__grid { min-height: 39rem; padding-bottom: 10.5rem; }
 .hero--home .estimate-starter--hero { bottom: auto; margin-top: -6rem; }
 .hero--home h1 { max-width: 18ch; }
 .hero--home + .focus-stories { padding-top: 4rem !important; }
}
@media(max-width:700px) {
 .hero--home .home-hero__grid { min-height: 32rem; padding-block: 4rem 7rem; }
 .hero--home .home-hero__scene::after { background: linear-gradient(90deg,rgba(7,20,35,.86),rgba(7,20,35,.72) 65%,rgba(7,20,35,.58)); }
 .hero--home .hero__media--home { width: 100%; height: 100%; margin: 0; }
 .hero--home .hero__media--home img { object-position: 64% center; }
 .hero--home .hero__content { max-width: none; }
 .hero--home .eyebrow { max-width: 34ch; margin-bottom: 1.25rem; font-size: .65rem; }
 .hero--home h1 { max-width: 18ch; margin-bottom: 1.25rem; font-size: clamp(2.4rem,9.2vw,3.4rem); }
 .hero--home .lede { max-width: 39ch; font-size: .95rem; line-height: 1.65; }
 .hero--home .estimate-starter--hero { margin: -3rem auto 0; width: calc(100% - var(--gutter)*2); }
 .hero--home .estimate-starter__form--bar { border-radius: .6rem; }
 .hero--home + .focus-stories { padding-top: 3.5rem !important; }
}
@media print {
 .hero.hero--home, .hero--home .home-hero__scene { background: #fff; color: var(--ink); }
 .hero--home .hero__media--home, .hero--home .home-hero__scene::after { display: none; }
 .hero--home .home-hero__grid { min-height: 0; padding-block: 2rem; }
 .hero--home h1, .hero--home .lede { color: var(--ink); }
 .hero--home .eyebrow { color: var(--accent-strong); }
 .hero--home .estimate-starter--hero { margin-top: 0; }
}
