:root{
  --brand-blue: #0073CF;
  --brand-orange: #FF9E1B;
  --card-w: 300px;
  --card-h: 450px;
  --active-scale: 1.06;
  --meta-bg: #e97e04;
  --meta-text: #fff;
}

/* Stronger left-to-right motion */
@keyframes orbFloat1 {
  0%   { transform: translateX(-100px) scale(1); opacity: 0.8; }
  50%  { transform: translateX(100px) scale(1.08); opacity: 1; }
  100% { transform: translateX(-100px) scale(1); opacity: 0.8; }
}

/* Stronger right-to-left motion */
@keyframes orbFloat2 {
  0%   { transform: translateX(100px) scale(1); opacity: 0.8; }
  50%  { transform: translateX(-100px) scale(1.1); opacity: 1; }
  100% { transform: translateX(100px) scale(1); opacity: 0.8; }
}

.animate-orb1 {
  animation: orbFloat1 12s ease-in-out infinite;
}

.animate-orb2 {
  animation: orbFloat2 14s ease-in-out infinite;
}

/* core card layout + transition */
.partner-card{
  width: var(--card-w);
  height: var(--card-h);
  max-width: 100%;
  display: flex;
  flex-direction: column;
  border-radius: 1rem;
  overflow: hidden;
  background: white;
  transform-origin: center center;
  transition: transform 450ms cubic-bezier(.22,.9,.32,1), box-shadow 450ms ease, filter 350ms ease;
  box-shadow: 0 0 0 rgba(0,0,0,0);
}

.partner-card img{ width:100%; height:220px; object-fit:contain; display:block }

/* grayscale by default */
.partner-card img, .partner-card .meta{ filter: grayscale(100%) contrast(95%); }

/* active / hover reveal color */
.swiper-slide-active .partner-card img,
.swiper-slide-active .partner-card .meta,
.partner-card:hover img,
.partner-card:hover .meta,
.partner-card:focus img,
.partner-card:focus .meta {
  filter: none;
}

/* center card scale & shadow */
.swiper-slide-active .partner-card{
  transform: translateZ(0) scale(var(--active-scale));
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
  z-index: 10;
}

.partners-swiper { cursor: default !important; }

/* flanking cards slightly smaller */
.swiper-slide-next .partner-card,
.swiper-slide-prev .partner-card{
  transform: scale(.96);
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}

/* reduced motion fallback */
@media(prefers-reduced-motion: reduce){
  .partner-card, .swiper-wrapper{ transition:none !important }
  .swiper-slide-active .partner-card{ transform:none !important; box-shadow:none !important }
}

/* small responsive tweaks */
@media(min-width:1024px){
  .partners-track{ padding: 2rem 0 }
}

/* sponsor logo styling */
.sponsor-logo{ max-height: 72px; object-fit:contain; filter:grayscale(0.0) }

.partner-card .desc-box {
  max-height: 5.5rem; /* around 3 lines */
  overflow: hidden;
  position: relative;
}

.partner-card .desc-box.expanded {
  max-height: 120px; /* fixed height */
  overflow-y: auto;
}

/* prevent FOUC for Alpine x-cloak */
[x-cloak] { display: none !important; }

/* subtle orb pulse */
@keyframes orbPulse {
  0% { transform: scale(1); opacity: .6; }
  50% { transform: scale(1.06); opacity: .75; }
  100% { transform: scale(1); opacity: .6; }
}
.orb-pulse { animation: orbPulse 6s ease-in-out infinite; }

/* zoom-in effect */
@keyframes zoomInBold {
  0%   { transform: scale(0.85); opacity: 0; }
  60%  { transform: scale(1.05); opacity: 1; }
  100% { transform: scale(1); }
}
.zoom-in-bold {
  animation: zoomInBold 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* orb floating animations */



html, body {
  scroll-behavior: smooth;
}
