.auth{max-width:440px;margin:0 auto}
.hero{padding:26px 0 12px}
.hero h1{font-size:40px;line-height:1;text-transform:uppercase}
.hero h1 b{background:var(--accent);color:var(--accent-ink);padding:0 6px;border-radius:6px;font-weight:inherit}
.hero p{margin:8px 0 0}
.authcard{padding:14px;display:grid;gap:12px}
.authcard form{display:grid;gap:12px}
.seg.full{display:flex}.seg.full button{flex:1;padding:8px}
.linkbtn{border:0;background:none;padding:6px 0;color:var(--ink);text-decoration:underline;font-weight:600;font-size:14px}
.forgot{display:grid;gap:4px;justify-items:center;text-align:center}
.forgot p{margin:0}
.pw{display:flex;gap:6px}.pw input{flex:1;min-width:0}
.pwbar{height:4px;border-radius:2px;background:var(--sunk);overflow:hidden}
.pwbar i{display:block;height:100%;width:0;background:var(--need);transition:width .2s}
.apps{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.app{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;text-decoration:none;color:var(--ink);display:grid;gap:10px;align-content:start;position:relative;overflow:hidden;transition:transform .12s,border-color .12s}
.app::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:repeating-linear-gradient(90deg,var(--accent) 0 14px,transparent 14px 20px)}
.app:hover{border-color:var(--accent);transform:translateY(-2px)}
.app .bigi{width:72px;height:72px;border-radius:20px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center}
.app .bigi svg{width:42px;height:42px}
.app.alt .bigi{background:var(--sunk);color:var(--ink)}
.app h2{font-size:26px;line-height:1.05;text-transform:uppercase}
.app p{margin:0;color:var(--muted);font-size:15px}
.app .stat{font-size:13px;font-weight:600;color:var(--ok)}
@media (max-width:640px){
  .hero{padding:16px 0 10px}.hero h1{font-size:32px}
  .apps{grid-template-columns:1fr;gap:10px}
  .app{grid-template-columns:auto 1fr;align-items:center;gap:4px 14px;padding:14px}
  .app .bigi{grid-row:span 3;width:64px;height:64px;border-radius:18px}
  .app .bigi svg{width:36px;height:36px}
  .app h2{font-size:22px}
  .app p{font-size:14px}
}
.spacecard{margin-top:14px;padding:14px;display:grid;gap:10px}
.spacecard h2{font-size:18px;text-transform:uppercase}
.sp{flex:1}
.invbox{background:var(--accent-soft);border:1px solid var(--accent);border-radius:10px;padding:10px 12px;font-size:14px}
.invbox b{display:block}
.invbox.bad{background:var(--need-soft);border-color:var(--need)}

/* ───── portada pública (sin sesión) ───── */
.landing{max-width:1120px;margin:0 auto}
.lhero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,420px);gap:40px;align-items:center;padding:44px 0 36px}
.lintro{display:grid;gap:16px;align-content:center}
.kicker{margin:0;font:700 15px var(--display);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);display:flex;align-items:center;gap:10px}
.kicker::before{content:"";width:28px;height:6px;background:repeating-linear-gradient(90deg,var(--accent) 0 8px,transparent 8px 12px);flex:none}
.lintro h1{font-size:clamp(38px,5.4vw,64px);line-height:1.06;text-transform:uppercase}
/* resaltado: solo a la altura de las mayúsculas (no toda la caja de la letra), así no pisa la línea de arriba */
.lintro h1 b{background:linear-gradient(var(--accent),var(--accent)) 0 72%/100% 84% no-repeat;color:var(--accent-ink);padding:0 .14em;border-radius:8px;font-weight:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.lead{margin:0;font-size:18px;line-height:1.5;max-width:38em}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 13px 6px 9px;font-weight:600;font-size:14px}
.chips .ic{width:18px;height:18px;color:var(--ok)}
.more{justify-self:start}
.more .ic{width:18px;height:18px}
.landing .authcard{padding:18px;box-shadow:var(--shadow);border-top:5px solid var(--accent);scroll-margin-top:calc(var(--bar-h) + 16px)}
.authcard h2{font-size:24px;text-transform:uppercase}
.lsec{padding:36px 0;border-top:1px solid var(--line);scroll-margin-top:var(--bar-h)}
.lsec>h2{font-size:clamp(28px,3.4vw,38px);text-transform:uppercase}
.lsub{margin:6px 0 0;font-size:16px}
.feats{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));margin-top:20px}
.feat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;gap:8px;align-content:start}
.feat .bigi{width:56px;height:56px;border-radius:16px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center}
.feat .bigi .ic{width:30px;height:30px}
.feat h3{font-size:24px;text-transform:uppercase;margin-top:4px}
.feat p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.steps{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));counter-reset:st}
.steps li{counter-increment:st;position:relative;padding:16px 16px 16px 66px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.steps li::before{content:counter(st);position:absolute;left:14px;top:14px;width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font:700 20px var(--display)}
.steps h3{font-size:20px;text-transform:uppercase}
.steps p{margin:4px 0 0;color:var(--muted);font-size:15px;line-height:1.45}
.faq{display:grid;gap:8px;margin-top:18px;max-width:820px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 16px}
.faq summary{cursor:pointer;padding:14px 0;font-weight:600;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:700 22px/1 var(--display);color:var(--muted)}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 14px;color:var(--muted);line-height:1.5}
.lcta{margin:16px 0 0;background:var(--accent);color:var(--accent-ink);border-radius:18px;padding:24px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;position:relative;overflow:hidden}
.lcta::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(90deg,var(--accent-ink) 0 18px,transparent 18px 28px);opacity:.85}
.lcta h2{font-size:30px;text-transform:uppercase}
.lcta p{margin:4px 0 0;font-size:16px}
.lcta .btn{background:var(--accent-ink);color:var(--accent);font-size:16px;padding:12px 18px}
.lcta :focus-visible{outline-color:var(--accent-ink)}
.lfoot{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;padding:22px 0 0}
@media (max-width:899px){
  .lhero{grid-template-columns:1fr;gap:24px;padding:22px 0 26px}
  .lead{font-size:16px}
  .more{display:none}
}
