.organizations { padding: 18px 0 20px; background: #fff; border-bottom: 1px solid var(--line); }
.organizations-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 10px; }
.organizations-heading h2 { font-size: 20px; margin: 0; color: var(--primary); }
.marquee-window { overflow: hidden; direction: ltr; padding-block: 5px; }
.marquee-track { display: flex; width: max-content; animation: organization-marquee var(--marquee-duration,65s) linear infinite; }
.marquee-group { display: flex; flex: none; gap: 24px; list-style: none; padding: 0 24px 0 0; margin: 0; }
.marquee-group li { width: 200px; flex: none; }
.organization-logo { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; height: 108px; padding: 8px 12px; border: 0; border-radius: 6px; background: #fff; }
.organization-logo:hover { background: #f8fbfd; }
.organization-image { display: flex; align-items: center; justify-content: center; gap: 5px; height: 64px; width: 174px; }
.organization-image img { object-fit: contain; width: 170px; height: 64px; }
.organization-image .logo-on-blue { background: #055487; border-radius: 4px; padding: 5px 12px; width: 94px; }
.organization-image .dmi-icon { width: 25px; height: 28px; }
.organization-image:has(.dmi-icon) img:last-child { width: 144px; }
.organization-name { text-align: center; font-size: 11px; line-height: 1.6; color: #56656e; }
.organizations:hover .marquee-track { animation-play-state: paused; }
.marquee-window:focus-within { overflow-x: auto; }
.marquee-window:focus-within .marquee-track { animation: none; }
.marquee-window:focus-within .marquee-group[aria-hidden="true"] { display: none; }
@keyframes organization-marquee { to { transform: translateX(-50%); } }
@media(max-width:800px) { .organizations-heading h2 { font-size: 17px; } .marquee-group li { width: 180px; } .marquee-group { gap: 16px; padding-right: 16px; } .organization-image { width: 156px; } .organization-image img { max-width: 100%; } .organization-image:has(.dmi-icon) img:last-child { width: 126px; } }
@media(prefers-reduced-motion:reduce) { .marquee-track { animation: none; } .marquee-window { overflow-x: auto; } .marquee-group[aria-hidden="true"] { display: none; } }

.organizations + .section { padding-top: 48px; }
@media(max-width:800px) { .organizations + .section { padding-top: 32px; } }

/* Preserve the presentation crops while fitting every institution into one compact row. */
.organization-crop { position:relative; display:block; flex:none; width:calc(var(--mark-width) * .57); max-width:100%; aspect-ratio:var(--mark-ratio); overflow:hidden; direction:ltr; mix-blend-mode:multiply; }
.organization-crop img { position:absolute; max-width:none!important; width:var(--image-width)!important; height:auto!important; left:var(--image-left); top:var(--image-top); object-fit:fill; }
.marquee-window:focus-visible { outline:2px solid #055487; outline-offset:-2px; }

/* Blend at the outer window: the animated track creates its own stacking context,
   so blending individual crops cannot remove white against the section below. */
.organizations .marquee-window { mix-blend-mode:multiply; }
.organizations .organization-logo,
.organizations .organization-logo:hover { background:transparent; }
/* Let the logo window blend with the actual hero backdrop, not an isolated transparent layer. */
.hero-scene > section.organizations { isolation:auto; }
