/* Villa, resort and golf: extend the established NiMax design tokens. */
.story-pair { display: grid; gap: 2.5rem; align-items: center; }
.story-pair > * { min-width: 0; }
.story-pair figure img { aspect-ratio: 4/3; object-fit: cover; }
.soft-surface { background: var(--sand); }
.wide-photo img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.wide-photo .caption { margin-block: 1rem 0; }
.golf-photo img { object-position: 50% 78%; }
.destination-page .page-intro .text-link { margin-top: 1.5rem; }
.destination-page .page-lead { max-width: 45rem; }
.amenity-list { list-style: none; padding: 0; margin: 1.5rem 0 0; border-top: 1px solid var(--line); }
.amenity-list li { border-bottom: 1px solid var(--line); padding: .875rem 0; font-size: 1rem; line-height: 1.65; }
.practical-columns { display: grid; gap: 3rem; margin-top: 2.5rem; }
.practical-columns h3, .stay-notes h3, .golf-planning h3 { font-size: 2rem; }
.stay-notes .text-link, .golf-planning .text-link { margin-top: 1.5rem; }
.resort-access { display: grid; gap: 2rem; }
.lead-copy { font-size: 1.3125rem; line-height: 1.6; }
.hotel-names { display: grid; gap: 1.5rem; padding-block: 2rem; border-block: 1px solid var(--line); }
.hotel-names p { font-family: var(--serif); font-size: 1.75rem; line-height: 1.2; }
.possibility-grid { display: grid; gap: 2.5rem; margin-top: 2.5rem; }
.possibility-grid article { border-top: 1px solid var(--line); padding-top: 1.5rem; }
.possibility-grid h3 { margin-bottom: 1rem; font-size: 2rem; }
.course-intro { display: grid; gap: 1.5rem; margin-bottom: 3rem; }
.course-list { border-top: 1px solid var(--line); }
.course-row { display: grid; gap: 1rem; padding-block: 2rem; border-bottom: 1px solid var(--line); }
.course-row h3 { max-width: 25ch; }
.course-location { margin-top: .75rem; color: var(--muted); font-size: .9375rem; }
.course-designer { font-size: .875rem; color: var(--muted); margin-top: 1rem; }
.course-list + .text-link { margin-top: 1.5rem; }
.home-resort-hero h1 { font-size: clamp(3rem,5.4vw,5.8rem); }
.home-resort-hero .hero-subtitle { max-width: 42rem; font-size: 1rem; line-height: 1.65; }
@media (min-width: 48rem) {
  .practical-columns, .hotel-names { grid-template-columns: 1fr 1fr; gap: 3rem; }
  .possibility-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; }
  .course-row { grid-template-columns: .9fr 1.1fr; gap: 3rem; }
  .wide-photo img { aspect-ratio: 21/10; }
}
@media (min-width: 64rem) {
  .story-pair { grid-template-columns: 1fr 1fr; gap: 8%; }
  .story-pair figure img { aspect-ratio: 5/4; }
  .story-pair.reverse { grid-template-columns: 1.05fr 1fr; }
  .resort-access { grid-template-columns: 1fr 1.2fr; gap: 8%; }
  .course-intro { grid-template-columns: 1.1fr 1fr; gap: 8%; align-items: end; }
  .course-row { padding-block: 2.5rem; }
  .home-resort-hero .hero-content h1 { max-width: 60rem; }
  .hotel-names p { font-size: 2.25rem; }
}

/* Approved NiMax wordmark, shared by all eight pages. */
.brand img { width: 142px; height: auto; }
@media (min-width: 64rem) {
  .brand img { width: 168px; }
}
