/* Seamless logo ribbon: two identical groups, one accessible list. */
.ed-ecosystem {
    position: relative;
    overflow: hidden;
    padding: 30px 0;
    background: #eeefe7;
    border-bottom: 1px solid var(--ed-line, #d7ded4);
}
.ed-ecosystem:focus-visible { outline: 2px solid #00856b; outline-offset: -4px; }
.ed-logo-track { display: flex; width: max-content; animation: ed-logo-scroll var(--logo-duration, 64s) linear infinite; }
.ed-logo-group {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex: 0 0 auto;
    min-width: 100vw;
    list-style: none;
    padding: 0;
    margin: 0;
}
.ed-logo-item { display: flex; align-items: center; justify-content: center; width: 190px; height: 52px; flex: 0 0 auto; }
.ed-logo-item img { display: block; width: 128px; height: 38px; object-fit: contain; filter: brightness(0); opacity: .65; }
.ed-logo-item--symbol { gap: 10px; }
.ed-logo-item--symbol img { width: 32px; height: 32px; }
.ed-logo-name { color: #535750; font: 600 17px/1.2 "DawapRoboto", Arial, sans-serif; letter-spacing: -.035em; white-space: nowrap; }
.ed-ecosystem:hover .ed-logo-track,
.ed-ecosystem:focus-within .ed-logo-track,
.ed-ecosystem.is-paused .ed-logo-track { animation-play-state: paused; }
@keyframes ed-logo-scroll { to { transform: translateX(-50%); } }
@media (max-width: 767px) {
    .ed-ecosystem { padding: 24px 0; }
    .ed-logo-item { width: 142px; height: 42px; }
    .ed-logo-item img { width: 100px; height: 30px; }
    .ed-logo-item--symbol { gap: 8px; }
    .ed-logo-item--symbol img { width: 26px; height: 26px; }
    .ed-logo-name { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    .ed-ecosystem { mask-image: none; }
    .ed-logo-track { width: 100%; animation: none; }
    .ed-logo-group { min-width: 0; width: 100%; flex-wrap: wrap; gap: 24px 0; }
    .ed-logo-group[aria-hidden="true"] { display: none; }
}

/* The control appears on interaction, leaving the ribbon visually logo-only. */
.ed-logo-pause { position:absolute; z-index:2; right:12px; top:50%; transform:translateY(-50%); width:32px; height:32px; padding:0; border:1px solid #a3b0a5; border-radius:50%; background:#f6f6ef; color:#244535; opacity:0; cursor:pointer; }
.ed-ecosystem:hover .ed-logo-pause,.ed-ecosystem:focus-within .ed-logo-pause { opacity:1; }
.ed-logo-pause:focus-visible { outline:2px solid #00856b; outline-offset:3px; }
.ed-ecosystem.is-user-paused .ed-logo-track { animation-play-state:paused; }
@media (prefers-reduced-motion: reduce) { .ed-logo-pause { display:none; } }

.ed-logo-window { overflow:hidden; mask-image:linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
@media(prefers-reduced-motion:reduce) { .ed-logo-window { mask-image:none; } }
