:root{--paper:#faf8f3;--ink:#1c1a17;--accent:#8b2635;--muted:#6b6558;--rule:#d8d3c4;--font-serif:"Newsreader",Georgia,"Times New Roman",serif;--font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,monospace;--content-width:680px}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-serif);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit}::selection{background:var(--rule)}.wrap{max-width:var(--content-width);margin:0 auto;padding:48px 24px 80px}.site-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:40px;flex-wrap:wrap;gap:12px}.site-mark{letter-spacing:.02em;text-decoration:none}.site-mark,.site-nav{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.site-nav{display:flex;gap:20px}.site-nav a{text-decoration:none;color:var(--muted);padding-bottom:1px;border-bottom:1px solid transparent}.site-nav a:hover,.site-nav a[data-active=true]{color:var(--accent);border-bottom:1px dotted var(--accent)}.hero-title{font-size:34px;font-weight:500;margin:0 0 6px;line-height:1.25}.hero-tagline,.hero-title{font-family:var(--font-serif)}.hero-tagline{font-size:16px;font-style:italic;color:var(--muted);margin:0 0 40px;line-height:1.6}.writing-label{font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px}.writing-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.writing-list li{border-bottom:1px solid var(--rule)}.writing-list li:last-child{border-bottom:none}.post-link{--dek-h:0fr;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title date" "dek dek";grid-template-rows:auto var(--dek-h);align-items:baseline;grid-column-gap:24px;column-gap:24px;padding-block:20px 22px;color:var(--ink);text-decoration:none;transition:grid-template-rows .45s cubic-bezier(.22,1,.36,1)}.post-title{grid-area:title;font-family:var(--font-serif);font-size:28px;font-weight:400;line-height:1.22;letter-spacing:-.016em;text-wrap:balance;transition:color .25s}.post-date{grid-area:date;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-feature-settings:lining-nums tabular-nums;font-variant-numeric:lining-nums tabular-nums;transition:color .25s}.post-dek{grid-area:dek;min-height:0;overflow:hidden}.post-dek>span{display:block;padding-top:8px;font-family:var(--font-serif);font-size:15px;font-style:italic;line-height:1.5;color:var(--muted);opacity:0;transform:translateY(-4px);transition:opacity .35s,transform .35s}.post-link:focus-visible{outline:1px dotted var(--accent);outline-offset:6px}@media (hover:hover){.post-link:focus-visible,.post-link:hover{--dek-h:1fr}.post-link:focus-visible .post-dek>span,.post-link:hover .post-dek>span{opacity:1;transform:none}.post-link:focus-visible .post-date,.post-link:focus-visible .post-title,.post-link:hover .post-date,.post-link:hover .post-title{color:var(--accent)}}@media (hover:none){.post-link{--dek-h:1fr}.post-dek>span{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.post-date,.post-dek>span,.post-link,.post-title{transition:none}}.subscribe-row{margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.subscribe-label{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.subscribe-form{display:flex;gap:8px;align-items:center}.subscribe-input{font-family:var(--font-mono);font-size:12px;color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--ink);padding:2px 4px;width:180px}.subscribe-input:focus{outline:none;border-bottom:1px solid var(--accent)}.subscribe-submit{color:var(--accent);background:transparent;border:none;border-bottom:1px dotted var(--accent);cursor:pointer;padding:2px 0}.rss-link,.subscribe-submit{font-family:var(--font-mono);font-size:12px}.rss-link{color:var(--muted);text-decoration:none;border-bottom:1px dotted var(--muted)}.rss-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.essay-meta{font-family:var(--font-mono);font-size:12px;color:var(--muted);margin-bottom:12px}.essay-title{font-family:var(--font-serif);font-size:32px;font-weight:500;line-height:1.3;margin:0 0 32px}.essay-body{font-size:18px;line-height:1.8}.essay-body p{margin:0 0 1.4em}.essay-body h2{font-size:22px;font-weight:500;margin:2em 0 .7em}.essay-body blockquote{margin:1.6em 0;padding-left:20px;border-left:2px solid var(--rule);color:var(--muted);font-style:italic}.essay-body a{color:var(--accent);text-decoration:none;border-bottom:1px dotted var(--accent)}.essay-body img{max-width:100%;height:auto;margin:1.6em auto}.essay-body .essay-video,.essay-body img{display:block;border:1px solid var(--rule)}.essay-body .essay-video{width:100%;aspect-ratio:16/9;margin:1.6em 0}.back-link{display:inline-block;margin-top:48px;font-family:var(--font-mono);font-size:12px;color:var(--muted);text-decoration:none;border-bottom:1px dotted var(--muted)}.back-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.about-body p{font-size:15px;margin:0 0 1.4em}.resume-row{padding:12px 0;border-bottom:1px dotted var(--rule)}.resume-row:last-child{border-bottom:none}.resume-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px 20px;flex-wrap:wrap}.resume-role{font-family:var(--font-serif);font-size:18px;color:var(--ink)}.resume-org{display:block;margin-top:3px}.resume-date,.resume-org{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.resume-date{white-space:nowrap}.essay-body ul{margin:0 0 1.4em;padding-left:0;list-style:none}.essay-body li{position:relative;padding-left:22px;margin-bottom:.6em}.essay-body li:before{content:"–";position:absolute;left:0;color:var(--accent)}.star-rating{display:inline-flex;align-items:center;gap:2px}.star-filled{fill:var(--accent)}.star-empty{fill:none;stroke:var(--rule);stroke-width:1.5px}.resume-desc{font-family:var(--font-serif);font-size:15px;line-height:1.65;color:var(--ink);margin:10px 0 0}.site-footer{margin-top:64px;padding-top:20px;border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-copy{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.footer-links{display:flex;gap:16px}.footer-link{font-family:var(--font-mono);font-size:12px;color:var(--muted);text-decoration:none;border-bottom:1px dotted var(--muted)}.footer-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.about-photo{width:160px;height:160px;border:1px solid var(--rule);background:var(--paper);display:flex;align-items:center;justify-content:center;margin:0 0 32px;overflow:hidden}.about-photo img{width:100%;height:100%;object-fit:cover;display:block}.about-photo-placeholder{font-family:var(--font-mono);font-size:11px;color:var(--muted);text-align:center;padding:0 16px}@media (max-width:480px){body{font-size:17px}.hero-title{font-size:28px}.essay-title{font-size:26px}.post-link{grid-template-columns:minmax(0,1fr);grid-template-areas:"date" "title" "dek";grid-template-rows:auto auto var(--dek-h)}.post-title{font-size:22px}.post-date{margin-bottom:6px}.subscribe-row{flex-direction:column;align-items:flex-start}}