@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--bg:#12151c;--bg-raised:#181c25;--paper:#ede8dc;--paper-dim:#a9a79c;--accent:#e8a33d;--accent-soft:#e8a33d24;--line:#2b303c;--font-display:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"IBM Plex Mono", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--bg);color:var(--paper);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}h1,h2,h3{font-family:var(--font-display);color:var(--paper);margin:0;font-weight:600}a{color:var(--accent);text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.mono{font-family:var(--font-mono)}.container{max-width:780px;margin:0 auto;padding:0 24px}.section{border-bottom:1px solid var(--line);padding:88px 0}.section:last-child{border-bottom:none}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;font-size:13px}.waveform-rule{opacity:.5;width:100%;height:20px;margin:8px 0 0;display:block}.page{min-height:100vh}.hero{border-bottom:1px solid var(--line);background:radial-gradient(ellipse at top, var(--bg-raised) 0%, var(--bg) 65%);padding:140px 0 80px;position:relative;overflow:hidden}.hero-waveform{opacity:.22;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-waveform-path{stroke-dasharray:12 12;animation:6s linear infinite signal-flow}@keyframes signal-flow{to{stroke-dashoffset:-480px}}.hero-content{position:relative}.hero-name-row{align-items:center;gap:20px;margin-bottom:24px;display:flex}.hero-photo{object-fit:cover;border:1px solid var(--line);border-radius:50%;flex-shrink:0;width:96px;height:96px}.hero .hero-name-row h1{margin:0}.hero h1{letter-spacing:-.01em;max-width:14ch;margin:4px 0 22px;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.12}.hero-sub{max-width:52ch;color:var(--paper-dim);font-size:1.05rem}.hero-links{gap:10px;margin-top:32px;font-size:14px;display:flex}.hero-links a{color:var(--paper);border-bottom:1px solid #0000;transition:color .15s,border-color .15s}.hero-links a:hover{color:var(--accent);border-color:var(--accent)}.hero-links span,.section p{color:var(--paper-dim)}.section h1,.section h2{color:var(--paper)}.eyebrow-ruled{border-bottom:1px solid var(--line);padding-bottom:10px}.role-list{flex-direction:column;gap:24px;margin-top:20px;display:flex}.project-list{flex-direction:column;gap:36px;margin-top:28px;display:flex}.role-group+.role-group{border-top:1px solid var(--line);padding-top:24px}.role-group-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.role-org{color:var(--paper);margin:0;font-size:1.05rem;font-weight:700}.role-location{color:var(--paper-dim);white-space:nowrap;font-size:13px}.role{margin-top:6px}.role-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.role-title{color:var(--paper);font-size:.95rem}.role-period{color:var(--paper-dim);white-space:nowrap;font-size:12px}.role ul{color:var(--paper-dim);margin:6px 0 0;padding-left:18px;list-style:square}.role li{margin-bottom:6px;font-size:.92rem;line-height:1.5}.project p{margin:10px 0 14px}.stack{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.stack-tag{border:1px solid var(--line);color:var(--paper-dim);border-radius:3px;padding:4px 9px;font-size:11px}.project-link{color:var(--accent);font-size:13px}.contact-links{flex-wrap:wrap;gap:20px;margin-top:8px;font-size:14px;display:flex}.contact-links a{color:var(--paper);border-bottom:1px solid var(--line)}.contact-links a:hover{color:var(--accent);border-color:var(--accent)}.footer{text-align:center;color:var(--paper-dim);padding:32px 0 48px;font-size:12px}@media (width<=640px){.hero{padding:100px 0 56px}.section{padding:56px 0}}
