*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #EDC9AF;--ink: #2a1f1a;--ink-muted: #7a6258;--ink-faint: #8c7268;--accent: #FF007F;--border: #d9b49a;--max: 860px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:DM Mono,monospace;font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased}nav{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border);padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:52px}.nav-name{font-family:"Instrument Serif",serif;font-size:1.1rem;letter-spacing:.01em;color:var(--ink);text-decoration:none}.nav-links{display:flex;gap:1.8rem;list-style:none}.nav-links a{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);text-decoration:none;transition:color .15s}.nav-links a:hover{color:var(--accent)}.nav-links a.active{color:var(--ink);position:relative}.nav-links a.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:1px;background:var(--accent)}main{max-width:var(--max);margin:0 auto;padding:0 1.5rem}section{padding:5rem 0;border-bottom:1px solid var(--border)}section:last-child{border-bottom:none}#about{padding-top:6rem}.hero-eyebrow{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem}.hero-name{font-family:"Instrument Serif",serif;font-size:clamp(2.8rem,8vw,4.2rem);line-height:1.05;letter-spacing:-.01em;color:var(--ink);margin-bottom:1.8rem}.hero-bio{font-size:14px;color:var(--ink-muted);line-height:1.85;max-width:560px}.hero-bio p+p{margin-top:1rem}.section-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:2.5rem;display:flex;align-items:center;gap:.8rem}.section-label:after{content:"";display:block;height:1px;width:40px;background:var(--border)}.blog-list{display:flex;flex-direction:column;gap:0}.blog-item{display:grid;grid-template-columns:80px 1fr;gap:0 1.5rem;padding:1.4rem 0;border-bottom:1px solid var(--border);align-items:start;text-decoration:none;color:inherit;transition:background .1s}.blog-item:last-child{border-bottom:none}.blog-item:hover .blog-title{color:var(--accent)}.blog-date{font-size:11px;color:var(--ink-faint);padding-top:2px;letter-spacing:.04em}.blog-title{font-family:"Instrument Serif",serif;font-size:1.05rem;color:var(--ink);line-height:1.3;transition:color .15s;margin-bottom:.3rem}.blog-excerpt{font-size:12px;color:var(--ink-muted);line-height:1.6}.blog-tag{display:inline-block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--border);padding:1px 6px;border-radius:2px;margin-top:.5rem}.talks-list{display:flex;flex-direction:column;gap:0}.talk-item{padding:1.4rem 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:80px 1fr;gap:0 1.5rem}.talk-item:last-child{border-bottom:none}.talk-year{font-size:11px;color:var(--ink-faint);padding-top:2px}.talk-title{font-family:"Instrument Serif",serif;font-size:1.05rem;color:var(--ink);line-height:1.3;margin-bottom:.25rem}.talk-meta{font-size:11px;color:var(--ink-muted);margin-bottom:.4rem}.talk-link{font-size:11px;color:var(--accent);text-decoration:none;letter-spacing:.04em}.talk-link:hover{text-decoration:underline}.resume-block{margin-bottom:2.8rem}.resume-block:last-child{margin-bottom:0}.resume-sub{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1.2rem}.resume-row{padding:1.1rem 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:0 1rem;align-items:start}.resume-row:last-child{border-bottom:none}.resume-role{font-family:"Instrument Serif",serif;font-size:1rem;color:var(--ink)}.resume-org{font-size:12px;color:var(--ink-muted);margin-top:.15rem}.resume-period{font-size:11px;color:var(--ink-faint);white-space:nowrap;text-align:right;padding-top:2px}.resume-download{display:inline-flex;align-items:center;gap:.5rem;margin-top:2rem;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border:1px solid var(--ink);padding:8px 18px;text-decoration:none;transition:background .15s,color .15s}.resume-download:hover{background:var(--ink);color:var(--bg)}.links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.link-card{background:var(--bg);padding:1.4rem 1.2rem;text-decoration:none;display:flex;flex-direction:column;gap:.4rem;transition:background .15s}.link-card:hover{background:#ffd6eb}.link-platform{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.link-handle{font-family:"Instrument Serif",serif;font-size:1rem;color:var(--ink)}.link-arrow{font-size:11px;color:var(--accent);margin-top:.3rem}.coming-soon-badge{display:inline-block;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:1px 6px;border-radius:2px;margin-left:.6rem;vertical-align:middle;opacity:.8}.coming-soon-block{padding:2.5rem 0;display:flex;flex-direction:column;gap:.8rem}.coming-soon-note{font-size:12px;color:var(--ink-faint);line-height:1.6}.coming-soon-note code{font-family:DM Mono,monospace;font-size:11px;background:#ffd6eb;padding:1px 5px;border-radius:2px}.is-placeholder{opacity:.55}.is-placeholder .link-card:hover,.link-card.is-placeholder:hover{background:var(--bg);cursor:default}footer{max-width:var(--max);margin:0 auto;padding:2rem 1.5rem 4rem;font-size:11px;color:var(--ink-faint);letter-spacing:.04em}@media (max-width: 540px){nav{padding:0 1rem}.nav-links{gap:1.1rem}.blog-item,.talk-item,.resume-row{grid-template-columns:1fr;gap:.2rem 0}.blog-date,.talk-year,.resume-period{font-size:10px}}
