/* Integration wordmarks share the site's theme and existing motion controls. */
.product-design .hero-bottom,
.product-design .ecosystem-strip {
  border: 0;
}
.integration-strip {
  padding: 32px 0 28px;
  overflow: hidden;
  background: var(--bg, #f4f8f5);
  border: 0;
}
.integration-strip__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0 0 19px;
  color: var(--muted, #657c72);
}
.integration-strip__heading p {
  margin: 0;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .2em;
  line-height: 1.4;
}
.integration-strip__heading h2 {
  margin: 0;
  border: 0;
  color: var(--ink, #19382f);
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.4;
}
.integration-strip__viewport {
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.integration-strip__viewport:focus-visible {
  outline: 2px solid var(--primary, #0b6b57);
  outline-offset: 5px;
  border-radius: 8px;
}
.integration-strip__track {
  display: flex;
  width: max-content;
  animation: integration-strip-scroll 36s linear infinite;
  will-change: transform;
}
.integration-strip__group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 80px;
  min-width: 1320px;
  margin: 0;
  padding: 6px 80px 6px 0;
  list-style: none;
}
.integration-strip__group li {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  height: 50px;
}
.integration-strip__logo {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  opacity: .63;
  filter: grayscale(1);
  transition: opacity .2s ease, filter .2s ease;
}
.integration-strip__logo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 36px;
  object-fit: contain;
}
.integration-strip__logo--supabase { width: 172px; }
.integration-strip__logo--resend { width: 132px; }
.integration-strip__logo--cloudflare { width: 188px; }
.integration-strip__logo--meta { width: 132px; }
.integration-strip__logo--google-cloud {
  gap: 10px;
  width: 180px;
  color: #4b5156;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: 23px;
  font-weight: 500;
  letter-spacing: -.85px;
  line-height: 1;
  white-space: nowrap;
}
.integration-strip__logo--google-cloud img { width: 37px; height: 30px; }
.integration-strip .integration-strip__image--dark { display: none; }
.integration-strip__group li:hover .integration-strip__logo { opacity: 1; filter: none; }
.integration-strip__viewport:is(:hover, :focus-within) .integration-strip__track,
html.motion-paused .integration-strip__track,
html.page-hidden .integration-strip__track { animation-play-state: paused; }

html[data-theme='dark'] .integration-strip .integration-strip__image--light { display: none; }
html[data-theme='dark'] .integration-strip .integration-strip__image--dark { display: block; }
html[data-theme='dark'] .integration-strip__logo--google-cloud { color: #e0e6e2; }
html[data-theme='dark'] .integration-strip__logo--cloudflare,
html[data-theme='dark'] .integration-strip__logo--meta { filter: brightness(0) invert(1); }

@keyframes integration-strip-scroll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}
@media (max-width: 720px) {
  .integration-strip { padding: 26px 0 22px; }
  .integration-strip__heading { margin-bottom: 14px; }
  .integration-strip__group { min-width: 1040px; gap: 56px; padding-right: 56px; }
  .integration-strip__logo--supabase { width: 151px; }
  .integration-strip__logo--resend { width: 115px; }
  .integration-strip__logo--cloudflare { width: 168px; }
  .integration-strip__logo--meta { width: 116px; }
  .integration-strip__logo--google-cloud { width: 170px; font-size: 21px; }
  .integration-strip__logo--google-cloud img { width: 34px; height: 28px; }
}
@media (prefers-reduced-motion: reduce), print {
  .integration-strip__viewport { overflow: visible; -webkit-mask-image: none; mask-image: none; }
  .integration-strip__track { width: 100%; animation: none; transform: none; will-change: auto; }
  .integration-strip__group { flex: 1; flex-wrap: wrap; justify-content: center; gap: 20px 40px; min-width: 0; padding: 0; }
  .integration-strip__group[aria-hidden='true'] { display: none; }
  .integration-strip__logo { transition: none; }
}
