.interactive-plan-controls{flex-wrap:wrap;gap:10px;background:#fff}
.interactive-plan-controls .source-zoom{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid #dce5de;border-radius:9px;background:#fafbf8}
.interactive-plan-controls button{min-height:40px;border:0;border-radius:6px;background:transparent;color:#426155;padding:8px 12px}
.interactive-plan-controls button:hover{background:#e9f0eb}
.interactive-plan-controls button:disabled{opacity:.35}
.interactive-plan-controls button:focus-visible,.plan-room-panel button:focus-visible{outline:2px solid #507d6b;outline-offset:2px}
.interactive-plan-controls .source-zoom button{min-width:38px;font-size:16px}
.interactive-plan-controls .plan-reset-view{font-size:13px}
.interactive-plan-controls #unit-plan-open{font-size:13px;margin-left:auto}
.interactive-plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 200px;border-top:1px solid #e1e8e2}
.plan-canvas-column{min-width:0;background:#fafbf9}
.plan-room-status{min-height:54px;padding:10px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#76877c;font-size:13px;background:#f6f8f4;border-bottom:1px solid #e6ebe5}
.plan-room-status.has-selection{color:#214f40;background:#e7f0e9}
.plan-room-status>span{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.plan-room-status strong{font-size:13px;font-weight:600}
.plan-room-status small{font-size:13px;font-variant-numeric:tabular-nums}
.plan-room-status button{width:32px;min-height:32px;font-size:22px;border-radius:50%;color:#496b58}
.interactive-plan-layout .unit-plan-viewport{height:520px;background:radial-gradient(#dce4dc .7px,transparent .7px) 0 0/16px 16px;touch-action:pan-x pan-y;overscroll-behavior:contain;cursor:grab}
.interactive-plan-layout #unit-plan-drawing{padding:26px;min-height:100%}
.interactive-plan-layout .unit-floor-svg{height:calc(468px * var(--plan-zoom,1));min-height:0;overflow:visible}
.interactive-room{cursor:pointer;outline:none;--room-fill:#f2f2ee;--room-dot:#b2b8aa}
[data-room-kind=living]{--room-fill:#e9efe6;--room-dot:#8da486}
[data-room-kind=bedroom]{--room-fill:#ede9f0;--room-dot:#a395ae}
[data-room-kind=wet]{--room-fill:#e8eff1;--room-dot:#88a9b0}
[data-room-kind=kitchen]{--room-fill:#f3ecdf;--room-dot:#b9a581}
[data-room-kind=outdoor]{--room-fill:#e4eee0;--room-dot:#83a176}
[data-room-kind=circulation]{--room-fill:#f2f2ee;--room-dot:#b2b8aa}
.interactive-room>polygon{fill:var(--room-fill);stroke:#75857b;stroke-width:.07;transition:fill .15s,stroke .15s}
.interactive-room:hover>polygon{fill:#d6e7dd;stroke:#447861;stroke-width:.11}
.interactive-room[aria-pressed=true]>polygon{fill:#b8d6c2;stroke:#256346;stroke-width:.14}
.interactive-room:focus-visible>polygon{stroke:#087b9e;stroke-width:.16;stroke-dasharray:.25 .12}
.interactive-room .room-label{pointer-events:none;user-select:none}
.interactive-room[aria-pressed=true] text{fill:#163c2b;font-weight:600}
.plan-interaction-hint{padding:12px 18px;border-top:1px solid #e4e9e2;font-size:12px;line-height:1.5;color:#738176;background:#f8faf6}
.plan-room-panel{border-left:1px solid #e1e8e2;background:#fff;min-width:0}
.plan-room-panel summary{display:flex;justify-content:space-between;align-items:center;padding:18px 14px;font-size:14px;font-weight:500;color:#345447;cursor:pointer;list-style:none}
.plan-room-panel summary::-webkit-details-marker{display:none}
.plan-room-panel summary span{padding:3px 7px;border-radius:5px;background:#edf2eb;color:#718271;font-size:12px}
#plan-room-list{max-height:540px;overflow:auto;padding:0 8px 10px;scrollbar-width:thin}
#plan-room-list button{display:flex;align-items:center;gap:9px;width:100%;min-height:54px;padding:10px 9px;margin:3px 0;text-align:left;border:1px solid transparent;border-radius:8px;background:#fff;color:#435e50;font-size:12px;line-height:1.4}
#plan-room-list button>i{width:8px;height:8px;flex:none;border-radius:50%;background:var(--room-dot)}
#plan-room-list button>span{flex:1}
#plan-room-list small{display:block;font-size:12px;color:#849185;margin-top:3px}
#plan-room-list b{font-weight:400;visibility:hidden;color:#276042}
#plan-room-list button:hover{background:#f1f5ef}
#plan-room-list button[aria-pressed=true]{background:#e7f0e8;border-color:#adc9b5;color:#214c35}
#plan-room-list button[aria-pressed=true] b{visibility:visible}
#plan-room-list button[aria-pressed=true] small{color:#52765e}
@media(max-width:650px){.interactive-plan-layout{grid-template-columns:1fr}.plan-room-panel{border-left:0;border-top:1px solid #e1e8e2}.plan-room-panel summary{padding:14px 16px}.plan-room-panel summary:after{content:'⌄';margin-left:10px}.plan-room-panel summary span{margin-left:auto}.interactive-plan-layout .unit-plan-viewport{height:440px}.interactive-plan-layout .unit-floor-svg{height:calc(400px * var(--plan-zoom,1))}.interactive-plan-layout #unit-plan-drawing{padding:20px 14px}.interactive-plan-controls{gap:7px;padding:10px}.interactive-plan-controls #unit-plan-open{margin-left:auto}.plan-room-status{padding:10px 14px}#plan-room-list{display:grid;grid-template-columns:1fr 1fr;gap:3px;max-height:300px}#plan-room-list button{margin:0}.interactive-plan-controls .plan-reset-view{margin-right:auto}}
.plan-canvas-stage{position:relative;min-width:0;isolation:isolate}
.plan-oncanvas-tools{position:absolute;right:14px;top:14px;z-index:2;display:flex;gap:3px;padding:4px;border:1px solid #d3ded5;border-radius:12px;background:#fffffff2;box-shadow:0 3px 12px #254d3610;backdrop-filter:blur(8px)}
.plan-oncanvas-tools button{display:grid;place-items:center;min-width:42px;min-height:42px;border:0;border-radius:8px;font-size:23px;line-height:1;color:#4b6a5a;background:transparent}
.plan-oncanvas-tools button:hover{background:#edf3ed}.plan-oncanvas-tools button[aria-pressed=true]{background:#315d4b;color:white}
.plan-rotation-dial{position:absolute;bottom:18px;right:18px;width:76px;height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;border:1px solid #c7d7cc;border-radius:50%;background:#fffffff0;box-shadow:0 3px 14px #214b3218;z-index:2;cursor:grab;touch-action:none;user-select:none;--plan-angle:0deg}
.plan-dial-ring{position:absolute;inset:7px;border:1px solid #9db5a6;border-radius:50%;transform:rotate(var(--plan-angle));pointer-events:none}
.plan-dial-ring i{position:absolute;width:10px;height:10px;background:#315d4b;border:2px solid white;box-shadow:0 0 0 1px #315d4b;border-radius:50%;left:calc(50% - 5px);top:-5px}
.plan-rotation-dial output{font-size:14px;font-weight:500;line-height:1.4;font-variant-numeric:tabular-nums;pointer-events:none;color:#315541}
.plan-dial-symbol{font-size:18px;line-height:1;pointer-events:none;color:#708e7d}
.plan-rotation-dial:hover{background:#f1f7f1}.plan-rotation-dial:focus-visible,.plan-oncanvas-tools button:focus-visible{outline:3px solid #408b92;outline-offset:3px}
.interactive-plan-layout .unit-plan-viewport{touch-action:none;user-select:none}
.unit-plan-viewport[data-gesture=rotate] .interactive-room{cursor:grab}
.unit-plan-viewport.is-dragging,.unit-plan-viewport.is-dragging .interactive-room,.plan-rotation-dial.is-dragging{cursor:grabbing}
@media(max-width:650px){.plan-oncanvas-tools{top:10px;right:10px}.plan-rotation-dial{width:68px;height:68px;right:12px;bottom:12px}.interactive-plan-layout #unit-plan-drawing{padding:58px 14px 72px}.interactive-plan-layout .unit-floor-svg{height:calc(308px * var(--plan-zoom,1))}}

.plan-room-caption{margin:0;padding:0 14px 6px;font-size:11px;letter-spacing:.04em;color:#849185}
#source-plan-section .source-heading{padding:14px 16px 4px;background:#fff;border-bottom:0}
#source-plan-section .source-badge{font-size:11px;letter-spacing:.14em;font-weight:600;color:#6d7c70}
#source-plan-section .source-heading h3{font-size:22px;margin:2px 0 0}
#source-plan-section .source-controls{padding-top:8px}
.plan-sheet-links{margin-left:auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.plan-sheet-links a,.plan-sheet-links button{font-size:13px;color:#345447;background:none;border:0;padding:0;min-height:40px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.interactive-plan-controls #unit-plan-open{margin-left:0}
body[data-experience="plans"] #plan-navigation .plan-actions,body[data-experience="plans"] #plan-count{display:none}
body[data-experience="plans"] #plan-navigation{padding:12px 14px;margin:0 0 10px}

/* Plan sheet · quiet editorial menu and a single composed drawing. */
/* Residence sub-nav is owned by experience-hub.css. Do not restyle .xh-core here. */

body[data-experience="plans"] #plan-navigation{background:transparent;border:0;box-shadow:none;padding:0;margin:0 0 18px}
body[data-experience="plans"] #plan-navigation .tour-residence{gap:8px}
body[data-experience="plans"] #plan-navigation .tour-residence label{font:500 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#9aa6ad}
body[data-experience="plans"] #tour-residence{appearance:none;-webkit-appearance:none;width:100%;max-width:none;min-height:56px;margin:0;padding:0 48px 0 18px;border:1px solid #23475918;border-radius:14px;background:#fffefa url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%238a7352' stroke-width='1.4' stroke-linecap='round'/></svg>") no-repeat right 18px center;box-shadow:0 10px 28px #1c33400c;font:400 18px/1.3 Georgia,"Times New Roman",serif;color:#234759}
body[data-experience="plans"] #tour-position{display:block;margin:0;padding:0 2px;font:13px/1.45 Georgia,"Times New Roman",serif;color:#7d8b90;font-style:italic}

#source-plan-section.source-panel{border:0;background:transparent;border-radius:0;overflow:visible;box-shadow:none}
#source-plan-section .source-heading{padding:0 2px 2px;background:transparent;border:0;align-items:flex-end}
#source-plan-section .source-badge{font:500 11px/1 Arial,Helvetica,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#8a7352}
#source-plan-section .source-heading h3{font:400 clamp(28px,3vw,40px)/1.12 Georgia,"Times New Roman",serif;margin:6px 0 0;color:#234759}
#source-plan-section .source-date{display:none}
#source-plan-section .source-controls{padding:14px 0 12px;border:0;background:transparent;align-items:center}
.interactive-plan-controls .source-zoom{border:1px solid #23475916;border-radius:999px;background:#fffefa;padding:2px;gap:0}
.interactive-plan-controls .source-zoom button{min-width:40px;min-height:36px;border-radius:999px;color:#234759;font:400 15px/1 Georgia,"Times New Roman",serif}
.interactive-plan-controls .source-zoom button:hover{background:#f4f1e8}
.plan-sheet-links{gap:22px}
.plan-sheet-links a,.plan-sheet-links button{font:400 14px/1 Georgia,"Times New Roman",serif;color:#234759;text-decoration:none;border:0;border-bottom:1px solid #ad9872;border-radius:0;min-height:28px;padding:0 0 3px}
.plan-sheet-links a:hover,.plan-sheet-links button:hover{color:#8a7352}
body[data-sales-authorized="false"] #mass-3ds{display:none}

.interactive-plan-layout{grid-template-columns:minmax(0,1fr) 272px;border:1px solid #23475914;border-radius:18px;overflow:hidden;background:#fffefa;box-shadow:0 24px 60px #1a314014}
.plan-canvas-column,.interactive-plan-layout .unit-plan-viewport{background:#f6f3ea}
.interactive-plan-layout .unit-plan-viewport{height:min(72vh,680px)}
.interactive-plan-layout #unit-plan-drawing{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:100%;height:100%;padding:28px 24px 76px}
.interactive-plan-layout .unit-plan-viewport .unit-floor-svg{width:100%;height:calc(min(62vh,600px) * var(--plan-zoom,1));max-height:none}
.plan-room-status{min-height:0;padding:0;background:transparent;border:0;color:#234759}
.plan-room-status[hidden]{display:none}
.plan-room-status.has-selection{padding:16px 22px 0;background:transparent}
.plan-room-status strong{font:400 20px/1.2 Georgia,"Times New Roman",serif;font-weight:400}
.plan-room-status small{color:#8a7352;font-size:13px}
.plan-oncanvas-tools{left:14px;right:auto;top:auto;bottom:14px;background:#fffefae6;border-color:#23475916;box-shadow:none;border-radius:999px;padding:3px}
.plan-oncanvas-tools button{min-width:38px;min-height:38px;font-size:18px;color:#234759;border-radius:999px}
.plan-oncanvas-tools button[aria-pressed=true]{background:#234759;color:#f6f1e4}
.plan-rotation-dial{width:62px;height:62px;right:14px;bottom:14px;background:#fffefae6;border-color:#23475916;box-shadow:none}
.plan-rotation-dial output{font:400 12px/1 Georgia,"Times New Roman",serif;color:#234759}
.plan-dial-symbol{color:#ad9872;font-size:14px}
.plan-interaction-hint{background:transparent;border:0;padding:10px 2px 0;font-size:12.5px;color:#8b9698}
#source-plan-section .source-note{max-width:76ch;margin:16px 2px 4px;font-size:12px;line-height:1.55;color:#7d8b90}

.plan-room-panel{background:#fffefa;border-left:1px solid #23475912}
.plan-room-panel summary{padding:20px 18px 4px;font:400 20px/1.2 Georgia,"Times New Roman",serif;color:#234759}
.plan-room-panel summary span{background:transparent;color:#8a7352;font:12px/1 Arial,Helvetica,sans-serif;letter-spacing:.08em;padding:0}
#plan-room-list{max-height:min(62vh,620px);padding:0 12px 64px}
#plan-room-list button{min-height:38px;padding:8px 10px;border-radius:8px;letter-spacing:.06em;font-size:11.5px;color:#234759}
#plan-room-list button>span{font-weight:500}
#plan-room-list small{color:#8a7352;font-size:11.5px;letter-spacing:0}
#plan-room-list b{display:none}
#plan-room-list button[aria-pressed=true]{background:#f6f3ea;border-color:transparent;color:#234759;box-shadow:inset 2px 0 0 #ad9872}
#plan-room-list button:hover{background:#f8f6f0}
.interactive-room>polygon{stroke:#3a4c4a;stroke-width:.05}
.interactive-room[aria-pressed=true]>polygon{fill:#e4ece4;stroke:#234759;stroke-width:.11}
[data-room-kind=living]{--room-fill:#f4efe4;--room-dot:#ad9872}
[data-room-kind=bedroom]{--room-fill:#f0e8e2;--room-dot:#8d7364}
[data-room-kind=wet]{--room-fill:#e6eef0;--room-dot:#6d8f98}
[data-room-kind=kitchen]{--room-fill:#f7f1e4;--room-dot:#b08968}
[data-room-kind=outdoor]{--room-fill:#e7efe4;--room-dot:#6f8f72}
[data-room-kind=circulation]{--room-fill:#f7f5ef;--room-dot:#c4bba8}

body[data-experience="plans"] .cg-launch span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body[data-experience="plans"] .cg-launch{width:46px;height:46px;min-height:46px;padding:0;justify-content:center;letter-spacing:0}

@media(max-width:700px){
 body[data-experience="plans"] #tour-residence{font-size:16px;min-height:52px}
 #source-plan-section .source-heading h3{font-size:28px}
 .interactive-plan-layout{border-radius:14px}
 .interactive-plan-layout .unit-plan-viewport{height:min(62vh,520px)}
 .interactive-plan-layout .unit-plan-viewport .unit-floor-svg{height:calc(min(52vh,440px) * var(--plan-zoom,1))}
 .plan-sheet-links{gap:14px}
}
.plan-room-caption{padding:2px 18px 12px;letter-spacing:.16em;text-transform:uppercase;font-size:10px;color:#9aa3a6}

/* Custom plan menu — one quiet list, still searchable and keyboardable. */
body[data-experience="plans"] #tour-residence.pm-native,#tour-residence.pm-native{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0;box-shadow:none;appearance:auto}
.pm{position:relative;min-width:0}
.pm-trigger{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:1px;align-items:baseline;width:100%;min-height:48px;padding:8px 36px 8px 14px;border:1px solid #23475916;border-radius:10px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1 5 5 9 1' fill='none' stroke='%239aa6ad' stroke-width='1.2' stroke-linecap='round'/></svg>") no-repeat right 14px center;box-shadow:none;text-align:left;cursor:pointer;color:#234759}
.pm.is-open .pm-trigger{border-color:#23475928;box-shadow:none}
.pm-title{font:400 16px/1.2 Georgia,"Times New Roman",serif;min-width:0}
.pm-meta{font:400 12.5px/1.2 Arial,Helvetica,sans-serif;color:#8a98a2;white-space:nowrap}
.pm-id{grid-column:1/-1;font:11px/1.25 Arial,Helvetica,sans-serif;letter-spacing:.02em;color:#9aa6ad}
.pm-panel{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #23475914;border-radius:12px;box-shadow:0 14px 36px #1a314014;overflow:hidden}
.pm-panel[hidden]{display:none}
.pm-search{display:block;width:100%;box-sizing:border-box;appearance:none;-webkit-appearance:none;border:0;border-bottom:1px solid #23475910;border-radius:0;box-shadow:none;padding:10px 14px 9px 34px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'><circle cx='6' cy='6' r='4.2' fill='none' stroke='%239aa6ad' stroke-width='1.2'/><path d='M9.2 9.2 12 12' fill='none' stroke='%239aa6ad' stroke-width='1.2' stroke-linecap='round'/></svg>") no-repeat 12px 50%;color:#234759;font:13px/1.3 Arial,Helvetica,sans-serif}
.pm-search::-webkit-search-decoration,.pm-search::-webkit-search-cancel-button,.pm-search::-webkit-search-results-button{appearance:none;-webkit-appearance:none;display:none}
.pm-search::placeholder{color:#a8b3b8}
.pm-search:focus{outline:none;background-color:#fbfaf7}
.pm-scroll{max-height:min(46vh,380px);overflow:auto;overscroll-behavior:contain;padding:2px 0 6px}
.pm-label{margin:10px 14px 2px;font:500 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#a3aeb4}
.pm-group{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:32px;padding:5px 14px;border:0;background:transparent;color:#6a7c86;text-align:left;cursor:pointer;font:500 12.5px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.01em;text-transform:none}
.pm-group span{flex:1;min-width:0}
.pm-group b{font-weight:500;letter-spacing:0;font-size:11px;color:#a3aeb4;text-transform:none}
.pm-group::after{content:"";width:5px;height:5px;border-right:1.2px solid currentColor;border-bottom:1.2px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.55;flex:0 0 auto}
.pm-group[aria-expanded=true]{color:#234759}
.pm-group[aria-expanded=true]::after{transform:rotate(-135deg) translateY(-1px)}
.pm-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 12px;align-items:baseline;width:100%;min-height:34px;padding:5px 14px;border:0;border-radius:0;background:transparent;color:#234759;text-align:left;cursor:pointer;font:13px/1.25 Arial,Helvetica,sans-serif}
.pm-row span{font-variant-numeric:tabular-nums;letter-spacing:0}
.pm-row small{color:#8a98a2;font:12px/1.2 Arial,Helvetica,sans-serif;white-space:nowrap}
.pm-row em:empty{display:none}
.pm-row em{font-style:normal;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#a3aeb4}
.pm-row[aria-selected=true]{background:#f4f1e8;box-shadow:none}
.pm-row[aria-selected=true] span{font-weight:650}
.pm-row[data-active=true],.pm-row:hover{background:#f7f5f0}
.pm-row[aria-selected=true]:hover{background:#efe8d8}
.pm-empty{margin:0;padding:14px;color:#8a98a2;font-size:12.5px}
.pm-trigger:focus-visible,.pm-row:focus-visible,.pm-group:focus-visible{outline:1px solid #23475966;outline-offset:-1px}
.pm-search:focus,.pm-search:focus-visible{outline:none;border-bottom-color:#23475933;background-color:#fbfaf7}
@media(max-width:700px){.pm-title{font-size:15px}.pm-scroll{max-height:min(48vh,360px)}.pm-row,.pm-group{min-height:40px}}

/* ---------------------------------------------------------------- responsive plan stage
   The drawing must meet its stage (viewBox + preserveAspectRatio). A fixed
   pixel height letterboxed a wide plan and the card clipped it. Zoom still
   scales both axes: the drawing width is set in JS, the height follows --plan-zoom. */
.interactive-plan-layout .unit-plan-viewport{height:min(640px,max(280px,calc(100dvh - 520px)));min-height:260px;overflow:auto}
.interactive-plan-layout #unit-plan-drawing{box-sizing:border-box;width:100%;height:100%;min-height:100%}
.interactive-plan-layout .unit-plan-viewport .unit-floor-svg{display:block;width:100%;height:calc(100% * var(--plan-zoom,1));max-width:none;max-height:none}

@media (max-width:1279px){
 .interactive-plan-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}
 .plan-room-panel{border-left:0;border-top:1px solid #23475912}
 .plan-room-panel summary{padding:12px 16px 2px}
 .plan-room-panel summary:after{content:none}
 .plan-room-caption{padding:0 16px 8px}
 .interactive-plan-layout .unit-plan-viewport{height:min(54dvh,560px);min-height:280px}
}

@media (min-width:900px) and (max-width:1279px){
 body[data-experience="plans"] .explorer{padding:16px 18px 24px}
 .interactive-plan-layout .unit-plan-viewport{height:min(520px,calc(100dvh - 500px));min-height:220px}
 #source-plan-section .source-heading h3{font-size:clamp(26px,3vw,34px)}
}

@media (max-width:899px){
 body[data-experience="plans"] .explorer{padding:8px 12px 20px}
 body.us-sheet-on[data-experience="plans"] .explorer{padding-bottom:calc(var(--us-sheet-h, 148px) + 12px)}
 body[data-experience="plans"] .scene-top{margin-bottom:4px;gap:6px}
 body[data-experience="plans"] .scene-top h2{font-size:20px}
 body[data-experience="plans"] .experience-tabs{margin-bottom:6px}
 body[data-experience="plans"] .xh-menu{margin:0 0 6px;max-width:none}
 body[data-experience="plans"] #plan-navigation{margin-bottom:6px}
 body[data-experience="plans"] #tour-position{font-size:12px;line-height:1.3}
 #source-plan-section .source-badge{display:none}
 #source-plan-section .source-heading h3{font-size:22px;margin-top:0}
 #source-plan-section .source-controls{padding:4px 0 6px;gap:6px 12px;width:100%}
 .plan-sheet-links{margin-left:auto;gap:12px}
 .pm-trigger{min-height:44px;padding:6px 32px 6px 12px;column-gap:8px}
 .pm-title{font-size:16px}
 .interactive-plan-layout{border-radius:14px;position:relative}
 .interactive-plan-layout .unit-plan-viewport{height:calc(100dvh - var(--us-sheet-h, 148px) - 400px);min-height:200px;max-height:560px}
 .interactive-plan-layout #unit-plan-drawing{padding:40px 8px 52px}
 .plan-oncanvas-tools{top:8px;bottom:auto;left:8px}
 .plan-rotation-dial{width:48px;height:48px;top:8px;bottom:auto;right:8px}
 .plan-room-panel{position:absolute;left:0;right:0;bottom:0;z-index:3;border:0;background:linear-gradient(#fffefa00,#fffefaf2 28%);border-top:0}
 .plan-room-panel summary,.plan-room-caption{display:none}
 #plan-room-list{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;max-height:none;overflow-x:auto;overflow-y:hidden;padding:8px 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;background:transparent}
 #plan-room-list button{flex:0 0 auto;width:auto;min-height:44px;margin:0;padding:8px 12px;scroll-snap-align:start;border:1px solid #23475914;background:#fffefa}
 #plan-room-list button>span{flex:0 1 auto;white-space:nowrap}
 .plan-interaction-hint{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 #source-plan-section .source-note{margin-top:10px}
}

@media (max-width:899px) and (max-height:760px){
 body[data-experience="plans"] .scene-top{display:none}
 #source-plan-section .source-heading{display:none}
 .interactive-plan-layout .unit-plan-viewport{height:calc(100dvh - var(--us-sheet-h, 140px) - 360px);min-height:160px}
}

@media (max-width:389px){
 .pm-meta{font-size:12px}
 body[data-experience="plans"] .explorer{padding-left:10px;padding-right:10px}
}

@media (max-width:899px) and (orientation:landscape){
 body[data-experience="plans"] .scene-top{display:none}
 #source-plan-section .source-heading{display:none}
 .interactive-plan-layout .unit-plan-viewport{height:calc(100dvh - var(--us-sheet-h, 120px) - 250px);min-height:140px;max-height:none}
}

/* Plan looks: painted sheet and furnished sheet share the stage with the line drawing. */
.plan-look{position:absolute;z-index:5;top:12px;left:50%;transform:translateX(-50%);display:flex;gap:2px;padding:3px;border:1px solid #23475914;border-radius:999px;background:#fffefae8;backdrop-filter:blur(10px);box-shadow:0 8px 22px #1a314010}
.plan-look button{border:0;background:transparent;border-radius:999px;min-height:30px;padding:0 13px;font:500 12px/1 Arial,Helvetica,sans-serif;color:#6a7c86;letter-spacing:.01em;cursor:pointer}
.plan-look button[aria-pressed=true]{background:#234759;color:#f6f1e4}
.plan-look button:focus-visible{outline:1px solid #234759;outline-offset:-2px}
.plan-rich-host{position:absolute;z-index:1;inset:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:52px 16px 16px;background:#f3efe6}
.plan-rich-host[hidden]{display:none}
.plan-rich{display:block;margin:auto;border-radius:2px;cursor:pointer}
body[data-plan-look=paint] .plan-oncanvas-tools,
body[data-plan-look=paint] .plan-rotation-dial,
body[data-plan-look=furnished] .plan-oncanvas-tools,
body[data-plan-look=furnished] .plan-rotation-dial{display:none}
body[data-experience=plans] .interactive-plan-layout{grid-template-columns:minmax(0,1fr) 228px;background:#f7f4ec}
body[data-experience=plans] .plan-canvas-stage{background:#f3efe6;min-height:0}
body[data-experience=plans] .interactive-plan-layout .unit-plan-viewport{height:calc(100dvh - 188px);min-height:min(520px,70dvh);max-height:none;background:#f3efe6}
body[data-experience=plans] .interactive-plan-layout #unit-plan-drawing{padding:56px 20px 28px}
body[data-experience=plans] .plan-interaction-hint{font-size:11px;color:#9aa6ad;letter-spacing:.01em}
body[data-experience=plans] .plan-room-panel summary{font-size:17px;padding:16px 14px 2px}
body[data-experience=plans] .plan-room-caption{font-size:10px;letter-spacing:.12em;color:#a3aeb4}
@media (min-width:900px){
 body[data-experience=plans] #plan-room-list{display:flex;flex-direction:column;gap:2px;max-height:calc(100dvh - 230px);overflow-x:hidden;overflow-y:auto;padding:4px 8px 18px;scroll-snap-type:none}
 body[data-experience=plans] #plan-room-list button{display:flex;align-items:center;gap:8px;flex:0 0 auto;width:100%;min-height:42px;margin:0;padding:7px 10px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:left;white-space:normal;scroll-snap-align:none}
 body[data-experience=plans] #plan-room-list button>span{flex:1 1 auto;white-space:normal;font-weight:500}
}
body[data-experience=plans] #plan-room-list button[aria-pressed=true]{background:#234759;color:#f6f1e4;border-color:#234759;box-shadow:none}
body[data-experience=plans] #plan-room-list button[aria-pressed=true] small{color:#e4d2a4}
body[data-experience=plans] #plan-room-list button[aria-pressed=true]>i{background:#e4d2a4;box-shadow:0 0 0 3px #e4d2a444}
body[data-experience=plans] #plan-room-list button[aria-pressed=true]:hover{background:#1b3a4a}
.interactive-room[aria-pressed=true]>polygon{fill:#ead9b0;stroke:#8a6a32;stroke-width:.16}
@media(max-width:899px){
 body[data-experience=plans] .interactive-plan-layout{grid-template-columns:minmax(0,1fr)}
 body[data-experience=plans] .interactive-plan-layout .unit-plan-viewport{height:min(68dvh,640px);min-height:300px}
 .plan-look{max-width:calc(100% - 24px)}
 .plan-look button{padding:0 10px}
}
