:root{--primary: #5c00b8;--primary-dark: #3d007a;--primary-light: #7a33c9;--accent: #ff6ec7;--white: #ffffff}.navbar-container{position:fixed;top:0;left:0;right:0;height:80px;background:transparent;transition:all .3s ease;z-index:1000}.navbar-container.navbar-scrolled{background:#5c00b8e6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 30px #0000004d;border-bottom:1px solid rgba(255,255,255,.1)}.navbar-content{max-width:1280px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 2rem}.navbar-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;transition:transform .3s ease}.navbar-logo:hover{transform:scale(1.05)}.logo-wrapper{background:linear-gradient(135deg,var(--primary),var(--accent));padding:.5rem;border-radius:.5rem;display:flex;box-shadow:0 4px 15px #5c00b866}.logo-icon-home{font-size:1.5rem;color:var(--white)}.logo-text{font-size:1.25rem;font-weight:700;color:var(--white)}.logo-accent{background:linear-gradient(135deg,var(--primary-light),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;gap:.5rem}.nav-item{position:relative;padding:.5rem 1rem;color:#ffffffe6;text-decoration:none;font-size:.875rem;font-weight:500;transition:color .3s ease}.nav-item:hover,.nav-item.active{color:var(--white)}.nav-item.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary-light),var(--accent));border-radius:2px 2px 0 0}.navbar-actions{display:flex;align-items:center;gap:1rem}.whatsapp-link{background-color:#25d366;padding:.75rem;border-radius:50%;display:flex;transition:all .3s ease;box-shadow:0 4px 15px #25d3664d}.whatsapp-link:hover{background-color:#20ba5a;transform:scale(1.1) rotate(5deg)}.logo-icon{font-size:1.25rem;color:var(--white)}.mobile-menu-btn{display:none;background:none;border:none;color:var(--white);padding:.5rem;cursor:pointer;border-radius:.5rem}.mobile-menu-btn:hover{background-color:#ffffff1a}.mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:280px;background:linear-gradient(to bottom,var(--primary-dark),var(--primary));box-shadow:-4px 0 30px #00000080;z-index:1001;display:flex;flex-direction:column}.mobile-menu-header{display:flex;justify-content:flex-end;padding:1rem}.mobile-close-btn{background:none;border:none;color:var(--white);padding:.5rem;cursor:pointer}.mobile-nav{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.mobile-nav-item{padding:.75rem 1rem;color:#ffffffe6;text-decoration:none;font-weight:500;border-radius:.5rem;transition:all .3s ease}.mobile-nav-item:hover,.mobile-nav-item.active{background:#ffffff1a;color:var(--white)}.mobile-whatsapp{padding:1rem;border-top:1px solid rgba(255,255,255,.1)}.mobile-whatsapp-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:#25d366;color:var(--white);text-decoration:none;font-weight:500;border-radius:.5rem}@media (max-width: 768px){.logo-text,.nav-links{display:none}.mobile-menu-btn{display:block}}.home-section-container{height:100vh;max-height:100vh;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;overflow:hidden;padding:0 10%;font-family:var(--consolas-code, "Consolas", monospace);color:var(--color-light-bg, #ffffff);margin:0!important;z-index:1}.video-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden}.video-hero{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.video-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#051327d9,#000000b3,#5c00b84d);z-index:1;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.presentation-text{position:relative;z-index:10;padding-left:20px;max-width:900px}.presentation-text .subtitle{font-size:1.5rem;color:#00ffc8;margin-bottom:20px;font-weight:500;letter-spacing:2px;text-transform:uppercase;text-shadow:0 0 20px rgba(0,255,200,.5);font-family:Consolas,monospace}.presentation-text .name-title{font-size:4rem;line-height:.9;color:var(--color-light-bg, #ffffff);text-align:left;margin-bottom:10px;margin-top:0;font-family:Montserrat,sans-serif;font-weight:600;letter-spacing:2px;text-shadow:0 4px 20px rgba(0,0,0,.5)}.presentation-text .fullstack-title{font-size:5rem;font-weight:800;color:var(--color-primary-ui, #a855f7);text-align:left;margin-top:0;margin-bottom:40px;font-family:Roboto Condensed,sans-serif;letter-spacing:1px;text-shadow:0 4px 30px rgba(168,85,247,.6);background:linear-gradient(135deg,#a855f7,#00ffc8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:.8;animation:fadeInOut 3s ease-in-out infinite}.scroll-indicator p{font-size:.85rem;color:#ffffffb3;text-transform:uppercase;letter-spacing:2px;margin:0}.scroll-mouse{width:26px;height:40px;border:2px solid rgba(255,255,255,.5);border-radius:20px;position:relative;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.scroll-wheel{width:4px;height:8px;background:#fffc;border-radius:4px;position:absolute;top:8px;left:50%;transform:translate(-50%);animation:scrollWheel 2s ease-in-out infinite}@keyframes scrollWheel{0%,to{top:8px;opacity:1}50%{top:20px;opacity:.5}}@keyframes fadeInOut{0%,to{opacity:.5}50%{opacity:1}}.social-links{position:absolute;bottom:40px;left:10%;z-index:10;display:flex;gap:20px}.social-links a{width:45px;height:45px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:50%;color:var(--color-light-bg, #ffffff);font-size:1.2rem;transition:all .3s ease}.social-links a:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-5px);box-shadow:0 8px 20px #fff3}@media (max-width: 1200px){.presentation-text .name-title{font-size:3.5rem}.presentation-text .fullstack-title{font-size:4.5rem}.presentation-text .subtitle{font-size:1.3rem}}@media (max-width: 992px){.home-section-container{padding:0 8%}.presentation-text .name-title{font-size:3rem}.presentation-text .fullstack-title{font-size:4rem}.presentation-text .subtitle{font-size:1.2rem}.btn-primary,.btn-secondary{padding:14px 32px;font-size:.95rem}}@media (max-width: 768px){.home-section-container{align-items:center;padding:0 5%;height:100vh;max-height:100vh;min-height:100vh}.presentation-text{padding-left:0;text-align:center;width:100%}.presentation-text .name-title{font-size:2.5rem;text-align:center}.presentation-text .fullstack-title{font-size:3rem;text-align:center;margin-bottom:30px}.presentation-text .subtitle{font-size:1rem;text-align:center}.btn-primary,.btn-secondary{padding:14px 28px;font-size:.9rem}.scroll-indicator{bottom:30px}.social-links{left:50%;transform:translate(-50%);bottom:100px}.video-background{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.video-hero{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:100%;min-height:100%;width:auto;height:auto;object-fit:cover}}@media (max-width: 480px){.home-section-container{padding:0 5%;height:100vh;max-height:100vh;min-height:100vh}.presentation-text .name-title{font-size:2rem;line-height:1.1}.presentation-text .fullstack-title{font-size:2.5rem;margin-bottom:25px}.presentation-text .subtitle{font-size:.9rem;margin-bottom:15px}.btn-primary,.btn-secondary{width:100%;padding:14px 24px;font-size:.85rem}.scroll-indicator{display:none}.social-links{bottom:80px;gap:15px}.social-links a{width:40px;height:40px;font-size:1rem}}@media (max-width: 900px) and (orientation: landscape){.video-hero{width:100%;height:auto;min-height:100%}}@media (max-width: 768px) and (orientation: portrait){.video-hero{width:auto;height:100%;min-width:100%}}@media (prefers-reduced-motion: reduce){.video-hero,.scroll-wheel,.scroll-indicator{animation:none}.btn-primary:hover,.btn-secondary:hover,.social-links a:hover{transform:none}}.video-background:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#051327,#000);z-index:-1}@supports not (object-fit: cover){.video-hero{display:none}.video-background:before{z-index:1}}@keyframes textGlow{0%,to{text-shadow:0 0 20px rgba(0,255,200,.3)}50%{text-shadow:0 0 30px rgba(0,255,200,.6)}}.presentation-text .subtitle{animation:textGlow 3s ease-in-out infinite}.video-background:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 50%,rgba(168,85,247,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(0,255,200,.03) 0%,transparent 50%);z-index:2;pointer-events:none}.about-section-container{padding:100px 10% 80px;background:linear-gradient(135deg,#fff,#f5f7fa);margin:0!important;position:relative;z-index:2}.about-section-container .section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:60px;color:var(--color-primary-ui, #5c00b8);position:relative;display:inline-block;width:100%}.about-section-container .section-title:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(90deg,var(--color-primary-ui, #5c00b8),var(--color-primary-light, #7a33c9));border-radius:2px}.who-i-am-block{display:flex;align-items:center;gap:60px;max-width:1200px;margin:0 auto 80px}.illustration{flex:0 0 45%;max-width:500px}.image-wrapper{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px #00000026;background:linear-gradient(135deg,var(--color-primary-ui, #5c00b8),var(--color-primary-dark, #3d007a));padding:20px}.image-wrapper img{width:100%;height:auto;display:block;border-radius:12px;position:relative;z-index:2}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#5c00b81a,#3d007a1a);pointer-events:none}.bio-content{flex:1}.bio-content h3{font-size:2.5rem;text-align:left;margin-bottom:25px;color:var(--color-primary-ui, #5c00b8);position:relative;display:inline-block}.bio-content h3:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:4px;background:linear-gradient(90deg,var(--color-primary-ui, #5c00b8),var(--color-primary-light, #7a33c9));border-radius:2px}.bio-description{line-height:1.8;margin-bottom:20px;color:var(--color-text-dark, #555);font-size:1.05rem}.bio-description strong{color:var(--color-primary-ui, #5c00b8);font-weight:600}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin:30px 0}.highlight-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:10px;border:1px solid #e0e0e0;transition:all .3s ease}.highlight-item:hover{border-color:var(--color-primary-ui, #5c00b8);transform:translate(5px);box-shadow:0 4px 12px #5c00b81a}.check-icon{color:var(--color-primary-ui, #5c00b8);font-size:1.2rem;flex-shrink:0}.highlight-item span{font-size:.95rem;color:var(--color-text-dark, #333)}.cv-button{display:inline-flex;align-items:center;gap:12px;background:linear-gradient(135deg,var(--color-primary-ui, #5c00b8),var(--color-primary-dark, #3d007a));color:var(--color-light-bg, #ffffff);padding:14px 32px;border:none;border-radius:12px;cursor:pointer;font-size:1.05rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #5c00b84d;margin-top:20px}.cv-button:hover{transform:translateY(-2px);box-shadow:0 6px 25px #5c00b866}.cv-button:active{transform:translateY(0)}.what-i-do-title{font-size:2.2rem;text-align:center;margin-bottom:60px;color:var(--color-primary-ui, #5c00b8);position:relative}.what-i-do-title:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(90deg,var(--color-primary-ui, #5c00b8),var(--color-primary-light, #7a33c9));border-radius:2px}.capabilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px;max-width:1200px;margin:0 auto}.capability-card{position:relative;background:var(--color-light-bg, #ffffff);border:1px solid #e0e0e0;padding:35px 30px;border-radius:20px;transition:all .3s ease;overflow:hidden;box-shadow:0 4px 15px #0000000d}.capability-card:hover{border-color:var(--color-primary-ui, #5c00b8);box-shadow:0 10px 40px #5c00b826;transform:translateY(-10px)}.card-header{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.icon-wrapper{width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:20px;margin-bottom:20px;transition:all .3s ease}.capability-card:hover .icon-wrapper{transform:scale(1.1) rotate(5deg)}.capability-icon{font-size:2.5rem}.card-header h4{font-size:1.5rem;text-align:center;margin:0;color:var(--color-text-dark, #333)}.capability-description{line-height:1.7;color:var(--color-text-dark, #555);text-align:justify;margin-bottom:20px;font-size:.95rem}.tech-stack{display:flex;justify-content:center;gap:15px;margin-top:25px;padding-top:20px;border-top:1px solid #e0e0e0}.tech-icon{font-size:2rem;color:var(--color-text-dark, #666);transition:all .3s ease;cursor:pointer}.tech-icon:hover{color:var(--color-primary-ui, #5c00b8)}.card-accent{position:absolute;top:0;left:0;width:4px;height:100%;opacity:0;transition:opacity .3s ease}.capability-card:hover .card-accent{opacity:1}@media (max-width: 992px){.who-i-am-block{gap:40px}.capabilities-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}}@media (max-width: 768px){.about-section-container{padding:80px 5% 60px}.about-section-container .section-title{font-size:2rem;margin-bottom:50px}.who-i-am-block{flex-direction:column;text-align:center;gap:40px;margin-bottom:60px}.illustration{flex:none;max-width:100%}.bio-content h3{font-size:2rem;text-align:center}.bio-content h3:after{left:50%;transform:translate(-50%)}.bio-description{text-align:center}.highlights-grid{grid-template-columns:1fr}.cv-button{width:100%;justify-content:center}.what-i-do-title{font-size:1.8rem}.capabilities-grid{grid-template-columns:1fr}}@media (max-width: 480px){.about-section-container{padding:60px 5% 50px}.about-section-container .section-title{font-size:1.75rem;margin-bottom:40px}.bio-content h3{font-size:1.75rem}.what-i-do-title{font-size:1.6rem}.capability-card{padding:25px 20px}.icon-wrapper{width:70px;height:70px}.capability-icon{font-size:2rem}.card-header h4{font-size:1.3rem}}.skills-section-container{padding:80px 10%;background:linear-gradient(135deg,#f5f7fa,#fff);position:relative;overflow:hidden;margin:0!important;z-index:2}.skills-section-container .section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:20px;color:var(--color-primary-ui, #5c00b8)}.section-content{max-width:1200px;margin:0 auto}.section-subtitle{text-align:center;font-size:1.1rem;color:#5c00b8;max-width:600px;margin:0 auto 50px;line-height:1.6}.category-filters{display:flex;justify-content:center;gap:15px;margin-bottom:40px;flex-wrap:wrap}.filter-btn{position:relative;padding:12px 28px;background:var(--color-light-bg, #ffffff);border:2px solid #e0e0e0;border-radius:50px;font-size:.95rem;font-weight:600;color:var(--color-text-dark, #555);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.filter-btn:hover{border-color:var(--color-primary-ui, #5c00b8);color:var(--color-primary-ui, #5c00b8);transform:translateY(-2px);box-shadow:0 4px 12px #5c00b826}.filter-btn.active{background:linear-gradient(135deg,var(--color-primary-ui, #5c00b8),var(--color-primary-dark, #3d007a));color:var(--color-light-bg, #ffffff);border-color:var(--color-primary-ui, #5c00b8);box-shadow:0 4px 15px #5c00b84d}.filter-underline{position:absolute;bottom:-2px;left:0;right:0;height:3px;background:var(--color-primary-ui, #5c00b8);border-radius:3px 3px 0 0}.skills-count{text-align:center;margin-bottom:30px;font-size:.95rem;color:#666}.skills-count strong{color:var(--color-primary-ui, #5c00b8);font-weight:700;font-size:1.1rem}.skills-carousel-wrapper{position:relative;display:flex;align-items:center;gap:15px;margin-bottom:60px}.skills-carousel-container{flex:1;overflow-x:auto;overflow-y:hidden;padding:20px 0;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent)}.skills-carousel-container::-webkit-scrollbar{display:none}.skills-carousel{display:flex;gap:30px;animation:scroll 30s linear infinite;width:max-content}.skills-carousel.paused{animation-play-state:paused}.carousel-nav-btn{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;border:2px solid var(--color-primary-ui, #5c00b8);background:linear-gradient(135deg,#5c00b81a,#a753df1a);color:var(--color-primary-ui, #5c00b8);font-size:1.2rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #5c00b833;z-index:10;flex-shrink:0}.carousel-nav-btn:hover{background:linear-gradient(135deg,var(--color-primary-ui, #5c00b8),var(--color-primary-dark, #3d007a));color:#fff;box-shadow:0 6px 20px #5c00b866;transform:scale(1.05)}.carousel-nav-btn:active{transform:scale(.95)}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:30px;margin-bottom:60px}.skill-item{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer}.skill-badge{position:relative;width:100%;background:var(--color-light-bg, #ffffff);border:2px solid #e0e0e0;border-radius:20px;padding:25px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;transition:all .3s ease;box-shadow:0 4px 15px #0000000d;overflow:hidden}.skill-item:hover .skill-badge{border-color:currentColor;box-shadow:0 8px 30px #0000001f;transform:translateY(-5px)}.skill-icon{width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:16px;padding:12px;transition:all .3s ease}.skill-logo{width:100%;height:100%;object-fit:contain;filter:grayscale(100%);opacity:.7;transition:all .3s ease}.skill-item:hover .skill-logo{filter:grayscale(0%);opacity:1;transform:scale(1.1)}.skill-name{margin:0;font-size:1rem;font-weight:700;color:var(--color-text-dark, #333);text-align:center;letter-spacing:.3px}.skill-icon-component{display:flex;align-items:center;justify-content:center;width:100%;height:100%;filter:grayscale(100%);opacity:.7;transition:all .3s ease}.skill-item:hover .skill-icon-component{filter:grayscale(0%);opacity:1;transform:scale(1.1)}.skill-category-tag{padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease}.skill-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:-1}.skill-item:hover .skill-glow{opacity:1}.skills-stats{display:flex;justify-content:center;align-items:center;gap:40px;padding:40px;background:linear-gradient(135deg,var(--color-primary-ui, #5c00b8),var(--color-primary-dark, #3d007a));border-radius:20px;box-shadow:0 10px 40px #5c00b84d}.stat-item{display:flex;flex-direction:column;align-items:center;gap:8px}.stat-number{font-size:3rem;font-weight:800;color:var(--color-light-bg, #ffffff);line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.2)}.stat-label{font-size:.9rem;font-weight:500;color:#ffffffe6;text-transform:uppercase;letter-spacing:1px}.stat-divider{width:2px;height:60px;background:#fff3}@media (max-width: 992px){.skills-carousel{gap:25px;animation-duration:25s}.carousel-nav-btn{width:45px;height:45px;font-size:1.1rem}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:25px}.skills-stats{gap:30px;padding:30px}.stat-number{font-size:2.5rem}}@media (max-width: 768px){.skills-section-container{padding:60px 5%}.category-filters{gap:10px}.filter-btn{padding:10px 20px;font-size:.85rem}.skills-carousel-wrapper{gap:10px;margin-bottom:40px}.carousel-nav-btn{width:40px;height:40px;font-size:1rem}.skills-carousel{gap:20px;animation-duration:20s}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:20px}.skill-badge{padding:20px 15px}.skill-icon{width:60px;height:60px}.skill-name{font-size:.9rem}.skills-stats{flex-direction:column;gap:25px;padding:30px 20px}.stat-divider{width:60px;height:2px}.stat-number{font-size:2rem}}@media (max-width: 480px){.skills-section-container{padding:40px 5%}.section-subtitle{font-size:1rem;margin:-20px auto 40px}.skills-carousel-wrapper{gap:8px}.carousel-nav-btn{width:36px;height:36px;font-size:.9rem}.skills-carousel{gap:15px;animation-duration:18s}.skill-badge{padding:15px 10px;min-width:120px}.skills-grid{grid-template-columns:repeat(2,1fr);gap:15px}.skill-icon{width:50px;height:50px}.skill-name{font-size:.8rem}.skill-category-tag{font-size:.7rem;padding:4px 10px}.stat-number{font-size:1.75rem}.stat-label{font-size:.8rem}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.skill-item:hover .skill-icon{animation:pulse 1s ease-in-out infinite}.portfolio-section-container{padding:100px 8%;background:linear-gradient(135deg,#fafbfc,#fff);position:relative;overflow:hidden;margin:0!important;z-index:2}.section-content{max-width:1400px;margin:0 auto}.portfolio-section-container .section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:20px;color:var(--color-primary-ui, #5c00b8)}.section-subtitle{text-align:center;font-size:1.15rem;color:#666;max-width:650px;margin:0 auto 60px;line-height:1.7;font-weight:400}.portfolio-filters{display:flex;justify-content:center;gap:16px;margin-bottom:60px;flex-wrap:wrap}.filter-btn{display:flex;align-items:center;gap:10px;padding:14px 32px;background:#fff;border:2px solid #e8e8e8;border-radius:50px;font-size:.95rem;font-weight:600;color:#555;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a}.filter-btn svg{font-size:1.1rem;transition:transform .3s ease}.filter-btn:hover{border-color:var(--color-primary-ui, #5c00b8);color:var(--color-primary-ui, #5c00b8);transform:translateY(-2px);box-shadow:0 6px 20px #5c00b81f}.filter-btn:hover svg{transform:scale(1.15)}.filter-btn.active{background:linear-gradient(135deg,var(--color-primary-ui, #5c00b8),var(--color-primary-dark, #3d007a));color:#fff;border-color:var(--color-primary-ui, #5c00b8);box-shadow:0 6px 24px #5c00b840}.filter-btn.active svg{transform:scale(1.1)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:40px;margin-bottom:80px}.project-card{position:relative;background:#fff;border-radius:24px;overflow:hidden;border:1px solid #f0f0f0;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0000000d}.project-card:hover{border-color:#e0e0e0;box-shadow:0 12px 40px #0000001f}.featured-badge{position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:8px;padding:8px 18px;background:linear-gradient(135deg,gold,#ffed4e);color:#1a1a1a;font-size:.8rem;font-weight:700;border-radius:50px;z-index:10;box-shadow:0 4px 16px #ffd7004d;text-transform:uppercase;letter-spacing:.5px}.featured-badge svg{font-size:.9rem}.project-image-container{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.project-image{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .6s cubic-bezier(.4,0,.2,1);display:block}.project-card:hover .project-image{transform:scale(1.05)}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#0000,#000000b3);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease}.project-card:hover .image-overlay{opacity:1}.overlay-content{display:flex;gap:16px;transform:translateY(20px);transition:transform .4s cubic-bezier(.4,0,.2,1)}.project-card:hover .overlay-content{transform:translateY(0)}.overlay-btn{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#1a1a1a;border-radius:50%;font-size:1.3rem;transition:all .3s ease;box-shadow:0 4px 20px #00000026}.overlay-btn:hover{background:var(--color-primary-ui, #5c00b8);color:#fff;transform:scale(1.1) rotate(5deg);box-shadow:0 6px 28px #5c00b84d}.project-details{padding:32px;display:flex;flex-direction:column;gap:20px}.project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:4px}.project-title{font-size:1.6rem;font-weight:700;color:#1a1a1a;margin:0;letter-spacing:-.5px;line-height:1.2}.project-subtitle{font-size:.95rem;color:var(--color-primary-ui, #5c00b8);margin:6px 0 0;font-weight:600;letter-spacing:.3px}.project-year{display:inline-block;padding:6px 14px;background:#f5f5f5;color:#666;font-size:.85rem;font-weight:700;border-radius:50px;white-space:nowrap;letter-spacing:.5px}.project-description{font-size:.95rem;line-height:1.7;color:#555;margin:0;font-weight:400}.project-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.tag-item{padding:8px 16px;background:#f8f9fa;color:#555;font-size:.8rem;font-weight:600;border-radius:50px;border:1px solid #e8e8e8;transition:all .3s ease;letter-spacing:.3px}.project-card:hover .tag-item{background:#fff;border-color:#d0d0d0}.tag-item:hover{background:var(--color-primary-ui, #5c00b8);color:#fff;border-color:var(--color-primary-ui, #5c00b8);transform:translateY(-2px);box-shadow:0 4px 12px #5c00b833}.project-links{display:flex;gap:12px;margin-top:8px}.btn-preview,.btn-github{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;font-size:.9rem;font-weight:600;border-radius:12px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);letter-spacing:.3px}.btn-preview{background:linear-gradient(135deg,var(--color-primary-ui, #5c00b8),var(--color-primary-dark, #3d007a));color:#fff;border:2px solid transparent;box-shadow:0 4px 16px #5c00b833}.btn-preview:hover{transform:translateY(-3px);box-shadow:0 8px 28px #5c00b859}.btn-github{background:#fff;color:#1a1a1a;border:2px solid #e8e8e8}.btn-github:hover{background:#1a1a1a;color:#fff;border-color:#1a1a1a;transform:translateY(-3px);box-shadow:0 8px 28px #00000026}.btn-preview svg,.btn-github svg{font-size:1rem;transition:transform .3s ease}.btn-preview:hover svg,.btn-github:hover svg{transform:scale(1.2)}.portfolio-cta{text-align:center;padding:60px 40px;background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:24px;border:1px solid #e8e8e8}.portfolio-cta h3{font-size:2rem;font-weight:700;color:#5c00b8;margin:0 0 16px;letter-spacing:-.5px}.portfolio-cta p{font-size:1.1rem;color:#666;margin:0 0 32px;line-height:1.6}.cta-button{display:inline-flex;align-items:center;padding:16px 40px;background:linear-gradient(135deg,var(--color-primary-ui, #5c00b8),var(--color-primary-dark, #3d007a));color:#fff;font-size:1rem;font-weight:600;text-decoration:none;border-radius:50px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 6px 24px #5c00b840;letter-spacing:.5px}.cta-button:hover{transform:translateY(-4px);box-shadow:0 12px 40px #5c00b859}@media (max-width: 1200px){.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:35px}}@media (max-width: 992px){.portfolio-section-container{padding:80px 6%}.section-title{font-size:2.5rem}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px}.project-details{padding:28px}.project-title{font-size:1.4rem}}@media (max-width: 768px){.portfolio-section-container{padding:60px 5%}.section-title{font-size:2.2rem}.section-subtitle{font-size:1rem;margin-bottom:50px}.portfolio-filters{gap:12px;margin-bottom:50px}.filter-btn{padding:12px 24px;font-size:.9rem}.portfolio-grid{grid-template-columns:1fr;gap:30px;margin-bottom:60px}.project-card{border-radius:20px}.project-image-container{aspect-ratio:16 / 9}.project-details{padding:24px;gap:18px}.project-header{flex-direction:column;gap:12px}.project-year{align-self:flex-start}.project-title{font-size:1.35rem}.project-links{flex-direction:column}.btn-preview,.btn-github{width:100%}.portfolio-cta{padding:50px 30px}.portfolio-cta h3{font-size:1.75rem}.portfolio-cta p{font-size:1rem}}@media (max-width: 480px){.portfolio-section-container{padding:50px 5%}.section-title{font-size:1.9rem}.section-subtitle{font-size:.95rem;margin-bottom:40px}.portfolio-filters{gap:10px;margin-bottom:40px}.filter-btn{padding:10px 20px;font-size:.85rem}.filter-btn span{display:none}.filter-btn svg{margin:0;font-size:1.2rem}.portfolio-grid{gap:25px;margin-bottom:50px}.project-card{border-radius:16px}.featured-badge{top:16px;right:16px;padding:6px 14px;font-size:.75rem}.project-image-container{aspect-ratio:4 / 3}.overlay-btn{width:48px;height:48px;font-size:1.1rem}.project-details{padding:20px;gap:16px}.project-title{font-size:1.25rem}.project-subtitle{font-size:.9rem}.project-year{padding:5px 12px;font-size:.8rem}.project-description{font-size:.9rem;line-height:1.65}.project-tags{gap:8px}.tag-item{padding:6px 12px;font-size:.75rem}.btn-preview,.btn-github{padding:12px 20px;font-size:.85rem}.portfolio-cta{padding:40px 24px;border-radius:20px}.portfolio-cta h3{font-size:1.5rem;color:var(--color-primary-ui, #5c00b8)}.portfolio-cta p{font-size:.95rem;margin-bottom:28px}.cta-button{padding:14px 32px;font-size:.95rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.project-image.loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.project-card{animation:scaleIn .5s cubic-bezier(.4,0,.2,1) forwards}.project-card:nth-child(1){animation-delay:0s}.project-card:nth-child(2){animation-delay:.1s}.project-card:nth-child(3){animation-delay:.2s}.project-card:nth-child(4){animation-delay:.3s}.project-card:nth-child(5){animation-delay:.4s}.project-card:nth-child(6){animation-delay:.5s}.project-image-wrapper{position:relative;width:100%;height:100%}.image-skeleton{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#f0f0f0,#e0e0e0);overflow:hidden}.skeleton-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.6) 50%,transparent 100%);animation:shimmer 2s infinite}.project-image.loading{opacity:0}.project-image.loaded{opacity:1;animation:fadeIn .6s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.contact-section-container{padding:100px 10% 80px;background:linear-gradient(135deg,#f5f7fa,#fff);position:relative;overflow:hidden;margin:0!important;z-index:2}.contact-section-container .section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:20px;color:var(--color-primary-ui, #5c00b8)}.contact-section-container .section-subtitle{text-align:center;font-size:1.1rem;color:var(--color-text-dark, #666);max-width:600px;margin:0 auto 60px;line-height:1.6}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;max-width:1200px;margin:0 auto;align-items:start}.contact-info-panel{position:relative;background:linear-gradient(135deg,#5c00b8,#a753df);border-radius:20px;padding:40px;color:#fff;box-shadow:0 20px 60px #6a9af14d;height:fit-content;overflow:visible}.info-header h3{font-size:2rem;margin-bottom:1rem;margin-top:0;color:#fff;text-align:left;font-weight:700;position:relative;z-index:2}.info-header p{line-height:1.8;opacity:.95;margin-bottom:40px;margin-top:0;color:#fff;font-size:1rem;position:relative;z-index:2}.contact-info-list{display:flex;flex-direction:column;gap:20px;margin-bottom:40px;margin-top:0;position:relative;z-index:2}.info-item{display:flex;align-items:center;gap:1rem;padding:15px;border-radius:12px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.1);position:relative;z-index:1}.info-item:hover{background:#ffffff26;border-color:#ffffff4d;transform:translate(10px)}.info-icon-wrapper{min-width:50px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#ffffffe6;flex-shrink:0}.info-icon{font-size:1.5rem}.info-content{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.info-label{font-size:.85rem;opacity:.8;text-transform:uppercase;letter-spacing:.5px;color:#fff;margin:0}.info-value{font-size:1rem;font-weight:600;color:#fff;word-break:break-word}.social-links{margin-top:40px;padding-top:30px;border-top:none;position:relative;z-index:2}.social-links h4{font-size:1.2rem;margin-bottom:20px;margin-top:0;color:#fff;font-weight:600}.social-icons{display:flex;gap:15px;flex-wrap:wrap}.social-link{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#ffffffe6;font-size:1.5rem;transition:all .3s ease;text-decoration:none;flex-shrink:0}.social-link:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 10px 30px #0000004d}.info-decoration{position:absolute;bottom:-50px;right:-50px;width:200px;height:200px;pointer-events:none;z-index:0}.decoration-circle{position:absolute;border-radius:50%;background:#ffffff0d}.decoration-circle:first-child{width:200px;height:200px;animation:float 6s ease-in-out infinite}.decoration-circle:last-child{width:150px;height:150px;bottom:25px;right:25px;animation:float 8s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}.contact-form-panel{background:#fff;border-radius:20px;padding:40px;box-shadow:0 10px 40px #00000014;border:1px solid rgba(0,0,0,.05);height:fit-content;position:relative;z-index:1}.contact-form{display:flex;flex-direction:column;gap:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#5c00b8;font-size:.95rem;display:flex;align-items:center;gap:4px;margin:0}.required{color:#e74c3c}.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{width:100%;padding:14px 16px;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;font-family:inherit;transition:all .3s ease;background:#f9f9f9;box-sizing:border-box}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#aaa}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#5c00b8;background:#fff;box-shadow:0 0 0 4px #5c00b81a}.contact-form input:disabled,.contact-form textarea:disabled{opacity:.6;cursor:not-allowed;background:#f0f0f0}.contact-form textarea{resize:vertical;min-height:120px;max-height:300px}.submit-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 32px;background:linear-gradient(135deg,#5c00b8,#6806b8);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #6a9af14d;margin-top:10px}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 25px #6a9af166}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.7}.submit-button.sending{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.submit-button.success{background:linear-gradient(135deg,#27ae60,#229954)}.submit-button.error{background:linear-gradient(135deg,#e74c3c,#c0392b)}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.success-message{padding:15px;background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border-radius:12px;text-align:center;font-weight:500;border:1px solid #c3e6cb;margin-top:15px}@media (max-width: 992px){.contact-grid{grid-template-columns:1fr;gap:40px}.contact-info-panel,.contact-form-panel{padding:35px}}@media (max-width: 768px){.contact-section-container{padding:80px 5% 60px}.contact-grid{display:flex;flex-direction:column;gap:30px}.contact-info-panel{padding:30px 20px;width:100%;display:flex;flex-direction:column;position:relative;overflow:visible}.info-header{width:100%;margin-bottom:30px;order:1}.info-header h3{font-size:1.75rem;margin-bottom:15px}.info-header p{margin-bottom:0}.contact-info-list{display:flex;flex-direction:column;gap:15px;margin:0 0 30px;width:100%;order:2}.info-item{display:flex;flex-direction:row;width:100%;position:static}.social-links{width:100%;margin:0;padding-top:25px;order:3;border-top:none}.social-links h4{width:100%;margin-bottom:15px;margin-top:0}.social-icons{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;width:100%}.social-link{position:static;flex-shrink:0}.contact-form-panel{padding:30px 20px;width:100%;margin-top:30px}.form-row{grid-template-columns:1fr;gap:25px}.info-decoration{display:none}}@media (max-width: 480px){.contact-section-container{padding:60px 5% 50px}.contact-section-container .section-title{font-size:2rem;margin-bottom:15px}.contact-section-container .section-subtitle{font-size:1rem;margin-bottom:40px}.contact-grid{display:flex;flex-direction:column;gap:25px}.contact-info-panel{padding:25px 20px;display:flex;flex-direction:column}.info-header{order:1;margin-bottom:25px}.info-header h3{font-size:1.5rem;margin-bottom:12px}.info-header p{font-size:.95rem;margin-bottom:0}.contact-info-list{order:2;margin:0 0 25px;gap:15px}.info-item{padding:12px;gap:12px}.info-icon-wrapper{min-width:45px;width:45px;height:45px}.info-icon{font-size:1.3rem}.info-label{font-size:.8rem}.info-value{font-size:.95rem}.social-links{order:3;margin:0;padding-top:20px;width:100%}.social-links h4{font-size:1.1rem;margin-bottom:15px;margin-top:0}.social-icons{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;width:100%}.social-link{width:45px;height:45px;font-size:1.3rem;position:static}.contact-form-panel{padding:25px 20px;margin:25px 0 0}.contact-form{gap:20px}.form-group{gap:6px}.submit-button{font-size:1rem;padding:14px 24px}}@media (max-width: 768px){.contact-info-panel,.contact-info-panel *{position:static!important}.info-decoration,.info-decoration *,.decoration-circle{position:absolute!important;display:none!important}.contact-info-panel{display:flex!important;flex-direction:column!important}}.border-glow-card{--edge-proximity: 0;--cursor-angle: 45deg;--edge-sensitivity: 30;--color-sensitivity: calc(var(--edge-sensitivity) + 20);--border-radius: 28px;--glow-padding: 40px;--cone-spread: 25;position:relative;border-radius:var(--border-radius);isolation:isolate;transform:translateZ(.01px);display:grid;border:1px solid rgb(255 255 255 / 15%);background:var(--card-bg, #060010);overflow:visible;box-shadow:#0000001a 0 1px 2px,#0000001a 0 2px 4px,#0000001a 0 4px 8px,#0000001a 0 8px 16px,#0000001a 0 16px 32px,#0000001a 0 32px 64px}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;transition:opacity .25s ease-out;z-index:-1}.border-glow-card:not(:hover):not(.sweep-active):before,.border-glow-card:not(:hover):not(.sweep-active):after,.border-glow-card:not(:hover):not(.sweep-active)>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:before{border:1px solid transparent;background:linear-gradient(var(--card-bg, #060010) 0 100%) padding-box,linear-gradient(#fff0,#fff0) border-box,var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) border-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) border-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) border-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) border-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) border-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%))}.border-glow-card:after{border:1px solid transparent;background:var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) padding-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) padding-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) padding-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) padding-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) padding-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) padding-box;-webkit-mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);mask-composite:subtract,add,add,add,add,add;-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;opacity:calc(var(--fill-opacity, .5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-card>.edge-light:before{content:"";position:absolute;inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color, hsl(40deg 80% 80% / 100%)),inset 0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),inset 0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),inset 0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),inset 0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),inset 0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),inset 0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%)),0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%))}.border-glow-inner{display:flex;flex-direction:column;position:relative;overflow:auto;z-index:1}.avatar-widget-toggle{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;width:3.5rem;height:3.5rem;border-radius:50%;border:none;background:linear-gradient(135deg,#9333ea,#3b82f6);color:#fff;font-size:1.5rem;box-shadow:0 4px 20px #0006;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.avatar-widget-toggle:hover{transform:scale(1.1)}.avatar-widget-anchor{position:fixed;bottom:6rem;right:1.5rem;z-index:9999;width:340px}.avatar-widget-panel{width:100%;height:480px;display:flex;flex-direction:column;overflow:hidden;border-radius:20px}.avatar-widget-header{padding:.75rem 1rem;background:linear-gradient(90deg,#7e22ce,#2563eb);color:#fff}.avatar-widget-header h3{font-size:.875rem;font-weight:700;margin:0}.avatar-widget-header p{font-size:.75rem;opacity:.8;margin:.15rem 0 0}.avatar-widget-canvas{height:170px;width:100%;background:transparent}.avatar-widget-messages{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.avatar-widget-messages::-webkit-scrollbar{width:4px}.avatar-widget-messages::-webkit-scrollbar-thumb{background:#4b5563;border-radius:2px}.avatar-widget-empty{color:#9ca3af;font-size:.75rem;text-align:center;margin-top:1rem}.avatar-msg{max-width:85%;padding:.5rem .75rem;border-radius:.75rem;font-size:.875rem;line-height:1.5;word-wrap:break-word}.avatar-msg--user{margin-left:auto;background:#7e22ce;color:#fff}.avatar-msg--assistant{margin-right:auto;background:#374151;color:#f3f4f6}.avatar-msg--loading{margin-right:auto;background:#374151;color:#9ca3af;animation:avatar-pulse 1.5s ease-in-out infinite}@keyframes avatar-pulse{0%,to{opacity:1}50%{opacity:.5}}.avatar-widget-form{padding:.75rem;border-top:1px solid #374151;display:flex;gap:.5rem}.avatar-widget-input{flex:1;background:#1f2937;color:#fff;font-size:.875rem;padding:.5rem .75rem;border-radius:.5rem;border:1px solid #4b5563;outline:none;font-family:inherit}.avatar-widget-input:focus{border-color:#9333ea}.avatar-widget-input::placeholder{color:#6b7280}.avatar-widget-send{padding:.5rem 1rem;background:#7e22ce;color:#fff;font-size:.875rem;border:none;border-radius:.5rem;cursor:pointer;transition:background .2s;font-family:inherit}.avatar-widget-send:hover{background:#9333ea}.avatar-widget-send:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 420px){.avatar-widget-anchor{width:calc(100vw - 2rem);right:1rem;bottom:5rem}.avatar-widget-panel{height:65vh}}@tailwind base;@tailwind components;@tailwind utilities;*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column;margin:0;padding:0}.portfolio-spa-container{display:flex;flex-direction:column;width:100%;margin:0;padding:0;overflow-x:hidden}section{position:relative;width:100%;margin:0!important;padding-top:0!important;display:block}#home,#inicio,section[id=home],section[id=inicio],.home-section-container{height:100vh!important;max-height:100vh!important;min-height:100vh!important;margin:0!important;padding:0 10%}#aboutme,#acerca-de-mi,section[id=aboutme],section[id=acerca-de-mi],.about-section-container{min-height:auto;padding:100px 10% 80px;margin:0!important}#habilidades,section[id=habilidades],.skills-section-container{min-height:auto;padding:80px 10%;margin:0!important}#portfolio,#portafolio,section[id=portfolio],section[id=portafolio],.portfolio-section-container{min-height:auto;padding:100px 8%;margin:0!important}#contactame,section[id=contactame],.contact-section-container{min-height:auto;padding:100px 10% 80px;margin:0!important}section+section{margin-top:0}.home-section-container+section,section:first-of-type{margin-top:0}:root{--color-primary-ui: #5c00b8;--color-primary-dark: #3d007a;--color-light-bg: #ffffff;--color-text-dark: #1a1a1a;--section-padding-vertical: 80px;--section-padding-horizontal: 10%;--consolas-code: "Consolas", "Courier New", monospace;--roboto-condensed: "Roboto Condensed", sans-serif}.section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:20px;color:var(--color-text-dark)}.section-subtitle{text-align:center;font-size:1.1rem;color:#666;max-width:600px;margin:0 auto 50px;line-height:1.6}@media (max-width: 1200px){#home,#inicio,.home-section-container{padding:0 8%}#aboutme,#acerca-de-mi,.about-section-container,#habilidades,.skills-section-container,#contactame,.contact-section-container{padding:90px 8% 70px}#portfolio,#portafolio,.portfolio-section-container{padding:90px 6% 70px}}@media (max-width: 992px){#home,#inicio,.home-section-container{padding:0 6%}#aboutme,#acerca-de-mi,.about-section-container,#habilidades,.skills-section-container,#contactame,.contact-section-container,#portfolio,#portafolio,.portfolio-section-container{padding:80px 6% 60px}}@media (max-width: 768px){#home,#inicio,.home-section-container{padding:0 5%;min-height:100vh}#aboutme,#acerca-de-mi,.about-section-container,#habilidades,.skills-section-container,#contactame,.contact-section-container,#portfolio,#portafolio,.portfolio-section-container{padding:80px 5% 60px}.section-title{font-size:2rem}.section-subtitle{font-size:1rem;margin-bottom:40px}}@media (max-width: 480px){#home,#inicio,.home-section-container{padding:0 5%}#aboutme,#acerca-de-mi,.about-section-container,#habilidades,.skills-section-container,#contactame,.contact-section-container,#portfolio,#portafolio,.portfolio-section-container{padding:60px 5% 50px}.section-title{font-size:1.75rem}.section-subtitle{font-size:.95rem;margin-bottom:35px}}.about-section-container,.skills-section-container,.portfolio-section-container,.contact-section-container{margin-top:0!important;margin-bottom:0!important}section>div:first-child,section>h1:first-child,section>h2:first-child{margin-top:0}section>div:last-child,section>h1:last-child,section>h2:last-child,section>p:last-child{margin-bottom:0}.container{max-width:1200px;margin:0 auto;padding:0 20px}.clearfix:after{content:"";display:table;clear:both}a,button,.btn{transition:all .3s ease}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:var(--color-primary-ui);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dark)}*{scrollbar-width:thin;scrollbar-color:var(--color-primary-ui) #f1f1f1}*:focus-visible{outline:2px solid var(--color-primary-ui);outline-offset:2px}*:focus:not(:focus-visible){outline:none}@media print{section{page-break-inside:avoid}.no-print{display:none!important}}.home-section-container{overflow:hidden;position:relative;z-index:1;height:100vh;max-height:100vh}.about-section-container,.skills-section-container,.portfolio-section-container,.contact-section-container{position:relative;z-index:2}.about-section-container{background:linear-gradient(135deg,#fff,#f5f7fa)!important}.skills-section-container{background:linear-gradient(135deg,#f5f7fa,#fff)!important}.portfolio-section-container{background:linear-gradient(135deg,#fafbfc,#fff)!important}.contact-section-container{background:linear-gradient(135deg,#f5f7fa,#fff)!important}
