/* Eight-brand carousel: three equal cards, with touch and keyboard scrolling. */
.brand-carousel { padding-bottom:44px; }
.brand-track { display:flex; position:relative; align-items:stretch; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:0; }
.brand-track::-webkit-scrollbar { display:none; }
.brand-track .brand { flex:0 0 calc((100% - 44px) / 3); min-width:0; min-height:620px; padding:35px 24px 145px; scroll-snap-align:start; }
.brand-track .brand-logo { height:150px; flex-shrink:0; margin-bottom:28px; }
.brand-track .brand-logo img { max-width:95%; max-height:140px; }
.brand-track .brand p { font-size:20px; line-height:1.45; }
.brand-track .brand a { bottom:65px; max-width:calc(100% - 32px); font-size:20px; overflow-wrap:anywhere; }
.brand-track .brand-category { font-size:clamp(40px,4.5vw,72px); }
.brand-track .brand-category small { white-space:normal; }
.brand.pasticallo { background:#514b43; }
.brand.aspen { background:#243c39; }
.brand.origami { background:#f4f0e8; color:#14212a; }
.brand.origami .brand-category { color:#14212a24; }
.brand.threeplus { background:#142b35; }
.brand.threeplus .brand-logo img { max-height:150px; }
.brand.xplus { background:#e7e9ed; color:#14212a; }
.brand.xplus .brand-category { color:#14212a24; }
.brand-carousel .carousel-arrow { top:calc((100% - 44px) / 2); bottom:auto; transform:translateY(-50%); width:48px; height:48px; font-size:40px; line-height:1; padding:0; border:0; border-radius:50%; background:#fff; }
.brand-carousel .previous { left:-58px; }
.brand-carousel .next { right:-58px; }
.brand-carousel .carousel-arrow:focus-visible,.brand-track:focus-visible { outline:2px solid var(--red); outline-offset:4px; }
.brand-position { position:absolute; bottom:10px; left:75px; right:75px; margin:0; text-align:center; font-size:16px; }
@media(max-width:1050px) and (min-width:761px) { .brand-track .brand { flex-basis:calc((100% - 22px) / 2); } }
@media(max-width:760px) { .brand-track { gap:16px; } .brand-track .brand { flex-basis:88%; min-height:570px; padding:30px 24px 140px; } }
@media print { .brand-track { display:grid; grid-template-columns:repeat(2,1fr); overflow:visible; } .brand-carousel .carousel-arrow,.brand-position { display:none; } }

.brand.pasticallo .brand-logo { background:#fff; border-radius:4px; padding:18px; }

/* Keep the centered controls within the viewport on narrower screens. */
@media(max-width:1300px) {
    .brand-carousel { padding-left:40px; padding-right:40px; }
    .brand-carousel .previous { left:-8px; }
    .brand-carousel .next { right:-8px; }
}
