.cta-button {
  position: relative;
  justify-content: flex-end;
  overflow: hidden;
  isolation: isolate;
  animation: lineCtaPulse 2.6s ease-in-out infinite;
}

.cta-button > span:first-child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.cta-button__arrow {
  flex: 0 0 auto;
  margin-left: auto;
}

.cta-button::before {
  content: "";
  position: absolute;
  inset: -70% auto -70% -38%;
  z-index: -1;
  width: 28%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.54), transparent);
  transform: rotate(18deg);
  animation: lineButtonSheen 3.8s ease-in-out infinite;
}

.hero__glow--one {
  animation: lineGlowFloat 8s ease-in-out infinite alternate;
}

.hero__glow--two {
  animation: lineGlowFloat 10s ease-in-out -2s infinite alternate-reverse;
}

.hero__copy {
  animation: lineCopyRise 0.9s cubic-bezier(0.2, 0.75, 0.2, 1) both;
}

.hero__image-frame img {
  animation: lineHeroKenburns 16s ease-in-out infinite alternate;
  transform-origin: 64% 45%;
}

.hero__badge {
  animation: lineBadgeFloat 4.4s ease-in-out infinite;
}

.promise-card,
.benefit-card,
.first-month,
.trust-badges > div,
.comparison article,
.always-on,
.industry-card,
.action-flow,
.case-card,
.metrics > div,
.faq details {
  transition:
    transform 0.34s cubic-bezier(0.2, 0.75, 0.2, 1),
    box-shadow 0.34s ease,
    border-color 0.34s ease,
    filter 0.34s ease;
}

.promise-card:hover,
.benefit-card:hover,
.trust-badges > div:hover,
.comparison article:hover,
.always-on:hover,
.industry-card:hover,
.action-flow:hover,
.metrics > div:hover,
.faq details:hover {
  transform: translateY(-7px);
  box-shadow: 0 24px 54px rgba(90, 54, 12, 0.18);
  border-color: rgba(240, 74, 13, 0.42);
}

.promise-card__icon,
.benefit-card__icon,
.industry-card__visual,
.action-flow p svg,
.first-month__icon {
  filter: drop-shadow(0 12px 20px rgba(240, 74, 13, 0.18));
  transition: transform 0.34s cubic-bezier(0.2, 0.75, 0.2, 1), filter 0.34s ease;
}

.promise-card:hover .promise-card__icon,
.benefit-card:hover .benefit-card__icon,
.industry-card:hover .industry-card__visual,
.first-month__list article:hover .first-month__icon {
  transform: translateY(-5px) scale(1.06);
  filter: drop-shadow(0 18px 24px rgba(240, 74, 13, 0.28));
}

.dark-section,
.final-cta {
  position: relative;
  overflow: hidden;
}

.dark-section::before,
.final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 12%, rgba(240, 74, 13, 0.16), transparent 26%),
    radial-gradient(circle at 82% 22%, rgba(215, 154, 40, 0.12), transparent 24%);
  opacity: 0.8;
}

.dark-section > *,
.final-cta > * {
  position: relative;
}

.case-card {
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.35);
}

@keyframes lineCtaPulse {
  0%,
  100% {
    box-shadow: 0 12px 38px rgba(243, 68, 10, 0.28), inset 0 1px rgba(255, 255, 255, 0.35);
  }
  50% {
    box-shadow: 0 20px 58px rgba(243, 68, 10, 0.56), inset 0 1px rgba(255, 255, 255, 0.5);
  }
}

@keyframes lineButtonSheen {
  0%,
  56% {
    left: -38%;
  }
  82%,
  100% {
    left: 124%;
  }
}

@keyframes lineGlowFloat {
  from {
    transform: translate3d(0, 0, 0) scale(1);
  }
  to {
    transform: translate3d(28px, -18px, 0) scale(1.16);
  }
}

@keyframes lineCopyRise {
  from {
    opacity: 0;
    transform: translateY(26px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes lineHeroKenburns {
  from {
    transform: scale(1.02) translate3d(0, 0, 0);
  }
  to {
    transform: scale(1.08) translate3d(-1.6%, -0.8%, 0);
  }
}

@keyframes lineBadgeFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cta-button,
  .cta-button::before,
  .hero__glow--one,
  .hero__glow--two,
  .hero__copy,
  .hero__image-frame img,
  .hero__badge {
    animation: none !important;
  }
}
