@font-face{font-family:Be;src:url('assets/be-vietnam-pro-400.ttf')}@font-face{font-family:Be;src:url('assets/be-vietnam-pro-600.ttf');font-weight:600}@font-face{font-family:Momo;src:url('assets/momo-trust-display-400.ttf')}
:root{color-scheme:dark;--bg:#151513;--panel:#20211e;--line:#ffffff15;--gold:#dbc59c;--muted:#a3a49b;--ink:#eeeae1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 Be,Arial,sans-serif}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Momo,Be,sans-serif;font-weight:400}button{background:transparent}header,main,footer{max-width:1800px;margin:auto;padding-left:3.4vw;padding-right:3.4vw}header{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.brand img{display:block;width:180px;height:auto}nav{display:flex;gap:32px;font-size:12px;color:#c7c5bb}.location{font-size:11px;color:#a7a89c}.intro{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 0}.intro>div>p{font-size:12px;color:var(--gold);margin-bottom:5px}.intro h1{font-size:clamp(25px,2.6vw,40px);letter-spacing:-.04em}.intro>p{color:var(--muted);font-size:13px}.experience{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.visual{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#1c1d1a}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px}.views{display:flex;gap:5px;flex-wrap:wrap}.views button{font-size:11px;padding:7px 12px;border-radius:22px;color:#aaa99f}.views button[aria-pressed=true]{background:#37372f;color:var(--gold)}#fullscreen{font-size:22px;line-height:1;padding:5px}.room{position:relative;aspect-ratio:2048/758;overflow:hidden;background:#080908}.camera{position:absolute;inset:0;transition:transform 1.4s cubic-bezier(.2,.7,.2,1);transform-origin:50% 50%}.world{width:2048px;height:758px;position:absolute;left:0;top:0;transform-origin:0 0}.world>svg{display:block}.zone{opacity:0;transition:opacity 3.2s ease;filter:brightness(1.02)}#baseDim{transition:opacity 3.5s ease}#curtainAssembly{filter:none}#curtainLeftPanel,#curtainRightPanel{filter:brightness(.4);transition:filter 3s}#curtainLeftPanel,#sheerLeftPanel{transform-origin:1300px 0;transform-box:view-box}#curtainRightPanel,#sheerRightPanel{transform-origin:1590px 0;transform-box:view-box}#daylightSpill{pointer-events:none}.cabinet-tier{transition:opacity 2s cubic-bezier(.45,0,.55,1);pointer-events:none}.cabinet-image{filter:brightness(1.12) saturate(1.03)}.tv-surface{position:absolute;left:0;top:0;width:640px;height:360px;transform-origin:0 0;background:#080c10;overflow:hidden;opacity:0;transition:opacity 1.7s ease}.tv-surface>video{width:100%;height:100%;object-fit:cover;display:none}.tv-surface #karaokeMount{position:absolute;inset:0;display:none}.tv-surface iframe{width:100%;height:100%;border:0}#tvArt{position:absolute;inset:0;background:radial-gradient(ellipse at 90% 100%,#d4b18b55,transparent 65%),linear-gradient(125deg,#0b2728,#284740);padding:65px 50px;overflow:hidden}#tvArt span{font-size:12px;letter-spacing:3px;color:#adbea8}#tvArt strong{display:block;font-family:Momo;font-size:43px;line-height:1.2;margin-top:22px;font-weight:400}.art-orbit{position:absolute;width:340px;height:340px;border:1px solid #b8c8a94a;border-radius:50%;right:-80px;bottom:-150px;box-shadow:0 0 0 28px #b8c8a90a,0 0 0 60px #b8c8a90a}#tvHint{position:absolute;inset:0;background:#172020;color:#ddd;padding:80px 40px;text-align:center;font-size:22px}#tvHint[hidden]{display:none}#tvHint a{display:block;color:var(--gold);text-decoration:underline;margin-top:15px}.scene-caption{position:absolute;left:24px;bottom:20px;pointer-events:none;text-shadow:0 2px 15px #000}.scene-caption h2{font-size:24px;letter-spacing:-.02em}.scene-caption p{font-size:11px;margin-top:5px;color:#e3ddcf}.room:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0006);pointer-events:none}.scene-caption{z-index:2}.room-status{position:absolute;top:16px;left:18px;font-size:10px;background:#15171599;border:1px solid #fff2;padding:5px 10px;border-radius:20px;color:#e1d8c8}.scenes{display:flex;flex-wrap:wrap;gap:7px;padding:15px 16px}.scene{font-size:11px;flex:1 0 95px;display:flex;gap:7px;align-items:center;justify-content:center;background:#252621;border:1px solid #ffffff13;border-radius:28px;padding:11px 8px;color:#bbb9ac}.scene svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.5}.scene[aria-pressed=true]{background:var(--gold);color:#302d23;border-color:var(--gold)}.scene:hover{border-color:#dbc59c77}.playbar{margin:0 17px 16px;padding-top:14px;border-top:1px solid var(--line);display:flex;gap:12px;align-items:center}.playbar>button{width:32px;height:32px;border:1px solid #ffffff20;border-radius:50%;color:var(--gold);flex-shrink:0}.playbar>div:not(.volume){flex:1;min-width:0}.playbar strong,.playbar span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playbar strong{font-size:11px;font-weight:400}.playbar span{font-size:10px;color:#888e80;margin-top:3px}.playbar>a{font-size:12px;color:var(--muted)}.volume{width:140px}.volume label{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}input[type=range]{appearance:none;width:100%;height:3px;background:linear-gradient(to right,var(--gold) var(--pct,0%),#48493f var(--pct,0%));border-radius:8px;cursor:pointer;margin:12px 0;display:block}input[type=range]::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--gold)}input[type=range]::-moz-range-thumb{border:0;width:12px;height:12px;border-radius:50%;background:var(--gold)}.controls{background:var(--panel);padding:20px;border:1px solid var(--line);border-radius:18px}.control-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.control-heading h2{font-size:20px;letter-spacing:-.04em}.control-heading button{font-size:22px;color:var(--muted)}.tabs{background:#151613;border-radius:9px;padding:3px;display:flex;margin:18px 0}.tabs button{width:50%;padding:8px;border-radius:7px;color:#aaa;font-size:11px}.tabs button[aria-selected=true]{color:var(--gold);background:#38392f}.light-row{margin-bottom:12px}.light-row label,.curtain-control label{display:flex;justify-content:space-between;font-size:11px;color:#c5c5ba}.light-row output,.curtain-control output{color:var(--gold)}.temperature{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:10px 0}.temperature strong{font-weight:400;color:var(--gold)}.sequence{margin-top:16px;background:#292a24;border:1px solid #fff1;border-radius:12px;padding:14px;font-size:11px}.sequence>strong{font-weight:400;color:#d5cebd}.sequence ol{padding-left:16px;margin:10px 0 0;font-size:10px;color:#9c9f92;line-height:1.9}.sequence li{padding-left:2px}.sequence li.done{color:#e1d5bd}.leave{display:flex;justify-content:space-between;width:100%;border:1px solid #ffffff25;border-radius:24px;font-size:11px;padding:10px 15px;margin-top:16px;color:var(--gold)}.device{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.device strong{display:block;font-size:12px;font-weight:400}.device small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.switch{width:35px;height:20px;padding:3px;border-radius:20px;background:#484b40}.switch:before{content:'';display:block;width:14px;height:14px;border-radius:50%;background:#a5a99b;transition:transform .3s}.switch[aria-checked=true]{background:#a79570}.switch[aria-checked=true]:before{transform:translateX(15px);background:#f6e9cf}.curtain-control{padding:20px 0;border-bottom:1px solid var(--line)}.curtain-actions{display:flex;gap:8px}.curtain-actions button{flex:1;border:1px solid #fff2;border-radius:20px;padding:6px;font-size:10px;color:var(--gold)}.ac-set{display:flex;justify-content:center;gap:25px;align-items:center;margin-top:16px}.ac-set strong{font-size:18px;font-weight:400}.ac-set button{border:1px solid #fff2;border-radius:50%;width:28px;height:28px}.living{padding:65px 0 45px}.section-heading{display:flex;gap:30px;justify-content:space-between;align-items:center;margin-bottom:30px}.section-heading h2{font-size:30px;line-height:1.35;letter-spacing:-.03em}.section-heading p{color:var(--muted);max-width:480px;font-size:14px}.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stories>button{text-align:left;padding:28px;background:#20211d;border:1px solid var(--line);border-radius:15px}.stories>button>span{color:#777f6e;font-size:12px}.stories h3{font-size:23px;margin:24px 0 15px}.stories p{font-size:13px;color:#aaa99e;line-height:1.8}.stories b{display:block;font-size:12px;font-weight:400;color:var(--gold);margin-top:28px}.connection{border-top:1px solid var(--line);margin-top:38px;padding-top:32px;display:flex;flex-wrap:wrap;gap:25px;align-items:center;justify-content:space-between}.connection h3{font-size:24px}.connection p{font-size:13px;color:var(--muted);margin-top:10px}.flow{display:flex;gap:12px;align-items:center;font-size:12px}.flow span{padding:10px 16px;border:1px solid #dbc59c35;border-radius:25px;color:var(--gold)}.flow i{font-style:normal;color:#777}.connection small{width:100%;color:#858b7e;font-size:11px}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-top:24px;padding-bottom:24px;gap:20px}footer img{width:140px}footer p,footer a{font-size:11px;color:var(--muted)}[hidden]{display:none!important}.experience.expanded{position:fixed;inset:0;z-index:1000;background:#10110f;padding:18px;overflow:auto;align-items:center}.experience.expanded .visual{width:100%}.experience.expanded .room{aspect-ratio:2048/1000}.experience.expanded .camera{top:50%;height:auto;aspect-ratio:2048/758;margin-top:calc(-100% * 758 / 2048 / 2)}body.immersive{overflow:hidden}
@media(max-width:1150px){.experience{grid-template-columns:minmax(0,1fr) 250px;gap:12px}.controls{padding:16px}.scene{flex-basis:100px}.intro>p{max-width:240px}.scene-caption{left:16px;bottom:13px}.scene-caption p{font-size:10px}.scene-caption h2{font-size:21px}.stories h3{font-size:21px}.volume{width:100px}}
@media(max-width:850px){.experience{grid-template-columns:1fr}.controls{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.control-heading,.tabs{grid-column:1/-1}.sequence{margin-top:0;height:fit-content}.leave{grid-column:2;align-self:end;margin-top:0}.controls .tabs{max-width:300px}.section-heading{align-items:flex-start;flex-direction:column;gap:16px}.stories{gap:12px}.stories>button{padding:20px}.intro>p{display:none}.location{font-size:10px}.experience.expanded{display:block}.experience.expanded .controls{margin-top:16px}.experience.expanded .room{aspect-ratio:2048/758}.experience.expanded .camera{inset:0;margin:0;height:100%}.scene{flex-basis:90px}.room-status{font-size:9px}.scene-caption p{display:none}}
@media(max-width:540px){header{height:65px}.brand img{width:140px}nav{gap:15px;font-size:11px}.location{display:none}.intro{padding:24px 0}.intro h1{font-size:28px}.intro>div>p{font-size:11px}.viewer-toolbar{padding:8px}.views button{font-size:10px;padding:6px 8px}.room{aspect-ratio:1.5}.camera{top:50%;height:auto;aspect-ratio:2048/758;margin-top:calc(-100% * 758 / 2048 / 2)}.scene-caption h2{font-size:20px}.room-status{left:12px;top:10px}.scenes{padding:12px 10px;gap:6px}.scene{flex-basis:29%;font-size:10px;padding:9px 5px}.playbar{margin:0 12px 15px;gap:8px}.volume{width:75px}.volume label{font-size:9px}.playbar strong{font-size:10px}.playbar span{max-width:150px;font-size:9px}.controls{display:block;padding:20px}.sequence{margin-top:18px}.leave{margin-top:15px}.light-row label{font-size:12px}.light-row{margin-bottom:16px}.living{padding:40px 0}.section-heading h2{font-size:26px}.section-heading p{font-size:13px}.stories{grid-template-columns:1fr}.stories>button{padding:23px}.stories>button>span{display:none}.stories h3{margin:0 0 12px}.stories b{margin-top:18px}.connection h3{font-size:22px}.flow{gap:7px;font-size:10px}.flow span{padding:8px 11px}footer{flex-wrap:wrap}footer img{width:125px}footer p{font-size:10px}.experience.expanded{padding:8px}.experience.expanded .room{aspect-ratio:1.5}.experience.expanded .camera{top:50%;height:auto;aspect-ratio:2048/758;margin-top:calc(-100% * 758 / 2048 / 2)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}html{scroll-behavior:auto}}

#sheerLeftPanel,#sheerRightPanel{filter:brightness(.88)}

#teaPendantLight{transition:opacity 2s cubic-bezier(.45,0,.55,1);pointer-events:none}

#diningDownlights{transition:opacity 2s cubic-bezier(.45,0,.55,1);pointer-events:none}

.recessed-spots{transition:opacity 2s cubic-bezier(.45,0,.55,1);pointer-events:none}
@media(min-width:1000px){#lightControls{max-height:360px;overflow-y:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:#756c58 transparent}}

.zone{filter:brightness(1.02) url(#lightCCT)}.cabinet-image{filter:brightness(1.12) saturate(1.03) url(#lightCCT)}
#teaPendantLight,#diningDownlights,.recessed-spots{filter:url(#lightCCT)}
.cct-control{border-top:1px solid var(--line);padding-top:12px;margin-top:8px}.cct-control label{display:flex;justify-content:space-between;font-size:11px;color:#c5c5ba}.cct-control strong{font-weight:400;color:var(--gold)}.cct-scale,.light-spec{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:var(--muted)}.light-spec{margin-top:12px;flex-wrap:wrap}.light-spec a{color:var(--gold)}#cct{background:linear-gradient(90deg,#ee8b30,#f6d7a4,#edf1ff)}
@media(min-width:1000px){#lightControls{max-height:310px}}

#zone-globe{transition:opacity 2.5s cubic-bezier(.45,0,.55,1);pointer-events:none}#globeShell{transition:filter 3.5s ease}

#globeRoomBounce{transition:opacity 2.5s cubic-bezier(.45,0,.55,1);pointer-events:none}#globeFixture circle{stroke:none}#globeShell{filter:brightness(.4)}

.scenes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.scene{min-width:0}@media(max-width:540px){.scenes{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Primary scenes stay compact; only the active family's variants are shown. */
.scenes{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding-bottom:10px}.scene{padding:9px 5px;font-size:11px;min-height:36px}.scene-variants{display:flex;flex-wrap:wrap;gap:7px;margin:0 16px 13px;padding:12px 0 0;border-top:1px solid var(--line)}.scene-variants button{font-size:11px;padding:7px 13px;border:1px solid #dbc59c36;border-radius:22px;color:#c9c3b6}.scene-variants button[aria-pressed=true]{background:#dbc59c20;border-color:#dbc59c;color:#f1dfbd}.scene-caption{max-width:80%}.scene-caption p{max-width:560px}#readingPool{transition:opacity 3s ease}#tvArt strong{font-size:42px}#tvArt[data-theme=birthday]{background:radial-gradient(ellipse at 70% 80%,#bd8057,transparent 70%),#3c2230}#tvArt[data-theme=party]{background:radial-gradient(ellipse at 65% 45%,#9d552b,transparent 65%),#151323}#tvArt[data-theme=party] .art-orbit{transform:scale(calc(1 + var(--beat,0)));transition:transform .2s}#tvArt[data-theme=christmas]{background:radial-gradient(ellipse at 50% 100%,#d78838,transparent 65%),#19362a}#tvArt[data-theme=eve],#tvArt[data-theme=newyear]{background:radial-gradient(ellipse at 80% 80%,#b7934c,transparent 65%),#382315}
@media(max-width:1200px){.scenes{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:540px){.scenes{grid-template-columns:repeat(3,minmax(0,1fr))}.scene{font-size:10px}.scene svg{display:none}.scene-variants{margin:0 10px 12px}.scene-variants button{font-size:10px;padding:7px 10px}}

#zone-globe{filter:none}.globe-temperature{font-size:10px;color:var(--gold);margin-top:9px}
