:root{
    --navy:#0F2D5E;
    --navy-dark:#081C3A;
    --blue:#185FA5;
    --sky:#0A84FF;
    --blue-light:#B5D4F4;
    --navy-light:#E6F1FB;
    --teal:#1D9E75;
    --teal-light:#E1F5EE;
    --amber:#BA7517;
    --amber-light:#FAEEDA;
    --red:#FF3A4A;
    --red-light:#FFE8EA;
    --dark:#1A1A1A;
    --mid:#555555;
    --gray-dark:#888888;
    --gray:#F6F8FC;
    --gray-medium:#E0E0E0;
    --white:#FFFFFF;
    --whatsapp:#25D366;
    --whatsapp-dark:#128C7E;
    --radius:14px;
    --radius-sm:8px;
    --maxw:1180px;
    --shadow:0 20px 50px -20px rgba(8,28,58,0.25);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Poppins', Arial, sans-serif;
    color:var(--dark);
    background:var(--white);
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{text-decoration:none; color:inherit;}
  ul{list-style:none; margin:0; padding:0;}
  section{padding:44px 24px;}
  .wrap{max-width:var(--maxw); margin:0 auto;}
  .eyebrow{
    display:inline-block;
    font-size:11px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--sky);
    margin-bottom:14px;
  }
  h1,h2,h3,h4{margin:0; font-weight:800; color:var(--navy); line-height:1.15;}
  h2.section-title{font-size:34px;}
  p{margin:0; color:var(--mid); line-height:1.6;}
  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:700;
    font-size:14.5px;
    padding:14px 26px;
    border-radius:100px;
    cursor:pointer;
    border:2px solid transparent;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
    text-align:center;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--sky); color:var(--white);}
  .btn-primary:hover{box-shadow:0 10px 24px -8px rgba(10,132,255,.55);}
  .btn-outline-light{border-color:rgba(255,255,255,.55); color:var(--white);}
  .btn-outline-light:hover{background:rgba(255,255,255,.1);}
  .btn-outline-navy{border-color:var(--blue); color:var(--blue);}
  .btn-outline-navy:hover{background:var(--navy-light);}
  .btn-navy{background:var(--navy); color:var(--white);}
  .btn-navy:hover{box-shadow:0 10px 24px -8px rgba(15,45,94,.55);}
  .btn-whatsapp{background:var(--whatsapp); color:var(--white);}
  .btn-whatsapp:hover{background:var(--whatsapp-dark); box-shadow:0 10px 24px -8px rgba(37,211,102,.55);}
  .btn-sm{padding:10px 18px; font-size:13.5px;}

  .icon{width:20px; height:20px; stroke:currentColor; stroke-width:1.8; fill:none; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0;}

  /* ---------- HEADER ---------- */
  header{
    position:sticky; top:0; z-index:100;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--gray-medium);
  }
  .header-inner{
    max-width:var(--maxw); margin:0 auto;
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 24px;
  }
  .logo{display:flex; align-items:center; gap:10px;}
  .logo-img{height:57px; width:auto; max-width:270px; object-fit:contain;}
  .logo-mark{
    width:38px; height:38px; border-radius:9px;
    background:linear-gradient(135deg, var(--navy), var(--sky));
    display:flex; align-items:center; justify-content:center;
    color:#fff; font-weight:800; font-size:15px; letter-spacing:.5px;
  }
  .logo-text{display:flex; flex-direction:column; line-height:1.05;}
  .logo-text b{font-size:19px; font-weight:800; color:var(--navy); letter-spacing:.2px;}
  .logo-text span{font-size:10px; font-weight:600; color:var(--gray-dark); letter-spacing:.08em; text-transform:uppercase;}

  nav.main-nav{display:flex; align-items:center; gap:30px;}
  nav.main-nav a{font-size:14.5px; font-weight:600; color:var(--dark); position:relative;}
  nav.main-nav a:hover{color:var(--blue);}
  .nav-cta-mobile{display:none;}
  .header-cta{display:flex; align-items:center; gap:10px;}
  .nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:6px;}
  .nav-toggle .icon{width:26px; height:26px; color:var(--navy);}

  /* ---------- NAV DROPDOWN: Recursos ---------- */
  .nav-dropdown{position:relative;}
  .nav-dropdown-toggle{
    display:flex; align-items:center; gap:5px; background:none; border:none; cursor:pointer;
    font-family:inherit; font-size:14.5px; font-weight:600; color:var(--dark); padding:0;
  }
  .nav-dropdown-toggle:hover{color:var(--blue);}
  .nav-chevron{width:14px; height:14px; transition:transform .2s ease;}
  .nav-dropdown.open .nav-chevron{transform:rotate(180deg);}
  .nav-dropdown-menu{
    position:absolute; top:calc(100% + 16px); left:50%; transform:translateX(-50%);
    background:#fff; border-radius:var(--radius-sm); box-shadow:var(--shadow); border:1px solid var(--gray-medium);
    padding:8px; min-width:180px; display:none; z-index:50;
  }
  .nav-dropdown.open .nav-dropdown-menu{display:block;}
  .nav-dropdown-menu a{
    display:block; padding:9px 12px; border-radius:7px; font-size:14px; font-weight:500; color:var(--dark);
  }
  .nav-dropdown-menu a:hover{background:var(--navy-light); color:var(--navy);}

  @media(max-width:920px){
    nav.main-nav{
      position:fixed; top:70px; left:0; right:0; bottom:0;
      background:var(--white); flex-direction:column; align-items:flex-start;
      padding:30px 28px; gap:22px; transform:translateX(100%);
      transition:transform .25s ease; overflow-y:auto;
    }
    nav.main-nav.open{transform:translateX(0);}
    nav.main-nav a{font-size:18px;}
    .nav-cta-mobile{display:inline-flex; font-size:15px !important;}
    .nav-toggle{display:block;}
    .header-cta .btn-primary{display:none;}

    /* En móvil, el desplegable se comporta como acordeón dentro del panel */
    .nav-dropdown{width:100%;}
    .nav-dropdown-toggle{font-size:18px; width:100%; justify-content:space-between;}
    .nav-dropdown-menu{
      position:static; transform:none; box-shadow:none; border:none; padding:4px 0 0 14px;
      min-width:0; max-height:0; overflow:hidden; display:block;
      border-left:2px solid var(--gray-medium);
    }
    .nav-dropdown.open .nav-dropdown-menu{max-height:300px; padding-top:10px; padding-bottom:4px;}
    .nav-dropdown-menu a{font-size:16px; padding:8px 12px;}
  }

  /* ---------- HERO ---------- */
  .hero{
    background:radial-gradient(ellipse at top right, var(--navy) 0%, var(--navy-dark) 62%);
    padding:70px 24px 0;
    color:var(--white);
    overflow:hidden;
  }
  .hero-inner{
    max-width:var(--maxw); margin:0 auto;
    display:grid; grid-template-columns:1.05fr .95fr; gap:40px;
    align-items:center;
  }
  .hero-hid-logo{height:34px; width:auto; margin-bottom:22px; object-fit:contain;}
  .hero-copy h1{
    font-size:46px; color:var(--white); font-weight:800; margin-bottom:20px;
  }
  .hero-copy h1 em{
    font-style:normal; color:var(--blue-light);
  }
  .hero-copy p.subtext{
    font-size:16.5px; color:rgba(255,255,255,.72); max-width:480px; margin-bottom:16px;
  }
  .hero-copy p.subtext-bridge{
    font-size:14px; color:rgba(255,255,255,.55); max-width:460px; margin-bottom:28px; line-height:1.5;
  }
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-top:22px;}

  /* ---------- PARTNER BADGE (hero, prominente) ---------- */
  .hero-badge{
    display:inline-flex; align-items:center; gap:16px;
    max-width:100%;
  }
  .hero-badge .badge-seal-lg{width:72px; height:72px; flex-shrink:0; object-fit:contain;}
  .hero-badge .badge-copy{line-height:1.3; min-width:0;}
  .hero-badge .badge-copy strong{display:block; font-size:17px; font-weight:800; color:#fff;}
  .hero-badge .badge-copy .badge-sub{display:block; font-size:12px; color:rgba(255,255,255,.6); overflow-wrap:break-word;}
  @media(max-width:560px){
    .hero-badge{gap:12px;}
    .hero-badge .badge-seal-lg{width:56px; height:56px;}
    .hero-badge .badge-copy strong{font-size:14px;}
  }

  .trust-strip{
    border-top:1px solid rgba(255,255,255,.14);
    padding:22px 0 26px;
    display:flex; flex-wrap:wrap; gap:28px;
    font-size:13px; font-weight:600; color:rgba(255,255,255,.78);
  }
  .trust-strip span{display:flex; align-items:center; gap:8px;}
  .trust-strip .icon{width:16px; height:16px; color:var(--sky);}

  /* hero signature visual: credential morph */
  /* ==========================================================================
     ELEMENTO VISUAL DEL HERO ("tarjetas de credencial")
     --------------------------------------------------------------------------
     Esto NO es una imagen — son formas hechas con CSS/HTML puro (rectángulos,
     círculos y degradados) que representan una credencial física y una digital.
     Se pensó así para no usar foto de stock genérica y usar los colores exactos
     de la marca (Navy, Sky, Blue Light).

     PARA AJUSTAR EL DISEÑO ACTUAL: modifica los valores de color, tamaño o
     rotación (transform: rotate) en las clases .card-physical / .card-digital
     de aquí abajo.

     PARA REEMPLAZARLO POR UNA FOTO/ILUSTRACIÓN REAL en el futuro:
     1. Borra el contenido del bloque hero-visual en el HTML (busca ese
        comentario más abajo) y en su lugar pon una etiqueta de imagen normal.
     2. Puedes dejar esta sección de CSS sin usar (no rompe nada), o borrarla.
     ========================================================================== */
  .hero-visual{position:relative; height:420px;}

  .hv-card, .hv-amico, .hv-mobile{
    position:absolute; height:auto;
  }
  .hv-card{
    width:min(230px, 60vw); top:10px; left:0;
    transform:rotate(-8deg);
    filter:drop-shadow(0 25px 45px rgba(0,0,0,.45));
    z-index:1;
  }
  .hv-amico{
    width:min(160px, 42vw); top:45px; left:115px;
    transform:rotate(4deg);
    filter:drop-shadow(0 25px 45px rgba(0,0,0,.5));
    z-index:2;
  }
  .hv-mobile{
    width:min(130px, 34vw); bottom:0; left:65px;
    transform:rotate(-6deg);
    filter:drop-shadow(0 25px 45px rgba(0,0,0,.55));
    z-index:3;
  }

  .float-icon{
    position:absolute; width:46px; height:46px; border-radius:50%;
    background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
    display:flex; align-items:center; justify-content:center; color:var(--blue-light);
    backdrop-filter:blur(4px); z-index:4;
  }
  .float-icon.fi-1{top:0; right:60px;}
  .float-icon.fi-2{bottom:60px; left:0;}

  @media(max-width:920px){
    .hero-inner{grid-template-columns:1fr; text-align:left;}
    .hero-copy h1{font-size:34px;}
    .hero-visual{height:340px; margin-top:10px;}
    .hv-card{left:0; top:0;}
    .hv-amico{left:80px; top:25px;}
    .hv-mobile{left:35px; bottom:0;}
  }

  /* ---------- AUDIENCE SELECTOR ---------- */
  .audience{background:var(--gray);}
  .audience-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:36px;}
  .audience-card{
    background:var(--white); border-radius:var(--radius); padding:36px;
    box-shadow:var(--shadow); border:1px solid var(--gray-medium);
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .audience-card:hover{transform:translateY(-4px);}
  .audience-card .icon-badge{
    width:50px; height:50px; border-radius:12px; background:var(--navy-light);
    display:flex; align-items:center; justify-content:center; color:var(--navy);
    margin-bottom:20px;
  }
  .audience-card h3{font-size:22px; margin-bottom:10px;}
  .audience-card p{margin-bottom:22px;}
  @media(max-width:760px){.audience-grid{grid-template-columns:1fr;}}

  /* ---------- SECTION HEAD ---------- */
  .section-head{max-width:640px; margin-bottom:44px;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

  /* ---------- EN ESTA PÁGINA (overview) ---------- */
  .overview-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
  .overview-item{
    display:block; text-align:left; padding:22px 20px; border-radius:var(--radius);
    background:var(--gray); border:1px solid transparent;
    transition:border-color .2s ease, transform .2s ease, background .2s ease;
  }
  .overview-item:hover{border-color:var(--blue); background:var(--white); transform:translateY(-3px);}
  .overview-item .icon-badge{
    width:40px; height:40px; border-radius:10px; background:var(--sky);
    display:flex; align-items:center; justify-content:center; color:#fff; margin-bottom:14px;
  }
  .overview-item h4{font-size:15px; margin-bottom:6px; color:var(--navy);}
  .overview-item p{font-size:13px; margin:0;}
  @media(max-width:920px){.overview-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.overview-grid{grid-template-columns:1fr;}}

  /* ---------- WHY SIASA ---------- */
  .why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
  .why-card{
    text-align:left; padding:26px 22px; border-radius:var(--radius);
    background:var(--white); border:1px solid var(--gray-medium);
  }
  .why-card .icon-badge{
    width:44px; height:44px; border-radius:11px; background:var(--navy-light);
    display:flex; align-items:center; justify-content:center; color:var(--navy); margin-bottom:16px;
  }
  .why-card h4{font-size:16px; margin-bottom:8px;}
  .why-card p{font-size:14px;}
  .why-foot{text-align:center; margin-top:36px;}
  @media(max-width:920px){.why-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.why-grid{grid-template-columns:1fr;}}

  /* ---------- SOLUTIONS ---------- */
  .solutions{background:var(--gray);}
  .sol-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .sol-card-centered{grid-column:2;}
  .sol-card{
    background:var(--white); border-radius:var(--radius); padding:28px;
    border:1px solid var(--gray-medium); transition:border-color .2s ease, transform .2s ease;
  }
  .sol-card:hover{border-color:var(--blue); transform:translateY(-3px);}
  .sol-card .sol-media{
    width:100%; height:140px; object-fit:cover; display:block;
    border-radius:var(--radius-sm); background:var(--gray); margin-bottom:18px;
  }
  .sol-card h4{font-size:16.5px; margin-bottom:8px;}
  .sol-card p{font-size:14px; margin-bottom:14px;}
  .sol-card .sol-link{font-size:13px; font-weight:700; color:var(--blue); display:inline-flex; align-items:center; gap:5px;}
  @media(max-width:920px){.sol-grid{grid-template-columns:1fr 1fr;} .sol-card-centered{grid-column:auto;}}
  @media(max-width:560px){.sol-grid{grid-template-columns:1fr;} .sol-card-centered{grid-column:auto;}}

  /* ---------- CAPABILITIES MAP (imagen) ---------- */
  .cap-map-wrap{width:100%;}
  .cap-map-img{
    width:100%; height:auto; display:block; margin-top:10px;
    border-radius:var(--radius); background:var(--gray); min-height:280px;
  }

  /* ---------- ECOSISTEMA HID ---------- */
  .ecosystem-img{
    width:100%; height:auto; display:block;
    aspect-ratio:1602/982; object-fit:cover;
    border-radius:var(--radius); background:var(--gray);
  }

  /* ---------- AMICO / CHECA YA TEASER ---------- */
  .amico-banner{
    background:linear-gradient(120deg, var(--navy-dark) 0%, var(--navy) 55%, #0a3f78 100%);
    border-radius:24px; padding:52px 44px; color:#fff; position:relative; overflow:hidden;
    display:grid; grid-template-columns:1.2fr .8fr; gap:30px; align-items:center;
  }
  .amico-banner::after{
    content:""; position:absolute; width:420px; height:420px; border-radius:50%;
    background:radial-gradient(circle, rgba(10,132,255,.28), transparent 70%);
    top:-140px; right:-120px;
  }
  .amico-banner .badge-tag{
    display:inline-flex; align-items:center; gap:6px;
    background:rgba(29,158,117,.18); color:#7CE0BE; font-size:11px; font-weight:700;
    letter-spacing:.08em; text-transform:uppercase; padding:6px 12px; border-radius:100px; margin-bottom:18px;
  }
  .amico-banner h3{color:#fff; font-size:28px; margin-bottom:18px; max-width:520px;}
  .amico-explain{display:flex; flex-direction:column; gap:16px; max-width:540px; margin-bottom:28px;}
  .amico-explain-item{border-left:2px solid rgba(10,132,255,.5); padding-left:16px;}
  .amico-explain-label{display:block; font-size:12px; font-weight:700; color:var(--sky); margin-bottom:4px;}
  .amico-explain-item p{color:rgba(255,255,255,.78); font-size:14px; margin:0;}
  .amico-ctas{display:flex; gap:12px; flex-wrap:wrap;}
  .amico-visual{
    position:relative; z-index:1; justify-self:center;
    width:100%; max-width:280px; aspect-ratio:1/1;
    border-radius:50%; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.16);
    display:flex; align-items:center; justify-content:center;
  }
  .amico-visual .amico-media{width:100%; height:100%; object-fit:cover; border-radius:50%;}
  @media(max-width:860px){
    .amico-banner{grid-template-columns:1fr; padding:38px 26px;}
    .amico-visual{order:-1; max-width:180px;}
  }

  /* ---------- INTEGRATORS ---------- */
  .integradores-banner{
    background:linear-gradient(135deg, var(--navy) 0%, var(--navy-dark) 100%);
    border-radius:24px; padding:52px 44px;
    display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start;
  }
  .integrators-grid{display:grid; grid-template-columns:1fr; gap:16px; margin-top:26px;}
  .integ-card{padding:22px; border-radius:var(--radius); border:1px solid var(--gray-medium);}
  .integ-card .num{font-size:12px; font-weight:800; color:var(--sky); margin-bottom:12px; letter-spacing:.08em;}
  .integ-card h4{font-size:16.5px; margin-bottom:8px;}
  .integ-card p{font-size:14px;}
  .integradores-banner .integ-card{background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.16);}
  .integradores-banner .integ-card h4{color:#fff;}
  .integradores-banner .integ-card p{color:rgba(255,255,255,.68);}
  .integradores-form{padding:32px;}
  .integradores-form h3{color:var(--navy);}
  @media(max-width:860px){
    .integradores-banner{grid-template-columns:1fr; padding:36px 24px;}
  }

  /* ---------- SUCCESS CASES ---------- */
  .cases{background:var(--gray);}
  .cases-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .case-card{background:var(--white); border-radius:var(--radius); overflow:hidden; border:1px solid var(--gray-medium);}
  .case-media{width:100%; height:150px; object-fit:cover; display:block; background:linear-gradient(135deg, var(--navy-light), var(--blue-light)); color:var(--navy);}
  .case-body{padding:22px;}
  .case-body .tag{font-size:11px; font-weight:700; color:var(--teal); background:var(--teal-light); padding:4px 10px; border-radius:100px; display:inline-block; margin-bottom:12px;}
  .case-body p.result{font-size:14.5px; color:var(--dark); font-weight:600; margin-bottom:14px;}
  .case-body a{font-size:13px; font-weight:700; color:var(--blue);}
  @media(max-width:920px){.cases-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.cases-grid{grid-template-columns:1fr;}}

  /* ---------- PRODUCTS ---------- */
  .products-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .product-card{border:1px solid var(--gray-medium); border-radius:var(--radius); overflow:hidden; background:#fff;}
  .product-media{width:100%; height:130px; object-fit:cover; display:block; background:var(--gray); color:var(--blue);}
  .product-body{padding:18px;}
  .product-body h4{font-size:14px; margin-bottom:6px;}
  .product-body p{font-size:12.5px; margin-bottom:10px;}
  .product-body a{font-size:12.5px; font-weight:700; color:var(--blue);}
  @media(max-width:920px){.products-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.products-grid{grid-template-columns:1fr;}}

  /* ---------- VIDEOS ---------- */
  .videos{background:var(--gray);}
  .video-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .video-card{border-radius:var(--radius); overflow:hidden; background:var(--navy-dark); position:relative; aspect-ratio:16/9; display:flex; align-items:center; justify-content:center; cursor:pointer;}
  .video-card::before{content:""; position:absolute; inset:0; background:linear-gradient(160deg, rgba(15,45,94,.4), rgba(8,28,58,.85));}
  .play-btn{
    width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.4); display:flex; align-items:center; justify-content:center;
    color:#fff; position:relative; z-index:1;
  }
  .video-title{
    position:absolute; bottom:0; left:0; right:0; z-index:1; padding:16px;
    font-size:13.5px; font-weight:700; color:#fff;
  }
  @media(max-width:920px){.video-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.video-grid{grid-template-columns:1fr;}}

  /* ---------- ARTICLES ---------- */
  .articles-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .article-card{
    border:1px solid var(--gray-medium); border-radius:var(--radius); padding:26px;
    display:flex; flex-direction:column; gap:14px;
  }
  .article-card .icon-badge{
    width:40px; height:40px; border-radius:10px; background:var(--amber-light); color:var(--amber);
    display:flex; align-items:center; justify-content:center;
  }
  .article-card h4{font-size:15.5px;}
  .article-card p{font-size:13.5px;}
  @media(max-width:920px){.articles-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.articles-grid{grid-template-columns:1fr;}}

  /* ---------- FAQ ---------- */
  .faq-list{display:flex; flex-direction:column; gap:12px; max-width:760px;}
  .faq-item{
    border:1px solid var(--gray-medium); border-radius:var(--radius-sm); padding:18px 20px;
    background:#fff;
  }
  .faq-item summary{
    font-size:15px; font-weight:700; color:var(--navy); cursor:pointer;
    list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:"+"; font-size:20px; font-weight:400; color:var(--blue); flex-shrink:0;
    transition:transform .2s ease;
  }
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item p{margin-top:12px; font-size:14px;}

  /* ---------- NEWS ---------- */
  .news{background:var(--gray);}
  .news-list{display:flex; flex-direction:column; border-top:1px solid var(--gray-medium);}
  .news-item{
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    padding:22px 4px; border-bottom:1px solid var(--gray-medium); flex-wrap:wrap;
  }
  .news-item .date{font-size:12px; font-weight:700; color:var(--gray-dark); min-width:90px;}
  .news-item h4{font-size:15.5px; font-weight:600; color:var(--dark); flex:1;}
  .news-item a{font-size:13px; font-weight:700; color:var(--blue);}

  /* ---------- EVENTS ---------- */
  .events-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
  .event-card{
    display:flex; gap:20px; padding:24px; border-radius:var(--radius); border:1px solid var(--gray-medium);
  }
  .event-date{
    flex-shrink:0; width:64px; height:64px; border-radius:12px; background:var(--navy);
    color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center;
  }
  .event-date .day{font-size:20px; font-weight:800; line-height:1;}
  .event-date .mon{font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;}
  .event-body h4{font-size:15.5px; margin-bottom:6px;}
  .event-body p{font-size:13px; margin-bottom:12px;}
  @media(max-width:760px){.events-grid{grid-template-columns:1fr;}}

  /* ---------- ASÍ TRABAJAMOS ---------- */
  .process-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
  .process-step{padding:24px 20px; border-radius:var(--radius); background:var(--gray);}
  .process-num{font-size:26px; font-weight:800; color:var(--sky); margin-bottom:10px;}
  .process-step h4{font-size:15.5px; margin-bottom:8px;}
  .process-step p{font-size:13.5px;}
  @media(max-width:920px){.process-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.process-grid{grid-template-columns:1fr;}}

  /* ---------- CONTACT ---------- */
  .contact{background:var(--navy-dark); color:#fff;}
  .contact-inner{display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:start;}
  .reassure-tag{
    display:inline-flex; align-items:center; gap:6px;
    font-size:12.5px; font-weight:700; color:var(--teal);
    background:var(--teal-light); padding:6px 14px; border-radius:100px;
  }
  .contact-info h2{color:#fff;}
  .contact-info p{color:rgba(255,255,255,.7); margin:16px 0 26px;}
  .contact-channel{display:flex; align-items:center; gap:14px; margin-bottom:18px;}
  .contact-channel .icon-badge{
    width:42px; height:42px; border-radius:11px; background:rgba(255,255,255,.08);
    display:flex; align-items:center; justify-content:center; color:var(--blue-light); flex-shrink:0;
  }
  .contact-channel .label{font-size:12px; color:rgba(255,255,255,.55); font-weight:600;}
  .contact-channel .value{font-size:15px; font-weight:700; color:#fff;}

  .offer-list{display:flex; flex-direction:column; gap:14px; margin-top:8px;}
  .offer-item{display:flex; align-items:flex-start; gap:12px;}
  .offer-item .icon{width:18px; height:18px; color:var(--sky); flex-shrink:0; margin-top:2px;}
  .offer-item span{font-size:15px; color:rgba(255,255,255,.85); line-height:1.4;}

  form.contact-form{
    background:#fff; border-radius:var(--radius); padding:34px; display:grid; gap:16px;
  }
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .contact-form label{font-size:13px; font-weight:600; color:var(--navy); margin-bottom:6px; display:block;}
  .contact-form input, .contact-form select, .contact-form textarea{
    width:100%; padding:12px 14px; border-radius:var(--radius-sm); border:1.5px solid var(--gray-medium);
    font-family:inherit; font-size:14px; color:var(--dark);
  }
  .contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus{
    outline:none; border-color:var(--sky);
  }
  .contact-form textarea{resize:vertical; min-height:90px;}
  .contact-form .btn{width:100%; justify-content:center; margin-top:4px;}
  .form-required-note{font-size:12px; color:var(--gray-dark); margin:2px 0 0;}
  @media(max-width:920px){.contact-inner{grid-template-columns:1fr;} .form-row{grid-template-columns:1fr;}}

  /* ---------- FOOTER ---------- */
  footer{background:var(--navy-dark); color:rgba(255,255,255,.65); padding:36px 24px 28px; border-top:1px solid rgba(255,255,255,.08);}
  .footer-inner{max-width:var(--maxw); margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;}
  .footer-logo-img{height:51px; width:auto; max-width:240px; object-fit:contain;}
  .footer-links{display:flex; gap:22px; flex-wrap:wrap; font-size:13.5px;}
  .footer-links a:hover{color:#fff;}
  .footer-social{display:flex; gap:12px;}
  .footer-social a{
    width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.18);
    display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.8);
  }
  .footer-bottom{max-width:var(--maxw); margin:24px auto 0; padding-top:20px; border-top:1px solid rgba(255,255,255,.08); font-size:12px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}

  /* ---------- LEAD MODAL ---------- */
  .modal-overlay{
    position:fixed; inset:0; z-index:300; background:rgba(8,28,58,.6);
    display:flex; align-items:center; justify-content:center; padding:20px;
    opacity:0; visibility:hidden; transition:opacity .2s ease;
  }
  .modal-overlay.open{opacity:1; visibility:visible;}
  .modal-box{
    background:#fff; border-radius:var(--radius); padding:36px; max-width:440px; width:100%;
    position:relative; box-shadow:0 30px 70px -20px rgba(8,28,58,.5);
    transform:translateY(10px); transition:transform .2s ease;
  }
  .modal-overlay.open .modal-box{transform:translateY(0);}
  .modal-close{
    position:absolute; top:16px; right:16px; background:none; border:none; cursor:pointer;
    color:var(--gray-dark); padding:4px;
  }
  .modal-close .icon{width:20px; height:20px;}
  .modal-box h3{font-size:20px; margin-bottom:4px;}
  .modal-box p{font-size:13.5px;}
  .modal-success-icon{
    width:56px; height:56px; border-radius:50%; background:var(--teal-light); color:var(--teal);
    display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
  }

  .info-modal-box h3{margin-top:6px;}
  .info-modal-meta{display:block; font-size:12.5px; font-weight:600; color:var(--gray-dark); margin-top:6px;}

  .video-modal-box{max-width:820px; padding:0; background:#000; overflow:hidden;}
  .video-modal-close{color:#fff; background:rgba(0,0,0,.4); border-radius:50%; top:-44px; right:0;}
  .video-embed-wrap{position:relative; padding-top:56.25%; height:0;}
  .video-embed-wrap iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}

  /* ---------- WHATSAPP FLOAT ---------- */
  .wa-float{
    position:fixed; bottom:24px; right:24px; z-index:200;
    width:60px; height:60px; border-radius:50%; background:var(--whatsapp);
    display:flex; align-items:center; justify-content:center; color:#fff;
    box-shadow:0 12px 28px -8px rgba(37,211,102,.6);
    animation:pulse 2.4s infinite;
  }
  .wa-float .icon{width:28px; height:28px; stroke-width:0; fill:currentColor;}
  @keyframes pulse{
    0%{box-shadow:0 12px 28px -8px rgba(37,211,102,.6);}
    50%{box-shadow:0 12px 28px -8px rgba(37,211,102,.9), 0 0 0 10px rgba(37,211,102,.12);}
    100%{box-shadow:0 12px 28px -8px rgba(37,211,102,.6);}
  }

  @media(max-width:920px){
    section{padding:32px 20px;}
    h2.section-title{font-size:27px;}
    .why-grid, .sol-grid, .integrators-grid, .cases-grid, .products-grid, .video-grid, .articles-grid, .events-grid{gap:16px;}
  }