.apartment-info--plans { align-items: flex-start; gap: 20px; }
.apartment-copy p { margin-top: 14px; max-width: 250px; font-size: 14px; line-height: 1.55; }
.apartment-plan-sizes { display: flex; flex-direction: column; gap: 6px; padding-top: 2px; white-space: nowrap; }
.apartment-plan-sizes span { font-family: 'Playfair Display', Georgia, serif; font-size: 24px; line-height: 1.1; }
.apartment-plan-sizes strong { font-weight: 400; font-size: 30px; }
.apartment-card > img {
  width: 110%;
  max-width: none;
  height: 320px;
  margin: 25px -5% 20px;
  object-fit: contain;
}
.plan-button {
  border-bottom-color: #253c3740;
  transition: color .2s ease, border-color .2s ease;
}
.plan-button span { transition: transform .2s ease; }
@media (hover: hover) {
  .plan-button:hover { color: #897647; border-bottom-color: #897647; }
  .plan-button:hover span { transform: translate(3px, -3px); }
}
.plan-button:focus-visible { color: #897647; border-bottom-color: #897647; }
@media (max-width: 1100px) {
  .apartment-info--plans { display: block; }
  .apartment-plan-sizes { flex-direction: row; flex-wrap: wrap; gap: 8px 20px; margin-top: 20px; }
}
@media (max-width: 760px) {
  .apartment-card > img {
    width: 112%;
    height: auto;
    min-height: 0;
    margin: 20px -6%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .plan-button, .plan-button span { transition: none; }
}
