.partner-blocks {
    display: grid;
    gap: 16px;
    margin: 22px 0 24px;
}
.partner-blocks--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.partner-card {
    position: relative;
    display: grid;
    min-width: 0;
    overflow: hidden;
    color: var(--partner-text);
    background: var(--partner-bg);
    border: 1px solid color-mix(in srgb, var(--partner-accent) 20%, #e2e8f0);
    border-radius: 22px;
    box-shadow: 0 16px 38px color-mix(in srgb, var(--partner-accent) 10%, transparent);
    isolation: isolate;
}
.partner-card::before {
    content: '';
    position: absolute;
    z-index: 3;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--partner-accent);
}
.partner-blocks--list .partner-card { grid-template-columns: var(--partner-image-width, 26%) minmax(0, 1fr); min-height: 0; }
.partner-blocks--grid .partner-card { grid-template-rows: auto minmax(0, 1fr); }
.partner-card-media { position: relative; width: auto; height: auto; aspect-ratio: 1 / 1; min-width: 0; min-height: 0; overflow: hidden; background: color-mix(in srgb, var(--partner-accent) 12%, #f8fafc); border-radius: 14px; }
.partner-blocks--list .partner-card-media { align-self: center; margin: 14px 0 14px 14px; }
.partner-blocks--grid .partner-card-media { width: min(calc(100% - 28px), var(--partner-image-height, 170px)); justify-self: center; margin: 14px 0 0; }
.partner-card-media img { display: block; width: 100%; height: 100%; object-fit: var(--partner-image-fit, cover); object-position: var(--partner-image-position, center); transition: transform .45s ease; }
.partner-card:hover .partner-card-media img { transform: scale(1.035); }
.partner-card-media--fallback { display: grid; place-items: center; background: linear-gradient(135deg, color-mix(in srgb, var(--partner-accent) 14%, #fff), color-mix(in srgb, var(--partner-accent) 28%, #fff)); }
.partner-card-media--fallback span { display: grid; width: 64px; height: 64px; place-items: center; color: #fff; background: var(--partner-accent); border-radius: 20px; font-size: 28px; box-shadow: 0 12px 25px color-mix(in srgb, var(--partner-accent) 28%, transparent); }
.partner-card-content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; justify-content: center; padding: 25px 27px; }
.partner-card-eyebrow { margin-bottom: 8px; color: var(--partner-accent); font-size: 9px; font-weight: 900; letter-spacing: .15em; line-height: 1.4; text-transform: uppercase; }
.partner-card h3 { margin: 0; color: var(--partner-title); font-size: clamp(17px, 2vw, 22px); font-weight: 850; letter-spacing: -.025em; line-height: 1.25; }
.partner-card-text { margin-top: 10px; color: var(--partner-text); font-size: 13px; font-style: var(--partner-font-style); font-weight: var(--partner-weight); line-height: 1.65; overflow-wrap: anywhere; }
.partner-card-actions { display: flex; width: 100%; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 18px; }
.partner-card-link { display: inline-flex; align-items: center; gap: 5px; color: var(--partner-accent); font-size: 11px; font-weight: 800; text-decoration: none; }
.partner-card-link:hover { text-decoration: underline; }
.partner-card-button { display: inline-flex; min-height: 39px; align-items: center; justify-content: center; gap: 7px; margin-left: auto; padding: 10px 16px; color: var(--partner-button-text); background: var(--partner-button); border-radius: 11px; box-shadow: 0 8px 18px color-mix(in srgb, var(--partner-button) 24%, transparent); font-size: 11px; font-weight: 850; line-height: 1; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.partner-card-button:hover { transform: translateY(-2px); box-shadow: 0 11px 24px color-mix(in srgb, var(--partner-button) 30%, transparent); }
.partner-blocks--grid .partner-card-content { justify-content: flex-start; }
.partner-blocks--grid .partner-card-button { margin-left: 0; }

@media (max-width: 760px) {
    .partner-blocks--grid { grid-template-columns: 1fr; }
    .partner-blocks--list .partner-card { grid-template-columns: minmax(108px, var(--partner-image-width, 26%)) minmax(0, 1fr); min-height: 0; }
    .partner-card-content { padding: 19px 18px; }
    .partner-card h3 { font-size: 16px; }
    .partner-card-text { font-size: 11.5px; line-height: 1.55; }
    .partner-card-actions { margin-top: 13px; }
}

@media (max-width: 480px) {
    .partner-blocks { gap: 12px; margin: 17px 0 20px; }
    .partner-blocks--list .partner-card,
    .partner-blocks--grid .partner-card { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr); }
    .partner-card-media { width: min(calc(100% - 24px), var(--partner-image-height, 170px)); height: auto; aspect-ratio: 1 / 1; justify-self: start; margin: 12px 12px 0 !important; }
    .partner-card-content { padding: 17px 16px 18px; }
    .partner-card-button { min-height: 37px; margin-left: 0; padding: 9px 14px; }
}
