/* Shared geometry for the paper-colored editorial heroes.
   Reserve room for the fixed header, caption, and section links on laptops.
   Content can still grow naturally with larger text or on smaller screens. */
@media (min-width: 901px) {
  :is(.vision-intro, .b-hero, .story-page .s-hero) {
    padding-top: clamp(6.5rem, 14svh, 8rem);
  }

  :is(.vision-intro__grid, .b-hero__grid, .story-page .s-hero__grid) {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: clamp(2.5rem, 4vw, 4rem);
  }

  :is(.vision-intro__copy, .b-hero__copy, .story-page .s-hero__copy) {
    padding-bottom: 0;
  }

  :is(.vision-statement__lead, .b-hero h1, .story-page .s-hero h1) {
    font-size: clamp(3rem, min(5vw, 8.5svh), 4.8rem);
    line-height: 1.08;
  }

  :is(.vision-statement, .b-hero h1, .story-page .s-hero h1) {
    margin-block: 1.25rem;
  }

  .vision-statement__rest, .b-hero__lede {
    max-width: 34rem;
    margin-top: 1.25rem;
    font-size: clamp(1.3rem, 2vw, 1.6rem);
    line-height: 1.45;
  }

  .story-page .s-hero__lede {
    max-width: 30rem;
    line-height: 1.65;
  }

  :is(.b-hero__button, .story-page .s-hero__button) {
    margin-top: 1.25rem;
  }

  :is(.vision-window__frame, .b-window__frame, .story-page .s-photo__frame) {
    height: clamp(20rem, calc(100svh - 17rem), 34rem);
    aspect-ratio: auto;
  }

  :is(.vision-window__star, .b-window__star, .s-photo__ornament) {
    width: clamp(4rem, 6vw, 5.5rem);
    right: -.5rem;
  }

  :is(.vision-index, .b-index, .story-page .s-index) {
    margin-top: clamp(1.25rem, 3svh, 2rem);
    padding-block: .65rem;
  }
}

@media (max-width: 900px) {
  :is(.vision-intro, .b-hero, .story-page .s-hero) {
    padding-top: 6.5rem;
  }

  :is(.vision-index, .b-index, .story-page .s-index) {
    margin-top: 2rem;
  }

  :is(.vision-mission-button, .b-hero__button) {
    margin-top: 1.75rem;
  }
}
