/* Original brand marks share a quiet, consistent frame; navigation stays usable without JS. */
.home .oud-brand-carousel { margin: 42px 0 52px; }
.oud-brand-carousel-body { position: relative; }
.oud-brand-carousel .oud-brand-logos {
    --brand-columns: 5;
    --brand-gap: 16px;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - (var(--brand-columns) - 1) * var(--brand-gap)) / var(--brand-columns));
    gap: var(--brand-gap);
    padding: 4px 0;
    margin: 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    list-style: none;
}
.oud-brand-logos::-webkit-scrollbar { display: none; }
.oud-brand-logo-item { min-width: 0; margin: 0; scroll-snap-align: start; }
.oud-brand-carousel .oud-brand-logo-link {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 138px;
    padding: 22px;
    border: 1px solid #e6e1dc;
    border-radius: 3px;
    background: #fff;
    color: #292521;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
    text-decoration: none;
}
.oud-brand-logo-link img {
    display: block;
    width: 170px;
    max-width: 100%;
    height: 72px;
    object-fit: contain;
    filter: grayscale(1);
}
.oud-brand-logo-link.wide img { width: 195px; }
.oud-brand-logo-link.compact img { width: 115px; }
.oud-brand-logo-link.tall img { width: 82px; height: 84px; }
.oud-brand-logo-link.reverse img { filter: brightness(0); }
.oud-brand-carousel .oud-brand-logo-link:hover {
    border-color: var(--oud-bronze, #a47651);
    background: #fdfbf8;
    box-shadow: 0 2px 8px #3b241007;
}
.oud-brand-carousel :is(a, button, [data-brand-track]):focus-visible {
    outline: 2px solid var(--oud-bronze, #a47651);
    outline-offset: -4px;
}
.oud-brand-controls { display: flex; justify-content: center; align-items: center; margin-top: 13px; min-height: 24px; }
.oud-brand-controls[hidden] { display: none; }
.oud-brand-carousel .oud-brand-arrow {
    position: absolute;
    top: 73px;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 7px;
    border: 1px solid #eee8e2;
    border-radius: 50%!important;
    background: #fff;
    color: #292521;
    box-shadow: 0 2px 7px #3829150c;
    cursor: pointer;
    transition: color .18s ease, border-color .18s ease, opacity .18s ease;
}
.oud-brand-carousel .oud-brand-prev { left: -20px; }
.oud-brand-carousel .oud-brand-next { right: -20px; }
.oud-brand-arrow svg { width: 21px; height: 21px; stroke-width: 1.5; }
.oud-brand-prev svg { transform: rotate(90deg); }
.oud-brand-next svg { transform: rotate(-90deg); }
.oud-brand-carousel .oud-brand-arrow:hover:not(:disabled) { color: var(--oud-bronze, #a47651); border-color: currentColor; background: #fff; }
.oud-brand-carousel .oud-brand-arrow:disabled { opacity: .3; cursor: default; box-shadow: none; }
.oud-brand-pages { display: flex; justify-content: center; align-items: center; gap: 1px; }
.oud-brand-carousel .oud-brand-page {
    display: grid;
    place-items: center;
    width: 30px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
}
.oud-brand-page::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #d9d4ce; transition: background-color .18s ease, width .18s ease; }
.oud-brand-page[aria-pressed="true"]::before { width: 22px; border-radius: 6px; background: var(--oud-bronze, #a47651); }
.oud-brand-page:hover::before { background: #776557; }
@media (min-width: 701px) and (max-width: 1000px) {
    .oud-brand-carousel .oud-brand-logos { --brand-columns: 4; }
    .oud-brand-carousel .oud-brand-logo-link { padding: 18px; }
}
@media (max-width: 700px) {
    .home .oud-brand-carousel { margin: 30px 0 36px; }
    .oud-brand-carousel .oud-brand-logos { --brand-columns: 2; --brand-gap: 12px; }
    .oud-brand-carousel .oud-brand-logo-link { height: 110px; padding: 16px; }
    .oud-brand-logo-link img { height: 58px; }
    .oud-brand-logo-link.tall img { height: 72px; width: 65px; }
    .oud-brand-logo-link.compact img { width: 95px; }
    .oud-brand-controls { gap: 12px; margin-top: 10px; }
    .oud-brand-carousel .oud-brand-arrow { position: static; transform: none; width: 36px; height: 36px; padding: 7px; }
    .oud-brand-carousel .oud-brand-page { width: 26px; height: 32px; }
}
@media (prefers-reduced-motion: reduce) {
    .oud-brand-carousel *, .oud-brand-carousel *::before { transition: none; }
}
