.section-visual {
  position: relative;
  margin: 0;
  aspect-ratio: 16 / 7;
  overflow: hidden;
  background: #0a2443;
  border: 1px solid rgba(79, 168, 245, 0.22);
  box-shadow: 0 22px 60px rgba(10, 36, 67, 0.14);
}

.section-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.section-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-overview-visual,
.projects-visual {
  margin-top: 76px;
}

.projects-visual {
  box-shadow: 0 22px 64px rgba(0, 0, 0, 0.24);
}

.public-projects {
  margin-top: 76px;
}

.training-visual {
  margin: -20px 0 82px;
}

.service-image-band {
  padding: 72px 0;
  background: #071b32;
}

.service-page-visual {
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

@media (max-width: 980px) {
  .section-visual {
    aspect-ratio: 16 / 8;
  }
}

@media (max-width: 680px) {
  .section-visual {
    aspect-ratio: 4 / 3;
  }

  .service-overview-visual,
  .projects-visual {
    margin-top: 52px;
  }

  .training-visual {
    margin: -8px 0 58px;
  }

  .service-image-band {
    padding: 34px 0;
  }
}
