/* Shared lede scale: compact enough to read as a system, strong enough to lead. */
h1,
.h1,
.hero h1,
.hero-copy .h1,
body.give-page .hero .h1,
body.give-page .hero-copy .h1,
.hero .lede-phrase,
.slide-h2-sentence,
.h2,
.lib-h,
.fund-about-title,
.give-thanks-t,
.lede,
.splash-middle h1,
main > section > h2{
  /* Section ledes stay within 1.25× the shared 1rem body scale. */
  font-size:clamp(1.08rem,1.45vw,1.25rem)!important;
  font-weight:500!important;
  line-height:1.18!important;
  letter-spacing:-.02em!important;
  max-width:min(100%,60ch)!important;
  text-wrap:balance;
}

.sec-title,
.tax-title,
.row-name,
.rd-title,
.field-name,
.band-name,
.geo-region,
.pp-text,
.impact-slider-amount,
.flow-fund strong,
.flow-out strong{
  font-size:clamp(1.2rem,2.1vw,1.7rem)!important;
  font-weight:400!important;
  line-height:1.16!important;
}

@media(max-width:700px){
  .slide-h2-sentence,
  .h2,
  .lib-h,
  .fund-about-title,
  .give-thanks-t,
  .lede,
  .splash-middle h1,
  main > section > h2{font-size:1.08rem!important;max-width:100%!important}
}

/* Keep editorial emphasis upright in page ledes. Brand marks and non-lede copy
   retain their own treatments. */
h1 em,
.h1 em,
.hero h1 em,
.hero .lede-phrase em,
.slide-h2-sentence em,
.h2 em,
.fund-about-title em,
.give-thanks-t em,
.lede em,
main > section > h2 em{
  font-style:normal!important;
}

/* Page and section ledes share one quiet, legible taupe treatment. Card,
   venture, and studio-spotlight typography is deliberately excluded. */
h1,.h1,.hero h1,.hero-copy .h1,.hero .lede-phrase,.slide-h2-sentence,.h2,.lib-h,.fund-about-title,.give-thanks-t,.lede,.splash-middle h1,main > section > h2{
  color:#b9aea1!important;
  font-style:normal!important;
}
h1 em,.h1 em,.hero h1 em,.hero-copy .h1 em,.hero .lede-phrase em,.slide-h2-sentence em,.h2 em,.lib-h em,.fund-about-title em,.give-thanks-t em,.lede em,.splash-middle h1 em,main > section > h2 em{
  color:inherit!important;
  font-style:normal!important;
}

/* Text rotations reserve their full frame. Each phrase is layered rather than
   entering normal flow, so transitions cannot move surrounding content. */
.stable-inline-rotation{position:relative;display:block;width:100%;height:4.25rem!important;margin-top:.08em}
.stable-inline-rotation>span{position:absolute;inset:0;display:block;opacity:0;transform:translateY(.18em);transition:opacity .62s ease,transform .62s ease;pointer-events:none}
.stable-inline-rotation>span.is-active{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.stable-inline-rotation>span{transition:none!important}}
