/* Homepage type hierarchy: display, story titles, body text and navigation labels. */
.home-page { --home-gap: clamp(64px, 7.5vw, 96px); display: grid; row-gap: var(--home-gap); padding-block: 48px 0; }
.home-page > section { width: 100%; }
.home-welcome { display: grid; grid-template-columns: 1.15fr 1fr; gap: 32px 64px; align-items: center; padding-block: 0; }
.home-welcome h1 { font-size: var(--v2-type-display); max-width: 16ch; letter-spacing: -.035em; line-height: 1.06; text-wrap: pretty; }
.home-welcome h1 span { display: block; font-style: normal; font-weight: inherit; }
.home-welcome-copy { max-width: 48ch; margin: 0; font-size: var(--v2-type-perex); line-height: var(--v2-leading-perex); text-wrap: pretty; }
.home-story-series { margin: 0 0 12px; font-size: var(--v2-type-label); color: var(--v2-color-muted); }
.home-story-series a { text-underline-offset: .2em; }
.home-stories { padding-block: 0; }
.home-feature-story { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: clamp(32px, 5vw, 64px); align-items: center; }
.home-feature-story--text { grid-template-columns: 1fr; }
.home-story-photo { margin: 0; width: 100%; max-width: 380px; justify-self: center; }
.home-story-photo img { width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; border-radius: 0; }
.home-story-copy h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.15; letter-spacing: -.025em; max-width: 23ch; text-wrap: balance; }
.home-story-copy h2 a { text-decoration: none; }
.home-story-copy h2 a:hover { text-decoration: underline; text-underline-offset: .12em; }
.home-story-description { margin: 24px 0; font-size: var(--v2-type-perex); line-height: var(--v2-leading-perex); text-wrap: pretty; }
.home-story-copy audio { display: block; width: 100%; margin-top: 20px; }
.home-story-copy > .text-link { font-size: var(--v2-type-label); margin-top: 4px; }
.home-episode-meta { display: block; color: var(--v2-color-muted); font-size: var(--v2-type-label); margin: 10px 0 0; }
.home-page > .home-community { padding: 0 0 40px; }
.home-community-panel { padding-inline: var(--v2-grid-margin); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); align-items: center; gap: clamp(32px, 5vw, 64px); }
.home-community-panel--text { grid-template-columns: 1fr; }
.home-community-copy { max-width: 58ch; }
.home-community-photo { width: 100%; max-width: 380px; justify-self: center; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.home-community h2 { font-size: clamp(2rem, 3.5vw, 2.5rem); font-weight: 700; font-style: normal; letter-spacing: -.025em; line-height: 1.15; max-width: 20ch; margin: 0; text-wrap: balance; }
.home-community-copy p { max-width: 58ch; margin: 24px 0 16px; font-size: var(--v2-type-perex); line-height: var(--v2-leading-perex); text-wrap: pretty; }
.home-community .text-link { font-size: var(--v2-type-body); }
@media (max-width: 767px) {
  .home-page { padding-top: 28px; }
  .home-welcome { grid-template-columns: 1fr; gap: 20px; }
  .home-welcome h1 { max-width: 16ch; font-size: clamp(2.5rem, 10vw, 3.25rem); }
  .home-welcome-copy { font-size: 1rem; }
  .home-feature-story { grid-template-columns: 1fr; gap: 24px; }
  .home-community-panel { grid-template-columns: 1fr; gap: 24px; }
  .home-story-photo, .home-community-photo { width: min(78%, 280px); justify-self: center; }
  .home-community-photo { grid-row: 1; }
}
