[data-block-alias="heroHeader"].hero-header {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  grid-column: span 12;
}

[data-block-alias="heroHeader"].hero-header::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--hero-bg-mobile, transparent);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: max(1000px, 80%) auto;
  opacity: 0;
  transform: scale(1.1);
  transition: opacity 3s cubic-bezier(0.05, 0.95, 0.05, 1), transform 6s cubic-bezier(0.05, 0.95, 0.05, 1);
  will-change: opacity, transform;
}

[data-block-alias="heroHeader"].hero-header.is-visible::after {
  opacity: 1;
  transform: scale(1);
}

[data-block-alias="heroHeader"].hero-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(to bottom, rgb(0, 0, 0) 25%, rgba(0, 0, 0, 0.4) 30%, transparent 100%);
  z-index: -1;
  pointer-events: none;
}

[data-block-alias="heroHeader"].hero-header .document-margin {
  height: inherit;
}

[data-block-alias="heroHeader"].hero-header .hero-header-content {
  position: relative;
  z-index: 1;
  height: inherit;
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.6286rem + 1.5238vw, 2rem);
  justify-content: flex-start;
  padding-top: 160px;
  grid-column: 2 / 12;
}

[data-block-alias="heroHeader"].hero-header h1, 
[data-block-alias="heroHeader"].hero-header h3 {
  width: 100%;
  margin: 0;
  letter-spacing: 0%;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4);
}

[data-block-alias="heroHeader"].hero-header h1 {
  font-size: clamp(2rem, 1.1179rem + 3.619vw, 4.375rem);
}

[data-block-alias="heroHeader"].hero-header h3 {
  font-size: clamp(1.5rem, 0.8964rem + 2.4762vw, 3.125rem);
  margin-bottom: 16px;
}

[data-block-alias="heroHeader"].hero-header .hero-header-content button {
  width: 100%;
  font-size: clamp(1rem, 0.8143rem + 0.7619vw, 1.5rem);
  padding: clamp(0.4375rem, 0.4143rem + 0.0952vw, 0.5rem) clamp(0.9375rem, 0.9143rem + 0.0952vw, 1rem);
}

[data-block-alias="heroHeader"].hero-header h1,
[data-block-alias="heroHeader"].hero-header h3,
[data-block-alias="heroHeader"].hero-header .hero-header-content button {
  opacity: 0;
  transform: translateX(-60px);
  transition: opacity 3s cubic-bezier(0.05, 0.95, 0.05, 1), transform 3s cubic-bezier(0.05, 0.95, 0.05, 1);
  will-change: opacity, transform;
}

[data-block-alias="heroHeader"].hero-header h1 {
  transition-delay: 0.4s;
}

[data-block-alias="heroHeader"].hero-header h3 {
  transition-delay: 0.6s;
}

[data-block-alias="heroHeader"].hero-header .hero-header-content button {
  transition-delay: 0.8s;
}

[data-block-alias="heroHeader"].hero-header.is-visible h1,
[data-block-alias="heroHeader"].hero-header.is-visible h3,
[data-block-alias="heroHeader"].hero-header.is-visible .hero-header-content button {
  opacity: 1;
  transform: translateX(0);
}

@media (min-width: 980px) {
  [data-block-alias="heroHeader"].hero-header .hero-header-content button {
    width: max-content;
  }
}

@media (min-width: 1001px) {
  [data-block-alias="heroHeader"].hero-header::after {
    background-size: 100%; 
  }
}

@media (min-width: 1280px) {
  [data-block-alias="heroHeader"].hero-header::after {
    background-image: var(--hero-bg, transparent);
    background-position: bottom right;
    background-size: auto 100%;
  }
  
  [data-block-alias="heroHeader"].hero-header::before {
    background-image: linear-gradient(to right, rgb(0, 0, 0) 40%, rgba(0, 0, 0, 0.4) 45%, transparent 100%);
  }
  
  [data-block-alias="heroHeader"].hero-header .hero-header-content {
    justify-content: center;
    grid-column: 2 / 8;
  }
  
  [data-block-alias="heroHeader"].hero-header h1, 
  [data-block-alias="heroHeader"].hero-header h3 {
    width: 100%;
  }
}

@media (min-width: 1592px) {
  [data-block-alias="heroHeader"].hero-header h1,
  [data-block-alias="heroHeader"].hero-header h3 {
    width: 90%;
  }
}

@media (min-width: 1629px) {
  [data-block-alias="heroHeader"].hero-header h1,
  [data-block-alias="heroHeader"].hero-header h3 {
    width: 84%;
  }
}