
.ns103-banner {
  position:relative;
  min-height:480px;
  overflow:hidden;
  background:#2d4051;
  color:#fff;
}

.ns103-slides {
  position:relative;
  min-height:480px;
}

.ns103-slide {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
}

.ns103-slide[hidden] {
  display:none !important;
}

.ns103-slide::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(17,32,45,.85),
    rgba(17,32,45,.25)
  );
}

.ns103-slide-content {
  position:relative;
  z-index:1;
  max-width:700px;
  padding:95px 8%;
}

.ns103-eyebrow {
  font-size:12px;
  font-weight:700;
  letter-spacing:.15em;
}

.ns103-slide h2 {
  color:white;
  font-size:clamp(36px,5vw,64px);
  line-height:1.1;
  margin:18px 0;
}

.ns103-slide p {
  color:white;
  line-height:1.7;
  font-size:18px;
}

.ns103-slide a {
  display:inline-block;
  margin-top:20px;
  padding:13px 22px;
  background:#f05025;
  color:white;
  text-decoration:none;
  font-weight:700;
  border-radius:4px;
}

.ns103-controls {
  position:absolute;
  right:5%;
  bottom:25px;
  z-index:3;
  display:flex;
  gap:10px;
}

.ns103-controls button {
  padding:10px 17px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.7);
  color:white;
  font-size:23px;
  cursor:pointer;
}

.ns103-service-image {
  max-width:1180px;
  margin:30px auto;
}

.ns103-service-image img {
  display:block;
  width:100%;
  max-height:560px;
  object-fit:cover;
  border-radius:5px;
}

.ns103-service-image figcaption {
  margin-top:10px;
  font-size:12px;
  color:#60788b;
}

.ns103-image-section {
  padding:50px 7%;
}

@media(max-width:700px) {
  .ns103-banner,
  .ns103-slides {
    min-height:460px;
  }

  .ns103-slide-content {
    padding:75px 7%;
  }
}
