/* House & Land page typography normalisation.
   Loaded after component and shell styles so the approved DK readability
   hierarchy wins without changing shared typography or frozen components. */

html body.house-land-page {
  --hl-type-h2: 48px;
  --hl-type-support: 18px;
  --hl-type-body: 16.5px;
  --hl-type-card: 15.5px;
  --hl-type-compact: 15px;
}

/* Hero: retain the approved display serif and strengthen only its description. */
html body.house-land-page #main-content .hl-hero__lead {
  color: #405866 !important;
  font-family: var(--hl-sans) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
}

/* Functional section headings and supporting text. */
html body.house-land-page #main-content .hl-section-heading h2,
html body.house-land-page #main-content .hl-designs__heading h2,
html body.house-land-page #main-content .hl-journey__heading h2,
html body.house-land-page #main-content .hl-coverage--growth .dk-coverage__title,
html body.house-land-page #main-content .hl-faq__intro h2 {
  color: var(--hl-navy) !important;
  font-family: var(--hl-sans) !important;
  font-size: var(--hl-type-h2) !important;
  font-weight: 700 !important;
  line-height: 1.14 !important;
  letter-spacing: -.025em !important;
}

html body.house-land-page #main-content .hl-section-heading--light h2 {
  color: #fff !important;
}

html body.house-land-page #main-content .hl-designs__heading h2 {
  color: #fff !important;
}

html body.house-land-page #main-content .hl-section-heading > p,
html body.house-land-page #main-content .hl-designs__heading > p,
html body.house-land-page #main-content .hl-journey__intro > p,
html body.house-land-page #main-content .hl-pathways__intro,
html body.house-land-page #main-content .hl-coverage--growth .dk-coverage__copy,
html body.house-land-page #main-content .hl-faq__intro > p:last-child {
  font-family: var(--hl-sans) !important;
  font-size: var(--hl-type-support) !important;
  font-weight: 600 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}

html body.house-land-page #main-content .hl-section-heading > p,
html body.house-land-page #main-content .hl-pathways__intro,
html body.house-land-page #main-content .hl-coverage--growth .dk-coverage__copy,
html body.house-land-page #main-content .hl-faq__intro > p:last-child {
  color: #536978 !important;
}

html body.house-land-page #main-content .hl-section-heading--light > p,
html body.house-land-page #main-content .hl-designs__heading > p {
  color: rgba(255,255,255,.84) !important;
}

html body.house-land-page #main-content .hl-journey__intro > p {
  color: #536b78 !important;
}

/* Full-width section headers share one central page axis. Split-layout
   headings such as the growth-area map and FAQ retain their component layout. */
html body.house-land-page #main-content #house-land-value .hl-section-heading,
html body.house-land-page #main-content #package-finder .hl-section-heading,
html body.house-land-page #main-content #new-builds-router .hl-section-heading,
html body.house-land-page #main-content #home-design-directions .hl-designs__heading,
html body.house-land-page #main-content #house-land-journey .hl-journey__heading {
  width: 100%;
  max-width: none;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center;
  align-items: start;
  text-align: center;
}

html body.house-land-page #main-content #house-land-value .hl-section-heading > div,
html body.house-land-page #main-content #package-finder .hl-section-heading > div,
html body.house-land-page #main-content #new-builds-router .hl-section-heading > div,
html body.house-land-page #main-content #home-design-directions .hl-designs__heading > div {
  width: 100%;
}

html body.house-land-page #main-content #house-land-value .hl-section-heading h2,
html body.house-land-page #main-content #package-finder .hl-section-heading h2,
html body.house-land-page #main-content #new-builds-router .hl-section-heading h2,
html body.house-land-page #main-content #home-design-directions .hl-designs__heading h2,
html body.house-land-page #main-content #house-land-journey .hl-journey__heading h2 {
  max-width: 800px;
  margin-inline: auto !important;
  text-align: center !important;
}

html body.house-land-page #main-content #house-land-value .hl-section-heading > p,
html body.house-land-page #main-content #package-finder .hl-section-heading > p,
html body.house-land-page #main-content #new-builds-router .hl-pathways__intro,
html body.house-land-page #main-content #home-design-directions .hl-designs__heading > p,
html body.house-land-page #main-content #house-land-journey .hl-journey__intro {
  width: min(100%, 720px);
  max-width: 720px;
  margin-inline: auto !important;
  text-align: center !important;
}

html body.house-land-page #main-content #house-land-journey .hl-journey__intro > p {
  width: 100%;
  max-width: 720px;
  margin-inline: auto !important;
  text-align: center !important;
}

html body.house-land-page #main-content #house-land-journey .hl-journey__actions {
  justify-content: center;
  align-items: center;
}

/* The Finder uses the centred single-column heading pattern, so it must not
   inherit the wider gap from the legacy two-column section heading layout. */
html body.house-land-page #main-content #package-finder .hl-section-heading {
  gap: 18px !important;
}

/* Value matrix. */
html body.house-land-page #main-content .hl-value__title h3 {
  color: var(--hl-navy) !important;
  font-family: var(--hl-sans) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -.01em !important;
}

html body.house-land-page #main-content .hl-value__title > div > p,
html body.house-land-page #main-content .hl-value__matrix article > p {
  color: var(--hl-muted) !important;
  font-family: var(--hl-sans) !important;
  font-size: var(--hl-type-card) !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

/* Customer Journey: reserve the editorial face for the internal narrative panels. */
html body.house-land-page #main-content .hl-journey__panel-heading h3 {
  font-family: var(--hl-serif) !important;
}

html body.house-land-page #main-content .hl-journey__heading h2 {
  color: var(--hl-navy) !important;
}

html body.house-land-page #main-content .hl-journey__panel-heading > span {
  color: var(--hl-muted) !important;
  font-family: var(--hl-sans) !important;
  font-size: var(--hl-type-body) !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

html body.house-land-page #main-content #house-land-journey .hl-journey__name {
  font-family: var(--hl-sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

html body.house-land-page #main-content #house-land-journey .hl-journey__summary {
  color: #536b7a !important;
  font-family: var(--hl-sans) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

html body.house-land-page #main-content #house-land-journey .hl-journey__overview-cta {
  font-family: var(--hl-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

html body.house-land-page #main-content .hl-brief-grid strong,
html body.house-land-page #main-content .hl-readiness-list strong {
  color: var(--hl-navy) !important;
  font-family: var(--hl-sans) !important;
  font-size: var(--hl-type-body) !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

html body.house-land-page #main-content .hl-brief-grid p,
html body.house-land-page #main-content .hl-match-note,
html body.house-land-page #main-content .hl-price-response__content > p,
html body.house-land-page #main-content .hl-contract-flow dd,
html body.house-land-page #main-content .hl-approve-layout aside p,
html body.house-land-page #main-content .hl-build-role li {
  color: var(--hl-muted) !important;
  font-family: var(--hl-sans) !important;
  font-size: var(--hl-type-card) !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

html body.house-land-page #main-content .hl-match-checks span {
  color: var(--hl-navy) !important;
  font-family: var(--hl-sans) !important;
  font-size: var(--hl-type-card) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

html body.house-land-page #main-content .hl-price-anatomy-wrap > h4,
html body.house-land-page #main-content .hl-price-priority > h4,
html body.house-land-page #main-content .hl-price-anatomy__copy h5,
html body.house-land-page #main-content .hl-price-response__groups h5 {
  font-family: var(--hl-sans) !important;
  font-size: var(--hl-type-compact) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

html body.house-land-page #main-content .hl-price-anatomy__copy p,
html body.house-land-page #main-content .hl-price-anatomy__item li,
html body.house-land-page #main-content .hl-price-priority__copy > span,
html body.house-land-page #main-content .hl-price-response__groups li {
  color: var(--hl-muted) !important;
  font-family: var(--hl-sans) !important;
  font-size: var(--hl-type-compact) !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

html body.house-land-page #main-content .hl-price-anatomy__review strong,
html body.house-land-page #main-content .hl-price-anatomy__review p,
html body.house-land-page #main-content .hl-contract-flow__bridge strong,
html body.house-land-page #main-content .hl-contract-flow__bridge p {
  font-family: var(--hl-sans) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

html body.house-land-page #main-content .hl-price-response__cta p {
  color: rgba(255,255,255,.84) !important;
  font-family: var(--hl-sans) !important;
  font-size: var(--hl-type-card) !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

html body.house-land-page #main-content .hl-contract-flow dt {
  color: var(--hl-navy) !important;
  font-family: var(--hl-sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

html body.house-land-page #main-content .hl-build-milestones li {
  font-family: var(--hl-sans) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

/* Finder. */
html body.house-land-page #main-content .hl-finder-step__intro h3 {
  font-family: var(--hl-sans) !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -.015em !important;
}

html body.house-land-page #main-content .hl-finder-step__intro p {
  color: rgba(255,255,255,.84) !important;
  font-family: var(--hl-sans) !important;
  font-size: var(--hl-type-body) !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

html body.house-land-page #main-content .hl-finder-result h4 {
  color: #fff !important;
  font-family: var(--hl-sans) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

html body.house-land-page #main-content .hl-finder-result p,
html body.house-land-page #main-content .hl-finder-result li,
html body.house-land-page #main-content .hl-finder-handoff p {
  color: #c9d9e1 !important;
  font-family: var(--hl-sans) !important;
  font-size: var(--hl-type-card) !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

html body.house-land-page #main-content .hl-finder-result strong {
  font-size: var(--hl-type-body) !important;
  line-height: 1.55 !important;
}

/* Growth-area map. */
html body.house-land-page #main-content .hl-coverage__note {
  color: #536978 !important;
  font-family: var(--hl-sans) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

html body.house-land-page #main-content .hl-coverage--growth .dk-coverage__regions span {
  font-family: var(--hl-sans) !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

/* New Builds Smart Router. */
@media (min-width: 1101px) {
  html body.house-land-page #main-content #new-builds-router {
    padding-block: 24px;
  }

  html body.house-land-page #main-content #new-builds-router .hl-section-heading {
    margin-bottom: 22px;
  }

  html body.house-land-page #main-content .hl-pathways__layout {
    grid-template-columns: 40% 60%;
  }

  html body.house-land-page #main-content .hl-pathways__alternatives a {
    min-height: 0;
    padding-block: 10px;
  }

  html body.house-land-page #main-content .hl-pathways__primary {
    min-height: 486px;
    padding-block: 36px;
  }
}

html body.house-land-page #main-content .hl-pathways__primary h3 {
  color: #fff !important;
  font-family: var(--hl-sans) !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  letter-spacing: -.02em !important;
}

html body.house-land-page #main-content .hl-pathways__primary li {
  color: rgba(255,255,255,.84) !important;
  font-family: var(--hl-sans) !important;
  font-size: var(--hl-type-card) !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

html body.house-land-page #main-content .hl-pathways__alternatives h3 {
  color: var(--hl-navy) !important;
  font-family: var(--hl-sans) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -.01em !important;
}

html body.house-land-page #main-content .hl-pathways__alternatives p:not(.hl-pathways__context):not(.hl-pathways__best) {
  color: var(--hl-muted) !important;
  font-family: var(--hl-sans) !important;
  font-size: var(--hl-type-card) !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

html body.house-land-page #main-content .hl-pathways__alternatives .hl-pathways__best {
  color: #3b5362 !important;
  font-family: var(--hl-sans) !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

/* FAQ keeps its approved composition; only align the intro with section roles. */
html body.house-land-page #main-content .hl-faq .faq-question {
  font-family: var(--hl-sans) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

html body.house-land-page #main-content .hl-faq .faq-answer p {
  color: var(--hl-muted) !important;
  font-family: var(--hl-sans) !important;
  font-size: 16.5px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

html body.house-land-page #main-content > .final-cta .final-grid > div:first-child > p {
  color: rgba(255, 255, 255, .82) !important;
  font-family: var(--hl-sans) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.65 !important;
}

@media (max-width: 1100px) {
  html body.house-land-page {
    --hl-type-h2: 36px;
    --hl-type-support: 17px;
    --hl-type-body: 16px;
    --hl-type-card: 15.5px;
  }

  html body.house-land-page #main-content > .final-cta .final-grid > div:first-child > p {
    font-size: 17px !important;
  }
}

@media (max-width: 620px) {
  html body.house-land-page {
    --hl-type-h2: 31px;
    --hl-type-support: 16px;
    --hl-type-body: 16px;
    --hl-type-card: 15px;
    --hl-type-compact: 14px;
  }

  html body.house-land-page #main-content #package-finder .hl-section-heading {
    gap: 16px !important;
  }

  html body.house-land-page #main-content .hl-hero__lead {
    font-size: 16px !important;
  }

  html body.house-land-page #main-content .hl-value__title h3,
  html body.house-land-page #main-content .hl-pathways__alternatives h3 {
    font-size: 22px !important;
  }

  html body.house-land-page #main-content .hl-pathways__primary h3 {
    font-size: 28px !important;
  }

  html body.house-land-page #main-content .hl-finder-step__intro h3 {
    font-size: 27px !important;
  }

  html body.house-land-page #main-content .hl-faq .faq-question {
    font-size: 16px !important;
  }

  html body.house-land-page #main-content .hl-faq .faq-answer p {
    font-size: 16px !important;
  }

  html body.house-land-page #main-content > .final-cta .final-grid > div:first-child > p {
    font-size: 16px !important;
  }
}

/* Keep the primary local sections within the approved page rhythm. */
html body.house-land-page #main-content #package-finder {
  padding-top: 76px;
  padding-bottom: 80px;
}

@media (max-width: 620px) {
  html body.house-land-page #main-content #package-finder {
    padding-top: 56px;
    padding-bottom: 60px;
  }
}
