.elementor-40824 .elementor-element.elementor-element-27998df9{--display:flex;}.elementor-40824 .elementor-element.elementor-element-1dd2023e{--display:flex;}.elementor-40824 .elementor-element.elementor-element-1a7cb163{--display:flex;}.elementor-40824 .elementor-element.elementor-element-7c5ffe93{--display:flex;}.elementor-40824 .elementor-element.elementor-element-17fccbe3{--display:flex;}/* Start custom CSS */ { --kit-widget-spacing: 0px; --widgets-spacing: 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px; background: rgb(255, 255, 255); color: rgb(11, 11, 12); font-family: Inter, "Helvetica Neue", Arial, sans-serif; font-size: 17px; line-height: 1.6; font-weight: 400; -webkit-font-smoothing: antialiased; }
 .e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --container-default-padding-top: 0px; --container-default-padding-right: 0px; --container-default-padding-bottom: 0px; --container-default-padding-left: 0px; --gap: 0px 0px; --row-gap: 0px; --column-gap: 0px; --margin-top: 0px; --margin-bottom: 0px; --margin-left: 0px; --margin-right: 0px; }
 .elementor-widget:not(:last-child) { margin-block-end: 0px; margin-bottom: 0px; }
 .elementor-widget-heading,  .elementor-widget-text-editor { font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; color: inherit; }
 .elementor-widget-text-editor p { margin: 0px; }
 :is(h1, h2, h3, h4, h5, h6) { font-family: inherit; color: inherit; text-transform: none; margin: 0px; font-size: revert; line-height: revert; letter-spacing: normal; font-weight: revert; }
 button { background: none; border: 0px; padding: 0px; margin: 0px; font: inherit; color: inherit; text-transform: none; letter-spacing: inherit; border-radius: 0px; box-shadow: none; min-height: 0px; cursor: pointer; }
 button:hover,  button:focus { background: none; color: inherit; border: 0px; box-shadow: none; }
 { --ink: #0B0B0C; --ink-2: #151517; --paper: #FFFFFF; --mist: #F3F4F5; --grey: #868C98; --grey-d: #9A9FA9; --line: #E4E5E8; --line-d: #2A2B2F; --cian: #3EFFFF; --sans: "Inter", "Helvetica Neue", Arial, sans-serif; --r-card: 22px; --sec-y: clamp(64px,7vw,104px); --head-gap: clamp(32px,4vw,52px); --fs-h2: clamp(32px,3.3vw,48px); --fs-h3: clamp(24px,2.1vw,31px); --fs-lead: clamp(18px,1.4vw,20px); --fs-body: 17px; --tx-2: #4A4E57; --gut: clamp(22px,5vw,56px); color-scheme: light; }
.elementor * { box-sizing: border-box; }
html { scroll-behavior: smooth; }
.elementor a { color: inherit; text-decoration: none; }
.elementor h1, .elementor h2, .elementor h3, .elementor p { margin: 0px; }
.elementor h1, .elementor h2, .elementor h3 { font-weight: 300; text-wrap: balance; letter-spacing: -0.012em; line-height: 1.08; }
.elementor :focus-visible { outline: 2px solid var(--cian); outline-offset: 3px; border-radius: 6px; }
.elementor .wrap { max-width: 1320px; margin-inline: auto; padding-left: max(var(--gut),env(safe-area-inset-left,0px)); padding-right: max(var(--gut),env(safe-area-inset-right,0px)); }
.elementor .sec { padding-block: var(--sec-y); }
.elementor .h2 { font-size: var(--fs-h2); line-height: 1.1; max-width: 14em; font-weight: 400; letter-spacing: -0.022em; }
.elementor .h2 + .lead { margin-top: 20px; }
.elementor .lead { font-size: var(--fs-lead); line-height: 1.55; font-weight: 400; letter-spacing: -0.005em; color: var(--tx-2); max-width: 44ch; text-wrap: pretty; }
.elementor .contact-box { background: var(--ink); color: var(--paper); border-radius: 32px; padding: clamp(28px, 5vw, 72px); display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(36px, 6vw, 88px); position: relative; overflow: hidden; }
.elementor .contact-box > * { min-width: 0px; position: relative; }
.elementor .contact-box .h2 { font-size: clamp(38px, 5vw, 72px); margin: 22px 0px 20px; }
.elementor .contact-box .lead { color: var(--paper); }
.elementor .phone { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--line-d); }
.elementor .phone small { color: var(--grey-d); font-size: 14px; }
.elementor .phone b { display: block; font-size: clamp(32px, 3.6vw, 48px); font-weight: 300; letter-spacing: -0.01em; color: var(--cian); user-select: all; font-variant-numeric: tabular-nums; }
.elementor .legal { font-size: 12px; line-height: 1.55; color: rgb(110, 115, 125); margin-top: 26px; }
.elementor .contact-box .form { border-radius: var(--r-card); padding: clamp(24px, 3vw, 40px); color: var(--ink); }
.elementor .contact-box .form .legal { color: rgb(110, 115, 125); }
.elementor .contact-box { --pad: clamp(28px,3.6vw,52px); --out: clamp(32px,4.5vw,72px); padding: var(--pad); margin-right: clamp(0px, 8vw, 120px); overflow: visible; align-items: center; grid-template-columns: minmax(0px, 0.9fr) minmax(0px, 1.1fr); }
.elementor .contact-box { --ct: var(--fs-h2); }
.elementor .contact-box .h2 { font-size: var(--ct); margin: 0px; }
.elementor .contact-box > div:first-child { container-type: inline-size; }
.elementor .contact-box .lead { color: rgba(255, 255, 255, 0.78); max-width: 30ch; }
.elementor .ct-points { list-style: none; margin: 28px 0px 0px; padding: 0px; display: flex; flex-direction: column; gap: 14px; }
.elementor .ct-points li { display: flex; align-items: center; gap: 14px; font-size: 16px; line-height: 1.4; color: rgba(255, 255, 255, 0.82); }
.elementor .ct-points b { font-weight: 600; color: var(--paper); }
.elementor .ct-points svg { width: 30px; height: 30px; padding: 7px 9px; flex: 0 0 auto; border-radius: 10px; background: rgba(62, 255, 255, 0.1); border: 1px solid rgba(62, 255, 255, 0.25); fill: var(--cian); }
.elementor .contact-box > div:first-child { position: relative; }
.elementor .contact-box .phone { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line-d); }
.elementor .contact-box .phone small { display: block; margin-bottom: 8px; }
.elementor .contact-box .phone b { font-size: clamp(28px, 2.6vw, 38px); font-weight: 400; letter-spacing: -0.018em; line-height: 1.15; }
.elementor .contact-box .form { background: var(--paper); margin-block: calc(-1 * (var(--pad) + var(--out))); margin-right: calc(-1 * clamp(0px, 8vw, 120px)); box-shadow: rgba(11, 11, 12, 0.35) 0px 30px 60px -20px, rgba(11, 11, 12, 0.04) 0px 0px 0px 1px; }
.elementor .contact-box .form ::placeholder { color: rgb(154, 159, 169); opacity: 1; }
.elementor #contacto { padding-block: calc(var(--sec-y) + clamp(32px,4.5vw,72px)); }
@media (max-width: 900px){.elementor .contact-box { margin-right: 0px; }}
@media (max-width: 900px){.elementor .contact-box .form { margin: 4px calc(-1 * var(--pad)) calc(-1 * (var(--pad) + var(--out))); }}
@media (max-width: 900px){.elementor .contact-box { grid-template-columns: 1fr; }}
@media (prefers-reduced-motion: reduce){.elementor * { transition: none !important; scroll-behavior: auto !important; }}
.elementor .elementor-heading-title { font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; margin: 0px; padding: 0px; text-wrap: balance; }
html, body { overflow: clip visible !important; }
.elementor .phone a { display: block; color: var(--cian); }
.elementor .contact-box .form { width: auto; max-width: none; }
@media (max-width: 900px){.elementor #contacto { background: var(--ink); border-top: 1px solid var(--line-d); padding-block: var(--sec-y); }}
@media (max-width: 900px){.elementor #contacto .contact-box { background: none; border-radius: 0px; padding: 0px; margin: 0px; overflow: visible; gap: 36px; }}
@media (max-width: 900px){.elementor #contacto .contact-box .form { margin: 0px; border-radius: 20px; border: 0px; box-shadow: none; }}
html.np-lock:has(body) { overflow: hidden !important; }
.elementor .np-form .elementor-form-fields-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 18px; margin: 0px; }
.elementor .np-form .elementor-field-group { width: auto; max-width: none; margin: 0px; padding: 0px; display: flex; flex-flow: column; align-items: stretch; }
.elementor .np-form .elementor-col-100, .elementor .np-form .elementor-field-type-acceptance, .elementor .np-form .e-form__buttons { grid-column: 1 / -1; }
.elementor .np-form .elementor-field-label { font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: rgb(60, 61, 66); padding: 14px 0px 0px; margin: 0px; line-height: 1.6; }
.elementor .np-form .elementor-field-textual, .elementor .np-form .elementor-select-wrapper select { font-family: inherit; font-size: 16px; line-height: 1.5; color: var(--ink); background-color: rgb(250, 250, 251); border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px 12px 42px; margin-top: 4px; min-height: 0px; height: auto; width: 100%; max-width: none; text-align: left; outline: none; box-shadow: none; transition: border-color 0.2s, box-shadow 0.2s; background-repeat: no-repeat; background-position: 14px center; background-size: 16px auto; color-scheme: light; }
.elementor .np-form .elementor-field-textual:focus, .elementor .np-form .elementor-select-wrapper select:focus { border-color: var(--ink); box-shadow: rgba(62, 255, 255, 0.35) 0px 0px 0px 3px; }
.elementor .np-form ::placeholder { color: rgb(154, 159, 169); opacity: 1; }
.elementor .np-form textarea.elementor-field-textual { resize: vertical; min-height: 96px; background-position: 14px 15px; }
.elementor .np-form .elementor-select-wrapper { background: none; border: 0px; padding: 0px; }
.elementor .np-form .elementor-select-wrapper::before, .elementor .np-form .select-caret-down-wrapper { display: none; }
.elementor .np-form .elementor-select-wrapper select { appearance: none; padding-right: 38px; background-position: 14px center, right 14px center; background-size: 16px auto, 12px auto; }
.elementor .np-form .elementor-select-wrapper select.empty { color: rgb(138, 143, 153); }
.elementor .np-form select option { background: var(--paper); color: var(--ink); }
.elementor .np-form .elementor-form-fields-wrapper > .elementor-field-group:nth-child(1) .elementor-field-textual { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238A8F99' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='5.5' r='3'/%3E%3Cpath d='M2.5 14.5c.8-3 3-4.5 5.5-4.5s4.7 1.5 5.5 4.5'/%3E%3C/svg%3E"); }
.elementor .np-form .elementor-form-fields-wrapper > .elementor-field-group:nth-child(2) .elementor-field-textual { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238A8F99' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4.5' width='12' height='9' rx='1.5'/%3E%3Cpath d='M5.5 4.5V3a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1.5M2 8.5h12'/%3E%3C/svg%3E"); }
.elementor .np-form .elementor-form-fields-wrapper > .elementor-field-group:nth-child(3) .elementor-field-textual { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238A8F99' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.6 2H3.4C2.6 2 2 2.6 2 3.4 2 9.3 6.7 14 12.6 14c.8 0 1.4-.6 1.4-1.4v-2.2l-3-1.2-1.4 1.4C8 9.8 6.2 8 5.4 6.4l1.4-1.4z'/%3E%3C/svg%3E"); }
.elementor .np-form .elementor-form-fields-wrapper > .elementor-field-group:nth-child(4) .elementor-field-textual { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238A8F99' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3.5' width='12' height='9' rx='1.5'/%3E%3Cpath d='M2.5 4.5 8 9l5.5-4.5'/%3E%3C/svg%3E"); }
.elementor .np-form .elementor-form-fields-wrapper > .elementor-field-group:nth-child(5) .elementor-field-textual { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238A8F99' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='6' r='2.4'/%3E%3Cpath d='M1.8 13.5c.5-2.2 2.2-3.4 4.2-3.4s3.7 1.2 4.2 3.4'/%3E%3Cpath d='M10.5 3.8a2.4 2.4 0 0 1 0 4.4M12 10.4c1.2.5 2 1.6 2.3 3.1'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230B0B0C' stroke-width='1.5'/%3E%3C/svg%3E"); }
.elementor .np-form .elementor-form-fields-wrapper > .elementor-field-group:nth-child(6) .elementor-field-textual { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238A8F99' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12.5 6 8.5l2.5 2.5L14 5.5'/%3E%3Cpath d='M10.5 5.5H14V9'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230B0B0C' stroke-width='1.5'/%3E%3C/svg%3E"); }
.elementor .np-form .elementor-form-fields-wrapper > .elementor-field-group:nth-child(7) .elementor-field-textual { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%238A8F99' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 3.5h11v7.5H8l-3 2.5V11H2.5z'/%3E%3C/svg%3E"); }
.elementor .np-form .elementor-field-type-acceptance { margin: 22px 0px; }
.elementor .np-form .elementor-field-type-acceptance .elementor-field-label { display: none; }
.elementor .np-form .elementor-field-subgroup .elementor-field-option { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.5; color: rgb(60, 61, 66); }
.elementor .np-form .elementor-field-option input { accent-color: var(--ink); width: 18px; height: 18px; margin: 2px 0px 0px; flex: 0 0 auto; }
.elementor .np-form .elementor-field-option label { font-size: 14px; text-transform: none; letter-spacing: 0px; font-weight: 400; padding: 0px; color: rgb(60, 61, 66); }
.elementor .np-form .elementor-field-option a { text-decoration: underline; text-underline-offset: 3px; }
.elementor .np-form .e-form__buttons { display: flex; justify-content: flex-start; flex-direction: row; }
.elementor .np-form .e-form__buttons .elementor-button { display: inline-flex; align-items: center; width: auto; max-width: max-content; flex: 0 0 auto; height: 48px; padding: 0px 8px 0px 22px; border-radius: 100px; border: 1px solid var(--cian); background: var(--cian); color: var(--ink); fill: var(--ink); font-family: inherit; font-size: 15px; font-weight: 500; line-height: 1; text-transform: none; letter-spacing: 0px; animation: 2.8s ease-out 0s infinite normal none running pulse-cian; cursor: pointer; }
.elementor .np-form .e-form__buttons .elementor-button:hover { animation-play-state: paused; background: var(--cian); color: var(--ink); }
.elementor .np-form .e-form__buttons .elementor-button-content-wrapper { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: 12px; }
.elementor .np-form .e-form__buttons .elementor-button-text { flex-grow: 0; }
.elementor .np-form .e-form__buttons .elementor-button-icon { width: 34px; height: 34px; margin: 0px; border-radius: 50%; display: grid; place-items: center; background: var(--ink); color: var(--cian); fill: var(--cian); transition: transform 0.25s; }
.elementor .np-form .e-form__buttons .elementor-button-icon svg { width: 13px; height: 13px; fill: currentcolor; }
.elementor .np-form .e-form__buttons .elementor-button:hover .elementor-button-icon { transform: rotate(-45deg); }
.elementor .form .legal a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 520px){.elementor .np-form .elementor-form-fields-wrapper { grid-template-columns: 1fr; }}
@keyframes pulse-cian { 
  0% { box-shadow: rgba(62, 255, 255, 0.55) 0px 0px 0px 0px; }
  70%, 100% { box-shadow: rgba(62, 255, 255, 0) 0px 0px 0px 12px; }
}
/* CF7 con el aspecto del formulario del diseño */
{background:transparent}
 .np-form .wpcf7-form-control-wrap{display:block;width:100%}
 .np-form .elementor-field-textual{width:100%;box-sizing:border-box;max-width:100%}
 .np-form .elementor-select-wrapper{position:relative;width:100%}
 .np-form .elementor-field-group{position:relative}
 .np-form .wpcf7-not-valid-tip{font-size:13px;line-height:1.4;color:#C62828;margin-top:6px}
 .np-form .wpcf7-list-item{margin:0}
 .np-form .wpcf7-list-item label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
 .np-form .wpcf7-list-item-label{font-size:14px;line-height:1.5;color:#3C3D42}
 .np-form .e-form__buttons{align-items:center;gap:12px;margin-top:4px}
 .np-form .e-form__buttons .elementor-button{cursor:pointer}
 .np-form .wpcf7-spinner{margin:0}
 .wpcf7 form .wpcf7-response-output{margin:18px 0 0;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.5}
 .np-form br{display:none}
 .np-form > p{margin:0}/* End custom CSS */