/* En la web las fuentes vienen de Google Fonts (20 KB en vez de 400 KB).
   El ZIP que descarga el cliente las lleva incrustadas. */
/* ==========================================================================
   BUSINESS PRO — CONSULTORÍA Y SOLUCIONES CORPORATIVAS
   Leuname Software · leunamesoftware.com
   ========================================================================== */

:root{
  --teal:#0f5257; --teal-osc:#0a3a3d; --teal-cla:#1c7c80; --teal-suave:#e6f1f1;
  --lima:#c7e63a; --lima-osc:#9fbb1f;
  --blanco:#fff; --gris-cl:#f5f7f6; --gris2:#eef2f1;
  --tinta:#12201f; --tinta2:#3a4a49; --apagado:#748584; --linea:#e1e8e7;
  --ok:#2e8b57; --error:#c0492f;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --disp:'Sora',var(--sans);
  --radio:14px; --ancho:1320px;
  --sombra:0 10px 30px rgba(15,82,87,.08);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--blanco);color:var(--tinta);font-family:var(--sans);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--lima);outline-offset:3px}

.env{max-width:var(--ancho);margin:0 auto;padding:0 26px}
section{padding:80px 0}

h1,h2,h3{font-family:var(--disp);font-weight:700;line-height:1.14;letter-spacing:-.02em}
h2{font-size:clamp(28px,3.3vw,40px)}
h3{font-size:19px}

.rotulo{display:inline-flex;align-items:center;gap:8px;padding:6px 15px;border-radius:6px;
  background:var(--teal-suave);color:var(--teal-osc);font-size:12px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.cab-sec{margin-bottom:40px}
.cab-sec.centro{text-align:center;max-width:660px;margin-left:auto;margin-right:auto}
.cab-sec p{color:var(--apagado);margin-top:12px;font-size:16px}

/* ---------------- Botones ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 28px;border:2px solid transparent;border-radius:8px;
  font-family:var(--sans);font-size:14.5px;font-weight:700;
  cursor:pointer;transition:.2s;white-space:nowrap}
.btn svg{flex-shrink:0}
.btn-lima{background:var(--lima);color:var(--teal-osc);box-shadow:0 8px 22px rgba(199,230,58,.35)}
.btn-lima:hover{background:var(--lima-osc);transform:translateY(-2px)}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:var(--teal-osc);transform:translateY(-2px)}
.btn-linea{border-color:rgba(255,255,255,.4);color:#fff;background:transparent}
.btn-linea:hover{background:rgba(255,255,255,.12)}
.btn-linea-osc{border-color:var(--teal);color:var(--teal);background:transparent}
.btn-linea-osc:hover{background:var(--teal);color:#fff}

/* ---------------- Cabecera ---------------- */
.cab{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.97);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.cab .env{display:flex;align-items:center;gap:22px;padding-top:16px;padding-bottom:16px}
.marca{display:flex;align-items:center;gap:10px;flex-shrink:0}
.marca-ic{width:36px;height:36px;border-radius:8px;background:var(--teal);color:var(--lima);
  display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:800;font-size:17px}
.marca-txt strong{display:block;font-family:var(--disp);font-size:19px;font-weight:800;line-height:1}
.marca-txt span{display:block;font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--apagado);margin-top:2px}
.menu{display:flex;gap:30px;margin:0 auto}
.menu a{font-size:14.5px;font-weight:600;color:var(--tinta2);padding:5px 0;
  border-bottom:2px solid transparent;transition:.2s}
.menu a:hover,.menu a.act{color:var(--teal);border-color:var(--lima)}
.abrir-menu{display:none;background:none;border:1px solid var(--linea);border-radius:10px;
  width:44px;height:44px;color:var(--tinta);cursor:pointer;align-items:center;justify-content:center}
.menu-movil{display:none;border-top:1px solid var(--linea);background:#fff}
.menu-movil.ver{display:block}
.menu-movil a{display:block;padding:13px 26px;border-bottom:1px solid var(--linea);font-size:15px}

/* ---------------- Portada ---------------- */
.portada{position:relative;overflow:hidden;background:linear-gradient(155deg,var(--teal-osc),var(--teal) 60%);color:#fff}
.portada .env{padding-top:88px;padding-bottom:88px;position:relative;z-index:2}
.portada-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.portada h1{font-size:clamp(34px,4.6vw,54px);margin-bottom:20px}
.portada h1 span{color:var(--lima)}
.portada p{font-size:17.5px;color:#c8dcda;max-width:480px;margin-bottom:30px}
.portada-botones{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px}
.portada-clientes{display:flex;gap:26px;flex-wrap:wrap;align-items:center;opacity:.8;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:#a9c4c1}
.portada-panel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:30px}
.portada-metric{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.portada-metric:last-child{border-bottom:none}
.portada-metric strong{font-family:var(--disp);font-size:28px;color:var(--lima)}
.portada-metric span{font-size:13px;color:#c8dcda}

/* ---------------- Servicios ---------------- */
.servicios{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.servicio{background:var(--gris-cl);border:1px solid var(--linea);border-radius:var(--radio);
  padding:32px 28px;transition:.24s}
.servicio:hover{transform:translateY(-6px);box-shadow:var(--sombra);background:#fff;border-color:var(--teal-cla)}
.servicio-ic{width:52px;height:52px;border-radius:12px;background:var(--teal);
  color:var(--lima);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.servicio h3{margin-bottom:10px}
.servicio p{font-size:14.5px;color:var(--apagado);line-height:1.65}
.servicio a{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:13.5px;font-weight:700;color:var(--teal)}

/* ---------------- Proceso ---------------- */
.proceso{background:var(--gris-cl)}
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.paso{position:relative;background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:28px 24px}
.paso-num{font-family:var(--disp);font-size:38px;font-weight:800;color:var(--teal-suave);
  -webkit-text-stroke:1.5px var(--teal-cla);margin-bottom:14px}
.paso h3{margin-bottom:8px;font-size:16.5px}
.paso p{font-size:13.5px;color:var(--apagado);line-height:1.6}

/* ---------------- Stats ---------------- */
.stats{background:linear-gradient(120deg,var(--teal-osc),var(--teal));color:#fff}
.stats .env{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stat strong{display:block;font-family:var(--disp);font-size:clamp(30px,3.6vw,44px);color:var(--lima)}
.stat span{font-size:13.5px;color:#c8dcda}

/* ---------------- Casos ---------------- */
.casos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.caso{border-radius:var(--radio);overflow:hidden;border:1px solid var(--linea);transition:.24s}
.caso:hover{transform:translateY(-6px);box-shadow:var(--sombra)}
.caso-img{height:170px;display:flex;align-items:flex-end;padding:20px;color:#fff}
.caso-img span{font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;background:rgba(0,0,0,.28);
  padding:5px 12px;border-radius:99px}
.caso-cuerpo{padding:22px}
.caso-cuerpo h3{margin-bottom:8px}
.caso-cuerpo p{font-size:14px;color:var(--apagado)}
.caso-resultado{margin-top:14px;font-family:var(--disp);font-weight:800;color:var(--teal);font-size:22px}

/* ---------------- Equipo ---------------- */
.equipo{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ficha{background:var(--gris-cl);border:1px solid var(--linea);border-radius:var(--radio);
  padding:26px 20px;text-align:center;transition:.22s}
.ficha:hover{box-shadow:var(--sombra);border-color:var(--teal-cla);background:#fff}
.ficha-foto{width:88px;height:88px;margin:0 auto 16px;border-radius:50%;background:var(--teal);
  display:flex;align-items:center;justify-content:center;color:var(--lima);font-family:var(--disp);font-size:24px;font-weight:800}
.ficha h3{font-size:16px;margin-bottom:3px}
.ficha .cargo{font-size:12.5px;color:var(--teal);font-weight:700;margin-bottom:9px}
.ficha p{font-size:13px;color:var(--apagado);line-height:1.55}

/* ---------------- Testimonios ---------------- */
.opiniones{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.opinion{background:var(--gris-cl);border:1px solid var(--linea);border-radius:var(--radio);padding:30px}
.opinion p{font-size:16px;color:var(--tinta2);margin-bottom:20px;font-style:italic}
.opinion-quien{display:flex;align-items:center;gap:12px}
.opinion-ini{width:44px;height:44px;border-radius:50%;background:var(--teal);color:var(--lima);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0}
.opinion-quien strong{display:block;font-size:14.5px}
.opinion-quien span{font-size:12.5px;color:var(--apagado)}

/* ---------------- CTA ---------------- */
.cta{background:linear-gradient(120deg,var(--teal),var(--teal-osc));color:#fff;text-align:center}
.cta h2{margin-bottom:14px}
.cta p{color:#c8dcda;max-width:560px;margin:0 auto 30px}

/* ---------------- Contacto ---------------- */
.cont-rejilla{display:grid;grid-template-columns:1fr 1.1fr;gap:50px}
.cont-dato{display:flex;gap:14px;margin-bottom:22px}
.cont-dato svg{color:var(--teal);flex-shrink:0;margin-top:3px}
.cont-dato strong{display:block;font-size:14.5px;margin-bottom:2px}
.cont-dato span{font-size:13.5px;color:var(--apagado)}
.formulario{background:var(--gris-cl);border:1px solid var(--linea);border-radius:var(--radio);padding:32px 28px}
.campo{margin-bottom:15px}
.campo label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.campo input,.campo select,.campo textarea{width:100%;padding:12px 14px;border:1px solid var(--linea);
  border-radius:8px;background:#fff;color:var(--tinta);font-family:inherit;font-size:14.5px;transition:.18s}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(15,82,87,.12)}
.campo textarea{resize:vertical;min-height:90px}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}
.aviso-form{margin-top:14px;padding:13px 16px;border-radius:8px;font-size:13.5px;display:none}
.aviso-form.ok{display:block;background:rgba(46,139,87,.1);border:1px solid rgba(46,139,87,.35);color:var(--ok)}
.aviso-form.mal{display:block;background:rgba(192,73,47,.09);border:1px solid rgba(192,73,47,.3);color:var(--error)}

/* ---------------- Pie ---------------- */
.pie{background:var(--tinta);color:#c3ceCD;padding:54px 0 0}
.pie-rejilla{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;padding-bottom:36px}
.pie .marca-txt strong{color:#fff}
.pie h4{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lima);margin-bottom:14px}
.pie p,.pie a{font-size:13.5px;color:rgba(195,206,205,.8)}
.pie a{display:block;margin-bottom:9px;transition:.2s}
.pie a:hover{color:#fff}
.pie-abajo{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;font-size:12.5px;
  color:rgba(195,206,205,.55);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.aviso-demo{background:#fff4cc;color:#5c4a08;text-align:center;padding:9px 20px;font-size:12.5px;font-weight:700}

/* ---------------- Responsive ---------------- */
@media(max-width:1100px){
  .servicios{grid-template-columns:repeat(2,1fr)}
  .pasos{grid-template-columns:repeat(2,1fr)}
  .stats .env{grid-template-columns:repeat(2,1fr)}
  .casos{grid-template-columns:1fr 1fr}
  .equipo{grid-template-columns:repeat(2,1fr)}
  .opiniones{grid-template-columns:1fr}
  .portada-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .menu{display:none}
  .cab .btn{display:none}
  .abrir-menu{display:flex}
  .menu-movil .btn{display:flex;margin:14px 26px 18px}
  .cont-rejilla{grid-template-columns:1fr;gap:30px}
  .pie-rejilla{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  section{padding:56px 0}
  .env{padding:0 18px}
  .servicios{grid-template-columns:1fr}
  .pasos{grid-template-columns:1fr}
  .stats .env{grid-template-columns:1fr 1fr}
  .casos{grid-template-columns:1fr}
  .equipo{grid-template-columns:1fr}
  .dos{grid-template-columns:1fr}
  .pie-rejilla{grid-template-columns:1fr;gap:24px}
}
html,body{overflow-x:hidden;max-width:100%}
