/* Homepage editorial rhythm. These rules do not change directory or article layouts. */
.home-page { --home-gutter: max(clamp(24px, 5vw, 80px), calc((100vw - 1440px) / 2)); }
.home-page :is(.visual-showcase,.section,.split-section,.interest-band) {
  padding: clamp(56px, 6vw, 96px) var(--home-gutter);
}
.home-page :is(.showcase-copy,.section-heading,.split-copy,.editorial-copy,.interest-band > div) h2 {
  margin: 0 0 20px;
  font-size: clamp(30px, 3.1vw, 44px);
  line-height: 1.18;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.home-page :is(.showcase-copy,.section-heading,.split-copy,.editorial-copy,.interest-band > div) .eyebrow {
  margin: 0 0 14px;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: .12em;
  color: #846020;
}
.home-page :is(.section-heading,.split-copy,.showcase-copy) p:not(.eyebrow) {
  margin: 0;
  color: #665b52;
  font-size: 17px;
  line-height: 1.8;
  max-width: 740px;
}
.home-page .section-heading { display: block; max-width: 800px; margin: 0 0 40px; }
.home-page .compact-heading > div:last-child { max-width: none; }
.home-page .destination-groups { gap: 48px; }
.home-page .destination-group-head { display: block; padding-top: 24px; }
.home-page .destination-group-head .eyebrow { margin: 0 0 8px; font-size: 21px; line-height: 1.3; text-transform: none; color: var(--ink); }
.home-page .destination-group-head p { max-width: 800px; margin: 0; font-size: 16px; line-height: 1.7; }
.home-page .destination-group { display: grid; gap: 22px; }
.home-page .feature-grid { width: 100%; }
.home-page .feature-card img { aspect-ratio: 3 / 2; }
.home-page .feature-card h3,.home-page .food-card h3,.home-page .culture-item h3 { font-size: 22px; line-height: 1.3; }
.home-page :is(.feature-card,.food-card,.culture-item) p:last-child { margin-bottom: 0; font-size: 16px; line-height: 1.75; }
.home-page .split-section { display: block; }
.home-page .split-copy { max-width: 800px; margin-bottom: 36px; }
.home-page .food-panel { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
.home-page .food-image-wrap img { height: auto; aspect-ratio: 4 / 3; }
.home-page .food-card > div:last-child { padding: 22px; }
.home-page .section-action { margin-top: 36px; }
.home-page .visual-showcase { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(32px,5vw,72px); }
.home-page .showcase-mosaic { min-width: 0; }
.home-page .editorial-feature { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.home-page .editorial-copy { padding: clamp(36px,5vw,80px); }
.home-page .editorial-copy .eyebrow,.home-page .interest-band .eyebrow { color: #e5be73; }
.home-page .editorial-copy p:not(.eyebrow) { margin: 0; font-size: 17px; line-height: 1.85; }
.home-page .story-action { margin-top: 0; padding-top: 12px; }
.home-page .culture-list { gap: 22px; }
.home-page .culture-item { padding: 18px; }
.home-page .interest-band { display: block; }
.home-page .interest-band > div { max-width: 780px; margin-bottom: 32px; }
.home-page .interest-band > div > p:last-child { margin: 0; font-size: 17px; }
.home-page .interest-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.home-page .interest-grid a { padding: 24px; }
.home-page .interest-grid span { font-size: 21px; line-height: 1.3; }
@media (max-width:1100px) {
  .home-page .food-panel,.home-page .culture-list,.home-page .interest-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .home-page .visual-showcase,.home-page .editorial-feature { grid-template-columns: minmax(0,1fr); }
  .home-page .showcase-copy { max-width: 740px; }
  .home-page .showcase-mosaic { grid-template-rows: repeat(2,minmax(180px,1fr)); }
  .home-page .editorial-image { min-height: 0; }
  .home-page .editorial-image img { min-height: 0; height: auto; aspect-ratio: 16 / 9; }
  .home-page .editorial-copy { padding: 40px var(--home-gutter); }
}
@media (max-width:620px) {
  .home-page .section-heading { margin-bottom: 30px; }
  .home-page .food-panel,.home-page .culture-list,.home-page .interest-grid { grid-template-columns: minmax(0,1fr); }
  .home-page .showcase-mosaic { grid-template-columns: minmax(0,1fr); grid-template-rows: none; }
  .home-page .showcase-mosaic .mosaic-large { grid-row: auto; }
  .home-page .showcase-mosaic figure { min-height: 0; aspect-ratio: 3 / 2; }
  .home-page .showcase-mosaic img { height: 100%; }
  .home-page .destination-groups { gap: 36px; }
}
.home-page main > section[id] { scroll-margin-top: 104px; }
@media (max-width:900px) { .home-page main > section[id] { scroll-margin-top: 188px; } }

/* Preserve skyline detail and complete tower outlines on wide displays. */
.home-page .hero-media img { object-position: center center; }
@media (min-width: 1640px) { .home-page .hero { min-height: 50vw; } }
@media (max-width: 620px) { .home-page .hero-media img { object-position: center center; } }
