.header-inner {
  position: relative;
}

.header-nav {
  gap: clamp(0.65rem, 1.55vw, 2rem);
}

.services-trigger {
  appearance: none;
  background: none;
  border: 0;
  cursor: pointer;
  white-space: nowrap;
}

.services-trigger span {
  color: #79c998;
  font-size: 0.8em;

  margin-left: 3px;
}

.services-mobile-trigger {
  display: none;
}

.services-mega[hidden] {
  display: none;
}

.services-mega {
  position: absolute;
  top: calc(100% + 12px);
  left: 0;

  width: 100%;
  padding: 25px;

  background: rgba(12, 23, 17, 0.91);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: 0 25px 65px #0007;
}

.services-mega-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;

  padding-bottom: 20px;

  color: #8baa97;
  font: 10px/1.7 var(--font-mono);
  letter-spacing: 0.08em;
}

.services-mega-heading a {
  color: #edfff4;
  text-decoration: none;
  letter-spacing: 0;
  font: 500 12px/1.5 var(--font-body);
}

.services-mega-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.services-mega-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px 4px;
  align-items: center;

  color: #e9f3ed;
  text-decoration: none;
  font: 500 13px/1.5 var(--font-body);
}

.services-mega-item img {
  grid-column: 1/-1;

  width: 100%;
  height: 112px;
  object-fit: cover;
  border-radius: 9px;
  filter: saturate(0.7);

  transition: filter 0.4s;
}

.services-mega-item:hover img {
  filter: saturate(1);
}

.service-arrow {
  color: #83dba1;
}

.services-mega a:focus-visible,
.services-trigger:focus-visible,
.hero-services-link:focus-visible,
.service-card:focus-visible {
  outline: 2px solid #85e7aa;
  outline-offset: 5px;
  border-radius: 4px;
}

.hero-content {
  gap: 1.5rem;
}

.hero-offer {
  margin: 0;
  max-width: 610px;

  color: rgba(255, 255, 255, 0.8);
  font: 500 clamp(1rem, 1.3vw, 1.18rem) / 1.65 var(--font-body);
  text-wrap: pretty;
}

.hero-description {
  font-size: clamp(0.9rem, 1.15vw, 1.05rem);
  line-height: 1.65;
  color: #99ada0;
}

.hero-services-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;

  padding: 12px 0;

  color: #e2f5e9;
  font: 500 13px/1.5 var(--font-body);
  text-decoration: none;
}

.hero-services-link span {
  color: #7fe7a5;
}

.hero-cta-group {
  gap: 10px 22px;
}

.hero-cta-group #ctaShowreel {
  font-size: 12px;
}

.services-section {
  width: min(var(--container-max), 100%);
  padding: clamp(70px, 9vw, 140px) var(--container-pad);
  margin: auto;
  scroll-margin-top: 115px;
}

.services-section:focus {
  outline: none;
}

.services-section-heading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9%;
  align-items: end;

  margin-bottom: 45px;
}

.services-eyebrow {
  color: #78b98d;
  font: 10px/1.8 var(--font-mono);
  letter-spacing: 0.14em;

  margin: 0 0 22px;
}

.services-section h2 {
  margin: 0;

  font: 600 clamp(2.6rem, 4.7vw, 4.6rem) / 1.05 var(--font-display);
  letter-spacing: -0.045em;
}

.services-section-heading > p {
  color: #a5b8ac;
  font-size: 1rem;
  line-height: 1.8;

  margin: 0;
  max-width: 450px;
}

.services-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 42px 28px;
}

.service-card {
  color: #f0f7f2;
  text-decoration: none;

  display: block;
}

.service-card-photo {
  position: relative;

  aspect-ratio: 4/3;
  overflow: hidden;

  border-radius: 12px;
  background: #122018;
}

.service-card-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.service-card:hover img {
  transform: scale(1.035);
}

.service-card-photo > span {
  position: absolute;
  right: 16px;
  bottom: 16px;

  width: 36px;
  height: 36px;

  display: grid;
  place-items: center;

  background: #0c1c12b3;
  backdrop-filter: blur(12px);
  border: 1px solid #ffffff24;
  border-radius: 50%;

  color: #d2f8df;
}

.service-card h3 {
  font-size: 1.18rem;
  letter-spacing: -0.015em;
  font-weight: 500;

  margin: 19px 0 9px;
}

.service-card p {
  color: #94a99c;
  font-size: 0.87rem;
  line-height: 1.7;

  margin: 0;
}

@media (max-width: 1200px) and (min-width: 861px) {
  .header-status {
    display: none;
  }

  .header-inner {
    gap: 15px;
  }

  .nav-link {
    font-size: 0.8rem;
  }
}

@media (max-width: 860px) {
  .services-mobile-trigger {
    display: inline-flex;
    align-items: center;

    min-height: 44px;
    padding: 5px;

    color: #e9f5ee;
    font: 500 12px var(--font-body);
  }

  .services-mega {
    padding: 20px;
    max-height: calc(100dvh - 145px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .services-mega-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .services-mega-item {
    grid-template-columns: 60px 1fr auto;
    gap: 14px;

    min-height: 54px;

    font-size: 13px;
  }

  .services-mega-item img {
    grid-column: auto;

    width: 60px;
    height: 48px;

    border-radius: 6px;
  }

  .services-mega-heading {
    align-items: start;
    flex-direction: column;
    gap: 8px;
  }

  .services-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services-section-heading {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}

@media (max-width: 600px) {
  .header-inner,
  .app-header.is-scrolled .header-inner {
    padding-left: 10px;
    padding-right: 10px;

    gap: 8px;
  }

  .header-actions {
    gap: 9px;
  }

  .header-actions .scroll-tracker {
    display: none;
  }

  .brand-block {
    gap: 7px;
  }

  .brand-name {
    font-size: 11px;
  }

  .brand-tag {
    font-size: 6px;
  }

  .brand-monogram {
    width: 32px;
    height: 32px;
  }

  .btn-header-glass {
    padding: 10px 12px;

    font-size: 10px;
  }

  .services-card-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .services-section-heading {
    margin-bottom: 30px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .service-card-photo img,
  .services-mega-item img {
    transition: none;
  }
}
