/* Buyer-facing room exploration, isolated from the exterior viewer. */
.interactive-floor-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:20px}.interactive-floor-tabs button{grid-template-columns:25px 1fr;border:1px solid var(--line);padding:20px 18px;min-height:86px;gap:14px}.interactive-floor-tabs button:last-child{border:1px solid var(--line)}.interactive-floor-tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.interactive-floor-tabs small{font-size:11px;opacity:.85}.floor-workspace{background:#fffefa;border:1px solid var(--line);padding:30px;min-width:0}.floor-workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid var(--line)}.floor-workspace-heading .eyebrow{font-size:8px;letter-spacing:1.7px;margin:0 0 9px}.floor-workspace-heading h3{font-size:35px;line-height:1.1;letter-spacing:-1px;margin:0 0 11px}#plan-floor-area{font-size:15px;margin:0}#plan-floor-area span{font-size:11px;color:var(--muted)}.floor-workspace .plan-expand{font-size:11px;min-height:44px}.interactive-plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;margin-top:22px}.plan-drawing-column{min-width:0}.plan-instruction{font-size:11px;line-height:1.6;color:var(--muted);display:flex;align-items:center;gap:9px;margin:0 0 12px}.plan-instruction span{font-size:20px;color:#9b8159}.interactive-plan-stage{height:610px;max-height:76svh;min-height:360px;position:relative;background:#faf9f5;display:flex;align-items:center;justify-content:center;border:1px solid #eeeae0;padding:15px}.interactive-plan-stage>svg{width:100%;height:100%;display:block;overflow:visible}.plan-loading,.plan-error{font-size:13px;line-height:1.7;color:var(--muted);padding:25px;text-align:center}.plan-floor-description{font-size:12px;line-height:1.8;color:var(--muted);margin:18px 0 0;max-width:640px}.room-inspector{min-width:0}.room-details{background:#f1eee4;border-top:3px solid #b49a6b;padding:23px 22px;min-height:220px}.room-details>.eyebrow{font-size:8px;margin:0 0 12px;letter-spacing:1.5px}.room-details h4{font:27px/1.15 Georgia,serif;font-weight:400;letter-spacing:-.6px;margin:0 0 22px}.room-details>p:not(.eyebrow){font-size:12px;line-height:1.7;color:var(--muted);margin:0}.room-metrics{display:grid;gap:19px}.room-metric{display:flex;flex-direction:column;gap:6px}.metric-label{font-size:8px;letter-spacing:1.2px;color:#61685b}.room-metric strong{font:24px/1.15 Georgia,serif;font-weight:400;white-space:nowrap}.room-metric small{font-size:11px;color:var(--muted)}.room-metric strong.area-pending{font-size:20px;white-space:normal}.room-measure-note{font-size:10px!important;line-height:1.7!important;color:#626b60;margin:18px 0 0!important}.room-list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:25px 0 13px}.room-list-heading>span{font-size:8px;letter-spacing:1.2px}.room-list-heading button{border:0;background:none;text-decoration:underline;text-underline-offset:3px;font-size:10px;padding:7px 0;color:var(--muted)}.room-list{display:flex;flex-direction:column}.room-choice{display:grid;grid-template-columns:21px 1fr auto;gap:9px;align-items:center;border:0;border-top:1px solid #deded3;min-height:47px;background:transparent;padding:12px 7px;text-align:left;font-size:11px;line-height:1.4}.room-choice:last-child{border-bottom:1px solid #deded3}.room-list-number{font-size:9px;color:#7b785f}.room-list-area{font-size:10px;color:var(--muted);white-space:nowrap}.room-choice:hover{background:#f1eee4}.room-choice[aria-pressed=true]{background:#e5e9dc;box-shadow:inset 3px 0 #52664d}.room-choice[aria-pressed=true] .room-list-name{font-weight:600}.plan-house-total{display:flex;align-items:baseline;gap:18px;margin:32px 0 0;flex-wrap:wrap}.plan-house-total>span:first-child{font-size:9px;letter-spacing:1.5px;margin-right:auto}.plan-house-total strong{font:36px Georgia,serif;white-space:nowrap}.plan-house-total strong small{font-size:17px}.plan-house-total>span:last-child{font-size:11px;color:var(--muted)}
/* Hit polygons remain above the original linework, with a translucent highlight. */
.plan-room{cursor:pointer;outline:none}.plan-room .room-hit{fill:transparent;stroke:transparent;stroke-width:2;vector-effect:non-scaling-stroke;transition:fill .12s,stroke .12s;pointer-events:all}.plan-room:hover .room-hit,.plan-room.is-preview .room-hit{fill:#bea56622;stroke:#a58a52}.plan-room[aria-pressed=true] .room-hit{fill:#79916b3b;stroke:#52664d;stroke-width:2.2}.plan-room:focus-visible .room-hit{stroke:#9b6d23;stroke-width:3;stroke-dasharray:5 3;fill:#b49a6b33}.plan-room[aria-pressed=true] .room-marker{fill:#52664d}.plan-room .room-marker,.plan-room .room-number{pointer-events:none}
/* A second interactive canvas, with native scrolling when zoomed. */
.interactive-plan-dialog{width:min(1320px,96vw);height:94svh;max-height:94svh;max-width:96vw;padding:24px;background:#faf9f5}.interactive-plan-dialog[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:12px}.interactive-plan-dialog .dialog-top h2{margin:0;font-size:28px}.interactive-plan-dialog .dialog-top>button{border:1px solid var(--line);background:#fff;flex:none}.expanded-plan-toolbar{display:flex;align-items:end;gap:18px}.expanded-plan-toolbar label{display:flex;flex-direction:column;gap:6px;font-size:9px;letter-spacing:.5px;color:var(--muted)}.expanded-plan-toolbar select{font:12px Arial,sans-serif;color:var(--ink);border:1px solid #cbd0c2;min-height:42px;max-width:240px;padding:8px 32px 8px 10px;background:#fffefa}.expanded-plan-toolbar .plan-zoom-tools{margin-left:auto;padding:0;gap:7px}.expanded-plan-toolbar .plan-zoom-tools button{min-height:42px;min-width:42px}.expanded-plan-scroll{overflow:auto;min-height:0;background:white;border:1px solid #e3dfd3;overscroll-behavior:contain}.expanded-plan-stage{width:100%;height:100%;position:relative}.expanded-plan-stage>svg{width:100%;height:100%;display:block}.expanded-room-details{display:grid;grid-template-columns:190px minmax(310px,1fr) minmax(220px,1fr);gap:20px;align-items:center;background:#eeece3;padding:15px 20px;min-height:92px}.expanded-room-name{font:24px/1.1 Georgia,serif;font-weight:400}.expanded-room-details .room-metrics{grid-template-columns:1fr 1fr;gap:20px}.expanded-room-details .room-metric strong{font-size:22px}.expanded-room-details .room-measure-note{margin:0!important}.expanded-room-details>p:only-child{font-size:12px;margin:0;grid-column:1/-1}.interactive-plan-dialog .dialog-note{margin:0;font-size:10px}.expanded-plan-toolbar select:focus-visible{outline:3px solid #aa7d38;outline-offset:3px}
@media(max-width:1100px){.floor-workspace{padding:24px}.interactive-plan-layout{grid-template-columns:minmax(0,1fr) 260px;gap:24px}.room-details{padding:20px 16px}.room-details h4{font-size:25px}.room-choice{grid-template-columns:17px 1fr auto;gap:6px;font-size:10px}.room-list-area{font-size:9px}.interactive-floor-tabs button{padding:18px 12px;gap:8px}.interactive-floor-tabs button>span:nth-child(2){font-size:13px}.expanded-room-details{grid-template-columns:160px 1fr}.expanded-room-details .room-measure-note{grid-column:1/-1}.interactive-plan-stage{height:590px}}
@media(max-width:760px){.floorplans-section{padding:60px 5vw}.interactive-floor-tabs{grid-template-columns:1fr 1fr;gap:5px;margin-bottom:16px}.interactive-floor-tabs button{min-height:72px;padding:13px;grid-template-columns:23px 1fr}.interactive-floor-tabs button>span:nth-child(2){font-size:12px}.interactive-floor-tabs small{font-size:10px;margin-top:6px}.floor-workspace{padding:20px 14px}.floor-workspace-heading{gap:12px;padding-bottom:17px;align-items:start}.floor-workspace-heading h3{font-size:28px}#plan-floor-area{font-size:14px}#plan-floor-area span{display:block;margin-top:5px;font-size:10px}.floor-workspace .plan-expand{font-size:10px;padding:9px;white-space:nowrap;min-height:42px}.floor-workspace .plan-expand span{font-size:16px;margin-left:4px}.floor-workspace-heading .eyebrow{font-size:7px;letter-spacing:1px;max-width:190px}.interactive-plan-layout{display:flex;flex-direction:column;gap:20px;margin-top:15px}.interactive-plan-stage{height:520px;max-height:65svh;min-height:340px;padding:5px}.plan-instruction{font-size:10px}.plan-floor-description{font-size:11px;margin-top:13px}.room-details{min-height:0;padding:18px}.room-details h4{font-size:25px;margin-bottom:17px}.room-details .room-metrics{grid-template-columns:1fr 1fr;gap:15px}.room-metric strong{font-size:22px}.room-measure-note{margin-top:13px!important}.room-choice{grid-template-columns:24px 1fr auto;font-size:12px;min-height:47px;padding:12px}.room-list-area{font-size:11px}.room-list-heading{padding-top:20px}.plan-house-total{gap:10px 15px;margin-top:25px}.plan-house-total>span:first-child{flex-basis:100%;font-size:8px}.plan-house-total strong{font-size:31px}.plan-house-total>span:last-child{font-size:10px}.interactive-plan-dialog{padding:13px;gap:9px}.interactive-plan-dialog .dialog-top .eyebrow{font-size:7px;letter-spacing:1px;max-width:250px}.interactive-plan-dialog .dialog-top h2{font-size:24px}.expanded-plan-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:9px}.expanded-plan-toolbar label{min-width:0}.expanded-plan-toolbar select{width:100%;max-width:none;font-size:11px;padding-right:15px;min-height:40px}.expanded-plan-toolbar .plan-zoom-tools{grid-column:1/-1;margin:0;justify-content:end;gap:7px}.expanded-plan-toolbar .plan-zoom-tools button{min-height:36px;min-width:38px}.expanded-room-details{display:block;min-height:70px;padding:12px}.expanded-room-name{display:block;font-size:19px;margin-bottom:9px}.expanded-room-details .room-metrics{gap:12px}.expanded-room-details .room-metric strong{font-size:18px}.expanded-room-details .room-metric small{font-size:10px}.expanded-room-details .metric-label{font-size:7px}.expanded-room-details .room-measure-note{font-size:9px!important;line-height:1.5!important;margin-top:8px!important}.interactive-plan-dialog .dialog-note{font-size:8px;line-height:1.5}.room-metric strong.area-pending{font-size:17px}.interactive-plan-dialog .dialog-top>button{width:40px;height:40px;font-size:27px}}
@media(prefers-reduced-motion:reduce){.plan-room .room-hit{transition:none}}
@media(max-width:760px){.room-details .room-metric:first-child{grid-column:1/-1}.room-metric{min-width:0}.room-metric strong{white-space:normal}.expanded-room-details .room-metrics{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
.plan-selection-summary{display:none}@media(max-width:760px){.interactive-plan-stage{height:450px;max-height:53svh;min-height:320px}.plan-selection-summary{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:13px 12px;background:#e9ecdf;min-height:67px;font-size:11px;align-content:center}.plan-selection-summary strong{font-weight:600}.plan-selection-summary small{grid-column:1/-1;font-size:11px;color:#59644f}.plan-selection-summary>span:only-child{grid-column:1/-1}.plan-selection-summary>span{font-size:10px}}
