/* ===========================================================
   LFTL Servicios — hoja de estilo (2026)
   Fondo oscuro · azul traza #5B9BD5 · un color por división
   =========================================================== */

:root{
  --fondo:#08090B;
  --fondo-2:#0E1116;
  --superficie:#12161D;
  --borde:#20262F;
  --texto:#E9EEF3;
  --apagado:#94A2AF;
  --traza:#5B9BD5;
  --cian:#4AE8F9;
  --acento:#5B9BD5;          /* lo sobreescribe cada sección */
  --acento-tenue:rgba(91,155,213,.14);
  --max:1280px;
  --h:74px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--fondo);color:var(--texto);
  font-family:'Barlow',-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--acento);color:#08090B}

h1,h2,h3,h4,.cond{font-family:'Barlow Condensed','Barlow',Arial Narrow,sans-serif;font-weight:700;
  letter-spacing:.005em;line-height:1.02;margin:0;text-transform:uppercase}
h1{font-size:clamp(2.9rem,7.6vw,6.4rem)}
h2{font-size:clamp(2rem,4.2vw,3.4rem)}
h3{font-size:1.4rem}
p{margin:0 0 1.1em}

.contenedor{width:100%;max-width:var(--max);margin:0 auto;padding:0 30px}
.seccion{padding:96px 0;position:relative}
.seccion--alt{background:var(--fondo-2)}
.rotulo{display:flex;align-items:center;gap:14px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;
  letter-spacing:.24em;font-size:.8rem;font-weight:600;color:var(--acento);margin-bottom:20px}
.rotulo::before{content:'';width:32px;height:2px;background:var(--acento)}
.entradilla{max-width:64ch;color:var(--apagado);font-size:1.08rem}

/* ---------- cabecera ---------- */
.cabecera{position:sticky;top:0;z-index:70;background:rgba(8,9,11,.82);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--borde)}
.cabecera__int{display:flex;align-items:center;justify-content:space-between;height:var(--h);gap:20px}
.marca{display:flex;align-items:center;gap:13px;text-decoration:none}
.marca img{height:38px;width:auto}
.marca span{font-family:'Barlow Condensed',sans-serif;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--apagado);border-left:1px solid var(--borde);padding-left:13px}
.nav{display:flex;align-items:center;gap:8px}
.nav a{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-weight:600;
  font-size:.98rem;text-decoration:none;padding:8px 14px;border:1px solid transparent;transition:.22s;white-space:nowrap}
.nav a:hover{border-color:var(--borde);color:#fff;background:var(--superficie)}
.nav a[aria-current="page"]{color:var(--acento);border-color:var(--acento)}
.nav .destacado{border-color:var(--acento);color:var(--acento)}
.nav .destacado:hover{background:var(--acento);color:#08090B;border-color:var(--acento)}
.menu-btn{display:none;background:var(--superficie);border:1px solid var(--borde);color:var(--texto);
  padding:9px 14px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}

/* ---------- portada ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--borde)}
.hero__trazas{position:absolute;inset:-10% -10% -10% -10%;pointer-events:none;opacity:.6}
.hero__trazas span{
  position:absolute;top:-20%;width:1px;height:140%;
  background:linear-gradient(180deg,transparent,var(--traza),transparent);
  transform:rotate(14deg);opacity:.35;animation:deslizar 9s linear infinite;
}
@keyframes deslizar{0%{transform:rotate(14deg) translateY(-14%)}100%{transform:rotate(14deg) translateY(14%)}}
.hero__halo{position:absolute;width:760px;height:760px;border-radius:50%;filter:blur(120px);
  background:var(--acento);opacity:.16;top:-320px;right:-180px;pointer-events:none}
.hero__int{position:relative;padding-block:118px 88px}
.hero h1 span{color:var(--acento)}
.hero__texto{max-width:56ch;color:#B6C3CE;font-size:1.14rem;margin-top:28px}
.numero-hero{font-family:'Barlow Condensed',sans-serif;font-size:1rem;letter-spacing:.3em;color:var(--acento);
  display:block;margin-bottom:18px}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;
  letter-spacing:.12em;font-weight:600;font-size:1rem;padding:14px 28px;text-decoration:none;cursor:pointer;
  background:var(--acento);color:#08090B;border:1px solid var(--acento);transition:.22s}
.btn:hover{background:transparent;color:var(--acento)}
.btn--linea{background:transparent;color:var(--texto);border-color:var(--borde)}
.btn--linea:hover{border-color:var(--acento);color:var(--acento);background:transparent}
.botonera{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}

/* ---------- mosaico de secciones ---------- */
.mosaico{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}
.mosaico a{
  position:relative;text-decoration:none;background:var(--superficie);border:1px solid var(--borde);
  padding:26px 24px 88px;min-height:230px;display:flex;flex-direction:column;overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),border-color .3s,background .3s;
}
.mosaico a:hover{transform:translateY(-6px);border-color:var(--sec);background:#161B23}
.mosaico a::before{content:'';position:absolute;left:0;top:0;height:3px;width:0;background:var(--sec);transition:width .4s}
.mosaico a:hover::before{width:100%}
.mosaico .num{font-family:'Barlow Condensed',sans-serif;letter-spacing:.24em;font-size:.82rem;color:var(--sec)}
.mosaico h3{margin:12px 0 10px;font-size:1.32rem;color:#fff}
.mosaico p{color:var(--apagado);font-size:.95rem;margin:0}
.mosaico .flecha{position:absolute;left:24px;bottom:24px;font-family:'Barlow Condensed',sans-serif;letter-spacing:.14em;
  font-size:.86rem;color:var(--sec);text-transform:uppercase;display:flex;align-items:center;gap:8px}
.mosaico .flecha::after{content:'→';transition:transform .3s}
.mosaico a:hover .flecha::after{transform:translateX(6px)}
.mosaico .halo{position:absolute;right:-70px;bottom:-70px;width:180px;height:180px;border-radius:50%;
  background:var(--sec);filter:blur(60px);opacity:0;transition:opacity .4s}
.mosaico a:hover .halo{opacity:.30}
.mosaico a::after{content:attr(data-num);position:absolute;right:14px;top:2px;font-family:'Barlow Condensed',sans-serif;
  font-size:5.6rem;line-height:1;color:var(--sec);opacity:.10;transition:opacity .35s,transform .35s}
.mosaico a:hover::after{opacity:.22;transform:translateY(-4px)}
.mosaico a{border-left:2px solid var(--sec)}

/* ---------- rejilla genérica ---------- */
.rejilla{display:grid;gap:14px}
.rejilla--3{grid-template-columns:repeat(3,1fr)}
.rejilla--2{grid-template-columns:repeat(2,1fr)}
.rejilla--4{grid-template-columns:repeat(4,1fr)}
.tarjeta{background:var(--superficie);border:1px solid var(--borde);padding:28px 26px;transition:.28s;position:relative}
.tarjeta:hover{border-color:var(--acento);transform:translateY(-4px)}
.tarjeta h3{color:#fff;margin-bottom:10px}
.tarjeta p{color:var(--apagado);font-size:.97rem;margin:0}
.tarjeta .num{font-family:'Barlow Condensed',sans-serif;letter-spacing:.24em;font-size:.8rem;color:var(--acento)}
.tarjeta ul{margin:14px 0 0;padding:0;list-style:none;color:var(--apagado);font-size:.95rem}
.tarjeta ul li{position:relative;padding-left:17px;margin-bottom:6px}
.tarjeta ul li::before{content:'';position:absolute;left:0;top:.68em;width:9px;height:1px;background:var(--acento)}

/* lista de prestaciones a dos columnas */
.prestaciones{columns:2;column-gap:44px;list-style:none;padding:0;margin:26px 0 0;color:var(--apagado)}
.prestaciones li{break-inside:avoid;position:relative;padding-left:20px;margin-bottom:10px}
.prestaciones li::before{content:'';position:absolute;left:0;top:.68em;width:10px;height:2px;background:var(--acento)}

/* cifras */
.cifras{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px}
.cifra{border:1px solid var(--borde);background:var(--superficie);padding:24px}
.cifra b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:2.9rem;line-height:1;color:var(--acento)}
.cifra span{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;color:var(--apagado)}

/* dos columnas */
.dos{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:start}

/* pasos */
.pasos{counter-reset:paso;margin-top:34px;display:grid;gap:1px;background:var(--borde);border:1px solid var(--borde)}
.paso{background:var(--fondo-2);padding:24px 26px;display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:start}
.paso b{font-family:'Barlow Condensed',sans-serif;font-size:1.7rem;color:var(--acento);line-height:1}
.paso p{margin:0;color:var(--apagado)}
.paso h3{font-size:1.15rem;margin-bottom:4px;color:#fff}

/* cursos */
.curso{background:var(--superficie);border:1px solid var(--borde);padding:30px;transition:.28s;position:relative;overflow:hidden}
.curso:hover{border-color:var(--acento);transform:translateY(-4px)}
.curso__eti{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.eti{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;
  border:1px solid var(--borde);padding:4px 10px;color:var(--apagado)}
.eti--acento{border-color:var(--acento);color:var(--acento)}
.curso h3{color:#fff;font-size:1.5rem;margin-bottom:10px}
.curso p{color:var(--apagado);font-size:.98rem}
.curso__num{position:absolute;right:18px;top:6px;font-family:'Barlow Condensed',sans-serif;font-size:4.4rem;
  color:var(--acento);opacity:.13;line-height:1}

/* testimonios */
.cita{background:var(--fondo-2);border:1px solid var(--borde);padding:28px;border-left:3px solid var(--acento)}
.cita p{color:#D5DEE6;font-size:1.02rem;font-style:italic}
.cita footer{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.84rem;color:var(--acento)}

/* formularios */
.formulario{display:grid;gap:16px;margin-top:26px}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--apagado)}
.campo input,.campo textarea,.campo select{font:inherit;background:var(--superficie);border:1px solid var(--borde);
  color:var(--texto);padding:13px 15px;outline:0;transition:border-color .2s}
.campo input:focus,.campo textarea:focus,.campo select:focus{border-color:var(--acento)}
.dos-campos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.aviso{font-size:.84rem;color:#7c8894}

/* contacto */
.tarjeta a{color:var(--acento);text-decoration:none;border-bottom:1px solid transparent}
.tarjeta a:hover{border-color:var(--acento)}

/* franja inferior de llamada */
.llamada{border-top:1px solid var(--borde);background:
  radial-gradient(900px 260px at 80% 0%,var(--acento-tenue),transparent 70%),var(--fondo-2)}

/* ---------- pie ---------- */
.cierre{background:#050607;border-top:1px solid var(--borde);padding:62px 0 26px;color:var(--apagado)}
.cierre a{text-decoration:none}
.cierre a:hover{color:var(--acento)}
.cierre__rejilla{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:38px}
.cierre h4{font-size:.86rem;letter-spacing:.2em;color:var(--acento);margin-bottom:14px}
.cierre ul{list-style:none;padding:0;margin:0;font-size:.95rem}
.cierre ul li{margin-bottom:8px}
.cierre img{height:36px;margin-bottom:16px}
.cierre__pie{border-top:1px solid var(--borde);margin-top:42px;padding-top:18px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:14px;font-size:.84rem;color:#6d7883}

/* ---------- animación ---------- */
.js .aparece{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.3,1)}
.js .aparece.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js .aparece{opacity:1;transform:none;transition:none}
  .hero__trazas span{animation:none}
  html{scroll-behavior:auto}
}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .mosaico{grid-template-columns:repeat(2,1fr)}
  .rejilla--4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:940px){
  .dos{grid-template-columns:1fr;gap:36px}
  .rejilla--3{grid-template-columns:repeat(2,1fr)}
  .cifras{grid-template-columns:repeat(2,1fr)}
  .prestaciones{columns:1}
}
@media(max-width:760px){
  body{font-size:16px}
  .seccion{padding:64px 0}
  .contenedor{padding:0 20px}
  .menu-btn{display:block}
  .nav{position:absolute;top:var(--h);left:0;right:0;background:var(--fondo-2);border-bottom:1px solid var(--borde);
    flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 18px;display:none}
  .nav.abierto{display:flex}
  .nav a{padding:13px 0;border-bottom:1px solid var(--borde);border-left:0;border-right:0;border-top:0}
  .nav a:hover{background:transparent}
  .mosaico,.rejilla--3,.rejilla--2{grid-template-columns:1fr}
  .dos-campos{grid-template-columns:1fr}
  .cierre__rejilla{grid-template-columns:1fr}
  .hero__int{padding-block:80px 62px}
}
