:root{--black:#070808;--gold:#d69d28;--gold-light:#f1ca62;--white:#fff;--panel:rgba(8,9,9,.9);--line:rgba(255,255,255,.16);--head:"Montserrat",sans-serif;--body:"Manrope",sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden;background:#111;color:#fff;font-family:var(--body)}button,a{font:inherit}.viewer-shell{position:relative;width:100%;height:100%;overflow:hidden;background:#151719;isolation:isolate}#panorama{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none}#panorama.dragging{cursor:grabbing}.viewer-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.42),transparent 22%,transparent 68%,rgba(0,0,0,.5)),linear-gradient(90deg,rgba(0,0,0,.28),transparent 32%);z-index:1}.tour-header{position:absolute;z-index:5;left:0;right:0;top:0;height:82px;padding:8px clamp(18px,3vw,48px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(5,6,6,.9),rgba(5,6,6,.56));backdrop-filter:blur(10px)}.tour-logo img{width:118px;height:62px;object-fit:contain}.tour-heading{padding-left:24px;border-left:1px solid rgba(214,157,40,.55)}.tour-heading span,.tour-heading strong{display:block}.tour-heading span{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#aeb0ad}.tour-heading strong{font:700 15px var(--head);letter-spacing:.02em}.tour-actions{display:flex;gap:9px}.tour-actions button{height:40px;padding:0 15px;border:1px solid var(--line);background:rgba(0,0,0,.28);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.tour-actions button:last-child{border-color:rgba(214,157,40,.6);color:var(--gold-light)}.rooms-toggle{position:absolute;z-index:7;left:26px;top:105px;border:1px solid rgba(214,157,40,.55);background:rgba(6,7,7,.82);color:#fff;padding:10px 15px;display:flex;align-items:center;gap:10px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;backdrop-filter:blur(8px)}.rooms-icon{color:var(--gold-light);font-size:18px}.room-panel{position:absolute;z-index:6;top:153px;left:26px;width:292px;max-height:calc(100% - 245px);overflow:auto;background:var(--panel);border:1px solid rgba(214,157,40,.35);backdrop-filter:blur(14px);transform:translateX(calc(-100% - 40px));opacity:0;pointer-events:none;transition:transform .3s ease,opacity .3s ease}.room-panel.open{transform:none;opacity:1;pointer-events:auto}.room-panel-head{padding:20px 20px 14px;border-bottom:1px solid var(--line)}.room-panel-head span,.room-panel-head strong{display:block}.room-panel-head span{color:var(--gold);font-size:9px;text-transform:uppercase;letter-spacing:.18em}.room-panel-head strong{font:700 17px var(--head);margin-top:2px}.room-list{padding:8px}.room-button{width:100%;display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;padding:12px 10px;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;color:#fff;text-align:left;cursor:pointer}.room-button>span{font:700 10px var(--head);color:#70736f}.room-button b,.room-button small{display:block}.room-button b{font:600 12px var(--head)}.room-button small{font-size:9px;color:#858884;margin-top:2px}.room-button:hover,.room-button.active{background:rgba(214,157,40,.12)}.room-button.active>span,.room-button.active b{color:var(--gold-light)}.back-link{display:block;margin:8px;padding:14px 10px;color:#aaa;text-decoration:none;font-size:9px;text-transform:uppercase;letter-spacing:.12em;border-top:1px solid var(--line)}.look-hint{position:absolute;z-index:4;left:50%;bottom:28px;transform:translateX(-50%);display:grid;grid-template-columns:28px auto;grid-template-rows:auto auto;column-gap:10px;padding:10px 16px;background:rgba(5,6,6,.7);border:1px solid var(--line);backdrop-filter:blur(8px);pointer-events:none;transition:opacity .35s}.look-hint.hide{opacity:0}.look-hint>span{grid-row:1/3;color:var(--gold-light);font-size:22px}.look-hint b{font-size:9px;text-transform:uppercase;letter-spacing:.12em}.look-hint small{font-size:8px;color:#aaa}.brand-stamp{position:absolute;z-index:4;right:26px;bottom:25px;display:flex;align-items:center;gap:12px;padding:7px 14px;background:rgba(5,6,6,.7);border:1px solid rgba(214,157,40,.32);pointer-events:none}.brand-stamp img{width:54px;height:38px;object-fit:contain}.brand-stamp span{color:var(--gold-light);font-size:8px;text-transform:uppercase;letter-spacing:.14em}.loading-screen{position:absolute;z-index:20;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#151718 0,#070808 68%);transition:opacity .55s,visibility .55s}.loading-screen.done{opacity:0;visibility:hidden}.loading-screen img{width:180px;height:130px;object-fit:contain}.loading-screen>span{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:#aaa}.loading-line{width:210px;height:2px;background:#272828;margin:18px 0 13px;overflow:hidden}.loading-line i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-light));transition:width .25s}.unsupported{position:absolute;z-index:30;inset:0;padding:30px;background:#080909;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.unsupported[hidden]{display:none}.unsupported img{width:160px}.unsupported h1{font:700 26px var(--head)}.unsupported p{color:#aaa}.unsupported a{color:var(--gold-light)}.viewer-shell:fullscreen{width:100vw;height:100vh}
@media(max-width:700px){.tour-header{height:68px;padding:5px 13px;grid-template-columns:auto 1fr auto;gap:10px}.tour-logo img{width:86px;height:54px}.tour-heading{padding-left:10px}.tour-heading span{display:none}.tour-heading strong{font-size:11px}.tour-actions button:first-child{display:none}.tour-actions button{height:36px;padding:0 10px;font-size:8px}.rooms-toggle{left:12px;top:83px}.room-panel{left:12px;top:131px;width:min(292px,calc(100% - 24px));max-height:calc(100% - 200px)}.brand-stamp{right:12px;bottom:13px}.brand-stamp span{display:none}.look-hint{bottom:72px}.viewer-vignette{background:linear-gradient(180deg,rgba(0,0,0,.4),transparent 20%,transparent 75%,rgba(0,0,0,.42))}}
@media(max-height:620px){.room-panel{max-height:calc(100% - 180px)}.room-button{padding:8px 10px}.room-panel-head{padding:12px 18px}.look-hint{display:none}}
@media(prefers-reduced-motion:reduce){.room-panel,.look-hint,.loading-screen{transition:none}}

/* Tour modes and persistent tool bar */
.tour-modes{display:flex;align-items:center;gap:8px;margin-left:auto}.tour-modes button,.tour-actions button{min-height:40px;padding:0 15px;border:1px solid rgba(255,255,255,.18);background:rgba(9,10,10,.5);color:#fff;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.tour-modes button:hover,.tour-actions button:hover,.tour-modes button[aria-pressed="true"]{border-color:var(--gold);color:var(--gold-light);background:rgba(212,154,37,.1)}.mode-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#777;margin-right:5px}.tour-modes button[aria-pressed="true"] .mode-dot{background:var(--gold-light);box-shadow:0 0 0 4px rgba(240,200,91,.12)}
.tour-toolbar{position:absolute;z-index:8;left:50%;bottom:18px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,minmax(112px,1fr));background:rgba(8,9,9,.9);border:1px solid rgba(212,154,37,.32);box-shadow:0 14px 38px rgba(0,0,0,.34);backdrop-filter:blur(14px)}.tour-toolbar button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:0 16px;border:0;border-right:1px solid rgba(255,255,255,.12);background:transparent;color:#d5d6d4;cursor:pointer}.tour-toolbar button:last-child{border-right:0}.tour-toolbar button:hover,.tour-toolbar button:focus-visible{background:rgba(212,154,37,.12);color:var(--gold-light)}.tour-toolbar button>span{color:var(--gold-light);font-size:18px}.tour-toolbar b{font-size:10px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.sound-bars{height:18px;width:18px;display:flex;align-items:center;justify-content:center;gap:2px}.sound-bars i{display:block;width:2px;height:6px;background:currentColor}.music-active .sound-bars i{animation:sound-wave .75s ease-in-out infinite alternate}.music-active .sound-bars i:nth-child(2){animation-delay:-.4s;height:13px}.music-active .sound-bars i:nth-child(3){animation-delay:-.2s;height:9px}@keyframes sound-wave{to{height:16px}}
.look-hint{bottom:88px}.brand-stamp{bottom:88px}
.tour-dialog{width:min(880px,calc(100vw - 36px));max-height:min(760px,calc(100vh - 40px));padding:42px;border:1px solid rgba(212,154,37,.42);background:#101111;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.7)}.tour-dialog::backdrop{background:rgba(0,0,0,.74);backdrop-filter:blur(6px)}.dialog-close{position:absolute;top:13px;right:16px;width:40px;height:40px;border:0;background:transparent;color:#fff;font-size:31px;cursor:pointer}.dialog-kicker{margin:0 0 8px;color:var(--gold-light);font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.tour-dialog h2{margin:0;font:700 clamp(26px,4vw,42px)/1.08 var(--head);letter-spacing:-.03em}.dialog-intro,.floorplan-copy>p:not(.dialog-kicker){color:#aeb0ad}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:28px 0;background:#343535;border:1px solid #343535}.product-item{min-height:94px;padding:18px;background:#181919}.product-item b,.product-item span{display:block}.product-item b{font:700 14px var(--head)}.product-item span{margin-top:5px;color:#969996;font-size:11px}.dialog-note{margin:0;color:#797c79;font-size:10px}.floorplan-dialog{width:min(1050px,calc(100vw - 36px));grid-template-columns:.7fr 1.3fr;gap:34px;align-items:center}.floorplan-dialog[open]{display:grid}.floorplan-image{padding:16px;background:#fff}.floorplan-image img{width:100%;max-height:66vh;object-fit:contain}.plan-room-list{display:grid;gap:8px;margin-top:28px}.plan-room-list button{padding:12px 14px;border:1px solid #3c3e3c;background:#171818;color:#fff;text-align:left;cursor:pointer;font-size:12px;font-weight:700}.plan-room-list button:hover{border-color:var(--gold);color:var(--gold-light)}
@media(max-width:1040px){.tour-heading{display:none}.tour-modes{margin-left:0}.tour-toolbar{bottom:12px}.look-hint,.brand-stamp{bottom:82px}}
@media(max-width:720px){.tour-header{height:auto;min-height:72px;padding:8px 12px;gap:8px;display:flex;flex-wrap:wrap}.tour-logo img{width:78px}.tour-modes{order:3;width:100%;justify-content:center}.tour-modes button{flex:1}.tour-actions{margin-left:auto}.tour-actions #reset-view{display:none}.tour-actions button{padding:0 10px}.rooms-toggle{top:126px}.room-panel{top:174px;bottom:70px}.tour-toolbar{left:8px;right:8px;bottom:8px;transform:none;grid-template-columns:repeat(4,1fr)}.tour-toolbar button{min-width:0;min-height:54px;padding:5px;flex-direction:column;gap:2px}.tour-toolbar b{font-size:8px}.tour-toolbar button>span{font-size:15px}.look-hint,.brand-stamp{display:none}.tour-dialog{padding:36px 20px}.product-grid{grid-template-columns:1fr}.floorplan-dialog[open]{display:block}.floorplan-image{margin-top:24px}.plan-room-list{grid-template-columns:1fr 1fr}}

/* Keep the logo, tour tagline and controls in separate columns. */
@media(min-width:1041px){.tour-header{grid-template-columns:auto minmax(180px,1fr) auto auto}.tour-modes{margin-left:0}.tour-heading{min-width:0}}
@media(min-width:721px) and (max-width:1040px){.tour-header{grid-template-columns:auto 1fr auto}.tour-modes{justify-self:start}.tour-actions{justify-self:end}}
