.fn-security .fn-hero-sub {
  max-width: 920px;
}

.fn-security .security-hero-icon {
  width: 110px;
  height: 110px;
  margin: 1rem auto 0.6rem;
  border-radius: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #fff;
  background:
    linear-gradient(145deg, rgba(255, 215, 0, 0.42), rgba(93, 132, 255, 0.42)),
    rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.fn-security .security-hero-icon::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  pointer-events: none;
}

.fn-security .security-hero-icon i {
  font-size: 3rem;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

.fn-security .fn-grid .security-card {
  min-height: 320px;
}

.fn-security .security-icon {
  width: 72px;
  height: 72px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  font-size: 1.45rem;
  margin-bottom: 1rem;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.36);
}

.fn-security .security-icon i {
  position: relative;
  z-index: 2;
  text-shadow: 0 8px 18px rgba(0, 0, 0, 0.4);
}

.fn-security .security-icon::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.25), rgba(255, 255, 255, 0.02));
  pointer-events: none;
}

.fn-security .security-icon::after {
  content: "";
  position: absolute;
  width: 90px;
  height: 35px;
  left: -20px;
  top: -8px;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.05));
  transform: rotate(-22deg);
  opacity: 0.58;
  pointer-events: none;
}

.fn-security .security-card:hover .security-icon {
  transform: translateY(-2px) scale(1.04);
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

.fn-security .security-icon.bg-primary {
  background: linear-gradient(145deg, #3566ff, #6f8bff);
}

.fn-security .security-icon.bg-success {
  background: linear-gradient(145deg, #1fbe8a, #4fd2ac);
}

.fn-security .security-icon.bg-danger {
  background: linear-gradient(145deg, #ff4d6d, #ff7a8f);
}

.fn-security .security-icon.bg-info {
  background: linear-gradient(145deg, #22b8ff, #52d0ff);
}

.fn-security .security-icon.bg-warning {
  background: linear-gradient(145deg, #ffb627, #ffd66e);
  color: #2a1a00;
}

.fn-security .security-icon.bg-secondary {
  background: linear-gradient(145deg, #616b85, #8994af);
}

.fn-security .security-layer-card {
  min-height: auto;
  padding: 1.35rem;
}

.fn-security .security-layer-card img {
  max-height: 320px;
  object-fit: cover;
}

.fn-security .security-cta-card {
  min-height: auto;
  padding: 2rem 1.25rem;
}

.fn-security .security-cta-card .fn-card-desc {
  max-width: 860px;
}

.fn-security .security-cta-btn {
  max-width: 360px;
  margin: 0 auto;
}

@media (max-width: 992px) {
  .fn-security .fn-grid .security-card {
    min-height: 280px;
  }

  .fn-security .security-icon {
    width: 66px;
    height: 66px;
    font-size: 1.3rem;
  }
}
