/* Editorial archive refinements for the Episodes and Guests hubs. */

.media-hero,
.detail-hero {
  padding-top: 96px;
  padding-bottom: 48px;
}

.media-hero .breadcrumbs,
.detail-hero .breadcrumbs {
  margin-bottom: 22px;
}

.media-hero h1,
.detail-hero h1 {
  margin-bottom: 12px;
  font-size: clamp(3.2rem, 6.5vw, 5.7rem);
}

.media-hero p:last-child {
  font-size: 1rem;
}

.media-site-header .button,
.media-section .button {
  border-radius: 4px;
  box-shadow: none;
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* Topic deep-links are focused destinations, so compress the generic masthead
   and get visitors to the selected conversations quickly. */
.media-hero.media-hero-filtered {
  padding-top: 66px;
  padding-bottom: 30px;
}

.media-hero.media-hero-filtered .breadcrumbs {
  margin-bottom: 13px;
}

.media-hero.media-hero-filtered h1 {
  margin-bottom: 8px;
  font-size: clamp(3rem, 5vw, 4.6rem);
}

.media-hero.media-hero-filtered p:last-child {
  font-size: .92rem;
}

.media-hero.media-hero-filtered ~ .archive-section {
  padding-top: 28px;
}

.media-hero.media-hero-filtered ~ .archive-section .media-section-heading {
  margin-bottom: 16px;
}

.media-section {
  padding-top: 46px;
  padding-bottom: 50px;
}

.media-section-heading {
  margin-bottom: 22px;
}

.media-hero + .archive-section {
  padding-top: 42px;
}

.media-hero + .archive-section .media-section-heading h2 {
  font-size: clamp(2.35rem, 3.8vw, 3.55rem);
}

/* Search/filter controls should feel like publication tools, not a dashboard. */
.archive-controls {
  padding: 0 0 22px;
  margin-bottom: 18px;
  border: 0;
  border-bottom: 1px solid var(--line-light);
  background: transparent;
}

.archive-controls input,
.archive-controls select,
.guest-search input {
  border-radius: 3px;
  background: #fffefd;
}

.guest-search {
  margin-bottom: 14px;
}

.alphabet-nav {
  margin-top: 18px;
  margin-bottom: 16px;
}

.alphabet-nav button {
  border-radius: 3px;
}

/* Cards rely on imagery and type rather than depth effects. */
.media-card,
.guest-card {
  border-radius: 4px;
  box-shadow: none;
}

.media-card:hover,
.media-card:focus-within {
  transform: translateY(-1px);
  box-shadow: none;
}

.guest-monogram {
  border-radius: 4px;
  background: #0b1d38;
}

.guest-results-section {
  padding-top: 34px;
}

.guest-results-section .media-section-heading {
  margin-bottom: 12px;
}

.guest-results-section .media-section-heading h2 {
  max-width: none;
  font-size: clamp(2.7rem, 3.7vw, 3.95rem);
  line-height: .96;
  letter-spacing: -.035em;
}

.guest-results-section .archive-status {
  min-height: 0;
  margin-top: 7px;
  margin-bottom: 0;
}

.guest-results-single {
  grid-template-columns: minmax(0, 920px);
  justify-content: center;
}

.guest-results-single .focused-result-action {
  margin-top: 14px;
  text-align: center;
}

/* The featured archive card is inserted after the initial motion scan. */
.featured-conversation .media-card[data-reveal] {
  opacity: 1;
  transform: none;
}

.featured-conversation {
  align-items: stretch;
  overflow: hidden;
  border-color: rgba(189, 150, 63, .22);
  border-radius: 6px;
  box-shadow: none;
}

.featured-conversation-media,
.featured-conversation-media .media-card,
.featured-conversation-media .media-card-image,
.featured-conversation-media .thumbnail-media {
  height: 100%;
}

.featured-conversation-media .media-card-image,
.featured-conversation-media .thumbnail-media {
  aspect-ratio: auto;
}

.featured-conversation-media .thumbnail-media {
  border: 0;
  border-radius: 0;
}

.featured-conversation-media .thumbnail-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.featured-conversation-copy {
  padding: clamp(34px, 3.3vw, 52px);
  position: relative;
  overflow: hidden;
  border-left: 0;
  background: linear-gradient(145deg, #102947 0%, #0b1d38 62%, #08172d 100%);
}

.featured-conversation-copy::before {
  content: "";
  width: 1px;
  position: absolute;
  inset: 12% auto 12% 0;
  background: rgba(216, 184, 102, .5);
}

.featured-conversation-copy::after {
  display: none;
}

.featured-conversation-copy > * {
  position: relative;
  z-index: 1;
}

.featured-conversation-copy .content-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.featured-conversation-copy .content-label::after {
  content: "";
  width: 34px;
  height: 1px;
  background: rgba(216, 184, 102, .58);
}

.featured-conversation-copy h3 {
  max-width: 520px;
  line-height: 1.01;
  text-wrap: balance;
}

/* A verified guest link already provides the exact matching conversations;
   avoid repeating the same result in the generic archive below it. */
main:has(.guest-results-section:not([hidden])) .archive-section {
  display: none;
}

@media (min-width: 1180px) {
  .guest-results-section .media-section-heading h2 {
    white-space: nowrap;
  }
}

@media (max-width: 980px) {
  .featured-conversation-media,
  .featured-conversation-media .media-card {
    height: auto;
  }

  .featured-conversation-media .media-card-image,
  .featured-conversation-media .thumbnail-media {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .featured-conversation-copy::before {
    width: auto;
    height: 1px;
    inset: 0 10% auto;
  }
}

@media (max-width: 760px) {
  .media-hero,
  .detail-hero {
    padding-top: 82px;
    padding-bottom: 36px;
  }

  .media-hero.media-hero-filtered {
    padding-top: 58px;
    padding-bottom: 26px;
  }

  .media-hero.media-hero-filtered .breadcrumbs {
    margin-bottom: 12px;
  }

  .media-hero.media-hero-filtered h1 {
    font-size: clamp(2.8rem, 13vw, 4rem);
  }

  .media-hero .breadcrumbs,
  .detail-hero .breadcrumbs {
    margin-bottom: 18px;
  }

  .media-hero h1,
  .detail-hero h1 {
    font-size: clamp(2.9rem, 15vw, 4.4rem);
  }

  .media-section,
  .media-hero + .archive-section,
  .guest-results-section {
    padding-top: 34px;
    padding-bottom: 38px;
  }

  .media-hero.media-hero-filtered ~ .archive-section {
    padding-top: 24px;
  }

  .guest-results-section .media-section-heading h2 {
    font-size: clamp(2.35rem, 11vw, 3.6rem);
    line-height: 1;
    letter-spacing: -.025em;
  }

  .guest-results-single {
    grid-template-columns: 1fr;
  }

  .featured-conversation {
    border-radius: 4px;
  }

  .featured-conversation-copy {
    padding: 30px 24px 34px;
  }
}
