/* Welcome (home) — page rules. Values are Figma px from node 192:211 (see COMPONENTS.md section map). */
.home-features, .home-strip, .home-models, .home-services, .home-places {
  --home-gap-hero: clamp(64px, 6.25vw, 120px);
  --home-gap-strip-top: clamp(56px, 6.2vw, 119px);
  --home-gap-strip-bottom: clamp(56px, 6vw, 115px);
  --home-models-top: clamp(64px, 5.5vw, 106px);
  --home-models-bottom: clamp(64px, 5.9vw, 113px);
  --home-services-top: clamp(64px, 5.6vw, 107px);
  --home-services-bottom: clamp(64px, 6vw, 116px);
  --home-places-top: clamp(64px, 5.5vw, 106px);
  --home-places-bottom: clamp(64px, 5.7vw, 110px);
  --home-lead-w: 631px;
  --home-side-w: 532px;
  --home-tall-inset: min(20.1%, 127px);
  --home-badge-half: 68px;
  --home-title-w: 504px;
  --home-head-cards: clamp(32px, 2.9vw, 37px);
  --home-row-gap: clamp(32px, 2.8vw, 54px);
}

/* ---------- Highlighted features ---------- */
.home-features { padding-top: var(--home-gap-hero); padding-bottom: 0; }
.home-features__row { display: flex; align-items: flex-start; justify-content: space-between; gap: clamp(32px, 5vw, 100px); }
.home-features__lead { flex: 1 1 0%; min-width: 0; max-width: var(--home-lead-w); }
.home-features__side { flex: 1 1 0%; min-width: 0; max-width: var(--home-side-w); }
.home-features__head { gap: 27px; padding-top: 17px; align-items: flex-start; }
.home-features__head .title { max-width: var(--home-lead-w); }
.home-features__media { position: relative; margin-top: clamp(32px, 3.7vw, 71px); padding-left: var(--home-tall-inset); }
.home-features__media .badge-rotate { position: absolute; left: calc(var(--home-tall-inset) - var(--home-badge-half)); top: 20.5%; z-index: 1; }
.home-features__wide { aspect-ratio: 532 / 633; }
.home-features__side .body-text { margin-top: clamp(28px, 3.4vw, 66px); }

/* ---------- Feature strip ---------- */
.home-strip { padding-top: var(--home-gap-strip-top); padding-bottom: var(--home-gap-strip-bottom); }
.home-strip .feature-strip__item { padding-bottom: 0; }

/* ---------- Models (dark) ---------- */
.home-models { padding-top: var(--home-models-top); padding-bottom: var(--home-models-bottom); }
.home-models .section-head--split { display: grid; grid-template-columns: minmax(0, 662fr) minmax(0, 459fr) auto; column-gap: 0; }
.home-models .section-head__title { max-width: var(--home-title-w); }
.home-models .section-head__aside { max-width: 408px; padding-top: 7px; }
.home-models .link-line { margin-top: 7px; }
.home-models .grid-4 { margin-top: var(--home-head-cards); row-gap: var(--home-row-gap); }

/* ---------- Services (cream) ---------- */
.home-services { padding-top: var(--home-services-top); padding-bottom: var(--home-services-bottom); }
.home-services .section-head { gap: 12px; max-width: none; }
.home-services .section-head .subtitle { max-width: 608px; }
.home-services .feature-grid { margin-top: clamp(36px, 2.9vw, 56px); row-gap: 54px; }

/* ---------- Locations ---------- */
.home-places { padding-top: var(--home-places-top); padding-bottom: var(--home-places-bottom); }
.home-places .section-head--split { display: grid; grid-template-columns: minmax(0, 700fr) minmax(0, 590fr); column-gap: 0; }
.home-places .section-head__aside { max-width: none; padding-top: 4px; }
.home-places .place-strip { margin-top: var(--home-head-cards); }

/* ---------- Responsive ---------- */
@media (max-width: 1280px) {
  .home-models .section-head--split { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto; column-gap: 32px; }
  .home-places .section-head--split { column-gap: 32px; }
}
@media (max-width: 991px) {
  .home-features__row { flex-direction: column; align-items: stretch; gap: 48px; }
  .home-features__lead, .home-features__side { flex: 0 0 auto; width: 100%; margin-inline: auto; }
  .home-models .section-head--split, .home-places .section-head--split { grid-template-columns: minmax(0, 1fr); row-gap: 16px; }
  .home-models .section-head__title, .home-models .section-head__aside, .home-places .section-head__aside { max-width: none; padding-top: 0; }
  .home-models .link-line { margin-top: 0; justify-self: start; }
}
@media (max-width: 767px) {
  .home-services .feature-grid { row-gap: 36px; }
}
@media (max-width: 479px) {
  .home-places .section-head__aside br { display: none; }
}
