/* Ajustes finales: navegación, ritmo vertical y timeline */
.vn-menu-toggle{display:none;cursor:pointer;background:#f1f7ed;border:1px solid #d8e5d4;border-radius:12px;width:46px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;flex-shrink:0}
.vn-menu-toggle span{display:block;width:22px;height:2px;border-radius:2px;background:#0c3b16;transition:transform .2s,opacity .2s}
.vn-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
.vn-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.vn-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
/* Separación consistente sin alterar los fondos */
#nosotros,#que-hacemos,#marcas,#fortalezas,#contacto{scroll-margin-top:92px}
#nosotros,#que-hacemos{padding-top:clamp(64px,7vw,100px)!important;padding-bottom:clamp(64px,7vw,100px)!important}
#marcas{padding-top:clamp(60px,6vw,90px)!important;padding-bottom:clamp(60px,6vw,90px)!important}
#fortalezas{padding-top:clamp(60px,6vw,90px)!important;padding-bottom:clamp(60px,6vw,90px)!important}
#contacto{padding-top:clamp(60px,6vw,90px)!important;padding-bottom:clamp(60px,6vw,90px)!important}
/* Desktop conserva timeline horizontal */
@media(min-width:761px){.vn-history-track{overflow-x:auto}}
@media(max-width:980px){
 html{scroll-padding-top:88px}
 .vn-util{display:none!important}
 .vn-sticky-header>.vn-pad{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:9px 18px!important;min-height:78px;position:relative}
 .vn-sticky-header>.vn-pad>a:first-child{flex:0 1 auto;min-width:0}
 .vn-sticky-header>.vn-pad>a:first-child img{height:60px!important;max-width:min(65vw,240px)!important;object-fit:contain}
 .vn-menu-toggle{display:flex}
 .vn-sticky-header .vn-nav{display:none!important;position:absolute!important;top:100%;left:0;right:0;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;flex-wrap:nowrap!important;background:#fff;box-shadow:0 18px 28px #123a1d22;padding:12px 20px 20px!important;gap:0!important;font-size:16px!important;border-top:1px solid #e5ede2;z-index:2000}
 .vn-sticky-header .vn-nav.vn-nav-open{display:flex!important}
 .vn-sticky-header .vn-nav a{display:block;padding:13px 8px;border-bottom:1px solid #eef3eb;color:#0c3b16!important;text-decoration:none}
 #nosotros,#que-hacemos,#marcas,#fortalezas,#contacto{scroll-margin-top:86px;padding-top:56px!important;padding-bottom:56px!important}
 /* Timeline vertical, sin scroll horizontal */
 .vn-history-horizontal{display:block!important;margin-top:25px!important}
 .vn-history-intro{margin-bottom:28px!important}
 .vn-history-track{display:flex!important;flex-direction:column!important;overflow:visible!important;grid-template-columns:none!important;gap:15px!important;padding:0 0 0 34px!important;margin:0!important;scroll-snap-type:none!important}
 .vn-history-track::before{content:""!important;display:block!important;position:absolute!important;left:10px!important;right:auto!important;top:14px!important;bottom:14px!important;width:3px!important;height:auto!important;background:#8bbd92!important}
 .vn-history-card{width:100%!important;min-height:unset!important;display:grid!important;grid-template-columns:80px minmax(0,1fr)!important;align-items:center!important;column-gap:12px!important;row-gap:4px!important;padding:14px!important;overflow:visible!important;animation:none!important}
 .vn-history-node{left:-33px!important;top:50%!important;transform:translateY(-50%)!important;width:18px!important;height:18px!important}
 .vn-history-year{grid-row:1 / span 2;font-size:22px!important;align-self:center}
 .vn-history-logo{grid-column:2!important;height:48px!important;justify-content:flex-start!important}
 .vn-history-logo img{max-width:150px!important;max-height:45px!important}
 .vn-history-card p{grid-column:2!important;margin:0!important;font-size:12px!important}
}
@media(max-width:400px){.vn-sticky-header>.vn-pad>a:first-child img{height:54px!important}.vn-history-card{grid-template-columns:68px minmax(0,1fr)!important;padding:12px!important}.vn-history-year{font-size:19px!important}}
@media(prefers-reduced-motion:reduce){.vn-menu-toggle span{transition:none}}

/* Menú móvil: un mismo breakpoint para botón y navegación */
@media (max-width:980px){
 .vn-sticky-header .vn-menu-toggle{display:flex!important;position:relative;z-index:2002;touch-action:manipulation}
 .vn-sticky-header #vn-main-menu{display:none!important;visibility:hidden;pointer-events:none}
 .vn-sticky-header #vn-main-menu.vn-nav-open{display:flex!important;visibility:visible;pointer-events:auto;max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
}
@media(min-width:981px){.vn-sticky-header #vn-main-menu{display:flex!important}.vn-sticky-header .vn-menu-toggle{display:none!important}}

@media (min-width:761px) and (max-width:980px){
 .vn-history-track{flex-direction:row!important;overflow-x:auto!important;gap:16px!important;padding:20px 4px 28px!important}
 .vn-history-track::before{display:none!important}
 .vn-history-card{flex:0 0 210px!important;width:210px!important;display:flex!important;flex-direction:column!important}
 .vn-history-node{display:none!important}
}

/* Banner: separación de CTA, enlace secundario y controles en móvil */
@media (max-width:760px){
 .vn-hero{min-height:700px!important;}
 .vn-hero .vn-hero-content{padding-top:74px!important;padding-bottom:160px!important;gap:20px!important;justify-content:center!important;}
 .vn-hero .vn-hero-actions{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:22px!important;margin-top:12px!important;}
 .vn-hero .vn-hero-actions a:first-child{display:inline-flex;align-items:center;justify-content:center;min-height:50px;box-sizing:border-box;}
 .vn-hero .vn-hero-actions a:last-child{display:inline-flex;align-items:center;min-height:42px;padding:8px 4px!important;}
 .vn-hero .vn-hero-controls{bottom:28px!important;gap:14px!important;}
}
@media (max-width:400px){
 .vn-hero{min-height:740px!important;}
 .vn-hero .vn-hero-content{padding-top:55px!important;padding-bottom:155px!important;}
}
