/* A continuous, scroll-controlled residence, with room-specific renovation choices. */
.room-tour{position:relative;height:720svh;--tour-progress:0;background:#211d18;color:#fff}
.tour-stage{position:sticky;top:0;height:100svh;min-height:0;overflow:hidden;isolation:isolate;background:#211d18}
.tour-world,.tour-poster,.tour-render,.tour-shade{position:absolute;inset:0;width:100%;height:100%}.tour-world{overflow:hidden}.tour-poster{object-fit:cover}.tour-render{opacity:0;transition:opacity 1.1s}.room-tour.is-ready .tour-render{opacity:1}.tour-render canvas{display:block;width:100%;height:100%}.tour-shade{pointer-events:none;background:linear-gradient(180deg,#110d0966,transparent 28%,transparent 56%,#110e0a99),linear-gradient(90deg,#100c0838,transparent 60%)}
.tour-header{position:absolute;inset:0 0 auto;z-index:5;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:16px 3.5%;border-bottom:1px solid #ffffff26;background:linear-gradient(#1c171b33,transparent)}.tour-scroll-hint{display:flex;gap:11px;align-items:center;margin:0;font-size:14px;line-height:1.7;color:#fffef6;text-shadow:0 1px 10px #0008}.tour-skip{font-size:14px;border-bottom:1px solid #dac8a8;padding:9px 0;white-space:nowrap;min-height:44px;display:flex;align-items:center}
.tour-world-heading{position:absolute;left:6%;top:18%;z-index:1;color:#fff;pointer-events:none;text-shadow:0 2px 22px #24160899;transition:opacity .4s,transform .6s}.tour-world-heading p{font:12px/1.5 Arial,sans-serif;letter-spacing:.19em;margin-bottom:20px}.tour-world-heading h1{font:400 clamp(2rem,4vw,4.8rem)/1.6 var(--serif);letter-spacing:.035em;margin:0}.room-tour:not([data-room=kitchen]) .tour-world-heading{opacity:0;transform:translateY(-12px)}
.tour-guide{position:absolute;z-index:4;right:3.5%;bottom:124px;width:min(360px,34vw);max-height:calc(100svh - 205px);overflow-y:auto;padding:23px 25px 15px;background:#f9f7f0e8;backdrop-filter:blur(20px);color:#302a22;border:1px solid #ffffff7a;box-shadow:0 15px 70px #21160622}
.tour-room-count{display:flex;gap:5px;align-items:baseline;color:#937044;font:14px/1.3 Georgia,serif;margin-bottom:12px}.tour-room-count>span:first-child{font-size:27px}.tour-room-count b{font:500 14px/1.5 sans-serif;color:#655641;margin-left:auto}.tour-guide h2{font-size:23px;line-height:1.7;margin:0 0 10px;letter-spacing:.025em}.tour-room-intro{font-size:16px;line-height:1.7;color:#6b5f4f;margin:0 0 15px}
.tour-work-options{display:flex;flex-direction:column;border-top:1px solid #cfc3b1}.tour-work-choice{display:flex!important;align-items:center;gap:10px!important;width:100%;white-space:normal;border:0!important;border-bottom:1px solid #cfc3b1!important;border-radius:0!important;background:transparent!important;color:#362d22!important;font:inherit!important;font-size:16px!important;font-weight:400!important;line-height:1.6!important;min-height:54px;height:auto!important;text-align:left;justify-content:flex-start!important;padding:10px 0!important;cursor:pointer;box-shadow:none!important}.tour-work-choice:hover{color:#927044!important}.tour-work-number{font:14px Georgia,serif;color:#927044}.tour-work-choice svg{margin-left:auto;flex-shrink:0}.tour-read-note{font-size:12px;line-height:1.7;color:#776954;margin:11px 0 0}.tour-room-actions{display:flex;justify-content:space-between;gap:20px;margin-top:8px}.tour-room-actions button,.tour-room-actions a{font-family:inherit;font-size:14px;line-height:1.5;background:transparent!important;border:0;border-bottom:1px solid #ac9674!important;border-radius:0!important;min-height:44px;height:auto!important;padding:8px 0!important;color:#453829!important;box-shadow:none!important}.tour-room-actions button:disabled{opacity:.3;cursor:default}
.tour-room-nav{position:absolute;z-index:5;bottom:33px;left:3.5%;right:3.5%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px 0;gap:14px;border-top:1px solid #fff4}.tour-room-nav button{display:flex;justify-content:center;align-items:center;gap:12px;font-family:inherit;font-size:16px;line-height:1.6;white-space:nowrap;min-height:51px;height:auto!important;border:0;border-bottom:1px solid #fff3!important;border-radius:0!important;padding:7px 10px!important;background:#241d1122!important;color:#fff!important;box-shadow:none!important;cursor:pointer;text-shadow:0 1px 10px #1009}.tour-room-nav button span{font:14px Georgia,serif;color:#e5cb9d}.tour-room-nav button[aria-current=step]{border-bottom-color:#f0d5a8!important;background:#e3bd751c!important}.tour-bottom{position:absolute;bottom:0;left:0;right:0;z-index:5;padding:5px 3.5% 10px;font-size:12px;line-height:1.6;color:#eee4d2}.tour-progress{position:absolute;bottom:0;left:0;height:2px;width:100%;z-index:6;background:#fff2}.tour-progress span{display:block;width:100%;height:100%;background:#e1c39a;transform:scaleX(var(--tour-progress));transform-origin:left}
.tour-hotspots{position:absolute;inset:0;pointer-events:none;z-index:2}.tour-hotspot{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px!important;pointer-events:auto;border:1px solid #ffffffe0!important;border-radius:24px!important;padding:5px 12px 5px 5px!important;min-height:44px;height:auto!important;background:#302820cf!important;backdrop-filter:blur(10px);color:#fff!important;box-shadow:0 5px 24px #0004!important;white-space:nowrap;font-size:14px;cursor:pointer}.tour-hotspot>span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#e2cfad;color:#302719;font:14px Georgia,serif}.tour-hotspot b{font-weight:400;font-size:14px}.tour-hotspot:hover{background:#21190fec!important;border-color:#eed9b8!important}.is-moving .tour-hotspot{pointer-events:none}.tour-scene-caption{position:absolute;bottom:124px;left:3.5%;color:#ffffffb0;font-size:12px;line-height:1.6;margin:0;pointer-events:none;text-shadow:0 1px 8px #0009}
body:has(.tour-work-dialog) [data-slot=dialog-overlay]{position:fixed;inset:0;z-index:150;background:#111710b8;backdrop-filter:blur(5px)}
.tour-work-dialog{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;z-index:151!important;width:min(680px,calc(100vw - 32px))!important;max-width:680px!important;max-height:calc(100svh - 36px);overflow:auto;overscroll-behavior:contain;background:#f7f3eb!important;color:#30372f;border:1px solid #cbbda4!important;border-radius:0!important;padding:0!important;display:block!important;box-shadow:0 30px 100px #0006;outline:none}
.tour-dialog-close{position:absolute!important;right:13px;top:13px;z-index:2;display:flex;gap:8px;align-items:center;background:#fffef1ee!important;border:0!important;border-radius:0!important;padding:11px 15px!important;min-height:44px;color:#252c25!important;cursor:pointer}.tour-dialog-close span{font-size:14px}.tour-work-dialog figure{margin:0}.tour-work-dialog figure img{display:block;width:100%;height:260px;object-fit:cover}.tour-work-dialog figcaption{font-size:12px;line-height:1.7;margin:0;padding:10px 26px;color:#777061;border-bottom:1px solid #ded4c4}.tour-dialog-copy{padding:26px 32px 25px}.tour-dialog-copy .eyebrow{font-size:12px;margin-bottom:9px}.tour-dialog-copy [data-slot=dialog-title]{font:400 28px/1.5 var(--serif);letter-spacing:.04em;margin:0 0 17px;text-align:left}.tour-dialog-copy [data-slot=dialog-description]{font-size:16px;line-height:1.9;color:#625e53;margin:0 0 25px}.tour-dialog-actions{display:flex;gap:12px;flex-wrap:wrap}.tour-dialog-actions a{flex:1;font-size:14px;white-space:nowrap;padding:13px 16px;min-height:50px}.tour-dialog-note{font-size:12px;line-height:1.6;color:#817966;margin:18px 0 0}
@media(max-width:900px){.tour-guide{bottom:116px;width:330px;right:18px;max-height:calc(100svh - 192px);padding:17px 21px 12px}.tour-world-heading{left:5%;top:15%}.tour-world-heading h1{font-size:clamp(2rem,5vw,3.5rem)}.tour-guide h2{font-size:22px}.tour-room-intro{font-size:16px}.tour-room-nav{left:18px;right:18px;gap:6px}.tour-room-nav button{font-size:14px;gap:6px}.tour-scene-caption{left:18px;font-size:12px;max-width:35%}}
@media(max-width:600px){.room-tour{height:760svh}.tour-header{padding:8px 14px;gap:12px}.tour-scroll-hint{font-size:12px;line-height:1.55;gap:6px}.tour-scroll-hint svg{width:15px;flex-shrink:0}.tour-skip{font-size:14px;min-height:44px}.tour-world-heading{top:14%;left:6%}.tour-world-heading p{font-size:12px;letter-spacing:.10em;margin-bottom:12px;max-width:250px}.tour-world-heading h1{font-size:clamp(1.85rem,7.8vw,2.7rem);line-height:1.65}.tour-guide{bottom:112px;left:14px;right:14px;width:auto;max-height:40svh;padding:12px 15px 9px;background:#fbf8f1ed}.tour-room-count{margin-bottom:4px}.tour-room-count>span:first-child{font-size:21px}.tour-room-count b{font-size:14px}.tour-guide h2{font-size:20px;line-height:1.5;margin-bottom:10px}.tour-room-intro,.tour-read-note{display:none}.tour-work-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:6px;border:0}.tour-work-choice{font-size:14px!important;line-height:1.5!important;min-height:50px;justify-content:center!important;gap:4px!important;border:1px solid #cbbda7!important;padding:7px 5px!important;text-align:center}.tour-work-choice .tour-work-number{display:none}.tour-work-choice svg{width:13px;margin-left:0}.tour-room-actions{margin-top:5px}.tour-room-actions button,.tour-room-actions a{font-size:14px;min-height:40px;padding:5px 0!important}.tour-room-nav{bottom:33px;left:14px;right:14px;gap:4px;padding:6px 0}.tour-room-nav button{font-size:14px!important;min-height:59px;gap:3px;flex-direction:column;padding:3px 2px!important;line-height:1.45;white-space:normal}.tour-room-nav button span{font-size:12px}.tour-bottom{font-size:12px;padding:5px 14px 10px}.tour-scene-caption{bottom:auto;top:72px;left:14px;max-width:70%;font-size:12px}.tour-hotspot{padding:4px!important;min-height:44px;border-radius:50%!important;gap:0!important}.tour-hotspot>span{width:33px;height:33px}.tour-hotspot b{display:none}.tour-work-dialog figure img{height:200px}.tour-dialog-copy{padding:21px}.tour-work-dialog figcaption{padding:9px 18px}.tour-dialog-copy [data-slot=dialog-title]{font-size:24px}.tour-dialog-actions{display:grid;grid-template-columns:1fr;gap:10px}.tour-dialog-actions a{font-size:15px}.tour-dialog-note{margin-top:13px}}
@media(max-height:600px) and (min-width:601px){.tour-guide{bottom:104px;top:77px;max-height:none;width:300px;overflow-y:auto;padding:12px 18px}.tour-room-count{margin-bottom:5px}.tour-guide h2{font-size:20px}.tour-room-intro,.tour-read-note{display:none}.tour-work-choice{min-height:47px}.tour-world-heading{top:24%;max-width:45%}.tour-world-heading h1{font-size:2.1rem}.tour-room-nav{padding:5px 0}.tour-scene-caption{bottom:111px}.tour-room-actions{margin-top:2px}}
@media(max-height:550px) and (max-width:600px){.tour-guide{max-height:45svh;bottom:100px}.tour-world-heading{top:20%}.tour-world-heading h1{font-size:1.55rem}.tour-room-count{display:none}.tour-guide h2{font-size:17px}.tour-room-actions{display:none}.tour-room-nav{bottom:28px}.tour-room-nav button{min-height:50px}.tour-header{padding:4px 12px}.tour-scene-caption{display:none}}
@media(prefers-reduced-motion:reduce){.tour-render,.tour-world-heading{transition:none}.room-tour{scroll-behavior:auto}}
body:has(.room-tour[data-active=true]) .agru-launcher{top:var(--tour-agent-top,70px);bottom:auto!important;right:13px;max-width:64px}body:has(.room-tour[data-active=true]) .agru-launcher>img{width:62px;height:62px}body:has(.room-tour[data-active=true]) .agru-callout{display:none}body:has(.room-tour[data-active=true]) .agru-icon{width:25px;height:25px}
/* Gallery: architecture first; restrained controls leave the next room visible. */
.room-tour{height:660svh;background:#423a34}
.tour-stage{background:#423a34}
.tour-shade{background:linear-gradient(180deg,#18130e55,transparent 23%,transparent 67%,#18130eb3)}
.tour-world-heading{top:15%;left:4.5%}
.tour-world-heading h1{font-size:clamp(2rem,3vw,2.8rem);line-height:1.7}
.tour-world-heading p{font-size:12px;letter-spacing:.17em;margin-bottom:12px}
.tour-guide{width:300px;padding:17px 19px 10px;background:#f8f4ece6;bottom:124px}
.tour-guide h2{font-size:20px;line-height:1.65;margin-bottom:7px}
.tour-room-count{margin-bottom:7px}
.tour-room-intro{font-size:14px;margin-bottom:10px}
.tour-work-choice{min-height:48px;font-size:15px!important}
.tour-read-note{display:none}
@media(max-width:600px){
 .room-tour{height:650svh}
 .tour-render,.tour-poster{height:calc(100% - 200px)}
 .tour-world{background:linear-gradient(140deg,#55483e,#29241f)}
 .tour-world-heading{top:14%;left:6%}
 .tour-world-heading p{font-size:12px;letter-spacing:.08em}
 .tour-world-heading h1{font-size:clamp(1.7rem,7vw,2.2rem)}
 .tour-guide{bottom:107px;left:14px;right:14px;width:auto;padding:12px 15px 13px;max-height:200px;background:#f8f4eceb}
 .tour-guide h2,.tour-room-actions,.tour-room-intro{display:none}
 .tour-room-count{margin-bottom:9px}
 .tour-room-count>span:first-child{font-size:23px}
 .tour-room-count b{font-size:16px}
 .tour-work-choice{font-size:14px!important;min-height:52px}
 .tour-room-nav{bottom:31px;padding:5px 0}
 .tour-room-nav button{min-height:58px;font-size:13px!important}
 .tour-scene-caption{top:70px;font-size:12px}
}
@media(max-height:550px){.tour-render,.tour-poster{height:100%}.tour-world-heading{display:none}.tour-guide{width:260px;left:auto;right:16px;bottom:102px;max-height:calc(100% - 182px)}.tour-guide h2,.tour-room-intro,.tour-room-actions{display:none}.tour-room-count{display:flex}.tour-work-options{display:flex}.tour-work-choice{min-height:44px}.tour-room-nav button{font-size:13px!important}}
