.partners-section{background:#f1f3ec;padding-block:49px 22px;border-bottom:1px solid var(--line);overflow:hidden}.partners-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}.partners-heading .eyebrow{font-size:.75rem;margin-bottom:10px}.partners-heading h2{font-size:1.5rem;letter-spacing:-.035em}.logo-marquee{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}.logo-track{display:flex;width:max-content;animation:logos-right 100s linear infinite}.logo-group{display:flex;align-items:center;gap:20px;padding:0 20px 0 0;margin:0;list-style:none;flex-shrink:0}.partner-logo{display:flex;align-items:center;justify-content:center;width:198px;height:102px;background:white;border:1px solid #e1e7dd;border-radius:8px;padding:18px}.partner-logo img{width:100%;height:100%;object-fit:contain;filter:grayscale(1);opacity:.85}.partner-logo.dark{background:#173c32;border-color:#173c32}.partner-logo.dark img{filter:grayscale(1);opacity:1}.partner-logo:hover img{filter:none;opacity:1}@keyframes logos-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.partner-logo.partner-logo-labeled{justify-content:flex-start;gap:10px;padding:12px;width:240px}.partner-logo.partner-logo-labeled img{flex:0 0 60px;width:60px;height:60px}.partner-label{font-size:.85rem;line-height:1.4;font-weight:650;color:var(--green);text-align:left}
/* Each organisation belongs to exactly one row. The extra cycle length prevents
   an outgoing logo and its next copy from entering the viewport together. */
.partner-rows{container-type:inline-size;max-width:1800px;margin-inline:auto;display:grid;gap:16px}
.partner-rows .logo-marquee{min-width:0}
.partner-rows .logo-group{min-width:calc(100cqw + 260px);justify-content:space-around}
.partner-rows .partner-logo{flex-shrink:0}
.partner-rows .logo-track{animation-duration:75s}
.partner-rows .logo-track-left{animation-direction:reverse}
@media(prefers-reduced-motion:reduce){.partner-rows .logo-group{min-width:0}.partner-rows .logo-track{animation:none}}
/* Keep organisation names readable without making the cards shout. */
.partner-rows .partner-logo{padding:12px}
.partner-rows .partner-logo-labeled{gap:10px;padding:12px}
.partner-rows .partner-logo-labeled img{flex-basis:68px;width:68px;height:68px}
.partner-rows .partner-label{flex:1;min-width:0;font-size:1rem;line-height:1.35;letter-spacing:-.015em;text-wrap:balance}
.partner-rows .partner-name{font-size:1.0625rem;line-height:1.35;text-wrap:balance}
.partner-rows [data-partner="Sopogo"] .partner-label{font-size:1.125rem}
.partner-rows [data-partner="Praktijkdag Digitale Geletterdheid"] .partner-label{font-size:.9375rem}
@media(max-width:620px){.partner-rows .partner-logo{padding:10px}.partner-rows .partner-logo-labeled{padding:10px 12px}.partner-rows .partner-name{font-size:1rem}}
/* Individual optical sizing after reviewing every organisation card. */
.partner-rows [data-partner="Hogeschool Rotterdam"]{width:258px;padding-inline:12px}
.partner-rows [data-partner="Willem de Zwijgercollege"]{width:238px}
.partner-rows [data-partner="Dalton Lyceum Barendrecht"],.partner-rows [data-partner="Gemini College Ridderkerk"]{width:228px;padding:10px}
.partner-rows [data-partner="Zorgcollege Nederland"]{width:238px;padding:10px}
.partner-rows [data-partner="RPO Rijnmond"],.partner-rows [data-partner="Bureau Inspiratief"]{width:218px;padding:10px}
.partner-rows [data-partner="Amstel UMC Academie"]{width:258px}
.partner-rows [data-partner="Amstel UMC Academie"] img{flex-basis:96px;width:96px}
.partner-rows [data-partner="Praktijkdag Digitale Geletterdheid"]{width:258px}
.partner-rows [data-partner="Praktijkdag Digitale Geletterdheid"] .partner-label{font-size:1rem}
.partner-rows [data-partner="RGO Middelharnis"] img{height:90%;width:90%}
.partner-rows [data-partner="AI-deas for learning"]{width:218px}

.partners-section{background:var(--ice);padding-block:48px 42px}
.partner-logo,.partner-logo.dark{background:#fff;border-color:var(--line)}
.partner-logo img,.partner-logo.dark img{filter:none;opacity:1}
.partner-label,.partner-name{color:var(--blue);font-weight:650}
.partner-name{text-align:center;letter-spacing:-.02em}
.partners-heading h2{font-size:clamp(1.45rem,2.3vw,1.85rem);line-height:1.3}
@media(max-width:620px){.partners-section{padding-block:32px}.partner-logo{width:166px;height:91px}.logo-group{gap:14px;padding-right:14px}.partners-heading{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none;transform:none}.logo-marquee{overflow-x:auto;mask-image:none;padding-inline:20px}.logo-group[aria-hidden=true]{display:none}.logo-group{gap:14px}}
