/* Zelos Learn: article typography. Theme tokens come from zelos-theme.css. */
.lr-shell{ max-width:760px; margin:0 auto; padding:28px 16px 64px; }
.lr-crumbs{ font-family:var(--mono); font-size:0.72rem; color:var(--muted); letter-spacing:0.03em; }
.lr-crumbs a{ color:var(--muted); text-decoration:none; } .lr-crumbs a:hover{ color:var(--accent); }
.lr-kicker{ font-family:var(--mono); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent); }
.lr-article h1, .lr-hub-head h1{ font-size:clamp(1.7rem, 4.4vw, 2.4rem); line-height:1.15; letter-spacing:-0.015em; margin:14px 0 8px; }
.lr-meta{ font-family:var(--mono); font-size:0.74rem; color:var(--muted); margin:0 0 22px; }
.lr-article p, .lr-article li{ font-size:1.02rem; line-height:1.72; color:var(--ink-2, var(--ink)); }
.lr-article .lede{ font-size:1.14rem; color:var(--ink); line-height:1.65; }
.lr-article h2{ font-size:1.3rem; margin:34px 0 8px; letter-spacing:-0.01em; }
.lr-article h3{ font-size:1.05rem; margin:22px 0 4px; }
.lr-article ul, .lr-article ol{ padding-left:22px; } .lr-article li{ margin:6px 0; }
.lr-article a, .lr-hub-head a, .lr-disclaimer a{ color:var(--accent); }
.lr-article table{ width:100%; border-collapse:collapse; margin:14px 0; font-size:0.9rem; display:block; overflow-x:auto; }
.lr-article th, .lr-article td{ text-align:left; padding:9px 10px; border-bottom:1px solid var(--border); vertical-align:top; line-height:1.5; }
.lr-article th{ font-family:var(--mono); font-size:0.7rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--muted); font-weight:600; }
.lr-practice{ display:flex; flex-direction:column; gap:4px; margin:30px 0 0; padding:16px 18px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); text-decoration:none; color:var(--ink); }
.lr-practice:hover{ border-color:var(--accent-line, var(--accent)); }
.lr-practice b{ font-size:1.05rem; } .lr-practice span:last-child{ color:var(--muted); font-size:0.9rem; }
.lr-cta{ display:flex; gap:16px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin:18px 0 0; padding:18px; border:1px solid var(--accent-line, var(--border)); border-radius:var(--radius); background:var(--accent-soft, var(--surface)); }
.lr-cta div{ flex:1 1 320px; } .lr-cta b{ display:block; font-size:1.05rem; margin-bottom:4px; } .lr-cta span{ color:var(--ink-2, var(--ink)); font-size:0.92rem; line-height:1.5; }
.lr-faq{ margin-top:36px; } .lr-faq h2{ margin-bottom:4px; }
.lr-faq-item{ padding:14px 0; border-bottom:1px solid var(--border); }
.lr-faq-item h3{ margin:0 0 4px; font-size:1rem; } .lr-faq-item p{ margin:0; font-size:0.95rem; color:var(--muted); }
.lr-related, .lr-group{ margin-top:38px; } .lr-related h2, .lr-group h2{ font-size:1.05rem; margin-bottom:12px; }
.lr-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:10px; }
.lr-card{ display:flex; flex-direction:column; gap:6px; padding:14px 16px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface); text-decoration:none; color:var(--ink); }
.lr-card:hover{ border-color:var(--accent-line, var(--accent)); }
.lr-card b{ font-size:0.95rem; line-height:1.35; } .lr-card span{ font-size:0.82rem; color:var(--muted); line-height:1.45; }
.lr-hub-head p{ color:var(--ink-2, var(--ink)); font-size:1.05rem; line-height:1.6; max-width:62ch; }
.lr-disclaimer{ margin-top:34px; font-size:0.78rem; color:var(--muted); line-height:1.6; }
.lr-article a.btn, .lr-cta a.btn{ color:#fff; text-decoration:none; white-space:nowrap; }
