/*
 * Typography fidelity layer.
 *
 * Values are taken from the signed-off Figma nodes (1920px desktop frame)
 * and scale proportionally down to the desktop breakpoint. This file changes
 * typography only: no geometry, spacing, imagery, backgrounds or positioning.
 */

.raft-product {
  --raft-figma-type-scale: min(1, calc(100vw / 1920px));
}

@media (min-width: 621px) {
  /* Shared Figma typeface. */
  .raft-product,
  .raft-product :is(h1, h2, h3, p, li, a, strong, span, th, td) {
    font-family: "Neue Einstellung", "NeueEinstellung", "Avenir Next", Avenir, Arial, sans-serif;
  }

  /* Shared 56px section-heading system. */
  .raft-ammonia .raft-process h2,
  .raft-ammonia .raft-ammonia-product-heading h2,
  .raft-ammonia-benefits__banner h2,
  .raft-product .raft-ammonia-applications-figma__title,
  .raft-ammonia-solution-figma__intro h2,
  .raft-ammonia-outcomes-figma__heading > h2,
  .raft-h2o-problem__intro h2,
  .raft-h2o-solution-figma__heading h2,
  .raft-h2o-comparison__header h2,
  .raft-h2o-benefits-figma__header h2,
  .raft-h2o-applications-figma__heading h2,
  .raft-h2o-product-figma__heading h2,
  .raft-h2o-cta-figma__copy h2 {
    font-size: calc(56px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: calc(-2px * var(--raft-figma-type-scale));
    line-height: 1.25;
  }

  /* Shared 60px hero / feature-heading system. */
  .raft-ammonia .raft-hero-copy h1,
  .raft-ammonia-cta-figma__copy h2,
  .raft-h2o .raft-h2o-hero-figma__copy h1,
  .raft-h2o-digestate-figma__lead h2 {
    font-size: calc(60px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: calc(-2px * var(--raft-figma-type-scale));
    line-height: 1.25;
  }

  /* Shared 14px eyebrow system. */
  .raft-ammonia .raft-hero .raft-eyebrow,
  .raft-ammonia .raft-process .raft-kicker,
  .raft-ammonia .raft-ammonia-product-heading .raft-kicker,
  .raft-ammonia-benefits__kicker,
  .raft-ammonia-applications-figma__eyebrow,
  .raft-ammonia-solution-figma__kicker,
  .raft-ammonia-outcomes-figma__heading > p,
  .raft-h2o-problem__eyebrow,
  .raft-h2o-solution-figma__kicker,
  .raft-h2o-benefits-figma__kicker,
  .raft-h2o-applications-figma__kicker,
  .raft-h2o-product-figma__kicker {
    font-size: calc(14px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: calc(.98px * var(--raft-figma-type-scale));
    line-height: 1.6;
    text-transform: uppercase;
  }

  /* Ammonia hero — Figma hero composition. */
  .raft-ammonia .raft-hero-copy .raft-lead,
  .raft-ammonia .raft-check-list li {
    color: #fff;
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia .raft-hero .raft-button {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 900;
    letter-spacing: calc(.5px * var(--raft-figma-type-scale));
    line-height: 1.25;
  }

  .raft-ammonia .raft-hero .raft-audience-list li {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: calc(.36px * var(--raft-figma-type-scale));
    line-height: 1.6;
  }

  /* Ammonia process — Figma node 40000015:2364. */
  .raft-ammonia .raft-process .raft-two-column > div:first-child > p:not(.raft-kicker):not(.raft-callout) {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia .raft-process .raft-mini-card {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia .raft-process .raft-callout {
    font-size: calc(24px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia .raft-process .raft-flow-item span {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  /* Ammonia product — Figma node 40000015:2455. */
  .raft-ammonia .raft-ammonia-product-details .raft-lead-dark {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia-product-features h3 {
    font-size: calc(22px * var(--raft-figma-type-scale));
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia-product-features p {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia-product-badge {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia-product-quote p {
    font-size: calc(22px * var(--raft-figma-type-scale));
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia-product-rail-title strong {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: calc(1.26px * var(--raft-figma-type-scale));
    line-height: 1.6;
  }

  .raft-ammonia-product-species-label span {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: calc(.36px * var(--raft-figma-type-scale));
    line-height: 1.6;
  }

  .raft-ammonia-product-explore {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 900;
    letter-spacing: calc(.5px * var(--raft-figma-type-scale));
    line-height: 1.25;
  }

  /* Ammonia benefits — Figma node 40000015:2587. */
  .raft-ammonia-benefits__intro {
    font-size: calc(22px * var(--raft-figma-type-scale));
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia-benefits__card-content h3 {
    font-size: calc(24px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia-benefits__card--reduction .raft-ammonia-benefits__card-content h3 {
    font-size: calc(36px * var(--raft-figma-type-scale));
    letter-spacing: calc(-1px * var(--raft-figma-type-scale));
    line-height: 1.2;
  }

  .raft-ammonia-benefits__card-content p {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  /* Ammonia applications — Figma node 40000015:2677. */
  .raft-ammonia-applications-figma__intro,
  .raft-ammonia-applications-figma__copy p {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia-applications-figma__copy h3 {
    font-size: calc(24px * var(--raft-figma-type-scale));
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
  }

  /* Ammonia solution and outcomes — Figma node 40000015:2741. */
  .raft-ammonia-solution-figma__lead p,
  .raft-ammonia-solution-figma__card p {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia-solution-figma__number,
  .raft-ammonia-solution-figma__card h3 {
    font-size: calc(24px * var(--raft-figma-type-scale));
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
  }

  .raft-ammonia-solution-figma__note {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia-outcomes-figma__node h3,
  .raft-ammonia-outcomes-figma__animals h3 {
    font-size: calc(24px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia-outcomes-figma__notes h3 {
    font-size: calc(22px * var(--raft-figma-type-scale));
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia-outcomes-figma__notes p {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  /* Ammonia CTA — Figma node 40000015:3077. */
  .raft-ammonia-cta-figma__copy p,
  .raft-ammonia-cta-figma__product-badge-inner strong {
    font-size: calc(22px * var(--raft-figma-type-scale));
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-ammonia-cta-figma__button {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 900;
    letter-spacing: calc(.5px * var(--raft-figma-type-scale));
    line-height: 1.25;
  }

  .raft-ammonia-cta-figma__product-badge-inner span,
  .raft-ammonia-cta-figma__species-label span {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: calc(.36px * var(--raft-figma-type-scale));
    line-height: 1.6;
  }

  .raft-ammonia-cta-figma__applications-title strong {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: calc(1.26px * var(--raft-figma-type-scale));
    line-height: 1.6;
  }

  /* H2O hero — offline Figma root 558:75. */
  .raft-h2o .raft-h2o-hero-figma__eyebrow {
    font-size: calc(24px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o .raft-h2o-hero-figma__lead,
  .raft-h2o .raft-h2o-hero-figma__checks li,
  .raft-h2o .raft-h2o-hero-figma__application strong {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o .raft-h2o-hero-figma__button {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 900;
    letter-spacing: calc(.5px * var(--raft-figma-type-scale));
    line-height: 1.25;
  }

  /* H2O problem — offline Figma root 563:1083. */
  .raft-h2o-problem__lead {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-problem__pressure h3 {
    font-size: calc(24px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-problem__pressure p {
    font-size: calc(16px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-problem__pressure--treatment p,
  .raft-h2o-problem__pressure--compliance p {
    font-size: calc(18px * var(--raft-figma-type-scale));
  }

  /* H2O solution — offline Figma root 564:1419. */
  .raft-h2o-solution-figma__intro {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-solution-figma__step-heading > span {
    font-size: calc(16px * var(--raft-figma-type-scale));
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
  }

  .raft-h2o-solution-figma__step h3,
  .raft-h2o-solution-figma__flow-card h3 {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-solution-figma__flow-card h3 {
    text-transform: uppercase;
  }

  .raft-h2o-solution-figma__step-copy > p,
  .raft-h2o-solution-figma__flow-card p,
  .raft-h2o-solution-figma__media p {
    font-size: calc(16px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-solution-figma__media h3 {
    font-size: calc(24px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.6;
  }

  /* H2O comparison — Figma node 40000015:3634. */
  .raft-h2o-comparison__intro,
  .raft-h2o-comparison__table th,
  .raft-h2o-comparison__table td,
  .raft-h2o-comparison__cta h3 {
    font-size: calc(20px * var(--raft-figma-type-scale));
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-comparison__intro,
  .raft-h2o-comparison__table td {
    font-weight: 400;
  }

  .raft-h2o-comparison__table tbody th,
  .raft-h2o-comparison__cta h3 {
    font-weight: 700;
  }

  .raft-h2o-comparison__table thead th {
    font-size: calc(22px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-comparison__cta p {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: calc(.36px * var(--raft-figma-type-scale));
    line-height: 1.6;
  }

  .raft-h2o-comparison__button span {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 900;
    letter-spacing: calc(.5px * var(--raft-figma-type-scale));
    line-height: 1.25;
  }

  .raft-h2o-comparison__application > span:last-child {
    font-size: calc(22px * var(--raft-figma-type-scale));
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.6;
  }

  /* H2O benefits and applications — offline Figma roots 575:2334 / 558:506. */
  .raft-h2o-benefits-figma__intro {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-benefits-figma__benefit h3,
  .raft-h2o-applications-figma__card h3 {
    font-size: calc(24px * var(--raft-figma-type-scale));
    letter-spacing: 0;
  }

  .raft-h2o-benefits-figma__benefit h3 {
    font-weight: 700;
    line-height: 1.6;
  }

  .raft-h2o-applications-figma__card h3 {
    font-weight: 900;
    line-height: 1.2;
  }

  .raft-h2o-benefits-figma__benefit p {
    font-size: calc(16px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-benefits-figma__badge {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.3;
  }

  .raft-h2o-applications-figma__intro {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-applications-figma__card p {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  /* H2O product — Figma node 40000015:3953. */
  .raft-h2o-product-figma__lead {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-product-figma__feature h3,
  .raft-h2o-product-figma__quote p,
  .raft-h2o-product-figma__application p {
    font-size: calc(22px * var(--raft-figma-type-scale));
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-product-figma__feature p {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-product-figma__button {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 900;
    letter-spacing: calc(.5px * var(--raft-figma-type-scale));
    line-height: 1.25;
  }

  .raft-h2o-product-figma__outcome p {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.6;
  }

  /* H2O digestate and CTA — offline roots 581:4086 / 583:4439. */
  .raft-h2o-digestate-figma__statement h3,
  .raft-h2o-digestate-figma__statement-prompt,
  .raft-h2o-digestate-figma__outcome p,
  .raft-h2o-cta-figma__message,
  .raft-h2o-cta-figma__application {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-digestate-figma__statement-copy p {
    font-size: calc(16px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-digestate-figma__note p {
    font-size: calc(14px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: calc(24px * var(--raft-figma-type-scale));
  }

  .raft-h2o-cta-figma__lead {
    font-size: calc(20px * var(--raft-figma-type-scale));
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
  }

  .raft-h2o-cta-figma__button {
    font-size: calc(18px * var(--raft-figma-type-scale));
    font-weight: 900;
    letter-spacing: calc(.5px * var(--raft-figma-type-scale));
    line-height: 1.25;
  }
}

/* Keep the phone layouts intact; only align the hierarchy's Figma weights. */
@media (max-width: 620px) {
  .raft-ammonia .raft-hero-copy .raft-lead,
  .raft-ammonia .raft-check-list li,
  .raft-h2o .raft-h2o-hero-figma__lead,
  .raft-h2o .raft-h2o-hero-figma__checks li,
  .raft-h2o .raft-h2o-hero-figma__application strong {
    font-weight: 500;
  }

  .raft-h2o .raft-h2o-hero-figma__eyebrow,
  .raft-ammonia-applications-figma__title {
    font-weight: 700;
  }

  .raft-ammonia-applications-figma__title,
  .raft-h2o-problem__pressure h3,
  .raft-h2o-benefits-figma__benefit h3,
  .raft-h2o-applications-figma__card h3,
  .raft-h2o-product-figma__feature h3,
  .raft-h2o-digestate-figma__statement h3 {
    letter-spacing: 0;
  }
}
