:root{color-scheme:dark;--gold:#dbc18c;--paper:#f3efe7;--muted:#a59f94;font-family:Arial,Helvetica,sans-serif;background:#08090b;color:var(--paper)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,#plan-view:focus-visible{outline:2px solid #efdbb3;outline-offset:5px}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}#experience{position:relative;width:100%;height:100%;isolation:isolate;background:#000}#panorama,#flight,#flight-background,#intro-layer,#map-flight{position:absolute;inset:0;width:100%;height:100%}#panorama{z-index:0;opacity:0;pointer-events:none}#flight-background{z-index:1;background:#000;opacity:0;pointer-events:none;transition:opacity .4s}#flight{z-index:2;object-fit:contain;background:transparent;opacity:0;pointer-events:none;transition:opacity .35s}#intro-layer{z-index:3;background:#08090b;transition:opacity .25s}#map-flight{z-index:4;pointer-events:none;visibility:hidden;overflow:hidden;perspective:1200px;perspective-origin:50% 50%}#flight-plan-image{position:absolute;left:0;top:0;width:1600px;height:870px;max-width:none;transform-origin:0 0;will-change:transform,opacity}.brand-row{position:absolute;top:max(24px,env(safe-area-inset-top));left:5.5%;right:5.5%;display:flex;align-items:center;justify-content:space-between;z-index:2}.brand{font-family:Georgia,serif;font-size:34px;letter-spacing:6px;line-height:1}.brand span{display:block;margin:9px 0 0 7px;font:8px Arial,sans-serif;letter-spacing:7px;color:var(--gold)}.test-tag{font-size:8px;letter-spacing:2px;color:#bab4a7;display:flex;align-items:center;gap:7px}.test-tag i{width:4px;height:4px;border-radius:50%;background:var(--gold)}.intro-copy{position:absolute;top:20px;left:25%;right:25%;text-align:center;pointer-events:none}.eyebrow{font-size:8px;letter-spacing:3px;color:var(--gold);margin:0 0 9px}h1{font:400 35px/1.08 Georgia,serif;letter-spacing:-.8px;margin:0 0 8px}h1 em{font-weight:400;color:#d4ba85}.intro-copy>p:last-child{font-size:10px;color:#bdb5a7;margin:0;letter-spacing:.2px}#plan-view{position:absolute;left:5%;right:5%;top:125px;bottom:96px;overflow:hidden;border-radius:16px;touch-action:none;cursor:grab;outline-offset:-4px}#plan-view.dragging{cursor:grabbing}#plan-world{position:absolute;left:0;top:0;width:1600px;height:870px;transform-origin:0 0;will-change:transform;opacity:0}#plan-image{position:absolute;inset:0;width:1600px;height:870px;max-width:none;user-select:none;-webkit-user-drag:none;border-radius:8px}#regions{position:absolute;inset:0;width:1600px;height:870px}.region{pointer-events:all}.region.active{fill:#d6b67515;stroke:#b99348;cursor:pointer;transition:fill .2s}.region.active:hover,.region.active.selected{fill:#e2bd6a35;stroke:#e4c078}.region.inactive{fill:#11182025;stroke:#8c8a8155;cursor:default}#plan-labels{position:absolute;inset:0;pointer-events:none;visibility:hidden}.plan-label{position:absolute;z-index:2;transform:translate(-50%,-50%);pointer-events:auto;width:110px;min-height:47px;background:#15130feb;border:1px solid #d5b67d;color:#f7e5c1;border-radius:7px;box-shadow:0 4px 16px #0004;padding:7px 8px;display:flex;justify-content:space-between;align-items:center;gap:8px;user-select:none}.plan-label strong{font:400 19px Georgia,serif}.plan-label span{font-size:9px;color:#d3bb8d}.plan-label b{font-size:14px;font-weight:400}.plan-label:hover{background:#2b2418}.fit{position:absolute;z-index:3;right:12px;bottom:12px;min-height:40px;padding:9px 12px;border:1px solid #d8bd8460;border-radius:6px;color:#ead5aa;background:#14120ff2;font-size:10px}.fit span{font-size:17px;margin-left:10px}#plan-loading{position:absolute;top:45%;left:0;right:0;text-align:center;color:#a99c81;font-size:12px}body[data-map-ready=true] #plan-world{opacity:1}body[data-map-ready=true] #plan-labels{visibility:visible}body[data-map-ready=true] #plan-loading{display:none}.plan-footer{position:absolute;left:5%;right:5%;bottom:max(20px,env(safe-area-inset-bottom));text-align:center}.legend{font-size:10px;letter-spacing:.4px;margin:0 0 8px;display:flex;justify-content:center;align-items:center;gap:8px;color:#ddcaa4}.legend i{width:14px;height:9px;border:1px solid #d5b67d;background:#d5b67d20;border-radius:2px}#map-help{font-size:10px;color:#bcb3a3;margin:0 0 8px}.plan-footer small{font-size:9px;color:#77766e}.flight-caption{position:absolute;z-index:5;bottom:8%;left:50%;transform:translateX(-50%);width:240px;text-align:center;opacity:0;pointer-events:none;transition:opacity .25s}.flight-caption span{font-size:9px;letter-spacing:2px;color:#e4d7be}.progress{height:1px;background:#ffffff26;margin-top:18px;overflow:hidden}.progress i{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}.tour-top{position:absolute;z-index:6;top:max(22px,env(safe-area-inset-top));left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;gap:12px;opacity:0;visibility:hidden;transition:opacity .35s}.back,.square{color:#fff8e9;border:1px solid #d8bd845c;background:#11100eeb;border-radius:5px;min-height:43px}.back{padding:9px 14px;font-size:11px;display:flex;align-items:center;gap:10px}.back>span{font-size:20px;color:var(--gold)}.square{font-size:26px;width:44px}.room{font-size:9px;letter-spacing:2px;color:#f7edda;text-shadow:0 1px 8px #000;display:flex;gap:12px;align-items:center}.room i{height:1px;width:14px;background:var(--gold)}.tour-bottom{position:absolute;z-index:6;left:5%;right:5%;bottom:max(27px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:16px;opacity:0;visibility:hidden;transition:opacity .35s;font-size:11px}.tour-bottom p{margin:0;color:#e5d7bf;text-shadow:0 1px 6px #000}.tour-bottom a{background:#10100eed;border:1px solid #d8bd845c;border-radius:5px;padding:13px 16px;color:#f1dcb1;white-space:nowrap}.gyro{position:absolute;z-index:6;right:5%;top:46%;border:1px solid #d8bd845c;border-radius:8px;background:#15130ff0;color:#edd7aa;padding:13px 10px;display:flex;align-items:center;flex-direction:column;gap:6px;opacity:0;visibility:hidden;font-size:10px;line-height:1.4}.gyro svg{width:27px;height:31px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.gyro[aria-pressed=true]{background:#d8bd84;color:#17130e}#status,#gyro-status{position:absolute;z-index:10;bottom:17%;left:50%;transform:translateX(-50%);background:#14120ff5;border:1px solid #d8bd845c;color:#eadbc0;border-radius:7px;max-width:min(88vw,430px);padding:12px 17px;text-align:center;font-size:12px;line-height:1.5}.nojs{position:absolute;z-index:12;bottom:20%;left:10%;right:10%;text-align:center}.pnlm-load-box,.pnlm-lbox,.pnlm-about-msg{display:none!important}.pnlm-container{background:#000}body[data-state=loading] #plan-view{pointer-events:none}body[data-state=loading] .plan-label{opacity:.6}body[data-state=flying] #intro-layer,body[data-state=waiting] #intro-layer,body[data-state=tour] #intro-layer{opacity:0;pointer-events:none}body[data-state=flying] #flight-background,body[data-state=waiting] #flight-background{opacity:1}body[data-state=flying] #panorama,body[data-state=waiting] #panorama,body[data-state=tour] #panorama{opacity:1}body[data-state=flying] .flight-caption,body[data-state=waiting] .flight-caption{opacity:1}body[data-state=tour] #panorama{pointer-events:auto}body[data-state=tour] .tour-top,body[data-state=tour] .tour-bottom,body[data-state=tour] .gyro{visibility:visible;opacity:1}
@media(max-width:700px) and (orientation:portrait){.brand-row{top:max(23px,env(safe-area-inset-top));left:7%;right:7%}.brand{font-size:29px}.test-tag{font-size:7px;letter-spacing:1.4px}.intro-copy{top:118px;left:6%;right:6%}h1{font-size:35px}.intro-copy>p:last-child{font-size:10px;line-height:1.5}.eyebrow{font-size:8px}#plan-view{left:3%;right:3%;top:220px;bottom:145px;border-radius:12px}.plan-footer{bottom:max(33px,env(safe-area-inset-bottom));left:5%;right:5%}.legend{font-size:9px;letter-spacing:0;gap:6px}#map-help{font-size:9px;line-height:1.5}.plan-footer small{font-size:8px}.plan-label{width:78px;min-height:44px;flex-direction:column;justify-content:center;gap:1px;padding:4px 5px}.plan-label strong{font-size:15px}.plan-label span{font-size:8px}.plan-label b{font-size:11px}.fit{right:4px;bottom:4px}.room{font-size:8px;gap:7px;letter-spacing:1px}.room i{width:8px}.back{font-size:10px;padding:8px 10px;gap:5px}.tour-bottom p{font-size:10px;max-width:155px;line-height:1.5}.tour-bottom a{padding:12px;font-size:10px}.gyro{right:5%;padding:10px 8px;font-size:9px}.flight-caption{bottom:9%}}
@media(max-height:670px) and (orientation:portrait){.intro-copy{top:92px}h1{font-size:29px}.eyebrow{display:none}#plan-view{top:165px;bottom:110px}.brand-row{top:17px}.plan-footer{bottom:20px}}@media(max-height:500px) and (orientation:landscape){.brand-row{top:15px}.brand{font-size:24px}.brand span{font-size:6px}.intro-copy{top:12px}h1{font-size:26px}.eyebrow{display:none}.intro-copy>p:last-child{font-size:9px}#plan-view{top:75px;bottom:62px}.plan-footer{bottom:10px}.plan-footer small{display:none}.legend,#map-help{font-size:8px;margin-bottom:5px}.plan-label{min-height:40px;width:100px}.plan-label strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
#flight{background:#000}#flight-background{transition:none}body[data-state=flying] #flight{transition:none}
.plan-label{background:#15130f}
body[data-state=flying][data-map-phase=zoom] .flight-caption{opacity:0}

/* P4 apartment selection. One selected contour stays visible before entry. */
.intro-copy{pointer-events:auto}.apartment-choices{display:flex;justify-content:center;gap:7px;margin-top:14px}.apartment-choice{min-width:76px;min-height:48px;border:1px solid #504735;border-radius:7px;padding:7px 12px;background:#141411;color:#c7bdab;display:flex;flex-direction:column;gap:4px;align-items:center}.apartment-choice span{font-size:9px}.apartment-choice strong{font-size:12px;font-weight:400}.apartment-choice[aria-pressed=true]{background:#ddc18a;border-color:#f0d9ab;color:#1b170e;box-shadow:0 0 20px #d7b16b18}.apartment-choice:hover{border-color:#e1c790}#plan-view{top:178px;bottom:106px}.region.active{fill:#10101010;stroke:#8f7b54}.region.active.selected{fill:#eec25559;stroke:#ffe6aa;filter:drop-shadow(0 0 7px #edc475)}.plan-label{width:95px;min-height:43px}.plan-label.chosen{background:#e4c68b;color:#211a10;border-color:#ffe9bc}.plan-label.chosen span{color:#42351b}.selected-apartment{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:13px}.selected-apartment p{font:19px Georgia,serif;color:#eee1c8;margin:0}#enter-selected{min-height:44px;padding:11px 25px;border:1px solid #e2c48e;border-radius:6px;background:#dec38f;color:#201b12;font-size:12px}#enter-selected span{margin-left:18px}#map-help{margin-bottom:0}
@media(max-width:700px) and (orientation:portrait){.intro-copy{top:110px;left:4%;right:4%}.apartment-choices{gap:5px;margin-top:15px}.apartment-choice{min-width:0;flex:1;max-width:80px;min-height:49px;padding:7px 3px}.apartment-choice span{font-size:8px}.apartment-choice strong{font-size:11px}#plan-view{top:263px;bottom:137px;left:2%;right:2%}.plan-label{width:65px;min-height:39px}.plan-label strong{font-size:13px}.plan-label span{font-size:8px}.selected-apartment{gap:15px}.selected-apartment p{font-size:17px}.plan-footer{bottom:max(29px,env(safe-area-inset-bottom))}#enter-selected{padding:11px 20px}}
@media(max-height:670px) and (orientation:portrait){.intro-copy{top:88px}.apartment-choices{margin-top:10px}.apartment-choice{min-height:44px}#plan-view{top:211px;bottom:114px}.plan-footer{bottom:20px}.selected-apartment{margin-bottom:9px}}
@media(max-height:500px) and (orientation:landscape){.intro-copy{top:10px;left:20%;right:20%}.intro-copy>p{display:none}.intro-copy h1{font-size:24px;margin-bottom:5px}.apartment-choices{margin-top:4px;gap:5px}.apartment-choice{min-height:34px;min-width:67px;padding:3px 8px;gap:2px}.apartment-choice span{font-size:7px}.apartment-choice strong{font-size:10px}#plan-view{top:98px;bottom:65px}.plan-label{width:75px;min-height:35px}.plan-label strong{font-size:14px}.selected-apartment{margin-bottom:4px}.selected-apartment p{font-size:15px}#enter-selected{min-height:33px;padding:7px 20px}.plan-footer{bottom:7px}#map-help{font-size:8px}}

.plan-label strong{white-space:nowrap;font-size:17px}@media(max-width:700px){.plan-label strong{font-size:13px}}
.intro-copy{z-index:2}.plan-label{flex-direction:column;justify-content:center;gap:1px;padding:4px 5px}.plan-label span{font-size:8px}
@media(max-width:700px) and (orientation:portrait){#plan-view{top:280px}}
@media(max-height:670px) and (orientation:portrait){#plan-view{top:245px}}

/* P5: the map and start control share one layout block. */
#intro-layer{display:flex;flex-direction:column;align-items:center;padding:22px 5% 20px;overflow:auto}
.brand-row{position:relative;inset:auto;width:100%;height:76px;min-height:76px;align-items:flex-start}
.brand{display:block;line-height:0;letter-spacing:0}.brand img{display:block;width:78px;height:auto;object-fit:contain}
.test-tag{margin-top:22px}
.intro-copy{position:relative;inset:auto;margin:-76px 0 16px;max-width:70%;width:100%;min-height:0;flex:0 0 auto}
.intro-copy>p:not(.eyebrow){font-size:12px;margin:0;line-height:1.5}
.intro-copy h1{font-size:38px}.intro-copy>p{line-height:1.5}.apartment-choices{margin-top:13px}
.plan-block{width:100%;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}
#plan-view{position:relative;inset:auto;width:100%;height:min(49vw,calc(100dvh - 330px));min-height:140px;max-height:570px;flex-shrink:0;margin:0}
.plan-footer{position:relative;inset:auto;width:100%;flex-shrink:0;margin:0;text-align:center}
.selected-apartment{flex-direction:column;gap:9px;margin:0 0 10px}.selected-apartment p{font:17px Georgia,serif;color:#f3efe7}
#enter-selected{display:flex;align-items:center;justify-content:center;gap:12px;min-height:55px;width:min(100%,310px);padding:14px 24px;border:1px solid #70f2a1;border-radius:10px;background:#28d768;color:#062c14;font-size:17px;font-weight:700;box-shadow:0 5px 25px #19c5632b}
#enter-selected span{margin:0;font-size:13px}#enter-selected:hover{background:#59ed8c}#enter-selected:disabled{opacity:.55;cursor:default;box-shadow:none}
.region.active{fill:#00000008;stroke:var(--apt-color);filter:none}.region.active:hover{fill:#ffffff12;stroke:var(--apt-color)}
.region.active.selected{fill:var(--apt-color);fill-opacity:.58;stroke:var(--apt-color);filter:drop-shadow(0 0 5px var(--apt-color))}
.apartment-choice{border-color:#665f54;position:relative;border-bottom:3px solid var(--apt-color)}
.apartment-choice[aria-pressed=true]{background:var(--apt-color);border-color:var(--apt-color);color:#101315;box-shadow:0 0 18px #ffffff15}
.apartment-choice:hover{border-color:var(--apt-color)}
.plan-label{border-color:var(--apt-color)}.plan-label.chosen{background:var(--apt-color);border-color:#ffffff;color:#101315;box-shadow:0 2px 20px #0008}.plan-label.chosen span{color:#101315}
.plan-label{width:auto;min-width:64px;min-height:30px;padding:6px 12px;border-radius:7px;background:#151515f5;border-width:1px;box-shadow:0 3px 10px #0005}.plan-label strong{font:400 15px Georgia,serif;white-space:nowrap}
@media(max-width:700px) and (orientation:portrait){
 #intro-layer{padding:18px 2% 22px}.brand-row{width:90%;height:76px;min-height:76px}.brand img{width:65px}.test-tag{margin-top:18px}
 .intro-copy{margin:14px 0 12px;max-width:96%;min-height:0}.intro-copy h1{font-size:35px}.eyebrow{display:none}.intro-copy>p{font-size:10px}
 .apartment-choices{margin-top:13px}.apartment-choice{min-height:49px}.plan-block{gap:16px;min-height:330px}
 #plan-view{height:52.2vw;min-height:0;max-height:none;width:100%}.plan-footer{width:94%}.selected-apartment p{font-size:17px}#enter-selected{width:min(100%,310px);min-height:56px;font-size:17px}
 .plan-label{width:auto;min-width:48px;min-height:25px;padding:5px 7px;border-radius:6px}.plan-label strong{font-size:12px}
}
@media(max-height:670px) and (orientation:portrait){
 #intro-layer{padding-top:12px;padding-bottom:15px}.brand-row{height:57px;min-height:57px}.brand img{width:58px}.intro-copy{margin:8px 0 8px}.intro-copy h1{font-size:30px}.plan-block{min-height:305px;gap:12px}.apartment-choices{margin-top:10px}.apartment-choice{min-height:45px}.selected-apartment{gap:7px}
}
@media(max-height:500px) and (orientation:landscape){
 #intro-layer{padding:10px 4% 8px}.brand-row{height:60px;min-height:60px}.brand img{width:58px}.test-tag{margin-top:12px}
 .intro-copy{margin-top:-60px;max-width:66%;min-height:82px}.intro-copy h1{font-size:25px;margin-bottom:4px}.intro-copy>p{display:none}.apartment-choices{margin-top:3px}.apartment-choice{min-height:36px}
 .plan-block{gap:8px}#plan-view{height:min(50vw,calc(100dvh - 175px));min-height:100px}.selected-apartment{flex-direction:row;margin-bottom:5px;gap:16px}.selected-apartment p{font-size:15px}#enter-selected{min-height:43px;width:205px;font-size:14px;padding:9px 16px}#map-help{font-size:8px}
 .plan-label{width:auto;min-width:52px;min-height:25px;padding:5px 8px}.plan-label strong{font-size:12px}
}


/* P7: selection prompt stays legible before the tour can start. */
#enter-selected #enter-label{font:inherit;margin:0}
#enter-selected.awaiting-selection,#enter-selected.awaiting-selection:hover,#enter-selected.awaiting-selection:disabled{background:#18150e;color:#e8c777;border-color:#be9851;opacity:1;box-shadow:none;cursor:default}
@media(max-height:500px) and (orientation:landscape){#enter-selected.awaiting-selection{font-size:13px;padding-inline:10px}}

/* Explicit custom button paint, including the unavailable selection prompt. */
#enter-selected,#enter-selected:hover{appearance:none;-webkit-appearance:none;color-scheme:dark;background:#28d768 url('media/button-green.svg') center/100% 100% no-repeat;color:#062c14;-webkit-text-fill-color:#062c14;border:1px solid #80ffad;box-shadow:0 5px 24px #1cd36d40;opacity:1}
#enter-selected #enter-label,#enter-selected #enter-icon{-webkit-text-fill-color:inherit}
#enter-selected.awaiting-selection,#enter-selected.awaiting-selection:hover,#enter-selected.awaiting-selection:disabled{background:#efbf49 url('media/button-gold.svg') center/100% 100% no-repeat;color:#2a1c03;-webkit-text-fill-color:#2a1c03;border:1px solid #ffe9a8;box-shadow:0 5px 24px #efb63436;opacity:1;cursor:default}
#enter-selected:active:not([aria-disabled=true]){transform:translateY(1px)}
.apartment-choice{appearance:none;-webkit-appearance:none;color-scheme:dark;background-image:linear-gradient(#1d1c19,#121311);-webkit-text-fill-color:currentColor}
.apartment-choice[aria-pressed=true]{background-image:none}
@media(prefers-color-scheme:dark){:root{color-scheme:dark}#enter-selected,.apartment-choice{color-scheme:dark}}
@media(forced-colors:active){#enter-selected,#enter-selected.awaiting-selection{background-image:none;-webkit-text-fill-color:ButtonText;color:ButtonText;border-color:ButtonText}}

#full-tour-frame{display:block;width:100%;height:100%;border:0;background:#000}body[data-state=tour] #intro-layer{visibility:hidden}#panorama{overflow:hidden}
