.footer-contact { display: flex; flex-wrap: wrap; gap: 14px 30px; margin: -35px 0 34px; color: #8cd7e5; font-size: 12px; }
.footer-contact span { color: rgba(242,249,252,.7); }
.footer-contact a:hover { text-decoration: underline; }
.property-facts { grid-template-columns: repeat(4, 1fr); }
.property-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
.availability-note { margin-top: 34px; padding: 24px; border-top: 1px solid var(--coral); background: var(--warm); }
.availability-note h3 { margin: 0 0 12px; color: var(--navy); font-family: 'Playfair Display', Georgia, serif; font-size: 25px; font-weight: 500; line-height: 1.1; }
.availability-note p, .booking-source-note { color: var(--muted); font-size: 12px !important; line-height: 1.7; }
.availability-note .text-link { font-size: 9px; white-space: normal; }
.email-handoff-note { margin: 0 0 27px; padding: 15px 17px; background: #e4f4f9; border-left: 2px solid #258ba8; color: var(--navy); font-size: 12px; line-height: 1.7; }
.email-handoff-note a, .form-success a { text-decoration: underline; overflow-wrap: anywhere; }
.form-success #open-inquiry-draft { display: block; margin: 12px 0; font-weight: 600; }
.form-success > span { display: block; }
.property-outro { max-width: 800px; margin: 0; color: var(--cream); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(35px, 5vw, 66px); line-height: .98; letter-spacing: -.05em; }
.detail-quote .section-kicker { color: #8cd7e5; }
.brand-copy strong { white-space: nowrap; }
.card-footer span { line-height: 1.65; }
.section-kicker, .card-body .card-meta { color: #1c718a; }
.button-coral { background: #1c718a; }
.inquiry-band .button, .distance-list li span:last-child { color: #1c718a; }
@media (max-width: 640px) {
  .footer-contact { flex-direction: column; gap: 12px; margin-top: -30px; }
  .property-facts { grid-template-columns: repeat(2, 1fr); }
  .property-actions { align-items: flex-start; flex-direction: column; }
  .property-hero h1 { font-size: clamp(44px, 12.5vw, 59px); overflow-wrap: break-word; }
  .email-handoff-note { padding: 13px 12px; }
  .brand-copy strong { font-size: 17px; }
}

/* White editorial canvas with pool-blue accents kept to small details. */
:root {
  --cream: #ffffff;
  --warm: #ffffff;
  --white: #ffffff;
  --coral: #4f98ad;
  --coral-soft: #8cc7d5;
  background: #ffffff;
}
body, .site-chrome, .announcement, .page-intro, .collection-wrap,
.collection-page, .property-hero, .property-detail, .inquiry-page,
.location-section, .form-shell, .card-image, .fact, .availability-note {
  background-color: #ffffff;
}
#app:focus { outline: none; }
.announcement { background: #f5f7f8; }
.email-handoff-note { background: #f1f7f9; }

/* Three coordinated, evenly aligned residence cards. */
.stay-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.stay-card:nth-child(1), .stay-card:nth-child(2), .stay-card:nth-child(3),
.collection-page .stay-card:nth-child(1), .collection-page .stay-card:nth-child(2), .collection-page .stay-card:nth-child(3) {
  grid-column: auto;
  margin-top: 0;
}
.card-image, .stay-card:nth-child(2) .card-image, .stay-card:nth-child(3) .card-image {
  aspect-ratio: 4 / 3;
}
.card-image img { object-fit: cover; }

/* Keep just the photographic hero and footer as substantial dark areas. */
.experience-band, .detail-quote {
  color: var(--navy);
  background: #ffffff;
}
.experience-copy .section-kicker, .experience-copy h2, .experience-copy h2 em,
.experience-list li, .experience-list b, .detail-quote blockquote,
.detail-quote .section-kicker, .detail-quote cite {
  color: var(--navy);
}
.experience-copy p, .experience-list li { color: #58666b; }
.experience-list li, .experience-list li:last-child { border-color: rgba(31,52,65,.16); }
.experience-band .button-ghost { color: var(--navy); border-color: rgba(31,52,65,.35); background: #fff; }
.experience-image::after { background: #eaf4f6; }
.location-card { color: var(--navy); background: #f5f7f8; }
.location-card .eyebrow, .location-card h3 { color: var(--navy); }
.location-card p { color: #58666b; }
.location-card::before { border-color: rgba(31,52,65,.12); box-shadow: 0 0 0 38px rgba(31,52,65,.025), 0 0 0 76px rgba(31,52,65,.02); }
.inquiry-band { color: var(--navy); background: #f5f7f8; }
.inquiry-band h2 { color: var(--navy); }
.inquiry-band .button { color: #fff; background: var(--navy); }
.inquiry-band .button:hover { background: #243e4c; }

@media (max-width: 900px) {
  .stay-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .stay-grid { display: flex; flex-direction: column; }
  .stay-card:nth-child(1), .stay-card:nth-child(2), .stay-card:nth-child(3),
  .collection-page .stay-card:nth-child(1), .collection-page .stay-card:nth-child(2), .collection-page .stay-card:nth-child(3) {
    width: 100%;
    margin-top: 0;
  }
  .card-image, .stay-card:nth-child(2) .card-image, .stay-card:nth-child(3) .card-image {
    aspect-ratio: 4 / 3;
  }
}
