/* Experiencia: entrada, planos a distinta velocidad y bordes con profundidad. */
@keyframes sactek-fade{from{opacity:0}to{opacity:1}}
.entrada-inicial{animation:sactek-fade 1.1s cubic-bezier(.2,.65,.3,1) both}
.hero__top.entrada-inicial{animation-delay:40ms}
.hero__stage.entrada-inicial{animation-duration:1.4s;animation-delay:140ms}
.hero__copy.entrada-inicial{animation-delay:280ms}
.site-nav.entrada-inicial{animation-delay:180ms}
.entrada-observada{opacity:0;transition:opacity .95s cubic-bezier(.2,.65,.3,1)}
.entrada-observada.entrada-visible{opacity:1}
.hero__stage,.sector__pin>img,.sector__contenido,.proceso__contenido{will-change:transform}
.sector__pin>img{transform:translate3d(0,var(--foto-y,0px),0) scale(1.16);transform-origin:center}
.sector__contenido{transform:translate3d(0,var(--texto-y,0px),0)}
.proceso__contenido{transform:translate3d(0,var(--contenido-y,0px),0)}
@media(min-width:768px){
 .proceso__panel:not(:first-child){box-shadow:-38px 0 65px #0009,-8px 0 18px #0006;border-left:1px solid #ffffff6b}
 .proceso__panel:not(:first-child)::before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background:linear-gradient(#ffffff12,#ffffff70 45%,#ffffff12);pointer-events:none}
}
@media(min-width:1024px) and (min-aspect-ratio:1/1){
 .hero[data-desktop="side"]{--hero-zoom:1.28;--hero-base:.86}
}
@media(max-width:1023px),(max-aspect-ratio:1/1){
 #sobre,.hero__fallback{width:min(88%,calc(100svh * .49))}
}
@media(max-width:767px){
 .sector__pin>img{transform:translate3d(0,var(--foto-y,0px),0) scale(1.1)}
 .proceso__contenido{transform:none}
 .hero__stage.entrada-inicial{animation-duration:1.2s}
}

@media(max-width:1023px),(max-aspect-ratio:1/1){
 #sobre,.hero__fallback{-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
}