
/* Visión Subjetiva v17 — páginas más visuales, compactas y legibles */
:root { --vs-green:#00CF68; --vs-black:#0A0A0A; --vs-white:#fff; }
body { background:#0A0A0A; }
.site-logo { height:56px; margin-top:12px; margin-left:16px; }
#header nav > ul > li > a.menuToggle { gap:.72em; align-items:center !important; }
#header nav > ul > li > a.menuToggle span { display:inline-flex !important; align-items:center !important; line-height:1 !important; transform:none !important; }
#header nav > ul > li > a.menuToggle:after { margin-top:0 !important; align-self:center !important; }
.vs-hero .hero-title { font-size:clamp(2.8rem,6.35vw,6.25rem); line-height:.98; max-width:11.2em; }
.vs-hero .hero-title-primary { color:#fff !important; }
.vs-hero .hero-title-secondary { color:var(--vs-green) !important; }
.vs-hero .hero-copy { transform:translateY(1.5rem); }
.vs-home-split { display:grid; grid-template-columns:1.05fr .95fr; min-height:46vh; background:#0A0A0A; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }
.vs-home-split-image { min-height:28rem; overflow:hidden; }
.vs-home-split-image img { width:100%; height:100%; object-fit:cover; display:block; filter:contrast(1.05) saturate(1.05); }
.vs-home-split-copy { display:flex; flex-direction:column; justify-content:center; padding:5rem 7vw; color:#fff; }
.vs-home-split-copy h2 { color:#fff; font-size:clamp(2rem,3.4vw,3.4rem); line-height:1.05; margin-bottom:1rem; }
.vs-home-split-copy p { color:rgba(255,255,255,.75); max-width:36rem; }
.vs-allies-home { text-align:center; padding:3.5rem 0 3.2rem !important; }
.vs-allies-home header.major { margin-bottom:1.1rem; }
.vs-allies-home h2 { font-size:clamp(1.35rem,2.2vw,2rem); letter-spacing:.04em; }
.vs-logo-marquee { margin-top:0; }
.vs-page-hero.vs-short-hero { padding:8.5rem 0 3rem; text-align:center; min-height:0; }
.vs-page-hero.vs-short-hero h2 { margin-bottom:.6rem; }
.vs-page-hero.vs-short-hero p { margin-bottom:0; }
.vs-services-up { padding-top:3.5rem !important; padding-bottom:4rem !important; }
.vs-service-visual-grid-wide { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.vs-service-visual-card { min-height:20rem; border:1px solid rgba(255,255,255,.09); }
.vs-service-visual-card img { width:100%; height:100%; min-height:20rem; object-fit:cover; display:block; }
.vs-service-visual-card:after { background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.86)); }
.vs-service-overlay h3 { color:#fff !important; font-size:1rem; }
.vs-service-overlay p { display:none; }
.vs-gallery-page { padding-top:2.5rem !important; padding-bottom:4rem !important; background:#0A0A0A !important; }
.vs-gallery-grid-clean { grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem; }
.vs-gallery-grid-clean .vs-gallery-card { border:1px solid rgba(255,255,255,.1); background:#111; }
.vs-gallery-grid-clean .vs-gallery-card:nth-child(1), .vs-gallery-grid-clean .vs-gallery-card:nth-child(6) { grid-column:span 2; }
.vs-gallery-grid-clean .tile-media { aspect-ratio:16/10; }
.vs-gallery-grid-clean .vs-gallery-card:nth-child(1) .tile-media, .vs-gallery-grid-clean .vs-gallery-card:nth-child(6) .tile-media { aspect-ratio: 16/7.8; }
.vs-gallery-grid-clean figcaption { padding:.9rem 1rem; }
.vs-gallery-grid-clean h3 { color:#fff !important; }
.vs-gallery-grid-clean p { color:rgba(255,255,255,.64) !important; }
.vs-clients-compact { padding:9rem 0 4rem !important; min-height:72vh; display:flex; align-items:flex-start; }
.vs-clients-compact header.major { margin-bottom:1.5rem; text-align:center; }
.vs-clients-compact h2 { color:#fff !important; font-size:clamp(1.55rem,3vw,2.7rem); }
.vs-client-logo-grid-large { grid-template-columns:repeat(6,minmax(0,1fr)); gap:.85rem; }
.vs-client-logo-grid-large span { min-height:5.4rem; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.80); font-size:.82rem; }
.vs-about-compact { padding:9rem 0 4rem; background:#0A0A0A; color:#fff; min-height:70vh; display:flex; align-items:center; }
.vs-about-compact .inner { display:grid; grid-template-columns:.9fr 1.1fr; gap:3rem; align-items:center; }
.vs-about-mini-copy h2 { color:#fff; font-size:clamp(2rem,4vw,4rem); line-height:1.05; }
.vs-about-mini-copy h2 span { color:var(--vs-green); }
.vs-about-mini-copy p { color:rgba(255,255,255,.74); font-size:1.1rem; max-width:30rem; }
.vs-about-mini-grid { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
.vs-about-mini-grid img { width:100%; height:15rem; object-fit:cover; display:block; border:1px solid rgba(255,255,255,.10); filter:contrast(1.06) saturate(.95); }
.vs-about-mini-grid img:first-child { grid-row:span 2; height:30.9rem; }
.vs-process-compact { padding:2.5rem 0 !important; }
.vs-contact-compact { padding:4rem 0 !important; }
#footer .icons.vs-social-icons a.vs-social { overflow:visible !important; border-radius:0 !important; border:0 !important; color:rgba(255,255,255,.82) !important; }
#footer .icons.vs-social-icons a.vs-social:hover { color:var(--vs-green) !important; }
#footer .icons.vs-social-icons .vs-social-svg { display:block; width:1.2em !important; height:1.2em !important; }
#footer .icons.vs-social-icons .vs-instagram .vs-social-svg { fill:none !important; stroke:currentColor !important; stroke-width:1.8 !important; }
#footer .icons.vs-social-icons .vs-facebook .vs-social-svg { fill:currentColor !important; width:1.1em !important; height:1.1em !important; }
#footer .copyright strong { color:var(--vs-green); }
.vs-floating-nav { right:1.25rem !important; bottom:1.4rem !important; top:auto !important; transform:none !important; }
@media screen and (max-width:1280px){ .vs-service-visual-grid-wide,.vs-gallery-grid-clean{grid-template-columns:repeat(3,minmax(0,1fr));} .vs-client-logo-grid-large{grid-template-columns:repeat(4,minmax(0,1fr));} }
@media screen and (max-width:980px){ .site-logo{height:44px;margin-top:8px;margin-left:6px;} .vs-home-split,.vs-about-compact .inner{grid-template-columns:1fr;} .vs-home-split-copy{padding:3rem 2rem;} .vs-service-visual-grid-wide,.vs-gallery-grid-clean{grid-template-columns:repeat(2,minmax(0,1fr));} .vs-client-logo-grid-large{grid-template-columns:repeat(3,minmax(0,1fr));} .vs-about-mini-grid img:first-child{height:18rem;} .vs-about-mini-grid img{height:18rem;} }
@media screen and (max-width:736px){ .vs-hero .hero-title{font-size:2.55rem;} .vs-service-visual-grid-wide,.vs-gallery-grid-clean,.vs-client-logo-grid-large{grid-template-columns:1fr;} .vs-gallery-grid-clean .vs-gallery-card:nth-child(1),.vs-gallery-grid-clean .vs-gallery-card:nth-child(6){grid-column:span 1;} .vs-client-logo-grid-large span{min-height:4.6rem;} }
.vs-services-hero { background-image: url("../../images/servicios/06-vs-eventos-alta-gama.jpg") !important; background-position:center !important; background-size:cover !important; }
.vs-gallery-hero { background-image: url("../../images/nosotros/17-vs-evento-audiencia.jpg") !important; background-position:center !important; background-size:cover !important; }
