/* Programme partenaires : chiffres clés de l'accroche et aperçu de l'espace partenaire. */
.aff-hero .title { max-width: 860px; }
.aff-figures { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; max-width: 860px; margin: 44px auto 0; text-align: left; }
.aff-figures .surf { display: grid; gap: 4px; }
.aff-figures b { font-size: clamp(30px, 4vw, 40px); font-weight: 600; letter-spacing: -.02em; line-height: 1.1; }
.aff-figures .surf:first-child { background: var(--lime); border-color: transparent; color: var(--ink); }
.aff-figures .surf:first-child span { color: #3d4416; }
.aff-figures span { font-size: 15px; color: var(--mut); }

.aff-split { align-items: center; }
.aff-board { padding: 22px; background: var(--white); border-radius: 22px; color: var(--ink); box-shadow: 0 30px 80px rgba(0, 0, 0, .35); }
.aff-board span { display: block; font-size: 12.5px; color: var(--on-white); }
.aff-board b { display: block; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.aff-board-code { padding: 16px 18px; border: 1px solid #e7e7e2; border-radius: 16px; }
.aff-board-code b { margin-top: 2px; font-size: 26px; letter-spacing: .04em; }
.aff-board-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.aff-board-grid div { padding: 14px 16px; border: 1px solid #e7e7e2; border-radius: 16px; }
.aff-board-grid b { margin-top: 2px; font-size: 22px; }
.aff-board-grid .hi { background: var(--lime); border-color: transparent; }
.aff-board-grid .hi span { color: #3d4416; }
.aff-board figcaption { margin-top: 12px; font-size: 13px; color: var(--on-white); }

@media (prefers-reduced-motion: no-preference) {
  .aff-figures { animation: rise .9s var(--ease) .32s both; }
}

@media (max-width: 720px) {
  .aff-figures { grid-template-columns: 1fr; margin-top: 32px; }
  .aff-board { padding: 16px; }
  .aff-board-grid b { font-size: 19px; }
}
