/*
 * Movimiento ligado al scroll para las páginas públicas (landing, menú digital, giros).
 * Todo cuelga de la clase .mo que pone motion.js: sin JavaScript, o con "reducir movimiento",
 * la página se ve completa y estática. Solo se animan transform/scale/translate y opacity.
 */

/* --- titulares que se iluminan palabra por palabra --- */
.mo [data-words] .mo-w { opacity: .22; transition: opacity .25s linear; }

/* --- cabecera con sombra al bajar --- */
.mo-header { transition: box-shadow .3s ease, background-color .3s ease; }
.mo-header.is-scrolled { box-shadow: 0 6px 24px rgba(28, 26, 51, .08); }

/* --- sección fija: los 5 pasos se encienden uno a uno mientras bajas --- */
.mo [data-flow] > * { opacity: .35; transition: opacity .45s ease; }
.mo [data-flow] > .is-on { opacity: 1; }
/* número de un paso (páginas que no usan los círculos de la landing) */
.mo [data-flow] .flow-num { transition: scale .4s cubic-bezier(.34, 1.56, .64, 1), box-shadow .3s; }
.mo [data-flow] > .is-on .flow-num { scale: 1.14; box-shadow: 0 0 0 .5rem rgba(194, 65, 42, .16); }
.mo [data-flow] .flow-step.is-on .flow-dot { background: var(--stamp); border-color: var(--stamp); color: #fff; scale: 1.14; }
.mo [data-flow] .flow-step .flow-dot { transition: scale .4s cubic-bezier(.34, 1.56, .64, 1), background .3s, border-color .3s, color .3s; }
.mo [data-flow] .flow-step.is-on .flow-dot-last { box-shadow: 0 0 0 .5rem rgba(194, 65, 42, .16); }

@media (min-width: 768px) and (min-height: 620px) {
    .mo [data-pin] { padding-top: 0; padding-bottom: 0; height: var(--pin-h, 230vh); }
    .mo [data-pin] .mo-pin-stage {
        position: sticky; top: 3.5rem;
        display: flex; align-items: center; justify-content: center;
        min-height: calc(100vh - 3.5rem); min-height: calc(100svh - 3.5rem);
    }
    .mo [data-pin] .mo-pin-stage > * { width: 100%; }
}

/* --- botones: respuesta al presionar --- */
.stamp-btn { transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
.stamp-btn:active { transform: translateY(0) scale(.97); }
