.hero {height:auto; min-height: min(900px,100svh); max-height:none;}
.hero-shade {background: linear-gradient(90deg,#0b1c13 3%,#0b1c13ed 27%,#0b1c1373 70%,#0b1c1345),linear-gradient(0deg,#0b1c1366,transparent 50%);}
.hero .hero-copy {display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr); align-items:center; gap:clamp(32px,5vw,88px); padding:clamp(150px,18vh,220px) 7% clamp(68px,10vh,125px);}
.hero h1 {font-size:clamp(38px,4vw,69px);}
.hero h1 .eyebrow {font:500 10px/1.7 BrandMontserrat,sans-serif;letter-spacing:.15em;text-shadow:none;}
.hero-introduction {max-width:45ch; margin-top:26px; color:#f0eee5; font-size:15px; line-height:1.7;}
.service-directory {padding:clamp(20px,2.5vw,42px);background:#faf8f3f5;color:#182b20;}
.service-directory h2 {font-size:clamp(23px,2vw,32px); margin-bottom:14px;}
.service-directory a {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 0;border-top:1px solid #d3cdbf; font-size:14px;line-height:1.4;}
.service-directory a small {display:block;color:#596456;font-size:11px;margin-top:2px;}
.service-directory a i {color:#80652f;font-style:normal;}
.service-directory a:hover span,.service-directory a:focus-visible span {text-decoration:underline;text-underline-offset:3px;}
.service-contact-link {display:inline-flex;align-items:center;min-height:44px;margin-top:8px;text-decoration:underline;text-underline-offset:4px;}
.house-gallery {overflow:clip;}
.brand-link,.footer-nav a,.menu-toggle {min-height:44px;}
.group-footer .footer-nav a {display:inline-flex;align-items:center;}
@media(max-width:900px) {
 .hero .hero-copy {grid-template-columns:minmax(0,1.1fr) minmax(250px,1fr);gap:24px;padding-inline:5%;}
 .hero h1 {font-size:clamp(34px,5vw,48px);}
}
@media(max-width:700px) {
 .hero .hero-copy {grid-template-columns:minmax(0,1fr);padding:110px max(20px,6%) 36px;gap:24px;}
 .hero h1 {font-size:clamp(31px,7.8vw,45px);line-height:1.19;}
 .hero h1 .eyebrow {font-size:8px;letter-spacing:.12em;margin-bottom:15px;}
 .hero h1 em {margin-top:4px;}
 .hero-introduction {font-size:14px;line-height:1.55;margin-top:14px;}
 .service-directory {padding:16px 20px 8px;}
 .service-directory h2 {font-size:24px;margin-bottom:8px;}
 .service-directory a {padding:8px 0;}
 .section,.brand-gallery.house-gallery {padding-inline:max(20px,6%);}
 .hero {min-height:auto;}
}
@media(max-width:800px) and (max-height:550px) {
 header #navigation.open {max-height:calc(100dvh - 90px); overflow-y:auto;}
}
