/* HOME-VILLA-21: one presentation, scoped to the unified Home. */
.home-story { gap: 7vw; padding-block: clamp(48px, 7vw, 88px); scroll-margin-top: 120px; }
.home-story > div:last-child > p:first-child { margin-top: 0; }
.home-story h2 { font-size: clamp(2.8rem, 5vw, 5.5rem); }
.home-villa-stay { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); scroll-margin-top: 120px; }
.home-villa-stay > .photo-frame { padding: 0; min-width: 0; }
.home-villa-stay > .photo-frame img { width: 100%; height: 100%; max-height: 760px; object-fit: cover; }
.home-villa-stay > div:not(.photo-frame) { padding: clamp(36px, 5vw, 72px) clamp(24px, 5vw, 64px); display: flex; flex-direction: column; justify-content: center; }
.home-villa-stay h2 { font-size: clamp(2.7rem, 4.5vw, 4.8rem); }
.home-villa-stay p:not(.eyebrow) { margin: 22px 0 0; max-width: none; }
.home-page .page-cards { padding: clamp(48px, 7vw, 88px) 5vw; }
.home-villa-events { gap: 7vw; align-items: start; padding-block: clamp(48px, 6vw, 80px); scroll-margin-top: 120px; }
.home-villa-events h2 { font-size: clamp(2.7rem, 4.7vw, 5rem); }
.home-villa-events > div:last-child > p { margin-top: 0; }
@media (max-width: 900px) {
  .home-story, .home-villa-stay, .home-villa-events { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .home-villa-stay { gap: 0; }
  .home-villa-stay > .photo-frame img { height: auto; max-height: 560px; aspect-ratio: 4 / 3; }
}
