:root{--ink:#17221e;--muted:#5f6f68;--paper:#f7f5ef;--card:#fffefa;--line:#d9ddd6;--green:#0d6b52;--green-dark:#084b3b;--green-soft:#e7f3ed;--orange:#9b4c1f;--orange-soft:#faeee5;--navy:#152d3b;--max:1120px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.58}
a{color:var(--green);text-underline-offset:3px}
a:focus-visible,button:focus-visible{outline:3px solid #df9c50;outline-offset:4px}
.site-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:var(--max);margin:auto;padding:18px 24px}
.brand{color:var(--ink);font-weight:850;letter-spacing:.05em;text-decoration:none}
.site-links{display:flex;gap:18px;flex-wrap:wrap;font-size:14px}
.site-links a{text-decoration:none;color:var(--muted)}
.lesson-nav-wrap{border-block:1px solid var(--line);background:#fffefa}
.lesson-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;max-width:var(--max);margin:auto;padding:12px 24px;align-items:center}
.lesson-nav a{display:block;padding:10px 12px;border:1px solid var(--line);background:white;text-decoration:none;color:var(--ink);font-size:13px;line-height:1.35}
.lesson-nav a:last-child{text-align:right}.lesson-nav .contents{font-weight:850;text-align:center;color:var(--green);border-color:#9fc8b7}
.lesson-nav small{display:block;color:var(--muted);margin-bottom:2px}
.lesson-hero{background:linear-gradient(135deg,#f0eee6 0%,#e6f3ed 100%);border-bottom:1px solid var(--line)}
.hero-inner{max-width:var(--max);margin:auto;padding:68px 24px 58px}
.kicker{display:inline-flex;padding:7px 11px;border:1px solid #a7cbbc;background:#f6fffb;color:var(--green);font-size:13px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
h1{max-width:940px;margin:22px 0 18px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(40px,6.7vw,76px);font-weight:500;line-height:1.03;letter-spacing:-.035em}
.lead{max-width:850px;margin:0;font-size:clamp(18px,2.3vw,23px);color:#405049}
.quick{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.pill{padding:8px 12px;border:1px solid #c9d4cd;background:rgba(255,255,255,.72);font-size:14px}
.lesson-main{max-width:var(--max);margin:auto;padding:56px 24px 76px}.lesson-main>section,.lesson-main>aside{margin-bottom:54px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:0 0 20px}.section-head h2,.section-title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,4vw,47px);font-weight:500;line-height:1.1}.section-head p{max-width:500px;margin:0;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{padding:23px;border:1px solid var(--line);background:var(--card)}.card h3{margin:0 0 8px;font-size:19px}.card p{margin:0;color:var(--muted)}.card.warn{border-top:5px solid #cb8a62}.card.good{border-top:5px solid var(--green)}
.eyebrow{display:block;margin-bottom:9px;color:var(--orange);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.example{padding:22px;border:1px solid var(--line);background:white}.example h3{margin:0 0 13px;font-size:19px}.flow{display:grid;gap:9px}.flow div{padding:10px 12px;background:#f1f3ef;color:#43534c;font-size:14px}.flow strong{color:var(--ink)}
.bridge{display:grid;grid-template-columns:.78fr 1.22fr;gap:28px;align-items:start}.bridge-copy p{color:var(--muted)}
.process{counter-reset:process;display:grid;gap:10px}.process article{counter-increment:process;display:grid;grid-template-columns:42px 1fr;gap:13px;padding:16px;border:1px solid var(--line);background:white}.process article:before{content:counter(process);display:grid;place-items:center;width:34px;height:34px;background:var(--green);color:white;font-weight:900}.process h3{margin:0 0 3px;font-size:17px}.process p{margin:0;color:var(--muted)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);background:var(--card);box-shadow:0 18px 45px rgba(25,45,37,.07)}table{width:100%;min-width:760px;border-collapse:collapse;text-align:left}th,td{padding:17px 19px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#edf0ec;font-size:15px;line-height:1.35}th:first-child{width:19%}td:first-child{font-weight:800;color:#314039}tbody tr:last-child td{border-bottom:0}.signal{display:inline-grid;place-items:center;width:23px;height:23px;margin-right:7px;border-radius:50%;font-weight:900;line-height:1}.plus{background:#d9f0e5;color:#075b43}.minus{background:#f5dfd1;color:#8a3c18}.neutral{background:#e9ece9;color:#4b5a53}
.verdict{padding:27px;background:var(--navy);color:#f9fbfa;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.verdict h2{margin:0 0 7px;font-size:25px}.verdict p{margin:0;color:#d5e1dc;max-width:760px}.verdict strong{color:white}.receipt{padding:10px 14px;border:1px solid #9ac8b5;color:#c8f6e3;font:700 13px ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}
.how{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:start}.how h2,.sources h2,.download h2,.related h2{margin:0 0 14px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,4vw,43px);font-weight:500;line-height:1.12}.how-copy>p,.download p{color:var(--muted)}.steps{counter-reset:steps;display:grid;gap:8px;margin-top:22px}.step{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;padding:13px 0;border-top:1px solid var(--line)}.step:before{counter-increment:steps;content:counter(steps);display:grid;place-items:center;width:32px;height:32px;background:var(--green);color:white;font-weight:900}.step p{margin:3px 0 0;color:var(--muted)}
.prompt{position:relative;margin:0;padding:23px;border:1px solid #bfd3c9;background:#eef7f2;font:14px/1.62 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.download{padding:30px;border:1px solid #a7cbbc;background:linear-gradient(135deg,#fffdf7,#e9f5ef);display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 17px;background:var(--green);color:white;text-decoration:none;font-weight:850;text-align:center}.button:hover{background:var(--green-dark)}.button.secondary{background:transparent;border:1px solid var(--green);color:var(--green)}
.issues{display:grid;gap:12px}.issue{display:grid;grid-template-columns:160px 1fr;gap:20px;padding:19px;border:1px solid var(--line);background:white}.issue strong{color:var(--orange)}.issue p{margin:0;color:var(--muted)}.issue a{font-weight:800}
.source-list,.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.source-list a,.related-grid a,.related-grid article{display:block;min-height:112px;padding:18px;border:1px solid var(--line);background:var(--card);text-decoration:none}.source-list strong,.related-grid strong{display:block;color:var(--ink);margin-bottom:5px}.source-list span,.related-grid span,.related-grid p{color:var(--muted);font-size:14px;margin:0}.related-grid .offer{background:var(--orange-soft);border-color:#dfbea8}
.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.check{padding:17px 18px;border-left:4px solid var(--green);background:white}.check strong{display:block;margin-bottom:4px}.check span{color:var(--muted)}
.lesson-bottom{border-top:1px solid var(--line);padding-top:28px}.lesson-bottom .lesson-nav{padding-inline:0}
.lesson-footer{border-top:1px solid var(--line);padding:25px 24px;text-align:center;color:var(--muted);font-size:14px}
code{padding:.12em .35em;background:#eceee9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.note{padding:18px 20px;border-left:4px solid var(--orange);background:var(--orange-soft);color:#684229}
@media(max-width:820px){.cards,.example-grid,.source-list,.related-grid{grid-template-columns:1fr 1fr}.bridge,.how,.download{grid-template-columns:1fr}.section-head{display:block}.section-head p{margin-top:10px}}
@media(max-width:620px){.site-nav{align-items:flex-start;padding:15px 16px}.site-links{justify-content:flex-end;gap:10px}.lesson-nav{grid-template-columns:1fr;padding:10px 16px}.lesson-nav a,.lesson-nav a:last-child{text-align:left}.lesson-nav .contents{order:-1;text-align:center}.hero-inner{padding:48px 18px 43px}.lesson-main{padding:40px 16px 58px}.cards,.example-grid,.source-list,.related-grid,.checklist{grid-template-columns:1fr}.verdict{grid-template-columns:1fr}.receipt{white-space:normal}.issue{grid-template-columns:1fr;gap:6px}.button{width:100%}h1{font-size:clamp(38px,13vw,58px)}}
