:root{--bg: #07060f;--bg-2: #0c0a1d;--surface: rgba(22, 18, 43, .55);--surface-solid: #14112a;--border: rgba(139, 124, 246, .16);--border-strong: rgba(139, 124, 246, .35);--text: #eae9f7;--text-soft: #b6b0d6;--text-muted: #7d77a6;--violet: #8b5cf6;--violet-bright: #a78bfa;--blue: #4f7cff;--blue-bright: #7aa2ff;--cyan: #38bdf8;--grad: linear-gradient(120deg, #6d8bff 0%, #8b5cf6 50%, #c084fc 100%);--grad-soft: linear-gradient(120deg, #4f7cff 0%, #8b5cf6 100%);--radius: 18px;--radius-sm: 12px;--maxw: 1180px;--nav-h: 72px;--shadow: 0 20px 60px -20px rgba(0, 0, 0, .7);--shadow-violet: 0 24px 70px -24px rgba(139, 92, 246, .55);--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Sora", var(--font)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}ul,ol{list-style:none}::selection{background:#8b5cf666;color:#fff}::-webkit-scrollbar{width:11px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--blue),var(--violet));border-radius:99px;border:3px solid var(--bg)}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;overflow:hidden;background:radial-gradient(1200px 600px at 80% -10%,rgba(79,124,255,.18),transparent 60%),radial-gradient(900px 500px at 10% 10%,rgba(139,92,246,.16),transparent 60%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}.aurora__blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;will-change:transform}.aurora__blob--1{width:460px;height:460px;background:#5b6bff;top:-120px;left:-80px;animation:float1 18s ease-in-out infinite}.aurora__blob--2{width:520px;height:520px;background:#8b5cf6;top:30%;right:-140px;animation:float2 22s ease-in-out infinite}.aurora__blob--3{width:400px;height:400px;background:#c084fc;bottom:-120px;left:30%;animation:float3 20s ease-in-out infinite}.aurora:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:38px 38px;-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 75%);mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 75%)}@keyframes float1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(60px,50px) scale(1.1)}}@keyframes float2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-70px,40px) scale(1.08)}}@keyframes float3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(40px,-50px) scale(1.12)}}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.section{padding:110px 0;position:relative}.section__head{text-align:center;max-width:640px;margin:0 auto 64px}.kicker{display:inline-block;font-family:var(--font-display);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--violet-bright);padding:6px 14px;border:1px solid var(--border-strong);border-radius:99px;background:#8b5cf614;margin-bottom:18px}.section__title{font-family:var(--font-display);font-size:clamp(1.9rem,4vw,2.8rem);font-weight:700;line-height:1.1;letter-spacing:-.02em}.section__subtitle{margin-top:14px;color:var(--text-soft)}.gradient-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;font-size:.95rem;padding:13px 26px;border-radius:99px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;white-space:nowrap}.btn--primary{background:var(--grad-soft);color:#fff;box-shadow:0 12px 30px -10px #6366f1b3}.btn--primary:hover{transform:translateY(-3px);box-shadow:0 18px 40px -12px #8b5cf6d9}.btn--ghost{border:1px solid var(--border-strong);background:#ffffff05;color:var(--text)}.btn--ghost:hover{border-color:var(--violet-bright);background:#8b5cf61f;transform:translateY(-3px)}.btn--lg{padding:16px 34px;font-size:1.02rem}.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:100;display:flex;align-items:center;transition:background .3s ease,border-color .3s ease,backdrop-filter .3s ease;border-bottom:1px solid transparent}.nav--scrolled{background:#080712b8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom-color:var(--border)}.nav__inner{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.nav__brand{display:inline-flex;align-items:center;line-height:0;transition:transform .25s ease}.nav__brand:hover{transform:scale(1.05)}.nav__logo{height:46px;width:auto;filter:drop-shadow(0 4px 14px rgba(79,124,255,.45))}.nav__links{display:flex;gap:34px}.nav__links a{font-size:.95rem;color:var(--text-soft);position:relative;transition:color .2s ease}.nav__links a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--grad);border-radius:2px;transition:width .25s ease}.nav__links a:hover{color:var(--text)}.nav__links a:hover:after{width:100%}.nav__actions{display:flex;align-items:center;gap:16px}.lang-toggle{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--border-strong);border-radius:99px;padding:5px 6px;font-family:var(--font-display);font-size:.8rem;font-weight:600;background:#ffffff05}.lang-toggle__opt{padding:3px 9px;border-radius:99px;color:var(--text-muted);transition:all .2s ease}.lang-toggle__opt--active{background:var(--grad-soft);color:#fff}.nav__burger{display:none;flex-direction:column;gap:5px;width:30px;height:30px;justify-content:center;align-items:center}.nav__burger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .3s ease,opacity .3s ease}.nav__burger--open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav__burger--open span:nth-child(2){opacity:0}.nav__burger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{min-height:100vh;display:flex;align-items:center;padding-top:var(--nav-h);position:relative}.hero__inner{display:grid;grid-template-columns:1.25fr .85fr;gap:60px;align-items:center;width:100%}.hero__hello{font-family:var(--font-display);color:var(--violet-bright);font-weight:600;letter-spacing:.04em;margin-bottom:8px}.hero__name{font-family:var(--font-display);font-size:clamp(2.6rem,6.5vw,4.6rem);font-weight:800;line-height:1.02;letter-spacing:-.03em;margin-bottom:12px}.hero__role{font-family:var(--font-display);font-size:clamp(1.3rem,3vw,2rem);font-weight:700;line-height:1.15;margin-bottom:6px}.hero__subrole{color:var(--text-soft);font-weight:500;margin-bottom:22px}.hero__tagline{color:var(--text-soft);max-width:520px;margin-bottom:22px}.hero__quote{font-family:var(--font-display);font-style:italic;color:var(--text);border-left:3px solid var(--violet);padding-left:16px;margin-bottom:34px;font-size:1.05rem}.hero__cta{display:flex;gap:16px;flex-wrap:wrap}.hero__photo{position:relative;justify-self:center}.hero__photo-ring{position:relative;width:clamp(240px,30vw,360px);aspect-ratio:1;border-radius:50%;padding:6px;background:conic-gradient(from 180deg,var(--blue),var(--violet),var(--cyan),var(--blue));box-shadow:var(--shadow-violet)}.hero__photo-ring img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:6px solid var(--bg-2)}.hero__photo-glow{position:absolute;top:-30px;right:-30px;bottom:-30px;left:-30px;background:radial-gradient(circle,rgba(139,92,246,.4),transparent 65%);filter:blur(20px);z-index:-1}.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.about__intro p{color:var(--text-soft);margin-bottom:18px;font-size:1.05rem}.about__quote{font-family:var(--font-display);font-size:1.3rem;font-weight:600;line-height:1.4;margin-top:28px}.about__quote:before{content:"“";color:var(--violet-bright)}.about__quote:after{content:"”";color:var(--violet-bright)}.timeline{position:relative;padding-left:28px}.timeline:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--blue),var(--violet),transparent)}.timeline__item{position:relative;padding-bottom:26px}.timeline__item:last-child{padding-bottom:0}.timeline__dot{position:absolute;left:-27px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--violet);box-shadow:0 0 0 4px #8b5cf62e}.timeline__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .25s ease,border-color .25s ease}.timeline__card:hover{transform:translate(6px);border-color:var(--border-strong)}.timeline__year{font-family:var(--font-display);font-size:.78rem;font-weight:600;color:var(--violet-bright);letter-spacing:.04em}.timeline__card h3{font-family:var(--font-display);font-size:1.05rem;margin:4px 0 6px}.timeline__card p{color:var(--text-soft);font-size:.92rem}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}.skill-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px 26px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.skill-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(400px circle at top right,rgba(139,92,246,.12),transparent 70%);opacity:0;transition:opacity .3s ease}.skill-card:hover{transform:translateY(-6px);border-color:var(--border-strong);box-shadow:var(--shadow)}.skill-card:hover:before{opacity:1}.skill-card__icon{font-family:var(--font-display);font-size:1.4rem;font-weight:700;width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:var(--grad-soft);color:#fff;margin-bottom:18px}.skill-card h3{font-family:var(--font-display);font-size:1.1rem;margin-bottom:16px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{font-size:.82rem;padding:5px 12px;border-radius:99px;background:#ffffff0a;border:1px solid var(--border);color:var(--text-soft)}.tag--star{background:#8b5cf624;border-color:var(--border-strong);color:var(--violet-bright);font-weight:600}.tag--star:before{content:"★ ";font-size:.7rem}.skills__best{text-align:center;margin-top:36px;color:var(--text-soft)}.skills__best strong{color:var(--text);font-family:var(--font-display)}.projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:26px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.project-card:hover{transform:translateY(-8px);border-color:var(--border-strong);box-shadow:var(--shadow-violet)}.project-card__media{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--surface-solid);cursor:pointer}.project-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover .project-card__media img{transform:scale(1.06)}.project-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,rgba(7,6,15,.85));display:flex;align-items:flex-end;justify-content:center;padding-bottom:18px;opacity:0;transition:opacity .3s ease}.project-card__media:hover .project-card__overlay{opacity:1}.project-card__view{font-family:var(--font-display);font-size:.85rem;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.4);padding:8px 18px;border-radius:99px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-card__badge{position:absolute;top:14px;left:14px;font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:5px 12px;border-radius:99px;background:#f472b62e;border:1px solid rgba(244,114,182,.5);color:#f9a8d4;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-card__count{position:absolute;top:14px;right:14px;font-size:.75rem;font-weight:600;padding:5px 11px;border-radius:99px;background:#07060f99;border:1px solid var(--border-strong);color:var(--text-soft);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-card__body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}.project-card__name{font-family:var(--font-display);font-size:1.3rem;font-weight:700}.project-card__tagline{color:var(--violet-bright);font-size:.9rem;font-weight:500;margin:4px 0 12px}.project-card__desc{color:var(--text-soft);font-size:.93rem;margin-bottom:18px;flex:1}.project-card__tags{display:flex;flex-wrap:wrap;gap:7px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#04030aeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:40px;animation:fade .25s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.lightbox__img{max-width:min(92vw,1100px);max-height:82vh;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border-strong);box-shadow:var(--shadow)}.lightbox__btn{position:absolute;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#ffffff0f;border:1px solid var(--border-strong);font-size:1.6rem;color:#fff;transition:background .2s ease,transform .2s ease}.lightbox__btn:hover{background:#8b5cf64d;transform:scale(1.08)}.lightbox__close{top:26px;right:26px;width:46px;height:46px;font-size:1.4rem}.lightbox__prev{left:26px;top:50%;transform:translateY(-50%)}.lightbox__next{right:26px;top:50%;transform:translateY(-50%)}.lightbox__prev:hover,.lightbox__next:hover{transform:translateY(-50%) scale(1.08)}.lightbox__counter{position:absolute;bottom:26px;left:50%;transform:translate(-50%);font-family:var(--font-display);font-size:.85rem;color:var(--text-soft);background:#07060f99;padding:6px 16px;border-radius:99px;border:1px solid var(--border)}.section--contact{padding-bottom:90px}.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start;background:var(--surface);border:1px solid var(--border);border-radius:26px;padding:48px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;overflow:hidden}.contact:before{content:"";position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(139,92,246,.18),transparent 70%);filter:blur(10px)}.contact__info{position:relative}.contact__text{color:var(--text-soft);margin:16px 0 28px}.contact__email{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:600;color:var(--text);border:1px solid var(--border-strong);background:#8b5cf614;padding:12px 20px;border-radius:99px;transition:all .2s ease}.contact__email:hover{border-color:var(--violet-bright);transform:translateY(-2px)}.contact__email-label{display:block;font-size:.78rem;color:var(--text-muted);margin-bottom:8px;font-family:var(--font-display);letter-spacing:.04em}.form{position:relative;display:flex;flex-direction:column;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-family:var(--font-display);font-size:.85rem;font-weight:500;color:var(--text-soft)}.field input,.field textarea{font-family:inherit;font-size:.95rem;color:var(--text);background:#07060f80;border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 16px;transition:border-color .2s ease,box-shadow .2s ease;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--text-muted)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px #8b5cf633}.form__feedback{font-size:.9rem;padding:12px 16px;border-radius:var(--radius-sm)}.form__feedback--success{background:#34d3991f;border:1px solid rgba(52,211,153,.4);color:#6ee7b7}.form__feedback--error{background:#f871711f;border:1px solid rgba(248,113,113,.4);color:#fca5a5}.btn:disabled{opacity:.6;cursor:not-allowed}.socials{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.socials--start{justify-content:flex-start}.social-btn{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border-strong);background:#ffffff08;color:var(--text-soft);transition:transform .25s ease,color .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease}.social-btn svg{width:20px;height:20px;fill:currentColor}.social-btn__mono{font-family:var(--font-display);font-weight:800;font-size:1.05rem;line-height:1}.social-btn:hover{transform:translateY(-3px);color:#fff;border-color:var(--brand);background:color-mix(in srgb,var(--brand) 28%,transparent);box-shadow:0 10px 24px -8px var(--brand)}.nav__socials .social-btn{width:36px;height:36px}.nav__socials .social-btn svg{width:16px;height:16px}.nav__socials .social-btn__mono{font-size:.85rem}.nav__socials-mobile{display:none}.footer{border-top:1px solid var(--border);padding:36px 0;text-align:center;color:var(--text-muted)}.footer__inner{display:flex;flex-direction:column;gap:8px;align-items:center}.footer__quote{font-family:var(--font-display);font-style:italic;color:var(--text-soft)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}@media (max-width: 960px){.nav__socials{display:none}}@media (max-width: 940px){.hero__inner{grid-template-columns:1fr;text-align:center;gap:40px}.hero__photo{order:-1}.hero__quote{text-align:left;display:inline-block}.hero__cta{justify-content:center}.about{grid-template-columns:1fr;gap:40px}.contact{grid-template-columns:1fr;gap:36px;padding:36px 26px}}@media (max-width: 720px){.nav__links{position:fixed;top:var(--nav-h);left:0;right:0;flex-direction:column;gap:0;background:#080712fa;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .25s ease,transform .25s ease,visibility .25s ease}.nav__links--open{opacity:1;visibility:visible;transform:translateY(0)}.nav__links a{padding:14px 24px;width:100%}.nav__links a:after{display:none}.nav__socials-mobile{display:flex;justify-content:center;padding:14px 0 6px}.nav__burger{display:flex}.section{padding:80px 0}.hero__hello{font-size:.95rem}}
