/* Circular carousel (port of React Bits CircularCarousel), styled for logo cards. */
.circular-carousel { --cc-fade:#ffffff; --cc-radius:16px; --cc-inner:.25; position:relative; width:100%; height:430px; overflow:hidden; outline:none; touch-action:pan-y; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent; }
.circular-carousel.is-enhanced { cursor:grab; }
.circular-carousel[data-dragging] { cursor:grabbing; }
.circular-carousel:focus-visible { box-shadow:inset 0 0 0 2px rgba(255,102,0,.55); border-radius:22px; }
.circular-carousel.is-enhanced .cc-items { display:none; }
.circular-carousel__view { position:absolute; inset:0; }
.circular-carousel__stage { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .45s ease; }
.circular-carousel[data-ready] .circular-carousel__stage { opacity:1; }
.circular-carousel__camera, .circular-carousel__ring, .circular-carousel__card { width:0; height:0; transform-style:preserve-3d; }
.circular-carousel__camera { position:relative; }
.circular-carousel__ring, .circular-carousel__card { position:absolute; left:0; top:0; }
.circular-carousel__ring { will-change:transform; }
.circular-carousel__tile { contain:layout paint; }
.circular-carousel__tile { position:absolute; outline:1px solid transparent; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.circular-carousel__frame { position:absolute; left:0; top:0; width:100%; overflow:hidden; }
.circular-carousel__face { position:absolute; display:grid; place-items:center; padding:26px; background:#fff; box-shadow:inset 0 0 0 1px #e0e6ef; }
.circular-carousel__photo { display:block; max-width:100%; max-height:100%; object-fit:contain; pointer-events:none; -webkit-user-drag:none; }
.circular-carousel__shade, .circular-carousel__inner { position:absolute; inset:0; pointer-events:none; }
.circular-carousel__shade { background:var(--cc-fade); opacity:0; }
.circular-carousel__inner { background:#07133f; opacity:var(--cc-inner); }
.circular-carousel__caption { position:absolute; left:0; right:0; bottom:18px; display:flex; flex-direction:column; align-items:center; gap:6px; padding:0 16px; text-align:center; pointer-events:none; }
.circular-carousel__title { display:flex; flex-direction:column; align-items:center; color:#07133f; font:700 17px/1.35 "Raleway",sans-serif; letter-spacing:-.01em; animation:cc-title .52s cubic-bezier(.22,1,.36,1); }
.circular-carousel__subtitle { color:#687487; font:400 13px "Open Sans",sans-serif; }
.circular-carousel__count { display:inline-flex; gap:3px; color:#687487; font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:.08em; }
.circular-carousel__count > span:first-child { color:#c2410c; }
.circular-carousel__slash { opacity:.6; }
.circular-carousel__live { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@keyframes cc-title { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
/* No-JS fallback: plain logo grid */
.cc-items { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; margin:0; padding:20px 0; list-style:none; }
.cc-items li { display:grid; place-items:center; height:110px; padding:18px; border:1px solid #e0e6ef; border-radius:14px; background:#fff; }
.cc-items img { max-width:100%; max-height:100%; object-fit:contain; }
.circular-carousel:not(.is-enhanced) { height:auto; }
@media (max-width:767px) { .circular-carousel { height:340px; } }
@media (prefers-reduced-motion: reduce) { .circular-carousel__stage { transition:none; } .circular-carousel__title { animation:none; } }
