/* ============================================================
   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:0;
}
.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;
}

/* 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:13px;
  background:#fff;
  border:1px solid var(--sif-gris-borde);
  color:var(--sif-azul);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  box-shadow:0 3px 10px rgba(15,40,80,.06);
  transition:var(--sif-trans);
}
.sif-porque-item:hover .sif-porque-check{
  background:var(--sif-azul);
  color:#fff;
  border-color:var(--sif-azul);
  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 (ilustración SVG) */
.sif-porque-visual{ position:relative; }
.sif-porque-visual > svg{ width:100%; height:auto; filter:drop-shadow(0 24px 44px rgba(10,79,158,.16)); }
.sif-badge-experiencia{
  position:absolute;
  bottom:-20px; left:-14px;
  background:var(--sif-azul);
  color:#fff;
  border-radius:16px;
  padding:18px 24px;
  box-shadow:0 18px 40px rgba(10,79,158,.35);
  animation:sif-float 6s ease-in-out infinite;
}
.sif-badge-experiencia strong{ font-size:24px; display:block; line-height:1.1; }
.sif-badge-experiencia span{ font-size:12.5px; opacity:.85; }

/* ============================================================
   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;
}
.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:var(--sif-gris-bg); }
.sif-sectores-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:22px;
}
.sif-sector{
  background:#fff;
  border-radius:var(--sif-radio);
  padding:30px 16px;
  text-align:center;
  border:1px solid transparent;
  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); }

/* ============================================================
   SECCIÓN 7 - RECURSOS GRATUITOS
   ============================================================ */
.sif-sec-recursos{ padding:96px 0; background:#fff; }
.sif-recursos-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:22px;
}
.sif-recurso{
  background:linear-gradient(160deg,#fff 0%,#F7FAFD 100%);
  border:1px solid var(--sif-gris-borde);
  border-radius:var(--sif-radio);
  padding:30px 24px;
  display:flex;
  flex-direction:column;
  text-align:center;
  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:58px; height:58px;
  margin:0 auto 18px;
  border-radius:16px;
  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);
}
.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 antes de descargar */
.sif-recursos-form{
  max-width:640px;
  margin:52px auto 0;
  background:linear-gradient(120deg,var(--sif-azul) 0%,#1268C4 100%);
  border-radius:22px;
  padding:40px 48px;
  display:flex;
  align-items:center;
  gap:36px;
  box-shadow:0 20px 44px rgba(10,79,158,.3);
  position:relative;
  overflow:hidden;
}
.sif-recursos-form::before{
  content:'';
  position:absolute;
  right:-70px; top:-70px;
  width:230px; height:230px;
  border-radius:50%;
  background:rgba(255,255,255,.07);
}
.sif-recursos-form::after{
  content:'';
  position:absolute;
  right:40px; bottom:-90px;
  width:180px; height:180px;
  border-radius:50%;
  background:rgba(255,255,255,.05);
}
.sif-rf-icono{
  width:58px; height:58px;
  border-radius:16px;
  background:rgba(255,255,255,.14);
  display:flex; align-items:center; justify-content:center;
  color:#fff;
  flex-shrink:0;
}
.sif-rf-texto{ color:#fff; flex:1; }
.sif-rf-texto h3{ font-size:20px; font-weight:800; margin-bottom:6px; }
.sif-rf-texto p{ font-size:14px; opacity:.9; }
.sif-rf-form{
  display:flex;
  gap:10px;
  background:#fff;
  border-radius:50px;
  padding:6px;
  min-width:340px;
  position:relative;
  z-index:1;
}
.sif-rf-form input{
  flex:1;
  border:none;
  outline:none;
  background:transparent;
  padding:10px 18px;
  font-size:14.5px;
  color:var(--sif-texto);
  font-family:inherit;
  min-width:0;
}
.sif-rf-form input::placeholder{ color:#9AA7B8; }

/* ============================================================
   SECCIÓN 8 - BLOG EMPRESARIAL
   ============================================================ */
.sif-sec-blog{ padding:96px 0; background:var(--sif-gris-bg); }
.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:hover{ transform:translateY(-10px); box-shadow:var(--sif-sombra-hover); }
.sif-blog-media{ position:relative; height:210px; overflow:hidden; }
.sif-blog-media > div{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
}
.sif-blog-media svg{ transition:transform .5s cubic-bezier(.25,.8,.35,1); }
.sif-blog-card:hover .sif-blog-media svg{ transform:scale(1.08); }
.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:26px 26px 28px; 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:18.5px;
  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; }

/* ============================================================
   SECCIÓN 9 - PREGUNTAS FRECUENTES
   ============================================================ */
.sif-sec-faq{ padding:96px 0; background:#fff; }
.sif-faq-wrap{ max-width:820px; margin:0 auto; }
.sif-faq-item{
  background:#fff;
  border:1px solid var(--sif-gris-borde);
  border-radius:16px;
  margin-bottom:14px;
  overflow:hidden;
  transition:var(--sif-trans);
}
.sif-faq-item.sif-abierto{
  border-color:rgba(10,79,158,.3);
  box-shadow:0 10px 28px rgba(10,79,158,.1);
}
.sif-faq-pregunta{
  width:100%;
  background:none;
  border:none;
  display:flex;
  align-items:center;
  gap:16px;
  padding:22px 26px;
  font-family:inherit;
  font-size:16px;
  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:36px; height:36px;
  border-radius:11px;
  background:var(--sif-azul-claro);
  color:var(--sif-azul);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  transition:var(--sif-trans);
}
.sif-faq-item.sif-abierto .sif-faq-icono{
  background:var(--sif-azul);
  color:#fff;
  transform:rotate(45deg);
}
.sif-faq-flecha{ margin-left:auto; color:var(--sif-plata); 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 26px 24px 78px;
  font-size:14.5px;
  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%; }
.sif-cta-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:60px;
  align-items:center;
  padding:90px 0;
}
.sif-cta-copy h2{
  font-size:42px;
  font-weight:800;
  letter-spacing:-.5px;
  margin-bottom:18px;
}
.sif-cta-copy p{
  font-size:17px;
  opacity:.92;
  max-width:520px;
  margin-bottom:36px;
}
.sif-cta-botones{ display:flex; flex-wrap:wrap; gap:16px; }
.sif-cta-visual{ position:relative; }
.sif-cta-visual > svg{ width:100%; height:auto; }

/* ============================================================
   FOOTER
   ============================================================ */
.sif-footer{
  background:var(--sif-azul-deep);
  color:#B9C7D9;
  font-size:14px;
  position:relative;
  overflow:hidden;
}
.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,.sif-badge-experiencia{ 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-blog,
  .sif-sec-faq{ padding:72px 0; }
  .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{ display:none; }
  .sif-cta-grid{ grid-template-columns:1fr; padding:70px 0; gap:48px; }
  .sif-cta-visual{ max-width:480px; }
  .sif-recursos-form{ flex-direction:column; text-align:center; padding:36px 28px; }
  .sif-rf-form{ width:100%; min-width:0; }
}

@media (max-width:767px){
  .sif-titulo{ font-size:28px; }
  .sif-cta-copy h2{ font-size:31px; }
  .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-badge-experiencia{ left:0; padding:14px 18px; }
  .sif-recursos-form{ border-radius:18px; }
  .sif-rf-form{ flex-direction:column; border-radius:18px; padding:8px; }
  .sif-rf-form input{ width:100%; text-align:center; padding:12px 14px; }
  .sif-rf-form .sif-btn{ width:100%; }
  .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-media{ height:190px; }
}

@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; }
}
