.scene-video,.scene-final,.scene-control{display:none}.rose .scene-enabled .hero-visual>.scene-video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}.rose .scene-enabled .hero-visual>.scene-final{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}.rose .scene-enabled.scene-finished .scene-video{display:none}.rose .scene-enabled.scene-finished .hero-visual>.scene-final{display:block}.rose .scene-enabled .cleaning-character,.rose .scene-enabled .animation-control{display:none}.rose .scene-enabled .hero-visual:after{z-index:1;background:linear-gradient(90deg,#fffafcf7 0%,#fffafceb 27%,#fffafc88 42%,#fffafc08 68%)}.rose .scene-enabled .scene-control{display:block;position:absolute;right:24px;bottom:22px;z-index:4;border:1px solid #d6b2c2;border-radius:25px;background:#fffafce8;color:#4b663d;padding:10px 16px;font-size:10px;cursor:pointer}.rose .scene-enabled{min-height:690px}.rose .scene-enabled .hero-copy{max-width:580px}@media(max-width:700px){.rose .scene-enabled{min-height:960px}.rose .scene-enabled .hero-copy{max-width:100%}.rose .scene-enabled .hero-visual>.scene-video,.rose .scene-enabled .hero-visual>.scene-final{object-position:72% bottom;height:48%;top:auto;bottom:0}.rose .scene-enabled .hero-visual{background:#fffafc}.rose .scene-enabled .hero-visual:after{background:linear-gradient(#fffafc 0%,#fffafc 46%,#fffafc88 55%,transparent 70%)}.rose .scene-enabled .scene-control{right:12px;bottom:14px}}

/* Preserve the entire frame; never crop the kitchen or the character. */
.rose .scene-enabled{aspect-ratio:16/9;min-height:0;padding-top:45px;padding-bottom:45px;align-items:center}
.rose .scene-enabled .hero-visual>.scene-video,.rose .scene-enabled .hero-visual>.scene-final{object-fit:contain;object-position:center;width:100%;height:100%;inset:0}
.rose .scene-enabled .hero-visual{background:#fffafc}
.rose .scene-enabled .hero-visual>img:not(.scene-final){display:none}
.hero-brand{display:block;width:285px;max-width:85%;margin:0 0 20px}
.hero-brand img{display:block;width:100%;height:auto}
.rose .announcement{position:relative;min-height:48px;gap:24px;align-items:center}
.rose .announcement .service-area{display:block;font-style:normal;font-size:10px;letter-spacing:.12em}
.site-nav{display:flex;align-items:center;gap:32px;font-size:13px;letter-spacing:0}
.rose .announcement .top-phone{white-space:nowrap}
@media(min-width:701px){
 .rose .scene-enabled .hero-copy{max-width:470px;width:42%}
 .rose .scene-enabled h1{font-size:clamp(42px,3.8vw,58px)}
 .rose .scene-enabled .intro{font-size:15px;line-height:1.75;max-width:390px}
 .rose .scene-enabled .hero-actions .button{font-size:12px}
 .rose .scene-enabled .text-link{font-size:12px}
 .rose .scene-enabled .hero-note p{font-size:11px}
}
@media(max-width:700px){
 .rose .announcement{padding:9px 5%;gap:12px;flex-wrap:wrap}
 .rose .announcement .service-area{font-size:8px;margin-right:auto}
 .rose .announcement .menu{display:block;padding:2px 5px;font-size:22px}
 .site-nav{display:none;width:100%;order:4;gap:20px;padding:12px 0;font-size:12px}
 .site-nav.open{display:flex}
 .hero-brand{width:250px;margin-bottom:20px}
}
/* Compact copy in the upper left leaves the island visible. */
@media(min-width:701px){
 .rose .scene-enabled{align-items:flex-start;padding-top:26px;padding-bottom:26px;aspect-ratio:16/9;height:auto;min-height:0}
 .rose .scene-enabled .hero-visual>.scene-video,.rose .scene-enabled .hero-visual>.scene-final{object-position:center}
 .rose .scene-enabled .hero-copy{max-width:440px;width:40%;padding:0;align-self:flex-start}
 .rose .scene-enabled h1{font-size:clamp(34px,min(4vw,6.2svh),58px);margin:16px 0;line-height:1.1}
 .rose .scene-enabled .eyebrow{font-size:9px;margin:0 0 10px}
 .rose .scene-enabled .intro{font-size:13px;line-height:1.7;max-width:355px;margin:0}
 .rose .scene-enabled .hero-actions{margin-top:20px;gap:15px}
 .rose .scene-enabled .hero-actions .button{padding:13px 17px;font-size:11px;gap:17px}
 .rose .scene-enabled .text-link{font-size:11px}
 .rose .scene-enabled .hero-note{margin-top:17px;gap:10px}
 .rose .scene-enabled .hero-note p{font-size:10px;margin:0}
 .rose .scene-enabled .heart{font-size:30px}
 .rose .scene-enabled .hero-visual:after{background:linear-gradient(180deg,#fffafc00 32%,#fffafc00 100%),linear-gradient(90deg,#fffafce8 0%,#fffafcc9 19%,#fffafc55 34%,#fffafc00 53%);mask-image:linear-gradient(#000 0%,#000 35%,transparent 75%)}
}
@media(max-width:1000px) and (min-width:701px){.rose .scene-enabled .hero-visual>.scene-video,.rose .scene-enabled .hero-visual>.scene-final{object-fit:contain}.rose .scene-enabled .hero-copy{max-width:44%}}
@media(max-width:700px){.rose .scene-enabled{display:flex;flex-direction:column;aspect-ratio:auto;min-height:0;padding:30px 6% 0;gap:15px}.rose .scene-enabled .hero-copy{max-width:100%;width:100%;padding:10px 0 20px}.rose .scene-enabled .hero-visual{position:relative;inset:auto;z-index:0;flex:none;width:calc(100% + 13.6364%);aspect-ratio:16/9;min-height:0;overflow:hidden}.rose .scene-enabled .hero-visual>.scene-video,.rose .scene-enabled .hero-visual>.scene-final{height:100%;width:100%;inset:0;object-fit:contain;object-position:center}.rose .scene-enabled .hero-visual:after{display:none}.rose .scene-enabled .scene-control{bottom:10px;right:10px;font-size:9px;padding:7px 10px}}
@media(min-width:701px){.rose .scene-enabled .hero-copy{max-width:470px;width:42%}.rose .scene-enabled h1{font-size:clamp(42px,3.8vw,58px)}.rose .scene-enabled .intro{font-size:15px;line-height:1.75;max-width:390px}.rose .scene-enabled .hero-actions .button,.rose .scene-enabled .text-link{font-size:12px}.rose .scene-enabled .hero-note p{font-size:11px}}
/* Keep the last video frame underneath while the sharper still fades in. */
.rose .scene-enabled .hero-visual>.scene-video,
.rose .scene-enabled.scene-finished .hero-visual>.scene-video{display:block}
.rose .scene-enabled .hero-visual>.scene-final{display:block;opacity:0;filter:blur(1px);pointer-events:none;transition:none}
.rose .scene-enabled.scene-finished .hero-visual>.scene-final{opacity:1;filter:blur(0);transition:opacity 1.6s ease-in-out,filter 2s ease-out}
@media(prefers-reduced-motion:reduce){.rose .scene-enabled.scene-finished .hero-visual>.scene-final{transition:none}}
.rose .scene-enabled.scene-hold-frame .hero-visual>.scene-final{opacity:0;filter:none;transition:none}
.rose .scene-enabled .intro{color:#344237;font-weight:500;text-shadow:0 1px 2px #fffafcaa}
@media(min-width:1001px){
 .rose .scene-enabled{aspect-ratio:auto;height:calc(100svh - var(--entrance-trim,128px));min-height:460px;padding-top:20px;padding-bottom:20px}
 .rose .scene-enabled .hero-visual:before{content:'';position:absolute;inset:-12px;background:url('assets/cleaning-short-final.webp') center/cover no-repeat;filter:blur(10px);opacity:.65}
 .rose .scene-enabled .hero-visual>.scene-video,.rose .scene-enabled .hero-visual>.scene-final{object-fit:contain;object-position:center}
 .rose .scene-enabled .hero-visual:after{mask-image:none;background:linear-gradient(90deg,#fffafcf0 0%,#fffafcdd 16%,#fffafc55 30%,transparent 48%)}
}
@media(min-width:1001px) and (max-height:750px){
 .rose .scene-enabled .hero-brand{width:240px;margin-bottom:12px}
 .rose .scene-enabled h1{font-size:44px;margin:12px 0}
 .rose .scene-enabled .intro{font-size:14px;line-height:1.65}
 .rose .scene-enabled .hero-actions{margin-top:16px}
 .rose .scene-enabled .hero-note{margin-top:13px}
}
.rose .announcement{min-height:34px;padding-top:6px;padding-bottom:6px;color:#24472f}.rose .announcement .site-nav{font-size:12px;font-weight:600}.rose .announcement .service-area{font-size:9px}.rose .announcement .top-phone{font-size:10px;font-weight:600}.rose .announcement .menu{color:#24472f}
.rose .scene-enabled .text-link{color:#183923;font-weight:700;border-bottom-color:#183923;text-shadow:0 1px 2px #fffafc}.rose .scene-enabled .hero-note p,.rose .scene-enabled .hero-note strong{color:#183923;font-weight:600;text-shadow:0 1px 2px #fffafc}.rose .announcement .service-area{color:#14351f;font-weight:700}
.home-gallery{display:none}
@media(min-width:1200px){
 .home-gallery{display:flex;position:absolute;z-index:3;right:22px;top:16px;bottom:62px;width:clamp(150px,calc((100vw - (100svh - var(--entrance-trim,114px))*1.77778)/2 - 38px),230px);flex-direction:column;justify-content:center;gap:10px;padding:12px;background:#fffaf4ed;border:1px solid #f1cbd8;border-radius:12px;box-shadow:0 8px 24px #65463412}
 .home-gallery .gallery-heading{font-size:8px;letter-spacing:.13em;font-weight:700;color:#24472f;text-align:center;margin:0 0 2px}
 .gallery-heading span{color:#ab2e60;font-size:15px;display:block;margin-top:3px}
 .home-gallery figure{margin:0;background:white;border:1px solid #efdee4;border-radius:6px;overflow:hidden}
 .gallery-photo{aspect-ratio:2/1;background-image:url('assets/character-homes-triptych.png');background-size:100% 300%;background-repeat:no-repeat}
 .gallery-photo.living{background-position:center top}.gallery-photo.kitchen{background-position:center center}.gallery-photo.porch{background-position:center bottom}
 .home-gallery figcaption{font:italic 12px Georgia;color:#24472f;padding:7px 4px;text-align:center}
 .home-gallery>small{font-size:8px;color:#657060;text-align:center}
}
@media(min-width:1200px){.home-gallery figure{flex:none}.home-gallery .gallery-photo{aspect-ratio:auto;height:clamp(60px,calc((100svh - var(--entrance-trim,114px) - 250px)/3),110px)}.home-gallery figcaption{padding:4px;font-size:11px}.home-gallery{gap:8px}}
@media(min-width:1200px){.home-gallery .gallery-photo.living,.home-gallery .gallery-photo.kitchen{background-image:url('assets/background-options.png');background-size:200% 212%}.home-gallery .gallery-photo.living{background-position:right top}.home-gallery .gallery-photo.kitchen{background-position:left bottom}}
@media(min-width:1200px){.home-gallery .gallery-photo.living,.home-gallery .gallery-photo.kitchen{background-size:210% 240%}.home-gallery .gallery-photo.kitchen{background-position:left 92%}}
@media(min-width:1200px){.home-gallery .gallery-photo.living,.home-gallery .gallery-photo.kitchen{background-image:url('assets/character-selected-homes.png');background-size:100% 200%}.home-gallery .gallery-photo.living{background-position:center top}.home-gallery .gallery-photo.kitchen{background-position:center bottom}}
@media(min-width:1200px){.home-gallery .gallery-photo.living,.home-gallery .gallery-photo.kitchen,.home-gallery .gallery-photo.porch{background-image:url('assets/character-gallery-final.png');background-size:100% 300%}.home-gallery .gallery-photo.living{background-position:center top}.home-gallery .gallery-photo.kitchen{background-position:center center}.home-gallery .gallery-photo.porch{background-position:center bottom}}
