:root{--bg:#f3f8fa;--ink:#17364a;--muted:#536d7b;--accent:#126d89;--line:#cbdde5;}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:absolute;top:-90px;left:20px;z-index:5;background:var(--bg);padding:12px}.skip:focus{top:12px}.masthead{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;padding:27px 6%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:24px;font-weight:700;letter-spacing:-.7px}.brand small{font-size:11px;letter-spacing:1px;font-weight:400;margin-left:5px}.symbol{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--accent);color:var(--accent);font-size:19px;letter-spacing:0}.legal-nav{display:flex;flex-wrap:wrap;gap:22px;font-size:12px;line-height:1.5}.legal-nav a{text-decoration:none;color:var(--muted)}.legal-nav a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}.legal-nav a:hover{color:var(--accent)}.intro{max-width:1140px;margin:auto;padding:62px 34px 44px}.eyebrow,.date,.toc-label,.index,footer{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.eyebrow{font-size:10px;letter-spacing:1.5px;line-height:1.8;color:var(--accent);margin:0 0 22px}.intro h1{font-size:clamp(44px,6vw,76px);font-weight:500;letter-spacing:-2.8px;line-height:1.08;margin:0 0 24px}.subtitle{font-size:18px;color:var(--muted);line-height:1.7;margin:0 0 24px}.date{font-size:11px;color:var(--muted);line-height:1.7}.reading{max-width:1140px;margin:auto;padding:24px 34px 76px;display:grid;grid-template-columns:215px minmax(0,1fr);gap:70px}.contents{position:sticky;top:30px;align-self:start}.toc-label{font-size:10px;letter-spacing:1.2px;color:var(--muted);margin:0 0 22px}.contents nav{display:grid;gap:16px}.contents a{font-size:12px;line-height:1.6;text-decoration:none;color:var(--muted)}.contents a:hover{color:var(--accent)}.index{font-size:10px;color:var(--accent);margin-right:9px}.lead{font-size:21px;line-height:1.65;letter-spacing:-.2px;margin:0 0 36px}article{min-width:0}article section{padding:28px 0;border-top:1px solid var(--line);scroll-margin-top:25px}article h2{font-size:23px;line-height:1.4;font-weight:500;letter-spacing:-.35px;margin:0 0 13px}article section p{font-size:16px;line-height:1.85;color:var(--muted);margin:0}article section a{color:var(--accent);text-underline-offset:3px}.back{display:inline-block;font-size:12px;margin-top:15px;color:var(--accent);text-underline-offset:4px}footer{border-top:1px solid var(--line);padding:25px 6%;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:10px;line-height:1.7}.error{max-width:700px;padding:90px 30px;margin:auto}.error h1{font-size:46px;font-weight:500}.error p{line-height:1.9}@media(max-width:850px){.reading{grid-template-columns:165px minmax(0,1fr);gap:35px}}@media(max-width:600px){.masthead{padding:22px 6%;gap:16px}.brand{font-size:22px}.symbol{width:29px;height:29px}.legal-nav{gap:15px;font-size:11px}.intro{padding:34px 6% 26px}.intro h1{font-size:44px;letter-spacing:-1.7px}.subtitle{font-size:16px}.reading{display:block;padding:22px 6% 44px}.contents{position:static;margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid var(--line)}.contents nav{grid-template-columns:1fr 1fr;gap:14px 20px}.contents a{font-size:11px}.lead{font-size:19px}article h2{font-size:22px}article section p{font-size:15px;line-height:1.8}footer{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.symbol{border-radius:50%;background:var(--accent);color:var(--bg)}.intro{border-left:5px solid var(--accent);padding-left:44px;margin-top:48px;padding-top:12px;padding-bottom:20px}.intro h1{font-weight:600}.reading{padding-top:50px}.contents{border-left:1px solid var(--line);padding-left:20px}@media(max-width:600px){.intro{margin:28px 6% 0;padding:5px 0 14px 20px}.intro h1{font-size:41px}.reading{padding-top:28px}.contents{padding-left:0;border-left:0}}