.apartment-view-switch { display: flex; flex: none; align-self: flex-end; justify-content: flex-end; gap: .35rem; margin-bottom: .35rem; }
.apartment-view-switch button { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 2.75rem; padding: .6rem 1.25rem; border: 1px solid var(--color-action-neutral); background: transparent; color: var(--color-action-neutral); font: 500 .9rem var(--font-body); cursor: pointer; }
.apartment-view-switch__icon { width: 1rem; height: 1rem; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; }
.apartment-view-switch button[aria-pressed='true'] { background: var(--color-action-neutral); color: var(--color-text-on-action); }
.apartment-explorer--list .apartment-layout { grid-template-columns: 1fr; }
.apartment-explorer--list .featured-apartment,
.apartment-explorer--list .apartment-listing { display: none; }
.apartment-rows { min-width: 0; }
.apartment-buildings { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(.75rem, 3vw, 3rem); width: 100%; min-width: 0; }
.apartment-explorer--list .apartment-buildings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.75rem, 3vw, 3rem); width: 100%; }
.apartment-buildings__house { min-width: 0; }
.apartment-buildings__house h2 { margin-bottom: .75rem; font-size: clamp(1.2rem, 2.5vw, 2rem); }
.apartment-buildings__caption { grid-column: 1 / -1; margin: 0; text-align: center; color: var(--color-text-secondary); font-family: var(--font-body); font-weight: 400; font-size: clamp(.9rem, 1.44vw, 1.14rem); }
.apartment-buildings__hover { min-height: 1.5em; margin-bottom: .5rem; color: var(--color-action-primary); font-weight: 700; }
.apartment-buildings .unit-hotspot[aria-disabled='true'] { pointer-events: none; }
.apartment-buildings .unit-hotspot[aria-disabled='true'] polygon { fill: var(--color-surface-page); opacity: .65; }
.apartment-row { scroll-margin-top: 6rem; }
.apartment-row { border-bottom: 1px solid var(--color-border-subtle); }
.apartment-row:first-child { border-top: 1px solid var(--color-border-subtle); }
.apartment-row[hidden], .apartment-rows[hidden] { display: none; }
.apartment-row__summary { display: grid; grid-template-columns: .65fr .65fr .7fr .6fr .9fr 1.5fr .8fr .85fr; align-items: start; gap: .75rem; padding: 1.2rem .75rem; list-style: none; cursor: pointer; }
.apartment-row__summary::-webkit-details-marker { display: none; }
.apartment-row__summary:hover, .apartment-row[open] > .apartment-row__summary { background: var(--color-surface-card-active); }
.apartment-row__summary:focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: -2px; }
.apartment-row__cell { display: grid; gap: .4rem; min-width: 0; font-size: .95rem; font-weight: 400; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.apartment-row__label { color: var(--color-text-secondary); font: 500 .65rem var(--font-body); letter-spacing: .06em; text-transform: uppercase; }
.apartment-row__number > span:last-child { font: 400 var(--type-apartment-row-number)/1.1 var(--font-display); white-space: nowrap; }
.apartment-row__cell .card-status { display: inline-block; justify-self: start; font-size: .75rem; padding: .25rem .4rem; }
.apartment-row__expand { align-self: center; display: flex; align-items: center; justify-content: flex-end; gap: .5rem; font-size: .75rem; font-weight: 500; }
.apartment-row__plus { font-size: 1.5rem; line-height: 1; transition: transform .2s var(--ease-standard); }
.apartment-row__close-label { display: none; }
.apartment-row[open] .apartment-row__open-label { display: none; }
.apartment-row[open] .apartment-row__close-label { display: inline; }
.apartment-row[open] .apartment-row__plus { transform: rotate(45deg); }
.apartment-row__reveal { overflow: hidden; }
.apartment-row__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: 'building plan' 'action action'; justify-content: center; align-items: start; justify-items: center; gap: 1.5rem; padding: clamp(1rem, 2vw, 1.5rem); padding-bottom: 3rem; background: var(--color-surface-raised); }
.apartment-row__building, .apartment-row__plan { width: 100%; min-width: 0; }
.apartment-row__building { grid-area: building; }
.apartment-row__plan { grid-area: plan; }
.apartment-row__details h3 { margin-bottom: .75rem; font-size: clamp(1.2rem, 2vw, 1.5rem); }
.card-isometric--row { display: block; margin: 0; }
.card-isometric--row img { aspect-ratio: var(--ratio-apartment-row-media); object-fit: contain; }
.drawing-message { margin-block: .75rem 0; color: var(--color-text-secondary); font-size: .9rem; }
.apartment-plan-button { display: block; width: 100%; padding: 0; border: 0; background: var(--color-surface-raised); color: var(--color-text-primary); cursor: zoom-in; }
.apartment-plan-button img { display: block; width: 100%; height: auto; aspect-ratio: var(--ratio-apartment-row-media); object-fit: contain; }
.apartment-row__action { grid-area: action; width: 100%; margin-top: 0; }
.apartment-row__action:hover { background: var(--color-action-primary-hover); }
.apartment-plan-dialog { width: min(96vw, 90rem); max-width: none; max-height: 94svh; margin: auto; padding: 0; border: 0; background: var(--color-surface-raised); color: var(--color-text-primary); overflow: auto; }
.apartment-plan-dialog::backdrop { background: var(--color-story-shade); }
.apartment-plan-dialog header { position: sticky; top: 0; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem; background: var(--color-surface-raised); }
.apartment-plan-dialog h2 { margin: 0; font-size: clamp(1.1rem, 2vw, 1.75rem); }
.apartment-plan-dialog button { flex: none; min-height: 2.75rem; border: 1px solid var(--color-border-control); padding: .5rem .75rem; background: transparent; color: inherit; font: 500 .9rem var(--font-body); cursor: pointer; }
.apartment-plan-dialog > img { display: block; width: 100%; height: auto; }
.has-apartment-plan { overflow: hidden; }
.parking-listing { width: 94%; margin-inline: auto; padding-block: clamp(3rem, 6vw, 6rem) clamp(5.5rem, 10vw, 10rem); }
.parking-listing__toggle { display: none; }
.parking-listing h2 { margin-bottom: 2rem; font-size: clamp(2.2rem, 5vw, 5rem); line-height: 1.1; }
.parking-listing__row { display: grid; grid-template-columns: 2fr 1fr 1fr; align-items: center; gap: 1.5rem; padding: 1.2rem .75rem; border-block: 1px solid var(--color-border-subtle); }
.parking-listing__contact { margin: 1rem .75rem 0; }
.parking-listing__plan { margin: 0; padding: 1.5rem; background: var(--color-surface-raised); }
.parking-listing__plan img { display: block; width: min(100%, 49rem); height: auto; margin-inline: auto; }
@media (min-width: 1201px) {
  .parking-listing { width: 70%; }
}
@media (max-width: 1200px) {
  .apartments-intro .intro-line { flex-wrap: wrap; }
  .apartment-view-switch { flex-basis: 100%; margin-top: .5rem; margin-bottom: 0; }
}
@media (min-width: 651px) and (max-width: 1200px) {
  .apartment-row__summary { grid-template-columns: .8fr 1fr 1.3fr .9fr .8fr; grid-template-areas: 'number residence floor status expand' 'number rooms area price .'; gap: 1rem; }
  .apartment-row__number { grid-area: number; align-content: start; }
  .apartment-row__residence { grid-area: residence; }
  .apartment-row__floor { grid-area: floor; }
  .apartment-row__rooms { grid-area: rooms; }
  .apartment-row__area { grid-area: area; }
  .apartment-row__price { grid-area: price; }
  .apartment-row__status { grid-area: status; }
  .apartment-row__expand { grid-area: expand; align-self: start; }
}
@media (max-width: 650px) {
  .apartment-buildings, .apartment-explorer--list .apartment-buildings { display: none; }
  .parking-listing__toggle { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; padding: 1rem .75rem; font-size: .85rem; font-weight: 500; list-style: none; cursor: pointer; }
  .parking-listing__toggle::-webkit-details-marker { display: none; }
  .parking-listing__toggle span { font-size: 1.5rem; line-height: 1; }
  .parking-listing__details[open] .parking-listing__toggle span { transform: rotate(45deg); }
  .parking-listing__row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .parking-listing__contact { grid-column: 1 / -1; }
  .parking-listing__plan { padding: .75rem; }
  .apartment-row__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: 'number status' 'residence floor' 'rooms area' 'price expand'; gap: 1rem; padding: 1.25rem .75rem 2.5rem; }
  .apartment-row__cell { gap: .25rem; font-size: .95rem; }
  .apartment-row__number { grid-area: number; display: grid; gap: .25rem; }
  .apartment-row__number .apartment-row__label { font-size: .85rem; letter-spacing: normal; text-transform: none; }
  .apartment-row__status { grid-area: status; justify-self: end; align-self: center; }
  .apartment-row__status .apartment-row__label { display: none; }
  .apartment-row__residence { grid-area: residence; }
  .apartment-row__floor { grid-area: floor; }
  .apartment-row__rooms { grid-area: rooms; }
  .apartment-row__area { grid-area: area; }
  .apartment-row__price { grid-area: price; padding-top: .75rem; border-top: 1px solid var(--color-border-subtle); }
  .apartment-row__expand { grid-area: expand; align-self: stretch; min-height: 2.75rem; padding-top: .75rem; border-top: 1px solid var(--color-border-subtle); font-size: .85rem; }
  .apartment-row__details { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'building' 'plan' 'action'; padding: 1rem .75rem 4rem; }
}
