.floorplans{padding-top:65px;border-top:1px solid var(--line)}
.floorplans .section-heading>p{font-size:16px;justify-self:start}
.plan-tabs{display:flex;gap:36px;border-bottom:1px solid var(--line);margin-bottom:28px}
.plan-tabs button{border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);min-height:52px;padding:10px 0;font-size:16px}
.plan-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}
.plan-preview{display:block;width:100%;padding:24px;background:#fff;border:1px solid var(--line);cursor:zoom-in}
.plan-preview img{width:100%;height:auto;aspect-ratio:1.69;object-fit:contain}
.plan-preview:hover{border-color:var(--olive)}
.plan-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:18px;font-size:16px}
.plan-caption-note{font-size:14px;color:var(--muted)}
.plan-actions{display:flex;align-items:center;gap:24px}
.plan-text-button,.plan-download{font-size:14px;color:var(--ink);border:0;border-bottom:1px solid var(--ink);background:none;padding:9px 0;min-height:44px;white-space:nowrap}
.plan-text-button:hover,.plan-download:hover{color:var(--olive)}
.plan-viewer{width:min(1600px,98vw);height:94svh;max-height:94svh;padding:20px;overflow:hidden;background:var(--paper);color:var(--ink)}
.plan-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:14px}
.plan-viewer-header{display:flex;justify-content:space-between;align-items:center;gap:16px}
.plan-viewer-header h2{font-size:22px;letter-spacing:-.02em}
.plan-viewer button{border-color:var(--line);font-size:14px;min-height:44px}
.plan-viewer button:hover{background:#e5e7df}
.plan-viewer button:disabled{opacity:.4;cursor:default}
.plan-viewport{overflow:auto;min-height:0;min-width:0;background:#fff;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;border:1px solid var(--line)}
.plan-viewport:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.plan-canvas{display:flex;align-items:center;justify-content:center;min-width:100%;min-height:100%}
.plan-viewer .plan-canvas img{max-width:none;flex:none;object-fit:contain;user-select:none;-webkit-user-drag:none}
.plan-viewport.is-zoomed{cursor:grab}
.plan-viewport.is-dragging{cursor:grabbing}
.plan-toolbar,.plan-zoom-controls{display:flex;align-items:center;gap:12px}
.plan-toolbar{justify-content:space-between}
.plan-zoom-controls output{font-size:14px;min-width:48px;text-align:center;font-variant-numeric:tabular-nums}
.plan-zoom-controls #plan-zoom-in,.plan-zoom-controls #plan-zoom-out{width:44px;padding:4px;font-size:24px;line-height:1}
#plan-viewer-download{font-size:14px;border-bottom:1px solid var(--ink);padding:8px 0}
#plan-viewer-help{font-size:14px;color:var(--muted);margin:0;line-height:1.5}
@media(min-width:761px) and (max-width:1100px){.header nav{gap:16px;font-size:13px}.header{gap:18px}}
@media(max-width:760px){.floorplans{padding-top:52px}.plan-tabs{gap:30px;margin-bottom:20px}.plan-preview{padding:10px}.plan-caption{align-items:flex-start;flex-direction:column;gap:8px}.plan-caption-note{display:block;margin-top:3px}.plan-actions{justify-content:space-between;width:100%;gap:20px}.plan-viewer{width:100vw;height:100svh;max-height:100svh;margin:0;padding:16px 12px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.plan-viewer[open]{gap:12px}.plan-viewer-header h2{font-size:18px;max-width:60%}.plan-viewer-header button{padding:8px 12px;white-space:nowrap}.plan-toolbar{gap:12px;flex-wrap:wrap}.plan-zoom-controls{gap:8px}#plan-viewer-help{font-size:14px}.plan-viewer .plan-canvas img{height:auto}}
@media(max-width:360px){.plan-caption-note{font-size:13px}.plan-viewer{padding-left:10px;padding-right:10px}.plan-zoom-controls{gap:5px}.plan-zoom-controls output{min-width:42px}.plan-zoom-controls #plan-zoom-fit{padding:8px 10px}}
