:root {
  --editorial-heading-color: #eedfd3;
  --editorial-heading-weight: 430;
  --editorial-heading-tracking: -0.045em;
  --editorial-heading-line-height: 1.08;
  --editorial-cta-surface: linear-gradient(100deg, #a8745d 0%, #bd876b 48%, #a97860 100%);
  --editorial-cta-surface-hover: linear-gradient(100deg, #ae7961 0%, #c08b6f 48%, #af7d64 100%);
}

body main :is(h1, h2, h3):not(.visually-hidden) {
  color: var(--editorial-heading-color);
  text-wrap: balance;
  word-break: normal;
  overflow-wrap: normal;
}

body main :is(h1, h2):not(.visually-hidden) {
  font-weight: var(--editorial-heading-weight);
  line-height: var(--editorial-heading-line-height);
  letter-spacing: var(--editorial-heading-tracking);
}

body main h3:not(.visually-hidden) {
  font-weight: 540;
  line-height: 1.2;
  letter-spacing: -0.022em;
}

body:not(.calculator-page) main .section-title,
.standards-head-title,
.standards-panel__title,
.contacts-map-placeholder__title,
.package-mobile-result h3 {
  margin-top: 0;
}

body:not(.calculator-page) .button.button--solid,
body:not(.calculator-page) .lead-actions .button.button--solid {
  min-height: 4.05rem;
  border: 0;
  border-radius: 999rem;
  color: #070b0e;
  background: var(--editorial-cta-surface);
  box-shadow: none;
  font-weight: 470;
}

body:not(.calculator-page) .button.button--solid:hover,
body:not(.calculator-page) .button.button--solid:focus-visible,
body:not(.calculator-page) .lead-actions .button.button--solid:hover,
body:not(.calculator-page) .lead-actions .button.button--solid:focus-visible {
  color: #070b0e;
  background: var(--editorial-cta-surface-hover);
  box-shadow: none;
  transform: translateY(-0.06rem);
}

.section-title:is(h1, h2, h3) {
  font-size: clamp(1.76rem, 2.6vw, 2.88rem);
  font-weight: var(--editorial-heading-weight);
  line-height: var(--editorial-heading-line-height);
  letter-spacing: var(--editorial-heading-tracking);
}

.section-kicker,
.house-page__kicker,
.promotions-kicker,
.contacts-kicker,
.about-kicker {
  font-weight: 600;
  letter-spacing: 0.045em;
}

.mortgage-vector-hero__title,
.about-title,
.contacts-title,
.house-summary__title,
.standards-head-title,
.catalog-panel-title,
.promotions-title {
  font-weight: var(--editorial-heading-weight);
  line-height: var(--editorial-heading-line-height);
  letter-spacing: var(--editorial-heading-tracking);
}

.about-inline-title,
.contacts-modal__title,
.house-modal__title,
.presentation-notice__title,
.promotion-card__title,
.standards-panel__title,
.catalog-filter-toggle__title,
.filter-group__title {
  font-weight: 540;
  line-height: 1.2;
  letter-spacing: -0.022em;
}

@media (min-width: 60.001rem) {
  .section-title:is(h1, h2, h3) {
    font-size: clamp(1.86rem, 2.45vw, 3rem);
  }
}

@media (max-width: 42rem), (orientation: landscape) and (max-width: 60rem) and (max-height: 32rem) {
  :root {
    --editorial-heading-tracking: -0.035em;
    --editorial-heading-line-height: 1.1;
  }

  .section-title:is(h1, h2, h3) {
    max-width: 22ch;
    font-size: clamp(1.55rem, 6.6vw, 2.12rem);
  }
}

@media (max-width: 26.8125rem) {
  :root {
    --editorial-heading-tracking: -0.028em;
  }

  .section-title:is(h1, h2, h3) {
    max-width: 100%;
    font-size: clamp(1.42rem, 6.05vw, 1.9rem);
  }
}
