/* Home hero: quiet orbital motion behind the new transparent portrait. */
.dofin-home-hero3 {
  position: relative;
  background:
    radial-gradient(circle at 76% 48%, rgba(245, 183, 50, 0.10), transparent 28%),
    radial-gradient(circle at 79% 49%, rgba(6, 38, 77, 0.07), transparent 48%),
    #fff;
}

.dofin-home-after-hero {
  margin-top: 0;
}

.dofin-home-after-hero > .advisor-trust-section {
  padding-top: 26px;
}

.dofin-home-hero3-orbits {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.dofin-home-hero3-orbit {
  position: absolute;
  top: 51%;
  left: 76%;
  display: block;
  width: var(--orbit-size);
  aspect-ratio: 1;
  border: 1px solid rgba(6, 38, 77, 0.13);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.dofin-home-hero3-orbit::after {
  content: "";
  position: absolute;
  inset: 15%;
  border: 1px dashed rgba(245, 183, 50, 0.12);
  border-radius: 50%;
}

.dofin-home-hero3-orbit > span {
  position: absolute;
  inset: -1px;
  border-radius: 50%;
  animation: dofin-hero-orbit var(--orbit-duration) linear infinite;
}

.dofin-home-hero3-orbit > span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -4px;
  width: var(--dot-size, 8px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--dot-color, #f5b732);
  box-shadow: 0 0 0 5px rgba(245, 183, 50, 0.11);
}

.dofin-home-hero3-orbit--one {
  --orbit-size: min(39vw, 600px);
  --orbit-duration: 34s;
}

.dofin-home-hero3-orbit--two {
  --orbit-size: min(57vw, 850px);
  --orbit-duration: 48s;
  --dot-color: #0b3b75;
  --dot-size: 6px;
  border-color: rgba(6, 38, 77, 0.09);
}

.dofin-home-hero3-orbit--two > span {
  animation-direction: reverse;
}

.dofin-home-hero3-orbit--two > span::before {
  box-shadow: 0 0 0 5px rgba(6, 38, 77, 0.08);
}

@keyframes dofin-hero-orbit {
  to { transform: rotate(360deg); }
}

.dofin-home-hero3-bg {
  z-index: 1;
}

.dofin-home-hero3-picture {
  width: min(52vw, 900px);
  height: 100%;
  transform: translateY(100px);
}

.dofin-home-hero3-image {
  object-fit: contain;
  object-position: right bottom;
}

.dofin-home-hero3-overlay {
  z-index: 2;
}

.dofin-home-hero3-inner {
  z-index: 3;
}

@media (min-width: 1024px) and (max-width: 1599px) {
  .dofin-home-hero3-inner {
    padding-left: clamp(8rem, 14vw, 14rem);
  }
}

@media (max-width: 900px) {
  .dofin-home-after-hero {
    margin-top: 0;
  }

  .dofin-home-after-hero > .advisor-trust-section {
    padding-top: 18px;
  }

  .dofin-home-hero3-orbit {
    top: 34%;
    left: 55%;
  }

  .dofin-home-hero3-orbit--one { --orbit-size: 75vw; }
  .dofin-home-hero3-orbit--two { --orbit-size: 115vw; }

  .dofin-home-hero3-picture {
    width: 100%;
    height: 100%;
  }

  .dofin-home-hero3-image {
    object-position: center var(--hero3-mobile-image-offset, 24px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dofin-home-hero3-orbit > span {
    animation: none;
  }
}
