@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";
*{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#fff;--color-bg-secondary:#f8f9fa;--color-bg-tertiary:#f1f3f5;--color-text-primary:#1a1a1a;--color-text-secondary:#4a5568;--color-text-muted:#718096;--color-accent:#2563eb;--color-accent-light:#3b82f6;--color-border:#e2e8f0;--color-border-light:#f1f3f5;--font-primary:"DM Sans",sans-serif;--font-mono:"IBM Plex Mono",monospace}body{font-family:var(--font-primary);background:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;line-height:1.6}.container{max-width:900px;margin:0 auto;padding:0 2rem}.header-fixed{background:var(--color-bg);border-bottom:1px solid var(--color-border-light);position:relative}.header-content{text-align:center;padding:2rem 0 0}.avatar{background:var(--color-bg-tertiary);border:3px solid var(--color-border);border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 1rem;transition:transform .3s;display:flex;position:relative;overflow:hidden}.avatar:hover{transform:scale(1.05)}.avatar-image{object-fit:cover;border-radius:50%;width:100%;height:100%}.name{color:var(--color-text-primary);margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.title{color:var(--color-text-secondary);margin-bottom:1rem;font-size:1rem}.social-links{justify-content:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.social-link{background:var(--color-bg-secondary);width:36px;height:36px;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:6px;justify-content:center;align-items:center;text-decoration:none;transition:all .2s;display:flex}.social-link:hover{color:#fff;background-color:#1f1d1d;transform:translateY(-2px)}.divider{background:var(--color-border);height:1px;margin:0 auto}.nav{flex-wrap:wrap;justify-content:center;gap:.5rem;padding:1rem 0;display:flex}.nav-item{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s}.nav-item:hover,.nav-item.active{background:var(--color-text-primary);color:#fff;border-color:var(--color-text-primary)}.main-wrapper{min-height:calc(100vh - 280px)}.page-content,.section{padding:2rem 0}.section-title{color:var(--color-text-primary);text-align:center;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.section-subtitle{color:var(--color-text-primary);margin-top:2rem;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.about-text{color:var(--color-text-secondary);text-align:justify;margin-bottom:1rem;font-size:1rem;line-height:1.8}.experience-list{margin-left:20px;padding-left:30px;position:relative}.experience-list:before{content:"";background:#e5e7eb;width:2px;height:100%;position:absolute;top:0;left:8px}.experience-item{align-items:flex-start;margin-bottom:40px;display:flex;position:relative}.experience-item:before{content:"";z-index:1;background:#9ca3af;border:3px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:6px;left:-22px}.experience-item:first-child:before{background:#22c55e}.experience-item:before{background:#9ca3af}.experience-left{background:#fff;border-radius:12px;width:100%;padding:16px 20px;transition:all .3s;box-shadow:0 4px 12px #0000000d}.experience-left:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000014}.experience-role{color:#111827;font-size:18px;font-weight:600}.experience-company{color:#6b7280;margin-top:4px;font-size:14px}.experience-description{color:#374151;margin-top:10px;font-size:14px;line-height:1.6}.experience-badge{color:#166534;background:#dcfce7;border-radius:999px;height:fit-content;margin-left:10px;padding:4px 10px;font-size:12px}.projects-grid{text-align:justify;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.project-card{border:1px solid var(--color-border);cursor:pointer;background:var(--color-bg);border-radius:12px;transition:all .3s;overflow:hidden}.project-card:hover{border-color:var(--color-accent);transform:translateY(-4px);box-shadow:0 10px 30px #0000001a}.project-image-container{background:var(--color-bg-tertiary);width:100%;height:200px;position:relative;overflow:hidden}.project-image-real{object-fit:cover;width:100%;height:100%;transition:transform .3s}.project-card:hover .project-image-real{transform:scale(1.05)}.project-image-placeholder{color:#fff;text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;font-size:1.25rem;font-weight:600;display:flex}.project-image-placeholder.alt1{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.project-image-placeholder.alt2{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.project-image-placeholder.alt3{background:linear-gradient(135deg,#43e97b 0%,#38f9d7 100%)}.project-placeholder-text{text-shadow:0 2px 4px #0003}.project-image{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:100%;height:180px;font-size:3rem;display:flex}.project-image.alt1{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.project-image.alt2{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.project-image.alt3{background:linear-gradient(135deg,#43e97b 0%,#38f9d7 100%)}.project-content{padding:1.25rem}.project-title{color:var(--color-text-primary);margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.project-description{color:var(--color-text-secondary);text-align:justify;margin-bottom:1rem;font-size:.9rem;line-height:1.6}.project-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.tag{background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:.8rem;font-family:var(--font-mono);border:1px solid var(--color-border);border-radius:6px;padding:.25rem .75rem;font-weight:500}.project-links{gap:.5rem;display:flex}.project-btn{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.375rem;padding:.5rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.project-btn:hover{background:var(--color-text-primary);color:#fff;border-color:var(--color-text-primary)}.project-btn.primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.project-btn.primary:hover{background:var(--color-accent-light);border-color:var(--color-accent-light)}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-bg);border-radius:16px;width:100%;max-width:600px;max-height:90vh;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-close{background:var(--color-bg-secondary);border:1px solid var(--color-border);cursor:pointer;z-index:1;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.modal-close:hover{background:var(--color-text-primary);color:#fff}.modal-header{border-bottom:1px solid var(--color-border-light);padding:2rem}.modal-title{margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.modal-subtitle{color:var(--color-text-secondary);font-size:1rem}.modal-body{padding:2rem}.modal-section{margin-bottom:2rem}.modal-section:last-child{margin-bottom:0}.modal-section-title{color:var(--color-text-primary);margin-bottom:.75rem;font-size:1rem;font-weight:600}.modal-description{color:var(--color-text-secondary);text-align:justify;line-height:1.7}.tech-stack{flex-wrap:wrap;gap:.5rem;display:flex}.tech-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;display:flex}.tech-icon{color:#fff;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.875rem;display:flex}.modal-buttons{gap:.75rem;margin-top:1.5rem;display:flex}.modal-btn{border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.modal-btn.primary{background:var(--color-accent);color:#fff;border:1px solid var(--color-accent)}.modal-btn.secondary{background:var(--color-bg);color:var(--color-text-primary);border:1px solid var(--color-border)}.modal-btn:hover{transform:translateY(-2px)}.modal-btn.primary:hover{background:var(--color-accent-light)}.modal-btn.secondary:hover{background:var(--color-bg-secondary)}.contact-wrapper{max-width:600px;margin:0 auto}.contact-header{text-align:center;margin-bottom:2rem}.contact-title{margin-bottom:.5rem;font-size:2rem;font-weight:700}.contact-subtitle{color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:1rem}.resume-download-btn{background:var(--color-accent);color:#fff;font-family:var(--font-primary);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.resume-download-btn:hover{background:var(--color-accent-light);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.contact-form{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;padding:2rem}.form-group{margin-bottom:1.5rem}.form-label{color:var(--color-text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.form-input,.form-textarea{border:1px solid var(--color-border);width:100%;font-family:var(--font-primary);color:var(--color-text-primary);background:var(--color-bg);border-radius:8px;padding:.875rem;font-size:.95rem;transition:all .2s}.form-input:focus,.form-textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-textarea{resize:vertical;min-height:140px}.submit-btn{background:var(--color-text-primary);color:#fff;width:100%;font-family:var(--font-primary);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.submit-btn:hover:not(:disabled){background:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.submit-success{color:#065f46;background:#d1fae5;border:1px solid #10b981;border-radius:8px;margin-bottom:1rem;padding:1rem;font-weight:500}.submit-error{color:#991b1b;background:#fee2e2;border:1px solid #ef4444;border-radius:8px;margin-bottom:1rem;padding:1rem;font-weight:500}.footer{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);margin-top:4rem;padding:3rem 0 2rem}.footer-content{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem;display:grid}.footer-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-primary);margin-bottom:1rem;font-size:.875rem;font-weight:600}.footer-links{flex-direction:column;gap:.5rem;display:flex}.footer-link{color:var(--color-text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;text-decoration:none;transition:color .2s;display:block}.footer-link:hover{color:#1f1d1d}.footer-link-icon{align-items:center;gap:.5rem;display:flex}.footer-bottom{border-top:1px solid var(--color-border);text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding-top:2rem;display:flex}.footer-copyright{color:var(--color-text-muted);font-size:.875rem}.footer-made-with{color:var(--color-text-muted);align-items:center;gap:.25rem;font-size:.875rem;display:flex}.footer-heart{color:#ef4444;animation:1.5s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width:768px){.container{padding:0 1rem}.header-content{padding:1.5rem 0 0}.avatar{width:80px;height:80px;font-size:2rem}.name{font-size:1.5rem}.nav{gap:.25rem}.nav-item{padding:.4rem .75rem;font-size:.8rem}.projects-grid{grid-template-columns:1fr}.modal-overlay{padding:1rem}.modal-header,.modal-body{padding:1.5rem}.modal-title,.contact-title{font-size:1.5rem}.contact-form{padding:1.5rem}.footer-content{grid-template-columns:1fr}.experience-item{flex-direction:column;gap:.5rem}.modal-buttons{flex-direction:column}}.skills-categories{flex-direction:column;gap:3rem;display:flex}.skill-category-section{margin-bottom:2rem}.category-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.category-icon{background:var(--color-accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.skill-category-title{color:var(--color-text-primary);border-bottom:2px solid var(--color-accent);flex:1;padding-bottom:.5rem;font-size:1.25rem;font-weight:600}.skills-grid-large{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.skill-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);cursor:pointer;border-radius:12px;padding:1.25rem;text-decoration:none;transition:all .3s;display:block}.skill-card:hover{border-color:var(--color-accent);transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.skill-card-header{align-items:center;gap:1rem;display:flex}.skill-icon-large{background:var(--color-bg-tertiary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;transition:transform .3s;display:flex}.skill-card:hover .skill-icon-large{transform:scale(1.1)}.skill-info{flex:1}.skill-name{color:var(--color-text-primary);margin-bottom:.25rem;font-size:1rem;font-weight:600}.skill-level{font-size:.875rem;font-weight:500}.all-skills-section{border-top:1px solid var(--color-border-light);margin-top:4rem;padding-top:3rem}.tech-stack-compact{flex-wrap:wrap;gap:1rem;display:flex}.tech-badge{background:var(--color-bg-secondary);border:2px solid var(--color-border);color:var(--color-text-primary);border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.tech-badge:hover{background:var(--color-bg);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.tech-badge span:first-child{align-items:center;font-size:1.25rem;display:flex}.skill-legend{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;margin-top:4rem;padding:2rem}.legend-items{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.legend-item{color:var(--color-text-secondary);align-items:center;gap:1rem;font-size:.95rem;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:16px;height:16px}@media (max-width:768px){.skills-grid-large{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.skill-card{padding:1rem}.skill-icon-large{width:40px;height:40px;font-size:1.25rem}.tech-badge{padding:.5rem 1rem;font-size:.85rem}.category-header{flex-direction:column;align-items:flex-start}.skill-category-title{width:100%}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.infinite-scroll-wrapper{width:100%;position:relative;overflow:hidden}.infinite-scroll-track{will-change:transform;gap:14px;width:max-content;animation:25s linear infinite scroll-rtl;display:flex}.infinite-scroll-wrapper:hover .infinite-scroll-track{animation-play-state:paused}@keyframes scroll-rtl{0%{transform:translate(0)}to{transform:translate(-50%)}}.tech-item{white-space:nowrap;background:#ffffff0f;border-radius:10px;flex-shrink:0;align-items:center;gap:8px;min-width:140px;padding:10px 14px;display:flex}.tech-icon{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.skills-categories.compact{flex-direction:column;gap:14px;display:flex}.skill-category-section{margin-top:3px;margin-bottom:3px}.section-subtitle{text-align:center;margin:0 0 6px}.proof-section{margin-top:60px;overflow:hidden}.proof-container{border-radius:14px;width:100%;position:relative;overflow:hidden}.proof-track{gap:20px;width:max-content;animation:20s linear infinite scrollLeft;display:flex}.proof-card{background:#fff;border-radius:14px;flex-shrink:0;min-width:320px;height:160px;transition:transform .3s;display:flex;overflow:hidden;box-shadow:0 6px 18px #00000014}.proof-card img{object-fit:cover;width:100%;height:160px}@keyframes scrollLeft{0%{transform:translate(0)}to{transform:translate(-50%)}}.proof-container:hover .proof-track{animation-play-state:paused}.proof-container:before,.proof-container:after{content:"";z-index:2;border-radius:inherit;width:80px;height:100%;position:absolute;top:0}
