/* VS Galería Horizontal — Invisible Colectivo® */
.vsh{--vsh-bg:var(--cream,#F6F2EB);--vsh-ink:var(--navy,#0D2533);--vsh-accent:var(--gold,#B8935A);--vsh-mute:var(--mute,#857C70);--vsh-serif:var(--serif,'Landa',Georgia,serif);--vsh-script:var(--vsh-serif);--vsh-mono:var(--vsh-serif);--vsh-sans:var(--vsh-serif);--vsh-top:110px;--vsh-ease:cubic-bezier(.22,.8,.2,1);position:relative;background:var(--vsh-bg);color:var(--vsh-ink)}
.vsh *{box-sizing:border-box}
.vsh-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.vsh-track{display:flex;align-items:stretch;height:100%;width:max-content;padding:var(--vsh-top) 0 84px;will-change:transform}
.vsh-panel,.vsh-item{flex:0 0 auto;height:100%;position:relative}

/* ---------- Intro ---------- */
.vsh-intro{width:100vw;display:grid;place-items:center;padding:0 5vw}
.vsh-giant{position:absolute;left:0;right:0;top:50%;margin:0;text-align:center;font:400 clamp(110px,24vw,420px)/.8 var(--vsh-serif)!important;letter-spacing:-.01em;text-transform:uppercase;color:var(--vsh-accent)!important;white-space:nowrap;pointer-events:none;transform:translate3d(calc(var(--out,0) * -18vw),-55%,0)}
.vsh-intro-img{position:relative;z-index:2;width:clamp(220px,23vw,380px);margin:0;transform:translateY(6%) rotate(-2deg);box-shadow:0 40px 70px -40px rgba(13,37,51,.6)}
.vsh-intro-img img,.vsh-intro-img .vsh-ph{display:block;width:100%!important;aspect-ratio:4/5;height:auto;object-fit:cover}
.vsh-kicker{position:absolute;top:0;left:5vw;margin:0;font:400 12px/1.6 var(--vsh-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--vsh-mute)}
.vsh-intro-text{position:absolute;right:5vw;bottom:0;max-width:280px;margin:0;font:400 12.5px/1.8 var(--vsh-mono);color:var(--vsh-ink)}
.vsh-hint{position:absolute;left:5vw;bottom:0;display:flex;align-items:center;gap:16px;font:400 11px/1 var(--vsh-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--vsh-ink)}
.vsh-hint i{position:relative;display:block;width:70px;height:1px;background:rgba(13,37,51,.25);overflow:hidden}
.vsh-hint i:after{content:"";position:absolute;inset:0;background:var(--vsh-accent);transform:translateX(-100%);animation:vshHint 2s var(--vsh-ease) infinite}
@keyframes vshHint{to{transform:translateX(100%)}}

/* ---------- Items ---------- */
.vsh-item{display:flex;flex-direction:column;justify-content:center;gap:20px;padding:0 3.5vw}
.vsh-item{--fh:calc(100vh - var(--vsh-top) - 260px)}
.vsh-s-s{width:32vw;--fw:calc(32vw - 7vw)}.vsh-s-m{width:42vw;--fw:calc(42vw - 7vw)}.vsh-s-l{width:56vw;--fw:calc(56vw - 7vw)}
.vsh-p-top{justify-content:flex-start}.vsh-p-bottom{justify-content:flex-end}
.vsh-num{position:absolute;top:-2%;left:1vw;z-index:0;font:300 clamp(90px,13vw,220px)/1 var(--vsh-serif);color:transparent;-webkit-text-stroke:1px var(--vsh-accent);opacity:.6;pointer-events:none;transform:translate3d(calc((1 - var(--p,1)) * -60%),0,0)}
.vsh-p-top .vsh-num{top:auto;bottom:-2%}
.vsh-fig{position:relative;z-index:1;margin:0;align-self:flex-start;max-width:100%;transform:rotate(calc(var(--tilt,0deg) * var(--p,1)));transition:transform .9s var(--vsh-ease);box-shadow:0 34px 60px -40px rgba(13,37,51,.55)}
.vsh-item:nth-child(even) .vsh-fig{align-self:flex-end}
.vsh-reveal{overflow:hidden;clip-path:inset(0 calc((1 - var(--p,1)) * 100%) 0 0)}
.vsh-reveal img{display:block;max-width:var(--fw,40vw);max-height:var(--fh);width:auto;height:auto;transform:scale(calc(1.3 - .3 * var(--p,1))) translate3d(calc((1 - var(--p,1)) * 10%),0,0);transform-origin:left center;cursor:zoom-in;transition:filter .6s}
.vsh-item:hover .vsh-fig{transform:rotate(0) scale(1.015)}
.vsh-ph{width:min(var(--fw,40vw),calc(var(--fh) * var(--r,.8)));aspect-ratio:var(--r,.8);display:grid;place-items:center;background:repeating-linear-gradient(135deg,rgba(13,37,51,.05) 0 1px,transparent 1px 14px),#ECE4D8;box-shadow:inset 0 0 0 1px rgba(13,37,51,.14)}
.vsh-ph span{font:400 11px/1 var(--vsh-mono);letter-spacing:.24em;text-transform:uppercase;color:rgba(13,37,51,.45)}
.vsh-cap{position:relative;z-index:1;max-width:min(100%,460px);opacity:var(--p,1);transform:translate3d(calc((1 - var(--p,1)) * 80px),0,0)}
.vsh-item:nth-child(even) .vsh-cap{align-self:flex-end;text-align:right}
.vsh-title{margin:0 0 8px!important;font:italic 400 clamp(24px,2.2vw,36px)/1.15 var(--vsh-serif)!important;color:var(--vsh-ink)!important}
.vsh-meta{margin:0;font:400 11px/1.6 var(--vsh-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--vsh-mute)}
.vsh-story{margin:12px 0 0;font:italic 400 18px/1.5 var(--vsh-serif);color:var(--vsh-accent)}
.vsh-note{position:absolute;z-index:3;right:0;top:8%;display:flex;flex-direction:column;align-items:flex-end;color:var(--vsh-ink);transform:rotate(-7deg);pointer-events:none}
.vsh-note span{font:italic 400 clamp(28px,2.6vw,42px)/1 var(--vsh-script);color:var(--vsh-ink);clip-path:inset(0 calc((1 - var(--p,1)) * 100%) 0 0)}
.vsh-arrow{width:110px;height:56px;margin-right:40px;transform:scaleX(-1)}
.vsh-arrow path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--p,1))}
.vsh-item:nth-child(even) .vsh-note{right:auto;left:0;align-items:flex-start}
.vsh-item:nth-child(even) .vsh-arrow{transform:none;margin:0 0 0 40px}

/* ---------- Outro ---------- */
.vsh-outro{width:72vw;display:grid;place-items:center;padding:0 8vw;text-align:center}
.vsh-outro-title{margin:0 auto 18px!important;max-width:14ch;font:400 clamp(40px,5.6vw,96px)/1 var(--vsh-serif)!important;text-transform:uppercase;color:var(--vsh-ink)!important}
.vsh-outro-text{margin:0 0 30px;font:400 12.5px/1.8 var(--vsh-mono);color:var(--vsh-mute)}
.vsh-btn{display:inline-block;background:var(--vsh-accent);color:#fff!important;text-decoration:none;padding:18px 34px;font:400 12px/1 var(--vsh-mono);letter-spacing:.18em;text-transform:uppercase;transition:background .5s}
.vsh-btn:hover{background:var(--vsh-ink)}

/* ---------- UI ---------- */
.vsh-ui{position:absolute;left:5vw;right:5vw;bottom:30px;z-index:5;display:flex;align-items:center;gap:22px;font:400 11px/1 var(--vsh-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--vsh-ink)}
.vsh-count b{font-weight:400;color:var(--vsh-accent)}
.vsh-bar{flex:1;height:1px;background:rgba(13,37,51,.15);position:relative}
.vsh-bar i{position:absolute;inset:0;background:var(--vsh-ink);transform-origin:left;transform:scaleX(0)}

/* ---------- Lightbox ---------- */
.vsh-lb{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:5vw;background:rgba(13,37,51,.95);opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s;cursor:zoom-out}
.vsh-lb.on{opacity:1;visibility:visible}
.vsh-lb figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;transform:scale(.96);transition:transform .6s cubic-bezier(.22,.8,.2,1)}
.vsh-lb.on figure{transform:none}
.vsh-lb img{max-width:90vw;max-height:80vh;object-fit:contain}
.vsh-lb figcaption{color:#F6F2EB;font:italic 400 22px/1.3 var(--serif,'Landa',Georgia,serif);text-align:center}
.vsh-lb figcaption small{display:block;margin-top:6px;font:400 11px/1.4 var(--serif,'Landa',Georgia,serif);letter-spacing:.14em;text-transform:uppercase;color:#D4B57E}

/* ---------- Mobile: swipe ---------- */
@media (max-width:767px){
 .vsh{height:auto!important}
 .vsh-pin{position:relative;height:auto;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .vsh-pin::-webkit-scrollbar{display:none}
 .vsh-track{transform:none!important;height:auto;padding:40px 0 90px}
 .vsh-panel,.vsh-item{height:auto;scroll-snap-align:center}
 .vsh-intro{width:100vw;min-height:78svh;padding:40px 6vw}
 .vsh-giant{font-size:31vw!important;transform:translate3d(0,-55%,0)}
 .vsh-intro-img{width:62vw}
 .vsh-kicker{left:6vw;font-size:10px}
 .vsh-intro-text{left:6vw;right:6vw;max-width:none;font-size:12px}
 .vsh-hint{display:none}
 .vsh-item,.vsh-s-s,.vsh-s-m,.vsh-s-l{width:84vw;--fw:74vw;--fh:56svh;padding:0 5vw;justify-content:flex-start;gap:16px}
 .vsh-item:nth-child(even) .vsh-fig,.vsh-item:nth-child(even) .vsh-cap{align-self:flex-start;text-align:left}
 .vsh-num{font-size:24vw;top:-6%}
 .vsh-note{top:-4%}
 .vsh-note span{font-size:30px}.vsh-arrow{width:70px;height:36px}
 .vsh-outro{width:90vw;padding:40px 6vw}
 .vsh-ui{bottom:28px;left:6vw;right:6vw}
}

/* ---------- Editor ---------- */
.elementor-editor-active .vsh{height:auto!important}
.elementor-editor-active .vsh-pin{position:relative;overflow-x:auto}
.elementor-editor-active .vsh-track{transform:none!important}
@media (prefers-reduced-motion:reduce){.vsh *{animation:none!important;transition:none!important}}

/* ---------- Zumbido: sugerencia de ir a la derecha (1.1.0) ---------- */
.vsh-track{translate:0 0}
.vsh.is-nudge .vsh-track{animation:vshBuzz 1.6s cubic-bezier(.3,.7,.2,1) both}
@keyframes vshBuzz{
 0%{translate:0 0}
 14%{translate:-46px 0}
 20%{translate:-38px 0}
 24%{translate:-46px 0}
 28%{translate:-40px 0}
 32%{translate:-45px 0}
 36%{translate:-42px 0}
 60%{translate:-30px 0}
 100%{translate:0 0}
}
.vsh-cue{position:absolute;right:clamp(16px,3vw,44px);top:50%;z-index:6;display:flex;align-items:center;gap:14px;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity .6s ease}
.vsh.is-start .vsh-cue{opacity:1}
.vsh-cue span{font:400 11px/1 var(--vsh-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--vsh-ink)}
.vsh-cue b{position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--vsh-accent);color:#fff;font:400 26px/1 var(--vsh-serif);box-shadow:0 12px 30px -10px rgba(140,104,40,.7)}
.vsh-cue b:before,.vsh-cue b:after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--vsh-accent);animation:vshRing 2.2s ease-out infinite}
.vsh-cue b:after{animation-delay:1.1s}
@keyframes vshRing{from{transform:scale(1);opacity:.8}to{transform:scale(1.9);opacity:0}}
.vsh.is-nudge .vsh-cue b{animation:vshShake 1.6s ease both}
@keyframes vshShake{0%,100%{translate:0 0}14%{translate:8px 0}18%{translate:3px 0}22%{translate:9px 0}26%{translate:4px 0}30%{translate:8px 0}40%{translate:0 0}}
.vsh-edge{position:absolute;top:0;right:0;bottom:0;width:22vw;z-index:4;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(196,154,69,.28));opacity:0;transition:opacity .8s ease}
.vsh.is-start .vsh-edge{opacity:1}
.vsh.is-nudge .vsh-edge{animation:vshEdge 1.6s ease both}
@keyframes vshEdge{0%,100%{opacity:1}20%{opacity:.35}26%{opacity:1}32%{opacity:.5}40%{opacity:1}}
@media (max-width:767px){.vsh-cue{top:auto;bottom:70px;right:16px;transform:none}.vsh-cue span{display:none}.vsh-cue b{width:52px;height:52px;font-size:22px}.vsh-edge{width:30vw}}
.elementor-editor-active .vsh-cue,.elementor-editor-active .vsh-edge{display:none}
@media (prefers-reduced-motion:reduce){.vsh.is-nudge .vsh-track,.vsh.is-nudge .vsh-cue b{animation:none}}
