:root{color:#30251f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--muted:#6d6055;--border:#cfc4b7;--accent:#755943;background:#ece5db;font-family:Inter,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px;transition:color .18s,background-color .18s,border-color .18s}a:hover{color:var(--accent)}::selection{color:#30251f;background:#dfcfbd}:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}main:focus{outline:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}p{line-height:1.75}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:500}.button{color:#ece5db;background:#3f3027;border:1px solid #3f3027;border-radius:3px;justify-content:space-between;align-items:center;gap:30px;min-height:48px;padding:14px 20px;font-size:15px;text-decoration:none;display:inline-flex}.button:hover{color:#ece5db;background:#614936;border-color:#614936}.text-link{align-items:center;gap:18px;min-height:44px;font-size:15px;-webkit-text-decoration:underline #ba9;text-decoration:underline #ba9;display:inline-flex}.text-link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.meta{color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.8}h2{letter-spacing:-.5px;font-size:25px;line-height:1.4}.quiet-link{color:var(--muted);padding-block:12px;font-size:15px;text-decoration:none}.muted{color:var(--muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.shell{width:min(1080px,100% - 112px);margin-inline:auto}.section{border-top:1px solid var(--border);padding-block:48px 64px}.split-section{grid-template-columns:1fr 2fr;gap:70px;padding-block:60px 72px;display:grid}.page-intro{padding-block:90px 76px}.page-intro h1{letter-spacing:-1.8px;max-width:740px;margin:23px 0 25px;font-size:clamp(38px,5vw,58px);line-height:1.15}.page-intro>p:not(.eyebrow){max-width:600px;color:var(--muted);font-size:20px}.skip-link{color:#ece5db;z-index:10;background:#30251f;padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}@media (width<=800px){.shell{width:calc(100% - 64px)}.split-section{grid-template-columns:1fr;gap:32px}}@media (width<=480px){.shell{width:calc(100% - 40px)}.section{padding-block:34px 44px}.split-section{gap:27px;padding-block:40px 46px}.page-intro{padding-block:60px 50px}.page-intro h1{letter-spacing:-1.2px}}.site-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:112px;display:flex}.wordmark{letter-spacing:-.8px;font-size:23px;font-weight:600;text-decoration:none}.wordmark span{color:var(--accent)}nav{gap:34px;display:flex}nav a{color:var(--muted);padding-block:12px;font-size:15px;text-decoration:none}nav a:hover,nav a.active{color:#30251f}nav a.active{text-decoration:underline}@media (width<=480px){.site-header{height:86px}.wordmark{font-size:21px}nav{gap:20px}nav a{font-size:13px}}.site-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;padding-block:28px 34px;font-size:12px;display:flex}@media (width<=480px){.site-footer{font-size:11px}}.section-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:32px;display:flex}.work .section-heading h2{font-size:30px}.section-end{justify-content:space-between;align-items:center;gap:20px;margin-top:20px;display:flex}@media (width<=480px){.section-heading{flex-direction:column;align-items:start;gap:6px;margin-bottom:10px}.section-end{flex-direction:column;align-items:start;gap:3px}}.project{border-bottom:1px solid var(--border);padding-block:56px 64px;padding-inline:85px 160px}.project-body{max-width:620px}.project h3{letter-spacing:-1px;margin:20px 0 24px;font-size:clamp(40px,4.2vw,52px);line-height:1.15}.project-body>p:not(.eyebrow,.meta){color:var(--muted);max-width:560px;font-size:18px}.stack{margin:26px 0 16px}.technical-details{color:var(--muted);margin-bottom:10px;font-size:14px}.technical-details summary{cursor:pointer;width:fit-content;min-height:44px;padding-block:10px}.technical-details p{max-width:480px;padding-bottom:8px}@media (width<=800px){.project{padding-inline:52px 0}}@media (width<=480px){.project{padding:40px 0 48px}.project h3{font-size:40px}}.about-copy p{color:var(--muted);max-width:590px;margin-bottom:24px;font-size:18px}.about-copy .lead{color:#30251f;letter-spacing:-.8px;margin-bottom:26px;font-size:31px;line-height:1.4}.contact-copy{color:var(--muted);max-width:530px;font-size:18px}.email-link{letter-spacing:-.8px;align-items:center;gap:24px;margin-top:26px;padding-block:8px;font-size:clamp(20px,3vw,30px);text-decoration-color:#ba9;display:inline-flex}.email-link span{font-size:22px}.contact-links{gap:28px;margin-top:15px;display:flex}.contact-page .contact-copy{margin-top:30px}@media (width<=480px){.about-copy .lead{font-size:28px}.email-link{letter-spacing:-.6px;gap:14px}}.hero{padding:100px 0 66px}.hero h1{letter-spacing:-.06em;margin-top:26px;font-size:clamp(60px,6.3vw,80px);line-height:1.1}.hero-role{letter-spacing:-.6px;margin-top:12px;font-size:26px}.hero-role span{color:var(--muted);padding-inline:5px}.hero-description{max-width:520px;color:var(--muted);margin-top:25px;font-size:22px;line-height:1.7}.hero-actions{align-items:center;gap:30px;margin-top:32px;display:flex}.hero-footnote{margin-top:64px}.contact-section{padding-block:64px 88px}.contact-section h2{letter-spacing:-1.4px;margin:17px 0 21px;font-size:44px}@media (width>=1500px){.hero{padding-top:120px}}@media (width<=800px){.hero{padding-top:72px}}@media (width<=480px){.hero{padding-block:64px 42px}.hero h1{font-size:62px}.hero-role{font-size:23px}.hero-description{font-size:20px}.hero-footnote{margin-top:45px}.contact-section{padding-block:45px 60px}}.prose>p{color:var(--muted);max-width:590px;margin-bottom:24px;font-size:18px}.tool-list{margin-top:30px}.tool-list div{border-top:1px solid var(--border);padding-block:18px}dt{margin-bottom:7px;font-size:15px}dd{color:var(--muted);margin:0;font-size:16px;line-height:1.8}.education article+article{border-top:1px solid var(--border);margin-top:28px;padding-top:28px}.education h3{margin:8px 0;font-size:21px}.education p:not(.meta){font-size:16px}.page-intro.contact-page{padding-bottom:88px}.secondary-socials{flex-wrap:wrap;gap:8px 24px;margin-top:14px;display:flex}.secondary-socials a{color:var(--muted);padding-block:12px;font-size:15px}.not-found{min-height:65vh}.not-found .button{margin-top:30px}
