/* Cytadel · móvil v2: película guiada por el scroll */
html.is-m{scroll-snap-type:none;scroll-behavior:auto}
.mf{position:relative;height:1180svh;background:#05060A}
.mf-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#05060A url(/assets/m/night.webp) center/cover;isolation:isolate}
.mf-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;transition:filter .6s var(--ease),transform .9s var(--ease)}
.mf-stage.is-lock canvas{filter:blur(20px) saturate(1.25);transform:scale(1.1)}
.mf-dim{position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 100%,#12162b 0%,#06070c 62%);opacity:0;pointer-events:none}
.mf-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(6,7,11,.5) 0%,rgba(6,7,11,0) 20%,rgba(6,7,11,0) 46%,rgba(6,7,11,.5) 68%,rgba(6,7,11,.9) 100%)}
.mb{position:absolute;left:0;right:0;bottom:0;padding:0 20px calc(34px + var(--safe-b));display:flex;flex-direction:column;align-items:flex-start;gap:10px;opacity:0;pointer-events:none;will-change:opacity,transform}
.mb.live{pointer-events:auto}
.mb-mid{top:0;justify-content:center;gap:16px;padding:calc(104px + var(--safe-t)) 22px calc(44px + var(--safe-b))}
.mb .m-title .l{transform:translateY(115%)}
.mb.live .m-title .l{transform:none}
.mf-l{opacity:0;pointer-events:none;transition:none!important}
.mf .vf{transform:none}
.mf .m-det{transform:none}
.mf-lock{position:absolute;inset:0}
.mf .lock-n{opacity:0;transform:translateY(-16px) scale(.96);transition:opacity .45s var(--ease),transform .7s cubic-bezier(.2,1.5,.35,1)}
.mf .lock-n.in{opacity:1;transform:none}
.mf .lock-n.old.in{opacity:.8}
.mf .m-chips span{transition-delay:0s!important}
.mf .m-chips span.in{opacity:1;transform:none}
.mf .m-chips .res.in{animation:pulse 1.6s var(--ease) .3s 2}
.mf .m-sheet{will-change:transform,opacity}
.mf .sh-r{opacity:0;transform:translateX(18px);transition:opacity .4s var(--ease),transform .6s var(--ease)}
.mf .sh-r.in{opacity:1;transform:none}
.mf-prog{position:absolute;left:20px;right:20px;bottom:calc(14px + var(--safe-b));height:2px;border-radius:2px;background:rgba(255,255,255,.14);overflow:hidden;pointer-events:none}
.mf-prog i{display:block;height:100%;width:0;background:rgba(255,255,255,.75)}
.mb-hero .m-swipe{align-self:center}
/* secciones claras */
.ms{scroll-snap-align:none}
.mx .rv2{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform 1s var(--ease)}
.mx .rv2.in{opacity:1;transform:none}
.mp-dawn{will-change:transform;transform-origin:50% 100%}
.m-eval .ef input[type=text],.m-eval .ef input[type=tel],.m-eval .ef input[type=email]{height:54px;font-size:16px}
@media (max-height:700px){.mb{gap:8px;padding-bottom:calc(28px + var(--safe-b))}}
@media (prefers-reduced-motion:reduce){.mx .rv2,.mf .lock-n,.mf .sh-r,.mb .m-title .l{opacity:1!important;transform:none!important;transition:none!important}.mf-stage canvas{transition:none}}
/* sin indicadores de avance */
.m-stories,.mf-prog{display:none!important}
/* privacidad */
.ms.mpv{background:#F3F0E9;padding:20px 10px 28px}
.pv-card{border-radius:30px;background:radial-gradient(130% 60% at 50% 0%,#171c36 0%,#0A0C13 62%);color:#EEF0F6;padding:44px 20px 12px;overflow:hidden}
.ms.mpv .mk{color:rgba(238,240,246,.6)}
.mpv .m-h2{margin-bottom:26px}
.pv-map{display:flex;flex-direction:column;align-items:center;margin-bottom:30px}
.pv-home{position:relative;align-self:stretch;border:1.5px dashed rgba(34,197,94,.55);border-radius:22px;padding:30px 16px 16px;background:rgba(34,197,94,.05)}
.pv-tag{position:absolute;top:-11px;left:16px;padding:3px 10px;border-radius:999px;background:#0F1A16;border:1px solid rgba(34,197,94,.55);color:#7EE2A8;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.pv-row{display:flex;align-items:center;justify-content:space-between}
.pv-n{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:12.5px}
.pv-n i,.pv-phone i{width:46px;height:46px;border-radius:13px;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;background:rgba(255,255,255,.04)}
.pv-n svg,.pv-phone svg{width:23px;height:23px}
.pv-n.hub i{border-color:var(--signal);box-shadow:0 0 0 5px rgba(34,197,94,.12)}
.pv-ln{flex:1;height:1px;margin:0 10px 22px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.7) 0 5px,transparent 5px 10px);background-size:20px 1px;animation:flow 1s linear infinite}
.pv-home p{margin:14px 0 0;font-size:13.5px;line-height:1.4;color:rgba(238,240,246,.7);text-align:center}
.pv-out{display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 0 8px}
.pv-out b{width:1px;height:34px;background:repeating-linear-gradient(180deg,var(--signal) 0 5px,transparent 5px 10px)}
.pv-out span{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#7EE2A8;padding:5px 11px;border-radius:999px;border:1px solid rgba(34,197,94,.4);background:rgba(34,197,94,.08)}
.pv-out:after{content:"";width:1px;height:22px;background:repeating-linear-gradient(180deg,var(--signal) 0 5px,transparent 5px 10px)}
.pv-phone{display:flex;align-items:center;gap:12px;font-size:13.5px;color:rgba(238,240,246,.85)}
.pv-list{list-style:none;margin:0;padding:0;counter-reset:pv}
.pv-list li{counter-increment:pv;position:relative;padding:18px 0 18px 44px;border-top:1px solid rgba(255,255,255,.1)}
.pv-list li:before{content:"0" counter(pv);position:absolute;left:0;top:21px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:rgba(238,240,246,.45)}
.pv-list b{display:block;font-size:18px;line-height:1.2;font-weight:500;letter-spacing:-.01em;margin-bottom:4px}
.pv-list p{margin:0;font-size:14px;line-height:1.4;color:rgba(238,240,246,.65)}
