.warm-hero-story{position:relative;padding:0!important;background:#14241f;color:#f2ebdc;isolation:isolate}.warm-hero{position:relative;min-height:760px;height:100svh;max-height:940px;overflow:hidden;isolation:isolate}.warm-art{position:absolute;inset:0 0 0 43.333333%;overflow:hidden;background:#14241f}.warm-art svg{display:block;position:absolute;inset:0;width:100%;height:100%;transform-origin:50% 37%;max-width:none}.warm-rendering{opacity:0}.warm-fade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#14241f 0%,#14241f 43.333333%,rgba(20,36,31,.96) 46.111111%,rgba(20,36,31,.68) 51.388889%,rgba(20,36,31,.26) 58.333333%,rgba(20,36,31,0) 66.666667%);pointer-events:none}.warm-copy{position:absolute;z-index:2;left:4.166667%;top:50%;transform:translateY(-50%);width:38.888889%;max-width:560px;text-align:center;color:#f2ebdc}.warm-brand{display:block;width:118.5965px;margin:0 auto}.warm-logo{display:block;width:118.5965px;height:120px;margin:0 auto;overflow:hidden;filter:brightness(1.65);mix-blend-mode:screen}.warm-slogan{font-size:12.5px;line-height:18px;letter-spacing:1.65px;color:#ded7c7;margin:16px 0 0}.warm-copy h1{margin:30px 0 0;font-size:40px;font-weight:400;line-height:1.3;text-transform:none;letter-spacing:0}.warm-copy .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.warm-copy .lettering-desktop{display:block}.warm-copy .lettering-phone{display:none}.warm-copy .lettering-line{display:flex;justify-content:center;align-items:center;height:52px}.warm-copy .lettering-line svg{display:block;height:40px;width:auto;max-width:100%;overflow:visible}.warm-support{font-size:16px;line-height:24px;color:#d0d1c6;margin:18px 0 0}.warm-cta{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:3px;background:#eee6d5;color:#22352d;min-height:52px;margin:22px 0 0;padding:0 29px;font-size:15px;line-height:1.4;text-decoration:none}.warm-cta:hover{background:#fff7e7}.warm-copy a:focus-visible,.warm-static-controls button:focus-visible{outline:3px solid #dfbb79;outline-offset:4px}.warm-art-label{position:absolute;right:20px;bottom:16px;z-index:2;font-size:9px;letter-spacing:.08em;color:#e7e4d8;background:#14241fbd;padding:5px 8px;margin:0}.warm-static-controls{display:none;position:absolute;right:24px;bottom:48px;z-index:3;gap:8px}.warm-static-controls button{background:#14241fe6;color:#f2ebdc;border:1px solid #9ca28b;min-height:44px;padding:10px 15px;font:inherit;font-size:12px;cursor:pointer}.warm-static-controls [aria-pressed=true]{background:#eee6d5;color:#14241f}.warm-hero-story[data-hero-prepared]{height:220svh}.warm-hero-story[data-hero-prepared] .warm-hero{position:sticky;top:0}.warm-hero-story[data-hero-mode=static]{height:auto}.warm-hero-story[data-hero-mode=static] .warm-hero{position:relative}.warm-hero-story[data-hero-mode=static] .warm-static-controls{display:flex}
@media(min-width:701px) and (max-width:1200px){.warm-copy .lettering-line{height:clamp(30px,3.611111vw,52px)}.warm-copy .lettering-line svg{height:clamp(20px,2.777778vw,40px)}.warm-slogan{font-size:clamp(9px,.868056vw,12.5px);letter-spacing:clamp(.5px,.114583vw,1.65px)}.warm-support{font-size:14px;padding:0 8px}.warm-hero{min-height:680px}}
@media(max-width:700px){.warm-hero{height:100svh;min-height:680px;max-height:880px}.warm-art{inset:auto 0 0;height:50%;min-height:340px}.warm-art svg{transform-origin:50% 40%}.warm-fade{background:linear-gradient(180deg,#14241f 0%,#14241f 47%,rgba(20,36,31,.80) 53%,rgba(20,36,31,.40) 58.5%,rgba(20,36,31,.05) 65.625%,rgba(20,36,31,0) 70%)}.warm-copy{width:calc(100% - 48px);max-width:440px;left:50%;transform:translateX(-50%);top:24px}.warm-brand,.warm-logo{width:90.924px}.warm-logo{height:92px}.warm-slogan{margin-top:12px;font-size:11.5px;line-height:18px;letter-spacing:1.05px;white-space:nowrap}.warm-copy h1{margin-top:22px}.warm-copy .lettering-desktop{display:none}.warm-copy .lettering-phone{display:block}.warm-copy .lettering-line{height:39px}.warm-copy .lettering-line svg{height:30px}.warm-support{margin-top:14px;font-size:14px;line-height:22px}.warm-cta{min-height:50px;margin-top:18px}.warm-art-label{font-size:8px;bottom:10px;right:12px}.warm-static-controls{bottom:40px;right:12px}.warm-hero-story[data-hero-prepared]{height:240svh}}
@media(max-width:359px){.warm-copy{width:calc(100% - 36px)}.warm-slogan{font-size:10px;letter-spacing:.75px}.warm-copy .lettering-line{height:35.1px}.warm-copy .lettering-line svg{height:27px}.warm-support{font-size:13px}}
@media(prefers-reduced-motion:reduce),(max-height:620px){.warm-hero-story[data-hero-prepared]{height:auto}.warm-hero-story[data-hero-prepared] .warm-hero{position:relative}.warm-static-controls{display:flex}}

/* Approved complete-house framing: never crop either gable or the garage. */
.warm-art{left:39.583333%}.warm-art .warm-rendering,.warm-art .warm-drawing{top:auto;bottom:0;width:100%;height:auto;aspect-ratio:1672/941;transform-origin:50% 100%}.warm-fade{background:linear-gradient(90deg,#14241f 0%,#14241f 39.583333%,rgba(20,36,31,.88) 41.527778%,rgba(20,36,31,.38) 44.305556%,rgba(20,36,31,.06) 47.222222%,rgba(20,36,31,0) 48.472222%)}
@media(max-width:700px){.warm-hero{min-height:660px;max-height:800px}.warm-art{left:0;height:320px;min-height:0}.warm-fade{background:linear-gradient(180deg,#14241f 0%,#14241f 46%,rgba(20,36,31,.65) 55%,rgba(20,36,31,0) 66%)}.warm-art-label{max-width:90%;font-size:8px}}

/* Blend the original black-backed mark against its exact hero surface. */
.warm-brand{background:#14241f}
/* Opacity-only image updates stay on their own compositing layers. */
.warm-hero-story[data-hero-ready] .warm-drawing,.warm-hero-story[data-hero-ready] .warm-rendering{will-change:opacity}
@media(prefers-reduced-motion:reduce){.warm-hero-story .warm-drawing,.warm-hero-story .warm-rendering{will-change:auto}}

/* Zero-black alpha key preserves every colored source pixel and the original mark. */
.warm-brand{background:transparent}.warm-logo{mix-blend-mode:normal}

/* A complete, readable first view. Only the registered artwork approaches. */
.warm-hero-story{--opening-header:110px}
.warm-hero{height:calc(100svh - var(--opening-header));min-height:540px;max-height:840px}
.warm-art{overflow:hidden}
.warm-art-scene{position:absolute;left:0;right:0;top:26%;aspect-ratio:1672/941;transform-origin:55% 54%;transform:translate3d(0,12px,0) scale(.9)}
.warm-art .warm-drawing,.warm-art .warm-rendering{inset:0;width:100%;height:100%;aspect-ratio:1672/941;transform:none}
.warm-hero-story[data-hero-prepared]{height:240svh}
.warm-hero-story[data-hero-ready] .warm-art-scene{will-change:transform}
.warm-hero-story[data-hero-ready] .warm-rendering{will-change:opacity}
.warm-hero-story[data-hero-ready] .warm-drawing{will-change:auto}
@media(max-width:700px){
 .warm-hero-story{--opening-header:90px}
 .warm-hero{height:calc(100svh - 90px);min-height:660px;max-height:820px}
 .warm-art{height:43%;min-height:220px}
 .warm-art-scene{top:auto;bottom:5%;transform-origin:50% 65%}
 .warm-hero-story[data-hero-prepared]{height:260svh}
}
@media(prefers-reduced-motion:reduce),(max-height:620px){
 .warm-hero-story[data-hero-prepared]{height:auto}
 .warm-hero-story[data-hero-prepared] .warm-hero{position:relative}
 .warm-hero-story[data-hero-ready] .warm-art-scene,.warm-hero-story[data-hero-ready] .warm-rendering{will-change:auto}
}

.warm-hero-story[data-hero-mode=static]{height:auto}
/* Compact phones keep the complete house in the opening viewport. */
@media(max-width:700px) and (min-height:621px) and (max-height:760px){
 .warm-hero{min-height:0;height:calc(100svh - 90px)}
 .warm-copy{top:18px}
 .warm-brand,.warm-logo{width:71.16px}.warm-logo{height:72px}
 .warm-slogan{margin-top:10px;font-size:10.5px;line-height:16px;letter-spacing:.9px}
 .warm-copy h1{margin-top:18px}
 .warm-copy .lettering-line{height:34px}.warm-copy .lettering-line svg{height:26px}
 .warm-support{margin-top:10px;font-size:13px;line-height:20px}
 .warm-cta{min-height:44px;margin-top:14px}
 .warm-art{height:43%;min-height:0}
}
