/* Tool marks only. Client logos, hero badges and search examples retain their
   own sizes. Every tool uses the same slot and 32px-high image layout box. */
#main#main [data-dn-logo-layout="unified"] {
  --dn-tool-slot: 240px;
  --dn-tool-gap: 32px;
  --tool-gap: 32px;
  min-width: 0;
  max-width: 100%;
}
#main#main .dn-tools-inline {
  width: 100%;
  margin: 24px 0 0;
}
#main#main [data-dn-logo-layout="unified"] .dn-tools-window,
#main#main .dn-technology-marquee[data-dn-logo-layout="unified"] {
  overflow-x: auto;
  overflow-y: hidden;
  padding-block: 12px;
  mask-image: none;
  scrollbar-width: thin;
}
#main#main [data-dn-logo-layout="unified"] :is(.dn-tools-track, .dn-technology-track) {
  display: flex;
  width: max-content;
  animation-duration: var(--dn-tool-duration);
}
#main#main [data-dn-logo-layout="unified"] :is(.dn-tool-mark-group, .dn-technology-group) {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  flex-wrap: nowrap;
  width: max-content;
  gap: var(--dn-tool-gap);
  margin: 0;
  padding: 0 var(--dn-tool-gap) 0 0;
  list-style: none;
}
#main#main [data-dn-logo-layout="unified"] :is(.dn-tool-mark, .dn-technology-group > li) {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 var(--dn-tool-slot);
  width: var(--dn-tool-slot);
  min-width: var(--dn-tool-slot);
  max-width: var(--dn-tool-slot);
  min-height: 64px;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
#main#main [data-dn-logo-layout="unified"] .dn-technology-group > li > :is(a, span) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 64px;
  gap: 10px;
  white-space: nowrap;
}
#main#main [data-dn-logo-layout="unified"] :is(.dn-tool-mark, .dn-technology-group > li) img {
  display: block;
  flex: 0 0 auto;
  width: 32px;
  min-width: 0;
  max-width: 168px;
  height: 32px;
  min-height: 32px;
  max-height: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  object-fit: contain;
  filter: none;
  opacity: 1;
}
#main#main [data-dn-logo-layout="unified"] :is(.dn-tool-mark, .dn-technology-group > li).is-wordmark img {
  width: 168px;
  height: 32px;
}
#main#main [data-dn-logo-layout="unified"] .dn-tool-mark > span,
#main#main [data-dn-logo-layout="unified"] .dn-technology-group > li > :is(a, span) > span {
  flex: 0 0 auto;
  max-width: none;
  font: 750 13px/1.4 Inter, Arial, sans-serif;
  letter-spacing: -.02em;
  white-space: nowrap;
}
/* Embedded wordmarks already show the name. Keep its original label available
   to assistive reading without drawing a second name beside it. */
#main#main [data-dn-logo-layout="unified"] .dn-tool-mark.is-wordmark > span,
#main#main [data-dn-logo-layout="unified"] .dn-technology-group > li.is-wordmark > :is(a, span) > span {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
}
#main#main [data-dn-logo-layout="unified"] :is(.dn-tool-mark-group, .dn-technology-group)[aria-hidden="true"] {
  display: none;
}
#main#main [data-dn-logo-layout="unified"].is-ready :is(.dn-tool-mark-group, .dn-technology-group)[aria-hidden="true"] {
  display: flex;
}
#main#main .dn-tools-marquee[data-dn-logo-layout="unified"].is-ready .dn-tools-window,
#main#main .dn-technology-marquee[data-dn-logo-layout="unified"].is-ready {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 2%, #000 98%, transparent);
}
#main#main [data-dn-logo-layout="unified"] .dn-tools-window:focus-visible,
#main#main .dn-technology-marquee[data-dn-logo-layout="unified"]:focus-visible {
  outline: 3px solid #007f76;
  outline-offset: 4px;
}
/* Keyboard reading starts from the complete primary list, rather than an
   arbitrary translated animation frame. Hover still pauses in place. */
#main#main [data-dn-logo-layout="unified"]:focus-within :is(.dn-tools-track, .dn-technology-track) {
  animation: none;
  transform: none;
}
#main#main [data-dn-logo-layout="unified"].is-ready:focus-within :is(.dn-tool-mark-group, .dn-technology-group)[aria-hidden="true"] {
  display: none;
}
#main#main .dn-tools-marquee[data-dn-logo-layout="unified"].is-ready:focus-within .dn-tools-window,
#main#main .dn-technology-marquee[data-dn-logo-layout="unified"].is-ready:focus-within {
  overflow-x: auto;
  overflow-y: hidden;
  mask-image: none;
}

/* Short lists show each brand once. On narrower screens the same primary row
   scrolls manually, without introducing repeated logos to fill the space. */
#main#main .dn-technology-marquee[data-dn-logo-layout="unified"]:is([data-dn-tool-count="3"], [data-dn-tool-count="4"]) {
  overflow-x: auto;
  overflow-y: hidden;
  mask-image: none;
}
#main#main .dn-technology-marquee[data-dn-logo-layout="unified"]:is([data-dn-tool-count="3"], [data-dn-tool-count="4"]) .dn-technology-track {
  width: max-content;
  margin-inline: auto;
  animation: none;
  transform: none;
}
#main#main .dn-technology-marquee[data-dn-logo-layout="unified"]:is([data-dn-tool-count="3"], [data-dn-tool-count="4"]) .dn-technology-group {
  padding-right: 0;
}
#main#main .dn-technology-marquee[data-dn-logo-layout="unified"]:is([data-dn-tool-count="3"], [data-dn-tool-count="4"]) [aria-hidden="true"] {
  display: none !important;
}

/* Earlier search-strip reduced-motion rules use !important for wrapping and
   width. These narrow overrides retain one manually scrollable primary row. */
@media (prefers-reduced-motion: reduce) {
  #main#main [data-dn-logo-layout="unified"] :is(.dn-tools-track, .dn-technology-track) {
    width: max-content !important;
    animation: none !important;
    transform: none !important;
  }
  #main#main [data-dn-logo-layout="unified"] :is(.dn-tool-mark-group, .dn-technology-group) {
    width: max-content !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    padding-inline-end: var(--dn-tool-gap) !important;
  }
  #main#main [data-dn-logo-layout="unified"] :is(.dn-tool-mark-group, .dn-technology-group)[aria-hidden="true"] {
    display: none !important;
  }
  #main#main [data-dn-logo-layout="unified"] .dn-tools-window,
  #main#main .dn-technology-marquee[data-dn-logo-layout="unified"] {
    overflow-x: auto;
    overflow-y: hidden;
    mask-image: none;
  }
}
@media print {
  #main#main [data-dn-logo-layout="unified"] .dn-tools-window,
  #main#main .dn-technology-marquee[data-dn-logo-layout="unified"] {
    overflow: visible;
    mask-image: none;
  }
  #main#main [data-dn-logo-layout="unified"] :is(.dn-tools-track, .dn-technology-track) {
    display: block;
    width: 100% !important;
    animation: none !important;
    transform: none !important;
  }
  #main#main [data-dn-logo-layout="unified"] :is(.dn-tool-mark-group, .dn-technology-group) {
    width: 100% !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px 24px;
    padding: 0 !important;
  }
  #main#main [data-dn-logo-layout="unified"] :is(.dn-tool-mark-group, .dn-technology-group)[aria-hidden="true"] {
    display: none !important;
  }
}
