
:root{--paper:#F4F2ED;--ink:#1D1A15;--sub:#6E6557;--faint:#8B8271;--hair:rgba(29,26,21,.14);
--bone:#FBF9F5;--wash:#EAE6DD;--accent:#8A7A5E;--accent-deep:#5F5340;--gold:#BEA46A;
--night:#131110;--m-bazi:#A8791E;--m-ziwei:#4B4A91;--m-vedic:#B5322E;
--serif:Georgia,"Iowan Old Style","Palatino Linotype",Palatino,serif;
--sans:-apple-system,"Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}
html{background:var(--night)}
body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink);
line-height:1.7;letter-spacing:.01em}
a{color:var(--accent-deep)}
.lnav{max-width:920px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;
padding:22px 20px;gap:16px;flex-wrap:wrap}
.lnav-brand{font-family:var(--serif);font-weight:700;letter-spacing:.06em;text-decoration:none;
color:var(--ink);font-size:15px;text-transform:uppercase}
.lnav nav{display:flex;align-items:center;gap:18px;font-size:14px}
.lnav nav a{text-decoration:none;color:var(--sub)}
.lnav nav a.lnav-cta{color:var(--bone);background:var(--accent-deep);padding:8px 14px;
border-radius:3px;font-weight:600}
main.article,main.learn-hub,main.methodology{max-width:680px;margin:0 auto;padding:8px 20px 80px}
.eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
color:var(--accent-deep);font-weight:700;margin:18px 0 10px}
h1{font-family:var(--serif);font-size:clamp(28px,5vw,40px);line-height:1.22;margin:0 0 14px;
color:var(--ink)}
.dek{font-size:19px;color:var(--sub);line-height:1.6;margin:0 0 34px;font-family:var(--serif)}
h2{font-family:var(--serif);font-size:24px;margin:44px 0 14px;color:var(--ink);line-height:1.3}
h3{font-family:var(--serif);font-size:19px;margin:28px 0 10px}
.article p,.methodology p{font-size:17px;margin:0 0 18px}
.article ul,.methodology ul{margin:0 0 20px;padding-left:22px}
.article li,.methodology li{font-size:17px;margin-bottom:8px}
.term{border-bottom:1px dotted var(--faint);white-space:nowrap}
.term i{color:var(--sub);font-style:normal;font-size:.92em}
blockquote{border-left:3px solid var(--gold);margin:28px 0;padding:2px 0 2px 20px;
font-family:var(--serif);font-size:19px;color:var(--accent-deep);line-height:1.55}
.cta-band{margin:52px 0 40px;padding:28px 26px;background:var(--bone);border:1px solid var(--hair);
border-radius:6px;text-align:center}
.cta-band p{font-family:var(--serif);font-size:19px;margin:0 0 18px;color:var(--ink)}
.cta-btn{display:inline-block;background:var(--accent-deep);color:var(--bone);text-decoration:none;
padding:13px 26px;border-radius:3px;font-weight:600;font-size:15px}
.related{margin:0 0 20px}
.related-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);
font-weight:700;margin:0 0 14px}
.rel-card{display:block;padding:16px 0;border-top:1px solid var(--hair);text-decoration:none;
color:var(--ink);font-family:var(--serif);font-size:17px}
.rel-cluster{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.1em;
text-transform:uppercase;color:var(--faint);margin-bottom:4px}
.lfoot{max-width:920px;margin:40px auto 0;padding:28px 20px 60px;border-top:1px solid var(--hair);
text-align:center;font-size:13px;color:var(--faint)}
.lfoot a{color:var(--faint)}
.lfoot-disclaimer{margin:0 0 10px}
.hub-cluster{margin:44px 0}
.hub-cluster h2{margin-top:0}
.hub-card{display:block;padding:18px 0;border-top:1px solid var(--hair);text-decoration:none;
color:var(--ink)}
.hub-card h3{margin:0 0 6px;font-size:19px}
.hub-card p{margin:0;font-size:15px;color:var(--sub);font-family:var(--sans)}
.mirror-tag{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
font-weight:700;padding:2px 8px;border-radius:3px;margin-bottom:8px}
.mirror-tag.bazi{color:var(--m-bazi);background:rgba(168,121,30,.12)}
.mirror-tag.ziwei{color:var(--m-ziwei);background:rgba(75,74,145,.12)}
.mirror-tag.bridge{color:var(--accent-deep);background:var(--wash)}
.receipt{background:var(--bone);border:1px solid var(--hair);border-radius:6px;padding:20px 22px;
margin:24px 0}
.receipt h3{margin-top:0}
.receipt code{font-size:15px;background:var(--wash);padding:1px 6px;border-radius:3px}
@media(max-width:640px){.lnav{padding:18px 16px}main.article,main.learn-hub,main.methodology{
padding:6px 16px 60px}h1{font-size:28px}.article p,.methodology p{font-size:16px}}
