.elementor-612 .elementor-element.elementor-element-29bbce8c:not(.elementor-motion-effects-element-type-background), .elementor-612 .elementor-element.elementor-element-29bbce8c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #000000 0%, #00FF66 100%);}.elementor-612 .elementor-element.elementor-element-29bbce8c > .elementor-background-overlay{background-color:transparent;background-image:linear-gradient(112deg, #000000F5 100%, #00000000 100%);opacity:0.8;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-612 .elementor-element.elementor-element-29bbce8c{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:110px 70px 70px 70px;}.elementor-widget-animated-headline .elementor-headline-dynamic-wrapper path{stroke:var( --e-global-color-accent );}.elementor-widget-animated-headline .elementor-headline-plain-text{color:var( --e-global-color-secondary );}.elementor-widget-animated-headline .elementor-headline{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-animated-headline{--dynamic-text-color:var( --e-global-color-secondary );}.elementor-widget-animated-headline .elementor-headline-dynamic-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-612 .elementor-element.elementor-element-76a3ca37{--iteration-count:infinite;--animation-duration:1200ms;--dynamic-text-color:#00FF66;}.elementor-612 .elementor-element.elementor-element-76a3ca37 .elementor-headline{text-align:center;font-family:"Montserrat", Sans-serif;font-size:40px;font-weight:700;}.elementor-612 .elementor-element.elementor-element-76a3ca37 .elementor-headline-dynamic-wrapper path{stroke:#00000000;}.elementor-612 .elementor-element.elementor-element-76a3ca37 .elementor-headline-plain-text{color:#FFFFFF;}.elementor-612 .elementor-element.elementor-element-76a3ca37 .elementor-headline-dynamic-text{font-family:"Montserrat", Sans-serif;font-weight:700;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-612 .elementor-element.elementor-element-547352ef{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -35px) 0px;padding:0px 0px 0px 0px;text-align:center;font-family:"Open Sans", Sans-serif;font-size:14px;font-weight:400;color:#FFFFFF;}.elementor-612 .elementor-element.elementor-element-4dc5d0c3:not(.elementor-motion-effects-element-type-background), .elementor-612 .elementor-element.elementor-element-4dc5d0c3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:radial-gradient(at top left, #050505 0%, #1D1D1D 100%);}.elementor-612 .elementor-element.elementor-element-4dc5d0c3{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:25px 25px 25px 25px;}.elementor-612 .elementor-element.elementor-element-4dc5d0c3 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-612 .elementor-element.elementor-element-1ae5bd{--iteration-count:infinite;--animation-duration:1200ms;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--dynamic-text-color:#00FF66;}.elementor-612 .elementor-element.elementor-element-1ae5bd .elementor-headline{text-align:left;font-family:"Montserrat", Sans-serif;font-size:31px;font-weight:700;}.elementor-612 .elementor-element.elementor-element-1ae5bd .elementor-headline-dynamic-wrapper path{stroke:#00000000;}.elementor-612 .elementor-element.elementor-element-1ae5bd .elementor-headline-plain-text{color:#FFFFFF;}.elementor-612 .elementor-element.elementor-element-1ae5bd .elementor-headline-dynamic-text{font-family:"Montserrat", Sans-serif;font-weight:700;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-612 .elementor-element.elementor-element-572af46 .elementor-icon-box-wrapper{align-items:start;text-align:start;gap:15px;}.elementor-612 .elementor-element.elementor-element-572af46.elementor-view-stacked .elementor-icon{background-color:#00FF66;}.elementor-612 .elementor-element.elementor-element-572af46.elementor-view-framed .elementor-icon, .elementor-612 .elementor-element.elementor-element-572af46.elementor-view-default .elementor-icon{fill:#00FF66;color:#00FF66;border-color:#00FF66;}.elementor-612 .elementor-element.elementor-element-572af46 .elementor-icon{font-size:20px;}.elementor-612 .elementor-element.elementor-element-572af46 .elementor-icon-box-title, .elementor-612 .elementor-element.elementor-element-572af46 .elementor-icon-box-title a{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:600;}.elementor-612 .elementor-element.elementor-element-572af46 .elementor-icon-box-title{color:#00FF66;}.elementor-612 .elementor-element.elementor-element-572af46:has(:hover) .elementor-icon-box-title,
					 .elementor-612 .elementor-element.elementor-element-572af46:has(:focus) .elementor-icon-box-title{color:#00FF66;}.elementor-612 .elementor-element.elementor-element-572af46 .elementor-icon-box-description{font-family:"Roboto", Sans-serif;font-size:14px;font-weight:400;line-height:18px;color:#B8AFAF;}.elementor-612 .elementor-element.elementor-element-4cbc821 .elementor-icon-box-wrapper{align-items:start;text-align:start;gap:15px;}.elementor-612 .elementor-element.elementor-element-4cbc821.elementor-view-stacked .elementor-icon{background-color:#00FF66;}.elementor-612 .elementor-element.elementor-element-4cbc821.elementor-view-framed .elementor-icon, .elementor-612 .elementor-element.elementor-element-4cbc821.elementor-view-default .elementor-icon{fill:#00FF66;color:#00FF66;border-color:#00FF66;}.elementor-612 .elementor-element.elementor-element-4cbc821 .elementor-icon{font-size:20px;}.elementor-612 .elementor-element.elementor-element-4cbc821 .elementor-icon-box-title, .elementor-612 .elementor-element.elementor-element-4cbc821 .elementor-icon-box-title a{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:600;}.elementor-612 .elementor-element.elementor-element-4cbc821 .elementor-icon-box-title{color:#00FF66;}.elementor-612 .elementor-element.elementor-element-4cbc821:has(:hover) .elementor-icon-box-title,
					 .elementor-612 .elementor-element.elementor-element-4cbc821:has(:focus) .elementor-icon-box-title{color:#00FF66;}.elementor-612 .elementor-element.elementor-element-4cbc821 .elementor-icon-box-description{font-family:"Roboto", Sans-serif;font-size:14px;font-weight:400;line-height:18px;color:#B8AFAF;}.elementor-612 .elementor-element.elementor-element-884236f .elementor-icon-box-wrapper{align-items:start;text-align:start;gap:15px;}.elementor-612 .elementor-element.elementor-element-884236f.elementor-view-stacked .elementor-icon{background-color:#00FF66;}.elementor-612 .elementor-element.elementor-element-884236f.elementor-view-framed .elementor-icon, .elementor-612 .elementor-element.elementor-element-884236f.elementor-view-default .elementor-icon{fill:#00FF66;color:#00FF66;border-color:#00FF66;}.elementor-612 .elementor-element.elementor-element-884236f .elementor-icon{font-size:20px;}.elementor-612 .elementor-element.elementor-element-884236f .elementor-icon-box-title, .elementor-612 .elementor-element.elementor-element-884236f .elementor-icon-box-title a{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:600;}.elementor-612 .elementor-element.elementor-element-884236f .elementor-icon-box-title{color:#00FF66;}.elementor-612 .elementor-element.elementor-element-884236f:has(:hover) .elementor-icon-box-title,
					 .elementor-612 .elementor-element.elementor-element-884236f:has(:focus) .elementor-icon-box-title{color:#00FF66;}.elementor-612 .elementor-element.elementor-element-884236f .elementor-icon-box-description{font-family:"Roboto", Sans-serif;font-size:14px;font-weight:400;line-height:18px;color:#B8AFAF;}.elementor-612 .elementor-element.elementor-element-aedd8d8 .elementor-icon-box-wrapper{align-items:start;text-align:start;gap:15px;}.elementor-612 .elementor-element.elementor-element-aedd8d8.elementor-view-stacked .elementor-icon{background-color:#00FF66;}.elementor-612 .elementor-element.elementor-element-aedd8d8.elementor-view-framed .elementor-icon, .elementor-612 .elementor-element.elementor-element-aedd8d8.elementor-view-default .elementor-icon{fill:#00FF66;color:#00FF66;border-color:#00FF66;}.elementor-612 .elementor-element.elementor-element-aedd8d8 .elementor-icon{font-size:20px;}.elementor-612 .elementor-element.elementor-element-aedd8d8 .elementor-icon-box-title, .elementor-612 .elementor-element.elementor-element-aedd8d8 .elementor-icon-box-title a{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:600;}.elementor-612 .elementor-element.elementor-element-aedd8d8 .elementor-icon-box-title{color:#00FF66;}.elementor-612 .elementor-element.elementor-element-aedd8d8:has(:hover) .elementor-icon-box-title,
					 .elementor-612 .elementor-element.elementor-element-aedd8d8:has(:focus) .elementor-icon-box-title{color:#00FF66;}.elementor-612 .elementor-element.elementor-element-aedd8d8 .elementor-icon-box-description{font-family:"Roboto", Sans-serif;font-size:14px;font-weight:400;line-height:18px;color:#B8AFAF;}@media(min-width:768px){.elementor-612 .elementor-element.elementor-element-56eb92a3{width:28.042%;}.elementor-612 .elementor-element.elementor-element-3dd53db7{width:71.958%;}}/* Start custom CSS for shortcode, class: .elementor-element-142bc70 *//* ===================================
   CF7 CUSTOM FORM — KINETIC PRECISION
   Dark obsidian + terminal green theme
   =================================== */

.cf7-custom-wrapper {
  --kp-surface: #121414;
  --kp-surface-container: #1e2020;
  --kp-surface-container-low: #1a1c1c;
  --kp-surface-container-high: #282a2b;
  --kp-on-surface: #e2e2e2;
  --kp-on-surface-variant: #b9ccb5;
  --kp-outline-variant: #3b4b3a;
  --kp-primary-container: #00ff66;
  --kp-on-primary: #003911;
  --kp-error: #ffb4ab;

  position: relative;
  background: linear-gradient(135deg, rgba(0, 255, 102, 0.06), rgba(255, 255, 255, 0.02) 40%),
    var(--kp-surface-container-low);
  border: 1px solid var(--kp-outline-variant);
  border-radius: 1.5rem;
  padding: 44px 48px;
  max-width: 860px;
  margin: 0 auto;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--kp-on-surface);
  box-shadow: 0 0 40px rgba(0, 255, 102, 0.05), 0 20px 60px rgba(0, 0, 0, 0.4);
  overflow: hidden;
}

/* Glow decorativo esquina superior izquierda */
.cf7-custom-wrapper::before {
  content: "";
  position: absolute;
  top: -60px;
  left: -60px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(0, 255, 102, 0.18), transparent 70%);
  pointer-events: none;
}

/* --- Título opcional dentro del wrapper --- */
.cf7-custom-wrapper h2,
.cf7-custom-wrapper h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 28px 0;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--kp-outline-variant);
}

/* --- Layout en columnas --- */
.cf7-row {
  display: flex;
  gap: 24px;
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
}
.cf7-col {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* --- Etiquetas (estilo label-caps) --- */
.cf7-label {
  display: block;
  font-family: 'Geist', 'Inter', monospace, sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: var(--kp-on-surface-variant);
  margin-bottom: 8px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.cf7-required {
  color: var(--kp-error);
  margin-left: 2px;
}

/* --- Inputs y Selects --- */
.cf7-custom-wrapper .wpcf7-form-control:not([type="submit"]),
.cf7-custom-wrapper input[type="text"],
.cf7-custom-wrapper input[type="email"],
.cf7-custom-wrapper input[type="tel"],
.cf7-custom-wrapper select {
  width: 100%;
  background-color: #ffffff;
  border: 1.5px solid transparent;
  border-radius: 0.5rem;
  padding: 7px 16px;
  font-size: 14.5px;
  color: #121414;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
}

/* Focus state — emerald glow */
.cf7-custom-wrapper input[type="text"]:focus,
.cf7-custom-wrapper input[type="email"]:focus,
.cf7-custom-wrapper input[type="tel"]:focus,
.cf7-custom-wrapper select:focus {
  border-color: var(--kp-primary-container);
  box-shadow: 0 0 0 3px rgba(0, 255, 102, 0.25);
}

/* Placeholder */
.cf7-custom-wrapper input::placeholder {
  color: #9a9a9a;
  font-size: 14px;
}

/* --- Select con ícono personalizado --- */
.cf7-col:has(select) {
  position: relative;
}
.cf7-col:has(select)::after {
  content: "▾";
  position: absolute;
  right: 16px;
  bottom: 15px;
  font-size: 15px;
  color: #6b6b6b;
  pointer-events: none;
}
.cf7-custom-wrapper select {
  color: #121414;
  cursor: pointer;
}
select option:first-child {
  color: #9a9a9a;
}

/* --- Botón de envío --- */
.cf7-submit-row {
  margin-top: 16px;
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.cf7-custom-wrapper input[type="submit"],
.cf7-custom-wrapper .wpcf7-submit {
  width: 100%;
  background: var(--kp-primary-container);
  color: var(--kp-on-primary);
  border: none;
  border-radius: 0.5rem;
  padding: 16px 36px;
  font-family: 'Geist', 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: box-shadow 0.2s ease, transform 0.15s ease, filter 0.2s ease;
}
.cf7-custom-wrapper input[type="submit"]:hover,
.cf7-custom-wrapper .wpcf7-submit:hover {
  box-shadow: 0 0 20px rgba(0, 255, 102, 0.45);
  transform: scale(1.02);
  filter: brightness(1.05);
}
.cf7-custom-wrapper input[type="submit"]:active {
  transform: scale(1);
}

/* --- Mensajes de validación --- */
.cf7-custom-wrapper .wpcf7-not-valid-tip {
  color: var(--kp-error);
  font-size: 12px;
  margin-top: 5px;
  display: block;
}
.cf7-custom-wrapper .wpcf7-response-output {
  border-radius: 0.5rem;
  padding: 12px 18px;
  font-size: 14px;
  margin-top: 16px;
  border: none;
}
.cf7-custom-wrapper .wpcf7-mail-sent-ok {
  background: rgba(0, 255, 102, 0.1);
  color: var(--kp-primary-container);
  border-left: 4px solid var(--kp-primary-container);
}
.cf7-custom-wrapper .wpcf7-mail-sent-ng,
.cf7-custom-wrapper .wpcf7-validation-errors {
  background: rgba(255, 180, 171, 0.1);
  color: var(--kp-error);
  border-left: 4px solid var(--kp-error);
}

/* --- Responsivo para móviles --- */
@media (max-width: 640px) {
  .cf7-custom-wrapper {
    padding: 28px 22px;
    border-radius: 1rem;
  }
  .cf7-row {
    flex-direction: column;
    gap: 0;
  }
  .cf7-col {
    margin-bottom: 18px;
  }
  .cf7-submit-row {
    justify-content: center;
  }
}/* End custom CSS */