*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(135deg,#0f172a,#1e293b,#374151);color:#fff;overflow-x:hidden;min-height:100vh;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 20px}.text-center{text-align:center}.text-white{color:#fff}.text-gray-300{color:#d1d5db}.text-gradient{background:linear-gradient(135deg,#14b8a6,#a855f7,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,#14b8a6,#a855f7);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #14b8a64d}.cursor{position:fixed;width:32px;height:32px;background:#00ffc6;border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:difference;transition:all .1s ease;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #00ffc64d;transform:scale(1)}50%{box-shadow:0 0 40px #00ffc699;transform:scale(1.1)}}.particles-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.particle{position:absolute;width:4px;height:4px;background:#00ffc6;border-radius:50%;opacity:.3;animation:float-particle linear infinite}.particle:nth-child(odd){background:#a855f7}@keyframes float-particle{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.3}90%{opacity:.3}to{transform:translateY(-100vh) rotate(360deg);opacity:0}}.home{min-height:100vh;position:relative}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.hero-content{text-align:center;max-width:800px}.hero-title{font-size:4rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,#14b8a6,#a855f7,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 3s ease infinite}.hero-subtitle{font-size:1.5rem;color:#d1d5db;margin-bottom:1.5rem;font-weight:300}.hero-description{font-size:1.1rem;color:#9ca3af;margin-bottom:2.5rem;line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-secondary{padding:12px 24px;background:transparent;color:#14b8a6;border:2px solid #14b8a6;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#14b8a6;color:#0f172a;transform:translateY(-2px)}.about-section{padding:5rem 0;position:relative;z-index:2}.section-title{font-size:2.5rem;text-align:center;margin-bottom:3rem;color:#fff;font-weight:700}.about-content{max-width:700px;margin:0 auto;text-align:center}.about-content p{font-size:1.1rem;line-height:1.7;color:#d1d5db;margin-bottom:2rem}.skill-tag{padding:.5rem 1rem;background:#14b8a61a;color:#14b8a6;border:1px solid rgba(20,184,166,.3);border-radius:20px;font-size:.9rem;font-weight:500}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media (max-width: 768px){.hero-title{font-size:2.5rem}.hero-buttons{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{width:200px}}.projects-section{padding:5rem 0;position:relative;z-index:2}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.project-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:15px;overflow:hidden;transition:all .3s ease;cursor:pointer}.project-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #0000004d;border-color:#14b8a64d}.project-image{position:relative;height:200px;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-card:hover .project-image img{transform:scale(1.1)}.featured-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600}.project-content{padding:1.5rem}.project-content h3{font-size:1.4rem;font-weight:700;margin-bottom:1rem;color:#fff}.project-content p{color:#d1d5db;margin-bottom:1.5rem;line-height:1.6}.project-tech{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.tech-tag{padding:.3rem .8rem;background:#14b8a61a;color:#14b8a6;border:1px solid rgba(20,184,166,.3);border-radius:15px;font-size:.8rem;font-weight:500}.project-links{display:flex;gap:1rem}.project-links .btn-primary,.project-links .btn-secondary{flex:1;text-align:center;padding:.8rem 1rem;font-size:.9rem}.contact-section{padding:5rem 0;text-align:center;position:relative;z-index:2}.contact-description{font-size:1.2rem;color:#d1d5db;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.contact-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-links{flex-direction:column}.contact-buttons{flex-direction:column;align-items:center}.contact-buttons .btn-primary,.contact-buttons .btn-secondary{width:200px}}.navigation{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1rem 0;transition:all .3s ease;background:#0f172a1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navigation.scrolled{background:#0f172ae6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1)}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between}.logo-btn{background:linear-gradient(135deg,#14b8a6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.8rem;font-weight:800;border:none;cursor:pointer;transition:all .3s ease}.logo-btn:hover{transform:scale(1.1)}.nav-menu{display:flex;list-style:none;gap:2rem;margin:0;padding:0}.nav-link{background:none;border:none;color:#d1d5db;font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 1rem;border-radius:8px;transition:all .3s ease;position:relative}.nav-link:hover{color:#14b8a6;background:#14b8a61a}.nav-link.active{color:#14b8a6;background:#14b8a633}.nav-contact-btn{background:linear-gradient(135deg,#14b8a6,#a855f7);color:#fff;padding:.7rem 1.5rem;border-radius:25px;text-decoration:none;font-weight:600;transition:all .3s ease}.nav-contact-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px #14b8a64d}.hero-section{padding-top:5rem}@media (max-width: 768px){.nav-container{padding:0 1rem}.nav-menu{display:none}.logo-btn{font-size:1.5rem}.nav-contact-btn{padding:.5rem 1rem;font-size:.9rem}}.animated-section{opacity:0;transition:all .8s cubic-bezier(.25,.46,.45,.94)}.animated-section.animate{opacity:1}.fadeInUp{transform:translateY(50px)}.fadeInUp.animate{transform:translateY(0)}.fadeInLeft{transform:translate(-50px)}.fadeInLeft.animate{transform:translate(0)}.fadeInRight{transform:translate(50px)}.fadeInRight.animate{transform:translate(0)}.zoomIn{transform:scale(.8)}.zoomIn.animate{transform:scale(1)}.hero-buttons{animation:fadeInUp 1s ease-out .8s both}.skills-preview .skill-tag{animation:fadeInUp .6s ease-out both}@media (max-width: 1024px){.hero-title{font-size:3rem}.container{padding:0 1.5rem}}@media (max-width: 768px){.hero-title{font-size:2.5rem}.hero-description{font-size:1rem}.section-title{font-size:2rem}.projects-grid{grid-template-columns:1fr}.skills-preview{gap:.5rem}.skill-tag{font-size:.8rem;padding:.4rem .8rem}}@media (max-width: 480px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1.2rem}.hero-description{font-size:.95rem}.hero-buttons{flex-direction:column;gap:1rem}.btn-primary,.btn-secondary{width:100%;max-width:250px}.project-content{padding:1rem}.contact-buttons{flex-direction:column;align-items:center;gap:1rem}}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.project-card,.btn-primary,.btn-secondary,.nav-link,.cursor{will-change:transform}.home{animation:pageLoad .5s ease-out}@keyframes pageLoad{0%{opacity:0}to{opacity:1}}.profile-image-container{margin-bottom:2rem;display:flex;justify-content:center}.profile-image{width:150px;height:150px;border-radius:50%;border:4px solid;border-image:linear-gradient(135deg,#14b8a6,#a855f7,#06b6d4) 1;object-fit:cover;animation:profile-glow 3s ease-in-out infinite;transition:all .3s ease}.profile-image:hover{transform:scale(1.1);box-shadow:0 0 30px #14b8a666}@keyframes profile-glow{0%,to{box-shadow:0 0 20px #14b8a64d}50%{box-shadow:0 0 40px #a855f766}}.dynamic-word{color:#14b8a6;font-weight:600;position:relative}.typing-cursor{color:#14b8a6;animation:blink 1s infinite;font-weight:400}.end-text{color:#9ca3af}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.logo-btn{background:none;border:none;cursor:pointer;padding:0}.logo-circle{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#14b8a6,#a855f7);display:flex;align-items:center;justify-content:center;animation:rotate 10s linear infinite;transition:all .3s ease;position:relative;overflow:hidden}.logo-circle:before{content:"";position:absolute;inset:2px;background:#0f172a;border-radius:50%;z-index:1}.logo-text{font-size:1rem;font-weight:800;background:linear-gradient(135deg,#14b8a6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:2}.logo-circle:hover{animation-play-state:paused;transform:scale(1.1);box-shadow:0 0 20px #14b8a666}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-content{padding:2rem 0}@media (max-width: 768px){.profile-image{width:120px;height:120px}.logo-circle{width:45px;height:45px}.logo-text{font-size:.9rem}}@media (max-width: 480px){.profile-image{width:100px;height:100px}.hero-description{font-size:1rem;line-height:1.6}.dynamic-word{display:inline-block;min-width:100px}}.profile-image-container{animation:bounceIn 1s ease-out}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.btn-primary,.btn-secondary,.nav-contact-btn{position:relative;overflow:hidden;z-index:1}.btn-primary:before,.btn-secondary:before,.nav-contact-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;z-index:-1}.btn-primary:active:before,.btn-secondary:active:before,.nav-contact-btn:active:before{width:300px;height:300px;transition:width 0s,height 0s}.btn-primary:hover:before,.btn-secondary:hover:before{width:200px;height:200px;background:#ffffff1a}.project-card{transition:all .4s cubic-bezier(.25,.46,.45,.94);transform-style:preserve-3d;perspective:1000px;will-change:transform}.project-card:hover{transform:perspective(1000px) rotateX(5deg) rotateY(5deg) translateZ(30px);box-shadow:0 25px 50px #0006,0 0 0 1px #14b8a64d}.project-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#14b8a61a,#a855f71a);opacity:0;transition:opacity .3s ease;border-radius:15px;z-index:1}.project-card:hover:before{opacity:1}.project-content{position:relative;z-index:2}.skills-preview{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}.skill-tag{animation:skillPop .8s cubic-bezier(.68,-.55,.265,1.55) both;transform-origin:center;will-change:transform}.skills-preview .skill-tag:nth-child(1){animation-delay:.1s}.skills-preview .skill-tag:nth-child(2){animation-delay:.2s}.skills-preview .skill-tag:nth-child(3){animation-delay:.3s}.skills-preview .skill-tag:nth-child(4){animation-delay:.4s}.skills-preview .skill-tag:nth-child(5){animation-delay:.5s}.skills-preview .skill-tag:nth-child(6){animation-delay:.6s}@keyframes skillPop{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.2) rotate(-90deg)}to{transform:scale(1) rotate(0);opacity:1}}.skill-tag:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 5px 15px #14b8a64d;background:#14b8a633}.glassmorphism-enhanced{background:#ffffff0d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3,inset 0 -1px #ffffff1a;position:relative}.glassmorphism-enhanced:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)}.project-card,.about-section .container,.contact-section .container{background:#ffffff0d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3;border-radius:20px;position:relative}.nav-link{position:relative;overflow:hidden}.nav-link:after{content:"";position:absolute;bottom:0;left:-100%;width:100%;height:2px;background:linear-gradient(90deg,#14b8a6,#a855f7);transition:left .3s ease}.nav-link:hover:after,.nav-link.active:after{left:0}.profile-image{position:relative;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.profile-image:before{content:"";position:absolute;inset:-4px;background:linear-gradient(45deg,#14b8a6,#a855f7,#06b6d4,#14b8a6);background-size:300% 300%;border-radius:50%;z-index:-1;animation:borderRotate 3s linear infinite}.profile-image:hover{transform:scale(1.1) rotate(5deg)}@keyframes borderRotate{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.hero-title{background:linear-gradient(45deg,#14b8a6,#a855f7,#06b6d4,#14b8a6);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:textWave 4s ease-in-out infinite}@keyframes textWave{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.btn-primary,.btn-secondary{transition:all .3s cubic-bezier(.25,.46,.45,.94)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 15px 35px #14b8a666}.btn-secondary:hover{transform:translateY(-3px);box-shadow:0 15px 35px #14b8a64d}.about-section,.projects-section,.contact-section{position:relative}.about-section:before,.projects-section:before,.contact-section:before{content:"";position:absolute;inset:0;background:#ffffff05;transform:skewY(-1deg);transform-origin:top left}.cursor{background:radial-gradient(circle,#00ffc6 0%,transparent 70%);filter:blur(1px)}.cursor:after{content:"";position:absolute;top:50%;left:50%;width:4px;height:4px;background:#00ffc6;border-radius:50%;transform:translate(-50%,-50%)}@media (max-width: 768px){.project-card:hover{transform:perspective(1000px) rotateX(2deg) rotateY(2deg) translateZ(15px)}.skillPop{animation-duration:.6s}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px)}}@media (max-width: 480px){.project-card:hover{transform:translateY(-5px)}.profile-image:hover{transform:scale(1.05)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.mobile-menu-toggle{display:none;flex-direction:column;justify-content:space-around;width:30px;height:30px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.mobile-menu-toggle span{width:100%;height:3px;background:#14b8a6;border-radius:2px;transition:all .3s cubic-bezier(.25,.46,.45,.94);transform-origin:1px}.mobile-menu-toggle.active span:first-child{transform:rotate(45deg)}.mobile-menu-toggle.active span:nth-child(2){opacity:0;transform:translate(20px)}.mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg)}.mobile-menu{position:fixed;top:0;right:-100%;width:320px;height:100vh;background:#0f172af2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid rgba(255,255,255,.1);z-index:1000;transition:right .4s cubic-bezier(.25,.46,.45,.94);overflow-y:auto}.mobile-menu.open{right:0;box-shadow:-10px 0 30px #0000004d}.mobile-menu-content{padding:2rem;height:100%;display:flex;flex-direction:column}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.mobile-logo .logo-circle{width:45px;height:45px}.mobile-menu-close{background:none;border:none;color:#14b8a6;font-size:2rem;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.mobile-menu-close:hover{background:#14b8a61a;transform:rotate(90deg)}.mobile-nav-menu{list-style:none;padding:0;margin:0;flex:1}.mobile-nav-menu li{margin-bottom:.5rem;animation:slideInFromRight .5s ease-out both}.mobile-nav-link{display:block;width:100%;padding:1rem 1.5rem;background:none;border:none;color:#d1d5db;font-size:1.2rem;font-weight:500;text-align:left;cursor:pointer;border-radius:12px;transition:all .3s ease;position:relative;overflow:hidden}.mobile-nav-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(20,184,166,.1),transparent);transition:left .5s ease}.mobile-nav-link:hover:before{left:100%}.mobile-nav-link:hover{color:#14b8a6;background:#14b8a61a;transform:translate(10px)}.mobile-nav-link.active{color:#14b8a6;background:#14b8a633;box-shadow:0 0 20px #14b8a633}.mobile-menu-footer{margin-top:auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.mobile-contact-btn{display:block;width:100%;padding:1rem;background:linear-gradient(135deg,#14b8a6,#a855f7);color:#fff;text-decoration:none;border-radius:12px;font-weight:600;text-align:center;margin-bottom:1rem;transition:all .3s ease}.mobile-contact-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px #14b8a64d}.mobile-menu-social{text-align:center;color:#9ca3af;font-size:.9rem}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.desktop-menu,.desktop-cta{display:none}.mobile-menu-toggle{display:flex}.nav-container{justify-content:space-between}}@media (max-width: 480px){.mobile-menu{width:100%;right:-100%}.mobile-menu.open{right:0}}body.mobile-menu-open{overflow:hidden}.about-section .container,.contact-section .container{padding:3rem 2rem;margin:2rem auto;border-radius:20px;position:relative}.about-section .section-title,.contact-section .section-title{font-size:clamp(2rem,5vw,3.5rem);line-height:1.2;margin-bottom:clamp(1.5rem,4vw,3rem)}.about-content p{font-size:clamp(1rem,2.5vw,1.2rem);line-height:clamp(1.6,2vw,1.8);margin-bottom:clamp(1.5rem,3vw,2rem);max-width:100%}.contact-description{font-size:clamp(1.1rem,2.8vw,1.3rem);line-height:clamp(1.5,2vw,1.7);margin-bottom:clamp(1.5rem,4vw,2rem);max-width:100%}.skills-preview{gap:clamp(.5rem,2vw,1rem);margin-top:clamp(1rem,3vw,2rem)}.skill-tag{padding:clamp(.4rem,1.5vw,.6rem) clamp(.8rem,2.5vw,1.2rem);font-size:clamp(.8rem,2vw,1rem);border-radius:clamp(15px,3vw,20px)}.contact-buttons{gap:clamp(1rem,3vw,1.5rem);margin-top:clamp(1.5rem,4vw,2rem)}.contact-buttons .btn-primary,.contact-buttons .btn-secondary{padding:clamp(.8rem,2.5vw,1.2rem) clamp(1.5rem,4vw,2.5rem);font-size:clamp(.9rem,2.2vw,1.1rem);border-radius:clamp(8px,2vw,12px);min-width:clamp(140px,25vw,200px)}@media (max-width: 1200px){.about-section .container,.contact-section .container{padding:2.5rem 1.8rem;margin:1.5rem auto}}@media (max-width: 1024px){.about-section .container,.contact-section .container{padding:2.2rem 1.5rem;margin:1.2rem auto}.about-content p,.contact-description{font-size:1.1rem;line-height:1.7}}@media (max-width: 768px){.about-section .container,.contact-section .container{padding:2rem 1.2rem;margin:1rem auto;border-radius:15px}.about-section .section-title,.contact-section .section-title{font-size:2.2rem;margin-bottom:2rem}.about-content p{font-size:1.05rem;line-height:1.65;margin-bottom:1.8rem}.contact-description{font-size:1.15rem;line-height:1.6;margin-bottom:1.8rem}.skills-preview{gap:.7rem;justify-content:center}.skill-tag{padding:.5rem 1rem;font-size:.9rem}}@media (max-width: 640px){.about-section .container,.contact-section .container{padding:1.8rem 1rem;margin:.8rem auto;border-radius:12px}.about-section .section-title,.contact-section .section-title{font-size:2rem;margin-bottom:1.5rem}.about-content p{font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.contact-description{font-size:1.1rem;line-height:1.5;margin-bottom:1.5rem}.contact-buttons{flex-direction:column;align-items:center;gap:1rem}.contact-buttons .btn-primary,.contact-buttons .btn-secondary{width:100%;max-width:250px;padding:1rem 1.5rem;font-size:1rem}}@media (max-width: 480px){.about-section .container,.contact-section .container{padding:1.5rem .8rem;margin:.5rem auto;border-radius:10px}.about-section .section-title,.contact-section .section-title{font-size:1.8rem;margin-bottom:1.2rem}.about-content p{font-size:.95rem;line-height:1.55;margin-bottom:1.2rem}.contact-description{font-size:1.05rem;line-height:1.5;margin-bottom:1.2rem}.skills-preview{gap:.5rem}.skill-tag{padding:.4rem .8rem;font-size:.85rem;border-radius:15px}.contact-buttons .btn-primary,.contact-buttons .btn-secondary{padding:.9rem 1.2rem;font-size:.95rem}}@media (max-width: 360px){.about-section .container,.contact-section .container{padding:1.2rem .6rem;margin:.3rem auto}.about-section .section-title,.contact-section .section-title{font-size:1.6rem;margin-bottom:1rem}.about-content p{font-size:.9rem;line-height:1.5;margin-bottom:1rem}.contact-description{font-size:1rem;line-height:1.45;margin-bottom:1rem}.skill-tag{padding:.35rem .7rem;font-size:.8rem}}.about-section .container:before,.contact-section .container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);border-radius:20px 20px 0 0}.about-section .container:hover,.contact-section .container:hover{transform:translateY(-2px);box-shadow:0 12px 40px #0006,inset 0 1px #ffffff4d;transition:all .3s ease}.about-content strong{color:#14b8a6;font-weight:600;font-size:clamp(1rem,2.5vw,1.2rem)}.about-section,.contact-section{padding:clamp(3rem,8vw,5rem) 0}@media (hover: none) and (pointer: coarse){.cursor{display:none!important}}@media (hover: none){.btn-primary,.btn-secondary{min-height:48px;padding:1rem 1.5rem;font-size:1rem}.project-card{padding:.5rem;margin-bottom:1rem}.project-card:active{transform:scale(.98);transition:transform .1s ease}.mobile-nav-link{min-height:48px;padding:1rem 1.5rem;font-size:1.1rem}.skill-tag{min-height:36px;padding:.6rem 1rem}.btn-primary:active,.btn-secondary:active,.nav-contact-btn:active{transform:scale(.95);transition:transform .1s ease}.project-card:active{box-shadow:0 15px 35px #0000004d}.nav-link:active{background:#14b8a633}.mobile-nav-link:active{background:#14b8a64d;transform:translate(5px)}.profile-image:active{transform:scale(1.05);transition:transform .2s ease}}@media (hover: none) and (max-width: 768px){.hero-buttons,.contact-buttons{gap:1.5rem;margin-top:2rem}.hero-description{font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.btn-primary,.btn-secondary{min-width:160px;border-radius:12px}.project-content{padding:1.5rem}.project-content h3{font-size:1.3rem;margin-bottom:1rem}.project-content p{font-size:1rem;line-height:1.6;margin-bottom:1.5rem}}@supports (hover: none){.cursor{display:none}.project-card:focus-within{transform:translateY(-5px);box-shadow:0 15px 35px #0000004d}.btn-primary:focus,.btn-secondary:focus{outline:2px solid #14b8a6;outline-offset:2px}}@media (hover: none){html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}input,select,textarea{font-size:16px}}@media (hover: none){*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.hero-description,.about-content p,.contact-description,.project-content p{-webkit-user-select:text;user-select:text}}.project-carousel-container{margin-bottom:4rem}.carousel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.carousel-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.carousel-controls{display:flex;align-items:center;gap:1rem}.autoplay-btn{background:#14b8a61a;border:1px solid rgba(20,184,166,.3);color:#14b8a6;padding:.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.autoplay-btn:hover{background:#14b8a633;transform:scale(1.05)}.project-counter{color:#9ca3af;font-size:.9rem;font-weight:500}.carousel-wrapper{position:relative;overflow:hidden;border-radius:20px;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}.carousel-track{position:relative;width:100%;height:500px}.carousel-slides{display:flex;height:100%;will-change:transform}.carousel-slide{min-width:100%;height:100%}.project-showcase{display:grid;grid-template-columns:1fr 1fr;height:100%}.project-image-section{position:relative;overflow:hidden}.project-image-wrapper{position:relative;width:100%;height:100%;overflow:hidden}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.carousel-wrapper:hover .project-image{transform:scale(1.05)}.image-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#0006,#14b8a64d);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease}.carousel-wrapper:hover .image-overlay{opacity:1}.project-links{display:flex;gap:1rem;flex-direction:column}.project-link-btn{display:flex;align-items:center;gap:.5rem;padding:.8rem 1.5rem;background:#ffffffe6;color:#1f2937;text-decoration:none;border-radius:10px;font-weight:600;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-link-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:0 10px 30px #0000004d}.project-link-btn.secondary{background:#000000b3;color:#fff;border:1px solid rgba(255,255,255,.3)}.project-link-btn.secondary:hover{background:#000000e6;border-color:#14b8a6}.featured-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:.3rem;animation:pulse-glow 2s ease-in-out infinite}.project-info-section{padding:2rem;display:flex;flex-direction:column;justify-content:space-between;background:#0f172acc}.project-header{margin-bottom:1rem}.project-title{font-size:1.8rem;font-weight:700;color:#fff;margin-bottom:.5rem;line-height:1.2}.project-meta{display:flex;gap:1rem;align-items:center}.project-year{color:#14b8a6;font-weight:600}.project-status{background:#22c55e33;color:#22c55e;padding:.2rem .8rem;border-radius:15px;font-size:.8rem;font-weight:500}.project-description{color:#d1d5db;line-height:1.6;margin-bottom:1.5rem;font-size:1rem}.project-tech{margin-bottom:1.5rem}.tech-label{display:block;color:#9ca3af;font-size:.9rem;font-weight:500;margin-bottom:.8rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background:#14b8a61a;color:#14b8a6;padding:.3rem .8rem;border-radius:15px;font-size:.8rem;font-weight:500;border:1px solid rgba(20,184,166,.3)}.tech-tag.more{background:#9ca3af1a;color:#9ca3af;border-color:#9ca3af4d}.carousel-progress{margin-top:auto}.progress-bar{width:100%;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#14b8a6,#a855f7);border-radius:2px}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:10;opacity:0}.carousel-wrapper:hover .carousel-arrow{opacity:1}.carousel-arrow:hover{background:#14b8a6cc;transform:translateY(-50%) scale(1.1);box-shadow:0 10px 30px #14b8a64d}.carousel-arrow-left{left:1rem}.carousel-arrow-right{right:1rem}.carousel-dots{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:10}.carousel-dot{width:12px;height:12px;border-radius:50%;border:none;background:#fff6;cursor:pointer;transition:all .3s ease}.carousel-dot.active{background:#14b8a6;transform:scale(1.2);box-shadow:0 0 10px #14b8a680}.carousel-dot:hover{background:#ffffffb3;transform:scale(1.1)}@media (max-width: 1024px){.project-showcase{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.carousel-track{height:600px}.project-info-section{padding:1.5rem}.project-title{font-size:1.5rem}}@media (max-width: 768px){.carousel-header{flex-direction:column;gap:1rem;align-items:flex-start}.carousel-track{height:500px}.project-showcase{grid-template-rows:250px 1fr}.project-info-section{padding:1rem}.project-description{font-size:.9rem}.carousel-arrow{width:40px;height:40px;opacity:1}.carousel-arrow-left{left:.5rem}.carousel-arrow-right{right:.5rem}}@media (max-width: 480px){.carousel-track{height:450px}.project-showcase{grid-template-rows:200px 1fr}.project-links{flex-direction:row;gap:.5rem}.project-link-btn{padding:.6rem 1rem;font-size:.8rem}.tech-tags{gap:.3rem}.tech-tag{font-size:.7rem;padding:.2rem .6rem}}@media (hover: none){.carousel-wrapper{touch-action:pan-y}.image-overlay{opacity:.8}.carousel-arrow{opacity:1;background:#0009}}@keyframes autoplay-progress{0%{width:0%}to{width:100%}}.carousel-wrapper.autoplay:before{content:"";position:absolute;top:0;left:0;height:2px;background:linear-gradient(90deg,#14b8a6,#a855f7);animation:autoplay-progress 4s linear infinite;z-index:20}.project-grid-container{margin-top:4rem}.grid-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3rem;gap:2rem}.grid-title-section{flex:1}.grid-title{font-size:1.8rem;font-weight:700;color:#fff;margin-bottom:.5rem}.project-stats{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.total-projects{color:#14b8a6;font-weight:600}.category-indicator{color:#9ca3af}.category-filters{display:flex;gap:.5rem;flex-wrap:wrap}.category-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#d1d5db;border-radius:12px;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500}.category-btn:hover{background:#ffffff1a;border-color:#14b8a64d;color:#fff;transform:translateY(-1px)}.category-btn.active{background:#14b8a633;border-color:#14b8a6;color:#14b8a6;box-shadow:0 0 20px #14b8a633}.category-count{background:#ffffff1a;padding:.2rem .5rem;border-radius:8px;font-size:.7rem;font-weight:600}.category-btn.active .category-count{background:#14b8a64d;color:#fff}.projects-grid-wrapper{position:relative}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;transition:all .5s ease}.projects-grid.expanded{margin-bottom:2rem}.grid-item{position:relative}.project-grid-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;transition:all .4s cubic-bezier(.25,.46,.45,.94);cursor:pointer;height:100%;display:flex;flex-direction:column}.project-grid-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #0000004d;border-color:#14b8a64d}.project-card-image{position:relative;height:200px;overflow:hidden}.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-grid-card:hover .project-card-image img{transform:scale(1.1)}.card-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#0006,#14b8a64d);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.project-grid-card:hover .card-overlay{opacity:1}.overlay-content{text-align:center}.project-actions{display:flex;gap:1rem}.action-btn{display:flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:50%;transition:all .3s ease;text-decoration:none}.action-btn.primary{background:#ffffffe6;color:#1f2937}.action-btn.primary:hover{background:#fff;transform:scale(1.1);box-shadow:0 5px 20px #0000004d}.action-btn.secondary{background:#000000b3;color:#fff;border:1px solid rgba(255,255,255,.3)}.action-btn.secondary:hover{background:#000000e6;border-color:#14b8a6;transform:scale(1.1)}.project-badges{position:absolute;top:1rem;left:1rem;right:1rem;display:flex;justify-content:space-between;align-items:flex-start}.badge{padding:.3rem .8rem;border-radius:15px;font-size:.7rem;font-weight:600;display:flex;align-items:center;gap:.3rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.badge.featured{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff}.badge.status{background:#0009;color:#fff;border:1px solid rgba(255,255,255,.2)}.badge.status.producción{background:#22c55ecc;border-color:#22c55e}.badge.status.en-desarrollo{background:#fbbf24cc;border-color:#fbbf24;color:#1f2937}.badge.status.completado{background:#3b82f6cc;border-color:#3b82f6}.project-card-content{padding:1.5rem;flex:1;display:flex;flex-direction:column}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.project-name{font-size:1.2rem;font-weight:700;color:#fff;margin:0;line-height:1.3;flex:1}.project-year{color:#14b8a6;font-size:.8rem;font-weight:600;background:#14b8a61a;padding:.2rem .6rem;border-radius:10px;white-space:nowrap}.project-summary{color:#d1d5db;font-size:.9rem;line-height:1.5;margin-bottom:1rem;flex:1}.tech-stack{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.tech-badge{background:#14b8a61a;color:#14b8a6;padding:.2rem .6rem;border-radius:10px;font-size:.7rem;font-weight:500;border:1px solid rgba(20,184,166,.2)}.tech-badge.more{background:#9ca3af1a;color:#9ca3af;border-color:#9ca3af33}.project-meta{display:flex;justify-content:space-between;margin-top:auto}.meta-item{display:flex;align-items:center;gap:.3rem;color:#9ca3af;font-size:.8rem}.expand-section{text-align:center;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.expand-btn{display:inline-flex;align-items:center;gap:.8rem;padding:1rem 2rem;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:15px;cursor:pointer;transition:all .4s ease;font-size:1rem;font-weight:600;margin-bottom:1.5rem}.expand-btn:hover{background:#14b8a61a;border-color:#14b8a64d;color:#14b8a6;transform:translateY(-2px);box-shadow:0 10px 30px #14b8a633}.progress-indicator{display:flex;align-items:center;gap:1rem;max-width:300px;margin:0 auto}.progress-bar{flex:1;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#14b8a6,#a855f7);border-radius:3px;transition:width .5s ease}.progress-text{color:#9ca3af;font-size:.8rem;font-weight:500;white-space:nowrap}.no-projects{text-align:center;padding:4rem 2rem;color:#9ca3af}.no-projects-icon{font-size:4rem;margin-bottom:1rem}.no-projects h4{font-size:1.5rem;margin-bottom:.5rem;color:#d1d5db}.no-projects p{font-size:1rem}@media (max-width: 1024px){.grid-header{flex-direction:column;gap:1.5rem}.category-filters{justify-content:center}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}}@media (max-width: 768px){.grid-title{font-size:1.5rem}.category-filters{gap:.3rem}.category-btn{padding:.5rem .8rem;font-size:.8rem}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.project-card-image{height:160px}.project-card-content{padding:1rem}}@media (max-width: 480px){.projects-grid{grid-template-columns:1fr}.project-header{flex-direction:column;gap:.5rem;align-items:flex-start}.project-year{align-self:flex-end}.expand-btn{padding:.8rem 1.5rem;font-size:.9rem}.progress-indicator{flex-direction:column;gap:.5rem}.progress-bar{width:100%}}@media (hover: none){.card-overlay{opacity:.8}.project-grid-card:active{transform:scale(.98)}.action-btn:active{transform:scale(.9)}}.section-subtitle{text-align:center;color:#9ca3af;font-size:1.1rem;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.project-card{@apply bg-white dark:bg-neutral-900 rounded-xl shadow-lg overflow-hidden flex flex-col;}.project-card img{@apply w-full h-48 object-cover;}.project-card-content{@apply p-5 flex flex-col justify-between flex-grow;}.project-card-title{@apply text-lg font-semibold text-zinc-800 dark:text-white mb-1;}.project-card-description{@apply text-sm text-zinc-600 dark:text-zinc-300 mb-3;}.project-tech-tag{@apply bg-zinc-200 dark:bg-zinc-700 text-xs px-2 py-1 rounded text-zinc-800 dark:text-white;}.project-buttons{@apply flex gap-3 mt-auto;}.project-btn{@apply inline-flex items-center gap-1 text-sm font-medium px-3 py-1.5 rounded-md transition;}.project-btn-primary{@apply bg-blue-600 text-white hover:bg-blue-700 dark:bg-blue-500 dark:hover:bg-blue-600;}.project-btn-secondary{@apply bg-zinc-200 text-zinc-800 hover:bg-zinc-300 dark:bg-zinc-700 dark:text-white dark:hover:bg-zinc-600;}.project-btn-icon{@apply w-5 h-5 text-current;}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:2rem}.project-card{background-color:#1f1f1f;border-radius:1rem;overflow:hidden;box-shadow:0 0 10px #0006;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.project-card:hover{transform:translateY(-5px);box-shadow:0 0 15px #ffffff1a}.project-card img{width:100%;height:180px;object-fit:cover}.project-card-content{padding:1.25rem;display:flex;flex-direction:column;gap:1rem;flex:1}.project-card-title{font-size:1.25rem;font-weight:700;color:#fff}.project-card-description{font-size:.95rem;color:#ccc}.project-buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto}.project-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .2s ease}.project-btn-primary{background-color:#3b82f6;color:#fff}.project-btn-primary:hover{background-color:#2563eb}.project-btn-secondary{background-color:#6b7280;color:#fff}.project-btn-secondary:hover{background-color:#4b5563}.project-card{background-color:#ffffff05;border-radius:1rem;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 0 20px #00ffff1a;perspective:1000px;transform-style:preserve-3d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);will-change:transform;cursor:pointer}.project-card:hover{box-shadow:0 0 30px #00ffff4d,0 0 60px #00ffff1a}.project-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border:1px solid rgba(255,255,255,.15);border-radius:.5rem;background:#ffffff0d;color:#fff;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-button:hover{background:#00ffff26;box-shadow:0 0 10px #0ff6;transform:translateY(-2px) scale(1.02);border-color:#00ffff4d}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
