/* Geometry and light anchors follow the uncropped 1536 x 1024 exterior.
   Lamp shades: master (334,417)/(610,417), guest (1314,417), living (1302,717).
   Illumination is separate from the dark/off veil and never changes room state. */
.house.exterior-house{display:block;min-height:0;padding:0;aspect-ratio:3/2;border-radius:18px;overflow:hidden;background:#101722;isolation:isolate}
.exterior-house .house-photo{display:block;width:100%;height:100%;object-fit:contain}
.exterior-house .room{--light-a:255 194 105;--light-b:255 211 151;--light-c:255 178 87;position:absolute;padding:0;border:0;display:block;overflow:hidden;transition:background .45s ease;box-shadow:none;background:rgba(0,5,14,.59);animation:none;border-radius:0}
.exterior-house .room[data-room="master"]{left:11.0026%;top:22.9492%;width:30.6641%;height:27.3438%}
.exterior-house .room[data-room="guest"]{left:58.2031%;top:22.9492%;width:30.6641%;height:27.3438%}
.exterior-house .room[data-room="dining"]{left:11.0026%;top:57.6172%;width:30.6641%;height:28.3203%}
.exterior-house .room[data-room="living"]{left:58.2031%;top:57.6172%;width:30.6641%;height:28.3203%}
.exterior-house .room::before,.exterior-house .room::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .45s ease;mix-blend-mode:screen}
/* Broad reflected light falls away from each fixture, keeping furniture visible. */
.exterior-house .room[data-room="master"]::before{background:radial-gradient(ellipse at 35% 65%,rgb(var(--light-a) / .65),transparent 48%),radial-gradient(ellipse at 94% 65%,rgb(var(--light-b) / .6),transparent 48%)}
.exterior-house .room[data-room="guest"]::before{background:radial-gradient(ellipse at 89% 65%,rgb(var(--light-a) / .7),transparent 65%)}
.exterior-house .room[data-room="dining"]::before{background:radial-gradient(ellipse at 36% 12%,rgb(var(--light-a) / .57),transparent 63%),radial-gradient(ellipse at 75% 12%,rgb(var(--light-b) / .45),transparent 58%),radial-gradient(ellipse at 57% 68%,rgb(var(--light-c) / .24),transparent 47%)}
.exterior-house .room[data-room="living"]::before{background:radial-gradient(ellipse at 87% 44%,rgb(var(--light-a) / .64),transparent 58%),radial-gradient(ellipse at 9% 68%,rgb(var(--light-b) / .40),transparent 54%),radial-gradient(ellipse at 48% 12%,rgb(var(--light-c) / .34),transparent 53%)}
/* Tight light cores sit on the pictured shades; tiny ceiling accents supply
   the dining downlights and living-room ambient light, not a flat window wash. */
.exterior-house .room[data-room="master"]::after{background:radial-gradient(ellipse 3.5% 4% at 35% 65%,#fff7dc 20%,rgb(var(--light-a) / .85) 65%,transparent 100%),radial-gradient(ellipse 3.5% 4% at 94% 65%,#fff7dc 20%,rgb(var(--light-b) / .85) 65%,transparent 100%)}
.exterior-house .room[data-room="guest"]::after{background:radial-gradient(ellipse 3.5% 4% at 89% 65%,#fff7dc 20%,rgb(var(--light-a) / .85) 65%,transparent 100%)}
.exterior-house .room[data-room="dining"]::after{background:radial-gradient(ellipse 1.7% 1.2% at 36% 12%,#fff7dc 12%,rgb(var(--light-a)) 42%,transparent 100%),radial-gradient(ellipse 1.7% 1.2% at 75% 12%,#fff7dc 12%,rgb(var(--light-b)) 42%,transparent 100%)}
.exterior-house .room[data-room="living"]::after{background:radial-gradient(ellipse 5.8% 4.2% at 87% 44%,rgb(var(--light-a) / .97) 25%,rgb(var(--light-a) / .65) 68%,transparent 100%),radial-gradient(ellipse 1.6% 1.2% at 48% 12%,#fff5e6 10%,rgb(var(--light-c)) 35%,transparent 100%),radial-gradient(ellipse 2% 5% at 9% 83%,rgb(var(--light-b) / .8),transparent 100%)}
.exterior-house .room.on{background:transparent;box-shadow:none}
.exterior-house .room.on::before,.exterior-house .room.on::after{opacity:1}
.exterior-house .room span{position:absolute;z-index:1;bottom:5px;left:5px;right:5px;padding:3px 5px;background:#07090acf;border-radius:5px;color:#fff;font-size:clamp(8px,1vw,12px);text-align:center;line-height:1.2}
.house.exterior-house[data-scene="night"]{background:#08101d}
.house.exterior-house[data-scene="night"] .house-photo{filter:brightness(.7)}
.house.exterior-house[data-scene="night"] .room.on{--light-a:255 171 80;--light-b:255 171 80;--light-c:255 171 80}
.house.exterior-house[data-scene="night"] .room.on::before{opacity:.55}
.house.exterior-house[data-scene="night"] .room.on::after{opacity:.75}
.house.exterior-house[data-scene="fitness"] .room[data-room="living"]{--light-a:255 72 197;--light-b:36 223 255;--light-c:132 97 255;background:transparent;box-shadow:none;animation:none}
.house.exterior-house[data-scene="fitness"] .room[data-room="dining"]{--light-a:61 219 255;--light-b:197 89 255;--light-c:127 108 255;background:transparent;box-shadow:none;animation:none}
.house.exterior-house[data-scene="fitness"] .room.on::before{opacity:1;background-blend-mode:screen}
.house.exterior-house[data-scene="emergency"] .room{--light-a:255 39 55;--light-b:255 39 55;--light-c:255 39 55;background:transparent;box-shadow:none;animation:none}
.house.exterior-house[data-scene="emergency"] .room::after{filter:sepia(1) saturate(7) hue-rotate(315deg)}
.exterior-house .emergency{top:5%;font-size:clamp(8px,1vw,12px);max-width:90%;white-space:nowrap;padding:6px 10px}
.house-caption{font-size:12px;margin-bottom:0}
@media(prefers-reduced-motion:reduce){.exterior-house .room,.exterior-house .room::before,.exterior-house .room::after{transition:none}}
