@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{color:#232921;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink:#232921;--muted:#64685e;--green:#526742;--rule:#dbddd1;background:#f6f5ef;font-family:DM Sans,sans-serif;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline-offset:6px;border-radius:2px;outline:3px solid #6b854f}h1,h2,h3,h4,h5,p,figure{margin:0}h1,h2,h3,h4,h5{font-family:Manrope,sans-serif;font-weight:600}ul,ol{margin:0;padding:0;list-style:none}::selection{color:#232921;background:#d7e7ba}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.page-width{width:min(1060px,100% - 96px);margin-inline:auto}.section-anchor{scroll-margin-top:36px}.skip-link{z-index:10;background:var(--ink);color:#fff;padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;height:96px;display:flex}.wordmark{letter-spacing:-1px;font-family:Manrope,sans-serif;font-size:22px;font-weight:750}.wordmark span{color:var(--green)}.site-header nav{gap:30px;font-size:14px;display:flex}.site-header nav a{padding-block:10px}.site-header nav a:hover,.footer-top:hover{color:var(--green);text-underline-offset:5px;text-decoration:underline}.hero{grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:44px;padding-block:64px;display:grid}.hero-copy{min-width:0}.hero-portrait{aspect-ratio:1;object-fit:cover;border:1px solid var(--rule);border-radius:50%;width:100%;height:auto;display:block}.hero h1{letter-spacing:-2.8px;font-size:clamp(38px,5.3vw,64px);font-weight:550;line-height:1.15}.hero h1 em{color:var(--green);letter-spacing:-2px;font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-description{color:#585e52;max-width:540px;margin-top:23px;font-size:16px;line-height:1.8}.hero-links{align-items:center;gap:26px;margin-top:24px;display:flex}.button{border-radius:4px;justify-content:space-between;align-items:center;gap:30px;padding:14px 18px;font-size:13px;font-weight:500;transition:background-color .16s;display:inline-flex}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--green)}.button span{font-size:18px}.hero-github{gap:12px;font-size:13px;display:inline-flex}.hero-github:hover{color:var(--green)}h2{letter-spacing:-.8px;font-size:26px}.work-section{border-top:1px solid var(--rule);padding-top:32px}.projects-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:24px;display:grid}.project-card{border:1px solid var(--rule);border-radius:6px;min-width:0;padding:26px}.project-card:first-child{background:#eeefe6;border-color:#d8ddcd}.project-card h3{letter-spacing:-.7px;font-size:22px}.project-card h3 a{justify-content:space-between;align-items:center;gap:15px;display:flex}.project-card h3 a>span[aria-hidden]{color:var(--green);font-size:20px;font-weight:400}.project-card h3 a:hover{color:var(--green)}.project-facts{margin:22px 0 0}.project-facts>div+div{margin-top:16px}.project-facts dt{color:var(--green);text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:600}.project-facts dd{color:#5c6256;margin:5px 0 0;font-size:13px;line-height:1.8}.project-learned{white-space:pre-line;min-height:8px}.about-section,.experience-section{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:60px;padding-block:38px;display:grid}.about-section{margin-top:48px}.about-copy>p{color:#5c6256;font-size:14px;line-height:1.8}.education-note{margin-top:20px}.education-note p{font-size:13px;line-height:1.8}.education-note span{color:var(--muted);font-size:11px}.experience-list li{border-bottom:1px solid var(--rule);padding-block:16px}.experience-list li:first-child{padding-top:0}.experience-list li:last-child{border-bottom:0;padding-bottom:0}.experience-date{letter-spacing:.4px;color:var(--muted);font-size:10px}.experience-list h3{margin-top:6px;font-size:16px}.experience-list li>p:last-child{color:var(--muted);margin-top:5px;font-size:12px}.contact-section{background:#e9eddf;border:1px solid #d8ddcd;border-radius:6px;grid-template-columns:1fr 1fr;gap:40px;margin-block:12px 38px;padding:30px;display:grid}.contact-section>div>p{color:#5c6256;margin-top:10px;font-size:13px;line-height:1.8}.contact-links{flex-direction:column;justify-content:center;align-items:flex-start;gap:16px;min-width:0;display:flex}.contact-email{letter-spacing:-.3px;overflow-wrap:anywhere;font-size:16px}.contact-email span,.contact-github span{margin-left:10px}.contact-email:hover,.contact-github:hover{text-underline-offset:5px;text-decoration:underline}.contact-github{font-size:12px}.site-footer{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:25px;padding-block:26px 30px;display:flex}.site-footer .wordmark{font-size:17px}.footer-top{color:var(--muted);font-size:11px}.footer-top span{margin-left:10px}@media (width<=900px){.page-width{width:calc(100% - 64px)}.hero{grid-template-columns:minmax(0,1fr) 180px;gap:28px}.hero h1{letter-spacing:-1.8px;font-size:clamp(30px,4.4vw,47px)}.about-section,.experience-section{gap:35px}.contact-section{gap:20px;padding:25px}.contact-email{font-size:14px}}@media (width<=650px){.page-width{width:calc(100% - 40px)}.site-header{height:78px}.wordmark{font-size:19px}.site-header nav{gap:18px;font-size:12px}.hero{grid-template-columns:1fr;gap:25px;padding-block:36px 44px}.hero-portrait{grid-row:1;width:140px}.hero h1{letter-spacing:-1.7px;font-size:clamp(33px,7.7vw,48px)}.hero h1 em{letter-spacing:-1px}.hero-description{margin-top:20px;font-size:15px}.work-section{padding-top:25px}h2{font-size:24px}.projects-grid{grid-template-columns:1fr;gap:14px;margin-top:20px}.project-card{padding:22px}.project-card h3{font-size:21px}.about-section,.experience-section{grid-template-columns:1fr;gap:22px;padding-block:30px}.about-section{margin-top:34px}.contact-section{grid-template-columns:1fr;gap:24px;margin-bottom:30px;padding:24px 22px}.contact-email{font-size:16px}.site-footer{padding-block:24px}}@media (width<=380px){.page-width{width:calc(100% - 32px)}.site-header nav{gap:12px;font-size:11px}.wordmark{font-size:17px}.hero h1{font-size:31px}.contact-email{font-size:14px}}
