/* AM Digital · estilos comunes de las webs de ejemplo */
.demo-aviso { position: relative; z-index: 60; background: linear-gradient(120deg, #4D8DFF, #A06BFF); color: #060A1A; font: 600 14px/1.4 system-ui, sans-serif; text-align: center; padding: 10px 16px; }
.demo-aviso a { color: #060A1A; }
.cortina { position: fixed; inset: 0; z-index: 100; background: var(--cortina, #000); transform-origin: top; transition: transform .9s cubic-bezier(.8,0,.2,1); pointer-events: none; }
.cortina.fuera { transform: scaleY(0); }

.js [data-rev] { opacity: 0; transform: translateY(40px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.js [data-rev="izq"] { transform: translateX(-60px); }
.js [data-rev="der"] { transform: translateX(60px); }
.js [data-rev="zoom"] { transform: scale(.9); }
.js [data-rev].en { opacity: 1; transform: none; }
[data-split] .pal { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
[data-split] .pal > span { display: inline-block; transform: translateY(105%); transition: transform 1s cubic-bezier(.2,.8,.2,1); }
[data-split].en .pal > span { transform: none; }
[data-magnet] { transition: translate .25s cubic-bezier(.2,.8,.2,1); }
[data-tilt] { transition: transform .2s ease-out; will-change: transform; }
.marquesina { overflow: hidden; white-space: nowrap; }
.marquesina > div { display: inline-flex; animation: marq var(--vel, 28s) linear infinite; }
@keyframes marq { to { transform: translateX(-50%); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .cortina { display: none; }
}
