.partner-section {
  --fp-green: #28645B;
  --fp-blue: #19326B;
  --fp-ink: #243C36;
  --fp-background: #F8F7F3;
  --fp-sage: #E7EEE9;
  --fp-muted: #52655F;
  --fp-line: #D5DFD9;
  padding: clamp(58px, 7vw, 90px) 0;
  background: var(--fp-background);
  color: var(--fp-ink);
  font-family: Inter, Arial, sans-serif;
  scroll-margin-top: 145px;
}
.partner-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(30px, 5vw, 70px);
  align-items: center;
}
.partner-copy .eyebrow { color: var(--fp-green); }
.partner-copy h2 { color: var(--fp-ink); font-family: "Trebuchet MS", Arial, sans-serif; font-size: clamp(29px, 3.1vw, 40px); line-height: 1.15; }
.partner-copy p:not(.eyebrow) { color: var(--fp-muted); font-size: 17px; }
.partner-logo-link { display: block; width: 256px; max-width: 100%; margin: 25px 0 18px; }
.partner-logo-link img { width: 100%; height: auto; }
.partner-copy .button { gap: 10px; border-color: var(--fp-blue); color: var(--fp-blue); font-size: 16px; }
.partner-copy .button:hover { background: var(--fp-blue); color: white; }
.partner-gallery { min-width: 0; }
.partner-slides { overflow: hidden; border: 1px solid var(--fp-line); border-radius: var(--radius); background: white; }
.partner-slide { margin: 0; }
.partner-slide[hidden], .partner-controls[hidden] { display: none; }
.partner-slide > a { display: block; }
.partner-slide img { width: 100%; height: auto; aspect-ratio: 6 / 5; object-fit: contain; }
.partner-slide figcaption { padding: 14px 18px; color: var(--fp-ink); font-family: "Trebuchet MS", Arial, sans-serif; font-size: 16px; font-weight: 750; line-height: 1.45; }
.partner-slide figcaption span { display: block; margin-top: 3px; color: var(--fp-muted); font-family: Inter, Arial, sans-serif; font-size: 13px; font-weight: 400; }
.partner-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 13px; }
.partner-controls button { min-height: 44px; min-width: 44px; border: 1px solid var(--fp-line); border-radius: 999px; background: white; color: var(--fp-blue); font: inherit; cursor: pointer; }
.partner-controls button:hover { background: var(--fp-sage); }
.partner-controls .partner-pause { margin-left: auto; padding: 7px 14px; font-size: 13px; font-weight: 650; }
.partner-counter { min-width: 38px; text-align: center; font-size: 14px; color: var(--fp-muted); font-variant-numeric: tabular-nums; }
.partner-source { margin: 9px 0 0; color: var(--fp-muted); font-size: 12px; }
.partner-section :is(a, button):focus-visible { outline: 3px solid var(--fp-green); outline-offset: 4px; }
.partner-slide > a:focus-visible { outline-offset: -4px; }
@media (max-width: 760px) {
  .partner-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .partner-gallery { width: 100%; max-width: 560px; margin-inline: auto; }
  .partner-logo-link { width: 175px; }
  .partner-section { scroll-margin-top: 92px; }
}
@media (max-width: 360px) {
  .partner-controls .partner-pause { flex-basis: 100%; margin-left: 0; }
}
