/* Factor H: animaciones. Solo actúan cuando JS marca <html class="fh-js">. */
.fh-js .fh-rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
.fh-js .fh-rv.fh-in{opacity:1;transform:none}
.fh-js .fh-edge::after,.fh-js .fh-edge-l::before{transform:scaleX(0);transition:transform 1.1s cubic-bezier(.65,0,.25,1) .35s}
.fh-js .fh-edge::after{transform-origin:left}
.fh-js .fh-edge-l::before{transform-origin:right}
.fh-js .fh-edge.fh-in::after,.fh-js .fh-edge-l.fh-in::before{transform:scaleX(1)}
.fh-js .fh-bars rect{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);transition:transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
.fh-js .fh-bars.fh-in rect{transform:scaleY(1)}
@keyframes fhZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes fhUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.fh-hero-photo{overflow:hidden}
.fh-hero-photo img{animation:fhZoom 2.6s cubic-bezier(.2,.7,.2,1) both}
.fh-hero-copy > *{animation:fhUp .9s cubic-bezier(.2,.7,.2,1) both}
.fh-hero-copy > *:nth-child(2){animation-delay:.12s}
.fh-hero-copy > *:nth-child(3){animation-delay:.24s}
.fh-hero-copy > *:nth-child(4){animation-delay:.36s}
.fh-js .fh-glyph{opacity:0;transform:translateY(40px);transition:opacity 1.6s ease .2s,transform 1.6s cubic-bezier(.2,.7,.2,1) .2s}
.fh-js .fh-glyph.fh-in{opacity:var(--o,1);transform:none}
a[style*="padding"]{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
a[style*="padding: 1"]:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,34,39,.22)}
.fh-sticky{position:sticky;top:0;z-index:50;transition:box-shadow .3s ease,background-color .3s ease}
.fh-sticky.fh-scrolled{box-shadow:0 6px 20px rgba(30,34,39,.10)}
@media (prefers-reduced-motion: reduce){
.fh-js .fh-rv,.fh-js .fh-glyph{opacity:1;transform:none;transition:none}
.fh-hero-photo img,.fh-hero-copy > *{animation:none}
.fh-js .fh-edge::after,.fh-js .fh-edge-l::before,.fh-js .fh-bars rect{transform:none;transition:none}
}
