:root{--cor-primaria:#6366f1;--cor-primaria-hover:#4f46e5;--cor-secundaria:#22d3ee;--cor-fundo:#0f0f1a;--cor-fundo-card:#1a1a2e;--cor-fundo-nav:rgba(15,15,26,.95);--cor-texto:#e2e8f0;--cor-texto-secundario:#94a3b8;--cor-borda:#2d2d44;--gradiente-hero:linear-gradient(135deg,#6366f1 0%,#22d3ee 100%);--sombra-card:0 10px 40px rgba(0,0,0,.3);--transicao:all .3s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Inter',sans-serif;background-color:var(--cor-fundo);color:var(--cor-texto);line-height:1.7;overflow-x:hidden}.navbar-custom{background:var(--cor-fundo-nav);backdrop-filter:blur(10px);border-bottom:1px solid var(--cor-borda);padding:1rem 0;transition:var(--transicao)}.navbar-brand{font-weight:700;font-size:1.5rem;background:var(--gradiente-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-link{color:var(--cor-texto)!important;font-weight:500;margin:0 .5rem;transition:var(--transicao);position:relative}.nav-link:hover{color:var(--cor-primaria)!important}.nav-link::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--gradiente-hero);transition:var(--transicao)}.nav-link:hover::after{width:100%}.hero-section{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:80px}.hero-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(99,102,241,.1) 0%,transparent 50%) , radial-gradient(circle at 80% 20%,rgba(34,211,238,.1) 0%,transparent 50%);z-index:0}.hero-content{position:relative;z-index:1}.hero-greeting{color:var(--cor-secundaria);font-family:'JetBrains Mono',monospace;font-size:1.1rem;margin-bottom:1rem}.hero-title{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.1;margin-bottom:1rem}.hero-title span{background:var(--gradiente-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.5rem;color:var(--cor-texto-secundario);margin-bottom:2rem}.hero-description{font-size:1.1rem;color:var(--cor-texto-secundario);max-width:600px;margin-bottom:2.5rem}.btn-primary-custom{background:var(--gradiente-hero);border:none;padding:.875rem 2rem;font-weight:600;border-radius:50px;color:#fff;transition:var(--transicao);text-decoration:none;display:inline-block}.btn-primary-custom:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(99,102,241,.4);color:#fff}.btn-outline-custom{border:2px solid var(--cor-primaria);background:transparent;padding:.875rem 2rem;font-weight:600;border-radius:50px;color:var(--cor-primaria);transition:var(--transicao);text-decoration:none;display:inline-block}.btn-outline-custom:hover{background:var(--cor-primaria);color:#fff;transform:translateY(-3px)}.social-links{display:flex;gap:1rem;margin-top:2rem}.social-links a{width:50px;height:50px;border-radius:50%;border:2px solid var(--cor-borda);display:flex;align-items:center;justify-content:center;color:var(--cor-texto);font-size:1.25rem;transition:var(--transicao)}.social-links a:hover{border-color:var(--cor-primaria);background:var(--cor-primaria);color:#fff;transform:translateY(-5px)}.hero-image{position:relative;z-index:1}.hero-image-wrapper{position:relative;width:100%;max-width:450px;margin:0 auto}.hero-image-wrapper::before{content:'';position:absolute;top:-20px;right:-20px;width:100%;height:100%;border-radius:30px;background:var(--gradiente-hero);opacity:.2;z-index:-1}.hero-image-wrapper img{width:100%;border-radius:30px;object-fit:cover}.hero-placeholder{width:100%;aspect-ratio:1;border-radius:30px;background:var(--cor-fundo-card);border:2px dashed var(--cor-borda);display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--cor-texto-secundario)}.hero-placeholder i{font-size:4rem;margin-bottom:1rem;opacity:.5}.section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:1rem}.section-title span{background:var(--gradiente-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{text-align:center;color:var(--cor-texto-secundario);max-width:600px;margin:0 auto 3rem}.about-section{padding:100px 0;background:var(--cor-fundo)}.about-card{background:var(--cor-fundo-card);border-radius:20px;padding:2rem;border:1px solid var(--cor-borda);height:100%}.about-icon{width:60px;height:60px;border-radius:15px;background:var(--gradiente-hero);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;margin-bottom:1.5rem}.stats-number{font-size:2.5rem;font-weight:700;background:var(--gradiente-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.skills-section{padding:100px 0;background:linear-gradient(180deg,var(--cor-fundo) 0%,#151525 100%)}.skill-card{background:var(--cor-fundo-card);border-radius:20px;padding:2rem;text-align:center;border:1px solid var(--cor-borda);transition:var(--transicao)}.skill-card:hover{transform:translateY(-10px);box-shadow:var(--sombra-card);border-color:var(--cor-primaria)}.skill-icon{width:80px;height:80px;margin:0 auto 1.5rem;border-radius:20px;background:rgba(99,102,241,.1);display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--cor-primaria);transition:var(--transicao)}.skill-card:hover .skill-icon{background:var(--gradiente-hero);color:#fff}.projects-section{padding:100px 0;background:var(--cor-fundo)}.project-card{background:var(--cor-fundo-card);border-radius:20px;overflow:hidden;border:1px solid var(--cor-borda);transition:var(--transicao)}.project-card:hover{transform:translateY(-10px);box-shadow:var(--sombra-card)}.project-image{width:100%;height:200px;background:linear-gradient(135deg,var(--cor-primaria) 0%,var(--cor-secundaria) 100%);display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff}.project-content{padding:1.5rem}.project-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.project-description{color:var(--cor-texto-secundario);font-size:.95rem;margin-bottom:1rem}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem}.project-tag{background:rgba(99,102,241,.1);color:var(--cor-primaria);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.services-section{padding:100px 0;background:linear-gradient(180deg,#151525 0%,var(--cor-fundo) 100%)}.service-card{background:var(--cor-fundo-card);border-radius:20px;padding:2.5rem;text-align:center;border:1px solid var(--cor-borda);transition:var(--transicao);height:100%}.service-card:hover{border-color:var(--cor-primaria);transform:translateY(-5px)}.service-icon{width:80px;height:80px;margin:0 auto 1.5rem;border-radius:50%;background:var(--gradiente-hero);display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff}.service-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.service-description{color:var(--cor-texto-secundario);font-size:.95rem}.contact-section{padding:100px 0;background:var(--cor-fundo)}.contact-form{background:var(--cor-fundo-card);border-radius:20px;padding:3rem;border:1px solid var(--cor-borda)}.form-control-custom{background:var(--cor-fundo);border:2px solid var(--cor-borda);border-radius:10px;padding:1rem 1.25rem;color:var(--cor-texto);font-size:1rem;transition:var(--transicao)}.form-control-custom:focus{background:var(--cor-fundo);border-color:var(--cor-primaria);box-shadow:0 0 0 3px rgba(99,102,241,.1);color:var(--cor-texto)}.form-control-custom::placeholder{color:var(--cor-texto-secundario)}.form-label{color:var(--cor-texto);font-weight:500;margin-bottom:.5rem}.contact-info-item{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.contact-info-icon{width:50px;height:50px;border-radius:15px;background:rgba(99,102,241,.1);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--cor-primaria)}footer{background:var(--cor-fundo-card);border-top:1px solid var(--cor-borda);padding:3rem 0 1.5rem}.footer-links a{color:var(--cor-texto-secundario);text-decoration:none;transition:var(--transicao)}.footer-links a:hover{color:var(--cor-primaria)}@keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(30px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }.animate-fade-up{animation:fadeInUp .8s ease forwards}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}@media (max-width:768px){.hero-section{text-align:center;margin-top:58px}.social-links{justify-content:center}.hero-image{margin-top:3rem}.btn-group-hero{flex-direction:column;gap:1rem}}