.elementor-kit-5{--e-global-color-primary:#9A6464;--e-global-color-secondary:#5E5855;--e-global-color-text:#141413;--e-global-color-accent:#935F5F;--e-global-color-cream01:#FAF7F4;--e-global-color-white01:#FFFFFF;--e-global-color-accent02:#7A4C4C;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Over the Rainbow";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Rubik";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Rubik";--e-global-typography-accent-font-weight:600;color:#141413;font-family:"Rubik", Sans-serif;font-weight:400;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a:hover{color:#141413;}.elementor-kit-5 h1{font-family:"Playfair Display", Sans-serif;font-size:40px;font-weight:600;text-transform:none;line-height:1.15em;}.elementor-kit-5 h2{font-family:"Playfair Display", Sans-serif;font-size:32px;font-weight:600;text-transform:none;line-height:1.2em;}.elementor-kit-5 h3{font-family:"Playfair Display", Sans-serif;font-size:24px;font-weight:600;text-transform:none;line-height:1.3em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1180px;}.e-con{--container-max-width:1180px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}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-5 h1{font-size:34px;line-height:1.2em;}.elementor-kit-5 h2{font-size:28px;line-height:1.25em;}.elementor-kit-5 h3{font-size:22px;line-height:1.35em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5 h1{font-size:29px;line-height:1.25em;}.elementor-kit-5 h2{font-size:25px;line-height:1.3em;}.elementor-kit-5 h3{font-size:20px;line-height:1.4em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Utilidad: Elementor no expone relleno de contenido ni recorte completo en Image Box. */
.wil-card { overflow: hidden; }
.wil-card .elementor-image-box-content { padding: 24px 24px 28px; }
.wil-card img { width: 100%; object-fit: cover; }
/* Los enlaces incluidos dentro de texto corrido se distinguen además de por color. */
.elementor-widget-text-editor a {
  color: var(--e-global-color-accent, #935F5F);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-color: var(--e-global-color-accent, #935F5F);
  text-underline-offset: .18em;
  transition: color .2s ease, text-decoration-color .2s ease;
}
.elementor-widget-text-editor a:hover,
.elementor-widget-text-editor a:focus {
  color: var(--e-global-color-text, #141413);
  text-decoration-color: var(--e-global-color-text, #141413);
}
/* Foco visible universal, incluidas superficies claras y oscuras. */
body :where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid var(--e-global-color-text); outline-offset: 3px; }
footer :where(a, button, input, select, textarea, [tabindex]):focus-visible { outline-color: var(--e-global-color-white01); }
footer a, footer a:hover, footer a:focus-visible { color: var(--e-global-color-white01); }
/* Evita que las animaciones oculten contenido a quienes reducen movimiento. */
@media (prefers-reduced-motion: reduce) {
  body .elementor-invisible { visibility: visible; animation: none; }
  body .animated { animation: none; }
}
.wil-cta-nowrap .elementor-button-text { white-space: nowrap; }
/* La cabecera es pegajosa y Elementor no descuenta su altura al saltar a un
   ancla: sin este margen el titular de la sección queda tapado debajo. */
:target { scroll-margin-top: 144px; }
@media (max-width: 767px) { :target { scroll-margin-top: 118px; } }
/* En /servicios/ hay además una barra de secciones fija de 65 px bajo la
   cabecera, así que el destino tiene que bajar los dos. Solo en escritorio,
   que es donde esa barra se queda fija. */
@media (min-width: 1025px) {
  .wil-anchor-bajo-subnav:target { scroll-margin-top: 205px; }
}
/* Elementor no expone controles de estilo para el estado «fijo», y sin fondo
   propio el contenido se ve pasar por detrás de los botones. La sombra separa
   cabecera y barra del contenido que corre por debajo. */
.wil-subnav.elementor-sticky--active {
  background-color: var(--e-global-color-white01);
  box-shadow: 0 6px 18px rgba(20, 20, 19, .07);
}
.elementor-location-header .elementor-sticky--active {
  box-shadow: 0 4px 16px rgba(20, 20, 19, .06);
}
/* Elementor 4.2 ya no lleva su propio salto suave: sin esto el ancla da un
   corte seco. Se desactiva para quien haya pedido menos movimiento. */
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }/* End custom CSS */