
.site-logo { height: 54px; max-height: 3.1em; width: auto; display: block; filter: drop-shadow(0 0.35rem 0.9rem rgba(0,0,0,0.48)); }
#header .site-logo-link { height: inherit; display: inline-flex; align-items: center; padding: 0; border: 0; }
#header h1 a.site-logo-link { text-indent: 0; background: none; }
#header nav > ul > li > a.menuToggle { height: inherit; line-height: 1; display: inline-flex !important; align-items: center; justify-content: center; gap: 0.72em; padding: 0 1.65em; background: transparent !important; box-shadow: none !important; border: 0 !important; }
#header nav > ul > li > a.menuToggle span { line-height: 1; transform: translateY(0); }
#header nav > ul > li > a.menuToggle:after { height: 1.35em !important; width: 1.9em !important; background-position: center center !important; background-size: contain !important; }
#contacto { scroll-margin-top: 5em; }
.vs-page-hero { background-color: #0A0A0A; background-image: linear-gradient(180deg, rgba(10,10,10,0.74), rgba(10,10,10,0.88)), url("../../images/home/01-vs-home-hero-eventos.jpg"); background-position: center; background-size: cover; }
.vs-page-hero h2, .vs-page-hero-simple h2 { color: #fff; }
header.major.compact { margin-bottom: 2.25em; }
header.major.compact p { max-width: 48em; margin-left: auto; margin-right: auto; }
.vs-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.vs-service-card { position: relative; padding: 2rem 1.65rem; min-height: 18rem; background: #ffffff; border: 1px solid rgba(10,10,10,0.09); box-shadow: 0 1.15rem 3.3rem rgba(10,10,10,0.08); overflow: hidden; }
.vs-service-card:before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: #00CF68; opacity: .9; }
.vs-service-card h3 { margin-top: 1.2rem; margin-bottom: .7rem; }
.vs-service-card p { color: #565656; font-size: .98em; line-height: 1.65; }
.vs-card-icon { width: 4.35rem; height: 4.35rem; border: 1px solid rgba(0,207,104,.55); display: flex; align-items: center; justify-content: center; background: rgba(0,207,104,.06); transform: rotate(45deg); margin-left: .45rem; }
.vs-card-icon svg { width: 2rem; height: 2rem; transform: rotate(-45deg); fill: none; stroke: #0A0A0A; stroke-width: 2.7; stroke-linecap: round; stroke-linejoin: round; }
.vs-process { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
.vs-process span { border: 1px solid rgba(10,10,10,.16); background: rgba(255,255,255,.68); padding: .85rem 1.15rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; font-size: .78em; }
.vs-about { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .95fr); gap: 3rem; align-items: center; }
.vs-about-copy p { color: #555; font-size: 1.05em; line-height: 1.75; }
.vs-about-statement { background: #0A0A0A; color: #fff; padding: 3rem; min-height: 17rem; display: flex; flex-direction: column; justify-content: center; box-shadow: 0 1.4rem 3.4rem rgba(10,10,10,.16); }
.vs-about-statement span { color: #fff; font-weight: 800; letter-spacing: .08em; }
.vs-about-statement strong { color: #00CF68 !important; font-size: 1.55em; line-height: 1.2; margin-top: .55em; }
.vs-principles { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.vs-principles article { background: rgba(255,255,255,.72); padding: 1.8rem; border: 1px solid rgba(10,10,10,.08); }
.vs-principles p { color: #555; }
.masonry { column-count: 1; column-gap: 1rem; }
@media (min-width: 640px) { .masonry { column-count: 2; } }
@media (min-width: 980px) { .masonry { column-count: 3; } }
@media (min-width: 1280px) { .masonry { column-count: 4; } }
.tile { display: inline-block; width: 100%; margin: 0 0 1rem; break-inside: avoid; background: rgba(255,255,255,.045); overflow: hidden; box-shadow: 0 10px 25px rgba(0,0,0,.12); transition: transform .15s ease, box-shadow .15s ease; }
.tile:hover { transform: translateY(-2px); box-shadow: 0 1.2rem 3rem rgba(0,0,0,.22); }
.tile-media { position: relative; display: block; width: 100%; overflow: hidden; aspect-ratio: 16/9; background: #111; border: 0; }
.tile-media img, .tile-media video, .tile-media iframe { display: block; width: 100%; height: 100%; object-fit: cover; }
.tile-body { padding: .9rem 1rem 1rem; }
.tile-title { margin: 0 0 .25rem; font-size: 1.05rem; line-height: 1.35; color: #fff; }
.tile-meta { font-size: .85rem; opacity: .75; color: rgba(255,255,255,.74); }
.ar-1x1 .tile-media { aspect-ratio: 1/1; } .ar-4x5 .tile-media { aspect-ratio: 4/5; } .ar-21x9 .tile-media { aspect-ratio: 21/9; }
.tile-media[data-type="video"]::after { content: "▶"; position: absolute; right: .6rem; bottom: .4rem; background: rgba(0,0,0,.58); padding: .25rem .48rem; }
.lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.86); display: none; align-items: center; justify-content: center; padding: 2rem; z-index: 9999; }
.lightbox.open { display: flex; }
.lightbox-content { position: relative; max-width: 92vw; max-height: 86vh; width: 1100px; background: #000; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.45); }
.lightbox-content img, .lightbox-content video, .lightbox-content iframe { display: block; width: 100%; height: 100%; max-height: 86vh; object-fit: contain; background: #000; }
.lightbox-close { position: absolute; top: .5rem; right: .5rem; background: rgba(255,255,255,.08); color: #fff; border: 0; padding: .4rem .6rem; cursor: pointer; font-size: 1rem; z-index: 2; }
.lightbox-caption { position: absolute; left: 0; right: 0; bottom: 0; color: #fff; font-size: .95rem; padding: .6rem .9rem; background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0)); }
#footer .icons.vs-social-icons a.vs-social { width: 2.35em; height: 2.35em; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,0.24) !important; border-radius: 50%; color: rgba(255,255,255,0.78) !important; }
#footer .icons.vs-social-icons a.vs-social:before { display: none !important; }
#footer .icons.vs-social-icons .vs-social-svg { width: 1.05em; height: 1.05em; display: block; fill: currentColor; }
#footer .icons.vs-social-icons .vs-instagram .vs-social-svg { width: 1.18em; height: 1.18em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media screen and (max-width: 980px) { .vs-service-grid, .vs-about, .vs-principles { grid-template-columns: 1fr; } .vs-service-card { min-height: auto; } }
@media screen and (max-width: 736px) { .site-logo { height: 38px; } #header nav > ul > li > a.menuToggle { padding: 0 1.15em; } .vs-about-statement { padding: 2rem; } }


/* Visión Subjetiva — ajustes visuales v16 */
:root { --vs-green:#00CF68; --vs-black:#0A0A0A; --vs-white:#FFFFFF; }
#header nav > ul > li > a.menuToggle { align-items:center !important; }
#header nav > ul > li > a.menuToggle span { display:inline-flex; align-items:center; height:100%; line-height:1 !important; }
.vs-hero .hero-title { max-width: 11.5em; }
.vs-hero .hero-title-primary { color:#fff !important; text-shadow: 0 0.5rem 1.8rem rgba(0,0,0,.55); }
.vs-hero .hero-title-secondary { color: var(--vs-green) !important; text-shadow: 0 0 1.1rem rgba(0,207,104,.22), 0 .55rem 1.8rem rgba(0,0,0,.65); }
.vs-experience-section { position:relative; background:#0A0A0A !important; color:#fff; overflow:hidden; }
.vs-experience-section:before { content:""; position:absolute; inset:0; background: linear-gradient(90deg,rgba(10,10,10,.92),rgba(10,10,10,.70)), url("../../images/home/02-vs-home-experiencias.jpg") center/cover no-repeat; opacity:1; }
.vs-experience-section .inner { position:relative; z-index:1; }
.vs-experience-section h2, .vs-experience-section p { color:#fff !important; }
.vs-experience-section header.major:after { background-color: var(--vs-green); }
.vs-experience-icons .vs-experience-icon { background:rgba(255,255,255,.92) !important; box-shadow: 0 1rem 3rem rgba(0,0,0,.25); }
.vs-experience-icons .vs-experience-icon svg { stroke:#0A0A0A !important; }
.vs-page-hero .inner, .vs-page-hero-simple .inner { position:relative; z-index:1; }
.vs-page-hero, .vs-page-hero-simple { position:relative; overflow:hidden; background-color:#0A0A0A !important; }
.vs-page-hero:before, .vs-page-hero-simple:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,10,10,.92),rgba(10,10,10,.52)); z-index:0; }
.vs-services-hero { background-image:url("../../images/servicios/03-vs-servicios-hero.jpg") !important; background-size:cover; background-position:center; }
.vs-gallery-hero { background-image:url("../../images/archivo-galeria/04-vs-galeria-hero.jpg") !important; background-size:cover; background-position:center; }
.vs-clients-hero { background-image:url("../../images/aliados/05-vs-aliados-hero.jpg") !important; background-size:cover; background-position:center; }
.vs-kicker { display:block; color:var(--vs-green); font-weight:900; letter-spacing:.22em; text-transform:uppercase; font-size:.78rem; margin-bottom:1rem; }
.vs-page-hero h2, .vs-page-hero-simple h2 { max-width: 880px; margin-left:auto; margin-right:auto; font-size: clamp(2.1rem, 5.2vw, 4.8rem); }
.vs-page-hero p, .vs-page-hero-simple p { color:rgba(255,255,255,.82) !important; max-width: 680px; margin-left:auto; margin-right:auto; }
.vs-dark-canvas { background:#0A0A0A !important; color:#fff; }
.vs-dark-canvas h2, .vs-dark-canvas h3 { color:#fff !important; }
.vs-dark-canvas header.major p { color:rgba(255,255,255,.72) !important; }
.vs-service-visual-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.05rem; }
.vs-service-visual-card { position:relative; min-height:22rem; overflow:hidden; background:#111; box-shadow:0 1rem 3rem rgba(0,0,0,.26); }
.vs-service-visual-card .vs-service-image { display:block; border:0; height:100%; min-height:22rem; }
.vs-service-visual-card img { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.02); transition:transform .35s ease, filter .35s ease; filter:saturate(.92) contrast(1.05); }
.vs-service-visual-card:hover img { transform:scale(1.08); filter:saturate(1.08) contrast(1.08); }
.vs-service-visual-card:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.83)); pointer-events:none; }
.vs-service-overlay { position:absolute; left:0; right:0; bottom:0; padding:1.45rem; z-index:1; }
.vs-service-number { display:inline-block; color:var(--vs-green); font-size:.78rem; font-weight:900; letter-spacing:.18em; margin-bottom:.65rem; }
.vs-service-overlay h3 { margin:0 0 .45rem; font-size:1.05rem; line-height:1.28; }
.vs-service-overlay p { color:rgba(255,255,255,.76); font-size:.88rem; line-height:1.55; margin:0; }
.vs-gallery-page { background:#0A0A0A !important; }
.vs-gallery-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:1rem; }
.vs-gallery-card { margin:0; background:#111; overflow:hidden; border:1px solid rgba(255,255,255,.08); box-shadow:0 1rem 2.5rem rgba(0,0,0,.22); }
.vs-gallery-card:nth-child(1), .vs-gallery-card:nth-child(6) { grid-column: span 2; }
.vs-gallery-card .tile-media { aspect-ratio: 16/10; }
.vs-gallery-card img { transition: transform .35s ease, filter .35s ease; }
.vs-gallery-card:hover img { transform:scale(1.06); filter:contrast(1.08); }
.vs-gallery-card figcaption { padding:1rem 1.1rem 1.1rem; }
.vs-gallery-card h3 { color:#fff; margin:0 0 .35rem; font-size:1.02rem; letter-spacing:.02em; }
.vs-gallery-card p { color:rgba(255,255,255,.65); margin:0; font-size:.85rem; letter-spacing:.04em; text-transform:uppercase; }
.vs-allies-section { background:#050505 !important; color:#fff; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }
.vs-allies-section h2, .vs-allies-section p { color:#fff !important; }
.vs-logo-marquee { overflow:hidden; white-space:nowrap; border:1px solid rgba(255,255,255,.10); background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.02)); padding:1.15rem 0; position:relative; }
.vs-logo-track { display:inline-flex; gap:3.2rem; animation: vs-marquee 24s linear infinite; }
.vs-logo-track span { color:rgba(255,255,255,.74); font-weight:900; letter-spacing:.18em; text-transform:uppercase; font-size:.92rem; }
@keyframes vs-marquee { from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
.vs-clients-page { background:#0A0A0A !important; color:#fff; }
.vs-clients-page h2, .vs-clients-page p { color:#fff !important; }
.vs-client-logo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.vs-client-logo-grid span { min-height:7rem; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.035); color:rgba(255,255,255,.75); font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
#footer .copyright strong { color:var(--vs-green); }
#footer .icons.vs-social-icons a.vs-social { overflow:visible; }
#footer .icons.vs-social-icons .vs-facebook .vs-social-svg { width:1.05em; height:1.05em; fill:currentColor; }
.vs-floating-nav { right:1.2rem; bottom:1.4rem; top:auto !important; transform:none !important; }
@media screen and (max-width: 980px) { .vs-service-visual-grid, .vs-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .vs-client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .vs-gallery-card:nth-child(1), .vs-gallery-card:nth-child(6){grid-column:span 1;} }
@media screen and (max-width: 736px) { .vs-service-visual-grid, .vs-gallery-grid, .vs-client-logo-grid { grid-template-columns:1fr; } .vs-page-hero h2, .vs-page-hero-simple h2{font-size:2rem;} .vs-service-visual-card{min-height:18rem;} }
