/* V2 About, Resources, Contact and Press. Scoped to owned components. */
.v2-content-page { overflow-wrap: anywhere; }
.v2-content-page h2, .v2-mission h2, .v2-coverage h2 { font-size: clamp(1.65rem, 2.8vw, 2.5rem); line-height: 1.18; letter-spacing: -.025em; margin: 0 0 1.25rem; }
.v2-content-page p, .v2-mission p { line-height: 1.65; }
.v2-content-page p + p { margin-top: 1.2rem; }
.v2-content-hero { text-align: center; padding-top: clamp(3rem, 7vw, 6rem); padding-bottom: clamp(3rem, 6vw, 5.5rem); }
.v2-content-hero .title { max-width: 18ch; margin: 0 auto; }
.v2-content-lead { max-width: 44rem; font-size: clamp(1.05rem, 1.7vw, 1.3rem); margin: 1.5rem auto 2rem; }
.v2-content-hero__image { display: block; width: 100%; height: auto; margin-top: 3rem; border-radius: 1.4rem; }
.v2-content-narrow { max-width: 54rem; }
.v2-about-story__grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.v2-about-story__intro { font-size: clamp(1.5rem, 2.5vw, 2.1rem); line-height: 1.3; margin: 0; }
.v2-about-story__image { width: 100%; height: auto; border-radius: 1.25rem; margin-top: 2rem; }
.v2-about-story__body p:first-child { margin-top: 0; }
.v2-about-story__body p { color: #39385f; }
.v2-about-team { background: #efeeff; }
.v2-about-team__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem 1.5rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
/* A person card is a column whose role box takes up whatever room the
   tallest card in its row does not need, so the name and the link under it
   always sit on the row's own line. The role's min-height is only the floor
   that keeps a row of one-line roles tidy; it used to be the whole mechanism,
   and a floor is only a guess at how many lines a role takes. Measured in all
   three engines: between 901 and about 1090 pixels wide Jaclyn Morton's role
   ran to three lines past a two-line floor and carried her name and her link
   about 18 pixels below the three beside her, and at 320, 340 and 360 pixels a
   second row did the same to its links. */
.v2-person { display: flex; flex-direction: column; align-items: flex-start; }
.v2-person__image { display: block; flex: none; width: 100%; height: auto; aspect-ratio: 533 / 723; object-fit: cover; border-radius: 1rem; }
.v2-person__role { color: #514d75; font-size: .875rem; margin: 1rem 0 .35rem; min-height: 2.9em; flex: 1 0 auto; line-height: 1.4 !important; }
.v2-person__name { font-size: 1.2rem; font-weight: 650; line-height: 1.3 !important; margin: 0 !important; }
.v2-person__link { display: inline-block; margin-top: .6rem; font-size: .9rem; padding-block: .25rem; }
.v2-join { text-align: center; }
.v2-join .v2-content-lead { margin-inline: auto; }
.v2-mission { border-block: 1px solid #d8d6ed; }
.v2-mission__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 4rem); }
.v2-mission p { margin: 0; color: #4e4a6d; }
.v2-coverage__list { margin: 2rem 0 0; padding: 0; list-style: none; }
.v2-coverage__list li { border-bottom: 1px solid #d8d6ed; }
.v2-coverage__link { display: grid; grid-template-columns: 170px 1fr 1.5rem; gap: 2.5rem; align-items: center; padding: 1.75rem 0; color: inherit; text-decoration: none; }
.v2-coverage__link img { width: 100%; height: auto; max-height: 95px; object-fit: contain; }
.v2-coverage__publisher { display: block; color: #645e87; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .5rem; }
.v2-coverage__title { display: block; font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 1.45; }
.v2-coverage__link:hover .v2-coverage__title { text-decoration: underline; text-underline-offset: .2em; }
.v2-content-arrow { color: #6253bf; font-size: 1.4rem; }
.v2-content-callout { background: #ebe8ff; padding: clamp(1.5rem, 3vw, 2.5rem); border-radius: 1.25rem; }
.v2-press-intro__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.v2-press-contact { text-align: center; }
.v2-contact-email { font-size: clamp(1.4rem, 3.5vw, 2.5rem); margin: 1.5rem 0 2rem !important; }
.v2-contact-email a { text-underline-offset: .18em; text-decoration-thickness: 1px; }
.v2-contact-details__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; }
.v2-contact-details h2 { font-size: 1.5rem; }
.v2-contact-company { text-align: center; padding-block: 2.5rem; }
.v2-contact-company p { margin-block: .5rem; }
.v2-res-hero { padding-bottom: 3rem; }
.v2-res-links { display: flex; justify-content: center; flex-wrap: wrap; gap: .75rem 1.5rem; list-style: none; padding: 0; margin: 2rem 0 0; }
.v2-resource-filters { display: flex; justify-content: center; gap: .5rem; flex-wrap: wrap; margin-bottom: 2.5rem; }
.v2-resource-filters[hidden], .v2-resource-card[hidden], .v2-resource-empty[hidden] { display: none !important; }
.v2-resource-filter { border: 1px solid #534298; border-radius: 999px; padding: .85rem 1.25rem; background: transparent; color: #27214d; font: inherit; cursor: pointer; min-height: 44px; }
.v2-resource-filter[aria-pressed="true"] { color: #fff; background: #534298; border-color: #534298; }
.v2-resource-filter:hover { background: #e4e0f7; }
.v2-resource-filter:focus-visible, .v2-coverage__link:focus-visible, .v2-resource-card a:focus-visible { outline: 3px solid #6552c6; outline-offset: 5px; }
.v2-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.5rem; list-style: none; padding: 0; margin: 0; }
.v2-resource-card a { display: block; color: inherit; text-decoration: none; height: 100%; }
.v2-resource-card__image { display: block; width: 100%; height: auto; aspect-ratio: 27 / 16; object-fit: cover; border-radius: 1rem; background: #ebe8ff; }
.v2-resource-card__image--brand { object-fit: contain; padding: 2rem; box-sizing: border-box; }
.v2-resource-card__body { padding: 1.25rem .15rem 0; }
.v2-resource-card__category { color: #665596; font-size: .78rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 .5rem !important; }
.v2-resource-card h3 { font-size: clamp(1.15rem, 1.7vw, 1.5rem); line-height: 1.4; margin: 0; }
.v2-resource-card a:hover h3 { text-decoration: underline; text-underline-offset: .18em; }
.v2-resource-card--featured { grid-column: 1 / -1; margin-bottom: 1rem; }
.v2-resource-card--featured a { display: grid; grid-template-columns: 1fr 1.25fr; align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.v2-resource-card--featured .v2-resource-card__image { order: 2; }
.v2-resource-card--featured .v2-resource-card__body { order: 1; padding: 0; }
.v2-resource-card--featured h3 { font-size: clamp(1.9rem, 3.5vw, 3.2rem); line-height: 1.2; letter-spacing: -.025em; }
.v2-resource-empty { text-align: center; background: #f0edff; border-radius: 1rem; padding: 2rem; }
.v2-resource-status { margin: 0 0 1.25rem !important; color: #5b557c; font-size: .9rem; text-align: center; }
.v2-resource-status:empty { display: none; }
@media (max-width: 900px) {
  .v2-about-team__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-about-story__grid { grid-template-columns: 1fr; }
  .v2-about-story__intro { max-width: 38ch; }
  .v2-about-story__image { max-width: 48rem; }
  .v2-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-mission__grid, .v2-contact-details__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .v2-mission__grid > div { max-width: 48rem; }
  .v2-press-intro__grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .v2-content-hero { padding-top: 2.5rem; }
  .v2-content-hero__image { margin-top: 2rem; border-radius: .8rem; }
  .v2-about-team__list { gap: 2rem 1rem; }
  .v2-person__name { font-size: 1.05rem; }
  .v2-person__role { font-size: .8rem; min-height: 4.2em; }
  .v2-coverage__link { grid-template-columns: 85px 1fr; gap: 1.25rem; }
  .v2-coverage__link .v2-content-arrow { display: none; }
  .v2-resource-grid { grid-template-columns: 1fr; gap: 2rem; }
  .v2-resource-card--featured a { display: block; }
  .v2-resource-card--featured .v2-resource-card__body { padding-top: 1.25rem; }
  .v2-resource-card--featured h3 { font-size: 1.6rem; }
  .v2-resource-filter { padding: .7rem 1rem; font-size: .9rem; }
  .v2-resource-filters { justify-content: flex-start; }
  .v2-resource-status { text-align: left; }
}

/* On a small phone a two-word name wraps and a three-word one does not, so the
   names in a row would end at different heights and take their links with them.
   Two lines is the floor here, which costs a blank line under a short name only
   on the narrowest phones and keeps every link on its row. */
@media (max-width: 380px) {
  .v2-person__name { min-height: 2.6em; }
}


/* Original resource article heroes, with headings and archive context above. */
.v2-article-hero { margin:32px 0 0; width:100%; }
.v2-article-hero img { display:block; width:100%; height:auto; border-radius:18px; }

/* Retain the normal section gap after removing the duplicate newsletter card. */
.onepager-help { padding-bottom: var(--section); }
