html[data-piel="vida"] body{ background:#fff; }
.vx-ante{ margin:0; font-family:var(--f-text); font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--oro-vivo,#F9C658); }
.vx-ante--oscuro{ color:var(--oro-texto,#856F30); }
.vx-lin{ display:block; overflow:hidden; padding-bottom:.06em; margin-bottom:-.06em; }
.vx-lin > span{ display:block; }
html.vx-js:not(.vx-quieto) .vx-lin > span{ transform:translateY(108%); }

/* ---------- 1 · APERTURA: obturador ---------- */
.vx-ab{ position:relative; height:100vh; height:100svh; min-height:540px; overflow:hidden; background:var(--noche,#0C2650); color:#fff; }
.vx-ab__obt{ position:absolute; inset:0; }
.vx-ab__foto{ display:block; width:100%; height:100%; object-fit:cover; object-position:50% 38%; }
.vx-ab__velo{ position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(8,20,52,.62) 0%, rgba(8,20,52,0) 26%, rgba(8,20,52,0) 44%, rgba(8,20,52,.86) 100%); }
.vx-ab__copy{ position:absolute; left:0; right:0; bottom:clamp(36px,8vh,92px); z-index:2; }
.vx-ab__ante{ margin-bottom:clamp(12px,1.8vh,20px); }
.vx-ab__tit{ margin:0; font-family:var(--f-display); font-weight:500; font-size:clamp(46px,7.2vw,128px); line-height:.95; letter-spacing:-.02em; }
.vx-ab__tit em{ font-style:italic; color:var(--oro-vivo,#F9C658); }
.vx-ab__txt{ margin:clamp(14px,2.2vh,24px) 0 0; max-width:34ch; font-size:clamp(15px,1.2vw,19px); line-height:1.5; color:rgba(255,255,255,.88); }
.vx-ab__baja{ position:absolute; z-index:2; right:max(4%, calc((100% - 1660px)/2)); bottom:clamp(36px,8vh,92px); display:flex; flex-direction:column; align-items:center; gap:10px;
  font-family:var(--f-text); font-size:11px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:#fff; text-decoration:none; }
.vx-ab__baja i{ position:relative; display:block; width:1.5px; height:58px; background:rgba(255,255,255,.28); overflow:hidden; }
.vx-ab__baja i::after{ content:""; position:absolute; left:0; top:0; width:100%; height:40%; background:var(--oro-vivo,#F9C658); animation:vx-baja 2.2s cubic-bezier(.65,0,.35,1) infinite; }
@keyframes vx-baja{ from{ transform:translateY(-100%); } to{ transform:translateY(260%); } }
/* el obturador: la foto se abre desde el centro y se asienta */
html.vx-js:not(.vx-quieto) .vx-ab__obt{ clip-path:inset(30% 34% 30% 34% round 26px); }
html.vx-js:not(.vx-quieto) .vx-ab__foto{ transform:scale(1.22); }
html.vx-js:not(.vx-quieto) .vx-ab__velo,
html.vx-js:not(.vx-quieto) .vx-ab__txt,
html.vx-js:not(.vx-quieto) .vx-ab__ante,
html.vx-js:not(.vx-quieto) .vx-ab__baja{ opacity:0; }
html.vx-js:not(.vx-quieto) .vx-ab.es-abierto .vx-ab__obt{ clip-path:inset(0 0 0 0 round 0px); transition:clip-path 1.45s cubic-bezier(.77,0,.18,1); }
html.vx-js:not(.vx-quieto) .vx-ab.es-abierto .vx-ab__foto{ transform:scale(1); transition:transform 2.6s cubic-bezier(.22,1,.28,1); }
html.vx-js:not(.vx-quieto) .vx-ab.es-abierto .vx-ab__velo{ opacity:1; transition:opacity 1.1s .5s ease; }
html.vx-js:not(.vx-quieto) .vx-ab.es-abierto .vx-ab__ante{ opacity:1; transition:opacity .8s .85s ease; }
html.vx-js:not(.vx-quieto) .vx-ab.es-abierto .vx-lin > span{ transform:none; transition:transform 1.05s cubic-bezier(.22,1,.28,1); }
html.vx-js:not(.vx-quieto) .vx-ab.es-abierto .vx-lin:nth-child(1) > span{ transition-delay:.95s; }
html.vx-js:not(.vx-quieto) .vx-ab.es-abierto .vx-lin:nth-child(2) > span{ transition-delay:1.07s; }
html.vx-js:not(.vx-quieto) .vx-ab.es-abierto .vx-lin:nth-child(3) > span{ transition-delay:1.19s; }
html.vx-js:not(.vx-quieto) .vx-ab.es-abierto .vx-ab__txt{ opacity:1; transition:opacity .9s 1.5s ease; }
html.vx-js:not(.vx-quieto) .vx-ab.es-abierto .vx-ab__baja{ opacity:1; transition:opacity .9s 1.8s ease; }

/* ---------- 2 · MOMENTOS: escenas ---------- */
.vx-esc{ position:relative; background:var(--noche,#0C2650); color:#fff; }
.vx-esc__pin{ position:relative; height:100vh; height:100svh; min-height:540px; overflow:hidden; }
.vx-esc__pista{ list-style:none; margin:0; padding:0; display:flex; height:100%; outline:none; }
.vx-esc__escena{ position:relative; flex:0 0 100%; height:100%; overflow:hidden; --px:0; }
.vx-esc__foto{ position:absolute; top:0; left:-10%; width:120%; max-width:none; height:100%; object-fit:cover; object-position:50% 45%; transform:translate3d(calc(var(--px) * -8%),0,0); will-change:transform; }
.vx-esc__foto--der{ object-position:62% 40%; }
.vx-esc__foto--arriba{ object-position:50% 12%; }
.vx-esc__velo{ position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg, rgba(8,20,52,.88) 0%, rgba(8,20,52,.6) 34%, rgba(8,20,52,.08) 66%, rgba(8,20,52,0) 100%),
             linear-gradient(0deg, rgba(8,20,52,.72) 0%, rgba(8,20,52,0) 46%),
             linear-gradient(180deg, rgba(8,20,52,.5) 0%, rgba(8,20,52,0) 22%); }
.vx-esc__copy{ position:absolute; left:0; right:0; bottom:clamp(64px,11vh,116px); z-index:2; }
.vx-esc__num{ margin:0 0 6px; font-family:var(--f-text); font-size:13px; font-weight:700; letter-spacing:.2em; color:var(--oro-vivo,#F9C658); }
.vx-esc__palabra{ margin:0 0 .16em; font-family:var(--f-display); font-weight:500; font-style:italic; font-size:clamp(60px,10.4vw,188px); line-height:.9; letter-spacing:-.025em;
  transform:translate3d(calc(var(--px) * 46%),0,0); will-change:transform; }
.vx-esc__frase{ margin:0 0 18px; max-width:28ch; font-family:var(--f-display); font-size:clamp(20px,1.75vw,30px); line-height:1.25; color:#fff;
  transform:translate3d(calc(var(--px) * 22%),0,0); }
.vx-esc__lista{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px 26px; max-width:min(56%, 760px); }
.vx-esc__lista li{ position:relative; padding-left:20px; font-family:var(--f-text); font-size:clamp(12px,.86vw,13.5px); font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.86); }
.vx-esc__lista li::before{ content:""; position:absolute; left:0; top:.62em; width:11px; height:2px; background:var(--oro-vivo,#F9C658); }
/* el marco dorado: una segunda foto que viaja más rápido que la escena */
.vx-esc__marco{ position:absolute; z-index:2; right:max(5%, calc((100% - 1660px)/2)); top:calc(68px + clamp(36px,9vh,96px)); width:clamp(210px,21vw,370px); margin:0;
  padding:10px; background:rgba(8,20,52,.5); box-shadow:0 24px 50px -24px rgba(0,0,0,.6); border:2px solid var(--oro-vivo,#F9C658); transform:translate3d(calc(var(--px) * -70%),0,0) rotate(2.2deg); will-change:transform; }
.vx-esc__marco img{ display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.vx-esc__marco figcaption{ margin-top:9px; font-family:var(--f-display); font-style:italic; font-size:15px; color:rgba(255,255,255,.92); }
.vx-esc__tit{ position:absolute; z-index:3; left:max(4%, calc((100% - 1660px)/2)); top:calc(68px + clamp(22px,4vh,40px)); }
/* el contador va junto al título (abajo a la derecha viven Porfirio y el globo de promoción) */
.vx-esc__hud{ position:absolute; z-index:3; left:calc(max(4%, calc((100% - 1660px)/2)) + 300px); top:calc(68px + clamp(22px,4vh,40px) - 3px); display:flex; align-items:center; gap:16px; font-family:var(--f-text); font-size:13px; font-weight:600; letter-spacing:.14em; color:rgba(255,255,255,.7); }
.vx-esc__cont b{ font-weight:700; color:#fff; }
.vx-esc__barra{ position:relative; width:clamp(90px,9vw,150px); height:2px; background:rgba(255,255,255,.22); overflow:hidden; }
.vx-esc__barra i{ position:absolute; inset:0; background:var(--oro-vivo,#F9C658); transform-origin:left; transform:scaleX(.25); }
/* flechas: solo en escritorio SIN fijar ("reducir movimiento"), donde no hay dedo para deslizar */
.vx-esc__flechas{ display:none; position:absolute; z-index:3; right:max(5%, calc((100% - 1660px)/2)); bottom:clamp(64px,11vh,116px); gap:10px; }
.vx-esc__flechas button{ display:grid; place-items:center; width:48px; height:48px; border:1.5px solid rgba(255,255,255,.5); border-radius:50%; background:rgba(8,20,52,.35); color:#fff; cursor:pointer; }
.vx-esc__flechas button:hover, .vx-esc__flechas button:focus-visible{ border-color:var(--oro-vivo,#F9C658); outline:none; }
.vx-esc__flechas svg{ width:20px; height:20px; }
@media (min-width:901px){ html:not(.vx-pin) .vx-esc__flechas{ display:flex; } }
/* Escritorio con movimiento: la sección dura 4 pantallas y la pista se queda fija */
html.vx-pin .vx-esc{ height:calc(var(--n) * 100vh); }
html.vx-pin .vx-esc__pin{ position:sticky; top:0; height:100vh; }
html.vx-pin .vx-esc__pista{ will-change:transform; }
/* Sin fijar (celular, reducir movimiento): se desliza de lado, una escena por pantalla */
html:not(.vx-pin) .vx-esc__pista{ overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
html:not(.vx-pin) .vx-esc__pista::-webkit-scrollbar{ display:none; }
html:not(.vx-pin) .vx-esc__escena{ scroll-snap-align:start; }

.vx-tal{ background:var(--crema,#FBF7EE); padding:clamp(34px,5.6vh,64px) 0; }
.vx-tal__enca{ display:flex; align-items:flex-end; justify-content:space-between; gap:clamp(24px,4vw,64px); margin-bottom:clamp(16px,2.8vh,28px); }
.vx-tal__tit{ margin:10px 0 0; font-family:var(--f-display); font-weight:500; color:var(--tinta,#0C1F4F); font-size:clamp(30px,3.3vw,54px); line-height:1.04; letter-spacing:-.014em; }
.vx-tal__intro{ margin:0; max-width:40ch; font-size:var(--t-body); line-height:1.55; color:rgba(12,31,79,.8); }
.vx-tal__intro span{ display:block; margin-top:10px; font-family:var(--f-text); font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--oro-texto,#856F30); }
.vx-tal__paneles{ list-style:none; margin:0; padding:0; display:flex; gap:10px; height:clamp(320px, calc(100vh - 384px), 500px); }
.vx-tal__p{ position:relative; flex:1 1 0; min-width:0; border-radius:16px; overflow:hidden; background:var(--noche,#0C2650);
  transition:flex-grow .75s cubic-bezier(.22,1,.28,1); }
.vx-tal__p.es-abierto{ flex-grow:4.4; }
.vx-tal__btn{ all:unset; box-sizing:border-box; position:absolute; inset:0; display:block; cursor:pointer; color:#fff; }
.vx-tal__btn:focus-visible{ outline:3px solid var(--oro-vivo,#F9C658); outline-offset:-3px; border-radius:16px; }
.vx-tal__btn img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.08); filter:saturate(.55) brightness(.72);
  transition:transform 1.1s cubic-bezier(.22,1,.28,1), filter .7s ease; }
.vx-tal__p.es-abierto .vx-tal__btn img{ transform:scale(1); filter:none; }
.vx-tal__btn::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(8,20,52,.88) 0%, rgba(8,20,52,.2) 52%, rgba(8,20,52,.1) 100%); }
.vx-tal__vert{ position:absolute; z-index:2; left:50%; bottom:26px; writing-mode:vertical-rl; transform:translateX(-50%) rotate(180deg);
  font-family:var(--f-display); font-size:clamp(22px,1.8vw,30px); font-style:italic; white-space:nowrap; transition:opacity .35s ease; }
.vx-tal__p.es-abierto .vx-tal__vert{ opacity:0; }
.vx-tal__info{ position:absolute; z-index:2; left:clamp(20px,2.2vw,34px); right:clamp(20px,2.2vw,34px); bottom:clamp(20px,3vh,32px); display:flex; flex-direction:column; align-items:flex-start;
  opacity:0; transform:translateY(14px); transition:opacity .3s ease, transform .3s ease; pointer-events:none; }
.vx-tal__p.es-abierto .vx-tal__info{ opacity:1; transform:none; transition:opacity .6s .28s ease, transform .7s .28s cubic-bezier(.22,1,.28,1); }
.vx-tal__num{ font-family:var(--f-text); font-size:12px; font-weight:700; letter-spacing:.2em; color:var(--oro-vivo,#F9C658); }
.vx-tal__nom{ margin:4px 0 6px; font-family:var(--f-display); font-weight:500; font-size:clamp(40px,4.4vw,74px); line-height:.95; letter-spacing:-.02em; white-space:nowrap; }
.vx-tal__frase{ max-width:30ch; font-family:var(--f-display); font-size:clamp(17px,1.35vw,22px); line-height:1.3; color:rgba(255,255,255,.92); }
.vx-tal__sello{ margin-top:12px; padding:6px 14px; border:1.5px solid var(--oro-vivo,#F9C658); border-radius:999px; font-family:var(--f-text); font-size:11.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--oro-vivo,#F9C658); }
html.vx-js:not(.vx-quieto) .vx-tal .vx-tal__p{ opacity:0; transform:translateY(26px); }
html.vx-js:not(.vx-quieto) .vx-tal.se-ve .vx-tal__p{ opacity:1; transform:none; transition:flex-grow .75s cubic-bezier(.22,1,.28,1), opacity .7s ease, transform .9s cubic-bezier(.22,1,.28,1); }
html.vx-js:not(.vx-quieto) .vx-tal.se-ve .vx-tal__p:nth-child(2){ transition-delay:0s,.08s,.08s; }
html.vx-js:not(.vx-quieto) .vx-tal.se-ve .vx-tal__p:nth-child(3){ transition-delay:0s,.16s,.16s; }
html.vx-js:not(.vx-quieto) .vx-tal.se-ve .vx-tal__p:nth-child(4){ transition-delay:0s,.24s,.24s; }
html.vx-js:not(.vx-quieto) .vx-tal.se-ve .vx-tal__p:nth-child(5){ transition-delay:0s,.32s,.32s; }

/* ---------- 4 · LO QUE SE LLEVAN: el lema palabra por palabra ---------- */
.vx-lle{ position:relative; display:grid; place-items:center; min-height:clamp(480px, calc(100vh - 68px), 760px); overflow:hidden; background:var(--crema,#FBF7EE); text-align:center; }
.vx-lle__foto{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.13; filter:grayscale(.35); }
.vx-lle::after{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at center, rgba(251,247,238,.35) 0%, rgba(251,247,238,.92) 78%); }
.vx-lle__in{ position:relative; z-index:2; padding:clamp(40px,7vh,80px) 0; }
.vx-lle__lema{ margin:clamp(14px,2.4vh,24px) auto clamp(22px,3.6vh,36px); max-width:15ch; font-family:var(--f-display); font-weight:500; color:var(--tinta,#0C1F4F);
  font-size:clamp(40px,6.2vw,108px); line-height:1.02; letter-spacing:-.018em; }
.vx-lle__lema em{ color:var(--oro-texto,#856F30); }
html.vx-js:not(.vx-quieto) .vx-p{ opacity:.13; transition:opacity .45s ease; }
html.vx-js:not(.vx-quieto) .vx-p.si{ opacity:1; }
.vx-lle__tres{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px 0; }
.vx-lle__tres li{ display:flex; align-items:center; font-family:var(--f-text); font-size:12.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(12,31,79,.72); }
.vx-lle__tres li + li::before{ content:""; width:6px; height:6px; margin:0 20px; border-radius:50%; background:var(--oro-vivo,#F9C658); }

.vx-red{ background:#fff; padding:clamp(34px,5.4vh,64px) 0; }
.vx-red__enca{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:clamp(16px,2.6vh,28px); }
.vx-red__tit{ margin:10px 0 0; font-family:var(--f-display); font-weight:500; color:var(--tinta,#0C1F4F); font-size:clamp(30px,3.2vw,52px); line-height:1.04; letter-spacing:-.014em; }
.vx-red__tit em{ color:var(--oro-texto,#856F30); }
.vx-red__ir{ display:flex; gap:28px; margin:0; }
.vx-red__ir a{ position:relative; padding-bottom:6px; font-family:var(--f-text); font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--tinta,#0C1F4F); text-decoration:none; }
.vx-red__ir a::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--oro-vivo,#F9C658); transform-origin:left; transition:transform .5s cubic-bezier(.65,0,.35,1); }
.vx-red__ir a:hover::after{ transform:scaleX(.35); }
.vx-red__muro{ list-style:none; margin:0 auto; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,1.6vw,24px); align-items:start; max-width:min(100%, calc((100vh - 300px) * 4 * .82)); }
.vx-post{ position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid #E3E6EC; border-radius:12px; overflow:hidden; color:#14171C; text-decoration:none;
  font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; box-shadow:0 1px 2px rgba(12,31,79,.06), 0 12px 28px -18px rgba(12,31,79,.35);
  transition:transform .45s cubic-bezier(.22,1,.28,1), box-shadow .45s ease; }
.vx-post:hover, .vx-post:focus-visible{ transform:translateY(-6px); box-shadow:0 2px 4px rgba(12,31,79,.08), 0 22px 40px -18px rgba(12,31,79,.45); outline:none; }
.vx-post:focus-visible{ box-shadow:0 0 0 3px var(--oro-vivo,#F9C658), 0 22px 40px -18px rgba(12,31,79,.45); }
.vx-post__cab{ display:flex; align-items:center; gap:9px; padding:10px 12px; }
.vx-post__ava{ flex:0 0 auto; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#fff; border:1px solid #E3E6EC; overflow:hidden; }
.vx-post--ig .vx-post__ava{ border:0; padding:2px; background:conic-gradient(from 200deg, #F9C658, #E1306C, #833AB4, #F9C658); }
.vx-post--ig .vx-post__ava img{ background:#fff; border-radius:50%; }
.vx-post__ava img{ width:100%; height:100%; object-fit:contain; padding:4px; }
.vx-post__quien{ display:flex; flex-direction:column; min-width:0; line-height:1.2; }
.vx-post__quien b{ font-size:13.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vx-post__quien small{ display:flex; align-items:center; gap:3px; font-size:11.5px; color:#65676B; }
.vx-post__quien small svg{ width:11px; height:11px; }
.vx-post__red{ width:18px; height:18px; margin-left:auto; color:#9AA0A8; }
.vx-post--fb .vx-post__red{ color:#1877F2; }
.vx-post__foto{ display:block; overflow:hidden; aspect-ratio:4/3; background:var(--nube,#EDF4FA); }
.vx-post__foto--cuadrada{ aspect-ratio:1/1; }
.vx-post__foto img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.22,1,.28,1); }
.vx-post:hover .vx-post__foto img{ transform:scale(1.04); }
.vx-post__acc{ display:flex; gap:14px; padding:10px 12px 4px; color:#14171C; }
.vx-post__acc svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.vx-post__guarda{ margin-left:auto; }
.vx-post__acc--fb{ justify-content:space-around; gap:4px; margin:6px 10px 0; padding:8px 0; border-top:1px solid #E3E6EC; color:#65676B; font-size:clamp(10.5px,.8vw,12.5px); font-weight:600; white-space:nowrap; }
.vx-post__acc--fb span{ display:flex; align-items:center; gap:5px; }
.vx-post__acc--fb svg{ width:15px; height:15px; flex:0 0 auto; }
.vx-post__txt{ display:block; padding:4px 12px 12px; font-size:13px; line-height:1.4; color:#14171C; }
.vx-post--fb .vx-post__txt{ padding:0 12px 10px; }
.vx-post__txt b{ font-weight:600; margin-right:4px; }
.vx-post__ver{ position:absolute; left:12px; right:12px; bottom:12px; padding:9px 12px; border-radius:8px; background:rgba(12,31,79,.92); color:#fff; font-family:var(--f-text); font-size:11.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; text-align:center;
  opacity:0; transform:translateY(8px); transition:opacity .3s ease, transform .35s ease; pointer-events:none; }
.vx-post:hover .vx-post__ver, .vx-post:focus-visible .vx-post__ver{ opacity:1; transform:none; }
html.vx-js:not(.vx-quieto) .vx-red .vx-red__muro > li{ opacity:0; transform:translateY(24px); }
html.vx-js:not(.vx-quieto) .vx-red.se-ve .vx-red__muro > li{ opacity:1; transform:none; transition:opacity .7s ease, transform .9s cubic-bezier(.22,1,.28,1); }
html.vx-js:not(.vx-quieto) .vx-red.se-ve .vx-red__muro > li:nth-child(2){ transition-delay:.1s; }
html.vx-js:not(.vx-quieto) .vx-red.se-ve .vx-red__muro > li:nth-child(3){ transition-delay:.2s; }
html.vx-js:not(.vx-quieto) .vx-red.se-ve .vx-red__muro > li:nth-child(4){ transition-delay:.3s; }
@media (max-width:900px){
  .vx-red__enca{ flex-direction:column; align-items:flex-start; gap:12px; }
  .vx-red__muro{ display:flex; max-width:none; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; padding:4px calc(50vw - 50%) 12px; margin:0 calc(50% - 50vw); scrollbar-width:none; }   /* sangra a las orillas sin pasarse del ancho */
  .vx-red__muro::-webkit-scrollbar{ display:none; }
  .vx-red__muro > li{ flex:0 0 70%; scroll-snap-align:center; }
  .vx-post__ver{ display:none; }
}
@media (min-width:901px) and (max-height:560px){
  .vx-red__muro{ display:flex; max-width:none; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; padding:4px 0 12px; scrollbar-width:none; }
  .vx-red__muro::-webkit-scrollbar{ display:none; }
  .vx-red__muro > li{ flex:0 0 240px; scroll-snap-align:start; }
}
@media (prefers-reduced-motion:reduce){ .vx-post, .vx-post__foto img, .vx-post__ver, .vx-red__ir a::after{ transition:none; } }

/* ---------- 5 · CIERRE: Ven a vivirlo ---------- */
.vx-ven{ position:relative; height:100vh; height:100svh; min-height:540px; max-height:960px; overflow:hidden; background:var(--noche,#0C2650); color:#fff; }
.vx-ven__foto{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 12%; }
.vx-ven__velo{ position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(0deg, rgba(8,20,52,.94) 0%, rgba(8,20,52,.72) 30%, rgba(8,20,52,0) 56%),
             linear-gradient(90deg, rgba(8,20,52,.55) 0%, rgba(8,20,52,0) 45%); }
.vx-ven__in{ position:absolute; left:0; right:0; bottom:clamp(34px,6.5vh,72px); z-index:2; }
/* frase, llamado y redes en UNA fila: el texto vive en la franja de abajo y las caras de la foto quedan libres */
.vx-ven__fila{ display:flex; flex-wrap:wrap; align-items:center; gap:18px clamp(28px,3.4vw,56px); margin-top:clamp(16px,2.6vh,26px); }
.vx-ven__tit{ margin:0; font-family:var(--f-display); font-weight:500; font-size:clamp(56px,7vw,124px); line-height:.92; letter-spacing:-.025em; }
.vx-ven__tit .vx-lin{ display:inline-block; vertical-align:bottom; }  /* una línea en escritorio: las caras de la foto quedan libres arriba */
.vx-ven__tit em{ font-style:italic; color:var(--oro-vivo,#F9C658); }
.vx-ven__txt{ margin:0; max-width:30ch; font-size:clamp(16px,1.3vw,20px); line-height:1.5; color:rgba(255,255,255,.9); }
/* CTA de marca: texto + subrayado dorado que se traza (sin caja de color) */
.vx-ven__cta{ position:relative; display:inline-flex; align-items:center; gap:12px; padding-bottom:10px; font-family:var(--f-text); font-size:clamp(15px,1.15vw,18px); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#fff; text-decoration:none; }
.vx-ven__cta svg{ width:22px; height:22px; transition:transform .4s cubic-bezier(.22,1,.28,1); }
.vx-ven__cta::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2.5px; background:var(--oro-vivo,#F9C658); transform-origin:left; }
.vx-ven__cta:hover svg{ transform:translateX(5px); }
.vx-ven__cta:hover::after{ animation:vx-rearma .8s cubic-bezier(.65,0,.35,1); }
@keyframes vx-rearma{ 0%{ transform:scaleX(1); transform-origin:right; } 45%{ transform:scaleX(0); transform-origin:right; } 46%{ transform-origin:left; } 100%{ transform:scaleX(1); transform-origin:left; } }
.vx-ven__cta:focus-visible{ outline:2px solid var(--oro-vivo,#F9C658); outline-offset:6px; }
.vx-ven__redes{ display:flex; align-items:center; gap:14px; margin:0; font-family:var(--f-text); font-size:11.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.7); }
.vx-ven__redes a{ display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#fff; transition:border-color .3s, background .3s; }
.vx-ven__redes a:hover{ border-color:var(--oro-vivo,#F9C658); background:rgba(249,198,88,.14); }
.vx-ven__redes svg{ width:16px; height:16px; }
html.vx-js:not(.vx-quieto) .vx-ven .vx-ven__foto{ transform:scale(1.12); }
html.vx-js:not(.vx-quieto) .vx-ven .vx-ven__txt,
html.vx-js:not(.vx-quieto) .vx-ven .vx-ven__cta,
html.vx-js:not(.vx-quieto) .vx-ven .vx-ven__redes{ opacity:0; transform:translateY(14px); }
html.vx-js:not(.vx-quieto) .vx-ven .vx-ven__cta::after{ transform:scaleX(0); }
html.vx-js:not(.vx-quieto) .vx-ven.se-ve .vx-ven__foto{ transform:scale(1); transition:transform 2.4s cubic-bezier(.22,1,.28,1); }
html.vx-js:not(.vx-quieto) .vx-ven.se-ve .vx-lin > span{ transform:none; transition:transform 1.05s cubic-bezier(.22,1,.28,1); }
html.vx-js:not(.vx-quieto) .vx-ven.se-ve .vx-lin:nth-child(2) > span{ transition-delay:.12s; }
html.vx-js:not(.vx-quieto) .vx-ven.se-ve .vx-ven__txt, html.vx-js:not(.vx-quieto) .vx-ven.se-ve .vx-ven__cta, html.vx-js:not(.vx-quieto) .vx-ven.se-ve .vx-ven__redes{ opacity:1; transform:none; transition:opacity .8s ease, transform .9s cubic-bezier(.22,1,.28,1); }
html.vx-js:not(.vx-quieto) .vx-ven.se-ve .vx-ven__txt{ transition-delay:.45s; }
html.vx-js:not(.vx-quieto) .vx-ven.se-ve .vx-ven__cta{ transition-delay:.6s; }
html.vx-js:not(.vx-quieto) .vx-ven.se-ve .vx-ven__redes{ transition-delay:.8s; }
html.vx-js:not(.vx-quieto) .vx-ven.se-ve .vx-ven__cta::after{ transform:scaleX(1); transition:transform .9s 1.1s cubic-bezier(.65,0,.35,1); }

/* ---------- Celular ---------- */
@media (max-width:900px){
  .vx-ab__baja{ display:none; }
  .vx-ab__txt{ max-width:calc(100% - 92px); }  /* Porfirio vive abajo a la derecha */
  .vx-esc__pin{ height:100svh; max-height:820px; min-height:560px; }
  .vx-esc__tit{ top:calc(62px + 18px); left:5%; }
  .vx-esc__foto{ left:0; width:100%; transform:none; }
  .vx-esc__velo{ background:linear-gradient(0deg, rgba(8,20,52,.94) 0%, rgba(8,20,52,.7) 42%, rgba(8,20,52,.05) 72%), linear-gradient(180deg, rgba(8,20,52,.55) 0%, rgba(8,20,52,0) 24%); }
  .vx-esc__copy{ bottom:74px; }
  .vx-esc__palabra, .vx-esc__frase, .vx-esc__marco{ transform:none; }
  .vx-esc__palabra{ font-size:clamp(50px,15vw,86px); }
  .vx-esc__lista{ max-width:none; gap:6px 18px; }
  .vx-esc__marco{ top:calc(62px + 60px); right:5%; width:42%; padding:6px; transform:rotate(2.2deg); }
  .vx-esc__marco figcaption{ font-size:12.5px; margin-top:6px; }
  .vx-esc__hud{ left:5%; right:auto; top:auto; bottom:28px; }
  .vx-tal__enca{ flex-direction:column; align-items:flex-start; gap:14px; }
  .vx-tal__paneles{ flex-direction:column; height:auto; gap:8px; }
  .vx-tal__p{ flex:none; height:76px; transition:height .6s cubic-bezier(.22,1,.28,1); }
  .vx-tal__p.es-abierto{ height:min(calc(58vw + 120px), 440px); }
  html.vx-js:not(.vx-quieto) .vx-tal.se-ve .vx-tal__p{ transition:height .6s cubic-bezier(.22,1,.28,1), opacity .7s ease, transform .9s cubic-bezier(.22,1,.28,1); }
  .vx-tal__vert{ writing-mode:horizontal-tb; transform:translateY(50%); left:22px; bottom:50%; }
  .vx-tal__nom{ font-size:clamp(36px,11vw,52px); }
  .vx-lle__tres li + li::before{ margin:0 12px; }
  .vx-lle__tres li{ font-size:11px; letter-spacing:.14em; }
  .vx-ven{ max-height:none; }
  .vx-ven__foto{ object-position:58% 30%; }
  .vx-ven__velo{ background:linear-gradient(0deg, rgba(8,20,52,.94) 0%, rgba(8,20,52,.66) 42%, rgba(8,20,52,0) 70%); }
  .vx-ven__fila{ flex-direction:column; align-items:flex-start; gap:18px; }
}
@media (max-width:420px){
  .vx-esc__lista li{ font-size:11px; letter-spacing:.08em; }
  .vx-esc__frase{ font-size:19px; }
}

@media (prefers-reduced-motion:reduce){
  .vx-ab__baja i::after{ animation:none; }
  .vx-esc__foto, .vx-esc__palabra, .vx-esc__frase{ transform:none !important; }
  .vx-tal__p, .vx-tal__btn img, .vx-tal__info, .vx-tal__vert{ transition:none !important; }
  .vx-ven__cta:hover::after{ animation:none; }
}
