:root{color-scheme:light;--navy: #002f6c;--navy-deep: #001f3f;--black: #020617;--white: #ffffff;--bg: #ffffff;--surface: rgba(255, 255, 255, .9);--surface-2: rgba(0, 47, 108, .045);--text: #020617;--muted: #263244;--muted-2: #566579;--line: rgba(0, 47, 108, .16);--title: #002f6c;--shadow: 0 24px 70px rgba(0, 47, 108, .12);--radius: .5rem;--page-pad: clamp(16px, 4.8vw, 92px);--section-space: clamp(46px, 4.2vw, 78px);--section-gap: clamp(28px, 3vw, 52px);--section-edge: clamp(24px, 2.4vw, 38px)}:root[data-theme=dark]{color-scheme:dark;--bg: #020617;--surface: rgba(6, 18, 34, .82);--surface-2: rgba(255, 255, 255, .04);--text: #ffffff;--muted: #d7e2f0;--muted-2: #a9b8ca;--line: rgba(255, 255, 255, .12);--title: #7fa8dc;--shadow: 0 28px 80px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html{scroll-behavior:smooth}section{scroll-margin-top:112px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}a{color:inherit}.inline-link{color:var(--title);font-weight:inherit;text-decoration:none}.inline-link:hover{text-decoration:underline}button,a{-webkit-tap-highlight-color:transparent}.site-shell{min-height:100vh;overflow-x:hidden;padding-top:100px;background:linear-gradient(135deg,rgba(0,47,108,.14),transparent 34vw),linear-gradient(315deg,rgba(0,31,63,.12),transparent 38vw),var(--bg)}.navbar{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(12px,2vw,28px);width:calc(100% - (var(--page-pad) * 2));margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.brand,.desktop-nav,.nav-actions,.language-switch,.hero-actions,.social-links,.contact-links,footer{display:flex;align-items:center}.brand{gap:10px;text-decoration:none;font-weight:900;white-space:nowrap}.brand img,footer img{width:44px;height:44px;border-radius:50%;object-fit:cover}.desktop-nav{justify-content:center;gap:4px}.desktop-nav a,.mobile-nav a{padding:10px 12px;border-radius:var(--radius);color:var(--muted);font-size:.92rem;font-weight:800;text-decoration:none;transition:transform .16s ease,background .16s ease,color .16s ease}.desktop-nav a:hover,.mobile-nav a:hover{color:var(--white);background:var(--navy);transform:translateY(-1px)}.nav-actions{justify-content:flex-end;gap:10px}.language-switch{position:relative;gap:3px;padding:4px;border:1px solid var(--line);border-radius:var(--radius)}.globe-icon{display:none;width:21px;height:21px;fill:none;stroke:var(--title);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.language-switch button,.theme-toggle,.menu-toggle{border:0;border-radius:var(--radius);color:var(--text);background:transparent;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer}.language-switch button{min-width:34px;min-height:32px}.language-switch button.active{color:var(--white);background:var(--navy)}.theme-toggle,.menu-toggle{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line)}.theme-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.menu-toggle{display:none;gap:4px}.menu-toggle span{display:block;width:18px;height:2px;background:currentColor}.mobile-nav{display:none}.section-pad{width:100%;padding:var(--section-space) var(--page-pad)}.about-section,.journey-sections,.projects-section{padding-bottom:var(--section-edge)}.journey-sections,#skills,.contact-section{padding-top:var(--section-edge)}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.7fr);gap:clamp(32px,5vw,88px);align-items:center;padding-top:clamp(24px,3vw,42px);min-height:min(860px,calc(100vh - 92px))}.hero-copy{max-width:1100px;animation:rise .6s ease both}.role{max-width:860px;margin:0 0 18px;color:var(--title);font-size:clamp(.95rem,1.2vw,1.1rem);font-weight:950;line-height:1.5}h1,h2,h3,p{margin-top:0}h1{max-width:1120px;margin-bottom:22px;color:var(--title);font-size:clamp(3rem,6.4vw,7.4rem);line-height:.92;letter-spacing:0}h2,h3,.identity-card h2{color:var(--title)}.intro{max-width:1060px;color:var(--muted);font-size:clamp(1.05rem,1.55vw,1.42rem);line-height:1.76}.hero-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:1060px;margin:28px 0 0}.hero-highlights span{min-height:72px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);background:var(--surface-2);font-weight:820;line-height:1.35}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:var(--radius);font-weight:950;text-decoration:none;transition:transform .16s ease,background .16s ease,color .16s ease,border-color .16s ease}.button:hover{transform:translateY(-2px)}.button.primary{color:var(--white);background:var(--navy);border:1px solid var(--navy)}.button.secondary{color:var(--title);background:transparent;border:1px solid var(--line)}.social-links{flex-wrap:wrap;gap:10px;margin-top:22px}.social-links.compact{margin-top:0}.social-links a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--radius);color:var(--title);background:var(--surface);text-decoration:none;transition:transform .16s ease,background .16s ease,color .16s ease}.social-links a:hover{color:var(--white);background:var(--navy);transform:translateY(-2px)}.social-links svg{width:21px;height:21px;fill:currentColor}.portrait-panel{position:relative;display:grid;gap:18px;justify-items:center;align-self:stretch;min-height:520px;padding:clamp(12px,2vw,24px);border-radius:calc(var(--radius) * 1.2);background:radial-gradient(circle at 50% 42%,rgba(0,47,108,.18),transparent 62%),linear-gradient(180deg,var(--surface-2),transparent);overflow:hidden;animation:rise .72s ease 80ms both}.portrait-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:calc(var(--radius) * 1.3);mask-image:linear-gradient(180deg,#000 66%,transparent 100%)}.portrait-panel div{position:absolute;z-index:1;left:22px;right:22px;bottom:22px;display:grid;gap:4px;padding:16px;border-radius:var(--radius);background:color-mix(in srgb,var(--bg) 74%,transparent);backdrop-filter:blur(16px)}.portrait-panel strong{color:var(--title);font-size:clamp(1.05rem,1.8vw,1.38rem)}.portrait-panel span{color:var(--muted);font-weight:800}.mobile-portrait{display:none}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;width:calc(100% - (var(--page-pad) * 2));margin:0 auto;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--line)}.stats article{display:grid;gap:8px;min-height:128px;padding:clamp(18px,2vw,30px);background:var(--surface)}.stats strong{color:var(--title);font-size:clamp(1.8rem,3vw,3.4rem);line-height:1}.stats span,.body-copy,.timeline p,.project-card p,.contact-section p{color:var(--muted);line-height:1.72}.two-column{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:clamp(28px,4vw,70px);align-items:start}.about-section .section-title{justify-items:center;text-align:center}.about-grid{margin-top:var(--section-gap)}.section-title{display:grid;gap:12px;margin-bottom:var(--section-gap)}.section-title.centered{justify-items:center;text-align:center}.section-title span{display:block;width:58px;height:5px;border-radius:999px;background:var(--title)}.section-title h2{margin:0;color:var(--title);font-size:clamp(2.1rem,4vw,4.4rem);line-height:1}.body-copy{max-width:1120px;font-size:clamp(1rem,1.2vw,1.16rem)}.identity-card,.skill-card,.project-card,.language-panel,.contact-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.identity-card{padding:clamp(18px,2vw,28px)}.identity-card h2,.language-panel h3{margin-bottom:18px;font-size:1.25rem}.identity-row{display:grid;gap:6px;padding:15px 0;border-top:1px solid var(--line)}.identity-row span,.timeline time{color:var(--muted-2);font-size:.82rem;font-weight:850;text-transform:uppercase}.identity-row strong{line-height:1.35}.timeline{position:relative;display:grid;gap:18px;width:100%;margin:0 auto}.journey-sections{display:grid;gap:clamp(42px,4vw,72px)}.journey-section{width:100%}.journey-section .section-title{max-width:none}.timeline:before{content:"";position:absolute;top:26px;bottom:26px;left:54px;width:1px;background:var(--line)}.timeline-item{position:relative;display:grid;grid-template-columns:112px 1fr;gap:22px;padding:clamp(18px,2vw,28px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:transform .16s ease,border-color .16s ease}.timeline-item:hover{border-color:color-mix(in srgb,var(--title) 70%,var(--line));transform:translateY(-2px)}.timeline-marker{display:grid;justify-items:center;align-content:start;gap:10px}.timeline-marker span{display:grid;place-items:center;width:72px;height:72px;border:1px solid var(--line);border-radius:50%;color:var(--white);background:var(--navy);font-size:.95rem;font-weight:950;box-shadow:0 0 0 8px color-mix(in srgb,var(--navy) 10%,transparent)}.timeline time{text-align:center;line-height:1.35}.timeline h3{margin-bottom:6px;color:var(--title);font-size:clamp(1.12rem,1.5vw,1.42rem)}.timeline strong{display:block;margin-bottom:8px;color:var(--title)}.timeline-place{display:block;margin-bottom:8px;color:var(--title);font-weight:850;text-decoration:none}.timeline-place:hover{text-decoration:underline}.timeline.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline.compact:before{display:none}.skill-grid,.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)}.skill-card,.project-card{padding:clamp(18px,2vw,26px)}.skill-card h3,.project-card h3{margin-bottom:16px;color:var(--title);font-size:1.12rem}.skill-card ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.skill-card li{color:var(--muted)}.skill-card li:before{content:"";display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:var(--title);vertical-align:1px}.language-panel{margin-top:clamp(16px,2vw,28px);padding:clamp(18px,2vw,26px)}.language-panel div,.tag-row{display:flex;flex-wrap:wrap;gap:8px}.language-panel span,.tag-row span{padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);font-size:.88rem;font-weight:800}.projects-section{text-align:center}.section-intro{max-width:920px;margin:calc(var(--section-gap) * -.35) auto var(--section-gap);color:var(--muted);line-height:1.72}.project-groups{display:grid;gap:var(--section-gap)}.project-group{display:grid;gap:18px}.project-group>h3{margin:0;color:var(--title);font-size:clamp(1.35rem,2vw,2rem);text-align:left}.project-grid{grid-template-columns:repeat(4,minmax(220px,1fr));text-align:left}.project-card{display:grid;align-content:start;min-height:280px;color:inherit;text-decoration:none;transition:transform .16s ease,border-color .16s ease}.project-card h4{margin:0 0 14px;color:var(--title);font-size:1.1rem}.project-card:hover{border-color:color-mix(in srgb,var(--title) 70%,var(--line));transform:translateY(-3px)}.tag-row{margin-top:14px}.contact-section p{max-width:900px;margin-inline:auto}.contact-section{text-align:center}.form-notice{margin:10px auto 0;color:var(--title);font-weight:850}.contact-links{justify-content:center;flex-wrap:wrap;gap:12px;margin-top:24px}.contact-panel{display:flex;justify-content:center;margin-top:24px}.contact-icons{display:flex;justify-content:center;margin-top:22px}.contact-icons .social-links{margin-top:0}.contact-form{display:grid;gap:12px;width:min(100%,860px);padding:clamp(18px,2vw,28px)}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:14px;color:var(--text);background:var(--bg);font:inherit;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--title)}.form-status{margin:0;color:var(--title);font-weight:850}.contact-links a,.contact-links span{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius);font-weight:850;text-decoration:none}.contact-links a{color:var(--white);background:var(--navy);border-color:var(--navy)}footer{display:grid;justify-items:center;justify-content:center;gap:16px;padding:32px var(--page-pad) 44px;color:var(--muted-2);font-weight:750;text-align:center}footer img{width:34px;height:34px}footer .social-links{justify-content:center;margin-top:0}.footer-copy{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}@keyframes rise{0%{transform:translate3d(0,18px,0)}to{transform:translateZ(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;transition-duration:1ms!important}}@media(max-width:1280px){.project-grid,.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.navbar{grid-template-columns:auto 1fr}.desktop-nav{display:none}.menu-toggle{display:grid}.mobile-nav.open{display:grid;grid-column:1 / -1;gap:4px;padding-top:10px;border-top:1px solid var(--line)}.hero,.two-column{grid-template-columns:1fr}.hero{padding-top:22px;min-height:auto}.desktop-portrait{display:none}.mobile-portrait{display:grid;min-height:380px;margin:18px 0 26px}.hero-highlights,.stats,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline.compact{grid-template-columns:1fr}}@media(max-width:680px){:root{--page-pad: 14px;--section-space: 42px;--section-gap: 24px;--section-edge: 22px}.navbar{top:8px;width:calc(100% - 16px)}.brand span{font-size:.95rem}.language-switch{width:auto;height:42px;justify-content:center;padding:4px}.language-switch .globe-icon{display:block}.language-switch button{display:none}.language-switch button.active{display:block}.language-switch:hover,.language-switch:focus-within{width:auto;padding:4px}.language-switch:hover button,.language-switch:focus-within button{display:block}h1{font-size:clamp(2.55rem,14vw,4.1rem)}.section-pad{padding-block:var(--section-space)}.about-section,.journey-sections,.projects-section{padding-bottom:var(--section-edge)}.journey-sections,#skills,.contact-section{padding-top:var(--section-edge)}.hero.section-pad{padding-top:20px}.hero-highlights,.skill-grid,.project-grid{grid-template-columns:1fr}.timeline:before{left:35px}.timeline-item{grid-template-columns:74px 1fr;gap:14px;padding:16px}.timeline-marker span{width:56px;height:56px;font-size:.78rem}.timeline time{font-size:.68rem}.portrait-panel{min-height:330px}}
