.ot-hero {
  position: relative;
  min-height: var(--hero-min-h);
  display: flex;
  align-items: center;
  overflow: hidden;
}

.ot-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.ot-hero__content {
  position: relative;
  z-index: 2;
  width: var(--hero-content-col);
  max-width: var(--hero-text-max);
}

.ot-hero__text {
  margin-top: 22px;
  margin-bottom: 32px;
}

.ot-hero h1 {
  margin-bottom: 0;
}

.ot-hero--dark {
  background-color: var(--c-hero-dark);
  background-size: cover;
  background-position: center;
}

.ot-hero--dark::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: linear-gradient(
    to right,
    rgba(30, 35, 72, 0.95) 0%,
    rgba(30, 35, 72, 0.60) 50%,
    rgba(30, 35, 72, 0) 100%
  );
}

.ot-hero--dark h1,
.ot-hero--dark .ot-hero__text {
  color: var(--c-white);
}

.ot-hero--dark .ot-eyebrow {
  color: var(--c-accent);
}

.ot-hero--soft {
  background-color: var(--c-white);
  background-size: cover;
  background-position: center right;
}

.ot-hero--soft::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: linear-gradient(
    to right,
    var(--c-white) 0%,
    var(--c-white) 38%,
    rgba(255, 255, 255, 0.60) 52%,
    rgba(255, 255, 255, 0) 70%
  );
}

.ot-hero--split .ot-container {
  display: grid;
  grid-template-columns: var(--hero-content-col) var(--hero-image-col);
  align-items: center;
  gap: 48px;
}

.ot-hero--split .ot-hero__content {
  width: 100%;
}

.ot-hero__figure {
  margin: 0;
}

.ot-hero__figure img {
  width: 100%;
  height: 100%;
  max-height: 520px;
  object-fit: cover;
  border-radius: var(--radius-card);
  display: block;
}

@media (max-width: 767.98px) {
  .ot-hero {
    min-height: 0;
    display: block;
    padding-block: var(--section-py);
  }

  .ot-hero__content {
    width: 100%;
    max-width: none;
  }

  .ot-hero--dark::before {
    background-image: linear-gradient(
      to bottom,
      rgba(30, 35, 72, 0.92) 0%,
      rgba(30, 35, 72, 0.88) 100%
    );
  }

  .ot-hero--soft::before {
    background-image: linear-gradient(
      to bottom,
      var(--c-white) 0%,
      var(--c-white) 62%,
      rgba(255, 255, 255, 0.75) 100%
    );
  }

  .ot-hero--split .ot-container {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .ot-hero--split .ot-hero__figure {
    order: -1;
  }
}

.ot-hero__subhead {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  font-size: var(--fs-h3);
  line-height: var(--lh-h3);
  font-weight: var(--fw-heading);
  letter-spacing: var(--ls-heading);
  color: var(--c-heading);
  margin: 18px 0 0;
}



