*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:#e2e8f0;-webkit-font-smoothing:antialiased;background:#0b1121;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}::selection{color:#fff;background:#a78bfa4d}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}ul{list-style:none}section{padding:6rem 1.5rem;position:relative}.container{z-index:1;max-width:1100px;margin:0 auto;position:relative}.section-title{text-align:center;color:#f1f5f9;margin-bottom:3.5rem;font-size:2.25rem;font-weight:800;position:relative}.section-title:after{content:"";background:linear-gradient(135deg,#6366f1,#a855f7,#ec4899) 0 0/200% 200%;border-radius:2px;width:70px;height:4px;margin:.75rem auto 0;animation:3s infinite gradient-shift;display:block}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}.gradient-text{background:linear-gradient(135deg,#6366f1,#a855f7,#ec4899);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:4s infinite gradient-shift}.btn{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.85rem 2rem;font-size:.95rem;font-weight:600;transition:all .3s;display:inline-flex;position:relative;overflow:hidden}.btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1,#a855f7);box-shadow:0 4px 15px #6366f14d}.btn-primary:before{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px #6366f173}.btn-outline{color:#a78bfa;background:0 0;border:2px solid #a78bfa66}.btn-outline:hover{background:#a78bfa1a;border-color:#a78bfa;transform:translateY(-3px);box-shadow:0 8px 25px #a78bfa33}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(40px)}.reveal--visible{opacity:1;transform:translateY(0)}.scroll-progress{z-index:1001;background:linear-gradient(90deg,#6366f1,#a855f7,#ec4899);border-radius:0 2px 2px 0;height:3px;transition:width .1s;position:fixed;top:0;left:0}.back-to-top{color:#fff;cursor:pointer;opacity:0;pointer-events:none;z-index:999;background:linear-gradient(135deg,#6366f1,#a855f7);border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s;display:flex;position:fixed;bottom:2rem;right:2rem;transform:translateY(20px);box-shadow:0 4px 15px #6366f166}.back-to-top--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{transform:translateY(-3px);box-shadow:0 6px 20px #6366f199}.navbar{z-index:1000;width:100%;padding:1.2rem 0;transition:all .4s;position:fixed;top:0;left:0}.navbar--scrolled{-webkit-backdrop-filter:blur(20px)saturate(1.5);backdrop-filter:blur(20px)saturate(1.5);background:#0b1121d9;border-bottom:1px solid #6366f11a;padding:.7rem 0;box-shadow:0 1px 20px #0006}.navbar__inner{justify-content:space-between;align-items:center;display:flex}.navbar__logo{letter-spacing:-.5px;background:linear-gradient(135deg,#6366f1,#a855f7,#ec4899);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:900;animation:4s infinite gradient-shift}.navbar__links{gap:2.5rem;display:flex}.navbar__links a{color:#94a3b8;padding:.25rem 0;font-size:.9rem;font-weight:500;transition:color .3s;position:relative}.navbar__links a:after{content:"";background:linear-gradient(90deg,#6366f1,#a855f7);border-radius:1px;width:0;height:2px;transition:width .3s;position:absolute;bottom:-2px;left:0}.navbar__links a:hover,.navbar__links a.active{color:#e2e8f0}.navbar__links a:hover:after,.navbar__links a.active:after{width:100%}.navbar__toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.navbar__toggle span{background:#e2e8f0;border-radius:2px;width:24px;height:2px;transition:all .3s;display:block}.navbar__toggle--open span:first-child{transform:rotate(45deg)translate(5px,5px)}.navbar__toggle--open span:nth-child(2){opacity:0}.navbar__toggle--open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.hero{align-items:center;min-height:100vh;padding-top:5rem;display:flex;position:relative;overflow:hidden}.hero__bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero__bg-shape{filter:blur(80px);opacity:.15;border-radius:50%;position:absolute}.hero__bg-shape--1{background:#6366f1;width:500px;height:500px;animation:20s ease-in-out infinite float;top:-10%;right:-10%}.hero__bg-shape--2{background:#a855f7;width:400px;height:400px;animation:25s ease-in-out infinite reverse float;bottom:-10%;left:-10%}.hero__bg-shape--3{background:#ec4899;width:300px;height:300px;animation:18s ease-in-out 5s infinite float;top:40%;left:50%}.hero__bg-shape--4{background:#06b6d4;width:200px;height:200px;animation:22s ease-in-out 8s infinite float;top:20%;right:30%}@keyframes float{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-30px)scale(1.05)}66%{transform:translate(-20px,20px)scale(.95)}}.hero__inner{justify-content:space-between;align-items:center;gap:3rem;display:flex}.hero__content{flex:1}.hero__badge{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e40;border-radius:20px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.35rem 1rem;font-size:.8rem;font-weight:600;display:inline-flex;position:relative}.hero__badge:before{content:"";background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.hero__greeting{color:#a78bfa;margin-bottom:.5rem;font-size:1.1rem;font-weight:500}.hero__name{color:#f1f5f9;margin-bottom:.75rem;font-size:4rem;font-weight:800;line-height:1.1}.hero__title{color:#64748b;min-height:2rem;margin-bottom:1.25rem;font-size:1.5rem;font-weight:600}.hero__cursor{color:#a78bfa;margin-left:2px;font-weight:300;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.hero__tagline{color:#94a3b8;max-width:540px;margin-bottom:2rem;font-size:1.1rem;line-height:1.7}.hero__contact-row{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.hero__contact-row span{color:#64748b;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.hero__contact-row svg{color:#22c55e;flex-shrink:0}.hero__actions{gap:1rem;margin-bottom:2.5rem;display:flex}.hero__social{gap:1rem;display:flex}.hero__social a{color:#64748b;border-radius:8px;padding:.5rem;transition:all .3s}.hero__social a:hover{color:#a78bfa;background:#a78bfa1a;transform:translateY(-2px)}.hero__visual{flex-shrink:0}.hero__avatar{color:#a78bfa;background:linear-gradient(135deg,#6366f126,#a855f726);border-radius:50%;justify-content:center;align-items:center;width:300px;height:300px;font-size:4.5rem;font-weight:800;display:flex;position:relative}.hero__avatar-ring{-webkit-mask-composite:xor;background:linear-gradient(135deg,#6366f1,#a855f7,#ec4899,#6366f1) 0 0/300% 300% border-box;border:2px solid #0000;border-radius:50%;animation:4s linear infinite gradient-spin;position:absolute;inset:-6px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:padding-box,border-box;-webkit-mask-origin:padding-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes gradient-spin{0%{background-position:0%}to{background-position:300%}}.about{background:linear-gradient(#0b1121 0%,#111827 100%);position:relative}.about:before{content:"";background:linear-gradient(90deg,#0000,#6366f14d,#0000);height:1px;position:absolute;top:0;left:0;right:0}.about__grid{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;display:grid}.about__text-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293b80;border:1px solid #6366f11a;border-radius:16px;padding:2rem;transition:border-color .3s}.about__text-card:hover{border-color:#6366f14d}.about__text p{color:#94a3b8;margin-bottom:1rem;font-size:1.05rem;line-height:1.8}.about__text p:last-child{margin-bottom:0}.about__stats{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.about__stat{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a99;border:1px solid #6366f11f;border-radius:16px;padding:2rem 1rem;transition:all .3s}.about__stat:hover{border-color:#6366f14d;transform:translateY(-4px);box-shadow:0 10px 30px #0003}.about__stat-number{background:linear-gradient(135deg,#6366f1,#a855f7,#ec4899);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.25rem;font-weight:800;display:block}.about__stat-label{color:#64748b;margin-top:.35rem;font-size:.85rem;display:block}.skills{position:relative}.skills__grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.skills__card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293b66;border:1px solid #6366f114;border-radius:16px;padding:2rem;transition:all .4s;position:relative;overflow:hidden}.skills__card:before{content:"";transform-origin:0;background:linear-gradient(90deg,#6366f1,#a855f7);height:3px;transition:transform .4s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.skills__card:hover,.skills__card--active{border-color:#6366f140;transform:translateY(-6px);box-shadow:0 15px 40px #0000004d}.skills__card:hover:before,.skills__card--active:before{transform:scaleX(1)}.skills__card-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.skills__card-icon{color:#a78bfa;background:#6366f11a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.skills__card-title{color:#f1f5f9;font-size:1.15rem;font-weight:700}.skills__tags{flex-wrap:wrap;gap:.5rem;display:flex}.skills__tag{color:#cbd5e1;background:#6366f114;border:1px solid #6366f126;border-radius:20px;padding:.35rem .9rem;font-size:.85rem;font-weight:500;transition:all .3s}.skills__tag:hover{color:#a78bfa;background:#6366f12e;border-color:#6366f159;transform:translateY(-1px)}.projects{background:linear-gradient(#111827 0%,#0b1121 100%);position:relative}.projects:before{content:"";background:linear-gradient(90deg,#0000,#a78bfa4d,#0000);height:1px;position:absolute;top:0;left:0;right:0}.projects__grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.project-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a99;border:1px solid #6366f114;border-radius:16px;flex-direction:column;padding:2rem;transition:box-shadow .4s;display:flex;position:relative;overflow:hidden}.project-card:hover{box-shadow:0 20px 50px #0006}.project-card__glow{opacity:0;pointer-events:none;filter:blur(80px);border-radius:50%;width:200%;height:200%;transition:opacity .4s;position:absolute;top:-50%;left:-50%}.project-card:hover .project-card__glow{opacity:.06}.project-card__icon{margin-bottom:1.25rem}.project-card__meta{margin-bottom:.75rem}.project-card__period{text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.project-card__title{color:#f1f5f9;margin-bottom:.25rem;font-size:1.2rem;font-weight:700}.project-card__subtitle{color:#64748b;margin-bottom:.75rem;font-size:.85rem;font-weight:500}.project-card__description{color:#94a3b8;flex-grow:1;margin-bottom:1.25rem;font-size:.9rem;line-height:1.7}.project-card__tags{flex-wrap:wrap;gap:.5rem;margin-top:auto;display:flex}.project-card__tag{background:#a78bfa0f;border:1px solid #0000;border-radius:16px;padding:.25rem .8rem;font-size:.8rem;font-weight:500;transition:all .3s}.project-card__tag:hover{background:#a78bfa26;transform:translateY(-1px)}.contact{position:relative}.contact__grid{grid-template-columns:1fr 1.5fr;gap:3rem;display:grid}.contact__description{color:#94a3b8;margin-bottom:2rem;font-size:1.05rem;line-height:1.7}.contact__details{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.contact__detail{color:#94a3b8;background:#1e293b4d;border:1px solid #6366f10f;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;transition:all .3s;display:flex}.contact__detail:hover{background:#1e293b80;border-color:#6366f133;transform:translate(4px)}.contact__detail-icon{color:#a78bfa;background:#6366f11a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.contact__social{gap:.75rem;display:flex}.contact__social a{color:#64748b;background:#1e293b4d;border:1px solid #6366f114;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .3s;display:flex}.contact__social a:hover{color:#a78bfa;background:#6366f11a;border-color:#6366f14d;transform:translateY(-3px)}.contact__form{flex-direction:column;gap:1.25rem;display:flex}.contact__field{position:relative}.contact__field label{color:#64748b;margin-bottom:.4rem;font-size:.85rem;font-weight:500;transition:color .3s;display:block}.contact__field--focused label{color:#a78bfa}.contact__field input,.contact__field textarea{color:#e2e8f0;background:#1e293b66;border:1px solid #6366f11f;border-radius:12px;outline:none;width:100%;padding:.9rem 1.1rem;font-family:inherit;font-size:.95rem;transition:all .3s}.contact__field input:focus,.contact__field textarea:focus{background:#1e293b99;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.contact__field input::placeholder,.contact__field textarea::placeholder{color:#475569}.contact__submit{align-self:flex-start}.contact__submit:disabled{opacity:.7;cursor:not-allowed}.contact__error{color:#ef4444;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;padding:.5rem .75rem;font-size:.85rem}.contact__success{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293b80;border:1px solid #22c55e33;border-radius:16px;padding:3rem 2rem}.contact__success-icon{margin-bottom:1rem}.contact__success-icon svg{animation:.5s success-pop}@keyframes success-pop{0%{transform:scale(0)}50%{transform:scale(1.15)}to{transform:scale(1)}}.contact__success h3{background:linear-gradient(135deg,#22c55e,#16a34a);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.5rem}.contact__success p{color:#94a3b8;margin-bottom:1.5rem}.footer{background:#0b1121cc;border-top:1px solid #6366f114;padding:2.5rem 0}.footer__inner{color:#475569;justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.footer__heart{color:#ec4899;animation:1.5s infinite heart-beat;display:inline-block}@keyframes heart-beat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media (width<=968px){.hero__name{font-size:3rem}.hero__avatar{width:240px;height:240px;font-size:3.5rem}}@media (width<=768px){.navbar__links{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0b1121f2;border-bottom:1px solid #6366f11a;flex-direction:column;gap:1.25rem;width:100%;padding:1.5rem;display:none;position:absolute;top:100%;left:0;box-shadow:0 20px 40px #00000080}.navbar__links--open,.navbar__toggle{display:flex}.hero__inner{text-align:center;flex-direction:column-reverse}.hero__name{font-size:2.5rem}.hero__title{font-size:1.2rem}.hero__tagline{margin-left:auto;margin-right:auto}.hero__contact-row,.hero__actions,.hero__social{justify-content:center}.hero__avatar{width:200px;height:200px;font-size:3rem}.about__grid{grid-template-columns:1fr}.about__stats{grid-template-columns:repeat(3,1fr)}.contact__grid{grid-template-columns:1fr}.footer__inner{text-align:center;flex-direction:column;gap:.5rem}}@media (width<=480px){section{padding:4rem 1rem}.section-title{margin-bottom:2.5rem;font-size:1.75rem}.hero__name{font-size:2rem}.hero__avatar{width:160px;height:160px;font-size:2.5rem}.hero__actions{flex-direction:column;align-items:center}.hero__actions .btn{justify-content:center;width:100%;max-width:280px}.about__stats,.skills__grid,.projects__grid{grid-template-columns:1fr}.contact__submit{justify-content:center;width:100%}.back-to-top{width:38px;height:38px;bottom:1rem;right:1rem}}@media (width<=360px){.hero__name{font-size:1.7rem}.hero__badge{font-size:.7rem}}
