.nexus-logo {
  position: relative;
  display: block;
  width: 230px;
  aspect-ratio: 1180 / 330;
  overflow: hidden;
  flex: 0 0 auto;
  background: #080c0f;
}
.nexus-logo img {
  position: absolute;
  width: 150.51%;
  max-width: none;
  height: auto;
  left: -25.42%;
  top: -84.85%;
}
@media (max-width: 580px) {
  .nexus-logo { width: 200px; }
}
.contact-links { display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.contact-links a:hover { color: var(--lime); }
.nav-actions select { max-width: 145px; font-size: 14px; }
footer { gap: 24px; flex-wrap: wrap; }
@media (max-width: 580px) {
  .nav { padding-left: 16px; padding-right: 16px; }
  .nav .nexus-logo { width: clamp(120px, 44vw, 180px); }
  .nav-actions select { max-width: 125px; }
}
.service-card { justify-content: flex-start; padding: 0 24px 28px; }
.service-card .service-photo {
  width: calc(100% + 48px);
  max-width: none;
  margin: 0 -24px 26px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
  display: block;
}
.service-card > span {
  background: #080c0f;
  color: #c8ff2e;
  padding: 4px 9px;
}
.offer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9vw;
  align-items: start;
}

.offer-grid h2 {
  font-size: clamp(42px, 6vw, 76px);
  letter-spacing: -.025em;
}

.offer-panel {
  border-top: 4px solid var(--lime);
  padding-top: 28px;
}

.offer-panel > p {
  margin: 0 0 28px;
  color: #4f5a60;
  font-size: 19px;
}

.offer-panel ul {
  margin: 0 0 32px;
  padding: 0;
  border-top: 1px solid #ced3d1;
  list-style: none;
}

.offer-panel li {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 17px 0;
  border-bottom: 1px solid #ced3d1;
}

.offer-panel li span {
  color: #7b8589;
  font-size: 12px;
}

.offer-panel li strong {
  font-family: Oswald, Arial, sans-serif;
  font-size: 21px;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .offer-grid {
    grid-template-columns: 1fr;
  }
}

.training-gallery {
  display: grid;
  grid-template-columns: minmax(0, 720px);
  justify-content: center;
  gap: 16px;
  margin-top: 16px;
}

.training-gallery figure {
  height: 580px;
  margin: 0;
  overflow: hidden;
  background: var(--soft);
}

.training-gallery img,
.coach-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.training-gallery figure:first-child img {
  object-position: center 55%;
}

.coach-photo {
  height: 260px;
  object-position: center 22%;
}

@media (max-width: 900px) {
  .training-gallery {
    grid-template-columns: 1fr;
  }

  .training-gallery figure {
    height: 620px;
  }

  .coach-photo {
    height: 440px;
  }
}

@media (max-width: 580px) {
  .training-gallery figure,
  .coach-photo {
    height: 480px;
  }
}
