.site-header{z-index:2;border-bottom:2px solid var(--ink);background:var(--bg);position:relative}.site-header-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;padding:1.4rem 2rem;display:grid}.brand{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;border-bottom:none;align-items:baseline;gap:.55rem;font-size:12px;font-weight:500;display:inline-flex}.brand-mark{letter-spacing:-.02em;font-size:18px;font-weight:700}.brand:hover{color:var(--accent)}.nav{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;justify-content:center;gap:1.6rem;font-size:12px;font-weight:500;display:flex}.nav a{color:var(--ink);border-bottom:2px solid #0000;padding-bottom:2px;transition:border-color .1s,color .1s}.nav a.active{border-bottom-color:var(--accent);color:var(--accent)}.nav a:hover{color:var(--accent);border-bottom-color:var(--accent)}.site-meta{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);justify-content:flex-end;align-items:center;gap:.6rem;font-size:12px;font-weight:500;display:flex}.site-meta-dot{background:var(--accent);border-radius:999px;width:6px;height:6px;display:inline-block}@media (width<=820px){.site-header-inner{grid-template-columns:1fr 1fr;grid-template-areas:"brand meta""nav nav";row-gap:.9rem;padding:1rem 1.2rem}.brand{grid-area:brand}.site-meta{grid-area:meta}.nav{flex-wrap:wrap;grid-area:nav;justify-content:flex-start;gap:1rem}}.site-main{z-index:1;min-height:60vh;position:relative}.site-footer{z-index:2;border-top:2px solid var(--ink);background:var(--bg);margin-top:6rem;position:relative}.site-footer-inner{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1.4rem 2rem;font-size:11px;font-weight:500;display:grid}.site-footer-mid{text-align:center}.site-footer a{color:var(--ink);border-bottom:1px solid var(--ink)}.site-footer a:hover{color:var(--accent);border-bottom-color:var(--accent)}@media (width<=720px){.site-footer-inner{text-align:left;grid-template-columns:1fr;gap:.6rem;padding:1.2rem}.site-footer-mid{text-align:left}}.h-hero{font-family:var(--display);letter-spacing:-.05em;text-transform:uppercase;margin:0 0 3rem;font-size:clamp(3rem,11vw,9rem);font-weight:700;line-height:.92}.h-hero em,.h-italic{color:var(--accent);font-style:italic;font-family:var(--serif);letter-spacing:-.04em;text-transform:none;font-weight:400}.h-period{color:var(--accent)}.h-page{font-family:var(--display);letter-spacing:-.045em;text-transform:uppercase;margin:0 0 2rem;font-size:clamp(3rem,8vw,6rem);font-weight:700;line-height:.95}.h-section{font-family:var(--display);letter-spacing:-.04em;text-transform:uppercase;margin:0;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:700;line-height:1}.label{font-family:var(--display);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);font-size:11px;font-weight:500}.label-num{font-family:var(--display);letter-spacing:.15em;color:var(--accent);font-size:11px;font-weight:700}.label-meta{font-family:var(--mono);letter-spacing:.05em;color:var(--ink-faint);font-size:11px}.page-head{border-bottom:2px solid var(--ink);padding:5rem 0 3rem}.page-head-row{align-items:baseline;gap:1rem;margin-bottom:.5rem;display:flex}.page-head .h-page{margin-top:.5rem}.page-head .deck{color:var(--ink-soft);max-width:50ch;margin:1rem 0 0;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.5}.section{border-bottom:2px solid var(--ink);padding:3rem 0 4rem}.section:last-of-type{border-bottom:2px solid var(--ink)}.section-head{flex-wrap:wrap;align-items:baseline;gap:1rem;margin-bottom:2.2rem;display:flex}.section-head .label-num{margin-right:.4rem}.section-count{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.05em;margin-left:auto;font-size:12px}.hero{border-bottom:2px solid var(--ink);padding:5rem 0 4rem}.hero-meta{align-items:baseline;gap:1rem;margin-bottom:1.5rem;display:flex}.hero-foot{border-top:2px solid var(--ink);grid-template-columns:1fr 1fr;gap:3rem;margin-top:1rem;padding-top:1.5rem;display:grid}.hero-bio{max-width:38ch;margin:0;font-size:1.1rem;font-weight:500;line-height:1.5}.hero-bio a{font-family:var(--display);letter-spacing:-.01em;font-weight:700}.hero-now{border-left:2px solid var(--ink);padding-left:1.5rem}.hero-now .label{margin-bottom:.6rem;display:block}.hero-now ul{margin:0;padding:0;font-size:.95rem;list-style:none}.hero-now li{border-bottom:1px solid var(--rule-thin);padding:.35rem 0;line-height:1.45}.hero-now li:last-child{border-bottom:none}@media (width<=720px){.hero-foot{grid-template-columns:1fr;gap:2rem}.hero-now{border-left:none;border-top:2px solid var(--ink);padding-top:1rem;padding-left:0}}.row-table{border-top:1px solid var(--ink)}.row{border-bottom:1px solid var(--ink);grid-template-columns:3rem 1.2fr 2fr 1fr;align-items:baseline;gap:1.5rem;padding:1.6rem 0;display:grid}.row-link{border-bottom:1px solid var(--ink);color:inherit;grid-template-columns:3rem 1.2fr 2fr 1fr;align-items:baseline;gap:1.5rem;padding:1.6rem 0;transition:padding .2s,background .15s;display:grid}.row-link:hover{background:var(--paper-soft);color:inherit;border-bottom-color:var(--ink);padding-left:1rem}.row-link:hover .row-name{color:var(--accent)}.row-num{font-family:var(--display);letter-spacing:.05em;color:var(--ink-faint);font-size:11px;font-weight:700}.row-name{font-family:var(--display);letter-spacing:-.02em;font-size:1.6rem;font-weight:700;line-height:1.1;transition:color .15s}.row-name a{border-bottom:none}.row-blurb{color:var(--ink-soft);font-size:.95rem;line-height:1.5}.row-meta{text-align:right;flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.status{font-family:var(--display);text-transform:uppercase;letter-spacing:.15em;padding:3px 8px;font-size:10px;font-weight:700}.status-active{background:var(--accent);color:#fff}.status-experiment{background:var(--ink);color:#fff}.status-archived{border:1px solid var(--ink);color:var(--ink);padding:2px 7px}.row-year{font-family:var(--mono);letter-spacing:.05em;color:var(--ink-faint);font-size:11px}@media (width<=720px){.row,.row-link{grid-template-columns:2rem 1fr;gap:.6rem;padding:1.2rem 0}.row-blurb{grid-column:2}.row-meta{flex-direction:row;grid-column:2;align-items:baseline;gap:.8rem}}.project-block{border-bottom:1px solid var(--ink);padding:2.2rem 0}.project-block:last-child{border-bottom:none}.project-block-head{grid-template-columns:4rem 1fr auto;align-items:baseline;gap:1.5rem;margin-bottom:.8rem;display:grid}.project-block-name{font-family:var(--display);letter-spacing:-.03em;margin:0;font-size:clamp(1.6rem,3.2vw,2.4rem);font-weight:700;line-height:1}.project-block-name a{border-bottom:3px solid var(--ink);padding-bottom:1px}.project-block-name a:hover{border-bottom-color:var(--accent)}.project-block-blurb{color:var(--ink-soft);grid-column:2/-1;max-width:60ch;margin:0 0 1rem 5.5rem;font-size:1.05rem;line-height:1.55}.project-block-foot{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.05em;flex-wrap:wrap;gap:2rem;margin-left:5.5rem;font-size:11px;display:flex}.project-block-foot strong{color:var(--ink);text-transform:uppercase;letter-spacing:.1em;margin-right:.4rem;font-weight:500}@media (width<=720px){.project-block-head{grid-template-columns:2rem 1fr;gap:.8rem}.project-block-blurb,.project-block-foot{grid-column:1/-1;margin-left:0}.project-block-foot{gap:1rem}}.chapters{border-top:1px solid var(--ink);grid-template-columns:1fr 1fr;display:grid}.chapter{border-bottom:1px solid var(--ink);border-right:1px solid var(--ink);padding:2rem 1.5rem 2rem 0;position:relative}.chapter:nth-child(2n){border-right:none;padding-left:1.5rem;padding-right:0}.chapter-num{font-family:var(--display);color:var(--accent);letter-spacing:.1em;margin-bottom:.4rem;font-size:11px;font-weight:700;display:block}.chapter-when{font-family:var(--display);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);margin-bottom:.6rem;font-size:11px;display:block}.chapter-title{font-family:var(--display);letter-spacing:-.02em;margin:0 0 .8rem;font-size:clamp(1.3rem,2.4vw,1.6rem);font-weight:700;line-height:1.1}.chapter-body{color:var(--ink-soft);max-width:50ch;margin:0;font-size:.98rem;line-height:1.6}@media (width<=720px){.chapters{grid-template-columns:1fr}.chapter,.chapter:nth-child(2n){border-right:none;padding:1.6rem 0}}.posts-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.posts-list li{border-bottom:1px solid var(--ink)}.posts-list a{color:inherit;border-bottom:none;grid-template-columns:7rem 1fr auto;align-items:baseline;gap:1.5rem;padding:1.4rem 0;transition:padding .2s,background .15s;display:grid}.posts-list a:hover{background:var(--paper-soft);padding-left:1rem}.posts-list a:hover .posts-list-title{color:var(--accent)}.posts-list-date{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.05em;text-transform:uppercase;font-size:12px}.posts-list-title{font-family:var(--display);letter-spacing:-.025em;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700;line-height:1.2;transition:color .15s}.posts-list-excerpt{font-family:var(--body);letter-spacing:-.005em;color:var(--ink-muted);max-width:60ch;margin-top:.3rem;font-size:.92rem;font-weight:400;line-height:1.5;display:block}.posts-list-arrow{font-family:var(--mono);color:var(--ink-faint);font-size:14px;transition:transform .2s,color .15s}.posts-list a:hover .posts-list-arrow{color:var(--accent);transform:translate(4px)}@media (width<=720px){.posts-list a{grid-template-columns:1fr;gap:.4rem}.posts-list-arrow{display:none}}.cta{border-bottom:2px solid var(--ink);padding:5rem 0}.cta h2{font-family:var(--display);letter-spacing:-.035em;text-transform:uppercase;margin:0 0 1.5rem;font-size:clamp(1.8rem,4vw,3rem);font-weight:700;line-height:1.05}.cta-italic{color:var(--accent);font-style:italic;font-family:var(--serif);letter-spacing:-.03em;text-transform:none;font-weight:400}.cta a.cta-mail{font-family:var(--display);letter-spacing:-.025em;text-transform:uppercase;border-bottom:4px solid var(--ink);padding-bottom:2px;font-size:clamp(1.2rem,2.6vw,1.8rem);font-weight:700;display:inline-block}.cta a.cta-mail:hover{border-bottom-color:var(--accent)}.muted{color:var(--ink-faint);font-style:italic}.archive-link{font-family:var(--display);letter-spacing:.15em;text-transform:uppercase;margin-top:2rem;font-size:12px;font-weight:700}.archive-link a{border-bottom:2px solid var(--ink)}.post-back{font-family:var(--display);text-transform:uppercase;letter-spacing:.15em;color:var(--ink-muted);border-bottom:none;margin-bottom:2rem;font-size:11px;font-weight:500;display:inline-block}.post-back:hover{color:var(--accent)}.post-meta{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.05em;text-transform:uppercase;margin:0 0 1rem;font-size:12px}.post-title{font-family:var(--serif);letter-spacing:-.025em;color:var(--ink);margin:0 0 3rem;font-size:clamp(2.2rem,5.5vw,4rem);font-style:italic;font-weight:400;line-height:1.05}.post-content{font-family:var(--body);color:var(--ink-soft);font-size:1.075rem;line-height:1.65}.post-content h2{font-family:var(--display);letter-spacing:-.03em;color:var(--ink);text-transform:uppercase;margin:2.8rem 0 1rem;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;line-height:1.1}.post-content h3{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);text-transform:none;margin:2rem 0 .6rem;font-size:1.25rem;font-weight:700}.post-content p{margin:0 0 1.2rem}.post-content blockquote{border-left:3px solid var(--accent);font-family:var(--serif);color:var(--ink);margin:2rem 0;padding:.4rem 0 .4rem 1.4rem;font-size:1.2rem;font-style:italic;line-height:1.5}.post-content ol,.post-content ul{margin:0 0 1.4rem;padding-left:1.4rem}.post-content li{margin:.4rem 0}.post-content code{background:var(--paper-soft);border:1px solid var(--rule-thin);font-family:var(--mono);color:var(--ink);border-radius:2px;padding:.1rem .4rem;font-size:.85em}.post-content pre{background:var(--ink);color:#f5f5f0;font-family:var(--mono);border:2px solid var(--ink);border-radius:0;margin:1.6rem 0;padding:1.2rem 1.4rem;font-size:.85rem;line-height:1.6;overflow-x:auto}.post-content pre code{color:inherit;background:0 0;border:none;padding:0}.post-content a{border-bottom:1px solid var(--ink)}.post-content a:hover{border-bottom-color:var(--accent)}.post-content img{border:1px solid var(--ink);margin:2rem 0}.post-content hr{border:none;border-top:1px solid var(--ink);margin:2.5rem 0}.post-end{border-top:2px solid var(--ink);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:2rem;font-size:11px;display:flex}.post-end a{color:var(--ink);border-bottom:1px solid var(--ink)}.post-end a:hover{color:var(--accent);border-bottom-color:var(--accent)}:root{--bg:#fff;--ink:#000;--ink-soft:#1a1a1a;--ink-muted:#555;--ink-faint:#888;--rule:#000;--rule-thin:#e5e5e5;--grid:#00000006;--accent:#ff3b00;--paper-soft:#fafafa;--display:"Space Grotesk", "Inter", ui-sans-serif, system-ui, sans-serif;--serif:"Fraunces", "Iowan Old Style", Georgia, serif;--body:"Inter", ui-sans-serif, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*,:before,:after{box-sizing:border-box}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--body);letter-spacing:-.005em;font-size:16px;line-height:1.5}img{max-width:100%;display:block}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none;padding:0}a{color:var(--ink);border-bottom:2px solid var(--ink);text-decoration:none;transition:color .1s,border-color .1s}a:hover{color:var(--accent);border-bottom-color:var(--accent)}p{margin:0 0 1.1rem}::selection{background:var(--accent);color:#fff}.grid-overlay{pointer-events:none;z-index:0;background-image:linear-gradient(to right, var(--grid) 1px, transparent 1px);background-size:8.33333% 100%;position:fixed;inset:0}@media (width<=720px){.grid-overlay{background-size:25% 100%}}.shell{z-index:1;max-width:1280px;margin:0 auto;padding:0 2rem;position:relative}.shell-narrow{z-index:1;max-width:760px;margin:0 auto;padding:0 2rem;position:relative}@media (width<=720px){.shell,.shell-narrow{padding:0 1.2rem}}
