.vfcm-vision {
  --vfcm-page-bg: #080019;
  position: relative;
  overflow: hidden;
  padding: clamp(52px, 5.5vw, 86px) 0 clamp(62px, 6.5vw, 100px);
  background:
    linear-gradient(180deg, var(--vfcm-page-bg) 0%, rgba(8, 0, 25, .82) 4%, rgba(8, 0, 25, .38) 10%, rgba(8, 0, 25, .10) 17%, transparent 25%),
    linear-gradient(90deg, rgba(8, 0, 25, .92) 0%, rgba(8, 0, 25, .34) 7%, transparent 16%, transparent 84%, rgba(8, 0, 25, .34) 93%, rgba(8, 0, 25, .92) 100%),
    linear-gradient(180deg, rgba(1, 17, 48, .46), rgba(2, 8, 30, .66)),
    url('../images/home-bg.jpg') center 46% / cover no-repeat,
    var(--vfcm-page-bg);
  isolation: isolate;
}
.vfcm-vision::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .92;
  background:
    radial-gradient(ellipse 46% 76% at 8% 58%, rgba(0, 151, 136, .42) 0%, rgba(0, 151, 136, .15) 42%, transparent 76%),
    radial-gradient(ellipse 48% 78% at 35% 55%, rgba(126, 187, 25, .35) 0%, rgba(126, 187, 25, .12) 43%, transparent 77%),
    radial-gradient(ellipse 48% 78% at 67% 55%, rgba(255, 140, 0, .34) 0%, rgba(255, 140, 0, .11) 43%, transparent 77%),
    radial-gradient(ellipse 46% 76% at 94% 58%, rgba(237, 0, 0, .38) 0%, rgba(237, 0, 0, .13) 42%, transparent 76%);
  filter: blur(34px) saturate(1.18);
  transform: scale(1.1);
}
.vfcm-vision::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 1;
  background: linear-gradient(180deg, rgba(8, 0, 25, .24) 0%, transparent 18%);
  pointer-events: none;
}
.vfcm-vision .container-fluid { padding-inline: 0; }
.vfcm-vision__heading { max-width: 1180px; margin-bottom: clamp(30px, 3.6vw, 48px); }
.vfcm-vision__eyebrow {
  display: inline-block;
  margin-bottom: 15px;
  color: #62d56b;
  font-size: clamp(15px, 1.15vw, 18px);
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .075em;
  text-transform: uppercase;
  text-shadow: 0 0 18px rgba(98, 213, 107, .25);
}
.vfcm-vision__heading h2 {
  margin: 0;
  max-width: none;
  color: #fff;
  font-size: clamp(28px, 3.05vw, 52px);
  font-weight: 850;
  line-height: 1.06;
  letter-spacing: -.035em;
  white-space: nowrap;
}
.vfcm-vision__heading p {
  max-width: 900px;
  margin: 19px 0 0;
  color: #c4cee0;
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.7;
}
.vfcm-vision__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.45vw, 22px);
}
.vfcm-vision-card {
  --vfcm-card-rgb: 0, 151, 136;
  --vfcm-card-color: #009788;
  position: relative;
  min-height: 330px;
  overflow: hidden;
  padding: clamp(24px, 2.1vw, 33px);
  border: 1px solid rgba(var(--vfcm-card-rgb), .48);
  border-radius: 20px;
  background:
    radial-gradient(circle at 88% 106%, rgba(var(--vfcm-card-rgb), .38), transparent 47%),
    radial-gradient(circle at 8% -8%, rgba(var(--vfcm-card-rgb), .18), transparent 39%),
    linear-gradient(180deg, rgba(255,255,255,.055), transparent 25%),
    linear-gradient(145deg, rgba(8, 31, 61, .98), rgba(3, 10, 25, .99));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 20px 55px rgba(0,0,0,.34), inset 0 -34px 70px rgba(var(--vfcm-card-rgb), .055);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.vfcm-vision-card--discover { --vfcm-card-rgb: 0, 151, 136; --vfcm-card-color: #009788; }
.vfcm-vision-card--talent { --vfcm-card-rgb: 126, 187, 25; --vfcm-card-color: #7ebb19; }
.vfcm-vision-card--screens { --vfcm-card-rgb: 255, 140, 0; --vfcm-card-color: #ff8c00; }
.vfcm-vision-card--community { --vfcm-card-rgb: 237, 0, 0; --vfcm-card-color: #ed0000; }
.vfcm-vision-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--vfcm-card-color) 24%, var(--vfcm-card-color) 70%, transparent);
  opacity: .95;
  box-shadow: 0 0 16px rgba(var(--vfcm-card-rgb), .72);
}
.vfcm-vision-card:hover {
  transform: translateY(-7px);
  border-color: rgba(var(--vfcm-card-rgb), .78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 28px 66px rgba(0,0,0,.46), 0 0 28px rgba(var(--vfcm-card-rgb), .19), inset 0 -38px 75px rgba(var(--vfcm-card-rgb), .09);
}
.vfcm-vision-card__glow {
  position: absolute;
  width: 210px;
  height: 210px;
  right: -78px;
  bottom: -92px;
  border-radius: 50%;
  filter: blur(10px);
  opacity: .48;
  background: var(--vfcm-card-color);
}
.vfcm-vision-card__icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 56px;
  border: 1px solid rgba(var(--vfcm-card-rgb), .62);
  border-radius: 15px;
  color: #fff;
  font-size: 31px;
  background: linear-gradient(145deg, rgba(var(--vfcm-card-rgb), .32), rgba(255,255,255,.055));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 0 24px rgba(var(--vfcm-card-rgb), .22);
}
.vfcm-vision-card__number { position: absolute; top: 28px; right: 28px; color: rgba(255,255,255,.10); font-size: 48px; font-weight: 900; line-height: 1; }
.vfcm-vision-card h3 { position: relative; margin: 0 0 14px; color: #fff; font-size: clamp(19px, 1.45vw, 23px); font-weight: 750; line-height: 1.24; }
.vfcm-vision-card p { position: relative; margin: 0; color: #b9c5d8; font-size: 15px; line-height: 1.65; }
@media (max-width: 1199px) {
  .vfcm-vision__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vfcm-vision-card { min-height: 290px; }
}
@media (max-width: 767px) {
  .vfcm-vision__heading h2 { font-size: clamp(29px, 7.5vw, 42px); white-space: normal; text-wrap: balance; }
}
@media (max-width: 575px) {
  .vfcm-vision { padding-block: 44px 58px; background-position: center, center, center, 58% center; }
  .vfcm-vision .container-fluid { padding-inline: 18px; }
  .vfcm-vision__eyebrow { font-size: 14px; letter-spacing: .055em; }
  .vfcm-vision__grid { grid-template-columns: 1fr; gap: 14px; }
  .vfcm-vision-card { min-height: 0; padding: 24px; border-radius: 18px; }
  .vfcm-vision-card__icon { width: 52px; height: 52px; margin-bottom: 34px; font-size: 28px; }
  .vfcm-vision-card__number { top: 24px; right: 24px; font-size: 40px; }
}
@media (prefers-reduced-motion: reduce) { .vfcm-vision-card { transition: none; } .vfcm-vision-card:hover { transform: none; } }
