@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@1,500&display=swap');
:root{--paper:#f3f1ea;--ink:#182c2c;--muted:#61716a;--line:#d7dcd0;--green:#b8d4a5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #688d52;outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}.wrap{width:min(1200px,calc(100% - 96px));margin:auto}.header{min-height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.wordmark{font-weight:700;font-size:15px}.wordmark span{margin:0 13px;color:#81927f}.header nav{display:flex;gap:32px;align-items:center;font-size:13px}.nav-contact{border:1px solid #b8c3b2;border-radius:999px;padding:12px 19px}.nav-contact span{padding-left:10px}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:center;padding-top:80px;padding-bottom:76px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;margin:0 0 30px}.dot{display:inline-block;width:7px;height:7px;background:#608354;border-radius:100%;margin-right:9px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Manrope,Arial,sans-serif;font-weight:500;letter-spacing:-3px}h1{font-size:clamp(58px,6.8vw,90px);line-height:1.08;margin-bottom:30px}em{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-2px}h1 em{color:#5b7755}.hero-description{max-width:465px;font-size:18px;line-height:1.7;color:#52635b;margin-bottom:30px}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);color:var(--paper);border-radius:5px;padding:16px 22px;font-size:14px}.button:hover{background:#35503e;text-decoration:none}.text-link{font-size:13px;font-weight:500}.file-label{font-size:9px;color:var(--muted);margin:0 7px}.location{margin:35px 0 0;color:var(--muted);font-size:12px}.portrait{margin:0;align-self:center}.portrait-frame{position:relative;background:#d7d8c7;border-radius:170px 170px 12px 12px;overflow:hidden;aspect-ratio:0.88}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}.photo-mark{position:absolute;bottom:18px;right:23px;color:white;font-family:Manrope,sans-serif;font-size:40px;letter-spacing:-3px}.portrait figcaption{display:flex;justify-content:space-between;font-size:10px;margin-top:17px;color:var(--muted);gap:10px}.portrait figcaption span:last-child{font-size:9px;letter-spacing:1px}.tech-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tech-strip .wrap{display:flex;justify-content:space-between;gap:20px;padding-top:24px;padding-bottom:24px;font-size:12px;font-weight:500}.section{padding-top:92px;padding-bottom:92px}h2{font-size:clamp(32px,3.6vw,48px);line-height:1.22;margin-bottom:24px;letter-spacing:-1.8px}h2 em{letter-spacing:-1.6px}.profile{display:grid;grid-template-columns:1fr 1fr;gap:75px}.profile-text{font-size:15px;line-height:1.85;color:#52635b;padding-top:42px}.profile-text p{margin-bottom:20px}.small-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:18px;border-top:1px solid var(--line);margin-top:28px}.small-facts strong{display:block;font-size:13px;color:var(--ink)}.small-facts span{font-size:12px}.experience{background:#e9ece3}.section-top{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.section-top h2{margin-bottom:0}.section-top>p{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:5px}.job{display:grid;grid-template-columns:0.8fr 1.1fr 1.6fr;gap:40px;padding:35px 0;border-top:1px solid #cdd5c8}.job:last-child{border-bottom:1px solid #cdd5c8}.job-date{font-size:10px;font-weight:700;letter-spacing:.7px;padding-top:4px}.job-date span{display:block;color:var(--muted);font-weight:400;font-size:11px;letter-spacing:0;margin-top:12px}h3{font-family:Manrope,Arial,sans-serif;font-size:18px;font-weight:600;line-height:1.5;margin-bottom:9px;letter-spacing:-.4px}.job-title p{font-size:12px;color:var(--muted);margin-bottom:0}.job-detail p{font-size:13px;line-height:1.85;color:#52635b;margin-bottom:18px}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span{font-size:9px;border:1px solid #c3cebd;border-radius:999px;padding:5px 10px}.compact .job-detail p{margin-bottom:0}.skills{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.skills article{border-top:1px solid var(--line);padding-top:22px}.skill-number{font-size:11px;color:#7c8e73;display:block;margin-bottom:32px}.skills h3{font-size:17px}.skills p{font-size:13px;line-height:1.9;color:#52635b;margin-bottom:0}.additional{font-size:11px;color:var(--muted);margin:30px 0 0}.education{display:grid;grid-template-columns:1fr 1fr;gap:75px;border-top:1px solid var(--line)}.study{padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.study>span{font-size:10px;color:var(--muted);letter-spacing:1px;display:block;margin-bottom:12px}.study p{font-size:13px;color:var(--muted);margin:0}.languages{font-size:11px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}.languages strong{font-weight:500;color:var(--ink)}.languages>span{margin:0 8px}.contact{background:var(--ink);color:var(--paper);padding:80px 0}.contact .eyebrow{color:var(--green)}.contact h2{font-size:clamp(48px,6vw,76px);margin-bottom:35px;line-height:1.12}.contact h2 em{color:var(--green)}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #4a5b54;padding-top:27px}.contact-bottom p{color:#b5c2b9;font-size:13px;line-height:1.8;margin:0}.contact-email{font-family:Manrope,sans-serif;font-size:clamp(16px,2.2vw,28px);letter-spacing:-.6px}.contact-email span{margin-left:22px;color:var(--green)}.phone{display:block;text-align:right;font-size:12px;color:#b5c2b9;margin-top:20px}footer{display:flex;justify-content:space-between;gap:20px;padding-top:28px;padding-bottom:28px;font-size:10px;color:var(--muted)}footer span:first-child{font-weight:700;color:var(--ink)}.skip{position:absolute;top:-100px;padding:12px;background:var(--ink);color:white;z-index:10}.skip:focus{top:10px;left:10px}@media(min-width:1600px){.hero{padding-top:100px;padding-bottom:100px}}@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero{gap:38px}.header nav{gap:18px}h1{font-size:64px}.job{gap:25px;grid-template-columns:.8fr 1fr 1.4fr}.skills{grid-template-columns:repeat(2,1fr);gap:30px}.profile,.education{gap:40px}.hero-description{font-size:16px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{min-height:82px}.wordmark{font-size:12px}.wordmark span{margin:0 7px}.header nav>a:not(.nav-contact){display:none}.nav-contact{padding:10px 13px;font-size:11px}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:35px}.eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:22px}h1{font-size:clamp(49px,12.3vw,78px);letter-spacing:-2.5px}.hero-description{max-width:100%;font-size:16px}.actions{gap:20px}.button{padding:15px 20px}.location{margin-top:25px}.portrait{max-width:380px;width:100%;justify-self:center}.portrait-frame{aspect-ratio:1;border-radius:140px 140px 10px 10px}.tech-strip .wrap{flex-wrap:wrap;justify-content:center;gap:12px 22px;font-size:10px;padding:20px 0}.section{padding-top:55px;padding-bottom:55px}.profile,.education{grid-template-columns:1fr;gap:12px}h2{font-size:34px}.profile-text{padding-top:0;font-size:14px}.section-top{display:block;margin-bottom:30px}.section-top>p{margin:20px 0 0}.job{grid-template-columns:1fr;gap:15px;padding:27px 0}.job-date{display:flex;justify-content:space-between;align-items:center;gap:10px}.job-date span{margin:0}.job-title h3{margin-bottom:3px}.job-detail p{font-size:13px}.skills{gap:25px 20px}.skill-number{margin-bottom:20px}.skills h3{font-size:16px}.skills p{font-size:12px}.education>div:last-child{margin-top:15px}.contact{padding:55px 0}.contact-bottom{display:block}.contact-email{display:block;margin-top:24px;font-size:clamp(15px,4.7vw,24px)}.contact-email span{margin-left:6px}.phone{text-align:left}footer{flex-wrap:wrap;gap:15px}footer span:nth-child(2){order:3;width:100%}footer a{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
