:root{--ink:#16251e;--green:#176243;--lime:#d9f583;--paper:#fff;--muted:#52625b;--line:#dbe3de}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.75 Georgia,serif}a{color:var(--green);text-underline-offset:4px}a:focus-visible,summary:focus-visible{outline:3px solid #c55a27;outline-offset:5px}.skip{position:absolute;left:-999px}.skip:focus{left:20px;background:white;z-index:9}header{position:sticky;top:0;z-index:3;background:#fffffff5;border-bottom:1px solid var(--line);padding:15px 4%;display:flex;justify-content:space-between;gap:20px;font:600 14px/1.5 Arial,sans-serif;letter-spacing:.06em}header a{text-decoration:none}.layout{display:grid;grid-template-columns:250px minmax(0,800px);gap:7vw;max-width:1250px;margin:0 auto;padding:50px 30px}nav{font:14px/1.5 Arial,sans-serif;position:sticky;top:100px;align-self:start;max-height:calc(100vh - 120px);overflow:auto}nav a{display:block;text-decoration:none;padding:8px 0;color:var(--muted)}nav a:hover,nav a[aria-current]{color:var(--green);font-weight:bold}nav small,.eyebrow{font:600 12px/1.6 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}h1{font-size:clamp(3.2rem,7vw,5.8rem);line-height:.98;letter-spacing:-.055em;margin:18px 0 30px;font-weight:normal}h2{font-size:clamp(2rem,4vw,3rem);line-height:1.13;letter-spacing:-.025em;font-weight:normal;margin:15px 0 25px}h3{font:600 21px/1.4 Arial,sans-serif;margin-top:35px}p{margin:0 0 22px}.lead{font-size:23px;line-height:1.5}.chapter{padding:65px 0;border-top:1px solid var(--line)}.cover{padding-bottom:60px}.cover-line{border-top:8px solid var(--green);width:80px;margin-bottom:25px}.meta{font:14px/1.6 Arial,sans-serif;color:var(--muted)}.lesson{border-left:4px solid var(--green);background:#f1f6f3;padding:22px 26px;margin:30px 0}.lesson strong,.figure-title{display:block;font:600 13px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.lesson p:last-child{margin-bottom:0}figure{margin:35px 0;padding:28px;background:var(--ink);color:white}figure a{color:var(--lime)}figcaption{font:14px/1.6 Arial,sans-serif;margin-top:20px;color:#d8e7dd}.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.flow div{border-top:3px solid var(--lime);padding-top:14px;font:16px/1.5 Arial,sans-serif}.flow b{display:block;font-size:20px;color:var(--lime);margin-bottom:8px}.rows{font:16px/1.6 Arial,sans-serif}.row{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding:15px 0;border-bottom:1px solid var(--line)}.row b{color:var(--green)}sup{font:12px Arial,sans-serif;margin-left:3px}sup a{text-decoration:none}.sources{font:15px/1.7 Arial,sans-serif}.sources li{padding:8px 0;overflow-wrap:anywhere}details{margin:24px 0;border:1px solid var(--line);padding:18px}summary{cursor:pointer;font:600 16px/1.5 Arial,sans-serif}footer{padding:30px 0;border-top:1px solid var(--line);font:14px/1.6 Arial,sans-serif}#progress{position:fixed;top:0;left:0;height:3px;background:var(--green);z-index:5;width:0}.mobile-contents{display:none}li{margin-bottom:9px}@media(max-width:850px){.layout{display:block;padding:30px 23px}.layout>nav{display:none}.mobile-contents{display:block}.mobile-contents nav{position:static;max-height:none}header{padding:14px 22px}.lead{font-size:21px}.chapter{padding:45px 0}.flow{grid-template-columns:1fr}.flow div{padding:12px 0}.row{grid-template-columns:1fr;gap:5px}figure{padding:22px}h1{font-size:4rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,nav,.mobile-contents,#progress{display:none!important}.layout{display:block;padding:0}body{font-size:11pt}.chapter{break-before:page}figure{background:#eee;color:black}figure b,figcaption{color:black}a{color:black}}
nav a span{display:inline-block;min-width:24px;color:#7a8981;font-size:12px}.begin{display:inline-block;padding:10px 22px;background:var(--green);color:white;text-decoration:none;font:600 15px/1.6 Arial,sans-serif}dt{font:600 17px/1.5 Arial,sans-serif;margin-top:23px}dd{margin:7px 0 0}#sources li:target{background:#e9f4d4;outline:5px solid #e9f4d4}header a:first-child{letter-spacing:.025em}@media(max-width:420px){header{font-size:12px;gap:12px}h1{font-size:3.7rem}}@media(min-width:851px){#contents{scroll-margin-top:100px}}
