/* Movimento editorial do hero */
.hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.hero .container {
  position: relative;
  z-index: 2;
}

.hero-ambient {
  position: absolute;
  inset: 82px 0 0;
  z-index: 0;
  pointer-events: none;
}

.hero-ambient span {
  position: absolute;
  border: 1px solid rgba(255, 101, 0, .15);
  border-radius: 50%;
  animation: ambient-drift 9s ease-in-out infinite alternate;
}

.hero-ambient span:first-child {
  width: 280px;
  height: 280px;
  left: -130px;
  top: 45px;
}

.hero-ambient span:nth-child(2) {
  width: 110px;
  height: 110px;
  left: 45%;
  bottom: 22px;
  animation-delay: -3s;
}

.hero-ambient span:nth-child(3) {
  width: 440px;
  height: 440px;
  right: -260px;
  top: -190px;
  border-color: rgba(17, 17, 17, .06);
  animation-delay: -5s;
}

.hero-ambient i {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 0 8px rgba(255, 101, 0, .08);
  animation: ambient-dot 5s ease-in-out infinite;
}

.hero-ambient i:nth-last-child(2) { left: 6%; top: 66%; }
.hero-ambient i:last-child { left: 48%; top: 20%; animation-delay: -2.2s; }

.hero-copy.visible .eyebrow,
.hero-copy.visible h1,
.hero-copy.visible .lead,
.hero-copy.visible .actions,
.hero-copy.visible .trust-list {
  animation: hero-rise .7s cubic-bezier(.22, .61, .36, 1) both;
}

.hero-copy.visible h1 { animation-delay: .08s; }
.hero-copy.visible .lead { animation-delay: .17s; }
.hero-copy.visible .actions { animation-delay: .26s; }
.hero-copy.visible .trust-list { animation-delay: .36s; }

.hero-copy h1 em {
  position: relative;
  display: inline-block;
  background: linear-gradient(100deg, var(--orange) 15%, #ff9a58 48%, var(--orange) 80%);
  background-size: 220% auto;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: text-shimmer 4.5s linear infinite;
}

.typing-word {
  display: inline-grid;
  width: 9.2ch;
  min-width: 9.2ch;
  white-space: nowrap;
  text-align: left;
  filter: drop-shadow(0 5px 14px rgba(255, 101, 0, .12));
}

.typing-word span {
  grid-area: 1 / 1;
  width: max-content;
}

.typing-word i {
  display: inline-block;
  position: absolute;
  left: var(--cursor-x, 3.1em);
  top: .04em;
  width: 3px;
  height: .9em;
  margin-left: 4px;
  border-radius: 2px;
  background: var(--orange);
  vertical-align: -.04em;
  transform: translateY(.08em);
  box-shadow: 0 0 12px rgba(255, 101, 0, .32);
  animation: typing-cursor .8s steps(1) infinite;
  transition: opacity .15s;
}

.typing-word.is-typing i { animation: none; opacity: 1; }
.typing-word.is-paused i { animation-duration: .72s; }

.hero-copy .eyebrow span {
  transform-origin: left;
  animation: line-breathe 2.2s ease-in-out infinite;
}

.hero-copy .btn:first-child span {
  display: inline-block;
  animation: arrow-nudge 1.8s ease-in-out infinite;
}

.trust-list li {
  transition: color .25s, transform .25s;
}

.trust-list li:hover {
  color: var(--ink);
  transform: translateY(-2px);
}

.slider.visible {
  animation: slider-arrive .9s cubic-bezier(.22, .61, .36, 1) both;
}

.slide.active .slide-kicker,
.slide.active h2,
.slide.active p,
.slide.active .mini-pills,
.slide.active .slide-content > a {
  animation: slide-copy-in .55s ease both;
}

.slide.active h2 { animation-delay: .07s; }
.slide.active p { animation-delay: .14s; }
.slide.active .mini-pills,
.slide.active .slide-content > a { animation-delay: .21s; }

.slide.active .orbit { animation: visual-float 4.2s ease-in-out infinite; }
.slide.active .orbit:before { animation: orbit-spin 12s linear infinite; }
.slide.active .orbit:after { animation: orbit-spin 8s linear infinite reverse; }
.slide.active .chart i { transform-origin: bottom; animation: bar-grow .7s ease both; }
.slide.active .chart i:nth-child(2) { animation-delay: .1s; }
.slide.active .chart i:nth-child(3) { animation-delay: .2s; }
.slide.active .chart i:nth-child(4) { animation-delay: .3s; }
.slide.active .phone div { animation: phone-float 4s ease-in-out infinite; }
.slide.active .shield { animation: shield-pulse 3s ease-in-out infinite; }
.slide.active .keys { animation: visual-float 3.8s ease-in-out infinite; }
.slide.active .card div { animation: card-float 4s ease-in-out infinite; }

@keyframes hero-rise {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes slider-arrive {
  from { opacity: 0; transform: translateX(30px) scale(.98); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes slide-copy-in {
  from { opacity: 0; transform: translateY(13px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes ambient-drift {
  to { transform: translate3d(18px, -20px, 0) scale(1.04); }
}

@keyframes ambient-dot {
  0%, 100% { transform: translateY(0); opacity: .45; }
  50% { transform: translateY(-16px); opacity: 1; }
}

@keyframes text-shimmer { to { background-position: -220% center; } }
@keyframes typing-cursor { 50% { opacity: 0; } }
@keyframes line-breathe { 50% { transform: scaleX(1.55); } }
@keyframes arrow-nudge { 50% { transform: translateX(5px); } }
@keyframes visual-float { 50% { transform: translateY(-8px); } }
@keyframes orbit-spin { to { transform: rotate(360deg); } }
@keyframes bar-grow { from { transform: scaleY(.15); opacity: .35; } to { transform: scaleY(1); opacity: 1; } }
@keyframes phone-float { 0%,100% { transform: rotate(4deg) translateY(0); } 50% { transform: rotate(1deg) translateY(-8px); } }
@keyframes shield-pulse { 50% { transform: scale(1.04); filter: drop-shadow(0 12px 18px rgba(255,101,0,.2)); } }
@keyframes card-float { 0%,100% { transform: rotate(-5deg) translateY(0); } 50% { transform: rotate(-2deg) translateY(-9px); } }

@media (max-width: 768px) {
  .hero-ambient span:nth-child(2),
  .hero-ambient i:last-child { display: none; }
  .typing-word { width: 9.2ch; min-width: 9.2ch; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-ambient *,
  .hero-copy.visible *,
  .slider.visible,
  .slide.active *,
  .hero-copy h1 em {
    animation: none !important;
  }

  .typing-word i { display: none; }
}
