/* One illustrated miniature house within a furnished bedroom. */
#voyage.dollhouse-home{padding:31px 0 12px;background:#eee1c9;text-align:center;overflow:auto;background:radial-gradient(ellipse at 50% 25%,#fff7e6,#e8d7ba)}
.dollhouse-welcome{position:relative;z-index:1;padding:0 20px}.dollhouse-welcome>span{font-size:8px;letter-spacing:2.8px;color:#896644}.dollhouse-welcome h1{font-size:clamp(32px,3vw,48px);line-height:1.05;letter-spacing:-1px;color:#33534e;margin:8px 0}.dollhouse-welcome em{color:#a46d47}.dollhouse-welcome p{font-size:12px;color:#53645c;margin:8px 0 13px}
.dollhouse-setting{width:100%;overflow:hidden}.dollhouse-picture{position:relative;width:min(1280px,calc((100dvh - 235px)*1.5));min-width:690px;margin:0 auto;box-shadow:0 10px 40px #6c4b2825;border-radius:12px;overflow:hidden}.bedroom-art{display:block;width:100%;height:auto}
.bedroom-room{position:absolute;top:29%;height:22.6%;width:18.9%;display:flex;justify-content:center;align-items:flex-end;border:1px solid transparent;background:transparent;padding:0 2px 4px;cursor:pointer;border-radius:2px;transition:background .3s,box-shadow .3s,border-color .3s;text-align:center;isolation:isolate}
.bedroom-room-1,.bedroom-room-4{left:21.5%}.bedroom-room-2,.bedroom-room-5{left:41.6%}.bedroom-room-3,.bedroom-room-6{left:61.1%}.bedroom-room-4,.bedroom-room-5,.bedroom-room-6{top:53.5%;height:24.4%}
.bedroom-label{display:block;min-width:78%;max-width:100%;padding:6px 10px 7px;border:1px solid #efd6a8b0;border-radius:6px;background:#fff2dbed;box-shadow:0 3px 9px #291a1040;color:#3e544b;transition:transform .25s,background .25s;pointer-events:none}.bedroom-label strong{display:block;font:600 clamp(17px,1.45vw,23px)/1.05 var(--serif);white-space:nowrap}.bedroom-label small{display:block;font-size:9px;line-height:1.3;margin-top:4px;color:#665438}.bedroom-room:hover,.bedroom-room:focus-visible{background:#ffe5a422;border-color:#ffe6a19c;box-shadow:inset 0 0 25px #ffe4a545,0 0 12px #ffdd9c30}.bedroom-room:hover .bedroom-label,.bedroom-room:focus-visible .bedroom-label{transform:translateY(-4px);background:#fff4df}.bedroom-room:focus-visible{outline:3px solid #ffdda3;outline-offset:2px}.dollhouse-caption{margin:12px 0 0;font-size:10px;color:#665b48}
.house-return{position:fixed;top:122px;left:24px;z-index:26;display:flex;gap:8px;align-items:center;padding:9px 15px;border:1px solid #b49c7755;border-radius:30px;background:#fff6e9eb;color:#355850;font-size:12px;box-shadow:0 4px 18px #49381f12}.house-overview .house-return,.house-overview .house-nav{display:none}.house-passing .house-return,.house-passing .house-nav,.house-passing .demo-ribbon{opacity:0;pointer-events:none}
@media(max-width:700px){#voyage.dollhouse-home{padding:46px 0 24px}.dollhouse-welcome{padding:0 22px}.dollhouse-welcome h1{font-size:37px;line-height:1.03;max-width:330px;margin:9px auto}.dollhouse-welcome p{font-size:12px;max-width:285px;margin:12px auto 18px}.dollhouse-welcome>span{font-size:7px;letter-spacing:2px}.dollhouse-picture{width:156%;min-width:0;margin-left:-28%;border-radius:0}.bedroom-label{padding:5px 4px;min-width:90%;border-radius:4px}.bedroom-label strong{font-size:16px}.bedroom-label small{font-size:8px;margin-top:3px}.bedroom-room{padding-bottom:2px}.house-return{top:103px;left:12px;font-size:10px;padding:7px 11px}.dollhouse-caption{padding:0 20px;margin-top:18px}}
@media(max-width:360px){.bedroom-label strong{font-size:14px}.bedroom-label small{font-size:7px}}
/* v120: edge-to-edge bedroom, with real destination scenes inside its frame. */
#voyage.dollhouse-home{padding:0;overflow:hidden;background:#8d7156}
.dollhouse-setting{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x;overscroll-behavior-x:contain}
.dollhouse-setting::-webkit-scrollbar{display:none}
.dollhouse-picture{position:relative;min-width:0;max-width:none;margin:0;border-radius:0;box-shadow:none;overflow:visible}
.bedroom-art{width:100%;height:100%;object-fit:fill;user-select:none;-webkit-user-drag:none}
.dollhouse-welcome{position:absolute;top:0;left:0;right:0;padding:34px 15px 60px;z-index:3;pointer-events:none;background:linear-gradient(#30271ed9,#30271e70 60%,transparent);text-shadow:0 2px 12px #302316}
.dollhouse-welcome>span{color:#f2d6a4}.dollhouse-welcome h1{color:#fff5e2;font-size:clamp(30px,2.5vw,45px);margin:7px 0}.dollhouse-welcome em{color:#ffdda5}.dollhouse-welcome p{color:#fff3df;margin:8px 0 0;font-size:12px}
.mini-real-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#2f3537;box-shadow:inset 0 0 22px #20140a88}
.mini-real-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.mini-real-scene:after{content:'';position:absolute;inset:0;box-shadow:inset 6px 7px 12px #21140d77,inset -4px -3px 7px #21140d33;pointer-events:none}
.bedroom-room{border:0;overflow:hidden;padding:0 4px 6px;border-radius:0;transition:box-shadow .25s}
.bedroom-room:hover,.bedroom-room:focus-visible{background:none;box-shadow:0 0 14px #ffe6a180}
.bedroom-room:hover .mini-real-scene,.bedroom-room:focus-visible .mini-real-scene{filter:brightness(1.12)}
.bedroom-label{z-index:1;min-width:65%;padding:5px 9px;border-radius:4px;background:#fff2dbe8}.bedroom-label strong{font-size:clamp(17px,1.35vw,24px)}.bedroom-label small{font-size:9px}
.dollhouse-caption{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff2dbe8;border:1px solid #d7b98588;padding:7px 15px;border-radius:30px;color:#4b5042;z-index:3;margin:0;pointer-events:none}
.house-mobile-hint{display:none}
@media(max-width:700px){#voyage.dollhouse-home{padding:0}.dollhouse-welcome{padding:40px 12px 45px}.dollhouse-welcome h1{font-size:32px;max-width:none}.dollhouse-welcome p{font-size:11px;max-width:none;margin:8px 0 0}.dollhouse-picture{margin:0;width:auto}.bedroom-label strong{font-size:18px}.bedroom-label small{font-size:9px}.bedroom-room{padding:0 5px 7px}.dollhouse-caption{font-size:9px;bottom:16px;padding:8px 12px;max-width:95vw;white-space:normal;width:max-content}.house-desktop-hint{display:none}.house-mobile-hint{display:inline}}
.house-camera-flight{position:fixed;left:0;z-index:29;overflow:hidden;background:#443629;pointer-events:none}
.house-camera-picture{position:absolute;left:0;margin:0;transform-origin:0 0;will-change:transform}
.house-camera-picture .bedroom-label{display:none}
.house-camera-picture .bedroom-room{pointer-events:none}
.house-camera-picture .bedroom-art{display:block;width:100%;height:100%}
.keepsake-details{display:grid;gap:17px;margin:0 0 28px;max-width:450px}
.keepsake-details article{display:flex;gap:14px;align-items:flex-start}.keepsake-details article>span{display:grid;place-items:center;flex:0 0 36px;height:36px;border:1px solid #b99a70;border-radius:50%;color:#956039;background:#fff4dfb0;font-size:22px}
.keepsake-details h3{font-size:24px;color:#35564e;margin:0 0 5px}.keepsake-details p{font-size:12px;line-height:1.6;color:#415957;margin:0}
.keepsake-room .room-content{padding-top:85px}.keepsake-room .room-content>p{font-size:14px}
/* Fit the complete desktop composition instead of scrolling a few extra pixels.
   Keep natural overflow available on very short windows and at large text zoom. */
@media(min-width:801px){
 .keepsake-room .room-content{padding-top:85px;padding-bottom:110px}
 .keepsake-room .room-kicker{margin-bottom:clamp(8px,calc(7dvh - 42px),26px)}
 .keepsake-room .room-content h2{font-size:clamp(36px,min(4.6vw,calc(12dvh - 40px)),78px);margin-bottom:clamp(10px,calc(5dvh - 26px),24px)}
 .keepsake-room .room-content>p{line-height:1.6;margin:0 0 clamp(10px,calc(5dvh - 26px),24px);max-width:450px}
 .keepsake-room .keepsake-details{gap:clamp(8px,calc(4dvh - 20px),17px);margin-bottom:clamp(12px,calc(4dvh - 16px),28px)}
 .keepsake-room .keepsake-details h3{font-size:22px;line-height:1.15;margin-bottom:4px}
 .keepsake-room .house-cta{min-height:50px;padding:12px 22px;line-height:1.4}
 .keepsake-room .house-cta span{line-height:1}
}
@media(max-width:700px){.keepsake-room .room-content{padding-top:24px}.keepsake-details h3{font-size:24px}}
.house-camera-light{position:absolute;inset:-5%;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 64% 30%,#ffe5aec9 0%,#f8daa28c 38%,#d9b57a25 74%,transparent 100%);filter:blur(22px)}
