*{box-sizing:border-box}
:root{--ink:#f4eee5;--muted:#c6bcb0;--gold:#c9a875;--dark:#11100f;--ease:cubic-bezier(.22,.8,.22,1)}
html,body{margin:0;width:100%;height:100%;background:#111;color:var(--ink);font-family:"DM Sans",sans-serif;overflow:hidden}
button,a{-webkit-tap-highlight-color:transparent}
.site-shell{height:100svh;min-height:520px;position:relative;overflow:hidden;background:var(--dark)}
.topbar{position:absolute;z-index:30;top:0;left:0;width:100%;height:94px;padding:26px 5.3%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(0,0,0,.26),transparent)}
.brand-mark{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.brand-symbol{width:39px;height:39px;border:1px solid rgba(220,190,144,.8);display:grid;place-items:center;font-family:"Playfair Display",serif;font-size:22px;color:#d9bd91;position:relative}
.brand-symbol span{font-size:15px;position:absolute;right:3px;bottom:0;color:#fff}
.brand-name{font-size:12px;letter-spacing:3px;font-weight:600;line-height:1.4}.brand-name small{display:block;font-size:7px;letter-spacing:2px;color:#c9bda9;margin-top:3px}
.top-note{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;color:#ded4c6;display:flex;align-items:center;gap:9px}
.status-dot{width:5px;height:5px;background:#d2b183;border-radius:50%;box-shadow:0 0 10px #d2b183}
.sound-toggle{display:flex;gap:10px;align-items:center;background:none;border:0;color:#eee;font-size:9px;letter-spacing:1.4px}
.sound-bars{display:flex;gap:2px;height:15px;align-items:center}.sound-bars i{display:block;width:2px;height:5px;background:#d3b486}.sound-bars i:nth-child(2){height:12px}.sound-bars i:nth-child(3){height:8px}
.scene{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.025);transition:opacity .9s ease,transform 1.4s var(--ease),visibility .9s;overflow:hidden}
.scene.active{opacity:1;visibility:visible;transform:scale(1);z-index:2}
.scene-image,.final-image{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.02);transition:transform 7s ease}
.scene.active .scene-image{transform:scale(1.07)}
.scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,7,.72) 0%,rgba(8,8,7,.4) 43%,rgba(8,8,7,.05) 100%),linear-gradient(0deg,rgba(0,0,0,.25),transparent 50%)}
.door-image{background-image:url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=2200&q=90")}
.switch-image{background-image:url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=90");filter:brightness(.27) saturate(.72);transition:filter 1.8s ease,transform 7s ease}
#scene-switch.lights-on .switch-image{filter:brightness(.95) saturate(.9)}
.dark-shade{background:linear-gradient(90deg,rgba(9,9,8,.78),rgba(9,9,8,.24) 75%),rgba(0,0,0,.12);transition:opacity 1.4s}
#scene-switch.lights-on .dark-shade{opacity:.4}
.living-image{background-image:url("https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=2200&q=90")}
.kitchen-image{background-image:url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=2200&q=90")}
.bedroom-image{background-image:url("https://images.unsplash.com/photo-1616486338812-3dadae4b4ace?auto=format&fit=crop&w=2200&q=90")}
.bathroom-image{background-image:url("https://images.unsplash.com/photo-1620626011761-996317b8d101?auto=format&fit=crop&w=2200&q=90")}
.room-shade{background:linear-gradient(90deg,rgba(12,11,10,.74) 0%,rgba(12,11,10,.42) 35%,rgba(12,11,10,.03) 75%),linear-gradient(0deg,rgba(0,0,0,.4),transparent 50%)}
.bathroom-shade{background:linear-gradient(90deg,rgba(11,10,9,.34),rgba(11,10,9,.05) 60%),linear-gradient(0deg,rgba(0,0,0,.38),transparent 45%)}
.scene-copy{position:absolute;left:12.3%;top:50%;transform:translateY(-42%);max-width:610px}
.eyebrow{font-size:10px;letter-spacing:3px;font-weight:600;color:var(--gold);margin:0 0 24px}
.display-title{font-family:"Playfair Display",serif;font-weight:400;font-size:clamp(46px,6.1vw,88px);line-height:1.06;letter-spacing:-1.7px;margin:0 0 24px}
.display-title em,.room-label h2 em,.final-title em{font-weight:400;color:#d3b78e}
.scene-description{max-width:390px;color:#ddd4c8;font-size:13px;line-height:1.8;letter-spacing:.15px;margin-bottom:35px}
.lux-button{border:1px solid rgba(228,205,168,.78);background:rgba(22,20,17,.16);color:#fff;display:flex;align-items:center;gap:45px;padding:17px 20px;font-size:9px;letter-spacing:2px;min-width:200px;justify-content:space-between;transition:background .3s,border .3s}
.lux-button b{font-size:16px;font-weight:400;color:var(--gold)}.lux-button:hover{background:#c6a777;color:#171411;border-color:#c6a777}.lux-button:hover b{color:#171411}
.door-hint{position:absolute;bottom:42px;left:5.3%;font-size:8px;letter-spacing:2.2px;color:#ddd1bf;display:flex;align-items:center;gap:12px}.hint-line{width:36px;height:1px;background:#c7a777}
.reveal{opacity:0;transform:translateY(18px);animation:reveal .9s var(--ease) .2s forwards}.delay-1{animation-delay:.35s}.delay-2{animation-delay:.5s}.delay-3{animation-delay:.65s}
@keyframes reveal{to{opacity:1;transform:translateY(0)}}
.switch-copy{left:13%;max-width:600px}.light-switch{display:flex;align-items:center;gap:18px;background:none;border:0;color:#cfc5b7;padding:0;text-align:left}
.switch-plate{width:51px;height:78px;border:1px solid rgba(218,198,167,.8);background:rgba(20,18,16,.3);display:grid;place-items:center;box-shadow:0 0 22px rgba(0,0,0,.2);transition:box-shadow .5s}
.switch-knob{width:17px;height:30px;border-radius:2px;background:linear-gradient(90deg,#8b8377,#d4c9b6,#766f64);box-shadow:0 2px 5px #0008;transform:translateY(-4px);transition:transform .35s}
#scene-switch.lights-on .switch-knob{transform:translateY(4px)}
#scene-switch.lights-on .switch-plate{box-shadow:0 0 35px #d7b98544}
.switch-caption{font-size:8px;letter-spacing:1.7px}
.text-button{display:block;margin-top:28px;background:none;border:0;border-bottom:1px solid #bda47e;padding:0 0 9px;color:#f1e6d5;font-size:9px;letter-spacing:2px}.text-button span{color:var(--gold);padding-left:18px}.hidden{opacity:0;pointer-events:none;transition:opacity .5s}.visible{opacity:1;pointer-events:auto}
.scene-index{position:absolute;bottom:44px;right:5.3%;font-size:10px;letter-spacing:2px}.scene-index span{color:#b8a07c;margin:0 8px}
.room-label{position:absolute;left:10%;top:50%;transform:translateY(-35%);max-width:530px;transition:transform .9s,opacity .9s}
.room-label .eyebrow{margin-bottom:18px}.room-label h2{font-family:"Playfair Display",serif;font-size:clamp(49px,6vw,80px);font-weight:400;line-height:1.04;margin:0 0 18px;letter-spacing:-1px}.room-label p{font-size:12px;color:#e1d7c9;letter-spacing:.2px}
.room-nav{position:absolute;left:5.3%;right:5.3%;bottom:40px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff48;padding-top:20px}
.room-next,.room-prev{background:none;border:0;color:#f5eee4;font-size:9px;letter-spacing:1.5px;padding:7px 0}.room-next b{font-size:16px;font-weight:400;color:var(--gold);padding-left:20px}.room-prev{color:#c7bba9}
.room-progress{font-size:10px;letter-spacing:1px;color:#f4eee5}.room-progress i{display:inline-block;width:48px;height:1px;background:#bda47e;vertical-align:middle;margin:0 9px}
.room-chip{position:absolute;right:5.3%;top:125px;font-size:8px;letter-spacing:2px;color:#f5eee5}.room-chip span{color:var(--gold);padding:0 8px}
.bathroom-prompt{position:absolute;left:9%;top:32%;text-shadow:0 2px 18px #0008}.bathroom-prompt .eyebrow{margin-bottom:8px}.bathroom-prompt p{font-family:"Playfair Display",serif;font-size:26px;font-style:italic}
.mirror-wordmark{position:absolute;top:44%;left:60%;transform:translate(-50%,-50%);width:min(310px,35vw);height:120px;border:1px solid #ffffff45;background:linear-gradient(135deg,#ffffff18,#ffffff03 50%,#ffffff18);backdrop-filter:blur(2px);color:#f9f2e8;font-family:"Playfair Display",serif;font-size:25px;letter-spacing:5px;text-shadow:0 2px 12px #0009;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;transition:all .5s;overflow:hidden}
.mirror-wordmark small{font-family:"DM Sans",sans-serif;font-size:7px;letter-spacing:2px;color:#e1d3bd;opacity:.8}
.mirror-wordmark:hover{border-color:#d8bd90;background:#ffffff28;box-shadow:0 0 50px #d4b47a24}.mirror-glint{position:absolute;top:-50%;left:-40%;width:28%;height:200%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,#ffffff55,transparent);transition:left 1s}.mirror-wordmark:hover .mirror-glint{left:120%}
.room-end-note{font-size:8px;letter-spacing:2px;color:#d4b78d}
.final-scene{background:#14120f}.final-image{background-image:url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=90");opacity:.25;filter:grayscale(.5) brightness(.55)}
.final-scene:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,rgba(177,139,86,.14),transparent 55%),linear-gradient(0deg,#11100f 0%,rgba(17,16,15,.5) 100%)}
.final-grain{position:absolute;inset:0;z-index:1;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}
.final-content{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-47%);width:min(680px,90%);text-align:center}
.final-monogram{font-family:"Playfair Display",serif;font-size:46px;color:#d2b487;margin-bottom:27px;letter-spacing:-4px}.final-monogram span{font-size:31px;color:#f4eee5}
.final-content .eyebrow{margin-bottom:20px;font-size:9px}
.final-title{font-family:"Playfair Display",serif;font-weight:400;font-size:clamp(42px,6vw,76px);line-height:1.12;letter-spacing:-1.5px;margin:0 0 25px}
.final-rule{width:48px;height:1px;background:#b99b6e;margin:0 auto 22px}
.final-copy{font-size:12px;line-height:1.9;color:#c9c0b4;margin-bottom:26px}
.coming-label{display:flex;align-items:center;justify-content:center;gap:13px;font-size:9px;letter-spacing:3px;color:#d9c5a4}.coming-label span{width:23px;height:1px;background:#9e835b}
.contact-link{display:inline-flex;gap:22px;align-items:center;margin-top:30px;text-decoration:none;color:#f1e7d8;font-size:8px;letter-spacing:1.8px;border-bottom:1px solid #8f795a;padding-bottom:10px}.contact-link b{color:#c9a875;font-size:14px;font-weight:400}
.restart-link{display:block;margin:25px auto 0;background:none;border:0;color:#8e867b;font-size:8px;letter-spacing:1.5px}.restart-link:hover{color:#e4d3b8}
.final-footer{position:absolute;z-index:2;bottom:27px;left:5.3%;right:5.3%;display:flex;justify-content:space-between;color:#8d857a;font-size:7px;letter-spacing:2px}
.tour-progress{position:absolute;z-index:40;left:0;right:0;bottom:0;height:2px;background:#ffffff17}.tour-progress span{display:block;width:0;height:100%;background:#c9a875;transition:width .8s var(--ease)}
.transition-wash{position:absolute;z-index:50;inset:0;background:#cbb28d;opacity:0;pointer-events:none}.transition-wash.flash{animation:flash .8s ease}
@keyframes flash{0%{opacity:0}35%{opacity:.2}100%{opacity:0}}
.mobile-tip{display:none}
@media(max-width:768px){
 .site-shell{min-height:500px}.topbar{height:76px;padding:18px 5%}.brand-symbol{width:33px;height:33px;font-size:19px}.brand-name{font-size:10px;letter-spacing:2px}.brand-name small{font-size:6px;letter-spacing:1.5px}.top-note{display:none}.sound-toggle{font-size:8px}
 .scene-image{background-position:center}.scene-shade{background:linear-gradient(0deg,rgba(8,8,7,.78) 0%,rgba(8,8,7,.3) 68%,rgba(8,8,7,.25) 100%)}
 .door-image{background-position:58% center}.scene-copy{left:7%;right:7%;top:51%;transform:translateY(-35%);max-width:unset}.eyebrow{font-size:8px;letter-spacing:2.1px;margin-bottom:18px}.display-title{font-size:clamp(43px,11vw,66px);letter-spacing:-1.2px;margin-bottom:19px}.scene-description{font-size:12px;max-width:320px;line-height:1.75;margin-bottom:27px}.lux-button{padding:15px 17px;min-width:185px}
 .door-hint{left:7%;bottom:27px;font-size:7px}.switch-copy{left:7%;right:7%}.switch-image{background-position:60% center}.scene-index{right:7%;bottom:29px}
 .room-scene .scene-image{background-position:60% center}.room-label{left:7%;right:7%;top:45%;transform:translateY(-20%)}.room-label h2{font-size:clamp(45px,10vw,67px)}.room-label p{max-width:280px;font-size:11px;line-height:1.7}.room-label .eyebrow{font-size:7px}
 .room-nav{left:7%;right:7%;bottom:28px;padding-top:14px;gap:8px}.room-next,.room-prev{font-size:7px;letter-spacing:.7px}.room-next b{padding-left:6px;font-size:13px}.room-progress{font-size:8px;white-space:nowrap}.room-progress i{width:16px;margin:0 4px}.room-chip{top:98px;right:7%;font-size:7px;letter-spacing:1.3px}
 .bathroom-prompt{left:7%;top:25%}.bathroom-prompt p{font-size:22px}.mirror-wordmark{top:48%;left:53%;width:min(260px,68vw);height:105px;font-size:20px;letter-spacing:3px}
 .final-content{top:48%;width:88%}.final-monogram{font-size:38px;margin-bottom:20px}.final-content .eyebrow{font-size:7px;letter-spacing:1.6px}.final-title{font-size:clamp(39px,9.8vw,58px);letter-spacing:-.8px}.final-copy{font-size:11px}.final-footer{bottom:18px;font-size:6px;letter-spacing:1px}.final-footer span:nth-child(2){display:none}
}
@media(max-height:650px) and (min-width:769px){.scene-copy{top:53%}.display-title{font-size:clamp(43px,5vw,65px)}.room-label h2{font-size:58px}.final-content{top:48%;transform:translate(-50%,-45%)}.final-monogram{font-size:32px;margin-bottom:12px}.final-title{font-size:52px;margin-bottom:14px}.final-copy{margin-bottom:14px}.final-content .eyebrow{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
