:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef2ea;--text:#151a14;--muted:#687064;--accent:#7c3aed;--border:#151a1421;--border-strong:#151a1445;--surface:#151a140b;--max-width:1060px;--gutter:clamp(1.25rem, 4vw, 3rem);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;color:var(--text);margin:0}body::selection{background:#7c3aed2e}a{color:inherit;text-underline-offset:.22em;text-decoration-color:#7c3aed73;text-decoration-thickness:1px;transition:color .18s,border-color .18s,background-color .18s,text-decoration-color .18s}a:hover{color:var(--accent);text-decoration-color:currentColor}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:.35rem}button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}p,h1,h2,h3,dl,dd,ul{margin:0}.site-shell{width:min(100%, var(--max-width));padding:0 var(--gutter);margin:0 auto}.hero{border-bottom:1px solid var(--border);align-content:center;gap:clamp(1.75rem,4vw,3.5rem);min-height:min(760px,100dvh);padding:clamp(3rem,9vh,6.5rem) 0 clamp(3rem,8vh,5rem);display:grid;position:relative}.identity{gap:1rem;display:grid}.meta,.eyebrow{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:600;line-height:1.4}.meta{flex-wrap:wrap;gap:.42rem;display:flex}h1{letter-spacing:0;max-width:11ch;font-size:clamp(3.25rem,12vw,7.5rem);font-weight:650;line-height:.95}.hero-copy{max-width:720px;color:var(--muted);gap:1rem;font-size:clamp(1rem,1.6vw,1.14rem);line-height:1.75;display:grid}.positioning{max-width:780px;color:var(--text);font-size:clamp(1.35rem,3vw,2.35rem);font-weight:500;line-height:1.18}.links{flex-wrap:wrap;gap:.75rem;display:flex}.links a{border:1px solid var(--border);min-height:44px;color:var(--text);border-radius:999px;align-items:center;padding:.72rem 1rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.links a:hover{border-color:var(--border-strong);background:var(--surface);color:var(--accent)}.section{border-bottom:1px solid var(--border);grid-template-columns:minmax(120px,.26fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);padding:clamp(3.5rem,8vw,6rem) 0;display:grid}.text-stack{max-width:760px;color:var(--text);gap:1.25rem;font-size:clamp(1rem,1.5vw,1.08rem);line-height:1.75;display:grid}.project-list{display:grid}.project{border-top:1px solid var(--border);gap:1rem;padding:1.75rem 0;display:grid}.project:first-child{border-top:0;padding-top:0}.project:last-child{padding-bottom:0}.project-main{gap:.7rem;max-width:720px;display:grid}.project h3{font-size:clamp(1.15rem,2vw,1.45rem);font-weight:620;line-height:1.25}.project h3 a{text-decoration:none}.project p{max-width:58ch;color:var(--muted);font-size:.98rem;line-height:1.65}.project-details{grid-template-columns:minmax(9rem,.9fr) minmax(12rem,1.25fr) minmax(4rem,.45fr);gap:1rem;max-width:780px;padding-top:.35rem;display:grid}.project-details div{align-content:start;gap:.35rem;min-width:0;display:grid}dt{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:600;line-height:1.3}dd{color:var(--text);overflow-wrap:anywhere;font-size:.92rem;line-height:1.45}.footer{color:var(--muted);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;padding:clamp(3rem,7vw,5rem) 0;line-height:1.7;display:grid}.footer>div{gap:.7rem;display:grid}.links--compact{justify-content:flex-end}.links--compact a{border-color:#0000;padding-left:0;padding-right:0}.links--compact a:hover{background:0 0;border-color:#0000}.footer-email{min-height:44px;color:var(--text);align-items:center;font-weight:650;display:inline-flex}@media (width<=760px){.hero{min-height:auto;padding-top:4rem}h1{max-width:100%;font-size:clamp(3rem,18vw,5rem)}.section,.footer{grid-template-columns:1fr}.section{gap:1.35rem;padding:3.5rem 0}.project{gap:1.2rem}.project-details{grid-template-columns:1fr}.links,.links--compact{justify-content:flex-start}.links a{flex:calc(50% - .75rem);justify-content:center}.links--compact a{flex:0 auto}}@media (width<=420px){.site-shell{padding-inline:1rem}.links a{flex-basis:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
