.apartment-profile-page{--apt-ink:#181a16;--apt-paper:#fafaf6;--apt-neon:#d6ff3f;--apt-border:#d9dcd2}
.apartment-profile-nav{display:flex;gap:12px 28px;flex-wrap:wrap;padding:18px 0;border-block:1px solid var(--apt-border);margin:20px 0 30px}
.apartment-profile-nav a{font-size:14px;font-weight:750;text-decoration:underline;text-underline-offset:5px}
.apartment-profile-page .business-gallery .business-photo img{height:auto;max-height:520px;object-fit:contain}
.apartment-profile-page .business-gallery{align-items:center;background:#fff}
.apartment-profile-photos,.apartment-floorplans{margin:48px 0;scroll-margin-top:110px}
.apartment-profile-photos>h2,.apartment-plans-heading h2{font-family:Syne,sans-serif;font-size:clamp(28px,3vw,42px);line-height:1.1;letter-spacing:-.035em;margin:0 0 14px}
.apartment-profile-photos .apt-photo-grid{max-width:100%}
.apartment-profile-photos .apt-photo-grid img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:auto}
.apartment-profile-photos .apt-gallery-credit{margin-top:12px}
.apartment-plans-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}
.apartment-plans-heading p{font-size:15px;line-height:1.6;margin:0;max-width:650px;color:#62665c}
.apartment-plans-official{display:inline-block;border:1px solid var(--apt-ink);background:var(--apt-ink);color:#fff!important;padding:13px 18px;text-decoration:none;font-size:14px;font-weight:750;flex-shrink:0;text-align:center}
.apartment-plans-official:hover{background:var(--apt-neon);color:var(--apt-ink)!important}
.apartment-plan-controls:not([hidden]){display:flex;justify-content:space-between;align-items:end;gap:20px;margin:28px 0 18px}
.apartment-plan-filters{display:flex;gap:8px;flex-wrap:wrap}
.apartment-plan-filters button,.apartment-plan-controls select{font:inherit;font-size:13px;border:1px solid var(--apt-border);background:#fff;color:var(--apt-ink);padding:11px 14px;border-radius:0;cursor:pointer}
.apartment-plan-filters button[aria-pressed=true]{background:var(--apt-neon);border-color:var(--apt-ink);font-weight:750}
.apartment-plan-controls label{font-size:12px;display:grid;gap:7px;flex-shrink:0}
.apartment-plan-controls select{padding-right:36px;min-width:175px}
.apartment-plan-count{font-size:13px;color:#62665c;margin:16px 0}
.apartment-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.apartment-plan-card{min-width:0;background:#fff;border:1px solid var(--apt-border);box-shadow:0 6px 20px #181a1608;display:flex;flex-direction:column}
.apartment-plan-card[hidden]{display:none}
.apartment-plan-preview{display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:#fff;padding:22px 18px 14px;gap:18px;text-decoration:none;min-width:0}
.apartment-plan-preview img{display:block;width:100%;height:260px;object-fit:contain;background:#fff}
.apartment-plan-preview span{font-size:12px;text-decoration:underline;text-underline-offset:4px;color:#555a50}
.apartment-plan-preview:hover span{color:var(--apt-ink)}
.apartment-plan-info{border-top:1px solid #eceee7;padding:20px;display:flex;flex-direction:column;align-items:start;flex:1}
.apartment-plan-info h3{font:750 20px/1.25 Manrope,sans-serif;letter-spacing:-.025em;margin:0 0 12px;overflow-wrap:anywhere}
.apartment-plan-info p{font-size:13px;line-height:1.7;margin:0 0 18px;color:#565c51}
.apartment-plan-info>a{font-size:13px;font-weight:750;text-decoration:underline;text-underline-offset:4px;margin-top:auto}
.apartment-plan-updated{font-size:12px;color:#62665c;line-height:1.7;margin:18px 0 0}
.apartment-plan-updated a{text-decoration:underline}
.apartment-profile-no-photo{display:grid;place-content:center;background:#fff;border:1px solid var(--apt-border);min-height:220px;color:#62665c;padding:25px}
.apartment-plan-dialog{padding:0;border:1px solid #c7cbc0;border-radius:0;width:min(1200px,calc(100vw - 28px));max-width:none;height:min(900px,calc(100dvh - 28px));max-height:none;background:var(--apt-paper,#fafaf6);color:var(--apt-ink,#181a16);box-shadow:0 20px 90px #0005}
.apartment-plan-dialog[open]{display:flex;flex-direction:column}
.apartment-plan-dialog::backdrop{background:#181a16c9}
.apartment-plan-dialog-header{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:18px 22px;border-bottom:1px solid #d9dcd2}
.apartment-plan-dialog h2{font:750 22px/1.2 Manrope,sans-serif;margin:0 0 7px;letter-spacing:-.025em}
.apartment-plan-dialog-header p{font-size:13px;margin:0;color:#565c51}
.apartment-plan-dialog button,.apartment-plan-dialog a{font:700 13px Manrope,sans-serif;border:1px solid #c7cbc0;background:#fff;color:#181a16;border-radius:0;padding:10px 14px;cursor:pointer;text-decoration:none;white-space:nowrap}
.apartment-plan-dialog button:disabled{opacity:.4;cursor:default}
.apartment-plan-dialog-actions{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;padding:12px;border-top:1px solid #d9dcd2}
.apartment-plan-dialog-scroll{flex:1;min-height:0;overflow:auto;background:#fff;padding:16px;display:grid;place-items:start center}
.apartment-plan-dialog-scroll img{width:100%;height:100%;object-fit:contain;max-width:100%;min-height:0;align-self:center}
.apartment-plan-dialog-scroll.is-zoomed{display:block}
.apartment-plan-dialog-scroll.is-zoomed img{width:200%;height:auto;max-width:none;object-fit:contain}
.apartment-profile-page a:focus-visible,.apartment-profile-page button:focus-visible,.apartment-profile-page select:focus-visible{outline:2px solid #181a16;outline-offset:4px}
@media(max-width:1000px){.apartment-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.apartment-plans-heading{align-items:start;flex-direction:column}}
@media(max-width:620px){.apartment-profile-nav{gap:16px 22px}.apartment-plan-grid{grid-template-columns:1fr}.apartment-plan-controls:not([hidden]){align-items:start;flex-direction:column}.apartment-plan-controls label{width:100%}.apartment-plan-preview img{height:300px}.apartment-plan-dialog-header{padding:14px}.apartment-plan-dialog h2{font-size:18px}.apartment-plan-dialog-header p{font-size:12px}.apartment-plan-dialog-actions{gap:6px}.apartment-plan-dialog button,.apartment-plan-dialog a{padding:9px 10px}.apartment-profile-photos,.apartment-floorplans{margin:36px 0}.apartment-plans-official{max-width:100%;box-sizing:border-box}}
