@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Instrument+Sans:wght@400;500&display=swap");:root{--bg:#f8f5f0;--text:#1a1814;--muted:#7a7368;--accent:#4a6e6b;--accent-hover:#355957;--border:#e3ddd6;--font-head:"DM Serif Display",Georgia,serif;--font-body:"Instrument Sans","Helvetica Neue",sans-serif;--max-width:740px;--nav-h:60px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover);text-decoration:underline}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeUp .55s ease both}.delay-1{animation-delay:.05s}.delay-2{animation-delay:.15s}.delay-3{animation-delay:.25s}.delay-4{animation-delay:.35s}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:hsla(38,36%,96%,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);height:var(--nav-h)}.nav,.nav-inner{display:flex;align-items:center}.nav-inner{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 24px;justify-content:space-between}.nav-brand{font-family:var(--font-head);font-size:1.1rem;color:var(--text);letter-spacing:-.01em;text-decoration:none}.nav-brand:hover{color:var(--accent);text-decoration:none}.nav-links{display:flex;gap:28px;list-style:none}.nav-links a{font-size:.875rem;font-weight:500;letter-spacing:.02em;color:var(--muted);text-transform:uppercase;text-decoration:none;transition:color .2s}.nav-links a.active,.nav-links a:hover{color:var(--text);text-decoration:none}.content{max-width:var(--max-width);margin:0 auto;padding:64px 24px 120px}.home-name{font-family:var(--font-head);font-size:clamp(2.4rem,6vw,3.4rem);line-height:1.08;letter-spacing:-.02em;margin-bottom:20px}.home-bio{font-size:1.05rem;color:var(--muted);max-width:560px;line-height:1.75;margin-bottom:36px}.home-bio strong{color:var(--text);font-weight:500}.social-links{display:flex;gap:12px;flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;gap:7px;font-size:.875rem;font-weight:500;color:var(--muted);border:1px solid var(--border);padding:8px 16px;border-radius:4px;transition:border-color .2s,color .2s;text-decoration:none}.social-link:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.social-link svg{width:15px;height:15px;flex-shrink:0}.divider{border:none;border-top:1px solid var(--border);margin:52px 0}.section-label{font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}.page-header{margin-bottom:52px}.page-title{font-family:var(--font-head);font-size:clamp(1.8rem,5vw,2.6rem);letter-spacing:-.02em;line-height:1.1;margin-bottom:10px}.page-subtitle{color:var(--muted);font-size:.95rem}.timeline,.timeline-item{position:relative}.timeline-item{display:block;padding-left:28px;margin-bottom:0;padding-bottom:40px;border-left:1px solid var(--border)}.timeline-item:last-child{border-left:1px solid transparent}.timeline-item:before{content:"";position:absolute;left:-5px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);box-shadow:0 0 0 1px var(--accent)}.timeline-year{font-size:.8rem;font-weight:500;letter-spacing:.04em;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-bottom:6px}.timeline-body{position:relative}.timeline-tag{display:inline-block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;background:rgba(74,110,107,.1);color:var(--accent);border-radius:3px;padding:2px 8px;margin-bottom:6px;font-weight:500}.timeline-title{font-family:var(--font-head);font-size:1.1rem;margin-bottom:6px;line-height:1.3}.timeline-desc{color:var(--muted);font-size:.9rem;line-height:1.65;white-space:pre-line}.blog-list{list-style:none}.blog-item{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:18px 0;border-bottom:1px solid var(--border)}.blog-item:first-child{border-top:1px solid var(--border)}.blog-item-link{display:flex;justify-content:space-between;align-items:baseline;gap:16px;width:100%;text-decoration:none;color:inherit}.blog-item-link:hover .blog-title{color:var(--accent)}.blog-item-link:hover{text-decoration:none}.blog-title{font-family:var(--font-head);font-size:1.05rem;color:var(--text);transition:color .2s}.blog-date{font-size:.82rem;color:var(--muted);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.blog-empty{font-size:.85rem;color:var(--muted);font-style:italic;margin-top:32px}.post-header{margin-bottom:48px}.post-title{font-family:var(--font-head);font-size:clamp(1.8rem,5vw,2.8rem);letter-spacing:-.02em;line-height:1.15;margin-bottom:12px}.post-meta{color:var(--muted);font-size:.88rem}.post-back{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted);margin-bottom:40px;text-decoration:none;transition:color .2s}.post-back:hover{color:var(--accent);text-decoration:none}.post-body{line-height:1.8}.post-body h2{font-size:1.5rem;margin:2.5rem 0 .75rem;letter-spacing:-.01em}.post-body h2,.post-body h3{font-family:var(--font-head)}.post-body h3{font-size:1.2rem;margin:2rem 0 .5rem}.post-body p{margin-bottom:1.3rem;color:var(--text)}.post-body ol,.post-body ul{padding-left:1.5rem;margin-bottom:1.3rem}.post-body li{margin-bottom:.4rem}.post-body code{background:rgba(0,0,0,.06);padding:2px 6px;border-radius:3px;font-size:.88em;font-family:Menlo,Courier New,monospace}.post-body pre{background:#1a1814;color:#e8e4de;padding:20px 24px;border-radius:6px;overflow-x:auto;margin-bottom:1.5rem;font-size:.88rem;line-height:1.6}.post-body pre code{background:none;padding:0;color:inherit}.post-body blockquote{border-left:3px solid var(--accent);padding-left:20px;color:var(--muted);margin:1.5rem 0;font-style:italic}.post-body a{color:var(--accent)}.post-body hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}.books-year-section{margin-bottom:48px}.books-year-label{font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}.book-list{list-style:none}.book-item{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.book-item:last-child{border-bottom:none}.book-title{font-family:var(--font-head);font-size:.98rem;font-style:italic;flex:1 1}.book-author{font-size:.82rem;color:var(--muted)}@media (max-width:540px){.blog-item,.blog-item-link{flex-direction:column;gap:4px}.book-item{flex-direction:column;gap:2px}.nav-links{gap:18px}}