/* ── "What We Do" card hover ── */
.wwd-card {
  transition: transform .45s cubic-bezier(.22,1,.36,1),
              box-shadow .45s cubic-bezier(.22,1,.36,1),
              border-color .35s ease;
}
.wwd-card .wwd-media {
  overflow: hidden;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.wwd-card .wwd-img {
  transition: transform .8s cubic-bezier(.22,1,.36,1),
              filter .5s ease;
}
.wwd-card .wwd-overlay {
  transition: opacity .5s ease, background .5s ease;
}
.wwd-card .wwd-icon {
  transition: transform .5s cubic-bezier(.22,1,.36,1),
              background .35s ease,
              box-shadow .35s ease;
}
.wwd-card .wwd-title {
  transition: color .35s ease;
}
.wwd-card .wwd-underline {
  display: block;
  width: 0;
  height: 2px;
  margin: 10px auto 0;
  background: #2638D9;
  border-radius: 99px;
  transition: width .45s cubic-bezier(.22,1,.36,1);
}
.wwd-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(38,56,217,.18);
  border-color: rgba(38,56,217,.25);
}
.wwd-card:hover .wwd-img {
  transform: scale(1.1);
}
.wwd-card:hover .wwd-overlay {
  opacity: 1;
  background: linear-gradient(to top, rgba(15,30,53,.75), rgba(15,30,53,.15) 55%, transparent);
}
.wwd-card:hover .wwd-icon {
  transform: translate(-50%, -6px) rotate(-8deg) scale(1.08);
  background: #000EA3;
  box-shadow: 0 14px 30px rgba(38,56,217,.45);
}
.wwd-card:hover .wwd-title {
  color: #2638D9;
}
.wwd-card:hover .wwd-underline {
  width: 34px;
}

/* ── Impact / Philanthropy image hover ── */
.impact-media {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 32px 80px rgba(15,23,42,.14);
  transition: box-shadow .5s ease;
}
.impact-media .impact-img {
  display: block;
  box-shadow: none;
  border-radius: 0;
  transition: transform .8s cubic-bezier(.22,1,.36,1);
}
.impact-media .impact-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    to top,
    rgba(10, 19, 34, .25) 0%,
    rgba(10, 19, 34, .10) 45%,
    rgba(10, 19, 34, .02) 100%
  );
  transition: opacity .5s ease;
}
.impact-media:hover {
  box-shadow: 0 40px 90px rgba(38,56,217,.22);
}
.impact-media:hover .impact-img {
  transform: scale(1.06);
}

@media (prefers-reduced-motion: reduce) {
  .wwd-card, .wwd-card *,
  .impact-media, .impact-media * { transition: none !important; }
}
