main {
 /* To avoid floating images to result in horizontal scroll. */
  overflow-x: hidden;
  overflow: visible;
}

/* ffo */
.hero-narrow-root {
  overflow: hidden;
}

.hero-narrow-overflow {
  border-radius: var(--noa-radius-banner);
  padding-block: var(--noa-padding-block-padding);
}

.hero-narrow-inner {
  border-radius: var(--noa-radius-banner);
}

@media (min-width: 992px) {
  .hero-narrow-inner {
    display: grid;
    grid-template-columns: repeat(12,1fr);
    min-height: 320px;
  }
}

@media (min-width: 992px) {
  .hero-narrow-inner {
    min-height: 360px;
  }
}

@media (min-width: 1400px) {
  .hero-narrow-inner {
    min-height: 480px;
  }
}

.hero-narrow-content {
  display: flex;
  flex-direction: column;
  gap: var(--noa-spacing-xl);
  padding: var(--noa-grid-margin);
  z-index: 2;
}

@media (min-width: 992px) {
  .hero-narrow-content {
    grid-column: span 5;
    justify-content: center;
  }
}

.hero-narrow-content-copy {
  display: flex;
  flex-direction: column;
  gap: var(--noa-spacing-md);
}

.hero-narrow-content-cta {}

.hero-narrow-image-container {
  position: relative;
  height: 333px;
  pointer-events: none;
}


@media (min-width: 992px) {
  .hero-narrow-image-container {
      height: auto;
      margin-left: auto;
      grid-column: 6 / 13;
      width: 100%;
  }
}

.hero-narrow-image-container-inner {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  --ornament-offset-path-size: 50% 30%;
}

@media (min-width: 992px) {
  .hero-narrow-image-container-inner {
    top: calc((var(--noa-grid-margin) * -1) + 24px);
    --ornament-offset-path-size: 50% 40%;
  }
}

.hero-narrow-image-container-inner .overlay-image {
  position: absolute;
}


.hero-narrow-image-container-inner .photo {
  bottom: var(--noa-grid-margin);
  left: var(--noa-grid-margin);
  right: var(--noa-grid-margin);
  height: 100%;
  max-width: none;
  margin: 0 auto;
}

.hero-narrow-image-container-inner .hero-narrow-ornament-0 {
  --animation-from: 37.5%;
  --animation-to: 50%;
  left: -71.5%;
  bottom: -29.5%;
  width: 200px;
  /* define a circular path: radius 80px at center (100px,100px) */
  offset-path: ellipse(var(--ornament-offset-path-size) at 50% 55%);
  /* keep the dot upright instead of rotating with the path: */
  offset-rotate: 0deg;
  /* animate along the path: */
  animation: go-circle 3s ease-in-out infinite alternate;
}

@keyframes go-circle {
    from { offset-distance: var(--animation-from); }
    to   { offset-distance: var(--animation-to); }
}

@media (min-width: 992px) {
  .hero-narrow-image-container-inner .hero-narrow-ornament-0 {
    left: -37.5%;
    bottom: -30.5%;
    width: 180px;
    offset-path: ellipse(var(--ornament-offset-path-size) at 60% 40%);
  }
}


@media (min-width: 992px) {
  .hero-narrow-image-container-inner .hero-narrow-ornament-0 {
    width: 250px;
  }
}

.hero-narrow-image-container-inner .hero-narrow-ornament-2 {
  --animation-from: 9.5%;
  --animation-to: 30%;
  right: -48.5%;
  bottom: -5.5%;
  width: 170px;
  offset-path: ellipse(var(--ornament-offset-path-size) at 50% 55%);
  offset-rotate: 0deg;
  animation: go-circle 3s ease-in-out infinite alternate;
}

@media (min-width: 992px) {
  .hero-narrow-image-container-inner .hero-narrow-ornament-2 {
    right: -10%;
    width: 170px;
    bottom: 0%;
    offset-path: ellipse(var(--ornament-offset-path-size) at 60% 40%);
  }
}

@media (min-width: 992px) {
  .hero-narrow-image-container-inner .hero-narrow-ornament-2 {
    right: -31%;
    bottom: -2%;
    width: 230px;
  }
}

.hero-narrow-image-container-inner .hero-narrow-ornament-1 {
  --animation-from: -8%;
  --animation-to: 5%;
  right: -41%;
  top: 30px;
  width: 100px;
  offset-path: ellipse(var(--ornament-offset-path-size) at 50% 55%);
  offset-rotate: 0deg;
  animation: go-circle 3s ease-in-out infinite alternate;
}

@media (min-width: 992px) {
  .hero-narrow-image-container-inner .hero-narrow-ornament-1 {
    right: -16%;
    width: 150px;
    offset-path: ellipse(var(--ornament-offset-path-size) at 60% 40%);
  }
}

@media (min-width: 992px) {
  .hero-narrow-image-container-inner .hero-narrow-ornament-1 {
    right: -31%;
    width: 200px;
  }
}
