/* Public landing pages (includes/lp_page.php). Layout only; colours and fonts
   come from css/styles.css tokens, in both themes. */
.lp { position:relative; z-index:1; max-width:1080px; margin:0 auto; padding:160px 24px 96px; color:var(--text-main); font-family:var(--font-body); }

.lp-hero { max-width:760px; margin:0 auto 96px; text-align:center; }
.lp-eyebrow { margin:0 0 16px; font-size:.8rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
.lp-title { margin:0 0 20px; font-family:var(--font-display); font-weight:400; font-size:clamp(2.4rem,5.5vw,4rem); line-height:1.08; }
.lp-lead { margin:0 auto 32px; max-width:40em; font-size:1.15rem; line-height:1.6; color:var(--text-muted); }
.lp-note { margin:16px 0 0; font-size:.875rem; color:var(--text-muted); }

.lp-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.lp-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 24px; border:1px solid var(--border-color); border-radius:10px; font-weight:600; font-size:.95rem; color:var(--text-main); text-decoration:none; transition:border-color .2s, transform .2s; }
.lp-btn:hover { border-color:var(--gold); }
.lp-btn:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.lp-btn--primary { border-color:var(--text-main); background:var(--text-main); color:var(--bg-color); }
.lp-btn--primary:hover { transform:translateY(-1px); }

.lp-section { margin:0 0 88px; }
.lp-h2 { margin:0 0 28px; font-family:var(--font-display); font-weight:400; font-size:clamp(1.8rem,3.5vw,2.4rem); line-height:1.15; text-align:center; }
.lp-h3 { margin:0 0 8px; font-size:1.05rem; font-weight:600; color:var(--text-main); }

.lp-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:16px; }
.lp-card { padding:24px; border:1px solid var(--border-color); border-radius:16px; background:var(--card-bg); }
.lp-card p, .lp-steps p { margin:0; font-size:.95rem; line-height:1.6; color:var(--text-muted); }
.lp-card__icon { display:inline-grid; place-items:center; width:40px; height:40px; margin-bottom:16px; border-radius:10px; background:color-mix(in srgb,var(--gold) 12%,transparent); color:var(--gold); }
.lp-card__icon svg { width:20px; height:20px; }

.lp-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:16px; margin:0; padding:0; list-style:none; counter-reset:lp-step; }
.lp-steps li { position:relative; padding:24px 24px 24px 72px; border:1px solid var(--border-color); border-radius:16px; counter-increment:lp-step; }
.lp-steps li::before { content:counter(lp-step); position:absolute; left:24px; top:22px; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; border:1px solid var(--gold); color:var(--gold); font-weight:600; font-size:.9rem; }

.lp-facts { max-width:760px; margin:0 auto; }
.lp-facts>div { padding:20px 0; border-bottom:1px solid var(--border-color); }
.lp-facts dt { margin:0 0 6px; font-weight:600; }
.lp-facts dd { margin:0; line-height:1.6; color:var(--text-muted); }

.lp-final { max-width:760px; margin:0 auto; padding:48px 24px; border:1px solid var(--border-color); border-radius:20px; background:var(--card-bg); text-align:center; }
.lp-final p { margin:0 auto 24px; max-width:34em; line-height:1.6; color:var(--text-muted); }

@media (max-width:640px) {
    .lp { padding:120px 16px 64px; }
    .lp-hero { margin-bottom:64px; }
    .lp-section { margin-bottom:64px; }
    .lp-actions .lp-btn { flex:1 1 100%; }
    .lp-final { padding:32px 16px; }
}
