.home-rentals, .rent-hero, .rent-commercial {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.home-rentals { margin: 0 7vw 7vw; background: #e8e5dd; align-items: stretch; }
.home-rentals img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.home-rentals > div { padding: clamp(24px, 3.3vw, 52px); align-self: center; }
.home-rentals .kicker { margin-bottom: 12px; }
.home-rentals h2 { font-size: clamp(34px, 3.5vw, 60px); margin: 0 0 14px; }
.home-rentals p, .rent-commercial p { line-height: 1.75; font-size: 16px; max-width: 48ch; }
.home-rentals .textlink, .rent-commercial .textlink { margin-top: 20px; display: inline-block; }
.rent-hero { background: #132b34; color: #faf7f0; grid-template-columns: .87fr 1.13fr; }
.rent-heading { align-self: center; padding: clamp(38px, 6vw, 100px) 5vw clamp(38px, 6vw, 100px) 7vw; }
.rent-heading .kicker { color: #ded5c2; }
.rent-heading h1 { font-size: clamp(64px, 7vw, 108px); line-height: .94; letter-spacing: -.045em; margin: 22px 0; }
.rent-heading h1 em { font-weight: 400; }
.rent-heading p { font-size: 16px; line-height: 1.8; max-width: 39ch; margin-bottom: 25px; color: #f4f1e8; }
.rent-heading .button { background: #ede9de; color: #1c3033; border-color: transparent; }
.rent-hero figure { position: relative; margin: 0; min-height: 430px; }
.rent-hero figure img { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; }
.rent-hero figcaption { position: absolute; inset: auto 0 0; padding: 60px 32px 20px; color: #fff; background: linear-gradient(transparent, rgba(14,27,31,.68)); font-size: 16px; }
.rent-hero figcaption span { font-size: 14px; margin-left: .7em; }
.rent-directory { padding: clamp(45px, 6vw, 90px) 7vw; }
.rent-section-title, .rent-meta { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px; }
.rent-section-title h2 { font-size: clamp(38px, 4vw, 63px); letter-spacing: -.035em; }
.rent-section-title .textlink, .rent-commercial .textlink { color: #1f373d; }
.rent-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 24px; margin: 30px 0 0; padding: 20px 0; border-block: 1px solid #c9c7be; }
.rent-filter label { display: grid; gap: 5px; color: #233941; font-size: 14px; }
.rent-filter select { width: 190px; max-width: 100%; background: #fffdf8; color: #203742; border: 1px solid #b5b9b4; padding: 10px; font: inherit; }
.rent-filter select:disabled { opacity: .65; }
.rent-filter .rental-availability-filter { display: flex; align-items: center; gap: 8px; padding-bottom: 11px; }
.rental-availability-filter input { accent-color: #173742; width: 16px; height: 16px; }
.rent-meta { font-size: 14px; color: #515e61; padding: 20px 0; }
.rental-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 23px; }
.rental-card { display: flex; flex-direction: column; background: #fdfcf8; border: 1px solid #dedcd4; }
.rental-photo { aspect-ratio: 1.6; background: #d9dcd7; overflow: hidden; }
.rental-photo img { width: 100%; height: 100%; object-fit: cover; }
.rental-description { display: flex; flex-direction: column; align-items: start; padding: clamp(17px, 2vw, 28px); flex: 1; }
.rental-description .kicker { color: #4b5c62; font-size: 12px; }
.rental-description h4 { font-family: Display, Georgia, serif; font-weight: 400; letter-spacing: -.035em; font-size: clamp(28px, 2.5vw, 42px); line-height: 1.06; margin: 8px 0; }
.rental-address, .rental-facts { font-size: 15px; line-height: 1.6; color: #46585d; }
.rental-facts { flex: 1; padding-block: 10px 4px; }
.rental-facts p { margin: 0; }
.rental-facts .rent-price { font-weight: 600; color: #233c45; }
.rental-link { width: 100%; margin-top: 15px; padding-top: 12px; border-top: 1px solid #cfcec4; display: flex; justify-content: space-between; align-items: center; color: #183640; font-size: 15px; text-decoration: none; }
.rental-link:hover, .rental-link:focus-visible { text-decoration: underline; }
.rental-empty { padding: 40px 0; }
.rental-empty button { background: transparent; border: 0; padding: 8px 0; cursor: pointer; }
.rent-note { font-size: 14px; color: #536168; margin-top: 24px; }
.rent-commercial { background: #e7e5dd; align-items: center; padding: 48px 7vw; gap: 38px; }
.rent-commercial h2 { font-size: clamp(36px, 4vw, 60px); margin-top: 9px; }
.rental-page [hidden] { display: none !important; }
@media (max-width: 1000px) {
  .rental-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .home-rentals, .rent-hero, .rent-commercial { grid-template-columns: 1fr; }
  .rent-hero figure { min-height: 0; aspect-ratio: 1.7; }
  .home-rentals img { aspect-ratio: 1.8; height: auto; }
  .rent-heading { padding: 38px 7vw; }
  .rental-grid { grid-template-columns: 1fr; gap: 20px; }
  .rent-filter { gap: 12px; }
  .rent-filter label:not(.rental-availability-filter) { flex: 1 1 125px; }
  .rent-filter select { width: 100%; }
  .rent-filter .rental-availability-filter { padding-bottom: 0; }
  .rent-commercial { gap: 16px; }
}

.rental-region:not([hidden]) ~ .rental-region:not([hidden]) { margin-top: 52px; }
.rental-region-title { font-size: clamp(30px, 3vw, 42px); margin: 0 0 24px; }
.rent-filter select { font-size: 16px; }
