/* Movimento e opacidade evitam recalcular o layout. */
@keyframes enter-up { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@keyframes float-logo { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-12px) rotate(2deg); } }
@keyframes float-sticker { 0%,100% { transform:translateY(0) rotate(-8deg); } 50% { transform:translateY(6px) rotate(-4deg); } }
@keyframes ribbon-scroll { to { transform:translateX(-50%); } }
@keyframes modal-in { from { opacity:0; transform:translateY(14px) scale(.97); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes backdrop-in { from { opacity:0; } to { opacity:1; } }
.hero-copy > * { animation:enter-up .65s cubic-bezier(.2,.7,.2,1) backwards; }
.hero-copy > :nth-child(2) { animation-delay:.08s; }
.hero-copy > :nth-child(3) { animation-delay:.16s; }
.hero-copy > :nth-child(4) { animation-delay:.23s; }
.hero-copy > :nth-child(5) { animation-delay:.3s; }
.hero-copy > :nth-child(6) { animation-delay:.36s; }
.hero-art { animation:enter-up .85s .2s both; }
.logo-disc { animation:float-logo 5s ease-in-out infinite; }
.sticker { animation:float-sticker 4s ease-in-out infinite; }
.ribbon > div { gap:0; animation:ribbon-scroll 6s linear infinite; }
.ribbon .ribbon-group { display:flex; flex:none; min-width:100vw; justify-content:space-around; align-items:center; gap:32px; padding-right:32px; font-size:inherit; }
.ribbon-group i { font-style:normal; }
.ribbon:hover > div { animation-play-state:paused; }
.reveal { opacity:0; transform:translateY(26px); transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity:1; transform:translateY(0); }
.cta,.header-cta,.round,.offer,.text-link,.play-control { transition:transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .25s ease; }
.cta > span:last-child,.text-link > span,.header-cta > span { transition:transform .22s ease; }
.cta:active,.header-cta:active,.round:active,.offer:active { transform:scale(.97); }
@media (hover:hover) {
.cta:hover { box-shadow:0 9px 28px #ff801935; }
.cta:hover > span:last-child,.text-link:hover > span,.header-cta:hover > span { transform:translateX(4px); }
.header-cta:hover { border-color:var(--orange); background:#ff801912; }
.offer:hover { transform:translateY(-3px); box-shadow:0 7px 20px #0005; }
.round:hover { background:#ff801915; }
.play-control:hover { color:var(--white); }
}
dialog[open] { animation:modal-in .23s ease-out; }
dialog[open]::backdrop { animation:backdrop-in .2s ease-out; }
@media (prefers-reduced-motion:reduce) {
*,*::before,*::after { animation:none!important; transition:none!important; }
.reveal { opacity:1; transform:none; }
html { scroll-behavior:auto; }
}
