.apartment-kind{display:block;font:11px Arial,sans-serif;color:var(--ink);margin-bottom:5px}
.availability tbody th strong{font:22px Georgia,serif;font-weight:400}
.availability tbody th{min-width:164px}
.plan-preview{display:block;width:100%;padding:0;border:0;background:#fff;cursor:zoom-in}
.plan-crop{display:block;aspect-ratio:1055/1420;overflow:hidden;background:#fff}
.plan-crop img{display:block;width:100%;height:auto;transform:translateY(var(--plan-shift,0%))}
.plan-open{background:none;border:0;border-bottom:1px solid var(--gold);padding:0 0 5px;color:inherit;font:inherit;font-size:12px;cursor:pointer}
.plan-preview:focus-visible,.plan-open:focus-visible,.plan-dialog button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.plan-card h4{font-size:23px}
.plan-card h4 span{display:block;margin-top:5px;color:#8b6c3c}
.plan-dialog{width:min(780px,calc(100vw - 32px));max-height:90svh;margin:auto;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);overflow:auto}
.plan-dialog::backdrop{background:rgba(20,24,18,.75);backdrop-filter:blur(4px)}
.plan-dialog-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;background:var(--paper);border-bottom:1px solid var(--line)}
.plan-dialog-header .eyebrow{margin-bottom:5px;font-size:9px}
.plan-dialog-header h2{font:24px Georgia,serif;margin:0}
.plan-dialog-header button{flex-shrink:0;padding:10px 14px;background:none;color:var(--ink);border:1px solid var(--line);cursor:pointer;font-size:12px}
.location{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,80px);align-items:start}
.location-copy .location-address{margin:28px 0}
.location-address strong{display:block;font:25px Georgia,serif;font-weight:400;color:#fff;margin-bottom:8px}
.location-address span{display:block;font-size:13px}
.location-map{min-width:0;overflow:hidden;border:1px solid #55594c;background:#e8e4db}
.location-map iframe{display:block;width:100%;height:420px;border:0}
.location .map-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;max-width:none;margin:0;padding:12px 16px;background:var(--paper);color:var(--ink);font-size:10px;line-height:1.6}
.map-caption a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.location{grid-template-columns:1fr;gap:30px}.location-map iframe{height:350px}.plan-dialog-header{padding:16px}.plan-dialog-header h2{font-size:20px}.plan-dialog-header button{padding:8px 10px}}
