/* ---------------------------------------------------------------
   Landing de Genba (genba.cl). Comparte los tokens del producto
   pero es independiente: la app tiene su propia hoja.
   --------------------------------------------------------------- */
:root{
  --tinta:#141A1F; --grafito:#33454F; --cal:#FFFFFF; --hormigon:#EDEEEA;
  --linea:#D8DBD5; --seguridad:#F2B705; --ok:#2E6B4F; --acero:#5C6A72;
  --f-tit:'Archivo', system-ui, sans-serif; --f-txt:'IBM Plex Sans', system-ui, sans-serif;
  --r:6px;
}
*{box-sizing:border-box}
body{margin:0; font-family:var(--f-txt); color:var(--tinta); background:var(--cal); line-height:1.6}
h1,h2,h3{font-family:var(--f-tit); line-height:1.2; margin:0}
a{color:inherit}
.lp-contenido{max-width:1080px; margin:0 auto; padding:0 24px}

/* --- Barra superior --- */
.lp-top{display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:18px 32px; border-bottom:1px solid var(--linea); position:sticky; top:0;
  background:rgba(255,255,255,.94); backdrop-filter:blur(8px); z-index:50}
.lp-marca{display:flex; align-items:center; gap:9px; text-decoration:none}
.lp-marca img{display:block; border-radius:7px}
.lp-marca b{font-family:var(--f-tit); font-size:22px; letter-spacing:-.01em}
.lp-marca span{font-size:14px; color:var(--acero)}
.lp-top nav{display:flex; align-items:center; gap:24px; font-size:14.5px}
.lp-top nav a{text-decoration:none; color:var(--acero)}
.lp-top nav a:hover{color:var(--tinta)}

.lp-btn{display:inline-block; background:var(--tinta); color:#fff !important; text-decoration:none;
  padding:9px 18px; border-radius:var(--r); font-family:var(--f-tit); font-size:14px; border:1px solid var(--tinta);
  cursor:pointer; transition:background .12s}
.lp-btn:hover{background:#000}
.lp-btn.grande{padding:13px 26px; font-size:15.5px}
.lp-btn.claro{background:transparent; color:var(--tinta) !important; border-color:var(--linea)}
.lp-btn.claro:hover{background:var(--hormigon)}

/* --- Portada --- */
.lp-hero{padding:96px 0 72px; border-bottom:1px solid var(--linea);
  background:linear-gradient(180deg,#FBFBFA 0%, #fff 100%)}
.lp-kicker{font-family:var(--f-tit); font-size:12.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--acero); margin:0 0 18px}
.lp-hero h1{font-size:clamp(34px, 5.4vw, 58px); max-width:16ch; letter-spacing:-.02em}
.lp-hero h1::after{content:''; display:block; width:64px; height:4px; background:var(--seguridad); margin-top:24px}
.lp-bajada{font-size:18px; color:var(--acero); max-width:62ch; margin:24px 0 32px}
.lp-acciones{display:flex; gap:12px; flex-wrap:wrap}
.lp-cifras{max-width:1080px; margin:56px auto 0; padding:0 24px}
.lp-cifras div{border-left:3px solid var(--seguridad); padding:6px 0 6px 18px}
.lp-cifras b{font-family:var(--f-tit); font-size:26px; display:block}
.lp-cifras small{color:var(--acero); font-size:14px}

/* --- Bloques --- */
section{padding:76px 0}
section h2{font-size:clamp(26px, 3.4vw, 36px); letter-spacing:-.01em}
.lp-sub{color:var(--acero); margin:12px 0 34px; max-width:62ch; font-size:16.5px}
.lp-grid{display:grid; gap:18px}
.lp-grid.dos{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.lp-grid.tres{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}

.lp-dolores{background:var(--tinta); color:#fff}
.lp-dolores h2{margin-bottom:34px}
.lp-caja{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r); padding:24px}
.lp-caja h3{font-size:17px; margin-bottom:10px; color:var(--seguridad)}
.lp-caja p{margin:0; color:#C9CEC9; font-size:15px}

.lp-modulo{border:1px solid var(--linea); border-left:3px solid var(--seguridad);
  border-radius:var(--r); padding:22px 24px; background:#FBFBFA}
.lp-modulo h3{font-size:17px; margin-bottom:8px}
.lp-modulo p{margin:0; color:var(--acero); font-size:15px}

.lp-como{background:#FBFBFA; border-top:1px solid var(--linea); border-bottom:1px solid var(--linea)}
.lp-pasos{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:0; margin-top:10px;
  border-top:1px solid var(--linea)}
.lp-pasos article{padding:28px 26px 30px 0; border-right:1px solid var(--linea); position:relative}
.lp-pasos article:last-child{border-right:0}
.lp-pasos article:not(:first-child){padding-left:26px}
/* el número va como cifra grande y tenue: ordena sin gritar */
.lp-n{font-family:var(--f-tit); font-size:13px; font-weight:700; letter-spacing:.1em;
  color:var(--acero); display:block; margin-bottom:14px}
.lp-n::after{content:''; display:block; width:26px; height:3px; background:var(--seguridad); margin-top:10px}
.lp-pasos h3{font-size:17px; margin-bottom:8px}
.lp-pasos p{margin:0; color:var(--acero); font-size:15px}
@media (max-width:760px){
  .lp-pasos{grid-template-columns:1fr}
  .lp-pasos article{border-right:0; border-bottom:1px solid var(--linea); padding:24px 0 !important}
  .lp-pasos article:last-child{border-bottom:0}
}

/* --- Contacto --- */
.lp-form{max-width:720px}
.lp-campos{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px}
.lp-form label{display:block; font-size:14px; font-weight:500; margin-bottom:16px}
.lp-form label span{color:#B3402B}
.lp-form input, .lp-form textarea{width:100%; margin-top:6px; padding:11px 13px; font-family:var(--f-txt);
  font-size:15px; border:1px solid var(--linea); border-radius:var(--r); background:#fff; color:var(--tinta)}
.lp-form input:focus, .lp-form textarea:focus{outline:2px solid var(--seguridad); outline-offset:-1px}
.lp-form textarea{resize:vertical}
.lp-trampa{position:absolute; left:-9999px; width:1px; height:1px; opacity:0}
.lp-nota{color:var(--acero); font-size:14px; margin-top:16px}
.lp-consent{display:flex; gap:10px; align-items:flex-start; font-weight:400 !important;
  font-size:14px; color:var(--acero); margin:4px 0 18px !important; max-width:70ch}
.lp-consent input{width:auto !important; margin:3px 0 0 !important; flex:none}
.lp-consent a{color:var(--tinta)}
.cf-turnstile{margin:0 0 18px}
.lp-ok{background:#E6F2EC; color:#2E6B4F; border:1px solid #BFE0CE; padding:14px 16px;
  border-radius:var(--r); margin-bottom:24px; max-width:720px}
.lp-error{background:#FBEDEA; color:#8A3F2E; border:1px solid #F0CFC7; padding:14px 16px;
  border-radius:var(--r); margin-bottom:24px; max-width:720px}

/* --- Pie --- */
.lp-pie{background:var(--tinta); color:#AEB9BF; padding:48px 0; font-size:14.5px}
.lp-pie .lp-marca b{color:#fff}
.lp-pie .lp-marca{margin-bottom:12px}
.lp-pie p{margin:4px 0}
.lp-pie a{color:#fff}

@media (max-width:640px){
  .lp-top{padding:14px 18px; flex-wrap:wrap}
  .lp-top nav{gap:16px; font-size:14px}
  .lp-hero{padding:56px 0 48px}
  section{padding:56px 0}
}

/* ---------- Páginas legales ---------- */
.lp-legal{padding:64px 0 88px}
.lp-legal h1{font-size:clamp(28px,4vw,40px); letter-spacing:-.01em}
.lp-legal .lp-fecha{color:var(--acero); font-size:14px; margin:10px 0 34px;
  padding-bottom:22px; border-bottom:1px solid var(--linea)}
.lp-legal h2{font-size:20px; margin:38px 0 12px}
.lp-legal h3{font-size:16px; margin:24px 0 8px}
.lp-legal p, .lp-legal li{max-width:74ch; color:#33454F; font-size:15.5px}
.lp-legal ul, .lp-legal ol{padding-left:22px}
.lp-legal li{margin-bottom:8px}
.lp-legal table{width:100%; max-width:820px; border-collapse:collapse; margin:16px 0 24px; font-size:15px}
.lp-legal th, .lp-legal td{text-align:left; padding:11px 13px; border-bottom:1px solid var(--linea); vertical-align:top}
.lp-legal th{font-family:var(--f-tit); font-size:13.5px; border-bottom:2px solid var(--tinta)}
.lp-legal a{color:var(--tinta)}
.lp-nota-legal{background:#FBFBFA; border:1px solid var(--linea); border-left:3px solid var(--seguridad);
  border-radius:var(--r); padding:16px 18px; margin:28px 0; max-width:74ch; font-size:14.5px; color:var(--acero)}
