:root{--bg: #ffffff;--text: #232323;--muted: #707070;--faint: #a3a3a3;--rule: #e4e4e1;--wash: #f6f6f4;--accent: #2c4a5e;--serif: "Newsreader", "Iowan Old Style", Georgia, serif;--sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--rail: 200px;--gutter: 64px;--measure: 38rem}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15.5px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--faint);text-underline-offset:3px}a:hover{color:var(--accent);text-decoration-color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}p{margin:0 0 1.1em;max-width:var(--measure)}.layout{display:grid;grid-template-columns:var(--rail) 1fr;gap:var(--gutter);max-width:1040px;margin:0 auto;padding:0 32px}.rail{align-self:start;position:sticky;top:0;height:100vh}.rail-inner{display:flex;flex-direction:column;padding:56px 0 40px;height:100%}.rail .name{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.2;text-decoration:none;margin-bottom:4px}.rail .name:hover{color:var(--text)}.rail .role{color:var(--muted);font-size:13.5px;margin:0 0 40px}.rail nav{display:flex;flex-direction:column;gap:8px}.rail nav a{font-size:14px;color:var(--muted);text-decoration:none;padding-left:14px;border-left:1px solid transparent;transition:color .15s,border-color .15s}.rail nav a:hover{color:var(--text)}.rail nav a[aria-current=true]{color:var(--text);border-left-color:var(--text)}.rail .lang{margin-top:auto;align-self:flex-start;background:none;border:0;padding:0;font:inherit;font-size:13.5px;color:var(--muted);cursor:pointer;text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px}.rail .lang:hover{color:var(--accent);text-decoration-color:var(--accent)}.content{padding:56px 0 72px;min-width:0}section{padding:0 0 72px}section+section{border-top:1px solid var(--rule);padding-top:48px}h2{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.2;margin:0 0 22px}h2.quiet{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--muted);margin:44px 0 12px}.hero h1{font-family:var(--serif);font-size:clamp(30px,4.2vw,42px);font-weight:400;line-height:1.18;letter-spacing:-.005em;max-width:26ch;margin:0 0 26px}.hero .intro{font-size:16.5px;line-height:1.7}.roles{list-style:none;margin:0;padding:0}.roles li{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:8px 0;border-top:1px solid var(--rule)}.roles .when{color:var(--faint);font-variant-numeric:tabular-nums}.roles .where{display:block;color:var(--muted);font-size:14px}.axes{margin:8px 0 0;max-width:var(--measure)}.axes div{padding:14px 0;border-top:1px solid var(--rule)}.axes dt{font-family:var(--serif);font-size:19px;margin:0 0 4px}.axes dd{margin:0;color:var(--muted)}.year-group{display:grid;grid-template-columns:56px 1fr;gap:12px;border-top:1px solid var(--rule);padding:18px 0 6px}.year-group .year{color:var(--faint);font-variant-numeric:tabular-nums;padding-top:2px}.year-group ul,.entries{list-style:none;margin:0;padding:0}.year-group li,.entries li{padding:0 0 20px;max-width:var(--measure)}.entries li{border-top:1px solid var(--rule);padding-top:18px}.item-title{display:block;font-family:var(--serif);font-size:19px;line-height:1.3}.item-sub{display:block;color:var(--text);margin-top:2px}.item-meta{display:block;color:var(--muted);font-size:14px;margin-top:3px}.item-meta:first-letter{text-transform:uppercase}.entries p{margin:10px 0 8px}.links{display:flex;flex-wrap:wrap;gap:16px;margin-top:6px;font-size:14px}.links a,.linklike{color:var(--muted)}.linklike{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:var(--faint);text-underline-offset:3px}.linklike:hover{color:var(--accent);text-decoration-color:var(--accent)}.item-title .linklike{color:var(--text);text-decoration-color:var(--faint)}.essay-bar{margin:0 0 28px}.essay-body{max-width:var(--measure);font-family:var(--serif);font-size:18px;line-height:1.7}.essay-body h1{font-size:30px;font-weight:400;line-height:1.2;margin:0 0 6px}.essay-body h2{font-size:22px;margin:40px 0 12px}.essay-body h3{font-size:18px;font-weight:500;margin:28px 0 8px}.essay-body p{margin:0 0 1em;max-width:none}.essay-body blockquote{margin:0 0 1.4em;padding:0 0 0 18px;border-left:2px solid var(--rule);color:var(--muted);font-size:16.5px}.essay-body hr{border:0;border-top:1px solid var(--rule);margin:36px 0}.essay-body pre{margin:0 0 1.4em;padding:14px 16px;background:var(--wash);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;overflow-x:auto}.essay-body code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.85em}.essay-body+.essay-bar{margin:36px 0 0}.contacts{list-style:none;margin:0;padding:0}.contacts li{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:8px 0;border-top:1px solid var(--rule)}.contacts .clabel{color:var(--muted)}footer{display:flex;justify-content:space-between;gap:16px;padding-top:24px;color:var(--faint);font-size:13px}@media (max-width: 760px){.layout{display:block;padding:0 20px}.rail{position:static;height:auto}.rail-inner{padding:32px 0 0;display:grid;grid-template-columns:1fr auto;row-gap:10px}.rail .name{grid-column:1;margin:0}.rail .lang{grid-column:2;grid-row:1;align-self:center;margin:0}.rail .role{grid-column:1 / -1;margin:0 0 6px}.rail nav{grid-column:1 / -1;flex-direction:row;flex-wrap:nowrap;gap:18px;overflow-x:auto;padding:12px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);scrollbar-width:none}.rail nav::-webkit-scrollbar{display:none}.rail nav a{padding:0;border-left:0;white-space:nowrap;border-bottom:1px solid transparent}.rail nav a[aria-current=true]{border-bottom-color:var(--text)}.content{padding:36px 0 56px}section{padding-bottom:52px}section+section{padding-top:36px}.year-group,.roles li{grid-template-columns:44px 1fr}.contacts li{grid-template-columns:1fr;gap:0}.essay-body{font-size:17px}footer{flex-direction:column;gap:4px}}
