.typlan,.typlan-modal{--typ-dark: #382A29;--typ-accent: #7B3F2B;--typ-hl: #83B3CA;--typ-panel: #FBF5F0;--typ-land: #F5EEE8;--typ-pave: #E6DCD3;--typ-avail: #FFFFFF;--typ-ok: #2e8b57;--typ-ok-bg: #e6f4ec;--typ-res: #c58a1b;--typ-res-bg: #fbf1dc;--typ-off: #8a8a8a;--typ-off-bg: #efefef}.typlan{color:var(--typ-dark);font-family:inherit}.typlan-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(18px,3vh,32px)}.typlan-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:1rem;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--typ-accent)}.typlan-eyebrow:before{content:"";width:36px;height:1px;background:currentColor}.typlan .typlan-title{margin:0;font-size:clamp(28px,3vw,44px);font-weight:500;line-height:1.06;letter-spacing:-.02em;color:inherit}.typlan .typlan-summary{margin:0;font-size:15px;font-weight:600;color:var(--typ-accent)}.typlan-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:clamp(20px,3vw,40px);align-items:stretch}.typlan-wrap{position:relative;padding:16px 16px 68px;background:var(--typ-panel);border:1px solid rgba(56,42,41,.12);border-radius:8px}.typlan-svg{display:block;width:100%;height:auto;max-height:70vh;aspect-ratio:940 / 512;overflow:visible}.typlan-svg .land{fill:var(--typ-land)}.typlan-svg .pave{fill:var(--typ-pave);stroke:#382a2973;stroke-width:1.2}.typlan-svg .line{fill:none;stroke:#382a2973;stroke-width:1.2}.typlan-svg .line.dashed{stroke-dasharray:3 2}.typlan-svg .pad{fill:#c9c1bb;stroke:#382a2980;stroke-width:1}.typlan-svg .dot{fill:var(--typ-dark)}.typlan-svg .wall{fill:none;stroke:var(--typ-dark);stroke-width:2.5}.typlan-svg .bldg{fill:none;stroke:var(--typ-dark);stroke-width:3;pointer-events:none}.typlan-svg .door{fill:none;stroke:var(--typ-dark);stroke-width:5;pointer-events:none}.typlan-svg .mandoor{fill:none;stroke:#382a29b3;stroke-width:1;pointer-events:none}.typlan-svg .suite{stroke:var(--typ-dark);stroke-width:1.2;cursor:pointer;transition:fill .2s;outline:none}.typlan-svg .suite.s-available{fill:var(--typ-avail)}.typlan-svg .suite.s-reserved{fill:var(--typ-accent)}.typlan-svg .suite.s-available:hover,.typlan-svg .suite.s-available:focus{fill:#eaf3f7}.typlan-svg .suite.s-reserved:hover,.typlan-svg .suite.s-reserved:focus{fill:#6a3524}.typlan-svg .suite.is-hl,.typlan-svg .suite:focus-visible{stroke:var(--typ-hl);stroke-width:4}.typlan-svg .suite-label,.typlan-svg .suite-sub{text-anchor:middle;pointer-events:none;fill:var(--typ-dark);font-family:inherit}.typlan-svg .suite-label{font-size:15px;font-weight:600}.typlan-svg .suite-sub{font-size:12px}.typlan-svg .s-reserved.suite-label,.typlan-svg .s-reserved.suite-sub{fill:#ffede1}.typlan-svg .s-leased.suite-label,.typlan-svg .s-leased.suite-sub{fill:#6f6561;paint-order:stroke;stroke:#efe8e3;stroke-width:4px;stroke-linejoin:round}.typlan-legend{position:absolute;left:16px;bottom:16px;display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 14px;background:#fff;border:1px solid rgba(56,42,41,.12);border-radius:6px;font-size:13px;font-weight:600}.typlan-legend span{display:inline-flex;align-items:center}.typlan .swatch,.typlan-modal .swatch{width:14px;height:14px;margin-right:8px;border-radius:3px;border:1px solid rgba(56,42,41,.45)}.typlan .swatch.s-available{background:var(--typ-avail)}.typlan .swatch.s-reserved{background:var(--typ-accent)}.typlan .swatch.s-leased{background:repeating-linear-gradient(45deg,#382a2952 0 2px,#efe8e3 2px 6px)}.typlan-tip{position:absolute;z-index:5;pointer-events:none;padding:8px 12px;border-radius:4px;background:var(--typ-dark);color:#ffede1;font-size:13px;line-height:1.45;white-space:nowrap;opacity:0;transition:opacity .15s}.typlan-tip.show{opacity:1}.typlan-list{display:flex;flex-direction:column}.typlan .typlan-list-title{margin:0 0 8px;font-size:20px;font-weight:600;letter-spacing:-.01em;color:inherit}.typlan-list ul{margin:0;padding:0;list-style:none}.typlan .typlan-item{margin:0;padding:18px 0;border-top:1px solid rgba(56,42,41,.18)}.typlan .typlan-item:last-child{border-bottom:1px solid rgba(56,42,41,.18)}.typlan-item:before{display:none}.typlan-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.typlan .typlan-open{margin:0;padding:0;border:0;background:none;box-shadow:none;color:inherit;font:inherit;font-size:18px;font-weight:600;line-height:1.3;text-transform:none;letter-spacing:normal;cursor:pointer;text-align:left}.typlan .typlan-open:hover,.typlan .typlan-open:focus{background:none;color:var(--typ-accent)}.typlan-item-head span{font-size:13px;font-weight:600}.typlan-item-head .is-full{color:#9a918c}.typlan-bars{display:flex;gap:4px;margin:10px 0 8px}.typlan-bars i{flex:1;height:6px;border-radius:2px}.typlan-bars .s-available{background:var(--typ-avail);box-shadow:inset 0 0 0 1px #382a2973}.typlan-bars .s-reserved{background:var(--typ-accent)}.typlan-bars .s-leased{background:repeating-linear-gradient(45deg,#382a2952 0 2px,#efe8e3 2px 6px)}.typlan-meta{margin-bottom:10px;font-size:13px;opacity:.75}.typlan-grid.is-solo{grid-template-columns:minmax(0,1fr)}.typlan .typlan-item-title{font-size:18px;font-weight:600;line-height:1.3}.typlan-item.is-doc .typlan-item-head{margin-bottom:6px}.typlan-copy{margin:0 0 10px;font-size:14px;line-height:1.55}.typlan-copy>:first-child{margin-top:0}.typlan-copy>:last-child{margin-bottom:0}.typlan-copy p,.typlan-copy ul,.typlan-copy ol{margin:0 0 8px}.typlan-copy ul,.typlan-copy ol{padding-left:18px}.typlan-copy a{color:var(--typ-accent)}.typlan .typlan-link{display:inline-flex;align-items:center;gap:8px;padding-bottom:2px;font-size:14px;font-weight:600;color:var(--typ-accent);text-decoration:none;border-bottom:1px solid currentColor}.typlan .typlan-link.is-soon{color:#9a918c;border-bottom-style:dashed}.typlan-link span{transition:transform .2s}.typlan-link:hover span{transform:translateY(2px)}@media (max-width: 960px){.typlan-grid{grid-template-columns:1fr}.typlan-head{flex-direction:column;align-items:flex-start}}@media (max-width: 560px){.typlan-wrap{padding:10px}.typlan-legend{position:static;margin-top:10px;gap:6px 14px;padding:8px 12px;font-size:12px}.typlan-svg .suite-sub{display:none}}html.typlan-lock,html.typlan-lock body{overflow:hidden}.typlan-modal{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;background:#14141473;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s;color:var(--typ-dark);font-family:inherit}.typlan-modal.open{opacity:1;visibility:visible;transition:opacity .3s ease}.typlan-sheet{position:relative;width:100%;max-width:880px;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:2.5rem;border-radius:6px;background:#fff;transform:translateY(16px);transition:transform .3s ease}.typlan-modal.open .typlan-sheet{transform:none}.typlan-modal .typlan-close{position:absolute;top:12px;right:12px;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:50%;background:#f3f0ee;color:#222;font-size:16px;line-height:1;cursor:pointer;box-shadow:none}.typlan-modal .typlan-close:hover{background:#e6e1de}.typlan-mhead{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin:0 0 1.5rem;padding-right:44px}.typlan-modal .typlan-mtitle{margin:0;font-size:28px;font-weight:500;line-height:1.15;color:inherit}.typlan-modal .typlan-msub{margin:4px 0 0;font-size:13px;color:#888}.typlan-mbtns{display:flex;flex-wrap:wrap;gap:8px}.typlan-modal .typlan-btn{display:inline-block;padding:12px 22px;border-radius:4px;border:1px solid var(--typ-dark);background:var(--typ-dark);color:#ffede1;font-size:14px;font-weight:600;text-decoration:none;text-align:center;line-height:1.2;transition:background-color .2s,border-color .2s,color .2s}.typlan-modal .typlan-btn:hover{background:var(--typ-accent);border-color:var(--typ-accent);color:#ffede1}.typlan-modal .typlan-btn.ghost{background:transparent;color:var(--typ-dark)}.typlan-modal .typlan-btn.ghost:hover{background:var(--typ-dark);color:#ffede1}.typlan-gallery{position:relative;margin-bottom:2rem}.typlan-gallery[hidden]{display:none}.typlan-track{display:flex;transition:transform .4s ease}.typlan-gallery{overflow:hidden;border-radius:4px}.typlan-slide{flex:0 0 100%;aspect-ratio:16 / 7;background:#eee}.typlan-slide img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}.typlan-modal .typlan-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;margin:0;padding:0;border:0;border-radius:50%;background:#ffffffe6;color:#222;font-size:18px;line-height:1;cursor:pointer;box-shadow:none}.typlan-modal .typlan-nav[hidden]{display:none}.typlan-nav.prev{left:12px}.typlan-nav.next{right:12px}.typlan-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:8px}.typlan-modal .typlan-dots button{width:8px;height:8px;margin:0;padding:0;border:0;border-radius:50%;background:#fff9;cursor:pointer;box-shadow:none}.typlan-modal .typlan-dots button.active{background:#fff}.typlan-avail{margin-bottom:2rem}.typlan-avail-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.typlan-modal h4{margin:0;font-size:16px;font-weight:600;color:inherit}.typlan-table-wrap{overflow-x:auto}.typlan-modal table{width:100%;margin:0;border:0;border-collapse:collapse;font-size:14px;background:none}.typlan-modal th,.typlan-modal td{border:0;background:none;text-align:left}.typlan-bays th{padding:8px 8px 8px 0;border-bottom:1px solid #ddd;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#999}.typlan-bays td{padding:11px 8px 11px 0;border-bottom:1px solid #eee}.typlan-bays td:first-child{font-weight:500}.typlan-bays tr.is-open td{background:#2e8b570d}.typlan-modal .typlan-note{margin:10px 0 0;font-size:12px;color:#888}.typlan-specs{margin-bottom:2rem!important}.typlan-specs[hidden]{display:none}.typlan-specs td{padding:10px 8px 10px 0;border-bottom:1px solid #eee}.typlan-specs td:first-child{width:40%;color:#888}.typlan-pill{display:inline-flex;align-items:center;padding:3px 10px 3px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--typ-off-bg);color:#666}.typlan-pill.s-available{background:var(--typ-ok-bg);color:var(--typ-ok)}.typlan-pill.s-reserved{background:var(--typ-res-bg);color:#8f610a}.typlan-pill .dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--typ-off)}.typlan-pill.s-available .dot{background:var(--typ-ok)}.typlan-pill.s-reserved .dot{background:var(--typ-res)}.typlan-features[hidden]{display:none}.typlan-features h4{margin-bottom:.75rem!important}.typlan-features ul{margin:0;padding:0;list-style:none;columns:2;column-gap:2rem;font-size:14px;line-height:1.5}.typlan-features li{position:relative;margin:0;padding:0 0 10px 18px;break-inside:avoid}.typlan-features li:before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--typ-dark)}@media (max-width: 768px){.typlan-modal{padding:0;align-items:flex-end}.typlan-sheet{max-height:92vh;padding:1.5rem;border-radius:12px 12px 0 0}.typlan-mhead{flex-direction:column;align-items:flex-start}.typlan-features ul{columns:1}}@media (prefers-reduced-motion: reduce){.typlan-modal,.typlan-sheet,.typlan-track{transition:none}}
