:root{--bg:#f8f7f2;--ink:#1e241f;--muted:#5b645d;--accent:#2b4036;--accent-ink:#dceda1;--line:#d9d6ca;--soft:#efede4;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:var(--accent);color:var(--accent-ink);padding:8px 14px;z-index:99}
.site-head{border-bottom:1px solid var(--line);background:var(--bg)}
.site-head .wrap{display:flex;align-items:center;gap:28px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}
.wordmark{font-family:var(--serif);font-size:20px;color:var(--ink);text-decoration:none;font-weight:700}
.wordmark b{color:var(--accent)}
.site-nav{display:flex;gap:22px;flex-wrap:wrap;margin-left:auto}
.site-nav a{color:var(--ink);text-decoration:none;font-size:15px}
.site-nav a:hover{color:var(--accent);text-decoration:underline}
.cta-btn{display:inline-block;background:var(--accent);color:var(--accent-ink);padding:9px 18px;text-decoration:none;font-size:15px;border:1px solid var(--accent)}
.cta-btn:hover{filter:brightness(1.15);text-decoration:none}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.hero{border-bottom:1px solid var(--line);padding:64px 0 56px}
.hero .wrap{max-width:820px}
.hero h1{font-family:var(--serif);font-size:clamp(30px,5vw,46px);line-height:1.15;margin:14px 0 18px}
.lead{font-size:19px;color:var(--muted);max-width:640px;margin-bottom:26px}
.hero .cta-btn{margin-bottom:10px;margin-right:14px}
.hero .secondary{font-size:15px}
section.band{border-bottom:1px solid var(--line);padding:52px 0}
section.band h2{font-family:var(--serif);font-size:clamp(24px,3.4vw,32px);margin-bottom:8px}
section.band .sub{color:var(--muted);margin-bottom:28px;max-width:640px}
.module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.module-card{border:1px solid var(--line);background:#fff;padding:22px;display:block;text-decoration:none;color:var(--ink)}
.module-card:hover{border-color:var(--accent)}
.module-card .num{font-size:12px;letter-spacing:.12em;color:var(--muted);font-weight:700}
.module-card h3{font-family:var(--serif);font-size:20px;margin:6px 0 8px}
.module-card p{font-size:15px;color:var(--muted)}
.module-card .badge{display:inline-block;margin-top:12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--line);color:var(--muted)}
.module-card .badge-live{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.persona-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.persona{border-left:3px solid var(--accent);padding:4px 0 4px 16px}
.persona h3{font-size:17px;margin-bottom:4px}
.persona p{font-size:15px;color:var(--muted)}
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;counter-reset:step}
.step{border:1px solid var(--line);background:#fff;padding:18px}
.step h3{font-size:16px;margin-bottom:6px}
.step p{font-size:14.5px;color:var(--muted)}
.lesson-index{border:1px solid var(--line);background:#fff}
.lesson-index details{border-bottom:1px solid var(--line)}
.lesson-index details:last-child{border-bottom:0}
.lesson-index summary{cursor:pointer;padding:16px 20px;font-family:var(--serif);font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.lesson-index summary::-webkit-details-marker{display:none}
.lesson-index summary .count{font-family:var(--sans);font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.lesson-index summary:hover{background:var(--soft)}
.lesson-index ol{list-style:none;padding:6px 20px 16px}
.lesson-index ol a{display:flex;gap:10px;padding:7px 0;text-decoration:none;border-bottom:1px dotted var(--line)}
.lesson-index ol a:last-child{border-bottom:0}
.lesson-index ol a:hover{text-decoration:underline}
.lesson-index .lno{color:var(--muted);font-size:14px;min-width:22px}
.tablewrap{overflow-x:auto;margin:18px 0}
table{border-collapse:collapse;width:100%;font-size:15px;background:#fff}
th,td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
th{background:var(--soft);font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.breadcrumb{font-size:13.5px;color:var(--muted);padding:18px 0 0}
.breadcrumb a{color:var(--muted)}
.lesson{max-width:720px;margin:0 auto;padding:34px 24px 60px}
.lesson h1{font-family:var(--serif);font-size:clamp(26px,4vw,36px);line-height:1.2;margin:10px 0 6px}
.lesson-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:13.5px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:6px}
.objective{border-left:3px solid var(--accent);background:#fff;padding:14px 18px;margin:22px 0;font-size:16px}
.objective b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.lesson h2{font-family:var(--serif);font-size:24px;margin:34px 0 10px}
.lesson h3{font-size:18px;margin:24px 0 8px}
.lesson p{margin:0 0 14px}
.lesson ul,.lesson ol{margin:0 0 16px 22px}
.lesson li{margin-bottom:6px}
.definition{border:1px solid var(--line);background:#fff;padding:14px 18px;margin:18px 0}
.definition b{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px}
.worked{border:1px solid var(--accent);background:#fff;padding:16px 18px;margin:22px 0}
.worked>b,.workbench>b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.worked>b{color:var(--accent)}
.worked ol{margin-left:20px}
.workbench{background:var(--soft);border:1px solid var(--line);padding:16px 18px;margin:22px 0}
.workbench>b{color:var(--ink)}
.workbench table{margin:10px 0}
.selfcheck{border:1px solid var(--line);background:#fff;margin:22px 0}
.selfcheck>b{display:block;background:var(--soft);padding:10px 16px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.selfcheck details{border-bottom:1px solid var(--line)}
.selfcheck details:last-child{border-bottom:0}
.selfcheck summary{cursor:pointer;padding:12px 16px;font-weight:600}
.selfcheck .ans{padding:0 16px 14px;color:var(--muted)}
.principle{background:var(--accent);color:var(--accent-ink);padding:18px 20px;margin:26px 0;font-family:var(--serif);font-size:19px;line-height:1.5}
.principle b{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;opacity:.8}
.lesson-sources{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:28px}
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}
.prevnext a{border:1px solid var(--line);background:#fff;padding:14px 16px;text-decoration:none;color:var(--ink);display:block}
.prevnext a:hover{border-color:var(--accent)}
.prevnext .dir{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px}
.prevnext .next{text-align:right}
.complete-btn{margin:24px 0 0;background:var(--bg);border:1px solid var(--line);padding:9px 16px;cursor:pointer;font-size:14px;color:var(--ink)}
.complete-btn[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.pagefoot{border-top:1px solid var(--line);padding:34px 0 46px;color:var(--muted);font-size:14.5px}
.pagefoot .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:30px}
.pagefoot h2{font-family:var(--serif);font-size:18px;color:var(--ink);margin-bottom:6px}
.reviewed{font-size:13px;color:var(--muted);margin-top:20px;border-top:1px solid var(--line);padding-top:14px}
.note{font-size:14.5px;color:var(--muted)}
ul.flat{list-style:none;margin-left:0}
ul.flat li{padding:7px 0;border-bottom:1px dotted var(--line)}
@media(max-width:860px){.module-grid,.persona-grid,.steps,.pagefoot .wrap{grid-template-columns:1fr}.site-head .wrap{gap:14px}.site-nav{margin-left:0}}
@media print{.site-head,.cta-btn,.complete-btn,.prevnext,.selfcheck summary{display:none}body{background:#fff;font-size:12pt}.lesson{max-width:100%;padding:0}.principle{background:#fff;color:#000;border:2px solid #000}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
