:root{--bg: #ffffff;--fg: #000000;--muted: #3b3b3b;--line: #000000;--soft: #f3f3f3;--page: min(100% - 24px, 980px);--mono: ui-monospace, "SFMono-Regular", "IBM Plex Mono", "JetBrains Mono", Menlo, Consolas, monospace;--serif: Georgia, "Times New Roman", Times, serif;--sans: Arial, Helvetica, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--fg);background:var(--bg);font-family:var(--serif);font-size:clamp(16px,1.4vw,19px);line-height:1.48;text-rendering:optimizeLegibility}a{color:var(--fg);text-decoration:underline;text-underline-offset:2px}a:hover,a:focus-visible{color:var(--bg);background:var(--fg);outline:0;text-decoration:none}::selection{color:var(--bg);background:var(--fg)}.skip-link{position:absolute;left:8px;top:8px;padding:4px 8px;border:1px solid var(--line);background:var(--bg);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.page{width:var(--page);margin:0 auto;padding:12px 0 28px}.masthead{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end;padding:10px 0 12px;border-bottom:3px double var(--line);font-family:var(--mono);font-size:13px}.site-title{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.site-title:before{content:"";width:18px;height:18px;border:1px solid var(--line);background:linear-gradient(90deg,var(--fg) 0 5px,transparent 5px 8px,var(--fg) 8px 11px,transparent 11px),var(--bg)}.masthead nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.about-board{margin-top:16px;border:2px solid var(--line);background:var(--bg)}.about-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.34fr);gap:18px;padding:clamp(18px,4vw,34px);border-bottom:1px solid var(--line);background:repeating-linear-gradient(0deg,transparent 0 23px,#eeeeee 23px 24px),var(--bg)}.about-eyebrow,.section-label{font-family:var(--mono);font-size:12px;letter-spacing:.04em}.about-eyebrow{margin:0 0 10px;text-transform:uppercase;font-weight:700}h1,h2,h3,p{margin-top:0}h1{margin-bottom:12px;font-family:var(--serif);font-size:clamp(48px,9vw,104px);line-height:.9;letter-spacing:-.045em;max-width:9ch}h2{margin:0;font-size:clamp(28px,4vw,44px);line-height:1;letter-spacing:-.025em}.lead{max-width:58ch;margin:0;font-size:clamp(20px,2.4vw,28px);line-height:1.25}.about-card{border:1px solid var(--line);background:var(--bg);align-self:start;font-family:var(--mono);font-size:12px}.about-card div{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:8px 10px;border-bottom:1px dotted var(--line)}.about-card div:last-child{border-bottom:0}.about-card dt{font-weight:700}.about-card dd{margin:0;min-width:0}.about-card a{overflow-wrap:anywhere;word-break:break-word}.about-copy{padding:clamp(18px,4vw,34px)}.prose p,.prose ul{max-width:68ch}.prose p{margin-bottom:17px}.prose ul{margin:22px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.prose li{position:relative;padding:10px 0 10px 32px;border-bottom:1px dotted var(--line)}.prose li:before{content:"*";position:absolute;left:0;top:10px;font-family:var(--mono);font-weight:700}.prose em{font-style:italic}.section{margin-top:18px;border-top:3px double var(--line);padding-top:16px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:10px}.section-label{text-transform:uppercase;font-weight:700}.projects{border:1px solid var(--line)}.project{border-bottom:1px solid var(--line);background:var(--bg)}.project:last-child{border-bottom:0}.project summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:14px;align-items:center;padding:12px 14px;min-height:52px;font-family:var(--mono)}.project summary::-webkit-details-marker{display:none}.project summary:hover{background:var(--soft)}.project[open] summary{background:var(--fg);color:var(--bg)}.project-title{font-family:var(--serif);font-size:clamp(20px,2.4vw,31px);font-weight:700;letter-spacing:-.02em}.toggle{justify-self:end;width:24px;height:24px;border:1px solid currentColor;display:grid;place-items:center;font-family:var(--mono);font-size:16px;line-height:1;background:var(--bg);color:var(--fg)}.project[open] .toggle{background:var(--fg);color:var(--bg);border-color:var(--bg)}.toggle:before{content:"+";transform:translateY(-1px)}.project[open] .toggle:before{content:"-";transform:none}.project-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;margin:12px 14px 14px;padding:12px;border:1px dotted var(--line);background:repeating-linear-gradient(0deg,transparent 0 21px,#eeeeee 21px 22px),var(--bg)}.project-body p{margin:0;max-width:64ch}.project-body a{align-self:start;font-family:var(--mono);font-size:13px;white-space:nowrap}@media(max-width:780px){.masthead,.about-header,.about-copy{grid-template-columns:1fr}.masthead nav{justify-content:flex-start}.about-card{max-width:420px}.project summary{grid-template-columns:minmax(0,1fr) 30px}.project-body{grid-template-columns:1fr}.project-body a{white-space:normal}.section-head{align-items:start;flex-direction:column}}@media(max-width:430px){.page{width:min(100% - 16px,980px)}.about-header,.about-copy{padding:14px}h1{font-size:clamp(44px,18vw,72px)}.lead{font-size:19px}.about-card div{grid-template-columns:1fr;gap:3px}.project summary{padding:11px 10px}.project-body{padding:0 10px 12px}}
