:root{--bg: #08090e;--bg-2: #0c0e15;--surface: rgba(255, 255, 255, .035);--surface-2: rgba(255, 255, 255, .06);--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--text: #e9ecf5;--muted: #9aa3b8;--faint: #6b7387;--blue: #6ea8ff;--violet: #a06bff;--green: #4ade9b;--orange: #ffb26e;--grad: linear-gradient(100deg, #6ea8ff, #a06bff 55%, #ff8fd0);--radius: 16px;--radius-lg: 22px;--maxw: 1140px;--ease: cubic-bezier(.22, 1, .36, 1);--shadow: 0 24px 60px -28px rgba(0, 0, 0, .85)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}ul,ol{list-style:none;padding:0}::selection{background:#a06bff59}.bg-layer{position:fixed;inset:0;z-index:-1;overflow:hidden}.bg-grid{position:absolute;inset:-2px;background-image:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,#000 25%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,#000 25%,transparent 75%)}.bg-glow{position:absolute;border-radius:50%;filter:blur(120px);opacity:.5}.bg-glow--one{width:620px;height:620px;top:-260px;left:-120px;background:radial-gradient(circle,rgba(110,168,255,.5),transparent 68%);animation:float 18s var(--ease) infinite alternate}.bg-glow--two{width:560px;height:560px;top:18%;right:-200px;background:radial-gradient(circle,rgba(160,107,255,.42),transparent 68%);animation:float 22s var(--ease) infinite alternate-reverse}@keyframes float{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(40px,60px,0) scale(1.12)}}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:24px}.section{padding:96px 0}.section--contact{padding-bottom:110px}.section__head{max-width:720px;margin-bottom:48px}.section__eyebrow{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--blue);margin-bottom:12px}.section__title{font-size:clamp(1.75rem,4vw,2.6rem);font-weight:700;letter-spacing:-.02em;line-height:1.15}.section__lead{color:var(--muted);margin-top:14px;font-size:1.03rem}.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d, 0ms)}[data-reveal].is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important}.bg-glow{animation:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;border:1px solid transparent;font-weight:600;font-size:.94rem;white-space:nowrap;transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease),border-color .22s var(--ease)}.btn--primary{background:var(--grad);color:#0a0b10;box-shadow:0 12px 30px -14px #8c82ffd9}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px -14px #8c82fff2}.btn--ghost{background:var(--surface);border-color:var(--line-strong);color:var(--text)}.btn--ghost:hover{background:var(--surface-2);border-color:var(--blue);transform:translateY(-2px)}.btn--sm{padding:9px 16px;font-size:.85rem}.btn--block{width:100%}.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s var(--ease),border-color .3s var(--ease),backdrop-filter .3s;border-bottom:1px solid transparent}.nav--scrolled{background:#08090ec7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line)}.nav__inner{max-width:var(--maxw);margin-inline:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.nav__brand{display:flex;align-items:center;gap:10px;font-weight:700}.nav__mark{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--grad);color:#0a0b10;font-weight:800;font-size:.95rem}.nav__links{display:flex;align-items:center;gap:26px}.nav__links a{color:var(--muted);font-size:.93rem;font-weight:500;position:relative;transition:color .2s}.nav__links a:hover,.nav__links a.is-active{color:var(--text)}.nav__links a:not(.btn).is-active:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;border-radius:2px;background:var(--grad)}.nav__cta{color:#0a0b10!important}.nav__burger{display:none;width:42px;height:42px;border-radius:12px;background:var(--surface);border:1px solid var(--line-strong);position:relative}.nav__burger span,.nav__burger span:before,.nav__burger span:after{position:absolute;left:50%;width:18px;height:2px;border-radius:2px;background:var(--text);transform:translate(-50%);transition:all .25s var(--ease)}.nav__burger span{top:50%;margin-top:-1px}.nav__burger span:before{content:"";top:-6px;left:0;transform:none}.nav__burger span:after{content:"";top:6px;left:0;transform:none}.nav__burger span.is-x{background:transparent}.nav__burger span.is-x:before{top:0;transform:rotate(45deg)}.nav__burger span.is-x:after{top:0;transform:rotate(-45deg)}.hero{padding:150px 0 70px}.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}.hero__badge{display:inline-flex;align-items:center;gap:9px;padding:7px 15px;border-radius:999px;margin-bottom:26px;background:#4ade9b14;border:1px solid rgba(74,222,155,.28);color:#a7e9c9;font-size:.82rem;font-weight:500}.dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 #4ade9bb3;animation:pulse 2.2s infinite}@keyframes pulse{70%{box-shadow:0 0 0 9px #4ade9b00}to{box-shadow:0 0 #4ade9b00}}.hero__title{font-size:clamp(2.2rem,5.6vw,3.9rem);font-weight:800;letter-spacing:-.035em;line-height:1.06}.hero__typer{margin-top:18px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:clamp(.95rem,2vw,1.12rem);color:var(--blue);min-height:1.7em;display:flex;align-items:center;gap:3px}.hero__caret{display:inline-block;width:9px;height:1.1em;background:var(--violet);animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.hero__summary{color:var(--muted);margin-top:18px;max-width:56ch;font-size:1.04rem}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero__meta{display:flex;flex-wrap:wrap;gap:22px;margin-top:28px;color:var(--faint);font-size:.9rem}.hero__meta a{border-bottom:1px solid var(--line-strong);padding-bottom:1px;transition:color .2s,border-color .2s}.hero__meta a:hover{color:var(--blue);border-color:var(--blue)}.hero__side{display:grid;gap:22px;justify-items:center}.avatar{position:relative;width:210px;height:210px;border-radius:50%;padding:4px;background:var(--grad);display:grid;place-items:center;box-shadow:0 0 70px -18px #a06bffb3}.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--bg-2)}.avatar__initials{display:none;font-size:3.6rem;font-weight:800;color:var(--text);position:absolute;inset:4px;border-radius:50%;background:var(--bg-2);place-items:center;letter-spacing:-.04em}.avatar--fallback .avatar__initials{display:grid}.codecard{width:100%;border-radius:var(--radius);overflow:hidden;background:#0c0e15e6;border:1px solid var(--line);box-shadow:var(--shadow)}.codecard__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line);background:#ffffff08}.codecard__bar i{width:10px;height:10px;border-radius:50%;background:var(--line-strong)}.codecard__bar i:first-child{background:#ff6058}.codecard__bar i:nth-child(2){background:#ffbd2e}.codecard__bar i:nth-child(3){background:#28ca42}.codecard__bar span{margin-left:auto;font-size:.74rem;color:var(--faint);font-family:JetBrains Mono,monospace}.codecard pre{margin:0;padding:16px 18px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem;line-height:1.75;color:#b7c4e0;overflow-x:auto}.stats{margin-top:72px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.stats__item{background:var(--bg);padding:26px 20px;text-align:center}.stats__item strong{display:block;font-size:1.9rem;font-weight:800;letter-spacing:-.03em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.stats__item span{font-size:.82rem;color:var(--faint)}.cards{display:grid;gap:20px}.cards--3{grid-template-columns:repeat(3,1fr)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:transform .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease)}.card:hover{transform:translateY(-4px);border-color:var(--line-strong);background:var(--surface-2)}.card__icon{font-size:1.5rem;display:block;margin-bottom:12px}.card h3{font-size:1.08rem;font-weight:650;margin-bottom:8px}.card p{color:var(--muted);font-size:.93rem}.card--skill h3{color:var(--text);margin-bottom:14px;font-size:.98rem}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips li{padding:5px 11px;border-radius:8px;font-size:.79rem;background:#6ea8ff14;border:1px solid rgba(110,168,255,.2);color:#c3d5f5}.chips--mono li{font-family:JetBrains Mono,monospace;font-size:.72rem}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project{position:relative;display:flex;flex-direction:column;gap:14px;padding:30px;border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffff0d,#ffffff05);border:1px solid var(--line);overflow:hidden;transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}.project:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent, var(--grad));opacity:.85}.project--blue{--accent: linear-gradient(90deg, #6ea8ff, #56d8ff)}.project--violet{--accent: linear-gradient(90deg, #a06bff, #ff8fd0)}.project--green{--accent: linear-gradient(90deg, #4ade9b, #a6e86b)}.project--orange{--accent: linear-gradient(90deg, #ffb26e, #ff7a7a)}.project:hover{transform:translateY(-6px);border-color:var(--line-strong);box-shadow:0 30px 60px -30px #000000e6}.project__top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.project__top h3{font-size:1.24rem;font-weight:700;letter-spacing:-.015em}.tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;padding:4px 9px;border-radius:6px;background:#a06bff24;border:1px solid rgba(160,107,255,.35);color:#d3bcff}.project__blurb{color:var(--muted);font-size:.95rem}.project__points{display:grid;gap:8px}.project__points li{position:relative;padding-left:20px;font-size:.88rem;color:#b5bdcf}.project__points li:before{content:"";position:absolute;left:4px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--blue)}.project__links{display:flex;gap:10px;margin-top:auto;padding-top:6px;flex-wrap:wrap}.timeline{position:relative;display:grid;gap:30px;padding-left:34px}.timeline:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--blue),var(--violet),transparent)}.timeline li{position:relative}.timeline li:before{content:"";position:absolute;left:-34px;top:7px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--blue);box-shadow:0 0 0 4px #6ea8ff1f}.timeline__period{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--blue);letter-spacing:.04em}.timeline h3{font-size:1.1rem;font-weight:650;margin-top:4px}.timeline__org{color:var(--faint);font-size:.85rem;margin-bottom:6px}.timeline li>p:last-child{color:var(--muted);font-size:.93rem;max-width:66ch}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:start}.contact__side{display:grid;gap:12px}.contact__row{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:transform .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease)}.contact__row:not(.contact__row--static):hover{transform:translate(4px);border-color:var(--blue);background:var(--surface-2)}.contact__row span{font-size:1.2rem}.contact__row strong{display:block;font-size:.9rem}.contact__row p{color:var(--muted);font-size:.85rem;word-break:break-word}.contact__form{padding:30px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);display:grid;gap:16px}.field{display:grid;gap:7px}.field label{font-size:.85rem;color:var(--muted);font-weight:500}.field input,.field textarea{width:100%;padding:12px 14px;border-radius:12px;resize:vertical;background:#0000004d;border:1px solid var(--line-strong);color:var(--text);font:inherit;font-size:.93rem;transition:border-color .2s,box-shadow .2s}.field input::placeholder,.field textarea::placeholder{color:#5a6178}.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #6ea8ff26}.hidden-field{display:none}.contact__note{font-size:.82rem;color:var(--faint);text-align:center}.contact__note a{color:var(--blue)}.footer{border-top:1px solid var(--line);padding:28px 0}.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer p{color:var(--faint);font-size:.85rem}.footer__links{display:flex;gap:20px;font-size:.85rem}.footer__links a{color:var(--muted);transition:color .2s}.footer__links a:hover{color:var(--blue)}@media(max-width:960px){.hero{padding-top:124px}.hero__grid{grid-template-columns:1fr;gap:44px}.hero__side{order:-1;justify-items:start}.avatar{width:150px;height:150px}.codecard{display:none}.cards--3,.projects,.contact{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.section{padding:72px 0}.nav__burger{display:block}.nav__links{position:fixed;inset:66px 0 auto;flex-direction:column;align-items:stretch;gap:4px;padding:20px 24px 28px;background:#08090ef7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);transform:translateY(-120%);transition:transform .35s var(--ease)}.nav__links.is-open{transform:none}.nav__links a{padding:12px 4px;font-size:1rem}.nav__links a:not(.btn).is-active:after{display:none}.nav__cta{justify-self:start;margin-top:10px}}@media(max-width:520px){.container{padding-inline:18px}.project,.contact__form{padding:22px}.stats{grid-template-columns:1fr 1fr}.footer__inner{flex-direction:column;align-items:flex-start}}
