.availability-page{padding-top:88px}.availability-hero{background:#17181a;color:#f4f2ed;min-height:460px;padding:90px max(5vw,32px) 70px;display:grid;grid-template-columns:1.5fr .5fr;gap:60px;align-items:end}.availability-hero h1{font-size:clamp(48px,7vw,104px);line-height:.9;margin:24px 0 28px;letter-spacing:-.055em}.availability-hero h1 em,.request h2 em{font-style:normal;color:#c1712e}.availability-hero p{max-width:700px;font-size:20px;line-height:1.55;color:#c9c9c4}.availability-summary{border-left:1px solid #484947;padding-left:36px;display:flex;flex-direction:column}.availability-summary strong{font:700 clamp(70px,9vw,130px)/.8 'IBM Plex Mono';color:#e69456}.availability-summary span{font:600 14px 'IBM Plex Mono';letter-spacing:.08em;text-transform:uppercase;margin-top:20px}.availability-summary small{color:#9c9d90;margin-top:8px}.office-browser{padding:80px max(4vw,28px);background:#f4f2ed}.browser-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.browser-top h2{font-size:clamp(36px,4vw,60px);margin:10px 0 0}.floor-tabs{display:flex;border:1px solid #c9c6be}.floor-tab{padding:16px 30px;border:0;background:transparent;font:600 13px 'IBM Plex Mono';cursor:pointer}.floor-tab.active{background:#17181a;color:white}.browser-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.65fr);gap:24px}.plan-panel{background:white;border:1px solid #dedbd4;padding:18px}.plan-head{display:flex;justify-content:space-between;font:600 12px 'IBM Plex Mono';letter-spacing:.08em;padding:5px 5px 15px;color:#6f706b}.plan-panel img{width:100%;height:auto;display:block;background:white}.plan-legend{display:flex;gap:22px;flex-wrap:wrap;padding:18px 4px 3px;font-size:12px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.dot.available{background:#c1712e}.dot.selected{background:#17181a}.dot.occupied{background:#c7c5bf}.office-list{display:flex;flex-direction:column;gap:8px}.office-item button{width:100%;display:grid;grid-template-columns:72px 1fr auto 34px;gap:12px;align-items:center;text-align:left;border:1px solid #d7d4cd;background:white;padding:17px 16px;cursor:pointer;transition:.18s}.office-item button:hover{border-color:#c1712e;transform:translateX(-3px)}.office-code{font:700 20px 'IBM Plex Mono';color:#c1712e}.office-meta{display:flex;flex-direction:column}.office-meta b{font-size:15px}.office-meta small{margin-top:4px;color:#777873}.office-status{font:600 11px 'IBM Plex Mono';text-transform:uppercase;color:#70716d}.office-check{width:28px;height:28px;border:1px solid #bbb8b1;display:grid;place-items:center;font:600 18px 'IBM Plex Mono'}.office-item.is-selected button{background:#17181a;color:white;border-color:#17181a}.office-item.is-selected .office-meta small,.office-item.is-selected .office-status{color:#bdbdb7}.office-item.is-selected .office-check{background:#c1712e;border-color:#c1712e}.selection-bar{position:sticky;bottom:0;z-index:20;background:#17181a;color:white;padding:18px max(4vw,28px);display:grid;grid-template-columns:1fr auto auto;gap:40px;align-items:center;box-shadow:0 -8px 28px #0002}.selection-bar[hidden]{display:none}.selection-bar div{display:flex;flex-direction:column;gap:4px}.selection-bar span,.request-selection span{font:500 10px 'IBM Plex Mono';letter-spacing:.12em;color:#9c9d90}.selection-bar strong{font:600 15px 'IBM Plex Mono'}.request-selection{margin-top:34px;padding:20px;border-left:3px solid #c1712e;background:#eeebe4;display:flex;flex-direction:column;gap:7px}.request-selection strong{font:600 16px 'IBM Plex Mono'}.nav a.active{color:#c1712e}.footer-links a{color:inherit;text-decoration:none;font-size:13px}
@media(max-width:900px){.availability-hero{grid-template-columns:1fr;min-height:auto;padding-top:70px}.availability-summary{border-left:0;border-top:1px solid #484947;padding:28px 0 0}.browser-top{align-items:flex-start;flex-direction:column}.browser-grid{grid-template-columns:1fr}.office-list{display:grid;grid-template-columns:1fr 1fr}.selection-bar{grid-template-columns:1fr auto}.selection-bar .btn{grid-column:1/-1;text-align:center}.plan-panel{overflow:auto}.plan-panel img{min-width:650px}}@media(max-width:620px){.office-list{grid-template-columns:1fr}.office-item button{grid-template-columns:60px 1fr auto}.office-status{display:none}.availability-hero{padding-left:22px;padding-right:22px}.office-browser{padding-left:16px;padding-right:16px}}

/* Simplified interactive leasing diagram */
.schematic-panel{position:relative;overflow:hidden}.interactive-plan-wrap{position:relative;min-height:560px;background:#f7f5ef;border:1px solid #e4e0d8;overflow:hidden}.interactive-plan{width:100%;height:100%;min-height:560px;display:block}.plan-corridor{fill:#e9e6de;stroke:#cfcbc1;stroke-width:2}.plan-room{cursor:pointer;outline:none}.plan-room polygon{stroke:#f4f2ed;stroke-width:6;transition:fill .22s ease,transform .22s ease,stroke .22s ease;transform-box:fill-box;transform-origin:center}.plan-room.available polygon{fill:#5f956e}.plan-room.occupied polygon{fill:#b85e58;cursor:not-allowed}.plan-room.selected polygon{fill:#c1712e;stroke:#17181a;stroke-width:7;transform:scale(1.025);filter:drop-shadow(0 8px 13px rgba(0,0,0,.18))}.plan-room.available:hover polygon,.plan-room.available:focus polygon{fill:#4d825d;transform:scale(1.018)}.room-number{font:700 23px 'IBM Plex Mono';fill:white;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.room-area{font:500 12px 'IBM Plex Mono';fill:rgba(255,255,255,.82);text-anchor:middle;pointer-events:none}.plan-center-label{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;color:#17181a}.plan-center-label span{display:block;font:600 11px 'IBM Plex Mono';letter-spacing:.18em}.plan-center-label strong{display:block;font:700 35px 'IBM Plex Mono';color:#c1712e;line-height:1.05}.plan-center-label small{display:block;margin-top:6px;font:600 10px 'IBM Plex Mono';color:#7d7e78}.plan-help{font-size:12px;color:#85857f;line-height:1.5;margin:14px 4px 2px;max-width:720px}.dot.available{background:#5f956e}.dot.selected{background:#c1712e}.dot.occupied{background:#b85e58}.office-item.occupied button{opacity:.62;cursor:not-allowed}.office-item.occupied .office-code{color:#b85e58}.office-item.available .office-code{color:#4d825d}.office-item.is-selected .office-code{color:#e69456}
@media(max-width:900px){.interactive-plan-wrap,.interactive-plan{min-height:500px}.plan-panel{overflow:visible}.plan-panel img{min-width:0}}
@media(max-width:620px){.interactive-plan-wrap,.interactive-plan{min-height:390px}.room-number{font-size:19px}.room-area{display:none}.plan-center-label strong{font-size:26px}}
/* v5 — cleaner non-overlapping interactive floor map */
.interactive-plan-wrap{min-height:610px;background:linear-gradient(180deg,#faf9f5 0%,#f5f2eb 100%)}
.interactive-plan{min-height:610px}
.plan-spine{fill:#e9e6de;stroke:#d4cfc5;stroke-width:2}.plan-branch{fill:none;stroke:#d4cfc5;stroke-width:18;stroke-linecap:round}.plan-core{fill:#e2ded4;stroke:#cbc5ba;stroke-width:2}
.plan-room polygon{stroke:#fff;stroke-width:8;filter:drop-shadow(0 5px 9px rgba(23,24,26,.06))}
.plan-room.selected polygon{stroke:#17181a;stroke-width:6;transform:scale(1.018)}
.plan-center-label{top:50%;left:50%}.plan-center-label span{font-size:9px}.plan-center-label strong{font-size:29px}.plan-center-label small{font-size:9px}
.parking-live-card{margin-top:20px;border:1px solid #d7d4cd;background:#fff;padding:20px;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;align-items:baseline}.parking-live-card>small{grid-column:1/-1;font:600 10px 'IBM Plex Mono';letter-spacing:.1em;color:#7b7c77}.parking-live-card strong{font:700 25px 'IBM Plex Mono';color:#4d825d}.parking-live-card span{font-size:13px;color:#646560}.lang-link{font:700 11px 'IBM Plex Mono';border:1px solid #c7c4bc;padding:7px 9px!important}
@media(max-width:620px){.interactive-plan-wrap,.interactive-plan{min-height:470px}.room-number{font-size:17px}.parking-live-card{grid-template-columns:auto 1fr}}
/* v6 — floor geometry retraced from the supplied architectural plans */
.interactive-plan-wrap{min-height:650px;background:#f8f6f0;border:1px solid #e2ded5}
.interactive-plan{min-height:650px;overflow:visible}
.plan-circulation{fill:#e4e0d7;stroke:#cfc9bd;stroke-width:3;stroke-linejoin:round}
.plan-support{fill:#efede7;stroke:#d8d3c9;stroke-width:2.5;stroke-linejoin:round}
.plan-floor-tag{font:600 12px 'IBM Plex Mono';fill:#8c8a83;text-anchor:middle;letter-spacing:.12em}
.plan-room polygon{stroke:#f8f6f0;stroke-width:7;stroke-linejoin:round;filter:drop-shadow(0 3px 6px rgba(23,24,26,.05));transition:fill .18s ease,transform .18s ease,opacity .18s ease,stroke .18s ease}
.plan-room.available polygon{fill:#5f956e}.plan-room.occupied polygon{fill:#b85e58}.plan-room.selected polygon{fill:#c1712e;stroke:#17181a;stroke-width:5;transform:scale(1.012);filter:drop-shadow(0 7px 12px rgba(23,24,26,.15))}
.plan-room.preview polygon{stroke:#17181a;stroke-width:5;filter:drop-shadow(0 8px 14px rgba(23,24,26,.12))}
.interactive-plan-wrap.has-preview .plan-room:not(.preview) polygon{opacity:.55}
.room-number{font-size:22px}.room-area{font-size:12px}
.plan-center-label,.plan-spine,.plan-branch,.plan-core{display:none!important}
@media(max-width:900px){.interactive-plan-wrap,.interactive-plan{min-height:590px}}
@media(max-width:620px){.interactive-plan-wrap,.interactive-plan{min-height:470px}.room-number{font-size:18px}.room-area{font-size:10px;display:block}}

/* v7 — architectural floor selector: contiguous traced plan, muted non-lettable areas */
.interactive-plan-wrap{min-height:690px;background:#fbfaf6;border:1px solid #e4e0d8;padding:12px}
.interactive-plan{min-height:666px;max-height:720px}
.plan-shell{fill:#f2efe8;stroke:#bbb5aa;stroke-width:3;stroke-linejoin:round}
.plan-background{fill:#e8e4dc;stroke:#cfc9bd;stroke-width:2.4;stroke-linejoin:round}
.plan-circulation{fill:#f8f6f0;stroke:#c9c3b8;stroke-width:2.6;stroke-linejoin:round}
.plan-orientation line,.plan-orientation path{stroke:#8f8b82;fill:#8f8b82;stroke-width:2}.plan-orientation text{font:600 11px 'IBM Plex Mono';fill:#8f8b82;text-anchor:middle}
.plan-room polygon{stroke:#fbfaf6;stroke-width:5;stroke-linejoin:round;filter:none;transition:fill .18s ease,stroke .18s ease,opacity .18s ease,filter .18s ease}
.plan-room.available polygon{fill:#5f956e}.plan-room.occupied polygon{fill:#b85e58}.plan-room.selected polygon{fill:#c1712e;stroke:#17181a;stroke-width:4;transform:none;filter:drop-shadow(0 6px 10px rgba(23,24,26,.13))}
.plan-room.available:hover polygon,.plan-room.available:focus polygon,.plan-room.preview polygon{fill:#4f835e;stroke:#17181a;stroke-width:4;transform:none;filter:drop-shadow(0 5px 9px rgba(23,24,26,.10))}
.interactive-plan-wrap.has-preview .plan-room:not(.preview) polygon{opacity:.62}
.room-number{font:700 21px 'IBM Plex Mono';fill:#fff;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.room-area{font:500 11px 'IBM Plex Mono';fill:rgba(255,255,255,.86);text-anchor:middle;pointer-events:none}
.plan-floor-tag{display:none!important}
@media(max-width:900px){.interactive-plan-wrap{min-height:600px}.interactive-plan{min-height:576px}}
@media(max-width:620px){.interactive-plan-wrap{min-height:460px;padding:4px}.interactive-plan{min-height:448px}.room-number{font-size:18px}.room-area{font-size:9px}}

/* v8 exact-plan selector */
.plan-blueprint{opacity:.78;pointer-events:none}
.plan-room polygon{stroke:#fff;stroke-width:5;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:.18s}
.plan-room.available polygon{fill:rgba(78,143,99,.80)}
.plan-room.occupied polygon{fill:rgba(184,77,68,.84)}
.plan-room.selected polygon{fill:rgba(193,113,46,.92);stroke:#17181a;stroke-width:3}
.plan-room.preview polygon{stroke:#17181a;stroke-width:3}
.interactive-plan-wrap.has-preview .plan-room:not(.preview){opacity:.42}
.room-number,.room-area{fill:#fff;text-anchor:middle;pointer-events:none;font-family:"IBM Plex Mono",monospace}
.room-number{font-size:24px;font-weight:700}.room-area{font-size:13px;font-weight:500}

/* v9 — coordinates traced in the source drawing's own coordinate system */
.plan-blueprint{opacity:.16;filter:grayscale(1);pointer-events:none}
.plan-room polygon{stroke:#fff;stroke-width:4;vector-effect:non-scaling-stroke}
.plan-room.available polygon{fill:rgba(78,143,99,.88)}
.plan-room.occupied polygon{fill:rgba(184,77,68,.90)}
.plan-room.selected polygon{fill:rgba(193,113,46,.94)}
.room-number{font-size:27px}.room-area{font-size:15px}

/* v10 — clean commercial floor selector, no technical drawing visible */
.interactive-plan{background:#f7f5ef}
.plan-blueprint{display:none!important}
.plan-room polygon{
  stroke:#f7f5ef!important;
  stroke-width:5!important;
  stroke-linejoin:miter!important;
  stroke-linecap:square!important;
  vector-effect:non-scaling-stroke;
}
.plan-room.available polygon{fill:#639a76!important}
.plan-room.occupied polygon{fill:#b95d55!important}
.plan-room.selected polygon{fill:#c1712e!important;stroke:#17181a!important;stroke-width:3!important}
.plan-room.preview polygon{stroke:#17181a!important;stroke-width:3!important}
.room-number,.room-area{stroke:none!important}

/* v11 — wall-traced geometry */
.interactive-plan{
  background:#f7f5ef;
}
.plan-room polygon{
  stroke:#f7f5ef!important;
  stroke-width:4!important;
  stroke-linejoin:miter!important;
  stroke-linecap:square!important;
  vector-effect:non-scaling-stroke;
  shape-rendering:geometricPrecision;
}
.plan-room.available polygon{fill:#639a76!important}
.plan-room.occupied polygon{fill:#b95d55!important}
.plan-room.selected polygon{
  fill:#c1712e!important;
  stroke:#17181a!important;
  stroke-width:3!important;
}
.plan-room.preview polygon{
  stroke:#17181a!important;
  stroke-width:3!important;
}
.room-number{
  font-size:24px!important;
  font-weight:700;
}
.room-area{
  font-size:12px!important;
}

/* v13 — exact placement from verified source overlay */
.interactive-plan{background:#f7f5ef}
.plan-room polygon{
  stroke:#f7f5ef!important;
  stroke-width:5!important;
  stroke-linejoin:miter!important;
  stroke-linecap:square!important;
  vector-effect:non-scaling-stroke;
  shape-rendering:geometricPrecision;
}
.plan-room.available polygon{fill:#639a76!important}
.plan-room.occupied polygon{fill:#b95d55!important}
.plan-room.selected polygon{fill:#c1712e!important;stroke:#17181a!important;stroke-width:3!important}
.plan-room.preview polygon{stroke:#17181a!important;stroke-width:3!important}
.room-number{font-size:42px!important;font-weight:700}
.room-area{font-size:20px!important}

/* v20 — aligned internal office edges.
   Keep the verified room geometry unchanged; normalize only the shared visual boundary. */
.interactive-plan .plan-room polygon{
  stroke:#f4f2ed!important;
  stroke-width:2!important;
  stroke-linejoin:miter!important;
  stroke-linecap:square!important;
  vector-effect:non-scaling-stroke!important;
  shape-rendering:geometricPrecision;
}
.interactive-plan .plan-room.selected polygon,
.interactive-plan .plan-room.preview polygon{
  stroke:#17181a!important;
  stroke-width:2.5!important;
}
