.elementor-2759 .elementor-element.elementor-element-3eef56a{--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;}.elementor-2759 .elementor-element.elementor-element-e4b7027{--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-2759 .elementor-element.elementor-element-6c81af6{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2759 .elementor-element.elementor-element-6c81af6.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-2759 .elementor-element.elementor-element-c0c6f29{width:var( --container-widget-width, 9.216% );max-width:9.216%;--container-widget-width:9.216%;--container-widget-flex-grow:0;}.elementor-2759 .elementor-element.elementor-element-c0c6f29.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2759 .elementor-element.elementor-element-1d5c636{--display:flex;}.elementor-2759 .elementor-element.elementor-element-1d5c636.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2759 .elementor-element.elementor-element-9a62849{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2759 .elementor-element.elementor-element-daab41e{--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-2759 .elementor-element.elementor-element-afa0f18{--display:flex;--justify-content:center;--z-index:2;}.elementor-2759 .elementor-element.elementor-element-03cf594{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:70px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2759 .elementor-element.elementor-element-20b5ae5{--display:flex;}.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-2759 .elementor-element.elementor-element-542a1fd{text-align:center;}.elementor-2759 .elementor-element.elementor-element-542a1fd .elementor-heading-title{font-family:"Artemus", Sans-serif;font-weight:600;color:#FFFFFF;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2759 .elementor-element.elementor-element-98ba1f7{padding:0px 150px 0px 0150px;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-field-group{padding-right:calc( 16px/2 );padding-left:calc( 16px/2 );margin-bottom:10px;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-form-fields-wrapper{margin-left:calc( -16px/2 );margin-right:calc( -16px/2 );margin-bottom:-10px;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-field-type-html{padding-bottom:0px;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-field-group .elementor-field{color:#000000;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-field-group .elementor-field, .elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-field-subgroup label{font-family:"Artemus", Sans-serif;font-size:13px;font-weight:400;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-width:0px 0px 0px 0px;border-radius:10px 10px 10px 10px;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-width:0px 0px 0px 0px;border-radius:10px 10px 10px 10px;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-button{font-family:"Artemus", Sans-serif;font-weight:500;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-b4bc153 );color:#ffffff;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-button[type="submit"]{background-color:var( --e-global-color-b4bc153 );color:#ffffff;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-2759 .elementor-element.elementor-element-98ba1f7 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-2759 .elementor-element.elementor-element-346aa03{--e-transform-rotateZ:-90deg;--e-transform-rotateX:0deg;--e-transform-perspective:20px;--e-transform-translateX:151px;--e-transform-translateY:800px;}.elementor-2759 .elementor-element.elementor-element-346aa03 .elementor-heading-title{font-family:"Artemus", Sans-serif;font-size:110px;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:#FFFFFF00;}.elementor-2759 .elementor-element.elementor-element-2923b3d{--display:flex;}@media(min-width:768px){.elementor-2759 .elementor-element.elementor-element-6c81af6{--width:15%;}.elementor-2759 .elementor-element.elementor-element-1d5c636{--width:70%;}.elementor-2759 .elementor-element.elementor-element-9a62849{--width:15%;}.elementor-2759 .elementor-element.elementor-element-afa0f18{--width:5%;}.elementor-2759 .elementor-element.elementor-element-2923b3d{--width:5%;}}/* Start custom CSS for button, class: .elementor-element-c0c6f29 *//* ============================================
   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-b2050fc *//* ============================================
   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-086cf0f *//* ============================================
   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 */