@layer components {
  .press-page { position: relative; isolation: isolate; padding-bottom: 9rem; }
  .press-page__article { position: relative; }
  .press-page__intro { position: relative; }
  .press-page__intro > :where(:not(.alignwide):not(.alignfull)) { max-width: 60.8125rem; }
  .press-page__intro::after { content: ""; position: absolute; z-index: -1; top: -8.5rem; right: -5rem; width: 17.625rem; aspect-ratio: 1; background: url("../images/tache-jaune.webp") center / contain no-repeat; pointer-events: none; }
  .press-page__intro > :first-child { margin-top: 0; }
  .press-page__intro > :last-child { margin-bottom: 0; }
  .press-page__section { position: relative; width: min(60.8125rem, 100%); margin-top: var(--space-m); }
  .press-page__section::after { content: ""; position: absolute; z-index: -1; right: -7.5rem; bottom: -7rem; width: 20.9375rem; aspect-ratio: 1; background: url("../images/tache-orange-2.webp") center / contain no-repeat; pointer-events: none; }
  .press-page__section-title { margin: 0 auto var(--space-m); }
  .press-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-m) 1.875rem; padding: 0 var(--space-m) var(--space-m); background: var(--color-white); }
  .press-card { display: grid; grid-template-columns: 8.25rem minmax(0, 1fr); gap: var(--space-s); align-items: start; min-width: 0; padding: 0.625rem 0; }
  .press-card__logo { display: flex; width: 8.25rem; height: 5.5rem; align-items: center; justify-content: center; margin: 0; }
  .press-card__logo img { width: 100%; height: 100%; object-fit: contain; }
  .press-card__content { min-width: 0; }
  .press-card__title, .press-card__date { margin: 0; }
  .press-card__title { font-family: var(--font-body); font-size: var(--text-card-title); font-weight: 700; line-height: var(--line-height-card); }
  .press-card__date { margin-top: var(--space-xs); font-size: var(--text-body); line-height: var(--line-height-card); }
  .press-card__link { display: inline-block; margin-top: var(--space-xs); font-size: var(--text-body); }
  .press-list__empty { text-align: center; }
}

@media (max-width: 64rem) {
  .press-page { margin-top: 0; padding-bottom: 7rem; }
  .press-page__section { width: 100%; margin-top: var(--space-l); }
}

@media (max-width: 48rem) {
  .press-list { grid-template-columns: 1fr; padding: 0; }
  .press-card { grid-template-columns: 1fr; gap: var(--space-xs); }
  .press-card__logo { width: 8.25rem; }
}

@media (max-width: 28rem) {
  .press-card__logo { max-width: 100%; }
}
