/* Homepage typography: consistent Aimlink Teko / Open Sans roles and scale.
   Original text animations and background effects remain active. */
@layer components {
  .home {
    --home-heading-size: var(--type-display-m-size);
    --home-heading-leading: 1.04;
    --home-title-size: var(--type-title-size);
    --home-copy-leading: 1.6;
  }

  .home .h2 {
    font-size: var(--home-heading-size);
    line-height: var(--home-heading-leading);
    font-weight: var(--type-display-m-weight);
    letter-spacing: var(--type-display-m-tracking);
  }

  .home .lede, .home .body, .home .tile-desc {
    font-family: var(--font-text);
    font-weight: var(--type-body-weight);
    line-height: var(--home-copy-leading);
  }
}

@layer sections {
  .home .film-h1 {
    font-size: var(--type-display-l-size);
    line-height: var(--home-heading-leading);
  }
  .home .film-brand { font-weight: var(--type-display-m-weight); }
  .home .film-sub {
    font-size: var(--type-body-size);
    line-height: var(--home-copy-leading);
    max-width: var(--measure-lede);
    color: var(--color-snow-2);
  }

  .home .sc-head .h2 {
    font-size: var(--home-heading-size);
    line-height: var(--home-heading-leading);
  }
  .home .sc-head .lede {
    font-size: var(--type-body-size);
    max-width: var(--measure-body);
  }
  .home .sc-panel .h3 {
    font-size: var(--home-heading-size);
    line-height: var(--home-heading-leading);
  }
  .home .sc-panel .body { font-size: var(--type-body-size); }
  .home .sc-points li { font-weight: var(--type-body-weight); }

  .home .tile-title {
    font-size: var(--home-title-size);
    line-height: 1.15;
    letter-spacing: var(--type-title-tracking);
  }
  .home .tile-desc { max-width: 40ch; }
  .home .tile:nth-child(2) { margin-top: 0; }

  .home .proof-quote p {
    font-family: var(--font-text);
    font-size: var(--type-body-size);
    font-weight: var(--type-body-weight);
    line-height: var(--home-copy-leading);
    letter-spacing: normal;
    text-wrap: pretty;
  }
  .home .proof-num .num { font-size: var(--home-heading-size); line-height: 1; }
  .home .proof-pre, .home .proof-post { letter-spacing: 0.06em; }

  .home .nf-title {
    font-size: var(--home-title-size);
    line-height: 1.15;
    letter-spacing: var(--type-title-tracking);
  }

  .home .footer-title {
    font-size: min(var(--type-display-l-size), 6rem);
    line-height: var(--home-heading-leading);
    max-width: 22ch;
    text-wrap: balance;
  }
  .home .footer-title em { line-height: inherit; padding: 0; }
}
