/* Efectos visuales · todo se desactiva con prefers-reduced-motion */
.hero>img{will-change:transform;transform:scale(1.12)}
canvas.caustics{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.3;
  -webkit-mask-image:linear-gradient(180deg,transparent 25%,#000 62%,#000 100%);mask-image:linear-gradient(180deg,transparent 25%,#000 62%,#000 100%)}
/* titular palabra a palabra */
.w{display:inline-block;opacity:0;transform:translateY(.55em);filter:blur(8px);animation:wr 1s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--i)*75ms + 250ms)}
@keyframes wr{to{opacity:1;transform:none;filter:none}}
/* imágenes que se abren como una ventana */
.split img,.gal img{clip-path:inset(9% round 18px);transform:scale(1.14);transition:clip-path 1.3s cubic-bezier(.2,.7,.2,1),transform 1.6s cubic-bezier(.2,.7,.2,1)}
.split img.in,.gal img.in{clip-path:inset(0 round 18px);transform:none}
.gal img:nth-child(2){transition-delay:.12s}.gal img:nth-child(3){transition-delay:.24s}
/* tarjetas con inclinación y brillo */
.pcard,.plan{transform-style:preserve-3d}
.pcard{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0))}
.pcard:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px)}
.plan{transition:transform .18s ease-out,box-shadow .3s}.plan.tilt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;opacity:0;transition:opacity .3s;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.3),transparent 45%)}
.pcard:hover .glare,.plan:hover .glare{opacity:1}
/* cronograma que se dibuja */
.tl{border-left-color:rgba(120,140,180,.25)}
.tl::before{content:"";position:absolute;left:-3px;top:0;width:3px;height:var(--p,0%);background:linear-gradient(180deg,var(--orange),var(--cyan));transition:height .15s linear}
.tl li::before{background:#c9d3e8;box-shadow:0 0 0 2px #c9d3e8;transition:.5s}
.tl li.on::before{background:var(--orange);box-shadow:0 0 0 2px var(--orange),0 0 0 9px rgba(241,90,36,.18)}
/* mapa: sonar + vista previa */
.ring{fill:none;stroke:#f15a24;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:sonar 2.6s ease-out infinite}
@keyframes sonar{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.4);opacity:0}}
.pv{opacity:0;transform:scale(.6);transform-box:fill-box;transform-origin:center;transition:.35s cubic-bezier(.2,.8,.2,1);pointer-events:none}
a:hover .pv,a:focus-visible .pv{opacity:1;transform:none}
svg a{cursor:pointer}
@media(prefers-reduced-motion:reduce){.hero>img{transform:none}canvas.caustics{display:none}.w{opacity:1;transform:none;filter:none;animation:none}.split img,.gal img{clip-path:none;transform:none;transition:none}.ring{animation:none}.tl::before{height:100%}.tl li::before{background:var(--orange);box-shadow:0 0 0 2px var(--orange)}}
