/* Astra's editorial composition with the original, tuned scroll geometry. */
.astra-content{position:relative;z-index:10;background:var(--paper)}
.hero-sequence:not(.is-static):not(.mobile-text-room)+.astra-content{margin-top:calc(-1 * var(--kitchen-frame))}
.scene-surface{position:absolute;left:0;top:50%;width:100%;aspect-ratio:3/2;transform:translateY(-50%)}
.scene-surface>*{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.astra-hero .motion-heading{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:26px;width:100%;max-width:none;margin:0;padding:clamp(38px,7vh,88px) var(--gutter) 68px;pointer-events:none;opacity:var(--scene-copy-opacity,1)}
.astra-hero .motion-heading:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,22,17,.82),rgba(15,23,19,.46) 37%,transparent 75%),linear-gradient(0deg,rgba(14,22,17,.65),transparent 35%)}
.astra-hero .motion-heading:focus-within{opacity:1}
.astra-hero .motion-heading h1{font-size:clamp(64px,7.8vw,96px);line-height:.98;letter-spacing:-.025em;max-width:650px;margin:0;font-weight:400;text-wrap:initial}
.astra-hero h1 em{color:#ffb29f;display:inline-block}
.astra-hero .motion-heading>div{max-width:405px;pointer-events:auto}
.astra-hero .motion-heading p{font-size:18px;line-height:1.55;color:#f0f0e9}
.astra-hero .hero-copy .button{margin-top:25px}
.astra-hero .motion-note{position:absolute;left:var(--gutter);bottom:20px;z-index:6;color:#e6e9e3;font-size:13px;text-align:left;pointer-events:none}
.astra-hero .motion-error{position:relative;z-index:7}
.astra-hero :focus-visible{outline-color:#ffb29f!important}
.astra-hero.is-static{height:auto}
.astra-hero.is-static .motion-pin{padding:0;gap:0}
.astra-hero.is-static .motion-heading{position:relative;inset:auto;padding-block:55px;opacity:1}
.astra-hero.is-static .motion-heading:before{display:none}
.astra-hero.is-static .motion-view{margin:0;aspect-ratio:auto}
.astra-hero.is-static .motion-note{position:relative;inset:auto;padding:16px var(--gutter)}
.static-comparison{padding:0 var(--gutter) 28px;gap:24px}
.storm-sequence.restoration-story{padding:74px 0 0;background:var(--section-ground);color:var(--ink)}
.storm-sequence .motion-heading.restoration-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;padding:0 0 55px;align-items:end}
.storm-sequence .motion-heading h2{font-size:clamp(42px,5.2vw,72px);line-height:1.06;font-weight:400;letter-spacing:-.025em;margin:0}
.storm-sequence h2 em{color:#686c63}
.storm-sequence .motion-heading>div{max-width:440px}
.storm-sequence .motion-heading p{font-size:17px;line-height:1.6;color:var(--muted)}
.storm-sequence .motion-heading .text-link{margin-top:17px}
.storm-sequence .static-comparison{padding-bottom:45px}
.service-directory{display:grid;grid-template-columns:1.05fr 1fr 1fr 1fr;gap:5%;margin-top:74px;padding-top:44px;border-top:1px solid #b4b8ae}
.service-directory h3{font-size:29px;line-height:1.12;letter-spacing:-.02em;margin-bottom:19px}
.service-directory h3 a{text-decoration:none}
.service-directory h3 a:hover{text-decoration:underline;text-decoration-color:var(--action)}
.service-directory .directory-intro h3{font-size:35px}
.service-directory .directory-intro p{font-size:16px;line-height:1.6;color:var(--muted);max-width:25ch}
.service-directory ul{list-style:none;margin:0;padding:0}
.service-directory li a{display:inline-flex;align-items:center;min-height:44px;font-size:16px;text-decoration:none;border-bottom:1px solid transparent}
.service-directory li a:hover{text-decoration:underline;text-decoration-color:var(--action)}
.home-service-rail a{font-size:clamp(22px,2.4vw,29px);padding-inline:12px}
@media(max-width:1000px){.service-directory{grid-template-columns:1fr 1fr;gap:38px 9%}.home-service-rail{flex-wrap:wrap;justify-content:center;gap:0 24px}.home-service-rail a{padding-block:19px}.astra-hero .motion-heading h1{font-size:clamp(62px,7.8vw,84px)}}
@media(max-width:760px){
 .astra-hero .motion-heading{justify-content:flex-end;padding:30px var(--gutter) 52px;gap:20px}
 .astra-hero .motion-heading:before{background:linear-gradient(0deg,rgba(14,22,17,.91),rgba(15,23,19,.30) 65%,transparent),linear-gradient(90deg,rgba(14,22,17,.4),transparent)}
 .astra-hero .motion-heading h1{font-size:clamp(49px,13.2vw,68px);line-height:.98;flex-shrink:0}
 .astra-hero .motion-heading>div{flex-shrink:0;max-width:34ch}
 .astra-hero .motion-heading p{font-size:16px;line-height:1.5;max-width:32ch}
 .astra-hero .hero-copy .button{margin-top:20px;min-height:48px;font-size:16px;padding:11px 17px}
 .astra-hero .motion-note{font-size:12px;bottom:16px}
 .home-service-rail{justify-content:flex-start;gap:0 18px;padding-block:13px}
 .home-service-rail a{font-size:23px;padding:8px 0;min-height:44px}
 .service-directory{grid-template-columns:1fr 1fr;gap:32px 24px;margin-top:42px;padding-top:32px}
 .service-directory h3{font-size:25px;margin-bottom:14px}
 .service-directory .directory-intro h3{font-size:29px}
 .service-directory .directory-intro p{font-size:16px}
 .service-directory li a{font-size:16px}
 .storm-sequence.restoration-story{padding-top:50px}
 .storm-sequence .motion-heading.restoration-heading{grid-template-columns:1fr;gap:24px;padding-bottom:30px}
 .storm-sequence .motion-heading h2{font-size:clamp(39px,10.5vw,55px)}
 .storm-sequence .motion-heading p{font-size:16px}
 .static-comparison{grid-template-columns:1fr;gap:26px}
 .astra-hero.mobile-text-room:not(.is-static){height:auto}
 .astra-hero.mobile-text-room:not(.is-static) .motion-pin{position:relative;top:0;height:auto;min-height:0;padding:0;display:block}
 .astra-hero.mobile-text-room:not(.is-static) .motion-heading{position:relative;opacity:1;padding-block:32px;gap:20px}
 .astra-hero.mobile-text-room:not(.is-static) .motion-heading:before{display:none}
 .astra-hero.mobile-text-room:not(.is-static) .motion-view{position:relative;height:auto;aspect-ratio:3/2}
 .astra-hero.mobile-text-room:not(.is-static) .scene-surface{width:100%;height:auto;left:0;top:0;transform:none}
 .astra-hero.mobile-text-room .motion-note{display:none}
}
@media(max-width:370px){.service-directory{grid-template-columns:1fr}.service-directory .directory-intro p{max-width:34ch}.service-directory ul{display:flex;flex-wrap:wrap;gap:0 22px}.home-service-rail{gap:0 18px}.home-service-rail a{font-size:21px}}
@media(max-height:670px) and (min-width:761px){.astra-hero .motion-heading{padding-top:28px;gap:16px}.astra-hero .motion-heading h1{font-size:64px}.astra-hero .motion-heading p{font-size:16px}.astra-hero .hero-copy .button{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.astra-hero .motion-heading{opacity:1}.astra-content{margin-top:0!important}.motion-heading{transition:none}}

/* Clip the original quiet room-scale reveal inside Astra's photo edges. */
.explorer-image{overflow:clip}
