:root{--ink:#16212b;--ink-soft:#24333f;--paper:#e9eae5;--paper-raised:#f4f4f0;--slate:#5a6b78;--patina:#2f6b5c;--patina-lift:#3d8873;--brass:#b98a2e;--rule:rgba(22,33,43,.14);--rule-strong:rgba(22,33,43,.28);--rule-patina:rgba(47,107,92,.32);--display:"Libre Franklin","Helvetica Neue",Arial,sans-serif;--body:"Newsreader",Georgia,serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--measure:34rem;--gutter:clamp(1.25rem,5vw,4rem);--shell:68rem}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.65;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;background-image:radial-gradient(rgba(22,33,43,.045) 1px,transparent 0);background-size:4px 4px}.shell{position:relative;z-index:1;max-width:var(--shell);margin:0 auto;padding:0 var(--gutter)}a{color:inherit}h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.06;letter-spacing:-.028em;margin:0}p{margin:0 0 1.1em;max-width:var(--measure)}.eyebrow{font-family:var(--mono);font-size:.6875rem;letter-spacing:.19em;text-transform:uppercase;color:var(--slate);margin:0 0 1.4rem;display:block}.lede{font-size:clamp(1.15rem,2.6vw,1.4rem);line-height:1.5;color:var(--ink-soft)}.masthead{padding-top:clamp(4.5rem,13vw,8.5rem);padding-bottom:clamp(3rem,7vw,5rem)}.masthead__name{font-size:clamp(3.1rem,14vw,8.25rem);line-height:.88;letter-spacing:-.038em;font-weight:800;margin:0 0 1.75rem}.masthead__name span{display:block}.masthead__rule{height:2px;background:var(--patina);transform-origin:left;margin-bottom:1.75rem}.masthead__lower{display:grid;grid-template-columns:1fr minmax(0,15rem);grid-gap:clamp(1.75rem,4vw,3.25rem);gap:clamp(1.75rem,4vw,3.25rem);align-items:start}.portrait{margin:0}.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.portrait figcaption{font-family:var(--mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin-top:.7rem}@media (max-width:52rem){.masthead__lower{grid-template-columns:1fr}.portrait{max-width:13rem}}.manifest{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-patina)}.manifest li{display:grid;grid-template-columns:7.5rem 1fr;grid-gap:1rem;gap:1rem;align-items:baseline;padding:.85rem 0;border-bottom:1px solid var(--rule)}.manifest .manifest__key,.manifest dt{font-family:var(--mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--patina);white-space:nowrap}.manifest .manifest__val{font-size:1.0625rem;color:var(--ink-soft)}@media (max-width:34rem){.manifest li{grid-template-columns:1fr;gap:.2rem}}.topbar{position:relative;z-index:3;border-bottom:1px solid var(--rule-patina);background:var(--paper)}.topbar__inner{max-width:var(--shell);margin:0 auto;padding:.9rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.topbar__mark{letter-spacing:.16em;text-decoration:none;font-weight:500}.topbar__links,.topbar__mark{font-family:var(--mono);font-size:.75rem;text-transform:uppercase}.topbar__links{display:flex;gap:clamp(.9rem,3vw,1.75rem);letter-spacing:.09em}.topbar__links a{text-decoration:none;color:var(--slate);padding-bottom:2px;border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease}.topbar__links a:focus-visible,.topbar__links a:hover{color:var(--patina);border-bottom-color:var(--patina)}.band{padding-top:clamp(3.25rem,8vw,6rem);padding-bottom:clamp(3.25rem,8vw,6rem);border-top:1px solid var(--rule)}.band--ink{background:var(--ink);color:var(--paper);border-top:none}.band--ink .eyebrow{color:var(--brass)}.band--ink p{color:hsla(72,11%,91%,.82)}.band__head{font-size:clamp(1.65rem,4.6vw,2.6rem);margin-bottom:1.75rem}.entries{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.entry{border-bottom:1px solid var(--rule)}.entry__link{display:grid;grid-template-columns:1fr auto;grid-gap:.5rem 1.5rem;gap:.5rem 1.5rem;align-items:baseline;padding:1.5rem 0;text-decoration:none;transition:padding-left .22s cubic-bezier(.2,.7,.3,1)}.entry__link:focus-visible,.entry__link:hover{padding-left:.75rem}.entry__title{font-family:var(--display);font-size:clamp(1.2rem,3.2vw,1.6rem);font-weight:700;letter-spacing:-.018em}.entry__link:hover .entry__title{color:var(--patina)}.entry__meta{font-family:var(--mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);white-space:nowrap}.entry__desc{grid-column:1/-1;margin:.45rem 0 0;color:var(--ink-soft);max-width:var(--measure)}.entry__stack{grid-column:1/-1;margin:.7rem 0 0;font-family:var(--mono);font-size:.6875rem;letter-spacing:.08em;color:var(--patina)}.role{padding:1.75rem 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:9rem 1fr;grid-gap:1.5rem;gap:1.5rem}.role__when{font-family:var(--mono);font-size:.6875rem;letter-spacing:.13em;text-transform:uppercase;color:var(--slate);padding-top:.4rem}.role__title{font-family:var(--display);font-size:1.3rem;font-weight:700;letter-spacing:-.018em;margin:0 0 .15rem}.role__org{font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--patina);margin:0 0 .9rem}.role ul{margin:0;padding-left:1.1rem;max-width:var(--measure)}.role li{margin-bottom:.4rem}@media (max-width:40rem){.role{grid-template-columns:1fr;gap:.5rem}}.rail{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:1.5rem 0 0}.rail li{font-family:var(--mono);font-size:.6875rem;letter-spacing:.09em;text-transform:uppercase;padding:.32rem .6rem;border:1px solid var(--rule-strong);color:var(--ink-soft)}.band--ink .rail li{border-color:hsla(72,11%,91%,.28);color:hsla(72,11%,91%,.85)}.prose{max-width:var(--measure)}.prose h2{font-size:1.5rem;margin:2.25rem 0 .75rem}.prose h3{font-size:1.2rem;margin:1.75rem 0 .5rem}.prose blockquote{margin:1.5rem 0;padding-left:1.1rem;border-left:2px solid var(--patina);color:var(--ink-soft);font-style:italic}.prose code{font-family:var(--mono);font-size:.85em;background:rgba(22,33,43,.07);padding:.12em .35em}.prose pre{background:var(--ink);color:var(--paper);padding:1rem;overflow-x:auto;font-size:.85rem}.prose pre code{background:none;padding:0}.prose a{color:var(--patina);text-underline-offset:3px}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));grid-gap:1px;gap:1px;background:hsla(72,11%,91%,.2);border:1px solid hsla(72,11%,91%,.2);margin-top:2rem}.contact-grid a{background:var(--ink);padding:1.4rem 1.2rem;text-decoration:none;display:block;transition:background .18s ease}.contact-grid a:focus-visible,.contact-grid a:hover{background:var(--patina)}.contact-grid .k{display:block;font-family:var(--mono);font-size:.65rem;letter-spacing:.17em;text-transform:uppercase;color:var(--brass);margin-bottom:.35rem}.contact-grid .v,.contact-grid a:hover .k{color:var(--paper)}.contact-grid .v{font-family:var(--display);font-size:1.05rem}.foot{border-top:1px solid var(--rule-patina);padding-top:2rem;padding-bottom:3rem;font-family:var(--mono);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.foot a{text-decoration:none}.foot a:hover{color:var(--patina)}.rise{opacity:0;transform:translateY(14px);animation:rise .72s cubic-bezier(.2,.7,.3,1) forwards}.rise-1{animation-delay:.04s}.rise-2{animation-delay:.13s}.rise-3{animation-delay:.22s}.rise-4{animation-delay:.31s}@keyframes rise{to{opacity:1;transform:none}}.sweep{transform:scaleX(0);animation:sweep .85s cubic-bezier(.2,.7,.3,1) .16s forwards}@keyframes sweep{to{transform:scaleX(1)}}:focus-visible{outline:2px solid var(--patina);outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:var(--gutter);top:.5rem;z-index:10;background:var(--ink);color:var(--paper);padding:.6rem 1rem;font-family:var(--mono);font-size:.75rem}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.rise{opacity:1}.rise,.sweep{transform:none}}