



.offices-head .wrap { gap: 28px; }
.offices-head-text { display: flex; flex-direction: column; gap: 14px; }
.offices-summary { margin: 0; font-size: clamp(1.125rem, 1.078rem + 0.19vw, 1.25rem); line-height: 1.5; }
.offices-access { margin: 0; font-size: 15px; line-height: 24px; color: var(--ink-2); }

.floor-switch-h {
  margin: 0 0 12px;
  font-family: var(--serif);
  font-size: var(--fs-eyebrow);
  line-height: 16px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-2);
}
.floor-switch-roof { display: none; }
.floor-switch-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.floor-switch-list a {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 8px;
  min-height: 56px;
  height: 100%;
  padding: 8px 12px;
  border: 1px solid var(--occ-line);
  background: var(--white);
  color: var(--ink);
  text-decoration: none;
}
.floor-switch-list a:hover { border-color: var(--ink); color: var(--ink); }
.floor-switch-nr { font-family: var(--serif); font-size: 24px; line-height: 28px; font-weight: 400; }
.floor-switch-word { font-size: 15px; line-height: 20px; font-weight: 500; }
.floor-switch-free { flex-basis: 100%; font-size: 14px; line-height: 20px; color: var(--ink-2); }
.floor-switch-list a[aria-current="page"] {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
  box-shadow: inset 0 -4px 0 var(--accent);
}
.floor-switch-list a[aria-current="page"] .floor-switch-free { color: var(--paper); }



.floor-switch-free.is-free { color: var(--free-ink); font-weight: 600; }
.floor-switch-free.is-none { color: var(--accent); }
.floor-switch-list a[aria-current="page"] .floor-switch-free.is-free { color: #8FD3A9; }
.floor-switch-list a[aria-current="page"] .floor-switch-free.is-none { color: #F2A99B; }
@media (max-width: 35.99em) {
  .floor-switch-word {
    position: absolute;
    width: 1px; height: 1px;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

@media (min-width: 64em) {
  .offices-head .wrap {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 24px;
    align-items: end;
  }
  .offices-head-text { grid-column: 1 / span 7; }
  .floor-switch { grid-column: 8 / span 5; }


  .floor-switch-roof { display: block; position: relative; width: 100%; height: 40px; }
  .floor-switch-roof::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--ink);
    clip-path: polygon(0.1% 39.5px, 6.84% 6.5px, 93.16% 6.5px, 99.9% 39.5px, calc(99.9% - 1.5px) 39.5px, calc(93.16% - 1px) 7.5px, calc(6.84% + 1px) 7.5px, calc(0.1% + 1.5px) 39.5px);
  }
  .floor-switch-roof i { position: absolute; top: 18px; width: 3.8%; height: 12px; border: 1px solid var(--ink); }
  .floor-switch-roof i:nth-child(1) { left: 18.25%; }
  .floor-switch-roof i:nth-child(2) { left: 35.36%; }
  .floor-switch-roof i:nth-child(3) { left: 52.47%; }
  .floor-switch-roof i:nth-child(4) { left: 69.58%; }
  .floor-switch-roof i:nth-child(5) { left: 84.41%; }
  .floor-switch-list { display: flex; flex-direction: column-reverse; }
  .floor-switch-list a { flex-wrap: nowrap; align-items: center; gap: 16px; padding: 0 20px; }
  .floor-switch-nr { width: 48px; font-size: 26px; line-height: 30px; }
  .floor-switch-free { flex-basis: auto; margin-left: auto; }
  .floor-switch-list a[aria-current="page"] { box-shadow: inset 6px 0 0 var(--accent); }
}







.offices {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding-block: 32px var(--section);
}
@media (min-width: 48em) {
  .offices-plan { order: -1; }
  .offices-list { order: 1; }
}
@media (min-width: 64em) {
  .offices {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    column-gap: 24px;
    row-gap: 32px;
    align-items: start;
  }
  .offices-plan { grid-column: 1 / -1; grid-row: 1; }
  .unit-panel { grid-column: 1; grid-row: 2; }
  .offices-list { grid-column: 2; grid-row: 2; }
}
@media (min-width: 90em) {
  .offices {
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    grid-template-rows: auto 1fr;
    row-gap: 24px;
  }
  .offices-plan { grid-column: 1; grid-row: 1; }
  .unit-panel { grid-column: 1; grid-row: 2; }
  .offices-list { grid-column: 2; grid-row: 1 / span 2; }
}

.offices-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
  min-height: 40px;
  margin-bottom: 16px;
}
.offices-bar h2 { font-size: clamp(1.375rem, 1.328rem + 0.19vw, 1.5rem); line-height: 1.25; font-weight: 400; }

.unit-filter { display: flex; align-items: center; gap: 8px; }
.unit-filter[hidden], .offices-empty[hidden] { display: none; }
.unit-filter-label {
  margin-right: 6px;
  font-family: var(--serif);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-2);
}
.unit-filter button {
  min-height: 44px;
  margin: 0;
  padding: 0 16px;
  border: 1px solid var(--occ-line);
  border-radius: 0;
  background: var(--white);
  color: var(--ink);
  font-size: 15px;
  line-height: 20px;
  font-weight: 500;
  cursor: pointer;
}
.unit-filter button[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--white); }


article.page.offices-table { padding: 0; }
.offices table.units {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  border-top: 1px solid var(--ink);
  font-size: 15px;
  line-height: 20px;
}
.offices table.units th {
  padding: 10px 3px;
  border-bottom: 1px solid var(--rule);
  font-family: var(--serif);
  font-size: 10px;
  line-height: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ink-2);
  text-align: left;
  vertical-align: bottom;
}
.offices table.units td {
  height: 52px;
  padding: 4px 3px;
  border-bottom: 1px solid var(--rule);
  vertical-align: middle;
}
.offices table.units th:first-child,
.offices table.units td:first-child { padding-left: 8px; }
.offices table.units tr:has(td.status.is-free) { background: transparent; }
.offices table.units tr:has(td.status.is-free) td:first-child { box-shadow: none; }
.offices table.units td.nr {
  font-family: var(--serif);
  font-size: 20px;
  line-height: 28px;
  font-weight: 400;
  color: var(--ink-2);
  white-space: nowrap;
}
.offices table.units tr.is-office td.nr { color: var(--ink); }
.offices a.unit-pick {
  display: inline-flex;
  align-items: center;
  min-width: 44px;
  min-height: 44px;
  color: var(--ink);
  text-decoration-color: var(--occ-line);
  text-underline-offset: 5px;
}
.offices a.unit-pick:hover { color: var(--accent); text-decoration-color: var(--accent); }
.offices table.units td.name { font-size: 13px; line-height: 18px; color: var(--ink-2); overflow-wrap: break-word; }
.offices table.units td.size { font-size: 13px; font-variant-numeric: tabular-nums; white-space: nowrap; }

.offices table.units .unit-tenant {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  line-height: 14px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--ink);
}
.offices table.units td.status { font-size: 12px; line-height: 16px; color: var(--ink-2); }
.offices table.units td.status.is-free { color: var(--free-ink); font-weight: 600; }
.offices table.units td.status.is-occupied { color: var(--accent); font-weight: 500; }
.offices .dot,
.unit-status .dot {
  display: inline-block;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  margin-right: 7px;
  border-radius: 50%;
  vertical-align: 0;
  background: var(--tint);
}
.offices td.status.is-free .dot { background: var(--free); }
.unit-status.is-free .dot { background: #98D6C6; }
.offices td.status.is-occupied .dot, .unit-status.is-occupied .dot { background: var(--accent); border: 1.5px solid var(--accent); }
.offices table.units tr.is-selected td { background: var(--row-on); }
.offices table.units tr.is-selected td:first-child { box-shadow: inset 4px 0 0 var(--accent); }
.offices table.units tr.is-selected td.nr { font-weight: 500; }




@media (max-width: 22.49em) {
  .offices table.units td.name { font-size: 12px; line-height: 16px; }
  .offices table.units th { letter-spacing: 0; }
  .offices table.units .unit-tenant { font-size: 10px; line-height: 13px; letter-spacing: 0; }
}
@media (min-width: 36em) {
  .offices table.units th { padding: 10px 8px; font-size: 11px; letter-spacing: 0.16em; }
  .offices table.units td { padding: 4px 8px; }
  .offices table.units th:first-child,
  .offices table.units td:first-child { padding-left: 16px; }
  .offices table.units td.nr { font-size: 22px; }
  .offices table.units td.name { font-size: 14px; line-height: 20px; }
  .offices table.units td.size { font-size: 15px; }
  .offices table.units .unit-tenant { font-size: 12px; line-height: 15px; }
  .offices table.units td.status { font-size: 13px; white-space: nowrap; }
}

@media (min-width: 90em) {
  .offices table.units th { padding-inline: 6px; font-size: 10px; letter-spacing: 0.04em; white-space: nowrap; }
  .offices table.units td { padding-inline: 6px; }
  .offices table.units th:first-child,
  .offices table.units td:first-child { padding-left: 12px; }
  .offices table.units td.size { font-size: 13px; }
  .offices table.units td.status { font-size: 12px; }
}

.offices-empty {
  margin: 0;
  padding: 20px;
  border-bottom: 1px solid var(--rule);
  background: var(--white);
  font-size: 16px;
  line-height: 25px;
}



.plan-scroll { overflow-x: auto; overscroll-behavior-x: contain; }
.plan-scroll > .plan { min-width: 46rem; }
@media (min-width: 48em) {
  .plan-scroll { overflow: visible; }
  .plan-scroll > .plan { min-width: 0; }
}
.plan {
  position: relative;
  container-type: inline-size;
  border: 1px solid var(--rule);
  background: var(--white);
}
.plan-svg { display: block; width: 100%; height: auto; overflow: hidden; }

.plan-chip,
.plan-word {
  position: absolute;
  transform: translate(-50%, -50%);
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}
.plan-chip.is-up,
.plan-word.is-up { transform: translate(-50%, -50%) rotate(-90deg); }
.plan-entry {
  position: absolute;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  font-family: var(--sans);
  pointer-events: none;
}
.plan-entry-arrow { position: relative; display: block; width: 10px; height: 12px; }
.plan-entry-arrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 7px solid var(--accent);
}
.plan-entry-arrow::after { content: ""; position: absolute; left: 4px; top: 6px; width: 2px; bottom: 0; background: var(--accent); }
@media (forced-colors: active) {
  .plan-entry-arrow::before { forced-color-adjust: none; border-bottom-color: CanvasText; }
  .plan-entry-arrow::after { forced-color-adjust: none; background: CanvasText; }
}
.plan-entry-label {
  padding: 1px 7px;
  border: 1px solid var(--ink);
  background: var(--white);
  color: var(--ink);
  font-size: 0.8125rem;
  line-height: 16px;
  font-weight: 600;
  white-space: nowrap;
}
.plan-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15em;
  font-family: var(--sans);
  font-size: min(0.8125rem, calc(var(--u) * 100cqw / var(--vbw)));
  font-weight: 600;
  color: var(--ink);
}
.plan-chip.is-row { flex-direction: row; gap: 0.3em; }
.plan-chip-n { display: block; line-height: 0.7; }
.offices.is-live .plan-chip.is-office { pointer-events: auto; cursor: pointer; }
.plan-chip.is-office .plan-chip-n {
  line-height: 1;
  padding: 0.1em 0.28em;
  border: 1px solid var(--tint);
  background: var(--white);
}
.plan-chip.is-free .plan-chip-n { border-color: var(--free); color: var(--free-ink); }
.plan-chip.is-selected .plan-chip-n {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--white);
  box-shadow: inset 0 0 0 1px var(--white);
}
.plan-chip.is-free .plan-chip-n { border-width: 2px; }
.plan-chip-tag {
  display: block;
  padding: 0.14em 0.4em;
  background: var(--free-ink);
  color: var(--white);
  font-size: 0.84em;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.plan-word {
  font-family: var(--serif);
  font-size: min(0.75rem, calc(var(--u) * 100cqw / var(--vbw)));
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink);
}


.plan-svg .room { shape-rendering: crispEdges; vector-effect: non-scaling-stroke; }
.plan-svg .room.is-occupied { fill: #E1C4BF; stroke: var(--accent); stroke-width: 2px; }
.plan-svg .room.is-free { fill: #98D6C6; stroke: var(--free); stroke-width: 8px; }
.plan-svg .room.is-service { fill: #DEE3E5; stroke: none; }
.plan-svg .room.is-occupied.is-selected { stroke-width: 10px; }
.plan-svg .room.is-free.is-selected { stroke-width: 16px; }
.plan-svg .room-ring { fill: none; pointer-events: none; vector-effect: non-scaling-stroke; shape-rendering: crispEdges; }
.plan-svg .room-ring.is-inset { stroke: var(--white); stroke-width: 8px; }
.plan-svg .room-ring.is-ring { stroke: var(--ink); stroke-width: 4px; }
.plan-svg .pl-shared path { fill: #DEE3E5; shape-rendering: crispEdges; }
.plan-svg .pl-roof-wall { fill: #A9B2B7; stroke: none; }
.plan-svg .pl-roof-line { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke: #A9B2B7; stroke-width: 0.45; }
.plan-svg .pl-stair-tint { fill: none; stroke: none; }
.plan-svg .pl-stair-line { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke: var(--ink); stroke-width: 0.6; }
.plan-svg .pl-stair-arrow { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke: var(--ink); stroke-width: 0.85; }
.plan-svg .pl-window path { fill: none; stroke-linecap: butt; stroke: var(--ink); stroke-width: 1; }
.plan-svg .pl-door-leaf { fill: none; stroke-linecap: butt; stroke: var(--ink); stroke-width: 0.8; }
.plan-svg .pl-door-swing { fill: none; stroke-linecap: butt; stroke: var(--ink); stroke-width: 0.7; }
.plan-svg .pl-line path { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke: var(--ink); stroke-width: 0.8; }
.plan-svg .pl-wall path { fill: var(--ink); }

.offices.is-live .plan-svg .room.is-office { cursor: pointer; }
.plan-svg .room.is-none { fill: none; stroke: none; }
.plan-svg .room:not(.is-office),
.plan-svg .pl-rooms ~ * { pointer-events: none; }
.offices-plan { scroll-margin-top: 16px; }

.plan-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  margin-top: 12px;
}
.plan-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 18px;
  color: var(--ink-2);
}
.plan-legend li { display: flex; align-items: center; gap: 8px; }
.plan-key { display: block; width: 22px; height: 16px; }
.plan-key.is-free { border: 4px solid var(--free); background: #98D6C6; }
.plan-key.is-occupied { border: 1px solid var(--accent); background: #E1C4BF; }
.plan-key.is-service { background: #DEE3E5; }
.plan-key.is-selected {
  border: 2px solid var(--ink);
  background: var(--white);
  box-shadow: inset 0 0 0 2px var(--white), inset 0 0 0 3px var(--occ-line);
}
.plan-note {
  margin: 0;
  font-family: var(--serif);
  font-size: 15px;
  line-height: 20px;
  font-style: italic;
  color: var(--ink-2);
}


@media (forced-colors: active) {
  .plan-svg .room.is-free { fill: Canvas; stroke: Highlight; }
  .plan-chip-tag { forced-color-adjust: none; background: Highlight; color: HighlightText; }
  .plan-key.is-free { forced-color-adjust: none; background: Canvas; border-color: Highlight; }
  .plan-svg .room.is-occupied { fill: Canvas; stroke: CanvasText; }
  .plan-key.is-occupied { forced-color-adjust: none; background: Canvas; border-color: CanvasText; }
}

.offices.is-free-only table.units tr.unit:not(.is-free) { display: none; }
.offices.is-free-only .plan-svg .room.is-office:not(.is-free) {
  fill: #FAFAF799;
  stroke: var(--tint);
  stroke-dasharray: 4px 3px;
  pointer-events: none;
  cursor: default;
}
.offices.is-free-only .plan-chip.is-office:not(.is-free) { visibility: hidden; }
.offices.is-free-only.has-none-free table.units { display: none; }


.unit-card {
  display: grid;
  gap: 20px;
  padding: 24px 20px;
  border: 1px solid var(--rule);
  border-top: 3px solid var(--ink);
  background: var(--white);
}
.unit-card.is-none { border-top-color: var(--tint); }
.unit-card-id { display: flex; flex-direction: column; gap: 8px; }
.unit-card-eyebrow,
.unit-card-facts dt {
  margin: 0;
  font-family: var(--serif);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-2);
}
.unit-card-h { display: flex; flex-direction: column; gap: 4px; }
.unit-card-nr { font-family: var(--serif); font-size: clamp(3.5rem, 3.227rem + 1.12vw, 4.5rem); line-height: 1; font-weight: 300; }
.unit-card-name { font-family: var(--sans); font-size: 16px; line-height: 20px; font-weight: 500; }
.unit-card-pick { font-size: 26px; line-height: 32px; font-weight: 400; }
.offices.is-live .pick-static,
.offices:not(.is-live) .pick-live { display: none; }
.unit-card-body { display: flex; flex-direction: column; gap: 16px; }
.unit-card-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 20px;
  margin: 0;
}
.unit-card-facts > div { display: flex; flex-direction: column; gap: 4px; }
.unit-card-facts dd { margin: 0; font-family: var(--serif); font-size: 26px; line-height: 32px; font-weight: 400; }
.unit-card-facts sup { line-height: 0; }
.unit-card-state { grid-column: 1 / -1; }
.unit-card-facts .unit-card-state dd { font-family: var(--sans); font-size: 13px; line-height: 16px; }


.unit-card-tenant { grid-column: 1 / -1; }
.unit-card-facts .unit-card-tenant dd {
  font-family: var(--sans);
  font-size: 15px;
  line-height: 20px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  overflow-wrap: break-word;
}
.unit-status {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border: 1px solid var(--rule);
  background: var(--white);
  color: var(--ink-2);
  font-weight: 500;
}
.unit-status.is-free { border: 1.5px solid var(--free-ink); background: var(--free-ink); color: var(--white); font-weight: 600; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
.unit-status.is-service { border-color: #DEE3E5; background: #DEE3E5; }
.unit-status.is-occupied { border: 1.5px solid var(--accent); background: #F4E6E3; color: var(--accent-deep); font-weight: 600; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
.unit-card-note { margin: 0; font-size: 15px; line-height: 23px; }
.unit-panel-media:empty { display: none; }
.unit-panel-actions { display: flex; flex-direction: column; gap: 10px; list-style: none; margin: 0; padding: 0; }
.unit-panel-actions .btn { width: 100%; min-height: 52px; padding: 12px 18px; font-size: 15px; text-align: center; }
.unit-panel-actions .btn-primary { font-size: 16px; }
.unit-card-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  width: 100%;
  font-weight: 600;
}
.unit-card-more .icon { color: var(--accent); }
.unit-card-more-wrap { margin: 0; }
.unit-card-more-wrap .unit-card-more { width: auto; justify-content: flex-start; }

.unit-panel { container: unit-panel / inline-size; }
@container unit-panel (min-width: 34rem) {
  .unit-card {
    grid-template-columns: 10rem minmax(0, 1fr);
    column-gap: 32px;
    align-items: start;
    padding: 28px 32px;
  }
  .unit-card .unit-panel-actions { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; }
  .unit-card .unit-panel-actions li { flex: 1 1 13rem; }
  .unit-card.is-none { grid-template-columns: minmax(0, 1fr); }
}
@container unit-panel (min-width: 46rem) {
  .unit-card { grid-template-columns: 10rem minmax(0, 1fr) 16rem; }
  .unit-card .unit-panel-actions { grid-column: auto; flex-direction: column; align-items: stretch; }
  .unit-card .unit-panel-actions li { flex: none; }
  .unit-card.is-none { grid-template-columns: minmax(0, 1fr) 16rem; }
  .unit-card.is-none .unit-card-id,
  .unit-card.is-none .unit-card-body { grid-column: 1; }
  .unit-card.is-none .unit-panel-actions { grid-column: 2; grid-row: 1 / span 2; }
}


.floor-cards-wrap { padding-top: 32px; }
.floor-cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.floor-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 16px 20px;
  border: 1px solid var(--rule);
  background: var(--white);
}
.floor-card:hover { border-color: var(--ink); }
.floor-card .plan { border: 0; }
.floor-card .plan-svg { aspect-ratio: 469 / 226; }
.floor-card-plan { margin-bottom: 8px; }
.floor-card-title { font-size: clamp(1.625rem, 1.532rem + 0.381vw, 1.875rem); line-height: 1.15; font-weight: 300; }
.floor-card-title a { color: var(--ink); text-decoration: none; }
.floor-card-title a::after { content: ""; position: absolute; inset: 0; }
.floor-card:hover .floor-card-title a { color: var(--accent); }
.floor-card-counts { margin: 0; font-size: 15px; line-height: 22px; color: var(--ink-2); }
.floor-card.has-free .floor-card-counts { color: var(--free-ink); font-weight: 600; }
@media (min-width: 48em) {
  .floor-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
}


.offices-overview .body > p.is-blank { display: none; }
.offices-overview .body > h2 {
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid var(--rule);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
}
.offices-overview .body > h2:first-of-type { margin-top: 24px; border-top: 1px solid var(--rule); }
.offices-overview .body > h2 a { text-decoration-color: var(--occ-line); text-underline-offset: 4px; }


@media print {
  .floor-switch, .offices-empty, .unit-panel { display: none !important; }
  .offices { display: flex; flex-direction: column; gap: 12pt; padding-block: 12pt 0; }
  .offices-plan { order: -1; break-inside: avoid; }
  .plan-scroll > .plan { min-width: 0; }
  .plan-chip { font-size: min(9pt, calc(var(--u) * 100cqw / var(--vbw))); }
  .plan-chip, .plan-chip-n, .plan-chip-tag, .plan-key { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .offices a.unit-pick { min-height: 0; text-decoration: none; }
  .offices table.units td { height: auto; padding-block: 2pt; }
  .offices-bar { min-height: 0; margin-bottom: 6pt; }
  .offices-head .wrap { gap: 6pt; }
  .floor-card { break-inside: avoid; }
  .offices.is-free-only table.units { display: table !important; }
  .offices.is-free-only .plan-chip { visibility: visible !important; }
  .offices.is-free-only .plan-svg .room.is-office.is-occupied { fill: #E1C4BF; stroke: var(--accent); stroke-dasharray: none; }


  .plan-svg .room.is-free { fill: #62AC80; }
  .plan-key.is-free { background: #62AC80; }
  .plan-key.is-occupied, .plan-svg .room { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
