/* ============================================================
   SIF SOLUCIONES EMPRESARIALES - HOME 2026
   Diseño corporativo premium | Azul #0A4F9E + Blanco + Gris claro
   ============================================================ */

:root{
  --sif-azul:#0A4F9E;
  --sif-azul-osc:#083B76;
  --sif-azul-deep:#062C59;
  --sif-azul-claro:#E8F0FA;
  --sif-plata:#C6CDD6;
  --sif-plata-claro:#E3E7EC;
  --sif-gris-bg:#F5F7FA;
  --sif-gris-borde:#E5E9F0;
  --sif-texto:#33404F;
  --sif-texto-suave:#66748A;
  --sif-blanco:#FFFFFF;
  --sif-radio:16px;
  --sif-sombra:0 6px 24px rgba(10,79,158,.08);
  --sif-sombra-hover:0 18px 40px rgba(10,79,158,.16);
  --sif-trans:.35s cubic-bezier(.25,.8,.35,1);
}

/* ---------- Reset del contenedor de secciones nuevas ---------- */
.sif-home{
  font-family:'Segoe UI','Helvetica Neue',Arial,sans-serif;
  color:var(--sif-texto);
  line-height:1.65;
  background:var(--sif-blanco);
  margin-top:60px; /* separación respecto al slide principal */
  margin-left:-15px; /* ancho completo dentro de .container-fluid */
  margin-right:-15px;
  width:calc(100% + 30px);
  overflow-x:hidden;
}
.sif-home *,
.sif-home *::before,
.sif-home *::after{ box-sizing:border-box; }
.sif-home h1,.sif-home h2,.sif-home h3,.sif-home h4{ margin:0; line-height:1.25; }
.sif-home p{ margin:0; }
.sif-home ul{ margin:0; padding:0; list-style:none; }
.sif-home a:not(.sif-btn){ text-decoration:none; color:inherit; }
.sif-home img{ max-width:100%; display:block; }

.sif-container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}

/* ---------- Encabezado de sección ---------- */
.sif-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  font-weight:700;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--sif-azul);
  margin-bottom:18px;
}
.sif-eyebrow::before{
  content:'';
  width:36px; height:2px;
  background:linear-gradient(90deg,var(--sif-azul),var(--sif-plata));
  border-radius:2px;
}
.sif-titulo{
  font-size:40px;
  font-weight:800;
  color:var(--sif-azul-deep);
  letter-spacing:-.5px;
  margin-bottom:18px;
}
.sif-subtitulo{
  font-size:17px;
  color:var(--sif-texto-suave);
  max-width:720px;
  margin:0 auto;
}
.sif-header{ text-align:center; max-width:800px; margin:0 auto 64px; }
.sif-header .sif-subtitulo{ margin:0 auto; }

/* ---------- Botones ---------- */
.sif-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:15px 34px;
  border-radius:50px;
  font-size:15px;
  font-weight:700;
  letter-spacing:.3px;
  border:2px solid transparent;
  cursor:pointer;
  transition:var(--sif-trans);
  white-space:nowrap;
}
.sif-btn svg{ transition:transform var(--sif-trans); }
.sif-btn:hover svg{ transform:translateX(4px); }
.sif-btn-azul{
  background:var(--sif-azul);
  color:#fff;
  box-shadow:0 10px 24px rgba(10,79,158,.32);
}
.sif-btn-azul:hover{
  background:var(--sif-azul-osc);
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 16px 32px rgba(10,79,158,.38);
}
.sif-btn-blanco{
  background:#fff;
  color:var(--sif-azul);
  border-color:rgba(255,255,255,.85);
}
.sif-btn-blanco:hover{
  background:transparent;
  color:#fff;
  border-color:#fff;
  transform:translateY(-3px);
}
.sif-btn-borde{
  background:transparent;
  color:var(--sif-azul);
  border-color:var(--sif-azul);
}
.sif-btn-borde:hover{
  background:var(--sif-azul);
  color:#fff;
  transform:translateY(-3px);
}
.sif-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  font-weight:700;
  color:var(--sif-azul);
  transition:gap var(--sif-trans);
}
.sif-link:hover{ gap:13px; color:var(--sif-azul-osc); }

/* ============================================================
   SECCIÓN 1 - ¿QUÉ PROBLEMA RESOLVEMOS?
   ============================================================ */
.sif-sec-problema{ padding:96px 0; background:#fff; position:relative; overflow:hidden; }
.sif-problema-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:70px;
  align-items:center;
}
.sif-problema-copy .sif-titulo{ margin-bottom:14px; }
.sif-problema-copy .sif-subtitulo{ margin-bottom:36px; }
.sif-problema-copy .sif-problema-lista{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:16px;
}
.sif-problema-item{
  display:flex;
  align-items:center;
  gap:13px;
  background:#fff;
  border:1px solid var(--sif-gris-borde);
  border-radius:14px;
  padding:14px 18px;
  font-size:14.5px;
  font-weight:600;
  color:var(--sif-texto);
  box-shadow:0 3px 12px rgba(15,40,80,.05);
  transition:var(--sif-trans);
}
.sif-problema-item:hover{
  transform:translateY(-4px);
  border-color:rgba(10,79,158,.25);
  box-shadow:0 12px 26px rgba(10,79,158,.12);
}
.sif-problema-item svg{ flex-shrink:0; }
.sif-problema-texto{ flex:1; min-width:0; }
/* Solución que aparece brevemente al pasar el mouse */
.sif-solucion{
  display:block;
  font-size:12.5px;
  font-weight:500;
  color:var(--sif-texto-suave);
  max-height:0;
  margin-top:0;
  opacity:0;
  overflow:hidden;
  transform:translateY(-4px);
  transition:max-height .35s ease, opacity .35s ease, transform .35s ease, margin-top .35s ease;
}
.sif-problema-item:hover .sif-solucion{
  max-height:60px;
  margin-top:3px;
  opacity:1;
  transform:translateY(0);
  transition-delay:.12s;
}

/* CTA con mensaje contextual al hacer hover */
.sif-cta-fila{
  position:relative;
  display:flex;
  width:fit-content;
  max-width:100%;
}
.sif-cta-hint{
  position:absolute;
  left:calc(100% + 26px);
  top:50%;
  transform:translate(-8px,-50%);
  display:flex;
  align-items:flex-start;
  gap:10px;
  width:216px;
  font-size:13.5px;
  font-weight:500;
  line-height:1.45;
  color:var(--sif-texto-suave);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
}
.sif-cta-hint svg{ flex-shrink:0; color:var(--sif-azul); margin-top:1px; }
.sif-cta-fila .sif-btn:hover ~ .sif-cta-hint,
.sif-cta-fila .sif-btn:focus ~ .sif-cta-hint{
  opacity:1;
  visibility:visible;
  transform:translate(0,-50%);
  transition:opacity .3s ease .08s, transform .3s ease .08s, visibility 0s;
}

/* Ilustración corporativa (SVG empresarios + dashboard) */
.sif-problema-visual{ position:relative; width:100%; }
.sif-problema-imagen{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
}
.sif-float-card{
  position:absolute;
  background:#fff;
  border-radius:14px;
  box-shadow:0 16px 36px rgba(10,79,158,.18);
  padding:14px 18px;
  display:flex;
  align-items:center;
  gap:12px;
  animation:sif-float 5s ease-in-out infinite;
}
.sif-float-card strong{ display:block; font-size:15px; color:var(--sif-azul-deep); }
.sif-float-card span{ font-size:12px; color:var(--sif-texto-suave); }
.sif-float-card .sif-fc-icon{
  width:40px; height:40px;
  border-radius:11px;
  display:flex; align-items:center; justify-content:center;
  background:var(--sif-azul-claro);
  color:var(--sif-azul);
  flex-shrink:0;
}
.sif-fc-2{ bottom:9%; left:-30px; animation-delay:2.2s; }
.sif-fc-2 .sif-fc-icon{ background:#DCE9FA; color:#0A4F9E; }
.sif-fc-3{ bottom:9%; right:-30px; animation-delay:1.1s; max-width:250px; }
.sif-fc-3 .sif-fc-icon{ background:#FDF0D9; color:#E08900; }
.sif-fc-3 strong{ font-size:14px; }
@keyframes sif-float{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-12px); }
}

/* ============================================================
   SECCIÓN 2 - NUESTROS SERVICIOS
   ============================================================ */
.sif-sec-servicios{ padding:96px 0; background:var(--sif-gris-bg); position:relative; overflow:hidden; }
.sif-servicios-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}
.sif-servicio-card{
  background:#fff;
  border-radius:var(--sif-radio);
  padding:38px 32px;
  border:1px solid transparent;
  box-shadow:0 4px 18px rgba(15,40,80,.06);
  transition:var(--sif-trans);
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
}
.sif-servicio-card::before{
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
  background:linear-gradient(90deg,var(--sif-azul),#3E7CC7);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .45s cubic-bezier(.25,.8,.35,1);
}
.sif-servicio-card:hover{
  transform:translateY(-10px);
  box-shadow:var(--sif-sombra-hover);
  border-color:rgba(10,79,158,.12);
}
.sif-servicio-card:hover::before{ transform:scaleX(1); }
.sif-servicio-icono{
  width:64px; height:64px;
  border-radius:18px;
  background:var(--sif-azul-claro);
  color:var(--sif-azul);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:24px;
  transition:var(--sif-trans);
}
.sif-servicio-card:hover .sif-servicio-icono{
  background:var(--sif-azul);
  color:#fff;
  transform:scale(1.06) rotate(-4deg);
  box-shadow:0 10px 22px rgba(10,79,158,.3);
}
.sif-servicio-card h3{
  font-size:20px;
  font-weight:800;
  color:var(--sif-azul-deep);
  margin-bottom:10px;
}
.sif-servicio-card p{
  font-size:14.5px;
  color:var(--sif-texto-suave);
  margin-bottom:22px;
  flex:1;
}

/* ============================================================
   SECCIÓN 3 - SOLUCIONES TECNOLÓGICAS SIF
   ============================================================ */
.sif-sec-tech{
  padding:96px 0;
  background:linear-gradient(180deg,#fff 50%,#F4F8FF 100%);
  position:relative;
  overflow:hidden;
}
/* Hero: copy a la izquierda + imagen sangrada a la derecha */
.sif-tech-hero{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:44px;
  align-items:center;
  padding-left:max(24px,calc((100% - 1200px)/2 + 24px));
  padding-right:max(24px,calc((100% - 1200px)/2 + 24px));
}
.sif-tech-copy{ max-width:560px; }
.sif-tech-imagen{ margin-bottom:-56px; }
.sif-tech-imagen img{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
}

/* ============================================================
   SLIDE PRINCIPAL - EL HEADER FIJO NO DEBE TAPAR LAS IMÁGENES
   ============================================================ */
#slide{ margin-top:100px; } /* fallback escritorio; home.js ajusta al alto real del header */
#slide ul li .slideCaption{ background:transparent; } /* era una banda gris translúcida sobre la imagen */
@media (max-width:767px){
  #slide{ margin-top:0; } /* en móvil el header no solapa */
  #slide ul{ height:auto; } /* antes 140px fijos recortaban las imágenes */
}

/* Módulos del sistema */
.sif-modulos-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
  position:relative;
  z-index:2;
}
.sif-modulo{
  flex:0 1 calc(25% - 13.5px);
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
  background:rgba(255,255,255,.95);
  border:1px solid var(--sif-gris-borde);
  border-radius:14px;
  padding:16px 18px;
  transition:var(--sif-trans);
  box-shadow:0 3px 14px rgba(15,40,80,.05);
}
.sif-modulo:hover{
  transform:translateY(-6px);
  border-color:rgba(10,79,158,.22);
  box-shadow:var(--sif-sombra-hover);
}
.sif-modulo-icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:12px;
  background:var(--sif-azul-claro);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--sif-azul);
  transition:var(--sif-trans);
}
.sif-modulo:hover .sif-modulo-icon{ background:#DCE9FA; }
.sif-modulo-icon svg{
  width:26px;
  height:26px;
  margin:0;
  transition:var(--sif-trans);
}
.sif-modulo:hover .sif-modulo-icon svg{ transform:scale(1.1); }
.sif-modulo-texto{ min-width:0; }
.sif-modulo h4{ font-size:15px; font-weight:800; color:var(--sif-azul-deep); margin-bottom:3px; }
.sif-modulo p{ font-size:12.5px; line-height:1.5; color:var(--sif-texto-suave); }
.sif-modulo-cta{
  text-align:center;
  margin-top:44px;
}
.sif-modulo-cta .sif-btn{
  text-transform:uppercase;
  letter-spacing:1.2px;
}

/* ============================================================
   SECCIÓN 4 - ¿POR QUÉ ELEGIR SIF?
   ============================================================ */
.sif-sec-porque{ padding:96px 0; background:var(--sif-gris-bg); position:relative; overflow:hidden; }
.sif-porque-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
}
.sif-porque-lista{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px 28px;
}
.sif-porque-item{ display:flex; align-items:flex-start; gap:15px; }
.sif-porque-check{
  width:44px; height:44px;
  border-radius:12px;
  background:var(--sif-azul-claro);
  border:1px solid transparent;
  color:var(--sif-azul);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  transition:var(--sif-trans);
}
.sif-porque-item:hover .sif-porque-check{
  background:var(--sif-azul);
  color:#fff;
  transform:scale(1.08);
}
.sif-porque-item h4{ font-size:15.5px; font-weight:700; color:var(--sif-azul-deep); margin-bottom:3px; }
.sif-porque-item p{ font-size:13px; color:var(--sif-texto-suave); }

/* Imagen de reunión ejecutiva */
.sif-porque-visual{ position:relative; }
.sif-porque-visual img{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
  box-shadow:0 24px 44px rgba(10,79,158,.16);
}

/* ============================================================
   SECCIÓN 5 - ¿CÓMO TRABAJAMOS?
   ============================================================ */
.sif-sec-proceso{ padding:96px 0; background:#fff; }
.sif-timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
}
.sif-timeline::before{
  content:'';
  position:absolute;
  top:37px; left:9%; right:9%;
  height:2px;
  background:repeating-linear-gradient(90deg,var(--sif-plata) 0 10px,transparent 10px 18px);
  z-index:0;
}
/* Flechas › sobre la línea punteada (desktop) */
.sif-timeline-flecha{
  position:absolute;
  top:37px;
  transform:translate(-50%,-50%);
  color:var(--sif-azul);
  background:#fff;
  padding:4px;
  display:flex;
  z-index:1;
}
.sif-timeline-flecha:nth-of-type(1){ left:25%; }
.sif-timeline-flecha:nth-of-type(2){ left:50%; }
.sif-timeline-flecha:nth-of-type(3){ left:75%; }
.sif-paso{ position:relative; z-index:1; text-align:center; }
.sif-paso-icono{
  width:76px; height:76px;
  margin:0 auto 22px;
  border-radius:24px;
  background:#fff;
  border:2px solid var(--sif-azul-claro);
  color:var(--sif-azul);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 20px rgba(10,79,158,.12);
  transition:var(--sif-trans);
}
.sif-paso:hover .sif-paso-icono{
  background:var(--sif-azul);
  color:#fff;
  border-color:var(--sif-azul);
  transform:translateY(-8px);
  box-shadow:0 16px 34px rgba(10,79,158,.28);
}
.sif-paso-etiqueta{
  display:inline-block;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--sif-azul);
  background:var(--sif-azul-claro);
  border-radius:50px;
  padding:5px 14px;
  margin-bottom:12px;
}
.sif-paso h3{ font-size:19px; font-weight:800; color:var(--sif-azul-deep); margin-bottom:8px; }
.sif-paso p{ font-size:14px; color:var(--sif-texto-suave); max-width:240px; margin:0 auto; }

/* ============================================================
   SECCIÓN 6 - SECTORES QUE ATENDEMOS
   ============================================================ */
.sif-sec-sectores{
  padding:96px 0;
  background:linear-gradient(180deg,#E7F0FA 0%,var(--sif-gris-bg) 34%); /* lavado azul superior */
}
.sif-sectores-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:22px;
}
.sif-sector{
  background:#fff;
  border-radius:var(--sif-radio);
  padding:32px 16px 28px;
  text-align:center;
  border:1px solid var(--sif-azul-claro);
  box-shadow:0 3px 14px rgba(15,40,80,.05);
  transition:var(--sif-trans);
  position:relative;
  overflow:hidden;
}
.sif-sector::after{
  content:'';
  position:absolute;
  bottom:0; left:0; right:0;
  height:3px;
  background:var(--sif-azul);
  transform:scaleX(0);
  transition:transform .4s cubic-bezier(.25,.8,.35,1);
}
.sif-sector:hover{
  transform:translateY(-8px);
  box-shadow:var(--sif-sombra-hover);
  border-color:rgba(10,79,158,.15);
}
.sif-sector:hover::after{ transform:scaleX(1); }
.sif-sector svg{
  margin:0 auto 14px;
  color:var(--sif-azul);
  transition:var(--sif-trans);
}
.sif-sector:hover svg{ transform:scale(1.15) rotate(-5deg); }
.sif-sector h4{ font-size:14.5px; font-weight:700; color:var(--sif-azul-deep); }
.sif-sector-desc{
  font-size:12.5px;
  line-height:1.5;
  color:var(--sif-texto-suave);
  margin-top:7px;
}

/* ============================================================
   SECCIÓN 7 - RECURSOS GRATUITOS
   ============================================================ */
.sif-sec-recursos{
  padding:96px 0;
  background:linear-gradient(180deg,#E7F0FA 0%,#fff 30%); /* lavado azul superior */
}
.sif-recursos-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:22px;
}
.sif-recurso{
  background:#fff;
  border:1px solid var(--sif-azul-claro);
  border-radius:var(--sif-radio);
  padding:26px 22px 24px;
  display:flex;
  flex-direction:column;
  text-align:left;
  transition:var(--sif-trans);
  box-shadow:0 3px 14px rgba(15,40,80,.05);
}
.sif-recurso:hover{
  transform:translateY(-8px);
  box-shadow:var(--sif-sombra-hover);
  border-color:rgba(10,79,158,.18);
}
.sif-recurso-icono{
  width:46px; height:46px;
  margin:0 0 16px;
  border-radius:13px;
  background:var(--sif-azul-claro);
  color:var(--sif-azul);
  display:flex; align-items:center; justify-content:center;
  transition:var(--sif-trans);
}
.sif-recurso:hover .sif-recurso-icono{
  background:var(--sif-azul);
  color:#fff;
  transform:translateY(-4px);
}
/* Miniatura de vista previa del recurso */
.sif-recurso-thumb{
  width:100%;
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--sif-gris-borde);
  margin:2px 0 18px;
  box-shadow:0 4px 14px rgba(15,40,80,.07);
  transition:var(--sif-trans);
}
.sif-recurso:hover .sif-recurso-thumb{ transform:translateY(-3px); box-shadow:0 8px 20px rgba(15,40,80,.12); }
.sif-recurso-thumb svg{ display:block; width:100%; height:auto; }
/* Banner: información → decisiones */
.sif-biblioteca-banner{
  margin-top:44px;
  background:#EDF3FA;
  border:1px solid var(--sif-azul-claro);
  border-radius:18px;
  padding:22px 28px;
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
}
.sif-bb-icono{
  width:48px; height:48px;
  border-radius:13px;
  background:#fff;
  border:1px solid var(--sif-azul-claro);
  color:var(--sif-azul);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.sif-bb-texto{ flex:1; min-width:220px; }
.sif-bb-texto h4{ font-size:16.5px; font-weight:800; color:var(--sif-azul-deep); margin-bottom:2px; }
.sif-bb-texto p{ font-size:13.5px; color:var(--sif-texto-suave); }
.sif-biblioteca-banner .sif-btn{
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:13px;
  padding:13px 26px;
}
.sif-recurso h4{ font-size:16px; font-weight:800; color:var(--sif-azul-deep); margin-bottom:6px; }
.sif-recurso p{ font-size:12.5px; color:var(--sif-texto-suave); margin-bottom:20px; flex:1; }
.sif-recurso .sif-btn{ padding:11px 22px; font-size:13.5px; width:100%; }
.sif-recurso .sif-btn-descargar.sif-ultimo{
  background:var(--sif-azul);
  color:#fff;
}
.sif-recurso .sif-btn-descargar.sif-ultimo:hover{
  background:var(--sif-azul-osc);
  color:#fff;
}

/* Formulario correo (banner "Recibe en tu correo") */
.sif-recursos-form{
  margin:52px auto 0;
  background:
    radial-gradient(620px 340px at 88% -18%, rgba(255,255,255,.16), transparent 62%),
    linear-gradient(120deg,#0A4F9E 0%,#1268C4 55%,#0A55AC 100%);
  border-radius:24px;
  padding:44px 46px;
  display:grid;
  grid-template-columns:280px minmax(0,1fr) 344px;
  gap:38px;
  align-items:center;
  box-shadow:0 24px 50px rgba(10,79,158,.32);
  position:relative;
  overflow:hidden;
}
.sif-recursos-form::before{
  content:'';
  position:absolute;
  right:-70px; top:-100px;
  width:270px; height:270px;
  border-radius:50%;
  background:rgba(255,255,255,.07);
}
.sif-recursos-form::after{
  content:'';
  position:absolute;
  left:36%; bottom:-130px;
  width:250px; height:250px;
  border-radius:50%;
  background:rgba(255,255,255,.055);
}
.sif-rf-ilustracion,
.sif-rf-copy,
.sif-rf-panel{ position:relative; z-index:1; }
.sif-rf-ilustracion svg{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 14px 24px rgba(6,44,89,.38));
}

.sif-rf-copy{ color:#fff; }
.sif-rf-eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:2.6px;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:14px;
}
.sif-rf-eyebrow::before{
  content:'';
  width:34px; height:2px;
  background:rgba(255,255,255,.8);
  border-radius:2px;
}
.sif-rf-copy h3{
  font-size:34px;
  font-weight:800;
  color:#fff;
  letter-spacing:-.4px;
  line-height:1.18;
  margin-bottom:12px;
}
.sif-rf-copy h3 em{ font-style:normal; color:#5FD0F5; }
.sif-rf-desc{
  font-size:15px;
  color:rgba(255,255,255,.9);
  max-width:530px;
  margin-bottom:22px;
}
.sif-rf-beneficios{
  display:flex;
  flex-wrap:wrap;
  gap:26px;
}
.sif-rf-beneficios li{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-size:13.5px;
  font-weight:600;
  line-height:1.3;
}
.sif-rf-beneficios svg{ flex-shrink:0; }

.sif-rf-panel{
  background:rgba(6,44,89,.5);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  padding:22px;
}
.sif-rf-label{
  display:block;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#9FC8F2;
  margin-bottom:10px;
}
.sif-rf-campo{
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
  border-radius:50px;
  padding:5px 18px;
}
.sif-rf-campo input{
  flex:1;
  min-width:0;
  border:none;
  outline:none;
  background:transparent;
  padding:9px 0;
  font-size:14.5px;
  color:var(--sif-texto);
  font-family:inherit;
}
.sif-rf-campo input::placeholder{ color:#9AA7B8; }
.sif-rf-btn{
  width:100%;
  margin-top:14px;
  padding:15px 20px;
  background:linear-gradient(90deg,#1268C4 0%,#2E8BE0 100%);
  border:none;
  border-radius:50px;
  font-size:14px;
  letter-spacing:1.4px;
  text-transform:uppercase;
  justify-content:space-between;
  box-shadow:0 12px 26px rgba(6,44,89,.4);
}
.sif-rf-btn::after{
  content:'';
  width:17px; height:17px;
  flex-shrink:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") no-repeat center/contain;
  transition:var(--sif-trans);
}
.sif-rf-btn:hover{
  background:linear-gradient(90deg,#0E5AB4 0%,#3E9BEA 100%);
  transform:translateY(-2px);
}
.sif-rf-btn:hover::after{ transform:translateX(5px); }
.sif-rf-seguridad{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:14px;
  font-size:12px;
  line-height:1.5;
  color:rgba(255,255,255,.75);
}
.sif-rf-seguridad svg{ flex-shrink:0; margin-top:2px; }

/* ============================================================
   SECCIÓN 8 - BLOG EMPRESARIAL
   ============================================================ */
.sif-sec-blog{ padding:0 0 96px; background:var(--sif-gris-bg); }

/* Hero con foto de fondo */
.sif-blog-hero{
  position:relative;
  padding:74px 0 40px;
  overflow:hidden;
  margin-bottom:34px;
}
.sif-blog-hero::before{
  content:'';
  position:absolute;
  left:-130px; top:-150px;
  width:400px; height:400px;
  border-radius:50%;
  background:rgba(10,79,158,.05);
}
.sif-blog-hero-foto{
  position:absolute;
  right:0; top:0; bottom:0;
  width:min(640px,58%);
  background:
    radial-gradient(circle at 78% 26%, rgba(255,255,255,.55), transparent 42%),
    linear-gradient(120deg,#E3EDF9 0%,#BDD2EA 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 48%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 48%);
}
.sif-blog-hero-contenido{
  position:relative;
  z-index:2;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.sif-blog-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:13px;
  font-weight:700;
  letter-spacing:2.6px;
  text-transform:uppercase;
  color:var(--sif-azul);
  margin-bottom:14px;
}
.sif-blog-eyebrow::before,
.sif-blog-eyebrow::after{
  content:'';
  width:34px; height:2px;
  border-radius:2px;
}
.sif-blog-eyebrow::before{ background:linear-gradient(90deg,transparent,var(--sif-azul)); }
.sif-blog-eyebrow::after{ background:linear-gradient(90deg,var(--sif-azul),transparent); }
.sif-blog-titulo{
  font-size:42px;
  font-weight:800;
  color:var(--sif-azul-deep);
  letter-spacing:-.5px;
  margin-bottom:14px;
  text-align:center;
}
.sif-blog-hero-contenido .sif-blog-subtitulo,
.sif-blog-subtitulo{
  font-size:17px;
  color:var(--sif-texto-suave);
  max-width:700px;
  width:100%;
  margin:0 auto;
  text-align:center;
}

/* Filtros de categoría */
.sif-blog-cats{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 38px;
}
.sif-cat{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 20px;
  border-radius:50px;
  border:1.5px solid #B9D2EE;
  background:#fff;
  color:var(--sif-azul);
  font-family:inherit;
  font-size:13.5px;
  font-weight:600;
  white-space:nowrap;
  cursor:pointer;
  transition:var(--sif-trans);
}
.sif-cat:hover{
  border-color:var(--sif-azul);
  background:var(--sif-azul-claro);
}
.sif-cat-activo{
  background:var(--sif-azul);
  border-color:var(--sif-azul);
  color:#fff;
  box-shadow:0 8px 20px rgba(10,79,158,.25);
}
.sif-cat-activo:hover{ background:var(--sif-azul-osc); border-color:var(--sif-azul-osc); }
.sif-cat-extra{ display:none; }
.sif-blog-cats.sif-cats-expandida .sif-cat-extra{ display:inline-flex; }
.sif-cat-mas svg{ transition:var(--sif-trans); }
.sif-cats-expandida .sif-cat-mas svg{ transform:rotate(180deg); }

/* Encabezado de destacados */
.sif-blog-destacados-tit{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
}
.sif-blog-destacados-tit h3{
  font-size:27px;
  font-weight:800;
  color:var(--sif-azul-deep);
}
.sif-blog-ver-todos{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  font-weight:700;
  color:var(--sif-azul);
}
.sif-blog-ver-todos svg{ transition:var(--sif-trans); }
.sif-blog-ver-todos:hover svg{ transform:translateX(4px); }

/* Tarjetas */
.sif-blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.sif-blog-card{
  background:#fff;
  border-radius:var(--sif-radio);
  overflow:hidden;
  box-shadow:0 4px 18px rgba(15,40,80,.06);
  transition:var(--sif-trans);
  display:flex;
  flex-direction:column;
}
.sif-blog-card.sif-blog-oculta{ display:none; }
.sif-blog-card:hover{ transform:translateY(-10px); box-shadow:var(--sif-sombra-hover); }
.sif-blog-media{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
}
.sif-blog-foto{
  position:absolute;
  inset:0;
  z-index:1;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transition:transform .5s cubic-bezier(.25,.8,.35,1);
}
.sif-blog-card:hover .sif-blog-foto{ transform:scale(1.06); }
.sif-blog-media-sunat{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-opacity='.22' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E") center/110px no-repeat,
    linear-gradient(135deg,#062C59 0%,#0A4F9E 60%,#3E7CC7 100%);
}
.sif-blog-media-niif{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-opacity='.22' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E") center/110px no-repeat,
    linear-gradient(135deg,#083B76 0%,#1268C4 60%,#5B9BD5 100%);
}
.sif-blog-media-laboral{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-opacity='.22' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2'/%3E%3C/svg%3E") center/110px no-repeat,
    linear-gradient(135deg,#062C59 0%,#0A4F9E 60%,#1268C4 100%);
}
.sif-blog-categoria{
  position:absolute;
  top:16px; left:16px;
  z-index:2;
  background:rgba(255,255,255,.94);
  color:var(--sif-azul);
  font-size:11.5px;
  font-weight:800;
  letter-spacing:1.2px;
  text-transform:uppercase;
  padding:6px 14px;
  border-radius:50px;
  box-shadow:0 4px 12px rgba(6,44,89,.18);
}
.sif-blog-body{ padding:24px 24px 26px; display:flex; flex-direction:column; flex:1; }
.sif-blog-fecha{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:600;
  color:var(--sif-texto-suave);
  margin-bottom:10px;
}
.sif-blog-body h3{
  font-size:18px;
  font-weight:800;
  color:var(--sif-azul-deep);
  margin-bottom:10px;
  transition:color var(--sif-trans);
}
.sif-blog-card:hover .sif-blog-body h3{ color:var(--sif-azul); }
.sif-blog-body p{ font-size:14px; color:var(--sif-texto-suave); margin-bottom:20px; flex:1; }
.sif-blog-vacio{
  margin-top:6px;
  padding:36px 26px;
  text-align:center;
  background:#fff;
  border:1px dashed #C9D9EC;
  border-radius:var(--sif-radio);
  color:var(--sif-texto-suave);
  font-size:14.5px;
}

/* ============================================================
   SECCIÓN 9 - PREGUNTAS FRECUENTES
   ============================================================ */
.sif-sec-faq{
  position:relative;
  padding:96px 0;
  background:
    radial-gradient(circle at 12% 14%, rgba(214, 230, 248, 0.5) 0%, rgba(240, 246, 253, 0.2) 36%, transparent 60%),
    #fff;
  overflow:hidden;
}
.sif-sec-faq .sif-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:12px;
}
.sif-sec-faq .sif-eyebrow::before,
.sif-sec-faq .sif-eyebrow::after{
  content:'';
  width:34px; height:2px;
  border-radius:2px;
}
.sif-sec-faq .sif-eyebrow::before{ background:linear-gradient(90deg,transparent,var(--sif-azul)); }
.sif-sec-faq .sif-eyebrow::after{ background:linear-gradient(90deg,var(--sif-azul),transparent); }

.sif-faq-wrap{ max-width:820px; margin:0 auto; }
.sif-faq-item{
  background:#fff;
  border:1.5px solid #E2EBF6;
  border-radius:18px;
  margin-bottom:16px;
  overflow:hidden;
  transition:all var(--sif-trans);
}
.sif-faq-item:hover{
  border-color:#C9DEF4;
  box-shadow:0 6px 20px rgba(10,79,158,.04);
}
.sif-faq-item.sif-abierto{
  border-color:#5B9DEE;
  box-shadow:0 10px 30px rgba(10,79,158,.08);
}
.sif-faq-pregunta{
  width:100%;
  background:none;
  border:none;
  display:flex;
  align-items:center;
  gap:18px;
  padding:20px 24px;
  font-family:inherit;
  font-size:16.5px;
  font-weight:700;
  color:var(--sif-azul-deep);
  text-align:left;
  cursor:pointer;
  transition:color var(--sif-trans);
}
.sif-faq-pregunta:hover{ color:var(--sif-azul); }
.sif-faq-icono{
  width:44px; height:44px;
  border-radius:12px;
  background:#EEF5FC;
  color:var(--sif-azul);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  transition:background var(--sif-trans), color var(--sif-trans);
}
.sif-faq-item.sif-abierto .sif-faq-icono{
  background:#E3EFFC;
  color:var(--sif-azul);
  transform:none;
}
.sif-faq-flecha{
  margin-left:auto;
  color:var(--sif-azul);
  transition:transform .35s ease;
  flex-shrink:0;
}
.sif-faq-item.sif-abierto .sif-faq-flecha{
  transform:rotate(180deg);
}
.sif-faq-respuesta{
  max-height:0;
  overflow:hidden;
  transition:max-height .4s cubic-bezier(.25,.8,.35,1);
}
.sif-faq-respuesta p{
  padding:0 24px 22px 24px;
  font-size:15px;
  line-height:1.65;
  color:var(--sif-texto-suave);
}

/* ============================================================
   SECCIÓN 10 - LLAMADO A LA ACCIÓN
   ============================================================ */
.sif-sec-cta{
  position:relative;
  background:linear-gradient(115deg,var(--sif-azul-deep) 0%,var(--sif-azul) 55%,#1268C4 100%);
  color:#fff;
  overflow:hidden;
}
.sif-cta-deco{
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.06);
}
.sif-cta-deco-1{ width:420px; height:420px; top:-160px; right:-120px; }
.sif-cta-deco-2{ width:260px; height:260px; bottom:-120px; left:30%; }
/* Foto de fondo — se muestra sola al subir views/images/banner-asesor.jpg */
.sif-cta-foto{
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(120deg,#0d3f78 0%,#0a2c58 100%) right center/cover no-repeat;
  /* La foto se ancla a la altura (no al ancho) para que el laptop no se
     dispare en pantallas anchas: siempre = 150% de alto de la sección */
  background-size:auto 150%;
  background-position:right center;
}
.sif-cta-foto-logo{
  position:absolute;
  top:50%; right:5%;
  transform:translateY(-50%);
  width:min(340px,28vw); height:auto;
  opacity:.9;
  filter:drop-shadow(0 10px 26px rgba(0,0,0,.4));
}
.sif-cta-borde{
  position:absolute; inset:0;
  z-index:1;
  background:rgba(255,255,255,.92);
  clip-path:polygon(0 0, 68% 0, 58% 100%, 0 100%);
}
.sif-cta-panela{
  position:relative;
  z-index:2;
  width:calc(100% - 7px);
  padding-top:76px;
  padding-bottom:30px;
  background:linear-gradient(115deg,var(--sif-azul-deep) 0%,var(--sif-azul) 60%,#1268C4 100%);
  clip-path:polygon(0 0, 68% 0, 58% 100%, 0 100%);
}
.sif-cta-contenido{ position:relative; z-index:1; max-width:min(660px,54%); }
p.sif-cta-eyebrow{ color:rgba(255,255,255,.85); margin-bottom:16px; }
.sif-cta-eyebrow::before{ background:rgba(255,255,255,.75); }
.sif-cta-panela h2{
  font-size:36px;
  font-weight:800;
  letter-spacing:-.4px;
  margin-bottom:14px;
}
p.sif-cta-desc{
  font-size:15.5px;
  line-height:1.6;
  opacity:.92;
  max-width:640px;
  margin-bottom:30px;
}
.sif-cta-botones{ display:flex; flex-wrap:wrap; gap:14px; }
.sif-cta-botones .sif-btn{
  text-transform:uppercase;
  font-size:13.5px;
  letter-spacing:1.2px;
  padding:14px 26px;
}
.sif-btn-wa{
  background:rgba(255,255,255,.10);
  color:#fff;
  border-color:rgba(255,255,255,.6);
}
.sif-btn-wa:hover{
  background:rgba(255,255,255,.2);
  border-color:#fff;
  color:#fff;
  transform:translateY(-3px);
}
ul.sif-cta-beneficios{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:36px 0 0;
  padding:16px 10px;
  background:rgba(2,24,54,.30);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
}
.sif-cta-beneficios li{
  display:flex;
  align-items:center;
  gap:12px;
  padding:4px 14px;
}
.sif-cta-beneficios li + li{ border-left:1px solid rgba(255,255,255,.22); }
.sif-cta-ben-ico{
  flex:0 0 auto;
  width:42px; height:42px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(3,28,64,.55);
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
}
.sif-cta-ben-txt{
  font-size:13.5px;
  font-weight:500;
  line-height:1.35;
  color:rgba(255,255,255,.95);
}

/* ============================================================
   FOOTER
   ============================================================ */
.sif-footer{
  background:var(--sif-azul-deep);
  color:#B9C7D9;
  font-size:14px;
  position:relative;
  overflow:hidden;
  /* style.min.css (legado) limita todo footer a 1350px centrado; aquí el
     footer va a sangre y el ancho lo pone .sif-container por dentro */
  max-width:none;
  margin:0;
}
.sif-footer::before{
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background:linear-gradient(90deg,var(--sif-azul),var(--sif-plata),var(--sif-azul));
}
.sif-footer-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr;
  gap:44px;
  padding:70px 0 50px;
}
.sif-footer-logo img{ max-width:190px; margin-bottom:20px; }
.sif-footer-logo p{ font-size:13.5px; line-height:1.7; margin-bottom:22px; }
.sif-footer-social{ display:flex; gap:10px; }
.sif-footer-social a{
  width:38px; height:38px;
  border-radius:11px;
  background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
  color:#fff;
  transition:var(--sif-trans);
}
.sif-footer-social a:hover{
  background:var(--sif-azul);
  transform:translateY(-4px);
  box-shadow:0 8px 18px rgba(0,0,0,.3);
}
.sif-footer h5{
  color:#fff;
  font-size:14px;
  font-weight:800;
  letter-spacing:1.6px;
  text-transform:uppercase;
  margin-bottom:22px;
  position:relative;
  padding-bottom:12px;
}
.sif-footer h5::after{
  content:'';
  position:absolute;
  left:0; bottom:0;
  width:28px; height:2px;
  background:var(--sif-plata);
  border-radius:2px;
}
.sif-footer ul li{ margin-bottom:11px; }
.sif-footer ul a{
  color:#B9C7D9;
  font-size:13.5px;
  transition:var(--sif-trans);
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.sif-footer ul a::before{
  content:'';
  width:5px; height:5px;
  border-radius:50%;
  background:var(--sif-plata);
  opacity:.55;
  transition:var(--sif-trans);
}
.sif-footer ul a:hover{ color:#fff; padding-left:5px; }
.sif-footer ul a:hover::before{ background:#fff; opacity:1; }
.sif-footer-contacto li{
  display:flex; align-items:flex-start; gap:12px;
  margin-bottom:16px;
  color:#B9C7D9;
}
.sif-footer-contacto svg{ flex-shrink:0; margin-top:2px; color:var(--sif-plata); }
.sif-footer-contacto a{ color:#B9C7D9; transition:color var(--sif-trans); }
.sif-footer-contacto a:hover{ color:#fff; }
.sif-footer-bottom{
  border-top:1px solid rgba(255,255,255,.09);
  padding:24px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  font-size:13px;
  color:#8296B0;
}
.sif-footer-bottom a{ color:#8296B0; transition:color var(--sif-trans); }
.sif-footer-bottom a:hover{ color:#fff; }
.sif-footer-legal{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.sif-footer-legal .libro-reclamaciones{
  display:inline-flex; align-items:center; gap:9px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:10px;
  padding:7px 14px;
  color:#B9C7D9;
}
.sif-footer-legal .libro-reclamaciones:hover{
  border-color:var(--sif-plata);
  color:#fff;
}

/* ============================================================
   ANIMACIONES DE APARICIÓN (al hacer scroll)
   ============================================================ */
/* El gate .sif-jsdoc evita contenido invisible si JavaScript no carga */
.sif-jsdoc .sif-reveal{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .7s ease,transform .7s cubic-bezier(.25,.8,.35,1);
  will-change:opacity,transform;
}
.sif-jsdoc .sif-reveal.sif-visible{ opacity:1; transform:translateY(0); }
.sif-d1{ transition-delay:.08s; }
.sif-d2{ transition-delay:.16s; }
.sif-d3{ transition-delay:.24s; }
.sif-d4{ transition-delay:.32s; }
.sif-d5{ transition-delay:.4s; }
@media (prefers-reduced-motion:reduce){
  .sif-jsdoc .sif-reveal{ opacity:1; transform:none; transition:none; }
  .sif-float-card{ animation:none; }
}

/* ============================================================
   TOAST DE CONFIRMACIÓN
   ============================================================ */
.sif-toast{
  position:fixed;
  bottom:28px;
  left:50%;
  transform:translateX(-50%) translateY(20px);
  background:var(--sif-azul-deep);
  color:#fff;
  padding:15px 26px;
  border-radius:50px;
  font-family:'Segoe UI',Arial,sans-serif;
  font-size:14.5px;
  font-weight:600;
  box-shadow:0 16px 40px rgba(6,44,89,.4);
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease,transform .35s ease;
  z-index:99999;
  display:flex;
  align-items:center;
  gap:10px;
}
.sif-toast.sif-toast-visible{ opacity:1; transform:translateX(-50%) translateY(0); }

/* ============================================================
   MODAL DE CONTACTO
   ============================================================ */
.sif-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(6,44,89,.55);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease;
  z-index:100000;
}
.sif-modal-overlay.sif-modal-abierto{ opacity:1; pointer-events:auto; }
.sif-modal{
  background:#fff;
  border-radius:22px;
  max-width:560px;
  width:100%;
  padding:44px 44px 36px;
  position:relative;
  box-shadow:0 30px 80px rgba(6,44,89,.35);
  transform:translateY(26px) scale(.97);
  transition:transform .35s cubic-bezier(.25,.8,.35,1);
  max-height:calc(100vh - 48px);
  overflow-y:auto;
  font-family:inherit;
}
.sif-modal-overlay.sif-modal-abierto .sif-modal{ transform:translateY(0) scale(1); }
.sif-modal-cerrar{
  position:absolute;
  top:16px; right:20px;
  width:38px; height:38px;
  border-radius:50%;
  border:none;
  background:var(--sif-azul-claro);
  color:var(--sif-azul-deep);
  font-size:22px;
  line-height:1;
  cursor:pointer;
  transition:var(--sif-trans);
}
.sif-modal-cerrar:hover{ background:var(--sif-azul); color:#fff; transform:rotate(90deg); }
.sif-modal-titulo{
  font-size:22px;
  font-weight:800;
  color:var(--sif-azul-deep);
  margin-bottom:26px;
  line-height:1.35;
}
.sif-modal form textarea,
.sif-modal form input{
  width:100%;
  border:1.5px solid var(--sif-gris-borde);
  border-radius:12px;
  padding:13px 16px;
  font-size:14.5px;
  font-family:inherit;
  color:var(--sif-texto);
  outline:none;
  transition:border-color .25s ease, box-shadow .25s ease;
  background:#FBFCFE;
}
.sif-modal form input:focus,
.sif-modal form textarea:focus{
  border-color:var(--sif-azul);
  box-shadow:0 0 0 4px rgba(10,79,158,.1);
  background:#fff;
}
.sif-modal form textarea{ resize:vertical; min-height:104px; margin-top:14px; }
.sif-modal-inputs{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sif-modal-btn{ width:100%; margin-top:20px; border:none; }
.sif-modal-nota{
  font-size:13px;
  color:var(--sif-texto-suave);
  margin-top:18px;
  text-align:center;
}
.sif-modal-nota a{ color:var(--sif-azul); font-weight:700; }
.sif-modal-nota a:hover{ color:var(--sif-azul-osc); }
body.sif-modal-open{ overflow:hidden; }

@media (max-width:560px){
  .sif-modal{ padding:34px 24px 28px; }
  .sif-modal-inputs{ grid-template-columns:1fr; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1100px){
  .sif-sectores-grid{ grid-template-columns:repeat(4,1fr); }
  .sif-modulo{ flex-basis:calc(33.333% - 12px); }
  .sif-recursos-grid{ grid-template-columns:repeat(3,1fr); }
  .sif-footer-grid{ grid-template-columns:1.4fr 1fr 1fr; }
}

@media (max-width:991px){
  .sif-titulo{ font-size:33px; }
  .sif-header{ margin-bottom:48px; }
  .sif-sec-problema,.sif-sec-servicios,.sif-sec-tech,.sif-sec-porque,
  .sif-sec-proceso,.sif-sec-sectores,.sif-sec-recursos,
  .sif-sec-faq{ padding:72px 0; }
  .sif-sec-blog{ padding-bottom:72px; }
  .sif-blog-hero{ padding:58px 0 30px; margin-bottom:28px; }
  .sif-blog-hero-foto{ width:min(520px,66%); }
  .sif-blog-titulo{ font-size:34px; }
  .sif-problema-grid,.sif-porque-grid{
    grid-template-columns:1fr;
    gap:52px;
  }
  .sif-tech-hero{
    grid-template-columns:1fr;
    gap:44px;
    padding-left:24px;
    padding-right:24px;
  }
  .sif-tech-copy{ max-width:none; }
  .sif-tech-imagen{ max-width:640px; margin:0 auto -40px; }
  .sif-problema-visual,.sif-porque-visual{ max-width:560px; margin:0 auto; }
  .sif-servicios-grid{ grid-template-columns:repeat(2,1fr); }
  .sif-blog-grid{ grid-template-columns:1fr 1fr; }
  .sif-timeline{ grid-template-columns:1fr 1fr; gap:44px 30px; }
  .sif-timeline::before,.sif-timeline-flecha{ display:none; }
  .sif-cta-panela{ clip-path:none; width:100%; padding-top:60px; margin-bottom:210px; }
  .sif-cta-borde{ display:none; }
  .sif-cta-foto{ inset:auto 0 0 0; height:210px; background-size:cover; }
  .sif-cta-foto-logo{ right:auto; left:50%; transform:translate(-50%,-50%); width:min(240px,56vw); }
  .sif-cta-contenido{ max-width:none; }
  .sif-recursos-form{ grid-template-columns:1fr; text-align:center; gap:26px; padding:38px 28px; }
  .sif-rf-ilustracion{ max-width:272px; margin:0 auto; }
  .sif-rf-eyebrow{ justify-content:center; }
  .sif-rf-desc{ margin-left:auto; margin-right:auto; }
  .sif-rf-beneficios{ justify-content:center; }
  .sif-rf-panel{ width:100%; max-width:470px; margin:0 auto; }
}

@media (max-width:767px){
  .sif-titulo{ font-size:28px; }
  .sif-cta-panela h2{ font-size:27px; }
  ul.sif-cta-beneficios{ grid-template-columns:1fr; padding:14px; margin-top:30px; }
  .sif-cta-beneficios li{ padding:8px 6px; }
  .sif-cta-beneficios li + li{ border-left:none; border-top:1px solid rgba(255,255,255,.18); }
  .sif-problema-lista{ grid-template-columns:1fr; }
  .sif-servicios-grid,.sif-blog-grid,.sif-sectores-grid,
  .sif-recursos-grid{ grid-template-columns:1fr 1fr; }
  .sif-modulo{ flex-basis:calc(50% - 9px); }
  .sif-porque-lista{ grid-template-columns:1fr; }
  .sif-timeline{ grid-template-columns:1fr; }
  .sif-fc-2{ left:0; }
  .sif-fc-3{ right:0; bottom:8%; max-width:176px; padding:12px 14px; }
  .sif-cta-fila{ margin-bottom:46px; }
  .sif-cta-hint{
    left:2px;
    top:calc(100% + 12px);
    width:min(300px,100%);
    transform:translateX(-8px);
  }
  .sif-cta-fila .sif-btn:hover ~ .sif-cta-hint,
  .sif-cta-fila .sif-btn:focus ~ .sif-cta-hint{ transform:translateX(0); }
  .sif-recursos-form{ border-radius:18px; padding:32px 20px; gap:22px; }
  .sif-rf-copy h3{ font-size:26px; }
  .sif-rf-desc{ font-size:14.5px; margin-bottom:18px; }
  .sif-rf-beneficios{ gap:16px; }
  .sif-rf-beneficios li{ font-size:12.5px; }
  .sif-rf-panel{ padding:18px; }
  .sif-rf-btn{ padding:14px 18px; font-size:13px; }
  .sif-faq-respuesta p{ padding:0 22px 22px 22px; }
  .sif-footer-grid{ grid-template-columns:1fr; gap:36px; padding:56px 0 40px; }
  .sif-footer-bottom{ flex-direction:column; text-align:center; }
  .sif-blog-hero{ padding:46px 0 24px; }
  .sif-blog-hero-foto{ width:100%; opacity:.4; -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 60%); mask-image:linear-gradient(90deg,transparent 0%,#000 60%); }
  .sif-blog-titulo{ font-size:28px; }
  .sif-blog-subtitulo{ font-size:15px; }
  .sif-blog-cats{ gap:9px; margin-bottom:30px; }
  .sif-cat{ padding:8px 15px; font-size:12.5px; }
  .sif-blog-destacados-tit{ margin-bottom:22px; flex-direction:column; align-items:flex-start; gap:8px; }
  .sif-blog-destacados-tit h3{ font-size:22px; }
}

@media (max-width:480px){
  .sif-servicios-grid,.sif-blog-grid{ grid-template-columns:1fr; }
  .sif-modulo{ flex-basis:100%; }
  .sif-sectores-grid{ grid-template-columns:1fr 1fr; gap:14px; }
  .sif-recursos-grid{ grid-template-columns:1fr; }
  .sif-btn{ width:100%; }
  .sif-cta-botones .sif-btn{ width:100%; }
  .sif-problema-item{ font-size:13.5px; }
}

/* ============================================================
   CHAT FLOTANTE WHATSAPP — VALERIA
   ============================================================ */

.sif-wa-widget{
  position:fixed;
  bottom:90px;
  right:22px;
  z-index:999999;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
}

/* ---- FAB (botón verde) ---- */
.sif-wa-fab{
  position:relative;
  width:60px;
  height:60px;
  border-radius:50%;
  background:linear-gradient(135deg,#25D366,#128C7E);
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 28px rgba(18,140,126,.45);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s;
  flex-shrink:0;
  order:2;
}
.sif-wa-fab:hover{
  transform:scale(1.1);
  box-shadow:0 14px 36px rgba(18,140,126,.55);
}
.sif-wa-fab:active{ transform:scale(.96); }

/* Íconos del FAB */
.sif-wa-icon-open,
.sif-wa-icon-close{
  position:absolute;
  transition:opacity .2s, transform .2s;
}
.sif-wa-icon-close{
  opacity:0;
  transform:rotate(-90deg) scale(.6);
}
.sif-wa-widget.sif-wa-open .sif-wa-icon-open{
  opacity:0;
  transform:rotate(90deg) scale(.6);
}
.sif-wa-widget.sif-wa-open .sif-wa-icon-close{
  opacity:1;
  transform:rotate(0deg) scale(1);
}

/* ---- Burbuja de notificación ---- */
.sif-wa-bubble{
  position:absolute;
  top:-4px;
  right:-4px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#FF3B30;
  color:#fff;
  font-size:11px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #fff;
  pointer-events:none;
  animation:sifWaPulse 2s ease-in-out infinite;
  z-index:1;
}
.sif-wa-widget.sif-wa-open .sif-wa-bubble{
  display:none;
}
@keyframes sifWaPulse{
  0%,100%{ transform:scale(1); }
  50%{ transform:scale(1.18); }
}

/* ---- Panel del chat ---- */
.sif-wa-panel{
  width:320px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.18), 0 4px 16px rgba(0,0,0,.10);
  background:#ECE5DD;
  order:1;
  transform:translateY(20px) scale(.95);
  opacity:0;
  pointer-events:none;
  transition:opacity .28s cubic-bezier(.25,.8,.35,1), transform .28s cubic-bezier(.34,1.56,.64,1);
  transform-origin:bottom right;
}
.sif-wa-widget.sif-wa-open .sif-wa-panel{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

/* ---- Header ---- */
.sif-wa-header{
  background:linear-gradient(135deg,#075E54,#128C7E);
  padding:14px 16px;
  display:flex;
  align-items:center;
  gap:12px;
}
.sif-wa-avatar{
  position:relative;
  flex-shrink:0;
}
.sif-wa-online{
  position:absolute;
  bottom:1px;
  right:1px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:#25D366;
  border:2px solid #fff;
  display:block;
}
.sif-wa-header-info{
  flex:1;
  min-width:0;
}
.sif-wa-header-info strong{
  display:block;
  color:#fff;
  font-size:15px;
  font-weight:700;
  line-height:1.2;
}
.sif-wa-header-info span{
  color:rgba(255,255,255,.75);
  font-size:12px;
}
.sif-wa-close-btn{
  background:none;
  border:none;
  cursor:pointer;
  color:rgba(255,255,255,.8);
  padding:4px;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:color .2s, background .2s;
  flex-shrink:0;
}
.sif-wa-close-btn:hover{ color:#fff; background:rgba(255,255,255,.15); }

/* ---- Body del chat ---- */
.sif-wa-body{
  padding:14px 12px;
  min-height:130px;
  max-height:220px;
  overflow-y:auto;
  background:#ECE5DD url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' opacity='.03'%3E%3Ctext y='100' font-size='90' fill='%23000'%3E💬%3C/text%3E%3C/svg%3E") center/120px;
}
.sif-wa-fecha{
  text-align:center;
  font-size:11px;
  color:#8696A0;
  background:rgba(255,255,255,.7);
  border-radius:8px;
  padding:2px 10px;
  display:inline-block;
  margin:0 auto 10px;
  width:fit-content;
  display:flex;
  justify-content:center;
}
.sif-wa-msg{
  background:#fff;
  border-radius:0 12px 12px 12px;
  padding:10px 12px 6px;
  max-width:92%;
  box-shadow:0 1px 3px rgba(0,0,0,.1);
  position:relative;
}
.sif-wa-msg::before{
  content:'';
  position:absolute;
  top:0;
  left:-8px;
  border-width:0 8px 10px 0;
  border-style:solid;
  border-color:transparent #fff transparent transparent;
}
.sif-wa-msg p{
  margin:0 0 4px;
  font-size:13.5px;
  color:#111B21;
  line-height:1.5;
}
.sif-wa-msg p:last-of-type{ margin-bottom:2px; }
.sif-wa-hora{
  font-size:10px;
  color:#8696A0;
  display:block;
  text-align:right;
  margin-top:2px;
}

/* ---- Footer / Input ---- */
.sif-wa-footer{
  background:#F0F2F5;
  padding:8px 10px;
  display:flex;
  align-items:flex-end;
  gap:8px;
  border-top:1px solid #D9DBE0;
}
.sif-wa-input{
  flex:1;
  border:none;
  border-radius:24px;
  padding:10px 14px;
  font-size:13.5px;
  line-height:1.4;
  resize:none;
  outline:none;
  background:#fff;
  color:#111B21;
  font-family:inherit;
  max-height:80px;
  overflow-y:auto;
  box-shadow:0 1px 3px rgba(0,0,0,.08);
}
.sif-wa-input::placeholder{ color:#8696A0; }
.sif-wa-send{
  width:40px;
  height:40px;
  border-radius:50%;
  background:linear-gradient(135deg,#25D366,#128C7E);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:transform .2s, box-shadow .2s;
  box-shadow:0 4px 12px rgba(18,140,126,.35);
  text-decoration:none;
}
.sif-wa-send:hover{ transform:scale(1.08); box-shadow:0 6px 18px rgba(18,140,126,.45); }
.sif-wa-send:active{ transform:scale(.94); }

/* ---- Powered by ---- */
.sif-wa-powered{
  text-align:center;
  font-size:10.5px;
  color:#8696A0;
  margin:0;
  padding:5px 0 7px;
  background:#F0F2F5;
}
.sif-wa-powered strong{ color:#25D366; }

/* ---- Responsive ---- */
/* Asegurar que la flecha de scroll quede debajo del widget */
#scrollUp{ z-index:9998 !important; }

@media(max-width:480px){
  .sif-wa-widget{ bottom:80px; right:14px; }
  .sif-wa-panel{ width:calc(100vw - 28px); }
}

