@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap");*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}body{margin:0;background:#EFF1EC;color:#16221E;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:600;line-height:1.15;margin:0 0 0.5em;letter-spacing:-0.01em}h1{font-size:4rem}h2{font-size:1.875rem}h3{font-size:1.375rem}p{margin:0 0 1.1em}a{color:#2E6F5E;text-decoration-thickness:1px;text-underline-offset:0.15em}a:hover{color:#23594B}a:focus-visible{outline:2px solid #2E6F5E;outline-offset:3px;border-radius:2px}button:focus-visible{outline:2px solid #2E6F5E;outline-offset:3px}.mono,.eyebrow,.site-header nav a,.timeline-item .role-dates,.compact-list .compact-dates,.tag,.post-list-item .post-date{font-family:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;font-size:.8125rem;letter-spacing:0.02em}.eyebrow{color:#8A6D3B;text-transform:uppercase;display:block;margin-bottom:0.6em}.wrap{max-width:64rem;margin:0 auto;padding:0 1.5rem}.prose{max-width:46rem}.container-narrow{max-width:46rem;margin:0 auto;padding:0 1.5rem}hr{border:none;border-top:1px solid #D3D7CE;margin:3rem 0}.site-header{padding:1.5rem 0;border-bottom:1px solid #D3D7CE}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem}.site-header .brand{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1.0625rem;color:#16221E;text-decoration:none}.site-header nav{display:flex;gap:1.75rem}.site-header nav a{color:#3E4A44;text-decoration:none;text-transform:uppercase}.site-header nav a:hover,.site-header nav a.active{color:#2E6F5E}.hero{padding:4.5rem 0 3.5rem}.hero .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:2.5rem;align-items:center}@media (max-width: 780px){.hero{padding:2.5rem 0 2rem}.hero .wrap{grid-template-columns:1fr}}.hero h1{margin-bottom:0.3em}.hero .tagline{font-size:1.375rem;color:#3E4A44;max-width:32rem;margin-bottom:1.5em}.hero .cta-row{display:flex;gap:1rem;flex-wrap:wrap}.btn{display:inline-block;padding:0.7em 1.3em;border-radius:3px;font-family:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;font-size:.8125rem;text-transform:uppercase;letter-spacing:0.03em;text-decoration:none;border:1px solid #16221E;color:#16221E;transition:background 0.15s ease, color 0.15s ease, border-color 0.15s ease}.btn.primary{background:#2E6F5E;border-color:#2E6F5E;color:#EFF1EC}.btn.primary:hover{background:#23594B;border-color:#23594B;color:#EFF1EC}.btn.ghost:hover{background:#16221E;color:#EFF1EC}.node-graph{width:100%;height:auto}.node-graph circle{fill:#2E6F5E}.node-graph circle.dim{fill:#8A6D3B;opacity:0.75}.node-graph line,.node-graph path.link{stroke:#3E4A44;stroke-width:1;opacity:0.35}.node-graph .pulse{animation:pulse 3.2s ease-in-out infinite}.node-graph .pulse-delay{animation:pulse 3.2s ease-in-out infinite;animation-delay:1.1s}.node-graph .pulse-delay2{animation:pulse 3.2s ease-in-out infinite;animation-delay:2.2s}@keyframes pulse{0%, 100%{opacity:0.55;r:var(--base-r, 5)}50%{opacity:1;r:calc(var(--base-r, 5) + 2)}}.section{padding:3.5rem 0}.section.alt{background:#E4E7E0;border-top:1px solid #D3D7CE;border-bottom:1px solid #D3D7CE}.section-head{margin-bottom:2.25rem;max-width:46rem}.timeline{position:relative;max-width:64rem;padding-left:0;list-style:none;margin:0}.timeline-item{position:relative;padding:0 0 2.75rem 2.25rem;border-left:1px solid #D3D7CE}.timeline-item:last-child{border-color:transparent;padding-bottom:0}.timeline-item::before{content:"";position:absolute;left:-5px;top:0.35rem;width:9px;height:9px;border-radius:50%;background:#2E6F5E}.timeline-item .role-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.6rem 1rem;margin-bottom:0.3rem}.timeline-item .role-title{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:1.375rem;margin:0}.timeline-item .role-dates{color:#8A6D3B}.timeline-item .role-company{color:#3E4A44;font-size:.9375rem;margin-bottom:0.9rem}.timeline-item ul.impact{margin:0;padding-left:1.1rem}.timeline-item ul.impact li{margin-bottom:0.5em}.metric{font-family:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;color:#8A6D3B;font-weight:500}.compact-list{list-style:none;padding:0;margin:0}.compact-list li{padding:0.9rem 0;border-top:1px solid #D3D7CE}.compact-list li:first-child{border-top:none}.compact-list .compact-role{font-weight:600;color:#16221E}.compact-list .compact-dates{color:#8A6D3B;margin-left:0.5rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(15rem, 1fr));gap:1.5rem}.service-card{border:1px solid #D3D7CE;border-radius:3px;padding:1.75rem;background:#EFF1EC}.service-card .eyebrow{margin-bottom:0.8em}.service-card h3{margin-bottom:0.5em}.service-card p:last-child{margin-bottom:0}.tag-list{display:flex;flex-wrap:wrap;gap:0.5rem;list-style:none;padding:0;margin:0}.tag{border:1px solid #D3D7CE;border-radius:3px;padding:0.35em 0.7em;color:#3E4A44}.post-list{list-style:none;padding:0;margin:0}.post-list-item{padding:1.4rem 0;border-top:1px solid #D3D7CE}.post-list-item:first-child{border-top:none}.post-list-item .post-date{color:#8A6D3B;display:block;margin-bottom:0.3em}.post-list-item h3{margin-bottom:0.2em}.post-list-item a{text-decoration:none;color:#16221E}.post-list-item a:hover{color:#2E6F5E}.post-header{margin-bottom:2rem}.post-header h1{margin-bottom:0.3em}.contact-methods{display:flex;flex-direction:column;gap:0.75rem;margin:1.5rem 0 2rem}.contact-method{display:flex;align-items:baseline;gap:0.75rem}.contact-method .eyebrow{margin:0;min-width:6rem}.site-footer{padding:2.5rem 0;border-top:1px solid #D3D7CE;color:#3E4A44;font-size:.8125rem}.site-footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.75rem}.site-footer a{color:#3E4A44}
