.elementor-2975 .elementor-element.elementor-element-bb56a8e{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0.5;}.elementor-2975 .elementor-element.elementor-element-bb56a8e::before, .elementor-2975 .elementor-element.elementor-element-bb56a8e > .elementor-background-video-container::before, .elementor-2975 .elementor-element.elementor-element-bb56a8e > .e-con-inner > .elementor-background-video-container::before, .elementor-2975 .elementor-element.elementor-element-bb56a8e > .elementor-background-slideshow::before, .elementor-2975 .elementor-element.elementor-element-bb56a8e > .e-con-inner > .elementor-background-slideshow::before, .elementor-2975 .elementor-element.elementor-element-bb56a8e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-2975 .elementor-element.elementor-element-f0ed046{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-2975 .elementor-element.elementor-element-b5a533f{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2975 .elementor-element.elementor-element-b5a533f.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2975 .elementor-element.elementor-element-b5acffe{width:var( --container-widget-width, 9.216% );max-width:9.216%;--container-widget-width:9.216%;--container-widget-flex-grow:0;}.elementor-2975 .elementor-element.elementor-element-b5acffe.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2975 .elementor-element.elementor-element-5b318eb{--display:flex;}.elementor-2975 .elementor-element.elementor-element-5b318eb.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2975 .elementor-element.elementor-element-e40152f{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2975 .elementor-element.elementor-element-2be8b44{--display:flex;--min-height:83vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-2975 .elementor-element.elementor-element-7bf64b7{--display:flex;--justify-content:center;}.elementor-2975 .elementor-element.elementor-element-99c1eb9{z-index:1;}.elementor-2975 .elementor-element.elementor-element-8556f0c{--display:flex;--padding-top:1px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2975 .elementor-element.elementor-element-aafa1b6{width:100%;max-width:100%;text-align:left;}.elementor-2975 .elementor-element.elementor-element-aafa1b6 .elementor-heading-title{font-family:"Artemus", Sans-serif;font-size:29px;font-weight:600;-webkit-text-stroke-width:1px;stroke-width:1px;-webkit-text-stroke-color:var( --e-global-color-b4bc153 );stroke:var( --e-global-color-b4bc153 );color:#01010100;}.elementor-2975 .elementor-element.elementor-element-c934943 > .jet-listing-grid > .jet-listing-grid__items{--columns:3;}.elementor-2975 .elementor-element.elementor-element-d4b372d{--display:flex;--justify-content:flex-end;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2975 .elementor-element.elementor-element-529416a{--display:flex;}@media(max-width:767px){.elementor-2975 .elementor-element.elementor-element-aafa1b6{text-align:center;}.elementor-2975 .elementor-element.elementor-element-c934943 > .jet-listing-grid > .jet-listing-grid__items{--columns:1;}}@media(min-width:768px){.elementor-2975 .elementor-element.elementor-element-b5a533f{--width:15%;}.elementor-2975 .elementor-element.elementor-element-5b318eb{--width:70%;}.elementor-2975 .elementor-element.elementor-element-e40152f{--width:15%;}.elementor-2975 .elementor-element.elementor-element-7bf64b7{--width:5%;}.elementor-2975 .elementor-element.elementor-element-529416a{--width:5%;}}/* Start custom CSS for button, class: .elementor-element-b5acffe *//* ============================================
   HAMBURGER TVT – Elementor Button
   Widget Button con clase: hamburger-btn
   ============================================ */

/* Wrapper del widget */
.hamburger-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Botón interno de Elementor */
.hamburger-btn .elementor-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto !important;
  height: 34px !important;
  padding: 0 22px !important;
  border-radius: 999px;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  cursor: pointer;
}

/* Ocultamos texto / icono nativo */
.hamburger-btn .elementor-button-text,
.hamburger-btn .elementor-button-icon {
  font-size: 0;
  opacity: 0;
  visibility: hidden;
}

/* ===== LÍNEAS DEL HAMBURGUESA ===== */
.hamburger-btn .elementor-button::before,
.hamburger-btn .elementor-button::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 22px;
  height: 2px;
  border-radius: 999px;
  background-color: #ffffff;
  transform-origin: center;
  transition:
    transform 0.22s ease,
    opacity 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

/* superior + central (con box-shadow) */
.hamburger-btn .elementor-button::before {
  top: 50%;
  transform: translate(-50%, -6px);
  box-shadow: 0 6px 0 #ffffff;
}

/* inferior */
.hamburger-btn .elementor-button::after {
  top: 50%;
  transform: translate(-50%, 6px);
}

/* Light mode: líneas negras */
html[data-theme="light"] .hamburger-btn .elementor-button::before,
html[data-theme="light"] .hamburger-btn .elementor-button::after {
  background-color: #111111;
}
html[data-theme="light"] .hamburger-btn .elementor-button::before {
  box-shadow: 0 6px 0 #111111;
}

/* ===== ESTADO OPEN (X limpia) ===== */
.hamburger-btn.is-open .elementor-button::before {
  transform: translate(-50%, 0) rotate(45deg);
  box-shadow: none;
}

.hamburger-btn.is-open .elementor-button::after {
  transform: translate(-50%, 0) rotate(-45deg);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ebbc899 *//* ============================================
   THEME SWITCH — con borde sci-fi como el hamburguer
   ============================================ */

.theme-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 2px solid transparent;
  background: transparent;
  cursor: pointer;
  outline: none;
  transition: border-color 0.25s ease;
  z-index: 0; /* obligatorio para el aro */
}

/* matar estilos de Elementor */
.theme-switch:hover,
.theme-switch:focus,
.theme-switch:active {
  background: transparent !important;
  box-shadow: none;
}

/* ICONOS SVG MINIMAL */
.theme-icon {
  width: 14px;
  height: 14px;
  display: inline-block;
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #ffffff;
}

/* dark → iconos blancos */
html[data-theme="dark"] .theme-icon,
html:not([data-theme]) .theme-icon {
  background-color: #ffffff;
}

/* light → iconos negros */
html[data-theme="light"] .theme-icon {
  background-color: #111111;
}

/* luna */
.theme-icon--moon {
  mask-image: url("data:image/svg+xml,%3Csvg fill='none' stroke='%23000' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79Z'/%3E%3C/svg%3E");
}

/* sol */
.theme-icon--sun {
  mask-image: url("data:image/svg+xml,%3Csvg fill='none' stroke='%23000' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Cpath d='M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42'/%3E%3C/svg%3E");
}

/* TRACK */
.theme-track {
  position: relative;
  display: inline-block;
  width: 38px;
  height: 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  overflow: hidden;
  flex-shrink: 0;
}

/* track light */
html[data-theme="light"] .theme-track {
  background: rgba(0, 0, 0, 0.12);
}

/* THUMB */
.theme-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #ffffff;
  transition: all 0.25s ease;
  z-index: 2;
  display: block;
  opacity: 1;
}

/* thumb en light */
html[data-theme="light"] .theme-thumb {
  transform: translateX(18px);
  background-color: #111111;
}

/* ============================================
   BORDE SCI-FI ANIMADO 1PX (mismo estilo que .boton-contact)
   ============================================ */

.theme-switch::before {
  content: "";
  position: absolute;
  inset: -1px;       /* borde de 1px hacia afuera */
  padding: 1px;      /* grosor visible */
  border-radius: inherit;

  /* Haz de luz: dark -> azul -> blanco -> azul -> dark */
  background: linear-gradient(
    120deg,
    rgba(5, 8, 24, 1) 0%,
    #151540 15%,
    #1f35ff 32%,
    #ffffff 50%,          /* pulso blanco al centro */
    #1f35ff 68%,
    #151540 85%,
    rgba(5, 8, 24, 1) 100%
  );

  background-size: 260% 260%;
  background-position: 0% 50%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, background-position 0.3s linear;

  /* recorte para dejar solo el borde */
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;

  z-index: -1;
}

/* Variante Light – degradado suave con blanco */
html[data-theme="light"] .theme-switch::before {
  background: linear-gradient(
    120deg,
    rgba(240, 242, 255, 1) 0%,
    #d8ddff 15%,
    #7c88ff 32%,
    #ffffff 50%,         /* flash blanco central */
    #7c88ff 68%,
    #d8ddff 85%,
    rgba(240, 242, 255, 1) 100%
  );
  background-size: 260% 260%;
  background-position: 0% 50%;
}

/* activar animación sci-fi solo en hover/focus */
.theme-switch:hover::before,
.theme-switch:focus-visible::before {
  opacity: 1;
  animation: neonBorderMove 2.4s linear infinite;
}

/* Animación compartida con el resto de bordes neon */
@keyframes neonBorderMove {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-99c1eb9 *//* ============================================
   TVT – Navegación lateral por puntos
   ============================================ */

/* Contenedor lateral fijo */
.tvt-dots-nav {

  z-index: 40;
  pointer-events: none;    /* los clics solo en los enlaces */
}

.tvt-dots-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Cada punto (enlace) */
.tvt-dots-list a {
  position: relative;
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid #ffffff;
  background: transparent;
  pointer-events: auto;        /* reactivamos clic en el link */
  cursor: pointer;
  transition:
    border-color 0.25s ease,
    transform 0.2s ease;
}

/* Tema light: borde oscuro */
html[data-theme="light"] .tvt-dots-list a {
  border-color: #111111;
}

/* Efecto de "pequeño trazo" base: dejamos el círculo hueco
   y usamos ::before solo para el relleno activo/hover */
.tvt-dots-list a::before {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background-color: #ffffff;
  transform: scale(0);
  opacity: 0;
  transition:
    transform 0.22s ease,
    opacity 0.22s ease;
}

/* Light: relleno oscuro */
html[data-theme="light"] .tvt-dots-list a::before {
  background-color: #111111;
}

/* Punto ACTIVO (por URL) = círculo relleno */
.tvt-dots-list a.is-active::before {
  transform: scale(1);
  opacity: 1;
}

/* Hover: ligero zoom y relleno suave,
   pero si no es la página activa, el relleno vuelve al salir */
.tvt-dots-list a:hover {
  transform: scale(1.15);
}
.tvt-dots-list a:hover::before {
  transform: scale(1);
  opacity: 0.75;
}

/* ============================================
   Tooltip de texto (títulos) en hover
   ============================================ */

.tvt-dots-list a::after {
  content: attr(data-label);
  position: absolute;
  left: 20px;              /* separación hacia la derecha */
  top: 50%;
  transform: translateY(-50%) translateX(4px);
  font-family: "Artemus", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
  color: #ffffff;
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.85);
}

/* Light: texto oscuro con ligera sombra clara */
html[data-theme="light"] .tvt-dots-list a::after {
  color: #111111;
  text-shadow: 0 0 4px rgba(255, 255, 255, 0.65);
}

/* Mostrar tooltip en hover (fade + slide suave) */
.tvt-dots-list a:hover::after {
  opacity: 1;
  transform: translateY(-50%) translateX(10px);
}

/* Responsive: ocúltalo en móviles si estorba */
@media (max-width: 768px) {
  .tvt-dots-nav {
    display: none;
  }
}

/* Mostrar tooltip de forma programada (animación al cargar) */
.tvt-dots-list a.show-label::after {
  opacity: 1;
  transform: translateY(-50%) translateX(10px);
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Artemus';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://thevolktone.com/wp-content/uploads/2025/11/Artemus.ttf') format('truetype');
}
/* End Custom Fonts CSS */