.elementor-kit-743{--e-global-color-primary:#1E5FA8;--e-global-color-secondary:#2DB89E;--e-global-color-text:#0B2A4A;--e-global-color-accent:#2DB89E;--e-global-color-47aff41:#0B2A4A;--e-global-color-598a8fe:#1E5FA8;--e-global-color-029b75a:#2DB89E;--e-global-color-345352e:#F4F7FB;--e-global-color-72f0627:#FFFFFF;--e-global-color-162872b:#0B2A4A;--e-global-color-941fb0a:#1E5FA8;--e-global-color-1607c19:#2DB89E;--e-global-color-5084aa9:#F4F7FB;--e-global-color-4a27a41:#FFFFFF;--e-global-typography-primary-font-family:"Sora";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"JetBrains Mono";--e-global-typography-accent-font-weight:500;}.elementor-kit-743 button,.elementor-kit-743 input[type="button"],.elementor-kit-743 input[type="submit"],.elementor-kit-743 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Plus Jakarta Sans", Sans-serif;color:#FFFFFF;border-radius:8px 8px 8px 8px;}.elementor-kit-743 button:hover,.elementor-kit-743 button:focus,.elementor-kit-743 input[type="button"]:hover,.elementor-kit-743 input[type="button"]:focus,.elementor-kit-743 input[type="submit"]:hover,.elementor-kit-743 input[type="submit"]:focus,.elementor-kit-743 .elementor-button:hover,.elementor-kit-743 .elementor-button:focus{background-color:#0B2A4A;color:var( --e-global-color-4a27a41 );border-radius:8px 8px 8px 8px;}.elementor-kit-743 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:40px;--container-default-padding-bottom:0px;--container-default-padding-left:40px;}.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);}.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-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   MARCLEAN -- CSS GLOBAL * Site Settings -> CSS personalizado
   ============================================================ */

/* -- VARIABLES ----------------------------------------------- */
:root {
  --navy: #0B2A4A;
  --blue: #1E5FA8;
  --mint: #2DB89E;
  --grey: #F4F7FB;
  --ink:  #0B2A4A;
  --ink-60: rgba(11,42,74,0.62);
  --ink-40: rgba(11,42,74,0.40);
  --ink-10: rgba(11,42,74,0.10);
  --ink-06: rgba(11,42,74,0.06);
  --white: #FFFFFF;
}

/* -- RESET BASE ----------------------------------------------- */
* { box-sizing: border-box; }


body {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; text-decoration: none !important; }
p { margin: 0; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; border: none; background: none; padding: 0; color: inherit; }

/* -- TIPOGRAF?A ----------------------------------------------- */
h2, h3, h4, h5 {
  font-family: 'Sora', system-ui, sans-serif;
  letter-spacing: -0.02em;
  font-weight: 600;
  color: var(--ink);
  margin: 0;
}
h2 { font-size: 44px; line-height: 1.09; letter-spacing: -0.03em; }
h3 { font-size: 20px; line-height: 1.25; }
h4 { font-size: 16px; line-height: 1.4; }

/* -- LAYOUT --------------------------------------------------- */
.wrap { max-width: 1280px; margin: 0 auto; padding: 0 40px; }

/* -- EYEBROW (reutilizable como clase ademas de h1) ----------- */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--blue);
}
.eyebrow::before { content: ""; width: 24px; height: 1px; background: currentColor; flex-shrink: 0; }
.eyebrow.light { color: var(--mint); }
.eyebrow.light .elementor-heading-title { color: var(--mint) !important; }

/* Elementor -- hero sub */
.hero-sub .elementor-text-editor,
.hero-sub .elementor-text-editor p {
  font-size: 19px !important;
  color: var(--ink-60) !important;
  max-width: 520px !important;
  line-height: 1.55 !important;
  margin-bottom: 40px !important;
}
.hero-sub .elementor-text-editor strong { color: var(--ink) !important; font-weight: 600 !important; }

/* Elementor -- hero headline */
.hero-headline .elementor-text-editor h2,
.hero-headline .elementor-heading-title {
  font-family: 'Sora', system-ui, sans-serif !important;
  font-size: 68px !important;
  line-height: 1.04 !important;
  letter-spacing: -0.035em !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  margin: 0 0 24px !important;
}

/* Elementor heading widget override */
.eyebrow .elementor-heading-title {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* -- HEADER -- sombra al hacer sticky ------------------------- */
header .elementor-sticky--active { box-shadow: 0 1px 0 0 var(--ink-06), 0 4px 20px -8px rgba(11,42,74,0.10) !important; }

/* -- ELEMENTOR -- fix nav menu item active underline ---------- */
.elementor-nav-menu a.elementor-item-active,
.elementor-nav-menu a.elementor-item-active:not(:hover),
.elementor-nav-menu a.elementor-item-anchor-active,
.elementor-nav-menu a.elementor-item-anchor-active:not(:hover),
.elementor-nav-menu .current-menu-item > a,
.elementor-nav-menu .current-menu-ancestor > a,
.elementor-nav-menu .current-menu-parent > a {
  border-bottom: none !important;
  box-shadow: none !important;
}
.elementor-nav-menu a.elementor-item-active::after,
.elementor-nav-menu a.elementor-item-active:not(:hover)::after,
.elementor-nav-menu a.elementor-item-anchor-active::after,
.elementor-nav-menu .current-menu-item > a::after,
.elementor-nav-menu .current-menu-ancestor > a::after,
.elementor-nav-menu .current-menu-parent > a::after {
  opacity: 0 !important;
  width: 0 !important;
  display: none !important;
}
.elementor-nav-menu--dropdown a.elementor-item-active,
.elementor-nav-menu--dropdown a.elementor-item-active:not(:hover) {
  background: var(--blue) !important;
  color: var(--white) !important;
}

/* -- ELEMENTOR -- fix zona hover boton ------------------------ */
.elementor-button .elementor-button-content-wrapper {
  pointer-events: none;
}

/* -- BOTONES --------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 0 24px;
  border-radius: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: -0.005em;
  transition: transform .15s, background .2s, box-shadow .2s, color .2s;
  white-space: nowrap;
  text-decoration: none !important;
  cursor: pointer;
  border: none;
}
.btn:hover { transform: translateY(-1px); }
.btn svg { width: 16px; height: 16px; flex-shrink: 0; }

/* Primario azul -- CTAs de navegacion e inline (home, header) */
.btn-primary {
  background: var(--blue);
  color: var(--white);
  box-shadow: 0 1px 0 0 rgba(255,255,255,0.2) inset, 0 6px 20px -8px rgba(30,95,168,0.6);
}
.btn-primary:hover { background: #184E8C; color: var(--white); }

/* Primario grande -- CTAs standalone en paginas de servicio/contacto/blog */
.btn-primary-lg {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--blue);
  color: #fff;
  font-family: 'Sora', sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 28px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  letter-spacing: -0.01em;
  transition: background .2s, transform .15s;
  white-space: nowrap;
  text-decoration: none !important;
  box-shadow: 0 1px 0 0 rgba(255,255,255,0.2) inset, 0 6px 20px -8px rgba(30,95,168,0.6);
}
.btn-primary-lg::after { content: "->"; margin-left: 4px; }
.btn-primary-lg:hover { background: #174d8a; color: #fff; transform: translateY(-1px); }

/* Articulo -- CTA de blog/articulo en mint */
.btn-article {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--mint);
  color: var(--navy);
  font-family: 'Sora', sans-serif;
  font-size: 15px;
  font-weight: 700;
  padding: 15px 32px;
  border-radius: 10px;
  white-space: nowrap;
  transition: background .2s;
  text-decoration: none !important;
}
.btn-article::after { content: "->"; }
.btn-article:hover { background: #27a38c; }

/* Ghost / outline oscuro */
.btn-ghost {
  background: var(--white);
  color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--ink-10);
}
.btn-ghost:hover { box-shadow: inset 0 0 0 1px var(--ink-40); }

/* Outline azul (trabaja/contacto) */
.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1.5px solid var(--blue);
  color: var(--blue);
  font-family: 'Sora', sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 10px;
  white-space: nowrap;
  transition: background .2s, color .2s;
  background: transparent;
  text-decoration: none !important;
}
.btn-outline::after { content: "->"; }
.btn-outline:hover { background: var(--blue); color: #fff; }

/* Outline blanco (sobre fondo oscuro) */
.btn-outline-white {
  background: transparent;
  color: var(--white);
  box-shadow: inset 0 0 0 1.5px rgba(255,255,255,0.35);
}
.btn-outline-white:hover { box-shadow: inset 0 0 0 1.5px rgba(255,255,255,0.9); background: rgba(255,255,255,0.06); }

/* Mint */
.btn-mint {
  background: var(--mint);
  color: var(--navy);
  box-shadow: 0 6px 20px -8px rgba(45,184,158,0.6);
}
.btn-mint:hover { background: #27a38c; }

/* Sidebar articulo */
.btn-sidebar {
  display: block;
  text-align: center;
  background: var(--blue);
  color: #fff;
  font-family: 'Sora', sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 13px 20px;
  border-radius: 10px;
  margin-top: 16px;
  transition: background .2s;
  text-decoration: none !important;
}
.btn-sidebar:hover { background: #174d8a; }

/* -- PAGE HERO (comun a todas las paginas interiores) --------- */
.page-hero {
  padding: 88px 0 64px;
  background: var(--white);
  border-bottom: 1px solid var(--ink-06);
}
.page-hero .eyebrow { margin-bottom: 20px; display: inline-flex; }
.page-hero h1 { margin-bottom: 20px; }
.page-hero-headline {
  font-family: 'Sora', system-ui, sans-serif;
  font-size: 52px;
  line-height: 1.08;
  letter-spacing: -0.03em;
  font-weight: 600;
  color: var(--ink);
  margin: 0 0 20px;
  max-width: 640px;
}
.page-sub { font-size: 18px; color: var(--ink-60); max-width: 560px; line-height: 1.6; }

/* -- SECTION HEAD --------------------------------------------- */
.section-head { margin-bottom: 56px; }
.section-head .eyebrow { margin-bottom: 16px; }
.section-head .eyebrow .elementor-heading-title { display: inline-flex !important; align-items: center !important; }
.section-head h2 { max-width: 580px; }
.section-head > p,
.section-head .elementor-text-editor p { color: var(--ink-60) !important; font-size: 17px !important; line-height: 1.6 !important; max-width: 500px !important; margin-top: 16px !important; }
.section-head .elementor-text-editor { margin-top: 16px !important; }
.section-head-split {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 56px;
}
.section-head-split h2 { max-width: 640px; }
.section-head-split > p { color: var(--ink-60); max-width: 420px; font-size: 16px; }

/* -- REVEAL ANIMATION ----------------------------------------- */
.reveal { opacity: 0; transform: translateY(12px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in { opacity: 1; transform: none; }

/* -- WHY BADGE ------------------------------------------------ */
.why-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: 99px;
  background: var(--ink-06);
  border: 1px solid var(--ink-10);
  color: var(--blue);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 28px;
}

/* ============================================================
   HOME
   ============================================================ */

/* Hero home */
.hero-inner {
  padding: 0 40px 80px;
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 72px;
  align-items: center;
  min-height: 620px;
}
.hero-headline {
  font-family: 'Sora', system-ui, sans-serif;
  font-size: 68px;
  line-height: 1.04;
  letter-spacing: -0.035em;
  font-weight: 600;
  color: var(--ink);
  margin: 0 0 24px;
}
.hero-headline .accent { color: var(--blue); }
.hero-sub { font-size: 19px; color: var(--ink-60); max-width: 520px; line-height: 1.55; margin-bottom: 40px; }
.hero-sub strong { color: var(--ink); font-weight: 600; }
.hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.hero-stats { display: flex; gap: 40px; padding-top: 32px; border-top: 1px solid var(--ink-10); }
.hero-stat .n { font-family: 'Sora', sans-serif; font-size: 32px; font-weight: 600; letter-spacing: -0.03em; color: var(--ink); line-height: 1; }
.hero-stat .l { font-size: 12px; color: var(--ink-60); margin-top: 8px; font-family: 'JetBrains Mono', monospace; text-transform: uppercase; letter-spacing: 0.06em; }
/* Elementor -- hero stats */
.hero-stats .elementor-heading-title {
  font-family: 'Sora', sans-serif !important;
  font-size: 32px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  color: var(--ink) !important;
  line-height: 1 !important;
}
.hero-stats .elementor-text-editor,
.hero-stats .elementor-text-editor p {
  font-size: 12px !important;
  color: var(--ink-60) !important;
  font-family: 'JetBrains Mono', monospace !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin: 8px 0 0 !important;
}

.hero-photo { border-radius: 20px; overflow: hidden; background: var(--grey); box-shadow: 0 24px 60px -20px rgba(11,42,74,0.12); height: 520px; }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-photo-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--ink-40); letter-spacing: 0.06em; text-transform: uppercase; background: linear-gradient(135deg,#E8EFF7 0%,#D0DDF0 100%); }

/* Trust bar */
.trust-inner { display: grid; grid-template-columns: repeat(5,1fr); padding: 28px 0; gap: 20px; }
.trust-item { display: flex; align-items: center; gap: 14px; padding: 0 20px; border-right: 1px solid var(--ink-06); }
.trust-item:last-child { border-right: none; }
.trust-ico { width: 40px; height: 40px; border-radius: 10px; background: var(--white); display: grid; place-items: center; color: var(--navy); flex-shrink: 0; }
.trust-text .t { font-weight: 600; color: var(--ink); font-size: 13px; letter-spacing: -0.005em; }
.trust-text .s { color: var(--ink-60); font-size: 12px; margin-top: 1px; }

/* ISO home (2 columnas) */
.iso-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.iso-card { position: relative; border-radius: 20px; padding: 40px; display: flex; flex-direction: column; justify-content: space-between; min-height: 340px; overflow: hidden; }
.iso-card.a { background: linear-gradient(155deg,#F4F7FB 0%,#E8EFF7 100%); }
.iso-card.b { background: linear-gradient(155deg,#EDF7F4 0%,#DFF0EA 100%); }
.iso-seal { width: 68px; flex-shrink: 0; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 10px rgba(11,42,74,0.10); background: #fff; align-self: flex-start; }
.iso-seal img { width: 100%; height: auto; object-fit: contain; display: block; }
.iso-number { font-family: 'Sora', sans-serif; font-size: 48px; font-weight: 600; color: var(--navy); letter-spacing: -0.03em; line-height: 1; margin-bottom: 6px; }
.iso-card.b .iso-number { color: var(--mint); }
.iso-label { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--ink-60); letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 24px; }
.iso-desc { font-size: 15px; color: var(--ink); line-height: 1.55; max-width: 340px; }
.iso-meta { display: flex; align-items: center; gap: 12px; margin-top: 28px; font-size: 12px; color: var(--ink-60); font-family: 'JetBrains Mono', monospace; letter-spacing: 0.04em; text-transform: uppercase; }
.iso-meta::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--mint); }

/* Servicios grid home */
.services-grid.e-grid { grid-template-columns: repeat(5,1fr) !important; gap: 16px !important; }
.service-card.e-con { position: relative !important; background: var(--grey) !important; border: 1px solid var(--ink-10) !important; border-radius: 16px !important; padding: 28px 24px !important; min-height: 220px !important; display: flex !important; flex-direction: column !important; justify-content: space-between !important; transition: border-color .2s, transform .2s, box-shadow .25s !important; overflow: hidden !important; }
.service-card.e-con::before { content: ''; position: absolute; inset: 0; background: linear-gradient(160deg,rgba(30,95,168,0.04) 0%,transparent 50%); opacity: 0; transition: opacity .3s; pointer-events: none; }
.service-card.e-con::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: var(--mint); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; border-radius: 0 0 16px 16px; }
.service-card.e-con:hover { border-color: transparent !important; transform: translateY(-4px) !important; box-shadow: 0 18px 40px -20px rgba(11,42,74,0.25) !important; }
.service-card.e-con:hover::before { opacity: 1; }
.service-card.e-con:hover::after { transform: scaleX(1); }
.service-card .num { font-family: 'JetBrains Mono', monospace !important; font-size: 11px !important; color: var(--ink-40) !important; letter-spacing: 0.06em !important; }
.service-ico { width: 44px; height: 44px; border-radius: 10px; background: var(--grey); color: var(--blue); display: grid; place-items: center; margin-bottom: 24px; transition: background .25s, color .25s; }
.service-card.e-con:hover .service-ico { background: var(--navy); color: var(--mint); }
.service-card h3, .service-card .elementor-heading-title { font-size: 17px !important; margin-bottom: 4px !important; font-weight: 600 !important; }
.service-card .tag { font-size: 12px !important; color: var(--ink-60) !important; font-family: 'JetBrains Mono', monospace !important; letter-spacing: 0.03em !important; background: none !important; border: none !important; padding: 0 !important; border-radius: 0 !important; text-transform: none !important; margin-top: -16px !important; }
.service-card.e-con .elementor-element { position: static !important; }
.service-arrow { position: absolute; bottom: 24px; right: 24px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; color: var(--ink-40); transition: all .25s; }
.service-card.e-con:hover .service-arrow { background: var(--blue); color: #fff; transform: rotate(-45deg); }

/* Por que Marclean */
.why-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.why-lead { font-size: 18px; color: var(--ink-60); line-height: 1.6; margin-top: 28px; max-width: 520px; }
.why-lead .hl { color: var(--ink); font-weight: 600; }
.why-lead strong { color: var(--ink); font-weight: 600; }
.why-pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--ink-10); border-radius: 16px; overflow: hidden; border: 1px solid var(--ink-10); }
.pillar { background: var(--white); padding: 32px 28px; transition: background .25s; }
.pillar:hover { background: #FAFCFF; }
.pillar-ico { width: 44px; height: 44px; border-radius: 10px; background: var(--grey); color: var(--blue); display: grid; place-items: center; margin-bottom: 20px; border: 1px solid var(--ink-10); }
.pillar h4 { font-family: 'Sora', sans-serif; font-size: 16px; font-weight: 600; color: var(--ink); margin-bottom: 8px; letter-spacing: -0.01em; }
.pillar p { font-size: 13px; color: var(--ink-60); line-height: 1.5; margin: 0; }

/* Proceso home */
.steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--ink-10); border-radius: 20px; overflow: hidden; border: 1px solid var(--ink-10); }
.step { background: var(--white); padding: 36px 28px 32px; transition: background .2s; }
.step:hover { background: #FAFCFF; }
.step-num { font-family: 'Sora', sans-serif; font-weight: 600; font-size: 14px; color: var(--blue); letter-spacing: 0.04em; margin-bottom: 64px; display: flex; align-items: center; gap: 10px; }
.step-num::after { content: ''; flex: 1; height: 1px; background: var(--ink-10); }
.step-ico { width: 48px; height: 48px; border-radius: 12px; background: var(--grey); color: var(--navy); display: grid; place-items: center; margin-bottom: 20px; }
.step h4 { font-family: 'Sora', sans-serif; font-size: 18px; font-weight: 600; letter-spacing: -0.015em; margin-bottom: 8px; }
.step p { font-size: 13px; color: var(--ink-60); line-height: 1.5; margin: 0; }

/* Zonas */
.zonas-inner { display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; align-items: center; }
.zonas-text h2 { margin-bottom: 24px; }
.zonas-text > p { color: var(--ink-60); font-size: 17px; line-height: 1.6; margin-bottom: 32px; max-width: 480px; }
.zona-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.chip { padding: 7px 13px; border-radius: 8px; background: var(--white); border: 1px solid var(--ink-10); font-size: 13px; color: var(--ink-60); font-weight: 500; cursor: default; transition: background .15s, color .15s, border-color .15s; }
.chip.active { color: var(--ink); border-color: rgba(30,95,168,0.28); }
.chip.active::before { content: ''; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--blue); margin-right: 7px; vertical-align: middle; opacity: 0.65; }
.chip.hq { background: var(--navy); color: #fff; border-color: var(--navy); }
.chip.hq::before { background: var(--mint); opacity: 1; }
.map-wrap { border-radius: 20px; overflow: hidden; border: 1px solid var(--ink-10); height: 460px; }
#zonaMap { width: 100%; height: 100%; }
.mpin { width: 10px; height: 10px; border-radius: 50%; background: #1E5FA8; border: 2px solid #fff; box-shadow: 0 1px 5px rgba(11,42,74,0.45); cursor: pointer; }
.mpin.hq { width: 14px; height: 14px; background: #2DB89E; border: 2.5px solid #fff; box-shadow: 0 0 0 4px rgba(45,184,158,0.22), 0 2px 8px rgba(45,184,158,0.45); }
.leaflet-tooltip.mp-tt { background: #0B2A4A; border: none; border-radius: 99px; color: #fff; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11px; font-weight: 600; padding: 5px 11px; box-shadow: 0 4px 14px rgba(11,42,74,0.28); white-space: nowrap; }
.leaflet-tooltip.mp-tt::before { border-top-color: #0B2A4A; }
.leaflet-tooltip.mp-tt-hq { background: #2DB89E; }
.leaflet-tooltip.mp-tt-hq::before { border-top-color: #2DB89E; }
.leaflet-control-attribution { display: none !important; }

/* Loop Item -- fix e-con-boxed wrapper insertado por Elementor */
a.e-con-boxed > .e-con-inner {
  padding: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}
/* Loop Grid -- alturas iguales */
.e-loop-item { align-self: stretch !important; }
.e-loop-item > a.e-con { height: 100% !important; }
.blog-card.e-con { height: 100% !important; }
/* Ocultar Post Content widget en loop cards -- solo debe aparecer en single post */
.e-loop-item .elementor-widget-theme-post-content { display: none !important; }
.e-loop-item [data-widget_type="theme-post-content.default"] { display: none !important; }

/* Blog preview home -- solo aplica al grid estatico, no al loop grid de Elementor */
.blog-grid:not(.elementor-widget-loop-grid) { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-bottom: 40px; }
.blog-card { background: var(--white); border: 1px solid var(--ink-10); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; text-decoration: none !important; color: inherit; }
.blog-card:hover { box-shadow: 0 8px 32px rgba(11,42,74,0.1); transform: translateY(-2px); }
.blog-card-img { height: 180px; background: var(--ink-06); display: flex; align-items: center; justify-content: center; font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--ink-40); letter-spacing: 0.08em; text-transform: uppercase; overflow: hidden; }
.blog-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-card-body { padding: 24px 24px 28px; flex: 1; display: flex; flex-direction: column; }
.blog-card.e-con { height: 100% !important; }
.blog-card .blog-card-body.e-con { flex: 1 !important; justify-content: space-between !important; }
.blog-card .blog-read { margin-top: auto !important; }
.blog-card-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.blog-tag { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--blue); background: rgba(30,95,168,0.08); border-radius: 99px; padding: 3px 10px; border: 1px solid rgba(30,95,168,0.15); }
.blog-tag.t-guia { color: #7c3aed; background: rgba(124,58,237,0.08); border-color: rgba(124,58,237,0.15); }
.blog-tag.t-marclean { color: var(--mint); background: rgba(45,184,158,0.1); border-color: rgba(45,184,158,0.2); }
.blog-tag.t-higiene { color: #b45309; background: rgba(180,83,9,0.08); border-color: rgba(180,83,9,0.15); }
/* Colores chip por categoria WordPress (clase en .e-loop-item) */
.category-higiene .blog-tag { color: #b45309 !important; background: rgba(180,83,9,0.08) !important; border-color: rgba(180,83,9,0.15) !important; }
.category-guia .blog-tag { color: #7c3aed !important; background: rgba(124,58,237,0.08) !important; border-color: rgba(124,58,237,0.15) !important; }
.category-marclean .blog-tag { color: var(--mint) !important; background: rgba(45,184,158,0.1) !important; border-color: rgba(45,184,158,0.2) !important; }
.category-consejos .blog-tag { color: #0891b2 !important; background: rgba(8,145,178,0.08) !important; border-color: rgba(8,145,178,0.15) !important; }
.blog-date { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--ink-40); letter-spacing: 0.04em; }
.blog-card h3 { font-family: 'Sora', sans-serif; font-size: 17px; font-weight: 600; line-height: 1.35; letter-spacing: -0.015em; color: var(--ink); margin-bottom: 10px; flex: 1; }
.blog-card p { font-size: 14px; color: var(--ink-60); line-height: 1.6; margin-bottom: 20px; }
.blog-read p { font-family: 'JetBrains Mono', monospace !important; font-size: 11px !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; color: var(--blue) !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; margin: 0 !important; }
.blog-read p::after { content: "->"; }
.blog-card .elementor-text-editor p { font-size: 14px !important; color: var(--ink-60) !important; line-height: 1.6 !important; margin-bottom: 20px !important; }
.blog-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.blog-footer-text { font-size: 15px; color: var(--ink-60); }
.btn-blog { display: inline-flex; align-items: center; gap: 8px; border: 1.5px solid var(--blue); color: var(--blue); font-family: 'Sora', sans-serif; font-size: 14px; font-weight: 600; padding: 12px 24px; border-radius: 10px; white-space: nowrap; transition: background .2s, color .2s; text-decoration: none !important; }
.btn-blog::after { content: "->"; }
.btn-blog:hover { background: var(--blue); color: #fff; }

/* -- FOOTER --------------------------------------------------- */
.site-footer { background: var(--navy); color: var(--white); }
.site-footer .footer-main.e-con { padding-top: 64px !important; padding-bottom: 64px !important; background: transparent !important; }
.site-footer .footer-bottom.e-con { padding-top: 20px !important; padding-bottom: 20px !important; border-top: none !important; }
.site-footer .footer-bottom .elementor-text-editor,
.site-footer .footer-bottom .elementor-text-editor p { font-size: 13px !important; color: rgba(255,255,255,0.45) !important; }

/* CTA final (home + servicios) */
.cta-final { position: relative; overflow: hidden; }
.cta-final::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 800px 500px at 20% 0%, rgba(30,95,168,0.25) 0%, transparent 60%); pointer-events: none; }
.cta-inner { position: relative; display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; align-items: center; }
.cta-final h2 { color: var(--white); }
.cta-final .sub, .cta-sub { font-size: 18px; color: rgba(255,255,255,0.75); margin-top: 20px; max-width: 420px; line-height: 1.55; }
.cta-badge { display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px; border-radius: 99px; background: rgba(45,184,158,0.12); border: 1px solid rgba(45,184,158,0.25); color: var(--mint); font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 28px; }
.cta-contact-list { margin-top: 40px; display: flex; flex-direction: column; gap: 14px; }
.cc-item { display: flex; align-items: center; gap: 14px; font-size: 14px; color: rgba(255,255,255,0.85); }
.cc-item .t .elementor-heading-title { font-size: 15px !important; font-weight: 500 !important; color: rgba(255,255,255,0.85) !important; font-family: 'Plus Jakarta Sans', sans-serif !important; letter-spacing: 0 !important; }
.cc-item .s .elementor-heading-title { font-size: 12px !important; color: rgba(255,255,255,0.55) !important; font-family: 'JetBrains Mono', monospace !important; letter-spacing: 0.04em !important; text-transform: uppercase !important; }
.cc-item .ico { width: 36px; height: 36px; border-radius: 8px; background: rgba(255,255,255,0.06); display: grid; place-items: center; color: var(--mint); flex-shrink: 0; }
.cc-item .t { font-weight: 500; }
.cc-item .s { color: rgba(255,255,255,0.55); font-size: 12px; margin-top: 2px; font-family: 'JetBrains Mono', monospace; letter-spacing: 0.04em; text-transform: uppercase; }
.form-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 20px; padding: 36px; backdrop-filter: blur(10px); }

/* ============================================================
   P?GINAS DE SERVICIO (oficinas, comunidades, industria?)
   ============================================================ */

/* Hero servicio */
.hero-service-inner { padding: 88px 40px 96px; max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr 1fr; gap: 72px; align-items: center; }
.hero-service-headline { font-family: 'Sora', system-ui, sans-serif; font-size: 62px; line-height: 1.05; letter-spacing: -0.035em; font-weight: 600; color: var(--ink); margin: 0 0 24px; }
.hero-service-headline .accent { color: var(--blue); }
.hero-service-sub { font-size: 18px; color: var(--ink-60); max-width: 500px; line-height: 1.6; margin-bottom: 40px; }
.hero-service-sub strong { color: var(--ink); font-weight: 600; }
.hero-service-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 52px; }
.hero-service-stats { display: flex; border-top: 1px solid var(--ink-10); }
.hero-service-stat { flex: 1; padding: 28px 0; }
.hero-service-stat:not(:last-child) { padding-right: 28px; border-right: 1px solid var(--ink-10); margin-right: 28px; }
.hero-service-stat .n { font-family: 'Sora', sans-serif; font-size: 28px; font-weight: 600; letter-spacing: -0.03em; color: var(--ink); line-height: 1; }
.hero-service-stat .l { font-size: 11px; color: var(--ink-60); margin-top: 7px; font-family: 'JetBrains Mono', monospace; text-transform: uppercase; letter-spacing: 0.06em; }
.hero-service-photo { height: 500px; border-radius: 20px; overflow: hidden; background: var(--grey); box-shadow: 0 24px 60px -20px rgba(11,42,74,0.12); }
.hero-service-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* El problema / reto */
.reto-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.reto-card { background: var(--white); border-radius: 16px; padding: 36px 32px; border: 1px solid var(--ink-10); transition: box-shadow .2s; }
.reto-card:hover { box-shadow: 0 12px 36px -16px rgba(11,42,74,0.14); }
.reto-ico { width: 48px; height: 48px; border-radius: 12px; background: rgba(30,95,168,0.07); color: var(--blue); display: grid; place-items: center; margin-bottom: 20px; }
.reto-card h3 { font-size: 18px; margin-bottom: 10px; }
.reto-card p { font-size: 14px; color: var(--ink-60); line-height: 1.65; }
.reto-stat { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; padding: 5px 12px; border-radius: 99px; background: rgba(30,95,168,0.06); border: 1px solid rgba(30,95,168,0.14); font-family: 'JetBrains Mono', monospace; font-size: 10.5px; color: var(--blue); letter-spacing: 0.05em; text-transform: uppercase; }

/* Metodologia */
.metodo-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.metodo-lead { font-size: 17px; color: var(--ink-60); line-height: 1.65; margin-top: 20px; margin-bottom: 36px; }
.metodo-lead strong { color: var(--ink); font-weight: 600; }
.metodo-steps { border: 1px solid var(--ink-10); border-radius: 16px; overflow: hidden; }
.metodo-step { padding: 28px; border-bottom: 1px solid var(--ink-10); display: grid; grid-template-columns: 36px 1fr; gap: 16px; align-items: start; background: var(--white); transition: background .2s; }
.metodo-step:last-child { border-bottom: none; }
.metodo-step:hover { background: #FAFCFF; }
.step-n { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 500; color: var(--blue); letter-spacing: 0.06em; padding-top: 3px; }
.metodo-step h4 { font-family: 'Sora', sans-serif; font-size: 15px; font-weight: 600; margin-bottom: 6px; color: var(--ink); letter-spacing: -0.01em; }
.metodo-step p { font-size: 13px; color: var(--ink-60); line-height: 1.55; margin: 0; }

/* Que incluye */
.incluye-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--ink-10); border-radius: 20px; overflow: hidden; border: 1px solid var(--ink-10); }
.incluye-item { background: var(--white); padding: 32px 28px; display: flex; align-items: flex-start; gap: 16px; transition: background .2s; }
.incluye-item:hover { background: #FAFCFF; }
.incluye-ico { width: 40px; height: 40px; border-radius: 10px; background: var(--grey); color: var(--blue); display: grid; place-items: center; flex-shrink: 0; border: 1px solid var(--ink-10); }
.incluye-item h4 { font-family: 'Sora', sans-serif; font-size: 15px; font-weight: 600; margin-bottom: 4px; letter-spacing: -0.01em; }
.incluye-item p { font-size: 13px; color: var(--ink-60); line-height: 1.5; margin: 0; }

/* Wrapper para grids con sector labels (Salud y Bienestar) */
.incluye-wrapper { border: 1px solid var(--ink-10); border-radius: 20px; overflow: hidden; background: var(--ink-10); display: flex; flex-direction: column; gap: 1px; }
.incluye-wrapper .incluye-grid { border-radius: 0 !important; border: none !important; }
.incluye-sector { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 500; color: var(--ink-40); letter-spacing: 0.08em; text-transform: uppercase; padding: 20px 28px; background: var(--white); }
.incluye-sector.elementor-widget { margin: 0 !important; }
.incluye-sector .elementor-widget-container { padding: 0 !important; margin: 0 !important; line-height: 1; }
.incluye-sector .elementor-widget-container div { margin: 0; padding: 0; line-height: 1; }

/* ============================================================
   EMPRESA -- CERTIFICACIONES ISO (pagina detalle)
   ============================================================ */

.iso-card-detail { padding: 72px 40px; display: grid; grid-template-columns: 320px 1fr auto; gap: 72px; align-items: start; }
.iso-card-detail.a { background: linear-gradient(108deg,#F4F7FB 0%,#EBF1FA 100%); }
.iso-card-detail.b { background: linear-gradient(108deg,#EDF7F4 0%,#E0F2EC 100%); }
.iso-num { font-family: 'Sora', sans-serif; font-size: 80px; font-weight: 700; letter-spacing: -0.05em; line-height: 1; margin-bottom: 4px; }
.iso-card-detail.a .iso-num { color: var(--navy); }
.iso-card-detail.b .iso-num { color: var(--mint); }
.iso-tag { font-family: 'JetBrains Mono', monospace; font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 24px; }
.iso-card-detail.a .iso-tag { color: var(--blue); }
.iso-card-detail.b .iso-tag { color: var(--mint); }
.iso-status { display: inline-flex; align-items: center; gap: 8px; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--ink-60); }
.iso-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--mint); }
.iso-points { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 32px; }
.iso-point { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; color: var(--ink-60); line-height: 1.55; }
.iso-point::before { content: ""; width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; margin-top: 5px; }
.iso-card-detail.a .iso-point::before { background: var(--blue); }
.iso-card-detail.b .iso-point::before { background: var(--mint); }
.iso-seal-wrap { display: flex; flex-direction: column; align-items: center; gap: 16px; padding-top: 8px; }
.iso-seal-wrap img { width: 88px; border-radius: 10px; box-shadow: 0 8px 24px rgba(11,42,74,0.12); }

/* Beneficios ISO */
.ben-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.ben-card { background: var(--grey); border-radius: 16px; padding: 32px 28px; border: 1px solid var(--ink-06); }
.ben-card.q { border-top: 2px solid var(--blue); }
.ben-card.m { border-top: 2px solid var(--mint); }
.ben-ico { width: 44px; height: 44px; border-radius: 10px; display: grid; place-items: center; margin-bottom: 18px; }
.ben-card.q .ben-ico { background: rgba(30,95,168,0.08); color: var(--blue); }
.ben-card.m .ben-ico { background: rgba(45,184,158,0.10); color: var(--mint); }
.ben-card h3 { font-size: 16px; margin-bottom: 8px; }
.ben-card p { font-size: 13px; color: var(--ink-60); line-height: 1.65; margin: 0; }

/* ============================================================
   EMPRESA -- CULTURA
   ============================================================ */

.mvp-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.mvp-card { background: var(--white); border-radius: 16px; padding: 36px 32px; border: 1px solid var(--ink-10); }
.mvp-label { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--blue); margin-bottom: 16px; }
.mvp-card blockquote { font-family: 'Sora', sans-serif; font-size: 17px; font-weight: 600; line-height: 1.45; letter-spacing: -0.015em; color: var(--navy); margin: 0; border-left: 3px solid var(--mint); padding-left: 16px; }
.valores-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: var(--ink-10); border-radius: 20px; overflow: hidden; border: 1px solid var(--ink-10); }
.valor { background: var(--white); padding: 28px 32px; display: flex; align-items: flex-start; gap: 16px; transition: background .2s; }
.valor:hover { background: #FAFCFF; }
.valor-n { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--ink-40); letter-spacing: 0.06em; flex-shrink: 0; padding-top: 2px; width: 28px; }
.valor p { font-size: 15px; color: var(--ink); line-height: 1.5; margin: 0; }

/* ============================================================
   EMPRESA -- POL?TICA DE EMPRESA
   ============================================================ */

.etica-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.etica-quote { font-size: 22px; font-family: 'Sora', sans-serif; font-weight: 600; line-height: 1.4; letter-spacing: -0.02em; color: var(--navy); border-left: 3px solid var(--mint); padding-left: 24px; margin: 0; }
.etica-text { font-size: 16px; color: var(--ink-60); line-height: 1.7; }
.etica-text p + p { margin-top: 16px; }
.canal-cta-inner { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; max-width: 560px; margin: 0 auto; width: 100%; }
.canal-cta-inner h2 { font-size: 32px; letter-spacing: -0.025em; }
.canal-cta-inner > p { font-size: 16px; color: var(--ink-60); line-height: 1.6; margin: 0; }
.garantias { display: flex; gap: 24px; flex-wrap: wrap; justify-content: center; margin-top: 8px; }
.garantia { display: flex; align-items: center; gap: 8px; font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--ink-60); letter-spacing: 0.05em; text-transform: uppercase; }
.garantia::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--mint); flex-shrink: 0; }
.proceso-inner { width: 100%; }
.proceso-steps { border: 1px solid var(--ink-10); border-radius: 16px; overflow: hidden; width: 100%; }
.proceso-inner .proceso-step { position: static; }
.proceso-inner .proceso-step:not(:last-child)::after { display: none; }
.proceso-step { padding: 28px 32px; border-bottom: 1px solid var(--ink-10); display: grid; grid-template-columns: 44px 1fr; gap: 20px; align-items: start; background: var(--white); transition: background .2s; }
.proceso-step:last-child { border-bottom: none; }
.proceso-step:hover { background: #FAFCFF; }
.proceso-step h3 { font-family: 'Sora', sans-serif; font-size: 16px; font-weight: 600; margin: 0 0 6px; letter-spacing: -0.01em; }
.proceso-step p { font-size: 13px; color: var(--ink-60); line-height: 1.6; margin: 0; }

/* ============================================================
   EMPRESA -- POL?TICA DE IGUALDAD
   ============================================================ */

.def-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.def-quote { font-size: 20px; font-family: 'Sora', sans-serif; font-weight: 600; line-height: 1.45; letter-spacing: -0.02em; color: var(--navy); border-left: 3px solid var(--mint); padding-left: 24px; margin: 0; }
.def-source { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--ink-40); letter-spacing: 0.05em; text-transform: uppercase; margin-top: 14px; }
.def-text { font-size: 16px; color: var(--ink-60); line-height: 1.7; }
.def-text p + p { margin-top: 16px; }
.medidas-grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: var(--ink-10); border-radius: 20px; overflow: hidden; border: 1px solid var(--ink-10); }
.medidas-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--ink-10); border-radius: 20px; overflow: hidden; border: 1px solid var(--ink-10); }
.medida { background: var(--white); padding: 28px 32px; display: flex; align-items: flex-start; gap: 14px; transition: background .2s; }
.medida:hover { background: #FAFCFF; }
.medida-n { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--blue); letter-spacing: 0.06em; flex-shrink: 0; padding-top: 2px; width: 28px; }
.medida p { font-size: 15px; color: var(--ink); line-height: 1.5; margin: 0; }

/* ============================================================
   EMPRESA -- FORMACION Y CONCILIACION
   ============================================================ */

.intro-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.intro-quote { font-size: 20px; font-family: 'Sora', sans-serif; font-weight: 600; line-height: 1.45; letter-spacing: -0.02em; color: var(--navy); border-left: 3px solid var(--mint); padding-left: 24px; margin: 0; }
.intro-text { font-size: 16px; color: var(--ink-60); line-height: 1.7; }
.intro-text p + p { margin-top: 16px; }
.programa-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.programa-bloque { border: 1px solid var(--ink-10); border-radius: 16px; overflow: hidden; }
.programa-header { padding: 24px 28px; background: var(--grey); border-bottom: 1px solid var(--ink-10); }
.programa-header h3 { font-family: 'Sora', sans-serif; font-size: 15px; font-weight: 600; margin: 0 0 4px; letter-spacing: -0.01em; }
.programa-header p { font-size: 12px; color: var(--ink-60); font-family: 'JetBrains Mono', monospace; letter-spacing: 0.04em; text-transform: uppercase; margin: 0; }
.programa-items { list-style: none; margin: 0; padding: 0; }
.programa-items li { padding: 14px 28px; border-bottom: 1px solid var(--ink-06); font-size: 14px; color: var(--ink-60); display: flex; align-items: center; gap: 12px; }
.programa-items li:last-child { border-bottom: none; }
.programa-items li::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--blue); flex-shrink: 0; }
.manual-inner { display: grid; grid-template-columns: 1fr 2fr; gap: 80px; align-items: start; }
.manual-text h2 { margin-bottom: 16px; }
.manual-text p { font-size: 16px; color: var(--ink-60); line-height: 1.7; margin: 0; }
.manual-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1px; background: var(--ink-10); border-radius: 16px; overflow: hidden; border: 1px solid var(--ink-10); }
.manual-item { background: var(--white); padding: 20px 24px; }
.manual-item::before { display: none; }
.manual-item .elementor-text-editor { display: flex !important; align-items: center !important; gap: 10px !important; font-size: 14px; color: var(--ink-60); }
.manual-item .elementor-text-editor::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--mint); flex-shrink: 0; }

/* ============================================================
   EMPRESA -- BENEFICIOS ISO (grupo con etiqueta)
   ============================================================ */

.ben-bloque { margin-bottom: 48px; }
.ben-bloque:last-child { margin-bottom: 0; }
.ben-bloque-label { font-family: 'JetBrains Mono', monospace; font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.ben-bloque-label.q { color: var(--blue); }
.ben-bloque-label.m { color: var(--mint); }
.ben-bloque-label::before { content: ""; width: 20px; height: 1px; background: currentColor; }

/* ============================================================
   FORMULARIOS (contacto, trabaja, servicios)
   ============================================================ */

.form-card-light { background: var(--white); border: 1px solid var(--ink-10); border-radius: 20px; padding: 40px 44px; box-shadow: 0 4px 24px rgba(11,42,74,0.06); }
.form-card-label { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--blue); margin-bottom: 28px; display: flex; align-items: center; gap: 8px; }
.form-card-label::before { content: ""; width: 20px; height: 1px; background: currentColor; }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 7px; }
.form-group label span { color: var(--blue); }
.form-group input, .form-group textarea, .form-group select { width: 100%; border: 1px solid var(--ink-10); border-radius: 10px; padding: 12px 16px; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; color: var(--ink); background: var(--grey); outline: none; transition: border-color .2s, background .2s; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color: var(--blue); background: var(--white); }
.form-group textarea { resize: vertical; height: 110px; min-height: 110px; max-height: 240px; }
.form-group br { display: none; }
.form-group select,
.form-group .wpcf7-select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 7L11 1' stroke='%230B2A4A' stroke-opacity='0.4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; cursor: pointer; }
.form-group .wpcf7-acceptance { display: block; }
.form-group .wpcf7-acceptance label { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; color: var(--ink-60); cursor: pointer; line-height: 1.5; font-weight: 400; margin-bottom: 0; }
.form-group .wpcf7-acceptance input[type="checkbox"] { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; accent-color: var(--blue); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-row-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
.form-submit { margin-top: 8px; }
.form-legal { font-size: 12px; color: var(--ink-40); margin-top: 16px; line-height: 1.6; }

/* CF7 -- submit button en formularios claros (contacto, trabaja) */
.form-card-light .wpcf7-submit,
.form-card-light input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 32px;
  background: var(--blue);
  color: #fff;
  border: none !important;
  outline: none !important;
  box-shadow: 0 6px 20px -8px rgba(30,95,168,0.5) !important;
  border-radius: 10px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: background .2s, transform .15s;
  width: 100%;
}
.form-card-light .wpcf7-submit:hover,
.form-card-light input[type="submit"]:hover { background: #174d8a; transform: translateY(-1px); }
.form-card-light .wpcf7-submit:disabled,
.form-card-light input[type="submit"]:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
/* Anular cualquier borde/sombra rojo de validacion CF7 en campos */
.form-card-light .wpcf7-not-valid { border-color: #e57373 !important; box-shadow: none !important; }
.form-card-light .wpcf7-response-output { margin: 16px 0 0; padding: 12px 16px; border-radius: 8px; font-size: 13px; border: none !important; }
.form-card-light .wpcf7-mail-sent-ok { background: rgba(45,184,158,0.1); border: 1px solid rgba(45,184,158,0.3) !important; color: #1a8a74; }
.form-card-light .wpcf7-validation-errors,
.form-card-light .wpcf7-spam-blocked,
.form-card-light .wpcf7-mail-sent-ng { background: rgba(255,107,107,0.08); border: 1px solid rgba(255,107,107,0.25) !important; color: #c0392b; }
.form-placeholder-note { font-size: 11px; font-family: 'JetBrains Mono', monospace; color: var(--ink-40); background: #fffbe6; border: 1px solid #f0e080; border-radius: 6px; padding: 8px 12px; margin-bottom: 24px; }

/* CF7 -- Formulario home/servicios (fondo navy) */
.mc-wrap { display: flex; flex-direction: column; gap: 14px; }
.mc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mc-col, .mc-field { display: flex; flex-direction: column; gap: 6px; }
.mc-lbl { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: rgba(255,255,255,0.55); letter-spacing: 0.08em; text-transform: uppercase; }
.mc-wrap .wpcf7-form-control:not([type="submit"]) { width: 100%; box-sizing: border-box; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.15); border-radius: 10px; padding: 14px 16px; color: #fff; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; transition: border .15s, background .15s; }
.mc-wrap textarea { resize: vertical; min-height: 100px; max-height: 300px; }
.mc-wrap .wpcf7-form-control:not([type="submit"]):focus { outline: none; border-color: var(--mint); background: rgba(255,255,255,0.06); }
.mc-wrap .wpcf7-form-control::placeholder { color: rgba(255,255,255,0.35); }
.mc-wrap .wpcf7-not-valid { border-color: #ff6b6b !important; }
.mc-wrap .wpcf7-not-valid-tip { font-size: 11px; color: #ff9a9a; font-family: 'JetBrains Mono', monospace; }
.mc-submit { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 6px; }
.mc-consent { font-size: 12px; color: rgba(255,255,255,0.5); line-height: 1.5; max-width: 280px; margin: 0; }
.mc-consent a { color: var(--mint); }
.mc-wrap [type="submit"] { display: inline-flex; align-items: center; height: 52px; padding: 0 24px; background: var(--mint); color: var(--navy); border: none; border-radius: 8px; font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 600; font-size: 15px; cursor: pointer; white-space: nowrap; box-shadow: 0 6px 20px -8px rgba(45,184,158,0.6); transition: background .2s, transform .15s; }
.mc-wrap [type="submit"]:hover { background: #27a38c; transform: translateY(-1px); }
.mc-wrap .wpcf7-response-output { margin: 12px 0 0; padding: 12px 16px; border-radius: 8px; font-size: 13px; font-family: 'Plus Jakarta Sans', sans-serif; border: none !important; }
.mc-wrap .wpcf7-mail-sent-ok { background: rgba(45,184,158,0.15); border: 1px solid rgba(45,184,158,0.3) !important; color: var(--mint); }
.mc-wrap .wpcf7-validation-errors, .mc-wrap .wpcf7-spam-blocked, .mc-wrap .wpcf7-mail-sent-ng { background: rgba(255,107,107,0.1); border: 1px solid rgba(255,107,107,0.25) !important; color: #ff9a9a; }

/* Formulario dark (sobre fondo navy) */
.form-field { display: flex; flex-direction: column; gap: 6px; }
.form-field label { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: rgba(255,255,255,0.55); letter-spacing: 0.08em; text-transform: uppercase; }
.form-field input, .form-field textarea { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.15); border-radius: 10px; padding: 14px 16px; color: var(--white); font-family: inherit; font-size: 15px; transition: border .15s, background .15s; resize: none; outline: none; }
.form-field input:focus, .form-field textarea:focus { border-color: var(--mint); background: rgba(255,255,255,0.06); }
.form-field input::placeholder, .form-field textarea::placeholder { color: rgba(255,255,255,0.35); }
.form-field.full { grid-column: 1/-1; }
.form-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 20px; gap: 16px; }
.form-consent { font-size: 12px; color: rgba(255,255,255,0.55); line-height: 1.5; max-width: 280px; }
.form-consent a { color: var(--mint); }

/* ============================================================
   CONTACTO
   ============================================================ */

.contact-layout { display: grid; grid-template-columns: 280px 1fr; gap: 64px; align-items: start; }
.contact-info { display: flex; flex-direction: column; gap: 32px; }
.info-label { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-40); margin-bottom: 8px; }
.info-value { font-size: 16px; font-weight: 700; color: var(--ink); }
.info-sub { font-size: 13px; color: var(--ink-60); margin-top: 3px; }
.zonas-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.zona-tag { font-size: 12px; color: var(--ink-60); background: var(--grey); border: 1px solid var(--ink-10); border-radius: 99px; padding: 3px 10px; }
.trabaja-banner { background: var(--grey); border-top: 1px solid var(--ink-06); }
.trabaja-banner-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 36px 0; }
.trabaja-banner-text strong { display: block; font-size: 16px; font-weight: 700; color: var(--ink); margin-bottom: 4px; }
.trabaja-banner-text p { font-size: 14px; color: var(--ink-60); margin: 0; }

/* ============================================================
   TRABAJA CON NOSOTROS
   ============================================================ */

.requisito { background: var(--navy) !important; padding: 56px 0; }
.requisito-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.req-label { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.45); margin-bottom: 16px; }
.req-title { font-family: 'Sora', sans-serif; font-size: 28px; font-weight: 700; color: #fff; line-height: 1.2; letter-spacing: -0.02em; margin-bottom: 12px; }
.req-sub { font-size: 15px; color: rgba(255,255,255,0.65); line-height: 1.65; }
.req-items { display: flex; flex-direction: column; gap: 16px; }
.req-item { display: flex; align-items: flex-start; gap: 16px; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); border-radius: 14px; padding: 20px 24px; }
.req-icon { width: 40px; height: 40px; border-radius: 10px; background: var(--mint); display: grid; place-items: center; flex-shrink: 0; }
.req-icon svg { width: 20px; height: 20px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.req-item-text strong { display: block; font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 3px; }
.req-item-text span { font-size: 13px; color: rgba(255,255,255,0.6); }
.req-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,87,87,0.18); border: 1px solid rgba(255,87,87,0.35); border-radius: 6px; padding: 4px 10px; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: #ff9a9a; margin-top: 20px; }
.req-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #ff7070; flex-shrink: 0; }
.ofertas-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.oferta-card { background: var(--white); border: 1px solid var(--ink-10); border-radius: 16px; padding: 32px 28px; }
.oferta-card h3 { font-size: 16px; margin-bottom: 10px; }
.oferta-card p { font-size: 14px; color: var(--ink-60); line-height: 1.65; margin: 0; }
.ofrecemos { background: var(--grey); }
.trabaja-layout { display: grid; grid-template-columns: 340px 1fr; gap: 64px; align-items: start; }
.trabaja-info { display: flex; flex-direction: column; gap: 32px; }
.trabaja-info h2 { margin-bottom: 8px; }
.trabaja-info > p { font-size: 15px; color: var(--ink-60); line-height: 1.7; }
.proceso { display: flex; flex-direction: column; gap: 0; }
.trabaja-paso { display: flex; gap: 20px; position: relative; padding-bottom: 28px; }
.trabaja-paso:last-child { padding-bottom: 0; }
.trabaja-paso::after { content: ""; position: absolute; left: 15px; top: 32px; bottom: 0; width: 1px; background: var(--ink-10); }
.trabaja-paso-last::after { display: none !important; }
.trabaja-paso-n { width: 32px; height: 32px; border-radius: 50%; background: var(--grey); border: 1px solid var(--ink-10); display: grid; place-items: center; font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 500; color: var(--blue); flex-shrink: 0; }
.trabaja-paso-title .elementor-heading-title { font-size: 14px !important; font-weight: 700 !important; color: var(--ink) !important; line-height: 1.3 !important; padding-top: 6px; }
.trabaja-paso-desc .elementor-text-editor, .trabaja-paso-desc .elementor-text-editor p { font-size: 13px !important; color: var(--ink-60) !important; line-height: 1.5 !important; margin: 0 !important; }
.req-check-block { background: linear-gradient(108deg,#FFF5F5,#FFF0F0); border: 1.5px solid #f5c6c6; border-radius: 12px; padding: 20px; margin-bottom: 20px; }
.req-check-block p { font-size: 13px; color: #8b2020; font-weight: 600; line-height: 1.55; margin-bottom: 12px; }
.req-check-block label { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; font-weight: 400; color: var(--ink); cursor: pointer; line-height: 1.5; }
.req-check-block input[type=checkbox] { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; accent-color: var(--blue); }

/* ============================================================
   INDUSTRIAS -- BODEGA CALLOUT
   ============================================================ */

.bodega-card { background: var(--navy); border-radius: 24px; padding: 56px 64px; display: flex; flex-direction: row; gap: 72px; align-items: center; position: relative; overflow: hidden; }
.bodega-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 500px 400px at 90% 50%,rgba(45,184,158,0.12) 0%,transparent 65%), radial-gradient(ellipse 600px 500px at 0% 100%,rgba(30,95,168,0.25) 0%,transparent 65%); pointer-events: none; }
.bodega-card > .e-con { position: relative; }
.bodega-eyebrow .elementor-heading-title { color: var(--mint) !important; }
.bodega-eyebrow::before { display: none; }
.bodega-eyebrow { color: var(--mint) !important; }
.bodega-card .elementor-heading-title { color: var(--white) !important; }
.bodega-card .elementor-text-editor, .bodega-card .elementor-text-editor p { font-size: 16px !important; color: rgba(255,255,255,0.72) !important; line-height: 1.65 !important; margin-bottom: 32px !important; }
.bodega-card .elementor-text-editor p strong { color: var(--white) !important; font-weight: 600 !important; }
.bodega-stats { display: flex; gap: 0; border-top: 1px solid rgba(255,255,255,0.1); }
.bodega-stat { flex: 1; padding: 24px 0; }
.bodega-stat:not(:last-child) { padding-right: 24px; border-right: 1px solid rgba(255,255,255,0.1); margin-right: 24px; }
.bodega-stat .n { font-family: 'Sora', sans-serif; font-size: 26px; font-weight: 600; letter-spacing: -0.03em; color: var(--white); line-height: 1; }
.bodega-stat .l { font-size: 11px; color: rgba(255,255,255,0.5); margin-top: 6px; font-family: 'JetBrains Mono', monospace; text-transform: uppercase; letter-spacing: 0.06em; }
.bodega-features { display: flex; flex-direction: column; gap: 16px; }
.bodega-feat { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.09); border-radius: 14px; padding: 24px 28px; }
.bodega-feat h4 { font-family: 'Sora', sans-serif; font-size: 15px; font-weight: 600; color: var(--white); margin-bottom: 7px; letter-spacing: -0.01em; }
.bodega-feat p { font-size: 13px; color: rgba(255,255,255,0.6); line-height: 1.55; margin: 0; }
.bodega-feat .tag { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 12px; font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--mint); letter-spacing: 0.08em; text-transform: uppercase; }
.bodega-feat .tag::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }

/* ============================================================
   SALUD Y BIENESTAR -- GYM CALLOUT
   ============================================================ */

.gym-callout { background: var(--mint); border-radius: 20px; padding: 52px 56px; position: relative; overflow: hidden; }
.gym-callout::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 500px 300px at 100% 0%,rgba(255,255,255,0.12) 0%,transparent 60%); pointer-events: none; }
.gym-callout > .e-con { position: relative; }
.gym-callout-head { margin-bottom: 32px; }
.gym-callout-head .tag { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border-radius: 99px; background: rgba(11,42,74,0.12); border: 1px solid rgba(11,42,74,0.15); font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 500; color: var(--navy); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 16px; }
.gym-callout-head .elementor-heading-title { font-family: 'Sora', sans-serif !important; font-size: 32px !important; font-weight: 700 !important; letter-spacing: -0.025em !important; color: var(--navy) !important; margin-bottom: 12px !important; }
.gym-callout-head .elementor-text-editor, .gym-callout-head .elementor-text-editor p { font-size: 16px !important; color: rgba(11,42,74,0.72) !important; line-height: 1.6 !important; max-width: 560px !important; }
.gym-feat { position: relative; flex: 1; }
.gym-feat-n { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 500; color: rgba(11,42,74,0.45); letter-spacing: 0.06em; margin-bottom: 10px; }
.gym-feat h4 { font-family: 'Sora', sans-serif; font-size: 17px; font-weight: 600; letter-spacing: -0.015em; color: var(--navy); margin-bottom: 8px; }
.gym-feat p { font-size: 13px; color: rgba(11,42,74,0.65); line-height: 1.6; margin: 0; }

/* ============================================================
   BLOG -- LISTADO
   ============================================================ */

.filters { padding: 20px 0; border-bottom: 1px solid var(--ink-06); background: var(--white); position: sticky; top: 0; z-index: 10; backdrop-filter: blur(8px); }
.filters-inner { display: flex; align-items: center; gap: 16px; }
.filter-pills { display: flex; align-items: center; gap: 8px; overflow-x: auto; scrollbar-width: none; flex: 1; }
.filter-pills::-webkit-scrollbar { display: none; }
.filter-btn,
.e-filter .e-filter-item { padding: 7px 16px !important; border-radius: 99px !important; border: 1px solid var(--ink-10) !important; background: var(--white) !important; font-family: 'JetBrains Mono', monospace !important; font-size: 11px !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; color: var(--ink-60) !important; cursor: pointer !important; white-space: nowrap !important; transition: background .15s, color .15s, border-color .15s !important; flex-shrink: 0 !important; text-decoration: none !important; display: inline-flex !important; align-items: center !important; line-height: 1 !important; }
.filter-btn:hover,
.e-filter .e-filter-item:hover { background: var(--grey) !important; color: var(--ink) !important; border-color: var(--ink-40) !important; }
.filter-btn.active,
.e-filter .e-filter-item-active,
.e-filter-item.e-filter-item-active,
.e-filter-item-active { background: var(--blue) !important; color: #fff !important; border-color: var(--blue) !important; }
.filter-count { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--ink-40); letter-spacing: 0.06em; white-space: nowrap; flex-shrink: 0; }
/* Taxonomy filter widget container */
.e-filter { display: flex !important; align-items: center !important; gap: 8px !important; overflow-x: auto !important; scrollbar-width: none !important; flex-wrap: wrap !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
/* Loop grid responsive */
@media (max-width: 1024px) {
  .elementor-widget-loop-grid.blog-grid .elementor-loop-container { grid-template-columns: repeat(2,1fr) !important; }
  .blog-grid .e-loop-item:first-of-type { grid-column: span 2; }
}
@media (max-width: 767px) {
  .elementor-widget-loop-grid.blog-grid .elementor-loop-container { grid-template-columns: 1fr !important; }
  .blog-grid .e-loop-item:first-of-type { grid-column: span 1; }
}
/* Featured card -- primer post ocupa 2 columnas de 3, imagen mas alta */
.blog-grid .e-loop-item:first-of-type {
  grid-column: span 2;
}
.blog-grid .e-loop-item:first-of-type .blog-card-img { height: 300px !important; }
.blog-grid .e-loop-item:first-of-type .elementor-heading-title { font-size: 24px !important; line-height: 1.25 !important; letter-spacing: -0.025em !important; }
.elementor-pagination { display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; padding: 48px 0 0 !important; flex-wrap: wrap !important; }
.elementor-pagination .page-numbers { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-width: 36px !important; height: 36px !important; padding: 0 14px !important; border-radius: 99px !important; border: 1px solid var(--ink-10) !important; font-family: 'JetBrains Mono', monospace !important; font-size: 11px !important; letter-spacing: 0.06em !important; color: var(--ink-60) !important; text-decoration: none !important; transition: background .15s, color .15s, border-color .15s !important; }
.elementor-pagination .page-numbers.current { background: var(--blue) !important; color: #fff !important; border-color: var(--blue) !important; }
.elementor-pagination .page-numbers:hover:not(.current) { background: var(--grey) !important; color: var(--ink) !important; border-color: var(--ink-40) !important; }
.elementor-pagination .page-numbers.dots { background: none !important; border-color: transparent !important; color: var(--ink-40) !important; pointer-events: none !important; }
.blog-cta { padding: 64px 0; border-top: 1px solid var(--ink-06); }
.blog-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.blog-cta h2, .blog-cta .elementor-heading-title { font-size: 28px !important; }
.blog-cta p, .blog-cta .elementor-text-editor p { font-size: 15px !important; color: var(--ink-60) !important; margin-top: 8px !important; max-width: 440px !important; line-height: 1.6 !important; }

/* ============================================================
   BLOG -- ART?CULO
   ============================================================ */

.article-hero { padding: 88px 0 56px; border-bottom: 1px solid var(--ink-06); }
.article-hero h1 { margin-bottom: 24px; }
.article-hero-headline { font-family: 'Sora', system-ui, sans-serif; font-size: 48px; line-height: 1.1; letter-spacing: -0.03em; font-weight: 600; color: var(--ink); margin: 0 0 24px; max-width: 740px; }
.article-hero-headline .elementor-heading-title { font-family: 'Sora', system-ui, sans-serif !important; font-size: 48px !important; line-height: 1.1 !important; letter-spacing: -0.03em !important; font-weight: 600 !important; color: var(--ink) !important; text-transform: none !important; display: block !important; }
.article-meta { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.meta-item { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--ink-40); letter-spacing: 0.05em; display: flex; align-items: center; gap: 6px; }
.meta-item::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--ink-40); }
.meta-item:first-child::before { display: none; }
.article-cover { background: var(--ink-06); height: 480px; overflow: hidden; }
.article-cover > .elementor-container,
.article-cover > .e-con-inner { height: 100% !important; padding: 0 !important; }
.article-cover .elementor-widget-theme-post-featured-image { width: 100% !important; height: 100% !important; }
.article-cover .elementor-widget-theme-post-featured-image .elementor-widget-container { padding: 0 !important; height: 100% !important; }
.article-cover .elementor-widget-theme-post-featured-image img,
.article-cover img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.article-layout { display: grid !important; grid-template-columns: 1fr 280px; gap: 80px; align-items: start; padding: 0 0 80px; }
.article-body { min-width: 0; }
.article-body p { font-size: 17px; color: var(--ink-60); line-height: 1.75; margin-bottom: 24px; }
.article-body h2 { font-size: 28px; margin: 48px 0 16px; }
.article-body h3 { font-size: 20px; margin: 36px 0 12px; }
.article-body h4 { margin: 28px 0 10px; }
.article-body ul, .article-body ol { margin: 0 0 24px; padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.article-body ul li, .article-body ol li { font-size: 17px; color: var(--ink-60); line-height: 1.7; padding-left: 20px; position: relative; }
.article-body ul li::before { content: ""; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }
.article-body ol { counter-reset: ol-counter; }
.article-body ol li { counter-increment: ol-counter; }
.article-body ol li::before { content: counter(ol-counter)"."; position: absolute; left: 0; top: 0; font-family: 'JetBrains Mono', monospace; font-size: 12px; font-weight: 500; color: var(--blue); }
.article-body blockquote { border-left: 3px solid var(--mint); padding: 4px 0 4px 24px; margin: 32px 0; }
.article-body blockquote p { font-family: 'Sora', sans-serif; font-size: 19px; font-weight: 600; color: var(--navy); line-height: 1.5; letter-spacing: -0.015em; }
.article-body strong { font-weight: 700; color: var(--ink); }
.article-body a { color: var(--blue); text-decoration: underline !important; text-underline-offset: 3px; }
.article-body hr { border: none; border-top: 1px solid var(--ink-06); margin: 40px 0; }
.callout { background: var(--grey); border-radius: 14px; padding: 24px 28px; margin: 32px 0; border-left: 3px solid var(--blue); }
.callout p { font-size: 15px; color: var(--ink); line-height: 1.65; margin: 0; }
.callout strong { color: var(--blue); }

/* -- N?MERO DECORATIVO (errores / consejos / senales) --------- */
.error-num, .consejo-num, .senal-num { font-family: 'Sora', sans-serif; font-size: 64px; font-weight: 700; color: var(--ink-06); line-height: 1; letter-spacing: -0.04em; margin-bottom: -16px; }

/* -- LISTA DE RAZONES (10-razones) ---------------------------- */
.razones-list { display: flex; flex-direction: column; gap: 0; margin: 32px 0; }
.razon { display: grid; grid-template-columns: 64px 1fr; gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--ink-06); align-items: start; }
.razon:first-child { border-top: 1px solid var(--ink-06); }
.razon-n { font-family: 'Sora', sans-serif; font-size: 36px; font-weight: 700; color: var(--ink-06); line-height: 1; letter-spacing: -0.04em; padding-top: 4px; }
.razon-body h3 { font-size: 17px; margin: 0 0 8px; color: var(--ink); }
.razon-body p { font-size: 15px; color: var(--ink-60); line-height: 1.65; margin: 0; }

/* -- CHECKLIST (5-consejos) ----------------------------------- */
.checklist { margin: 24px 0; padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.checklist li { font-size: 16px; color: var(--ink-60); line-height: 1.6; padding-left: 28px; position: relative; }
.checklist li::before { content: "?"; position: absolute; left: 0; top: 0; color: var(--mint); font-weight: 700; font-size: 14px; }

/* -- TARJETAS DE FRECUENCIA (frecuencia-de-limpieza) ---------- */
.freq-block { border: 1px solid var(--ink-10); border-radius: 16px; padding: 28px 32px; margin: 32px 0; background: var(--white); }
.freq-block-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; gap: 16px; flex-wrap: wrap; }
.freq-block-title { font-family: 'Sora', sans-serif; font-size: 20px; font-weight: 600; color: var(--ink); }
.freq-badge { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; background: rgba(30,95,168,0.08); color: var(--blue); border: 1px solid rgba(30,95,168,0.2); border-radius: 99px; padding: 5px 14px; white-space: nowrap; }
.freq-badge.f-daily { background: rgba(45,184,158,0.1); color: var(--mint); border-color: rgba(45,184,158,0.25); }
.freq-badge.f-twice { background: rgba(180,83,9,0.08); color: #b45309; border-color: rgba(180,83,9,0.2); }
.freq-badge.f-weekly { background: rgba(124,58,237,0.08); color: #7c3aed; border-color: rgba(124,58,237,0.2); }
.freq-desc { font-size: 15px; color: var(--ink-60); line-height: 1.65; margin-bottom: 14px; }
.freq-critical { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--ink-40); letter-spacing: 0.04em; }
.freq-critical strong { color: var(--ink); font-weight: 600; }

/* -- TABLA RESUMEN CON BADGES (frecuencia-de-limpieza) -------- */
.summary-table { width: 100%; border-collapse: collapse !important; margin: 40px 0; font-size: 14px; border: none !important; }
.summary-table th { text-align: left; font-family: 'JetBrains Mono', monospace; font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-40); padding: 12px 16px; border: none !important; border-bottom: 2px solid var(--ink-10) !important; }
.summary-table td { padding: 13px 16px; border: none !important; border-bottom: 1px solid var(--ink-06) !important; color: var(--ink-60); vertical-align: middle; }
.summary-table tr:last-child td { border-bottom: none !important; }
.summary-table td:first-child { font-weight: 600; color: var(--ink); }
.summary-table .badge { display: inline-block; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.05em; text-transform: uppercase; border-radius: 99px; padding: 3px 10px; border: 1px solid; }
.badge-diario { background: rgba(45,184,158,0.1); color: var(--mint); border-color: rgba(45,184,158,0.25); }
.badge-semanal { background: rgba(124,58,237,0.08); color: #7c3aed; border-color: rgba(124,58,237,0.2); }
.badge-2dia { background: rgba(180,83,9,0.08); color: #b45309; border-color: rgba(180,83,9,0.2); }

/* -- TABLA COMPARATIVA (compare-table) ------------------------ */
.compare-table { width: 100%; border-collapse: collapse !important; margin: 32px 0; font-size: 15px; border: none !important; }
.compare-table th { text-align: left; font-family: 'JetBrains Mono', monospace; font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-40); padding: 12px 16px; border: none !important; border-bottom: 2px solid var(--ink-10) !important; }
.compare-table td { padding: 14px 16px; border: none !important; border-bottom: 1px solid var(--ink-06) !important; color: var(--ink-60); line-height: 1.55; vertical-align: top; }
.compare-table tr:last-child td { border-bottom: none !important; }
.compare-table td:first-child { font-weight: 600; color: var(--ink); white-space: nowrap; }
.compare-table tr, .summary-table tr { background: transparent !important; }
.compare-table tbody tr:nth-child(even), .compare-table tbody tr:nth-child(odd),
.summary-table tbody tr:nth-child(even), .summary-table tbody tr:nth-child(odd) { background: transparent !important; }
.article-body .compare-table tr, .article-body .compare-table td, .article-body .compare-table th,
.article-body .summary-table tr, .article-body .summary-table td, .article-body .summary-table th { background: transparent !important; }
.article-body .compare-table tbody tr:nth-child(even), .article-body .compare-table tbody tr:nth-child(odd),
.article-body .summary-table tbody tr:nth-child(even), .article-body .summary-table tbody tr:nth-child(odd) { background: transparent !important; }
.elementor-widget-theme-post-content .compare-table tr, .elementor-widget-theme-post-content .compare-table td,
.elementor-widget-theme-post-content .summary-table tr, .elementor-widget-theme-post-content .summary-table td { background: transparent !important; }
.elementor-widget-theme-post-content .compare-table tbody tr:nth-child(even),
.elementor-widget-theme-post-content .compare-table tbody tr:nth-child(odd),
.elementor-widget-theme-post-content .summary-table tbody tr:nth-child(even),
.elementor-widget-theme-post-content .summary-table tbody tr:nth-child(odd) { background: transparent !important; }

.article-img { margin: 36px 0; border-radius: 14px; overflow: hidden; background: var(--ink-06); }
.article-img img { width: 100%; display: block; }
.article-img figcaption { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--ink-40); padding: 10px 16px; letter-spacing: 0.04em; }
.article-tags { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding-top: 40px; border-top: 1px solid var(--ink-06); margin-top: 48px; }
.article-tags-label { font-family: 'JetBrains Mono', monospace; font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-40); }
.tag { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--blue); background: rgba(30,95,168,0.08); border-radius: 99px; padding: 4px 12px; border: 1px solid rgba(30,95,168,0.15); }
.article-sidebar { display: flex; flex-direction: column; gap: 32px; position: sticky; top: 108px !important; }
.sidebar-block { background: var(--grey); border-radius: 16px; padding: 24px; }
.sidebar-label { font-family: 'JetBrains Mono', monospace; font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-40); margin-bottom: 16px; }
.sidebar-block h3 { font-size: 15px; margin-bottom: 8px; }
.sidebar-block p { font-size: 13px; color: var(--ink-60); line-height: 1.6; margin: 0; }
.sidebar-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.sidebar-list li { border-bottom: 1px solid var(--ink-06); }
.sidebar-list li:last-child { border-bottom: none; }
.sidebar-list a { display: block; padding: 12px 0; font-size: 13px; color: var(--ink); line-height: 1.45; transition: color .15s; }
.sidebar-list a:hover { color: var(--blue); }
.related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 40px; }
.related-card { background: var(--white); border: 1px solid var(--ink-10); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; }
.related-card:hover { box-shadow: 0 8px 32px rgba(11,42,74,0.1); transform: translateY(-2px); }
.related-card-img { height: 160px; background: var(--ink-06); overflow: hidden; }
.related-card-img img { width: 100%; height: 100%; object-fit: cover; }
.related-card-body { padding: 20px 22px 24px; flex: 1; display: flex; flex-direction: column; }
.related-tag { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--blue); margin-bottom: 8px; }
.related-card h3 { font-size: 15px; line-height: 1.4; margin-bottom: auto; padding-bottom: 16px; }
.related-read { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--blue); display: inline-flex; align-items: center; gap: 5px; }
.related-read::after { content: "->"; }
.article-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.article-cta h2 { color: #fff; font-size: 28px; }
.article-cta p { font-size: 15px; color: rgba(255,255,255,0.65); margin-top: 8px; max-width: 440px; line-height: 1.6; }

/* ============================================================
   LEGAL
   ============================================================ */

.legal-layout { display: grid; grid-template-columns: 1fr 280px; gap: 80px; align-items: start; }
.legal-body { min-width: 0; }
.legal-body a { color: var(--blue); text-decoration: none; }
.legal-article { margin-bottom: 40px; }
.legal-article .elementor-heading-title { font-size: 18px !important; color: var(--navy) !important; font-family: 'Sora', system-ui, sans-serif !important; font-weight: 600 !important; letter-spacing: -0.01em !important; }
.legal-article .elementor-widget-heading .elementor-widget-container { padding-bottom: 10px !important; border-bottom: 1px solid var(--ink-06) !important; margin-bottom: 14px !important; }
.legal-article .elementor-text-editor, .legal-article .elementor-text-editor p { font-size: 15px !important; color: var(--ink-60) !important; line-height: 1.75 !important; font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; }
.legal-article .elementor-text-editor p { margin-bottom: 14px !important; }
.legal-article .elementor-text-editor p:last-child { margin-bottom: 0 !important; }
.legal-article .elementor-text-editor ul { margin: 10px 0 14px !important; padding-left: 0 !important; list-style: none !important; display: flex !important; flex-direction: column !important; gap: 8px !important; }
.legal-article .elementor-text-editor ul li { font-size: 15px !important; color: var(--ink-60) !important; line-height: 1.65 !important; padding-left: 18px !important; position: relative !important; }
.legal-article .elementor-text-editor ul li::before { content: "" !important; position: absolute !important; left: 0 !important; top: 9px !important; width: 5px !important; height: 5px !important; border-radius: 50% !important; background: var(--blue) !important; }
.rights-grid { margin-top: 16px; }
.rights-grid > .e-con-inner { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
.right-item { background-color: var(--grey) !important; border-radius: 10px !important; padding: 16px 18px !important; }
.right-item .elementor-heading-title { font-size: 13px !important; color: var(--ink) !important; font-weight: 600 !important; font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; letter-spacing: 0 !important; line-height: 1.4 !important; margin-bottom: 4px !important; }
.right-item .elementor-text-editor, .right-item .elementor-text-editor p { font-size: 13px !important; color: var(--ink-60) !important; line-height: 1.5 !important; }
.company-card { background: var(--grey); border-radius: 16px; padding: 28px 32px; margin-bottom: 48px; gap: 0 !important; }
.company-card .elementor-heading-title { font-size: 14px !important; font-family: 'JetBrains Mono', monospace !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; color: var(--ink-40) !important; font-weight: 500 !important; margin-bottom: 16px !important; }
.company-row { gap: 0 !important; padding: 10px 0; border-bottom: 1px solid var(--ink-06); align-items: center !important; }
.company-row:last-child { border-bottom: none; }
.company-row > .elementor-widget { margin: 0 !important; }
.company-label { min-width: 160px; flex-shrink: 0; }
.company-label .elementor-text-editor, .company-label .elementor-text-editor p { color: var(--ink-40) !important; font-size: 14px !important; margin: 0 !important; }
.company-value .elementor-text-editor, .company-value .elementor-text-editor p { color: var(--ink) !important; font-weight: 500 !important; font-size: 14px !important; margin: 0 !important; }
.cookie-table-wrap { border: 1px solid var(--ink-10); border-radius: 10px; overflow: hidden; margin: 16px 0; }
.cookie-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.cookie-table thead th { text-align: left; padding: 10px 14px; background: var(--navy); color: #fff; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 500; }
.cookie-table thead th:first-child { border-radius: 10px 0 0 0; }
.cookie-table thead th:last-child { border-radius: 0 10px 0 0; }
.cookie-table tbody tr { border-bottom: 1px solid var(--ink-06); }
.cookie-table tbody tr:last-child { border-bottom: none; }
.cookie-table tbody td { padding: 10px 14px; color: var(--ink-60); vertical-align: top; line-height: 1.5; }
.cookie-table tbody td:first-child { font-weight: 600; color: var(--ink); font-family: 'JetBrains Mono', monospace; font-size: 12px; }
.browser-links { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 12px; }
.browser-link { background: var(--grey); border-radius: 8px; padding: 10px 14px; font-size: 13px; color: var(--ink); text-decoration: none !important; text-align: center; transition: background .15s; }
.browser-link:hover { background: var(--ink-10); }
.legal-sidebar { position: sticky; top: 128px; display: flex; flex-direction: column; gap: 16px; }
.sidebar-nav { background: var(--grey); border-radius: 14px; padding: 20px 24px; }
.sidebar-nav-title { font-family: 'JetBrains Mono', monospace; font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink-40); margin-bottom: 14px; }
.sidebar-nav ol { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.sidebar-nav li { border-bottom: 1px solid var(--ink-06); }
.sidebar-nav li:last-child { border-bottom: none; }
.sidebar-nav a { display: block; padding: 9px 0; font-size: 13px; color: var(--ink-60); line-height: 1.4; transition: color .15s; text-decoration: none !important; }
.sidebar-nav a:hover { color: var(--blue); }
.legal-updated { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--ink-40); letter-spacing: 0.04em; margin-bottom: 32px; }

/* ============================================================
   FOOTER
   ============================================================ */

.footer-nap { display: flex; flex-direction: column; gap: 16px; }
.footer-logo-text { font-family: 'Sora', sans-serif; font-size: 20px; font-weight: 700; color: #fff; letter-spacing: -0.03em; }
.nap-item { display: flex; flex-direction: column; gap: 3px; }
.nap-label { font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.35); }
.nap-value { font-size: 14px; font-weight: 500; color: rgba(255,255,255,0.8); line-height: 1.5; }
.nap-value a { color: rgba(255,255,255,0.8); }
.nap-value a:hover { color: #2DB89E; }
.footer-secondary { display: flex; flex-direction: column; gap: 7px; }
.footer-secondary-title { font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.35); margin-bottom: 7px; }
.footer-secondary a { font-size: 13px; color: rgba(255,255,255,0.65); line-height: 1.8; display: block; }
.footer-secondary a:hover { color: #fff; }
.footer-bottom { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 20px 40px; }
.footer-copy { font-size: 12px; color: rgba(255,255,255,0.35); }
.footer-legal-links { display: flex; gap: 20px; justify-content: center; }
.footer-legal-links a { font-size: 12px; color: rgba(255,255,255,0.35); }
.footer-legal-links a:hover { color: rgba(255,255,255,0.75); }
.footer-credit { font-size: 12px; color: rgba(255,255,255,0.25); text-align: right; }
.footer-credit a { color: rgba(255,255,255,0.4); }
.footer-credit a:hover { color: rgba(255,255,255,0.75); }

/* ============================================================
   EMPRESA -- Paginas del equipo
   ============================================================ */

/* -- CULTURA DE EMPRESA ----------------------------------- */

.mvp-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.mvp-card { background: var(--white); border-radius: 16px; padding: 36px 32px; border: 1px solid var(--ink-10); }
.mvp-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 16px;
}
.mvp-card blockquote,
.mvp-card .elementor-widget-text-editor blockquote {
  font-family: 'Sora', sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: -0.015em;
  color: var(--navy);
  margin: 0;
  border-left: 3px solid var(--mint);
  padding-left: 16px;
}

.valores-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1px;
  background: var(--ink-10);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--ink-10);
}
.valor {
  background: var(--white);
  padding: 28px 32px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  transition: background .2s;
}
.valor:hover { background: #FAFCFF; }
.valor-n {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--ink-40);
  letter-spacing: 0.06em;
  flex-shrink: 0;
  padding-top: 2px;
  width: 28px;
}
.valor p { font-size: 15px; color: var(--ink); line-height: 1.5; }

/* -- LAYOUTS DE 2 COLUMNAS (intro / def / etica) ---------- */

.def-inner,
.etica-inner,
.intro-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.manual-inner {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start;
}

/* Citas con barra izquierda mint */
.def-quote,
.etica-quote,
.intro-quote {
  font-family: 'Sora', sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: -0.02em;
  color: var(--navy);
  border-left: 3px solid var(--mint);
  padding-left: 24px;
}
.etica-quote { font-size: 22px; }

.def-source {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--ink-40);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-top: 14px;
}
.def-text,
.etica-text,
.intro-text { font-size: 16px; color: var(--ink-60); line-height: 1.7; }
.def-text p + p,
.etica-text p + p,
.intro-text p + p { margin-top: 16px; }

/* -- MEDIDAS ----------------------------------------------- */

.medidas-grid-2 {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1px;
  background: var(--ink-10);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--ink-10);
}
.medidas-grid-3 {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  background: var(--grey);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--ink-10);
}
.medida {
  background: var(--white);
  padding: 28px 32px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  transition: background .2s;
}
.medida:hover { background: #FAFCFF; }
.medida-n {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--blue);
  letter-spacing: 0.06em;
  flex-shrink: 0;
  padding-top: 3px;
  width: 28px;
}
.medida p { font-size: 14px; color: var(--ink); line-height: 1.5; }

/* -- POL?TICA DE EMPRESA ---------------------------------- */

/* Seccion declaracion ISO */
.politica-iso-inner { max-width: 800px; margin: 0 auto; }

.politica-actividad-label {
  font-size: 12px;
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 12px;
}
.politica-actividad-value {
  font-size: 18px;
  font-family: 'Sora', sans-serif;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.4;
  letter-spacing: -0.01em;
  border-left: 3px solid var(--mint);
  padding-left: 20px;
  margin-bottom: 56px;
}
.politica-lineas-label {
  font-size: 12px;
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--blue);
  margin-bottom: 20px;
}
.politica-lineas {
  list-style: none;
  margin: 0 0 48px 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.politica-lineas li {
  font-size: 15px;
  color: var(--ink-60);
  line-height: 1.75;
  padding: 16px 0;
  border-bottom: 1px solid var(--ink-06);
  display: flex;
  gap: 16px;
  align-items: baseline;
}
.politica-lineas li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mint);
  flex-shrink: 0;
  margin-top: 8px;
}
.politica-iso-closing {
  font-size: 15px;
  color: var(--ink-40);
  line-height: 1.8;
  background: var(--grey);
  border-radius: 12px;
  padding: 28px 32px;
}

.proceso-inner { width: 100%; }
.proceso-steps { border: 1px solid var(--ink-10); border-radius: 16px; overflow: hidden; width: 100%; }
.proceso-inner .proceso-step { position: static; }
.proceso-inner .proceso-step:not(:last-child)::after { display: none; }
.proceso-step {
  padding: 28px 32px;
  border-bottom: 1px solid var(--ink-10);
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 20px;
  align-items: start;
  background: var(--white);
  transition: background .2s;
}
.proceso-step:last-child { border-bottom: none; }
.proceso-step:hover { background: #FAFCFF; }
.paso-n {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  color: var(--blue);
  letter-spacing: 0.06em;
  padding-top: 3px;
}
.proceso-step h3 { font-size: 16px; margin-bottom: 6px; letter-spacing: -0.01em; color: var(--ink) !important; }
.proceso-step p { font-size: 13px; color: var(--ink-60); line-height: 1.6; }
.proceso-step .elementor-heading-title { color: var(--ink) !important; }
.proceso-step .elementor-text-editor,
.proceso-step .elementor-text-editor p { color: var(--ink-60) !important; }

.canal-cta-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
  max-width: 560px;
  margin: 0 auto;
  width: 100%;
}
.canal-cta-inner h2 { font-size: 32px; }
.canal-cta-inner p { font-size: 16px; color: var(--ink-60); line-height: 1.6; }

.garantias { display: flex; gap: 24px; flex-wrap: wrap; justify-content: center; margin-top: 8px; }
.garantia {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--ink-60);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.garantia::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mint);
  flex-shrink: 0;
}

/* -- FORMACION -------------------------------------------- */

.programa-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.programa-bloque { border: 1px solid var(--ink-10); border-radius: 16px; overflow: hidden; }
.programa-header { padding: 24px 28px; background: var(--grey); border-bottom: 1px solid var(--ink-10); }
.programa-header h3 { font-size: 15px; margin-bottom: 4px; }
.programa-header p {
  font-size: 12px;
  color: var(--ink-60);
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.programa-items { list-style: none; margin: 0; padding: 0; }
.programa-items li {
  padding: 14px 28px;
  border-bottom: 1px solid var(--ink-06);
  font-size: 14px;
  color: var(--ink-60);
  display: flex;
  align-items: center;
  gap: 12px;
}
.programa-items li:last-child { border-bottom: none; }
.programa-items li::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--blue);
  flex-shrink: 0;
}

.manual-text h2 { margin-bottom: 16px; }
.manual-text p { font-size: 16px; color: var(--ink-60); line-height: 1.7; }
.manual-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--ink-10);
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--ink-10);
}
.manual-item p { font-size: 14px; color: var(--ink-60); }

/* -- CERTIFICACIONES ISO ---------------------------------- */

.iso-section { padding: 0; }
.iso-section + .iso-section { margin-top: 64px; }
.iso-card {
  display: grid;
  grid-template-columns: 420px 1fr auto;
  gap: 16px;
  align-items: start;
  max-width: 1280px;
  margin: 0 auto;
}
.iso-card.a { background: linear-gradient(108deg,#F4F7FB 0%,#EBF1FA 100%); }
.iso-card.b { background: linear-gradient(108deg,#EDF7F4 0%,#E0F2EC 100%); }

.iso-num {
  font-family: 'Sora', sans-serif;
  font-size: 80px;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
  margin-bottom: 4px;
}
.iso-card.a .iso-num { color: var(--navy); }
.iso-card.b .iso-num { color: var(--mint); }

.iso-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
}
.iso-card.a .iso-tag { color: var(--blue); }
.iso-card.b .iso-tag { color: var(--mint); }

.iso-desc p { font-size: 16px; color: var(--ink); line-height: 1.65; margin-bottom: 24px; }
.iso-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-60);
}
.iso-status::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mint);
  flex-shrink: 0;
}

.iso-points-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--ink-40);
  margin-bottom: 20px;
}
.iso-points { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 32px; }
.iso-point {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  color: var(--ink-60);
  line-height: 1.55;
}
.iso-point::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 5px;
}
.iso-card.a .iso-point::before { background: var(--blue); }
.iso-card.b .iso-point::before { background: var(--mint); }

.iso-seal img {
  width: 88px;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(11,42,74,0.12);
}

/* Ben-cards (beneficios ISO) */
.ben-bloque { margin-bottom: 48px; }
.ben-bloque:last-child { margin-bottom: 0; }
.ben-bloque-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.ben-bloque-label::before { content: ""; width: 20px; height: 1px; background: currentColor; }
.ben-bloque-label.q,
.ben-bloque-label.q .elementor-heading-title { color: var(--blue) !important; }
.ben-bloque-label.m,
.ben-bloque-label.m .elementor-heading-title { color: var(--mint) !important; }

.ben-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.ben-card {
  background: var(--grey);
  border-radius: 16px;
  padding: 32px 28px;
  border: 1px solid var(--ink-06);
}
.ben-card.q { border-top: 2px solid var(--blue); }
.ben-card.m { border-top: 2px solid var(--mint); }
.ben-ico {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
}
.ben-card.q .ben-ico { background: rgba(30,95,168,0.08); color: var(--blue); }
.ben-card.m .ben-ico { background: rgba(45,184,158,0.10); color: var(--mint); }
.ben-card h3 { font-size: 16px; margin-bottom: 8px; }
.ben-card p { font-size: 13px; color: var(--ink-60); line-height: 1.65; }

/* ============================================================
   404 -- P?GINA DE ERROR
   ============================================================ */

.nf-hero { background: var(--navy); }
.nf-scene { width: 100%; max-width: 900px; margin: 0 auto 48px; display: block; }
.nf-scene svg { width: 100%; height: auto; display: block; }
.nf-content { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; }
.nf-headline .elementor-heading-title { font-family: 'Sora', sans-serif !important; font-size: 52px !important; line-height: 1.08 !important; letter-spacing: -0.03em !important; font-weight: 600 !important; color: #fff !important; }
.nf-sub .elementor-text-editor,
.nf-sub .elementor-text-editor p { font-size: 17px !important; color: rgba(255,255,255,0.62) !important; line-height: 1.7 !important; max-width: 520px !important; margin: 0 auto !important; }
.nf-ctas { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; margin-top: 12px; }
.nf-btn-primary {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--mint); color: var(--navy);
  font-family: 'Sora', sans-serif; font-size: 15px; font-weight: 700;
  padding: 15px 32px; border-radius: 10px;
  text-decoration: none !important; white-space: nowrap;
  transition: background .2s, transform .15s;
  box-shadow: 0 6px 20px -8px rgba(45,184,158,0.55);
}
.nf-btn-primary::after { content: "->"; margin-left: 4px; }
.nf-btn-primary:hover { background: #27a38c; transform: translateY(-1px); }
.nf-btn-ghost {
  display: inline-flex; align-items: center; gap: 8px;
  background: transparent; color: rgba(255,255,255,0.8);
  font-family: 'Sora', sans-serif; font-size: 15px; font-weight: 600;
  padding: 15px 32px; border-radius: 10px;
  border: 1.5px solid rgba(255,255,255,0.28);
  text-decoration: none !important; white-space: nowrap;
  transition: border-color .2s, color .2s, transform .15s;
}
.nf-btn-ghost:hover { border-color: rgba(255,255,255,0.75); color: #fff; transform: translateY(-1px); }

/* eyebrow sobre fondo navy en la 404 */
.nf-hero .eyebrow.light .elementor-heading-title { color: var(--mint) !important; }
.nf-hero .eyebrow.light { color: var(--mint) !important; }

/* ============================================================
   RESPONSIVE -- TABLET  ? 1024px
   ============================================================ */

@media (max-width: 1024px) {

  /* -- Spacing -- */
  .wrap { padding: 0 24px; }
  .hero-inner { padding: 0 24px 64px; }
  .hero-service-inner { padding: 64px 24px 72px; }
  .footer-bottom { padding: 20px 24px; }

  /* -- Tipografia -- */
  h2 { font-size: 36px; }
  .hero-headline .elementor-heading-title { font-size: 52px !important; }
  .hero-service-headline { font-size: 48px !important; }
  .page-hero-headline { font-size: 42px; }
  .article-hero-headline,
  .article-hero-headline .elementor-heading-title { font-size: 38px !important; }
  .nf-headline .elementor-heading-title { font-size: 44px !important; }

  /* -- 5-col -> 3-col -- */
  .trust-inner  { grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .services-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }

  /* -- 4-col -> 2-col -- */
  .steps { grid-template-columns: repeat(2, 1fr); }

  /* -- 3-col -> 2-col -- */
  .reto-grid,
  .incluye-grid,
  .ben-grid,
  .mvp-grid,
  .blog-grid,
  .related-grid,
  .ofertas-grid,
  .medidas-grid-3,
  .manual-grid    { grid-template-columns: repeat(2, 1fr); }

  /* -- 2-col: reduce gap -- */
  .hero-inner,
  .why-inner,
  .cta-inner,
  .zonas-inner,
  .iso-inner,
  .metodo-inner,
  .valores-grid,
  .etica-inner,
  .def-inner,
  .intro-inner,
  .programa-inner { gap: 48px; }

  /* -- iso-card: colapsar columna de ancho fijo -- */
  .iso-card { grid-template-columns: 1fr auto; }
  .iso-card .iso-left { grid-column: 1; }
  .iso-card .iso-desc { grid-column: 1 / -1; }

  /* -- iso-points: 1 col -- */
  .iso-points { grid-template-columns: 1fr; }

  /* -- bodega-card -- */
  .bodega-card { gap: 40px; }

  /* -- contact / trabaja -- */
  .contact-layout  { grid-template-columns: 240px 1fr; gap: 40px; }
  .trabaja-layout  { grid-template-columns: 280px 1fr; gap: 40px; }

  /* -- sidebars article / legal -- */
  .article-layout,
  .legal-layout { gap: 48px; }

  /* -- service flip cards -- */
  .sc-wrap,
  .sc-inner { height: 240px !important; }

  /* -- mapa -- */
  .zonas-map { height: 360px !important; }

  /* -- manual-inner -- */
  .manual-inner { gap: 40px; }

  /* -- Services grid tablet (el .elementor-kit-743 base tiene !important) -- */
  .services-grid.e-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
  }
}

/* ============================================================
   RESPONSIVE -- MOBILE  ? 767px
   ============================================================ */

@media (max-width: 767px) {

  /* -- Spacing -- */
  .wrap { padding: 0 16px; }
  .hero-inner { padding: 0 16px 56px; }
  .hero-service-inner { padding: 48px 16px 56px; }
  .footer-bottom { padding: 20px 16px; }
  .bodega-card { padding: 36px 24px; }
  .form-card-light { padding: 28px 20px; }
  .iso-card-detail { padding: 40px 20px; }

  /* -- Tipografia -- */
  h2 { font-size: 28px; }
  h3 { font-size: 18px; }
  .hero-headline,
  .hero-headline .elementor-heading-title { font-size: 36px !important; line-height: 1.1 !important; }
  .hero-service-headline { font-size: 32px !important; line-height: 1.1 !important; }
  .page-hero-headline { font-size: 30px; }
  .article-hero-headline,
  .article-hero-headline .elementor-heading-title { font-size: 28px !important; line-height: 1.2 !important; }
  .hero-sub,
  .hero-sub .elementor-text-editor,
  .hero-sub .elementor-text-editor p { font-size: 16px !important; }
  .hero-service-sub { font-size: 15px; }
  .page-sub { font-size: 15px; }
  .section-head { margin-bottom: 36px; }

  /* -- Hero photo height -- */
  .hero-photo { height: 260px !important; }
  .hero-service-photo { height: 240px !important; }

  /* -- 5-col -> 2-col -- */
  .trust-inner   { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .services-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }

  /* -- 4-col -> 1-col (steps directo a columna en movil) -- */

  /* -- 3-col -> 1-col -- */
  .reto-grid,
  .incluye-grid,
  .ben-grid,
  .mvp-grid,
  .blog-grid,
  .related-grid,
  .ofertas-grid,
  .medidas-grid-3,
  .manual-grid { grid-template-columns: 1fr; gap: 16px; }

  /* -- 2-col -> 1-col -- */
  .hero-inner,
  .why-inner,
  .cta-inner,
  .zonas-inner,
  .iso-inner,
  .metodo-inner,
  .valores-grid,
  .etica-inner,
  .def-inner,
  .intro-inner,
  .programa-inner,
  .hero-service-inner,
  .requisito-inner { grid-template-columns: 1fr; gap: 32px; }

  /* -- 1fr+2fr -> 1-col -- */
  .manual-inner { grid-template-columns: 1fr; gap: 32px; }

  /* -- layouts con sidebar -> 1-col -- */
  .contact-layout,
  .trabaja-layout,
  .article-layout,
  .legal-layout { grid-template-columns: 1fr; gap: 32px; }

  /* -- iso-card: colapsar a 1 columna, ocultar sello en movil -- */
  .iso-card { grid-template-columns: 1fr !important; min-height: auto !important; padding: 28px !important; gap: 20px !important; }
  .iso-card .iso-seal,
  .iso-card .iso-seal-wrap { display: none !important; }

  /* -- iso-points -> 1-col -- */
  .iso-points { grid-template-columns: 1fr; gap: 10px; }

  /* -- section-head interior: apilar heading + texto en columna, centrado -- */
  .section-head > .e-con,
  .section-head > .e-con-inner > .e-con {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 12px !important;
  }
  .section-head > .e-con > .e-con,
  .section-head > .e-con-inner > .e-con > .e-con {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }
  .section-head h2,
  .section-head .section-eyebrow,
  .section-head .elementor-text-editor,
  .section-head .elementor-text-editor p { text-align: center !important; max-width: 100% !important; }

  /* -- why-pillars: 2-col -> 1-col -- */
  .why-pillars { grid-template-columns: 1fr !important; }

  /* -- steps: 1-col, cards individuales con borde propio -- */
  .steps {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }
  .step, .step.e-con {
    border: 1px solid var(--ink-10) !important;
    border-radius: 16px !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden;
  }
  .step-num { margin-bottom: 24px !important; }
  .step-num::after { display: none; }

  /* -- bodega-card -> column -- */
  .bodega-card { flex-direction: column; gap: 24px; }

  /* -- form-row -> 1-col -- */
  .form-row { grid-template-columns: 1fr; gap: 16px; }

  /* -- footer -> columnas a ancho completo con separacion -- */
  /* .footer-main es una clase dentro de widgets HTML, no un contenedor Elementor */
  /* Forzar columna en el .e-con-inner del footer via .site-footer */
  .site-footer .e-con > .e-con-inner {
    flex-direction: column !important;
  }
  /* Columnas: ancho completo + margen inferior para separacion */
  .elementor-element-46beaf6,
  .elementor-element-5f6de037,
  .elementor-element-5c674009 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-bottom: 32px !important;
    box-sizing: border-box !important;
  }
  .elementor-element-a93d870 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
  }

  /* -- footer-bottom -> 1-col -- */
  .footer-bottom { grid-template-columns: 1fr; gap: 20px; text-align: center; }
  .footer-bottom,
  .site-footer .footer-bottom.e-con {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    text-align: center !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .footer-credit { text-align: center !important; }

  /* -- service flip cards -- */
  .sc-wrap,
  .sc-inner { height: 210px !important; }

  /* -- mapa -- */
  .zonas-map { height: 280px !important; }

  /* -- iso numeros -- */
  .iso-num { font-size: 56px; }

  /* -- chip zona HQ -- */
  .zona-chips { gap: 8px; }
  .chip { font-size: 12px; padding: 5px 12px; }

  /* -- 404 headline -- */
  .nf-headline .elementor-heading-title { font-size: 36px !important; }
  .nf-ctas { flex-direction: column; align-items: center; }
  .nf-btn-primary,
  .nf-btn-ghost { width: 100%; justify-content: center; }

  /* -- Cards: reducir espaciado interno icono/texto -- */
  .step-num { margin-bottom: 16px !important; }
  .step-ico { margin-bottom: 12px !important; }
  .service-ico { margin-bottom: 12px !important; }
  .reto-ico { margin-bottom: 12px !important; }
  .pillar-ico { margin-bottom: 12px !important; }
  .ben-ico { margin-bottom: 10px !important; }

  /* -- Flip card label: ajustar padding en altura menor -- */
  .sc-label { padding: 32px 14px 14px !important; }

  /* -- Home hero: spacers ocultos, texto a columna y ancho completo -- */
  .elementor-element-13aef3a1,
  .elementor-element-4397d604 { display: none !important; }
  .elementor-element-522ce370 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    flex-direction: column !important;
  }

  /* -- Services grid (el .elementor-kit-743 base tiene !important) -- */
  .services-grid.e-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }

  /* -- Blog card loop: colapsar layout horizontal a columna -- */
  /* El contenedor ROW es .blog-card (5f08f293), padre de imagen y texto */
  /* Especificidad 0,4,0 supera el CSS del template (.elementor-193 .elementor-element.elementor-element-XXX = 0,3,0) */
  .e-loop-item .blog-card.e-con-full.e-flex { --flex-direction: column !important; flex-direction: column !important; }
  .e-loop-item .blog-card.e-con-full > .blog-card-body.e-con { width: 100% !important; max-width: 100% !important; }
  body .e-loop-item .elementor-element-6ae5d23e { --padding-bottom: 24px !important; padding-bottom: 24px !important; }

  /* -- Header: forzar fila logo+nav, CTA oculto -- */
  .site-header .e-con > .e-con-inner { flex-direction: row !important; align-items: center !important; }
  .elementor-element-2818e3ed,
  .elementor-element-2818e3ed > .e-con-inner { align-items: center !important; align-self: center !important; }
  .elementor-menu-toggle { align-self: center !important; margin: 0 !important; }
  .nav-logo img,
  .nav-logo .elementor-widget-container img { max-width: 110px !important; height: auto !important; }
  .elementor-element-5cee82ab { width: auto !important; flex: 0 0 auto !important; }
  .elementor-element-2818e3ed { flex: 1 !important; width: auto !important; max-width: none !important; }
  .elementor-element-395b43e7,
  .elementor-element-395b43e7.e-con,
  .nav-cta { display: flex !important; flex: 0 0 auto !important; width: auto !important; overflow: visible !important; }
  .nav-cta .elementor-button { font-size: 13px !important; padding: 8px 14px !important; height: auto !important; line-height: 1.2 !important; border-radius: 8px !important; }
}/* End custom CSS */