@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=DM+Mono:wght@400;500&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');:root{--bg:#f6f5f1;--ink:#24292e;--mid:#68747b;--rule:#d9dbd7;--green:#2b654f;--purple:#a58fce;--font:'DM Sans','Noto Sans SC',system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.header{height:85px;max-width:1180px;margin:auto;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}.logo{display:flex;align-items:center;gap:14px;font-weight:700}.logo-box{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:#233b33;color:white;font-size:24px}.logo-box span,h1 span,h2 span{color:#8baf86}.logo small{color:#8d9697;font:10px 'DM Mono',monospace;letter-spacing:1.8px;margin-left:7px}.links{display:flex;gap:29px;align-items:center;font-size:12px;color:#646d70}.links a:hover{color:var(--green)}.links .nav-cta{padding:12px 15px;border:1px solid #9daaa2;color:#2c5a4c;font-weight:700}.hamburger{display:none;background:none;border:0;font-size:25px;color:#293b37}.intro{max-width:1180px;padding:100px 30px 80px;margin:auto}.intro-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:75px;align-items:center}.smallcaps,.num,.work-label{font:11px 'DM Mono',monospace;letter-spacing:1.8px;color:var(--green)}.indicator{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6db48b;margin-right:9px}.hello{color:#86928b;font-size:17px;margin:50px 0 0}h1{font-size:clamp(68px,9vw,123px);margin:0;line-height:1.2;letter-spacing:-8px;font-weight:700}.hero-title{font-size:21px;font-weight:700;margin:14px 0 25px}.hero-title span{color:#b9babc;margin:0 7px}.bio{font-size:15px;line-height:2.1;color:#69747a;max-width:580px}.hero-btns{display:flex;gap:13px;margin-top:32px}.hero-btns a{display:flex;gap:35px;justify-content:space-between;padding:15px 19px;font-size:13px;font-weight:700;border:1px solid var(--green)}.hero-btns .primary{color:white;background:var(--green)}.hero-btns .secondary{color:var(--green)}.intro-side{display:flex;flex-direction:column;gap:20px}.monogram{height:322px;background:#e9e7df;border-radius:5px;position:relative;display:grid;place-items:center;overflow:hidden}.monogram:before,.monogram:after{content:"";position:absolute;border:1px solid #b7c5b6;width:320px;height:320px;border-radius:50%}.monogram:after{width:220px;height:220px}.monogram-main{font:700 100px 'DM Sans',sans-serif;letter-spacing:-14px;color:#305b4b;z-index:1}.monogram-main span{color:#9fba8d}.monogram>p{position:absolute;bottom:25px;margin:0;font:10px 'DM Mono',monospace;color:#87968a;letter-spacing:2px}.ornament{position:absolute;color:#8aab86;font-size:25px}.o1{top:30px;left:35px}.o2{bottom:25px;right:32px}.intro-facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule)}.intro-facts>div{padding:18px 13px;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:8px}.intro-facts>div:last-child{border:0}.intro-facts span{color:#929d9f;font-size:11px}.intro-facts strong{font-size:16px}.overview-band{background:#284939;color:white;display:flex;justify-content:center;gap:100px;padding:27px 30px}.overview-band>div{display:flex;flex-direction:column;gap:8px}.overview-band span{font:10px 'DM Mono',monospace;letter-spacing:1.6px;color:#bad1bc}.overview-band strong{font-size:13px;font-weight:500}.overview-band em{font-style:normal;color:#91ae98;margin:0 4px}.content-section{max-width:1180px;padding:98px 30px 22px;margin:0 auto}.section-head{margin-bottom:42px}.section-head h2{font-size:clamp(32px,4vw,49px);margin:13px 0;letter-spacing:-2px}.section-head p{color:#788481;font-size:14px;line-height:1.8}.skill-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.skill-cards article{background:#fff;border:1px solid var(--rule);padding:30px 31px;min-height:265px;display:flex;flex-direction:column;align-items:start}.skill-icon{font:13px 'DM Mono',monospace;color:#779587;border:1px solid #bdcec4;width:36px;height:36px;display:grid;place-items:center;border-radius:50%}.skill-cards h3{font-size:19px;margin:18px 0 6px}.skill-cards p{font-size:13px;line-height:1.95;color:#748079;margin:0 0 19px}.tags,.work-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.tags span,.work-tags span{padding:7px 10px;background:#edf2ed;color:#567b69;font-size:11px;border-radius:3px}.experience-section{padding-bottom:35px}.timeline{border-top:1px solid var(--rule)}.timeline article{display:grid;grid-template-columns:210px 1fr;gap:25px;padding:34px 0;border-bottom:1px solid var(--rule)}.when{font:12px 'DM Mono',monospace;color:#71847c;padding-top:8px}.job-head{display:flex;justify-content:space-between;gap:15px}.job-head h3{font-size:20px;margin:0 0 7px}.job-head span{font-size:13px;color:#6b8c7a}.job-type{height:max-content;border:1px solid #a6bdb0;padding:7px 9px;font:10px 'DM Mono',monospace;color:#426e57}.job ul{padding-left:18px;margin:20px 0 0}.job li{font-size:13px;line-height:2.1;color:#677477;padding-left:5px}.project-section{padding-bottom:55px}.work-list{display:grid;gap:20px}.work-card{background:#fff;border:1px solid var(--rule);padding:29px 32px}.work-identity{display:grid;grid-template-columns:62px 1fr 36px;gap:22px;align-items:start}.work-symbol{background:#e9f1e9;color:#4a7560;font:19px 'DM Mono',monospace;width:56px;height:56px;display:grid;place-items:center}.work-label{color:#829990}.work-identity h3{font-size:24px;letter-spacing:-.8px;margin:10px 0}.work-identity h3 span{font-size:15px;font-weight:500;color:#87908b;margin-left:8px}.work-identity p{color:#808c87;font-size:13px;line-height:1.8;margin:0}.external{border:1px solid var(--rule);width:34px;height:34px;display:grid;place-items:center;font-size:20px}.external:hover{color:var(--green);border-color:var(--green)}.work-tags{margin:23px 0 18px 84px}.work-highlights{margin-left:84px;display:flex;gap:14px}.work-highlights>div{border-top:1px solid var(--rule);padding-top:13px;min-width:145px;display:flex;flex-direction:column;gap:5px}.work-highlights strong{font:700 21px 'DM Sans',sans-serif;color:#315e4d}.work-highlights span{font-size:11px;color:#88938c}details{border-top:1px solid var(--rule);margin-top:23px}summary{cursor:pointer;list-style:none;padding-top:19px;color:var(--green);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:space-between}summary::-webkit-details-marker{display:none}summary span{font-size:20px}details[open] summary span{transform:rotate(45deg)}.details-body p{font-size:13px;color:#6c7774;line-height:2;margin:12px 0}.footnote{font-size:11px;color:#979b94;margin:17px 0}.education-section{padding-bottom:90px}.edu{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:25px 0}.edu h3{margin:0;font-size:21px}.edu p{color:#788580;font-size:13px}.edu>span{font:11px 'DM Mono',monospace;color:#8e9b96}.contact{background:#243d33;color:white;padding:70px max(30px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:30px}.contact .num{color:#b1cab0}.contact h2{font-size:clamp(30px,4vw,49px);margin:12px 0}.contact h2 span{color:#a8c6a7}.contact p{font-size:13px;color:#c3d3c9;line-height:1.8}.contact-actions{display:flex;flex-direction:column;gap:13px}.contact-actions a{border:1px solid #79998a;white-space:nowrap;padding:15px 20px;font-size:13px}footer{max-width:1180px;margin:auto;padding:30px;display:flex;justify-content:space-between;color:#859089;font-size:12px}footer a:hover{color:var(--green)}
@media(max-width:920px){.intro-wrap{grid-template-columns:1fr;gap:42px}.intro-side{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.monogram{height:250px}.intro-facts{display:flex;flex-direction:column}.intro-facts>div{flex:1;border-right:0;border-bottom:1px solid var(--rule)}.intro-facts>div:last-child{border:0}.overview-band{gap:45px}.contact{padding:60px 30px}}@media(max-width:650px){.header{height:70px;padding:0 20px}.hamburger{display:block}.links{display:none;position:absolute;z-index:10;top:70px;left:0;right:0;background:#f6f5f1;padding:14px 20px 22px;box-shadow:0 20px 30px #0001;flex-direction:column;align-items:stretch;gap:0}.links.open{display:flex}.links a{padding:14px 0}.links .nav-cta{padding:12px;margin-top:8px}.intro{padding:52px 20px 50px}.hello{margin-top:30px}h1{font-size:82px;letter-spacing:-5px}.hero-title{font-size:17px}.bio{font-size:13px}.hero-btns{flex-direction:column}.intro-side{grid-template-columns:1fr}.monogram{height:220px}.monogram:before{height:240px;width:240px}.monogram:after{height:170px;width:170px}.monogram-main{font-size:75px}.intro-facts{display:grid;grid-template-columns:repeat(3,1fr)}.intro-facts>div{border-bottom:0;border-right:1px solid var(--rule)}.overview-band{padding:23px 20px;flex-direction:column;gap:19px}.content-section{padding:65px 20px 15px}.section-head{margin-bottom:26px}.skill-cards{grid-template-columns:1fr}.skill-cards article{min-height:0;padding:24px}.timeline article{grid-template-columns:1fr;gap:10px}.work-card{padding:20px}.work-identity{grid-template-columns:42px 1fr 30px;gap:11px}.work-symbol{width:40px;height:40px;font-size:14px}.work-identity h3{font-size:20px}.work-identity h3 span{display:block;margin:6px 0 0}.work-tags,.work-highlights{margin-left:0}.work-highlights{flex-wrap:wrap}.work-highlights>div{min-width:120px}.edu{gap:10px}.edu>span{font-size:9px}.contact{padding:55px 20px;display:block}.contact-actions{margin-top:25px}.contact-actions a{white-space:normal}footer{padding:25px 20px;flex-direction:column;gap:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}