.sponsors-section {
    padding: 56px 0 60px;
    background: #f5f7fb;
    border-top: 1px solid #e2e7ef;
}
.sponsors-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}
.sponsors-heading h2 {
    margin: 0 0 8px;
    font-size: clamp(28px, 3vw, 38px);
}
.sponsors-heading p {
    margin: 0;
    color: #48566b;
}
.sponsors-controls {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}
.sponsors-controls[hidden] { display: none; }
.sponsors-arrow {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    padding: 0;
    color: #0c4da2;
    background: #fff;
    border: 1px solid #0c4da2;
    border-radius: 50%;
    cursor: pointer;
}
.sponsors-arrow:hover:not(:disabled) { background: #e8effa; }
.sponsors-arrow:disabled {
    color: #69768a;
    border-color: #c1cbd9;
    cursor: default;
}
.sponsors-list {
    --sponsors-columns: 5;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - (var(--sponsors-columns) - 1) * 16px) / var(--sponsors-columns));
    gap: 16px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 5px;
    list-style: none;
    margin: 0;
    padding: 5px 5px 18px;
    scrollbar-width: thin;
    scrollbar-color: #8099b9 #e2e7ef;
}
.sponsors-list li { min-width: 0; scroll-snap-align: start; }
.sponsor-card {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 132px;
    padding: 22px;
    background: #fff;
    border: 1px solid #dce3ed;
    border-radius: 16px;
}
.sponsor-card:hover { border-color: #0c4da2; }
.sponsor-card img {
    display: block;
    width: 100%;
    height: 80px;
    object-fit: contain;
}
/* The original white wordmark needs a dark surface; the square artwork has built-in whitespace. */
[data-testid="sponsor-haralampidis-link"] { background: #0c4da2; }
[data-testid="sponsor-meidanis-link"] img { object-fit: cover; }
.sponsors-arrow:focus-visible,
.sponsor-card:focus-visible,
.sponsors-list:focus-visible { outline: 3px solid #0c4da2; outline-offset: 2px; }
@media (max-width: 1000px) {
    .sponsors-list { --sponsors-columns: 3; }
}
@media (max-width: 600px) {
    .sponsors-section { padding: 36px 0 40px; }
    .sponsors-heading { align-items: flex-start; gap: 12px; }
    .sponsors-heading p { font-size: 16px; }
    .sponsors-list { --sponsors-columns: 2; gap: 12px; grid-auto-columns: calc((100% - 12px) / 2); }
    .sponsor-card { height: 112px; padding: 16px; }
    .sponsor-card img { height: 72px; }
    .sponsors-controls { gap: 6px; }
    .sponsors-arrow { width: 44px; height: 44px; }
}
