@import url(https://fonts.googleapis.com/css2?family=Sora:wght@400;600;800&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap);@import url(https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap);*{box-sizing:border-box;margin:0;padding:0}:root{--color-background:#0a0a0a;--color-primary:#0566d9;--color-secondary:#b76dff;--color-tertiary:#08e700;--color-text:#e5e2e1;--color-text-muted:#9ca3af}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background-color:#0a0a0a;background-color:var(--color-background);color:#e5e2e1;color:var(--color-text);font-family:Inter,sans-serif;line-height:1.6;overflow-x:hidden}.material-symbols-outlined{word-wrap:normal;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;direction:ltr;display:inline-block;font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-weight:400;letter-spacing:normal;line-height:1;text-transform:none;white-space:nowrap}.glass-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#12121299;border:1px solid #ffffff1a;border-radius:16px}.glow-hover-blue:hover{border-color:#0566d9;border-color:var(--color-primary);box-shadow:0 0 20px #0566d933;transition:all .3s ease}.text-gradient-creative{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#b76dff,#0566d9);-webkit-background-clip:text;background-clip:text;display:inline-block}.pulse-dot{background-color:#08e700;background-color:var(--color-tertiary);border-radius:50%;height:20px;position:relative;width:20px}.pulse-dot:after{animation:pulse 2s infinite;background-color:inherit;border-radius:80%;content:"";height:100%;position:absolute;width:100%}@keyframes pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(3)}}.container{margin:0 auto;max-width:1400px;padding:0 2rem}@media (max-width:768px){.container{padding:0 1rem}}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in-left{opacity:0;transform:translateX(-50px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-left.visible{opacity:1;transform:translateX(0)}.fade-in-right{opacity:0;transform:translateX(50px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-right.visible{opacity:1;transform:translateX(0)}.fade-in-up{opacity:0;transform:translateY(50px);transition:opacity .8s ease-out,transform .8s ease-out}.fade-in-up.visible{opacity:1;transform:translateY(0)}.scale-in{opacity:0;transform:scale(.9);transition:opacity .6s ease-out,transform .6s ease-out}.scale-in.visible{opacity:1;transform:scale(1)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}.header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0a0acc;border-bottom:1px solid #ffffff1a;position:fixed;top:0;width:100%;z-index:50}.header-content{height:64px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 2rem}.header-content,.header-left{align-items:center;display:flex}.header-left{gap:1rem}.menu-icon{color:var(--color-primary);cursor:pointer;display:block;transition:transform .2s}.menu-icon:active{transform:scale(.95)}.header-right img{border-radius:8px;height:50px;object-fit:contain;width:50px}.logo-link{display:block;text-decoration:none}.hacker-container-header{cursor:pointer;display:inline-block;position:relative}.hacker-btn-header{background:#14143c66;border:1.5px solid #4b4bff;border-radius:4px;box-shadow:0 0 10px #4b4bff33,inset 0 0 8px #4b4bff26;color:#b3b3ff;display:inline-block;font-family:Sora,Courier New,monospace;font-size:.95rem;font-weight:800;letter-spacing:.5px;overflow:hidden;padding:6px 12px;position:relative;text-transform:uppercase;transition:all .3s ease;white-space:nowrap}.hacker-btn-header:before{animation:terminal-swipe 3s linear infinite;background:linear-gradient(90deg,#0000,#4b4bff4d,#0000);content:"";height:100%;left:-100%;pointer-events:none;position:absolute;top:0;width:100%}.hacker-container-header:hover .hacker-btn-header:before{animation:terminal-swipe 1s linear infinite}.hacker-container-header:hover .hacker-btn-header{background:#14143c99;box-shadow:0 0 20px #4b4bff80,0 0 30px #4b4bff4d;color:#fff;transform:scale(1.02)}.hacker-btn-header:after{animation:cursor-blink .8s step-end infinite;color:#0f9;content:"_";font-size:14px;position:absolute;right:6px;top:50%;transform:translateY(-50%)}.hacker-tooltip-header{background:#0a0a28f2;border:1px solid #4b4bff;border-radius:4px;bottom:130%;box-shadow:0 0 20px #4b4bff4d;color:#b3b3ff;font-family:JetBrains Mono,Courier New,monospace;font-size:.75rem;left:50%;opacity:0;padding:6px 12px;pointer-events:none;position:absolute;transform:translateX(-50%) scale(.9);transition:all .3s ease;visibility:hidden;white-space:nowrap;z-index:100}.hacker-tooltip-header:before{animation:typing-glitch 1.2s steps(5) infinite;color:#0f9;content:attr(data-text);height:100%;left:0;opacity:.6;padding:6px 12px;position:absolute;top:0;width:100%;z-index:-1}.hacker-tooltip-header:after{animation:glow-pulse 2s ease-in-out infinite;border:1px solid #4b4bff;border-radius:4px;content:"";filter:blur(3px);inset:-2px;opacity:.5;position:absolute}.hacker-tooltip-header span:after{animation:prompt-flick 1s infinite alternate;color:#0f9;content:"$>";font-size:12px;position:absolute;right:-18px;text-shadow:0 0 8px #0f9;top:50%;transform:translateY(-50%)}.hacker-container-header:hover .hacker-tooltip-header{bottom:140%;opacity:1;transform:translateX(-50%) scale(1);visibility:visible}@keyframes terminal-swipe{0%{left:-100%}to{left:100%}}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes typing-glitch{0%{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0)}20%{-webkit-clip-path:inset(0 80% 0 0);clip-path:inset(0 80% 0 0)}40%{-webkit-clip-path:inset(0 60% 0 0);clip-path:inset(0 60% 0 0)}60%{-webkit-clip-path:inset(0 40% 0 0);clip-path:inset(0 40% 0 0)}80%{-webkit-clip-path:inset(0 20% 0 0);clip-path:inset(0 20% 0 0)}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes glow-pulse{0%,to{opacity:.5}50%{opacity:.9}}@keyframes prompt-flick{0%{opacity:.6}to{opacity:1}}.nav-desktop{align-items:center;display:none;gap:2rem}.nav-link{color:var(--color-text-muted);font-size:.875rem;font-weight:500;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .3s}.nav-link.active,.nav-link:hover{color:var(--color-primary)}.header-right{gap:1rem}.avatar,.header-right{align-items:center;display:flex}.avatar{background:#ffffff0d;border:1px solid #0566d933;border-radius:50%;height:32px;justify-content:center;overflow:hidden;width:32px}.avatar .material-symbols-outlined{font-size:16px}.nav-mobile{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0a0af2;border-bottom:1px solid #ffffff1a;display:flex;flex-direction:column;gap:1rem;padding:1rem 2rem}@media (min-width:768px){.menu-icon{display:none}.nav-desktop{display:flex}.nav-mobile{display:none}}@media (max-width:768px){.hacker-btn-header{font-size:.85rem;padding:5px 10px}.hacker-tooltip-header{font-size:.7rem;padding:5px 10px}.header-content{padding:0 1rem}}.feedback-modal-content{max-width:520px}.feedback-form{gap:1.25rem;margin-top:1.5rem}.feedback-field,.feedback-form{display:flex;flex-direction:column}.feedback-field{gap:.5rem}.feedback-field label{color:var(--color-text-muted);font-size:.875rem;font-weight:600}.feedback-field input,.feedback-field textarea{background:#ffffff08;border:1px solid #ffffff1a;border-radius:.5rem;color:var(--color-text);font-family:inherit;font-size:.95rem;padding:.875rem 1rem;resize:vertical;transition:border-color .3s,background .3s}.feedback-field input::placeholder,.feedback-field textarea::placeholder{color:#ffffff59}.feedback-field input:focus,.feedback-field textarea:focus{background:#ffffff0d;border-color:var(--color-primary);outline:none}.feedback-field-row{display:flex;flex-direction:column;gap:1.25rem}.feedback-pill-options{display:flex;flex-direction:column;gap:.5rem}.feedback-pill-options-row{flex-direction:row;flex-wrap:wrap}.feedback-pill{align-items:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:.5rem;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.6rem 1rem;transition:all .2s}.feedback-pill input{accent-color:var(--color-primary)}.feedback-pill:hover{background:#ffffff0d;border-color:#0566d966}.feedback-pill.selected{background:#0566d926;border-color:var(--color-primary);color:var(--color-text);font-weight:600}.feedback-pill-options-row .feedback-pill{flex:1 1;justify-content:center}.feedback-error-text{color:#ff6b6b;font-size:.875rem;margin:0}.feedback-form .contact-btn{margin-top:.5rem}.feedback-form .contact-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.feedback-success{padding:1.5rem 0 .5rem;text-align:center}.feedback-success-icon{color:#25d366;font-size:3.5rem;margin-bottom:1rem}.feedback-success .modal-title{margin-bottom:.5rem}.feedback-success .contact-btn{margin-left:auto;margin-right:auto;margin-top:1.5rem;max-width:200px}@media (min-width:768px){.feedback-field-row{flex-direction:row}.feedback-field-row .feedback-field{flex:1 1}}.modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .4s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#121212f2;border:1px solid #ffffff1a;border-radius:1.5rem;max-height:90vh;max-width:1000px;overflow-y:auto;padding:30px;position:relative;width:100%}.modal-close{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;color:var(--color-text);cursor:pointer;display:flex;height:2.5rem;justify-content:center;position:absolute;right:1.5rem;top:1.5rem;transition:all .3s;width:2.5rem}.modal-close:hover{background:#ffffff1a;border-color:var(--color-primary);transform:rotate(90deg)}.modal-back{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.35rem;margin-bottom:1.5rem;padding:0;transition:color .2s}.modal-back:hover{color:var(--color-primary)}.modal-back .material-symbols-outlined{font-size:1.1rem}.modal-title{font-family:Sora,sans-serif;font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.modal-subtitle{color:var(--color-text-muted);font-size:.9rem;margin:0 0 1rem}.contact-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.contact-card{align-items:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:1rem;display:flex;flex-direction:column;padding:1.25rem;text-align:center;transition:all .3s ease}.contact-card:hover{background:#ffffff0d;border-color:var(--color-primary);transform:translateY(-4px)}.contact-card-whatsapp{background:linear-gradient(135deg,#25d3661a,#121212cc);border-color:#25d3664d}.contact-card-whatsapp:hover{background:linear-gradient(135deg,#25d36626,#121212e6);border-color:#25d36680}.contact-card-feedback{background:linear-gradient(135deg,#b76dff1a,#121212cc);border-color:#b76dff4d}.contact-card-feedback:hover{background:linear-gradient(135deg,#b76dff26,#121212e6);border-color:#b76dff80}.contact-icon-wrapper{align-items:center;background:linear-gradient(135deg,#0566d933,#b76dff33);border:1px solid #0566d94d;border-radius:.75rem;display:flex;height:2.75rem;justify-content:center;margin-bottom:.5rem;width:2.75rem}.contact-icon-wrapper .material-symbols-outlined{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0566d9,#b76dff);-webkit-background-clip:text;background-clip:text;font-size:1.4rem}.contact-card-title{font-size:1.05rem;font-weight:700;margin:0 0 .2rem}.contact-card-subtitle{color:var(--color-text-muted);font-size:.8rem;margin:0 0 .5rem}.contact-info{background:#0566d91a;border:1px solid #0566d933;border-radius:.5rem;color:#fff;font-family:JetBrains Mono,monospace;font-size:.8rem;margin-bottom:.75rem;padding:.5rem .75rem;width:100%}.contact-btn,.contact-info-phone{align-items:center;display:flex;gap:.5rem;justify-content:center}.contact-btn{border:none;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:700;padding:.65rem 1.25rem;transition:all .3s;width:100%}.contact-btn-email{background:#0566d933;border:1px solid #0566d94d;color:#fff}.contact-btn-email:hover{background:#0566d94d;border-color:var(--color-primary);transform:translateY(-2px)}.contact-btn-whatsapp{background:#25d366;border:1px solid #25d366;color:#fff}.contact-btn-whatsapp:hover{background:#20bd5a;box-shadow:0 4px 12px #25d3664d;transform:translateY(-2px)}.contact-btn-feedback{background:#b76dff33;border:1px solid #b76dff4d;color:#fff}.contact-btn-feedback:hover{background:#b76dff4d;border-color:#b76dff;transform:translateY(-2px)}.social-buttons{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;width:100%}.social-btn{align-items:center;border:1px solid;border-radius:.5rem;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.4rem;justify-content:center;padding:.55rem .85rem;transition:all .3s}.social-btn-linkedin{background:#0a66c21a;border-color:#0a66c24d;color:#fff}.social-btn-linkedin:hover{background:#0a66c233;border-color:#0a66c2;transform:translateY(-2px)}.social-btn-github{background:#ffffff0d;border-color:#fff3;color:var(--color-text)}.social-btn-github:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-2px)}.social-btn-instagram{background:linear-gradient(45deg,#f0943326,#dc274326,#bc188826);border-color:#dc27434d;color:#fff}.social-btn-instagram:hover{background:linear-gradient(45deg,#f0943340,#dc274340,#bc188840);border-color:#dc2743;transform:translateY(-2px)}@media (min-width:768px){.contact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-content{padding:20px}.modal-title{font-size:2rem}.social-buttons{flex-direction:row;flex-wrap:wrap}.social-buttons .social-btn{flex:1 1 auto}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.modal-content::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:10px}.hero-section{margin:0 auto;max-width:1400px;padding:8rem 2rem 4rem}.hero-grid{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:1fr}.hero-content{display:flex;flex-direction:column;gap:1.5rem}.status-badge{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem;margin-left:-.25rem}.status-text{color:var(--color-primary);font-family:JetBrains Mono,monospace;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}.hero-title{font-family:Sora,sans-serif;font-size:2.5rem;font-weight:800;line-height:1.1;margin:0}.hero-description{color:var(--color-text-muted);font-size:1.125rem;line-height:1.7;margin:0 auto;max-width:42rem}.hero-buttons{gap:1rem}.btn-primary,.btn-secondary{font-size:1rem;gap:.5rem;padding:1rem 2rem}.hero-image-wrapper{margin:0 auto;max-width:500px;position:relative;width:100%}.hero-image-container{aspect-ratio:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#12121299;border:1px solid #ffffff1a;border-radius:1rem;overflow:hidden;position:relative}.hero-image{height:100%;object-fit:cover;transition:filter .7s;width:100%}.hero-image,.hero-image-container:hover .hero-image{filter:grayscale(0)}.hero-image-overlay{background:linear-gradient(0deg,#0a0a0acc,#0000,#0000);inset:0;opacity:.6;pointer-events:none;position:absolute}.hero-badge{animation:bounce 2s infinite;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#12121299;border:1px solid #0566d94d;border-radius:.75rem;bottom:-1.5rem;left:-1.5rem;padding:1rem;position:absolute}.badge-content{align-items:center;display:flex;gap:.75rem}.badge-content .material-symbols-outlined{color:var(--color-primary);font-size:1.5rem}.badge-text{font-family:JetBrains Mono,monospace;font-size:.625rem;line-height:1.4}.badge-label{color:var(--color-secondary)}.badge-label-fps{color:var(--color-tertiary)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (min-width:768px){.hero-section{padding:8rem 2rem 6rem}.hero-grid{gap:4rem;grid-template-columns:2fr 1fr}.hero-title{font-size:3.5rem}.hero-buttons{flex-direction:row}.btn-primary,.btn-secondary{padding:1rem 2rem}}@media (min-width:1024px){.hero-title{font-size:4rem}}.hero-stats{grid-gap:1rem;border-top:1px solid #ffffff1a;display:grid;gap:1rem;grid-template-columns:1fr;margin-top:3rem;padding-top:2rem}.stat-item{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#12121299;border:1px solid #ffffff1a;border-radius:.75rem;display:flex;gap:1rem;padding:1.25rem;transition:all .3s ease;width:100%}.stat-item:hover{border-color:var(--color-primary);box-shadow:0 0 20px #0566d933;transform:translateX(4px)}.stat-icon-wrapper{align-items:center;background:linear-gradient(135deg,#0566d933,#b76dff33);border:1px solid #0566d94d;border-radius:.5rem;display:flex;flex-shrink:0;height:3rem;justify-content:center;width:3rem}.stat-icon{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0566d9,#b76dff);-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-variation-settings:"FILL" 1}.stat-content{display:flex;flex-direction:column;gap:.25rem}.stat-number{color:var(--color-primary);font-family:Sora,sans-serif;font-size:1.5rem;font-weight:800;line-height:1}.stat-label{color:var(--color-text-muted);font-size:.75rem;font-weight:500;line-height:1.4}.stat-counter .stat-number{animation:scaleIn .5s ease forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.stat-badge .stat-number{color:var(--color-tertiary)}.stat-badge:nth-child(2) .stat-icon-wrapper{background:linear-gradient(135deg,#b76dff33,#08e70033);border-color:#b76dff4d}.stat-badge:nth-child(3) .stat-icon-wrapper{background:linear-gradient(135deg,#08e70033,#0566d933);border-color:#08e7004d}@media (max-width:767px){.stat-item{justify-content:center;text-align:center}.stat-content,.stat-item{align-items:center;flex-direction:column}.stat-content{display:flex}.stat-label{text-align:center}}@media (min-width:768px){.hero-stats{gap:1.5rem;grid-template-columns:repeat(3,1fr)}.stat-item{flex-direction:column;padding:1.5rem;text-align:center}.stat-icon-wrapper{height:4rem;width:4rem}.stat-icon,.stat-number{font-size:2rem}.stat-label{font-size:.8rem;text-align:center}}@media (min-width:1024px){.stat-number{font-size:2.5rem}.stat-label{font-size:.875rem}}.techstack-section{margin:0 auto;max-width:1400px;padding:5rem 2rem}.techstack-title{align-items:center;display:flex;font-size:2rem;font-weight:700;gap:.75rem;margin-bottom:2rem}.techstack-title .material-symbols-outlined{color:var(--color-primary);font-size:2rem}.techstack-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}.tech-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#12121299;border:1px solid #ffffff1a;border-radius:1rem;padding:2rem;transition:all .3s ease}.tech-card:hover{border-color:var(--color-primary);box-shadow:0 0 20px #0566d933;transform:translateY(-4px)}.tech-card-category{display:flex;flex-direction:column;gap:1.5rem}.tech-card-header{align-items:center;display:flex;gap:1rem}.tech-icon{color:var(--color-primary);font-size:2rem}.tech-card-title{font-size:1.5rem;font-weight:700;margin:0}.tech-card-description{color:var(--color-text-muted);font-size:.95rem;line-height:1.6;margin:0}.tech-icons-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));margin-top:.5rem}.tech-icon-item{align-items:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:.75rem;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;padding:1rem;transition:all .3s ease}.tech-icon-item:hover{background:#ffffff14;border-color:var(--color-primary);transform:translateY(-4px)}.tech-logo{filter:drop-shadow(0 2px 8px rgba(5,102,217,.3));height:48px;object-fit:contain;transition:transform .3s ease;width:48px}.tech-icon-item:hover .tech-logo{transform:scale(1.1)}.tech-logo-material{align-items:center;color:var(--color-primary);display:flex;filter:none;font-size:40px;justify-content:center}.tech-name{color:var(--color-text);font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;text-align:center}.tech-card-performance{background:linear-gradient(135deg,#121212cc,#0566d90d);display:flex;flex-direction:column;gap:2rem}.performance-content{flex:1 1}.performance-icons{display:flex;gap:1rem;justify-content:center}.performance-icon-box{align-items:center;background:#000;border:1px solid #ffffff1a;border-radius:.5rem;display:flex;height:3rem;justify-content:center;transition:all .3s;width:3rem}.performance-icon-box:hover{border-color:var(--color-primary);transform:scale(1.1)}.performance-icon-bolt{color:var(--color-secondary)}.performance-icon-security{color:var(--color-tertiary)}.performance-icon-graph{color:var(--color-primary)}@media (min-width:768px){.techstack-grid{grid-template-columns:repeat(2,1fr)}.tech-icons-grid{grid-template-columns:repeat(3,1fr)}.tech-card-performance{align-items:center;flex-direction:row;grid-column:span 2;justify-content:space-between}.performance-content{max-width:60%}}@media (min-width:1024px){.techstack-title{font-size:2.5rem}.tech-card-title{font-size:1.75rem}}:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:ease;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{-ms-overflow-style:none;overflow:auto;scrollbar-width:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-start:var(--swiper-slides-offset-before);margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{-webkit-margin-end:var(--swiper-slides-offset-after);margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-before:var(--swiper-slides-offset-before);margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{-webkit-margin-after:var(--swiper-slides-offset-after);margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-start:var(--swiper-centered-offset-before);margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-before:var(--swiper-centered-offset-before);margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid #007aff;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-theme-color);color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:44px;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:44px;width:var(--swiper-navigation-size);z-index:10;&.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}&.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled &{display:none!important}::slotted(svg),svg{fill:currentColor;height:100%;object-fit:contain;pointer-events:none;transform-origin:center;width:100%}}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:-22px;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:50%;top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:4px;left:var(--swiper-navigation-sides-offset,4px);right:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}.swiper-button-next{left:auto;right:4px;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{margin-left:0;margin-top:-22px;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:50%;top:var(--swiper-navigation-top-offset,50%)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{left:4px;left:var(--swiper-navigation-sides-offset,4px);right:auto}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev,&~.swiper-button-next,.swiper-button-next{left:auto;right:4px;right:var(--swiper-navigation-sides-offset,4px)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(0deg)}}}.swiper-vertical{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{left:50%;left:var(--swiper-navigation-top-offset,50%);margin-left:-22px;margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-button-prev,~.swiper-button-prev{bottom:auto;top:4px;top:var(--swiper-navigation-sides-offset,4px);.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:4px;bottom:var(--swiper-navigation-sides-offset,4px);top:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10;&.swiper-pagination-hidden{opacity:0}&.swiper-pagination-disabled,.swiper-pagination-disabled>&{display:none!important}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:8px;bottom:var(--swiper-pagination-bottom,8px);left:0;top:auto;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden;.swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{background:#000;background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:50%;border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:8px;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:.2;opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:8px;width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));button&{-webkit-appearance:none;appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{background:var(--swiper-theme-color);background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:1;opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:auto;left:var(--swiper-pagination-left,auto);right:8px;right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{display:block;margin:6px 0;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 4px;margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}&.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:transform .2s,left .2s}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:inherit;color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:#00000040;background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute;.swiper-pagination-progressbar-fill{background:var(--swiper-theme-color);background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}&.swiper-pagination-horizontal,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>&,.swiper-vertical>&.swiper-pagination-progressbar-opposite{height:4px;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,.swiper-vertical>&{height:100%;left:0;top:0;width:4px;width:var(--swiper-pagination-progressbar-size,4px)}}.swiper-pagination-lock{display:none}.projects-section{margin:0 auto;max-width:1400px;padding:5rem 2rem}.projects-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.projects-title{font-size:2rem;font-weight:700;margin:0 0 .5rem}.projects-subtitle{color:var(--color-text-muted);margin:0}.projects-link{align-items:center;animation:gradient-glow 3s ease infinite;background:linear-gradient(45deg,var(--color-primary),var(--color-secondary),var(--color-primary));background-size:300% 300%;border-radius:.5rem;box-shadow:0 0 20px #0566d980;color:var(--color-primary);color:#fff;display:flex;font-weight:700;gap:.25rem;padding:.75rem 1.5rem;position:relative;text-decoration:none;transition:all .3s}@keyframes gradient-glow{0%{background-position:0 50%;box-shadow:0 0 20px #0566d980}50%{background-position:100% 50%;box-shadow:0 0 30px #b76dffcc}to{background-position:0 50%;box-shadow:0 0 20px #0566d980}}.projects-link:hover{gap:.5rem;text-decoration:underline}.projects-link .material-symbols-outlined{font-size:1.25rem}.projects-carousel-wrapper{margin-bottom:2rem;position:relative}.projects-swiper{padding:1rem 0 3rem}.project-card{cursor:grab;display:flex;flex-direction:column;height:100%;transition:transform .3s}.project-card:active{cursor:grabbing}.project-card:hover{transform:translateY(-8px)}.project-image-wrapper{aspect-ratio:16/9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#12121299;border:1px solid #ffffff1a;border-radius:1rem;margin-bottom:1rem;overflow:hidden;position:relative}.project-image{height:100%;object-fit:cover;transition:transform .5s;width:100%}.project-card:hover .project-image{transform:scale(1.05)}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;left:1rem;position:absolute;top:1rem}.project-tag{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #ffffff1a;border-radius:9999px;font-size:.625rem;font-weight:700;letter-spacing:.1em;padding:.5rem .75rem;text-transform:uppercase}.project-tag-primary{background:#0566d9cc;color:#fff}.project-tag-secondary{background:#0009;color:var(--color-text)}.project-tag-tertiary{background:#08e70099;color:#fff}.project-content{display:flex;flex:1 1;flex-direction:column;padding:.5rem 0}.project-title{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;transition:color .3s}.project-card:hover .project-title{color:var(--color-primary)}.project-description{color:var(--color-text-muted);line-height:1.6;margin:0}.projects-swiper .swiper-button-next,.projects-swiper .swiper-button-prev{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#121212cc;border:1px solid #ffffff1a;border-radius:50%;color:var(--color-primary);height:3rem;transition:all .3s;width:3rem}.projects-swiper .swiper-button-next:hover,.projects-swiper .swiper-button-prev:hover{background:#0566d933;border-color:var(--color-primary);transform:scale(1.1)}.projects-swiper .swiper-button-next:after,.projects-swiper .swiper-button-prev:after{font-size:1.25rem;font-weight:900}.projects-swiper .swiper-pagination-bullet{background:#ffffff4d;height:10px;opacity:1;transition:all .3s;width:10px}.projects-swiper .swiper-pagination-bullet-active{background:var(--color-primary);border-radius:5px;width:30px}.swipe-indicator{align-items:center;animation:fadeInOut 3s ease-in-out infinite;color:var(--color-text-muted);display:flex;font-size:.875rem;gap:.5rem;justify-content:center;margin-top:1rem}.swipe-indicator .material-symbols-outlined{color:var(--color-primary);font-size:1.5rem}.project-card-link{color:inherit;display:block;height:100%;text-decoration:none}.project-card{position:relative}.project-link-indicator{align-items:center;background:#0566d9f2;border-radius:50%;cursor:pointer;display:flex;height:4rem;justify-content:center;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:all .3s ease;width:4rem;z-index:10}.project-link-indicator .material-symbols-outlined{color:#fff;font-size:2rem}.project-card-link:hover .project-link-indicator{opacity:1;transform:translate(-50%,-50%) scale(1)}.project-card-link:hover .project-image{filter:brightness(.5)}.project-card-link:hover{cursor:pointer}.project-card-link:active .project-card{transform:scale(.98)}@keyframes fadeInOut{0%,to{opacity:.4}50%{opacity:1}}@media (min-width:768px){.swipe-indicator{display:none}.projects-header{gap:1.5rem;text-align:center}.projects-header,.projects-header>div{align-items:center;flex-direction:column}.projects-header>div{display:flex}.projects-subtitle,.projects-title{text-align:center}}@media (min-width:1024px){.projects-title{font-size:2.5rem}}.projects-swiper .swiper-button-next,.projects-swiper .swiper-button-prev{top:40%!important}.projects-swiper .swiper-button-prev{left:10px!important;right:auto!important}.projects-swiper .swiper-button-next{left:auto!important;right:10px!important}@media (max-width:767px){.projects-swiper .swiper-button-next,.projects-swiper .swiper-button-prev{top:40%!important}.projects-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.projects-link{align-items:center;color:#fff;display:flex;font-weight:700;gap:.25rem;text-decoration:none;transition:all .3s}@media (max-width:767px){.projects-header{align-items:center;flex-direction:column;gap:1.5rem;text-align:center}.projects-link{width:-webkit-fit-content;width:fit-content}}}.footer{align-items:center;background:#12121280;border-top:1px solid #ffffff1a;display:flex;flex-direction:column;gap:1.5rem;padding:2.5rem 2rem 5rem;text-align:center;width:100%}.footer-title{color:var(--color-primary);font-size:.875rem;font-weight:600;letter-spacing:.2em;margin:0;text-transform:uppercase}.footer-links{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.footer-link{color:var(--color-text-muted);font-family:JetBrains Mono,monospace;font-size:.875rem;opacity:.8;text-decoration:none;transition:all .3s}.footer-link:hover{color:var(--color-tertiary);opacity:1}.footer-link-contact{text-decoration:underline;-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}button.footer-link{background:none;border:none;cursor:pointer;font:inherit;padding:0}.footer-copyright{color:#e5e2e199;font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.6;margin:0;max-width:28rem}@media (min-width:768px){.footer{padding:3rem 2rem 6rem}}.whatsapp-float{align-items:center;animation:slideInRight .5s ease;background:linear-gradient(135deg,#25d366,#128c7e);border:none;border-radius:50%;bottom:5.5rem;box-shadow:0 4px 12px #25d36666,0 8px 24px #0000004d;color:#fff;cursor:pointer;display:flex;height:3.5rem;justify-content:center;position:fixed;right:2rem;transition:all .3s ease;width:3.5rem;z-index:60}.whatsapp-float:hover{box-shadow:0 6px 16px #25d36680,0 12px 32px #0006;transform:scale(1.1)}.whatsapp-float:active{transform:scale(.95)}.whatsapp-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));height:2rem;position:relative;width:2rem;z-index:2}.whatsapp-pulse{animation:pulse-whatsapp 2s infinite;background:#25d36666;border-radius:50%;height:100%;position:absolute;width:100%}@keyframes pulse-whatsapp{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}.whatsapp-float:before{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#121212f2;border:1px solid #ffffff1a;border-radius:.5rem;color:#fff;content:"Conversar no WhatsApp";font-size:.875rem;font-weight:600;opacity:0;padding:.5rem 1rem;pointer-events:none;position:absolute;right:4rem;transition:opacity .3s;white-space:nowrap}.whatsapp-float:hover:before{opacity:1}@media (max-width:768px){.whatsapp-float{bottom:4.5rem;height:3rem;right:1.5rem;width:3rem}.whatsapp-icon{height:1.75rem;width:1.75rem}.whatsapp-float:before{display:none}}.feedback-float{align-items:center;animation:feedbackSlideInRight .5s ease;background:linear-gradient(135deg,#0566d9,#b76dff);border:none;border-radius:999px;bottom:9.75rem;box-shadow:0 4px 12px #b76dff66,0 8px 24px #0000004d;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:700;gap:.4rem;padding:.7rem 1.1rem;position:fixed;right:2rem;transition:all .3s ease;white-space:nowrap;z-index:60}.feedback-float .material-symbols-outlined{font-size:1.2rem}.feedback-float:hover{box-shadow:0 6px 16px #b76dff80,0 12px 32px #0006;transform:scale(1.05)}.feedback-float:active{transform:scale(.95)}@keyframes feedbackSlideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.feedback-float{bottom:8.25rem;font-size:.8rem;padding:.6rem .9rem;right:1.5rem}.feedback-float .material-symbols-outlined{font-size:1.05rem}}.loading-screen{align-items:center;animation:fadeOut .5s ease 2.5s forwards;background:var(--color-background);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}@keyframes fadeOut{to{opacity:0;visibility:hidden}}.loading-content{gap:2rem}.loading-content,.loading-name{align-items:center;display:flex;flex-direction:column}.loading-name{font-family:Sora,sans-serif;font-size:3rem;font-weight:800;letter-spacing:-.02em;margin:0}.loading-name-first{animation:slideDown .6s ease forwards;color:var(--color-primary);opacity:0}.loading-name-last{-webkit-text-fill-color:#0000;animation:slideUp .6s ease .3s forwards;background:linear-gradient(135deg,#b76dff,#0566d9);-webkit-background-clip:text;background-clip:text;opacity:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.loading-bar{animation:fadeIn .5s ease .8s forwards;opacity:0}@keyframes fadeIn{to{opacity:1}}.loading-progress{animation:progress 2s ease forwards;width:0}@keyframes progress{to{width:100%}}.loading-text{animation:pulse-text 1.5s ease infinite;color:var(--color-text-muted);font-family:JetBrains Mono,monospace;font-size:.875rem;margin:0}@keyframes pulse-text{0%,to{opacity:.5}50%{opacity:1}}@media (max-width:768px){.loading-name{font-size:2rem}.loading-bar{width:150px}}.loading-bar-wrapper{align-items:center;animation:fadeIn .5s ease .8s forwards;display:flex;flex-direction:column;gap:.5rem;opacity:0}.loading-bar{background:#ffffff1a;border-radius:10px;height:3px;overflow:hidden;width:200px}.loading-progress{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:10px;height:100%;transition:width .1s ease}.loading-percentage{color:var(--color-primary);font-family:JetBrains Mono,monospace;font-size:1.25rem;font-weight:700;min-width:60px;text-align:center}@media (max-width:768px){.loading-bar{width:150px}.loading-percentage{font-size:1rem}}.sobre-mim-page{min-height:100vh;padding-top:64px}.sobre-hero{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:1fr;margin:0 auto;max-width:1400px;padding:4rem 2rem}.sobre-hero-content{display:flex;flex-direction:column;gap:1.5rem}.sobre-label{color:var(--color-primary);font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.sobre-title{font-family:Sora,sans-serif;font-size:2.5rem;font-weight:800;line-height:1.2;margin:0}.sobre-description{color:var(--color-text-muted);font-size:1.125rem;font-weight:400;line-height:1.8;margin:0}.sobre-hero-image{position:relative}.hero-buttons{flex-direction:column;flex-wrap:wrap;gap:.75rem;padding-top:1rem}.btn-feedback,.hero-buttons{align-items:center;display:flex}.btn-feedback{background:linear-gradient(135deg,#0566d940,#b76dff40);border:1px solid #b76dff66;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;gap:.4rem;justify-content:center;padding:.75rem 1.25rem;transition:all .2s;white-space:nowrap}.btn-feedback:hover{background:linear-gradient(135deg,#0566d966,#b76dff66);border-color:#b76dffcc;transform:translateY(-2px)}.btn-feedback:active{transform:scale(.95)}.btn-primary,.btn-secondary{align-items:center;border-radius:.5rem;display:flex;font-size:.9rem;font-weight:700;gap:.4rem;justify-content:center;padding:.75rem 1.25rem;text-decoration:none;transition:all .2s;white-space:nowrap}.btn-primary{background:var(--color-primary);border:1px solid #0566d933;color:#fff}.btn-primary:hover{background:#0566d9e6;transform:translateY(-2px)}.btn-primary:active{transform:scale(.95)}.btn-secondary{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0d;border:1px solid #fff3;color:var(--color-text)}.btn-secondary:hover{background:#ffffff1a}.sobre-image-wrapper{aspect-ratio:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#12121299;border:1px solid #ffffff1a;border-radius:1rem;margin:0 auto;max-width:400px;overflow:hidden;position:relative}.sobre-profile-img{height:100%;object-fit:cover;width:100%}.sobre-image-overlay{background:linear-gradient(0deg,#0a0a0a99,#0000);inset:0;position:absolute}.biografia-section{background:#1212124d;padding:4rem 2rem}.biografia-container{margin:0 auto;max-width:900px}.section-title{align-items:center;display:flex;font-size:2rem;font-weight:700;gap:.75rem;justify-content:center;margin-bottom:3rem;text-align:center}.section-title .material-symbols-outlined{color:var(--color-primary);font-size:2rem}.biografia-content{display:flex;flex-direction:column;gap:1.5rem;text-align:justify}.biografia-content p{color:var(--color-text-muted);font-size:1.125rem;line-height:1.8;margin:0}.biografia-content strong{color:var(--color-primary);font-weight:700}.bio-highlight{align-items:flex-start;background:linear-gradient(135deg,#0566d91a,#b76dff1a);border:1px solid #0566d933;border-radius:1rem;display:flex;gap:1.5rem;margin-top:1rem;padding:2rem}.bio-highlight .material-symbols-outlined{color:var(--color-primary);flex-shrink:0;font-size:2rem;font-variation-settings:"FILL" 1}.bio-highlight p{color:var(--color-text);font-size:1.125rem;line-height:1.7;margin:0}.timeline-section{padding:4rem 2rem}.timeline-container{margin:0 auto;max-width:900px}.timeline{margin-top:2rem;padding-left:2rem;position:relative}.timeline:before{background:linear-gradient(to bottom,var(--color-primary),var(--color-secondary));bottom:0;content:"";left:0;position:absolute;top:0;width:2px}.timeline-item{margin-bottom:3rem;padding-left:2rem;position:relative}.timeline-marker{background:var(--color-primary);border:3px solid var(--color-background);border-radius:50%;box-shadow:0 0 0 4px #0566d933;height:16px;left:-2rem;position:absolute;top:0;width:16px}.timeline-year{background:#0566d91a;border:1px solid #0566d933;border-radius:.5rem;color:var(--color-primary);display:inline-block;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:700;margin-bottom:.5rem;padding:.25rem .75rem}.timeline-title{font-size:1.5rem;font-weight:700;margin:.5rem 0}.timeline-description{color:var(--color-text-muted);font-size:1.0625rem;line-height:1.7;margin:0}.cta-section{background:linear-gradient(135deg,#0566d91a,#b76dff1a);border-radius:2rem;margin:0 auto 4rem;max-width:1400px;padding:4rem 2rem}.cta-content{margin:0 auto;max-width:700px;text-align:center}.cta-title{font-family:Sora,sans-serif;font-size:2.5rem;font-weight:800;margin:0 0 1rem}.cta-description{color:var(--color-text-muted);font-size:1.125rem;line-height:1.7;margin:0 0 2rem}.cta-buttons{align-items:center;display:flex;flex-direction:column;gap:1rem}@media (min-width:768px){.sobre-hero{grid-template-columns:1fr 1fr;padding:6rem 2rem}.sobre-title{font-size:3.5rem}.hero-buttons{flex-wrap:nowrap}.cta-buttons,.hero-buttons{flex-direction:row;justify-content:center}}@media (min-width:1024px){.sobre-title{font-size:4rem}.section-title{font-size:2.5rem}.cta-title{font-size:3rem}}.portfolio-page{min-height:100vh;padding-top:64px}.portfolio-hero{margin:0 auto;max-width:1400px;padding:4rem 2rem;text-align:center}.portfolio-label{color:var(--color-primary);font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.portfolio-title{font-family:Sora,sans-serif;font-size:3rem;font-weight:800;line-height:1.2;margin:1rem 0}.portfolio-description{color:var(--color-text-muted);font-size:1.125rem;line-height:1.8;margin:0 auto;max-width:700px}.portfolio-filters-section{margin:0 auto;max-width:1400px;padding:2rem}.portfolio-filters{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.filter-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:9999px;color:var(--color-text-muted);cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s}.filter-btn .material-symbols-outlined{font-size:1.25rem}.filter-count{align-items:center;background:#ffffff1a;border-radius:50%;display:inline-flex;font-family:JetBrains Mono,monospace;font-size:.75rem;height:24px;justify-content:center;min-width:24px}.filter-btn:hover{background:#ffffff1a;transform:translateY(-2px)}.filter-btn.active,.filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-btn.active{background:linear-gradient(135deg,#0566d933,#b76dff33)}.portfolio-projects-section{margin:0 auto;max-width:1400px;min-height:400px;padding:2rem}.projects-grid-portfolio{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr}.project-card-portfolio{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#12121299;border:1px solid #ffffff1a;border-radius:1rem;display:flex;flex-direction:column;overflow:hidden;transition:all .3s}.project-card-portfolio:hover{border-color:var(--color-primary);box-shadow:0 0 30px #0566d94d;transform:translateY(-8px)}.project-image-wrapper-portfolio{aspect-ratio:16/9;overflow:hidden;position:relative}.project-image-portfolio{height:100%;object-fit:cover;transition:transform .5s;width:100%}.project-card-portfolio:hover .project-image-portfolio{transform:scale(1.1)}.project-overlay{align-items:center;background:#0a0a0ae6;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .3s}.project-card-portfolio:hover .project-overlay{opacity:1}.project-links{flex-wrap:wrap;gap:1rem}.project-link-btn,.project-links{display:flex;justify-content:center}.project-link-btn{align-items:center;background:var(--color-primary);border-radius:999px;color:#fff;font-size:.875rem;font-weight:700;gap:.5rem;height:3rem;padding:0 1.25rem;text-decoration:none;transition:all .3s;white-space:nowrap}.project-link-btn:hover{background:var(--color-secondary);transform:scale(1.1) rotate(5deg)}.project-content-portfolio{display:flex;flex:1 1;flex-direction:column;gap:1rem;padding:1.5rem}.project-category-badge{align-self:flex-start;border:1px solid #0000;border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.project-category-badge.category-frontend{background:linear-gradient(135deg,#0566d933,#38bdf833);border-color:#0566d966;color:#38bdf8}.project-category-badge.category-backend{background:linear-gradient(135deg,#b76dff33,#7c3aed33);border-color:#b76dff66;color:#b76dff}.project-category-badge.category-tools{background:linear-gradient(135deg,#ff980033,#ff6f0033);border-color:#ff980066;color:#ff9800}.project-category-badge.category-games{background:linear-gradient(135deg,#00c89633,#14b8a633);border-color:#00c89666;color:#14b8a6}.project-title-portfolio{color:var(--color-text);font-size:1.5rem;font-weight:700;margin:0}.project-description-portfolio{color:var(--color-text-muted);flex:1 1;line-height:1.7;margin:0}.project-tags-portfolio{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.project-tag-portfolio{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.375rem;color:var(--color-text-muted);font-family:JetBrains Mono,monospace;font-size:.75rem;padding:.375rem .75rem}.no-projects{color:var(--color-text-muted);padding:4rem 2rem;text-align:center}.no-projects .material-symbols-outlined{display:block;font-size:4rem;margin-bottom:1rem;opacity:.3}.no-projects p{font-size:1.125rem;margin:0}.portfolio-cta{background:linear-gradient(135deg,#0566d91a,#b76dff1a);border-radius:2rem;margin:4rem auto;max-width:1400px;padding:4rem 2rem;text-align:center}.cta-title-portfolio{font-family:Sora,sans-serif;font-size:2.5rem;font-weight:800;margin:0 0 1rem}.cta-description-portfolio{color:var(--color-text-muted);font-size:1.125rem;line-height:1.7;margin:0 0 2rem}.cta-buttons-portfolio{align-items:center;display:flex;flex-direction:column;gap:1rem}@media (min-width:768px){.portfolio-title{font-size:4rem}.projects-grid-portfolio{grid-template-columns:repeat(2,1fr)}.cta-buttons-portfolio{flex-direction:row;justify-content:center}}@media (min-width:1024px){.projects-grid-portfolio{grid-template-columns:repeat(3,1fr)}.portfolio-title{font-size:4.5rem}.cta-title-portfolio{font-size:3rem}}.project-status-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:700;gap:.375rem;letter-spacing:.05em;padding:.375rem .75rem;text-transform:uppercase}.project-status-badge .material-symbols-outlined{font-size:1rem}.project-status-badge.em-desenvolvimento{animation:pulse-warning 2s infinite;background:linear-gradient(135deg,#ffc10733,#ff980033);border:1px solid #ffc10780;color:#ffc107}.project-badges-wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}@keyframes pulse-warning{0%,to{box-shadow:0 0 0 0 #ffc10766}50%{box-shadow:0 0 0 6px #ffc10700}}.project-status-badge.concluido{background:linear-gradient(135deg,#4caf5033,#388e3c33);border:1px solid #4caf5080;color:#4caf50}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.b9769a2b.css.map*/