@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750;800&family=Caveat:wght@400&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#080909;background:#0a0b0b;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #527eed;outline-offset:6px}.skip{position:fixed;top:-60px;left:20px;z-index:20;padding:12px;background:white}.skip:focus{top:12px}.hero{height: min(750px,53.3vw);min-height:640px;background:#edf0f1;position:relative;isolation:isolate;overflow:hidden;border-radius:0 0 32px 32px}.hero:before,.hero:after{content:'';position:absolute;border-radius:50%;z-index:-1;pointer-events:none}.hero:before{width:680px;height:880px;left:-350px;top:245px;border:1px solid #fff6;background:#ffffff39;transform:rotate(-28deg)}.hero:after{height:380px;width:380px;left:-80px;bottom:-255px;background:#dce0e565}.frame{position:absolute;inset:16px 20px 0;border:1px solid #808587;border-bottom:0;border-radius:8px 8px 0 0;pointer-events:none;z-index:5}header{position:relative;display:flex;align-items:center;gap:40px;padding:30px 3.3%;z-index:8}.logo{font-size:42px;line-height:1;font-weight:800;letter-spacing:-3px;white-space:nowrap}.logo sup{font-size:17px;vertical-align:top;line-height:1.3;letter-spacing:0;margin-left:4px}header nav{display:flex;flex:1;align-items:center;justify-content:space-around;gap:30px;margin:0 1% 0 5%}header nav a{font-size:14px;text-transform:uppercase;position:relative}header nav a:nth-child(3){margin-left:30%}header nav a:after{content:'';position:absolute;height:1px;background:currentColor;bottom:-7px;left:0;right:100%;transition:right .2s}header nav a:hover:after{right:0}.pill{display:inline-flex;align-items:center;justify-content:space-between;background:#050606;color:white;border-radius:50px;font-size:14px;gap:30px;transition:transform .2s,background .2s}.pill:hover{transform:translateY(-3px);background:#242626}.connect{padding:14px 22px 14px 28px;min-width:184px}.connect>span{font-size:23px;line-height:18px}.specialties{position:absolute;left:6.2%;top:21%;z-index:4;font-size:21px;letter-spacing:-.65px}.specialties p{margin:0 0 4px}.specialties p span{font-variant-numeric:tabular-nums}.projects-link{margin:24px 0 0 68px;padding:5px 5px 5px 23px;gap:27px;letter-spacing:0}.arrow-disc{height:35px;width:35px;display:grid;place-items:center;background:#f7f8f8;border-radius:50%;color:#080909;font-size:24px}.hero-statement{position:absolute;left:3.3%;top:55%;z-index:4}.hero-statement h1{font-size:clamp(36px,3.55vw,54px);line-height:.99;letter-spacing:-2.8px;margin:0;font-weight:750}.hero-statement p{font-size:21px;line-height:1.3;color:#5b5e60;margin:18px 0 0;letter-spacing:-.5px}.portrait-wrap{position:absolute;height:95%;width:48%;bottom:0;left:27%;z-index:2;pointer-events:none}.portrait{height:100%;width:100%;object-fit:contain;object-position:center bottom}.name{position:absolute;left:62.2%;top:33%;z-index:4}.name h2{font-size:clamp(40px,4vw,61px);line-height:.93;letter-spacing:-2.6px;margin:0;font-weight:800}.name p{font-size:12px;letter-spacing:-.35px;margin-top:14px;white-space:nowrap}.name p span{padding:0 5px}.stats{position:absolute;left:81%;right:3.3%;top:20.5%;display:grid;gap:20px;z-index:4}.stat{display:block;background:#ffffffeb;padding:17px 20px 24px;border-radius:25px;box-shadow:0 8px 26px #303c4405;transition:transform .2s}.stat:hover{transform:translateY(-4px)}.stat strong{font-size:60px;font-weight:750;line-height:1;letter-spacing:-3px}.stat h3{margin:3px 0 12px;font-size:19px;line-height:1.1;letter-spacing:-.8px;font-weight:600}.stat p{font-size:15px;line-height:1.36;color:#585b5e;letter-spacing:-.4px;margin:0}.micro{position:absolute;bottom:28px;left:3.9%;font-size:11px;letter-spacing:4px;color:#83898b;line-height:1.8}.micro i{position:absolute;width:42px;height:1px;background:#747a7c;left:82px;top:25px}.signature{position:absolute;bottom:40px;left:74.5%;font-family:'Caveat',cursive;font-size:25px;line-height:.9;color:#888d8e;transform:rotate(-15deg);z-index:4}.signature span{display:block;margin:12px 0 0 42px;width:58px;height:1px;background:#737779;transform:rotate(-9deg)}.scroll{position:absolute;bottom:48px;right:4%;display:flex;align-items:center;gap:14px;font-size:13px;z-index:5}.scroll>span{border:1px solid #131414;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;font-size:25px}.section{padding:42px 3.4% 76px;color:#f8f9f9;scroll-margin-top:25px}.eyebrow{font-size:13px;text-transform:uppercase;margin:0;font-weight:500}.about{min-height:360px;background:radial-gradient(ellipse at 50% 100%,#121414,transparent 70%)}.about h2{text-align:center;font-size:clamp(42px,4.7vw,70px);line-height:.97;letter-spacing:-2.8px;font-weight:650;margin:22px 0 36px}.skills{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}.skills>span{display:flex;align-items:center;gap:12px;font-size:14px;border:1px solid #303232;border-radius:17px;padding:10px 17px;background:#ffffff02}.skills b{font-size:26px;line-height:1;font-weight:700}.python{color:#e2b94b;text-shadow:-2px -2px #3e85b5}.sql{color:#27a5ec}.ml{color:#b193e9}.nlp,.data{color:#5483df}.cv{color:#48be5e;text-shadow:3px -3px #ef384f,-3px 2px #255eff}.cpp{color:#439ce0}.excel{color:#139358}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:30px}.section-heading h2{font-weight:500;font-size:clamp(36px,4vw,58px);letter-spacing:-2px;margin:0}.experience,.projects{border-top:1px solid #292c2c;padding-top:62px;padding-bottom:72px}.experience-content{margin:40px 0 0 42%;}.intro{color:#a6aaaa;max-width:530px;font-size:21px;line-height:1.5}.companies{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.companies span{padding:12px 20px;border:1px solid #414545;border-radius:50px;font-size:16px}.caption{color:#9b9f9f;font-size:14px;margin-top:24px}.research-list{margin-top:45px}.research-list details{border-top:1px solid #363939}.research-list details:last-child{border-bottom:1px solid #363939}summary{list-style:none;display:flex;align-items:center;padding:30px 0;gap:36px;cursor:pointer}summary::-webkit-details-marker{display:none}.project-index{font-size:14px;color:#8f9797}summary small{font-size:12px;letter-spacing:1.5px;color:#9ba0a0}summary h3{font-size:clamp(24px,2.7vw,38px);font-weight:500;letter-spacing:-1px;margin:9px 0 0}.expand{margin-left:auto;border:1px solid #4b5050;border-radius:50%;width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;font-size:25px;transition:transform .2s}details[open] .expand{transform:rotate(45deg)}details>p{color:#b0b5b5;line-height:1.6;margin:0 70px 30px;max-width:600px;font-size:17px}.contact{background:#edf0f1;color:#080909;border-radius:30px 30px 0 0;padding-top:52px;padding-bottom:25px}.contact h2{font-size:clamp(52px,7.7vw,112px);letter-spacing:-5px;font-weight:550;line-height:.95;margin:45px 0 24px}.contact h2 span{color:#7b8487}.contact>p:not(.eyebrow){color:#535c60;font-size:18px}.contact-links{display:flex;gap:15px;margin-top:25px}.contact-links:empty{display:none}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:70px;padding-top:26px;border-top:1px solid #bdc4c6}footer p,footer>a:last-child{font-size:13px;color:#424a4e}.menu-toggle,.mobile-nav{display:none}
@media(min-width:1600px){.hero{height:800px}.portrait-wrap{left:28%;width:47%}.hero-statement h1{font-size:64px}.name h2{font-size:66px}.specialties{font-size:24px}.stat{padding:24px}.stat p{font-size:17px}}
@media(max-width:1200px) and (min-width:1101px){header{gap:20px}header nav{margin-left:2%;gap:20px}header nav a:nth-child(3){margin-left:14%}.connect{min-width:150px;padding:13px 18px;gap:15px}.specialties{font-size:18px;left:5%}.stats{left:81%;right:3%;gap:15px}.stat{padding:17px 14px;border-radius:22px}.stat h3{font-size:17px}.stat p{font-size:13px}.stat strong{font-size:50px}.hero-statement h1{font-size:40px;letter-spacing:-2px}.hero-statement p{font-size:18px}.name{left:62%;top:36%}.name h2{font-size:43px}.name p{font-size:10px;white-space:normal;max-width:180px}.portrait-wrap{left:26%;width:49%;height:89%}.signature{left:72%;font-size:22px}.scroll{font-size:11px;gap:8px}.scroll>span{width:34px;height:34px}.skills{gap:10px}.skills>span{padding:10px 12px}}
@media(max-width:1100px){.hero{height:auto;min-height:0;display:grid;grid-template-columns:1fr 1fr;padding:0 24px 30px;gap:0 18px;border-radius:0 0 25px 25px}.frame{inset:10px 10px 0}.hero:before{top:250px}.hero:after{bottom:100px}header{grid-column:1/-1;padding:26px 0 30px;justify-content:space-between;gap:16px}.logo{font-size:35px}header nav{display:none}.connect{margin-left:auto;min-width:0;padding:11px 17px;font-size:12px;gap:18px}.menu-toggle{display:flex;flex-direction:column;gap:6px;justify-content:center;background:transparent;border:0;padding:10px 2px;width:26px;height:36px}.menu-toggle span{display:block;height:1px;width:22px;background:#080909}.mobile-nav:not([hidden]){display:flex;position:absolute;top:85px;left:20px;right:20px;flex-direction:column;background:#fff;border:1px solid #ccc;border-radius:16px;padding:12px;z-index:10;box-shadow:0 20px 30px #0001}.mobile-nav a{padding:13px 16px}.hero-statement{position:relative;grid-column:1/-1;left:auto;top:auto;margin:16px 0 0;z-index:4}.hero-statement h1{font-size:clamp(40px,7.3vw,60px);letter-spacing:-2.2px}.hero-statement p{font-size:17px;margin-top:15px}.portrait-wrap{position:relative;left:auto;bottom:auto;grid-column:1/-1;width:100%;height:460px;margin-top:10px;grid-row:3;align-self:end}.portrait{width:100%;height:100%;object-fit:contain}.name{position:absolute;left:56%;top:350px}.name h2{font-size:clamp(32px,6vw,46px);letter-spacing:-1.8px;text-shadow:0 1px 5px #edf0f1}.name p{font-size:11px;white-space:normal;max-width:150px}.specialties{position:relative;left:auto;top:auto;grid-column:1/-1;font-size:17px;padding:25px 0;display:grid;grid-template-columns:1fr auto;align-items:center;border-top:1px solid #bac1c3;z-index:4}.specialties p{grid-column:1;font-size:16px}.projects-link{grid-column:2;grid-row:1/4;margin:0;gap:14px;padding-left:17px;font-size:12px}.stats{position:relative;left:auto;right:auto;top:auto;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat{padding:20px 17px;border-radius:22px}.stat strong{font-size:48px}.stat h3{font-size:18px}.stat p{font-size:14px}.micro,.signature{display:none}.scroll{position:relative;bottom:auto;right:auto;grid-column:1/-1;justify-self:end;margin-top:24px;font-size:12px}.scroll>span{width:33px;height:33px;font-size:22px}.section{padding:34px 24px 48px}.about h2{font-size:44px;letter-spacing:-2px;margin:36px 0 30px}.skills{gap:10px}.skills>span{font-size:12px;padding:10px 12px;border-radius:13px;gap:8px}.skills b{font-size:22px}.section-heading{display:block}.section-heading h2{margin-top:25px;letter-spacing:-1.7px}.experience-content{margin:24px 0 0}.intro{font-size:18px}.companies span{font-size:14px;padding:10px 15px}.research-list{margin-top:30px}summary{gap:18px;padding:25px 0}summary h3{font-size:25px;letter-spacing:-.8px}summary small{font-size:10px}.expand{height:35px;width:35px}details>p{margin:0 15px 25px 35px;font-size:16px}.contact h2{letter-spacing:-2.5px;font-size:58px}.contact>p:not(.eyebrow){font-size:16px}footer{flex-wrap:wrap;margin-top:50px}footer p{order:3;flex-basis:100%;margin:0;font-size:12px}}
@media(max-width:400px){.hero{padding-left:22px;padding-right:22px}.hero-statement h1{font-size:37px}.portrait-wrap{height:400px}.name{top:365px;left:57%}.name h2{font-size:30px}.specialties{display:block}.projects-link{margin-top:17px}.stat{padding:17px 14px}.stat h3{font-size:16px}.stat p{font-size:13px}.about h2{font-size:38px}.contact h2{font-size:48px}}
.portrait{clip-path:polygon(49% 12%,55% 12.2%,61% 14%,65% 17%,68% 21%,70% 26%,70.5% 32%,71% 39%,72% 45%,77% 50%,82% 53%,87% 54%,90% 56%,91.5% 62%,93% 74%,94% 86%,95% 100%,8% 100%,8.5% 86%,9% 76%,10.5% 65%,11.5% 59%,13.5% 55%,18% 53%,23% 52%,27% 48%,28% 42%,29% 34%,30% 29%,32% 24%,35% 19%,39% 15.5%,44% 13%);position:absolute;bottom:-27%;height:auto;width:100%;object-fit:contain;transform:scale(1.1);transform-origin:50% 100%}.portrait-wrap{width:45%;left:28.5%;height:89%}
@media(max-width:1100px){.portrait-wrap{width:100%;left:auto;height:450px;max-width:430px;justify-self:center}.portrait{position:relative;bottom:auto;height:100%;width:auto;max-width:100%;margin:auto;display:block;object-fit:contain;transform:scale(.98)}.name{position:relative;left:auto;top:auto;grid-column:1/-1;grid-row:3;align-self:start;margin-top:25px;z-index:4}.name h2{font-size:30px}.name p{max-width:130px}.portrait-wrap{z-index:2}}
@media(max-width:400px){.portrait-wrap{height:400px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}



@media(max-width:1100px){.hero-statement{grid-row:2}.specialties{grid-row:4}.stats{grid-row:5}.scroll{grid-row:6}.name{max-width:120px}.name h2{font-size:28px}.name p{font-size:10px}}

/* Selected work — a monochrome sticky stack adapted to the portfolio theme. */
.projects{padding-top:82px;padding-bottom:120px;background:#0a0b0b}.work-intro{display:grid;grid-template-columns:minmax(150px,.55fr) 1.45fr;gap:40px;align-items:start;margin-bottom:64px}.work-intro h2{font-size:clamp(42px,5.4vw,78px);line-height:.96;letter-spacing:-3.5px;font-weight:550;margin:0}.work-intro>div>p{max-width:610px;color:#9da3a3;font-size:18px;line-height:1.55;margin:22px 0 0}.work-stack{max-width:1180px;margin:0 auto;display:grid;gap:30px}.work-card{position:sticky;top:calc(26px + (var(--card-index) * 24px));z-index:calc(2 + var(--card-index));display:grid;grid-template-columns:43% 57%;min-height:390px;color:#0b0c0c;background:#f1f3f3;border:1px solid #343838;border-radius:26px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.38);transform:translateY(54px) scale(.98);opacity:0;transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1),box-shadow .3s}.work-card.visible{transform:none;opacity:1}.work-card:hover{transform:translateY(-5px) scale(1.005);box-shadow:0 32px 90px rgba(0,0,0,.5)}.work-visual{position:relative;min-height:390px;overflow:hidden;color:#f6f8f8;padding:30px;display:flex;flex-direction:column;justify-content:flex-end}.work-visual:after{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.13);border-radius:22px 0 0 22px;pointer-events:none}.work-visual-wsn{background:radial-gradient(circle at 25% 22%,#557582 0 2%,transparent 3%),radial-gradient(circle at 70% 32%,#557582 0 2%,transparent 3%),radial-gradient(circle at 45% 68%,#557582 0 2%,transparent 3%),linear-gradient(145deg,#15262c,#070909 70%)}.work-visual-epi{background:radial-gradient(circle at 22% 25%,rgba(238,240,240,.18),transparent 28%),linear-gradient(145deg,#414849,#101313 75%)}.visual-number{position:absolute;top:28px;left:30px;font-size:13px;letter-spacing:2px;color:#b9c5c8}.work-visual>p{position:relative;z-index:2;font-size:clamp(31px,3.2vw,49px);line-height:.97;letter-spacing:-2px;font-weight:550;margin:0}.signal{position:absolute;inset:21% 10% 28%;display:flex;align-items:center;gap:9%}.signal:before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#a6c0c7;opacity:.46}.signal i{position:relative;width:11px;height:11px;border-radius:50%;border:2px solid #d4e0e3;background:#22383f;box-shadow:0 0 0 9px rgba(156,190,199,.1);animation:pulse 2.4s ease-in-out infinite}.signal i:nth-child(2){margin-top:-42px;animation-delay:.25s}.signal i:nth-child(3){margin-top:35px;animation-delay:.5s}.signal i:nth-child(4){margin-top:-18px;animation-delay:.75s}.signal i:nth-child(5){margin-top:22px;animation-delay:1s}.model-grid{position:absolute;inset:20% 12% 26%;display:grid;grid-template-columns:repeat(3,1fr);gap:11px;transform:rotate(-8deg)}.model-grid i{border:1px solid rgba(231,235,235,.35);background:rgba(255,255,255,.04);border-radius:50%;aspect-ratio:1;animation:modelPulse 3.2s ease-in-out infinite}.model-grid i:nth-child(2n){animation-delay:.4s}.model-grid i:nth-child(3n){animation-delay:.8s}.work-copy{padding:clamp(32px,4vw,60px);display:flex;flex-direction:column;justify-content:center}.work-type{text-transform:uppercase;letter-spacing:2.3px;font-size:12px;color:#687174;margin:0 0 13px}.work-copy h3{font-size:clamp(29px,3vw,45px);line-height:1.04;letter-spacing:-2px;font-weight:600;margin:0 0 20px;max-width:670px}.work-copy>p:not(.work-type){font-size:17px;line-height:1.58;color:#555e61;max-width:620px;margin:0}.work-copy ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:25px 0}.work-copy li{border:1px solid #cbd0d1;border-radius:50px;padding:7px 12px;font-size:12px;color:#4a5356;background:#e7eaea}.work-cta{display:flex;align-items:center;gap:10px;margin-top:auto;font-size:14px;font-weight:600}.work-cta b{font-size:19px;transition:transform .2s}.work-card:hover .work-cta b{transform:translate(3px,-3px)}.reveal{transition-delay:calc(var(--card-index,0) * 110ms)}.work-intro.reveal{transform:translateY(25px);opacity:0;transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}.work-intro.reveal.visible{transform:none;opacity:1}@keyframes pulse{50%{transform:scale(1.25);box-shadow:0 0 0 14px rgba(156,190,199,.03)}}@keyframes modelPulse{50%{background:rgba(255,255,255,.14);transform:scale(.88)}}
@media(max-width:760px){.projects{padding-top:58px;padding-bottom:80px}.work-intro{display:block;margin-bottom:40px}.work-intro h2{font-size:42px;letter-spacing:-2.2px;margin-top:27px}.work-intro>div>p{font-size:16px}.work-stack{gap:22px}.work-card{position:relative;top:auto;display:block;min-height:0;border-radius:22px}.work-visual{min-height:275px;padding:24px}.work-copy{padding:29px 24px 32px;min-height:330px}.work-copy h3{font-size:29px;letter-spacing:-1.2px}.work-copy>p:not(.work-type){font-size:16px}.work-cta{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.signal i,.model-grid i{animation:none}.reveal,.work-card{opacity:1;transform:none}}
