.afp-homepage__hero {
  min-height: 252px;
  padding: 32px 0 0;
}

.afp-homepage__hero-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0 0 16px;
  font-family: source-sans-pro, "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(2.5rem, 4vw, 3.5rem);
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.2571428571;
  text-transform: uppercase;
}

.afp-homepage__hero-line {
  display: inline-block;
  padding: 0 16px;
  color: #fff;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-transform: inherit;
}

.afp-homepage__hero-line--dark {
  background: var(--afp-homepage-text);
}

.afp-homepage__hero-line--blue {
  background: var(--afp-homepage-blue);
}

.afp-homepage__hero-subtitle {
  max-width: 792px;
  margin: 0;
  font-family: source-sans-pro, "Helvetica Neue", Arial, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.5;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .afp-homepage__hero {
    min-height: 0;
    padding: 32px 0 0;
  }

  .afp-homepage__hero-title {
    font-size: 48px;
    line-height: 52.8px;
  }

  .afp-homepage__hero-line {
    padding: 0 12px;
  }

  .afp-homepage__hero-subtitle {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

@media (min-width: 1024px) {
  .afp-homepage__hero-title {
    font-size: 56px;
    line-height: 70.4px;
  }
}

@media (max-width: 767px) {
  .afp-homepage__hero {
    min-height: 0;
    padding: 20px 0 0;
  }

  .afp-homepage__hero-title {
    /* Scale down so both lines stay on one row and share the same block height. */
    font-size: clamp(1.125rem, 6.4vw, 1.75rem);
    line-height: 1;
    /* YOG-1109: no white gap between the black and blue cartouches. */
    gap: 0;
    margin-bottom: 20px;
  }

  /*
   * YOG-1109: thicker cartouches (more vertical padding) with tighter side
   * padding, matching the desktop rendering.
   */
  .afp-homepage__hero-line {
    box-sizing: border-box;
    white-space: nowrap;
    line-height: 1.1;
    padding: 0.62em 0.34em;
  }

  .afp-homepage__hero-line--dark {
    padding-left: 0.4em;
    padding-right: 0.28em;
  }

  .afp-homepage__hero-subtitle {
    font-size: 1rem;
    /* YOG-1109: tighter leading + a bit more space before the stories block. */
    line-height: 1.1;
    margin-bottom: 4px;
  }
}
