/* Five unique cards move between the two ends, with softly faded edges.
   The original V17 grid remains the fallback when scripting is unavailable. */
.vida-page .brand-carousel-controls[hidden] { display:none; }
.vida-page .brand-carousel-controls { display:flex; justify-content:flex-end; align-items:center; gap:16px; margin:0 0 8px; }
.brand-carousel-controls button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:11px 18px; border:1px solid #d7e9f14d; border-radius:999px; color:#edf5fb; background:linear-gradient(140deg,#c6d9f21c,#c6d9f207); box-shadow:inset 0 1px #ffffff24; font:600 15px/1.3 var(--font-body); cursor:pointer; transition:background .25s,border-color .25s; }
.brand-carousel-controls button:is(:hover,:focus-visible) { border-color:#e7c77e; background:#e7c77e22; }
.brand-carousel-controls button:disabled { opacity:.38; cursor:default; border-color:#d7e9f14d; background:#c6d9f207; }
.brand-carousel-controls button:focus-visible,.brand-carousel-viewport:focus-visible { outline:2px solid #e7c77e; outline-offset:5px; }
.brand-carousel-controls svg { width:20px; height:20px; flex:none; }
.brand-carousel-arrows { display:flex; gap:8px; }
.brand-carousel-arrows button { width:46px; padding:11px; }
.brand-carousel-toggle .carousel-play-icon,.brand-carousel.is-user-paused .carousel-pause-icon { display:none; }
.brand-carousel.is-user-paused .carousel-play-icon { display:block; }
.vida-page .brand-carousel.is-ready .brand-carousel-viewport { overflow-x:auto; overflow-y:hidden; padding:24px 28px 38px; margin-inline:-28px; scrollbar-width:none; overscroll-behavior-x:contain; touch-action:pan-x pan-y; scroll-padding-inline:28px; -webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent); mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent); }
.brand-carousel-viewport::-webkit-scrollbar { display:none; }
.vida-page .brand-carousel.is-ready .brand-network { --carousel-card-width:340px; display:flex; align-items:stretch; width:max-content; gap:24px; }
.vida-page .brand-carousel.is-ready .brand-card { width:var(--carousel-card-width); flex:0 0 var(--carousel-card-width); min-height:510px; padding:26px; opacity:1; --reveal-delay:0ms; }
.vida-page .brand-carousel.is-ready .brand-card.brand-gecs { display:flex; flex-direction:column; gap:0; grid-column:auto; align-items:stretch; }
.vida-page .brand-carousel.is-ready .brand-gecs .brand-logo-frame { margin-bottom:28px; }
.vida-page .brand-carousel.is-ready .brand-gecs h3 { align-self:auto; margin:0 0 20px; }
.vida-page .brand-carousel.is-ready .brand-gecs p { align-self:auto; }
.vida-page .brand-carousel.is-ready .brand-card h3 { font-size:27px; }
.vida-page .brand-carousel.is-ready .brand-card .text-link { line-height:1.6; }
.brand-carousel.is-reduced .brand-carousel-toggle { display:none; }
@media (min-width:1900px) {
 .vida-page .brand-carousel.is-ready .brand-network { --carousel-card-width:380px; }
}
@media (max-width:680px) {
 .vida-page .brand-carousel.is-ready .brand-network { --carousel-card-width:calc(94vw - 28px); gap:18px; }
 .vida-page .brand-carousel.is-ready .brand-card { padding:22px; min-height:520px; }
 .vida-page .brand-carousel-controls { gap:10px; }
 .brand-carousel-controls button { font-size:14px; }
 .brand-carousel-toggle { padding-inline:14px; }
}
@media (prefers-reduced-motion:reduce) {
 .brand-carousel-controls button { transition:none; }
}
