/* 2026-09-25: only the requested visibility settings and partner-logo rows. */
#app[hidden],
#journey-details[hidden] {
  display: none !important;
}

/* Removing hidden from #journey-details also hides its temporary heading. */
#journey-details:not([hidden]) + #journey-coming-soon {
  display: none;
}
.journey-coming-soon {
  padding-block: 24px 108px;
  text-align: center;
}
.journey-coming-soon h3 {
  font-family: var(--display);
  font-weight: 600;
  letter-spacing: .035em;
}

.partners--carousel .team-heading {
  display: block;
  text-align: center;
  margin: 90px 0 32px;
}
.partners--carousel .team-heading h2 {
  margin: 0;
  text-align: center;
}
.partners--carousel .team-heading > span {
  display: block;
  margin-top: 10px;
}
.partner-carousel {
  --partner-logo-width: 176px;
  --partner-logo-gap: 20px;
  min-width: 0;
}
.partner-carousel--team {
  display: grid;
  gap: 20px;
}
.partner-row {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding-block: 2px;
  border-radius: 2px;
}
.partner-row:focus-visible {
  outline: 2px solid var(--sbi);
  outline-offset: 4px;
}
.partner-row.is-ready {
  overflow: hidden;
}
.partner-track {
  display: flex;
  width: max-content;
}
.partner-logo-set {
  display: flex;
  flex: 0 0 auto;
  gap: var(--partner-logo-gap);
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0 var(--partner-logo-gap) 0 0;
}
.partner-logo {
  flex: 0 0 var(--partner-logo-width);
  width: var(--partner-logo-width);
  aspect-ratio: 1297 / 794;
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce2ed;
}
.partner-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.partner-row.is-ready .partner-track {
  animation: partner-loop var(--partner-duration, 45s) linear infinite;
  will-change: transform;
}
@keyframes partner-loop {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-1 * var(--partner-distance))); }
}
.partner-carousel.is-paused .partner-track,
.partner-row:focus-within .partner-track {
  animation-play-state: paused;
}
@media (hover: hover) {
  .partner-row:hover .partner-track { animation-play-state: paused; }
}
.partner-controls {
  margin-top: 18px;
  text-align: center;
}
.partner-carousel--team .partner-controls {
  margin-top: 0;
}
.partner-pause {
  padding: 7px 15px;
  border: 1px solid #ccd5e5;
  border-radius: 3px;
  background: transparent;
  color: #50607d;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.partner-pause:hover { background: #edf2fa; }
.partner-pause:focus-visible { outline: 2px solid var(--sbi); outline-offset: 3px; }
.partner-pause[hidden], .partner-pause span[hidden] { display: none; }

@media (max-width: 760px) {
  .partner-carousel { --partner-logo-width: 132px; --partner-logo-gap: 12px; }
  .partner-carousel--team { gap: 12px; }
  .partners--carousel .team-heading { margin-top: 62px; }
  .journey-coming-soon { padding-block: 16px 64px; }
}

@media (prefers-reduced-motion: reduce) {
  .partner-row.is-ready { overflow-x: auto; }
  .partner-row.is-ready .partner-track { animation: none; transform: none; will-change: auto; }
  .partner-logo-set[aria-hidden="true"], .partner-controls { display: none; }
}
