/* V24 · Movimiento editorial, sin interferir con el portal */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
#reading-progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:99999;background:#d8b678;transform:scaleX(0);transform-origin:left;pointer-events:none;will-change:transform}
@media (hover:hover) and (pointer:fine){
  #inicio .hero-buttons .btn,.section .btn,.split .btn,.event .btn{transition:transform .3s var(--motion-ease),box-shadow .3s ease,filter .3s ease}
  #inicio .hero-buttons .btn:hover,.section .btn:hover,.split .btn:hover,.event .btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.16)}
  #galeria .galeria-item{overflow:hidden;transition:box-shadow .4s ease,transform .4s var(--motion-ease)}
  #galeria .galeria-item img{transition:transform .75s var(--motion-ease)}
  #galeria .galeria-item:hover{transform:translateY(-5px);box-shadow:0 16px 35px rgba(0,0,0,.15)}
  #galeria .galeria-item:hover img{transform:scale(1.055)}
  #horarios .time{transition:transform .35s var(--motion-ease),box-shadow .35s ease}
  #horarios .time:hover{transform:translateY(-4px);box-shadow:0 12px 25px rgba(0,0,0,.09)}
}
#inicio .hero-content{animation:v24-hero-appear 1.05s var(--motion-ease) both}
#inicio .hero-buttons{animation:v24-hero-appear 1.05s .18s var(--motion-ease) both}
@keyframes v24-hero-appear{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
/* Los elementos se animan solamente cuando JS los marca como visibles. */
.v24-entrance{animation:v24-enter .72s var(--motion-ease) both;animation-delay:var(--v24-delay,0ms)}
@keyframes v24-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){#inicio .hero-content,#inicio .hero-buttons,.v24-entrance{animation:none!important}#reading-progress{display:none!important}#galeria .galeria-item,#galeria .galeria-item img,#horarios .time{transition:none!important}}
