/* Home hero only: a single photograph, readable HTML copy, and a cream overlay. */
.hero.hero-composite {
 position:relative;
 isolation:isolate;
 overflow:hidden;
 padding:0;
 background:#faf7f1;
}
.hero-composite .hero-background {
 position:absolute;
 z-index:-3;
 inset:0;
 display:block;
 width:100%;
 max-width:none;
 height:100%;
 object-fit:cover;
 object-position:right center;
 pointer-events:none;
}
.hero.hero-composite::before {
 content:"";
 position:absolute;
 z-index:-2;
 inset:0;
 background:linear-gradient(90deg,#fffefa 0%,rgba(255,253,247,.98) 24%,rgba(255,253,247,.93) 40%,rgba(255,253,247,.66) 53%,rgba(255,253,247,.16) 67%,rgba(255,253,247,0) 82%);
 pointer-events:none;
}
.hero.hero-composite::after {
 content:"";
 position:absolute;
 z-index:-1;
 inset:0;
 background:radial-gradient(ellipse at -10% 125%,rgba(178,145,89,.16),transparent 53%);
 pointer-events:none;
}
.hero-composite .hero-inner {
 min-height:clamp(460px,39vw,620px);
 display:flex;
 align-items:center;
 padding-top:64px;
 padding-bottom:64px;
}
.hero-composite .hero-copy {width:min(100%,780px)}
.hero-composite .eyebrow {margin-bottom:28px;color:var(--accent);letter-spacing:.25em}
.hero-composite h1 {
 margin:0;
 max-width:none;
 font:400 clamp(32px,3.25vw,54px)/1.75 var(--serif);
 color:var(--ink);
 letter-spacing:.045em;
}
.hero-composite h1::after {
 content:"";
 display:block;
 width:56px;
 height:1px;
 margin-top:28px;
 background:var(--accent);
}
.hero-composite .hero-services {margin:24px 0 30px;font-size:16px;line-height:1.8;color:var(--ink);letter-spacing:.05em}
.hero-composite .hero-cta {min-width:196px;min-height:54px;padding:14px 26px;font-size:16px}
@media(max-width:1000px) and (min-width:761px) {
 .hero-composite .hero-copy {width:68%}
 .hero-composite h1 {font-size:clamp(28px,3.25vw,34px)}
 .hero.hero-composite::before {background:linear-gradient(90deg,#fffefa 0%,rgba(255,253,247,.98) 35%,rgba(255,253,247,.88) 54%,rgba(255,253,247,.1) 82%)}
}
@media(max-width:760px) {
 .hero-composite .hero-inner {min-height:580px;align-items:flex-start;padding-top:36px;padding-bottom:220px}
 .hero-composite .hero-copy {width:100%}
 .hero-composite .hero-background {object-position:72% center}
 .hero.hero-composite::before {background:linear-gradient(180deg,#fffefa 0%,rgba(255,253,247,.99) 38%,rgba(255,253,247,.96) 57%,rgba(255,253,247,.72) 70%,rgba(255,253,247,.06) 100%)}
 .hero-composite .eyebrow {margin-bottom:18px;font-size:10px;letter-spacing:.2em}
 .hero-composite h1 {font-size:clamp(22px,6.25vw,30px);line-height:1.85;letter-spacing:.025em;margin:0}
 .hero-composite h1::after {margin-top:20px;width:44px}
 .hero-composite .hero-services {margin:18px 0 22px;max-width:28em;letter-spacing:0}
 .hero-composite .hero-cta {min-width:190px;min-height:52px}
}
