/* Portada pública: misma familia visual que cae.isorga.com. */
html { scroll-behavior: smooth; }
body { margin:0; background:var(--bg); color:var(--text); font-family:var(--font-display); }
*, *::before, *::after { box-sizing:border-box; }
.lp-wrap { max-width:1080px; margin:0 auto; padding:0 24px; }
.lp-nav { position:sticky; top:0; z-index:20; border-bottom:1px solid var(--border); background:var(--bg); background:color-mix(in srgb,var(--bg) 90%,transparent); backdrop-filter:blur(10px); }
.lp-nav .lp-wrap { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px; }
.lp-brand { display:inline-flex; align-items:center; gap:9px; color:var(--text); font-size:19px; font-weight:700; text-decoration:none; white-space:nowrap; }
.lp-brand img { width:28px; height:28px; padding:2px; border-radius:50%; background:var(--brand-logo-bg); }
.lp-brand small { margin-left:4px; padding:4px 9px; border:1px solid var(--accent); background:var(--accent-soft); color:var(--accent); font:600 10px var(--font-mono); letter-spacing:var(--tracking-wide); text-transform:uppercase; clip-path:var(--clip-button); }
.lp-nav nav { display:flex; align-items:center; gap:22px; }
.lp-nav nav a:not(.lp-btn) { color:var(--text-muted); font-size:13px; text-decoration:none; }
.lp-nav nav a:not(.lp-btn):hover { color:var(--accent); }
.lp-btn { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:10px 20px; border:1px solid var(--border); color:var(--text); font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:var(--tracking-wide); text-decoration:none; clip-path:var(--clip-button); transition:var(--trans); }
.lp-btn:hover { color:var(--accent); border-color:var(--accent); }
.lp-btn-accent { color:var(--btn-on-accent); background:var(--accent); border-color:var(--accent); }
.lp-btn-accent:hover { color:var(--btn-on-accent); background:var(--accent-strong); border-color:var(--accent-strong); box-shadow:var(--glow-accent); }
.lp-hero { padding:88px 0 72px; border-bottom:1px solid var(--border); }
.lp-eyebrow { margin:0 0 20px; color:var(--accent); font:600 12px var(--font-mono); letter-spacing:var(--tracking-wide); text-transform:uppercase; }
.lp-hero h1 { max-width:19ch; margin:0 0 22px; font-size:clamp(34px,5vw,52px); line-height:1.15; font-weight:700; }
.lp-hero h1 em { color:var(--accent); font-style:normal; text-shadow:var(--glow-text); }
.lp-lede { max-width:68ch; margin:0 0 28px; color:var(--text-muted); font-size:17px; line-height:1.7; }
.lp-chips { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 32px; }
.lp-chip { display:inline-flex; align-items:center; gap:7px; padding:7px 12px; border:1px solid var(--border); background:var(--surface); font-size:12.5px; clip-path:var(--clip-button); }
.lp-chip i { color:var(--accent); font-size:15px; }
.lp-cta { display:flex; flex-wrap:wrap; gap:12px; }
.lp-sec { padding:72px 0; border-bottom:1px solid var(--border); scroll-margin-top:65px; }
.lp-sec-soft { background:var(--surface); }
.lp-sec h2 { max-width:24ch; margin:0 0 18px; font-size:clamp(25px,3.2vw,34px); line-height:1.25; }
.lp-sec p { max-width:70ch; margin:0 0 16px; color:var(--text-muted); font-size:15px; line-height:1.75; }
.lp-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:32px; }
.lp-pillar { padding:20px 22px; border:1px solid var(--border); background:var(--surface); clip-path:var(--clip-card); }
.lp-pillar strong { display:block; margin-bottom:8px; color:var(--text); font-size:15px; }
.lp-pillar p { margin:0; font-size:13px; line-height:1.6; }
.lp-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:36px; }
.lp-step { padding:24px; border:1px solid var(--border); background:var(--bg); clip-path:var(--clip-card); }
.lp-step-number { display:block; margin-bottom:20px; color:var(--accent); font:700 20px var(--font-mono); }
.lp-step h3,.lp-card h3 { margin:0 0 9px; font-size:15px; }
.lp-step p,.lp-card p { margin:0; max-width:none; font-size:13.5px; line-height:1.65; }
.lp-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:36px; }
.lp-card { padding:26px 24px; border:1px solid var(--border); background:var(--surface); clip-path:var(--clip-card); }
.lp-card-icon { display:block; margin-bottom:14px; color:var(--accent); font-size:23px; }
.lp-demo .lp-cta { margin-top:28px; }
.lp-sec p.lp-contacto { margin:20px 0 0; font-size:13px; }
.lp-contacto a,.lp-foot a { color:var(--accent); text-decoration:none; }
.lp-contacto a:hover,.lp-foot a:hover { text-decoration:underline; }
.lp-foot { padding:40px 0 48px; color:var(--text-muted); font-size:13px; }
.lp-foot .lp-wrap { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px 32px; }
@media (max-width:820px) { .lp-nav nav a:not(.lp-btn) { display:none; } .lp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px) { .lp-hero { padding:60px 0; } .lp-sec { padding:54px 0; } .lp-pillars,.lp-steps,.lp-grid { grid-template-columns:1fr; } }
@media (max-width:460px) { .lp-brand small { display:none; } .lp-nav .lp-wrap { padding:0 16px; } .lp-btn { padding:10px 14px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
