:root{
  --bg:#fbfcfd;--paper:#fff;--ink:#122033;--muted:#617084;--line:#dfe5ec;
  --accent:#1f4d73;--accent-soft:#edf4f8;--max:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.62}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
.wrap{width:min(calc(100% - 44px),var(--max));margin:auto}
.site-header{padding:23px 0;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.nav{display:flex;justify-content:space-between;align-items:center;gap:24px}.home-link{font-weight:700;color:var(--muted);font-size:.92rem}.nav-right{display:flex;align-items:center;gap:22px}.nav-links{display:flex;gap:23px;color:var(--muted);font-size:.92rem}
.language-toggle{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--paper);box-shadow:0 1px 2px rgba(18,32,51,.04)}
.lang-btn{appearance:none;border:0;background:transparent;color:var(--muted);min-width:40px;padding:6px 10px;border-radius:999px;font:inherit;font-size:.76rem;font-weight:800;letter-spacing:.04em;cursor:pointer}.lang-btn.active{background:var(--accent);color:#fff}.lang-btn:hover{color:var(--accent)}.lang-btn.active:hover{color:#fff}
main{min-height:70vh}.hero{padding:86px 0 72px}.eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--accent);margin:0 0 13px}
h1{font-size:clamp(3rem,7vw,5.8rem);line-height:.94;letter-spacing:-.055em;margin:0 0 28px;max-width:860px}h2{font-size:clamp(1.9rem,3.1vw,2.8rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 16px}h3{font-size:1.2rem;margin:0 0 8px}.lead{font-size:1.18rem;max-width:760px;color:#38485b}.muted{color:var(--muted)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-block;padding:11px 17px;border-radius:5px;border:1px solid var(--accent);font-weight:750;font-size:.9rem}.primary{background:var(--accent);color:#fff}.secondary{background:#fff}.text-link{font-weight:750;color:var(--accent)}
.section{padding:64px 0;border-top:1px solid var(--line)}.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:68px}.copy{font-size:1.04rem;color:#405167}.copy p:first-child{margin-top:0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:24px;min-height:245px;display:flex;flex-direction:column}.project .index{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:.75rem;margin-bottom:30px}.project p{color:var(--muted);margin:0 0 25px}.meta{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:auto}
.article{max-width:780px;padding:68px 0}.article h1{font-size:clamp(2.6rem,6vw,4.9rem)}.article h2{margin-top:48px}.article p,.article li{font-size:1.04rem}.article .meta-line{color:var(--muted);margin:0 0 34px}.stats{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0 0}.stat{border:1px solid var(--line);background:var(--paper);border-radius:5px;padding:9px 11px;font-size:.86rem}.callout{border-left:3px solid var(--accent);padding:3px 0 3px 18px;margin:32px 0;font-size:1.12rem}.cta{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:28px;margin-top:52px}
.timeline{padding:28px 0;border-top:1px solid var(--line)}.timeline:first-of-type{border-top:0}.timeline .role{font-weight:760}.timeline p{margin:.35rem 0}.timeline ul{padding-left:19px;color:#405167}.timeline li+li{margin-top:5px}
.project-list{display:grid;gap:16px}.project-row{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:27px;display:grid;grid-template-columns:42px 1fr auto;gap:24px;align-items:center}.project-row .num{color:var(--muted);font-size:.8rem}
.footer{display:flex;justify-content:space-between;gap:20px;padding:28px 0 42px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}
@media(max-width:780px){.nav-links{gap:12px;font-size:.82rem}.nav-links .resume-nav{display:none}.nav-right{gap:12px}.lang-btn{min-width:36px;padding:5px 8px}.hero{padding:62px 0 52px}.intro{grid-template-columns:1fr;gap:24px}.project-grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.project-row{grid-template-columns:1fr;gap:8px}.footer{flex-direction:column}}

.current-role{font-size:.94rem;color:var(--muted);max-width:760px;margin-top:22px}

/* Production polish */
.home-link.active,.nav-links a.active{color:var(--accent);text-decoration:none}
.nav-links a,.home-link,.project,.project-row,.button,.text-link{transition:color .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}
.nav-links a:hover,.home-link:hover{color:var(--ink);text-decoration:none}
.project:hover,.project-row:hover{border-color:#c6d2de;text-decoration:none;box-shadow:0 5px 18px rgba(18,32,51,.055);transform:translateY(-1px)}
.button:hover{text-decoration:none}.primary:hover{background:#183e5e}.secondary:hover{background:var(--accent-soft)}
a:focus-visible,button:focus-visible{outline:3px solid rgba(31,77,115,.28);outline-offset:3px;border-radius:4px}
.footer a:hover{color:var(--ink)}
@media(max-width:640px){
 .site-header{padding:15px 0}
 .nav{align-items:flex-start}
 .nav-right{align-items:flex-end}
 .nav-links{display:grid;grid-template-columns:repeat(2,auto);column-gap:14px;row-gap:5px;text-align:right}
 .nav-links .resume-nav{display:none}
 .language-toggle{margin-top:1px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{transition:none!important}
}
