/* Shared typography scale. Hero, navigation, forms and footer retain their styles. */
.site-typography, .home-page--type {
  --type-body-size: 1rem;
  --type-body-line: 1.6;
  --type-card-size: .9375rem;
  --type-card-line: 1.6;
  --type-help-size: .875rem;
  --type-label-size: .8125rem;
  --type-label-tracking: .16em;
  --type-block-title: clamp(1.25rem, 1.55vw, 1.5rem);
  --type-space-small: 12px;
  --type-space-medium: 20px;
}
/* Regular paragraphs and list descriptions; special text is refined below. */
.home-page.site-typography:not(.home-page--type) main :is(p, dd, li):where(:not(.pergola-intro *, .subpage-hero *, .home-hero *, form *, dialog *, .knowledge-breadcrumb *)) {
  font-family: "Inter", sans-serif;
  font-size: var(--type-body-size);
  font-weight: 400;
  line-height: var(--type-body-line);
  letter-spacing: normal;
}
.home-page.site-typography:not(.home-page--type) main h2:where(:not(.pergola-intro *, .subpage-hero *, .hero-offer-card *, .pergola-hero-benefits *, .confirmation__steps *, dialog *)) {
  font-size: var(--section-h2-size);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: normal;
}
.home-page.site-typography:not(.home-page--type) main h3:where(:not(.pergola-intro *, .subpage-hero *, .hero-offer-card *, .contact-nine__details *, .contact-strip *, form *, dialog *)) {
  font-size: var(--type-block-title);
  line-height: 1.2;
  letter-spacing: normal;
}
.home-page.site-typography:not(.home-page--type) main :is(
  .hero-offer-card p, .pergola-service-benefits p, .pergola-safety__card p,
  .carport-construction__features p, .knowledge-row p, .about-process__step p,
  .accessories-enclosures__card p
):where(:not(.pergola-intro *, form *)) {
  font-size: var(--type-card-size);
  line-height: var(--type-card-line);
}
.home-page.site-typography:not(.home-page--type) main :is(
  section-label, .pergola-label, .home-faq__label, .contact-nine__label, .knowledge-label,
  .contact-about .pergola-label
):where(:not(.pergola-intro *, .subpage-hero *, form *)) {
  font-family: "Inter", sans-serif;
  font-size: var(--type-label-size);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: var(--type-label-tracking);
  margin-bottom: var(--type-space-medium);
}
.home-page.site-typography:not(.home-page--type) main section-label .section-label__text {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}
.home-page.site-typography:not(.home-page--type) main :is(
  .pergola-accessories__number, .about-process__number, .knowledge-breadcrumb,
  .about-introduction__signature span, .contact-strip dt, figcaption
):where(:not(.pergola-intro *, form *, dialog *)) {
  font-size: var(--type-help-size);
  line-height: 1.5;
}
.home-page.site-typography:not(.home-page--type) main :is(.home-faq, .pergola-budget__faq) summary {
  font-size: var(--type-body-size);
  line-height: 1.5;
}
.home-page.site-typography:not(.home-page--type) main :is(.home-faq__answer, .knowledge-article, .about-introduction) p + p {
  margin-top: var(--type-space-small);
}
.home-page.site-typography:not(.home-page--type) main :is(.contact-nine__lead, .terrace-types__lead) {
  margin-top: var(--type-space-medium);
}
.home-page.site-typography:not(.home-page--type) .hero-offers { --offer-heading-size: clamp(1.125rem, 1.4vw, 1.375rem); }
.home-page.site-typography:not(.home-page--type) .hero-offer-card :is(h2, h3) {
  font-size: var(--offer-heading-size);
  line-height: 1.14;
}
@media (max-width: 600px) {
  .home-page.site-typography:not(.home-page--type) .hero-offers { --offer-heading-size: 1.25rem; }
}
