/* ========== RESET MÍNIMO ========== */
*,
*::before,
*::after{box-sizing:border-box;margin:0;padding:0;}
img{max-width:100%;display:block;}
html{scroll-behavior:smooth;}

/* ========== VARIABLES ========== */
:root{
  --color-bg:#181818;
  --color-bg-secondary:#1e1e1e;
  --color-bg-tertiary:#232323;
  --color-text:#ffffff;
  --color-gray:#cccccc;
  --color-primary:#007bff;
  --color-primary-hover:#0056b3;
  --font-heading:"Montserrat",sans-serif;
  --font-body:"Lato",sans-serif;
}

/* ========== BASE ========== */
body{background:var(--color-bg);color:var(--color-text);font:400 1rem var(--font-body);line-height:1.6;}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.3;}
a{color:var(--color-primary);text-decoration:none;transition:color .25s;}
/* a:hover{color:var(--color-primary-hover);} */

/* ========== HERO ========== */
.cs-hero{
  position:relative;background:var(--color-bg-secondary);
  text-align:center;padding:128px 24px 96px;overflow:hidden;
}
.hero-bg-icon{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-size:26rem;color:rgba(255,255,255,.03);pointer-events:none;
}
.cs-hero__title{
  font-size:3rem;max-width:900px;margin:0 auto 24px;
  text-shadow:0 6px 12px rgba(0,0,0,.45);
}
.cs-hero__text{
  font-size:1.15rem;max-width:760px;margin:0 auto 40px;color:var(--color-gray);
}
.cs-btn{
  display:inline-block;padding:14px 32px;
  background:var(--color-primary);color:#fff;
  font:600 1rem var(--font-body);border-radius:8px;
  transition:background .25s;
}
.cs-btn:hover{background:var(--color-primary-hover);}
.cs-btn--pulse{position:relative; background-color: #25d366;}
.cs-btn--pulse::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:var(--color-primary);filter:blur(6px);
  opacity:.55;transition:.3s;z-index:-1;
}
.cs-btn--pulse:hover::after{opacity:.85;transform:scale(1.08);}

/* ========== BENEFICIOS ========== */
.cs-beneficios{
  background:var(--color-bg-tertiary);padding:72px 24px;
  display:grid;gap:48px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.cs-icon{
  font-size:3rem;color:var(--color-primary);margin-bottom:14px;
  filter:drop-shadow(0 0 6px rgba(0,123,255,.35));
}
.cs-beneficio{
  background:var(--color-bg-secondary);border-radius:12px;
  padding:32px 24px;text-align:center;
  box-shadow:0 0 0 1px rgba(255,255,255,.04),0 4px 10px rgba(0,0,0,.35);
  transition:.25s;
}
.cs-beneficio:hover{
  transform:translateY(-8px);
  box-shadow:0 0 0 2px var(--color-primary),
             0 12px 24px rgba(0,123,255,.35);
}
.cs-beneficio h3{font-size:1.125rem;margin-bottom:8px;}
.cs-beneficio p {font-size:.95rem;color:var(--color-gray);}

/* ========== PROCESO ========== */
.cs-proceso{padding:72px 24px;}
.cs-proceso h2{font-size:2rem;margin-bottom:40px;text-align:center;}
.cs-pasos{
  display:grid;gap:32px;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.cs-paso{
  background:var(--color-bg-secondary);padding:24px 20px;
  border-left:4px solid var(--color-primary);border-radius:8px;
}
.cs-paso span{font-size:2rem;color:var(--color-primary);}
.cs-paso h4{margin:12px 0 8px;font-weight:600;}
.cs-paso p {font-size:.95rem;color:var(--color-gray);}

/* ========== CTA FINAL ========== */
.cs-cta-final{
  background:var(--color-bg-secondary);text-align:center;padding:72px 24px;
}
.cs-cta-final h2{font-size:2rem;margin-bottom:24px;}

/* ========== RESPONSIVE ========== */
@media(max-width:600px){
  .cs-hero__title{font-size:2.3rem;}
  .cs-hero__text {font-size:1rem;}
  .cs-proceso h2, .cs-cta-final h2{font-size:1.75rem;}
}
