*{margin:0;padding:0;box-sizing:border-box}:root{--blue:#3b82f6;--blue-dark:#2563eb;--yellow:#fbbf24;--yellow-dark:#f59e0b;--bg:#fff;--bg-alt:#f8fafc;--text:#1e293b;--text-light:#64748b;--border:#e2e8f0;--text-white:#fff}body{font-family:'Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#0a0e27;color:var(--text);line-height:1.6;overflow-x:hidden;font-display:swap}#container{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,#0a0e27 0,#060a1a 50%,#020510 100%);will-change:opacity;contain:strict}.glow-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(59,130,246,0.08) 0,rgba(251,191,36,0.05) 40%,transparent 70%);mix-blend-mode:screen}#container canvas{display:block;width:100%;height:100%}.container{max-width:1200px;margin:0 auto;padding:0 24px;position:relative;z-index:2}nav{position:fixed;top:0;left:0;right:0;background:rgba(0,0,0,0.2);color:var(--text-white);backdrop-filter:none;border-bottom:1px solid transparent;z-index:100;padding:20px 0;box-shadow:none;transition:all .3s ease}nav:hover{background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,0.05)}nav:hover .logo{color:var(--blue)}nav:hover .logo .dot{color:black}nav:hover .nav-links a{color:var(--text-light)}nav.scrolled{background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,0.05)}nav .container{display:flex;justify-content:space-between;align-items:center}.logo{font-size:22px;font-weight:800;color:white;transition:color .3s ease}nav.scrolled .logo{color:var(--blue)}.logo .dot{color:white;font-weight:bold;transition:color .3s ease}nav.scrolled .logo .dot{color:black}.logo .dev{color:var(--yellow);font-weight:500}.nav-links{display:flex;gap:32px;list-style:none}.nav-links a{color:white;text-decoration:none;font-weight:600;font-size:14px;transition:all .3s ease;position:relative;padding-bottom:4px}nav.scrolled .nav-links a{color:var(--text-light)}.nav-links a:hover{color:var(--blue)}nav.scrolled .nav-links a:hover{color:var(--blue)}.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--yellow);transition:width .3s ease}.nav-links a:hover::after{width:100%}nav.scrolled #admirar-btn,nav.scrolled #voltar-btn{display:none}#admirar-btn a,#voltar-btn a{display:inline-flex;align-items:center;gap:6px}#admirar-btn a svg,#voltar-btn a svg{flex-shrink:0;vertical-align:middle}body.immersive-mode main{opacity:0;pointer-events:none;transition:opacity 1s ease}body.immersive-mode .hero{opacity:0!important;pointer-events:none;transition:opacity 1s ease}body.immersive-mode .profile-wrapper{opacity:0!important;pointer-events:none;transition:opacity 1s ease}body.immersive-mode nav .nav-links li:not(#admirar-btn):not(#voltar-btn){opacity:0;pointer-events:none;transition:opacity .5s ease}.hero{min-height:100vh;display:flex;align-items:center;padding:100px 0 60px;position:relative;transition:opacity 1s ease}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center}.hero-content{background:rgba(255,255,255,0.9);backdrop-filter:blur(20px);padding:40px;border-radius:20px;box-shadow:0 8px 32px rgba(0,0,0,0.15);border:1px solid rgba(255,255,255,0.5)}.hero-content h1{font-size:52px;font-weight:900;line-height:1.1;margin-bottom:20px;color:var(--text)}.hero-content h1 .highlight{color:var(--blue)}.hero-content h1 .highlight-name{color:var(--yellow)}.hero-subtitle{font-size:32px;color:var(--text)!important;margin-bottom:20px;font-weight:600}.hero-content p{font-size:18px;color:var(--text-light);margin-bottom:32px;line-height:1.7;font-weight:600}.cta-group{display:flex;gap:16px;flex-wrap:wrap}.btn{padding:14px 28px;border-radius:8px;font-weight:700;font-size:15px;text-decoration:none;transition:all .3s;display:inline-block;border:none;cursor:pointer}.btn-primary{background:var(--blue-dark);color:white;box-shadow:0 4px 14px rgba(59,130,246,0.3)}.btn-primary:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,0.5)}.btn-yellow{background:#fde68a;color:#92400e;box-shadow:0 2px 8px rgba(251,191,36,0.15);font-weight:700;font-size:15px;padding:14px 28px;border-radius:8px;transition:all .3s;border:none;cursor:pointer}.btn-yellow:hover{background:#fcd34d;transform:translateY(-2px);box-shadow:0 4px 12px rgba(251,191,36,0.2)}.btn-secondary{background:white;color:var(--blue-dark);border:2px solid var(--blue-dark);font-weight:700}.btn-secondary:hover{background:var(--blue-dark);color:white;border-color:var(--blue-dark);transform:translateY(-2px)}.profile-wrapper{position:relative;display:flex;justify-content:center;align-items:center}.profile-card{position:relative;width:400px;height:400px;border-radius:50%;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.2)}@keyframes gradient-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.profile-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;transition:transform .3s ease,filter .3s ease;filter:brightness(1.1) saturate(1.2);aspect-ratio:1 / 1}.section{padding:80px 0;position:relative;background:var(--bg);content-visibility:auto}.section-yellow{padding:80px 0;position:relative;background:var(--yellow);content-visibility:auto}.section-blue{padding:80px 0;position:relative;background:var(--blue-dark);content-visibility:auto}.section-header{text-align:center;margin-bottom:50px}.section-yellow .section-title{color:#1f2937}.section-title{font-size:38px;font-weight:900;margin-bottom:12px;color:#fff}.section-title .highlight{color:var(--blue-dark);font-weight:900}.section-title .highlight-yellow{color:#1f2937;font-weight:900;text-shadow:0 0 1px rgba(255,255,255,0.2)}.section-subtitle{font-size:17px;color:var(--text-light);max-width:600px;margin:0 auto}.section-subtitle-yellow{font-size:17px;font-weight:700;color:#1f2937;max-width:600px;margin:0 auto}.section-subtitle-blue{font-size:17px;font-weight:700;color:#fff;max-width:600px;margin:0 auto;text-shadow:0 1px 2px rgba(0,0,0,0.2)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.skill-card{background:rgba(255,255,255,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(59,130,246,0.3);border-radius:16px;padding:28px;transition:all .3s;border:2px solid rgba(59,130,246,0.6);contain:layout style paint}.skill-card p{font-weight:500}.skill-card:hover{backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:2px solid rgba(59,130,246,0.5)}.skill-icon{width:52px;height:52px;background:linear-gradient(135deg,#60a5fa 0,#3b82f6 50%,#2563eb 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:16px;color:white}.skill-card h3{font-size:20px;font-weight:700;margin-bottom:10px}.skill-card p{color:var(--text-light);font-size:14px;line-height:1.6;margin-bottom:16px}.tech-list{display:flex;flex-wrap:wrap;gap:6px}.tech-tag{padding:5px 10px;background:var(--bg-alt);border:1px solid var(--border);border-radius:14px;font-size:12px;font-weight:600;color:var(--text-light);transition:all .3s}.tech-tag:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.1)}.tech-mysql{background:#00758f;color:#fff}.tech-javascript{background:#f7df1e;color:#000}.tech-react{background:#61dafb;color:#000}.tech-nextjs{background:#1a1a1a;color:#fff}.tech-vue{background:#1f6b47;color:#fff}.tech-nuxtjs{background:#007a45;color:#fff}.tech-astro{background:#b83d00;color:#fff}.tech-typescript{background:#3178c6;color:#fff}.tech-tailwind{background:#0e7490;color:#fff}.tech-html{background:#d44321;color:#fff}.tech-css{background:#1572b6;color:#fff}.tech-nodejs{background:#2d7a2d;color:#fff}.tech-express{background:#444;color:#fff}.tech-python{background:#1e4161;color:#fff}.tech-fastapi{background:#00796b;color:#fff}.tech-flask{background:#3a3a3a;color:#fff}.tech-django{background:#092e20;color:#fff}.tech-rust{background:#000;color:#fff}.tech-rasa{background:#002952;color:#fff}.tech-rest{background:#2c5aa0;color:#fff}.tech-react-native{background:#61dafb;color:#000}.tech-postgresql{background:#2b5278;color:#fff}.tech-mongodb{background:#2f6e32;color:#fff}.tech-redis{background:#c52e24;color:#fff}.tech-sqlite{background:#003b57;color:#fff}.tech-microservices{background:#c13838;color:#fff}.tech-graphql{background:#e10098;color:#fff}.tech-tdd{background:#1e8449;color:#fff}.tech-mvc{background:#7d3c98;color:#fff}.tech-oop{background:#9d5f2a;color:#fff}.tech-nlp{background:#991b1b;color:#fff}.tech-sass{background:#a04d82;color:#fff}.tech-rabbitmq{background:#c74f00;color:#fff}.tech-docker{background:#1865a8;color:#fff}.tech-linux{background:#fcc624;color:#000}.tech-shell-script{background:#5d6d7e;color:#fff}.tech-git{background:#c0341d;color:#fff}.tech-lambda{background:#e68a00;color:#000}.tech-vtex-io{background:#d60043;color:#fff}.tech-rust{background:#dea584;color:#000}.tech-django{background:#092e20;color:#fff}.tech-express{background:#222;color:#fff}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}.portfolio-card{background:white;border:2px solid var(--border);border-radius:16px;overflow:hidden;transition:all .3s;cursor:pointer;contain:layout style paint}.portfolio-card:hover{border-color:var(--yellow);transform:translateY(-4px);box-shadow:0 12px 32px rgba(59,130,246,0.15)}.portfolio-icon-wrapper{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-alt),white);position:relative;overflow:hidden}.portfolio-card:hover .portfolio-icon-wrapper{background:rgba(59,130,246,0.08)}.portfolio-icon{transition:transform .5s;height:100%;width:100%}.portfolio-icon img{width:100%;height:100%;object-fit:cover;border-radius:0;filter:brightness(1.1) saturate(1.2);aspect-ratio:4 / 3}.portfolio-card:hover .portfolio-icon{transform:scale(1.1) rotate(5deg)}.portfolio-content{padding:24px}.portfolio-content h3{font-size:20px;font-weight:700;margin-bottom:10px;color:#0f172a}.portfolio-content p{color:#1e293b;font-size:14px;line-height:1.6;margin-bottom:16px}.contact-section{background:var(--bg)}.contact-hero{text-align:center;margin-bottom:60px}.contact-title{font-size:48px;font-weight:900;color:var(--text);margin-bottom:24px;line-height:1.2}.contact-cta{font-size:32px;font-weight:700;color:#d97706;margin-bottom:20px}.contact-description{font-size:17px;color:var(--text-light);line-height:1.8}.contact-content{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;max-width:1100px;margin:0 auto}.contact-form{background:white;padding:40px;border-radius:20px;border:2px solid var(--border);box-shadow:0 4px 20px rgba(0,0,0,0.05)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.form-group{margin-bottom:18px}.form-group label{display:block;font-weight:600;margin-bottom:8px;color:var(--text);font-size:14px}.form-group input,.form-group textarea{width:100%;padding:16px 20px;border:2px solid var(--border);border-radius:12px;font-size:15px;font-family:inherit;transition:all .3s ease;background:#fafafa}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--blue);background:white;box-shadow:0 4px 16px rgba(59,130,246,0.12)}.form-group input:invalid:not(:placeholder-shown),.form-group textarea:invalid:not(:placeholder-shown){border-color:#ef4444;background:#fef2f2}.form-group input:valid:not(:placeholder-shown),.form-group textarea:valid:not(:placeholder-shown){border-color:#10b981;background:#f0fdf4}.form-group input:invalid:not(:placeholder-shown):focus,.form-group textarea:invalid:not(:placeholder-shown):focus{border-color:#ef4444;box-shadow:0 4px 16px rgba(239,68,68,0.12)}.form-group input:valid:not(:placeholder-shown):focus,.form-group textarea:valid:not(:placeholder-shown):focus{border-color:#10b981;box-shadow:0 4px 16px rgba(16,185,129,0.12)}.form-group textarea{resize:vertical;min-height:140px}.btn-submit{width:100%;margin-top:10px;background:linear-gradient(135deg,#3b82f6 0,#2563eb 100%);color:white!important;font-weight:700;padding:18px 40px;font-size:16px;border:none;border-radius:12px;box-shadow:0 8px 24px rgba(59,130,246,0.4);transition:all .3s ease;cursor:pointer}.btn-submit:hover{background:linear-gradient(135deg,#2563eb 0,#1d4ed8 100%);transform:translateY(-3px);box-shadow:0 12px 32px rgba(59,130,246,0.5)}.btn-submit:active{transform:translateY(-1px)}.contact-social{display:flex;flex-direction:column;gap:24px}.contact-social h3{font-size:22px;font-weight:700;color:var(--text)}.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.social-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-decoration:none;transition:all .3s ease}.social-card .social-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:white;border:2px solid var(--border);transition:all .3s ease;box-shadow:0 4px 12px rgba(0,0,0,0.08)}.social-card .social-icon svg{width:24px;height:24px;display:block;margin:0 auto}.social-card .social-label{font-size:13px;font-weight:600;color:var(--text);transition:color .3s ease}.social-card:hover .social-icon{border-color:var(--blue);background:rgba(59,130,246,0.05);transform:translateY(-4px);box-shadow:0 8px 20px rgba(59,130,246,0.2)}.social-card:hover .social-label{color:var(--blue)}footer{padding:32px 0;text-align:center;color:var(--text-light);border-top:1px solid var(--border);font-size:14px;background:var(--bg)}footer a{color:var(--blue-dark);text-decoration:underline;font-weight:600}footer a:hover{color:#1d4ed8;text-decoration:underline}@media(max-width:968px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero-content{order:2}.profile-wrapper{order:1}.hero-content{padding:30px}.hero-content h1{font-size:38px}.hero-subtitle{font-size:26px}.profile-wrapper{max-width:350px;margin:0 auto}.profile-card{width:350px;height:350px}.nav-links{display:none}.form-row{grid-template-columns:1fr}.contact-content{grid-template-columns:1fr;gap:40px}.contact-title{font-size:32px}.contact-cta{font-size:24px}.social-grid{grid-template-columns:1fr 1fr}.portfolio-grid{grid-template-columns:1fr}}.fade-in{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@media(max-width:400px){.profile-card{width:280px;height:280px}}