/* Fany Calvo Postrería — Touch Timeline V9.4
   Touch navigation advances scenes; motion plays on its own timeline.
   Scroll chooses the scene. Scroll position never scrubs the animation itself. */

body.v9-cinematic.v9-touch-timeline{
  --v94-ease:cubic-bezier(.16,1,.3,1);
  --v94-fast:520ms;
  --v94-main:880ms;
  --v94-slow:1180ms;
}

/* HERO — load/opening motion runs automatically. */
body.v9-cinematic.v9-touch-timeline .v9-hero .hero-media{
  transition:clip-path var(--v94-slow) var(--v94-ease);
}
body.v9-cinematic.v9-touch-timeline .v9-hero .hero-media img{
  transition:transform 1.45s var(--v94-ease),filter .8s ease;
}
body.v9-cinematic.v9-touch-timeline .v9-hero .hero-copy{
  transition:opacity .62s ease,transform .82s var(--v94-ease);
}
body.v9-cinematic.v9-touch-timeline .v9-hero[data-v9-touch-phase="0"]{
  --v9-hero-x:12vw;
  --v9-hero-y:9svh;
  --v9-hero-r:38px;
  --v9-hero-scale:1.075;
  --v9-hero-copy-o:1;
  --v9-hero-copy-y:0px;
}
body.v9-cinematic.v9-touch-timeline .v9-hero[data-v9-touch-phase="1"]{
  --v9-hero-x:0vw;
  --v9-hero-y:0svh;
  --v9-hero-r:0px;
  --v9-hero-scale:1.025;
  --v9-hero-copy-o:1;
  --v9-hero-copy-y:0px;
}
body.v9-cinematic.v9-touch-timeline .v9-hero[data-v9-touch-phase="2"]{
  --v9-hero-x:0vw;
  --v9-hero-y:0svh;
  --v9-hero-r:0px;
  --v9-hero-scale:1;
  --v9-hero-copy-o:0;
  --v9-hero-copy-y:-28px;
}

/* MANIFESTO — states advance discretely; image drift completes by itself. */
body.v9-cinematic.v9-touch-timeline .v9-manifest-media{
  transition:transform 1.05s var(--v94-ease),opacity .7s ease;
}
body.v9-cinematic.v9-touch-timeline .v9-philosophy[data-v9-phase="0"]{
  --v9-manifest-scale:1.055;
  --v9-manifest-y:20px;
}
body.v9-cinematic.v9-touch-timeline .v9-philosophy[data-v9-phase="1"]{
  --v9-manifest-scale:1.025;
  --v9-manifest-y:4px;
}
body.v9-cinematic.v9-touch-timeline .v9-philosophy[data-v9-phase="2"]{
  --v9-manifest-scale:1.005;
  --v9-manifest-y:-8px;
}
body.v9-cinematic.v9-touch-timeline .v9-manifest-state{
  transition:opacity .46s ease,transform .78s var(--v94-ease);
}
body.v9-cinematic.v9-touch-timeline .v9-philosophy .philosophy-copy{
  transition:opacity .5s ease,transform .82s var(--v94-ease);
}

/* EXPERIENCES — every active slide performs a complete entrance. */
body.v9-cinematic.v9-touch-timeline .v9-experiences>.v9-stage>.experience{
  transform:scale(1.055);
  filter:saturate(.9) blur(5px);
  transition:
    opacity .42s ease,
    transform 1.05s var(--v94-ease),
    filter .72s ease,
    visibility 0s linear .42s;
}
body.v9-cinematic.v9-touch-timeline .v9-experiences>.v9-stage>.experience.is-active{
  transform:none;
  filter:none;
  transition:
    opacity .42s ease,
    transform 1.05s var(--v94-ease),
    filter .72s ease,
    visibility 0s;
}
body.v9-cinematic.v9-touch-timeline .v9-experiences .experience-media{
  transform:scale(1.045);
  transition:transform 1.5s var(--v94-ease);
}
body.v9-cinematic.v9-touch-timeline .v9-experiences .experience.is-active .experience-media{
  transform:none;
}
body.v9-cinematic.v9-touch-timeline .v9-experiences .experience-copy>*{
  opacity:0;
  transform:translate3d(0,18px,0);
}
body.v9-cinematic.v9-touch-timeline .v9-experiences .experience.is-active .experience-copy>*{
  animation:v94-copy-in .72s var(--v94-ease) both;
}
body.v9-cinematic.v9-touch-timeline .v9-experiences .experience.is-active .experience-copy>*:nth-child(2){animation-delay:.08s}
body.v9-cinematic.v9-touch-timeline .v9-experiences .experience.is-active .experience-copy>*:nth-child(3){animation-delay:.14s}
body.v9-cinematic.v9-touch-timeline .v9-experiences .experience.is-active .experience-copy>*:nth-child(4){animation-delay:.20s}

/* MOMENTS — one automatic convergence, not three scroll-bound transforms. */
body.v9-cinematic.v9-touch-timeline .v9-moments .moment{
  transition:transform 1.12s var(--v94-ease),filter .8s ease;
}
body.v9-cinematic.v9-touch-timeline .v9-moments .moments-copy{
  transition:opacity .72s ease .18s,transform .92s var(--v94-ease) .18s;
}
body.v9-cinematic.v9-touch-timeline .v9-moments[data-v9-touch-phase="0"]{
  --v9-m1x:-4vw;
  --v9-m1y:4svh;
  --v9-m1r:-7deg;
  --v9-m2x:0vw;
  --v9-m2y:8svh;
  --v9-m2r:5deg;
  --v9-m3x:4vw;
  --v9-m3y:3svh;
  --v9-m3r:8deg;
  --v9-m-copy-o:0;
  --v9-m-copy-y:34px;
}
body.v9-cinematic.v9-touch-timeline .v9-moments[data-v9-touch-phase="1"]{
  --v9-m1x:8vw;
  --v9-m1y:-6svh;
  --v9-m1r:0deg;
  --v9-m2x:-1vw;
  --v9-m2y:4svh;
  --v9-m2r:0deg;
  --v9-m3x:-8vw;
  --v9-m3y:-5svh;
  --v9-m3r:0deg;
  --v9-m-copy-o:1;
  --v9-m-copy-y:0px;
}

/* FLAVOR — state switch triggers its own dissolve/zoom. */
body.v9-cinematic.v9-touch-timeline .v9-flavor-tint{
  transition:background .65s ease;
}
body.v9-cinematic.v9-touch-timeline .v9-flavor-word{
  transition:opacity .42s ease,transform .72s var(--v94-ease);
}
body.v9-cinematic.v9-touch-timeline .v91-flavor-layer{
  transform:scale(1.06);
  transition:
    opacity .48s ease,
    transform 1.2s var(--v94-ease),
    visibility 0s linear .48s;
}
body.v9-cinematic.v9-touch-timeline .v91-flavor-layer.is-active{
  transform:none;
  transition:
    opacity .48s ease,
    transform 1.2s var(--v94-ease),
    visibility 0s;
}

/* HEIGHTS — card and copy settle after the slide activates. */
body.v9-cinematic.v9-touch-timeline .v9-heights .height-card{
  transition:opacity .42s ease,transform .86s var(--v94-ease),visibility 0s linear .42s;
}
body.v9-cinematic.v9-touch-timeline .v9-heights .height-card.is-active{
  transition:opacity .42s ease,transform .86s var(--v94-ease),visibility 0s;
}
body.v9-cinematic.v9-touch-timeline .v9-heights .height-card.is-active .height-photo{
  animation:v94-photo-breathe 1.15s var(--v94-ease) both;
}
body.v9-cinematic.v9-touch-timeline .v9-heights .height-card.is-active .height-meta{
  animation:v94-copy-in .78s var(--v94-ease) .08s both;
}

/* PROCESS — each instruction appears as a self-contained beat. */
body.v9-cinematic.v9-touch-timeline .v9-process .process-row{
  transition:opacity .4s ease,transform .8s var(--v94-ease),visibility 0s linear .4s;
}
body.v9-cinematic.v9-touch-timeline .v9-process .process-row.is-active{
  transition:opacity .4s ease,transform .8s var(--v94-ease),visibility 0s;
}
body.v9-cinematic.v9-touch-timeline .v9-process .process-row.is-active>*{
  animation:v94-copy-in .72s var(--v94-ease) both;
}
body.v9-cinematic.v9-touch-timeline .v9-process .process-row.is-active>*:nth-child(2){animation-delay:.08s}
body.v9-cinematic.v9-touch-timeline .v9-process .process-row.is-active>*:nth-child(3){animation-delay:.15s}
body.v9-cinematic.v9-touch-timeline .v9-process-line>i{
  transition:transform .72s var(--v94-ease);
}

/* FIT — portal expands automatically when phase 2 becomes active. */
body.v9-cinematic.v9-touch-timeline .v9-fit-media{
  transition:
    inset 1.05s var(--v94-ease),
    border-radius 1.05s var(--v94-ease),
    transform 1.05s var(--v94-ease);
}
body.v9-cinematic.v9-touch-timeline .v9-fit[data-v9-phase="0"]{
  --v9-fit-x:18vw;
  --v9-fit-y:12svh;
  --v9-fit-r:50%;
}
body.v9-cinematic.v9-touch-timeline .v9-fit[data-v9-phase="1"]{
  --v9-fit-x:0vw;
  --v9-fit-y:0svh;
  --v9-fit-r:0%;
}
body.v9-cinematic.v9-touch-timeline .v9-fit .fit-head h2,
body.v9-cinematic.v9-touch-timeline .v9-fit-second{
  transition:opacity .46s ease,transform .78s var(--v94-ease);
}
body.v9-cinematic.v9-touch-timeline .v9-fit-cta{
  transition:opacity .46s ease,transform .74s var(--v94-ease);
}

@keyframes v94-copy-in{
  from{opacity:0;transform:translate3d(0,20px,0);filter:blur(4px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes v94-photo-breathe{
  from{transform:scale(1.035);filter:saturate(.92)}
  to{transform:none;filter:none}
}

@media(max-width:700px){
  body.v9-cinematic.v9-touch-timeline .v9-hero[data-v9-touch-phase="0"]{
    --v9-hero-x:9vw;
    --v9-hero-y:7svh;
    --v9-hero-r:30px;
  }
  body.v9-cinematic.v9-touch-timeline .v9-moments[data-v9-touch-phase="1"]{
    --v9-m1x:7vw;
    --v9-m2x:-1vw;
    --v9-m3x:-7vw;
  }
  body.v9-cinematic.v9-touch-timeline .v9-fit[data-v9-phase="0"]{
    --v9-fit-x:12vw;
    --v9-fit-y:9svh;
  }
}

@media(prefers-reduced-motion:reduce){
  body.v9-cinematic.v9-touch-timeline *,
  body.v9-cinematic.v9-touch-timeline *::before,
  body.v9-cinematic.v9-touch-timeline *::after{
    animation:none!important;
    transition:none!important;
  }
}
