@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--navy:#071827;--blue:#1769aa;--gold:#c49a55;--ink:#122230;--muted:#64717c;--paper:#f5f3ee;--white:#fff;--line:#d9d9d3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif}.nav{height:78px;padding:0 5vw;display:flex;align-items:center;gap:32px;background:rgba(245,243,238,.96);position:sticky;top:0;z-index:9;border-bottom:1px solid #dedbd3}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);white-space:nowrap}.brand span{display:grid;place-items:center;width:38px;height:38px;background:var(--navy);color:white;font-weight:700;letter-spacing:-1px}.brand b{font-size:14px}.nav nav{display:flex;gap:24px;margin:auto}.nav nav a,.resume{font-size:13px;text-decoration:none;color:var(--ink)}.resume{border-bottom:1px solid var(--ink);padding-bottom:4px}.hero{min-height:760px;padding:110px 8vw 70px;background:linear-gradient(115deg,rgba(7,24,39,.97),rgba(7,24,39,.82)),radial-gradient(circle at 80% 20%,#1769aa,transparent 42%);color:white;display:flex;flex-direction:column;justify-content:center}.eyebrow,.section-no{font-size:12px;letter-spacing:.18em;font-weight:700;color:var(--gold)}h1,h2{font-family:Manrope,Arial,sans-serif;letter-spacing:-.045em}h1{font-size:clamp(52px,7vw,96px);line-height:.96;margin:26px 0;max-width:1000px}h1 em{font-style:normal;color:#77a9cf}.lead{font-size:20px;line-height:1.6;max-width:790px;color:#d2dae1}.lead.small{color:var(--muted);font-size:18px}.actions{display:flex;gap:16px;margin:34px 0 70px}.primary,.secondary{display:inline-block;text-decoration:none;padding:15px 22px;font-weight:600;font-size:14px}.primary{background:var(--gold);color:var(--navy)}.secondary{border:1px solid #71808d;color:white}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #49606f;padding-top:30px;max-width:1100px}.stats div{border-right:1px solid #49606f;padding-right:30px;margin-right:30px}.stats strong{display:block;font:600 32px Manrope}.stats span{font-size:13px;color:#aebbc5;line-height:1.5}.intro,.education,.closing{padding:110px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro h2,.journey h2,.work h2,.publications h2,.education h2,.dark h2,.closing h2{font-size:clamp(38px,5vw,66px);line-height:1.05;margin:20px 0 45px}.intro p{font-size:18px;line-height:1.75;color:#53616c}.quote{border-left:3px solid var(--gold);padding-left:24px!important;color:var(--ink)!important;font-weight:600}.dark{padding:110px 8vw;background:var(--navy);color:white}.dark h2{max-width:850px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#344450}.cards article{background:var(--navy);padding:35px}.cards article>b{color:var(--gold)}.cards h3{font:600 22px Manrope;margin:55px 0 14px}.cards p{color:#aebbc5;line-height:1.65}.journey,.work,.publications{padding:110px 8vw}.timeline{margin-top:40px;border-top:1px solid var(--line)}.timeline>div{display:grid;grid-template-columns:160px 280px 1fr;gap:40px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}.timeline time{font-weight:700;color:var(--blue)}.timeline h3{margin:0;font:600 20px Manrope}.timeline p{margin:0;color:var(--muted);line-height:1.6}.work{background:#eae8e2}.workgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.workgrid article{background:white;padding:40px;min-height:260px}.workgrid span{font-size:11px;letter-spacing:.14em;color:var(--blue);font-weight:700}.workgrid h3{font:600 28px Manrope;line-height:1.15}.workgrid p{color:var(--muted);line-height:1.7}.pubs{margin-top:50px;border-top:1px solid var(--line)}.pubs div{display:grid;grid-template-columns:100px 1fr;padding:25px 0;border-bottom:1px solid var(--line)}.pubs time{color:var(--blue);font-weight:700}.pubs p{margin:0;line-height:1.5}.note{color:var(--muted);font-size:13px}.education{background:white}.edu{margin-top:40px}.edu div{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:180px 1fr}.edu span{color:var(--muted);line-height:1.5}.closing{background:var(--blue);color:white}.closing p{font-size:18px;line-height:1.7;max-width:500px}.light{background:white;color:var(--navy);margin-top:18px}footer{padding:38px 5vw;background:#04111c;color:#a9b4bd;display:flex;align-items:center;gap:50px;font-size:12px}footer .brand{color:white}footer p:last-child{margin-left:auto}@media(max-width:950px){.nav nav{display:none}.resume{margin-left:auto}.stats,.cards{grid-template-columns:1fr 1fr;gap:20px}.intro,.education,.closing{grid-template-columns:1fr}.timeline>div{grid-template-columns:120px 1fr}.timeline p{grid-column:2}.workgrid{grid-template-columns:1fr}}@media(max-width:600px){.hero,.intro,.dark,.journey,.work,.publications,.education,.closing{padding-left:6vw;padding-right:6vw}.brand b{display:none}.stats,.cards{grid-template-columns:1fr}.stats div{padding:16px 0;border-right:0;border-bottom:1px solid #49606f}.actions{flex-direction:column}.timeline>div{grid-template-columns:1fr;gap:8px}.timeline p{grid-column:auto}.workgrid{grid-template-columns:1fr}.edu div{grid-template-columns:1fr;gap:6px}footer{flex-wrap:wrap}footer p:last-child{margin-left:0}}

/* v03 hero typography refinement */
.hero h1 .hero-line{display:block}.hero h1 .hero-line-second{margin-top:.18em}

/* v05 technical-contribution and research expansion */
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:50px 0 30px}.feature{background:#fff;padding:38px;border-top:4px solid var(--blue);box-shadow:0 12px 30px rgba(7,24,39,.06)}.feature>span,.research-grid span{font-size:11px;letter-spacing:.14em;color:var(--blue);font-weight:700}.feature h3,.research-grid h3{font:600 27px Manrope;line-height:1.18;margin:18px 0}.feature p,.research-grid p{color:var(--muted);line-height:1.7}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tags b{font-size:11px;letter-spacing:.04em;padding:7px 10px;background:#edf1f3;color:var(--navy)}.research{padding:110px 8vw;background:#0d2435;color:white}.research h2{font-size:clamp(38px,5vw,66px);line-height:1.05;margin:20px 0 45px}.research-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#425462}.research-grid>div{background:#0d2435;padding:40px}.research-grid span{color:var(--gold)}.research-grid p{color:#bdc8d0}@media(max-width:950px){.feature-grid,.research-grid{grid-template-columns:1fr}}

/* v06 authentic portrait integration */
.hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:5vw;align-items:center;justify-content:initial}
.hero-content{min-width:0}.hero-portrait{align-self:center;justify-self:end;width:min(31vw,420px);position:relative}.hero-portrait:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid rgba(196,154,85,.55);z-index:0}.hero-portrait img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center;background:#555;position:relative;z-index:1;box-shadow:0 28px 70px rgba(0,0,0,.32)}
@media(max-width:950px){.hero{grid-template-columns:1fr}.hero-portrait{width:min(60vw,360px);justify-self:start;order:-1;margin-bottom:15px}.hero{padding-top:70px}.hero-content{width:100%}}
@media(max-width:600px){.hero-portrait{width:min(78vw,320px)}}

/* v06 review update — authentic portrait + complete education timeline */
.hero{grid-template-columns:minmax(0,1.65fr) minmax(300px,.72fr)}
.hero-portrait{width:min(29vw,390px)}
.hero-portrait img{aspect-ratio:1/1;object-fit:cover;object-position:50% 42%;border-radius:2px}
.education{grid-template-columns:.78fr 1.22fr;align-items:start}
.edu{position:relative;margin-top:28px;padding-left:28px}
.edu:before{content:"";position:absolute;left:5px;top:22px;bottom:22px;width:1px;background:var(--line)}
.edu div{position:relative;grid-template-columns:210px 1fr;padding:20px 0 24px}
.edu div:before{content:"";position:absolute;left:-28px;top:26px;width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px #fff}
.edu b{font-family:Manrope,Arial,sans-serif;font-size:16px;color:var(--ink)}
.edu span{font-size:15px}
@media(max-width:950px){.education{grid-template-columns:1fr}.hero-portrait{width:min(56vw,350px)}.edu div{grid-template-columns:190px 1fr}}
@media(max-width:600px){.edu div{grid-template-columns:1fr;gap:7px}.hero-portrait{width:min(76vw,310px)}}
