/* Partner cards share the editorial layout, existing carousel and global controls. Mobile first. */
.rio-partner-directory { display:grid; gap:48px; color:var(--rio-ink,#20344b); font-family:var(--rio-font,system-ui,sans-serif); }
.rio-partner-group>h2 { margin:0 0 28px; font:var(--rio-heading-weight,700) var(--rio-heading-current-size,var(--rio-heading-size,clamp(32px,4vw,52px)))/1.1 var(--rio-heading,system-ui,sans-serif); text-transform:var(--rio-heading-transform,uppercase); }
.rio-partner-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.rio-partner-card { display:flex; min-width:0; background:var(--rio-paper,#fff); border:1px solid var(--rio-line,#dce2e7); }
.rio-partner-card-inner { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; width:100%; min-width:0; min-height:244px; padding:28px; color:var(--rio-ink,#20344b); text-align:center; text-decoration:none; }
.rio-partner-card-inner:is(a):hover,.rio-partner-card-inner:is(a):focus-visible { background:var(--rio-soft,#f4f6f7); box-shadow:inset 0 -3px 0 var(--rio-accent,#00fe01); }
.rio-partner-logo { display:grid; place-items:center; width:100%; min-width:0; height:110px; min-height:0; flex:0 0 110px; overflow:hidden; }
.rio-partner-logo img { display:block; max-width:100%; max-height:110px; width:100%; height:110px; min-width:0; min-height:0; object-fit:contain; }
.rio-partner-wordmark { display:block; max-width:100%; padding:12px 16px; border:1px solid currentColor; font:700 25px/1.1 var(--rio-heading,system-ui,sans-serif); text-transform:uppercase; overflow-wrap:anywhere; }
.rio-partner-card h3 { margin:0; font:var(--rio-heading-weight,600) var(--rio-heading-current-size,var(--rio-heading-size,14px))/1.5 var(--rio-heading-custom-font,var(--rio-font,system-ui,sans-serif)); text-transform:var(--rio-heading-transform,none); }
.rio-partner-card p { margin:0; font:var(--rio-content-weight,400) var(--rio-content-size,14px)/1.65 var(--rio-font,system-ui,sans-serif); overflow-wrap:anywhere; text-transform:var(--rio-content-transform,none); }
.rio-partner-carousel { --rio-carousel-desktop:4; --rio-carousel-tablet:2; --rio-carousel-narrow:100%; --rio-carousel-gutter:0px; --rio-carousel-arrow-left:0px; --rio-carousel-arrow-right:0px; --rio-carousel-arrow-size:44px; }
.rio-partner-carousel .rio-partner-card-inner { padding-inline:40px; }
@media(min-width:600px) {
    .rio-partner-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rio-partner-carousel { --rio-carousel-narrow:calc((100% - var(--rio-post-gap))/2); }
}
@media(min-width:1024px) {
    .rio-partner-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
    .rio-partner-carousel { --rio-carousel-arrow-left:-22px; --rio-carousel-arrow-right:-22px; }
    .rio-partner-carousel .rio-partner-card-inner { padding-inline:24px; }
}
