/* Layout adjustments for the 19 campaign landings; index.html remains unchanged. */
.soul-wp-landing .soul-page--campaign :is(.hero-button, .where-cta, .contact-form button) {
  border-radius: 999px;
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.soul-wp-landing .soul-page--campaign :is(.hero-button, .where-cta, .contact-form button):hover {
  transform: translateY(-1px);
}

.soul-wp-landing .soul-hero--landing .soul-hero-content {
  padding-top: 172px;
}

.soul-wp-landing .soul-hero--landing .soul-hero-title {
  gap: 3px;
}

.soul-wp-landing .soul-hero--landing .hero-main-line,.soul-wp-landing .soul-hero--landing .hero-second-line {
  max-width: min(96vw, 1120px);
  font-size: clamp(38px, 4.25vw, 68px);
  line-height: 1;
  white-space: normal;
  text-wrap: balance;
}

.soul-wp-landing .soul-hero--landing .soul-hero-tagline {
  margin-top: 48px;
}

.soul-wp-landing .soul-hero--custom-banner .soul-hero-base,.soul-wp-landing .soul-hero--custom-banner .soul-hero-photo,.soul-wp-landing .soul-hero--custom-banner .soul-hero-detail {
  display: none;
}

.soul-wp-landing .soul-hero-banner {
  position: absolute;
  z-index: -3;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.soul-wp-landing .soul-hero--custom-banner .soul-hero-shade {
  background: linear-gradient(90deg, rgb(3 16 37 / 54%), rgb(3 16 37 / 42%));
}

.soul-wp-landing .soul-page--campaign .contact-form button {
  max-width: 100%;
  white-space: normal;
}

@media (max-width: 600px) {
  .soul-wp-landing .soul-hero--landing .soul-hero-content {
    padding-top: 128px;
  }

  .soul-wp-landing .soul-hero--landing .hero-main-line,.soul-wp-landing .soul-hero--landing .hero-second-line {
    max-width: calc(100vw - 28px);
    font-size: clamp(30px, 9vw, 42px);
    line-height: 1.08;
  }

  .soul-wp-landing .soul-hero--landing .soul-hero-tagline {
    margin-top: 28px;
  }
}
