:root{--paper: #faf9f6;--paper-2: #f1efe9;--ink: #16181d;--ink-soft: #3b3e45;--muted: #6c7079;--line: #e3e1d8;--accent: #2e43ff;--accent-ink: #1b29b8;--accent-weak: rgba(46, 67, 255, .08);--step--1: clamp(.78rem, .76rem + .1vw, .84rem);--step-0: clamp(1rem, .97rem + .15vw, 1.08rem);--step-1: clamp(1.2rem, 1.1rem + .5vw, 1.45rem);--step-2: clamp(1.55rem, 1.35rem + 1vw, 2.1rem);--step-3: clamp(2.1rem, 1.6rem + 2.4vw, 3.4rem);--step-4: clamp(2.8rem, 1.9rem + 4.2vw, 5rem);--measure: 64ch;--container: 1060px;--gap: clamp(1rem, .6rem + 2vw, 2rem);--section: clamp(3.5rem, 2.5rem + 4vw, 6.5rem);--font-display: "Bricolage Grotesque", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.65;-webkit-font-smoothing:antialiased;min-height:100dvh;display:flex;flex-direction:column}main{flex:1}img,picture,video,canvas,svg{display:block;max-width:100%}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}.skip-link{position:absolute;top:-100%;left:1rem;padding:.5rem 1rem;background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:var(--step--1);text-decoration:none;border-radius:0 0 4px 4px;z-index:100;transition:top .15s}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.05;color:var(--ink)}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}h4{font-size:var(--step-1)}p{max-width:var(--measure)}a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--accent)}.eyebrow{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.eyebrow-accent{color:var(--accent)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gap)}.section{padding-block:var(--section);border-top:1px solid var(--line)}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.25rem;font-family:var(--font-mono);font-size:var(--step--1);font-weight:500;text-decoration:none;border-radius:4px;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover{background:var(--accent-weak);border-color:var(--accent);color:var(--accent-ink)}.site-header{border-bottom:1px solid var(--line);padding-block:1rem;position:sticky;top:0;background:var(--paper);z-index:10}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:var(--gap)}.site-brand{font-family:var(--font-mono);font-size:var(--step-0);font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.01em;flex-shrink:0}.site-brand .prompt{color:var(--accent)}.site-nav{display:flex;align-items:center;gap:clamp(1rem,.5rem + 2vw,2rem);list-style:none;padding:0}.site-nav a{font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-soft);text-decoration:none;letter-spacing:.02em}.site-nav a:hover{color:var(--accent-ink)}.site-footer{border-top:1px solid var(--line);padding-block:clamp(2rem,1.5rem + 2vw,3rem)}.site-footer .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem}.footer-disclaimer{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);line-height:1.6}.footer-socials{display:flex;flex-wrap:wrap;gap:1.25rem;list-style:none;padding:0}.footer-socials a{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);text-decoration:none}.footer-socials a:hover{color:var(--accent-ink)}.hero{padding-block:clamp(4rem,3rem + 5vw,8rem)}.hero-eyebrow{margin-bottom:1.5rem}.hero-heading{max-width:28ch;margin-bottom:1.5rem}.hero-intro{font-size:var(--step-1);color:var(--ink-soft);max-width:52ch;line-height:1.5;margin-bottom:2rem}.hero-hook{border-left:3px solid var(--accent);padding-left:1.25rem;margin-bottom:2.5rem;max-width:54ch}.hero-hook p{font-size:var(--step-1);font-weight:500;color:var(--ink);max-width:none;line-height:1.45}.hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem}.signal-meter{display:inline-flex;align-items:flex-end;gap:3px;vertical-align:middle;flex-shrink:0}.signal-bar{display:block;width:4px;height:14px;border-radius:1px;background:var(--line)}.signal-bar.filled{background:var(--accent)}.picks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:var(--gap);margin-top:2rem}.pick-card{background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.pick-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pick-name{font-family:var(--font-display);font-size:var(--step-1);font-weight:600;letter-spacing:-.02em;line-height:1.2}.pick-name a{color:var(--ink);text-decoration:none}.pick-name a:hover{color:var(--accent-ink)}.pick-kind{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex-shrink:0}.pick-take{font-size:var(--step--1);color:var(--ink-soft);line-height:1.6;max-width:none;flex:1}.install-chip{font-family:var(--font-mono);font-size:var(--step--1);background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:.3rem .5rem;color:var(--muted);word-break:break-all;margin-top:auto}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:var(--gap);margin-top:2rem}.project-card{border:1px solid var(--line);border-radius:6px;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}.project-card:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}.project-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.project-meta span{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted)}.project-meta span+span:before{content:"·";margin-right:.5rem}.project-title{font-family:var(--font-display);font-size:var(--step-1);font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}.project-summary{font-size:var(--step--1);color:var(--ink-soft);line-height:1.6;max-width:none}.stack-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.stack-tag{font-family:var(--font-mono);font-size:var(--step--1);background:var(--paper-2);border:1px solid var(--line);border-radius:3px;padding:.15rem .45rem;color:var(--muted)}.project-card .stack-tag{background:var(--paper)}.section-label{display:flex;align-items:baseline;gap:1rem;margin-bottom:.75rem}.view-all{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);text-decoration:none}.view-all:hover{color:var(--accent-ink)}.career-list{margin-top:2rem;display:flex;flex-direction:column;gap:2.5rem}.career-item{display:grid;grid-template-columns:7rem 1fr;gap:1.5rem}.career-years{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);padding-top:.2rem;line-height:1.4}.career-role{font-family:var(--font-display);font-size:var(--step-1);font-weight:600;letter-spacing:-.01em;line-height:1.2}.career-org{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);margin-top:.25rem}.career-summary{color:var(--ink-soft);font-size:var(--step--1);margin-top:.5rem;max-width:none}.career-highlights{list-style:none;padding:0;margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.career-highlights li{font-size:var(--step--1);color:var(--ink-soft);padding-left:1.25rem;position:relative;line-height:1.6;max-width:var(--measure)}.career-highlights li:before{content:"▰";position:absolute;left:0;color:var(--accent);font-size:.6em;top:.35em}.writing-list{margin-top:2rem;display:flex;flex-direction:column}.writing-card{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.writing-card:first-child{border-top:1px solid var(--line)}.writing-card:hover .writing-title{color:var(--accent-ink)}.writing-title{font-family:var(--font-display);font-size:var(--step-0);font-weight:500;color:var(--ink);transition:color .12s}.writing-meta{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);white-space:nowrap;flex-shrink:0}.newsletter-box{background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:clamp(1.5rem,1rem + 2vw,2.5rem);margin-top:2rem;max-width:520px}.newsletter-heading{font-size:var(--step-1);margin-bottom:.5rem}.newsletter-blurb{color:var(--ink-soft);font-size:var(--step--1);margin-bottom:1.5rem;max-width:none}.project-detail{padding-block:var(--section)}.breadcrumb{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);margin-bottom:1.5rem}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--accent-ink)}.breadcrumb-sep{margin-inline:.4rem;color:var(--line)}.spec-block{margin-block:2.5rem;padding:1.5rem;background:var(--paper-2);border:1px solid var(--line);border-radius:6px;max-width:680px;display:flex;flex-direction:column;gap:1.25rem}.spec-row{display:grid;grid-template-columns:9rem 1fr;gap:1rem;align-items:start}.spec-label{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding-top:.1rem}.spec-value{color:var(--ink-soft);font-size:var(--step--1);line-height:1.6;max-width:none}.spec-value.outcome{color:var(--ink);font-weight:500}.project-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.5rem}.prose{max-width:var(--measure);margin-top:3rem}.prose h2,.prose h3,.prose h4{margin-block:2rem .75rem}.prose p{margin-bottom:1rem}.prose ul,.prose ol{padding-left:1.5rem;margin-bottom:1rem}.prose li{margin-bottom:.4rem;line-height:1.6}.prose code{font-family:var(--font-mono);font-size:.88em;background:var(--paper-2);padding:.1em .35em;border-radius:3px}.prose pre{background:var(--paper-2);border:1px solid var(--line);border-radius:4px;padding:1rem 1.25rem;overflow-x:auto;margin-bottom:1.5rem}.prose pre code{background:none;padding:0}.hire-page{padding-block:var(--section)}.hire-intro{font-size:var(--step-1);color:var(--ink-soft);max-width:52ch;line-height:1.5;margin-bottom:3rem;max-width:none}.hire-services{display:flex;flex-direction:column;gap:1.25rem;max-width:640px}.hire-service{padding:1.5rem;border:1px solid var(--line);border-radius:6px}.hire-service h3{font-size:var(--step-1);margin-bottom:.6rem}.hire-service p{color:var(--ink-soft);font-size:var(--step--1);max-width:none;line-height:1.6}.hire-cta-block{margin-top:3rem;padding:clamp(1.5rem,1rem + 2vw,2.5rem);background:var(--paper-2);border:1px solid var(--line);border-radius:6px;max-width:480px}.hire-cta-block h2{font-size:var(--step-2);margin-bottom:.75rem}.hire-cta-block p{color:var(--ink-soft);font-size:var(--step--1);margin-bottom:1.5rem;max-width:none;line-height:1.6}.work-header{padding-block:clamp(3rem,2rem + 3vw,5rem)}.work-header h1{margin-top:.5rem}@media(max-width:600px){.career-item{grid-template-columns:1fr;gap:.5rem}.spec-row{grid-template-columns:1fr;gap:.25rem}.site-nav{gap:.875rem}.writing-card{flex-direction:column;gap:.25rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
