/* Movimiento sutil: aparece al hacer scroll, titulares por palabra, contadores, fondo vivo */
.anim body{overflow-x:clip;animation:pgin .7s ease both}
@keyframes pgin{from{opacity:0}to{opacity:1}}
.anim .rv{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.anim .rv.in{opacity:1;transform:none}
.anim .rv.in.done{transition:border-color .15s,transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,opacity .2s}
.anim .rv-img{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s cubic-bezier(.2,.7,.2,1)}
.anim .frame.in .rv-img{clip-path:inset(0 0 0 0)}
.anim .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .04em .14em;margin:0 -.04em -.14em}
.anim .w>span{display:inline-block;transform:translateY(112%);transition:transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i)*70ms)}
.anim .split.in .w>span{transform:none}
.anim .hero h1 em{animation:hue 7s ease-in-out infinite alternate}
@keyframes hue{from{color:var(--pen,#1B2B6B)}to{color:var(--gold-ink,#7A6633)}}
.anim .hero{position:relative;isolation:isolate;overflow-x:clip;overflow-y:visible}
html.anim{overflow-x:clip}
.anim .hero::before,.anim .hero::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(64px);pointer-events:none}
.anim .hero::before{width:340px;height:340px;left:-90px;top:-70px;background:rgba(27,43,107,.13);animation:drift 16s ease-in-out infinite alternate}
.anim .hero::after{width:300px;height:300px;right:-50px;bottom:-40px;background:rgba(183,155,94,.28);animation:drift 20s ease-in-out infinite alternate-reverse}
@keyframes drift{from{transform:translate(0,0) scale(1)}to{transform:translate(60px,34px) scale(1.18)}}
.anim .hero-r .feat{animation:floaty 7s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.anim .gold,.anim .btn.gold{position:relative;overflow:hidden}
.anim .gold::after,.anim .btn.gold::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:sheen 5.5s ease-in-out infinite}
@keyframes sheen{0%,70%{left:-60%}100%{left:130%}}
.anim .line::before{transform-origin:left;transform:scaleX(0);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.anim .line.in::before{transform:scaleX(1)}
.anim .frame::before{opacity:0;transform:translate(-14px,-14px);transition:opacity 1s .5s,transform 1.2s .5s cubic-bezier(.2,.7,.2,1)}
.anim .frame.in::before{opacity:1;transform:none}
#sp{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--gold,#B79B5E);transform:scaleX(0);transform-origin:left;z-index:200;pointer-events:none}
@media (max-width:900px){.anim .line::before{transform-origin:top;transform:scaleY(0)}.anim .line.in::before{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){
  .anim body{animation:none}
  .anim .rv,.anim .rv-img,.anim .w>span,.anim .line::before,.anim .frame::before{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .anim .hero::before,.anim .hero::after,.anim .hero-r .feat,.anim .gold::after,.anim .hero h1 em{animation:none!important}
}
