@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--bg-base:#050505;--bg-surface:#111;--bg-glass:#14141499;--accent-primary:#818cf8;--accent-secondary:#c084fc;--accent-glow:#818cf84d;--gradient-text:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));--gradient-bg:linear-gradient(135deg, var(--bg-surface) 0%, var(--bg-base) 100%);--text-primary:#fff;--text-secondary:#fff;--text-tertiary:#f1f5f9;--border-glass:1px solid #ffffff0d;--border-radius-sm:8px;--border-radius-md:16px;--border-radius-lg:24px;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Outfit,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}body{min-height:100vh;overflow-x:hidden}.text-gradient{background:var(--gradient-text);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border:var(--border-glass);border-radius:var(--border-radius-md);box-shadow:0 4px 30px #00000080}.glow-effect{position:relative}.glow-effect:before{content:"";background:var(--gradient-text);z-index:-1;border-radius:inherit;filter:blur(12px);opacity:0;transition:opacity var(--transition-normal);position:absolute;inset:-2px}.glow-effect:hover:before{opacity:1}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}.fade-in-up{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeInUp;transform:translateY(30px)}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.btn-primary{color:#fff;background:var(--gradient-text);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);box-shadow:0 4px 14px var(--accent-glow);border:none;border-radius:999px;justify-content:center;align-items:center;padding:.8rem 1.8rem;font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #818cf880}.btn-secondary{color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #fff3;border-radius:999px;justify-content:center;align-items:center;padding:.8rem 1.8rem;font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-secondary:hover{background:#ffffff0d;border-color:#fff6}.app-container{flex-direction:column;display:flex}.navbar{z-index:100;border-radius:999px;width:calc(100% - 2rem);max-width:1200px;padding:.5rem 0;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.nav-content{justify-content:space-between;align-items:center;padding:0 1rem;display:flex}.logo-container{flex-direction:column;justify-content:center;display:flex}.logo{letter-spacing:-.5px;font-size:1.9rem;font-weight:800;line-height:1}.logo-subtitle{text-transform:uppercase;letter-spacing:2px;color:var(--text-secondary);margin-top:4px;font-size:.8rem;font-weight:600}.nav-links{gap:1rem;display:flex}.nav-links a{color:var(--text-secondary);transition:all var(--transition-normal);border-radius:8px;padding:.5rem 1rem;font-weight:500;text-decoration:none}.nav-links a:hover{color:#000;background:#fffffff2;transform:translateY(-2px);box-shadow:0 4px 15px #fff3}.nav-actions{align-items:center;gap:1rem;display:flex}.mobile-menu-btn{color:var(--text-primary);cursor:pointer;z-index:1001;background:0 0;border:none;padding:.5rem;display:none}.hero{align-items:center;min-height:100vh;padding-top:6rem;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);z-index:-1;filter:blur(80px);border-radius:50%;width:50vw;height:50vw;position:absolute;top:20%;left:-10%}.hero:after{content:"";z-index:-1;filter:blur(80px);background:radial-gradient(circle,#c084fc33 0%,#0000 70%);border-radius:50%;width:40vw;height:40vw;position:absolute;bottom:-20%;right:-10%}.hero-content{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.hero-title{letter-spacing:-1px;margin-bottom:1.5rem;font-size:clamp(3rem,5vw,4.5rem);font-weight:800;line-height:1.1}.hero-subtitle{color:var(--text-secondary);max-width:540px;margin-bottom:2.5rem;font-size:1.125rem;line-height:1.6}.hero-actions{gap:1rem;display:flex}.abstract-shape{aspect-ratio:1;background:linear-gradient(45deg,#6366f11a,#a855f71a);border:1px solid #ffffff1a;border-radius:30% 70% 70% 30%/30% 30% 70% 70%;justify-content:center;align-items:center;width:100%;animation:8s ease-in-out infinite morph;display:flex;position:relative;box-shadow:inset 0 0 40px #818cf833}@keyframes morph{0%{border-radius:30% 70% 70% 30%/30% 30% 70% 70%}50%{border-radius:70% 30% 30% 70%/70% 70% 30% 30%}to{border-radius:30% 70% 70% 30%/30% 30% 70% 70%}}.code-snippet{border-radius:var(--border-radius-sm);background:#00000080;border:1px solid #ffffff0d;padding:1.5rem;font-family:Fira Code,monospace;font-size:.9rem}.code-keyword{color:#c678dd}.code-variable{color:#e06c75}.code-function{color:#61afef}.section{padding:6rem 0}.section-title{text-align:center;margin-bottom:4rem;font-size:2.5rem;font-weight:700}.footer{text-align:center;color:var(--text-tertiary);border-top:var(--border-glass);margin-top:4rem;padding:2rem}@media (width<=768px){.hero-content{text-align:center;grid-template-columns:1fr}.hero-subtitle{margin:0 auto 2.5rem}.hero-actions{justify-content:center}}.section-subtitle{text-align:center;color:var(--text-secondary);margin-top:-3rem;margin-bottom:4rem;font-size:1.1rem}.tech-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;display:grid}.tech-card{text-align:center;transition:transform var(--transition-fast), box-shadow var(--transition-fast);padding:2rem}.tech-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #000c,0 0 20px #818cf833}.tech-icon{margin-bottom:1rem;font-size:3rem}.tech-card h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.25rem}.tech-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;display:grid}.portfolio-card{transition:transform var(--transition-normal), box-shadow var(--transition-normal);flex-direction:column;padding:0;display:flex;overflow:hidden}.portfolio-card:hover{box-shadow:0 20px 40px #0009, 0 0 20px var(--accent-glow);transform:translateY(-8px)}.portfolio-image{border-bottom:var(--border-glass);justify-content:center;align-items:center;height:200px;display:flex;position:relative}.portfolio-logo{color:#fff;text-shadow:0 4px 10px #0000004d;font-size:2rem;font-weight:800}.badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;text-transform:uppercase;letter-spacing:.5px;background:#0006;border:1px solid #ffffff1a;border-radius:999px;padding:.3rem .8rem;font-size:.75rem;font-weight:600;position:absolute;top:1rem;right:1rem}.portfolio-content{flex-direction:column;flex-grow:1;padding:2rem;display:flex}.portfolio-content h3{color:var(--text-primary);margin-bottom:.8rem;font-size:1.3rem}.portfolio-content p{color:var(--text-secondary);flex-grow:1;margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.tech-tags{flex-wrap:wrap;gap:.5rem;display:flex}.tech-tags span{color:var(--accent-primary);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;padding:.3rem .8rem;font-size:.8rem;font-weight:500}.carousel-container{background:#ffffff03;border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff0d;width:100%;margin-top:2rem;padding:3rem 0;display:flex;position:relative;overflow:hidden}.carousel-container:before,.carousel-container:after{content:"";z-index:2;pointer-events:none;width:150px;height:100%;position:absolute;top:0}.carousel-container:before{background:linear-gradient(to right, var(--bg-base) 0%, transparent 100%);left:0}.carousel-container:after{background:linear-gradient(to left, var(--bg-base) 0%, transparent 100%);right:0}.carousel-track{align-items:center;gap:4rem;width:max-content;padding-right:4rem;animation:40s linear infinite scroll;display:flex}.carousel-track:hover{animation-play-state:paused}.sobre-grid{justify-content:center;margin-top:2rem;display:flex}.sobre-texto{text-align:left;max-width:850px;padding:3.5rem}.sobre-texto p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.15rem;line-height:1.8}.sobre-texto p:last-child{margin-bottom:0}.sobre-texto strong{color:var(--text-primary);text-shadow:0 0 10px #ffffff1a;font-weight:600}.carousel-logo-wrapper{filter:opacity(.9);width:180px;height:120px;transition:filter var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.carousel-logo-wrapper:hover{filter:opacity();transform:scale(1.1)}.carousel-logo{object-fit:contain;border-radius:8px;max-width:100%;max-height:90px}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.footer{background:#ffffff05;border-top:1px solid #ffffff0d;margin-top:4rem;padding:4rem 0 0}.footer-content{grid-template-columns:2fr 1fr 1fr;align-items:start;gap:3rem;padding-bottom:3rem;display:grid}.footer-col:first-child{text-align:center;flex-direction:column;align-items:center;display:flex}.footer-col:first-child .logo-container{align-items:center}.footer-text{color:var(--text-secondary);max-width:400px;margin-top:1rem;font-size:.95rem;line-height:1.6}.footer-title{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.2rem;font-weight:600}.footer-links{flex-direction:column;gap:.8rem;display:flex}.footer-links a{color:var(--text-secondary);transition:color var(--transition-fast);text-decoration:none}.footer-links a:hover{color:var(--accent-primary)}.footer-contact p{color:var(--text-secondary);align-items:center;gap:.5rem;margin-bottom:.8rem;font-size:.95rem;display:flex}.footer-contact a{color:var(--text-secondary);transition:color var(--transition-fast);text-decoration:none}.footer-contact a:hover{color:var(--accent-primary)}.footer-bottom{text-align:center;background:#0003;border-top:1px solid #ffffff0d;padding:1.5rem}.footer-bottom p{color:var(--text-secondary);font-size:.85rem}.floating-btn{z-index:99;color:#fff;transition:transform var(--transition-fast), opacity var(--transition-fast);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex;position:fixed;box-shadow:0 4px 15px #0000004d}.floating-btn:hover{transform:translateY(-5px)}.whatsapp-btn{background-color:#25d366;width:60px;height:60px;font-size:2rem;animation:2s infinite pulse-animation;bottom:2rem;right:2rem}.instagram-btn{background:radial-gradient(circle at 30% 107%,#fdf497 0% 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%);width:60px;height:60px;font-size:2rem;animation:2s infinite pulse-animation-insta;bottom:calc(2rem + 75px);right:2rem}.scroll-top-btn{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;opacity:0;visibility:hidden;border:none;width:50px;height:50px;bottom:2rem;left:2rem;box-shadow:0 4px 15px #7c3aed66}.scroll-top-btn.visible{opacity:1;visibility:visible}@keyframes pulse-animation{0%{box-shadow:0 0 #25d36680}70%{box-shadow:0 0 0 15px #25d36600}to{box-shadow:0 0 #25d36600}}@keyframes pulse-animation-insta{0%{box-shadow:0 0 #d6249f80}70%{box-shadow:0 0 0 15px #d6249f00}to{box-shadow:0 0 #d6249f00}}.mobile-only{display:none}@media (width<=768px){.desktop-only{display:none}.mobile-only{display:block}.logo{font-size:1.4rem}.logo-subtitle{letter-spacing:1px;font-size:.6rem}.nav-content{justify-content:space-between}.mobile-menu-btn{display:block}.nav-links{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;background:#0a0a0ffa;flex-direction:column;width:250px;height:100vh;padding:6rem 2rem 2rem;transition:right .3s ease-in-out;position:fixed;top:0;right:-100%;box-shadow:-5px 0 15px #00000080}.nav-links.active{right:0}.nav-links a{text-align:center;width:100%;padding:1rem;font-size:1.2rem}.footer-content{text-align:center;grid-template-columns:1fr;gap:2rem;padding:0 1rem 3rem}.footer-text{margin:1rem auto}.footer-contact p{justify-content:center}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--bg-surface);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}
