/* AZRI homepage partner strip. Original logo artwork is never filtered or cropped. */
.partner-strip {
    --partner-gap: 1.5rem;
    --partner-width: 12rem;
    --partner-height: 6rem;
    min-width: 0;
    width: 100%;
    padding: 20px 0 24px;
    border-block: 1px solid #e8eef6;
    background: #fff;
    color: #0b2d58;
}
.partner-strip, .partner-strip * { box-sizing: border-box; }
.partner-strip__inner {
    box-sizing: border-box;
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: 32px;
}
.partner-strip__heading {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-bottom: 12px;
    padding-inline: 52px;
}
.partner-strip__title {
    margin: 0;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}
.partner-strip__toggle {
    position: absolute;
    inset-inline-end: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #dbe5f1;
    border-radius: 50%;
    background: #fff;
    color: #0b2d58;
    cursor: pointer;
}
.partner-strip__toggle[hidden], .partner-strip__toggle svg[hidden] { display: none; }
.partner-strip__toggle:hover { background: #f1f6fd; }
.partner-strip__toggle:focus-visible { outline: 3px solid #1463e8; outline-offset: 3px; }
.partner-strip__toggle svg { width: 14px; height: 14px; }
.partner-strip__viewport { width: 100%; min-width: 0; overflow: hidden; direction: ltr; }
.partner-strip__track { display: flex; align-items: center; width: 100%; direction: ltr; }
/* The static fallback is a real grid: no fractional flex rows or unequal baselines. */
.partner-strip__group {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    flex: 0 0 100%;
    width: 100%;
    gap: 12px var(--partner-gap);
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}
.partner-strip__item {
    display: flex;
    flex: 0 0 var(--partner-width);
    align-items: center;
    justify-content: center;
    min-width: 0;
    width: 100%;
    height: var(--partner-height);
    margin: 0;
    overflow: hidden;
    padding: 8px;
}
.partner-strip__logo {
    display: block;
    flex: none;
    width: var(--logo-width, 160px);
    height: var(--logo-height, 48px);
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    margin: 0;
}
/* Optical sizing preserves each original canvas and all official clear space. */
.partner-strip__logo--mbsc { --logo-height: 80px; --logo-mobile-height: 64px; --logo-width: 176px; }
.partner-strip__logo--babson { --logo-height: 72px; --logo-mobile-height: 58px; --logo-width: 144px; }
.partner-strip__logo--moh { --logo-height: 48px; --logo-mobile-height: 38px; }
.partner-strip__logo--kfshrc { --logo-height: 48px; --logo-mobile-height: 38px; }
.partner-strip__logo--health-endowments { --logo-height: 44px; --logo-mobile-height: 36px; }
.partner-strip__logo--hmg { --logo-height: 44px; --logo-mobile-height: 36px; }
.partner-strip__logo--saudi-german { --logo-height: 48px; --logo-mobile-height: 38px; }
.partner-strip__logo--atm { --logo-height: 44px; --logo-mobile-height: 36px; }
.partner-strip [data-partner-clone] { display: none; }

@media (prefers-reduced-motion: no-preference) {
    .partner-strip.is-enhanced .partner-strip__track {
        width: max-content;
        animation: azri-partners-right 55s linear infinite;
    }
    .partner-strip.is-enhanced .partner-strip__group {
        display: flex;
        flex: 0 0 auto;
        width: auto;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-start;
        column-gap: 0;
        padding-right: 0;
    }
    .partner-strip.is-enhanced .partner-strip__item {
        width: var(--partner-width);
        margin-right: var(--partner-gap);
    }
    .partner-strip.is-enhanced:focus-within .partner-strip__track,
    .partner-strip.is-paused .partner-strip__track,
    .partner-strip.is-page-hidden .partner-strip__track { animation-play-state: paused; }
}
/* Touch browsers can retain :hover after a tap; only hover-capable pointers pause. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .partner-strip.is-enhanced:hover .partner-strip__track { animation-play-state: paused; }
}
@keyframes azri-partners-right {
    from { transform: translate3d(-50%, 0, 0); }
    to { transform: translate3d(0, 0, 0); }
}
@media (min-width: 640px) and (max-width: 1279px) {
    .partner-strip { --partner-width: 11rem; --partner-gap: 1.25rem; }
    .partner-strip__group { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
    .partner-strip { --partner-gap: 1rem; --partner-width: 9rem; --partner-height: 5rem; padding-block: 16px 20px; }
    .partner-strip__inner { padding-inline: 16px; }
    .partner-strip__title { font-size: 12px; }
    .partner-strip__group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .partner-strip__logo { height: var(--logo-mobile-height, 38px); }
}
@media (prefers-reduced-motion: reduce) {
    .partner-strip__track { transform: none; animation: none !important; }
    .partner-strip__toggle { display: none; }
}
@media print {
    .partner-strip__track { width: 100% !important; transform: none; animation: none !important; }
    .partner-strip__group { display: grid !important; width: 100% !important; flex: 0 0 100% !important; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0 !important; }
    .partner-strip__item { width: 100% !important; margin: 0 !important; }
    .partner-strip [data-partner-clone], .partner-strip__toggle { display: none !important; }
}

