@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Syne:wght@400;700;800&display=swap";:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent: #3b82f6;--accent-light: #60a5fa;--accent-cyan: #06b6d4;--success: #10b981;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow-x:hidden}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:5px}::selection{background:var(--accent);color:#fff}a{text-decoration:none;color:#fff}.app{min-height:100vh}main{padding-top:0}.navbar{position:fixed;top:0;width:100%;padding:1.2rem 5%;display:flex;justify-content:space-between;align-items:center;z-index:1000;background:#0f172af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(59,130,246,.2);transition:var(--transition)}.navbar.scrolled{padding:.8rem 5%;box-shadow:0 10px 30px #0000004d}.navbar__logo{font-family:Syne,sans-serif;font-weight:800;font-size:1.5rem;color:var(--text-primary);text-decoration:none;z-index:1001}.navbar__logo span{color:var(--accent)}.navbar__menu{display:flex;align-items:center;gap:2.5rem}.navbar__links{display:flex;gap:2.5rem;list-style:none}.navbar__links a{text-decoration:none;color:var(--text-secondary);font-weight:500;position:relative;transition:var(--transition);font-size:.95rem}.navbar__links a:hover{color:var(--accent-light)}.navbar__links a:before{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--accent);transition:var(--transition)}.navbar__links a:hover:before{width:100%}.navbar__status{background:#10b9811a;color:var(--success);padding:.5rem 1rem;border-radius:50px;font-size:.85rem;font-weight:600;border:1px solid rgba(16,185,129,.3);display:flex;align-items:center;gap:.5rem;white-space:nowrap}.navbar__status:before{content:"";width:8px;height:8px;background:var(--success);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.navbar__hamburger{display:none;flex-direction:column;cursor:pointer;z-index:1001;padding:5px;background:none;border:none}.navbar__hamburger span{width:25px;height:3px;background:var(--text-primary);margin:3px 0;transition:var(--transition);border-radius:3px}.navbar__hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,6px)}.navbar__hamburger.active span:nth-child(2){opacity:0}.navbar__hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-8px)}@media(max-width:968px){.navbar__menu{display:none}.navbar__hamburger{display:flex}}.mobile-menu{position:fixed;top:0;left:0;width:100%;height:100vh;background:#0f172afa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2rem;opacity:0;visibility:hidden;transition:var(--transition);z-index:999;padding:2rem}.mobile-menu.active{opacity:1;visibility:visible}.mobile-menu a{color:var(--text-primary);text-decoration:none;font-size:clamp(1.5rem,5vw,2rem);font-weight:600;font-family:Syne,sans-serif;transition:var(--transition);opacity:0;transform:translateY(20px)}.mobile-menu.active a{opacity:1;transform:translateY(0)}.mobile-menu.active a:nth-child(1){transition-delay:.1s}.mobile-menu.active a:nth-child(2){transition-delay:.2s}.mobile-menu.active a:nth-child(3){transition-delay:.3s}.mobile-menu.active a:nth-child(4){transition-delay:.4s}.mobile-menu a:hover{color:var(--accent);transform:translate(10px)}.mobile-menu__status{margin-top:2rem;padding:1rem 2rem;background:#10b9811a;border:1px solid var(--success);color:var(--success);border-radius:50px;font-weight:600;display:flex;align-items:center;gap:.5rem;opacity:0;transform:translateY(20px);transition:all .3s ease .5s}.mobile-menu.active .mobile-menu__status{opacity:1;transform:translateY(0)}@media(min-width:969px){.mobile-menu{display:none}}.footer{padding:3rem 5%;background:var(--bg-secondary);border-top:1px solid rgba(59,130,246,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem}.footer__socials{display:flex;gap:2rem;flex-wrap:wrap}.footer__socials a{color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:var(--transition);font-weight:500}.footer__socials a:hover{color:var(--accent)}.footer__copyright{color:var(--text-secondary);font-size:.9rem;text-align:center}@media(max-width:640px){.footer{flex-direction:column;text-align:center;gap:1.5rem}.footer__socials{width:100%;justify-content:center}}.hero{min-height:100vh;display:flex;align-items:center;padding:8rem 5% 4rem;position:relative;overflow:hidden}.hero__grid{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(59,130,246,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.03) 1px,transparent 1px);background-size:50px 50px;z-index:0;-webkit-mask-image:radial-gradient(circle at center,black 40%,transparent 80%);mask-image:radial-gradient(circle at center,black 40%,transparent 80%)}.hero__shapes{position:absolute;width:100%;height:100%;overflow:hidden;z-index:1;pointer-events:none}.hero__shape{position:absolute;opacity:.1;animation:float 20s infinite}.hero__shape:nth-child(1){top:20%;left:10%;width:60px;height:60px;background:var(--accent);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.hero__shape:nth-child(2){top:60%;right:10%;width:100px;height:100px;border:3px solid var(--accent-cyan);border-radius:50%;animation-delay:-5s}.hero__shape:nth-child(3){bottom:20%;left:20%;width:50px;height:50px;background:var(--accent);clip-path:polygon(50% 0%,0% 100%,100% 100%);animation-delay:-10s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}.hero__container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center;width:100%;position:relative;z-index:2}.hero__tag{display:inline-block;padding:.5rem 1rem;border:1px solid var(--accent);color:var(--accent);font-size:.85rem;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:2px;background:#3b82f61a;border-radius:4px;animation:fadeInUp .8s ease-out}.hero h1{font-family:Syne,sans-serif;font-size:clamp(2rem,5vw,4rem);font-weight:800;line-height:1.1;margin-bottom:1rem;animation:fadeInUp .8s ease-out .2s both}.hero h1 span{color:var(--accent);display:inline-block;transition:var(--transition)}.hero h1 span:hover{transform:translateY(-5px);color:var(--accent-cyan)}.hero__subtitle{font-size:clamp(1.1rem,2vw,1.5rem);color:var(--accent-light);font-weight:600;margin-bottom:1.5rem;animation:fadeInUp .8s ease-out .3s both}.hero p{font-size:clamp(1rem,1.5vw,1.125rem);color:var(--text-secondary);margin-bottom:2rem;line-height:1.7;animation:fadeInUp .8s ease-out .4s both}.hero__info{display:flex;gap:1.5rem;margin-bottom:2.5rem;flex-wrap:wrap;animation:fadeInUp .8s ease-out .5s both}.hero__info-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem;background:#1e293b80;padding:.5rem 1rem;border-radius:50px;border:1px solid rgba(59,130,246,.1)}.hero__buttons{display:flex;gap:1rem;animation:fadeInUp .8s ease-out .6s both;flex-wrap:wrap}.hero__visual{position:relative;display:flex;justify-content:center;align-items:center;animation:fadeInUp .8s ease-out .4s both}.photo{position:relative;width:100%;max-width:400px;aspect-ratio:3/4}.photo__frame{position:relative;width:100%;height:100%;overflow:hidden;border-radius:20px;border:2px solid rgba(59,130,246,.3);background:var(--bg-secondary);box-shadow:0 20px 50px #3b82f633;transition:var(--transition)}.photo__frame:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 30px 60px #3b82f64d}.photo__frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(20%) contrast(1.1);transition:var(--transition)}.photo__frame:hover img{filter:grayscale(0%) contrast(1)}.photo__overlay{position:absolute;bottom:0;left:0;right:0;height:150px;background:linear-gradient(to top,rgba(15,23,42,.9),transparent);pointer-events:none}.photo__deco{position:absolute;width:100%;height:100%;top:20px;left:20px;border:2px solid var(--accent-cyan);border-radius:20px;z-index:-1;opacity:.5;transition:var(--transition)}.photo:hover .photo__deco{transform:translate(10px,10px)}.photo__dots{position:absolute;top:-30px;left:-30px;width:100px;height:100px;background-image:radial-gradient(circle,var(--accent) 2px,transparent 2px);background-size:20px 20px;opacity:.3;z-index:-1}.photo__badge{position:absolute;bottom:-15px;right:-15px;background:var(--accent);color:#fff;padding:.8rem 1.2rem;border-radius:12px;font-weight:700;font-size:.9rem;box-shadow:0 10px 30px #3b82f666;z-index:10;border:3px solid var(--bg-primary);font-family:Syne,sans-serif}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:968px){.hero__container{grid-template-columns:1fr;text-align:center;gap:3rem}.hero__content{max-width:100%;order:2}.hero__visual{order:1}.photo{max-width:300px;aspect-ratio:1/1}.photo__deco,.photo__dots{display:none}.hero__buttons,.hero__info{justify-content:center}}@media(max-width:640px){.hero{padding-top:6rem;min-height:auto;padding-bottom:3rem}.hero h1{font-size:2.2rem}.photo{max-width:250px}.photo__badge{font-size:.8rem;padding:.6rem 1rem;bottom:-10px;right:-10px}.hero__info{flex-direction:column;align-items:stretch;gap:.75rem}.hero__info-item{justify-content:center;font-size:.85rem}.hero__buttons{flex-direction:column;width:100%}.btn{width:100%}}.about{padding:6rem 5%;background:var(--bg-secondary)}.container{max-width:1200px;margin:0 auto}.section-header{margin-bottom:3rem;text-align:left}.section-tag{color:var(--accent);text-transform:uppercase;letter-spacing:3px;font-size:.85rem;margin-bottom:.5rem;display:block;font-weight:600}.section-title{font-family:Syne,sans-serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:700;line-height:1.2}.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about__text{font-size:1.1rem;color:var(--text-secondary);line-height:1.8}.about__text p{margin-bottom:1.5rem}.about__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.stat-card{padding:1.5rem;border:1px solid rgba(59,130,246,.2);transition:var(--transition);background:#0f172a80;border-radius:12px;text-align:center}.stat-card:hover{border-color:var(--accent);transform:translateY(-5px);box-shadow:0 10px 30px #3b82f61a}.stat-card__number{font-family:Syne,sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--accent);display:block;margin-bottom:.5rem}.stat-card__label{color:var(--text-secondary);font-size:.9rem;line-height:1.4}@media(max-width:968px){.about__grid{grid-template-columns:1fr;gap:3rem}.section-header{text-align:center}}@media(max-width:640px){.about{padding:4rem 1.5rem}.about__stats{gap:1rem}.stat-card{padding:1rem}}.project-card{position:relative;overflow:hidden;background:var(--bg-secondary);border:1px solid rgba(59,130,246,.1);transition:var(--transition);cursor:pointer;border-radius:16px;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-10px);border-color:var(--accent);box-shadow:0 20px 40px #3b82f633}.project-card__image{width:100%;height:200px;position:relative;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,var(--start-color, #1e3a8a),var(--end-color, #3b82f6))}.project-card__image.from-blue-900{--start-color: #1e3a8a;--end-color: #3b82f6}.project-card__image.from-cyan-900{--start-color: #164e63;--end-color: #06b6d4}.project-card__image.from-indigo-900{--start-color: #312e81;--end-color: #6366f1}.project-card__arrow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);font-size:2rem;color:#fff;opacity:0;transition:var(--transition);z-index:2}.project-card:hover .project-card__arrow{opacity:1;transform:translate(-50%,-50%) scale(1)}.project-card__image:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--accent);opacity:0;transition:opacity .3s}.project-card:hover .project-card__image:after{opacity:.8}.project-card__content{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.project-card__category{color:var(--accent-cyan);font-size:.8rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;font-weight:600}.project-card__title{font-family:Syne,sans-serif;font-size:1.3rem;margin-bottom:.75rem;transition:color .3s}.project-card:hover .project-card__title{color:var(--accent)}.project-card__description{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:1rem;flex-grow:1}.project-card__tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.project-card__tech span{background:#3b82f61a;color:var(--accent-light);padding:.3rem .8rem;border-radius:50px;font-size:.75rem;border:1px solid rgba(59,130,246,.2);font-weight:500}.project-card__image{background-size:cover;background-position:center}.projects{padding:6rem 5%}.projects__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}@media(max-width:640px){.projects{padding:4rem 1.5rem}.projects__grid{grid-template-columns:1fr;gap:1.5rem}}.skill-category{background:var(--bg-primary);padding:2rem;border-radius:16px;border:1px solid rgba(59,130,246,.1);transition:var(--transition)}.skill-category:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 10px 30px #0003}.skill-category__title{color:var(--accent);margin-bottom:1.5rem;font-family:Syne,sans-serif;font-size:1.2rem;display:flex;align-items:center;gap:.5rem}.skill-category__list{display:flex;flex-wrap:wrap;gap:.6rem}.skill-tag{background:#3b82f61a;color:var(--text-primary);padding:.5rem 1rem;border-radius:50px;font-size:.9rem;border:1px solid rgba(59,130,246,.2);transition:var(--transition);cursor:default}.skill-tag:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}.skills{padding:6rem 5%;background:var(--bg-secondary)}.skills__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:3rem}@media(max-width:640px){.skills{padding:4rem 1.5rem}.skills__grid{grid-template-columns:1fr}}.contact{padding:6rem 5%;background:var(--bg-primary);text-align:center;position:relative;overflow:hidden}.contact__glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);pointer-events:none}.contact__content{max-width:700px;margin:0 auto;position:relative;z-index:1}.contact__title{font-family:Syne,sans-serif;font-size:clamp(1.8rem,4vw,3rem);margin-bottom:1rem}.contact__subtitle{color:var(--accent);font-size:1.1rem;margin-bottom:1.5rem;font-weight:600}.contact__text{color:var(--text-secondary);font-size:1.1rem;margin-bottom:3rem}.contact__email{display:inline-block;font-family:Syne,sans-serif;font-size:clamp(1.2rem,3vw,1.8rem);color:var(--text-primary);text-decoration:none;position:relative;transition:var(--transition);margin-bottom:3rem;word-break:break-all}.contact__email:hover{color:var(--accent)}.contact__email:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--accent);transition:var(--transition)}.contact__email:hover:after{width:100%}.contact__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2rem;text-align:left}.contact__item{color:var(--text-secondary);display:flex;align-items:center;gap:1rem;padding:1rem;background:#1e293b80;border-radius:12px;border:1px solid rgba(59,130,246,.1);transition:var(--transition)}.contact__item:hover{border-color:var(--accent);transform:translateY(-3px)}.contact__icon{width:40px;height:40px;background:#3b82f61a;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.contact__item strong{color:var(--text-primary);display:block;font-size:.95rem;margin-bottom:.2rem}.contact__item span{font-size:.85rem}@media(max-width:640px){.contact{padding:4rem 1.5rem}.contact__details{grid-template-columns:1fr}}
