.elementor-kit-6{--e-global-color-primary:#242478;--e-global-color-secondary:#17171A;--e-global-color-text:#4A4A50;--e-global-color-accent:#7A7A80;--e-global-color-tt_line:#E3E3E3;--e-global-color-tt_paper:#F4F4F4;--e-global-color-tt_mist:#BDBCBC;--e-global-color-tt_white:#FFFFFF;--e-global-color-tt_navy_dark:#15154A;--e-global-color-ttgrishero:#F7F7F7;--e-global-typography-primary-font-family:"Barlow Condensed";--e-global-typography-primary-font-size:44px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1.05em;--e-global-typography-primary-letter-spacing:-0.5px;--e-global-typography-secondary-font-family:"Barlow Condensed";--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:1.15em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-text-font-family:"IBM Plex Sans";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"IBM Plex Mono";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.4em;--e-global-typography-accent-letter-spacing:1.6px;--e-global-typography-tt_display-font-family:"Barlow Condensed";--e-global-typography-tt_display-font-size:58px;--e-global-typography-tt_display-font-weight:600;--e-global-typography-tt_display-line-height:1em;--e-global-typography-tt_display-letter-spacing:-1px;--e-global-typography-tt_lead-font-family:"IBM Plex Sans";--e-global-typography-tt_lead-font-size:14px;--e-global-typography-tt_lead-font-weight:400;--e-global-typography-tt_lead-line-height:1.7em;--e-global-typography-tt_lead-letter-spacing:0px;--e-global-typography-tt_h3-font-family:"Barlow Condensed";--e-global-typography-tt_h3-font-size:30px;--e-global-typography-tt_h3-font-weight:600;--e-global-typography-tt_h3-line-height:1.1em;--e-global-typography-tt_h3-letter-spacing:0px;background-color:#FFFFFF;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-family:"IBM Plex Mono", Sans-serif;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:1.4px;color:#FFFFFF;border-radius:0px 0px 0px 0px;padding:18px 28px 18px 28px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:#15154A;color:#FFFFFF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-primary );}.elementor-kit-6 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-6 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-6 h2{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-6 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-tt_h3-font-family ), Sans-serif;font-size:var( --e-global-typography-tt_h3-font-size );font-weight:var( --e-global-typography-tt_h3-font-weight );line-height:var( --e-global-typography-tt_h3-line-height );letter-spacing:var( --e-global-typography-tt_h3-letter-spacing );word-spacing:var( --e-global-typography-tt_h3-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-primary-font-size:38px;--e-global-typography-text-font-size:14px;--e-global-typography-tt_display-font-size:46px;--e-global-typography-tt_lead-font-size:14px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-6 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-6 h3{font-size:var( --e-global-typography-tt_h3-font-size );line-height:var( --e-global-typography-tt_h3-line-height );letter-spacing:var( --e-global-typography-tt_h3-letter-spacing );word-spacing:var( --e-global-typography-tt_h3-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:31px;--e-global-typography-text-font-size:14px;--e-global-typography-tt_display-font-size:36px;--e-global-typography-tt_lead-font-size:14px;--e-global-typography-tt_h3-font-size:26px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-6 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-kit-6 h3{font-size:var( --e-global-typography-tt_h3-font-size );line-height:var( --e-global-typography-tt_h3-line-height );letter-spacing:var( --e-global-typography-tt_h3-letter-spacing );word-spacing:var( --e-global-typography-tt_h3-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Totaigua — estilos base */
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:#242478;color:#fff}
.tt-eyebrow .elementor-heading-title{display:flex;align-items:center;gap:12px}
.tt-eyebrow .elementor-heading-title::before{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
.tt-link a{position:relative;text-decoration:none}
.tt-link a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.tt-link a:hover::after{transform:scaleX(1)}
.elementor-button{transition:background-color .2s ease,color .2s ease,border-color .2s ease}
/* Fotos: blanco y negro neutro, iguales en toda la web */
.tt-photo{overflow:hidden}
.tt-photo img{display:block;filter:grayscale(1) contrast(1.06);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tt-card:hover .tt-photo img{transform:scale(1.035)}
/* Formulario */
.tt-form .elementor-field-group .elementor-field{border-width:0 0 1px 0!important;border-radius:0!important;padding-left:0!important;background:transparent!important}
.tt-form .elementor-field-group .elementor-field:focus{border-color:#242478!important;box-shadow:none}
.tt-form .elementor-field-type-acceptance label{font-size:13px;color:#7A7A80}
.tt-form .elementor-field-type-acceptance a{color:#242478}
.tt-logo-white img{filter:brightness(0) invert(1)}

/* Banner de cookies (Complianz) */
.cmplz-cookiebanner{
 --cmplz_banner_background_color:#FFFFFF;--cmplz_banner_border_color:#E3E3E3;--cmplz_banner_border_width:1px;--cmplz_banner_border_radius:0px;
 --cmplz_text_color:#4A4A50;--cmplz_hyperlink_color:#242478;--cmplz_text_font_size:14px;--cmplz_title_font_size:20px;
 --cmplz_button_border_radius:0px;--cmplz_button_font_size:12px;
 --cmplz_button_accept_background_color:#242478;--cmplz_button_accept_border_color:#242478;--cmplz_button_accept_text_color:#FFFFFF;
 --cmplz_button_deny_background_color:#242478;--cmplz_button_deny_border_color:#242478;--cmplz_button_deny_text_color:#FFFFFF;
 --cmplz_button_settings_background_color:transparent;--cmplz_button_settings_border_color:transparent;--cmplz_button_settings_text_color:#17171A;
 --cmplz_slider_active_color:#242478;--cmplz_slider_inactive_color:#BDBCBC;--cmplz_slider_bullet_color:#FFFFFF;
 font-family:"IBM Plex Sans",sans-serif!important;box-shadow:0 10px 40px rgba(23,23,26,.08)!important}
.cmplz-cookiebanner .cmplz-title{font-family:"Barlow Condensed",sans-serif!important;font-weight:600!important;color:#17171A!important;letter-spacing:0}
.cmplz-cookiebanner .cmplz-btn{font-family:"IBM Plex Mono",monospace!important;font-weight:500!important;text-transform:uppercase;letter-spacing:1.2px;transition:background-color .2s ease}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover,.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover{background-color:#15154A!important;border-color:#15154A!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{text-decoration:underline;text-underline-offset:4px}
.cmplz-cookiebanner .cmplz-links a,.cmplz-cookiebanner .cmplz-link{font-family:"IBM Plex Mono",monospace;font-size:11px;text-transform:uppercase;letter-spacing:1px}
#cmplz-manage-consent .cmplz-manage-consent{font-family:"IBM Plex Mono",monospace!important;font-size:11px!important;text-transform:uppercase;letter-spacing:1px;background:#FFFFFF!important;color:#17171A!important;border:1px solid #E3E3E3!important;border-radius:0!important}

/* Páginas legales */
.tt-legal h2{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:28px;line-height:1.15;color:#17171A;margin:48px 0 14px}
.tt-legal h2:first-child{margin-top:0}
.tt-legal ul{padding-left:1.2em;margin:0 0 1em}
.tt-legal li{margin-bottom:6px}
.tt-legal a{color:#242478;text-decoration:underline;text-underline-offset:3px}
.tt-form-info p{margin:0}
.tt-form-info a{color:#242478}

/* Flechas entre pasos */
.tt-arrow{align-self:stretch;color:#BDBCBC}
.tt-arrow .elementor-widget-container,.tt-arrow .elementor-widget-container>*{height:100%}
.tt-arrow svg{display:block;width:16px;height:100%;min-height:120px}
.tt-arrow-down{color:#BDBCBC}
.tt-arrow-down svg{display:block;width:40px;height:14px;margin:0 auto}

/* Anclas bajo la cabecera fija y desplegable del menú */
[id="servicios"],[id="ambitos"],[id="metodo"],[id="contacto"],[id="empresa"],[id="preguntas-frecuentes"],[id="formulario"]{scroll-margin-top:72px}
.elementor-location-header .elementor-nav-menu--dropdown{box-shadow:0 12px 24px rgba(23,23,26,.06);border-top:1px solid #E3E3E3}

/* Hamburguesa fina */
.elementor-location-header .elementor-menu-toggle{position:relative;width:32px;height:32px;padding:0;background:transparent!important}
.elementor-location-header .elementor-menu-toggle svg,.elementor-location-header .elementor-menu-toggle i{display:none!important}
.elementor-location-header .elementor-menu-toggle::before,.elementor-location-header .elementor-menu-toggle::after{content:"";position:absolute;left:5px;right:5px;top:50%;height:1.5px;margin-top:-.75px;background:#17171A;transition:transform .25s ease,box-shadow .25s ease}
.elementor-location-header .elementor-menu-toggle::before{box-shadow:0 -7px 0 #17171A,0 7px 0 #17171A}
.elementor-location-header .elementor-menu-toggle::after{opacity:0}
.elementor-location-header .elementor-menu-toggle.elementor-active::before{box-shadow:none;transform:rotate(45deg)}
.elementor-location-header .elementor-menu-toggle.elementor-active::after{opacity:1;transform:rotate(-45deg)}

/* Animaciones de entrada: hero sin JS (no retrasa el LCP) */
@keyframes ttFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.tt-hero-in>*{animation:ttFade .7s cubic-bezier(.2,.7,.2,1) both}
.tt-hero-in>*:nth-child(2){animation-delay:.12s}
.tt-hero-in>*:nth-child(3){animation-delay:.24s}
.tt-hero-in.tt-d3>*{animation-delay:.3s}
@media (prefers-reduced-motion:reduce){.tt-hero-in>*{animation:none}.elementor-invisible{visibility:visible!important}.animated{animation:none!important}}

/* Hero a pantalla completa: foto en blanco y negro neutro */
.tt-hero-photo{background-color:#777!important;background-blend-mode:luminosity}
@media (max-width:767px){.tt-hero-photo{padding-top:240px!important;--min-height:0px!important;min-height:0!important;--justify-content:flex-start!important}.tt-hero-photo::before{background-image:linear-gradient(180deg,rgba(255,255,255,0) 0,rgba(255,255,255,0) 200px,#F7F7F7 200px)!important}}


/* Mapa: escala de grises para casar con la web */
.tt-map iframe{filter:grayscale(1) contrast(1.05) brightness(1.02);border:1px solid #E3E3E3!important;display:block}
.tt-map .cmplz-placeholder-element,.tt-map .cmplz-blocked-content-container{border:1px solid #E3E3E3;background-color:#F4F4F4!important;filter:grayscale(1)}
.tt-map .cmplz-blocked-content-notice{font-family:"IBM Plex Mono",monospace!important;font-size:11px!important;text-transform:uppercase;letter-spacing:1px;background:#242478!important;border-radius:0!important;color:#fff!important}

/* Mapa a toda la altura de la columna */
.tt-map{display:flex;flex-direction:column}
.tt-map>.elementor-widget-container,.tt-map .elementor-custom-embed,.tt-map .cmplz-placeholder-parent{flex:1;display:flex;flex-direction:column;min-height:280px}
.tt-map iframe{flex:1;height:100%!important;min-height:280px}

/* Fichas en móvil: cada imagen con su texto, separadas por una línea */
@media (max-width:767px){.tt-card+.tt-card{border-top:1px solid #E3E3E3;padding-top:40px}.tt-card>.e-con{border-top:0!important;padding-top:6px!important}}

/* Formulario de presupuesto: separadores de bloque */
.tt-form-h{font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:#242478;padding-top:24px;margin-top:8px;border-top:1px solid #E3E3E3;width:100%}
.tt-form .elementor-field-group:first-child .tt-form-h{border-top:0;padding-top:0;margin-top:0}
.tt-form .elementor-field-subgroup .elementor-field-option label{font-size:14px!important;line-height:1.6;color:#4A4A50;padding-left:6px}
.tt-form .elementor-select-wrapper select{padding-left:0!important}
.tt-form .elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option{margin-right:18px}
.tt-form input[type=file].elementor-upload-field{border:1px dashed #BDBCBC!important;padding:12px!important;font-size:13px}

/* Preguntas frecuentes */
.tt-faq .elementor-accordion-item{border:0!important;border-bottom:1px solid #E3E3E3!important}
.tt-faq .elementor-accordion-item:first-child{border-top:1px solid #E3E3E3!important}
.tt-faq .elementor-tab-title{padding:22px 0!important;display:flex;align-items:center;gap:16px}
.tt-faq .elementor-tab-title .elementor-accordion-title{flex:1;font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:22px;line-height:1.2;color:#17171A!important}
.tt-faq .elementor-tab-title.elementor-active .elementor-accordion-title{color:#242478!important}
.tt-faq .elementor-accordion-icon{order:2;font-size:12px;color:#7A7A80}
.tt-faq .elementor-tab-content{border:0!important;padding:0 0 24px!important;font-size:14px;line-height:1.7;color:#4A4A50;max-width:760px}
.tt-faq .elementor-tab-content p{margin:0}

/* Testimonio */
.tt-quote{margin:0;padding:0;border:0}
.tt-quote p{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:26px;line-height:1.25;color:#17171A;margin:0 0 28px}
.tt-quote footer{display:flex;flex-direction:column;gap:4px;font-size:14px;color:#4A4A50}
.tt-quote footer strong{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:#242478}
@media (max-width:767px){.tt-quote p{font-size:22px}}

/* CTA con foto de fondo */
.tt-cta{background-color:#777!important;background-blend-mode:luminosity}
.tt-cta .tt-eyebrow .elementor-heading-title{justify-content:center}
.tt-cta .tt-eyebrow .elementor-heading-title::after{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
.tt-cta .tt-quote{text-align:center}
.tt-cta .tt-quote p{color:#FFFFFF}
.tt-cta .tt-quote footer{align-items:center;color:rgba(255,255,255,.7)}
.tt-cta .tt-quote footer strong{color:#FFFFFF}
.tt-cta .elementor-button:hover{color:#15154A}

/* Enlaces secundarios (Contacto) */
.tt-more-label{margin:0 0 10px;font-size:13px;color:#7A7A80}
.tt-more{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0}
.tt-more a{position:relative;font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:#242478;text-decoration:none;padding-bottom:4px;border-bottom:1px solid rgba(36,36,120,.3);transition:border-color .2s ease}
.tt-more a::after{content:"→";margin-left:8px;display:inline-block;transition:transform .2s ease}
.tt-more a:hover{border-color:#242478}
.tt-more a:hover::after{transform:translateX(3px)}

/* Desplegable del menú */
.elementor-location-header .elementor-nav-menu--main .sub-menu{min-width:280px!important;border-top:1px solid #E3E3E3;padding:8px 0}
.elementor-location-header .elementor-nav-menu--main .sub-menu a{padding-top:12px!important;padding-bottom:12px!important;font-size:12px!important}
.elementor-location-header .elementor-nav-menu--main .sub-menu a:hover,.elementor-location-header .elementor-nav-menu--main .sub-menu a.elementor-item-active{background:#F4F4F4!important;color:#242478!important}/* End custom CSS */