:root{--paper: #efe8d8;--paper-2: #e4dcc8;--ink: #243028;--ink-soft: #4a5852;--moss: #3d5a4c;--rule: rgba(36, 48, 40, .16);--gold: #b08a2a;--serif: "Fraunces", "Noto Serif SC", "Songti SC", "STSong", serif;--mono: ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;--measure: 42rem}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;min-height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-optical-sizing:auto;font-size:1.05rem;line-height:1.7;text-rendering:optimizeLegibility}body:before{content:"";pointer-events:none;position:fixed;inset:0;z-index:1;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit}a:focus-visible{outline:2px solid var(--moss);outline-offset:4px}img{max-width:100%;height:auto}.skip{position:absolute;left:1rem;top:-4rem;z-index:50;background:var(--ink);color:var(--paper);padding:.4rem .8rem}.skip:focus{top:1rem}.top{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:baseline;padding:1.25rem 1.5rem;color:var(--ink)}.has-hero .top{position:absolute;top:0;left:0;right:0;color:#f4efe6;text-shadow:0 1px 12px rgba(20,28,22,.7)}.mark{font-size:1rem;font-weight:600;letter-spacing:.02em;text-decoration:none}.nav{display:flex;gap:1.25rem;font-size:.92rem}.nav a{text-decoration:none;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current=page]{border-bottom-color:currentColor}.hero{position:relative;z-index:2;height:70vh;min-height:26rem;max-height:46rem;overflow:hidden;background:#8aa090}.hero img{width:100%;height:100%;object-fit:cover;object-position:68% 42%}.hero-top{position:absolute;inset:0 0 auto;height:7.5rem;background:linear-gradient(to bottom,rgba(18,24,20,.5),transparent);pointer-events:none}.hero-shade{position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(to top,rgba(18,24,20,.72),transparent);pointer-events:none}.hero-caption{position:absolute;left:1.5rem;right:1.5rem;bottom:1.7rem;color:#f4efe6;max-width:28rem}.hero-caption p{margin:0;font-size:clamp(1.35rem,2.6vw,1.9rem);font-weight:500;line-height:1.4;font-variation-settings:"SOFT" 40,"WONK" 1;text-shadow:0 1px 10px rgba(18,24,20,.45)}.sheet{position:relative;z-index:2;width:min(var(--measure),calc(100% - 2.75rem));margin:0 auto;padding:3.25rem 0 4.25rem}.sheet-home{width:min(46rem,calc(100% - 2.75rem))}.kicker{margin:0 0 .4rem;color:var(--gold);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}.sheet h1{margin:0 0 1.15rem;font-size:1.9rem;font-weight:600;line-height:1.25}.lede{margin:0 0 2.4rem;color:var(--ink-soft);max-width:38rem}.rule{border:0;border-top:1px solid var(--rule);margin:2.6rem 0}.projects{list-style:none;margin:0;padding:0}.projects li+li{margin-top:.15rem}.projects a{display:grid;grid-template-columns:2.4rem 1fr auto;gap:.8rem;align-items:start;padding:.95rem 0 .95rem .7rem;text-decoration:none;border-left:2px solid transparent}.projects a:hover{border-left-color:var(--gold)}.projects a:hover .p-name{color:var(--moss)}.p-idx{color:var(--gold);font-size:.82rem;font-variant-numeric:tabular-nums;padding-top:.28rem}.p-name{font-size:1.14rem;font-weight:600}.p-note{display:block;margin:.2rem 0 0;color:var(--ink-soft);font-size:.94rem;font-weight:400}.p-go{color:var(--ink-soft);font-size:.9rem;padding-top:.3rem}.post-list{list-style:none;margin:0;padding:0}.post-list li+li{margin-top:1.35rem}.post-list a{text-decoration:none}.post-list time{display:block;color:var(--gold);font-size:.82rem;letter-spacing:.04em;font-variant-numeric:tabular-nums}.post-list h2,.post-list h3{margin:.15rem 0 .25rem;font-size:1.22rem;font-weight:600}.post-list p{margin:0;color:var(--ink-soft);font-size:.95rem}@media(min-width:720px){.post-list a{display:grid;grid-template-columns:7.6rem 1fr;column-gap:1.1rem;align-items:start}.post-list time{grid-row:1 / span 2;padding-top:.4rem}}.more{display:inline-block;margin-top:1.5rem;color:var(--moss)}.page-head{padding:1.6rem 0 1.5rem}.cover{display:block;width:100%;margin:0 0 1.7rem;border-radius:2px}.prose{font-size:1.08rem;line-height:1.85}.prose :first-child{margin-top:0}.prose h1,.prose h2,.prose h3{line-height:1.3;font-weight:600}.prose p{margin:0 0 1.15em}.prose a{color:var(--moss);text-underline-offset:.18em}.prose ul,.prose ol{padding-left:1.2rem;margin:0 0 1.15em}.prose li+li{margin-top:.35em}.prose code{font-family:var(--mono);font-size:.84em;background:var(--paper-2);padding:.12em .38em}.foot{position:relative;z-index:2;width:min(var(--measure),calc(100% - 2.75rem));margin:0 auto;padding:0 0 2.5rem;color:var(--ink-soft);font-size:.88rem}.foot p{margin:0;padding-top:1rem;border-top:1px solid var(--rule)}@media(max-width:640px){.hero{height:58vh;min-height:22rem}.projects a{grid-template-columns:2rem 1fr;padding-left:.45rem}.p-go{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
