.dgrd-hero {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  isolation: isolate;
  /* `overflow: hidden` clips the image's `object-fit: cover` overflow
   * and the decorative hex bleed at the section edges. */
  overflow: hidden;
}

@media (min-width: 1024px) {
  .dgrd-hero {
    min-height: 671.73px;
  }
}

.dgrd-hero__stage {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.dgrd-hero__image,
.dgrd-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;

  object-position: center right;
  display: block;
  border-radius: 0;
}

.dgrd-hero__video {
  background-color: #DDE5EA;
}

.dgrd-hero__gradient {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(
    90deg,
    var(--hero-gradient-color, #FFFFFF) 0%,
    var(--hero-gradient-color, #FFFFFF) 35%,
    rgba(255, 255, 255, 0) 75%
  );
}

@supports (background: color-mix(in srgb, red, blue)) {
  .dgrd-hero__gradient {
    background-image: linear-gradient(
      90deg,
      var(--hero-gradient-color, #FFFFFF) 0%,
      var(--hero-gradient-color, #FFFFFF) 35%,
      color-mix(in srgb, var(--hero-gradient-color, #FFFFFF) 70%, transparent) 55%,
      color-mix(in srgb, var(--hero-gradient-color, #FFFFFF) 0%, transparent) 75%
    );
  }
}

.dgrd-hero__shape {
  position: absolute;
  top: 0;
  right: max(40px, calc((100vw - 1440px) / 2 + 40px));
  width: clamp(440px, 46vw, 648px);
  aspect-ratio: 648 / 699;
  height: auto;
  color: #F2F4F6;
}

.dgrd-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 40px 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 671.73px;
}

.dgrd-hero__hex-svg {
  width: 100%;
  height: 100%;
  display: block;
}

.dgrd-hero__content {
  position: relative;
  z-index: 2;
  max-width: 580px;
  padding-top: 96px;
  padding-bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
  color: var(--hero-text-color, #34373B);
}

.dgrd-hero__eyebrow {
  color: var(--hero-eyebrow-color, #1E5D85);
  margin: 0;
}

.dgrd-hero__heading {
  margin: 0;
  font-weight: 500;
  font-size: 50px;
  line-height: 1.1;
  letter-spacing: 0;
  color: var(--hero-text-color, #34373B);
}

.dgrd-hero__description {
  margin: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 0;
  color: var(--hero-text-color, #34373B);
  max-width: 540px;
}

.dgrd-hero__cards {
  position: relative;
  z-index: 3;
  display: flex;
  gap: 24px;
  align-items: stretch;
  justify-content: flex-end;
  margin-top: auto;
  flex-wrap: wrap;
}

.dgrd-hero__card {
  position: relative;
  box-sizing: border-box;
  flex: 0 1 340px;
  min-width: 280px;
  padding: 30px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  background-color: var(--hero-card-bg, #FFFFFF);

  background-color: rgba(255, 255, 255, 0.6);
}

@supports (background: color-mix(in srgb, red, blue)) {
  .dgrd-hero__card {
    background-color: color-mix(
      in srgb,
      var(--hero-card-bg, #FFFFFF) calc(var(--hero-card-bg-alpha, 0.6) * 100%),
      transparent
    );
  }
}

.dgrd-hero__card {
  backdrop-filter: blur(50px);
  -webkit-backdrop-filter: blur(50px);
}

.dgrd-hero--no-blur .dgrd-hero__card {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.dgrd-hero__card:hover {
  cursor: pointer;
  background-color: #ffffff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.dgrd-hero__card:hover .dgrd-hero__card-button {
  cursor: pointer;
}

.dgrd-hero__card-head {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.dgrd-hero__card-icon {
  width: 32px;
  height: auto;
  display: block;
  flex-shrink: 0;
}

.dgrd-hero__card-title {
  margin: 0;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.1;
  color: #34373B;
}

.dgrd-hero__card-description {
  margin: 0 0 16px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: #34373B;
  text-align: center;
  flex: 1 1 auto;
}

.dgrd-hero__card-cta {
  display: flex;
  justify-content: center;
  margin-top: auto;
}

/* Lock the card layout against any external `*` resets that might pad/
 * margin-collapse the article. */
.dgrd-hero__card,
.dgrd-hero__card-head,
.dgrd-hero__card-cta {
  box-sizing: border-box;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .dgrd-hero__inner {
    min-height: 0;
    padding: 0 40px;

    display: block;
  }

  .dgrd-hero__stage {
    display: block;
  }

  .dgrd-hero__image,
  .dgrd-hero__video {

    object-position: center;
  }

  .dgrd-hero__shape {
    display: none;
  }

  .dgrd-hero__gradient {
    background-image: linear-gradient(
      180deg,
      var(--hero-gradient-color, #FFFFFF) 0%,
      var(--hero-gradient-color, #FFFFFF) 35%,
      rgba(255, 255, 255, 0) 80%
    );
  }

  @supports (background: color-mix(in srgb, red, blue)) {
    .dgrd-hero__gradient {
      background-image: linear-gradient(
        180deg,
        var(--hero-gradient-color, #FFFFFF) 0%,
        var(--hero-gradient-color, #FFFFFF) 35%,
        color-mix(in srgb, var(--hero-gradient-color, #FFFFFF) 50%, transparent) 60%,
        color-mix(in srgb, var(--hero-gradient-color, #FFFFFF) 0%, transparent) 80%
      );
    }
  }

  .dgrd-hero__content {
    max-width: 600px;
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 32px;
  }

  .dgrd-hero__heading {
    font-size: 45px;
  }

  .dgrd-hero__cards {
    margin-top: 0;
    justify-content: flex-start;
  }

  .dgrd-hero__card {
    flex: 1 1 calc(50% - 12px);
  }
}

@media (max-width: 767px) {
  .dgrd-hero__inner {
    min-height: 0;
    padding: 0 16px;
    display: block;
  }

  .dgrd-hero__stage {
    display: block;
  }

  .dgrd-hero__image,
  .dgrd-hero__video {

    object-position: center;
  }

  .dgrd-hero__shape {
    display: none;
  }

  .dgrd-hero__gradient {
    background-image: linear-gradient(
      180deg,
      var(--hero-gradient-color, #FFFFFF) 0%,
      var(--hero-gradient-color, #FFFFFF) 35%,
      rgba(255, 255, 255, 0) 80%
    );
  }

  @supports (background: color-mix(in srgb, red, blue)) {
    .dgrd-hero__gradient {
      background-image: linear-gradient(
        180deg,
        var(--hero-gradient-color, #FFFFFF) 0%,
        var(--hero-gradient-color, #FFFFFF) 35%,
        color-mix(in srgb, var(--hero-gradient-color, #FFFFFF) 50%, transparent) 60%,
        color-mix(in srgb, var(--hero-gradient-color, #FFFFFF) 0%, transparent) 80%
      );
    }
  }

  .dgrd-hero__content {
    max-width: 100%;
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 100px;
    align-items: center;
    text-align: center;
  }

  .dgrd-hero__eyebrow {
    justify-content: center;
  }

  .dgrd-hero__heading {
    font-size: 35px;
    text-align: center;
  }

  .dgrd-hero__description {
    text-align: center;
    max-width: 100%;
  }

  .dgrd-hero__cards {
    margin-top: 0;
    flex-direction: column;
    gap: 24px;
    justify-content: stretch;
  }

  .dgrd-hero__card {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .dgrd-hero__card-title {
    font-size: 25px;
  }
}
