   
	 :root {
      --esm-navy-950: #06111f;
      --esm-navy-900: #0b1b30;
      --esm-navy-800: #102844;
      --esm-blue-600: #1e73ff;
      --esm-blue-500: #2f8cff;
      --esm-cyan-400: #48c7ff;
      --esm-gold-500: #d7a642;
      --esm-ink: #1c2735;
      --esm-muted: #627085;
      --esm-soft: #f4f7fb;
      --esm-white: #ffffff;
      --esm-border: rgba(255, 255, 255, 0.18);
      --esm-shadow: 0 30px 80px rgba(6, 17, 31, 0.24);
    }

    * {
      box-sizing: border-box;
    }

  /*  body {
      margin: 0;
      background: #ffffff;
      font-family: Arial, Helvetica, sans-serif;
      color: var(--esm-ink);
    }*/

    .esm-qs {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      padding: 160px 0px;
      background:
        radial-gradient(circle at 8% 12%, rgba(47, 140, 255, 0.32), transparent 30%),
        radial-gradient(circle at 88% 8%, rgba(72, 199, 255, 0.18), transparent 28%),
        linear-gradient(135deg, var(--esm-navy-950) 0%, var(--esm-navy-900) 42%, #eef3f9 42%, #ffffff 100%);
    }

    .esm-qs::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -2;
      background-image:
        linear-gradient(rgba(255,255,255,0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.055) 1px, transparent 1px);
      background-size: 54px 54px;
      mask-image: linear-gradient(90deg, black, transparent 76%);
      opacity: 0.48;
    }

    .esm-qs::after {
      content: "";
      position: absolute;
      top: 62px;
      right: -120px;
      width: 420px;
      height: 420px;
      z-index: -1;
      border-radius: 50%;
      border: 1px solid rgba(47, 140, 255, 0.18);
      box-shadow: inset 0 0 80px rgba(47, 140, 255, 0.10);
    }

    .esm-qs__wrap {
      width: min(1180px, 100%);
      margin: 0 auto;
    }

    .esm-qs__top {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
      gap: 34px;
      align-items: stretch;
      margin-bottom: 34px;
    }

    .esm-qs__intro {
      color: var(--esm-white);
      padding: 8px 0 18px;
    }

    .esm-qs__eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 18px;
      color: #b8dcff;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: 2.2px;
      text-transform: uppercase;
    }

    .esm-qs__eyebrow::before {
      content: "";
      width: 34px;
      height: 2px;
      border-radius: 99px;
      background: linear-gradient(90deg, var(--esm-blue-500), var(--esm-cyan-400));
    }

    .esm-qs h2,
    .esm-qs h3,
    .esm-qs p {
      margin-top: 0;
    }

    .esm-qs__intro h2 {
      margin-bottom: 20px;
      font-size: clamp(42px, 6vw, 72px);
      line-height: 0.94;
      letter-spacing: -2.8px;
      font-weight: 850;
    }

    .esm-qs__intro p {
      max-width: 680px;
      margin-bottom: 28px;
      color: rgba(255, 255, 255, 0.82);
      font-size: clamp(17px, 1.6vw, 20px);
      line-height: 1.72;
    }

    .esm-qs__badges {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
    }

    .esm-qs__badge {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      padding: 12px 15px;
      border-radius: 999px;
      color: rgba(255, 255, 255, 0.90);
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.14);
      backdrop-filter: blur(14px);
      font-size: 13px;
      font-weight: 700;
      white-space: nowrap;
    }

    .esm-qs__badge i {
      width: 7px;
      height: 7px;
      border-radius: 99px;
      background: var(--esm-cyan-400);
      box-shadow: 0 0 14px rgba(72, 199, 255, 0.9);
    }

    .esm-qs__identity {
      position: relative;
      padding: 30px;
      border-radius: 32px;
      background: rgba(255, 255, 255, 0.10);
      border: 1px solid var(--esm-border);
      backdrop-filter: blur(22px);
      box-shadow: var(--esm-shadow);
      overflow: hidden;
      color: var(--esm-white);
    }

    .esm-qs__identity::after {
      content: "";
      position: absolute;
      right: -92px;
      bottom: -92px;
      width: 230px;
      height: 230px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(47, 140, 255, 0.28), transparent 70%);
    }

    .esm-qs__identity-kicker {
      margin-bottom: 24px;
      color: rgba(255, 255, 255, 0.62);
      font-size: 13px;
      font-weight: 800;
      letter-spacing: 1.9px;
      text-transform: uppercase;
    }

    .esm-qs__identity h3 {
      position: relative;
      z-index: 1;
      margin-bottom: 14px;
      font-size: clamp(26px, 3vw, 36px);
      line-height: 1.05;
      letter-spacing: -0.8px;
    }

    .esm-qs__identity p {
      position: relative;
      z-index: 1;
      margin-bottom: 26px;
      color: rgba(255, 255, 255, 0.78);
      font-size: 16px;
      line-height: 1.72;
    }

    .esm-qs__mini-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 12px;
    }

    .esm-qs__mini {
      padding: 17px;
      border-radius: 20px;
      background: rgba(255, 255, 255, 0.10);
      border: 1px solid rgba(255, 255, 255, 0.12);
    }

    .esm-qs__mini strong {
      display: block;
      margin-bottom: 6px;
      color: var(--esm-white);
      font-size: 22px;
      line-height: 1;
    }

    .esm-qs__mini span {
      display: block;
      color: rgba(255, 255, 255, 0.66);
      font-size: 12px;
      line-height: 1.4;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.8px;
    }

    .esm-qs__cards {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 24px;
      align-items: start;
      margin-bottom: 24px;
    }

    .esm-qs__card {
      position: relative;
      padding: 30px;
      border-radius: 28px;
      background: rgba(255, 255, 255, 0.98);
      border: 1px solid rgba(15, 38, 65, 0.08);
      box-shadow: 0 22px 70px rgba(6, 17, 31, 0.12);
      overflow: hidden;
    }

    .esm-qs__card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 5px;
      background: linear-gradient(90deg, var(--esm-blue-600), var(--esm-cyan-400), var(--esm-gold-500));
    }

    .esm-qs__card::after {
      content: "";
      position: absolute;
      right: -70px;
      bottom: -80px;
      width: 190px;
      height: 190px;
      border-radius: 50%;
      background: rgba(47, 140, 255, 0.08);
    }

    .esm-qs__icon {
      width: 50px;
      height: 50px;
      display: grid;
      place-items: center;
      margin-bottom: 18px;
      border-radius: 16px;
      background: linear-gradient(135deg, var(--esm-navy-900), var(--esm-navy-800));
      color: var(--esm-white);
      font-size: 24px;
      box-shadow: 0 14px 26px rgba(11, 27, 48, 0.20);
    }

    .esm-qs__card h3 {
      position: relative;
      z-index: 1;
      margin-bottom: 13px;
      color: var(--esm-navy-900);
      font-size: clamp(25px, 3vw, 32px);
      line-height: 1.05;
      letter-spacing: -0.7px;
    }

    .esm-qs__card p {
      position: relative;
      z-index: 1;
      margin-bottom: 0;
      color: var(--esm-muted);
      font-size: 15.5px;
      line-height: 1.62;
    }

    .esm-qs__objectives {
      padding: 38px;
      border-radius: 34px;
      background: rgba(255, 255, 255, 0.98);
      border: 1px solid rgba(15, 38, 65, 0.08);
      box-shadow: 0 24px 74px rgba(6, 17, 31, 0.14);
    }

    .esm-qs__objectives-head {
      display: grid;
      grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
      gap: 28px;
      align-items: end;
      margin-bottom: 30px;
    }

    .esm-qs__objectives-head h3 {
      margin-bottom: 0;
      color: var(--esm-navy-900);
      font-size: clamp(30px, 4vw, 46px);

      line-height: 1.02;
      letter-spacing: -1.4px;
    }

    .esm-qs__objectives-head p {
      margin-bottom: 0;
      color: var(--esm-muted);
      font-size: 17px;
      line-height: 1.68;
    }

    .esm-qs__objectives-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 16px;
    }

    .esm-qs__objective {
      position: relative;
      min-height: 178px;
      padding: 23px 20px 21px;
      border-radius: 23px;
      background: linear-gradient(180deg, #f8fafc, #eef3f8);
      border: 1px solid #e2e9f2;
      overflow: hidden;
      transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
    }

    .esm-qs__objective:hover {
      transform: translateY(-5px);
      border-color: rgba(47, 140, 255, 0.32);
      box-shadow: 0 18px 36px rgba(6, 17, 31, 0.10);
    }

    .esm-qs__objective span {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 38px;
      height: 38px;
      margin-bottom: 18px;
      border-radius: 14px;
      background: #ffffff;
      color: var(--esm-blue-600);
      font-size: 13px;
      font-weight: 900;
      box-shadow: 0 10px 22px rgba(6, 17, 31, 0.08);
    }

    .esm-qs__objective p {
      margin-bottom: 0;
      color: #405064;
      font-size: 15px;
      line-height: 1.55;
    }

    .esm-qs__cta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
      margin-top: 24px;
      padding: 28px;
      border-radius: 30px;
      background:
        radial-gradient(circle at 12% 22%, rgba(72, 199, 255, 0.18), transparent 34%),
        linear-gradient(135deg, var(--esm-navy-950), var(--esm-navy-800));
      color: var(--esm-white);
      box-shadow: 0 20px 58px rgba(6, 17, 31, 0.18);
      overflow: hidden;
    }

    .esm-qs__cta h3 {
      margin-bottom: 7px;
      font-size: clamp(22px, 3vw, 31px);
      line-height: 1.1;
      letter-spacing: -0.5px;
    }

    .esm-qs__cta p {
      margin-bottom: 0;
      color: rgba(255, 255, 255, 0.74);
      font-size: 15.5px;
      line-height: 1.58;
    }

    .esm-qs__cta a {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 52px;
      padding: 0 22px;
      border-radius: 999px;
      background: #ffffff;
      color: var(--esm-navy-900);
      text-decoration: none;
      font-size: 14px;
      font-weight: 850;
      box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
      transition: transform 0.22s ease, box-shadow 0.22s ease;
      white-space: nowrap;
    }

    .esm-qs__cta a:hover {
      transform: translateY(-2px);
      box-shadow: 0 18px 34px rgba(0, 0, 0, 0.22);
    }

    @media (max-width: 1020px) {
      .esm-qs {
        padding: 78px 18px;
      }

      .esm-qs__top,
      .esm-qs__objectives-head {
        grid-template-columns: 1fr;
      }

      .esm-qs__objectives-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 720px) {
      .esm-qs {
        padding: 60px 16px;
        background:
          radial-gradient(circle at 8% 10%, rgba(47, 140, 255, 0.27), transparent 38%),
          linear-gradient(180deg, var(--esm-navy-950) 0%, var(--esm-navy-900) 38%, #eef3f9 38%, #ffffff 100%);
      }

      .esm-qs__intro h2 {
        letter-spacing: -1.6px;
      }

      .esm-qs__cards,
      .esm-qs__objectives-grid,
      .esm-qs__mini-grid {
        grid-template-columns: 1fr;
      }

      .esm-qs__identity,
      .esm-qs__card,
      .esm-qs__objectives,
      .esm-qs__cta {
        padding: 26px;
        border-radius: 26px;
      }

      .esm-qs__cta {
        align-items: flex-start;
        flex-direction: column;
      }

      .esm-qs__cta a {
        width: 100%;
      }
    }
	
/*---------------- original ----------------------------*/	
	
	:root {
      --red:#d11f3a;
      --red-dark:#b6132f;
      --dark:#101114;
      --dark-2:#1b1e24;
      --ink:#23262d;
      --muted:#6a7079;
      --line:#e7e8ec;
      --soft:#f5f6f8;
      --soft-2:#eef1f5;
      --white:#ffffff;
      --shadow:0 24px 70px rgba(16,17,20,.10);
      --shadow-lg:0 38px 90px rgba(10,11,14,.18);
      --radius:28px;
      --container:1280px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
	
	


/* El contenido empieza completamente invisible y abajo desde el inicio */
.contenido-animado {
  opacity: 0;
  transform: translateY(80px);
  will-change: transform, opacity; /* Optimiza el rendimiento del navegador */
  
  /* Forzamos a que respete el estado inicial antes de arrancar */
  animation: subirYEntrar 1.5s ease-out forwards;
}

/* Definición de la animación */
@keyframes subirYEntrar {
  from {
    opacity: 0;
    transform: translateY(80px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
	
    body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:#fff;color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
    
	    img{display:block;max-width:100%}
    a{color:inherit;text-decoration:none}
    button{font:inherit}
    .container{max-width:var(--container);margin:0 auto;padding:0 28px}

    /* Header */
    .header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(20,22,28,.06)}
    
	
	.header-inner {
    min-height: 84px;
    display: flex; /* Mantiene logo y menú en la misma fila horizontal */
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}


	.brand img {
    height: 150px;
    width: auto;
    object-fit: contain; /* Garantiza que la imagen mantenga su proporción original sin deformarse */
    display: block; /* Elimina espacios vacíos fantasmas debajo de las imágenes */
}
.brand {
    flex-shrink: 0; /* Prohíbe rigurosamente que el menú aplaste o deforme el espacio del logotipo */
}
	
	.nav {
    display: flex;
    flex-wrap: wrap; /* Sigue permitiendo las 2 o 3 líneas si se requiere */
    margin: 0 auto; /* Centra el menú horizontalmente en el espacio disponible */
    justify-content: center; /* Si se crean 2 o 3 líneas, los elementos de abajo se centrarán */
    align-items: center;
    gap: 22px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #464b54;
}
	
	.nav a{position:relative}
    .nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--red);transition:.25s ease}
.nav a:hover{color:var(--red)}
.nav a:hover:after{width:100%}
    .nav-cta{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;background:var(--red);color:#fff;box-shadow:0 12px 28px rgba(209,31,58,.22)}
    .nav-cta:hover{background:var(--red-dark)}
    .menu-btn{display:none;width:48px;height:48px;border:none;border-radius:14px;background:var(--soft);align-items:center;justify-content:center;cursor:pointer}
    .menu-btn span,.menu-btn span:before,.menu-btn span:after{display:block;width:20px;height:2px;background:#1d2128;border-radius:2px;position:relative;transition:.2s ease}
    .menu-btn span:before,.menu-btn span:after{content:"";position:absolute;left:0}
    .menu-btn span:before{top:-6px} .menu-btn span:after{top:6px}

    .mobile-nav {
  display: none;
  position: fixed;
  inset: 84px 0 auto 0;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid rgba(20,22,28,.08);
  box-shadow: 0 20px 40px rgba(10,11,14,.08);
}
.mobile-nav.open {
  display: block;
}
.mobile-nav .container {
  padding-top: 18px;
  padding-bottom: 18px;
  display: grid;
  gap: 8px;
}
.mobile-nav a {
  padding: 14px 0;
  font-weight: 800;
  color: #2a2e36;
  border-bottom: 1px solid var(--line);
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: .08em;
}
.mobile-nav a:hover {
  color: var(--red);
}
.mobile-nav a:hover:after {
  width: 100%;
}
.mobile-nav a:last-child {
  border-bottom: none;
}

/* NUEVA REGLA CORREGIDA */
.mobile-nav a.html-widget-menu-link-active {
  color: var(--red);
}
	
	.html-widget-menu-link-active {
  color:var(--red)
}
	

    /* Hero */
    .hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0f1115 0%,#1e2229 42%,#111217 100%);color:#fff; margin-top: -160px; /* Sube la sección 160px */}
    .hero:before{content:"";position:absolute;inset:0;background:
      radial-gradient(circle at 80% 18%, rgba(209,31,58,.38), transparent 24%),
      radial-gradient(circle at 18% 82%, rgba(255,255,255,.08), transparent 16%),
      linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
      background-size:auto,auto,56px 56px,56px 56px;opacity:.98}
    .hero .container{position:relative;z-index:1;padding-top:86px;padding-bottom:84px}
    .hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:center}
    .eyebrow{display:inline-flex;align-items:center;gap:12px;color:#ffd3da;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;margin-bottom:20px}
    .eyebrow:before{content:"";width:44px;height:2px;background:var(--red);display:inline-block}
    h1{margin:0 0 18px;font-size:clamp(44px,6vw,78px);line-height:.95;letter-spacing:-.055em;max-width:800px}
    .hero p{font-size:20px;max-width:720px;color:rgba(255,255,255,.76);margin:0 0 32px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:36px}
    .btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;font-weight:900;letter-spacing:.02em;transition:.2s ease;border:1px solid transparent;cursor:pointer}
    .btn-primary{background:var(--red);color:#fff;box-shadow:0 16px 34px rgba(209,31,58,.22)}
    .btn-primary:hover{background:var(--red-dark);transform:translateY(-1px)}
    .btn-secondary{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.18)}
    .btn-secondary:hover{background:rgba(255,255,255,.12);transform:translateY(-1px)}
    .metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
    .metric{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:18px}
    .metric strong{display:block;font-size:30px;line-height:1;margin-bottom:6px}
    .metric span{display:block;font-size:13px;color:rgba(255,255,255,.70)}




 .hero-panel{position:relative}
    .panel-shell{position:relative;border-radius:34px;padding:22px;background:linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow-lg);overflow:hidden}
    .panel-shell:before{content:"";position:absolute;right:-90px;top:-80px;width:260px;height:260px;border-radius:50%;border:30px solid rgba(255,255,255,.07)}
    .hero-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px; text-align:center;}
    
    .machine{position:absolute;left:14%;right:14%;top:24%;height:38%;border-radius:16px;background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.14));border:1px solid rgba(255,255,255,.42);box-shadow:inset 0 -20px 40px rgba(0,0,0,.18),0 16px 30px rgba(0,0,0,.16)}
    .machine:before{content:"";position:absolute;width:28%;height:58%;right:8%;top:20%;border-radius:50%;border:8px solid rgba(255,255,255,.40)}
    .machine:after{content:"";position:absolute;width:16%;height:16%;left:10%;bottom:-10%;background:rgba(255,255,255,.52);border-radius:6px}
    
	.hero-card{
    min-height:185px;
    border-radius:26px;
    background:linear-gradient(145deg,#dfe5ec,#aeb4bf 46%,#2b2f36);
    overflow:hidden;
    padding:20px;

    display:flex;
    flex-direction:column;
    align-items:center;
}

.hero-cards img{
    width:100%;
    max-width:180px;
    object-fit:contain;
}

.hero-card .label{
    position:static;      /* <-- quitar absolute */
    text-align:center;
    color:#fff;
    text-shadow:0 2px 18px rgba(0,0,0,.65);
}

.hero-card .label b{
    display:block;
    font-size:14px;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:6px;
}

.hero-card .label span{
    display:block;
    font-size:12px;
    color:rgba(255,255,255,.80);
}


@media (max-width:767px){

    .hero-card picture{
        display:block;
        width:100%;
    }

    .hero-card picture img{
        width:100%;
		max-width: 700px;
        height:auto;
        display:block;
    }

}


    /* Generic */
    section{padding:50px 0}
    .light{background:var(--soft)}
    .section-head{max-width:900px;margin-bottom:42px}
    .tag{display:inline-block;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
	.tag:hover {color: #000000;}

    h2{margin:0 0 16px;font-size:clamp(34px,4.8vw,58px);line-height:1.02;letter-spacing:-.045em;color:#1e2024}
    .lead{margin:0;color:var(--muted);font-size:18px}

    /* Intro */
    .intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch}
    .intro-card{background:#fff;border:1px solid var(--line);border-radius:32px;padding:34px;box-shadow:var(--shadow)}
    .intro-card p{margin:0 0 14px;color:var(--muted);font-size:17px}
    .bullet-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;margin-top:22px}
    .bullet{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:#2e323a}
    .bullet:before{content:"•";color:var(--red);font-weight:900}
    .stat-stack{display:grid;gap:16px}
    .stat-box{background:linear-gradient(145deg,#fff,#fafbfd);border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:var(--shadow)}
    .stat-box strong{display:block;font-size:38px;line-height:1;margin-bottom:8px;color:#13161d}
    .stat-box span{display:block;font-size:15px;color:var(--muted)}

    /* Brand cards */
    .brand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
    .brand-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:24px;min-height:280px;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:.2s ease}
    .brand-card:hover{transform:translateY(-4px);box-shadow:0 26px 72px rgba(16,17,20,.14)}
    .brand-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-weight:900;font-size:24px;color:#fff;background:linear-gradient(145deg,#252932,#111319);box-shadow:0 16px 30px rgba(10,11,14,.14)}
    .brand-cat{margin:18px 0 8px;color:var(--red);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
    .brand-card h3{margin:0 0 10px;font-size:24px;letter-spacing:-.03em}
    .brand-card p{margin:0 0 18px;color:var(--muted);font-size:15px}
    .chips{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px}
    .chips span{display:inline-block;padding:7px 10px;border-radius:999px;border:1px solid #eceef2;background:#f7f8fa;font-size:12px;font-weight:800;color:#4d525c}
	
	.brand-card img { max-width: 200px;}

    /* Solutions */
    .solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .solution-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:var(--shadow);min-height:220px}
    .solution-num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#171a20;color:#fff;font-weight:900;margin-bottom:18px}
    .solution-card h3{margin:0 0 10px;font-size:22px}
    .solution-card p{margin:0;color:var(--muted)}

    /* Services */
    .service-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:28px;align-items:stretch}
    .service-list{display:grid;gap:14px}
    .service-item{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;display:grid;grid-template-columns:54px 1fr;gap:16px;box-shadow:var(--shadow)}
    .service-ico{width:54px;height:54px;border-radius:18px;background:#171a20;color:#fff;display:grid;place-items:center;font-size:18px;font-weight:900}
    .service-item h3{margin:0 0 6px;font-size:20px}
    .service-item p{margin:0;color:var(--muted);font-size:15px}
    .service-panel{position:relative;border-radius:34px;background:linear-gradient(145deg,#14171c,#2c3139);overflow:hidden;box-shadow:var(--shadow-lg);min-height:100%}
    .service-panel:before{content:"";position:absolute;right:-90px;top:-90px;width:280px;height:280px;border-radius:50%;border:34px solid rgba(255,255,255,.08)}
    .service-panel:after{content:"";position:absolute;left:-80px;bottom:-80px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle, rgba(209,31,58,.52), transparent 60%)}
    .service-content{position:relative;z-index:1;padding:36px;color:#fff;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
    .service-content h3{margin:0 0 12px;font-size:36px;line-height:1.02;letter-spacing:-.04em}
    .service-content p{margin:0;color:rgba(255,255,255,.76);font-size:16px}

    /* Plans */
    .plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
    .plan{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}
    .plan h3{margin:0 0 8px;font-size:24px}
    .plan p{margin:0 0 16px;color:var(--muted)}
    .plan ul{margin:0;padding-left:18px;display:grid;gap:10px;color:#353944;font-size:15px}

    /* Process */
    .process{background:#16181d;color:#fff}
    .process h2{color:#fff}
    .process .lead{color:rgba(255,255,255,.74)}
    .step-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
    .step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:24px;padding:22px;min-height:220px}
    .step strong{display:block;color:#ff9aad;font-size:18px;margin-bottom:18px}
    .step h3{margin:0 0 10px;font-size:18px}
    .step p{margin:0;color:rgba(255,255,255,.68);font-size:14px}

    /* Contact */
    .contact-band{padding:60px 0 84px;background:linear-gradient(180deg,#16181d 0%,#16181d 50%,#fff 50%,#fff 100%)}
    .contact-card{max-width:var(--container);margin:0 auto;padding:52px 56px;border-radius:40px;background:linear-gradient(135deg,#cb1935,#20242b);color:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:34px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
    .contact-card:before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;border:40px solid rgba(255,255,255,.07)}
    .contact-text{position:relative;z-index:1}
    .contact-card h2{color:#fff;margin-bottom:14px}
    .contact-card p{margin:0;color:rgba(255,255,255,.78);font-size:18px}
    .contact-box{position:relative;z-index:1;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:26px}
	.contact-box a { color: #ffffff; font-weight: 700;}
    .contact-box a:hover { text-decoration: none;  font-weight: 700;  color: #ff0000;}
    .contact-box b{display:block;font-size:19px;margin-bottom:12px}
    .contact-box span{display:block;color:rgba(255,255,255,.80);margin-top:8px}
    
    footer{padding:32px 0;border-top:1px solid #eceef2;background:#fff;color:#6b7078;font-size:13px}
    .footer-flex{display:flex;align-items:center;justify-content:space-between;gap:18px}

    @media (max-width:1160px) {
      .hero-grid,.intro-grid,.service-grid,.contact-card{grid-template-columns:1fr}
      .brand-grid{grid-template-columns:repeat(2,1fr)}
      .solution-grid,.plan-grid{grid-template-columns:repeat(2,1fr)}
      .step-grid{grid-template-columns:repeat(3,1fr)}
      .metrics{grid-template-columns:repeat(2,1fr)}
      .nav{display:none}
      .menu-btn{display:flex}
    }
    @media (max-width:760px) {
      .container{padding:0 20px}
      .header-inner{min-height:74px}
      .brand img{height:100px}
      .hero .container{padding-top:60px;padding-bottom:68px}
      h1{font-size:clamp(38px,12vw,58px)}
      .hero p{font-size:18px}
      section{padding:50px 0} 
      .hero-cards,.metrics,.brand-grid,.solution-grid,.plan-grid,.step-grid,.bullet-grid{grid-template-columns:1fr}
      .contact-card{padding:34px 24px}
      .footer-flex{flex-direction:column;align-items:flex-start}
      .mobile-nav{top:74px}
    }
	
	.redondo{border-top-left-radius:30px; border-top-right-radius:30px;border-bottom-right-radius:0px;border-bottom-left-radius:0px; }

	
.brand-grid1 {display:grid;grid-template-columns:repeat(4,1fr);gap:18px}


.slider-container {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  overflow: hidden;
  transition: height 0.4s ease-in-out; /* Hace que el cambio de tamaño sea suave */
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.slide {
  position: absolute; /* Todas son absolutas siempre */
  top: 0;
  max-width: 100%;           
  max-height: 100%;          
  object-fit: contain; 
  opacity: 0;
  transition: opacity 1s ease-in-out;
  border-radius: 30px 30px 0 0;
}

/* La imagen activa solo cambia su opacidad, ya no altera su posición física */
.slide.active {
  opacity: 1;
}


/* casos de exito*/
/* ===== CE SLIDER BASE ===== */

.ce-slider{
    width:100%;
    max-width:90%;
    margin:50px auto;
    position:relative;
    display:flex;
    align-items:center;
}

/* viewport */
.ce-slider__viewport{
    width:100%;
    overflow:hidden;
}

/* track */
.ce-slider__track{
    display:flex;
    transition:transform .4s ease;
    will-change:transform;
}

/* item */
.ce-slider__item{
    flex:0 0 calc(100% / 3);
    box-sizing:border-box;
    padding:15px;
}

/* contenido */
.ce-slider__item img{
    width:100%;
    height: auto;
    object-fit:cover;
    border-radius:12px;
}

.ce-slider__item h3{
    margin:12px 0 6px;
}

.ce-slider__item p{
    color:#e6e6e6;
}

/* botones */
.ce-slider__button{
    width:45px;
    height:45px;
    border:none;
    border-radius:50%;
    background:#fff;
    box-shadow:0 4px 12px rgba(0,0,0,.15);
    cursor:pointer;
    z-index:2;
}

.ce-slider__button:hover{
    background:#f2f2f2;
}

/* responsive */

@media(max-width:1200px){
    .ce-slider__item{
	flex:0 0 calc(100% / 2);
        flex:0 0 50%;
    }
}

@media(max-width:900px){
    .ce-slider__item{
	flex:0 0 calc(100% / 1);
        flex:0 0 100%;
    }
}



.ce-slider__dots{
    position:absolute;
    bottom:10px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:8px;
}

.ce-slider__dot{
    width:10px;
    height:10px;
    border-radius:50%;
    border:none;
    background:#ccc;
    cursor:pointer;
    transition:.3s;
}

.ce-slider__dot.active{
    background:#333;
    transform:scale(1.2);
}

.ce-slider__item{
    transition: transform .3s ease, opacity .3s ease;
}

.ce-slider__item.active-center{
    transform: scale(1.05);
}


/* Botón VER VIDEO */
.btn-video {
  background: #007bff;
  color: #fff;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  font-weight: bold;
  margin-top: 10px;
  transition: background 0.2s;
}
.btn-video:hover {
  background: #0056b3;
}

/* Ventana flotante sin fondo oscuro */
.ce-modal {
  display: none; /* Oculto por defecto */
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* Centrado matemático perfecto en pantalla */
  width: 90%;
  max-width: 700px;
  background: #000;
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5); /* Sombra suave para separarlo del slider */
  z-index: 99999;
  overflow: visible;
}

/* Botón de cerrar (X) */
.ce-modal__close {
  position: absolute;
  top: -15px;
  right: -15px;
  background: #ff3333;
  color: #fff;
  border: none;
  font-size: 24px;
  cursor: pointer;
  z-index: 100000;
  line-height: 1;
  border-radius: 50%;
  width: 35px;
  height: 35px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

/* Proporción para el video */
.ce-modal__video-container {
  position: relative;
  padding-bottom: 56.25%; /* Relación de aspecto 16:9 */
  height: 0;
  border-radius: 12px;
  overflow: hidden;
}

.ce-modal__video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


.txt-blanco {color: #ffffff;}
.txt-negro {color: #999999;}
