/* CSS específico de la home — extraído de index.html */

  /* ============================================================
     INSIGHTS HOME — editorial premium
  ============================================================ */
  .ins-sec { background:var(--bg,#F3F2EE); padding:7rem 0; }

  .ins-header {
    display:flex;align-items:flex-end;justify-content:space-between;
    margin-bottom:3.5rem;gap:2rem;flex-wrap:wrap;
  }

  /* Grid: 55% destacada + 45% columna */
  .ins-grid {
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:1.2rem;
    align-items:stretch;
  }

  /* ---- CARD DESTACADA ---- */
  .ins-feat {
    display:flex;flex-direction:column;
    background:#1C1C1C;border-radius:16px;
    overflow:hidden;text-decoration:none;
    border:1px solid rgba(255,255,255,.06);
    transition:transform .35s ease, box-shadow .35s ease;
    height:100%;
  }
  .ins-feat:hover { transform:translateY(-4px);box-shadow:0 20px 56px rgba(0,0,0,.4); }
  .ins-feat:hover .ins-feat-img-inner { transform:scale(1.03); }
  .ins-feat:hover .ins-feat-cta { gap:10px; }

  /* Imagen: 55% de la card */
  .ins-feat-img {
    position:relative;overflow:hidden;
    height:0;padding-bottom:56%;  /* ratio 16:9 */
    background:#0F1419;flex-shrink:0;
  }
  .ins-feat-img-inner {
    position:absolute;inset:0;
    transition:transform .65s ease;
  }
  .ins-feat-ov {
    position:absolute;inset:0;
    background:linear-gradient(to top,rgba(15,20,25,.75) 0%,rgba(15,20,25,.1) 60%,transparent 100%);
    z-index:1;
  }
  .ins-feat-cat {
    position:absolute;bottom:1rem;left:1rem;z-index:2;
    font-size:.63rem;font-weight:700;letter-spacing:.12em;
    text-transform:uppercase;color:#5f79ee;
    background:rgba(15,20,25,.75);backdrop-filter:blur(8px);
    padding:4px 11px;border-radius:100px;
    border:1px solid rgba(95,121,238,.35);
  }

  /* Texto: resto de la card */
  .ins-feat-body {
    padding:1.8rem 2rem 2rem;
    flex:1;display:flex;flex-direction:column;gap:.65rem;
  }
  .ins-feat-title {
    font-size:clamp(1rem,1.5vw,1.3rem);font-weight:700;
    line-height:1.28;letter-spacing:-.02em;
    color:rgba(255,255,255,.9);font-style:italic;
    margin:0;
  }
  .ins-feat-desc {
    font-size:.83rem;color:rgba(255,255,255,.42);
    line-height:1.65;flex:1;margin:0;
  }
  .ins-feat-cta {
    display:inline-flex;align-items:center;gap:6px;
    font-size:.78rem;font-weight:700;color:#5f79ee;
    transition:gap .25s ease;margin-top:.3rem;
  }

  /* ---- COLUMNA DERECHA ---- */
  .ins-col {
    display:flex;flex-direction:column;gap:1.2rem;
  }

  /* ---- CARDS MENORES ---- */
  .ins-minor {
    display:grid;
    grid-template-columns:42% 58%;  /* imagen izq · texto der */
    background:#1C1C1C;border-radius:14px;
    overflow:hidden;text-decoration:none;
    border:1px solid rgba(255,255,255,.06);
    transition:transform .35s ease, box-shadow .35s ease;
    flex:1;min-height:0;
  }
  .ins-minor:hover { transform:translateY(-3px);box-shadow:0 14px 40px rgba(0,0,0,.35); }
  .ins-minor:hover .ins-minor-cta { gap:9px; }

  .ins-minor-img {
    position:relative;overflow:hidden;
    background:#0F1419;
  }
  .ins-minor-img > svg {
    position:absolute;inset:0;
    width:100%;height:100%;
    transition:transform .65s ease;
  }
  .ins-minor:hover .ins-minor-img > svg { transform:scale(1.04); }
  .ins-minor-ov {
    position:absolute;inset:0;
    background:linear-gradient(to right,transparent 60%,rgba(15,20,25,.5) 100%);
    z-index:1;
  }
  .ins-minor-cat {
    position:absolute;bottom:.75rem;left:.75rem;z-index:2;
    font-size:.6rem;font-weight:700;letter-spacing:.12em;
    text-transform:uppercase;color:#5f79ee;
    background:rgba(15,20,25,.75);backdrop-filter:blur(8px);
    padding:3px 9px;border-radius:100px;
    border:1px solid rgba(95,121,238,.28);
  }
  .ins-minor-body {
    padding:1.4rem 1.5rem;
    display:flex;flex-direction:column;
    justify-content:center;gap:.5rem;
  }
  .ins-minor-title {
    font-size:clamp(.85rem,1.1vw,.98rem);font-weight:700;
    line-height:1.32;letter-spacing:-.01em;
    color:rgba(255,255,255,.85);font-style:italic;margin:0;
  }
  .ins-minor-desc {
    font-size:.76rem;color:rgba(255,255,255,.36);
    line-height:1.6;margin:0;
  }
  .ins-minor-cta {
    display:inline-flex;align-items:center;gap:5px;
    font-size:.74rem;font-weight:700;color:#5f79ee;
    transition:gap .25s ease;margin-top:.3rem;
  }

  .ins-d1 { transition-delay:.1s }
  .ins-d2 { transition-delay:.2s }

  /* Responsive */
  @media(max-width:1100px) {
    .ins-grid { grid-template-columns:1fr; }
    .ins-feat-img { padding-bottom:52%; }
  }
  @media(max-width:720px) {
    .ins-sec { padding:5rem 0; }
    .ins-header { flex-direction:column;align-items:flex-start; }
    .ins-minor { grid-template-columns:1fr; }
    .ins-minor-img { height:160px;position:relative; }
    .ins-minor-img > svg { position:absolute; }
    .ins-minor-ov { background:linear-gradient(to top,rgba(15,20,25,.5) 0%,transparent 60%); }
    .ins-feat-img { padding-bottom:60%; }
  }



/* === LOGOS CLIENTES EN COLOR — alta especificidad === */
html body section.clients-sec { background:#F3F2EE !important; }
html body .carousel-wrap,
html body .carousel-track    { background:transparent !important; }

html body .client-logo {
  background:transparent !important;
  box-shadow:none !important;
  border:none !important;
}
html body .client-logo {
  height: 60px !important;
  min-width: 140px !important;
}
html body .client-logo img,
html body .carousel-track .client-logo img {
  height: 44px !important;
  max-width: 150px !important;
  width: auto !important;
  filter: grayscale(1) brightness(0.2) !important;
  -webkit-filter: grayscale(1) brightness(0.2) !important;
  opacity: 0.85 !important;
  mix-blend-mode: normal !important;
  background: transparent !important;
  image-rendering: -webkit-optimize-contrast;
}
html body .client-logo:hover img,
html body .carousel-track .client-logo:hover img {
  filter: grayscale(0) brightness(1) !important;
  opacity: 1 !important;
}
/* ft-country: nombres de países en footer — azul, bold, visible */
.ft-country {
  color: #5f79ee !important;
  font-weight: 700 !important;
  font-size: 0.68rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  display: block !important;
  margin-top: 1rem !important;
  margin-bottom: 0.4rem !important;
}
.ft-country:first-child { margin-top: 0 !important; }

/* Quitar gradientes laterales del carousel */
html body .carousel-wrap::before,
html body .carousel-wrap::after,
html body section.clients-sec::before,
html body section.clients-sec::after {
  display: none !important;
  content: none !important;
  background: none !important;
  opacity: 0 !important;
}

  /* ============================================================
     HOME — RESPONSIVE MOBILE (overrides sobre responsive.css)
  ============================================================ */
  @media(max-width:768px) {
    /* Hero */
    .hero { padding: 90px 0 40px !important; min-height: auto !important; }
    .hero-grid { grid-template-columns:1fr !important; gap:1.5rem !important; }
    .hero-h1 { font-size:clamp(2.2rem,9vw,3.2rem) !important; line-height:1.05 !important; }
    .hero-sub { font-size:.95rem !important; max-width:100% !important; }
    .hero-ctas { flex-direction:row !important; align-items:center !important; gap:10px !important; flex-wrap:wrap !important; }
    .hero-ctas .btn { width:auto !important; }
    /* GIF manos: hero blanco en mobile para que el fondo blanco del GIF sea invisible */
    .hero { background: #FFFFFF !important; }
    .hero-visual { height:auto !important; border-radius:0 !important; min-height:180px !important; justify-content:center !important; display:flex !important; background:transparent !important; }
    .hero-gif { max-width:90% !important; height:auto !important; mix-blend-mode:normal !important; }
    .hero-stats { gap:1.5rem !important; flex-wrap:wrap !important; padding-top:1.4rem !important; }
    .hstat-n { font-size:clamp(1.7rem,7vw,2.2rem) !important; }

    /* Casos */
    .casos-grid { grid-template-columns:1fr !important; }

    /* Servicios */
    .servicios-grid,
    .svc-grid { grid-template-columns:1fr !important; }

    /* Nosotros */
    .nosotros-grid { grid-template-columns:1fr !important; gap:0 !important; }
    .nosotros-visual {
      height:320px !important;
      border-radius:0 !important;
      min-height:unset !important;
    }
    .nosotros-grid > div:first-child { padding: 3rem 0 2.5rem !important; }
    .nosotros-h2 { font-size:clamp(1.6rem,7vw,2.2rem) !important; }

    /* Certificaciones mobile — scroll horizontal para ver logos grandes */
    .certs-sec { padding: 1.5rem 0 !important; }
    .certs-sec .container > div {
      overflow-x: auto !important;
      overflow-y: hidden !important;
      -webkit-overflow-scrolling: touch !important;
      justify-content: flex-start !important;
      padding-bottom: 8px !important;
      white-space: nowrap !important;
    }
    .certs-sec img {
      min-width: 600px !important;
      max-width: none !important;
      height: 80px !important;
      width: auto !important;
    }

    /* Insights */
    .ins-header { flex-direction:column !important; align-items:flex-start !important; }
    .ins-grid { grid-template-columns:1fr !important; }

    /* CTA final */
    .cta-h { font-size:clamp(1.8rem,8vw,3rem) !important; }
    .cta-acts { flex-direction:column !important; align-items:center !important; gap:12px !important; }
    .cta-acts .btn { width:100% !important; justify-content:center !important; max-width:320px !important; }
    .btn-cta-outline, .btn-cta-blue { width:100% !important; max-width:320px !important; justify-content:center !important; padding:14px 24px !important; font-size:0.95rem !important; }

    /* Header */
    .hdr-actions .btn-wa-hdr { display:none !important; }
  }

  @media(max-width:480px) {
    .hero-h1 { font-size:clamp(2rem,10vw,2.8rem) !important; }
    .hero { background: #FFFFFF !important; }
    .hero-visual { height:auto !important; border-radius:0 !important; min-height:180px !important; }
    .hero-gif { max-width:100% !important; mix-blend-mode:normal !important; }
    .nosotros-h2 { font-size:clamp(1.4rem,8vw,2rem) !important; }
    .hero-stats { gap:.8rem !important; }
    .hstat-n { font-size:clamp(1.5rem,6vw,2rem) !important; }
    .cta-acts .btn { max-width:100% !important; }
  }

  /* Nosotros section — fondo y GIF unificados */
  .nosotros-sec {
    background: #0A0A0A !important;
  }
  .nosotros-visual {
    border-radius: 0 !important;
    background: #000000 !important;
  }

  .nosotros-sec { background: #000000 !important; padding-bottom: 0 !important; }
  .nosotros-visual { background: #000000 !important; border-radius: 0 !important; margin: 0 !important; }
  .nosotros-visual img { display:block!important;width:100%!important;height:100%!important;object-fit:contain!important; }
  .nosotros-grid { align-items: stretch !important; }

  /* value-cards-stack — 4 cards en grid 2x2, sin apilado */
  .value-visual {
    overflow: visible !important;
    position: relative !important;
  }
  .value-cards-stack {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .75rem !important;
    position: static !important;
    transform: none !important;
    height: auto !important;
  }
  .vcard {
    position: static !important;
    transform: none !important;
    top: auto !important;
    width: auto !important;
    opacity: 1 !important;
    box-shadow: none !important;
    border: 0.5px solid rgba(10,10,10,.1) !important;
    border-radius: 14px !important;
    padding: 1.1rem !important;
    background: white !important;
    display: flex !important;
    flex-direction: column !important;
    gap: .5rem !important;
    min-width: 0 !important;
  }
  .vcard-ico {
    width: 34px !important;
    height: 34px !important;
    background: rgba(95,121,238,.08) !important;
    border-radius: 9px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #5f79ee !important;
    flex-shrink: 0 !important;
  }
  .vcard-ico svg {
    width: 16px !important;
    height: 16px !important;
  }
  .vcard-t {
    font-size: .84rem !important;
    font-weight: 700 !important;
    color: #0A0A0A !important;
    line-height: 1.25 !important;
    margin: 0 !important;
  }
  .vcard-d {
    font-size: .75rem !important;
    color: #6B6B63 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
  }
  /* Mobile: columna única */
  @media(max-width:768px) {
    .value-cards-stack {
      grid-template-columns: 1fr !important;
    }
  }

  /* SERVICIOS GRID — fix independiente del home.css externo */
  .svc-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.5rem !important;
  }
  .svc-card {
    display: flex !important;
    flex-direction: column !important;
    padding: 1.8rem !important;
    background: white !important;
    border: 0.5px solid rgba(10,10,10,.08) !important;
    border-radius: 16px !important;
    text-decoration: none !important;
    transition: all .3s ease !important;
    color: inherit !important;
  }
  .svc-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 32px rgba(95,121,238,.08) !important;
    border-color: rgba(95,121,238,.25) !important;
  }
  .svc-num {
    font-size: .7rem !important;
    font-weight: 700 !important;
    color: #5f79ee !important;
    letter-spacing: .08em !important;
    margin-bottom: .8rem !important;
  }
  .svc-icon {
    width: 36px !important;
    height: 36px !important;
    background: rgba(95,121,238,.08) !important;
    border-radius: 9px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #5f79ee !important;
    margin-bottom: 1rem !important;
  }
  .svc-icon svg { width: 17px !important; height: 17px !important; }
  .svc-name {
    font-size: .92rem !important;
    font-weight: 700 !important;
    color: #0A0A0A !important;
    margin-bottom: .5rem !important;
  }
  .svc-desc {
    font-size: .8rem !important;
    color: #6B6B63 !important;
    line-height: 1.65 !important;
    flex: 1 !important;
  }
  .svc-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    color: #5f79ee !important;
    margin-top: 1rem !important;
    transition: gap .25s ease !important;
  }
  @media(max-width:1024px) {
    .svc-grid { grid-template-columns: repeat(2, 1fr) !important; }
  }
  @media(max-width:640px) {
    .svc-grid { grid-template-columns: 1fr !important; }
  }

  /* ==========================================
     MOBILE LOADER + HERO FULLSCREEN
     Solo aplica en mobile (max-width:768px)
  ========================================== */

