/* Homepage, 14 October 2026. Detail pages retain their own reading layouts. */
.home .resort-hero .hero-content { padding-top: 76px; padding-bottom: 90px; }
.home .resort-hero .hero-content > p:not(.eyebrow) { font-size: 1.0625rem; max-width: 42ch; text-wrap: balance; }
.home .hero-actions { margin-top: 34px; }
.home .resort-hero h1 { font-size: clamp(58px, 6.1vw, 88px); max-width: 1100px; }
.home .hero-bottom { justify-content: center; }
.home .hero-bottom a { position: static; transform: none; display: grid; place-items: center; width: 48px; height: 48px; }
.home-welcome { text-align: center; padding-top: 104px; padding-bottom: 72px; }
.home-welcome h2 { font-size: clamp(52px, 5vw, 72px); line-height: 1.04; letter-spacing: -.02em; }
.home-welcome > p:not(.eyebrow) { max-width: 57ch; margin: 28px auto 18px; font-size: 1.0625rem; line-height: 1.85; color: var(--muted); }
.home-welcome > .text-link { margin-top: 4px; }
.home-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 24px; margin: 44px auto 0; padding-top: 26px; border-top: 1px solid var(--hotel-rule); max-width: 820px; }
.home-details a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; font-size: .8125rem; color: var(--muted); line-height: 1.7; text-wrap: balance; }
.home-details a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 5px; }
.home .home-stories { padding-top: 16px; padding-bottom: 100px; gap: 8%; grid-template-columns: 1.15fr 1fr; }
.home-stories .retreat-primary .retreat-image { aspect-ratio: 5 / 4.8; }
.home-stories .retreat-secondary { padding-top: 100px; }
.home-stories .retreat-secondary .retreat-image { aspect-ratio: 5 / 5.1; }
.home-stories .retreat-image img { object-position: center; }
.home-stories .retreat-caption { padding-top: 28px; }
.home-stories .retreat-caption .eyebrow { margin-bottom: 18px; font-size: .6875rem; }
.home-stories h2 { font-size: clamp(38px, 3.6vw, 52px); line-height: 1.08; }
.home-stories .retreat-caption > p:not(.eyebrow) { max-width: 36ch; margin-top: 22px; margin-bottom: 12px; font-size: 1rem; line-height: 1.8; }
.home-stories .text-link { font-size: .875rem; min-height: 44px; margin-top: 8px; }
.home-stories #woonmomenten .text-link { border-color: transparent; margin-top: 0; color: var(--muted); }
.home-stories #woonmomenten .text-link:hover { border-color: var(--hotel-rule); }
.home .project-feature { background: #eee6dc; border-top: 0; padding-top: 80px; padding-bottom: 80px; grid-template-columns: 1.18fr 1fr; gap: 8%; }
.home .project-feature-image { padding: 0; border: 0; background: transparent; }
.home .project-feature .project-photo img { aspect-ratio: 4 / 3; object-fit: cover; }
.home .project-feature .project-photo figcaption { font-size: .75rem; margin-top: 12px; }
.home .project-feature h2 { font-size: clamp(36px, 3.7vw, 54px); line-height: 1.1; }
.home .project-feature-copy > p:not(.eyebrow) { max-width: 36ch; }
.home .personal-reviews { background: var(--paper); border: 0; padding-top: 94px; padding-bottom: 94px; align-items: start; }
.home .review-intro h2 { font-size: clamp(38px, 3.6vw, 52px); }
.home .review-story blockquote p { font-size: clamp(27px, 2.25vw, 34px); }
.home-invitation { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 10%; border-top: 1px solid var(--hotel-rule); padding-top: 88px; padding-bottom: 88px; }
.home-advice h2 { font-size: clamp(46px, 4.7vw, 68px); line-height: 1.06; letter-spacing: -.02em; }
.home-advice > p:not(.eyebrow) { max-width: 43ch; color: var(--muted); font-size: 1rem; line-height: 1.85; margin: 26px 0; }
.home-advice-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
.home-advice-actions .button { font-size: .875rem; }
.home-advice-actions .text-link { margin: 0; font-size: .875rem; min-height: 56px; }
.home-team-link { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; margin-top: 16px; color: var(--muted); font-size: .8125rem; }
.home-team-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.home-practical { border-left: 1px solid var(--hotel-rule); padding: 8px 0 0 40px; }
.home-practical .eyebrow { font-size: .6875rem; line-height: 1.8; }
.home-practical h3 { font-size: clamp(30px, 2.8vw, 40px); line-height: 1.15; }
.home-practical p:not(.eyebrow) { max-width: 38ch; font-size: .9375rem; line-height: 1.85; color: var(--muted); margin-top: 20px; }
.home-practical .text-link { font-size: .875rem; min-height: 48px; margin-top: 12px; }
.home-help { display: grid; gap: 4px; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--hotel-rule); }
.home-help a { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 44px; font-size: .8125rem; }
.home-help a:hover { text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 900px) {
  .home-invitation { gap: 7%; }
  .home-practical { padding-left: 24px; }
}
@media (max-width: 700px) {
  .home .resort-hero { min-height: min(640px, calc(100svh - 120px)); }
  .home .resort-hero .hero-content { padding: 64px 20px 92px; }
  .home .resort-hero .hero-content > p:not(.eyebrow) { max-width: 28ch; font-size: 1rem; }
  .home .resort-hero h1 { font-size: clamp(36px, 10.1vw, 46px); line-height: 1.08; }
  .home .hero-actions { margin-top: 26px; gap: 10px; }
  .home-welcome { padding-top: 64px; padding-bottom: 44px; }
  .home-welcome h2 { font-size: 48px; }
  .home-welcome > p:not(.eyebrow) { font-size: 1rem; margin-top: 24px; }
  .home-details { grid-template-columns: 1fr; gap: 0; margin-top: 26px; padding-top: 16px; }
  .home-details a { justify-content: center; }
  .home .home-stories { grid-template-columns: 1fr; padding-top: 0; padding-bottom: 60px; gap: 46px; }
  .home-stories .retreat-primary .retreat-image { aspect-ratio: 5 / 4.8; }
  .home-stories .retreat-secondary { padding-top: 0; padding-left: 0; }
  .home-stories .retreat-secondary .retreat-image { aspect-ratio: 5 / 4.8; }
  .home-stories h2 { font-size: 38px; }
  .home-stories .retreat-caption { padding-top: 24px; }
  .home-stories .retreat-caption > p:not(.eyebrow) { margin-top: 18px; }
  .home .project-feature { grid-template-columns: 1fr; padding-top: 48px; padding-bottom: 52px; gap: 30px; }
  .home .project-feature h2 { font-size: 38px; }
  .home .project-feature-copy > p:not(.eyebrow) { margin: 20px 0 10px; }
  .home .personal-reviews { padding-top: 60px; padding-bottom: 60px; gap: 30px; }
  .home .review-intro h2 { font-size: 38px; }
  .home .review-intro h2 br { display: none; }
  .home .review-intro h2 em::before { content: ' '; }
  .home .review-story blockquote p { font-size: 28px; }
  .home-invitation { grid-template-columns: 1fr; padding-top: 60px; padding-bottom: 54px; gap: 42px; }
  .home-advice h2 { font-size: 43px; }
  .home-advice-actions { gap: 12px; }
  .home-advice-actions .button { width: 100%; justify-content: space-between; }
  .home-practical { border-left: 0; border-top: 1px solid var(--hotel-rule); padding: 32px 0 0; }
  .home-practical h3 { font-size: 34px; }
  .home-practical p:not(.eyebrow) { max-width: none; }
}
