:root{--ink:#17211f;--cream:#f5f2eb;--lime:#dcf05e;--muted:#69716c;--line:rgba(23,33,31,.18);--serif:'Playfair Display',serif;--sans:Manrope,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px;overflow-x:hidden}.cursor-glow{position:fixed;width:420px;height:420px;left:-160px;top:15%;background:radial-gradient(circle,rgba(220,240,94,.14),transparent 65%);z-index:-1;pointer-events:none}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5.8vw;position:absolute;top:0;width:100%;z-index:10}.brand{font:700 26px var(--serif);letter-spacing:-1px;color:var(--ink);text-decoration:none}.brand span{color:#77910e}nav{display:flex;gap:30px;margin-left:100px}nav a,.text-link,.nav-cv{color:var(--ink);text-decoration:none;font-weight:700;font-size:12px}.nav-cv{border:1px solid var(--ink);border-radius:99px;padding:11px 16px}.nav-cv span{margin-left:7px}.menu-toggle{display:none}.hero{min-height:720px;height:100vh;max-height:850px;padding:142px 5.8vw 55px;display:grid;grid-template-columns:1.08fr .92fr;position:relative;overflow:hidden}.hero-copy{align-self:center;max-width:680px}.eyebrow,.section-index,.kicker,.mono{font:500 10px var(--mono);letter-spacing:1.15px;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:8px}.eyebrow span{height:7px;width:7px;background:#a6bd1d;border-radius:50%}.hero h1,.display{font:600 clamp(43px,5.4vw,78px)/.99 var(--serif);letter-spacing:-3.5px;margin:20px 0 27px}.hero h1 em,.display em,.contact h2 em{font-weight:600;color:#80970f}.lede{font-size:15px;line-height:1.75;max-width:440px;color:#52605a}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:34px}.button{padding:14px 20px;border-radius:4px;text-decoration:none;font-size:12px;font-weight:800}.primary{background:var(--ink);color:white}.primary b,.text-link b{font-size:17px;margin-left:9px}.text-link{border-bottom:1px solid var(--ink);padding:7px 0}.portrait-zone{position:relative;min-height:520px}.portrait-card{position:absolute;right:8%;top:10px;width:min(30vw,390px);height:min(38vw,500px);background:#d9d5bd;padding:11px;transform:rotate(2deg);z-index:2}.portrait-card img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.82) contrast(1.04)}.portrait-label{position:absolute;bottom:-16px;left:-35px;background:var(--lime);padding:11px 16px;display:flex;gap:17px;font:500 9px var(--mono);letter-spacing:1px;text-transform:uppercase}.orb{position:absolute;border-radius:50%;z-index:1}.orb-one{width:320px;height:320px;background:var(--lime);right:-50px;top:-38px}.orb-two{width:170px;height:170px;border:1px solid #9bab6d;right:55%;bottom:35px}.floating-note{position:absolute;z-index:3;font:500 10px/1.55 var(--mono);letter-spacing:1.3px}.note-top{right:0;top:78px}.note-top i{font:600 17px var(--serif);letter-spacing:0;color:#80970f}.note-bottom{bottom:44px;left:2%;display:flex;gap:10px;align-items:center}.note-bottom b{font:600 42px var(--serif);letter-spacing:-2px}.note-bottom span{font-size:9px;text-transform:uppercase}.hero-bottom{position:absolute;left:5.8vw;right:5.8vw;bottom:31px;display:flex;align-items:center;gap:13px;color:var(--muted);font:500 9px var(--mono);letter-spacing:.5px;text-transform:uppercase}.scroll-line{height:1px;background:var(--line);flex:1}.hero-bottom .mono{color:var(--ink)}.marquee{background:var(--lime);padding:18px 0;overflow:hidden;white-space:nowrap}.marquee-track{display:flex;align-items:center;width:max-content;gap:25px;animation:move 24s linear infinite;font:600 16px var(--serif);letter-spacing:.3px}.marquee-track b{font-size:13px}@keyframes move{to{transform:translateX(-33.33%)}}.section{padding:120px 9vw}.section-index{margin:0 0 40px}.section-index span{color:var(--muted)}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:11vw}.about .display{margin:0}.about-text{max-width:440px;padding-top:6px}.about-text p{font-size:16px;line-height:1.85;margin:0 0 17px;color:#394640}.arrow-link{display:inline-block;margin-top:20px;text-decoration:none;color:var(--ink);font-weight:800;border-bottom:1px solid;padding-bottom:5px}.arrow-link b{margin-left:16px}.stat-row{margin-top:85px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.stat-row>div{padding:24px 0 0 0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.stat-row>div:not(:first-child){padding-left:27px}.stat-row b{font:600 35px var(--serif);letter-spacing:-2px}.stat-row span{font-size:11px;line-height:1.5;color:var(--muted)}.dark{background:var(--ink);color:#f4f3ed}.research{padding-left:9vw;padding-right:9vw}.dark .section-index span{color:#a8b2ac}.section-heading{position:relative}.research .display{margin:0}.intro{position:absolute;right:0;bottom:7px;max-width:260px;color:#bac2bd;line-height:1.7}.research-slider{margin-top:70px;overflow:hidden}.project-feature{min-width:100%;display:none;border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28);padding:18px 0 36px}.project-feature.active{display:block;animation:fade .4s ease}.project-meta{display:flex;justify-content:space-between;font:500 9px var(--mono);letter-spacing:1px;text-transform:uppercase;color:#a8b2ac}.project-body{display:flex;justify-content:space-between;align-items:end;padding:64px 4vw 0 7vw}.project-body h3{font:600 clamp(29px,4vw,56px)/1.05 var(--serif);letter-spacing:-2px;margin:11px 0 16px}.project-body>div:first-child>p:not(.kicker){max-width:470px;color:#c2cac5;line-height:1.7}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:27px}.tags span{font:500 9px var(--mono);border:1px solid #66736c;padding:7px 8px;color:#dae1dc}.project-result{display:grid;grid-template-columns:auto auto;column-gap:12px;align-items:center}.project-result b{grid-row:span 2;font:600 70px/.9 var(--serif);letter-spacing:-4px;color:var(--lime)}.project-result span{font:500 10px/1.4 var(--mono);letter-spacing:1px;text-transform:uppercase}.project-result small{font:500 9px var(--mono);color:#a8b2ac}.slider-controls{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-top:23px}.slider-controls button{border:1px solid #647068;background:transparent;color:white;width:34px;height:34px;border-radius:50%;cursor:pointer}.slide-count{font:500 10px var(--mono);letter-spacing:1px}.slide-count i{font-style:normal;color:#89958e}.experience-head,.skills-title{display:flex;justify-content:space-between;align-items:end}.experience-head h2,.skills-title h2{margin:0}.experience-head>p,.skills-title>p{max-width:350px;line-height:1.75;color:var(--muted)}.timeline{margin-top:74px;border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:.75fr 1.3fr 1.45fr 30px;gap:20px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}.time{font:500 9px var(--mono);letter-spacing:.5px;color:#6b756f}.timeline h3{margin:0;font:600 21px var(--serif);letter-spacing:-.6px}.company{margin:4px 0 0;color:#71800c;font-size:11px;font-weight:700}.company small{color:var(--muted);font-weight:500}.timeline-item>p{margin:0;color:#57615b;font-size:12px;line-height:1.7}.number{font:500 10px var(--mono)}.skills{background:#e9e7df}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:73px;border-top:1px solid var(--line)}.skill-grid article{min-height:210px;padding:20px 20px 10px;border-right:1px solid var(--line)}.skill-grid article:first-child{padding-left:0}.skill-grid article:last-child{border:0}.skill-grid span{font:500 9px var(--mono);color:#7a890c}.skill-grid h3{font:600 22px var(--serif);letter-spacing:-.8px;margin:49px 0 8px}.skill-grid p{font-size:11px;line-height:1.8;color:var(--muted)}.edu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.education .display{margin:0}.education-card{border:1px solid var(--ink);margin-top:43px;padding:26px 28px;max-width:430px}.education-card h3{font:600 25px/1.15 var(--serif);letter-spacing:-1px;margin:17px 0}.education-card p{line-height:1.7;color:var(--muted);font-size:12px}.education-card b{display:block;margin-top:25px;color:#71800c;font-size:12px}.leadership{padding-top:76px}.leadership>article{border-top:1px solid var(--line);padding:20px 0}.leadership article:last-child{border-bottom:1px solid var(--line)}.leadership article span{font:500 9px var(--mono);letter-spacing:.7px;color:#7b890c}.leadership h3{font:600 23px var(--serif);letter-spacing:-.8px;margin:7px 0 2px}.leadership p:not(.kicker){margin:0;color:var(--muted);font-size:12px}.certs{padding-top:50px}.certs-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.certs .display{margin:0}.certs ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.certs li{padding:17px 0;border-bottom:1px solid var(--line);font:600 14px var(--serif);display:flex;gap:20px}.certs li span{min-width:66px;font:500 9px var(--mono);letter-spacing:.5px;color:#79870e;padding-top:3px}.contact{background:var(--lime);padding:100px 9vw 32px}.contact-inner{max-width:1000px;margin:auto}.contact h2{font:600 clamp(43px,6.2vw,85px)/.98 var(--serif);letter-spacing:-4px;margin:25px 0 35px}.contact h2 em{color:var(--ink)}.contact-email{font:600 clamp(19px,2.7vw,37px) var(--serif);letter-spacing:-1px;color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(23,33,31,.45);padding-bottom:7px}.contact-email b{font-family:var(--sans);font-size:.8em;margin-left:12px}.contact-footer{display:flex;justify-content:space-between;border-top:1px solid rgba(23,33,31,.35);margin-top:110px;padding-top:19px;font:500 9px var(--mono);letter-spacing:.8px;text-transform:uppercase}.contact-footer a{color:var(--ink)}.reveal{opacity:0;transform:translateY(17px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.13s}@keyframes fade{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
@media(max-width:760px){.nav-wrap{height:66px;padding:0 6vw;position:absolute}.nav-cv{display:none}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:transparent}.menu-toggle i{width:24px;height:1px;background:var(--ink)}nav{display:none;position:absolute;top:65px;left:0;width:100%;background:var(--cream);margin:0;padding:17px 6vw;flex-direction:column;gap:16px;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{height:auto;min-height:780px;padding:105px 6vw 55px;display:block}.hero h1{font-size:48px;letter-spacing:-2.5px}.hero-copy{max-width:100%}.portrait-zone{min-height:395px;margin-top:28px}.portrait-card{width:245px;height:330px;right:5%;top:18px}.orb-one{width:220px;height:220px;right:-30px}.orb-two{width:120px;height:120px;right:57%;bottom:30px}.note-top{top:6px;left:0;right:auto}.note-bottom{bottom:8px}.hero-bottom{display:none}.marquee{padding:13px 0}.section{padding:75px 6vw}.about-grid,.edu-grid,.certs-layout{grid-template-columns:1fr;gap:28px}.display{font-size:43px;letter-spacing:-2.3px}.about-text{font-size:14px}.stat-row{margin-top:54px}.stat-row>div:not(:first-child){padding-left:10px}.stat-row b{font-size:27px}.stat-row span{font-size:9px}.research{padding-left:6vw;padding-right:6vw}.intro{position:static;margin-top:20px}.research-slider{margin-top:46px}.project-body{display:block;padding:35px 0 0}.project-body h3{font-size:31px;letter-spacing:-1.5px}.project-result{margin-top:37px}.project-result b{font-size:55px}.experience-head,.skills-title{display:block}.experience-head>p,.skills-title>p{margin-top:18px}.timeline{margin-top:42px}.timeline-item{grid-template-columns:1fr 20px;gap:10px;padding:22px 0}.timeline-item>div:nth-child(2){grid-column:1}.timeline-item>p{grid-column:1}.number{grid-column:2;grid-row:1}.skill-grid{grid-template-columns:1fr 1fr;margin-top:44px}.skill-grid article{min-height:180px;padding:15px 12px!important;border-bottom:1px solid var(--line)}.skill-grid article:nth-child(2){border-right:0}.skill-grid h3{margin-top:30px;font-size:18px}.education-card{margin-top:30px}.leadership{padding-top:18px}.certs{padding-top:20px}.certs li{font-size:13px;gap:10px}.contact{padding:75px 6vw 25px}.contact h2{letter-spacing:-2.5px}.contact-footer{margin-top:70px;gap:12px;flex-wrap:wrap;font-size:8px}.contact-footer span:last-child{width:100%}}
