@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap";:root{--ink:#151819;--muted:#626765;--paper:#f7f6f1;--paper-dark:#e9e8e0;--blue:#0d5bd7;--line:#cbcfc8;--mono:"DM Mono",monospace;--sans:"DM Sans",sans-serif;--serif:"Fraunces",serif;color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;margin:0}a{color:inherit;text-decoration:none}.skip-link{z-index:20;background:var(--blue);color:#fff;padding:10px 14px;position:fixed;top:10px;left:10px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:84px;padding:0 clamp(24px,5vw,80px);display:flex;position:relative}.wordmark{letter-spacing:-.08em;font-size:24px;font-weight:700}.wordmark span{color:var(--blue)}nav{align-items:center;gap:30px;font-size:14px;font-weight:500;display:flex}nav a:not(.nav-contact){color:#3c4140}nav a:hover,.text-link:hover{color:var(--blue)}.nav-contact,.button{background:var(--ink);color:#fff;padding:11px 16px}.nav-contact:hover,.button:hover{background:var(--blue);color:#fff}.menu-button{font:500 14px var(--sans);color:var(--ink);background:0 0;border:0;padding:10px 0;display:none}.section{padding-left:clamp(24px,5vw,80px);padding-right:clamp(24px,5vw,80px)}.hero{flex-direction:column;justify-content:space-between;min-height:calc(100vh - 84px);padding-top:clamp(74px,11vw,150px);padding-bottom:42px;display:flex}.hero-kicker,.eyebrow,.section-number{font:500 11px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase}.hero-kicker{color:var(--muted);margin-bottom:clamp(52px,7vw,96px)}.status-dot{background:#4d8b3f;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.hero-grid{grid-template-columns:minmax(0,1.6fr) minmax(270px,.7fr);align-items:end;gap:8vw;display:grid}.eyebrow{color:var(--muted);margin:0 0 16px}h1,h2{letter-spacing:-.065em;max-width:1000px;margin:0;font-size:clamp(47px,7.1vw,110px);font-weight:500;line-height:.95}h1 em,h2 em{font-family:var(--serif);font-weight:500}.hero-side{padding-bottom:8px}.hero-side p,.section-intro,.about-lead{margin:0;font-size:17px;line-height:1.45}.hero-actions{align-items:center;gap:22px;margin-top:28px;display:flex}.button{align-items:center;gap:16px;font-size:14px;font-weight:600;display:inline-flex}.text-link{text-underline-offset:4px;align-items:center;gap:8px;font-size:14px;font-weight:600;-webkit-text-decoration:underline #9da2a0;text-decoration:underline #9da2a0;display:inline-flex}.hero-foot{border-top:1px solid var(--ink);grid-template-columns:132px 1fr auto;align-items:center;gap:30px;margin-top:clamp(70px,10vw,150px);padding-top:18px;display:grid}.hero-foot>p{max-width:570px;margin:0;font-size:14px;line-height:1.45}.credential{border:2px solid var(--blue);color:#fff;background:var(--blue);flex-direction:column;justify-content:space-between;width:102px;height:76px;padding:8px;font-size:9px;line-height:1.05;display:flex}.credential span{color:#1d242d;background:#fff;margin:-4px -4px 0;padding:5px 5px 3px;font-size:13px;font-style:italic;font-weight:700}.credential strong{font-size:10px}.scroll-cue{font:500 11px var(--mono);text-transform:uppercase}.scroll-cue span{color:var(--blue);margin-left:8px;font-size:17px}.work{background:var(--paper-dark);padding-top:clamp(84px,12vw,170px);padding-bottom:clamp(80px,10vw,140px)}.section-head{grid-template-columns:9% 1fr minmax(250px,.65fr);align-items:end;gap:26px;display:grid}.section-head h2,.experience h2,.about h2,.contact h2{font-size:clamp(38px,5.2vw,78px)}.section-intro{max-width:350px;margin-bottom:4px}.projects{border-top:1px solid var(--ink);margin-top:70px}.project{border-bottom:1px solid var(--line);grid-template-columns:9% minmax(200px,1.2fr) minmax(180px,.8fr) minmax(210px,.8fr);gap:24px;padding:25px 0;transition:padding .25s,background .25s;display:grid}.project:hover{background:#ffffff40;padding-left:12px}.project-top{display:contents}.project-top span{font:500 12px var(--mono);color:var(--blue)}.project-top p{font:500 11px/1.5 var(--mono);text-transform:uppercase;color:var(--muted);margin:1px 0 0}.project-content h3{letter-spacing:-.04em;margin:0 0 10px;font-size:25px;line-height:1.05}.project-content p{color:#454b49;margin:0;font-size:14px;line-height:1.45}.outcomes{margin:0;padding:0;font-size:14px;line-height:1.8;list-style:none}.outcomes li:before{content:"↗";color:var(--blue);margin-right:8px}.tags{flex-wrap:wrap;align-content:start;gap:6px;display:flex}.tags span{font:500 10px var(--mono);text-transform:uppercase;border:1px solid #9da39f;padding:5px 7px}.experience{grid-template-columns:18% 1fr;gap:20px;padding-top:clamp(84px,12vw,170px);padding-bottom:clamp(84px,12vw,170px);display:grid}.section-label .section-number{color:var(--blue);margin:0 0 32px}.experience-main{grid-template-columns:minmax(240px,.75fr) minmax(380px,1.1fr);gap:8vw;display:grid}.timeline{border-top:1px solid var(--ink)}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:74px 1fr 1.22fr;gap:20px;padding:19px 0;display:grid}.period{font:500 11px var(--mono);color:var(--blue);margin:0}.timeline-item h3,.education h3,.skills-grid h3{letter-spacing:-.02em;margin:0;font-size:15px}.place,.detail{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.42}.detail{color:#333938;margin:0}.about{background:var(--ink);color:#f7f6f1;padding-top:clamp(84px,12vw,170px);padding-bottom:clamp(84px,12vw,170px)}.about .eyebrow,.about .section-number{color:#afb4b0}.about-content{grid-template-columns:18% minmax(0,1.15fr) minmax(260px,.7fr);gap:20px;display:grid}.about-content>div:first-child{grid-column:2}.about-lead{color:#cfd2cd;max-width:610px;margin-top:32px}.education{border-left:1px solid #555b58;padding:2px 0 0 24px}.education h3{font-size:17px;line-height:1.3}.education>p:not(.eyebrow){color:#b9bdb8;margin:12px 0 0;font-size:13px;line-height:1.45}.achievements{flex-direction:column;gap:7px;margin-top:24px;display:flex}.achievements span{color:#fff;font:500 10px/1.4 var(--mono);text-transform:uppercase}.achievements span:before{content:"•";color:#7eabff;margin-right:7px}.skills-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin:85px 0 0 18%;display:grid}.skills-grid article{border-top:1px solid #555b58;padding-top:18px}.skills-grid h3{color:#aeb4b0;font:500 11px var(--mono);text-transform:uppercase}.skills-grid ul{columns:2;margin:17px 0 0;padding:0;list-style:none}.skills-grid li{color:#f1f2ef;font-size:13px;line-height:1.75}.contact{background:var(--blue);color:#fff;padding-top:clamp(84px,12vw,170px);padding-bottom:36px}.contact .section-number,.contact .eyebrow{color:#cddcff}.contact h2{margin-top:clamp(55px,8vw,110px)}.contact-email{letter-spacing:-.04em;border-bottom:1px solid #aac6ff;gap:16px;margin-top:38px;padding-bottom:7px;font-size:clamp(20px,3vw,42px);display:inline-flex}.contact-email:hover{color:#dce8ff}.contact-bottom{border-top:1px solid #8cb2fa;justify-content:space-between;margin-top:clamp(85px,12vw,160px);padding-top:17px;font-size:13px;display:flex}.contact-bottom p{margin:0}.contact .text-link{text-decoration-color:#b8cdfa}footer{background:var(--blue);color:#d1deff;font:500 10px var(--mono);text-transform:uppercase;border-top:1px solid #8cb2fa;justify-content:space-between;padding:18px clamp(24px,5vw,80px);display:flex}@media (width<=850px){.hero-grid,.section-head,.experience-main{grid-template-columns:1fr;gap:34px}.hero-side{max-width:480px}.hero-foot{grid-template-columns:120px 1fr}.scroll-cue,.section-head .section-number{display:none}.project{grid-template-columns:55px 1fr 1fr}.project-top p,.project-content{grid-column:2/-1}.outcomes{grid-column:2}.tags{grid-column:3}.experience,.about-content{grid-template-columns:1fr}.experience-main,.about-content>div:first-child{grid-column:auto}.section-label{gap:18px;display:flex}.section-label .section-number{margin:0}.about-content>div:first-child{grid-column:auto}.education{border-top:1px solid #555b58;border-left:0;padding:22px 0 0}.skills-grid{margin-left:0}.contact h2{font-size:clamp(43px,8vw,70px)}}@media (width<=600px){.site-header{min-height:68px}.menu-button{display:block}nav{z-index:5;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:17px;padding:18px 24px 24px;display:none;position:absolute;top:67px;left:0;right:0}nav.open{display:flex}.nav-contact{color:var(--blue);background:0 0;padding:0}.hero{min-height:calc(100svh - 68px)}.hero-foot{grid-template-columns:1fr;gap:18px}.credential{width:100px}.project{grid-template-columns:45px 1fr;gap:13px}.project-top p,.project-content,.outcomes,.tags{grid-column:2}.project-content h3{font-size:23px}.project:hover{padding-left:0}.outcomes,.tags{margin-top:3px}.timeline-item{grid-template-columns:60px 1fr;gap:12px}.detail{grid-column:2;margin-top:-5px}.skills-grid{grid-template-columns:1fr;gap:28px;margin-top:55px}.skills-grid ul{columns:2}.contact-bottom,footer{flex-direction:column;gap:14px}.contact-email{word-break:break-word;font-size:19px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
