/* Partners section styles */
.partners-section{
  padding:80px 16px;
  background:linear-gradient(180deg,#ffffff 0%,#f7f8fb 100%);
  position:relative;
  overflow:hidden;
}
.partners-section::before{
  content:"";
  position:absolute;inset:0;
  background-image:radial-gradient(circle at 20% 20%,rgba(255,196,0,.08),transparent 40%),radial-gradient(circle at 80% 80%,rgba(0,90,255,.06),transparent 40%);
  pointer-events:none;
}
.partners-container{
  max-width:1200px;margin:0 auto;position:relative;z-index:1;
}
.partners-eyebrow{
  display:inline-block;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:#b5852a;font-weight:700;
  padding:6px 14px;border:1px solid rgba(181,133,42,.3);border-radius:999px;
  background:rgba(255,196,0,.08);
  margin-bottom:18px;
}
.partners-title{
  font-family:'Inter',sans-serif;
  font-size:clamp(28px,4vw,44px);
  font-weight:800;
  color:#0d1320;
  margin:0 0 12px;
  letter-spacing:-.02em;
}
.partners-title span{
  background:linear-gradient(90deg,#0d1320 0%,#1f3b8a 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.partners-subtitle{
  color:#5a6478;font-size:16px;max-width:620px;margin:0 0 48px;line-height:1.6;
}
.partners-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:20px;
}
@media (max-width:1024px){.partners-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:600px){.partners-grid{grid-template-columns:repeat(2,1fr);gap:14px;}}
.partner-card{
  background:#ffffff;
  border:1px solid #e7eaf1;
  border-radius:18px;
  padding:28px 18px 20px;
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  min-height:170px;
  position:relative;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease;
  overflow:hidden;
}
.partner-card::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,#ffc400,#ff5e2b,#1f3b8a);
  transform:scaleX(0);transform-origin:left;
  transition:transform .5s ease;
}
.partner-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px -20px rgba(15,28,55,.25);
  border-color:#d6dbe7;
}
.partner-card:hover::after{transform:scaleX(1);}
.partner-logo-wrap{
  flex:1;display:flex;align-items:center;justify-content:center;
  width:100%;
  min-height:90px;
  margin-bottom:12px;
}
.partner-logo{
  max-width:100%;max-height:80px;width:auto;height:auto;
  object-fit:contain;
  filter:grayscale(100%) opacity(.75);
  transition:filter .4s ease,transform .4s ease;
}
.partner-card:hover .partner-logo{
  filter:grayscale(0%) opacity(1);
  transform:scale(1.04);
}
.partner-name{
  font-family:'Inter',sans-serif;
  font-size:13px;font-weight:600;
  color:#0d1320;
  text-align:center;
  letter-spacing:.01em;
  margin:0;
}
/* dark backgrounds for logos that are white-on-black */
.partner-card.dark-logo{
  background:#0d1320;
  border-color:#0d1320;
}
.partner-card.dark-logo .partner-name{color:#fff;}
.partner-card.dark-logo:hover{box-shadow:0 18px 40px -20px rgba(0,0,0,.55);}
.partner-card.dark-logo .partner-logo{filter:opacity(.85);}
.partner-card.dark-logo:hover .partner-logo{filter:opacity(1);}
/* Animation on appear */
@keyframes partnerFadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
.partner-card{animation:partnerFadeUp .6s both;}
.partner-card:nth-child(1){animation-delay:.05s;}
.partner-card:nth-child(2){animation-delay:.12s;}
.partner-card:nth-child(3){animation-delay:.19s;}
.partner-card:nth-child(4){animation-delay:.26s;}
.partner-card:nth-child(5){animation-delay:.33s;}
