/* Route-specific product proof. This augments the approved V2 layouts. */
.ag-proof-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  background: #eef5fb;
}

.ag-proof-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: contain;
  object-position: center;
}

.ag-service-family .section.banner .image-cover,
.ag-service-family .section.bord .image-cover,
.ag-service-family .section.growth .image-cover,
.ag-service-family .section.csr .image-cover,
.ag-service-family .action-image .image-cover {
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 3 / 2;
  object-fit: contain;
  object-position: center;
  background: #eef5fb;
}

.ag-service-family .action-image,
.ag-service-family .groth-image {
  min-width: 0;
  overflow: hidden;
  background: #eef5fb;
}

.ag-service-family .jobs-counter {
  font-size: clamp(1.05rem, 1.5vw, 1.45rem);
  letter-spacing: 0;
  overflow-wrap: normal;
}

.ag-service-family .ag-text-link {
  min-height: 44px;
  padding-block: 8px;
}

.ag-service-family .navbar-logo-wrap,
.ag-content-page .navbar-logo-wrap {
  flex-shrink: 0;
}

.ag-value-hook {
  width: min(1240px, calc(100% - 48px));
  margin: 72px auto 0;
  padding: clamp(32px, 5vw, 64px);
  color: #ffffff;
  background: #081b3a;
  border: 1px solid #17375d;
}

.ag-value-hook-contained {
  width: 100%;
  margin: 0 0 32px;
}

.ag-value-hook span {
  display: block;
  margin-bottom: 12px;
  color: #76dfda;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.ag-value-hook h2 {
  max-width: 900px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(2rem, 4vw, 4.25rem);
  line-height: 1.02;
  letter-spacing: 0;
}

.ag-value-hook p {
  max-width: 850px;
  margin: 20px 0 0;
  color: #d5e1ec;
  font-size: clamp(0.95rem, 1.4vw, 1.1rem);
  line-height: 1.65;
}

@media (max-width: 767px) {
  .ag-proof-image,
  .ag-service-family .section.banner .image-cover,
  .ag-service-family .section.bord .image-cover,
  .ag-service-family .section.growth .image-cover,
  .ag-service-family .section.csr .image-cover,
  .ag-service-family .action-image .image-cover {
    aspect-ratio: 3 / 2;
  }

  .ag-content-main .hero-media {
    min-height: 0;
  }

  .ag-value-hook {
    width: calc(100% - 28px);
    margin-top: 40px;
    padding: 28px 22px;
  }

  .ag-value-hook-contained {
    width: 100%;
    margin-top: 0;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .ag-content-main:not(.ag-about-page) > .hero h1,
  .ag-content-main > .page-intro h1 {
    font-size: clamp(44px, 5vw, 54px);
    line-height: 1.05;
  }

  .ag-featured-case-copy h3 {
    font-size: clamp(30px, 3.25vw, 36px);
  }
}

@media (max-width: 479px) {
  .ag-featured-case-copy h3 {
    font-size: 28px;
  }

  .ag-service-family .ag-proof-image,
  .ag-service-family .section.banner .image-cover,
  .ag-service-family .section.bord .image-cover,
  .ag-service-family .section.growth .image-cover,
  .ag-service-family .section.csr .image-cover,
  .ag-service-family .action-image .image-cover {
    min-height: 220px;
  }
}
