.parallax-root {
  position: relative;
  overflow: hidden;
}

[data-parallax-speed] {
  --parallax-y: 0px;
  transform: translate3d(0, var(--parallax-y), 0);
  transition: transform 0.06s linear;
  will-change: transform;
}

.parallax-cover {
  top: -7% !important;
  height: 114% !important;
  transform: translate3d(0, var(--parallax-y), 0) scale(1.06);
}

.parallax-card {
  transform: translate3d(0, var(--parallax-y), 0);
}

@media (max-width: 767px) {
  .parallax-cover {
    top: -4% !important;
    height: 108% !important;
    transform: translate3d(0, calc(var(--parallax-y) * 0.45), 0) scale(1.03);
  }

  .blob[data-parallax-speed] {
    transform: translate3d(0, calc(var(--parallax-y) * 0.5), 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-parallax-speed],
  .parallax-cover,
  .parallax-card {
    transform: none !important;
    transition: none !important;
  }
}

.hero-slideshow {
  isolation: isolate;
}

.hero-slide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.8s ease;
  z-index: 0;
}

.hero-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}

.hero-slide-indicator {
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(255, 255, 255, 0.8);
  transition: width 0.25s ease, background-color 0.25s ease;
}

.hero-slide-indicator.is-active {
  width: 1.9rem;
  background: #F7941D;
  border-color: #F7941D;
}

.hero-slide-control {
  width: 2.55rem;
  height: 2.55rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: #1B2A4A;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px -14px rgba(27, 42, 74, 0.5);
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.hero-slide-control:hover {
  transform: translateY(-2px);
  background: #fff;
}

.hero-slide-control:focus-visible,
.hero-slide-indicator:focus-visible {
  outline: 3px solid rgba(247, 148, 29, 0.45);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  .hero-slide-control {
    width: 2.25rem;
    height: 2.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide {
    transition: none !important;
  }
}

.social-icon-circle {
  background-color: var(--social-bg, rgba(247, 148, 29, 0.12));
  color: var(--social-color, #F7941D);
}

.social-icon-circle:hover {
  background-color: var(--social-color, #F7941D);
  color: #fff;
  transform: translateY(-2px);
}

.social-icon-circle:focus-visible,
.social-icon-footer:focus-visible {
  outline: 3px solid rgba(247, 148, 29, 0.45);
  outline-offset: 3px;
  border-radius: 999px;
}
