/* Shared typographic finish. Keep each page's composition and color context. */
@media screen {
  :root {
    --type-wine: #943448;
    --type-evergreen: #285f4e;
    --type-blue: #365b70;
    --type-gold: #f0d6ad;
  }

  /* A slightly firmer sans-serif voice, with room for the heavier strokes. */
  body.new-home :is(h1,h2) {
    font-weight: 400;
    letter-spacing: -.045em;
  }
  body.new-home h1 strong { font-weight: 700; }
  body.new-home h2 strong { font-weight: 600; }
  body.new-home :is(.hero-copy,.apply-hero,.program-hero,.story-hero,.alliance-hero,.visit-hero) h1 {
    line-height: 1.13;
  }
  body.new-home .hero-copy h1 { text-wrap: balance; }
  body.new-home :is(.belief-copy,.employer-copy,.sponsor-feature,.album-captions) h3,
  body.new-home .application-card h3 { font-weight: 600; }
  body.new-home .application-complete h3 { font-weight: 400; }
  body.new-home .application-complete h3 strong,
  body.new-home .team-profile h3 strong { font-weight: 600; }
  body.new-home .closing-copy h2 { letter-spacing: -.05em; }
  body.new-home .closing-copy h2 > strong { font-weight: 600; }

  /* True italic faces retain their natural weight rather than synthetic bold. */
  body.new-home :is(h1,h2) em,
  body.new-home .return-dialog-body h2 strong { font-weight: 400; }

  /* A small, softly tapered dash. The text itself is never masked or blurred. */
  body .eyebrow,
  body .intro-partnership-eyebrow {
    display: flex;
    align-items: center;
    gap: .8rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: .105em;
  }
  body .eyebrow::before,
  body .intro-partnership-eyebrow::before {
    content: '';
    display: block;
    flex: 0 0 2.15rem;
    width: 2.15rem;
    height: 2px;
    border-radius: 100px;
    background: linear-gradient(90deg, transparent, currentColor 28%, currentColor 68%, transparent);
    opacity: .9;
  }
  body :is(.story-invitation,.application-complete) > .eyebrow {
    justify-content: center;
  }

  /* Selected words carry color; most headlines stay in the section's ink. */
  .hero-copy .type-accent { color: var(--type-gold); }
  body.new-home .belief-highlight { color: var(--type-wine); }
  body.new-home .story-heading h2 strong { color: var(--type-blue); }
  body.new-home .next-step-copy h2 strong { color: var(--type-wine); }
  body.new-home .program-milestone h2 strong { color: #853647; }
  body.new-home .story-team-heading h2 em { color: var(--type-evergreen); }
  body.new-home .alliance-hiring h2 em { color: var(--type-evergreen); }
  body.new-home .conversation-heading h2 em { color: var(--type-wine); }

  /* Carry the same weight hierarchy into the working surfaces. */
  :is(.staff-entry-page,.staff-workspace-page,.participant-page) :is(h1,h2,h3) {
    font-weight: 600;
    letter-spacing: -.04em;
  }
  :is(.staff-entry-page,.staff-workspace-page,.participant-page) :is(h1,h2,h3) em {
    font-weight: 400;
    letter-spacing: -.035em;
  }
  .workspace-main .page-heading h1 { font-weight: 700; letter-spacing: -.04em; }
  .workspace-main :is(h2,h3) { font-weight: 600; }
  .workspace-main :is(h1,h2,h3) em { font-weight: 400; }
  .profile-banner h2 { font-weight: 600; letter-spacing: -.04em; }

  /* Existing presentation pages use their own condensed display family. */
  .cdc-editorial .eyebrow::before {
    background: linear-gradient(90deg, transparent, currentColor 28%, currentColor 68%, transparent);
  }
}

@media screen and (min-width: 761px) {
  body :is(.section-intro,.partnership-heading) > .eyebrow {
    justify-content: center;
  }
}

@media screen and (max-width: 650px) {
  body .eyebrow,
  body .intro-partnership-eyebrow {
    gap: .6rem;
    letter-spacing: .075em;
  }
  body .eyebrow::before,
  body .intro-partnership-eyebrow::before {
    width: 1.65rem;
    flex-basis: 1.65rem;
  }
  body.new-home :is(h1,h2) { letter-spacing: -.04em; }
  body.new-home .hero-copy > .eyebrow { max-width: 35ch; }
  body .flow-dialog .eyebrow,
  body .record-dialog .eyebrow { gap: .5rem; }
  body .flow-dialog .eyebrow::before,
  body .record-dialog .eyebrow::before { width: 1.25rem; flex-basis: 1.25rem; }
}
