@font-face{font-family:"Josefin Sans";src:url("/fonts/JosefinSans-VariableFont_wght.woff2") format("woff2");font-weight:100 700;font-display:swap}@font-face{font-family:"Open Sans";src:url("/fonts/OpenSans-VariableFont_wdth,wght.woff2") format("woff2");font-weight:300 800;font-display:swap}@font-face{font-family:"Open Sans";src:url("/fonts/OpenSans-Italic-VariableFont_wdth,wght.woff2") format("woff2");font-weight:300 800;font-style:italic;font-display:swap}@font-face{font-family:"Inter";src:url("/fonts/Inter.woff2") format("woff2");font-weight:400 700;font-display:swap}@font-face{font-family:"Newsreader";src:url("/fonts/Newsreader.woff2") format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:"Newsreader";src:url("/fonts/Newsreader-Italic.woff2") format("woff2");font-weight:200 800;font-style:italic;font-display:swap}@font-face{font-family:"Syne";src:url("/fonts/Syne.woff2") format("woff2");font-weight:400 800;font-display:swap}@font-face{font-family:"Bricolage Grotesque";src:url("/fonts/BricolageGrotesque.woff2") format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:"Instrument Serif";src:url("/fonts/InstrumentSerif.woff2") format("woff2");font-weight:400;font-display:swap}@font-face{font-family:"Instrument Serif";src:url("/fonts/InstrumentSerif-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"Unbounded";src:url("/fonts/Unbounded.woff2") format("woff2");font-weight:200 900;font-display:swap}@font-face{font-family:"Anybody";src:url("/fonts/Anybody.woff2") format("woff2");font-weight:700;font-display:swap}:root{--font-mono: ui-monospace,SF Mono,Menlo,Consolas,monospace;--font-display: Bricolage Grotesque,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--font-body: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--font-ui: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--display-weight: 500;--heading-weight: 600;--display-varsettings: "wdth" 100;--display-tracking: -.02em;--body-size: .97rem;--body-leading: 1.68;--font-wordmark: Anybody,sans-serif;--wordmark-weight: 700;--wordmark-varsettings: "wdth" 110;--wordmark-tracking: -.02em;--wordmark-size: .859;--wordmark-leading: 1.05;--wordmark-base: 2.9rem;--rail-width: 13rem;--gutter: 4.5rem;--shell: 66rem;--wide: 44rem;--measure: 36rem;--pad: 1.5rem;--bg: #ffffff;--bg-subtle: #f6f4fa;--text: #201d28;--text-muted: #635e70;--accent: #5c3a82;--accent-hover: #7a52a8;--accent-display: #4c2a72;--rule: #e7e3ee;--selection: #e9ddf7}@media (prefers-color-scheme: dark){:root{--bg: #0c0a11;--bg-subtle: #17131f;--text: #e7e4ec;--text-muted: #9a93a6;--accent: #af55e7;--accent-hover: #c78af0;--accent-display: #8e3ac6;--rule: #272130;--selection: #3b2b52}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:17px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--body-size);line-height:var(--body-leading);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--selection)}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}.layout{max-width:var(--shell);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:var(--rail-width) minmax(0, 1fr);gap:var(--gutter);align-items:start}.rail{position:sticky;top:0;height:100vh;padding:3.5rem 0 2rem;display:flex;flex-direction:column;justify-content:space-between}.main{min-width:0;padding:3.5rem 0 4rem}.wordmark{display:block;font-family:var(--font-wordmark);font-weight:var(--wordmark-weight);letter-spacing:var(--wordmark-tracking);font-variation-settings:var(--wordmark-varsettings);font-size:calc(var(--wordmark-base)*var(--wordmark-size));line-height:var(--wordmark-leading);color:var(--accent-display);text-decoration:none}.wordmark span{display:block}.wordmark:hover{color:var(--accent-hover)}.rail-nav{margin-top:2rem;display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.rail-nav a{font-family:var(--font-ui);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;position:relative}.rail-nav a:hover{color:var(--text)}.rail-nav a[aria-current]::before{content:"";position:absolute;left:-.9rem;top:50%;width:.45rem;height:1px;background:var(--accent)}.rail-nav a[aria-current]{color:var(--text)}.rail-foot{font-family:var(--font-ui);font-size:.75rem;color:var(--text-muted)}.rail-foot p{margin-top:.75rem;line-height:1.5}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:1em;height:1em;fill:currentColor;vertical-align:-.125em}.social{display:flex;gap:.85rem;list-style:none}.social a{color:var(--text-muted);font-size:1rem;text-decoration:none;display:block}.social a:hover{color:var(--accent)}.social .icon{display:block;vertical-align:baseline}.prose{max-width:var(--measure);overflow-wrap:anywhere}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-display);font-weight:var(--heading-weight);font-variation-settings:var(--display-varsettings);letter-spacing:var(--display-tracking);line-height:1.2;margin:2.25rem 0 .6rem;text-wrap:balance}.prose h1{font-size:2.1rem}.prose h2{font-size:1.5rem}.prose h3{font-size:1.2rem}.prose h4{font-size:1.05rem}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol,.prose dl{margin-bottom:1.1rem}.prose ul,.prose ol{padding-left:1.3rem}.prose li+li{margin-top:.3rem}.prose li>ul,.prose li>ol{margin-top:.3rem;margin-bottom:.3rem}.prose a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:color-mix(in srgb, var(--accent) 40%, rgba(0,0,0,0))}.prose a:hover{color:var(--accent-hover);text-decoration-color:currentColor}.prose strong{font-weight:650}.prose img{display:block;margin:1.75rem 0;border-radius:2px}.prose hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}.prose blockquote{border-left:2px solid var(--accent);padding-left:1.1rem;margin:1.5rem 0;color:var(--text-muted);font-style:italic}.prose .video-embed{width:100%;aspect-ratio:16/9;margin:1.75rem 0}.prose .video-embed iframe{width:100%;height:100%;border:0;border-radius:2px}.prose--article{max-width:var(--wide);display:grid;grid-template-columns:[wide-start text-start] min(var(--measure),100%) [text-end] minmax(0, 1fr) [wide-end]}.prose--article>*{grid-column:text}.prose--article>pre,.prose--article>.video-embed,.prose--article>p:has(>img:only-child){grid-column:wide}.prose--article>p:has(>img:only-child){margin-bottom:0}code,pre{font-family:var(--font-mono);font-variant-numeric:normal}code{font-size:.85em;background:var(--bg-subtle);padding:.1em .35em;border-radius:2px}pre,pre.z-l-code,pre.z-d-code{background:var(--bg-subtle);border:1px solid var(--rule);border-radius:3px;padding:.9rem 1.1rem;overflow-x:auto;margin:1.5rem 0;font-size:.82rem;line-height:1.55}pre code,pre.z-l-code code,pre.z-d-code code{background:none;padding:0;font-size:inherit}.page-head{margin-bottom:2.25rem;max-width:var(--measure)}.page-head h1{font-family:var(--font-display);font-weight:var(--heading-weight);font-variation-settings:var(--display-varsettings);letter-spacing:var(--display-tracking);font-size:2.3rem;line-height:1.13;margin-bottom:.5rem;text-wrap:balance}.page-head p{color:var(--text-muted);margin-top:.75rem}.meta,.role-head .role-dates{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);font-variant-numeric:lining-nums tabular-nums;display:flex;flex-wrap:wrap;gap:.6rem;align-items:baseline}.meta a,.role-head .role-dates a{color:inherit;text-decoration:none}.meta a:hover,.role-head .role-dates a:hover{color:var(--accent)}.meta .sep,.role-head .role-dates .sep{opacity:.45}.cover{margin-bottom:2rem;max-width:var(--wide)}.cover img{display:block;width:100%;border-radius:2px}.post-list{list-style:none;max-width:var(--wide)}.card{display:grid;grid-template-columns:7.5rem minmax(0, 1fr);gap:1.4rem;padding:1.6rem 0;border-top:1px solid var(--rule);align-items:start}.card:last-child{border-bottom:1px solid var(--rule)}.card--no-thumb{grid-template-columns:minmax(0, 1fr)}.card--no-thumb .card-body{grid-column:1}.card-thumb{display:block;overflow:hidden;border-radius:2px;background:var(--bg-subtle)}.card-thumb img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:opacity .2s ease}.card-thumb:hover img{opacity:.85}.card-title{font-family:var(--font-display);font-weight:var(--heading-weight);font-variation-settings:var(--display-varsettings);letter-spacing:var(--display-tracking);font-size:1.3rem;line-height:1.22;margin:.35rem 0 .4rem;text-wrap:balance}.card-title a{color:var(--text);text-decoration:none}.card-title a:hover{color:var(--accent)}.card-excerpt{color:var(--text-muted);overflow-wrap:anywhere;font-size:.92rem;line-height:1.55}.list-more{margin-top:1.75rem;font-family:var(--font-ui);font-size:.82rem}.list-more a{color:var(--accent);text-decoration:none}.list-more a:hover{text-decoration:underline;text-underline-offset:.2em}.intro{max-width:var(--wide);display:grid;grid-template-columns:minmax(0, 1fr) auto;gap:2.5rem;align-items:start;margin-bottom:3.5rem}.intro .intro-text{grid-column:1;grid-row:1}.intro .portrait{grid-column:2;grid-row:1}.intro-text{max-width:30rem}.intro-text>p:first-child{font-family:var(--font-display);font-weight:var(--display-weight);font-variation-settings:var(--display-varsettings);letter-spacing:var(--display-tracking);font-size:1.9rem;line-height:1.15;color:var(--text);margin-bottom:1.1rem;text-wrap:balance}.portrait{width:11rem;height:11rem;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--rule)}.section-label{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.25rem}.term-list{list-style:none;max-width:var(--measure);columns:2;column-gap:2.5rem}.term-list li{break-inside:avoid;padding:.35rem 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.term-list a{color:var(--text);text-decoration:none}.term-list a:hover{color:var(--accent)}.term-list .count{font-family:var(--font-ui);font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.tag-row{max-width:var(--wide);display:flex;flex-wrap:wrap;gap:.5rem .9rem;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--rule);font-family:var(--font-ui);font-size:.78rem}.tag-row a{color:var(--text-muted);text-decoration:none}.tag-row a::before{content:"#";opacity:.5}.tag-row a:hover{color:var(--accent)}.pagination{display:flex;align-items:center;gap:1.25rem;margin-top:2.5rem;font-family:var(--font-ui);font-size:.8rem}.pagination a{color:var(--accent);text-decoration:none}.pagination a:hover{text-decoration:underline;text-underline-offset:.2em}.pagination .current{color:var(--text-muted);font-variant-numeric:tabular-nums}.pagination .spacer{flex:1}.post-foot{max-width:var(--wide);margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--rule);font-family:var(--font-ui);font-size:.82rem;display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.post-foot a{color:var(--accent);text-decoration:none}.post-foot a:hover{text-decoration:underline;text-underline-offset:.2em}.site-foot{display:none;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--rule);font-family:var(--font-ui);font-size:.75rem;color:var(--text-muted)}.site-foot p{margin-top:.75rem}@media (max-width: 782px){:root{--gutter: 0}.layout{grid-template-columns:minmax(0, 1fr)}.rail{position:static;height:auto;padding:2rem 0 1.25rem;display:block;border-bottom:1px solid var(--rule)}.rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:1.25rem}.wordmark{--wordmark-base: 1.7rem}.wordmark span{display:inline}.rail-nav{margin-top:0;flex-direction:row;justify-content:flex-end;gap:1.1rem}.rail-nav a[aria-current]::before{left:0;right:0;top:auto;bottom:-.35rem;width:auto}.rail-foot{display:none}.main{padding:2rem 0 2.5rem}.site-foot{display:block}.intro{display:flow-root;margin-bottom:2.5rem}.intro .portrait{float:right;width:6.5rem;height:6.5rem;margin:.3rem 0 .6rem 1.1rem;shape-outside:circle(50%)}.intro-text>p:first-child{font-size:1.6rem}.card{grid-template-columns:5.5rem minmax(0, 1fr);gap:1rem}.page-head h1{font-size:1.85rem}.term-list{columns:1}}.role{margin-top:1.75rem}.role+.role{border-top:1px solid var(--rule);padding-top:1.75rem}.prose h2+.role{margin-top:1rem}.role-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:1rem;row-gap:.2rem;margin-bottom:.75rem}.role-head .role-title{margin:0;flex:1 1 auto}.role-head .role-dates{margin:0;margin-left:auto;white-space:nowrap}.role-head .role-org{flex-basis:100%;margin:0;color:var(--text-muted)}.role-head .role-org .sep{margin:0 .4em}.role-body>:last-child{margin-bottom:0}.role--minor{margin-top:.9rem}.role--minor+.role--minor{border-top:0;padding-top:0}.role--minor .role-head{margin-bottom:0;row-gap:0}.role--minor .role-title{font-family:var(--font-body);font-weight:600;font-variation-settings:normal;letter-spacing:0;font-size:1rem}.role--minor .role-org{font-size:.92rem}@media (max-width: 599px){.role-head .role-title{flex-basis:100%}.role-head .role-dates{margin-left:0}}