.hero-blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}.blob-1{width:clamp(250px, 40vw, 500px);height:clamp(250px, 40vw, 500px);background:rgb(96 165 250 / .08);top:-10%;right:-10%;animation:blobMove1 8s ease-in-out infinite}.blob-2{width:clamp(200px, 35vw, 400px);height:clamp(200px, 35vw, 400px);background:rgb(34 211 238 / .06);bottom:10%;left:-5%;animation:blobMove2 10s ease-in-out infinite}@keyframes blobMove1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-30px,20px) scale(1.05)}66%{transform:translate(20px,-15px) scale(.95)}}@keyframes blobMove2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-25px) scale(1.08)}}.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgb(96 165 250 / .03) 1px,transparent 1px),linear-gradient(90deg,rgb(96 165 250 / .03) 1px,transparent 1px);background-size:50px 50px;pointer-events:none}#hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:calc(var(--nav-height) + 40px) 0 80px;overflow:hidden}.hero-bg-decoration{position:absolute;inset:0;overflow:hidden;z-index:0}.hero-container{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px, 6vw, 80px);align-items:center;position:relative;z-index:1}.hero-text{order:1}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgb(52 211 153 / .1);border:1px solid rgb(52 211 153 / .25);color:#34d399;font-size:.82rem;font-weight:600;padding:6px 16px;border-radius:50px;margin-bottom:20px}.badge-dot{width:7px;height:7px;border-radius:50%;background:#34d399;animation:dotPulse 2s ease-in-out infinite}@keyframes dotPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.hero-title{font-size:clamp(1.7rem, 4.5vw, 3rem);font-weight:900;line-height:1.25;margin-bottom:18px}.hero-desc{font-size:clamp(0.875rem, 2vw, 1rem);color:var(--text-secondary);max-width:520px;margin-bottom:28px;line-height:1.85}.hero-stats{display:flex;align-items:center;gap:20px;margin-bottom:32px;flex-wrap:wrap}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-num{font-size:1.6rem;font-weight:900;font-family:var(--font-en);background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text;line-height:1}.stat-label{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.stat-divider{width:1px;height:32px;background:var(--border)}.hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px}.hero-socials{display:flex;gap:14px}.social-link{width:42px;height:42px;border-radius:50%;background:rgb(96 165 250 / .08);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:1rem;transition:var(--transition)}.social-link:hover{background:rgb(96 165 250 / .18);color:var(--primary);border-color:var(--border-hover);transform:translateY(-4px) rotate(-5deg)}.hero-photo{order:2;display:flex;align-items:center;justify-content:center;position:relative}.photo-wrapper{position:relative;width:clamp(220px, 35vw, 380px);height:clamp(220px, 35vw, 380px)}.profile-img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:top center;position:relative;z-index:2;border:3px solid rgb(96 165 250 / .3)}.photo-ring{position:absolute;border-radius:50%;pointer-events:none}.ring-1{inset:-12px;border:2px solid rgb(96 165 250 / .15);animation:ringRotate 12s linear infinite}.ring-2{inset:-24px;border:1px dashed rgb(34 211 238 / .1);animation:ringRotate 20s linear infinite reverse}@keyframes ringRotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.photo-glow{position:absolute;inset:-20px;border-radius:50%;background:radial-gradient(circle,rgb(96 165 250 / .12) 0%,transparent 70%);z-index:0}.photo-badge{position:absolute;bottom:10px;left:-20px;background:var(--bg-card);border:1px solid var(--border);border-radius:50px;padding:8px 16px;display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:var(--primary);z-index:3;backdrop-filter:blur(10px);box-shadow:var(--shadow-card);white-space:nowrap}.photo-badge i{color:var(--secondary)}.floating-card{position:absolute;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:8px 14px;font-size:.78rem;font-weight:700;display:flex;align-items:center;gap:6px;backdrop-filter:blur(10px);box-shadow:var(--shadow-card);z-index:3;font-family:var(--font-en)}.card-html{top:10%;right:-24px;color:#ef652a;animation:cardFloat 4s ease-in-out infinite}.card-css{top:50%;right:-30px;color:#2a63ef;animation:cardFloat 5s ease-in-out infinite 0.5s}.card-js{bottom:18%;right:-16px;color:#f7da32;animation:cardFloat 3.5s ease-in-out infinite 1s}@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-muted);font-size:.72rem;animation:scrollFade 2s ease-in-out infinite}.scroll-mouse{width:22px;height:34px;border:2px solid rgb(96 165 250 / .3);border-radius:11px;display:flex;align-items:flex-start;justify-content:center;padding:5px}.scroll-wheel{width:3px;height:7px;background:var(--primary);border-radius:2px;animation:scrollWheel 2s ease-in-out infinite}@keyframes scrollFade{0%,100%{opacity:1}50%{opacity:.4}}@keyframes scrollWheel{0%{transform:translateY(0);opacity:1}100%{transform:translateY(10px);opacity:0}}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px, 5vw, 64px);align-items:start}.about-story{order:1}.about-text{font-size:.95rem;line-height:2;color:var(--text-secondary);margin-bottom:24px}.about-tags{display:flex;flex-wrap:wrap;gap:10px}.tag{display:flex;align-items:center;gap:7px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);font-size:.82rem;font-weight:600;padding:7px 16px;border-radius:50px;transition:var(--transition)}.tag i{color:var(--primary);font-size:.75rem}.tag:hover{border-color:var(--border-hover);color:var(--primary);transform:translateY(-2px)}.about-philosophy{order:2;display:flex;flex-direction:column;gap:20px}.philosophy-card{background:var(--bg-card2);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(20px, 3vw, 32px);position:relative;overflow:hidden}.philosophy-card::before{content:'';position:absolute;top:0;right:0;left:0;height:2px;background:var(--gradient)}.philosophy-icon{width:52px;height:52px;border-radius:var(--radius-sm);background:rgb(96 165 250 / .1);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--primary);margin-bottom:16px}.philosophy-card h3{font-size:1.1rem;margin-bottom:10px}.philosophy-card p{font-size:.875rem;margin-bottom:20px}.tech-stack{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tech-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;background:rgb(96 165 250 / .05);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.7rem;color:var(--text-secondary);transition:var(--transition);text-align:center}.tech-item i{font-size:1.4rem;color:var(--primary)}.tech-item:hover{border-color:var(--border-hover);background:rgb(96 165 250 / .08);color:var(--primary)}.about-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.number-card{background:var(--bg-card2);border:1px solid var(--border);border-radius:var(--radius);padding:20px 12px;text-align:center;transition:var(--transition)}.number-card:hover{border-color:var(--border-hover);transform:translateY(-4px)}.big-num{display:block;font-size:2rem;font-weight:900;font-family:var(--font-en);background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text;line-height:1;margin-bottom:4px}.num-label{font-size:.78rem;color:var(--text-muted)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:clamp(14px, 2.5vw, 22px)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px, 2.5vw, 28px)}.projects-all-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(16px, 2.5vw, 28px);margin-bottom:40px}.projects-page-section{padding-top:40px}.timeline{position:relative;max-width:760px;margin:0 auto}.timeline::before{content:'';position:absolute;top:0;bottom:0;right:23px;width:2px;background:linear-gradient(to bottom,var(--primary),var(--secondary),transparent);border-radius:1px}.timeline-item{display:flex;gap:20px;margin-bottom:36px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-dot{width:48px;height:48px;border-radius:50%;background:var(--bg-card);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.95rem;color:var(--text-muted);flex-shrink:0;position:relative;z-index:1;transition:var(--transition)}.active-dot{border-color:var(--primary);background:rgb(96 165 250 / .1);color:var(--primary);box-shadow:0 0 16px rgb(96 165 250 / .3)}.timeline-item:hover .timeline-dot{border-color:var(--primary);color:var(--primary);transform:scale(1.1)}.timeline-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(16px, 2.5vw, 24px);flex:1;transition:var(--transition)}.timeline-item:hover .timeline-content{border-color:var(--border-hover);box-shadow:var(--shadow-glow)}.active-content{border-color:rgb(96 165 250 / .35);background:rgb(96 165 250 / .04)}.timeline-date{font-size:.75rem;color:var(--primary);font-weight:600;font-family:var(--font-en);display:block;margin-bottom:8px;letter-spacing:.5px}.timeline-content h3{font-size:1rem;margin-bottom:8px}.timeline-content p{font-size:.85rem;margin-bottom:14px;line-height:1.75}.timeline-tags{display:flex;flex-wrap:wrap;gap:6px}.timeline-tags span{font-size:.68rem;font-weight:600;padding:3px 10px;border-radius:50px;background:rgb(96 165 250 / .08);color:var(--primary);border:1px solid rgb(96 165 250 / .15);font-family:var(--font-en)}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:clamp(16px, 2.5vw, 24px)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px, 5vw, 64px);align-items:start}.contact-form-wrapper{order:1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(20px, 3.5vw, 36px)}.contact-info{order:2;display:flex;flex-direction:column;gap:24px}.contact-message{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(20px, 3vw, 32px);position:relative}.quote-icon{font-size:2rem;color:rgb(96 165 250 / .2);margin-bottom:12px}.contact-message p{font-size:.93rem;line-height:1.85;color:var(--text-secondary)}.contact-links{display:flex;flex-direction:column;gap:14px}.contact-link-item{display:flex;align-items:center;gap:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;transition:var(--transition)}.contact-link-item:hover{border-color:var(--border-hover);transform:translateX(-4px)}.contact-link-icon{width:44px;height:44px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.github-icon{background:rgb(255 255 255 / .06);color:#fff}.email-icon{background:rgb(96 165 250 / .1);color:var(--primary)}.whatsapp-icon{background:rgb(37 211 102 / .1);color:#25d366}.contact-link-label{display:block;font-size:.72rem;color:var(--text-muted);margin-bottom:2px}.contact-link-content a{font-size:.85rem;color:var(--text-secondary);transition:var(--transition)}.contact-link-content a:hover{color:var(--primary)}.email-copy-wrapper{display:flex;align-items:center;gap:10px}.email-copy-wrapper span{font-size:.85rem;color:var(--text-secondary);font-family:var(--font-code)}.copy-btn{color:var(--text-muted);font-size:.85rem;transition:var(--transition);padding:4px 8px;border-radius:6px;background:rgb(96 165 250 / .05);border:1px solid var(--border)}.copy-btn:hover{color:var(--primary);border-color:var(--border-hover)}.copy-btn.copied{color:#34d399;border-color:rgb(52 211 153 / .3)}.contact-availability{display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--text-secondary);background:rgb(52 211 153 / .06);border:1px solid rgb(52 211 153 / .2);border-radius:50px;padding:8px 18px}.avail-dot{width:8px;height:8px;border-radius:50%;background:#34d399;animation:dotPulse 2s ease-in-out infinite;flex-shrink:0}
