.footer {

  position: relative;

  padding: 90px 8% 60px;

  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 40px;

  color: white;

  overflow: hidden;

  background:
    linear-gradient(
      rgba(15,23,42,.88),
      rgba(15,23,42,.88)
    ),
    url("../images/footer.png");

  background-size: cover;
  background-position: center;
}

.footer::before {

  content: "";

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 140px;

  background:
    linear-gradient(
      to bottom,
      rgba(15,23,42,.35),
      transparent
    );
}

.footer::after {

  content: "";

  position: absolute;

  inset: 0;

  background:
    radial-gradient(
      circle at 20% 20%,
      rgba(0,87,184,.18),
      transparent 30%
    ),

    radial-gradient(
      circle at 80% 80%,
      rgba(227,27,35,.18),
      transparent 30%
    );

  z-index: 1;
}

.footer h2 {
  font-size: 28px;
  margin-bottom: 15px;
}

.footer h2 span {
  color: #E31B23;
}

.footer h4 {
  color: #ffffff;
  margin-bottom: 15px;
}

.footer a {
  display: block;
  color: #CBD5E1;
  text-decoration: none;
  margin: 10px 0;
  transition: .3s;
}

.footer a:hover {
  color: #E31B23;
}

.footer p {
  color: #94A3B8;
  line-height: 1.7;
}

.footer-bottom {

  grid-column: 1 / -1;

  margin-top: 30px;

  text-align: center;

  color: rgba(255,255,255,.65);

  font-size: 14px;

  position: relative;
  z-index: 2;
}
.footer {
  border-top: 2px solid #0057B8;
  box-shadow:
    0 -2px 20px rgba(0,87,184,.15);
}

.footer > * {
  position: relative;
  z-index: 2;
}