[data-reveal],[data-reveal-child]{opacity:0}
body:not(.intro-done) [data-reveal]{opacity:0}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.9);opacity:0}}
@keyframes spin-slow{to{transform:rotate(360deg)}}
.spin-slow{animation:spin-slow 18s linear infinite}
#hero-atom .electron{opacity:0;transform-origin:center;transform-box:fill-box}
#hero-atom #nucleus{opacity:0;transform-origin:center;transform-box:fill-box}
#hero-atom ellipse{fill:none;stroke:var(--teal);stroke-width:2.4}
#hero-atom #nucleus,#hero-atom .electron{fill:var(--teal-light)}
.hero-eyebrow,.hero-heading .line,.hero-sub,.hero-cta{opacity:0;transform:translateY(24px)}
.hero-heading{overflow:visible}
.hero-heading .line{display:block}

/* motion doc swatches (used only inside the "Efeitos & Motion" section of the style guide) */
.motion-demo{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}
.motion-demo-box{width:100%;height:96px;border-radius:var(--radius-md);background:var(--teal-50);display:flex;align-items:center;justify-content:center;color:var(--teal)}
.motion-demo-box svg{width:32px;height:32px}
.demo-hover:hover{transform:translateY(-6px) scale(1.03);box-shadow:var(--shadow-md)}
.demo-pulse{animation:demo-pulse 1.8s ease-in-out infinite}
@keyframes demo-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  [data-reveal],[data-reveal-child],body:not(.intro-done) [data-reveal],.hero-eyebrow,.hero-heading .line,.hero-sub,.hero-cta,#hero-atom .electron,#hero-atom #nucleus{opacity:1 !important;transform:none !important}
  #hero-atom ellipse{stroke-dashoffset:0 !important}
  .wa-float::before,.spin-slow,.demo-pulse,.device-laptop,.floating-badge,.card-case-media img,.device-btn,.device-cards span:first-child{animation:none !important}
  .floating-badge,.device-laptop{opacity:1 !important}
  .card,.btn,.social-btn,.nav-links a::after,.accordion-icon,.accordion-panel{transition:none !important}
}
