@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0}a{color:inherit}svg{flex:none;display:block}}@layer base{:root{color-scheme:light;--paper:#f7f7f2;--ink:#252c28;--muted:#5d655e;--green:#245b48;--line:#dce0d6;--soft:#ebeee5;background:var(--paper);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Arial,Helvetica,sans-serif;font-size:16px}html{scroll-behavior:smooth;scroll-padding-top:32px}body{min-width:320px}::selection{color:#173c30;background:#d9e5c9}:focus-visible{outline:2px solid var(--green);outline-offset:6px;border-radius:2px}a{text-underline-offset:.24em;text-decoration-thickness:1px}p{line-height:1.65}h1,h2,h3{font-weight:500}h1,h2{text-wrap:balance}a:hover{text-decoration-color:var(--green)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}}@layer layout{.site-shell{width:min(1104px,100% - 112px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);align-items:center;gap:44px;min-height:119px;display:flex}.identity{letter-spacing:-.8px;white-space:nowrap;font-size:23px;font-weight:600;text-decoration:none}.identity span{color:var(--green)}.main-nav{align-items:center;gap:29px;margin-left:auto;display:flex}.main-nav a{padding-block:12px;font-size:14px;text-decoration:none}.main-nav a:hover{color:var(--green);text-decoration:underline}.language-nav{align-items:center;gap:8px;font-size:12px;display:flex}.language-nav a{min-height:40px;color:var(--muted);align-items:center;padding:2px;text-decoration:none;display:flex}.language-nav span{color:#9ba298}.language-nav [aria-current]{color:var(--green);text-underline-offset:7px;text-decoration:underline 2px}.hero{padding-block:91px 77px}.eyebrow{color:var(--green);letter-spacing:1.4px;text-transform:uppercase;align-items:center;gap:13px;font-size:12px;font-weight:600;display:flex}.small-line{background:currentColor;width:29px;height:1px}.hero h1{letter-spacing:-3.7px;max-width:930px;margin-top:29px;font-size:clamp(48px,5.25vw,76px);line-height:1.07}.hero-intro{max-width:665px;color:var(--muted);letter-spacing:-.15px;margin-top:28px;font-size:20px;line-height:1.6}.hero-bottom{justify-content:space-between;align-items:flex-start;gap:30px;margin-top:38px;display:flex}.hero-actions{align-items:flex-start;gap:31px;display:flex}.download-group{flex-direction:column;align-items:flex-start;gap:13px;display:flex}.location{color:var(--muted);white-space:nowrap;padding-top:19px;font-size:13px}.location span{padding-inline:7px}.section{border-top:1px solid var(--line);grid-template-columns:300px 1fr;gap:74px;padding-block:58px 64px;display:grid}.section-label{color:var(--green);text-transform:uppercase;letter-spacing:1.25px;margin-bottom:23px;font-size:11px;font-weight:600}.section-heading h2{letter-spacing:-.85px;max-width:260px;font-size:29px;line-height:1.25}.section-intro{color:var(--muted);max-width:670px;margin-bottom:33px;font-size:16px}.section-content{min-width:0}.contact-section{border-top:1px solid var(--line);padding:68px 0 80px 374px}.contact-section h2{letter-spacing:-1.4px;margin-bottom:22px;font-size:43px;line-height:1.15}.contact-section>p:not(.section-label){color:var(--muted);max-width:615px}.site-footer{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:24px;padding-block:26px;font-size:12px;display:flex}.site-footer>span{color:var(--ink);font-weight:600}.site-footer>a{align-items:center;gap:8px;margin-left:auto;text-decoration:none;display:inline-flex}}@layer components{.skip-link{background:var(--green);color:#fff;z-index:5;padding:12px 18px;position:absolute;top:-100px;left:20px}.skip-link:focus{top:14px}.button{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:4px;justify-content:space-between;align-items:center;gap:42px;padding:14px 21px;font-size:14px;line-height:1.25;text-decoration:none;transition:background-color .15s;display:inline-flex}.button small{color:#e1ebe5;margin-top:3px;font-size:10px;font-weight:400;display:block}.button:hover{background:#193e31}.arrow.down{transform:rotate(90deg)}.arrow.out{transform:rotate(-45deg)}.text-link{color:var(--green);align-items:center;gap:13px;padding-block:8px;font-size:14px;text-decoration:none;display:inline-flex}.text-link:hover,.visual-link:hover,.site-footer a:hover{text-decoration:underline}.contact-action{margin-top:12px}.visual-link{color:var(--muted);align-items:center;gap:9px;padding-block:4px;font-size:12px;text-decoration:none;display:inline-flex}.visual-link .arrow{width:14px;height:14px}.contributions{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.contribution{border-top:2px solid var(--green);padding-top:17px}.contribution h3{letter-spacing:-.1px;margin-bottom:10px;font-size:15px;font-weight:600;line-height:1.4}.contribution p{color:var(--muted);font-size:13px;line-height:1.65}.timeline{list-style:none}.timeline>li{border-left:1px solid var(--line);padding:0 0 29px 27px;position:relative}.timeline>li:before{content:"";background:var(--paper);border:1px solid var(--green);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;left:-4px}.timeline>li:first-child:before{background:var(--green)}.timeline>li:last-child{border-left-color:#0000;padding-bottom:0}.experience-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.experience-heading h3{letter-spacing:-.3px;font-size:18px;font-weight:600}.period{color:var(--muted);flex:none;font-size:12px}.timeline .role{color:var(--green);margin-top:6px;margin-bottom:8px;font-size:13px}.timeline p{color:var(--muted);font-size:14px;line-height:1.65}.experience-note{border-top:1px solid var(--line);color:var(--muted);margin-top:27px;padding-top:22px;font-size:13px}.internship{background:var(--soft);border-radius:3px;margin-top:24px;padding:16px 18px}.internship h3{flex-wrap:wrap;gap:8px 18px;margin-bottom:7px;font-size:13px;font-weight:600;display:flex}.internship h3 span{color:var(--green);font-size:11px;font-weight:400}.internship p{color:var(--muted);font-size:12px}.case{border-top:1px solid var(--line);padding-block:26px 29px}.case:first-child{border-top:0;padding-top:0}.case:last-child{padding-bottom:0}.case-kicker{text-transform:uppercase;letter-spacing:1px;color:var(--green);margin-bottom:11px;font-size:10px}.case-kicker span{color:var(--muted);margin-right:14px;display:inline-block}.case h3{letter-spacing:-.4px;margin-bottom:13px;font-size:21px;line-height:1.3}.case>p:not(.case-kicker){color:var(--muted);font-size:14px}.case .case-outcome{border-left:2px solid #afc1ad;margin-top:15px;padding-left:14px;line-height:1.65;font-size:12px!important}.education-list{gap:23px;list-style:none;display:grid}.education-list h3{letter-spacing:-.15px;font-size:17px;line-height:1.4}.education-list p{color:var(--muted);margin-top:5px;font-size:13px}.knowledge{margin-top:27px}.knowledge h3{margin-bottom:7px;font-size:12px;font-weight:600}.knowledge p{color:var(--muted);font-size:13px}.languages ul{flex-wrap:wrap;gap:8px 24px;font-size:13px;list-style:none;display:flex}.languages span{color:var(--muted);margin-left:4px}.email-link{letter-spacing:-.6px;width:fit-content;color:var(--green);border-bottom:1px solid #afc1ad;align-items:center;gap:18px;max-width:100%;margin-top:29px;padding-bottom:9px;font-size:clamp(18px,2.15vw,28px);text-decoration:none;display:flex}.email-link:hover{border-color:var(--green)}.email-link .arrow{width:22px;height:22px}.linkedin-link{margin-top:17px;font-size:13px}.not-found{flex-direction:column;align-items:flex-start;gap:20px;min-height:90vh;padding-block:48px;display:flex}.not-found .eyebrow{margin-top:80px}.not-found h1{letter-spacing:-2px;font-size:clamp(38px,5vw,66px);line-height:1.1}.not-found>p:not(.eyebrow){max-width:510px;color:var(--muted)}.secondary-actions{gap:22px;padding-top:12px;display:flex}.experience-summary{color:var(--muted);gap:6px;font-size:14px;line-height:1.65;list-style:none;display:grid}.case h3 a{text-decoration:none}.case h3 a:hover{text-decoration:underline}.case-link{margin-top:13px}.other-project{border-top:1px solid var(--line);margin-top:36px;padding-top:25px}.other-project h3{text-transform:uppercase;letter-spacing:1px;color:var(--green);margin-bottom:13px;font-size:11px}.other-project p{color:var(--muted);margin-top:8px;font-size:13px}.other-project strong{color:var(--ink);font-weight:500}.publication-list{gap:26px;list-style:none;display:grid}.publication-list h3{font-size:16px;line-height:1.5}.publication-list a{text-decoration:none}.publication-list a:hover{text-decoration:underline}.publication-list .arrow{width:14px;height:14px;margin-left:8px;display:inline-block}.publication-list p{color:var(--muted);margin-top:7px;font-size:12px}.case-page{max-width:760px;margin-inline:auto;padding-block:35px 64px}.back-link{font-size:12px}.case-hero{padding-block:42px 35px}.case-hero h1{letter-spacing:-1.8px;margin-top:22px;font-size:clamp(36px,4.7vw,58px);line-height:1.12}.case-lead{color:var(--muted);margin-top:24px;font-size:19px}.case-body{border-top:1px solid var(--line)}.case-body section{padding-top:30px}.case-body h2{color:var(--green);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-size:12px;font-weight:600}.case-body p,.case-body li{font-size:16px;line-height:1.75}.case-body ul{gap:12px;padding-left:19px;display:grid}.case-body li::marker{color:var(--green)}.case-next{border-top:1px solid var(--line);margin-top:43px;padding-top:30px}.case-next .section-label{margin-bottom:14px}.case-next a{color:var(--green);align-items:center;gap:20px;font-size:18px;line-height:1.4;text-decoration:none;display:inline-flex}.case-next a:hover{text-decoration:underline}}@layer responsive{@media (width>=1500px){.hero{padding-block:108px 85px}}@media (width<=1050px){.site-shell{width:calc(100% - 80px)}.site-header{gap:27px}.main-nav{gap:21px}.section{grid-template-columns:230px 1fr;gap:45px}.contact-section{padding-left:275px}.contributions{grid-template-columns:1fr;gap:20px}.contribution{border-top:0;border-left:2px solid #afc1ad;padding:0 0 0 17px}.contribution h3{margin-bottom:5px}.experience-heading{flex-direction:column;align-items:flex-start;gap:5px}.hero h1{max-width:800px}.hero-actions{gap:24px}.secondary-actions{flex-direction:column;gap:0;padding-top:0}}@media (width<=760px){.site-shell{width:calc(100% - 48px)}.site-header{flex-wrap:wrap;gap:0;min-height:124px;padding-top:24px;padding-bottom:14px}.identity{font-size:22px}.language-nav{margin-left:auto}.main-nav{order:3;justify-content:space-between;gap:10px;width:100%;margin-top:14px}.main-nav a{padding-block:9px;font-size:12px}.hero{padding-block:55px 48px}.eyebrow{letter-spacing:.9px;gap:9px;font-size:9px}.small-line{width:18px}.hero h1{letter-spacing:-2px;margin-top:24px;font-size:clamp(42px,8vw,59px);line-height:1.1}.hero-intro{margin-top:24px;font-size:17px;line-height:1.65}.hero-bottom{margin-top:27px;display:block}.hero-actions{gap:24px}.button{gap:31px;padding:13px 18px}.location{padding-top:28px;font-size:12px}.section{padding-block:40px 44px;display:block}.section-label{margin-bottom:17px;font-size:10px}.section-heading h2{max-width:380px;margin-bottom:26px;font-size:28px}.section-intro{margin-bottom:27px;font-size:15px}.contributions{gap:23px}.contribution h3{font-size:15px}.contribution p{font-size:14px}.timeline>li{padding-bottom:26px;padding-left:22px}.experience-heading{flex-direction:row}.experience-heading h3{font-size:17px}.period{font-size:11px}.contact-section{padding:44px 0 49px}.contact-section h2{font-size:35px}.contact-section>p:not(.section-label){font-size:15px}.email-link{letter-spacing:-.5px;gap:12px;font-size:21px}.site-footer{flex-wrap:wrap;gap:12px 20px;padding-block:22px;font-size:11px}.site-footer p{order:3;width:100%}.site-footer>a{font-size:11px}.case-page{padding-block:24px 44px}.case-hero{padding-block:30px}.case-hero .eyebrow{line-height:1.65}.case-lead{font-size:17px}}@media (width<=400px){.hero h1{letter-spacing:-1.8px;font-size:40px}.hero-actions{gap:17px}.button{gap:25px;padding-inline:15px;font-size:13px}.contact-action{gap:8px;font-size:13px}.experience-heading{flex-direction:column}.email-link{font-size:19px}}@media print{.site-shell{width:100%}.main-nav,.language-nav,.hero-actions,.site-footer{display:none}.hero{padding-block:25px}.hero h1{font-size:36px}.section{padding-block:20px;display:block}.section-heading h2{max-width:none;margin-bottom:18px}.contact-section{padding:20px 0}.timeline li,.case,.contribution{break-inside:avoid}}}
