/* Full-screen architectural explorer; original CAD image alone is inverted. */
body.unit-explorer-active.explorer-in-view .header{visibility:hidden;pointer-events:none}
.plan-open .explorer-bottom,.plan-open .chapter-dots,.plan-open .journey-bottom{display:none}
.plan-panel{inset:0;display:block;padding:0;overflow:hidden;background:#171e25;color:#f4f1ed;isolation:isolate}
.plan-panel:before,.unit-dialog:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(#171e25ce,#171e25e8),url('assets/journey-plaza-v9-ending.webp') center/cover;pointer-events:none}
.plan-panel:after,.unit-dialog:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#ccd7e809 1px,transparent 1px),linear-gradient(90deg,#ccd7e809 1px,transparent 1px);background-size:110px 110px;pointer-events:none}
.plan-heading{position:absolute;inset:32px 5.5% auto;display:block;min-height:0;z-index:3;pointer-events:none}
.plan-heading button{pointer-events:auto}
.plan-heading>.explorer-back{background:none;border:0;color:#d8dce1;display:flex;align-items:center;gap:15px;padding:9px 0;min-height:44px;font-size:12px;letter-spacing:1px;text-transform:uppercase}
.plan-heading>.explorer-back>span:first-child{font-size:24px}
.plan-heading>div:not(.plan-tools){margin-top:22px;display:block}
.plan-heading .explorer-eyebrow{font-size:11px;color:#afb7c3;letter-spacing:1.6px}
.plan-heading h2{font-size:clamp(35px,4.5vw,66px);margin:13px 0 0;line-height:1.14;font-weight:400}
html[lang=en] .plan-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,4.5vw,66px)}
.plan-heading .plan-tools{position:absolute;bottom:auto;top:10px;right:0;display:flex;direction:ltr;gap:8px;margin:0}
html[dir=rtl] .plan-heading .plan-tools{left:0;right:auto}
.plan-tools button{height:44px;width:44px;padding:0;border:1px solid #a1acba50;background:#1b242e9c;color:#f5f2ee;border-radius:50%;font-size:23px}
.plan-tools #resetPlan{width:auto;min-width:90px;border-radius:22px;padding:0 15px;font-size:11px}
.plan-tools button:disabled{opacity:.35;cursor:default}
.plan-language{position:absolute;top:78px;right:0;min-width:44px;min-height:44px;background:none;color:#fff;border:1px solid #a1acba40;border-radius:50%;font-size:12px}
html[dir=rtl] .plan-language{left:0;right:auto}
.plan-layout{display:block;position:absolute;inset:235px 17% 125px 6%;margin:0;height:auto;min-height:0}
.plan-column{height:100%;display:block;min-height:0;position:relative}
.plan-viewport{position:absolute;inset:0;background:transparent;padding:0;min-height:0;border:0;border-radius:0;overflow:hidden;touch-action:none;cursor:grab}
.plan-viewport:active{cursor:grabbing}
.plan-viewport svg{width:100%;height:100%;display:block;max-width:none;filter:none;transform-origin:center}
#planImage{filter:url(#cadInk)}
.plan-unit{fill:transparent;fill-opacity:0;stroke:transparent;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:all;transition:fill .15s,fill-opacity .15s,stroke .15s}
.plan-unit:hover,.plan-unit:focus-visible{fill:#9771ac;fill-opacity:.45;stroke:#c6abd9;stroke-width:1.5;outline:0}
.plan-floor-tabs{position:absolute;right:3%;left:auto;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;margin:0;width:108px;z-index:4;direction:ltr}
.plan-floor-tabs button{background:none;border:0;color:#abb2bc;min-height:48px;padding:6px 0 6px 20px;text-align:start;position:relative;display:flex;align-items:center;gap:12px;font-size:13px}
.plan-floor-tabs button:before{content:'';position:absolute;left:-6px;top:50%;width:18px;height:1px;background:#eee;opacity:0;transition:opacity .2s}
.plan-floor-tabs button[aria-pressed=true]{color:#fff;background:none;border:0}
.plan-floor-tabs button[aria-pressed=true]:before{opacity:1}
.rail-code{font-family:Avenir,Arial,sans-serif;font-size:20px;letter-spacing:2px;width:28px}
.rail-name{font-size:10px;line-height:1.4;max-width:70px;direction:inherit}
html[dir=rtl] .rail-name{direction:rtl}
.plan-meta{position:absolute;inset:auto 0 -38px;text-align:center;justify-content:center;font-size:11px;color:#a9b2bf;line-height:1.6;padding:0;pointer-events:none}
.plan-mode-controls,.unit-view-switch{display:flex;gap:0;direction:inherit;border:1px solid #c9d2df50;border-radius:30px;padding:4px;width:max-content;max-width:100%;background:#1b2531a8}
.plan-mode-controls{position:absolute;bottom:-98px;left:50%;transform:translateX(-50%);z-index:2}
.plan-mode-controls button,.unit-view-switch button{background:transparent;color:#c2c8d2;min-height:44px;padding:10px 22px;border-radius:24px;font-size:12px;white-space:nowrap}
.plan-mode-controls button[aria-pressed=true],.unit-view-switch button[aria-pressed=true]{background:#f3efeb;color:#27212d}
.unit-details{position:absolute;bottom:24px;left:5.5%;width:230px;max-height:none;padding:0;background:none;overflow:visible;display:block}
.unit-details>.explorer-eyebrow,.unit-details>h3,.unit-details>p,.unit-details>.unit-facts,.unit-details>.unit-crop{display:none}
.unit-details #unitSelectLabel{display:block;margin:0;max-width:100%;font-size:10px;color:#b9c1cc}
#unitSelect{display:block;margin-top:8px;width:100%;max-width:100%;min-height:44px;border:1px solid #bac4d350;border-radius:3px;padding:10px 12px;background:#202a35;color:#f5f3ed;font:13px Avenir,Tajawal,Arial,sans-serif}
#unitSelect option{background:#202a35;color:#fff}
.unit-details .unit-inquiry{display:flex;position:absolute;right:-52px;bottom:0;width:44px;height:44px;margin:0;align-items:center;justify-content:center;padding:0;background:#efe8e5;color:#382842;border-radius:50%;font-size:20px}
.unit-details .unit-inquiry>span:first-child{display:none}
.unit-details .unit-inquiry:disabled{display:none}
.unit-hover-label{position:absolute;background:#f2edeb;color:#342244;border:1px solid #ffffff80;border-radius:30px;padding:12px 17px;box-shadow:0 5px 25px #0004;font-size:12px;direction:inherit;white-space:nowrap;pointer-events:none;z-index:8;max-width:95%;overflow:hidden;text-overflow:ellipsis}
.unit-presentation{position:absolute;inset:0;min-height:0;background:transparent;border:0;border-radius:0;overflow:visible;display:flex;flex-direction:column;align-items:center}
.unit-presentation>#backToPlan{display:none}
.design-toggle{display:block;background:transparent;border:0;padding:0;width:100%;flex:1;min-height:0;cursor:pointer}
.design-toggle img{width:100%;height:100%;object-fit:contain}
.design-variants{padding:9px 0;background:none;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;flex:none;width:100%}
.design-variants button{background:#243040;border:1px solid #becbdd45;color:#eee;min-height:36px;padding:9px 12px;font-size:11px;border-radius:18px}
.design-variants button[aria-pressed=true]{background:#6b4682;border-color:#c6a6de}
.unit-presentation>p{background:none;color:#bdc5d0;text-align:center;font-size:10px;line-height:1.5;padding:5px 10px}
.showing-concept .plan-meta{display:none}
.unit-dialog{position:fixed;inset:0;border:1px solid #a8b9cc30;padding:38px 5%;width:min(1220px,94vw);max-width:94vw;max-height:94svh;border-radius:4px;background:#171e25;color:#f4f1ed;isolation:isolate;overflow-y:auto;overscroll-behavior:contain}
.unit-dialog::backdrop{background:#080e17cc;backdrop-filter:blur(9px)}
.unit-dialog .dialog-close{position:sticky;float:inline-end;top:0;inset-inline-end:auto;margin-block-end:-44px;width:44px;height:44px;background:#202933;border-color:#d3dce150;z-index:10}
.unit-dialog-heading{padding-inline-end:55px;padding-bottom:28px;border-bottom:1px solid #dbe4ec22}
.unit-dialog-heading .explorer-eyebrow{color:#aeb9c8;font-size:11px;letter-spacing:1.5px}
.unit-dialog-heading h2{margin:12px 0 10px;font:42px Georgia,'Times New Roman',serif;direction:ltr;overflow-wrap:anywhere}
#unitDialogArea{font:18px Avenir,Tajawal,Arial,sans-serif;color:#c4cbd6;direction:ltr;display:inline-block}
.unit-dialog-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,1fr);gap:6%;padding-top:30px;align-items:start}
.unit-view-art{min-width:0;display:flex;flex-direction:column;align-items:center;gap:16px}
.unit-art-toggle{height:390px;width:100%;padding:15px;border:0;background:#12182050;cursor:pointer;overflow:hidden}
.unit-art-toggle svg{width:100%;height:100%}
#unitDialogImage{filter:url(#unitCadInk)}
.unit-art-toggle>img{width:100%;height:100%;object-fit:contain}
.unit-view-art>p{font-size:11px;color:#aeb9c7;line-height:1.65;text-align:center;margin:0;max-width:450px}
.unit-view-art .design-variants{padding:0}
.unit-request-form{min-width:0}
.unit-request-form .explorer-eyebrow{color:#bdc7d4;font-size:10px;letter-spacing:1px}
.unit-request-form h3{font-size:27px;font-weight:400;margin:12px 0 23px}
html[lang=en] .unit-request-form h3{font-family:Georgia,serif}
.unit-request-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;margin:0 0 20px}
.unit-request-form .field-row{gap:20px}
.unit-request-form input,.unit-request-form textarea{font-size:14px;padding:9px 0 12px;min-height:44px;color:#fff;line-height:1.5}
.unit-request-form select{min-height:44px;width:100%;border:1px solid #d2dce044;background:#202b38;color:#f5f2ef;padding:10px 12px;font:13px Tajawal,Avenir,Arial,sans-serif;border-radius:2px}
.unit-request-form fieldset{margin:0 0 25px}
.unit-request-form legend{font-size:12px;margin-bottom:10px}
.unit-request-form .interest-options label{display:block;margin:0}
.unit-request-form .interest-options input{min-height:0}
.unit-request-form .interest-options span{border-radius:22px;padding:11px 20px;font-size:12px}
.unit-request-form .interest-options input:checked+span{color:#33233f;background:#f1eae5}
.unit-request-form .submit-button{margin-top:12px;background:#f2ece8;color:#34203f;border-radius:28px;padding:15px 22px;min-height:50px;font-size:14px}
.unit-request-form .form-note{margin-top:13px;color:#aeb9c7;font-size:10px}
.unit-request-result{margin-top:20px;border-top:1px solid #d3dce240;padding-top:20px}
.unit-request-result>p{font-size:13px;line-height:1.5}
.unit-request-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 Tajawal,Avenir,Arial,sans-serif;border:1px solid #ccd5df30;background:#192230;padding:15px;margin:15px 0;user-select:text}
.unit-request-result button{border:1px solid #c9d3dc55;background:#2b3746;border-radius:22px;padding:10px 16px;min-height:44px;color:#fff;font-size:12px}
.unit-request-result .request-actions{display:flex;gap:12px;flex-wrap:wrap}
#unitCopyStatus{margin-top:10px;color:#c5d6e8;font-size:12px}
.plan-panel button:focus-visible,.unit-dialog button:focus-visible,.unit-dialog input:focus-visible,.unit-dialog textarea:focus-visible,.unit-dialog select:focus-visible,#unitSelect:focus-visible{outline:2px solid #c1a5e0;outline-offset:4px}
.plan-panel[hidden],.unit-presentation[hidden],.unit-dialog [hidden],.plan-viewport[hidden],.unit-hover-label[hidden]{display:none!important}
@media(min-width:1500px){.plan-layout{inset-block:245px 145px}.unit-art-toggle{height:440px}.plan-floor-tabs{right:4%;width:125px}.rail-name{font-size:12px}}
@media(max-height:680px) and (min-width:761px){.plan-heading{top:16px}.plan-heading>div:not(.plan-tools){margin-top:6px}.plan-heading h2{font-size:39px}.plan-layout{inset-block:166px 115px}.unit-art-toggle{height:300px}.unit-dialog{padding-top:25px}.unit-dialog-heading{padding-bottom:16px}.unit-dialog-layout{padding-top:20px}}
@media(max-width:760px){
 .plan-heading{inset:15px 6% auto}.plan-heading>.explorer-back{font-size:10px;gap:10px;max-width:60%}.plan-heading>div:not(.plan-tools){margin-top:20px}.plan-heading .explorer-eyebrow{display:block;max-width:125px;margin-inline-end:auto;line-height:1.5;font-size:9px;letter-spacing:.8px}.plan-heading h2,html[lang=en] .plan-heading h2{font-size:32px;margin-top:10px}
 .plan-heading .plan-tools{top:54px;gap:5px}.plan-tools button{width:36px;height:36px;font-size:19px}.plan-tools #resetPlan{min-width:0;padding:0 10px;font-size:9px}.plan-language{top:0;width:44px;height:44px}
 .plan-layout{inset:174px 19% 197px 5%;display:block;min-height:0;gap:0}.plan-column{min-height:0}.plan-viewport{min-height:0;padding:0}
 .plan-floor-tabs{right:3%;top:46%;gap:5px;width:62px}.plan-floor-tabs button{min-height:48px;padding:3px 0 3px 12px;gap:3px;flex-direction:column;align-items:start}.rail-code{font-size:17px;width:auto}.rail-name{font-size:8px;max-width:57px}.plan-floor-tabs button:before{left:-10px;width:14px}
 .plan-meta{font-size:9px;bottom:-35px;text-align:center;display:block}.plan-mode-controls{bottom:-112px;left:56%;max-width:126%;width:max-content}.plan-mode-controls button,.unit-view-switch button{padding:9px 15px;font-size:11px;min-height:44px}
 .unit-details{bottom:25px;left:6%;right:6%;width:auto;max-height:none;display:block;padding:0}.unit-details #unitSelectLabel{font-size:10px;grid-row:auto;grid-column:auto}.unit-details #unitSelect{min-height:44px;max-width:none;width:calc(100% - 52px);font-size:12px;padding:10px 12px}
 .unit-presentation{min-height:0}.design-variants{gap:5px;padding-block:7px}.design-variants button{min-height:44px;font-size:9px;padding:7px 10px}.unit-presentation>p{font-size:8px;padding:4px;display:block}.showing-concept .plan-layout{left:5%;right:20%}
 .unit-hover-label{font-size:10px;padding:10px 13px}
 .unit-dialog{width:96vw;max-width:96vw;max-height:96svh;padding:22px 6%;border-radius:3px}.unit-dialog .dialog-close{top:0;inset-inline-end:auto}.unit-dialog-heading{padding-inline-end:45px;padding-bottom:16px}.unit-dialog-heading .explorer-eyebrow{font-size:9px;line-height:1.7;display:block;letter-spacing:.4px}.unit-dialog-heading h2{font-size:32px;margin:8px 0}#unitDialogArea{font-size:16px}
 .unit-dialog-layout{display:flex;flex-direction:column;gap:28px;padding-top:20px}.unit-view-art,.unit-request-form{width:100%}.unit-view-art{gap:11px}.unit-art-toggle{height:225px;padding:5px}.unit-details .unit-inquiry{right:0}.unit-view-art>p{font-size:9px}.unit-request-form h3{font-size:24px;margin:10px 0 18px}.unit-request-form .field-row{grid-template-columns:1fr;gap:0}.unit-request-form label{font-size:12px;margin-bottom:18px}.unit-request-form input,.unit-request-form textarea{font-size:14px}.unit-request-form .interest-options span{min-height:44px;padding:11px 20px}.unit-dialog-layout .unit-request-form>span{display:none}
}
@media(max-width:760px) and (max-height:650px){.plan-layout{inset-block:155px 175px}.plan-mode-controls{bottom:-98px}.plan-heading h2{font-size:28px}.plan-heading>div:not(.plan-tools){margin-top:10px}.unit-art-toggle{height:180px}}
@media(prefers-reduced-motion:reduce){.plan-unit{transition:none}}

@keyframes unitViewReveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.plan-viewport,.unit-presentation,.unit-dialog[open]{animation:unitViewReveal .28s ease-out}
@media(prefers-reduced-motion:reduce){.plan-viewport,.unit-presentation,.unit-dialog[open]{animation:none}}

.plan-unit.selected:not(:hover):not(:focus-visible){fill:transparent;fill-opacity:0;stroke:transparent}
