/* One Arabic type scale for the six pages. Navigation, forms and compact
   accordion labels intentionally retain their own functional sizes. */
.final-site {
  --sd-font-page: clamp(40px, 3.6vw, 52px);
  --sd-font-section: clamp(30px, 2.9vw, 40px);
  --sd-font-feature: var(--sd-font-section);
  --sd-font-card: 22px;
  --sd-font-body: 16px;
  --sd-font-kicker: 16px;
  --sd-title-leading: 1.55;
  --sd-copy-leading: 2;
  --sd-copy-gap: 22px;
}

.final-site main {
  font-family: 'Alexandria', Tahoma, Arial, sans-serif;
}

/* Page titles share weight and rhythm without changing their composition. */
.final-site main :is(.gh-hero, .sd-about__hero-copy, .sd-inner-hero, .sd-careers-heading, .sd-products) h1 {
  font-family: inherit;
  font-size: var(--sd-font-page);
  font-weight: 600;
  line-height: var(--sd-title-leading);
  letter-spacing: 0;
  word-spacing: normal;
  text-wrap: balance;
}

.final-site main .sd-products__intro-copy { max-width: 1080px; }
.final-site main .sd-products__intro-copy > p { max-width: 760px; margin: 18px auto 0; }

.final-site main :is(
  .sd-services .gh-solutions__copy,
  .sd-story,
  .sd-purpose,
  .sd-news__heading,
  .partners.client-showcase,
  .sd-about__commitment-copy,
  .sd-about__history-copy,
  .sd-about__operations-copy,
  .sd-about__values-heading,
  .sd-form-intro
) h2,
.final-site main .sd-products__catalogue-heading h2 {
  font-family: inherit;
  font-size: var(--sd-font-section);
  font-weight: 600;
  line-height: var(--sd-title-leading);
  letter-spacing: 0;
  word-spacing: normal;
  text-wrap: balance;
}

.final-site main :is(.sd-about__business, .sd-about__principle) h2 {
  font-family: inherit;
  font-size: 25px;
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: 0;
}
.final-site main .sd-form-page h2.sd-form-title {
  font-family: inherit;
  font-size: var(--sd-font-section);
  font-weight: 600;
  line-height: var(--sd-title-leading);
  letter-spacing: 0;
}

.final-site main :is(.sd-purpose__principle, .sd-services .gh-service__label) h3,
.final-site main .sd-about .sd-about__values .value-detail h3,
.final-site main .sd-product__title {
  font-family: inherit;
  font-size: var(--sd-font-card);
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: 0;
  word-spacing: normal;
}

/* Reading copy stays consistent on white, cyan, photographic and navy panels. */
.final-site main :is(
  .gh-hero__copy,
  .sd-services .gh-solutions__copy,
  .sd-story__copy,
  .sd-purpose__principle,
  .sd-news__heading,
  .partners.client-showcase > .wrap,
  .sd-about__commitment-copy,
  .sd-about__history-copy,
  .sd-about__business,
  .sd-about__principle,
  .sd-about__operations-copy,
  .sd-about__values .value-detail,
  .sd-inner-hero__copy,
  .sd-careers-heading,
  .sd-product__detail,
  .sd-products__intro-copy
) > p,
.final-site main .sd-purpose__values,
.final-site main .sd-form-lead {
  font-family: inherit;
  font-size: var(--sd-font-body);
  font-weight: 400;
  line-height: var(--sd-copy-leading);
  letter-spacing: 0;
  word-spacing: normal;
}

.final-site main :is(
  .gh-hero .gh-kicker,
  .sd-services .gh-kicker,
  .sd-story__eyebrow,
  .sd-purpose__eyebrow,
  .sd-about__eyebrow,
  .sd-products__eyebrow,
  .sd-about__values-heading > span,
  .sd-careers-heading > span
) {
  font-family: inherit;
  font-size: var(--sd-font-kicker);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
}

/* Equal editorial gaps, without disturbing grid spacing or panel animation. */
.final-site main :is(
  .gh-hero__copy,
  .sd-services .gh-solutions__copy,
  .sd-inner-hero__copy
) > p { margin-top: var(--sd-copy-gap); }
.final-site main :is(
  .sd-about__commitment-copy,
  .sd-about__history-copy,
  .sd-about__operations-copy,
  .sd-about__business,
  .sd-about__principle
) > h2 { margin-bottom: var(--sd-copy-gap); }
.final-site main .sd-about p + p { margin-top: var(--sd-copy-gap); }
.final-site main .sd-purpose__principle h3 { margin-bottom: 16px; }
.final-site main .sd-about .sd-about__values .value-detail h3 { margin-bottom: 14px; }
.final-site main .sd-services .gh-service__label h3 { text-wrap: balance; }
.final-site main .sd-product__detail dl { font-size: 14px; line-height: 1.9; }

/* A section's name leads; its promise and body copy support it. */
.final-site main .sd-services .gh-solutions__copy h2,
.final-site main .sd-purpose__header h2 {
  font-size: var(--sd-font-feature);
  font-weight: 600;
  line-height: 1.5;
}
.final-site main .sd-services .gh-solutions__copy > p.gh-solutions__tagline {
  margin: 10px 0 0;
  color: #24445d;
  font-size: clamp(21px, 2vw, 27px);
  font-weight: 500;
  line-height: 1.7;
}
.final-site main .sd-form-page--careers .sd-form-intro h2 {
  font-size: var(--sd-font-section);
  line-height: 1.55;
}

/* Inner-page names lead; their short messages support the page title. */
.final-site main .sd-about__hero-copy > .sd-about__hero-subtitle,
.final-site main .sd-products__intro-copy > .sd-products__subtitle {
  font-family: inherit;
  font-size: clamp(22px, 2.1vw, 28px);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0;
  margin: 10px 0 0;
}
.final-site main .sd-about__hero-copy > .sd-about__hero-subtitle { color: #185884; }
.final-site main .sd-products__intro-copy > .sd-products__subtitle { color: #0a2b43; }
.final-site main .sd-products__intro-copy > .sd-products__description { margin: 20px 0 0; }
.final-site main .sd-form-page--contact .sd-form-intro h2 {
  font-size: var(--sd-font-section);
  line-height: 1.6;
  color: #0e2945;
}

/* News intentionally keeps a visible active/inactive hierarchy. */
.final-site main .sd-news__title { font-size: 18px; line-height: 1.7; font-weight: 600; }
.final-site main .sd-news__feature.is-active .sd-news__title { font-size: 26px; line-height: 1.6; }

/* About section headings share one scale; its page title uses the global h1 scale. */
.final-site main .sd-about { --sd-about-heading-size: clamp(30px, 2.9vw, 40px); }
.final-site main .sd-about :is(
  .sd-about__commitment-copy h2,
  .sd-about__history-copy h2,
  .sd-about__operations-copy h2,
  .sd-about__values-heading h2
) {
  font-size: var(--sd-about-heading-size);
  font-weight: 600;
  line-height: 1.55;
  text-align: right;
  margin-inline: 0;
}
.final-site main .sd-about .sd-about__values-heading > p {
  font-size: clamp(19px, 1.8vw, 23px);
  line-height: 1.7;
  margin: 8px 0 0;
}

@media (max-width: 760px) {
  .final-site {
    --sd-font-page: clamp(34px, 8.2vw, 40px);
    --sd-font-section: clamp(26px, 6.3vw, 30px);
    --sd-font-feature: var(--sd-font-section);
    --sd-font-card: 20px;
    --sd-font-body: 16px;
    --sd-font-kicker: 14px;
    --sd-title-leading: 1.65;
    --sd-copy-gap: 18px;
  }
  .final-site main :is(.sd-about__business, .sd-about__principle) h2 { font-size: 23px; }
  .final-site main .sd-news__title { font-size: 16px; }
  .final-site main .sd-news__feature.is-active .sd-news__title { font-size: 22px; }
  .final-site main .sd-product__detail dl { font-size: 13px; }
  .final-site main .sd-about__hero-copy > .sd-about__hero-subtitle,
  .final-site main .sd-products__intro-copy > .sd-products__subtitle { font-size: clamp(18px, 4.6vw, 22px); }
  .final-site main .sd-form-page--contact .sd-form-intro h2 { font-size: var(--sd-font-section); }
  .final-site main .sd-services .gh-solutions__copy > p.gh-solutions__tagline { font-size: clamp(20px, 5.1vw, 25px); }
  .final-site main .sd-form-page--careers .sd-form-intro h2 { font-size: var(--sd-font-section); }
  .final-site main .sd-about { --sd-about-heading-size: clamp(28px, 6.5vw, 34px); }
  .final-site main .sd-about .sd-about__values-heading > p { font-size: 18px; }
}

/* Let the longer unified page title breathe on very short, narrow phones. */
@media (max-width: 360px) and (max-height: 700px) {
  .final-site.farms-home .gh-hero { height: auto; min-height: 760px; }
}
