/*
 * Generated from assets/css/src/manifest.txt.
 * Edit the source modules and run scripts/build-reboot-v2-css.sh.
 */

/* Source: 00-tokens.css */
/*
 * Reboot design tokens.
 *
 * Single source of truth for color, typography, and layout primitives.
 * Loads first; every other module consumes these via var().
 *
 * Breakpoint tiers (media queries cannot reference custom properties, so
 * these are documented here and used literally in modules):
 *   tablet        @media (min-width: 48rem)   = 768px
 *   desktop       @media (min-width: 64rem)   = 1024px
 *   desktop-lg    @media (min-width: 75rem)   = 1200px
 *   desktop-xl    @media (min-width: 80rem)   = 1280px
 *   (90rem is a container max-width, not a breakpoint tier.)
 *
 * Type scale (px, static tiers): 12 / 14 / 16 / 18 / 20 / 24 / 40 / 64 / 70 / 114.
 * Dominant line-height pairings: 12/18, 14/20, 16/24, 18/20, 20/28, 24/26,
 * 40/42, 70/60.
 */

:root {
	/* Brand palette. */
	--color-ink: #2b261e;
	--color-paper: #fff;
	--color-rust: #da4926;
	--color-rust-hover: #d6522f;
	--color-blush: #edcbc9;
	--color-blush-tint: #f6e5e4;
	--color-stone: #f2f2f2;
	--color-teal: #164e5b;
	--color-mint: #96bf9f;
	--color-blue: #43b8c7;

	/* Derived tints. Keep alpha forms so they compose on any background. */
	--color-ink-muted: rgba(43, 38, 30, 0.7);
	--color-ink-faint: rgba(43, 38, 30, 0.12);
	--color-paper-muted: rgba(255, 255, 255, 0.7);

	/* Neutrals. */
	--color-gray: #91918f;
	--color-border-light: #d2d2d2;

	/* Note/callout accent. */
	--color-note-border: #c9a400;
	--color-note-bg: #fff4c2;

	/* Typography. */
	--font-body: "Suisse Intl", sans-serif;
	--font-display: "Druk", sans-serif;
	--tracking-body: -0.02em;
	--tracking-ui: -0.012em;
	--tracking-heading: -0.016em;
	--tracking-display: 0.005em;

	/* Fluid display sizes (consolidated from per-module Divi curves). */
	--fs-hero-xl: clamp(4.5rem, 12vw, 10rem);
	--fs-hero-lg: clamp(3.5rem, 8vw, 6.5rem);
	--fs-h1-fluid: clamp(2.4rem, 5vw, 4.5rem);
	--fs-h2-fluid: clamp(2rem, 4vw, 3.5rem);
	--fs-h3-fluid: clamp(1.35rem, 3vw, 2rem);
	--fs-lead-fluid: clamp(1rem, 2vw, 1.25rem);

	/* Layout. */
	--container-max: 90rem;
	--site-gutter: 12px;
	--site-width: 1360px;
	--header-height: 70px;
	--header-height-scrolled: 60px;
}
/* Responsive shell tiers. */
@media (min-width: 48rem) {
  :root {
    --site-gutter: 30px;
    --header-height: 105px;
    --header-height-scrolled: 85px;
  }
}


@media (min-width: 64rem) {
  :root {
    --header-height: 156px;
    --header-height-scrolled: 131px;
  }
}


@media (min-width: 75rem) {
  :root {
    --site-gutter: 40px;
  }
}

/* Source: 00-foundation.css */
@font-face {
  font-display: swap;
  font-family: "Suisse Intl";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Suisseintl-Regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Suisse Intl";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/Suisseintl-Medium.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "Druk";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/Druk-Medium.woff2") format("woff2");
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: 1rem;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
  margin: 0;
}

body.has-open-menu,
body.has-open-person-profile {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

button,
input {
  font: inherit;
}

button,
.button {
  cursor: pointer;
}

img {
  height: auto;
  max-width: 100%;
}

.site-shell {
  margin-inline: auto;
  max-width: calc(var(--site-width) + (2 * var(--site-gutter)));
  padding-inline: var(--site-gutter);
  width: 100%;
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.screen-reader-text:focus {
  background: var(--color-paper);
  clip: auto;
  clip-path: none;
  color: var(--color-ink);
  height: auto;
  left: 1rem;
  padding: 0.75rem 1rem;
  top: 1rem;
  width: auto;
  z-index: 10000;
}

.button {
  align-items: center;
  display: inline-flex;
  font-weight: 500;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.5rem 1.25rem;
  text-decoration: none;
}

.button--outline {
  border: 2px solid currentColor;
}

.primary-menu,
.primary-menu .sub-menu,
.footer-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-search .search-form,
.error-page .search-form {
  display: flex;
  gap: 0.75rem;
}

.site-search .search-field,
.error-page .search-field {
  border: 0;
  min-width: 0;
  padding: 0.75rem 0;
  width: 100%;
}

.error-page .search-field {
  border-bottom: 2px solid var(--color-ink);
}

.error-page .search-submit {
  background: var(--color-rust);
  border: 0;
  color: var(--color-paper);
  padding-inline: 1.25rem;
}

.site-main {
  min-height: 55vh;
  padding-block: clamp(3rem, 8vw, 7rem);
}

.entry__header h1,
.error-page h1 {
  font-family: var(--font-display);
  font-size: var(--fs-hero-lg);
  font-weight: 500;
  line-height: 0.9;
  margin: 0 0 2rem;
  text-transform: uppercase;
}

.entry__content {
  font-size: var(--fs-lead-fluid);
  max-width: 52rem;
}

.entry-list {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.entry-card {
  border-top: 2px solid var(--color-ink);
  padding-top: 1rem;
}

.entry-card__title {
  font-size: 1.5rem;
  line-height: 1.15;
  margin: 0;
}

.migration-notice {
  background: var(--color-note-bg);
  border: 1px solid var(--color-note-border);
  margin-top: 3rem;
  padding: 1rem;
}

.article-main {
  overflow: clip;
}

.article-detail a {
  text-decoration-color: currentColor;
}

.article-hero {
  background: var(--article-hero-background, var(--color-paper));
  border-bottom: 2px solid var(--color-ink);
  padding-block: clamp(2.5rem, 7vw, 6rem);
}

.article-hero__grid {
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1fr);
}

.article-hero__content,
.article-hero__figure,
.article-content {
  min-width: 0;
}

.article-hero__content {
  align-self: center;
}

.article-hero__eyebrow,
.article-hero__authors,
.article-hero__episode,
.article-hero__date {
  font-size: 0.86rem;
  font-weight: 500;
}

.article-hero__eyebrow {
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.article-hero__title {
  font-family: var(--font-display);
  font-size: var(--fs-hero-lg);
  font-weight: 500;
  line-height: 0.86;
  margin: 0 0 clamp(1.5rem, 4vw, 2.5rem);
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.article-hero__authors,
.article-hero__episode {
  margin: 0 0 0.45rem;
}

.article-hero__episode {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
}

.article-hero__date {
  display: block;
  font-weight: 400;
  letter-spacing: var(--tracking-body);
  margin-top: 1rem;
}

.article-hero__figure {
  margin: 0;
}

.article-hero__media {
  aspect-ratio: 832 / 447;
  overflow: hidden;
}

.article-hero__image {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: var(--article-image-position, center);
  width: 100%;
}

.article-hero__caption {
  display: flex;
  flex-wrap: wrap;
  font-size: 0.75rem;
  gap: 0.25rem 1rem;
  margin-top: 0.65rem;
}

.article-body {
  display: grid;
  gap: clamp(3rem, 7vw, 6rem);
  grid-template-columns: minmax(0, 1fr);
  padding-block: clamp(3.5rem, 8vw, 7rem);
}

.article-sidebar {
  display: grid;
  gap: 2rem;
}

.article-sidebar-card {
  border-top: 2px solid var(--color-ink);
  padding-top: 1rem;
}

.article-sidebar-card .home-media {
  aspect-ratio: 4 / 3;
  margin-bottom: 1rem;
}

.article-sidebar-card h2 {
  font-size: var(--fs-h3-fluid);
  font-weight: 500;
  letter-spacing: var(--tracking-heading);
  line-height: 1.08;
  margin: 0;
}

.article-sidebar-card a {
  text-decoration: none;
}

.article-content > :first-child {
  margin-top: 0;
}

.article-content > :last-child {
  margin-bottom: 0;
}

.article-content h2,
.article-content h3,
.article-content h4 {
  line-height: 1.08;
  margin-bottom: 0.65em;
  margin-top: 1.8em;
}

.article-content h2 {
  font-family: var(--font-display);
  font-size: var(--fs-h1-fluid);
  font-weight: 500;
  text-transform: uppercase;
}

.article-content h3 {
  font-size: var(--fs-h3-fluid);
}

.article-content p,
.article-content ul,
.article-content ol,
.article-content blockquote {
  margin-block: 0 1.35em;
}

.article-content ul,
.article-content ol {
  padding-left: 1.35em;
}

.article-content blockquote {
  border-left: 0.4rem solid var(--color-rust);
  font-size: var(--fs-h3-fluid);
  line-height: 1.3;
  margin-left: 0;
  padding-left: clamp(1rem, 3vw, 2rem);
}

.article-content img {
  display: block;
  margin-block: 2rem;
}

.article-content iframe,
.article-content video,
.article-content table {
  max-width: 100%;
}

.article-content__embed {
  margin-bottom: clamp(2rem, 5vw, 3rem);
}

.article-gallery {
  padding-bottom: clamp(4rem, 9vw, 8rem);
}

.article-gallery__track {
  display: grid;
  gap: 1rem;
  grid-auto-columns: min(88%, 42rem);
  grid-auto-flow: column;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding-bottom: 1rem;
  scroll-snap-type: inline mandatory;
}

.article-gallery__item {
  margin: 0;
  min-width: 0;
  scroll-snap-align: start;
}

.article-gallery__image {
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
  width: 100%;
}

.article-gallery figcaption {
  font-size: 0.8rem;
  margin-top: 0.65rem;
}

.article-related {
  border-top: 2px solid var(--color-ink);
  padding-block: clamp(4rem, 9vw, 8rem);
}

.article-related__grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr);
}

.article-related a {
  text-decoration: none;
}

.listing-main {
  overflow: hidden;
}

.listing-page a {
  text-decoration-color: currentColor;
}

.listing-hero {
  border-bottom: 2px solid var(--color-ink);
  padding-block: clamp(2.5rem, 7vw, 6rem);
}

.listing-hero__grid {
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1fr);
}

.listing-hero__content,
.listing-hero__media,
.blog-featured__card,
.listing-card .card__content {
  min-width: 0;
}

.listing-hero__content {
  align-self: center;
}

.listing-hero__title,
.listing-section-title,
.blog-featured__card h2,
.event-featured__title {
  font-family: var(--font-display);
  font-weight: 500;
  text-transform: uppercase;
}

.listing-hero__title {
  font-size: var(--fs-hero-xl);
  line-height: 0.86;
  margin: 0;
}

.listing-hero__media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.listing-hero__image {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: var(--listing-image-position, center);
  width: 100%;
}

.blog-featured {
  background: var(--color-gray);
  border-bottom: 2px solid var(--color-ink);
  padding-block: clamp(3rem, 8vw, 7rem);
}

.blog-featured__card {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
  grid-template-columns: minmax(0, 1fr);
}

.blog-featured__media {
  aspect-ratio: 16 / 9;
}

.event-featured__title a,
.listing-card__title a {
  text-decoration: none;
}

.listing-card__date {
  display: block;
  font-size: 0.86rem;
  font-weight: 500;
}

.blog-featured__excerpt {
  margin-block: 1.5rem;
}

.blog-featured__excerpt > :first-child,
.event-featured__content > div:not(.event-meta) > :first-child {
  margin-top: 0;
}

.blog-featured__excerpt > :last-child,
.event-featured__content > div:not(.event-meta) > :last-child {
  margin-bottom: 0;
}

.event-featured {
  background: var(--color-ink);
  color: var(--color-paper);
  padding-block: clamp(4rem, 9vw, 8rem);
}

.event-featured__eyebrow {
  font-size: 0.85rem;
  font-weight: 500;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.event-featured__title {
  font-size: var(--fs-hero-lg);
  line-height: 0.86;
  margin: 0 0 clamp(2rem, 5vw, 4rem);
  max-width: 70rem;
  overflow-wrap: anywhere;
}

.event-featured__grid {
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1fr);
}

.event-featured__media {
  aspect-ratio: 4 / 3;
}

.event-featured__content {
  border-top: 2px solid currentColor;
  padding-top: 1.5rem;
}

.event-featured__content .button {
  margin-top: 1.25rem;
}

.event-meta {
  display: grid;
  gap: 0.75rem;
  margin: 0 0 1.5rem;
}

.event-meta > div {
  display: grid;
  gap: 0.1rem;
}

.event-meta dt {
  font-size: 0.72rem;
  font-weight: 500;
  text-transform: uppercase;
}

.event-meta dd {
  margin: 0;
}

.event-meta__tickets a {
  font-weight: 500;
}

.listing-feed {
  padding-block: clamp(4rem, 9vw, 8rem);
}

.listing-section-title {
  font-size: var(--fs-hero-lg);
  line-height: 0.86;
  margin: 0 0 clamp(2rem, 5vw, 4rem);
}

.listing-cards {
  border-bottom: 2px solid var(--color-ink);
}

.listing-card .card__media {
  aspect-ratio: 4 / 3;
}

.listing-card__title {
  font-size: var(--fs-h2-fluid);
  line-height: 1;
  margin: 0.75rem 0 1rem;
}

.listing-card .card__excerpt {
  margin: 0;
}

.listing-card .event-meta {
  border-bottom: 1px solid currentColor;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
}

.listing-pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-top: clamp(2.5rem, 6vw, 5rem);
}

.listing-pagination .page-numbers {
  align-items: center;
  border: 2px solid var(--color-ink);
  display: inline-flex;
  justify-content: center;
  min-height: 2.75rem;
  min-width: 2.75rem;
  padding: 0.4rem 0.8rem;
  text-decoration: none;
}

.listing-pagination .current,
.listing-pagination a:hover,
.listing-pagination a:focus {
  background: var(--color-ink);
  color: var(--color-paper);
}

.listing-pagination--load-more {
  display: block;
}

.listing-load-more {
  background: var(--color-stone);
  color: var(--color-gray);
  cursor: pointer;
  display: block;
  font-size: 14px;
  letter-spacing: var(--tracking-ui);
  line-height: 1;
  padding: 20px 0;
  text-align: center;
  text-decoration: none;
  width: 100%;
}

.listing-load-more:hover,
.listing-load-more:focus {
  background: var(--color-ink);
  color: var(--color-paper);
}

.listing-load-more[aria-disabled="true"] {
  cursor: progress;
  opacity: 0.7;
  pointer-events: none;
}@media (min-width: 48rem) {
.listing-load-more {
    margin-inline: auto;
    max-width: 224px;
  }
}
@media (min-width: 64rem) {
.listing-load-more {
    font-size: 16px;
    max-width: 282px;
    padding-block: 25px;
  }
}

/* Source: 10-shared-components.css */
/*
 * Shared parity contracts established by the template-family visual audit.
 * These rules intentionally target reusable modules and families only.
 */
.article-detail--event .article-hero {
  background: var(--color-stone);
}
/*
 * Share links: the single component behind every share rail and row.
 * Page families position it via their context class (.article-share,
 * .general-page-share, .portal-detail-share, .portal-detail-mobile-share);
 * the component owns the heading, icon geometry, and rail bar.
 */
.share-links--icons {
  align-items: center;
  display: flex;
  gap: 24px;
}

.share-links--rail {
  display: block;
  position: relative;
}

.share-links--rail::before {
  background: var(--color-ink);
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  top: 0;
  width: 56px;
}

.share-links__heading {
  display: block;
  font-size: 15px;
  font-weight: 400;
  line-height: 15px;
  margin: 0 0 15px;
}

.share-links__links {
  align-items: center;
  display: flex;
  gap: 24px;
  height: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.share-links__link {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  font-size: 0;
  height: 20px;
  overflow: hidden;
  width: 20px;
}

.share-links__link--facebook {
  background-image: url("../images/icons/facebook.svg");
  width: 10px;
}

.share-links__link--twitter {
  background-image: url("../images/icons/twitter.svg");
}

.share-links__link--linkedin {
  background-image: url("../images/icons/linkedin.svg");
}

/*
 * Prose ramp: the shared body-copy contract for every long-form region
 * (article body, portal detail prose, general-page copy, glossary copy).
 * Families keep their own large-text tier because its breakpoint tracks
 * each family's grid (64/75/80rem).
 */
.article-content,
.portal-detail__prose,
.general-page__copy,
.glossary-detail__copy {
  color: var(--color-ink-muted);
  font-size: 14px;
  letter-spacing: var(--tracking-body);
  line-height: 20px;
}@media (min-width: 48rem) {
.article-content,
  .portal-detail__prose,
  .general-page__copy,
  .glossary-detail__copy {
    font-size: 16px;
    line-height: 24px;
  }
}

.article-event-details__summary {
  border-bottom: 2px solid var(--color-ink);
  cursor: pointer;
  font-size: 24px;
  font-weight: 500;
  line-height: 26px;
  list-style: none;
  padding: 30px 28px 30px 0;
  position: relative;
}

.article-event-details__summary::-webkit-details-marker {
  display: none;
}

.article-event-details__summary::after {
  background: url("../images/icons/caret.svg") center / contain no-repeat;
  content: "";
  height: 8px;
  position: absolute;
  right: 20px;
  top: 39px;
  transition: transform 180ms ease;
  width: 12px;
}

.article-event-details__disclosure[open] .article-event-details__summary::after {
  transform: rotate(180deg);
}

.article-event-details__panel {
  padding-top: 30px;
}

.article-event-details .event-meta > div {
  border-bottom: 2px solid var(--color-stone);
  display: grid;
  gap: 22px;
  grid-template-columns: 20px minmax(0, 1fr);
  margin: 0;
  padding: 0 0 30px;
}

.article-event-details .event-meta > div + div {
  margin-top: 0;
  padding-top: 30px;
}

.article-event-details .event-meta > div::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 20px;
  width: 20px;
}

.article-event-details .event-meta__date::before {
  background-image: url("../images/icons/calendar.svg");
}

.article-event-details .event-meta__location::before {
  background-image: url("../images/icons/pin.svg");
}

.article-event-details .event-meta__website::before {
  background-image: url("../images/icons/language.svg");
}

.article-event-details .event-meta__tickets::before {
  background-image: url("../images/icons/ticket.svg");
}

.article-event-details .event-meta__combined-time {
  display: block;
}

/* Shared event-detail module. The same semantic partial is placed in the
 * mobile reading flow and the desktop article rail. */
.article-mobile-event {
  padding-block: 40px 0;
}

.article-event-details .event-meta {
  font-size: 14px;
  gap: 0;
  line-height: 22px;
  margin: 0;
}

.article-event-details .event-meta dt {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.article-event-details .event-meta dd {
  line-height: inherit;
}

.article-event-details .event-meta a {
  color: inherit;
}

.article-event-details .event-meta__tickets a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}@media (min-width: 48rem) {
.article-mobile-event {
    display: none;
  }

  .article-event-details--desktop {
    margin-bottom: 50px;
  }
}
@media (min-width: 64rem) {
.article-event-details .event-meta {
    font-size: 16px;
    line-height: 24px;
  }
}

.listing-hero__eyebrow {
  color: var(--color-ink);
  font-size: 0.8rem;
  font-weight: 500;
  margin: 0 0 0.75rem;
  text-transform: uppercase;
}

.portal-page a {
  text-decoration: none;
}

.portal-page .listing-hero__image {
  object-fit: contain;
}

.portal-featured {
  padding-block: clamp(4rem, 9vw, 8rem);
}

.portal-featured__grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr);
}

.card--tri-color {
  background: var(--color-mint);
  display: flex;
  flex-direction: column;
}

.portal-featured-card:nth-child(3n + 2) {
  background: var(--color-blue);
}

.portal-featured-card:nth-child(3n) {
  background: var(--color-blush);
}

.home-section-title {
  font-family: var(--font-display);
  font-size: 40px;
  font-weight: 500;
  line-height: 40px;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.home-eyebrow {
  font-size: 14px;
  font-weight: 400;
  line-height: 14px;
  margin: 0 0 15px;
}

.home-media {
  display: block;
  overflow: hidden;
}

.home-media__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.home-video {
  aspect-ratio: 16 / 9;
}

.home-video iframe {
  border: 0;
  height: 100%;
  width: 100%;
}

@media (min-width: 64rem) {
  .home-section-title {
    font-size: 64px;
    line-height: 54px;
  }
}

@media (min-width: 75rem) {
  .home-section-title {
    font-size: 114px;
    line-height: 104px;
    margin-bottom: 30px;
  }
}

.home-card .home-media,
.portal-featured-card .card__media,
.related-card__image {
  aspect-ratio: 4 / 3;
}

.portal-featured-card .card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(1rem, 3vw, 1.75rem);
}

.portal-featured-card__title,
.portal-series-card__title,
.portal-directory__title {
  font-family: var(--font-display);
  font-weight: 500;
  text-transform: uppercase;
}

.portal-featured-card__title {
  font-size: var(--fs-h2-fluid);
  line-height: 0.95;
  margin: 0 0 1.25rem;
}

.portal-featured-card .card__excerpt {
  margin: 0;
}

.portal-featured-card .card__meta {
  border-top: 1px solid currentColor;
  display: flex;
  gap: 1rem;
  margin: auto 0 0;
  padding-top: 1.25rem;
}

.portal-directory {
  padding-block: clamp(4rem, 9vw, 8rem);
}

.portal-directory__grid {
  display: grid;
  gap: clamp(2.5rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1fr);
}

.portal-directory__title {
  font-size: var(--fs-hero-lg);
  line-height: 0.86;
  margin: 0 0 clamp(2rem, 5vw, 4rem);
}

.portal-navigation ul {
  border-bottom: 2px solid var(--color-ink);
  list-style: none;
  margin: 0;
  padding: 0;
}

.portal-navigation li {
  border-top: 2px solid var(--color-ink);
}

.portal-navigation a {
  display: block;
  font-weight: 500;
  padding: 0.8rem 1rem;
  text-decoration: none;
}

.portal-navigation a[aria-current="page"],
.portal-navigation a:hover,
.portal-navigation a:focus {
  background: var(--color-ink);
  color: var(--color-paper);
}

.portal-series {
  border-bottom: 2px solid var(--color-ink);
}

.card--rule {
  border-top: 2px solid var(--color-ink);
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
  grid-template-columns: minmax(0, 1fr);
  padding-block: clamp(1.5rem, 4vw, 3rem);
}

.card__title {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: var(--tracking-ui);
  line-height: 20px;
}

/* Shared card headlines are structural navigation, not rich-text links. */
.card h3 > a {
  text-decoration: none;
}

.portal-series-card .card__media {
  aspect-ratio: 4 / 3;
}

.portal-series-card__title {
  font-size: var(--fs-h1-fluid);
  line-height: 0.88;
  margin: 0 0 1.25rem;
}

.portal-series-card .card__excerpt {
  margin: 0;
}

.portal-platforms {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1.5rem;
}

.portal-platforms .button {
  font-size: 0.85rem;
  min-height: 2.4rem;
  padding: 0.35rem 0.85rem;
}

.project-directory {
  padding-block: clamp(4rem, 9vw, 8rem);
}

.project-directory__grid {
  display: grid;
  gap: clamp(2.5rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1fr);
}

.article-people {
  border-top: 2px solid var(--color-ink);
  padding-block: clamp(4rem, 9vw, 8rem);
}

.portal-detail a {
  text-decoration-color: currentColor;
}

.portal-detail .listing-hero__image {
  object-fit: contain;
}

.portal-detail-featured {
  background: var(--color-ink);
  color: var(--color-paper);
  padding-block: clamp(3rem, 8vw, 6rem);
}

.portal-detail-featured--mint {
  background: var(--color-mint);
  color: var(--color-ink);
}

.portal-detail-featured--blue {
  background: var(--color-blue);
}

.portal-detail-featured--shell {
  background: var(--color-blush);
  color: var(--color-ink);
}

.portal-detail-featured__inner {
  max-width: 62rem;
}

.portal-detail-featured__meta,
.portal-episode-card .card__meta {
  display: flex;
  flex-wrap: wrap;
  font-size: 0.78rem;
  font-weight: 500;
  gap: 0.6rem 1.2rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.portal-detail-featured__title,
.portal-detail__section-title,
.portal-episode-card h3,
.portal-person h3 {
  font-family: var(--font-display);
  font-weight: 500;
  text-transform: uppercase;
}

.portal-detail-featured__title {
  font-size: var(--fs-hero-lg);
  line-height: 0.88;
  margin: 1rem 0 1.5rem;
}

.portal-detail-featured__title a {
  color: inherit;
  text-decoration: none;
}

.portal-detail-featured__excerpt {
  font-size: var(--fs-lead-fluid);
  max-width: 52rem;
}

.portal-detail-featured__embed {
  margin-top: clamp(2rem, 5vw, 4rem);
}

.portal-detail-featured__embed--audio iframe {
  border: 0;
  display: block;
  height: 200px;
  max-width: 100%;
  width: 100%;
}

.portal-detail__layout {
  display: grid;
  gap: clamp(2.5rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1fr);
  padding-block: clamp(4rem, 9vw, 8rem);
}

.portal-detail-navigation__directory,
.portal-detail-navigation__series,
.portal-detail-platforms > p {
  margin: 0;
}

.portal-detail-navigation__directory {
  font-size: 0.78rem;
  font-weight: 500;
  text-transform: uppercase;
}

.portal-detail-navigation__series {
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 0.95;
  margin-top: 0.75rem;
  text-transform: uppercase;
}

.portal-detail-navigation ul {
  border-bottom: 2px solid var(--color-ink);
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}

.portal-detail-navigation li {
  border-top: 2px solid var(--color-ink);
}

.portal-detail-navigation li a {
  display: block;
  font-weight: 500;
  padding: 0.8rem 1rem;
  text-decoration: none;
}

.portal-detail-navigation li a[aria-current="page"],
.portal-detail-navigation li a:hover,
.portal-detail-navigation li a:focus {
  background: var(--color-ink);
  color: var(--color-paper);
}

.portal-detail-platforms {
  margin-top: 2rem;
}

.portal-detail__prose {
  max-width: 50rem;
}

.portal-detail__prose > :first-child,
.portal-person__description > :first-child {
  margin-top: 0;
}

.portal-detail__section-title {
  font-size: var(--fs-hero-lg);
  line-height: 0.86;
  margin: 0 0 clamp(2rem, 5vw, 4rem);
}

.portal-detail__prose + .portal-detail-episodes,
.portal-detail__prose + .portal-people {
  border-top: 2px solid var(--color-ink);
  margin-top: clamp(3rem, 7vw, 6rem);
  padding-top: clamp(3rem, 7vw, 6rem);
}

.portal-detail-episodes__grid,
.portal-people__grid {
  display: grid;
  gap: 2px;
  grid-template-columns: minmax(0, 1fr);
}

.portal-episode-card {
  border-top: 2px solid var(--color-ink);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(8rem, 0.55fr) minmax(0, 1.45fr);
  padding-block: 1.5rem;
}

.portal-episode-card:last-child {
  border-bottom: 2px solid var(--color-ink);
}

.portal-episode-card .card__media {
  aspect-ratio: 4 / 3;
}

.portal-episode-card .card__content {
  min-width: 0;
}

.portal-episode-card .card__meta {
  margin: 0 0 0.6rem;
}

.portal-episode-card h3 {
  font-size: var(--fs-h2-fluid);
  line-height: 0.92;
  margin: 0 0 1rem;
}

.portal-episode-card h3 a {
  text-decoration: none;
}

.portal-episode-card .card__content > p:last-child {
  margin-bottom: 0;
}

.portal-people__grid {
  gap: clamp(1.5rem, 4vw, 3rem);
}

.portal-person {
  border-top: 2px solid var(--color-ink);
  column-gap: 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  row-gap: 0;
}

.portal-person__media {
  aspect-ratio: 4 / 3;
}

.portal-person h3 {
  font-size: var(--fs-h1-fluid);
  line-height: 0.88;
  margin: 0;
}

.portal-person__job-title {
  font-weight: 500;
  margin: 0.5rem 0 1.25rem;
}

.portal-person__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
}

.portal-person__details {
  border-top: 1px solid currentColor;
  margin-top: 1.25rem;
  padding-top: 0.75rem;
}

.portal-person__details summary {
  cursor: pointer;
  font-weight: 500;
}

.portal-person__details[open] summary {
  margin-bottom: 1rem;
}

.directory-main,
.glossary-detail-main {
  overflow: clip;
}

.people-directory,
.glossary-index,
.glossary-detail {
  padding-block: clamp(3rem, 8vw, 7rem);
}

.rich-copy > :first-child {
  margin-top: 0;
}

.rich-copy > :last-child {
  margin-bottom: 0;
}

/* WordPress stores image alignment as editor classes. Rich-content families
 * all consume the same contract instead of re-implementing it per template. */
.rich-copy img.alignleft {
  display: block;
  float: left;
  margin: 0 15px 0 0;
}

.rich-copy img.alignright {
  display: block;
  float: right;
  margin: 0 0 0 15px;
}

.rich-copy img.aligncenter {
  display: block;
  margin-inline: auto;
}

/* Platform identity belongs to the shared link primitive. Portal directories,
 * series details, and article rails all render through platform-links.php. */
.platform-link--apple-podcasts,
.platform-link--spotify,
.platform-link--youtube {
  font-size: 0;
}

.platform-link--apple-podcasts::after,
.platform-link--spotify::after,
.platform-link--youtube::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  flex: 0 0 auto;
}

.platform-link--apple-podcasts::after {
  background-image: url("../images/icons/apple-podcasts.svg");
  height: 27px;
  width: 150px;
}

.platform-link--spotify::after {
  background-image: url("../images/icons/spotify.svg");
  height: 27px;
  width: 87px;
}

.platform-link--youtube::after {
  background-image: url("../images/icons/youtube-link.svg");
  height: 27px;
  width: 121px;
}

/* Platform-link groups choose their layout explicitly so the same component
 * can serve full-width sidebar controls and compact inline card links. */
.platform-links--stacked .platform-links__items {
  display: grid;
  gap: 10px;
}

.platform-links--stacked .platform-link {
  width: 100%;
}

/* Editor-authored forms share the same field contract wherever rich content
 * is rendered. This replaces the legacy `.wysiwyg` form rules without tying
 * the controls to a page or plugin shortcode. */
:where(.rich-copy, .portal-detail__prose) label {
  color: var(--color-ink-muted);
  font-size: 14px !important;
  letter-spacing: var(--tracking-body) !important;
  line-height: 20px !important;
}

:where(.rich-copy, .portal-detail__prose) label br {
  display: none;
}

:where(.rich-copy, .portal-detail__prose) input,
:where(.rich-copy, .portal-detail__prose) select {
  background: var(--color-stone) !important;
  border: 0 !important;
  color: var(--color-ink);
  display: flex;
  font: inherit;
  font-size: 14px !important;
  height: 40px;
  letter-spacing: var(--tracking-body) !important;
  line-height: 20px !important;
  margin-top: 5px;
  outline: 0;
  padding: 0 20px;
  width: 100%;
}

:where(.rich-copy, .portal-detail__prose) input[type="radio"],
:where(.rich-copy, .portal-detail__prose) input[type="checkbox"] {
  display: inline-block;
  height: 20px;
  margin: 0 10px 0 0;
  padding: 0;
  transform: translateY(4px);
  width: 20px;
}

:where(.rich-copy, .portal-detail__prose) input[type="submit"] {
  align-items: center;
  background: transparent !important;
  border: 2px solid var(--color-ink) !important;
  display: flex;
  font-weight: 500;
  justify-content: center;
  margin: 0 auto;
  transition: background-color 0.25s, border-color 0.25s, color 0.25s;
}

:where(.rich-copy, .portal-detail__prose) input[type="submit"]:hover,
:where(.rich-copy, .portal-detail__prose) input[type="submit"]:focus-visible {
  background: var(--color-rust) !important;
  border-color: var(--color-rust) !important;
  color: var(--color-paper);
}

/* Normalize Mailchimp's paragraph-and-break markup anywhere it is embedded
 * in editor-authored content. Layout and control styling remain independent
 * of the page template that contains the shortcode. */
:where(.rich-copy, .portal-detail__prose) .mc4wp-form-fields br {
  display: none;
}

:where(.rich-copy, .portal-detail__prose) .mc4wp-form-fields > p {
  letter-spacing: var(--tracking-body);
  margin: 0 0 40px;
  padding: 0;
}

:where(.rich-copy, .portal-detail__prose) .mc4wp-form-fields > p:last-child {
  margin-bottom: 0;
}

:where(.rich-copy, .portal-detail__prose) .mc4wp-form > p:has(input[type="hidden"]) {
  display: none;
}

@media (min-width: 48rem) {
  :where(.rich-copy, .portal-detail__prose) label {
    font-size: 16px !important;
    line-height: 24px !important;
  }

  :where(.rich-copy, .portal-detail__prose) input,
  :where(.rich-copy, .portal-detail__prose) select {
    font-size: 16px !important;
    height: 60px;
    line-height: 24px !important;
  }

  :where(.rich-copy, .portal-detail__prose) input[type="submit"] {
    max-width: 50%;
  }
}
@media (min-width: 64rem) {
  :where(.rich-copy, .portal-detail__prose) label,
  :where(.rich-copy, .portal-detail__prose) input,
  :where(.rich-copy, .portal-detail__prose) select {
    font-size: 20px !important;
    line-height: 28px !important;
  }

  :where(.rich-copy, .portal-detail__prose) input,
  :where(.rich-copy, .portal-detail__prose) select {
    height: 66px;
  }
}

.directory-section-title,
.glossary-group > h2,
.glossary-detail__header h1 {
  font-family: var(--font-display);
  font-weight: 500;
  text-transform: uppercase;
}

.directory-section-title {
  border-bottom: 2px solid var(--color-ink);
  font-size: var(--fs-hero-lg);
  line-height: 0.86;
  margin: 0 0 clamp(2rem, 5vw, 4rem);
  padding-bottom: 1rem;
}

.people-directory__grid {
  display: grid;
  gap: clamp(2rem, 5vw, 4rem) clamp(1.25rem, 3vw, 2.5rem);
  grid-template-columns: minmax(0, 1fr);
}

.people-card__media {
  aspect-ratio: 4 / 3;
}

.people-card__content {
  border-top: 2px solid var(--color-ink);
  padding-top: 1rem;
}

.people-card h3 {
  font-size: var(--fs-h2-fluid);
  line-height: 0.9;
  margin: 0;
}

.people-card__job-title {
  font-weight: 500;
  margin: 0.7rem 0 0;
}

.people-card__profile-trigger {
  appearance: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  inset: 0;
  padding: 0;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.people-card__profile-trigger:focus-visible {
  outline: 3px solid var(--color-rust);
  outline-offset: 4px;
}

.people-profile-dialog {
  background: var(--color-paper);
  border: 0;
  border-radius: 0;
  color: var(--color-ink);
  height: calc(100dvh - 70px);
  inset: 70px 0 0;
  margin: 0;
  max-height: none;
  max-width: none;
  overflow: auto;
  padding: 64px 12px;
  width: 100%;
}

.people-profile-dialog::backdrop {
  background: rgba(43, 38, 30, 0.5);
}

.people-profile-dialog__close {
  background: transparent;
  border: 0;
  height: 26px;
  padding: 0;
  position: absolute;
  right: 12px;
  top: 13px;
  width: 26px;
  z-index: 2;
}

.people-profile-dialog__close span::before,
.people-profile-dialog__close span::after {
  background: var(--color-ink);
  content: "";
  height: 26px;
  position: absolute;
  right: 12px;
  top: 0;
  transform: rotate(45deg);
  width: 3px;
}

.people-profile-dialog__close span::after {
  transform: rotate(-45deg);
}

.people-profile-dialog__content {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
}

.people-profile-dialog__left,
.people-profile-dialog__right {
  min-width: 0;
  width: 100%;
}

.people-profile-dialog__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  width: 100%;
}

.people-profile-dialog__image {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.people-profile-dialog__title {
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: 40px;
  font-weight: 500;
  letter-spacing: var(--tracking-display);
  line-height: 42px;
  margin: 20px 0 0;
  max-width: 384px;
  padding: 0;
  text-transform: uppercase;
}

.people-profile-dialog__job-title {
  color: var(--color-ink-muted);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: var(--tracking-body);
  line-height: 22px;
  margin: 15px 0 24px;
  text-transform: capitalize;
}

.people-profile-dialog__description {
  border-top: 2px solid var(--color-ink);
  color: var(--color-ink-muted);
  font-size: 16px;
  letter-spacing: var(--tracking-body);
  line-height: 24px;
  margin-top: 31px;
  padding-top: 30px;
}

.people-profile-dialog__description > :first-child { margin-top: 0; }
.people-profile-dialog__description > :last-child { margin-bottom: 0; }

.people-profile-dialog__social {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  list-style: none;
  margin: 26px 0 0;
  padding: 0;
}

.people-profile-dialog__social--desktop { display: none; }

.people-profile-dialog__social-link {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  height: 20px;
  width: 20px;
}

.people-profile-dialog__social-link--facebook {
  background-image: url("../images/icons/facebook.svg");
  width: 10px;
}

.people-profile-dialog__social-link--twitter { background-image: url("../images/icons/twitter.svg"); }
.people-profile-dialog__social-link--instagram { background-image: url("../images/icons/instagram.svg"); }
.people-profile-dialog__social-link--linkedin { background-image: url("../images/icons/linkedin.svg"); }
.people-profile-dialog__social-link--website { background-image: url("../images/icons/language.svg"); }
.people-profile-dialog__social-link--youtube {
  background-image: url("../images/icons/youtube.svg");
  height: 19px;
  width: 27px;
}@media (min-width: 48rem) {
.people-profile-dialog {
    border-radius: 19px;
    height: auto;
    inset: 0;
    margin: auto;
    max-height: 800px;
    max-width: 916px;
    overflow: visible;
    padding: 73px 62px;
    width: 80%;
  }

  .people-profile-dialog__close {
    right: 62px;
    top: 73px;
  }

  .people-profile-dialog__content {
    flex-direction: row;
    max-height: 600px;
  }

  .people-profile-dialog__left {
    flex: 0 0 282px;
    margin-right: 24px;
    max-width: 282px;
  }

  .people-profile-dialog__right {
    flex: 1 1 auto;
    padding-top: 30px;
  }

  .people-profile-dialog__title {
    font-size: 70px;
    line-height: 60px;
    margin-top: 0;
  }

  .people-profile-dialog__title span { display: block; }
  .people-profile-dialog__social--desktop { display: flex; }
  .people-profile-dialog__social--mobile { display: none; }

  .people-profile-dialog__description {
    margin-top: 0;
    max-height: 400px;
    overflow-y: auto;
  }
}

.glossary-index__letters {
  border-block: 2px solid var(--color-ink);
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin-bottom: clamp(3rem, 8vw, 7rem);
}

.glossary-index__letters a,
.glossary-index__letters span {
  align-items: center;
  aspect-ratio: 1;
  display: flex;
  font-weight: 500;
  justify-content: center;
  text-decoration: none;
}

.glossary-index__letters a:hover,
.glossary-index__letters a:focus {
  background: var(--color-ink);
  color: var(--color-paper);
}

.glossary-index__letters span {
  opacity: 0.28;
}

.glossary-group {
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  grid-template-columns: minmax(4rem, 0.25fr) minmax(0, 1.75fr);
  scroll-margin-top: 2rem;
}

.glossary-group + .glossary-group {
  border-top: 2px solid var(--color-ink);
  margin-top: clamp(4rem, 9vw, 8rem);
  padding-top: clamp(4rem, 9vw, 8rem);
}

.glossary-group > h2 {
  font-size: var(--fs-hero-lg);
  line-height: 0.8;
  margin: 0;
}

.glossary-group__items {
  min-width: 0;
}

.glossary-card {
  padding-block: clamp(1.5rem, 4vw, 3rem);
}

.glossary-card:first-child {
  padding-top: 0;
}

.glossary-card .card__media {
  aspect-ratio: 4 / 3;
}

.glossary-card h3 {
  font-size: var(--fs-h1-fluid);
  line-height: 0.9;
  margin: 0 0 1rem;
}

.glossary-card h3 a {
  text-decoration: none;
}

.glossary-card__reference {
  font-weight: 500;
}

.glossary-card__reference p {
  margin: 0 0 1rem;
}

.glossary-detail__back {
  display: inline-block;
  font-weight: 500;
  margin-bottom: clamp(3rem, 7vw, 6rem);
}

.glossary-detail__grid {
  display: grid;
  gap: clamp(3rem, 8vw, 7rem);
  grid-template-columns: minmax(0, 1fr);
}

.glossary-detail__header h1 {
  font-size: var(--fs-hero-xl);
  line-height: 0.82;
  margin: 0;
}

.glossary-detail__reference {
  border-top: 2px solid var(--color-ink);
  font-size: 1.1rem;
  margin-top: 2rem;
  padding-top: 1rem;
}

.glossary-detail__featured {
  margin: 0 0 clamp(2rem, 5vw, 4rem);
}

.glossary-detail__image {
  display: block;
  height: auto;
  width: 100%;
}

.general-page-main {
  overflow: clip;
}

.general-page a {
  text-decoration-color: currentColor;
}

.general-page__body {
  padding-block: clamp(3rem, 8vw, 7rem);
}

.general-page__grid {
  display: grid;
  gap: clamp(2.5rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1fr);
}

.general-page__content {
  min-width: 0;
}

.contact-directory__intro,
.content-portal__intro {
  font-size: var(--fs-lead-fluid);
}

.general-section-title {
  border-bottom: 2px solid var(--color-ink);
  font-family: var(--font-display);
  font-size: var(--fs-hero-lg);
  font-weight: 500;
  line-height: 0.88;
  margin: 0 0 clamp(1.5rem, 4vw, 3rem);
  padding-bottom: 0.8rem;
  text-transform: uppercase;
}

.general-children,
.general-faqs,
.contact-directory,
.contact-form-section,
.content-portal {
  margin-top: clamp(3rem, 8vw, 7rem);
}

.general-page__content > :first-child {
  margin-top: 0;
}

.general-faqs__items {
  border-bottom: 2px solid var(--color-ink);
}

.general-faq {
  border-top: 2px solid var(--color-ink);
}

.general-faq summary {
  cursor: pointer;
  font-size: var(--fs-lead-fluid);
  font-weight: 500;
  list-style: none;
  padding: 1.2rem 3rem 1.2rem 0;
  position: relative;
}

.general-faq summary::-webkit-details-marker {
  display: none;
}

.general-faq summary::after {
  content: "+";
  font-size: 1.75rem;
  line-height: 1;
  position: absolute;
  right: 0.5rem;
  top: 1rem;
}

.general-faq[open] summary::after {
  content: "−";
}

.general-faq__answer {
  max-width: 48rem;
  padding: 0 2rem 1.5rem 0;
}

.contact-directory__groups {
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr);
  margin-top: 2rem;
}

.contact-offices {
  background: var(--color-mint);
  padding: clamp(1.25rem, 3vw, 2rem);
}

.contact-offices h3,
.gated-card h3 {
  font-family: var(--font-display);
  font-size: var(--fs-h2-fluid);
  font-weight: 500;
  line-height: 0.9;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.contact-offices address {
  font-style: normal;
  margin: 1rem 0 0;
}

.contact-offices {
  background: var(--color-blush);
  margin-top: 1rem;
}

.general-form {
  display: grid;
  gap: 0.65rem;
  max-width: 44rem;
}

.general-form label {
  font-weight: 500;
  margin-top: 0.5rem;
}

.general-form input,
.general-form textarea {
  background: var(--color-paper);
  border: 2px solid var(--color-ink);
  border-radius: 0;
  color: var(--color-ink);
  font: inherit;
  padding: 0.8rem;
  width: 100%;
}

.general-form input:focus,
.general-form textarea:focus {
  outline: 3px solid var(--color-blue);
  outline-offset: 2px;
}

.general-form__submit {
  background: var(--color-ink);
  border: 2px solid var(--color-ink);
  color: var(--color-paper);
  justify-self: start;
  margin-top: 1rem;
}

.general-form__honeypot {
  height: 0;
  left: -9999px;
  overflow: hidden;
  position: absolute;
  width: 0;
}

.form-notice {
  border: 2px solid currentColor;
  margin-bottom: 1.5rem;
  max-width: 44rem;
  padding: 1rem;
}

.form-notice--success {
  background: var(--color-mint);
}

.form-notice--error {
  background: var(--color-blush);
}

.content-portal {
  margin-top: 0;
}

.content-portal__form {
  margin-top: 1.5rem;
  max-width: 30rem;
}

.content-portal__items {
  border-bottom: 2px solid var(--color-ink);
  margin-top: clamp(3rem, 7vw, 6rem);
}

.gated-card__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.gated-card__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.gated-card__content .button {
  margin-top: 1rem;
}

.error-page__code {
  color: var(--color-rust);
  font-family: var(--font-display);
  font-size: 2rem;
  margin: 0 0 0.5rem;
}

.newsletter-dialog {
  background: transparent;
  border: 0;
  color: var(--color-ink);
  max-height: 100%;
  max-width: 100%;
  padding: 1rem;
}

.newsletter-dialog::backdrop {
  background: rgba(0, 0, 0, 0.55);
}

.newsletter-dialog__panel {
  background: var(--color-paper);
  border: 6px solid var(--color-rust);
  margin: auto;
  max-width: 37.5rem;
  padding: clamp(1.25rem, 5vw, 2.5rem);
  position: relative;
  text-align: center;
  width: min(90vw, 37.5rem);
}

.newsletter-dialog__close {
  background: transparent;
  border: 0;
  color: var(--color-ink);
  cursor: pointer;
  font-size: 2rem;
  line-height: 1;
  padding: 0.25rem;
  position: absolute;
  right: 0.35rem;
  top: 0.25rem;
}

.newsletter-dialog__title,
.newsletter-dialog__description {
  font-family: var(--font-display);
  font-weight: 500;
  text-transform: uppercase;
}

.newsletter-dialog__title {
  color: var(--color-rust);
  font-size: var(--fs-h1-fluid);
  line-height: 0.95;
  margin: 0 1.5rem 1rem;
}

.newsletter-dialog__description {
  font-size: var(--fs-h3-fluid);
  line-height: 1.05;
  margin: 0 auto 1.5rem;
  max-width: 13em;
}

.newsletter-dialog__form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}

.newsletter-dialog__form input[type="email"],
.newsletter-dialog__form button {
  border: 2px solid var(--color-ink);
  border-radius: 0;
  font: inherit;
  min-height: 2.5rem;
  padding: 0.45rem 0.7rem;
}

.newsletter-dialog__form input[type="email"] {
  flex: 1 1 13rem;
  min-width: 0;
}

.newsletter-dialog__form button {
  background: var(--color-paper);
  color: var(--color-ink);
  cursor: pointer;
  font-weight: 500;
}

.newsletter-dialog__form button:hover,
.newsletter-dialog__form button:focus-visible {
  background: var(--color-ink);
  color: var(--color-paper);
}

.newsletter-dialog__status {
  margin: 1rem 0 0;
}

.newsletter-dialog__website {
  left: -10000px;
  position: absolute;
}@media (min-width: 64rem) {
.portal-featured__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .portal-directory__grid {
    align-items: start;
    grid-template-columns: minmax(11rem, 0.28fr) minmax(0, 1.72fr);
  }

  .portal-navigation {
    position: sticky;
    top: calc(var(--header-height) + 2rem);
  }

  .portal-series-card {
    align-items: start;
    grid-template-columns: minmax(18rem, 0.9fr) minmax(0, 1.1fr);
  }

  .card--zigzag:nth-child(even) .card__media {
    grid-column: 2;
    grid-row: 1;
  }

  .card--zigzag:nth-child(even) .card__content {
    grid-column: 1;
    grid-row: 1;
  }

  .project-directory__grid:not(.project-directory__grid--wide) {
    align-items: start;
    grid-template-columns: minmax(11rem, 0.28fr) minmax(0, 1.72fr);
  }

  .project-directory__grid:not(.project-directory__grid--wide) .portal-navigation {
    position: sticky;
    top: calc(var(--header-height) + 2rem);
  }

  .portal-detail__layout {
    align-items: start;
    grid-template-columns: minmax(12rem, 0.3fr) minmax(0, 1.7fr);
  }

  .portal-detail__sidebar {
    position: sticky;
    top: calc(var(--header-height) + 2rem);
  }

  .portal-people--guests .portal-people__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portal-people--guests .portal-person {
    display: block;
  }

  .portal-people--guests .portal-person__content {
    padding-top: 1.25rem;
  }

  .article-hero__grid {
    align-items: center;
    grid-template-columns: minmax(18rem, 0.82fr) minmax(0, 1.45fr);
  }

  .article-hero__media {
    aspect-ratio: 2.64 / 1;
  }

  .article-hero__title {
    font-size: var(--fs-hero-lg);
  }

  .article-body {
    align-items: start;
    grid-template-columns: minmax(13rem, 16rem) minmax(0, 50rem);
    justify-content: space-between;
  }

  .article-sidebar {
    position: sticky;
    top: calc(var(--header-height) + 2rem);
  }

  .article-related__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .listing-hero__grid {
    align-items: center;
    grid-template-columns: minmax(18rem, 0.75fr) minmax(0, 1.55fr);
  }

  .blog-featured__card {
    grid-template-columns: minmax(0, 1.2fr) minmax(19rem, 0.8fr);
  }

  .event-featured__grid {
    grid-template-columns: minmax(0, 1.4fr) minmax(20rem, 0.8fr);
  }

  .listing-card {
    align-items: start;
    grid-template-columns: minmax(18rem, 0.85fr) minmax(0, 1.15fr);
  }

  .people-directory__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .glossary-index__letters {
    grid-template-columns: repeat(14, minmax(0, 1fr));
  }

  .glossary-card--with-image {
    grid-template-columns: minmax(11rem, 0.45fr) minmax(0, 1.55fr);
  }

  .glossary-detail__grid {
    align-items: start;
    grid-template-columns: minmax(16rem, 0.65fr) minmax(0, 1.35fr);
  }

  .glossary-detail__header {
    position: sticky;
    top: calc(var(--header-height) + 2rem);
  }

  .general-page__grid:not(.general-page__grid--wide) {
    align-items: start;
    grid-template-columns: minmax(12rem, 0.3fr) minmax(0, 1.7fr);
  }

  .general-page__grid:not(.general-page__grid--wide) .general-navigation {
    position: sticky;
    top: calc(var(--header-height) + 2rem);
  }

  .contact-directory__groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gated-card {
    align-items: start;
    grid-template-columns: minmax(16rem, 0.75fr) minmax(0, 1.25fr);
  }

  .card__title {
    font-size: 24px;
    letter-spacing: var(--tracking-heading);
    line-height: 26px;
  }
}

/* Source: 20-contact.css */
/* Contact page parity. */
.general-page--contact-layout .general-page__body {
  margin-bottom: -1.203125px;
  padding: 50px 0 60px;
  position: relative;
  top: -1.203125px;
}

.general-page--contact-layout .general-page__grid {
  display: block;
  max-width: none;
  padding-inline: 12px;
}

.general-page--contact-layout .general-page__content {
  display: grid;
  gap: 0 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.general-page--contact-layout .contact-directory,
.general-page--contact-layout .contact-form-section {
  grid-column: 1 / -1;
  margin: 0;
  min-width: 0;
}

.general-page--contact-layout .contact-directory {
  margin-bottom: 60px;
}

.general-page--contact-layout .contact-directory__intro {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: var(--tracking-heading);
  line-height: 26px;
  margin-bottom: 10px;
  width: 72.972972973%;
}

.general-page--contact-layout .contact-directory__intro > :first-child {
  margin-top: 0;
}

.general-page--contact-layout .contact-directory__intro > :last-child {
  margin-bottom: 0;
}

.general-page--contact-layout .contact-directory__groups {
  display: block;
  margin: 0;
}

.general-page--contact-layout .contact-accordion {
  margin: 0;
}

.general-page--contact-layout .contact-accordion summary {
  appearance: none;
  border-bottom: 2px solid var(--color-ink);
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: var(--tracking-heading);
  line-height: 26px;
  list-style: none;
  padding: 20px 40px 20px 0;
  position: relative;
}

.general-page--contact-layout .contact-accordion summary::-webkit-details-marker {
  display: none;
}

.general-page--contact-layout .contact-accordion summary::before,
.general-page--contact-layout .contact-accordion summary::after {
  background: var(--color-ink);
  bottom: 0;
  content: "";
  height: 3px;
  margin: auto;
  position: absolute;
  right: 17px;
  top: 0;
  width: 15px;
}

.general-page--contact-layout .contact-accordion summary::after {
  transform: rotate(-90deg);
}

.general-page--contact-layout .contact-accordion[open] summary {
  border-bottom: 7px solid var(--color-teal);
}

.general-page--contact-layout .contact-accordion[open] summary::after {
  transform: none;
}

.general-page--contact-layout .contact-accordion__panel {
  color: var(--color-ink-muted);
  font-size: 14px;
  letter-spacing: var(--tracking-body);
  line-height: 20px;
  padding: 30px 0 10px;
}

.general-page--contact-layout .contact-accordion address {
  font-style: normal;
  margin-bottom: 20px;
}

.general-page--contact-layout .contact-accordion strong,
.general-page--contact-layout .contact-accordion a {
  display: block;
}

.general-page--contact-layout .contact-accordion strong {
  color: var(--color-ink);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: var(--tracking-ui);
  line-height: 20px;
  margin-bottom: 5px;
}

.general-page--contact-layout .contact-accordion a {
  color: var(--color-ink-muted);
  font-size: 12px;
  line-height: 18px;
  margin: 0 0 10px 30px;
}

.general-page--contact-layout .contact-form-section {
  margin-top: 30px;
}

.general-page--contact-layout .contact-form-section .general-section-title {
  border: 0;
  font-family: var(--font-display);
  font-size: 40px;
  font-weight: 500;
  letter-spacing: var(--tracking-display);
  line-height: 42px;
  margin: 0 0 30px;
  padding: 0;
  text-transform: uppercase;
}

.general-page--contact-layout .general-form {
  display: block;
  max-width: none;
}

.general-page--contact-layout .general-form label {
  display: block;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: var(--tracking-ui);
  line-height: 14px;
  margin: 0 0 15px;
}

.general-page--contact-layout .general-form label::after {
  content: "*";
  margin-left: 3px;
}

.general-page--contact-layout .general-form input,
.general-page--contact-layout .general-form textarea {
  background: var(--color-stone);
  border: 1px solid var(--color-stone);
  border-radius: 0;
  color: var(--color-ink);
  display: block;
  font-size: 14px;
  height: 48px;
  letter-spacing: var(--tracking-ui);
  line-height: 14px;
  margin: 0 0 30px;
  padding: 15px 14px 14px;
  width: 100%;
}

.general-page--contact-layout .general-form textarea {
  height: 216px;
  margin-bottom: 50px;
  resize: none;
}

.general-page--contact-layout .general-form__submit {
  background: var(--color-mint);
  border: 0;
  color: var(--color-ink);
  font-size: 16px;
  font-weight: 400;
  height: 56px;
  justify-content: center;
  letter-spacing: var(--tracking-body);
  line-height: 24px;
  margin: 0 0 60px;
  min-height: 56px;
  padding: 0;
  width: 136px;
}

.general-page--contact-layout .general-form__submit::after {
  background: url("../images/icons/arrow.svg") center / contain no-repeat;
  content: "";
  display: block;
  height: 15px;
  margin-left: 10px;
  width: 22px;
}

.general-page--contact-layout .form-notice {
  font-size: 16px;
  line-height: 24px;
  margin: 0 0 60px;
}

@media (min-width: 48rem) {
  .general-page--contact-layout .general-page__body {
    margin-bottom: 0;
    padding: 0 0 60px;
    position: static;
    top: auto;
  }

  .general-page--contact-layout .general-page__grid {
    padding-inline: 30px;
  }

  .general-page--contact-layout .general-page__content {
    gap: 0 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .general-page--contact-layout .contact-directory {
    align-self: start;
    grid-column: 1 / span 4;
    margin: 72px 0 0;
    padding-right: 20px;
    position: sticky;
    top: 40px;
  }

  .general-page--contact-layout .contact-directory__intro {
    font-size: 18px;
    letter-spacing: var(--tracking-ui);
    line-height: 20px;
    margin-bottom: 40px;
    width: 100%;
  }

  .general-page--contact-layout .contact-directory__groups {
    margin-top: -20px;
  }

  .general-page--contact-layout .contact-accordion summary {
    font-size: 18px;
    letter-spacing: var(--tracking-ui);
    line-height: 20px;
  }

  .general-page--contact-layout .contact-accordion summary::before,
  .general-page--contact-layout .contact-accordion summary::after {
    right: 0;
  }

  .general-page--contact-layout .contact-form-section {
    grid-column: 5 / span 7;
    margin: 0;
  }

  .general-page--contact-layout .general-form textarea {
    height: 150px;
    margin-bottom: 40px;
  }

  .general-page--contact-layout .general-form__submit {
    margin-bottom: 50px;
    width: 202px;
  }

  .general-page--contact-layout .general-form__submit::after {
    margin-left: 20px;
  }
}

@media (min-width: 64rem) {
  .general-page--contact-layout .general-page__body {
    padding-bottom: 100px;
  }

  .general-page--contact-layout .general-page__grid {
    padding-inline: 40px;
  }

  .general-page--contact-layout .general-page__content {
    gap: 0 24px;
  }

  .general-page--contact-layout .contact-directory {
    grid-column: 1 / span 3;
    margin-top: 100px;
    padding-right: 0;
  }

  .general-page--contact-layout .contact-directory__intro {
    font-size: 24px;
    letter-spacing: var(--tracking-heading);
    line-height: 26px;
    margin-bottom: 60px;
  }

  .general-page--contact-layout .contact-accordion summary {
    font-size: 24px;
    letter-spacing: var(--tracking-heading);
    line-height: 26px;
    padding: 30px 60px 30px 0;
  }

  .general-page--contact-layout .contact-accordion__panel {
    font-size: 16px;
    line-height: 24px;
  }

  .general-page--contact-layout .contact-accordion address {
    margin-bottom: 40px;
  }

  .general-page--contact-layout .contact-accordion strong {
    font-size: 24px;
    letter-spacing: var(--tracking-heading);
    line-height: 26px;
    margin-bottom: 10px;
  }

  .general-page--contact-layout .contact-accordion a {
    font-size: 16px;
    line-height: 24px;
    margin-left: 50px;
  }

  .general-page--contact-layout .contact-form-section {
    grid-column: 5 / span 6;
  }

  .general-page--contact-layout .contact-form-section .general-section-title {
    font-size: 70px;
    line-height: 60px;
    margin-bottom: 40px;
  }

  .general-page--contact-layout .general-form label {
    font-size: 18px;
    line-height: 15px;
  }

  .general-page--contact-layout .general-form input,
  .general-page--contact-layout .general-form textarea {
    font-size: 18px;
    height: 56px;
    line-height: 15px;
    margin-bottom: 40px;
    padding: 16px;
  }

  .general-page--contact-layout .general-form textarea {
    height: 216px;
    margin-bottom: 50px;
  }

  .general-page--contact-layout .general-form__submit {
    font-size: 20px;
    line-height: 20px;
    margin-bottom: 80px;
    width: 180px;
  }

  .general-page--contact-layout .general-form__submit::after {
    margin-left: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Source: 30-homepage.css */
/*
 * Homepage family: single source.
 * Sections folded from the former layered files in cascade order.
 */

/* ===== Folded from 00-foundation.css ===== */

.home-main {
  overflow: hidden;
}
.home-page a {
  text-decoration: none;
}

.home-hero__primary-title,
.home-spotlight__title,
.home-explainer__link {
  font-family: var(--font-display);
  font-weight: 500;
  text-transform: uppercase;
}

.home-hero__grid {
  display: grid;

  grid-template-columns: minmax(0, 1fr);
}

.home-hero__primary,
.home-hero__secondary {
  min-width: 0;
}

.home-hero__primary-title {
  font-size: var(--fs-hero-lg);
  line-height: 0.86;
  margin: 0 0 clamp(1.5rem, 4vw, 3rem);
}

.home-hero__secondary-title {

  margin: 0 0 1rem;
}

.home-hero__secondary .home-media {
  aspect-ratio: 4 / 3;
  margin-bottom: 1.25rem;
}

.home-hero__excerpt > :first-child,
.home-spotlight__description > :first-child,
.home-explainer__excerpt > :first-child {
  margin-top: 0;
}

.home-hero__excerpt > :last-child,
.home-spotlight__description > :last-child,
.home-explainer__excerpt > :last-child {
  margin-bottom: 0;
}

.home-featured__grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr);
}

.home-card:nth-child(3n + 2) {
  background: var(--color-blue);
}

.home-card:nth-child(3n) {
  background: var(--color-blush);
}

.home-card__title,
.home-mini-card__title {
  line-height: 1.08;
  margin: 0;
}

.home-spotlight {
  background: var(--color-ink);
  color: var(--color-paper);

}

.home-spotlight--mint {
  background: var(--color-mint);
  color: var(--color-ink);
}

.home-spotlight--blue {
  background: var(--color-blue);
  color: var(--color-ink);
}

.home-spotlight--shell {
  background: var(--color-blush);
  color: var(--color-ink);
}

.home-spotlight__title {
  font-size: var(--fs-hero-lg);
  line-height: 0.86;
  margin: 0 0 clamp(2rem, 5vw, 4rem);
  max-width: 65rem;
}

.home-spotlight__body {
  display: grid;

  grid-template-columns: minmax(0, 1fr);
}

.home-spotlight__media .home-media {
  aspect-ratio: 16 / 9;
}

.home-spotlight__description {

  padding-top: 1.25rem;
}

.home-spotlight__description .button {
  margin-top: 1rem;
}

.home-spotlight__grid {
  display: grid;
  gap: 1.5rem;

}

.home-mini-card {
  border-top: 2px solid currentColor;

}

.home-mini-card .home-media {
  aspect-ratio: 4 / 3;
  margin-bottom: 1rem;
}

.home-explainer {
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1fr);

}

.home-explainer__panel .home-media {
  aspect-ratio: 4 / 3;
  margin-bottom: 1.5rem;
}

.home-explainer__excerpt {
  font-size: var(--fs-lead-fluid);
}

.home-explainer__links {
  border-top: 2px solid var(--color-ink);
}

.home-explainer__link {
  align-items: center;
  border-bottom: 2px solid var(--color-ink);
  display: flex;
  font-size: var(--fs-h1-fluid);
  justify-content: space-between;
  line-height: 0.95;

}

.home-explainer__link.is-active,
.home-explainer__link:hover,
.home-explainer__link:focus {
  color: var(--color-rust);
}

/* ===== Folded from 10-shared-components.css ===== */

@media (min-width: 64rem) {
  .home-hero__grid {
    align-items: start;
    grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr);
  }

  .home-hero__primary-title {
    min-height: 1.72em;
  }

  .home-featured__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-spotlight__body {
    grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr);
  }

  .home-spotlight__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .home-explainer {
    align-items: start;
    grid-template-columns: minmax(20rem, 1fr) minmax(0, 2fr);
  }
}

/* ===== Former 30-parity-foundation.css ===== */

/*
 * Production-parity layer.
 *
 * The legacy Divi templates used a 12-column, breakpoint-specific grid. Keep
 * these measurements explicit while the templates are migrated so the native
 * theme preserves the established public presentation.
 */
.home-hero {
  background: var(--color-paper);
  padding-block: 40px 30px;
}

.home-hero__grid {
  gap: 20px;
}

.home-hero__primary-title,
.home-spotlight__title,
.home-explainer__link {
  font-size: 40px;
  line-height: 40px;
}

.home-hero__primary-title {
  margin-bottom: 10px;
}

.home-hero__primary > .home-media {
  margin-inline: calc(-1 * var(--site-gutter));
}

.home-hero__primary .home-media {
  aspect-ratio: 390 / 184;
}

.home-hero__secondary .home-media {
  width: calc(75% - 6px);
}

.home-hero__secondary-title {
  font-size: 18px;
  font-weight: 500;
  line-height: 20px;
}

.home-hero__excerpt {
  color: var(--color-ink-muted);
  font-size: 12px;
  letter-spacing: var(--tracking-body);
  line-height: 18px;
  margin-top: 15px;
}

.home-rich-text a {
  text-decoration: underline;
}

.home-featured {
  padding-block: 28px 40px;
}

.home-card .card__content {
  padding: 20px 25px 25px;
}

.home-featured .home-eyebrow {
  letter-spacing: var(--tracking-ui);
  margin-bottom: 20px;
}

.home-card__title {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: var(--tracking-ui);
  line-height: 20px;
  margin-bottom: 20px;
}

.home-card .card__excerpt {
  color: var(--color-ink-muted);
  font-size: 12px;
  letter-spacing: var(--tracking-body);
  line-height: 18px;
  margin-bottom: 20px;
}

.home-card .card__excerpt > :first-child {
  margin-top: 0;
}

.home-card .card__excerpt > :last-child {
  margin-bottom: 0;
}

.home-spotlight {
  padding-block: 40px 60px;
}

.home-spotlight__title {
  margin-bottom: 10px;
}

.home-spotlight__description {
  border-top: 0;
  font-size: 16px;
  letter-spacing: var(--tracking-body);
  line-height: 24px;
  padding: 30px 0 40px;
}

.home-spotlight--charcoal .home-spotlight__description,
.home-spotlight--charcoal .home-spotlight__description a {
  color: var(--color-paper-muted);
}

.home-spotlight--charcoal .home-spotlight__description {
  border-top-color: var(--color-paper);
}

.home-spotlight__grid {
  grid-template-columns: minmax(0, 1fr);
  margin-top: 50px;
}

.home-spotlight__body {
  align-items: start;
  gap: 0;
}

.home-spotlight__media .home-media {
  max-height: 166px;
  width: 100%;
}

.home-mini-card {
  display: block;
  margin-bottom: 40px;
  padding-top: 15px;
}

.home-mini-card .home-media {
  margin: 0 0 20px;
  width: 136px;
}

.home-mini-card .home-eyebrow {
  font-weight: 500;
  letter-spacing: var(--tracking-ui);
  line-height: 24px;
  margin: 0 0 20px;
}

.home-mini-card__title {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: var(--tracking-ui);
  line-height: 20px;
}

.home-explainer {
  padding-block: 40px 60px;
}

.home-explainer__link {
  color: var(--color-ink);
  padding-block: 25px;
  transition: color 200ms ease;
}

.home-explainer__link > span {
  color: inherit;
  transition: color 200ms ease;
}

.home-explainer__link.is-active,
.home-explainer__link:hover,
.home-explainer__link:focus-visible {
  color: var(--color-rust);
}@media (min-width: 48rem) {
.home-hero {
    padding-top: 70px;
    padding-bottom: 0;
  }

  .home-hero__grid {
    gap: 18px;
    grid-template-columns: minmax(0, 2.08fr) minmax(0, 1fr);
  }

  .home-hero__secondary {
    padding-top: 167px;
  }

  .home-hero__primary > .home-media {
    margin-inline: 0;
  }

  .home-hero__primary .home-media {
    aspect-ratio: 466 / 347;
  }

  .home-hero__secondary .home-media {

    width: 100%;
  }

  .home-hero__primary-title,
  .home-spotlight__title,
  .home-explainer__link {
    font-size: 64px;
    line-height: 54px;
  }

  .home-hero__primary-title {
    margin-bottom: 20px;
  }

  .home-hero .home-eyebrow,
  .home-spotlight__primary > .home-eyebrow {
    margin-bottom: 25px;
  }

  .home-hero__excerpt {
    color: var(--color-ink);
    font-size: 14px;
    line-height: 22px;
    margin-top: 20px;
  }

  .home-hero__primary .home-hero__excerpt {
    max-width: 406px;
  }

  .home-featured {
    padding-block: 50px 60px;
  }

  .home-featured__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-card .card__content {
    padding: 20px 15px 15px;
  }

  .home-card .card__excerpt {
    color: var(--color-ink);
    font-size: 14px;
    line-height: 22px;
  }

  .home-spotlight {
    padding-block: 60px;
  }

  .home-spotlight__body {
    gap: 18px;
    grid-template-columns: minmax(0, 2.08fr) minmax(0, 1fr);
  }

  .home-spotlight__media .home-media {
    aspect-ratio: 466 / 347;
    max-height: 347px;
  }

  .home-spotlight__description {
    border-top: 2px solid currentColor;
    padding-top: 24px;
  }

  .home-spotlight__grid {
    gap: 18px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .home-mini-card {

    margin-bottom: 0;
    padding-top: 20px;
  }

  .home-mini-card .home-media {
    margin-bottom: 20px;
    width: 103px;
  }

  .home-explainer {
    gap: 18px;
    grid-template-columns: minmax(0, 0.48fr) minmax(0, 1fr);
    padding-block: 50px 60px;
  }
}
@media (min-width: 75rem) {
.home-hero__grid,
  .home-spotlight__body {
    gap: 24px;
    grid-template-columns: minmax(0, 899fr) minmax(0, 437fr);
  }

  .home-hero__secondary {
    padding-top: 263px;
  }

  .home-hero__primary .home-media {
    aspect-ratio: 899 / 455;
  }

  .home-hero__primary-title,
  .home-spotlight__title,
  .home-explainer__link {
    font-size: 114px;
    line-height: 104px;
  }

  .home-hero__primary-title {
    margin-bottom: 15px;
  }

  .home-hero__secondary-title {
    font-size: 24px;
    line-height: 26px;
  }

  .home-hero__excerpt {
    font-size: 16px;
    line-height: 24px;
  }

  .home-hero__primary .home-hero__excerpt {
    max-width: 690px;
  }

  .home-featured {
    padding-block: 80px;
  }

  .home-spotlight {
    padding-block: 85px 80px;
  }

  .home-spotlight__title {
    margin-bottom: 15px;
    max-width: 899px;
  }

  .home-spotlight__description {
    font-size: 20px;
    line-height: 28px;
    padding-top: 30px;
  }

  .home-spotlight__media .home-media {
    aspect-ratio: 16 / 9;
    max-height: 445px;
  }

  .home-spotlight__grid {
    gap: 24px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 40px;
  }

  .home-explainer {
    gap: 24px;
    grid-template-columns: minmax(0, 429fr) minmax(0, 907fr);
    padding-block: 80px;
  }

  .home-explainer__excerpt {
    font-size: 20px;
    line-height: 28px;
  }
}
@media (min-width: 80rem) {
  .home-hero .home-eyebrow,
  .home-spotlight__primary > .home-eyebrow {
    font-size: 18px;
    line-height: 15px;
  }

  .home-card .card__content {
    padding: 24px 24px 25px;
  }

  .home-featured .home-eyebrow {
    font-size: 18px;
    line-height: 15px;
  }

  .home-card__title {
    font-size: 24px;
    letter-spacing: var(--tracking-heading);
    line-height: 26px;
  }

  .home-card .card__excerpt {
    font-size: 16px;
    line-height: 24px;
  }

  .home-mini-card {
    padding-top: 24px;
  }

  .home-mini-card .home-media {
    margin-bottom: 25px;
    width: 180px;
  }

  .home-mini-card .home-eyebrow {
    font-size: 18px;

  }

  .home-mini-card__title {
    font-size: 24px;
    line-height: 28px;
  }
}

@media (min-width: 90rem) {
  .home-spotlight__media .home-media {
    max-height: 505px;
  }

  .home-mini-card .home-media {
    width: 207px;
  }
}

/* Source: 40-article-detail.css */
/*
 * Article-template parity layer.
 *
 * Article pages in the legacy theme use a separate 12-column contract from
 * the homepage. Preserve that geometry while the Divi templates are retired.
 */
.article-hero {
  border-bottom: 0;
  padding-block: 40px;
}

.article-hero__grid {
  gap: 26px;
}

.article-hero__content {
  align-self: end;
}

.article-hero__eyebrow,
.article-hero__authors,
.article-hero__episode,
.article-hero__date {
  font-size: 13px;
  line-height: 13px;
}

.article-hero__eyebrow {
  line-height: 23.8px;
  margin-bottom: 10px;
  text-transform: none;
}

.article-hero__title {
  font-size: 40px;
  letter-spacing: var(--tracking-display);
  line-height: 42px;
  margin-bottom: 10px;
  overflow-wrap: normal;
}

.article-hero__authors,
.article-hero__episode {
  margin-bottom: 5px;
}

.article-hero__date {
  font-size: 12px;
  line-height: 22px;
  margin-top: 5px;
}

.article-hero__media {
  aspect-ratio: 307 / 165;
}

.article-hero__caption {
  flex-direction: column;
  font-size: 12px;
  line-height: 18px;
  margin-top: 20px;
}

.article-body {
  gap: 90px;
  padding-block: 40px 50px;
}

.article-sidebar {
  display: block;
}

.article-sidebar-card {
  border-top: 0;
  display: none;
  padding-top: 0;
}

.article-share {
  border: 0;
  min-height: 100px;
  padding-block: 42px 8px;
}

.article-platforms h4 {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 400;
  line-height: 22px;
  margin: 0 0 24px;
}

.article-platforms__link {
  align-items: center;
  border: 2px solid var(--color-ink);
  display: flex;
  height: 60px;
  justify-content: center;
  width: 100%;
}

.article-platforms__link + .article-platforms__link {
  margin-top: 10px;
}

.article-platforms--mobile {
  max-width: 500px;
}

/*
 * Article biographies are a shared article-body module. People relationships
 * are valid on editorial, event, project, and media articles, so their layout
 * must not depend on the article's taxonomy family.
 */
.article-people {
  border: 0;
  padding: 0;
}

.article-body--people-only .article-people {
  grid-row: 1;
}

.article-people .portal-people__grid {
  display: block;
}

.article-people .portal-person {
  margin: 0 0 50px;
  padding: 15px 0 0;
}

.article-people .portal-person:last-child {
  margin-bottom: 0;
}

.article-people .portal-person__media {
  align-self: start;
  aspect-ratio: 0.7473;
  grid-column: 1 / span 2;
  grid-row: 1;
  overflow: hidden;
}

.article-people .portal-person__media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.article-people .portal-person__content {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  grid-column: 3 / span 2;
  grid-row: 1;
  justify-content: flex-end;
}

.article-people .portal-person h3 {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  line-height: 20px;
  margin: 0;
  text-transform: none;
}

.article-people .portal-person__job-title {
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  margin: 5px 0 0;
}

.article-people .portal-person__social {
  margin: 20px 0 0;
}

.article-people .portal-person__description {
  color: var(--color-ink-muted);
  font-size: 16px;
  grid-column: 1 / -1;
  letter-spacing: var(--tracking-body);
  line-height: 24px;
  margin-top: 35px;
}

.article-people .portal-person__description p {
  margin: 0;
}

.article-content {
  max-width: none;
}

.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6,
.article-content p,
.article-content ul,
.article-content ol {
  font-family: var(--font-body);
  margin-block: 0 40px;
}

.article-content h2 {
  font-family: var(--font-body);
  font-size: 24px;
  font-weight: 500;
  line-height: 26px;
  text-transform: none;
}

.article-content h3 {
  font-size: 24px;
  line-height: 26px;
}

.article-content h4 {
  font-size: 20px;
  line-height: 24px;
}

.article-content p,
.article-content p span,
.article-content li,
.article-content li span {
  color: var(--color-ink-muted) !important;
  font-size: 14px !important;
  letter-spacing: var(--tracking-body) !important;
  line-height: 20px !important;
}

.article-content ul,
.article-content ol {
  list-style: none;
  padding-left: 0;
}

.article-content p + ul,
.article-content p + ol {
  margin-top: -22px;
}

.article-content ul li {
  margin-left: 50px;
  position: relative;
}

.article-content ul li:not(:last-child) {
  margin-bottom: 15px;
}

.article-content ul li::before {
  color: var(--color-ink);
  content: "\2022";
  left: -28px;
  position: absolute;
}

.article-content ul li ul {
  margin: 10px 0 15px;
}

.article-content ul li ul li {
  margin-left: 25px;
}

.article-content ul li ul li::before {
  content: "\25CB";
  left: -25px;
  font-size: 13px;
}

.article-content ul li ul li ul li::before {
  content: "\25CE";
  font-size: 8px;
}

.article-content ol {
  counter-reset: article-numbered;
  margin-left: 48px;
}

.article-content ol > li {
  counter-increment: article-numbered;
  position: relative;
}

.article-content ol > li:not(:last-child) {
  margin-bottom: 20px;
}

.article-content ol > li::before {
  align-items: center;
  background: var(--color-ink);
  border-radius: 50%;
  color: var(--color-paper);
  content: counter(article-numbered);
  display: flex;
  font-size: 14px;
  height: 25px;
  justify-content: center;
  left: -35px;
  line-height: 20px;
  position: absolute;
  top: -4px;
  width: 25px;
}

.article-content blockquote {
  background: var(--color-stone);
  border-left: 0;
  color: var(--color-teal);
  font-size: 20px;
  line-height: 28px;
  margin: 60px 0;
  padding: 50px;
}

.article-content blockquote::after {
  background: var(--color-ink);
  content: "";
  display: block;
  height: 2px;
  margin-top: 20px;
  width: 100%;
}

.article-gallery--empty {
  height: 31px;
  padding: 0;
}

.article-mobile-card {
  margin-top: 50px;
}

.article-mobile-card__grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.article-mobile-card__item {
  grid-column: span 3;
  margin-bottom: 50px;
}

.article-mobile-card__media {
  display: block;
  height: 162px;
  margin-bottom: 30px;
  width: 216px;
}

.article-mobile-card__image {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.article-mobile-card__meta {
  font-size: 15px;
  letter-spacing: var(--tracking-ui);
  line-height: 15px;
  margin: 0 0 17px;
}

.article-mobile-card__title {
  font-family: var(--font-body);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: var(--tracking-heading);
  line-height: 26px;
  margin: 0;
}

.article-mobile-card__title a {
  text-decoration: none;
}

.article-mobile-card__title a::after {
  background: url("../images/icons/linkout.svg") center / contain no-repeat;
  content: "";
  display: block;
  height: 20px;
  margin-top: 20px;
  width: 20px;
}

@media (min-width: 48rem) {
  .article-hero {
    padding-block: 40px;
  }

  .article-hero__grid {
    align-items: start;
    gap: 18px;
    grid-template-columns: minmax(0, 218fr) minmax(0, 472fr);
  }

  .article-hero__content {
    text-align: right;
  }

  .article-hero__eyebrow,
  .article-hero__authors,
  .article-hero__episode,
  .article-hero__date {
    font-size: 14px;
    line-height: 14px;
  }

  .article-hero__eyebrow {
    line-height: 23.8px;
  }

  .article-hero__title {
    font-size: 40px;
    line-height: 42px;
    margin-left: auto;
    max-width: 348px;
    transform: translateY(4px);
  }

  .article-hero__date {
    margin-top: 5px;
  }

  .article-hero__media {
    aspect-ratio: 449 / 179;
  }

  .article-hero__caption {
    flex-direction: row;
    font-size: 14px;
    line-height: 22px;
    margin-top: 26px;
  }

  .article-body {
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    margin-block: 50px 60px;
    padding-block: 0;
  }

  .article-sidebar {
    align-self: start;
    grid-column: 1 / span 3;
    position: sticky;
    top: 105px;
  }

  .article-sidebar-card {
    display: block;
  }

  .article-sidebar-card .home-media {
    margin-bottom: 15px;
    width: 103px;
  }

  .article-sidebar-card .home-eyebrow {
    font-size: 14px;
    line-height: 14px;
    margin-bottom: 15px;
  }

  .article-sidebar-card h2 {
    font-size: 18px;
    letter-spacing: var(--tracking-ui);
    line-height: 20px;
  }

  .article-sidebar-card h2 a::after {
    background: url("../images/icons/linkout.svg") center / contain no-repeat;
    content: "";
    display: block;
    height: 20px;
    margin-top: 20px;
    width: 20px;
  }

  .article-share {
    margin-top: 50px;
    min-height: 110px;
  }

  .article-sidebar .article-platforms {
    margin-top: 0;
  }

  .article-content {
    grid-column: 5 / span 7;
  }

  .article-people {
    grid-column: 5 / span 8;
  }

  .article-people .portal-person {
    border: 0;
    column-gap: 18px;
    margin-bottom: 60px;
    padding-top: 0;
  }

  .article-people .portal-person__media {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .article-people .portal-person__content,
  .article-people .portal-person__description {
    grid-column: 2 / span 3;
  }

  .article-people .portal-person__content {
    align-self: start;
    flex-direction: row;
    grid-row: 1;
    justify-content: space-between;
    min-height: 95px;
  }

  .article-people .portal-person__social {
    margin: 0;
  }

  .article-people .portal-person__description {
    grid-row: 2;
    margin-top: 0;
  }

  .article-content p,
  .article-content p span,
  .article-content li,
  .article-content li span {
    font-size: 16px !important;
    line-height: 24px !important;
  }

  .article-content ul li {
    margin-left: 55px;
  }

  .article-content ul li ul li {
    margin-left: 30px;
  }

  .article-content ul li ul li::before {
    left: -30px;
  }

  .article-content ul li ul li ul li {
    margin-left: 28px;
  }

  .article-content ul li ul li ul li::before {
    left: -28px;
  }

  .article-content ol {
    margin-left: 60px;
  }

  .article-content ol > li::before {
    font-size: 16px;
    height: 30px;
    left: -47px;
    line-height: 24px;
    width: 30px;
  }

  .article-mobile-card {
    display: none;
  }
}

@media (min-width: 64rem) {
  .article-sidebar {
    top: 145px;
  }
}

@media (min-width: 75rem) {
  .article-hero {
    padding-block: 60px;
  }

  .article-hero__grid {
    gap: 24px;
    grid-template-columns: minmax(0, 429fr) minmax(0, 907fr);
  }

  .article-hero__eyebrow,
  .article-hero__authors,
  .article-hero__episode {
    font-size: 18px;
    line-height: 15px;
  }

  .article-hero__eyebrow {
    line-height: 23.8px;
  }

  .article-hero__title {
    font-size: 70px;
    line-height: 60px;
    margin-bottom: 40px;
  }

  .article-hero__authors {
    font-size: 24px;
    line-height: 26px;
    margin-bottom: 10px;
  }

  .article-hero__date {
    font-size: 16px;
    letter-spacing: var(--tracking-heading);
    line-height: 24px;
    margin-top: 10px;
  }

  .article-hero__media {
    aspect-ratio: 792 / 300;
  }

  .article-hero__caption {
    font-size: 16px;
    line-height: 24px;
    margin-top: 25px;
  }

  .article-body {
    column-gap: 24px;
    margin-block: 60px 80px;
  }

  .article-sidebar-card .home-media {
    margin-bottom: 25px;
    width: 180px;
  }

  .article-sidebar-card .home-eyebrow {
    font-size: 18px;
    line-height: 15px;
    margin-bottom: 20px;
  }

  .article-sidebar-card h2 {
    font-size: 24px;
    letter-spacing: var(--tracking-heading);
    line-height: 26px;
  }

  .article-content {
    font-size: 20px;
    grid-column: 5 / span 6;
    line-height: 28px;
  }

  .article-people .portal-person {
    column-gap: 24px;
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .article-people .portal-person__media {
    grid-column: 1 / span 2;
  }

  .article-people .portal-person__content,
  .article-people .portal-person__description {
    grid-column: 3 / span 5;
  }

  .article-people .portal-person h3 {
    font-size: 24px;
    line-height: 26px;
  }

  .article-people .portal-person__content {
    min-height: 107px;
  }

  .article-people .portal-person__job-title {
    font-size: 16px;
    line-height: 24px;
  }

  .article-people .portal-person__description {
    font-size: 20px;
    line-height: 28px;
  }

  .article-platforms h4 {
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 30px;
  }

  .article-content p,
  .article-content p span,
  .article-content li,
  .article-content li span {
    font-size: 20px !important;
    line-height: 28px !important;
  }

  .article-content p + ul,
  .article-content p + ol {
    margin-top: -16px;
  }

  .article-content ul li {
    margin-left: 60px;
  }

  .article-content ul li ul li,
  .article-content ul li ul li ul li {
    margin-left: 30px;
  }

  .article-content ul li ul li::before {
    font-size: 16px;
  }

  .article-content ul li ul li ul li::before {
    font-size: 10px;
  }

  .article-content ol {
    margin-left: 70px;
  }

  .article-content ol > li::before {
    font-size: 20px;
    height: 35px;
    left: -50px;
    line-height: 28px;
    top: -3px;
    width: 35px;
  }

  .article-gallery--empty {
    height: 71px;
  }
}

/* Source: 45-related-content.css */
/* Reusable Related collection rendered by Articles, Events, Portals, directories, and general Pages. */
.article-related {
  border-top: 0;
  padding-block: 40px;
}

.article-related__grid {
  gap: 0;
}

.article-related .home-section-title {
  margin-bottom: 12px;
}

.related-card:nth-child(2) {
  background: var(--color-blue);
}

.related-card:nth-child(3) {
  background: var(--color-blush);
}

.related-card:not(:last-child) {
  margin-bottom: 15px;
}

.related-card__image {
  background: var(--color-border-light);
  overflow: hidden;
}

.related-card__image a,
.related-card__image-source {
  display: block;
  height: 100%;
  width: 100%;
}

.related-card__image-source {
  object-fit: cover;
  object-position: center;
}

.related-card .card__media--fallback {
  background: var(--color-border-light) url("../images/reboot-logo-black.png") center / 50% auto no-repeat;
}

.related-card .card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 20px 25px 25px;
}

.related-card .card__eyebrow {
  font-family: var(--font-body);
  font-size: 22px;
  line-height: 22px;
  margin: 0;
}

.related-card .card__eyebrow span {
  display: inline-flex;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: var(--tracking-ui);
  line-height: 14px;
  margin-bottom: 20px;
}

.related-card .card__eyebrow span:nth-child(2) {
  font-weight: 500;
  margin-left: 15px;
}

.related-card__title {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: var(--tracking-ui);
  line-height: 20px;
  margin: 0 0 20px;
}

.related-card__title a {
  text-decoration: none;
}

.related-card .card__excerpt {
  margin-bottom: 20px;
}

.related-card .card__excerpt h3 {
  font-family: var(--font-body);
  font-size: 22px;
  font-weight: 500;
  line-height: 22px;
  margin: 0;
  padding-bottom: 10px;
}

.related-card .card__excerpt h3 a {
  text-decoration: none;
}

.related-card .card__excerpt p {
  color: var(--color-ink-muted);
  font-size: 12px;
  letter-spacing: var(--tracking-body);
  line-height: 18px;
  margin: 0;
  padding-bottom: 12px;
}

.related-card:last-child .card__excerpt p {
  padding-bottom: 0;
}

.related-card .card__excerpt a {
  text-decoration: underline;
}

@media (min-width: 48rem) {
  .article-related {
    padding-block: 60px 120px;
  }

  .article-related .home-section-title {
    margin-bottom: 32px;
  }

  .article-related__grid {
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .related-card:not(:last-child) {
    margin-bottom: 0;
  }

  .related-card .card__content {
    padding: 20px 15px 15px;
  }

  .related-card .card__excerpt p {
    color: var(--color-ink);
    font-size: 14px;
    line-height: 22px;
    padding-bottom: 14px;
  }
}

@media (min-width: 75rem) {
  .article-related {
    padding-block: 80px;
  }

  .article-related .home-section-title {
    margin-bottom: 30px;
  }

  .article-related__grid {
    gap: 24px;
  }

  .related-card .card__content {
    padding: 24px 24px 25px;
  }

  .related-card .card__eyebrow span {
    font-size: 18px;
    line-height: 15px;
  }

  .related-card .card__eyebrow span:nth-child(2) {
    margin-left: 20px;
  }

  .related-card__title {
    font-size: 24px;
    letter-spacing: var(--tracking-heading);
    line-height: 26px;
  }

  .related-card .card__excerpt p {
    font-size: 16px;
    line-height: 24px;
    padding-bottom: 16px;
  }
}

/* Source: 50-listing-hero.css */
/* Shared listing and portal hero parity. */
.listing-hero {
  border-bottom: 0;
  margin-bottom: -20px;
  overflow: hidden;
  padding: 40px 0 0;
}

.listing-hero__grid {
  gap: 20px;
  grid-template-columns: minmax(0, 1fr);
  padding-bottom: 20px;
}

.listing-hero__content {
  align-self: auto;
  padding-top: 10px;
}

.listing-hero__eyebrow {
  color: var(--color-rust);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: var(--tracking-ui);
  line-height: 15px;
  margin: 0 0 10px;
  text-transform: none;
}

.listing-hero__title {
  color: var(--color-ink);
  font-size: 40px;
  letter-spacing: var(--tracking-display);
  line-height: 40px;
}

.listing-hero__media {
  aspect-ratio: 308 / 165;
}

.portal-page .listing-hero--standard .listing-hero__image {
  object-fit: cover;
}

.listing-hero--podcast .listing-hero__media {
  aspect-ratio: 296 / 166;
  background: transparent;
}

.listing-hero--podcast .listing-hero__image {
  object-fit: contain;
}

.listing-hero--glossary {
  margin-bottom: 0;
  padding-bottom: 20px;
}

.listing-hero--glossary .listing-hero__content {
  padding-top: 0;
}

.listing-hero__description {
  color: var(--color-ink-muted);
  font-size: 16px;
  letter-spacing: var(--tracking-body);
  line-height: 24px;
}

.listing-hero__description p {
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  padding-bottom: 1em;
}

.listing-hero__description p:last-child {
  padding-bottom: 0;
}

@media (min-width: 48rem) {
  .listing-hero {
    margin-bottom: 0;
    padding: 40px 0 50px;
  }

  .listing-hero__grid {
    align-items: stretch;
    gap: 18px;
    grid-template-columns: minmax(0, 218fr) minmax(0, 472fr);
    padding-bottom: 0;
  }

  .listing-hero__content {
    align-self: end;
    padding-top: 0;
    text-align: right;
    transform: translateY(4px);
  }

  .listing-hero__eyebrow {
    text-align: right;
  }

  .listing-hero__title {
    font-size: 60px;
    line-height: 49px;
  }

  .listing-hero__media {
    aspect-ratio: 496 / 179;
  }

  .listing-hero--podcast .listing-hero__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .listing-hero--podcast .listing-hero__media {
    aspect-ratio: 708 / 179;
    transform: translateY(4px);
  }

  .listing-hero--glossary {
    padding-block: 40px;
  }

  .listing-hero--glossary .listing-hero__grid {
    gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .listing-hero--glossary .listing-hero__content {
    align-self: start;
    grid-column: 1 / span 4;
  }

  .listing-hero--glossary .listing-hero__description {
    grid-column: 5 / span 7;
  }
}

@media (min-width: 64rem) {
  .listing-hero {
    padding: 60px 0 80px;
  }

  .listing-hero__grid {
    gap: 24px;
    grid-template-columns: minmax(0, 429.333fr) minmax(0, 906.667fr);
  }

  .listing-hero__eyebrow {
    font-size: 18px;
    margin-bottom: 15px;
  }

  .listing-hero__title {
    font-size: 100px;
    line-height: 90px;
  }

  .listing-hero__media {
    aspect-ratio: 832 / 300;
  }

  .listing-hero--podcast .listing-hero__media {
    aspect-ratio: 1200 / 300;
  }

  .listing-hero--glossary .listing-hero__grid {
    gap: 24px;
  }

  .listing-hero--glossary .listing-hero__content {
    transform: translateY(-4px);
  }

  .listing-hero--glossary .listing-hero__description {
    font-size: 20px;
    grid-column: 5 / span 6;
    line-height: 28px;
  }
}

@media (min-width: 75rem) {
  .listing-hero__title {
    font-size: 114px;
    line-height: 104px;
  }
}

/* Source: 60-events.css */
/* Events landing parity. */
.listing-page--events .listing-hero {
  margin-bottom: 0;
}

.listing-page--events .event-featured {
  padding: 40px 0 60px;
}

.listing-page--events .event-featured__eyebrow {
  font-size: 14px;
  font-weight: 400;
  line-height: 23.8px;
  margin: 0;
  text-transform: none;
}

.listing-page--events .event-featured__title {
  font-size: 40px;
  line-height: 40px;
  margin: 0 0 10px;
  max-width: none;
}

.listing-page--events .event-featured__grid {
  display: grid;
  gap: 38px;
  grid-template-columns: minmax(0, 1fr);
}

.listing-page--events .event-featured__media {
  aspect-ratio: auto;
  background: none;
}

.listing-page--events .event-featured__media img {
  aspect-ratio: 4 / 3;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.listing-page--events .event-featured__content {
  border-top: 0;
  padding-bottom: 23.8px;
  padding-top: 0;
}

.event-featured__excerpt p,
.listing-cards--event .card__excerpt p {
  font-size: 16px;
  letter-spacing: var(--tracking-body);
  line-height: 24px;
  margin: 0;
  padding-bottom: 1em;
}

.event-featured__excerpt {
  color: var(--color-paper-muted);
}

.listing-cards--event .card__excerpt {
  color: var(--color-ink-muted);
}

.listing-cards--event .card__excerpt a {
  color: var(--color-ink);
}

.event-featured__excerpt p:last-child,
.listing-cards--event .card__excerpt p:last-child {
  padding-bottom: 1em;
}

.listing-page--events .listing-feed {
  margin-top: 50px;
  padding-block: 0;
}

.listing-page--events .listing-section-title {
  display: none;
}

.listing-cards--event {
  border-bottom: 0;
}

.listing-cards--event .listing-card {
  border-top: 2px solid var(--color-ink);
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1fr);
  margin-bottom: 60px;
  padding: 20px 0 23.8px;
}

.listing-cards--event .card__side,
.listing-cards--event .card__content {
  min-width: 0;
}

.listing-cards--event .card__media {
  aspect-ratio: 366 / 270.44;
  background: none;
  display: block;
  margin-bottom: 30px;
}

.listing-cards--event .card__media img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.listing-cards--event .listing-card__title {
  font-family: var(--font-display);
  font-size: 40px;
  font-weight: 500;
  letter-spacing: var(--tracking-display);
  line-height: 42px;
  margin: 0;
  text-transform: uppercase;
}

.listing-card__event-meta--desktop {
  display: none;
}

.listing-card__event-meta {
  letter-spacing: var(--tracking-ui);
}

.listing-card__event-meta--mobile {
  font-size: 14px;
  line-height: 14px;
  margin: 20px 0 30px;
}

.listing-cards--event .event-meta {
  border-bottom: 0;
  display: grid;
  gap: 0;
  line-height: inherit;
  margin: 0;
  padding-bottom: 0;
}

.listing-cards--event .event-meta > div {
  display: block;
}

.listing-cards--event .event-meta > div + div {
  margin-top: 10px;
}

.listing-cards--event .event-meta dt {
  display: none;
}

.listing-cards--event .event-meta dd {
  font-size: inherit;
  line-height: inherit;
}

.listing-cards--event .event-meta a,
.listing-cards--event .event-meta time {
  line-height: inherit;
}

.listing-cards--event .event-meta__location {
  line-height: 18px;
}

.listing-cards--event .event-meta__tickets a {
  font-weight: 400;
}

.listing-cards--event .card__excerpt {
  margin: 0;
}

@media (min-width: 48rem) {
  .listing-page--events .event-featured {
    padding-block: 60px;
  }

  .listing-page--events .event-featured__title {
    font-size: 64px;
    line-height: 54px;
    margin-bottom: 16px;
    width: 466px;
  }

  .listing-page--events .event-featured__grid {
    align-items: stretch;
    gap: 18px;
    grid-template-columns: minmax(0, 466fr) minmax(0, 224fr);
  }

  .listing-page--events .event-featured__content {
    border-top: 2px solid currentColor;
    padding-bottom: 23.8px;
    padding-top: 20px;
  }

  .listing-page--events .listing-feed {
    column-gap: 18px;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    margin-top: 60px;
  }

  .listing-cards--event,
  .listing-page--events .listing-pagination {
    grid-column: 5 / span 8;
  }

  .listing-cards--event .listing-card {
    grid-template-columns: 48.069% calc(51.931% + 2px);
    margin-bottom: 50px;
    padding: 15px 0 23.8px;
    width: 100%;
  }

  .listing-cards--event .card__content {
    transform: translateX(-2px);
  }

  .listing-cards--event .listing-card:nth-child(even) .card__side {
    grid-column: 2;
    grid-row: 1;
    transform: translateX(-2px);
  }

  .listing-cards--event .listing-card:nth-child(even) .card__content {
    grid-column: 1;
    grid-row: 1;
    transform: none;
  }

  .listing-cards--event .listing-card:nth-child(even) {
    grid-template-columns: calc(51.931% + 2px) 48.069%;
  }

  .listing-cards--event .card__media {
    aspect-ratio: 203 / 153;
    margin-bottom: 0;
    max-width: calc(100% - 21px);
  }

  .listing-cards--event .card__media img {
    aspect-ratio: auto;
  }

  .listing-card__event-meta--desktop {
    display: block;
    font-size: 14px;
    line-height: 14px;
    margin-top: 30px;
    max-width: calc(100% - 21px);
    text-align: right;
  }

  .listing-cards--event .listing-card:nth-child(even) .card__media,
  .listing-cards--event .listing-card:nth-child(even) .listing-card__event-meta--desktop {
    margin-left: auto;
  }

  .listing-card__event-meta--mobile {
    display: none;
  }

  .listing-cards--event .listing-card__title {
    margin-bottom: 25px;
  }
}

@media (min-width: 64rem) {
  .listing-page--events .event-featured {
    padding-block: 80px;
  }

  .listing-page--events .event-featured__eyebrow {
    font-size: 18px;
    line-height: 15px;
    margin-bottom: 10px;
  }

  .listing-page--events .event-featured__title {
    font-size: 114px;
    line-height: 104px;
    margin-bottom: 16px;
    width: 899px;
  }

  .listing-page--events .event-featured__grid {
    gap: 24px;
    grid-template-columns: minmax(0, 899fr) minmax(0, 437fr);
  }

  .listing-page--events .event-featured__media img {
    max-width: 564px;
  }

  .listing-page--events .event-featured__media {
    padding-bottom: 6.8px;
  }

  .listing-page--events .event-featured__content {
    padding-bottom: 23.8px;
    padding-top: 24px;
  }

  .event-featured__excerpt p,
  .listing-cards--event .card__excerpt p {
    font-size: 20px;
    line-height: 28px;
  }

  .listing-page--events .listing-feed {
    column-gap: 24px;
    margin-top: 80px;
  }

  .listing-cards--event .listing-card {
    gap: 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 80px;
    padding: 30px 0 33.8px;
    width: 100%;
  }

  .listing-cards--event .listing-card:nth-child(even) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .listing-cards--event .card__content,
  .listing-cards--event .listing-card:nth-child(even) .card__side {
    transform: none;
  }

  .listing-cards--event .card__media,
  .listing-card__event-meta--desktop {
    max-width: 350px;
  }

  .listing-cards--event .card__media {
    aspect-ratio: 350 / 263;
  }

  .listing-card__event-meta--desktop {
    font-size: 18px;
    line-height: 15px;
    margin-top: 24px;
  }

  .listing-cards--event .event-meta__location {
    line-height: 22px;
  }

  .listing-cards--event .event-meta > div + div {
    margin-top: 15px;
  }

  .listing-cards--event .listing-card__title {
    font-size: 70px;
    line-height: 60px;
    margin-bottom: 30px;
  }
}

/* Source: 70-blog.css */
/* Reboot Blog legacy-layout parity. */
.listing-page--blog {
  --blog-outer-gap: 18px;
  --blog-gutter: 12px;
}

.blog-layout {
  display: grid;
  gap: 0 var(--blog-outer-gap);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 80px;
  margin-inline: auto;
  max-width: 1440px;
  padding: 40px var(--blog-gutter) 0;
}

.blog-brand,
.blog-layout__content {
  grid-column: 1 / -1;
  min-width: 0;
}

.blog-brand__title {
  box-sizing: border-box;
  height: 86px;
  line-height: 0;
  margin: 15px 0 32px;
  padding: 0 0 10px;
  width: 295px;
}

.blog-brand__title img {
  display: block;
  height: 100%;
  object-fit: contain;
  object-position: left center;
  width: 100%;
}

.listing-page--blog .blog-featured {
  background: transparent;
  border: 0;
  margin: 0 calc(-1 * var(--blog-gutter)) 40px;
  padding: 20px var(--blog-gutter) 50px;
}

.blog-featured__card {
  display: grid;
  gap: 0 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.blog-featured__media,
.blog-featured__title,
.blog-featured__meta,
.blog-featured__excerpt,
.blog-featured__link {
  grid-column: 1 / -1;
  min-width: 0;
}

.blog-featured__media {
  aspect-ratio: auto;
  margin-bottom: 20px;
}

.blog-featured__media img,
.listing-cards--blog .card__media img {
  aspect-ratio: 295 / 159;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.blog-featured__title {
  font-family: var(--font-display);
  font-size: 40px;
  font-weight: 500;
  letter-spacing: var(--tracking-display);
  line-height: 42px;
  margin: 0 0 15px;
  text-transform: uppercase;
}

.blog-featured__title a {
  text-decoration: none;
}

.blog-featured__meta,
.listing-cards--blog .card__meta {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  letter-spacing: var(--tracking-ui);
  line-height: 14px;
  padding-top: 5px;
}

.blog-featured__meta time,
.listing-cards--blog .listing-card__date {
  display: inline-block;
  font: inherit;
  margin-right: 15px;
}

.blog-featured__author,
.listing-cards--blog .listing-card__author {
  font-weight: 500;
  text-decoration: underline;
}

.blog-featured__excerpt {
  color: var(--color-ink-muted);
  font-size: 16px;
  letter-spacing: var(--tracking-body);
  line-height: 24px;
  margin: 35px 0 0;
}

.blog-featured__excerpt > :first-child,
.listing-cards--blog .card__excerpt > :first-child {
  margin-top: 0;
}

.blog-featured__excerpt > :last-child,
.listing-cards--blog .card__excerpt > :last-child {
  margin-bottom: 0;
}

.blog-featured__excerpt > p,
.listing-cards--blog .card__excerpt > p {
  margin: 0;
  padding: 0 0 16px;
}

.blog-featured__excerpt > p:empty,
.listing-cards--blog .card__excerpt > p:empty {
  display: none;
}

.listing-cards--blog .card__excerpt > p:last-child:not(:first-child) {
  padding-bottom: 0;
}

.blog-featured__excerpt a,
.blog-featured__link,
.listing-cards--blog .card__excerpt a {
  color: var(--color-ink);
  text-decoration: underline;
}

.blog-featured__link {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: var(--tracking-ui);
  line-height: 24px;
  margin-top: 16px;
  min-height: 27.203125px;
  width: fit-content;
}

.listing-page--blog .listing-feed {
  padding: 0;
}

.listing-cards--blog {
  border: 0;
  display: grid;
  gap: 26px;
}

.listing-cards--blog .listing-card {
  border: 0;
  border-top: 2px solid var(--color-ink);
  display: grid;
  gap: 0 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 15px 0 0;
}

.listing-cards--blog .card__media {
  aspect-ratio: 4 / 3;
  grid-column: span 2;
  margin-bottom: 20px;
}

.listing-cards--blog .card__content {
  grid-column: 1 / -1;
}

.listing-cards--blog .listing-card__title {
  margin: 0 0 15px;
}

.listing-cards--blog .card__excerpt {
  color: var(--color-ink-muted);
  font-size: 16px;
  letter-spacing: var(--tracking-body);
  line-height: 24px;
  margin: 24px 0 0;
}

.listing-page--blog .listing-pagination--load-more {
  display: block;
  margin: 26px 0 0;
}

.listing-page--blog .listing-load-more {
  line-height: 14px;
}

@media (min-width: 48rem) {
  .listing-page--blog {
    --blog-gutter: 30px;
  }

  .blog-layout {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .blog-brand {
    grid-column: 1 / span 3;
  }

  .blog-layout__content {
    grid-column: 5 / span 8;
  }

  .blog-brand__title {
    align-items: flex-end;
    display: flex;
    height: 59px;
    justify-content: flex-end;
    margin: 105px -60px 73px 0;
    width: calc(100% + 60px);
  }

  .blog-brand__title img {
    height: 49px;
    object-position: right center;
    width: 190px;
  }

  .listing-page--blog .blog-featured {
    margin: 0 calc(-1 * var(--blog-gutter)) 50px 0;
    padding: 20px var(--blog-gutter) 40px 0;
  }

  .blog-featured__card {
    gap: 0 18px;
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .blog-featured__media {
    grid-column: 1 / span 7;
    padding-left: 20px;
  }

  .blog-featured__title,
  .blog-featured__excerpt,
  .blog-featured__link {
    grid-column: 1 / span 6;
    padding-left: 20px;
  }

  .blog-featured__meta {
    grid-column: 1 / -1;
    padding-left: 20px;
  }

  .blog-featured__excerpt {
    max-width: calc(589px + 20px);
  }

  .listing-cards--blog .listing-card {
    border-top: 0;
    gap: 0 18px;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    padding: 0;
  }

  .listing-cards--blog .card__media,
  .listing-cards--blog .listing-card:nth-child(even) .card__media {
    grid-column: 1 / span 3;
    grid-row: 1;
    margin: 0 0 20px;
  }

  .listing-cards--blog .card__content,
  .listing-cards--blog .listing-card:nth-child(even) .card__content {
    border-top: 2px solid var(--color-ink);
    grid-column: 4 / span 5;
    grid-row: 1;
    padding-top: 10px;
  }

  .listing-cards--blog .card__excerpt {
    margin-top: 30px;
  }

  .listing-page--blog .listing-load-more {
    margin-inline: auto;
    max-width: 224px;
  }
}

@media (min-width: 64rem) {
  .listing-page--blog {
    --blog-outer-gap: 24px;
    --blog-gutter: 40px;
  }

  .blog-layout {
    padding-top: 60px;
  }

  .blog-brand__title {
    height: 96px;
    margin: 206px -100px 110px 0;
    width: calc(100% + 100px);
  }

  .blog-brand__title img {
    height: 86px;
    width: 340px;
  }

  .listing-page--blog .blog-featured {
    margin-bottom: 60px;
    padding-bottom: 60px;
    padding-top: 40px;
  }

  .blog-featured__card {
    gap: 0 24px;
  }

  .blog-featured__media,
  .blog-featured__title,
  .blog-featured__excerpt,
  .blog-featured__link {
    grid-column: 1 / span 7;
    padding-left: 40px;
  }

  .blog-featured__meta {
    padding-left: 40px;
  }

  .blog-featured__title {
    font-size: 70px;
    line-height: 60px;
    margin-bottom: 38px;
  }

  .blog-featured__media {
    margin-bottom: 38px;
  }

  .blog-featured__meta,
  .listing-cards--blog .card__meta {
    font-size: 18px;
    line-height: 15px;
    padding-top: 3px;
  }

  .blog-featured__meta time,
  .listing-cards--blog .listing-card__date {
    margin-right: 20px;
  }

  .blog-featured__excerpt {
    font-size: 20px;
    line-height: 28px;
    margin-top: 36px;
    max-width: calc(589px + 40px);
  }

  .blog-featured__excerpt > p,
  .listing-cards--blog .card__excerpt > p {
    padding-bottom: 20px;
  }

  .blog-featured__link {
    font-size: 20px;
    line-height: 20px;
    min-height: 34px;
  }

  .listing-cards--blog {
    gap: 46px;
  }

  .listing-cards--blog .listing-card {
    gap: 0 24px;
  }

  .listing-cards--blog .card__content,
  .listing-cards--blog .listing-card:nth-child(even) .card__content {
    grid-column: 4 / span 4;
    padding-top: 20px;
    transform: none;
  }

  .listing-cards--blog .listing-card__title {
    margin-bottom: 20px;
  }

  .listing-cards--blog .card__excerpt {
    font-size: 20px;
    line-height: 28px;
    margin-top: 36px;
  }

  .listing-page--blog .listing-pagination--load-more {
    margin-top: 46px;
  }

  .listing-page--blog .listing-load-more {
    font-size: 16px;
    line-height: 16px;
    max-width: 282px;
  }
}

/* Source: 80-portals.css */
/* Portal landing parity. */
.portal-featured {
  background: var(--color-stone);
  box-shadow: 0 0 0 100vmax var(--color-stone);
  clip-path: inset(0 -100vmax);
  margin-top: 86px;
  padding-block: 42px 40px;
}

.portal-featured .home-section-title {
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: 40px;
  font-weight: 500;
  letter-spacing: var(--tracking-display);
  line-height: 40px;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.portal-featured__grid {
  column-gap: 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  row-gap: 0;
}

.portal-featured-card {
  grid-column: span 4;
  margin-bottom: 15px;
}

.portal-featured-card:last-child {
  margin-bottom: 0;
}

.portal-featured-card .card__media {
  aspect-ratio: 4 / 3;
}

.portal-featured-card .card__content {
  padding: 20px 25px 25px;
}

.portal-featured-card .card__eyebrow {
  border-bottom: 2px solid var(--color-ink);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: var(--tracking-ui);
  line-height: 14px;
  margin: 0 0 15px;
  padding: 0 0 15px;
}

.portal-featured-card__title {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: var(--tracking-ui);
  line-height: 20px;
  margin: 0 0 20px;
  text-transform: none;
}

.portal-featured-card .card__excerpt {
  color: var(--color-ink-muted);
  font-size: 12px;
  letter-spacing: var(--tracking-body);
  line-height: 18px;
  margin: 0 0 20px;
}

.portal-featured-card .card__excerpt p {
  font: inherit !important;
  margin: 0;
  padding: 0 0 1em;
}

.portal-featured-card .card__excerpt a {
  text-decoration: underline;
}

.portal-featured-card .card__meta {
  border: 0;
  display: block;
  font-size: 14px;
  letter-spacing: var(--tracking-ui);
  line-height: 14px;
  margin: 0;
  padding: 0;
}

.portal-featured-card .card__meta span + span::before {
  content: "|";
  margin: 0 5px;
}

.portal-directory {
  padding: 50px 0 0;
}

.portal-directory__grid {
  display: grid;
  gap: 0 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.portal-directory__content {
  grid-column: 1 / -1;
}

.portal-directory__title.screen-reader-text {
  font-size: 1px;
  margin: 0;
}

@media (min-width: 48rem) {
  .portal-featured {
    margin-top: 0;
    padding-block: 50px;
  }

  .portal-featured .home-section-title {
    font-size: 70px;
    line-height: 60px;
    margin-bottom: 30px;
  }

  .portal-featured__grid,
  .portal-directory__grid {
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .portal-featured-card {
    grid-column: span 4;
    margin-bottom: 0;
  }

  .portal-featured-card .card__content {
    padding: 20px 15px 15px;
  }

  .portal-featured-card .card__eyebrow {
    margin-bottom: 10px;
    padding-bottom: 10px;
  }

  .portal-featured-card .card__excerpt {
    color: var(--color-ink);
    font-size: 14px;
    line-height: 22px;
  }

  .portal-featured-card .card__meta {
    margin-top: auto;
  }

  .portal-directory {
    padding-top: 80px;
  }

  .portal-directory__content {
    grid-column: 5 / span 8;
  }

}

@media (min-width: 64rem) {
  .portal-featured {
    padding-block: 80px;
  }

  .portal-featured__grid,
  .portal-directory__grid {
    column-gap: 24px;
  }

  .portal-featured-card .card__content {
    padding: 24px 24px 25px;
  }

  .portal-featured-card .card__eyebrow {
    font-size: 18px;
    line-height: 15px;
    margin-bottom: 15px;
    padding-bottom: 15px;
  }

  .portal-featured-card__title {
    font-size: 24px;
    letter-spacing: var(--tracking-heading);
    line-height: 26px;
  }

  .portal-featured-card .card__excerpt {
    font-size: 16px;
    line-height: 24px;
  }

  .portal-featured-card .card__meta {
    font-size: 16px;
    letter-spacing: var(--tracking-body);
    line-height: 24px;
  }

}

/* Source: 82-portal-series-card.css */
/* Shared portal-series collection used by portal, project, and general-page families. */
.portal-series {
  border: 0;
}

.portal-series-card {
  border-top: 2px solid var(--color-ink);
  display: grid;
  gap: 0 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 60px;
  padding: 20px 0 111.796875px;
}

.portal-series-card .card__media {
  aspect-ratio: 203 / 150;
  grid-column: 1 / -1;
  margin-bottom: 30px;
  width: 100%;
}

.portal-series-card .card__content {
  grid-column: 1 / -1;
}

.portal-series-card__title {
  font-size: 40px;
  line-height: 42px;
  margin: 0 0 20px;
}

.portal-series-card .card__excerpt {
  font-size: 16px;
  letter-spacing: var(--tracking-body);
  line-height: 24px;
}

.portal-series-card .card__excerpt p {
  font: inherit !important;
  margin: 0;
  padding: 0 0 1em;
}

.portal-series-card .card__excerpt a {
  text-decoration: underline;
}

.portal-platforms {
  display: none;
  margin-top: 25px;
}

.portal-platforms h4 {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: var(--tracking-body);
  line-height: 22px;
  margin: 0 0 20px;
}

.portal-platforms__link {
  align-items: center;
  border: 2px solid var(--color-ink);
  display: flex;
  font-size: 14px;
  font-weight: 500;
  height: 54px;
  justify-content: center;
  text-decoration: none;
  width: 100%;
}

.portal-platforms__link + .portal-platforms__link {
  margin-top: 10px;
}

@media (min-width: 48rem) {
  .portal-series-card {
    column-gap: 18px;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    margin-bottom: 50px;
    padding: 15px 0 0;
  }

  .portal-series-card .card__media {
    align-self: start;
    aspect-ratio: 203 / 153;
    grid-column: 1 / span 4;
    margin-bottom: 0;
    max-width: 203px;
  }

  .portal-series-card .card__content {
    grid-column: 5 / span 4;
    margin-left: -20px;
    width: calc(100% + 20px);
  }

  .portal-series-card:nth-child(even) .card__media {
    grid-column: 5 / span 4;
    grid-row: 1;
  }

  .portal-series-card:nth-child(even) .card__content {
    grid-column: 1 / span 4;
    grid-row: 1;
    margin-left: 0;
    transform: translateX(20px);
  }

  .portal-series-card__title {
    margin-bottom: 25px;
  }

  .portal-platforms {
    display: block;
    margin-top: 24px;
  }
}

@media (min-width: 64rem) {
  .portal-series-card {
    column-gap: 24px;
    margin-bottom: 80px;
    padding-top: 30px;
  }

  .portal-series-card .card__media {
    aspect-ratio: 350 / 263;
    max-width: 350px;
  }

  .portal-series-card .card__content,
  .portal-series-card:nth-child(even) .card__content {
    margin-left: 0;
    transform: none;
    width: auto;
  }

  .portal-series-card:nth-child(even) .card__media {
    justify-self: end;
  }

  .portal-series-card__title {
    font-size: 70px;
    line-height: 60px;
    margin-bottom: 30px;
  }

  .portal-series-card .card__excerpt {
    font-size: 20px;
    line-height: 28px;
  }

  .portal-platforms {
    margin-top: 50px;
  }

  .portal-platforms h4 {
    font-size: 16px;
    line-height: 24px;
  }

  .portal-platforms__link {
    height: 60px;
  }
}

/* Source: 85-portal-navigation.css */
/* Shared project navigation used by portal and legacy-project directories. */
.portal-navigation {
  display: none;
}

@media (min-width: 48rem) {
  .portal-navigation {
    align-self: start;
    display: block;
    grid-column: 1 / span 3;
    position: sticky;
    top: calc(var(--header-height-scrolled) + 45px);
  }

  .portal-navigation ul,
  .portal-navigation li {
    border: 0;
  }

  .portal-navigation a {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: var(--tracking-ui);
    line-height: 14px;
    margin-left: calc(-1 * var(--site-gutter));
    margin-right: -40px;
    padding: 20px 15px 20px 56.2%;
  }
}

@media (min-width: 64rem) {
  .portal-navigation a {
    font-size: 18px;
    line-height: 26px;
    margin-right: 0;
    padding-left: 48.5%;
  }
}

/* Source: 90-series-detail.css */
/* Series detail parity. */
.portal-detail .listing-hero--portal-detail .listing-hero__image { object-fit: cover; }
.portal-detail-mobile-navigation { display: none; }
.portal-detail-navigation__toggle { display: none; }
.portal-detail__section-title { display: none; }
.portal-detail-episodes__grid { display: block; }
.portal-detail-episodes__load-more {
	align-items: center;
	background: var(--color-stone);
  border: 0;
  border-radius: 0;
  color: var(--color-ink);
  cursor: pointer;
	display: flex;
  font-family: var(--font-body);
  font-size: 14px;
  height: 54px;
  letter-spacing: var(--tracking-ui);
	line-height: 1;
	margin: 50px auto 0;
	justify-content: center;
	text-decoration: none;
	width: 100%;
}
.portal-detail-episodes__load-more[aria-disabled="true"] { pointer-events: none; }
.portal-detail--podcasts .portal-detail__prose > p:last-child {
  line-height: 0;
  padding-bottom: 0;
}
.portal-detail--podcasts .portal-detail__prose > p:last-child img {
  display: block;
}.portal-detail--about .portal-person__description {
	color: var(--color-ink-muted);
	font: 16px/24px "Suisse Intl", sans-serif;
	letter-spacing: var(--tracking-body);
}

.portal-detail--about .portal-person__social a::before {
	content: "\2197";
}

.portal-detail--about .portal-person__social a {
	display: block;
	font-size: 0;
}

.portal-detail--about .portal-person__social {
	display: flex;
	list-style: none;
	padding: 0;
}

.portal-detail--about .portal-person__job-title {
	color: var(--color-ink-muted);
	font-weight: 400;
	margin: 5px 0 0;
}

.portal-detail--about .portal-person h3 {
	margin: 0;
	text-transform: none;
}

.portal-detail--about .portal-person__content {
	display: flex;
}

.portal-detail--about .portal-person__media .home-media__image {
	aspect-ratio: 0.7473;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.portal-detail--about .portal-person__media {
	aspect-ratio: auto;
	grid-column: 1 / span 2;
}

.portal-detail--about .portal-person:last-child {
	margin-bottom: 0;
}

.portal-detail--about .portal-person {
	border: 0;
}

.portal-detail--about .portal-people__grid {
	display: block;
}

.portal-detail--about .portal-detail__prose + .portal-people {
	border: 0;
	grid-column: 1 / -1;
	padding: 0;
}

.portal-detail--about .portal-detail__prose p:last-child img {
	display: block;
}

.portal-detail--about .portal-detail__prose p:last-child {
	line-height: 0;
	margin-bottom: 0;
}

.portal-detail--about .portal-detail__prose {
	max-width: none;
}

.portal-detail--about .portal-detail__content {
	display: grid;
}

.portal-detail--episodes .portal-episode-card .card__excerpt {
	color: var(--color-ink-muted);
	letter-spacing: var(--tracking-body);
	margin: 0;
}

.portal-detail--episodes .portal-episode-card h3 {
	font-family: var(--font-body);
	text-transform: none;
}

.portal-detail--episodes .portal-episode-card .card__meta {
	text-transform: none;
}

.portal-detail--episodes .portal-episode-card:last-child {
	margin-bottom: 0;
}

.portal-detail--episodes .portal-episode-card {
	border: 0;
	display: grid;
}

.portal-detail--episodes .portal-detail-episodes__batch {
	display: block;
}

.portal-detail--episodes .portal-detail__prose + .portal-detail-episodes {
	border: 0;
	padding: 0;
}

.portal-detail--podcasts .portal-detail__prose > h2 {
	font-family: var(--font-body);
	font-size: 24px;
	font-weight: 400;
	line-height: 26px;
	margin: 0 0 40px;
}

.portal-detail--podcasts .portal-detail__prose > p:last-child {
	margin-bottom: 0;
}

.portal-detail--episodes .portal-detail__prose {
	max-width: none;
}

.portal-detail--episodes .portal-detail__content {
	display: grid;
}

.portal-detail--podcasts .portal-detail-featured__embed iframe {
	height: 200px;
	width: 100%;
}

.portal-detail--podcasts .portal-detail-featured__embed {
	grid-row: 3;
	height: 207.796875px;
}

.portal-detail--podcasts .portal-detail-featured__title,
.portal-detail--digital-series .portal-detail-featured__title {
	grid-row: 2;
}

.portal-detail--podcasts .portal-detail-featured__title {
	align-self: stretch;
}

.portal-detail--podcasts .portal-detail-featured__meta span + span::before {
	content: "|";
}

.portal-detail--podcasts .portal-detail-featured__meta,
.portal-detail--digital-series .portal-detail-featured__meta {
	border-top: 2px solid currentColor;
	font-weight: 400;
	grid-row: 1;
	letter-spacing: var(--tracking-ui);
	text-transform: none;
}

.portal-detail--podcasts .portal-detail-featured__meta {
	display: flex;
}

.portal-detail--digital-series .portal-detail-featured__meta {
	display: block;
}

.portal-detail--podcasts .portal-detail-featured__inner,
.portal-detail--digital-series .portal-detail-featured__inner {
	display: grid;
	padding: 0;
}

.portal-detail--digital-series .portal-detail-featured__embed iframe {
	display: block;
	height: 100%;
	width: 100%;
}

.portal-detail--digital-series .portal-detail-featured__embed {
	aspect-ratio: 16 / 9;
	grid-row: 3;
	line-height: 0;
}

.portal-detail--podcasts .portal-detail-featured__excerpt,
.portal-detail--digital-series .portal-detail-featured__excerpt {
	color: var(--color-paper-muted);
	letter-spacing: var(--tracking-body);
	max-width: none;
}

@media (max-width: 47.999rem) {
	.portal-detail--standalone .portal-detail-featured {
		margin-top: 40px;
	}
  .portal-detail .listing-hero--portal-detail {
    margin-bottom: 0;
    padding: 40px 0;
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__grid {
    display: grid;
    padding: 0 12px;
    row-gap: 26px;
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__content {
    padding: 0;
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__eyebrow {
    font-size: 14px;
    line-height: 15px;
    margin-bottom: 8px;
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__title {
    font-size: 40px;
    line-height: 42px;
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__media {
    aspect-ratio: 366 / 196.703125;
  }
  .portal-detail-mobile-navigation {
    display: block;
    padding-inline: 12px;
  }
  .portal-detail-mobile-navigation--top {
    min-height: 218px;
    padding-bottom: 72px;
  }
  .portal-detail-mobile-navigation--top.portal-detail-mobile-navigation--podcasts {
    min-height: 128px;
    padding-bottom: 42px;
  }
  .portal-detail-mobile-navigation__toggle {
    appearance: none;
    background: transparent;
    border: 0;
    color: var(--color-ink);
    display: block;
    font-family: var(--font-body);
    font-size: 24px;
    font-weight: 500;
    height: 86px;
    line-height: 26px;
    border-bottom: 2px solid var(--color-ink);
    padding: 30px 28px 30px 0;
    position: relative;
    text-align: left;
    width: 100%;
  }
  .portal-detail-mobile-navigation__toggle::after {
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    content: "";
    height: 7px;
    position: absolute;
    right: 20px;
    top: 37px;
    transform: rotate(45deg);
    transition: transform 180ms ease;
    width: 7px;
  }
  .portal-detail-mobile-navigation__toggle[aria-expanded="true"]::after {
    transform: rotate(225deg);
  }
  .portal-detail-mobile-navigation--top ul[hidden] { display: none; }
  .portal-detail-mobile-navigation--top ul {
    list-style: none;
    margin: -20px 0 10px;
    padding: 0;
  }
  .portal-detail-mobile-navigation--top li {
    border-bottom: 1px solid var(--color-ink-faint);
  }
  .portal-detail-mobile-navigation--top li a {
    color: var(--color-ink-muted);
    display: block;
    font-size: 16px;
    line-height: 16px;
    padding: 20px 0;
    text-decoration: none;
  }
  .portal-detail-mobile-share {
    height: 20px;
    margin-top: 40px;
  }
  .portal-detail--digital-series .portal-detail-featured {
    padding: 40px 12px 50px;
  }
  .portal-detail--podcasts .portal-detail-featured {
    padding: 40px 12px 30px;
  }
  .portal-detail--podcasts .portal-detail-featured__inner,
  .portal-detail--digital-series .portal-detail-featured__inner {
    max-width: none;
  }
  .portal-detail--podcasts .portal-detail-featured__inner {
    column-gap: 0;
    grid-template-columns: minmax(0, 1fr);
  }
  .portal-detail--podcasts .portal-detail-featured__meta,
  .portal-detail--digital-series .portal-detail-featured__meta {
    font-size: 14px;
    height: 36px;
    line-height: 14px;
    margin: 0 0 15px;
    padding-top: 20px;
  }
  .portal-detail--podcasts .portal-detail-featured__meta {
    gap: 0 10px;
    grid-column: 1;
  }
  .portal-detail--podcasts .portal-detail-featured__meta span + span::before {
    margin-right: 10px;
  }
  .portal-detail--podcasts .portal-detail-featured__title,
  .portal-detail--digital-series .portal-detail-featured__title {
    font-size: 40px;
    line-height: 42px;
    margin: 0 0 30px;
  }
  .portal-detail--podcasts .portal-detail-featured__title {
    grid-column: 1;
  }
  .portal-detail--podcasts .portal-detail-featured__embed,
  .portal-detail--digital-series .portal-detail-featured__embed {
    margin: 0 0 40px;
  }
  .portal-detail--podcasts .portal-detail-featured__embed {
    grid-column: 1;
  }
  .portal-detail--podcasts .portal-detail-featured__excerpt,
  .portal-detail--digital-series .portal-detail-featured__excerpt {
    font-size: 16px;
    grid-row: 4;
    line-height: 24px;
  }
  .portal-detail--digital-series .portal-detail-featured__excerpt {
    margin: 0;
  }
  .portal-detail--podcasts .portal-detail-featured__excerpt {
    grid-column: 1;
    margin: 0 0 50px;
  }
  .portal-detail--podcasts .portal-detail-featured__excerpt p,
  .portal-detail--podcasts .portal-detail-featured__excerpt p span,
  .portal-detail--digital-series .portal-detail-featured__excerpt p,
  .portal-detail--digital-series .portal-detail-featured__excerpt p span {
    font: inherit !important;
    margin: 0;
  }
  .portal-detail--episodes .portal-detail__layout {
    display: block;
    margin-top: 40px;
    padding: 0 12px;
  }
  .portal-detail--episodes .portal-detail__sidebar { display: none; }
  .portal-detail--episodes .portal-detail__prose p,
  .portal-detail--episodes .portal-detail__prose p span {
    font: inherit !important;
    margin: 0;
  }
  .portal-detail--episodes .portal-detail__prose p + p {
    margin-top: 40px;
  }
  .portal-detail--podcasts .portal-detail__prose > p {
    letter-spacing: var(--tracking-body);
    margin: 0 0 40px;
    padding: 0;
  }
  .portal-detail--podcasts .portal-detail__prose > p:has(> script),
  .portal-detail--podcasts .portal-detail__prose > p:empty {
    display: none;
  }
  .portal-detail--podcasts .portal-detail__prose > h2 {
    letter-spacing: var(--tracking-body);
  }
  .portal-detail--episodes .portal-detail__prose + .portal-detail-episodes {
    margin: 50px 0 0;
  }
  .portal-detail--episodes .portal-episode-card {
    border-top: 2px solid var(--color-ink);
    column-gap: 24px;
    row-gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 50px;
    padding: 15px 0 0;
  }
  .portal-detail--episodes .portal-episode-card:last-child {
    border-bottom: 0;
  }
  .portal-detail--episodes .portal-episode-card .card__media {
    aspect-ratio: 4 / 3;
    grid-column: span 2;
    margin-bottom: 20px;
  }
  .portal-detail--episodes .portal-episode-card .card__content {
    grid-column: 1 / -1;
  }
  .portal-detail--episodes .portal-episode-card .card__meta {
    font-size: 14px;
    letter-spacing: var(--tracking-ui);
    line-height: 14px;
    margin: 0 0 15px;
  }
  .portal-detail--episodes .portal-episode-card h3 {
    font-size: 18px;
    letter-spacing: var(--tracking-ui);
    line-height: 20px;
    margin: 0 0 20px;
  }
  .portal-detail--episodes .portal-episode-card .card__excerpt {
    font-size: 16px;
    line-height: 24px;
  }
  .portal-detail--episodes .portal-episode-card .card__excerpt p,
  .portal-detail--episodes .portal-episode-card .card__excerpt p span {
    font: inherit !important;
    margin: 0;
  }
  .portal-detail-mobile-navigation--bottom {
    height: 186px;
    padding-block: 50px 40px;
  }
  .portal-detail-mobile-navigation--bottom.portal-detail-mobile-navigation--podcasts {
    height: 250px;
    margin-top: 60px;
  }
  .portal-detail-mobile-platforms,
  .portal-detail-mobile-platforms p {
    margin: 0;
  }
  .portal-detail-mobile-platforms p {
    font-size: 14px;
    line-height: 22px;
    margin-bottom: 20px;
  }
  .portal-detail-mobile-platforms__links {
    margin: 0;
  }
  .portal-detail-mobile-platforms__links .button {
    height: 54px;
    width: 100%;
  }
  .portal-detail--about .listing-hero--portal-detail .listing-hero__eyebrow {
    display: block;
    font-size: 13px;
    line-height: 13px;
    margin-bottom: 10px;
  }
  .portal-detail--about .listing-hero--portal-detail .listing-hero__eyebrow span { display: block; }
  .portal-detail--about .listing-hero--portal-detail .listing-hero__eyebrow span + span { margin-top: 5px; }
  .portal-detail--about > .portal-detail-mobile-navigation--top { display: none; }
  .portal-detail--about .portal-detail__layout {
    column-gap: 18px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 0 60px;
    padding: 0 12px;
    row-gap: 40px;
  }
  .portal-detail--about .portal-detail__sidebar,
  .portal-detail--about .portal-detail__content { grid-column: 1 / -1; }
  .portal-detail--about .portal-detail__sidebar { height: 88px; }
  .portal-detail--about .portal-detail-navigation,
  .portal-detail--about .portal-detail-navigation__toggle { height: 86px; }
  .portal-detail--about .portal-detail-navigation__toggle {
    appearance: none;
    background: transparent;
    border: 0;
    color: var(--color-ink);
    display: block;
    font: 24px/26px "Suisse Intl", sans-serif;
    padding: 30px 0;
    text-align: left;
    width: 100%;
  }
  .portal-detail--about .portal-detail-navigation__directory,
  .portal-detail--about .portal-detail-navigation__series,
  .portal-detail--about .portal-detail-navigation ul,
  .portal-detail--about .portal-detail-platforms { display: none; }
  .portal-detail--about .portal-detail__content {
    column-gap: 24px;
    grid-template-columns: repeat(4, minmax(0, 1fr)) 0;
  }
  .portal-detail--about .portal-detail__prose {
    grid-column: 1 / span 4;
  }
  .portal-detail--about .portal-detail__prose p,
  .portal-detail--about .portal-detail__prose p span {
    font: inherit !important;
    margin: 0 0 40px;
    padding: 0;
  }
  .portal-detail--about .portal-detail__prose + .portal-people {
    margin: 60px 0 0;
  }
  .portal-detail--about .portal-person {
    border-top: 2px solid var(--color-ink);
    margin: 0 0 50px;
    padding: 15px 0 0;
  }
  .portal-detail--about .portal-person__media {
    align-self: start;
    grid-row: 1;
    height: auto;
    overflow: hidden;
  }
  .portal-detail--about .portal-person__content {
    align-self: stretch;
    flex-direction: column;
    grid-column: 3 / span 2;
    grid-row: 1;
    justify-content: flex-end;
  }
  .portal-detail--about .portal-person h3 {
    font-family: var(--font-body);
    font-size: 18px;
    letter-spacing: var(--tracking-ui);
    line-height: 20px;
  }
  .portal-detail--about .portal-person__job-title {
    font-size: 12px;
    line-height: 18px;
  }
  .portal-detail--about .portal-person__social {
    gap: 25px;
    height: 15px;
    margin: 30px 0 0;
  }
  .portal-detail--about .portal-person__social:empty { height: 0; }
  .portal-detail--about .portal-person__social a {
    height: 15px;
    width: 15px;
  }
  .portal-detail--about .portal-person__social a::before {
    font-size: 13px;
    line-height: 15px;
  }
  .portal-detail--about .portal-person__description {
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 35px 0 0;
  }
  .portal-detail--about .portal-person__description p,
  .portal-detail--about .portal-person__description p span {
    font: inherit !important;
    margin: 0;
  }
}

@media (min-width: 48rem) and (max-width: 79.999rem) {
  .portal-detail--podcasts > .article-related {
    margin-bottom: 60px;
  }
  .portal-detail--about > .article-related {
    margin-bottom: 0;
  }
}

@media (min-width: 48rem) {
  .portal-detail .listing-hero--portal-detail {
    padding: 40px 0;
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__grid {
    grid-template-columns: minmax(0, 218fr) minmax(0, 472fr);
    padding-inline: 30px;
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__content {
    grid-column: 1;
    transform: none;
    z-index: 1;
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__media {
    aspect-ratio: 449 / 179;
    grid-column: 2;
    grid-row: 1;
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__eyebrow {
    font-size: 14px;
    line-height: 14px;
    margin-bottom: 10px;
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__title {
    font-size: 40px;
    line-height: 42px;
    margin-left: auto;
    max-width: 348px;
    text-align: right;
    transform: translateY(4px);
  }
  .portal-detail--digital-series .portal-detail-featured {
    padding: 40px 30px 60px;
  }
  .portal-detail--podcasts .portal-detail-featured {
    padding: 40px 30px 20px;
  }
  .portal-detail--podcasts .portal-detail-featured__inner,
  .portal-detail--digital-series .portal-detail-featured__inner {
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    max-width: none;
  }
  .portal-detail--podcasts .portal-detail-featured__meta,
  .portal-detail--digital-series .portal-detail-featured__meta {
    font-size: 14px;
    grid-column: 2 / span 10;
    height: 36px;
    line-height: 14px;
    margin: 0 0 20px;
    padding-top: 20px;
  }
  .portal-detail--podcasts .portal-detail-featured__meta {
    gap: 0 10px;
  }
  .portal-detail--podcasts .portal-detail-featured__meta span + span::before {
    margin-right: 10px;
  }
  .portal-detail--podcasts .portal-detail-featured__title,
  .portal-detail--digital-series .portal-detail-featured__title {
    font-size: 40px;
    grid-column: 2 / span 5;
    line-height: 42px;
    margin: 0 0 40px;
  }
  .portal-detail--digital-series .portal-detail-featured__title {
    align-self: stretch;
  }
  .portal-detail--podcasts .portal-detail-featured__excerpt,
  .portal-detail--digital-series .portal-detail-featured__excerpt {
    font-size: 16px;
    grid-column: 7 / span 5;
    grid-row: 2;
    line-height: 24px;
    margin: 0 0 40px;
  }
  .portal-detail--digital-series .portal-detail-featured__excerpt p {
    font: inherit;
    margin: 0;
  }
  .portal-detail--podcasts .portal-detail-featured__excerpt p,
  .portal-detail--podcasts .portal-detail-featured__excerpt p span {
    font: inherit !important;
    margin: 0;
  }
  .portal-detail--podcasts .portal-detail-featured__embed,
  .portal-detail--digital-series .portal-detail-featured__embed {
    grid-column: 2 / span 10;
  }
  .portal-detail--digital-series .portal-detail-featured__embed {
    margin: 0;
  }
  .portal-detail--podcasts .portal-detail-featured__embed {
    margin: 0 0 60px;
  }
  .portal-detail--episodes .portal-detail__layout {
    align-items: start;
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    margin-top: 60px;
    max-width: none;
    padding: 0 30px;
    row-gap: 0;
  }
  .portal-detail--episodes .portal-detail__sidebar {
    grid-column: 1 / span 3;
  }
  .portal-detail--episodes .portal-detail__content {
    column-gap: 18px;
    grid-column: 5 / span 8;
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .portal-detail--about .portal-detail-navigation__directory,
  .portal-detail--about .portal-detail-navigation__series,
  .portal-detail--episodes .portal-detail-navigation__directory,
  .portal-detail--episodes .portal-detail-navigation__series { display: none; }
  .portal-detail--about .portal-detail-navigation ul,
  .portal-detail--episodes .portal-detail-navigation ul {
    border: 0;
    margin: 0;
  }
  .portal-detail--about .portal-detail-navigation li,
  .portal-detail--episodes .portal-detail-navigation li { border: 0; }
  .portal-detail--about .portal-detail-navigation li a,
  .portal-detail--episodes .portal-detail-navigation li a {
    font-size: 14px;
    line-height: 14px;
    margin: 0 -40px 0 -30px;
    padding: 20px 15px 20px 56.2%;
  }
  .portal-detail--about .portal-detail-platforms,
  .portal-detail--episodes .portal-detail-platforms {
    margin-top: 50px;
  }
  .portal-detail--about .portal-detail-platforms > p,
  .portal-detail--episodes .portal-detail-platforms > p {
    font-size: 14px;
    line-height: 22px;
    margin-bottom: 20px;
  }
  .portal-detail--about .portal-detail-platforms .portal-platforms,
  .portal-detail--episodes .portal-detail-platforms .portal-platforms {
    margin: 0;
  }
  .portal-detail--episodes .portal-detail__prose {
    grid-column: 1 / span 7;
  }
  .portal-detail--episodes .portal-detail__prose p,
  .portal-detail--episodes .portal-detail__prose p span {
    font: inherit !important;
    margin: 0;
  }
  .portal-detail--episodes .portal-detail__prose p + p {
    margin-top: 40px;
  }
  .portal-detail--podcasts .portal-detail__prose > p {
    letter-spacing: var(--tracking-body);
    margin: 0 0 40px;
    padding: 0;
  }
  .portal-detail--podcasts .portal-detail__prose > p:has(> script),
  .portal-detail--podcasts .portal-detail__prose > p:empty {
    display: none;
  }
  .portal-detail--podcasts .portal-detail__prose > h2 {
    letter-spacing: var(--tracking-body);
  }
  .portal-detail--episodes .portal-detail__prose + .portal-detail-episodes {
    grid-column: 1 / span 8;
    margin: 60px 0 0;
  }
  .portal-detail--episodes .portal-episode-card {
    column-gap: 18px;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    margin-bottom: 40px;
    padding: 0;
  }
  .portal-detail--episodes .portal-episode-card:last-child {
    border: 0;
  }
  .portal-detail--episodes .portal-episode-card .card__media {
    align-self: start;
    aspect-ratio: 4 / 3;
    grid-column: span 3;
  }
  .portal-detail--episodes .portal-episode-card .card__content {
    border-top: 2px solid var(--color-ink);
    grid-column: span 5;
    padding-top: 10px;
  }
  .portal-detail--episodes .portal-episode-card .card__meta {
    font-size: 14px;
    line-height: 14px;
    margin: 0 0 20px;
  }
  .portal-detail--episodes .portal-episode-card h3 {
    font-size: 18px;
    letter-spacing: var(--tracking-heading);
    line-height: 20px;
    margin: 0 0 20px;
  }
  .portal-detail--episodes .portal-episode-card .card__excerpt {
    font-size: 16px;
    line-height: 24px;
  }
  .portal-detail--episodes .portal-episode-card .card__excerpt p,
  .portal-detail--episodes .portal-episode-card .card__excerpt p span {
    font: inherit !important;
    margin: 0;
  }
  .portal-detail-episodes__load-more {
    margin-top: 40px;
    width: 224px;
  }
  .portal-detail--about .listing-hero--portal-detail .listing-hero__eyebrow {
    display: flex;
    justify-content: flex-end;
  }
  .portal-detail--about .listing-hero--portal-detail .listing-hero__eyebrow span + span { margin-left: 10px; }
  .portal-detail--about .portal-detail__layout {
    align-items: start;
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    margin: 60px 0;
    max-width: none;
    padding: 0 30px;
    row-gap: 0;
  }
  .portal-detail--about .portal-detail__sidebar { grid-column: 1 / span 3; }
  .portal-detail--about .portal-detail__content {
    column-gap: 18px;
    grid-column: 5 / span 8;
    grid-template-columns: repeat(8, minmax(0, 1fr)) 0;
    row-gap: 0;
  }
  .portal-detail--about .portal-detail__prose {
    grid-column: 1 / span 7;
  }
  .portal-detail--about .portal-detail__prose p,
  .portal-detail--about .portal-detail__prose p span {
    font: inherit !important;
    margin: 0 0 40px;
    padding: 0;
  }
  .portal-detail--about .portal-detail__prose + .portal-people {
    margin: 60px 0 0;
  }
  .portal-detail--about .portal-person {
    column-gap: 18px;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    margin-bottom: 60px;
    padding: 0;
  }
  .portal-detail--about .portal-person__media {
    align-self: stretch;
    grid-row: 1 / span 2;
    overflow: visible;
  }
  .portal-detail--about .portal-person__content {
    border-top: 2px solid var(--color-ink);
    grid-column: 3 / span 6;
    justify-content: space-between;
    padding: 20px 0 30px;
  }
  .portal-detail--about .portal-person h3 {
    font: 18px/20px "Suisse Intl", sans-serif;
    letter-spacing: var(--tracking-ui);
  }
  .portal-detail--about .portal-person__job-title {
    font-size: 12px;
    line-height: 18px;
  }
  .portal-detail--about .portal-person__social {
    gap: 20px;
    height: 100%;
    margin: 0;
  }
  .portal-detail--about .portal-person__social a {
    height: 15px;
    width: 15px;
  }
  .portal-detail--about .portal-person__social a::before {
    font-size: 13px;
    line-height: 15px;
  }
  .portal-detail--about .portal-person__description {
    grid-column: 3 / span 6;
    margin: 0;
  }
  .portal-detail--about .portal-person__description p,
  .portal-detail--about .portal-person__description p span {
    font: inherit !important;
    margin: 0;
  }
}

@media (min-width: 64rem) and (max-width: 79.999rem) {
  .portal-detail .listing-hero--portal-detail .listing-hero__grid {
    column-gap: 18px;
    grid-template-columns: minmax(0, 429.333fr) minmax(0, 906.667fr);
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__media {
    aspect-ratio: 792 / 300;
    width: calc(100% - 10px);
  }
}

@media (min-width: 80rem) {
  .portal-detail .listing-hero--portal-detail {
    padding: 60px 0;
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__grid {
    grid-template-columns: minmax(0, 429.333fr) minmax(0, 906.667fr);
    padding-inline: 40px;
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__content {
    grid-column: 1;
    transform: translateY(4px);
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__media {
    aspect-ratio: 792 / 300;
    grid-column: 2;
    width: calc(100% + max(0px, (100vw - 1440px) / 2));
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__eyebrow {
    font-size: 18px;
    line-height: 15px;
    margin-bottom: 14px;
  }
  .portal-detail .listing-hero--portal-detail .listing-hero__title {
    font-size: 70px;
    line-height: 60px;
    transform: none;
  }
  .portal-detail--about .listing-hero--portal-detail .listing-hero__eyebrow span + span { margin-left: 20px; }
  .portal-detail--digital-series .portal-detail-featured {
    padding: 50px 40px 80px;
  }
  .portal-detail--podcasts .portal-detail-featured {
    padding: 50px 40px;
  }
  .portal-detail--podcasts .portal-detail-featured__inner,
  .portal-detail--digital-series .portal-detail-featured__inner {
    column-gap: 24px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    margin-inline: auto;
    max-width: calc(var(--site-width) + (2 * var(--site-gutter)));
    width: 100%;
  }
  .portal-detail--digital-series .portal-detail-featured__inner {
    padding-inline: 0;
  }
  .portal-detail--podcasts .portal-detail-featured__meta,
  .portal-detail--digital-series .portal-detail-featured__meta {
    font-size: 18px;
    grid-column: 2 / span 10;
    height: 47px;
    line-height: 15px;
    margin: 0 0 25px;
    padding-top: 30px;
  }
  .portal-detail--podcasts .portal-detail-featured__meta {
    gap: 0 18px;
  }
  .portal-detail--podcasts .portal-detail-featured__meta span + span::before {
    margin-right: 18px;
  }
  .portal-detail--podcasts .portal-detail-featured__title,
  .portal-detail--digital-series .portal-detail-featured__title {
    font-size: 70px;
    grid-column: 2 / span 5;
    line-height: 60px;
    margin: 0 0 60px;
  }
  .portal-detail--digital-series .portal-detail-featured__title {
    align-self: stretch;
  }
  .portal-detail--podcasts .portal-detail-featured__excerpt,
  .portal-detail--digital-series .portal-detail-featured__excerpt {
    font-size: 20px;
    grid-column: 7 / span 5;
    grid-row: 2;
    line-height: 28px;
    margin: 0 0 60px;
  }
  .portal-detail--digital-series .portal-detail-featured__excerpt p {
    font: inherit;
    margin: 0;
  }
  .portal-detail--podcasts .portal-detail-featured__excerpt p,
  .portal-detail--podcasts .portal-detail-featured__excerpt p span {
    font: inherit !important;
    margin: 0;
  }
  .portal-detail--podcasts .portal-detail-featured__embed,
  .portal-detail--digital-series .portal-detail-featured__embed {
    grid-column: 2 / span 10;
  }
  .portal-detail--digital-series .portal-detail-featured__embed {
    margin: 0;
  }
  .portal-detail--podcasts .portal-detail-featured__embed {
    margin: 0 0 80px;
  }
  .portal-detail--episodes .portal-detail__layout {
    align-items: start;
    column-gap: 24px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    margin: 80px auto 0;
    max-width: calc(var(--site-width) + (2 * var(--site-gutter)));
    padding: 0 40px;
    width: 100%;
  }
  .portal-detail--episodes .portal-detail__sidebar {
    grid-column: 1 / span 3;
    position: sticky;
    top: 145px;
  }
  .portal-detail--episodes .portal-detail__content {
    grid-column: 5 / span 8;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: 24px;
  }
  .portal-detail--about .portal-detail-navigation__directory,
  .portal-detail--about .portal-detail-navigation__series,
  .portal-detail--episodes .portal-detail-navigation__directory,
  .portal-detail--episodes .portal-detail-navigation__series { display: none; }
  .portal-detail--about .portal-detail-navigation ul,
  .portal-detail--episodes .portal-detail-navigation ul {
    border: 0;
    margin: 0;
  }
  .portal-detail--about .portal-detail-navigation li,
  .portal-detail--episodes .portal-detail-navigation li { border: 0; }
  .portal-detail--about .portal-detail-navigation li a,
  .portal-detail--episodes .portal-detail-navigation li a {
    font-size: 18px;
    line-height: 26px;
    margin: 0 0 0 -40px;
    padding: 20px 15px 20px 48.5%;
  }
  .portal-detail--about .portal-detail-platforms,
  .portal-detail--episodes .portal-detail-platforms {
    margin-top: 50px;
  }
  .portal-detail--about .portal-detail-platforms > p,
  .portal-detail--episodes .portal-detail-platforms > p {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 20px;
  }
  .portal-detail--about .portal-detail-platforms .portal-platforms,
  .portal-detail--episodes .portal-detail-platforms .portal-platforms {
    margin: 0;
  }
  .portal-detail--episodes .portal-detail__prose {
    font-size: 20px;
    grid-column: 1 / span 6;
    line-height: 28px;
  }
  .portal-detail--episodes .portal-detail__prose p,
  .portal-detail--episodes .portal-detail__prose p span {
    font: inherit !important;
    margin: 0;
  }
  .portal-detail--episodes .portal-detail__prose p { padding-bottom: 20px; }
  .portal-detail--episodes .portal-detail__prose p + p { margin-top: 0; }
  .portal-detail--episodes .portal-detail__prose p:last-child { padding-bottom: 20px; }
  .portal-detail--podcasts .portal-detail__prose > p {
    letter-spacing: var(--tracking-body);
    margin: 0 0 40px;
    padding: 0;
  }
  .portal-detail--podcasts .portal-detail__prose > p:has(> script),
  .portal-detail--podcasts .portal-detail__prose > p:empty {
    display: none;
  }
  .portal-detail--podcasts .portal-detail__prose > h2 {
    letter-spacing: var(--tracking-ui);
  }
  .portal-detail--episodes .portal-detail__prose + .portal-detail-episodes {
    grid-column: 1 / span 7;
    margin: 80px 0 0;
  }
  .portal-detail--episodes .portal-episode-card {
    column-gap: 24px;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    margin-bottom: 60px;
    padding: 0;
  }
  .portal-detail--episodes .portal-episode-card:last-child { border: 0;  }
  .portal-detail--episodes .portal-episode-card .card__media {
    align-self: start;
    aspect-ratio: 282 / 212;
    grid-column: span 3;
  }
  .portal-detail--episodes .portal-episode-card .card__content {
    border-top: 2px solid var(--color-ink);
    grid-column: span 4;
    padding-top: 20px;
  }
  .portal-detail--episodes .portal-episode-card .card__meta {
    font-size: 18px;
    line-height: 15px;
    margin: 0 0 20px;
  }
  .portal-detail--episodes .portal-episode-card h3 {
    font-size: 24px;
    letter-spacing: var(--tracking-heading);
    line-height: 26px;
    margin: 0 0 30px;
  }
  .portal-detail--episodes .portal-episode-card .card__excerpt {
    font-size: 20px;
    line-height: 28px;
  }
  .portal-detail--episodes .portal-episode-card .card__excerpt p,
  .portal-detail--episodes .portal-episode-card .card__excerpt p span {
    font: inherit !important;
    margin: 0;
  }
  .portal-detail-episodes__load-more {
    font-size: 16px;
    height: 66px;
    margin-top: 60px;
    width: 282px;
  }
  .portal-detail--episodes > .article-related {
    margin-top: 80px;
  }
  .portal-detail--about .portal-detail__layout {
    align-items: start;
    column-gap: 24px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    margin: 80px auto;
    max-width: calc(var(--site-width) + (2 * var(--site-gutter)));
    padding: 0 40px;
    row-gap: 0;
    width: 100%;
  }
  .portal-detail--about .portal-detail__sidebar {
    grid-column: 1 / span 3;
    position: sticky;
    top: 145px;
  }
  .portal-detail--about .portal-detail__content {
    column-gap: 24px;
    grid-column: 5 / span 8;
    grid-template-columns: repeat(8, minmax(0, 1fr)) 0;
    row-gap: 0;
  }
  .portal-detail--about .portal-detail__prose {
    font-size: 20px;
    grid-column: 1 / span 6;
    line-height: 28px;
  }
  .portal-detail--about .portal-detail__prose p,
  .portal-detail--about .portal-detail__prose p span {
    font: inherit !important;
    margin: 0 0 40px;
    padding: 0;
  }
  .portal-detail--about .portal-detail__prose + .portal-people {
    margin: 80px 0 0;
  }
  .portal-detail--about .portal-person {
    column-gap: 24px;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    margin-bottom: 60px;
    padding: 0;
  }
  .portal-detail--about .portal-person__media {
    align-self: stretch;
  }
  .portal-detail--about .portal-person__content {
    border-top: 2px solid var(--color-ink);
    grid-column: 3 / span 5;
    justify-content: space-between;
    padding: 20px 0 30px;
  }
  .portal-detail--about .portal-person h3 {
    font-family: var(--font-body);
    font-size: 24px;
    letter-spacing: var(--tracking-heading);
    line-height: 26px;
  }
  .portal-detail--about .portal-person__job-title {
    font-size: 16px;
    line-height: 24px;
  }
  .portal-detail--about .portal-person__social a {
    height: 20px;
    width: 20px;
  }
  .portal-detail--about .portal-person__social a::before {
    font-size: 16px;
    line-height: 20px;
  }
  .portal-detail--about .portal-person__description,
  .portal-detail--about .portal-person__description p,
  .portal-detail--about .portal-person__description p span {
    color: var(--color-ink-muted);
    font: 20px/28px "Suisse Intl", sans-serif !important;
    letter-spacing: var(--tracking-body);
    margin: 0;
  }
  .portal-detail--about .portal-person__description {
    grid-column: 3 / span 5;
  }
}

.portal-detail--podcasts .portal-detail__prose > p:last-child {
  line-height: 0;
  padding-bottom: 0;
}

/* Source: 100-directories.css */
/* Directory pages with section navigation share one structural contract. */
.project-directory-page--with-navigation .project-directory {
  margin-top: -1.203125px;
  padding: 0;
}

.project-directory-page--with-navigation .project-directory__grid {
  column-gap: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-top: 86px;
}

.project-directory-page--with-navigation .project-directory__content {
  grid-column: 1 / -1;
}

.project-directory-page--with-navigation .portal-series-card {
  padding-bottom: 24px;
}

@media (min-width: 48rem) {
  .project-directory-page--with-navigation .project-directory__grid {
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding-top: 0;
  }

  .project-directory-page--with-navigation .project-directory {
    margin-top: 0;
  }

  .project-directory-page--with-navigation .project-directory__content {
    grid-column: 5 / span 8;
  }
}

@media (min-width: 64rem) {
  .project-directory-page--with-navigation .project-directory__grid {
    column-gap: 24px;
  }

  .project-directory-page--with-navigation .portal-series-card {
    padding-bottom: 50px;
  }
}

/* Source: 110-glossary-index.css */
/* Glossary index parity. */
.glossary-index {
  display: grid;
  gap: 0 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: none;
  padding: 0 12px;
}

.glossary-index__letters {
  border-bottom: 0;
  border-top: 2px solid var(--color-ink);
  display: block;
  grid-column: 1 / -1;
  margin: 0;
  min-height: 54.796875px;
  overflow-x: auto;
  padding: 15px 0 13px;
  position: sticky;
  top: var(--header-height-scrolled);
  white-space: nowrap;
  z-index: 2;
}

.glossary-index__letters::before {
  background: var(--color-paper);
  content: "";
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 100vw;
  z-index: -1;
}

.glossary-index__letters a,
.glossary-index__letters span {
  aspect-ratio: auto;
  display: inline;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: var(--tracking-body);
  line-height: 24px;
  opacity: 1;
}

.glossary-index__letters a + a,
.glossary-index__letters a + span,
.glossary-index__letters span + a,
.glossary-index__letters span + span {
  margin-left: 14px;
}

.glossary-index__letters span {
  color: var(--color-border-light);
}

.glossary-index__groups {
  grid-column: 1 / -1;
}

.glossary-group,
.glossary-group + .glossary-group {
  border: 0;
  display: grid;
  gap: 0 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 0 -12px;
  padding: 40px 12px 0;
  width: 100vw;
}

.glossary-group:nth-child(4n + 1) {
  background: rgba(237, 203, 201, 0.2);
}

.glossary-group:nth-child(4n + 3) {
  background: rgba(150, 191, 159, 0.2);
}

.glossary-group > h2 {
  font-size: 40px;
  grid-column: 1 / -1;
  line-height: 42px;
  margin: 0 0 30px;
}

.glossary-group__items {
  display: flex;
  flex-wrap: wrap;
  grid-column: 1 / -1;
  justify-content: space-between;
  min-width: 0;
}

.glossary-card,
.glossary-card:first-child {
  align-content: start;
  border-top: 2px solid var(--color-ink);
  display: grid;
  flex-basis: 100%;
  gap: 0 20px;
  grid-template-columns: minmax(0, 1fr);
  padding: 15px 0 40px;
}

.glossary-card--with-image {
  grid-template-columns: min-content minmax(0, 1fr);
}

.glossary-page .glossary-card--with-image {
  grid-template-columns: 80px minmax(0, 1fr);
}

.glossary-card .card__content {
  display: contents;
}

.glossary-card .card__media {
  aspect-ratio: 80 / 60.51;
  grid-column: 1;
  grid-row: 1;
  min-width: 80px;
  width: 80px;
}

.glossary-card__details {
  grid-column: 1 / -1;
  grid-row: 1;
}

.glossary-card--with-image .glossary-card__details {
  grid-column: 2;
}

.glossary-card h3 {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 20px;
  margin: 0;
}

.glossary-card h3 a {
  text-decoration: underline;
}

.glossary-card__reference {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: var(--tracking-ui);
  line-height: 14px;
  margin-top: 15px;
}

.glossary-card__reference p {
  font: inherit;
  margin: 0;
}

.glossary-card .card__excerpt {
  color: var(--color-ink-muted);
  font-size: 16px;
  grid-column: 1 / -1;
  grid-row: 2;
  letter-spacing: var(--tracking-body);
  line-height: 24px;
  margin-top: 20px;
}

.glossary-card .card__excerpt p,
.glossary-card .card__excerpt p span {
  font: inherit !important;
  margin: 0;
}

.glossary-card .card__excerpt p {
  padding-bottom: 16px;
}

.glossary-card .card__excerpt p:last-child {
  padding-bottom: 0;
}

.glossary-card .card__excerpt a {
  text-decoration: underline;
}

@media (min-width: 48rem) {
  .glossary-index {
    gap: 0 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding: 0 30px;
  }

  .glossary-index__letters {
    display: flex;
    grid-column: 1 / -1;
    justify-content: space-between;
    min-height: 0;
    overflow: visible;
    padding: 15px 0 13px;
    top: 85px;
  }

  .glossary-index__letters a + a,
  .glossary-index__letters a + span,
  .glossary-index__letters span + a,
  .glossary-index__letters span + span {
    margin-left: 0;
  }

  .glossary-group,
  .glossary-group + .glossary-group {
    gap: 0 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    margin: 0;
    padding: 50px 0 0;
    width: 100%;
  }

  .glossary-group > h2 {
    font-size: 40px;
    grid-column: 2 / span 1;
    line-height: 42px;
    margin: 0;
  }

  .glossary-group__items {
    grid-column: 3 / span 9;
  }

  .glossary-card,
  .glossary-card:first-child {
    flex-basis: 42.5855513308%;
    padding: 10px 0 50px;
  }

  .glossary-card .card__media {
    aspect-ratio: 61 / 46.14;
    min-width: 61px;
    width: 61px;
  }

  .glossary-page .glossary-card--with-image {
    grid-template-columns: 61px minmax(0, 1fr);
  }
}

@media (min-width: 64rem) {
  .glossary-index {
    gap: 0 24px;
    padding: 0;
  }

  .glossary-index__letters {
    grid-column: 2 / span 10;
    padding-block: 20px;
    top: 105px;
  }

  .glossary-index__letters a,
  .glossary-index__letters span {
    font-size: 20px;
    line-height: 28px;
  }

  .glossary-group,
  .glossary-group + .glossary-group {
    gap: 0 24px;
    padding-top: 60px;
  }

  .glossary-group > h2 {
    font-size: 70px;
    line-height: 60px;
  }

  .glossary-card,
  .glossary-card:first-child {
    flex-basis: 42.9530201342%;
    gap: 0 24px;
    padding: 20px 0 60px;
  }

  .glossary-card .card__media {
    aspect-ratio: 78 / 59;
    min-width: 78px;
    width: 78px;
  }

  .glossary-page .glossary-card--with-image {
    grid-template-columns: 78px minmax(0, 1fr);
  }

  .glossary-card h3 {
    font-size: 24px;
    line-height: 26px;
  }

  .glossary-card__reference {
    font-size: 18px;
    line-height: 15px;
  }

  .glossary-card .card__excerpt {
    font-size: 20px;
    grid-column: 2;
    grid-row: 2;
    line-height: 28px;
    margin-top: 30px;
  }

  .glossary-card--with-image .card__excerpt {
    margin-top: 27px;
  }

  .glossary-card--with-image.glossary-card--without-reference .card__excerpt {
    margin-top: -3px;
  }

  .glossary-card:not(.glossary-card--with-image) .card__excerpt {
    grid-column: 1 / -1;
  }

  .glossary-card .card__excerpt p {
    padding-bottom: 20px;
  }
}

/* Source: 120-glossary-detail.css */
/* Glossary detail parity. */
.glossary-detail-main {
  overflow: hidden;
  padding-bottom: 30px;
}
.glossary-detail {
  column-gap: 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-inline: auto;
  max-width: 1440px;
  padding: 0 12px;
}
.glossary-detail__back {
  color: var(--color-ink);
  display: block;
  font-size: 16px;
  font-weight: 400;
  grid-column: 1 / span 2;
  height: 24px;
  letter-spacing: var(--tracking-ui);
  line-height: 24px;
  margin: 30px 0;
  text-decoration: none;
}
.glossary-detail__back::before {
  background: url("../images/icons/back-arrow.svg") center / contain no-repeat;
  content: "";
  display: inline-block;
  height: 12px;
  margin-right: 15px;
  width: 8px;
}
.glossary-detail__grid {
  align-items: stretch;
  column-gap: 24px;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-bottom: 60px;
  row-gap: 0;
}
.glossary-detail__header,
.glossary-detail__body {
  grid-column: 1 / -1;
  min-width: 0;
}
.glossary-detail__header {
  position: static;
  text-align: left;
}
.glossary-detail__header h1 {
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: 40px;
  font-weight: 500;
  letter-spacing: var(--tracking-display);
  line-height: 42px;
  margin: 0 0 20px;
  text-transform: uppercase;
}
.glossary-detail__reference {
  border: 0;
  color: var(--color-ink);
  font-size: 14px;
  letter-spacing: var(--tracking-ui);
  line-height: 14px;
  margin: 0;
  padding: 0;
}
.glossary-detail__reference p { font: inherit; margin: 0; }
.glossary-detail__body { margin-top: 30px; }
.glossary-detail__featured {
  margin: 0 0 60px;
}
.glossary-detail__image {
  display: block;
  height: auto;
  max-width: 100%;
  width: auto;
}
.glossary-detail__copy p,
.glossary-detail__copy p span {
  font: inherit !important;
  margin: 0;
}
.glossary-detail__copy p { padding-bottom: 16px; }
.glossary-detail__copy p:last-child { padding-bottom: 0; }
.glossary-detail__copy a { text-decoration: underline; }
.glossary-detail__copy img { margin: 60px 0; }

@media (min-width: 48rem) {
  .glossary-detail {
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding-inline: 30px;
  }
  .glossary-detail__back {
    grid-column: 1 / span 2;
    margin: 40px 0;
  }
  .glossary-detail__grid {
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .glossary-detail__header {
    grid-column: 2 / span 3;
    text-align: right;
  }
  .glossary-detail__body {
    grid-column: 5 / span 6;
    margin-top: 0;
  }
}

@media (min-width: 64rem) {
  .glossary-detail-main { padding-bottom: 40px; }
  .glossary-detail {
    column-gap: 24px;
    padding-inline: 0;
  }
  .glossary-detail__back {
    font-size: 18px;
    grid-column: 2 / span 2;
    height: 15px;
    line-height: 15px;
    margin: 60px 0;
  }
  .glossary-detail__grid {
    column-gap: 24px;
    padding-bottom: 116.5px;
  }
  .glossary-detail__header h1 {
    font-size: 70px;
    line-height: 60px;
  }
  .glossary-detail__reference {
    font-size: 18px;
    line-height: 15px;
  }
  .glossary-detail__copy {
    font-size: 20px;
    line-height: 28px;
  }
  .glossary-detail__copy p { padding-bottom: 20px; }
}

/* Source: 130-search.css */
/* Search results parity. */
.search-page {
  padding: 50px 0;
}

.search-page__grid {
  display: grid;
  gap: 0 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-inline: 12px;
}

.search-page__main {
  display: contents;
}

.search-page__hero {
  grid-column: 1 / -1;
  margin-bottom: 30px;
}

.search-page__hero h1 {
  font-family: var(--font-display);
  font-size: 40px;
  font-weight: 500;
  letter-spacing: var(--tracking-display);
  line-height: 42px;
  margin: 0;
  text-transform: uppercase;
}

.search-page__form {
  grid-column: 1 / span 3;
  height: 40px;
  margin: 0 0 30px;
  position: relative;
}

.search-page__form input {
  background: var(--color-stone);
  border: 0;
  border-radius: 0;
  color: var(--color-ink);
  font-size: 16px;
  font-weight: 500;
  height: 40px;
  letter-spacing: var(--tracking-heading);
  line-height: 18px;
  outline: 0;
  padding: 0 50px 0 20px;
  width: 100%;
}

.search-page__form button {
  background: transparent url("../images/icons/search.svg") center / contain no-repeat;
  border: 0;
  height: 14px;
  padding: 0;
  position: absolute;
  right: 20px;
  top: calc(50% - 7px);
  width: 14px;
}

.search-page__results {
  grid-column: 1 / -1;
  min-width: 0;
}

.search-page__count {
  padding-bottom: 60px;
}

.search-page__count h2 {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: var(--tracking-ui);
  line-height: 20px;
  margin: 0;
}

.search-page__item {
  border-top: 2px solid var(--color-ink);
  display: grid;
  gap: 0 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 40px;
  padding-top: 15px;
}

.search-page__item .card__media {
  aspect-ratio: 136 / 102;
  display: block;
  grid-column: 1 / -3;
  height: 102px;
  max-width: 136px;
  overflow: hidden;
  width: 136px;
}

.search-page__image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.search-page__item .card__content {
  grid-column: 1 / -1;
  min-width: 0;
  padding-top: 20px;
}

.search-page__item .card__content h3 {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: var(--tracking-ui);
  line-height: 20px;
  margin: 0;
}

.search-page__item .card__content h3 a,
.search-page__item .card__excerpt a {
  text-decoration: underline;
}

.search-page__item .card__meta {
  font-size: 14px;
  letter-spacing: var(--tracking-ui);
  line-height: 23.8px;
  padding: 15px 0 20px;
}

.search-page__item .card__meta time,
.search-page__item .card__meta span {
  font-size: 14px;
  line-height: 14px;
}

.search-page__item .card__meta span {
  font-weight: 500;
  margin-left: 20px;
}

.search-page__item .card__excerpt,
.search-page__item .card__excerpt p {
  color: var(--color-ink-muted);
  font-size: 16px;
  letter-spacing: var(--tracking-body);
  line-height: 24px;
}

.search-page__item .card__excerpt p {
  margin: 0;
  padding-bottom: 1em;
}

.search-page__item .card__excerpt p:empty {
  display: none;
}

.search-page__load-more {
  align-items: center;
  background: var(--color-stone);
  border: 0;
  border-radius: 0;
  color: var(--color-ink);
  display: flex;
  font-size: 14px;
  height: 54px;
  justify-content: center;
  letter-spacing: var(--tracking-ui);
  line-height: 14px;
  margin: 50px auto 0;
  text-decoration: none;
  width: 100%;
}

.search-page__no-results p {
  font-size: 14px;
  letter-spacing: var(--tracking-body);
  line-height: 20px;
  margin: 0 0 20px;
}

.search-page__no-results strong {
  font-weight: 500;
}

.search-page__no-results ul {
  list-style-position: inside;
  margin: 0 0 0 20px;
  padding: 0;
}

.search-page__no-results li {
  color: var(--color-ink-muted);
  font-size: 14px;
  letter-spacing: var(--tracking-body);
  line-height: 20px;
  padding-bottom: 10px;
}

.search-page__no-results a {
  color: var(--color-ink);
  text-decoration: underline;
}

@media (min-width: 48rem) {
  .search-page__grid {
    gap: 0 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding-inline: 30px;
  }

  .search-page__hero {
    grid-column: 1 / span 4;
    margin-bottom: 0;
  }

  .search-page__hero h1 {
    text-align: right;
  }

  .search-page__form {
    grid-column: 5 / span 7;
    height: 60px;
  }

  .search-page__form input {
    font-size: 14px;
    height: 60px;
    line-height: 14px;
  }

  .search-page__form button {
    height: 20px;
    top: calc(50% - 10px);
    width: 20px;
  }

  .search-page__results {
    grid-column: 5 / -1;
  }

  .search-page__item {
    border-top: 0;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    padding-top: 0;
  }

  .search-page__item .card__media {
    aspect-ratio: 164 / 123;
    grid-column: 1 / span 3;
    height: 123px;
    max-width: none;
    width: 100%;
  }

  .search-page__item .card__content {
    border-top: 2px solid var(--color-ink);
    grid-column: 4 / -1;
  }

  .search-page__item--no-image .search-page__item .card__content {
    grid-column: 1 / -1;
  }

  .search-page__load-more {
    margin-top: 40px;
    width: 224px;
  }

  .search-page__no-results p,
  .search-page__no-results li {
    font-size: 16px;
    line-height: 24px;
  }

  .search-page__no-results ul {
    margin-left: 28px;
  }
}

@media (min-width: 64rem) {
  .search-page {
    padding: 54px 0;
  }

  .search-page__grid {
    gap: 0 24px;
    padding-inline: 40px;
  }

  .search-page__hero h1 {
    font-size: 70px;
    line-height: 60px;
  }

  .search-page__form {
    height: 66px;
    margin-bottom: 33px;
  }

  .search-page__form input {
    font-size: 18px;
    height: 66px;
    line-height: 26px;
  }

  .search-page__count h2 {
    font-size: 24px;
    line-height: 28px;
  }

  .search-page__item {
    gap: 0 24px;
    margin-bottom: 60px;
  }

  .search-page__item .card__media {
    aspect-ratio: 282 / 212;
    height: 212px;
  }

  .search-page__item .card__content {
    grid-column: 4 / -2;
  }

  .search-page__item .card__content h3 {
    font-size: 24px;
    line-height: 26px;
  }

  .search-page__item .card__meta {
    padding: 20px 0 30px;
  }

  .search-page__item .card__meta time,
  .search-page__item .card__meta span {
    font-size: 18px;
    line-height: 15px;
  }

  .search-page__item .card__excerpt,
  .search-page__item .card__excerpt p {
    font-size: 20px;
    line-height: 28px;
  }

  .search-page__load-more {
    font-size: 16px;
    height: 66px;
    margin-top: 60px;
    width: 282px;
  }

  .search-page__no-results p,
  .search-page__no-results li {
    font-size: 20px;
    line-height: 28px;
  }

  .search-page__no-results li {
    padding-bottom: 15px;
  }

  .search-page__no-results ul {
    margin-left: 33px;
  }
}

/* Source: 140-general-pages.css */
/* Content-portal locked-state rules (folded from the former parity layer). */

/* Locked content portals use the legacy full-width access form rather than
 * the generic section-heading and narrow-form composition. */
.general-page--content-portal .general-page__body {
  padding: 50px 0 60px;
}

.content-portal--locked > p {
  color: var(--color-ink);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: var(--tracking-body);
  line-height: 22px;
  margin: 0;
  padding-bottom: 10px;
}

.content-portal--locked .content-portal__form {
  display: grid;
  gap: 0;
  margin-top: 24px;
  max-width: none;
}

.content-portal--locked .content-portal__form input[type="password"] {
  background: var(--color-stone);
  border: 2px solid var(--color-ink);
  height: 60px;
  padding: 0 15px;
}

.content-portal--locked .general-form__submit {
  background: transparent;
  border: 2px solid var(--color-ink);
  color: var(--color-ink);
  font-size: 18px;
  font-weight: 400;
  justify-self: end;
  line-height: 30.6px;
  margin-top: 5px;
  min-height: 0;
  padding: 5.4px 19px;
}

@media (min-width: 48rem) {
  .content-portal--locked .general-form__submit {
    margin-top: 10px;
  }
}


@media (min-width: 80rem) {
  .general-page--content-portal .general-page__body {
    padding-top: 54px;
  }

  .content-portal--locked .general-form__submit {
    margin-top: 20px;
  }
}


/* Editorial general-page family. The reading rail, optional section navigation,
 * and optional FAQ band share one composition across About-style pages. */
.general-page--family-editorial .general-page__body { padding: 0; }
.general-page--family-editorial .general-page__grid {
  column-gap: 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 90rem;
  padding-inline: 12px;
  padding-bottom: 50px;
  row-gap: 0;
}
.general-page--family-editorial .general-page__inline-module { max-width: 90rem; }
.general-page--family-editorial.general-page--has-faqs .general-page__grid { padding-bottom: 0; }
.general-page--family-editorial .general-navigation { grid-column: 1 / -1; min-width: 0; }
.general-page--family-editorial .general-navigation__toggle {
  background: transparent;
  border: 0;
  border-bottom: 2px solid var(--color-ink);
  color: var(--color-ink);
  display: block;
  font-size: 24px;
  font-weight: 500;
  height: 88px;
  letter-spacing: var(--tracking-heading);
  line-height: 26px;
  padding: 30px 20px 30px 0;
  position: relative;
  text-align: left;
  width: 100%;
}
.general-page--family-editorial .general-navigation__toggle::after {
  border-bottom: 2px solid var(--color-ink);
  border-right: 2px solid var(--color-ink);
  content: "";
  height: 8px;
  position: absolute;
  right: 20px;
  top: calc(50% - 6px);
  transform: rotate(45deg);
  transition: transform 180ms ease;
  width: 8px;
}
.general-page--family-editorial .general-navigation.is-open .general-navigation__toggle::after {
  top: calc(50% - 2px);
  transform: rotate(225deg);
}
.general-page--family-editorial .general-navigation ul {
  display: none;
  list-style: none;
  margin: -20px 0 0;
  padding: 0 0 40px;
}
.general-page--family-editorial .general-navigation.is-open ul { display: block; }
.general-page--family-editorial .general-navigation li {
  border-bottom: 1px solid var(--color-stone);
  margin: 0;
}
.general-page--family-editorial .general-navigation a {
  color: var(--color-ink-muted);
  display: block;
  font-size: 16px;
  letter-spacing: var(--tracking-ui);
  line-height: 16px;
  padding: 20px 0;
  text-decoration: none;
}
.general-page--family-editorial .general-navigation a[aria-current="page"] {
  color: var(--color-ink);
  font-weight: 500;
}
.general-page--family-editorial .general-page__content {
  display: grid;
  gap: 0 24px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 40px;
}
.general-page--family-editorial .general-page__copy {
  grid-column: 1 / -1;
  min-width: 0;
}
.general-page--family-editorial .general-page__copy h1,
.general-page--family-editorial .general-page__copy h2,
.general-page--family-editorial .general-page__copy h3,
.general-page--family-editorial .general-page__copy h4,
.general-page--family-editorial .general-page__copy h5,
.general-page--family-editorial .general-page__copy h6,
.general-page--family-editorial .general-page__copy p,
.general-page--family-editorial .general-page__copy ul,
.general-page--family-editorial .general-page__copy ol {
  font-family: var(--font-body);
  margin: 0 0 40px;
  padding-bottom: 0;
}
.general-page--family-editorial .general-page__copy p,
.general-page--family-editorial .general-page__copy ul,
.general-page--family-editorial .general-page__copy ol,
.general-page--family-editorial .general-page__copy span {
  color: var(--color-ink-muted) !important;
  font-size: 14px !important;
  letter-spacing: var(--tracking-body) !important;
  line-height: 20px !important;
}
.general-page--family-editorial .general-page__copy a { color: var(--color-ink); text-decoration: underline; }
.general-page--family-editorial .general-page__copy h2 { color: var(--color-ink); font-size: 24px; font-weight: 500; line-height: 26px; }
.general-page--family-editorial .general-page__copy h3 { color: var(--color-ink); font-size: 22px; font-weight: 500; line-height: 22px; }
.general-page--family-editorial .general-page__copy h4 { color: var(--color-ink); font-size: 18px; font-weight: 500; line-height: 18px; }
.general-page--family-editorial .general-page__copy p + ul,
.general-page--family-editorial .general-page__copy p + ol { margin-top: -22px; }
.general-page--family-editorial .general-page__copy ul,
.general-page--family-editorial .general-page__copy ol {
  list-style: none;
  margin-bottom: 30px;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
}
.general-page--family-editorial .general-page__copy ul li,
.general-page--family-editorial .general-page__copy ol li { position: relative; }
.general-page--family-editorial .general-page__copy ul li {
  margin-left: 50px;
}
.general-page--family-editorial .general-page__copy ul li:not(:last-child) { margin-bottom: 15px; }
.general-page--family-editorial .general-page__copy ul li::before {
  color: var(--color-ink);
  content: "\2022";
  left: -28px;
  position: absolute;
}
.general-page--family-editorial .general-page__copy ul li::marker { color: var(--color-paper); }
.general-page--family-editorial .general-page__copy iframe {
  aspect-ratio: 1.7764;
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}
.general-page--family-editorial .general-page__copy > :last-child { margin-bottom: 0; }
.general-page--family-editorial .pullquote {
  margin: 50px 0;
  padding: 88px 28px 0;
  position: relative;
}
.general-page--family-editorial .pullquote::before {
  background: transparent url("../images/icons/quote.svg") center / contain no-repeat;
  content: "";
  height: 58px;
  left: 28px;
  position: absolute;
  top: 0;
  width: 80px;
}
.general-page--family-editorial .pullquote::after {
  background: var(--color-teal);
  content: "";
  display: block;
  height: 2px;
  margin-top: 20px;
  width: 100%;
}
.general-page--family-editorial .pullquote__content {
  color: var(--color-teal);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: var(--tracking-heading);
  line-height: 26px;
  margin-bottom: 20px;
}
.general-page--family-editorial .pullquote__meta span {
  color: var(--color-ink-muted) !important;
  font-size: 14px !important;
  line-height: 22px !important;
}
.general-page--family-editorial .pullquote__meta span:not(:first-child)::before {
  content: ",";
  margin-left: -3px;
  margin-right: 3px;
}
.general-page--family-editorial .general-faqs {
  align-items: start;
  background: var(--color-stone);
  column-gap: 24px;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 50px -12px 0;
  padding: 40px 12px 50px;
  width: calc(100% + 24px);
}
.general-page--family-editorial .general-faqs .general-section-title {
  border: 0;
  font-size: 40px;
  grid-column: 1 / -1;
  letter-spacing: var(--tracking-display);
  line-height: 40px;
  margin: 0 0 20px;
  padding: 0 0 10px;
}
.general-page--family-editorial .general-faqs__items { border: 0; grid-column: 1 / -1; }
.general-page--family-editorial .general-faq { border: 0; }
.general-page--family-editorial .general-faq summary {
  border-bottom: 2px solid var(--color-ink);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: var(--tracking-heading);
  line-height: 26px;
  min-height: 68px;
  padding: 20px 40px 20px 0;
}
.general-page--family-editorial .general-faq summary::before,
.general-page--family-editorial .general-faq summary::after {
  background: var(--color-ink);
  content: "";
  height: 3px;
  margin: auto;
  position: absolute;
  right: 17px;
  top: calc(50% - 1.5px);
  width: 15px;
}
.general-page--family-editorial .general-faq summary::after { transform: rotate(-90deg); }
.general-page--family-editorial .general-faq[open] summary { border-bottom-width: 7px; }
.general-page--family-editorial .general-faq[open] summary::after { transform: rotate(0deg); }
.general-page--family-editorial .general-faq__answer {
  color: var(--color-ink-muted);
  font-size: 14px;
  letter-spacing: var(--tracking-body);
  line-height: 20px;
  max-width: none;
  padding: 30px 0;
}

@media (max-width: 47.999rem) {
  .general-page--family-editorial .listing-hero__content { padding-top: 0; }
  .general-page--family-editorial .listing-hero__eyebrow { display: none; }
}

@media (min-width: 48rem) {
  .general-page--family-editorial .general-page__grid {
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding-inline: 30px;
  }
  .general-page--family-editorial .general-page__grid .general-navigation {
    align-self: start;
    grid-column: 1 / span 3;
    position: sticky;
    top: 105px;
  }
  .general-page--family-editorial .general-navigation__toggle { display: none; }
  .general-page--family-editorial .general-navigation ul,
  .general-page--family-editorial .general-navigation.is-open ul { display: block; margin: 0; padding: 0; }
  .general-page--family-editorial .general-navigation li { border: 0; }
  .general-page--family-editorial .general-navigation a {
    color: var(--color-ink);
    font-size: 14px;
    font-weight: 500;
    line-height: 14px;
    margin-left: -30px;
    margin-right: -40px;
    padding: 20px 15px 20px 56.2%;
  }
  .general-page--family-editorial .general-navigation a[aria-current="page"] {
    background: var(--color-ink);
    color: var(--color-paper);
  }
  .general-page--family-editorial .general-page__content {
    gap: 0 18px;
    grid-column: 5 / -1;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    margin-top: 0;
  }
  .general-page--family-editorial .general-page__copy {
    grid-column: 1 / span 7;
  }
  .general-page--family-editorial .general-page__copy p,
  .general-page--family-editorial .general-page__copy ul,
  .general-page--family-editorial .general-page__copy ol,
  .general-page--family-editorial .general-page__copy span {
    font-size: 16px !important;
    line-height: 24px !important;
  }
  .general-page--family-editorial .general-page__copy ul li { margin-left: 55px; }
  .general-page--family-editorial .general-page__copy ul,
  .general-page--family-editorial .general-page__copy ol { margin-bottom: 40px; }
  .general-page--family-editorial .general-page__copy ul li::before { left: -30px; }
  .general-page--family-editorial .pullquote { margin: 50px 0; padding: 0 0 0 60px; }
  .general-page--family-editorial .pullquote::before { height: 31px; left: 0; width: 43px; }
  .general-page--family-editorial .pullquote__content {
    font-size: 18px;
    letter-spacing: var(--tracking-ui);
    line-height: 20px;
  }
  .general-page--family-editorial .general-faqs {
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    margin: 50px -30px 0;
    padding: 60px 30px;
    width: calc(100% + 60px);
  }
  .general-page--family-editorial .general-faqs .general-section-title {
    font-size: 64px;
    grid-column: 1 / span 4;
    line-height: 54px;
    margin: 0;
    text-align: right;
  }
  .general-page--family-editorial .general-faqs__items {
    grid-column: 6 / span 7;
    margin-top: -20px;
  }
  .general-page--family-editorial .general-faq summary {
    font-size: 18px;
    line-height: 20px;
    min-height: 62px;
  }
  .general-page--family-editorial .general-faq__answer { padding-bottom: 20px; }
}

@media (min-width: 64rem) {
  .general-page--family-editorial .general-page__grid { column-gap: 24px; padding-inline: 40px; }
  .general-page--family-editorial .general-page__grid .general-navigation { top: 145px; }
  .general-page--family-editorial .general-navigation a {
    font-size: 18px;
    line-height: 26px;
    margin-left: -40px;
    margin-right: 0;
    padding-left: 51%;
  }
  .general-page--family-editorial .general-page__content { gap: 0 24px; }
  .general-page--family-editorial .general-page__copy {
    font-size: 20px;
    grid-column: 1 / span 6;
    line-height: 28px;
  }
  .general-page--family-editorial .general-page__copy p,
  .general-page--family-editorial .general-page__copy ul,
  .general-page--family-editorial .general-page__copy ol,
  .general-page--family-editorial .general-page__copy span {
    font-size: 20px !important;
    line-height: 28px !important;
  }
  .general-page--family-editorial .general-page__grid { padding-bottom: 80px; }
  .general-page--family-editorial.general-page--has-faqs .general-page__grid { padding-bottom: 0; }
  .general-page--family-editorial .general-page__copy p + ul,
  .general-page--family-editorial .general-page__copy p + ol { margin-top: -16px; }
  .general-page--family-editorial .general-page__copy ul li { margin-left: 60px; }
  .general-page--family-editorial .general-page__copy ul li::before { left: -28px; }
  .general-page--family-editorial .pullquote { margin: 60px 0; padding: 0 0 0 102px; }
  .general-page--family-editorial .pullquote::before { height: 56px; left: 0; width: 78px; }
  .general-page--family-editorial .pullquote__content {
    font-size: 24px;
    letter-spacing: var(--tracking-heading);
    line-height: 26px;
  }
  .general-page--family-editorial .pullquote__meta span {
    font-size: 16px !important;
    line-height: 24px !important;
  }
  .general-page--family-editorial .pullquote__meta {
    font-size: 16px;
    line-height: 24px;
  }
  .general-page--family-editorial .general-faqs {
    column-gap: 24px;
    margin: 80px -40px 0;
    padding: 80px 40px;
    width: calc(100% + 80px);
  }
  .general-page--family-editorial .general-faqs .general-section-title { font-size: 114px; line-height: 104px; }
  .general-page--family-editorial .general-faqs__items { grid-column: 6 / span 6; }
  .general-page--family-editorial .general-faq summary {
    font-size: 24px;
    line-height: 26px;
    min-height: 88px;
    padding: 30px 60px 30px 0;
  }
  .general-page--family-editorial .general-faq summary::before,
  .general-page--family-editorial .general-faq summary::after { right: 30px; }
  .general-page--family-editorial .general-faq[open] summary { padding-bottom: 20px; }
  .general-page--family-editorial .general-faq__answer { font-size: 16px; line-height: 24px; padding-bottom: 20px; }
}

@media (min-width: 75rem) {
  .general-page--family-editorial .general-navigation a { padding-left: 48.5%; }
}

/* General pages with a social rail reuse the editorial content and accordion
 * geometry without depending on the page's slug or taxonomy label. */
.general-page--share-rail .general-page__body { padding: 0; }
.general-page--share-rail .general-page__grid {
  column-gap: 24px;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 48px 12px 0;
}
.general-page--share-rail .general-page-share {
  align-self: start;
  grid-column: 1 / -1;
  margin: 0;
  min-height: 92px;
  padding: 42px 0 0;
}
.general-page--share-rail .general-page__content {
  grid-column: 1 / -1;
  margin-top: 50px;
  min-width: 0;
}
.general-page--share-rail .general-page__copy p,
.general-page--share-rail .general-page__copy ul,
.general-page--share-rail .general-page__copy ol,
.general-page--share-rail .general-page__copy span {
  color: var(--color-ink-muted) !important;
  font-size: 14px !important;
  letter-spacing: var(--tracking-body) !important;
  line-height: 20px !important;
}
.general-page--share-rail .general-page__copy p { margin: 0 0 40px; }
.general-page--share-rail .general-page__copy > :last-child { margin-bottom: 0; }

/* A featured FAQ is a full-width module after its page body, rather than a
 * child of the rail/content grid. This is also reusable by future page types. */
.general-faqs--featured {
  align-items: start;
  background: var(--color-stone);
  column-gap: 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 60px 0 0;
  padding: 40px 12px 50px;
}
.general-faqs--featured .general-section-title {
  border: 0;
  font-size: 40px;
  grid-column: 1 / -1;
  line-height: 42px;
  margin: 0 0 20px;
  padding: 0 0 10px;
}
.general-faqs--featured .general-faqs__items {
  border: 0;
  grid-column: 1 / -1;
}
.general-faqs--featured .general-faq { border: 0; }
.general-faqs--featured .general-faq summary {
  border-bottom: 2px solid var(--color-ink);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: var(--tracking-heading);
  line-height: 26px;
  min-height: 68px;
  padding: 20px 40px 20px 0;
}
.general-faqs--featured .general-faq summary::before,
.general-faqs--featured .general-faq summary::after {
  background: var(--color-ink);
  content: "";
  height: 3px;
  margin: auto;
  position: absolute;
  right: 17px;
  top: calc(50% - 1.5px);
  width: 15px;
}
.general-faqs--featured .general-faq summary::after { transform: rotate(-90deg); }
.general-faqs--featured .general-faq[open] summary { border-bottom-width: 7px; }
.general-faqs--featured .general-faq[open] summary::after { transform: rotate(0deg); }
.general-faqs--featured .general-faq__answer {
  color: var(--color-ink-muted);
  font-size: 16px;
  letter-spacing: var(--tracking-body);
  line-height: 24px;
  max-width: none;
  padding: 30px 0 20px;
}

@media (max-width: 47.999rem) {
  .general-page--share-rail .listing-hero__eyebrow { display: block; }
}

@media (min-width: 48rem) {
  .general-page--share-rail .listing-hero__eyebrow { line-height: 23.8px; }
  .general-page--share-rail .listing-hero__media {
    align-self: start;
    width: 100%;
  }
  .general-page--share-rail .general-page__grid {
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding: 50px 30px 0;
  }
  .general-page--share-rail .general-page-share {
    grid-column: 1 / span 3;
    min-height: 102px;
    padding-top: 50px;
  }
  .general-page--share-rail .general-page__content {
    column-gap: 18px;
    display: grid;
    grid-column: 5 / span 8;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    margin-top: 0;
  }
  .general-page--share-rail .general-page__copy {
    grid-column: 1 / span 7;
  }
  .general-page--share-rail .general-page__copy p,
  .general-page--share-rail .general-page__copy ul,
  .general-page--share-rail .general-page__copy ol,
  .general-page--share-rail .general-page__copy span {
    font-size: 16px !important;
    line-height: 24px !important;
  }
  .general-faqs--featured {
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding: 60px 30px;
  }
  .general-faqs--featured .general-section-title {
    font-size: 40px;
    grid-column: 1 / span 4;
    line-height: 42px;
    text-align: right;
  }
  .general-faqs--featured .general-faqs__items {
    grid-column: 6 / span 7;
    margin-top: -20px;
  }
  .general-faqs--featured .general-faq summary {
    font-size: 18px;
    line-height: 20px;
    min-height: 62px;
  }
}

@media (min-width: 64rem) {
  .general-page--share-rail .general-page__grid {
    column-gap: 24px;
    padding: 80px 40px 0;
  }
  .general-page--share-rail .general-page__content { column-gap: 24px; }
  .general-page--share-rail .general-page__copy {
    font-size: 20px;
    grid-column: 1 / span 6;
    line-height: 28px;
  }
  .general-page--share-rail .general-page__copy p,
  .general-page--share-rail .general-page__copy ul,
  .general-page--share-rail .general-page__copy ol,
  .general-page--share-rail .general-page__copy span {
    font-size: 20px !important;
    line-height: 28px !important;
  }
  .general-page--share-rail .general-page__copy .gl-simple-donation-widget {
    font-size: 16px;
    line-height: 24px;
  }
  .general-faqs--featured {
    column-gap: 24px;
    margin-top: 80px;
    padding: 80px 40px;
  }
  .general-faqs--featured .general-section-title {
    font-size: 70px;
    grid-column: 1 / span 4;
    line-height: 60px;
  }
  .general-faqs--featured .general-faqs__items { grid-column: 6 / span 6; }
  .general-faqs--featured .general-faq summary {
    font-size: 24px;
    line-height: 26px;
    min-height: 88px;
    padding: 30px 60px 30px 0;
  }
  .general-faqs--featured .general-faq summary::before,
  .general-faqs--featured .general-faq summary::after { right: 30px; }
  .general-faqs--featured .general-faq[open] summary { padding-bottom: 20px; }
  .general-faqs--featured .general-faq__answer { font-size: 20px; line-height: 28px; }
}

/* Source: 150-people.css */
/* People directory parity. */
.people-directory-page .people-directory {
  column-gap: 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 60px;
  max-width: 90rem;
  padding: 0 12px;
  row-gap: 0;
}
@media (max-width: 47.999rem) {
  .people-directory-page .listing-hero__content { padding-top: 0; }
  .people-directory-page .listing-hero__eyebrow { line-height: 23.8px; }
}
.people-directory-page .general-navigation {
  grid-column: 1 / -1;
  min-width: 0;
}
.people-directory-page .general-navigation__toggle {
  background: transparent;
  border: 0;
  border-bottom: 2px solid var(--color-ink);
  color: var(--color-ink);
  display: block;
  font-size: 24px;
  font-weight: 500;
  height: 88px;
  letter-spacing: var(--tracking-heading);
  line-height: 26px;
  padding: 30px 20px 30px 0;
  position: relative;
  text-align: left;
  width: 100%;
}
.people-directory-page .general-navigation__toggle::after {
  border-bottom: 2px solid var(--color-ink);
  border-right: 2px solid var(--color-ink);
  content: "";
  height: 8px;
  position: absolute;
  right: 20px;
  top: calc(50% - 6px);
  transform: rotate(45deg);
  transition: transform 180ms ease;
  width: 8px;
}
.people-directory-page .general-navigation.is-open .general-navigation__toggle::after {
  top: calc(50% - 2px);
  transform: rotate(225deg);
}
.people-directory-page .general-navigation ul {
  display: none;
  list-style: none;
  margin: -20px 0 0;
  padding: 0 0 40px;
}
.people-directory-page .general-navigation.is-open ul { display: block; }
.people-directory-page .general-navigation li {
  border-bottom: 1px solid var(--color-stone);
  margin: 0;
}
.people-directory-page .general-navigation a {
  color: var(--color-ink-muted);
  display: block;
  font-size: 16px;
  letter-spacing: var(--tracking-ui);
  line-height: 16px;
  padding: 20px 0;
  text-decoration: none;
}
.people-directory-page .general-navigation a[aria-current="page"] {
  color: var(--color-ink);
  font-weight: 500;
}
.people-directory-page .people-directory__content {
  grid-column: 1 / -1;
  margin-top: 40px;
  min-width: 0;
}
.people-directory-page .directory-section-title {
  border: 0;
  font-family: var(--font-body);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: var(--tracking-heading);
  line-height: 24px;
  margin: 0 0 40px;
  padding: 0;
  text-transform: none;
}
.people-directory-page .people-directory__grid {
  display: block;
}
.people-directory-page .people-directory__batch,
.people-directory-page .people-directory__load {
  column-gap: 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  row-gap: 0;
}
.people-directory-page .people-card {
  display: grid;
  grid-column: span 3;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 40px;
  min-width: 0;
  position: relative;
}
.people-directory-page .people-directory__batch:last-of-type .people-card:last-child { margin-bottom: 0; }
.people-directory-page .people-card__link { grid-column: 1 / -1; }
.people-directory-page .people-card__media {
  aspect-ratio: 4 / 3;
  margin-bottom: 20px;
}
.people-directory-page .people-card__content {
  border: 0;
  padding: 0;
}
.people-directory-page .people-card h3 {
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 20px;
  margin: 0;
}
.people-directory-page .people-card__job-title {
  color: var(--color-ink-muted);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: var(--tracking-body);
  line-height: 28px;
  margin: 5px 0 0;
}
.people-directory-page .people-directory__load-inner { grid-column: span 4; }
.people-directory-page .people-directory__load-more {
	align-items: center;
	background: var(--color-stone);
  border: 0;
  border-radius: 0;
  color: var(--color-ink);
  cursor: pointer;
	display: flex;
  font-family: var(--font-body);
  font-size: 14px;
  height: 54px;
  letter-spacing: var(--tracking-ui);
	line-height: 1;
	margin: 10px auto 0;
	justify-content: center;
	text-decoration: none;
	width: 100%;
}
.people-directory-page .people-directory__load-more[aria-disabled="true"] { pointer-events: none; }

@media (min-width: 48rem) {
  .people-directory-page .people-directory {
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding-inline: 30px;
  }
  .people-directory-page .general-navigation {
    align-self: start;
    grid-column: 1 / span 3;
    position: sticky;
    top: 105px;
  }
  .people-directory-page .general-navigation__toggle { display: none; }
  .people-directory-page .general-navigation ul,
  .people-directory-page .general-navigation.is-open ul { display: block; margin: 0; padding: 0; }
  .people-directory-page .general-navigation li { border: 0; }
  .people-directory-page .general-navigation a {
    color: var(--color-ink);
    font-size: 14px;
    font-weight: 500;
    line-height: 14px;
    margin-left: -30px;
    margin-right: -40px;
    padding: 20px 15px 20px 56.2%;
  }
  .people-directory-page .general-navigation a[aria-current="page"] {
    background: var(--color-ink);
    color: var(--color-paper);
  }
  .people-directory-page .people-directory__content {
    grid-column: 5 / -1;
    margin-top: 0;
  }
  .people-directory-page .directory-section-title {
    font-size: 36px;
    line-height: 36px;
  }
  .people-directory-page .people-directory__batch,
  .people-directory-page .people-directory__load {
    column-gap: 18px;
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .people-directory-page .people-card { grid-column: span 4; }
  .people-directory-page .people-directory__batch:last-of-type .people-card:nth-last-child(2) { margin-bottom: 0; }
  .people-directory-page .people-directory__load-inner { grid-column: span 8; }
  .people-directory-page .people-directory__load-more { width: 224px; }
}

@media (min-width: 64rem) {
  .people-directory-page .people-directory {
    column-gap: 24px;
    margin-bottom: 80px;
    padding-inline: 40px;
  }
  .people-directory-page .general-navigation { top: 145px; }
  .people-directory-page .general-navigation a {
    font-size: 18px;
    line-height: 26px;
    margin-left: -40px;
    margin-right: 0;
    padding-left: 51%;
  }
  .people-directory-page .people-directory__batch,
  .people-directory-page .people-directory__load { column-gap: 24px; }
  .people-directory-page .people-card {
    column-gap: 24px;
    margin-bottom: 60px;
  }
  .people-directory-page .people-card__link { grid-column: span 3; }
  .people-directory-page .people-card__media { margin-bottom: 25px; }
  .people-directory-page .people-card h3 {
    font-size: 24px;
    line-height: 26px;
  }
  .people-directory-page .people-card__job-title {
    font-size: 16px;
    line-height: 24px;
    margin-top: 10px;
  }
  .people-directory-page .people-directory__load-inner { grid-column: span 7; }
  .people-directory-page .people-directory__load-more {
    font-size: 16px;
    height: 66px;
    margin-top: 0;
    width: 282px;
  }
}

@media (min-width: 75rem) {
  .people-directory-page .general-navigation a { padding-left: 48.5%; }
}

/* Source: 160-footer.css */
/* ===== Folded from 10-shared-components.css (cascade order preserved) ===== */

.footer-menu a {
  font-size: 16px;
  font-weight: 400;
  line-height: 16px;
}

/* ===== Folded from 30-parity-foundation.css (cascade order preserved) ===== */

.site-footer__primary,
.site-footer__secondary {
  display: grid;
  gap: 40px;
}

.site-footer__newsletter-status {
  font-size: 14px;
}

.site-footer__social {
  align-items: center;
  display: flex;
  gap: 24px;
  list-style: none;

  padding: 0;
}

.site-footer__social a {
  align-items: center;
  display: inline-flex;
  font-weight: 700;

  justify-content: center;
  text-decoration: none;
  min-width: 21px;
}

.site-footer__social img {
  display: block;
  height: 20px;
  max-width: 27px;
  width: auto;
}

@media (min-width: 75rem) {
  .footer-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 36px;
  }

  .site-footer__secondary {
    align-items: end;
    justify-content: space-between;
    margin-top: 30px;
  }
}

/* ===== Original 160-footer.css ===== */

/* Global footer parity. */
.site-footer {
  background: var(--color-paper);
  border-top: 2px solid var(--color-ink);
  color: var(--color-ink);
  padding: 50px 0 25px;
}
.site-footer__primary,
.site-footer__secondary {
  gap: 0;
}
.site-footer__primary {
  display: block;
}
.site-footer__navigation-column {
  margin-bottom: 50px;
}
.site-footer__brand {
  line-height: 0;
  margin-bottom: 30px;
}
.site-footer__brand img {
  display: block;
  width: 68px;
}
.footer-menu {
  display: block;
  gap: 0;
  line-height: 16px;
  margin: 0;
  padding: 0;
}
.footer-menu li,
.footer-menu a {
  letter-spacing: var(--tracking-ui);
  line-height: 16px;
}
.footer-menu a {
  display: inline-block;
  height: 16px;
  text-decoration: none;
  vertical-align: top;
}
.footer-menu li:not(:last-child) {
  margin-bottom: 30px;
}
.site-footer__newsletter h2 {
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 500;
  line-height: 20px;
  margin: 0 0 12px;
}
.site-footer__newsletter form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.site-footer__newsletter input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--color-ink);
  border-radius: 0;
  color: var(--color-ink);
  font-size: 15px;
  height: 43px;
  line-height: 18px;
  padding: 12px 0;
  width: 100%;
}
.site-footer__newsletter button {
  align-items: center;
  background: transparent;
  border: 0;
  display: flex;
  justify-self: start;
  font-size: 15px;
  font-weight: 500;
  height: 42px;
  line-height: 18px;
  padding: 12px 0;
  width: 100%;
}
.site-footer__newsletter button span {
  font-size: 18px;
  line-height: 13px;
  margin-left: 6px;
}
.site-footer__secondary {
  display: flex;
  flex-direction: column;
  margin-top: 0;
}
.site-footer__social {
  height: 20px;
  margin: 40px 0;
  order: 1;
}
.site-footer__social a { height: 20px; }
.site-footer__copyright {
  font-size: 12px;
  line-height: 14px;
  margin: 0;
  order: 2;
}

@media (min-width: 48rem) {
  .site-footer__primary {
    display: grid;
    gap: 0 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .site-footer__navigation-column,
  .site-footer__newsletter {
    grid-column: 2 / span 10;
  }
  .site-footer__navigation-column {
    margin-bottom: 50px;
  }
  .site-footer__brand {
    margin-bottom: 40px;
  }
  .site-footer__brand img {
    margin-inline: auto;
    width: 100px;
  }
  .footer-menu {
    display: flex;
    justify-content: center;
  }
  .footer-menu li,
  .footer-menu a {
    font-size: 14px;
    line-height: 22px;
  }
  .footer-menu a { height: 22px; }
  .footer-menu li:not(:last-child) {
    margin-bottom: 0;
    margin-right: 42px;
  }
  .site-footer__newsletter {
    display: grid;
    gap: 0 18px;
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .site-footer__newsletter h2 {
    font-size: 20px;
    grid-column: 1 / span 7;
    line-height: 24px;
    margin-bottom: 21px;
  }
  .site-footer__newsletter form {
    display: grid;
    gap: 0 20px;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) 154px 88px;
  }
  .site-footer__newsletter input,
  .site-footer__newsletter button {
    font-size: 16px;
    height: 49px;
    line-height: 24px;
  }
  .site-footer__newsletter button {
    align-self: start;
    line-height: 18px;
  }
  .site-footer__secondary {
    height: 148px;
  }
  .site-footer__social {
    margin: 50px 0;
  }
  .site-footer__copyright {
    height: 28px;
  }
}

/* Large-desktop tier (formerly 210-footer-wide.css). */
@media (min-width: 64rem) {
  .site-footer {
    padding: 40px 0;
  }
  .site-footer__primary {
    gap: 0 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .site-footer__navigation-column,
  .site-footer__newsletter {
    grid-column: auto;
  }
  .site-footer__navigation-column {
    margin-bottom: 30px;
  }
  .site-footer__brand {
    margin-bottom: 40px;
  }
  .site-footer__brand img {
    margin-inline: 0;
    width: 145px;
  }
  .footer-menu {
    height: 30px;
    justify-content: flex-start;
  }
  .footer-menu li,
  .footer-menu a {
    font-size: 16px;
    line-height: 16px;
  }
  .footer-menu a { height: 16px; }
  .footer-menu li:not(:last-child) {
    margin-right: 36px;
  }
  .site-footer__newsletter {
    display: block;
  }
  .site-footer__newsletter h2 {
    font-size: 24px;
    line-height: 26px;
    margin-bottom: 40px;
    max-width: 437px;
  }
  .site-footer__newsletter form {
    gap: 0 20px;
    grid-template-columns: minmax(0, 1fr) 150px 97.3px;
  }
  .site-footer__newsletter input,
  .site-footer__newsletter button {
    font-size: 20px;
    height: 49px;
    line-height: 20px;
  }
  .site-footer__newsletter button {
    font-size: 18px;
  }
  .site-footer__secondary {
    display: grid;
    gap: 0 74.8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: 36px;
  }
  .site-footer__copyright {
    font-size: 14px;
    height: 36px;
    line-height: 18px;
    order: 1;
    grid-column: 1;
  }
  .site-footer__social {
    justify-content: flex-end;
    margin: 16px 0 0;
    order: 2;
    width: 100%;
    grid-column: 2;
  }
}

/* Source: 170-long-form.css */
/* Reusable long-form landing composition. Legacy basic landing pages use a
 * centered reading column rather than stretching editor content site-wide. */
.general-page--reading-layout .general-page__body {
  padding: 50px 0;
}
.general-page--reading-layout .general-page__grid {
  display: grid;
  gap: 0 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-inline: 12px;
}
.general-page--reading-layout .general-page__content {
  grid-column: 1 / -1;
}
.general-page--reading-layout .general-page__copy,
.general-page--reading-layout .general-page__copy p,
.general-page--reading-layout .general-page__copy ul,
.general-page--reading-layout .general-page__copy ol,
.general-page--reading-layout .general-page__copy span {
  color: var(--color-ink-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: var(--tracking-body) !important;
  line-height: 20px !important;
}

@media (min-width: 48rem) {
  .general-page--reading-layout .general-page__body {
    padding: 50px 0 60px;
  }
  .general-page--reading-layout .general-page__grid {
    gap: 0 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding-inline: 30px;
  }
  .general-page--reading-layout .general-page__content {
    grid-column: 5 / span 7;
  }
  .general-page--reading-layout .general-page__copy,
  .general-page--reading-layout .general-page__copy p,
  .general-page--reading-layout .general-page__copy ul,
  .general-page--reading-layout .general-page__copy ol,
  .general-page--reading-layout .general-page__copy span {
    font-size: 16px !important;
    line-height: 24px !important;
  }
}

@media (min-width: 80rem) {
  .general-page--reading-layout .general-page__body {
    padding: 60px 0 80px;
  }
  .general-page--reading-layout .general-page__grid {
    gap: 0 24px;
    padding-inline: 40px;
  }
  .general-page--reading-layout .general-page__content {
    grid-column: 5 / span 6;
  }
  .general-page--reading-layout .general-page__copy,
  .general-page--reading-layout .general-page__copy p,
  .general-page--reading-layout .general-page__copy ul,
  .general-page--reading-layout .general-page__copy ol,
  .general-page--reading-layout .general-page__copy span {
    font-size: 20px !important;
    line-height: 28px !important;
  }
}

/* Source: 180-media-detail.css */
/*
 * Taxonomy-driven media-episode article family.
 *
 * Podcast and digital-series articles share one structural contract: a lead
 * excerpt plus playable media, followed by optional prose, people, gallery,
 * and related modules. Variants only change the lead-media arrangement.
 */
.article-lead {
  background: var(--color-ink);
  color: var(--color-paper);
  padding: 40px 0 50px;
}

.article-lead--mint {
  background: var(--color-mint);
  color: var(--color-ink);
}

.article-lead--blue {
  background: var(--color-blue);
  color: var(--color-ink);
}

.article-lead--shell {
  background: var(--color-blush);
  color: var(--color-ink);
}

.article-lead__grid {
  display: grid;
  gap: 40px 24px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.article-lead__excerpt,
.article-lead__media,
.article-lead__references {
  grid-column: 1 / -1;
  min-width: 0;
}

.article-lead__excerpt {
  color: color-mix(in srgb, currentColor 70%, transparent);
  font-size: 16px;
  letter-spacing: var(--tracking-body);
  line-height: 24px;
}

.article-lead__excerpt > :first-child { margin-top: 0; }
.article-lead__excerpt > :last-child { margin-bottom: 0; }

.article-lead__media {
  grid-row: 1;
}

.article-lead__media iframe {
  max-width: 100%;
}

.article-lead--digital-series .article-lead__media,
.article-lead--digital-series .article-lead__media iframe {
  aspect-ratio: 16 / 9;
}

.article-lead--digital-series .article-lead__media iframe {
  display: block;
  height: auto;
  width: 100%;
}

.article-lead--digital-series .article-lead__media {
  aspect-ratio: auto;
  border-top: 2px solid currentColor;
  padding-top: 20px;
}

.article-lead--digital-series .article-lead__excerpt {
  grid-row: 2;
}

.article-lead__references {
  display: grid;
  gap: 30px;
  grid-template-columns: minmax(0, 1fr);
}

.article-lead__references h2 {
  font-family: var(--font-display);
  font-size: 40px;
  font-weight: 500;
  line-height: 42px;
  margin: 0;
  text-transform: uppercase;
}

.article-lead__references ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.article-lead__references li {
  border-top: 2px solid currentColor;
}

.article-lead__references a {
  display: flex;
  font-size: 18px;
  font-weight: 500;
  justify-content: space-between;
  line-height: 20px;
  padding: 20px 0;
  text-decoration: none;
}

.article-detail--media-episode .article-body {
  row-gap: 40px;
}

.article-detail .article-sidebar {
  display: none;
}

.article-mobile-share {
  min-height: 180px;
  padding-block: 40px;
}

.article-mobile-share .article-share {
  width: 98px;
}

.article-detail--media-episode .article-hero__eyebrow {
  line-height: 13px;
}

.article-detail--media-episode .article-content:empty {
  display: none;
}

.article-gallery:not(.article-gallery--empty) {
  --article-gallery-slide: calc(100vw - 24px);
  --article-gallery-controls: var(--article-gallery-slide);
  --article-gallery-offset: 55px;
  background: linear-gradient(
    to bottom,
    var(--color-paper) 0,
    var(--color-paper) var(--article-gallery-offset),
    var(--color-ink) var(--article-gallery-offset),
    var(--color-ink) 100%
  );
  height: auto;
  max-width: none;
  overflow: hidden;
  padding: 0 0 30px;
  position: relative;
}

.article-gallery:not(.article-gallery--empty) .article-gallery__track {
  gap: 24px;
  grid-auto-columns: var(--article-gallery-slide);
  padding: 0 max(12px, calc((100vw - var(--article-gallery-slide)) / 2));
  position: relative;
  scrollbar-width: none;
  z-index: 1;
}

.article-gallery:not(.article-gallery--empty) .article-gallery__track::-webkit-scrollbar {
  display: none;
}

.article-gallery:not(.article-gallery--empty) .article-gallery__item {
  scroll-snap-align: center;
}

.article-gallery:not(.article-gallery--empty) .article-gallery__image {
  aspect-ratio: 996 / 535;
  height: auto;
  margin-inline: auto;
  max-width: 996px;
}

.article-gallery:not(.article-gallery--empty) figcaption {
  color: var(--color-paper);
  font-size: 12px;
  line-height: 18px;
  margin: 12px auto 0;
  max-width: 996px;
  min-height: 54px;
  padding-inline: 12px;
}

.article-gallery__controls {
  position: relative;
  z-index: 1;
}

.article-gallery__arrows {
  display: flex;
  height: 54px;
  justify-content: center;
  margin-inline: auto;
  position: relative;
  width: var(--article-gallery-controls);
}

.article-gallery__arrow {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: var(--color-paper);
  display: flex;
  font-size: 0;
  height: 54px;
  justify-content: center;
  padding: 0;
  width: 54px;
}

.article-gallery__arrow::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 20px;
  width: 12px;
}

.article-gallery__arrow--previous::before {
  background-image: url("../images/icons/gallery-previous.svg");
}

.article-gallery__arrow--next::before {
  background-image: url("../images/icons/gallery-next.svg");
}

.article-gallery__dots {
  align-items: center;
  border-top: 2px solid var(--color-paper);
  display: flex;
  gap: 20px;
  height: 52px;
  justify-content: center;
  list-style: none;
  margin: 47px auto 0;
  padding: 20px 0 0;
  width: var(--article-gallery-controls);
}

.article-gallery__dots button {
  background: #838383;
  border: 0;
  border-radius: 50%;
  color: transparent;
  font-size: 0;
  height: 8px;
  padding: 0;
  width: 8px;
}

.article-gallery__dots button[aria-current="true"] {
  background: var(--color-blue);
}

@media (min-width: 48rem) {
	.article-mobile-share {
		display: none;
	}

  .article-lead {
    padding: 40px 0 60px;
  }

  .article-lead__grid {
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    row-gap: 40px;
  }

  .article-lead--digital-series .article-lead__media {
    aspect-ratio: auto;
    border-top: 0;
    grid-column: 1 / span 8;
    grid-row: 1;
    padding-top: 0;
  }

  .article-lead--digital-series .article-lead__excerpt {
    border-top: 2px solid currentColor;
    grid-column: 9 / span 4;
    grid-row: 1;
    margin: 0;
    padding-top: 20px;
  }

  .article-lead--podcast .article-lead__excerpt {
    grid-column: 5 / span 6;
  }

  .article-lead--podcast .article-lead__grid {
    row-gap: 0;
  }

  .article-lead--podcast .article-lead__media {
    grid-column: 2 / span 10;
    grid-row: auto;
    margin-bottom: 80px;
  }

  .article-lead__references {
    grid-column: 2 / span 10;
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  .article-lead__references h2 { grid-column: 1 / span 3; }
  .article-lead__references ul { grid-column: 4 / span 7; }

  .article-detail--media-episode .article-body {
    margin-top: 60px;
    row-gap: 60px;
  }

  .article-detail .article-sidebar {
    display: block;
  }

  .article-detail--media-episode .article-hero__eyebrow {
    line-height: 14px;
  }

  .article-detail--media-episode .article-sidebar .article-share {
    margin-top: 0;
    width: 98px;
  }

  .article-detail--media-episode .article-content {
    grid-column: 5 / span 6;
  }

  .article-lead--digital-series .article-lead__media iframe {
    aspect-ratio: 466 / 347;
  }

  .article-gallery:not(.article-gallery--empty) {
    --article-gallery-slide: calc(100vw - 178px);
    --article-gallery-controls: var(--article-gallery-slide);
    --article-gallery-offset: 60px;
  }

  .article-gallery:not(.article-gallery--empty) .article-gallery__track {
    gap: 0;
  }

  .article-gallery:not(.article-gallery--empty) .article-gallery__image {
    transform: scale(0.9);
    transition: transform 360ms ease;
  }

  .article-gallery:not(.article-gallery--empty) .article-gallery__item.is-current .article-gallery__image {
    transform: scale(1);
  }

  .article-gallery:not(.article-gallery--empty) figcaption {
    font-size: 14px;
    line-height: 22px;
    margin-top: 20px;
    min-height: 44px;
    padding-right: 150px;
  }

  .article-gallery__arrows {
    justify-content: flex-end;
  }
}

@media (min-width: 80rem) {
  .article-gallery:not(.article-gallery--empty) {
    --article-gallery-slide: calc(100vw - 408px);
    --article-gallery-offset: 80px;
  }

  .article-gallery:not(.article-gallery--empty) figcaption {
    font-size: 16px;
    line-height: 24px;
    margin-top: 30px;
    min-height: 48px;
    padding-inline: 0;
  }

}

@media (min-width: 90rem) {
  .article-gallery:not(.article-gallery--empty) {
    --article-gallery-slide: calc(100vw - 500px);
    --article-gallery-controls: min(calc(100vw - 600px), 996px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .article-gallery:not(.article-gallery--empty) .article-gallery__image {
    transition: none;
  }
}

@media (min-width: 75rem) {
  .article-lead {
    padding: 80px 0;
  }

  .article-lead__grid {
    column-gap: 24px;
  }

  .article-lead--digital-series .article-lead__media {
    aspect-ratio: 899 / 505;
  }

  .article-lead--digital-series .article-lead__media iframe {
    aspect-ratio: 16 / 9;
  }

  .article-lead__excerpt {
    font-size: 20px;
    line-height: 28px;
  }

  .article-lead--digital-series .article-lead__excerpt {
    padding-top: 25px;
  }

  .article-lead--podcast {
    padding-bottom: 50px;
  }

  .article-lead--podcast .article-lead__excerpt {
    margin-bottom: 40px;
  }

  .article-lead__references h2 {
    font-size: 70px;
    line-height: 60px;
    text-align: right;
  }

  .article-lead__references a {
    font-size: 24px;
    line-height: 28px;
    padding: 30px 0;
  }

  .article-detail--media-episode .article-body {
    margin-top: 80px;
  }

  .article-detail--media-episode .article-hero__eyebrow {
    line-height: 15px;
  }

  .article-gallery:not(.article-gallery--empty) {
    padding-bottom: 70px;
  }
}

/* Source: 190-header.css */
/* ===== Folded from 00-foundation.css (cascade order preserved) ===== */

.site-header {
  background: rgba(255, 255, 255, 0.97);
  position: sticky;
  top: 0;
  transition: box-shadow 180ms ease;
  z-index: 100;
}

.site-header__inner {
  align-items: center;
  display: grid;

}

.site-branding__link {
  display: block;
  line-height: 0;
  width: fit-content;
}

.site-branding__logo {
  display: block;

}

.menu-toggle,
.search-toggle,
.submenu-toggle,
.site-search__close {
  background: transparent;
  border: 0;
  color: inherit;
}

.menu-toggle {
  align-items: center;
  display: inline-flex;
  gap: 0.5rem;

}

.menu-toggle__icon,
.menu-toggle__icon::before,
.menu-toggle__icon::after {
  background: currentColor;
  content: "";
  display: block;
  height: 2px;
  position: relative;
  width: 1.5rem;
}

.menu-toggle__icon::before {
  position: absolute;
  top: -0.45rem;
}

.menu-toggle__icon::after {
  position: absolute;
  top: 0.45rem;
}

.primary-navigation {
  background: var(--color-paper);
  display: none;

  overflow: auto;
  padding: 1rem var(--site-gutter) 4rem;
  position: fixed;
}

.primary-navigation.is-open {
  display: block;
}

.primary-menu a {
  display: inline-block;
  font-family: var(--font-display);
  font-size: var(--fs-h1-fluid);
  line-height: 1;
  padding-block: 0.75rem;
  text-decoration: none;
  text-transform: uppercase;
}

.primary-menu > li {
  border-top: 2px solid var(--color-ink);
  position: relative;
}

.primary-menu .sub-menu {
  display: none;
  padding: 0 0 1rem 1rem;
}

.primary-menu .submenu-is-open > .sub-menu {
  display: block;
}

.primary-menu .sub-menu a {
  font-family: var(--font-body);
  font-size: 1.1rem;
  font-weight: 500;
  text-transform: none;
}

.submenu-toggle {
  font-size: 1.5rem;
  padding: 0.75rem;
  position: absolute;
  right: 0;
  top: 0.4rem;
}

.submenu-is-open > .submenu-toggle {
  transform: rotate(180deg);
}

.site-header__actions {
  align-items: center;
  display: flex;
  gap: 0.5rem;
}

.site-header__actions .button {
  display: none;
}

.site-search {
  color: var(--color-ink);
  min-width: 0;
}

.site-search__close {
  flex: 0 0 auto;

  line-height: 1;
}

/* ===== Folded from 10-shared-components.css (cascade order preserved) ===== */

@media (min-width: 64rem) {

  .menu-toggle {
    display: none;
  }

  .primary-navigation {
    background: transparent;

    overflow: visible;
    padding: 0;

  }

  .primary-menu {
    align-items: center;
    display: flex;
    justify-content: center;
  }

  .primary-menu > li {
    border: 0;

  }

  .primary-menu a {
    font-family: var(--font-body);

    font-weight: 500;
    padding: 0;
    text-transform: none;
  }

  .primary-menu .sub-menu {
    background: var(--color-rust);
    color: var(--color-paper);
    left: 0;
    min-width: 15rem;
    padding: 1rem;
    position: absolute;
    top: 100%;
  }

  .primary-menu li:hover > .sub-menu,
  .primary-menu li:focus-within > .sub-menu,
  .primary-menu .submenu-is-open > .sub-menu {
    display: block;
  }

  .primary-menu .sub-menu .sub-menu {
    left: 100%;
    top: -1rem;
  }

  .primary-menu .sub-menu a {
    display: block;
    padding: 0.5rem;
  }

  .submenu-toggle {
    display: none;
  }

  .site-header__actions .button {
    display: inline-flex;
  }
}

/* ===== Folded from 30-parity-foundation.css (cascade order preserved) ===== */

body {
  padding-top: var(--header-height);
}

.site-header {
  background: var(--color-paper);
  border-bottom: 0;
  position: fixed;
  width: 100%;
}

.site-header__inner {
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto auto;
  min-height: var(--header-height);
  padding-block: 20px;
  position: relative;
  transition: min-height 250ms ease, padding 250ms ease;
}

.site-header.has-scrolled .site-header__inner {
  min-height: var(--header-height-scrolled);
  padding-block: 15px;
}

.site-branding {
  align-items: flex-end;
  display: flex;
  min-width: 0;
}

.site-branding__logo {
  height: auto;
  max-height: none;
  transition: width 250ms ease;
  width: 67px;
}

.site-branding__logo--mobile-menu {
  aspect-ratio: 145 / 65;
  background: linear-gradient(90deg, #f00000 0%, #ff8a00 20%, #ffe900 39%, #008f48 60%, #0057ff 80%, #6814a8 100%);
  display: none;
  -webkit-mask: url("../images/reboot-logo.svg") center / contain no-repeat;
  mask: url("../images/reboot-logo.svg") center / contain no-repeat;
}

.site-branding__tagline {
  font-size: 12px;
  line-height: 12px;
  margin: 0 0 0 15px;
  white-space: nowrap;
}

.menu-toggle {
  grid-column: 3;
  padding: 0;
}

.menu-toggle__label {
  display: none;
}

.menu-toggle__icon,
.menu-toggle__icon::before,
.menu-toggle__icon::after {
  height: 3px;
  width: 26px;
}

.site-header__actions {
  grid-column: 2;
  grid-row: 1;
}

.search-toggle {
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='22' viewBox='0 0 20 22' fill='none'%3E%3Cpath d='M15.696 8.636c0 4.249-3.322 7.635-7.348 7.635C4.32 16.271 1 12.885 1 8.636 1 4.386 4.321 1 8.348 1c4.026 0 7.348 3.386 7.348 7.636Z' stroke='%232B261E' stroke-width='2'/%3E%3Cpath d='m19.305 20-6.048-6.255' stroke='%232B261E' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
  font-size: 0;
  height: 22px;
  padding: 0;
  width: 20px;
}

.site-search {
  grid-column: 1 / 3;
  grid-row: 1;
  width: 100%;
}

.site-search .search-form {
  align-items: center;
  background: var(--color-stone);
  gap: 0;
  height: 40px;
}

.site-search .search-field {
  background: transparent;
  color: var(--color-gray);
  font-size: 16px;
  height: 40px;
  line-height: 20px;
  padding: 0 20px;
}

.site-search .search-field:focus {
  box-shadow: none;
  outline: 0;
}

.site-search__close {
  align-items: center;
  display: inline-flex;
  font-size: 30px;
  height: 40px;
  justify-content: center;
  padding: 0;
  width: 42px;
}

body.has-open-search .site-branding,
body.has-open-search .site-header__actions,
body.has-open-search .primary-navigation {
  display: none;
}

.primary-navigation {
  inset: var(--header-height) 0 0;
}

body.has-open-menu .site-branding__tagline,
body.has-open-menu .search-toggle {
  display: none;
}

body.has-open-menu .site-branding__logo--default {
  display: none;
}

body.has-open-menu .site-branding__logo--mobile-menu {
  display: block;
}

body.has-open-menu .site-header__actions .button {
  display: inline-flex;
  min-height: 30px;
  padding: 0 15px;
}

body.has-open-menu .menu-toggle__icon {
  background: transparent;
}

body.has-open-menu .menu-toggle__icon::before,
body.has-open-menu .menu-toggle__icon::after {
  top: 0;
}

body.has-open-menu .menu-toggle__icon::before {
  transform: rotate(45deg);
}

body.has-open-menu .menu-toggle__icon::after {
  transform: rotate(-45deg);
}

body.has-open-menu .primary-navigation {
  padding-top: 72px;
}

body.has-open-menu .primary-menu > li {
  padding-right: 44px;
}

body.has-open-menu .primary-menu a {
  font-size: 40px;
  line-height: 40px;
}

body.has-open-menu .submenu-toggle {
  font-size: 0;
  height: 42px;
  top: 7px;
  width: 44px;
}

body.has-open-menu .submenu-toggle::after {
  content: "→";
  font-family: var(--font-body);
  font-size: 40px;
  line-height: 36px;
}

@media (min-width: 48rem) {
  .site-header__inner {
    padding-block: 30px;
  }

  .site-header.has-scrolled .site-header__inner {
    padding-block: 20px;
  }

  .site-branding__logo {
    width: 100px;
  }
}

@media (min-width: 64rem) {
  .site-header__inner {
    gap: 24px;

    padding-block: 30px;
  }

  .site-header.has-scrolled .site-header__inner {
    padding-block: 25px;
  }

  .site-branding {
    align-items: flex-start;
    flex-direction: column;
  }

  .site-branding__logo {
    width: 145px;
  }

  .site-header.has-scrolled .site-branding__logo {
    width: 112px;
  }

  .site-branding__tagline {
    font-size: 14px;
    line-height: 11px;
    margin: 20px 0 0;
  }

  .primary-navigation {
    grid-column: 2;
    grid-row: 1;
  }

  .site-header__actions {
    grid-column: 3;

  }

  .site-search {
    grid-column: auto;
    grid-row: auto;
    inset-inline: calc(var(--site-gutter) + 231px) var(--site-gutter);
    position: absolute;
    top: 30px;
    width: auto;
  }

  .site-header.has-scrolled .site-search {
    top: 25px;
  }

  .site-search .search-form,
  .site-search .search-field,
  .site-search__close {
    height: 60px;
  }

  .site-search .search-field {
    font-size: 18px;
  }

  .site-search__close {
    width: 60px;
  }

  body.has-open-search .site-branding {
    display: flex;
  }

  body.has-open-menu .site-branding__tagline {
    display: block;
  }

  .primary-menu a {
    font-size: 18px;
    line-height: 16px;
  }
}

/* ===== Original 190-header.css ===== */

/* Header parity: mirror the legacy desktop dropdowns and mobile drill-in menu. */
.site-header__inner::after {
  background: var(--color-ink);
  bottom: 0;
  content: "";
  height: 2px;
  left: var(--site-gutter);
  position: absolute;
  right: var(--site-gutter);
}

.menu-toggle {
  cursor: pointer;
  height: 44px;
  justify-content: flex-end;
  margin-block: -13px;
  width: 44px;
}

.menu-toggle__icon,
.menu-toggle__icon::before,
.menu-toggle__icon::after {
  transition: background-color 180ms ease, top 220ms ease, transform 250ms ease;
}

body.has-open-menu .site-header__inner::after {
  opacity: 0;
}

body.has-open-menu .menu-toggle__icon,
body.has-open-menu .menu-toggle__icon::before,
body.has-open-menu .menu-toggle__icon::after {
  width: 20px;
}

.submenu-heading {
  display: none;
}

@media (max-width: 63.999rem) {
  .primary-navigation {
    display: block;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: opacity 250ms ease, transform 250ms ease, visibility 0s linear 250ms;
    visibility: hidden;
  }

  .primary-navigation.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: none;
    transition-delay: 0s;
    visibility: visible;
  }

  body.has-open-menu .site-header__actions {
    bottom: auto;
    display: block;
    position: absolute;
    right: 93px;
    top: 4px;
  }

  body.has-open-menu .site-header__actions .button {
    font-size: 14px;
    height: 30px;
    line-height: 14px;

  }

  body.has-open-menu .menu-toggle {
    justify-content: center;
    position: relative;
    z-index: 2;
  }

  body.has-open-menu .primary-menu > li {
    height: 80px;
    padding: 8px 0 30px;
  }

  body.has-open-menu .primary-menu > li > a {
    display: block;
    font-weight: 500;
    height: 40px;
    padding: 0;
    width: 100%;
  }

  body.has-open-menu .primary-menu > li > .submenu-toggle {
    background: transparent url("../images/icons/arrow.svg") center / 44px 30px no-repeat;
    height: 44px;
    padding: 0;
    right: 0;
    top: 7px;
    transition: transform 180ms ease;
    width: 44px;
  }

  body.has-open-menu .submenu-toggle::after {
    content: none;
  }

  .primary-menu .sub-menu {
    background: var(--color-paper);
    bottom: 0;
    column-gap: 50px;
    display: grid;
    grid-auto-rows: 60px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 158px;
    left: var(--site-gutter);
    opacity: 1;
    overflow: auto;
    padding: 0;
    position: fixed;
    right: var(--site-gutter);
    top: 58px;
    transform: translateX(calc(100% + var(--site-gutter)));
    transition: transform 250ms linear, visibility 0s linear 250ms;
    visibility: hidden;
    z-index: 4;
  }

  .primary-menu .submenu-is-open > .sub-menu {
    display: grid;
    transform: none;
    transition-delay: 0s;
    visibility: visible;
  }

  .primary-menu .sub-menu > li:not(.submenu-heading) {
    border: 0;
    min-width: 0;
    padding: 0;
    position: relative;
  }

  .primary-menu .sub-menu > li:not(.submenu-heading) > a {
    display: block;
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 500;
    line-height: 20px;
    padding: 20px 0;
    text-transform: none;
  }

  .primary-menu .sub-menu > li > .submenu-toggle {
    background: transparent url("../images/icons/arrow.svg") center / 22px 15px no-repeat;
    height: 44px;
    padding: 0;
    right: 0;
    top: 8px;
    width: 30px;
  }

  .submenu-heading {
    display: block;
    grid-column: 1 / -1;
    height: 158px;
    padding-top: 30px;
  }

  .submenu-back {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--color-ink-muted);
    cursor: pointer;
    display: flex;
    font: 16px/26px "Suisse Intl", sans-serif;
    gap: 9px;
    height: 26px;
    padding: 0;
  }

  .submenu-back span {
    color: var(--color-ink);
    font-size: 28px;
    line-height: 20px;
  }

  .submenu-heading__title {
    border-top: 2px solid var(--color-ink);
    color: inherit;
    display: block;
    font: 500 42px/40px "Druk", sans-serif;
    margin-top: 29px;
    padding-top: 8px;
    text-decoration: none;
    text-transform: uppercase;
  }
}

@media (min-width: 64rem) {
  .site-header__inner {
    grid-template-columns: 322px minmax(0, 1fr) 206.672px;
  }

  .primary-navigation {
    align-items: center;
    display: flex;
    height: 100%;
    inset: auto;
    justify-content: center;
    position: relative;
    z-index: 1;
  }

  .primary-menu {
    margin-left: 22.5px;
    width: auto;
  }

  .primary-menu > li {
    height: 68px;
    line-height: 16px;
    padding: 26px 22.5px;
  }

  .primary-menu > li > a {
    align-items: center;
    color: var(--color-ink);
    display: inline-flex;
    letter-spacing: var(--tracking-ui);
    transition: color 250ms ease;
  }

  .primary-menu > .menu-item-has-children > a::after {
    background: currentColor;
    content: "";
    display: flex;
    height: 8px;
    margin-left: 10px;
    -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.41.295 6 4.875 10.59.295 12 1.705 6 7.705 0 1.705 1.41.295Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.41.295 6 4.875 10.59.295 12 1.705 6 7.705 0 1.705 1.41.295Z'/%3E%3C/svg%3E") center / contain no-repeat;
    transform-origin: center;
    transition: transform 250ms ease;
    width: 11px;
  }

  .primary-menu > .menu-item-has-children:hover > a,
  .primary-menu > .menu-item-has-children:focus-within > a,
  .primary-menu > .menu-item-has-children.submenu-is-open > a {
    color: var(--color-rust-hover);
  }

  .primary-menu > .menu-item-has-children:hover > a::after,
  .primary-menu > .menu-item-has-children:focus-within > a::after,
  .primary-menu > .menu-item-has-children.submenu-is-open > a::after {
    transform: rotate(180deg);
  }

  .primary-menu > li > .sub-menu {
    background: var(--color-rust-hover);
    column-gap: 50px;
    display: grid;
    grid-auto-rows: 46px;
    grid-template-columns: max-content max-content;
    min-width: 240px;
    opacity: 0;
    padding: 25px;
    pointer-events: none;
    row-gap: 0;
    transform: translateY(8px);
    transition: opacity 250ms ease, transform 250ms ease, visibility 0s linear 250ms;
    visibility: hidden;
    width: max-content;
  }

  .primary-menu > li > .sub-menu.submenu-has-nested {
    height: 289px;
    min-width: 325px;
    width: 325px;
  }

  .primary-menu > li:hover > .sub-menu,
  .primary-menu > li:focus-within > .sub-menu,
  .primary-menu > li.submenu-is-open > .sub-menu {
    display: grid;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    transition-delay: 0s;
    visibility: visible;
  }

  .primary-menu > li > .sub-menu > li {
    min-width: 0;
    position: relative;
  }

  .primary-menu > li > .sub-menu > li > a {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: var(--tracking-ui);
    line-height: 16px;
    overflow: visible;
    padding: 15px 0;
    white-space: nowrap;
  }

  .primary-menu > li > .sub-menu > .menu-item-has-children > a {
    align-items: center;
    display: flex;
  }

  .primary-menu > li > .sub-menu > .menu-item-has-children > a::after {
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 18.03 1.78 19.8l9.89-9.9-9.9-9.9L0 1.77 8.13 9.9 0 18.03Z' fill='%23fff'/%3E%3C/svg%3E") center / contain no-repeat;
    content: "";
    display: block;
    flex: 0 0 8px;
    height: 13px;
    margin-left: 8px;
    width: 8px;
  }

  .primary-menu > li > .sub-menu > .menu-item-has-children > .sub-menu {
    display: none;
  }

  .primary-menu > li > .sub-menu.submenu-has-drilldown {
    display: block;
    padding: 0;
  }

  .primary-menu > li > .sub-menu.submenu-has-drilldown > li:not(.submenu-is-open) {
    display: none;
  }

  .primary-menu > li > .sub-menu.submenu-has-drilldown > .submenu-is-open {
    display: block;
    position: static;
  }

  .primary-menu > li > .sub-menu.submenu-has-drilldown > .submenu-is-open > a,
  .primary-menu > li > .sub-menu.submenu-has-drilldown > .submenu-is-open > .submenu-toggle {
    display: none;
  }

  .primary-menu > li > .sub-menu.submenu-has-drilldown > .submenu-is-open > .sub-menu {
    background: transparent;
    display: block;
    left: 0;
    max-width: 100%;
    min-width: 0;
    opacity: 1;
    padding: 25px;
    pointer-events: auto;
    position: absolute;
    top: 0;
    transform: none;
    visibility: visible;
    width: max-content;
  }

  .primary-menu > li > .sub-menu.submenu-has-drilldown .submenu-heading {
    align-items: flex-start;
    border-bottom: 2px solid var(--color-paper);
    display: flex;
    height: 40px;
    margin: 0 0 15px;
    padding: 0 0 22px;
  }

  .primary-menu > li > .sub-menu.submenu-has-drilldown .submenu-back {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--color-paper);
    display: flex;
    font: 500 18px/16px "Suisse Intl", sans-serif;
    gap: 8px;
    padding: 0 15px 0 0;
    position: relative;
  }

  .primary-menu > li > .sub-menu.submenu-has-drilldown .submenu-back::after {
    background: var(--color-paper);
    content: "";
    height: 16px;
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
  }

  .primary-menu > li > .sub-menu.submenu-has-drilldown .submenu-back span {
    font-size: 24px;
    line-height: 12px;
  }

  .primary-menu > li > .sub-menu.submenu-has-drilldown .submenu-heading__title {
    border: 0;
    color: var(--color-paper);
    display: flex;
    font: 500 18px/16px "Suisse Intl", sans-serif;
    margin: 0 0 0 15px;
    padding: 0;
    position: relative;
    text-decoration: none;
    text-transform: none;
  }

  .primary-menu > li > .sub-menu.submenu-has-drilldown .submenu-heading__title::after {
    background: var(--color-paper);
    bottom: -6px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
  }

  .primary-menu > li > .sub-menu.submenu-has-drilldown .submenu-is-open > .sub-menu > li:not(.submenu-heading) > a {
    display: flex;
    font: 400 18px/16px "Suisse Intl", sans-serif;
    letter-spacing: var(--tracking-ui);
    padding: 15px 0;
    white-space: nowrap;
  }

  .site-header__actions {
    gap: 0;
    justify-content: space-between;
    width: 206.672px;
  }

  .site-header__actions .button {
    font-size: 18px;
    height: 46px;
    line-height: 16px;
    min-height: 46px;
    padding: 0 30px;
  }
}

@media (min-width: 64rem) and (max-width: 79.999rem) {
  .site-header__inner {
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    padding-inline: 30px;
  }
  .site-header__inner::after {
    left: 30px;
    right: 30px;
  }
  .site-branding { grid-column: 1 / span 3; }
  .primary-navigation { grid-column: 4 / span 7; }
  .site-header__actions {
    grid-column: 11 / span 2;
    width: 100%;
  }
  .primary-menu { margin-left: -15px; }
  .primary-menu > li { padding-inline: 15px; }
  .primary-menu > li > a { white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  .menu-toggle__icon,
  .menu-toggle__icon::before,
  .menu-toggle__icon::after,
  .primary-navigation,
  .primary-menu .sub-menu,
  .primary-menu > li > a,
  .primary-menu > .menu-item-has-children > a::after {
    transition-duration: 0.01ms !important;
  }
}

/* Source: 200-guest-directory.css */
/* Legacy guest-directory parity. */
.portal-detail--podcasts .listing-hero--portal-detail {
  background: var(--color-blush-tint);
}
/* Guest directories reuse the portal hero geometry, but their legacy
 * mastheads sit on white instead of the podcast shell color. */
.portal-detail--guests .listing-hero--portal-detail {
  background: var(--color-paper);
}
.portal-people--guests .portal-detail__section-title,
.portal-people--guests .portal-person__details {
  display: none;
}
.portal-people--guests .portal-people__grid {
  display: block;
}
.portal-people--guests .portal-people__batch[hidden],
.portal-people--guests .portal-people__load-more[hidden] {
  display: none;
}
.portal-people--guests .portal-person__title-wrapper {
  min-width: 0;
}
.portal-people--guests .portal-person__job-title {
  color: var(--color-ink-muted);
  font-weight: 400;
  letter-spacing: var(--tracking-body);
}
.portal-people--guests .portal-people__load-more {
  background: var(--color-stone);
  border: 0;
  border-radius: 0;
  color: var(--color-ink);
  cursor: pointer;
  display: block;
  font-family: var(--font-body);
  letter-spacing: var(--tracking-ui);
  padding: 0;
}
.portal-people--guests.portal-people--single-batch .portal-person:nth-last-child(-n + 2) {
  margin-bottom: 0;
}

.portal-detail-share {
  margin-top: 50px;
  padding-top: 50px;
}

.portal-people--guests .portal-people__load {
	display: grid;
}

.portal-people--guests .portal-person__job-title {
	margin: 5px 0 0;
}

.portal-people--guests .portal-person h3 {
	font: 18px/20px "Suisse Intl", sans-serif;
	letter-spacing: var(--tracking-ui);
	margin: 0;
	text-transform: none;
}

.portal-people--guests .portal-person__content {
	padding: 0;
}

.portal-people--guests .portal-person__media {
	aspect-ratio: 4 / 3;
	margin: 0 0 20px;
	width: 100%;
}

.portal-people--guests .portal-person {
	border: 0;
	margin: 0 0 40px;
	padding: 0;
}

.portal-people--guests .portal-people__batch {
	display: grid;
}

.portal-detail--guests .portal-detail__content {
	display: block;
}

@media (max-width: 47.999rem) {
  .portal-detail-share { display: none; }
  .portal-detail--digital-series.portal-detail--about > .portal-detail-mobile-navigation--top {
    display: block;
  }
  .portal-detail--digital-series.portal-detail--about .portal-detail__layout {
    display: block;
    margin: 0 0 60px;
    padding: 0 12px;
  }
  .portal-detail--digital-series.portal-detail--about .portal-detail__sidebar {
    display: none;
  }
  .portal-detail--digital-series.portal-detail--about .portal-detail__content {
    display: block;
  }
  .portal-detail--digital-series.portal-detail--about .portal-detail__prose {
    max-width: 342px;
    width: 100%;
  }
  .portal-detail--guests.portal-detail--podcasts .portal-detail-mobile-navigation--bottom {
    margin-top: 50px;
  }
  .portal-detail--guests .listing-hero--portal-detail .listing-hero__eyebrow {
    display: block;
    font-size: 13px;
    line-height: 13px;
    margin-bottom: 10px;
  }
  .portal-detail--guests .listing-hero--portal-detail .listing-hero__eyebrow span { display: block; }
  .portal-detail--guests .listing-hero--portal-detail .listing-hero__eyebrow span + span { margin-top: 5px; }
  .portal-detail--guests .portal-detail__layout {
    display: block;
    margin: 0;
    padding: 0 12px;
  }
  .portal-detail--guests .portal-detail__sidebar { display: none; }
  .portal-people--guests .portal-people__batch {
    column-gap: 24px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .portal-people--guests .portal-person {
    display: block;
    grid-column: span 3;
  }
  .portal-people--guests .portal-person__job-title {
    font-size: 12px;
    line-height: 28px;
  }
  .portal-people--guests .portal-people__load {
    height: 64px;
  }
  .portal-people--guests .portal-people__load-more {
    font-size: 14px;
    height: 54px;
    line-height: 14px;
    margin-top: 10px;
    width: 100%;
  }
}

@media (min-width: 48rem) {
  .portal-detail--digital-series.portal-detail--about .portal-detail__layout {
    margin-bottom: 0;
  }
  .portal-detail-platforms .portal-platforms .button {
    height: 54px;
    min-height: 54px;
    padding-block: 0;
  }
  .portal-detail--digital-series .portal-detail-platforms .portal-platforms .button {
    margin-right: -40px;
    width: calc(100% + 40px);
  }
  .portal-detail--guests .listing-hero--portal-detail .listing-hero__eyebrow {
    display: flex;
    justify-content: flex-end;
  }
  .portal-detail--guests .listing-hero--portal-detail .listing-hero__eyebrow span + span { margin-left: 10px; }
  .portal-detail--guests .portal-detail__layout {
    align-items: start;
    column-gap: 18px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    margin: 60px 0;
    max-width: none;
    padding: 0 30px;
    row-gap: 0;
  }
  .portal-detail--guests .portal-detail__sidebar {
    grid-column: 1 / span 3;
  }
  .portal-detail--guests .portal-detail__content {
    grid-column: 5 / span 8;
  }
  .portal-detail--guests .portal-detail-navigation__directory,
  .portal-detail--guests .portal-detail-navigation__series { display: none; }
  .portal-detail--guests .portal-detail-navigation ul { border: 0; margin: 0; }
  .portal-detail--guests .portal-detail-navigation li { border: 0; }
  .portal-detail--guests .portal-detail-navigation li a {
    font-size: 14px;
    line-height: 14px;
    margin: 0 -40px 0 -30px;
    padding: 20px 15px 20px 56.2%;
  }
  .portal-detail--guests .portal-detail-platforms { margin-top: 50px; }
  .portal-detail--guests .portal-detail-platforms > p {
    font-size: 14px;
    line-height: 22px;
    margin-bottom: 20px;
  }
  .portal-detail--guests .portal-detail-platforms .portal-platforms { display: block; margin: 0; }
  .portal-people--guests .portal-people__batch {
    column-gap: 18px;
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .portal-people--guests .portal-person {
    display: block;
    grid-column: span 4;
  }
  .portal-people--guests .portal-person__job-title {
    font-size: 12px;
    line-height: 28px;
  }
  .portal-people--guests .portal-people__load {
    height: 64px;
  }
  .portal-people--guests .portal-people__load-more {
    font-size: 14px;
    height: 54px;
    line-height: 14px;
    margin: 10px auto 0;
    width: 224px;
  }
}

@media (min-width: 80rem) {
  .portal-detail--digital-series.portal-detail--about .portal-detail__layout {
    margin-bottom: 80px;
  }
  .portal-detail-platforms .portal-platforms .button {
    height: 60px;
    min-height: 60px;
  }
  .portal-detail--digital-series .portal-detail-platforms .portal-platforms .button {
    margin-right: 0;
    width: 100%;
  }
  .portal-detail--digital-series .portal-detail-platforms { margin-top: 60px; }
  .portal-detail--guests .listing-hero--portal-detail .listing-hero__eyebrow span + span { margin-left: 20px; }
  .portal-detail--guests .portal-detail__layout {
    column-gap: 24px;
    margin: 80px auto;
    max-width: calc(var(--site-width) + (2 * var(--site-gutter)));
    padding: 0 40px;
    width: 100%;
  }
  .portal-detail--guests .portal-detail__sidebar {
    position: sticky;
    top: 145px;
  }
  .portal-detail--guests .portal-detail-navigation li a {
    font-size: 18px;
    line-height: 26px;
    margin: 0 0 0 -40px;
    padding: 20px 15px 20px 48.5%;
  }
  .portal-detail--guests .portal-detail-platforms > p {
    font-size: 16px;
    line-height: 24px;
  }
  .portal-people--guests .portal-people__batch {
    column-gap: 24px;
  }
  .portal-people--guests .portal-person {
    column-gap: 24px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 60px;
    row-gap: 0;
  }
  .portal-people--guests .portal-person__media,
  .portal-people--guests .portal-person__content {
    grid-column: 1 / span 3;
  }
  .portal-people--guests .portal-person__media { margin-bottom: 25px; }
  .portal-people--guests .portal-person h3 {
    font-size: 24px;
    line-height: 26px;
  }
  .portal-people--guests .portal-person__job-title {
    font-size: 16px;
    line-height: 24px;
    margin-top: 10px;
  }
  .portal-people--guests .portal-people__load { height: 66px; }
  .portal-people--guests .portal-people__load-more {
    font-size: 16px;
    height: 66px;
    line-height: 16px;
    margin-top: 0;
    width: 282px;
  }
}
