:root{--charcoal: #1A1A1A;--amber: #D4A04A;--cream: #F5F0E8;--warm-white: #FAFAFA;--dim: #8A8A7A;--amber-dim: #8B7335;--font-sans: Helvetica, Arial, system-ui, -apple-system, sans-serif;--measure: 36rem;--line-height: 1.6}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--charcoal);color:var(--cream);font-family:var(--font-sans);font-size:17px;line-height:var(--line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--charcoal);min-height:100vh}.layout{display:grid;grid-template-columns:1fr minmax(0,var(--measure)) 16rem 1fr;gap:2rem;padding:4rem 2rem 6rem;max-width:100%}.content{grid-column:2;color:var(--cream)}.toc-wrapper{grid-column:3;position:sticky;top:4rem;align-self:start;max-height:calc(100vh - 6rem);overflow-y:auto}.toc{font-size:.875rem;line-height:1.5;color:var(--dim);border-left:1px solid var(--amber-dim);padding-left:1rem}.toc-label{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;color:var(--amber);margin-bottom:.75rem;font-weight:400}.toc ol{list-style:none;display:flex;flex-direction:column;gap:.5rem}.toc a{color:var(--dim);text-decoration:none;display:block;border-left:2px solid transparent;margin-left:-1rem;padding:.125rem 0 .125rem 1rem;transition:color .15s ease,border-color .15s ease}.toc a:hover{color:var(--cream)}.toc a.active{color:var(--amber);border-left-color:var(--amber)}.toc-toggle{display:none;background:transparent;border:1px solid var(--amber-dim);color:var(--amber);font-family:var(--font-sans);font-size:.875rem;padding:.5rem 1rem;margin-bottom:1.5rem;cursor:pointer;letter-spacing:.05em;width:100%;text-align:left}.toc-toggle:hover{background:#d4a04a0d}.toc-toggle:after{content:"+";float:right;font-size:1.125rem;line-height:1}.toc-toggle[aria-expanded=true]:after{content:"−"}.page-title{font-size:2rem;font-weight:400;color:var(--cream);margin-bottom:2.5rem;line-height:1.25;letter-spacing:-.01em}.content h2{font-size:1.375rem;font-weight:400;color:var(--cream);margin-top:3rem;margin-bottom:1.25rem;line-height:1.3;scroll-margin-top:2rem}.content h3{font-size:1.125rem;font-weight:500;color:var(--cream);margin-top:2rem;margin-bottom:1rem;line-height:1.35;scroll-margin-top:2rem}.content p{margin-bottom:1.25rem;color:var(--cream)}.content em,.content i{font-style:italic}.content strong,.content b{font-weight:600;color:var(--cream)}.content a{color:var(--amber);text-decoration:none;border-bottom:1px solid var(--amber-dim);transition:border-color .15s ease}.content a:hover{border-bottom-color:var(--amber)}.content sup{font-size:.75em;vertical-align:super;line-height:0}.content sup a{color:var(--amber);border-bottom:none;padding:0 .125em}.footnote-backref{color:var(--amber);text-decoration:none;border-bottom:none!important;margin-left:.25em}.content hr{border:none;border-top:1px solid var(--amber-dim);margin:3rem 0 2rem}.footnotes{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--amber-dim);font-size:.9375rem;color:var(--dim)}.footnotes ol{padding-left:1.5rem}.footnotes li{margin-bottom:.75rem;scroll-margin-top:2rem}.footnotes p{display:inline;color:var(--dim)}.site-footer{grid-column:2 / 4;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--amber-dim);font-size:.875rem;color:var(--dim);font-style:italic;line-height:1.7}.site-footer a{color:var(--amber);text-decoration:none;border-bottom:1px solid var(--amber-dim);font-style:normal}.site-footer a:hover{border-bottom-color:var(--amber)}.site-footer-links{margin-top:.5rem;font-style:normal}.site-footer-links a{margin-right:.5rem}.site-footer-links a:not(:last-child):after{content:" · ";color:var(--dim);margin-left:.5rem;border-bottom:none}@media(max-width:1100px){.layout{grid-template-columns:1fr minmax(0,var(--measure)) 1fr;padding:3rem 1.5rem 4rem}.content{grid-column:2}.toc-wrapper{grid-column:2;position:static;max-height:none;margin-bottom:2rem;order:-1}.toc-toggle{display:block}.toc{border-left:none;padding-left:0;display:none;margin-top:.75rem}.toc[data-expanded=true]{display:block}.toc a{margin-left:0;padding-left:0;border-left:none}.toc a.active{color:var(--amber);border-left:none}.site-footer{grid-column:2}}@media(max-width:640px){html{font-size:16px}.layout{padding:2rem 1.25rem 3rem;gap:1.5rem}.page-title{font-size:1.625rem;margin-bottom:2rem}.content h2{font-size:1.25rem;margin-top:2.5rem}.content h3{font-size:1.0625rem}}
