.elementor-kit-17{--e-global-color-primary:#1D1D1B;--e-global-color-secondary:#F8F8F6;--e-global-color-text:#1D1D1B;--e-global-color-accent:#FFED00;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-size:65px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-size:36px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:capitalize;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:300;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.5em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:capitalize;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-392b9e0-font-family:"Poppins";--e-global-typography-392b9e0-font-size:22px;--e-global-typography-392b9e0-font-weight:600;--e-global-typography-392b9e0-text-transform:capitalize;--e-global-typography-392b9e0-font-style:normal;--e-global-typography-392b9e0-text-decoration:none;--e-global-typography-392b9e0-line-height:1.2em;--e-global-typography-392b9e0-letter-spacing:0px;--e-global-typography-c05b693-font-family:"Poppins";--e-global-typography-c05b693-font-size:22px;--e-global-typography-c05b693-font-weight:300;--e-global-typography-c05b693-text-transform:none;--e-global-typography-c05b693-font-style:normal;--e-global-typography-c05b693-text-decoration:none;--e-global-typography-c05b693-line-height:1.5em;--e-global-typography-c05b693-letter-spacing:0px;--e-global-typography-6558fb1-font-family:"Poppins";--e-global-typography-6558fb1-font-size:16px;--e-global-typography-6558fb1-font-weight:300;--e-global-typography-6558fb1-text-transform:uppercase;--e-global-typography-6558fb1-font-style:normal;--e-global-typography-6558fb1-text-decoration:none;--e-global-typography-6558fb1-line-height:1.5em;--e-global-typography-6558fb1-letter-spacing:10px;--e-global-typography-92bce3b-font-family:"Poppins";--e-global-typography-92bce3b-font-size:16px;--e-global-typography-92bce3b-font-weight:400;--e-global-typography-92bce3b-text-transform:capitalize;--e-global-typography-92bce3b-font-style:italic;--e-global-typography-92bce3b-text-decoration:underline;--e-global-typography-92bce3b-line-height:1em;--e-global-typography-92bce3b-letter-spacing:0px;--e-global-typography-b2deeae-font-family:"Poppins";--e-global-typography-b2deeae-font-size:85px;--e-global-typography-b2deeae-font-weight:600;--e-global-typography-b2deeae-text-transform:none;--e-global-typography-b2deeae-font-style:normal;--e-global-typography-b2deeae-text-decoration:none;--e-global-typography-b2deeae-line-height:1em;--e-global-typography-b2deeae-letter-spacing:0px;--e-global-typography-fb1a3e0-font-family:"Poppins";--e-global-typography-fb1a3e0-font-size:200px;--e-global-typography-fb1a3e0-font-weight:600;--e-global-typography-fb1a3e0-text-transform:none;--e-global-typography-fb1a3e0-font-style:normal;--e-global-typography-fb1a3e0-text-decoration:none;--e-global-typography-fb1a3e0-line-height:1.2em;--e-global-typography-fb1a3e0-letter-spacing:0px;--e-global-typography-397e168-font-family:"Poppins";--e-global-typography-397e168-font-size:16px;--e-global-typography-397e168-font-weight:400;--e-global-typography-397e168-text-transform:capitalize;--e-global-typography-397e168-font-style:italic;--e-global-typography-397e168-text-decoration:none;--e-global-typography-397e168-line-height:1.3em;--e-global-typography-397e168-letter-spacing:0px;}.elementor-kit-17 a{color:var( --e-global-color-accent );}.elementor-kit-17 a:hover{color:var( --e-global-color-primary );}.elementor-kit-17 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-392b9e0-font-family ), Sans-serif;font-size:var( --e-global-typography-392b9e0-font-size );font-weight:var( --e-global-typography-392b9e0-font-weight );text-transform:var( --e-global-typography-392b9e0-text-transform );font-style:var( --e-global-typography-392b9e0-font-style );text-decoration:var( --e-global-typography-392b9e0-text-decoration );line-height:var( --e-global-typography-392b9e0-line-height );letter-spacing:var( --e-global-typography-392b9e0-letter-spacing );word-spacing:var( --e-global-typography-392b9e0-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1600px;}.e-con{--container-max-width:1600px;--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:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-17 e-page-transition{background-color:#FFBC7D;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-kit-17{--e-global-typography-primary-font-size:45px;--e-global-typography-secondary-font-size:25px;--e-global-typography-text-font-size:14px;--e-global-typography-accent-font-size:14px;--e-global-typography-c05b693-font-size:14px;--e-global-typography-6558fb1-font-size:14px;--e-global-typography-92bce3b-font-size:14px;--e-global-typography-b2deeae-font-size:65px;--e-global-typography-fb1a3e0-font-size:145px;--e-global-typography-397e168-font-size:14px;}.elementor-kit-17 h4{font-size:var( --e-global-typography-392b9e0-font-size );line-height:var( --e-global-typography-392b9e0-line-height );letter-spacing:var( --e-global-typography-392b9e0-letter-spacing );word-spacing:var( --e-global-typography-392b9e0-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-17{--e-global-typography-primary-font-size:28px;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-size:20px;--e-global-typography-392b9e0-font-size:18px;--e-global-typography-b2deeae-font-size:48px;--e-global-typography-b2deeae-line-height:1em;--e-global-typography-fb1a3e0-font-size:100px;--e-global-typography-fb1a3e0-line-height:1em;}.elementor-kit-17 h4{font-size:var( --e-global-typography-392b9e0-font-size );line-height:var( --e-global-typography-392b9e0-line-height );letter-spacing:var( --e-global-typography-392b9e0-letter-spacing );word-spacing:var( --e-global-typography-392b9e0-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --font-display:PT Sans Caption; --font-body:Roboto; --color-gray-100:#F5F5F3; --color-gray-200:#E8E8E6; --color-gray-300:#CCCCCA; --color-gray-400:#888886; --color-gray-500:#666664; --color-gray-700:#444442; --color-gray-800:#2D2D2B; --e-gv-904bdbe:#FFFBE0; --color-yellow:#FFED00; --color-yellow-darker:#997A00; --color-yellow-dark:#CCB900; --color-black:#1D1D1B; --color-white:#F8F8F6; --text-display:72px; --text-h1:52px; --text-h2:40px; --text-h3:28px; --text-h4:20px; --text-body-lg:18px; --text-body:16px; --text-body-sm:14px; --text-label:11px; }
/* Start custom CSS */:root {
  --color-black: #1D1D1B;
  --color-white: #F8F8F6;
  --color-yellow: #FFED00;
  --color-yellow-dark: #CCB900;
  --color-yellow-darker: #997A00;

  --color-gray-100: #F5F5F3;
  --color-gray-200: #E8E8E6;
  --color-gray-300: #CCCCCA;
  --color-gray-400: #AAAAAA;
  --color-gray-500: #888886;
  --color-gray-600: #666664;
  --color-gray-700: #444442;
  --color-gray-800: #2D2D2B;

  --font-display: 'PT Sans Caption', sans-serif;
  --font-body: 'Roboto', sans-serif;

  --text-display: 72px;
  --text-h1: 52px;
  --text-h2: 40px;
  --text-h3: 28px;
  --text-h4: 20px;
  --text-body-lg: 18px;
  --text-body: 16px;
  --text-body-sm: 14px;
  --text-label: 11px;

  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 50px;

  --container: 1200px;

  --section-padding-y: 96px;
  --section-padding-x: 40px;

  --section-padding-y-tablet: 80px;
  --section-padding-x-tablet: 32px;

  --section-padding-y-mobile: 56px;
  --section-padding-x-mobile: 22px;

  /*
    Grid móvil base para viewport 430px:
    22 + 86 + 14 + 86 + 14 + 86 + 14 + 86 + 22 = 430
  */
  --bp-mobile-margin: 22px;
  --bp-mobile-gutter: 14px;
}

/* Evita scroll horizontal raro */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

/*
  Clase para el Main_Container de Elementor.
  Añádela al contenedor principal si todavía no la tiene.
*/
.bp-main {
  background: var(--color-white);
}

/* Base secciones */
.bp-section {
  position: relative;

  width: 100vw;
  max-width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding: var(--section-padding-y) var(--section-padding-x);
}

.bp-section--light {
  background: var(--color-white);
  color: var(--color-black);
}

.bp-section--dark {
  background: var(--color-black);
  color: var(--color-white);
}

.bp-container {
  width: 100%;
  max-width: var(--container);

  margin-left: auto;
  margin-right: auto;
}

/* Grid móvil reutilizable */
.bp-mobile-grid {
  display: block;
}

/* Títulos globales */
.bp-heading,
.bp-portfolio__title,
.bp-process__title,
.bp-about__title,
.bp-contact__title,
.bp-services__title,
.bp-svc__title {
  font-family: var(--font-display);
  font-size: var(--text-h1);
  line-height: 1.1;
  font-weight: 700;
  margin: 0;
}

.bp-section--light .bp-heading {
  color: var(--color-black);
}

.bp-section--dark .bp-heading {
  color: var(--color-white);
}

/* Labels / eyebrows */
.bp-eyebrow,
.bp-portfolio__eyebrow,
.bp-process__eyebrow,
.bp-about__eyebrow,
.bp-contact__eyebrow,
.bp-services__eyebrow,
.bp-svc__eyebrow {
  font-family: var(--font-body);
  font-size: var(--text-label);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-transform: uppercase;

  margin: 0 0 16px;
}

.bp-section--light .bp-eyebrow {
  color: var(--color-gray-600);
}

.bp-section--dark .bp-eyebrow {
  color: var(--color-gray-300);
}

/* Textos largos */
.bp-about__text p,
.bp-contact__subtitle,
.bp-step__text,
.bp-services__text,
.bp-services__card p,
.bp-svc__text,
.bp-svc__card p {
  font-family: var(--font-body);
  font-size: var(--text-body-lg);
  line-height: 1.7;
}

/* Modificadores de espaciado */
.bp-section--compact {
  padding-top: 72px;
  padding-bottom: 72px;
}

.bp-section--compact-top {
  padding-top: 64px;
}

.bp-section--compact-bottom {
  padding-bottom: 64px;
}

.bp-section--no-top {
  padding-top: 0;
}

.bp-section--no-bottom {
  padding-bottom: 0;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {
  .bp-section {
    padding: var(--section-padding-y-tablet) var(--section-padding-x-tablet);
  }

  .bp-heading,
  .bp-portfolio__title,
  .bp-process__title,
  .bp-about__title,
  .bp-contact__title,
  .bp-services__title,
  .bp-svc__title {
    font-size: 44px !important;
    line-height: 1.12;
  }

  .bp-portfolio__header,
  .bp-process__header,
  .bp-about__header,
  .bp-contact__header,
  .bp-services__header,
  .bp-svc__header {
    margin-bottom: 48px;
  }

  .bp-about__text p,
  .bp-contact__subtitle,
  .bp-step__text,
  .bp-services__text,
  .bp-services__card p,
  .bp-svc__text,
  .bp-svc__card p {
    font-size: var(--text-body);
    line-height: 1.65;
  }
}

/* =========================================================
   MÓVIL
   Base de diseño: 430px / 4 columnas / 22 margen / 14 gutter
   ========================================================= */

@media (max-width: 767px) {
  .bp-section {
    padding-top: var(--section-padding-y-mobile);
    padding-bottom: var(--section-padding-y-mobile);
    padding-left: var(--bp-mobile-margin);
    padding-right: var(--bp-mobile-margin);
  }

  .bp-container {
    width: 100%;
    max-width: none;

    margin-left: auto;
    margin-right: auto;
  }

  .bp-mobile-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: var(--bp-mobile-gutter);
  }

  .bp-mobile-full {
    grid-column: 1 / -1;
  }

  .bp-heading,
  .bp-portfolio__title,
  .bp-process__title,
  .bp-about__title,
  .bp-contact__title,
  .bp-services__title,
  .bp-svc__title {
    font-size: 32px !important;
    line-height: 1.14;
    letter-spacing: 0;
  }

  .bp-portfolio__header,
  .bp-process__header,
  .bp-about__header,
  .bp-contact__header,
  .bp-services__header,
  .bp-svc__header {
    max-width: 100%;
    margin-bottom: 32px;
  }

  .bp-eyebrow,
  .bp-portfolio__eyebrow,
  .bp-process__eyebrow,
  .bp-about__eyebrow,
  .bp-contact__eyebrow,
  .bp-services__eyebrow,
  .bp-svc__eyebrow {
    font-size: 11px !important;
    line-height: 1.2;
    letter-spacing: 0.1em;
    margin-bottom: 12px;
  }

  .bp-about__text p,
  .bp-contact__subtitle,
  .bp-step__text,
  .bp-services__text,
  .bp-services__card p,
  .bp-svc__text,
  .bp-svc__card p {
    font-size: 16px;
    line-height: 1.6;
  }

  .bp-section--compact {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .bp-section--compact-top {
    padding-top: 48px;
  }

  .bp-section--compact-bottom {
    padding-bottom: 48px;
  }
}

/* =========================================================
   MÓVIL PEQUEÑO
   Mantiene números pares.
   No bajamos a 18px para no romper la grid base.
   ========================================================= */

@media (max-width: 480px) {
  .bp-section {
    padding-top: 48px;
    padding-bottom: 48px;
    padding-left: var(--bp-mobile-margin);
    padding-right: var(--bp-mobile-margin);
  }

  .bp-heading,
  .bp-portfolio__title,
  .bp-process__title,
  .bp-about__title,
  .bp-contact__title,
  .bp-services__title,
  .bp-svc__title {
    font-size: 30px !important;
  }
}

/* ================================
   BEEZPRINT · Botones globales
================================ */

.bp-button,
.bp-button:visited,
.bp-button:active,
.bp-button:focus,
.bp-button:focus-visible {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;

  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  text-decoration: none !important;

  padding: 14px 28px;
  border-radius: var(--radius-pill);
  border: none;

  cursor: pointer;
  outline: none;
  box-shadow: none;

  transition:
    background 0.15s ease,
    color 0.15s ease,
    border-color 0.15s ease,
    transform 0.15s ease;
}

/* Primario · amarillo sobre fondo claro u oscuro */
.bp-button--primary,
.bp-button--primary:visited,
.bp-button--primary:active,
.bp-button--primary:focus,
.bp-button--primary:focus-visible {
  background: var(--color-yellow);
  color: var(--color-black) !important;
}

.bp-button--primary:hover {
  background: var(--color-yellow-dark);
  color: var(--color-black) !important;
}

/* Secundario sobre fondo claro · negro */
.bp-button--secondary,
.bp-button--secondary:visited,
.bp-button--secondary:active,
.bp-button--secondary:focus,
.bp-button--secondary:focus-visible {
  background: var(--color-black);
  color: var(--color-white) !important;
}

.bp-button--secondary:hover {
  background: var(--color-yellow);
  color: var(--color-black) !important;
}

/* Secundario sobre fondo oscuro · blanco */
.bp-button--secondary-invert,
.bp-button--secondary-invert:visited,
.bp-button--secondary-invert:active,
.bp-button--secondary-invert:focus,
.bp-button--secondary-invert:focus-visible {
  background: var(--color-white);
  color: var(--color-black) !important;
}

.bp-button--secondary-invert:hover {
  background: var(--color-yellow);
  color: var(--color-black) !important;
}

/* Outline sobre fondo claro */
.bp-button--outline,
.bp-button--outline:visited,
.bp-button--outline:active,
.bp-button--outline:focus,
.bp-button--outline:focus-visible {
  background: transparent;
  color: var(--color-black) !important;
  border: 2px solid var(--color-black);
}

.bp-button--outline:hover {
  background: var(--color-black);
  color: var(--color-white) !important;
}

/* Outline sobre fondo oscuro */
.bp-button--outline-invert,
.bp-button--outline-invert:visited,
.bp-button--outline-invert:active,
.bp-button--outline-invert:focus,
.bp-button--outline-invert:focus-visible {
  background: transparent;
  color: var(--color-white) !important;
  border: 2px solid var(--color-white);
}

.bp-button--outline-invert:hover {
  background: var(--color-white);
  color: var(--color-black) !important;
}

/* ================================
   BEEZPRINT · Pills / Tags / Filtros
================================ */

.bp-pill,
.bp-pill:visited,
.bp-pill:active,
.bp-pill:focus,
.bp-pill:focus-visible {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;

  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  text-decoration: none !important;

  padding: 9px 24px;
  border-radius: var(--radius-pill);
  border: 1.5px solid var(--color-gray-300);
  background: transparent;
  color: var(--color-gray-600) !important;

  cursor: pointer;
  outline: none;

  transition:
    background 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

/* Pill activa */
.bp-pill.is-active,
.bp-pill[aria-pressed="true"] {
  background: var(--color-yellow);
  color: var(--color-black) !important;
  border-color: var(--color-yellow);
  font-weight: 700;
}

/* Pill sobre fondo oscuro */
.bp-section--dark .bp-pill,
.bp-section--dark .bp-pill:visited,
.bp-section--dark .bp-pill:active,
.bp-section--dark .bp-pill:focus,
.bp-section--dark .bp-pill:focus-visible {
  border-color: var(--color-gray-600);
  color: var(--color-white) !important;
}

.bp-section--dark .bp-pill:hover {
  border-color: var(--color-white);
  color: var(--color-white) !important;
}

.bp-section--dark .bp-pill.is-active,
.bp-section--dark .bp-pill[aria-pressed="true"] {
  background: var(--color-yellow);
  color: var(--color-black) !important;
  border-color: var(--color-yellow);
}/* End custom CSS */