
@font-face{
  font-family:'Source Sans 3'; font-style:normal; font-weight:200 900; font-display:swap;
  src:url('/assets/fonts/source-sans-3-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Source Sans 3'; font-style:normal; font-weight:200 900; font-display:swap;
  src:url('/assets/fonts/source-sans-3-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Source Sans 3 Titulo'; font-style:normal; font-weight:200 900; font-display:swap; size-adjust:107%;
  src:url('/assets/fonts/source-sans-3-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Source Sans 3 Titulo'; font-style:normal; font-weight:200 900; font-display:swap; size-adjust:107%;
  src:url('/assets/fonts/source-sans-3-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Source Code Pro'; font-style:normal; font-weight:200 900; font-display:swap;
  src:url('/assets/fonts/source-code-pro-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Source Code Pro'; font-style:normal; font-weight:200 900; font-display:swap;
  src:url('/assets/fonts/source-code-pro-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

*{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;font-family:'Source Sans 3',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;background:#0B0A09;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  a:hover{opacity:.72}
  input,select,textarea,button{font-family:inherit}
  h1,h2,h3,h4{font-family:'Source Sans 3 Titulo','Source Sans 3',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
  ::selection{background:#0B6B5C;color:#fff}
  [id]{scroll-margin-top:118px}
  @media (max-width:760px){
    [data-nav]{top:8px!important;padding:6px!important;gap:6px!important;border-radius:24px!important}
    [data-nav] [data-hide]{display:none!important}
    [data-nav] button,[data-nav] a{font-size:13px!important}
    [data-pad]{padding-left:16px!important;padding-right:16px!important}
    [data-hero]{padding-top:150px!important}
    [id]{scroll-margin-top:96px}
  }
  @keyframes vs-caret{0%,49%{opacity:1}50%,100%{opacity:0}}
  @keyframes vs-drift{0%,100%{transform:scale(1) rotate(-2.5deg)}50%{transform:scale(1.07) rotate(2.5deg)}}
  @keyframes vs-float1{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(6vw,-4vh,0) scale(1.18)}}
  @keyframes vs-float2{0%,100%{transform:translate3d(0,0,0) scale(1.1)}50%{transform:translate3d(-7vw,5vh,0) scale(.9)}}
  @keyframes vs-float3{0%,100%{transform:translate3d(0,0,0) scale(.95)}50%{transform:translate3d(4vw,6vh,0) scale(1.25)}}
  @keyframes vs-spin{to{transform:rotate(360deg)}}
  @keyframes vs-holo{0%{background-position:0% 50%}100%{background-position:300% 50%}}
  @keyframes vs-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @keyframes vs-pulse{0%,100%{opacity:.35}50%{opacity:1}}
  @keyframes vs-sheen{0%{transform:translateX(-120%) skewX(-18deg)}100%{transform:translateX(320%) skewX(-18deg)}}
  @keyframes vs-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}


.h0:hover{transform:translateY(-2px) !important;opacity:1 !important}
.h1:hover{background:rgba(255,255,255,.18) !important}
.h2:hover{transform:translateY(-6px) !important;box-shadow:0 1px 2px rgba(20,16,12,.04),0 28px 60px -24px rgba(15,143,122,.42) !important}
.h3:hover{background:rgba(15,143,122,.09) !important;opacity:1 !important}
.h4:hover{transform:translateY(-6px) !important;opacity:1 !important;border-color:rgba(15,143,122,.4) !important}
.h5:hover{transform:translateY(-4px) !important;opacity:1 !important;border-color:rgba(15,143,122,.4) !important}
.h6:hover{opacity:1 !important;transform:translateY(-2px) !important}
.h7:hover{transform:translateY(-5px) !important;border-color:rgba(15,143,122,.35) !important}
.h8:hover{background:#0B6B5C !important;color:#fff !important;opacity:1 !important}
.h9:hover{border-color:rgba(15,143,122,.4) !important;opacity:1 !important}
.ha:focus{border-color:#0B6B5C !important}
.hb:hover{transform:translateY(-2px) !important}
.hc:hover{background:rgba(15,143,122,.1) !important;opacity:1 !important}
.hd:hover{color:#FFC61A !important}
.he:hover{background:rgba(255,255,255,.12) !important;opacity:1 !important}
.hf:hover{border-color:rgba(255,198,26,.45) !important;transform:translateY(-5px) !important}
.hg:hover{opacity:.72 !important}
.hh:hover{color:#8B7DFF !important}
.hi:hover{transform:translateY(-5px) !important;border-color:rgba(255,255,255,.26) !important}


[data-reveal]{will-change:opacity,transform}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
  *{animation-duration:.001ms!important;animation-iteration-count:1!important}
}

[id^="vs-"][hidden]{display:none!important}


@media (max-width:1179px){
  [data-nav] [data-solo-movil]{ display:inline-flex !important; }
  [data-nav] [data-grupos]{
    display:none !important;
    order:9; width:100%; padding-top:6px;
  }
  [data-nav].vs-abierto [data-grupos]{
    display:flex !important; flex-direction:column; gap:6px;
  }
  [data-nav].vs-abierto [data-grupos] > div{ width:100%; }

  
  [data-nav].vs-abierto{
    background:#100E0D !important; 
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
}

@media (max-width:900px){
  [style*="vs-float"],
  [style*="vs-drift"],
  [style*="vs-spin"],
  [style*="vs-sheen"]{ animation:none !important; }
}
@media (min-width:1180px){
  [data-nav] [data-solo-movil]{ display:none !important; }
}


[data-nav] > a,
[data-nav] > button,
[data-moneda],
.hd, .hh{ min-height:36px; min-width:36px; }

.hg{ display:inline-flex; align-items:center; min-height:24px; }

@media (max-width:768px), (max-height:500px), (pointer:coarse){
  [data-nav] > a,
  [data-nav] > button,
  [data-moneda],
  .h0, .h3, .h6, .h8, .h9, .hd, .hh,
  .site-footer a{ min-height:44px; display:inline-flex; align-items:center; }
  
  [data-nav] > a,
  [data-nav] > button,
  [data-moneda]{ min-width:44px; justify-content:center; }
  .hg{ min-height:44px; }
  
  .vn-pie-col{ gap:0 !important; }
}


.vs-fondo-video{
  position:absolute; z-index:-1; top:0; bottom:0; left:50%;
  width:100vw; transform:translateX(-50%);
  overflow:hidden; pointer-events:none;
  background:#111113 center / cover no-repeat;
  filter:grayscale(1);
  -webkit-mask-image:linear-gradient(#000 72%, transparent);
          mask-image:linear-gradient(#000 72%, transparent);
}
.vs-fondo-video-flex{ background-image:url(/assets/video/fondo-flex.jpg); }
.vs-fondo-video-platform{ background-image:url(/assets/video/fondo-platform.jpg); }
.vs-fondo-video video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.vs-fondo-video::after{
  content:""; position:absolute; inset:0; background:rgb(17 17 19 / .8);
}
@media (prefers-reduced-motion: reduce){
  .vs-fondo-video video{ display:none; }
}


.vs-banner{
  position:relative; z-index:4;
  max-width:1640px; margin:28px auto 0; padding:0 24px;
}
.vs-banner-marco{
  position:relative; aspect-ratio:21 / 9; overflow:hidden;
  border-radius:28px;
  background:#0a0b0b url(/assets/video/vanisur-hero-poster.webp) center / cover no-repeat;
  box-shadow:0 30px 80px -30px rgba(10,11,11,.55);
}
.vs-banner-marco video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
}
@media (max-width: 720px){
  .vs-banner{ padding:0 16px; }
  
  .vs-banner-marco{ border-radius:20px; aspect-ratio:9 / 16; background-image:url(/assets/video/vanisur-hero-vertical-poster.webp); }
}
@media (prefers-reduced-motion: reduce){
  .vs-banner-marco video{ display:none; }
}


.vn-menu{
  list-style:none; margin:0; padding:3px;
  display:flex; flex-wrap:wrap; justify-content:center; gap:2px;
  border-radius:999px; background:rgba(255,255,255,.08); max-width:100%;
}
.vn-item{ position:relative; }
.vn-pestana{ display:inline-flex; align-items:center; min-height:36px; }
.vn-pestana:not([data-activo]):hover,
.vn-pestana[aria-expanded="true"]:not([data-activo]){
  background:rgba(255,255,255,.12) !important; color:#FFFFFF !important;
}
[data-act="desplegar"]::after{
  content:""; width:6px; height:6px; margin:0 0 3px 8px;
  border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg); transition:transform .2s ease;
}
[data-act="desplegar"][aria-expanded="true"]::after{ transform:rotate(-135deg); margin-bottom:-3px; }
.vn-acciones{ display:flex; align-items:center; gap:6px; }
.vn-vani{ min-height:36px; }
.vn-vani:hover{ background:rgba(255,255,255,.1) !important; }
.vn-punto{ flex:none; width:7px; height:7px; border-radius:50%; background:#2FE6C8; }
.vn-rapidos{ display:none; }

.vn-panel{
  display:none; position:absolute; z-index:2;
  top:calc(100% + 18px); left:50%; transform:translateX(-50%);
  gap:8px; padding:10px; text-align:left;
  border-radius:18px; background:#100E0D;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 50px -18px rgba(0,0,0,.6);
}
.vn-abierto > .vn-panel{ display:flex; }
.vn-panel-demos{ left:0; transform:none; }
.vn-panel-empresa{ left:auto; right:0; transform:none; }
.vn-grupo{ display:flex; flex-direction:column; min-width:210px; }
.vn-titulo{ padding:6px 10px 4px; font-size:12.5px; font-weight:600; color:rgba(255,255,255,.62); }
.vn-enlace{
  display:flex; align-items:center; min-height:36px; padding:6px 10px;
  border-radius:10px; color:rgba(255,255,255,.86); font-size:14px;
  text-decoration:none; white-space:nowrap;
}
.vn-enlace:hover{ background:rgba(255,255,255,.1); color:#FFFFFF; }
.vn-enlace[aria-current]{ color:#FFFFFF; font-weight:600; }
[data-nav] a:focus-visible,
[data-nav] button:focus-visible{ outline:2px solid #2FE6C8; outline-offset:2px; }


@media (min-width:1180px) and (max-width:1279px){
  [data-nav] [data-buscar-texto]{ display:none !important; }
}


@media (max-width:768px), (max-height:500px), (pointer:coarse){
  .vn-pestana, .vn-vani, .vn-enlace{ min-height:44px; }
}


@media (max-width:1179px){
  [data-nav].vs-abierto{ border-radius:24px !important; }
  [data-nav].vs-abierto [data-grupos]{
    max-height:calc(100vh - 110px); max-height:calc(100svh - 110px);
    overflow-y:auto; overscroll-behavior:contain;
  }
  [data-nav].vs-abierto .vn-rapidos{ display:grid; grid-template-columns:1fr 1fr; gap:6px; }
  .vn-rapido{
    display:flex; align-items:center; justify-content:center; text-align:center;
    min-height:52px; padding:10px 12px; border-radius:16px;
    background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12);
    color:#FFFFFF; font-family:inherit; font-size:14.5px; font-weight:600;
    text-decoration:none; cursor:pointer;
  }
  .vn-rapido-principal{ background:#FFFFFF; color:#12100E; border-color:#FFFFFF; }
  .vn-menu{
    flex-direction:column; flex-wrap:nowrap; align-items:stretch;
    gap:0; padding:6px; border-radius:18px; background:rgba(255,255,255,.06);
  }
  .vn-menu > .vn-item > a.vn-pestana{
    display:flex; width:100%; min-height:44px; padding:10px 12px;
    border-radius:12px; font-size:15px;
  }
  
  .vn-menu > .vn-item:has(> a[href="/planes"]){ display:none; }
  [data-desplegable] > [data-act="desplegar"]{ display:none !important; }
  .vn-panel{
    display:block; position:static; transform:none;
    padding:4px 0 6px; border:none; border-radius:0;
    background:transparent; box-shadow:none;
  }
  .vn-grupo{ display:grid; grid-template-columns:1fr 1fr; gap:0 4px; min-width:0; }
  .vn-titulo{ grid-column:1 / -1; padding:10px 12px 2px; }
  .vn-enlace{ white-space:normal; padding:8px 12px; font-size:14.5px; }
  .vn-acciones{ display:none !important; }
}


.vs-cookies{
  position:fixed; z-index:75; left:24px; bottom:24px;
  left:calc(24px + env(safe-area-inset-left)); bottom:calc(24px + env(safe-area-inset-bottom));
  width:min(420px, calc(100vw - 48px)); box-sizing:border-box;
  padding:18px 18px 14px; border-radius:18px;
  background:#100E0D; color:#FFFFFF;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 50px -18px rgba(0,0,0,.6);
  font-family:inherit; text-align:left;
}
.vs-cookies[hidden]{ display:none !important; }
.vs-ck-titulo{ margin:0 0 6px; font-size:16px; font-weight:600; line-height:1.3; letter-spacing:0; color:#FFFFFF; }
.vs-ck-texto{ margin:0; font-size:14px; line-height:1.5; color:rgba(255,255,255,.82); }
.vs-ck-estado{ margin:8px 0 0; font-size:13px; line-height:1.45; color:rgba(255,255,255,.7); }
.vs-ck-estado[hidden]{ display:none; }
.vs-ck-botones{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
.vs-ck-botones .vs-ck-mas{ grid-column:1 / -1; justify-self:start; }

.vs-ck-corto{ padding:14px 14px 14px 16px; }
.vs-ck-corto .vs-ck-titulo{ position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.vs-ck-corto .vs-ck-botones{ grid-template-columns:1fr 1fr auto; align-items:center; margin-top:10px; }
.vs-ck-corto .vs-ck-botones .vs-ck-mas{ grid-column:auto; justify-self:center; margin-top:0; padding:0 4px; white-space:nowrap; }
.vs-ck-boton{
  min-height:44px; padding:10px 14px; border-radius:999px; cursor:pointer;
  font-family:inherit; font-size:14.5px; font-weight:600; line-height:1.2;
  background:#FFFFFF; color:#12100E; border:1px solid #FFFFFF;
}
.vs-ck-boton:hover{ background:rgba(255,255,255,.86); }
.vs-ck-mas{
  display:inline-flex; align-items:center; min-height:44px; margin-top:4px;
  font-size:13.5px; color:rgba(255,255,255,.82); text-decoration:underline; text-underline-offset:3px;
}
.vs-ck-mas:hover{ color:#FFFFFF; }
.vs-cookies button:focus-visible,
.vs-cookies a:focus-visible{ outline:2px solid #2FE6C8; outline-offset:2px; }
@media (max-width:639px){
  .vs-cookies{
    left:8px; right:8px; bottom:8px; width:auto;
    left:calc(8px + env(safe-area-inset-left)); right:calc(8px + env(safe-area-inset-right));
    bottom:calc(8px + env(safe-area-inset-bottom));
    padding:16px 16px 10px;
  }
  .vs-ck-corto{ padding:12px 12px 12px 14px; border-radius:16px; }
  .vs-ck-corto .vs-ck-texto{ font-size:13.5px; line-height:1.4; }
  .vs-ck-corto .vs-ck-botones{ gap:6px; }
  .vs-ck-corto .vs-ck-boton{ padding:8px 10px; font-size:14px; }
  .vs-ck-corto .vs-ck-botones .vs-ck-mas{ font-size:13px; padding:0 6px; }
  
  html.vs-cookies-visible .vchat-burbuja{
    bottom:calc(var(--vs-cookies-alto, 0px) + 20px + env(safe-area-inset-bottom)) !important;
  }
}
@media print{ .vs-cookies{ display:none !important; } }


.vs-pie-cookies{
  padding:0; border:none; background:none; cursor:pointer;
  font-family:inherit; font-size:inherit; color:#5B554F; text-decoration:none;
  display:inline-flex; align-items:center; min-height:36px; 
}
.vs-pie-cookies:hover{ opacity:.72; }
@media (max-width:768px), (max-height:500px), (pointer:coarse){
  .vs-pie-cookies{ min-height:44px; }
}
