:root{--navy-950: #050d1f;--navy-900: #0a1931;--navy-800: #102a52;--navy-700: #163a6e;--navy-600: #1e4d8f;--navy-100: #e6edf8;--navy-50: #f3f6fc;--accent: #5fa8ff;--gold: #f2c14e;--text: #13213a;--muted: #5a6b85;--white: #ffffff;--radius: 14px;--shadow: 0 10px 30px -12px rgba(10, 25, 49, .25);--font: "Plus Jakarta Sans", system-ui, -apple-system, Segoe UI, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;font-family:var(--font);color:var(--text);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{line-height:1.15;margin:0 0 .5em;letter-spacing:-.02em}h2{font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--navy-900)}p{margin:0 0 1em}.container{width:100%;max-width:1140px;margin:0 auto;padding:0 20px}.section{padding:96px 0}.section--tint{background:var(--navy-50)}.eyebrow{font-family:var(--mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-600);margin-bottom:.6em}.lead{font-size:1.08rem;color:var(--muted);max-width:62ch}.sub{font-size:1.1rem;color:var(--navy-800);margin-bottom:1.2em}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;font-weight:600;font-size:.95rem;border:1.5px solid transparent;transition:transform .2s,background .2s,color .2s,border-color .2s}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--accent);color:var(--navy-950)}.btn--primary:hover{background:#8cc0ff}.btn--ghost{border-color:currentColor}.btn--ghost:hover{background:#ffffff14}.nav{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,box-shadow .3s}.nav--scrolled{background:#0a1931eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0003}.nav__inner{display:flex;align-items:center;justify-content:space-between;height:68px}.nav__logo{font-weight:800;font-size:1.4rem;color:var(--white)}.nav__logo span{color:var(--accent)}.nav__links{display:flex;gap:28px}.nav__links a{color:#fffc;font-weight:500;font-size:.95rem;position:relative}.nav__links a:hover{color:var(--white)}.nav__links a:after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--accent);transition:width .25s}.nav__links a:hover:after{width:100%}.nav__toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}.nav__toggle span{display:block;width:22px;height:2px;background:var(--white);margin:5px 0}.hero{position:relative;background:radial-gradient(circle at 80% 20%,rgba(95,168,255,.18),transparent 45%),radial-gradient(circle at 10% 90%,rgba(30,77,143,.5),transparent 50%),linear-gradient(160deg,var(--navy-950),var(--navy-800));color:var(--white);padding:140px 0 60px;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 85%);mask-image:linear-gradient(to bottom,black,transparent 85%);pointer-events:none}.hero__inner{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center}.hero .eyebrow{color:var(--accent)}.hero h1{font-size:clamp(2.6rem,6vw,4.4rem);font-weight:800}.hero__role{font-size:1.15rem;color:#ffffffbf}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.hero__photo{justify-self:center;width:min(340px,100%);aspect-ratio:4 / 5;position:relative}.hero__photo:before{content:"";position:absolute;top:16px;right:-16px;bottom:-16px;left:16px;border:2px solid var(--accent);border-radius:24px;opacity:.6}.hero__photo>*{position:relative;width:100%;height:100%;object-fit:cover;border-radius:24px;box-shadow:0 30px 60px -20px #0009}.stats{position:relative;list-style:none;padding:0;margin:64px 0 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.12)}.stats li{padding:24px 0}.stats strong{display:block;font-size:2rem;font-weight:800;color:var(--white)}.stats span{font-size:.85rem;color:#fff9}.img-placeholder{width:100%;height:100%;min-height:180px;display:grid;place-items:center;text-align:center;padding:16px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 10px,transparent 10px 20px),linear-gradient(135deg,var(--navy-700),var(--navy-900));color:#ffffffbf;font-family:var(--mono);font-size:.85rem}.about{display:grid;grid-template-columns:1.4fr 1fr;gap:64px}.langs{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}.langs div{background:var(--navy-50);border-radius:var(--radius);padding:14px 18px}.langs strong{display:block;color:var(--navy-900)}.langs span{font-size:.88rem;color:var(--muted)}.timeline{list-style:none;margin:0;padding:0 0 0 24px;border-left:2px solid var(--navy-100)}.timeline li{position:relative;padding-bottom:28px}.timeline li:before{content:"";position:absolute;left:-31px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--navy-600);border:3px solid var(--white);box-shadow:0 0 0 2px var(--navy-600)}.timeline__period{font-family:var(--mono);font-size:.78rem;color:var(--muted)}.timeline h4{margin:4px 0;color:var(--navy-900);font-size:1.05rem}.timeline p{margin:0 0 8px;color:var(--muted)}.pill{display:inline-block;background:var(--navy-900);color:var(--white);font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:999px}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:32px}.card{background:var(--white);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);border:1px solid var(--navy-100)}.card h3{font-size:1rem;color:var(--navy-800)}.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.chips li{font-size:.85rem;padding:6px 12px;border-radius:8px;background:var(--navy-50);color:var(--navy-800);border:1px solid var(--navy-100)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 32px}.filters button{font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;padding:8px 16px;border-radius:999px;border:1.5px solid var(--navy-100);background:var(--white);color:var(--navy-800);transition:all .2s}.filters button:hover{border-color:var(--navy-600)}.filters button.is-active{background:var(--navy-900);color:var(--white);border-color:var(--navy-900)}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.project{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:var(--white);border:1px solid var(--navy-100);box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}.project:hover{transform:translateY(-4px);box-shadow:0 20px 40px -16px #0a193159}.project__media{aspect-ratio:16 / 9;background:var(--navy-900)}.project__media>*{width:100%;height:100%;object-fit:cover}.project__media>img{object-position:left top}.project__body{padding:24px}.project h3{font-size:1.3rem;color:var(--navy-900);margin-bottom:2px}.project__sub{color:var(--muted);font-size:.92rem;margin-bottom:12px}.project--featured:first-child{grid-column:1 / -1;flex-direction:row}.project--featured:first-child .project__media{flex:1.2;aspect-ratio:auto;min-height:320px}.project--featured:first-child .project__body{flex:1;align-self:center}.tags{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:6px}.tags li{font-family:var(--mono);font-size:.72rem;padding:3px 8px;border-radius:6px;background:var(--navy-900);color:var(--accent)}.bullets{margin:0;padding-left:18px;color:var(--text);font-size:.93rem}.bullets li{margin-bottom:6px}.bullets li::marker{color:var(--navy-600)}.section--navy{background:linear-gradient(180deg,var(--navy-900),var(--navy-950));color:var(--white)}.section--navy h2{color:var(--white)}.section--navy .eyebrow{color:var(--accent)}.lead-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}.flip{display:block;cursor:pointer;aspect-ratio:4 / 5;perspective:1200px;color:var(--white);border-radius:var(--radius)}.flip:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.flip__inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.flip:hover .flip__inner{transform:rotateY(8deg)}.flip.is-revealed .flip__inner{transform:rotateY(180deg)}.flip__face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius);overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid rgba(255,255,255,.12)}.flip__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;min-height:0}.flip__overlay{position:absolute;inset:auto 0 0 0;padding:24px 20px 20px;background:linear-gradient(to top,#050d1ff2 30%,#050d1f00)}.flip__back{transform:rotateY(180deg);padding:28px 24px;display:flex;flex-direction:column;background:radial-gradient(circle at 100% 0%,rgba(95,168,255,.25),transparent 55%),linear-gradient(160deg,var(--navy-700),var(--navy-950));border-color:#5fa8ff59}.flip h3{margin:6px 0 2px;font-size:1.25rem}.flip__period{font-family:var(--mono);font-size:.75rem;color:var(--gold)}.flip__org{color:var(--accent);font-weight:600;font-size:.92rem;margin:0 0 4px}.flip__text{color:#ffffffd1;font-size:.98rem;margin-top:16px}.flip__hint{margin-top:auto;padding-top:10px;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:#ffffff8c;display:inline-block}.flip__overlay .flip__hint{margin-top:8px}.lead-flip__logo{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:radial-gradient(circle at 30% 20%,rgba(95,168,255,.3),transparent 55%),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(160deg,var(--navy-700),var(--navy-950));border-color:#5fa8ff4d}.lead-flip__period{position:absolute;top:18px;left:20px}.lead-flip__mark{font-weight:800;font-size:clamp(3rem,5.5vw,4.4rem);letter-spacing:-.04em;line-height:1;margin-bottom:18px;text-shadow:0 10px 40px rgba(95,168,255,.35)}.lead-flip__mark span{color:var(--accent)}.lead-flip__logo .flip__hint{margin-top:18px;padding-top:0}.lead-flip__photo{transform:rotateY(180deg)}.lead-flip__photo .flip__overlay{padding-top:64px;background:linear-gradient(to top,#050d1ff7 55%,#050d1f00)}.lead-flip__photo .flip__text{margin:8px 0 0;font-size:.92rem}.hero-flip .flip__face{border-radius:24px}.hero-flip__logo{display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,rgba(95,168,255,.35),transparent 55%),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px) 0 0 / 32px 32px,linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) 0 0 / 32px 32px,linear-gradient(160deg,var(--navy-700),var(--navy-950));border-color:#5fa8ff59}.hero-flip__mark{font-weight:800;font-size:clamp(5rem,11vw,8rem);letter-spacing:-.04em;color:var(--white);line-height:1;text-shadow:0 10px 40px rgba(95,168,255,.35)}.hero-flip__mark span{color:var(--accent)}.hero-flip__logo .flip__hint{margin-top:24px;padding-top:0}.hero-flip__photo{transform:rotateY(180deg)}.hero-flip__photo>img,.hero-flip__photo>.img-placeholder{width:100%;height:100%;object-fit:cover}.hero-flip__count{position:absolute;bottom:18px;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.hero-flip__badge{position:absolute;top:14px;right:14px;padding:4px 10px;border-radius:999px;font-family:var(--mono);font-size:.75rem;font-weight:500;color:var(--white);background:#050d1fb3;border:1px solid rgba(95,168,255,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero-flip__photo.is-rare{border:2px solid var(--gold);box-shadow:0 0 40px #f2c14e73}.is-rare .hero-flip__badge{color:var(--navy-950);font-weight:700;border-color:var(--gold);background:linear-gradient(135deg,#f2c14e,#ffe8a3,#f2c14e)}.hero-flip__photo.is-rare:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,232,163,.45) 50%,transparent 65%);background-size:250% 100%;animation:rare-shine 2.4s ease-in-out infinite}@keyframes rare-shine{0%{background-position:150% 0}to{background-position:-50% 0}}.sub--light{color:var(--white);margin-top:56px}.achievements{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.achievements li{padding:20px;border-radius:var(--radius);background:linear-gradient(135deg,#f2c14e1f,#ffffff05);border:1px solid rgba(242,193,78,.25);color:#ffffffd9;font-size:.92rem}.achievements span{display:block;color:var(--gold);font-weight:700;margin-bottom:4px}.contact{text-align:center}.contact .lead{margin:0 auto 28px}.contact__links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.contact .btn--ghost{color:var(--navy-900)}.contact .btn--ghost:hover{background:var(--navy-50)}.contact__meta{margin-top:28px;color:var(--muted);font-size:.9rem}.footer{background:var(--navy-950);color:#ffffff80;text-align:center;padding:24px 0;font-size:.85rem}@media(max-width:900px){.hero__inner,.about{grid-template-columns:1fr}.hero__photo{order:-1;width:min(260px,80%)}.stats,.lead-grid{grid-template-columns:repeat(2,1fr)}.achievements,.projects{grid-template-columns:1fr}.project--featured:first-child{flex-direction:column}.project--featured:first-child .project__media{aspect-ratio:16 / 9;min-height:0}}@media(max-width:720px){.section{padding:72px 0}.container{padding:0 16px}.nav__toggle{display:block}.nav{background:#0a1931f2}.nav__links{position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:0;background:var(--navy-900);max-height:0;overflow:hidden;transition:max-height .3s}.nav__links.is-open{max-height:320px}.nav__links a{padding:14px 20px;border-top:1px solid rgba(255,255,255,.06)}.lead-grid{grid-template-columns:1fr}.flip{aspect-ratio:4 / 3}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
