/* ============================================================
   ENERGYMOV — hoja de estilo del bloque
   Portada de Lovable (Space Grotesk + DM Sans + JetBrains Mono,
   tinta #002624 y acento lima #B6E630) a Elementor.
   Solo cubre lo que el panel no expone.
   ============================================================ */

/* ---------- 1. Tipografia base ---------- */
.em-eyebrow .elementor-heading-title,
.em-eyebrow { font-feature-settings: "tnum"; }
.em-lime { color: #B6E630; }

/* ---------- 2. HERO ----------
   El original apila sobre la tinta: foto al 80%, dos degradados,
   rejilla tecnica al 25%, catenaria arriba y via abajo.
   Elementor no genera CSS fiable para degradados de fondo en
   contenedores, asi que el color plano queda como base y todas las
   capas se pintan aqui.                                        */
.em-hero { position: relative; isolation: isolate; overflow: hidden; }
.em-hero::before,
.em-hero::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
}
.em-hero::before {
  z-index: 0;
  background-image:
    linear-gradient(to right,
      rgba(0,38,36,.95) 0%, rgba(0,38,36,.70) 55%, rgba(0,38,36,.10) 100%),
    linear-gradient(to top,
      rgba(0,38,36,.90) 0%, rgba(0,38,36,0) 50%, rgba(0,38,36,.50) 100%),
    url("https://energymov.com.co/wp-content/uploads/2026/08/hero-metro.jpg");
  background-size: cover, cover, cover;
  background-position: center, center, center;
  background-repeat: no-repeat;
}
/* rejilla tecnica + catenaria + via */
.em-hero::after {
  z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%3E%3Cpath%20d%3D%22M56%200%20H0%20V56%22%20stroke%3D%22rgba%28255%2C255%2C255%2C0.06%29%22%20stroke-width%3D%221%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E"), url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%20120%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2020%20H1200%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.25%29%22%20stroke-width%3D%221.5%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M0%2020%20Q75%2062%20150%2020%20T300%2020%20T450%2020%20T600%2020%20T750%2020%20T900%2020%20T1050%2020%20T1200%2020%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.25%29%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%22120%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.25%29%22%20stroke-width%3D%222%22%2F%3E%3Cline%20x1%3D%22300%22%20y1%3D%220%22%20x2%3D%22300%22%20y2%3D%22120%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.25%29%22%20stroke-width%3D%222%22%2F%3E%3Cline%20x1%3D%22600%22%20y1%3D%220%22%20x2%3D%22600%22%20y2%3D%22120%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.25%29%22%20stroke-width%3D%222%22%2F%3E%3Cline%20x1%3D%22900%22%20y1%3D%220%22%20x2%3D%22900%22%20y2%3D%22120%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.25%29%22%20stroke-width%3D%222%22%2F%3E%3Cline%20x1%3D%221200%22%20y1%3D%220%22%20x2%3D%221200%22%20y2%3D%22120%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.25%29%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E"), url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%2060%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cpattern%20id%3D%22t%22%20x%3D%226%22%20y%3D%220%22%20width%3D%2230%22%20height%3D%2260%22%20patternUnits%3D%22userSpaceOnUse%22%3E%3Cline%20x1%3D%220%22%20y1%3D%2214%22%20x2%3D%220%22%20y2%3D%2246%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.25%29%22%20stroke-width%3D%223%22%2F%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%221200%22%20height%3D%2260%22%20fill%3D%22url%28%23t%29%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2220%22%20x2%3D%221200%22%20y2%3D%2220%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.25%29%22%20stroke-width%3D%221.5%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2240%22%20x2%3D%221200%22%20y2%3D%2240%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.25%29%22%20stroke-width%3D%221.5%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: repeat, no-repeat, no-repeat;
  background-position: 0 0, 0 64px, 0 100%;
  background-size: 56px 56px, 100% 96px, 100% 40px;
  opacity: .85;
}
.em-hero > .e-con-inner { position: relative; z-index: 1; }

.em-hero-badge {
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  /* Un contenedor hijo ocupa todo el ancho por defecto: aqui debe abrazar
     su contenido, como en el prototipo. */
  width: fit-content;
  max-width: 100%;
}
.em-hero-badge::before {
  content: '';
  flex: 0 0 auto;
  width: 2px;
  height: 24px;
  background: #B6E630;
}

/* ---------- 3. Motivos ferroviarios en las secciones claras ---------- */
.em-rail-top, .em-rail-bottom, .em-catenary-top, .em-diferencial { position: relative; overflow: hidden; }
.em-rail-top::before, .em-rail-bottom::before, .em-catenary-top::before {
  content: ''; position: absolute; inset-inline: 0; pointer-events: none;
  background-repeat: no-repeat; background-size: 100% 100%;
}
.em-rail-top::before    { top: 0;    height: 32px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%2060%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cpattern%20id%3D%22t%22%20x%3D%226%22%20y%3D%220%22%20width%3D%2230%22%20height%3D%2260%22%20patternUnits%3D%22userSpaceOnUse%22%3E%3Cline%20x1%3D%220%22%20y1%3D%2214%22%20x2%3D%220%22%20y2%3D%2246%22%20stroke%3D%22rgba%280%2C38%2C36%2C0.07%29%22%20stroke-width%3D%223%22%2F%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%221200%22%20height%3D%2260%22%20fill%3D%22url%28%23t%29%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2220%22%20x2%3D%221200%22%20y2%3D%2220%22%20stroke%3D%22rgba%280%2C38%2C36%2C0.07%29%22%20stroke-width%3D%221.5%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2240%22%20x2%3D%221200%22%20y2%3D%2240%22%20stroke%3D%22rgba%280%2C38%2C36%2C0.07%29%22%20stroke-width%3D%221.5%22%2F%3E%3C%2Fsvg%3E"); }
.em-rail-bottom::before { bottom: 0; height: 32px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%2060%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cpattern%20id%3D%22t%22%20x%3D%226%22%20y%3D%220%22%20width%3D%2230%22%20height%3D%2260%22%20patternUnits%3D%22userSpaceOnUse%22%3E%3Cline%20x1%3D%220%22%20y1%3D%2214%22%20x2%3D%220%22%20y2%3D%2246%22%20stroke%3D%22rgba%280%2C38%2C36%2C0.07%29%22%20stroke-width%3D%223%22%2F%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3Crect%20x%3D%220%22%20y%3D%220%22%20width%3D%221200%22%20height%3D%2260%22%20fill%3D%22url%28%23t%29%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2220%22%20x2%3D%221200%22%20y2%3D%2220%22%20stroke%3D%22rgba%280%2C38%2C36%2C0.07%29%22%20stroke-width%3D%221.5%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%2240%22%20x2%3D%221200%22%20y2%3D%2240%22%20stroke%3D%22rgba%280%2C38%2C36%2C0.07%29%22%20stroke-width%3D%221.5%22%2F%3E%3C%2Fsvg%3E"); }
.em-catenary-top::before{ top: 0;    height: 80px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%20120%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M0%2020%20H1200%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.2%29%22%20stroke-width%3D%221.5%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M0%2020%20Q75%2062%20150%2020%20T300%2020%20T450%2020%20T600%2020%20T750%2020%20T900%2020%20T1050%2020%20T1200%2020%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.2%29%22%20stroke-width%3D%221.2%22%20fill%3D%22none%22%2F%3E%3Cline%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%22120%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.2%29%22%20stroke-width%3D%222%22%2F%3E%3Cline%20x1%3D%22300%22%20y1%3D%220%22%20x2%3D%22300%22%20y2%3D%22120%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.2%29%22%20stroke-width%3D%222%22%2F%3E%3Cline%20x1%3D%22600%22%20y1%3D%220%22%20x2%3D%22600%22%20y2%3D%22120%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.2%29%22%20stroke-width%3D%222%22%2F%3E%3Cline%20x1%3D%22900%22%20y1%3D%220%22%20x2%3D%22900%22%20y2%3D%22120%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.2%29%22%20stroke-width%3D%222%22%2F%3E%3Cline%20x1%3D%221200%22%20y1%3D%220%22%20x2%3D%221200%22%20y2%3D%22120%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.2%29%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E"); }
.em-rail-top > .e-con-inner,
.em-rail-bottom > .e-con-inner,
.em-catenary-top > .e-con-inner { position: relative; z-index: 1; }

/* ---------- 4. DIFERENCIAL: foto al 20% + degradado + rieles en fuga ---------- */
.em-diferencial::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  /* El prototipo pone la foto al 20 % sobre la tinta y encima el degradado.
     Como aqui es un fondo y no un <img>, el 20 % se consigue con una capa
     solida de tinta al 80 % intercalada. */
  background-image:
    linear-gradient(to top, #002624 0%, rgba(0,38,36,.90) 50%, rgba(0,38,36,.70) 100%),
    linear-gradient(rgba(0,38,36,.80), rgba(0,38,36,.80)),
    url("https://energymov.com.co/wp-content/uploads/2026/08/control-center.jpg");
  background-size: cover, cover, cover;
  background-position: center, center, center;
  background-repeat: no-repeat;
}
.em-diferencial::after {
  content: ''; position: absolute; right: -40px; bottom: 0;
  width: 448px; height: 288px; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20400%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M120%20400%20L285%2040%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%222%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M480%20400%20L315%2040%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%222%22%20fill%3D%22none%22%2F%3E%3Cline%20x1%3D%22120.0%22%20y1%3D%22400.0%22%20x2%3D%22480.0%22%20y2%3D%22400.0%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%223.10%22%2F%3E%3Cline%20x1%3D%22132.7%22%20y1%3D%22373.8%22%20x2%3D%22467.3%22%20y2%3D%22373.8%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%222.91%22%2F%3E%3Cline%20x1%3D%22145.4%22%20y1%3D%22347.7%22%20x2%3D%22454.6%22%20y2%3D%22347.7%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%222.72%22%2F%3E%3Cline%20x1%3D%22158.1%22%20y1%3D%22321.5%22%20x2%3D%22441.9%22%20y2%3D%22321.5%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%222.52%22%2F%3E%3Cline%20x1%3D%22170.8%22%20y1%3D%22295.4%22%20x2%3D%22429.2%22%20y2%3D%22295.4%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%222.33%22%2F%3E%3Cline%20x1%3D%22183.5%22%20y1%3D%22269.2%22%20x2%3D%22416.5%22%20y2%3D%22269.2%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%222.14%22%2F%3E%3Cline%20x1%3D%22196.2%22%20y1%3D%22243.1%22%20x2%3D%22403.8%22%20y2%3D%22243.1%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%221.95%22%2F%3E%3Cline%20x1%3D%22208.8%22%20y1%3D%22216.9%22%20x2%3D%22391.2%22%20y2%3D%22216.9%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%221.75%22%2F%3E%3Cline%20x1%3D%22221.5%22%20y1%3D%22190.8%22%20x2%3D%22378.5%22%20y2%3D%22190.8%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%221.56%22%2F%3E%3Cline%20x1%3D%22234.2%22%20y1%3D%22164.6%22%20x2%3D%22365.8%22%20y2%3D%22164.6%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%221.37%22%2F%3E%3Cline%20x1%3D%22246.9%22%20y1%3D%22138.5%22%20x2%3D%22353.1%22%20y2%3D%22138.5%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%221.18%22%2F%3E%3Cline%20x1%3D%22259.6%22%20y1%3D%22112.3%22%20x2%3D%22340.4%22%20y2%3D%22112.3%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%220.98%22%2F%3E%3Cline%20x1%3D%22272.3%22%20y1%3D%2286.2%22%20x2%3D%22327.7%22%20y2%3D%2286.2%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%220.79%22%2F%3E%3Cline%20x1%3D%22285.0%22%20y1%3D%2260.0%22%20x2%3D%22315.0%22%20y2%3D%2260.0%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%220.60%22%2F%3E%3Cpath%20d%3D%22M40%2060%20H560%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%221.5%22%20fill%3D%22none%22%2F%3E%3Cpath%20d%3D%22M120%2060%20V120%20M300%2060%20V95%20M480%2060%20V120%22%20stroke%3D%22rgba%28182%2C230%2C48%2C0.15%29%22%20stroke-width%3D%221.5%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat; background-size: 100% 100%;
}
.em-diferencial > .e-con-inner { position: relative; z-index: 1; }
/* Tailwind sm: arranca en 640 px y el breakpoint movil de Elementor llega a
   767: entre esos dos valores el referente ya muestra dos columnas. Se fija
   la variable de la rejilla, que es como Elementor la resuelve. */
@media (min-width: 640px) and (max-width: 767px) {
  .em-grid-sm2 { --e-con-grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) { .em-diferencial::after { display: none; } }

/* ---------- 5. CTA final: degradado tinta + rejilla ---------- */
.em-cta { position: relative; overflow: hidden; }
.em-cta::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(140deg, #002624 0%, #001618 100%);
}
.em-cta::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%3E%3Cpath%20d%3D%22M56%200%20H0%20V56%22%20stroke%3D%22rgba%28255%2C255%2C255%2C0.06%29%22%20stroke-width%3D%221%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E"); background-size: 56px 56px; opacity: .5;
}
.em-cta > .e-con-inner { position: relative; z-index: 1; }

/* ---------- 6. Tarjetas ---------- */
.em-card {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.em-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 2px 4px rgba(0,38,36,.08), 0 24px 48px -20px rgba(0,38,36,.28);
  border-color: #97CE6B;
}
.em-glass { transition: border-color .25s ease; }
.em-glass:hover { border-color: rgba(182,230,48,.5); }
.em-solution { overflow: hidden; }
.em-card-media { position: relative; height: 160px; overflow: hidden; }
.em-card-media img { width: 100%; height: 160px; object-fit: cover; opacity: .7; }
/* El badge es un titular nativo, colocado sobre la imagen. */
.em-code {
  position: absolute;
  left: 16px; top: 16px;
  z-index: 2;
  width: auto;
}
.em-code .elementor-heading-title {
  display: inline-block;
  border-radius: 4px;
  background: #B6E630;
  color: #00201F;
  padding: 4px 8px;
}
.em-card-sub p { font-weight: 500; }

/* ---------- 7. Citas con filete lima ---------- */
.em-quote-text p { font-family: 'Space Grotesk', ui-sans-serif, sans-serif; letter-spacing: -.02em; }

/* ---------- 8. Proceso: rejilla de 1 px sobre el color de borde ---------- */
.em-step { transition: background-color .25s ease; }
.em-step:hover { background-color: #EAF2F1; }
.em-step-rule .elementor-divider { padding: 0; }
.em-step-rule .elementor-divider-separator { border-top-color: #D5E1E0; }

/* ---------- 9. Botones ---------- */
.em-btn .elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  transition: transform .25s ease, background-color .25s ease,
              color .25s ease, border-color .25s ease;
}
.em-btn-lime .elementor-button:hover,
.em-btn-ink  .elementor-button:hover { transform: translateY(-2px); }
.em-btn-ghost .elementor-button:hover { border-color: #B6E630; color: #B6E630; }
.em-btn-lime .elementor-button:hover .elementor-button-icon::after { transform: translateX(4px); }
.em-i-arrow-down .elementor-button:hover .elementor-button-icon::after { transform: translateY(3px); }
.em-btn-outline .elementor-button {
  background: transparent; color: #002624; border: 1px solid #CFDADA;
}
.em-btn-outline .elementor-button:hover { border-color: #B6E630; }

/* ---------- 10. Desplegable «Ver detalle rapido» ----------
   Widget Toggle, no Accordion: el acordeon de Elementor abre siempre el
   primer item y el prototipo arranca cerrado.                          */
.em-toggle .elementor-toggle-item { border: 0; border-top: 1px solid #D5E1E0; }
.em-toggle .elementor-tab-title {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 0;
  text-align: left;
}
/* Elementor imprime SIEMPRE el icono antes del titulo, sea cual sea
   icon_align (toggle.php:635). Con margin-left:auto sobre el icono se
   arrastraba tambien el texto hacia la derecha: hay que reordenar. */
.em-toggle .elementor-toggle-title {
  order: 1;
  flex: 1 1 auto;
  text-align: left;
}
.em-toggle .elementor-toggle-icon {
  order: 2;
  margin: 0 0 0 auto;
  float: none;
  width: auto;
  font-size: 12px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}
.em-toggle .elementor-toggle-icon svg { width: 14px; height: 14px; }
.em-toggle .elementor-tab-content { padding: 0 0 16px; border: 0; }
.em-toggle .elementor-tab-content p { margin: 0 0 12px; }
.em-toggle .elementor-tab-content p:last-child { margin-bottom: 0; }
.em-toggle .elementor-tab-content strong { color: #002624; }

/* ---------- 11. Formulario ---------- */
.em-form .elementor-field-textual { min-height: 46px; }
.em-form .elementor-field-textual::placeholder { color: rgba(255,255,255,.3); }
.em-form .elementor-field-textual:focus {
  border-color: #B6E630 !important;
  box-shadow: 0 0 0 3px rgba(182,230,48,.18);
  outline: none;
}
.em-form .elementor-button { transition: transform .25s ease; }
.em-form .elementor-button:hover { transform: translateY(-2px); }
.em-form .elementor-message-success { color: #B6E630; font-weight: 500; }
.em-form .elementor-message-danger { color: #FF8A8A; }
.em-form .elementor-field-group.elementor-error .elementor-field {
  border-color: #FF8A8A !important;
}

/* ---------- 12. Navegacion del pie ----------
   El <a> aporta el color de enlace del navegador (azul, morado al visitar) y
   lo hereda el texto: hay que fijarlo sobre el enlace, no solo sobre el span. */
.em-footnav .elementor-icon-list-icon { display: none; }
.em-footnav .elementor-icon-list-items { flex-wrap: wrap; row-gap: 8px; }
.em-footnav .elementor-icon-list-item a,
.em-footnav .elementor-icon-list-item a:visited,
.em-footnav .elementor-icon-list-text {
  color: #5C6D6D !important;
  transition: color .2s ease;
}
.em-footnav .elementor-icon-list-item a:hover,
.em-footnav .elementor-icon-list-item a:hover .elementor-icon-list-text {
  color: #002624 !important;
}

/* ---------- 13. Contenido de los pop-ups nativos ----------
   El contenedor, el velo y el boton de cierre los pinta Elementor con los
   ajustes del documento Popup. Aqui solo va lo de dentro.              */
.em-popup .dialog-message { padding: 0; }
.em-pop-sub p { font-weight: 500; }
.em-pop-diff p { line-height: 1.6; }
.em-analyze .elementor-icon-list-items { display: grid; gap: 8px; }
@media (min-width: 640px) { .em-analyze .elementor-icon-list-items { grid-template-columns: 1fr 1fr; } }
.em-analyze .elementor-icon-list-item { align-items: flex-start; }
.em-analyze .elementor-icon-list-icon { margin-top: 3px; }
.em-analyze .elementor-icon-list-text { overflow-wrap: anywhere; }
.em-pop-cta .elementor-button { width: 100%; }
@media (min-width: 640px) { .em-pop-cta .elementor-button { width: auto; } }
/* El pop-up hereda las fuentes de la marca aunque se abra fuera de la home */
.em-popup, .em-popup .dialog-message {
  font-family: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
}

/* Los botones que abren pop-up no llevan href: se les devuelve el aspecto
   y el comportamiento de boton. */
.em-open .elementor-button { cursor: pointer; }

/* ---------- 13b. Ganchos reservados y contenedor de estilo ----------
   Estas clases van puestas a proposito para que puedas apuntar CSS a esos
   elementos sin buscar el ID aleatorio de Elementor:

     .em-footer   el pie          .em-spec   la tarjeta de la solucion 04
     .em-steps    la rejilla de 4 pasos con separacion de 1 px
     .em-open-1 … .em-open-4      los disparadores de cada pop-up
                                  (los escucha open_selector, no el CSS)     */
.em-footer { position: relative; }
.em-spec   { position: relative; }
.em-steps  { position: relative; }
.em-open-1, .em-open-2, .em-open-3, .em-open-4 { position: relative; }

/* El contenedor de la hoja de estilo no debe ocupar altura */
#em-hoja-de-estilo,
.em-styles-holder {
  min-height: 0; padding: 0; margin: 0; line-height: 0; font-size: 0;
}
.em-styles-holder > .e-con-inner { min-height: 0; padding: 0; }

/* ---------- 13c. Revelado al hacer scroll ----------
   El elemento NACE VISIBLE. Solo cuando el JS del tema confirma que esta
   vivo anade .em-anim-on al <html>, y a partir de ahi se oculta y se revela
   al entrar en pantalla. Si el JS no corriera, o el observador no existiera,
   todo queda visible: es imposible repetir el fallo de las secciones en
   blanco.                                                                */
html.em-anim-on .em-rise {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .55s cubic-bezier(.22,.68,0,1),
              transform .55s cubic-bezier(.22,.68,0,1);
  will-change: opacity, transform;
}
html.em-anim-on .em-rise.is-in {
  opacity: 1;
  transform: none;
}
html.em-anim-on .em-rise-1 { transition-delay: .08s; }
html.em-anim-on .em-rise-2 { transition-delay: .16s; }
html.em-anim-on .em-rise-3 { transition-delay: .24s; }
html.em-anim-on .em-rise-4 { transition-delay: .32s; }
html.em-anim-on .em-rise-5 { transition-delay: .40s; }

/* Microinteracciones: elevacion de tarjeta y flecha del boton, como el
   card-tech y los group-hover del referente. */
.em-btn-lime .elementor-button:hover .elementor-button-icon::after,
.em-btn-ink  .elementor-button:hover .elementor-button-icon::after { transform: translateX(3px); }
.em-open .elementor-button:hover .elementor-button-icon::after { transform: translate(2px,-2px); }

/* Nadie se queda oculto si se pide menos movimiento */
@media (prefers-reduced-motion: reduce) {
  html.em-anim-on .em-rise {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ---------- 14. Anclas ---------- */
html { scroll-behavior: smooth; }
#inicio, #desafios, #diferencial, #soluciones,
#como-trabajamos, #capacidades, #para-quien, #conversemos { scroll-margin-top: 24px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---------- 15. Responsive ---------- */
@media (max-width: 1024px) {
  .em-hero::before {
    background-image:
      linear-gradient(to right, rgba(0,38,36,.95) 0%, rgba(0,38,36,.80) 60%, rgba(0,38,36,.35) 100%),
      linear-gradient(to top, rgba(0,38,36,.90) 0%, rgba(0,38,36,0) 55%, rgba(0,38,36,.55) 100%),
      url("https://energymov.com.co/wp-content/uploads/2026/08/hero-metro.jpg");
  }
}
@media (max-width: 767px) {
  /* En vertical el texto va sobre la foto: se cierra el velo */
  .em-hero::before {
    background-image:
      linear-gradient(to bottom, rgba(0,38,36,.92) 0%, rgba(0,38,36,.82) 45%, rgba(0,38,36,.95) 100%),
      url("https://energymov.com.co/wp-content/uploads/2026/08/hero-metro.jpg");
    background-size: cover, cover;
    background-position: center, center 30%;
  }
  .em-hero::after { background-position: 0 0, 0 40px, 0 100%; opacity: .6; }
  .em-card-media, .em-card-media img { height: 150px; }
  .em-analyze .elementor-icon-list-items { grid-template-columns: 1fr; }
  .em-footnav .elementor-icon-list-items { row-gap: 6px; }
}
@media (max-width: 400px) {
  .em-code { font-size: 10px; padding: 3px 6px; }
}
@media (hover: none) {
  .em-card:hover, .em-btn .elementor-button:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .em-card, .em-btn .elementor-button, .em-step, .em-glass { transition: none; }
  .em-popup .dialog-widget-content { animation: none !important; }
  .elementor-invisible { visibility: visible !important; animation: none !important; }
}
@media print {
  .em-hero::before, .em-hero::after, .em-cta::before, .em-cta::after,
  .em-diferencial::before, .em-diferencial::after { display: none; }
  .em-popup, .elementor-popup-modal { display: none !important; }
  .elementor-invisible { visibility: visible !important; }
  .em-card { box-shadow: none !important; break-inside: avoid; }
}

/* ---------- 16. Nada desborda ---------- */
.em-card, .em-glass, .em-step, .em-seg, .em-cap { min-width: 0; }
.em-card img, .em-popup img { max-width: 100%; height: auto; }
.em-analyze .elementor-icon-list-text,
.em-footnav .elementor-icon-list-text { overflow-wrap: anywhere; }

/* ---------- 17. Foco accesible ---------- */
.em-open .elementor-button:focus-visible,
.em-pop-cta .elementor-button:focus-visible,
.em-popup .dialog-close-button:focus-visible {
  outline: 2.5px solid #B6E630; outline-offset: 3px;
}

.em-lucide .elementor-icon { display: inline-flex; align-items: center; justify-content: center; }
.em-lucide .elementor-icon > i,
.em-lucide .elementor-icon > svg { display: none; }
.em-lucide .elementor-icon::after {
  content: ''; display: block; width: 1em; height: 1em;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center;  mask-position: center;
  -webkit-mask-size: contain;     mask-size: contain;
}
.em-lucide .elementor-icon::after { -webkit-mask-image: var(--em-i); mask-image: var(--em-i); }
.em-i-chart-line { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-activity%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M22%2012h-2.48a2%202%200%200%200-1.93%201.46l-2.35%208.36a.25.25%200%200%201-.48%200L9.24%202.18a.25.25%200%200%200-.48%200l-2.35%208.36A2%202%200%200%201%204.49%2012H2%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-chart-area { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-trending-up%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M16%207h6v6%22%2F%3E%3Cpath%20d%3D%22m22%207-8.5%208.5-5-5L2%2017%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-clipboard-check { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-clipboard-check%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Crect%20width%3D%228%22%20height%3D%224%22%20x%3D%228%22%20y%3D%222%22%20rx%3D%221%22%20ry%3D%221%22%2F%3E%3Cpath%20d%3D%22M16%204h2a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2h2%22%2F%3E%3Cpath%20d%3D%22m9%2014%202%202%204-4%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-recycle { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-recycle%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M7%2019H4.815a1.83%201.83%200%200%201-1.57-.881%201.785%201.785%200%200%201-.004-1.784L7.196%209.5%22%2F%3E%3Cpath%20d%3D%22M11%2019h8.203a1.83%201.83%200%200%200%201.556-.89%201.784%201.784%200%200%200%200-1.775l-1.226-2.12%22%2F%3E%3Cpath%20d%3D%22m14%2016-3%203%203%203%22%2F%3E%3Cpath%20d%3D%22M8.293%2013.596%207.196%209.5%203.1%2010.598%22%2F%3E%3Cpath%20d%3D%22m9.344%205.811%201.093-1.892A1.83%201.83%200%200%201%2011.985%203a1.784%201.784%200%200%201%201.546.888l3.943%206.843%22%2F%3E%3Cpath%20d%3D%22m13.378%209.633%204.096%201.098%201.097-4.096%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-tachometer-alt { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-gauge%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22m12%2014%204-4%22%2F%3E%3Cpath%20d%3D%22M3.34%2019a10%2010%200%201%201%2017.32%200%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-layer-group { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-layers%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M12.83%202.18a2%202%200%200%200-1.66%200L2.6%206.08a1%201%200%200%200%200%201.83l8.58%203.91a2%202%200%200%200%201.66%200l8.58-3.9a1%201%200%200%200%200-1.83z%22%2F%3E%3Cpath%20d%3D%22M2%2012a1%201%200%200%200%20.58.91l8.6%203.91a2%202%200%200%200%201.65%200l8.58-3.9A1%201%200%200%200%2022%2012%22%2F%3E%3Cpath%20d%3D%22M2%2017a1%201%200%200%200%20.58.91l8.6%203.91a2%202%200%200%200%201.65%200l8.58-3.9A1%201%200%200%200%2022%2017%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-compass { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-compass%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m16.24%207.76-1.804%205.411a2%202%200%200%201-1.265%201.265L7.76%2016.24l1.804-5.411a2%202%200%200%201%201.265-1.265z%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-arrow-right { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-arrow-right%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3Cpath%20d%3D%22m12%205%207%207-7%207%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-arrow-down { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-arrow-down%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M12%205v14%22%2F%3E%3Cpath%20d%3D%22m19%2012-7%207-7-7%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-external-link-alt { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-arrow-up-right%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M7%207h10v10%22%2F%3E%3Cpath%20d%3D%22M7%2017%2017%207%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-check { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-check%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-calendar-alt { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-calendar-clock%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M16%2014v2.2l1.6%201%22%2F%3E%3Cpath%20d%3D%22M16%202v3%22%2F%3E%3Cpath%20d%3D%22M21%207.338V5a2%202%200%2000-2-2H5a2%202%200%2000-2%202v14a2%202%200%20002%202h2.338%22%2F%3E%3Cpath%20d%3D%22M3%209h5.859%22%2F%3E%3Cpath%20d%3D%22M8%202v3%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%226%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-check-circle { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-circle-check-big%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M21.801%2010A10%2010%200%201%201%2017%203.335%22%2F%3E%3Cpath%20d%3D%22m9%2011%203%203L22%204%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-train { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-train-front%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M8%203.1V7a4%204%200%200%200%208%200V3.1%22%2F%3E%3Cpath%20d%3D%22m9%2015-1-1%22%2F%3E%3Cpath%20d%3D%22m15%2015%201-1%22%2F%3E%3Cpath%20d%3D%22M9%2019c-2.8%200-5-2.2-5-5v-4a8%208%200%200%201%2016%200v4c0%202.8-2.2%205-5%205Z%22%2F%3E%3Cpath%20d%3D%22m8%2019-2%203%22%2F%3E%3Cpath%20d%3D%22m16%2019%202%203%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-bolt { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-zap%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M15.914%204a1.5%201.5%200%2000-2.474-1.561l-9%209A1.5%201.5%200%20005.5%2014h4.002a.5.5%200%2001.471.666L8.086%2020a1.5%201.5%200%20002.475%201.56l9-9A1.5%201.5%200%200018.5%2010h-3.997a.5.5%200%2001-.472-.667z%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-building { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-building-2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M10%2012h4%22%2F%3E%3Cpath%20d%3D%22M10%208h4%22%2F%3E%3Cpath%20d%3D%22M14%2021v-3a2%202%200%200%200-4%200v3%22%2F%3E%3Cpath%20d%3D%22M6%2010H4a2%202%200%200%200-2%202v7a2%202%200%200%200%202%202h16a2%202%200%200%200%202-2V9a2%202%200%200%200-2-2h-2%22%2F%3E%3Cpath%20d%3D%22M6%2021V5a2%202%200%200%201%202-2h8a2%202%200%200%201%202%202v16%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-tachometer-average { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-gauge-circle%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M15.6%202.7a10%2010%200%201%200%205.7%205.7%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22%2F%3E%3Cpath%20d%3D%22M13.4%2010.6%2019%205%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-project-diagram { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-network%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Crect%20x%3D%2216%22%20y%3D%2216%22%20width%3D%226%22%20height%3D%226%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%2216%22%20width%3D%226%22%20height%3D%226%22%20rx%3D%221%22%2F%3E%3Crect%20x%3D%229%22%20y%3D%222%22%20width%3D%226%22%20height%3D%226%22%20rx%3D%221%22%2F%3E%3Cpath%20d%3D%22M5%2016v-3a1%201%200%200%201%201-1h12a1%201%200%200%201%201%201v3%22%2F%3E%3Cpath%20d%3D%22M12%2012V8%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-wrench { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-wrench%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M14.7%206.3a1%201%200%200%200%200%201.4l1.6%201.6a1%201%200%200%200%201.4%200l3.106-3.105c.32-.322.863-.22.983.218a6%206%200%200%201-8.259%207.057l-7.91%207.91a1%201%200%200%201-2.999-3l7.91-7.91a6%206%200%200%201%207.057-8.259c.438.12.54.662.219.984z%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-subway { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-train-front-tunnel%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M2%2022V12a10%2010%200%201%201%2020%200v10%22%2F%3E%3Cpath%20d%3D%22M15%206.8v1.4a3%202.8%200%201%201-6%200V6.8%22%2F%3E%3Cpath%20d%3D%22M10%2015h.01%22%2F%3E%3Cpath%20d%3D%22M14%2015h.01%22%2F%3E%3Cpath%20d%3D%22M10%2019a4%204%200%200%201-4-4v-3a6%206%200%201%201%2012%200v3a4%204%200%200%201-4%204Z%22%2F%3E%3Cpath%20d%3D%22m9%2019-2%203%22%2F%3E%3Cpath%20d%3D%22m15%2019%202%203%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-tram { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-tram-front%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Crect%20width%3D%2216%22%20height%3D%2216%22%20x%3D%224%22%20y%3D%223%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M4%2011h16%22%2F%3E%3Cpath%20d%3D%22M12%203v8%22%2F%3E%3Cpath%20d%3D%22m8%2019-2%203%22%2F%3E%3Cpath%20d%3D%22m18%2022-2-3%22%2F%3E%3Cpath%20d%3D%22M8%2015h.01%22%2F%3E%3Cpath%20d%3D%22M16%2015h.01%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-route { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-route%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Ccircle%20cx%3D%226%22%20cy%3D%2219%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M9%2019h8.5a3.5%203.5%200%200%200%200-7h-11a3.5%203.5%200%200%201%200-7H15%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%225%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-city { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-building%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M12%2010h.01%22%2F%3E%3Cpath%20d%3D%22M12%2014h.01%22%2F%3E%3Cpath%20d%3D%22M12%206h.01%22%2F%3E%3Cpath%20d%3D%22M16%2010h.01%22%2F%3E%3Cpath%20d%3D%22M16%2014h.01%22%2F%3E%3Cpath%20d%3D%22M16%206h.01%22%2F%3E%3Cpath%20d%3D%22M8%2010h.01%22%2F%3E%3Cpath%20d%3D%22M8%2014h.01%22%2F%3E%3Cpath%20d%3D%22M8%206h.01%22%2F%3E%3Cpath%20d%3D%22M9%2022v-3a1%201%200%200%201%201-1h4a1%201%200%200%201%201%201v3%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%222%22%20width%3D%2216%22%20height%3D%2220%22%20rx%3D%222%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-file-signature { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-file-signature%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M14.364%2013.634a2%202%200%200%200-.506.854l-.837%202.87a.5.5%200%200%200%20.62.62l2.87-.837a2%202%200%200%200%20.854-.506l4.013-4.009a1%201%200%200%200-3.004-3.004z%22%2F%3E%3Cpath%20d%3D%22M14.487%207.858A1%201%200%200%201%2014%207V2%22%2F%3E%3Cpath%20d%3D%22M20%2019.645V20a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2h8a2.4%202.4%200%200%201%201.704.706l2.516%202.516%22%2F%3E%3Cpath%20d%3D%22M8%2018h1%22%2F%3E%3C%2Fsvg%3E"); }
.em-i-landmark { --em-i: url("data:image/svg+xml,%3Csvg%20class%3D%22lucide%20lucide-landmark%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%3Cpath%20d%3D%22M10%2018v-7%22%2F%3E%3Cpath%20d%3D%22M11.119%202.205a2%202%200%200%201%201.762%200l7.84%203.846A.5.5%200%200%201%2020.5%207h-17a.5.5%200%200%201-.22-.949z%22%2F%3E%3Cpath%20d%3D%22M14%2018v-7%22%2F%3E%3Cpath%20d%3D%22M18%2018v-7%22%2F%3E%3Cpath%20d%3D%22M3%2022h18%22%2F%3E%3Cpath%20d%3D%22M6%2018v-7%22%2F%3E%3C%2Fsvg%3E"); }
.em-btn .elementor-button-icon > svg,
.em-btn .elementor-button-icon > i { display: none; }
.em-btn .elementor-button-icon::after {
  content: ''; display: block; width: 1em; height: 1em;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center;  mask-position: center;
  -webkit-mask-size: contain;     mask-size: contain;
  transition: transform .25s ease;
}
.em-btn .elementor-button-icon::after { -webkit-mask-image: var(--em-i); mask-image: var(--em-i); }
