.home[data-v-ff3e4bfb]{padding-top:0}.hero[data-v-ff3e4bfb]{padding:var(--space-20) 0;background:linear-gradient(135deg,var(--background-color) 0%,var(--surface-color) 100%);position:relative;overflow:hidden}.hero-content[data-v-ff3e4bfb]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center;min-height:60vh}.hero-title[data-v-ff3e4bfb]{font-size:var(--font-size-4xl);font-weight:700;margin-bottom:var(--space-6);color:var(--text-color)}.highlight[data-v-ff3e4bfb]{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle[data-v-ff3e4bfb]{font-size:var(--font-size-xl);color:var(--text-muted);margin-bottom:var(--space-4);font-weight:500}.hero-description[data-v-ff3e4bfb]{font-size:var(--font-size-lg);color:var(--text-muted);margin-bottom:var(--space-8);line-height:1.7}.hero-actions[data-v-ff3e4bfb]{display:flex;gap:var(--space-4)}.hero-visual[data-v-ff3e4bfb]{display:flex;justify-content:center;align-items:center}.profile-card[data-v-ff3e4bfb]{position:relative;background:var(--background-color);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.profile-image[data-v-ff3e4bfb]{text-align:center;margin-bottom:var(--space-6)}.avatar[data-v-ff3e4bfb]{border-radius:10%;display:flex;align-items:center;justify-content:center;margin:0 auto;overflow:hidden;position:relative}.avatar img[data-v-ff3e4bfb]{width:70%;border-radius:10%;transition:transform .3s ease}.avatar:hover img[data-v-ff3e4bfb]{transform:scale(1.15)}.tech-badges[data-v-ff3e4bfb]{display:flex;justify-content:center;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap}.tech-badge[data-v-ff3e4bfb]{padding:8px 16px;font-size:13px;font-weight:600;transition:all .3s ease;letter-spacing:.3px;position:relative;border:none;box-shadow:var(--shadow-sm)}.tech-badge[data-v-ff3e4bfb]:hover{transform:translateY(-1px) scale(1.02);box-shadow:var(--shadow-md)}.tech-badge.vue[data-v-ff3e4bfb]{background:var(--surface-color);color:var(--primary-color);border:1px solid var(--border-color);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:morph-vue-ff3e4bfb 8s ease-in-out infinite}.tech-badge.python[data-v-ff3e4bfb]{background:var(--surface-color);color:var(--accent-color);border:1px solid var(--border-color);border-radius:30% 60% 70% 40%/50% 60% 30%;animation:morph-python-ff3e4bfb 8s ease-in-out infinite;animation-delay:2.5s}.tech-badge.ai[data-v-ff3e4bfb]{background:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:40% 60% 60% 40%/60% 30% 60% 40%;animation:morph-ai-ff3e4bfb 8s ease-in-out infinite;animation-delay:5s}@keyframes morph-vue-ff3e4bfb{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}}@keyframes morph-python-ff3e4bfb{0%,to{border-radius:30% 60% 70% 40%/50% 60% 30%}50%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}}@keyframes morph-ai-ff3e4bfb{0%,to{border-radius:40% 60% 60% 40%/60% 30% 60% 40%}50%{border-radius:70% 30% 40% 60%/40% 70% 30% 60%}}.skills[data-v-ff3e4bfb]{padding:var(--space-20) 0}.section-title[data-v-ff3e4bfb]{text-align:center;margin-bottom:var(--space-12);color:var(--text-color)}.skills-grid[data-v-ff3e4bfb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8)}.skill-card[data-v-ff3e4bfb]{text-align:center;padding:var(--space-8);border-radius:var(--radius-xl);background:var(--background-color);border:1px solid var(--border-color);transition:all var(--transition-normal)}.skill-card[data-v-ff3e4bfb]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.skill-icon[data-v-ff3e4bfb]{font-size:3rem;margin-bottom:var(--space-4)}.skill-card h3[data-v-ff3e4bfb]{margin-bottom:var(--space-4);color:var(--text-color)}.recent-projects[data-v-ff3e4bfb]{padding:var(--space-20) 0;background:var(--surface-color)}.section-header[data-v-ff3e4bfb]{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-12)}.view-all-link[data-v-ff3e4bfb]{color:var(--primary-color);font-weight:500;transition:color var(--transition-fast)}.view-all-link[data-v-ff3e4bfb]:hover{color:var(--primary-dark)}.projects-preview[data-v-ff3e4bfb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8)}.project-card[data-v-ff3e4bfb]{background:var(--background-color);border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border-color);transition:all var(--transition-normal)}.project-card[data-v-ff3e4bfb]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.project-image[data-v-ff3e4bfb]{height:200px;background:var(--surface-color);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border-color)}.placeholder-image[data-v-ff3e4bfb]{font-size:4rem;opacity:.5}.project-content[data-v-ff3e4bfb]{padding:var(--space-6)}.project-content h3[data-v-ff3e4bfb]{margin-bottom:var(--space-3);color:var(--text-color)}.project-content p[data-v-ff3e4bfb]{margin-bottom:var(--space-4);color:var(--text-muted)}.project-tech[data-v-ff3e4bfb]{display:flex;gap:var(--space-2);flex-wrap:wrap}.tech-tag[data-v-ff3e4bfb]{padding:var(--space-1) var(--space-3);background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-muted)}@media (max-width: 768px){.hero-content[data-v-ff3e4bfb]{grid-template-columns:1fr;text-align:center;gap:var(--space-8)}.hero-title[data-v-ff3e4bfb]{font-size:var(--font-size-3xl)}.hero-actions[data-v-ff3e4bfb]{justify-content:center;flex-wrap:wrap}.section-header[data-v-ff3e4bfb]{flex-direction:column;gap:var(--space-4);text-align:center}.skills-grid[data-v-ff3e4bfb],.projects-preview[data-v-ff3e4bfb]{grid-template-columns:1fr}}.about[data-v-65e4c620]{padding:var(--space-20) 0}.about-hero[data-v-65e4c620]{margin-bottom:var(--space-20)}.about-content[data-v-65e4c620]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}.about-text h1[data-v-65e4c620]{margin-bottom:var(--space-6);color:var(--text-color)}.intro[data-v-65e4c620]{font-size:var(--font-size-lg);line-height:1.7;color:var(--text-muted)}.profile-container[data-v-65e4c620]{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.profile-photo[data-v-65e4c620]{width:200px;height:200px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);overflow:hidden;position:relative}.profile-photo img[data-v-65e4c620]{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:50%;transition:transform .3s ease;transform:scale(1.1)}.profile-photo:hover img[data-v-65e4c620]{transform:scale(1.15)}.status-indicator[data-v-65e4c620]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--text-muted)}.status-dot[data-v-65e4c620]{width:8px;height:8px;border-radius:50%;background:#10b981;animation:pulse-65e4c620 2s infinite}@keyframes pulse-65e4c620{0%,to{opacity:1}50%{opacity:.5}}.story[data-v-65e4c620]{margin-bottom:var(--space-20);background:var(--surface-color);border-radius:var(--radius-2xl);padding:var(--space-16);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative}.story[data-v-65e4c620]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(37,99,235,.02) 0%,transparent 50%,rgba(37,99,235,.02) 100%);border-radius:var(--radius-2xl);pointer-events:none}.story h2[data-v-65e4c620]{text-align:center;margin-bottom:var(--space-12);color:var(--text-color);font-size:2.5rem;font-weight:700;letter-spacing:-.02em;position:relative;z-index:1}.story h2[data-v-65e4c620]:after{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:2px;box-shadow:0 2px 8px #2563eb4d}.story-content[data-v-65e4c620]{max-width:900px;margin:0 auto;position:relative;z-index:1}.story-content p[data-v-65e4c620]{font-size:var(--font-size-lg);line-height:1.8;margin-bottom:var(--space-8);color:var(--text-muted);font-weight:400;padding:var(--space-6) var(--space-8);background:var(--background-color);border-radius:var(--radius-xl);border-left:4px solid transparent;transition:all .3s ease;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.story-content p[data-v-65e4c620]:nth-child(1){border-left-color:var(--primary-color)}.story-content p[data-v-65e4c620]:nth-child(2){border-left-color:var(--primary-color)}.story-content p[data-v-65e4c620]:nth-child(3){border-left-color:var(--accent-color)}.story-content p[data-v-65e4c620]:nth-child(4){border-left-color:var(--primary-color)}.story-content p[data-v-65e4c620]:hover{background:var(--surface-color);transform:translateY(-2px);box-shadow:var(--shadow-md);border-left-width:6px}.story-content p[data-v-65e4c620]:before{content:"";position:absolute;top:var(--space-4);right:var(--space-6);width:24px;height:24px;background:linear-gradient(135deg,rgba(37,99,235,.1),rgba(245,158,11,.1));border-radius:50%;transition:all .3s ease}.story-content p[data-v-65e4c620]:hover:before{transform:scale(1.2);background:linear-gradient(135deg,rgba(37,99,235,.2),rgba(245,158,11,.2))}.technologies[data-v-65e4c620]{margin-bottom:var(--space-20);padding:var(--space-16) 0;background:var(--surface-color);border-radius:var(--radius-2xl)}.technologies h2[data-v-65e4c620]{text-align:center;margin-bottom:var(--space-12);color:var(--text-color)}.tech-categories[data-v-65e4c620]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-8)}.tech-category h3[data-v-65e4c620]{margin-bottom:var(--space-6);color:var(--text-color);font-size:var(--font-size-lg)}.tech-items[data-v-65e4c620]{display:flex;flex-wrap:wrap;gap:var(--space-3)}.tech-item[data-v-65e4c620]{padding:var(--space-2) var(--space-4);background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--text-muted);transition:all var(--transition-fast)}.tech-item[data-v-65e4c620]:hover{background:var(--primary-color);color:#fff;transform:translateY(-2px)}.experience[data-v-65e4c620]{margin-bottom:var(--space-20)}.experience h2[data-v-65e4c620]{text-align:center;margin-bottom:var(--space-12);color:var(--text-color)}.timeline[data-v-65e4c620]{position:relative;max-width:900px;margin:0 auto}.timeline[data-v-65e4c620]:before{content:"";position:absolute;left:30px;top:0;bottom:0;width:2px;background:var(--border-color)}.timeline-item[data-v-65e4c620]{position:relative;margin-bottom:var(--space-16);padding-left:var(--space-16)}.timeline-marker[data-v-65e4c620]{position:absolute;left:22px;top:8px;width:16px;height:16px;border-radius:50%;background:var(--primary-color);border:3px solid var(--background-color);box-shadow:0 0 0 3px var(--border-color)}.timeline-content h3[data-v-65e4c620]{margin-bottom:var(--space-2);color:var(--text-color)}.timeline-company[data-v-65e4c620]{font-weight:600;color:var(--primary-color);margin-bottom:var(--space-1)}.timeline-period[data-v-65e4c620]{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-1)}.timeline-location[data-v-65e4c620]{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-4);font-style:italic}.timeline-description[data-v-65e4c620]{color:var(--text-muted);line-height:1.6}.timeline-description p[data-v-65e4c620]{margin-bottom:var(--space-4)}.timeline-description ul[data-v-65e4c620]{margin:var(--space-4) 0;padding-left:var(--space-6)}.timeline-description li[data-v-65e4c620]{margin-bottom:var(--space-3);line-height:1.7}.timeline-description li strong[data-v-65e4c620]{color:var(--text-color)}.tech-stack[data-v-65e4c620]{margin-top:var(--space-6);padding:var(--space-4);background:var(--surface-color);border-radius:var(--radius-lg);border-left:4px solid var(--primary-color)}.tech-stack strong[data-v-65e4c620]{color:var(--text-color)}.certifications[data-v-65e4c620]{margin-bottom:var(--space-20)}.certifications h2[data-v-65e4c620]{text-align:center;margin-bottom:var(--space-12);color:var(--text-color)}.cert-grid[data-v-65e4c620]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-8);max-width:800px;margin:0 auto}.cert-card[data-v-65e4c620]{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-6);text-align:center;transition:all var(--transition-normal)}.cert-card[data-v-65e4c620]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.cert-icon[data-v-65e4c620]{font-size:3rem;margin-bottom:var(--space-4)}.cert-card h3[data-v-65e4c620]{margin-bottom:var(--space-3);color:var(--text-color)}.cert-institution[data-v-65e4c620]{font-weight:600;color:var(--primary-color);margin-bottom:var(--space-2)}.cert-period[data-v-65e4c620],.cert-location[data-v-65e4c620]{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-1)}.cta[data-v-65e4c620]{text-align:center;padding:var(--space-16);background:var(--surface-color);border-radius:var(--radius-2xl)}.cta-content h2[data-v-65e4c620]{margin-bottom:var(--space-4);color:var(--text-color)}.cta-content p[data-v-65e4c620]{max-width:600px;margin:0 auto var(--space-8);font-size:var(--font-size-lg);color:var(--text-muted);line-height:1.7}.cta-actions[data-v-65e4c620]{display:flex;justify-content:center;gap:var(--space-4)}.profile-img[data-v-65e4c620]{margin-top:3em;transform:scale(2.1)}@media (max-width: 768px){.about[data-v-65e4c620]{padding:var(--space-8) 0}.about-content[data-v-65e4c620]{grid-template-columns:1fr;text-align:center;gap:var(--space-6)}.about-text h1[data-v-65e4c620]{font-size:2rem;margin-bottom:var(--space-4)}.intro[data-v-65e4c620]{font-size:var(--font-size-base);line-height:1.6;margin-bottom:var(--space-6)}.profile-photo[data-v-65e4c620]{width:120px;height:120px;margin:0 auto}.profile-img[data-v-65e4c620]{margin-top:1.5em;transform:scale(1.8)}.status-indicator[data-v-65e4c620]{font-size:.75rem;padding:var(--space-1) var(--space-3)}.story[data-v-65e4c620]{margin-bottom:var(--space-12);padding:var(--space-8);border-radius:var(--radius-xl)}.story h2[data-v-65e4c620]{font-size:1.75rem;margin-bottom:var(--space-8)}.story-content p[data-v-65e4c620]{font-size:var(--font-size-base);line-height:1.7;margin-bottom:var(--space-6);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg)}.story-content p[data-v-65e4c620]:before{display:none}.technologies[data-v-65e4c620]{padding:var(--space-8) 0;margin-bottom:var(--space-12)}.technologies h2[data-v-65e4c620]{font-size:1.75rem;margin-bottom:var(--space-8)}.tech-categories[data-v-65e4c620]{grid-template-columns:1fr;gap:var(--space-6)}.tech-category h3[data-v-65e4c620]{font-size:var(--font-size-base);margin-bottom:var(--space-4)}.tech-items[data-v-65e4c620]{gap:var(--space-2)}.tech-item[data-v-65e4c620]{font-size:.75rem;padding:var(--space-1) var(--space-3)}.experience[data-v-65e4c620]{margin-bottom:var(--space-12)}.experience h2[data-v-65e4c620]{font-size:1.75rem;margin-bottom:var(--space-8)}.timeline[data-v-65e4c620]{max-width:100%;padding:0 var(--space-4)}.timeline[data-v-65e4c620]:before{left:15px}.timeline-item[data-v-65e4c620]{padding-left:var(--space-8);margin-bottom:var(--space-12)}.timeline-marker[data-v-65e4c620]{left:7px;width:12px;height:12px}.timeline-content h3[data-v-65e4c620]{font-size:var(--font-size-lg)}.timeline-description[data-v-65e4c620]{font-size:var(--font-size-sm);line-height:1.6}.timeline-description ul[data-v-65e4c620]{padding-left:var(--space-4)}.timeline-description li[data-v-65e4c620]{margin-bottom:var(--space-2);line-height:1.6}.tech-stack[data-v-65e4c620]{margin-top:var(--space-4);padding:var(--space-3);font-size:var(--font-size-sm)}.certifications[data-v-65e4c620]{margin-bottom:var(--space-12)}.certifications h2[data-v-65e4c620]{font-size:1.75rem;margin-bottom:var(--space-8)}.cert-grid[data-v-65e4c620]{grid-template-columns:1fr;gap:var(--space-6)}.cert-card[data-v-65e4c620]{padding:var(--space-4)}.cert-icon[data-v-65e4c620]{font-size:2rem;margin-bottom:var(--space-3)}.cert-card h3[data-v-65e4c620]{font-size:var(--font-size-base)}.cta[data-v-65e4c620]{padding:var(--space-8);margin-bottom:var(--space-8)}.cta-content h2[data-v-65e4c620]{font-size:1.5rem;margin-bottom:var(--space-3)}.cta-content p[data-v-65e4c620]{font-size:var(--font-size-base);line-height:1.6;margin-bottom:var(--space-6)}.cta-actions[data-v-65e4c620]{flex-direction:column;align-items:center;gap:var(--space-3)}.btn[data-v-65e4c620]{width:100%;max-width:250px;text-align:center}}@media (max-width: 480px){.about[data-v-65e4c620]{padding:var(--space-6) 0}.container[data-v-65e4c620]{padding:0 var(--space-4)}.about-text h1[data-v-65e4c620]{font-size:1.75rem}.story[data-v-65e4c620]{padding:var(--space-6);margin-bottom:var(--space-8)}.story h2[data-v-65e4c620]{font-size:1.5rem}.story-content p[data-v-65e4c620]{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.technologies[data-v-65e4c620],.experience[data-v-65e4c620],.certifications[data-v-65e4c620]{margin-bottom:var(--space-8)}.technologies h2[data-v-65e4c620],.experience h2[data-v-65e4c620],.certifications h2[data-v-65e4c620]{font-size:1.5rem}.timeline-item[data-v-65e4c620]{margin-bottom:var(--space-8)}}.projects[data-v-0e23bdc4]{padding:var(--space-20) 0}.projects-hero[data-v-0e23bdc4]{text-align:center;margin-bottom:var(--space-16)}.projects-hero h1[data-v-0e23bdc4]{margin-bottom:var(--space-6);color:var(--text-color)}.hero-description[data-v-0e23bdc4]{font-size:var(--font-size-lg);color:var(--text-muted);max-width:700px;margin:0 auto;line-height:1.7}.filter-section[data-v-0e23bdc4]{margin-bottom:var(--space-12)}.filter-buttons[data-v-0e23bdc4]{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.filter-btn[data-v-0e23bdc4]{padding:var(--space-3) var(--space-6);border:1px solid var(--border-color);background:var(--background-color);color:var(--text-muted);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);font-weight:500;font-size:var(--font-size-sm)}.filter-btn[data-v-0e23bdc4]:hover,.filter-btn.active[data-v-0e23bdc4]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.projects-container[data-v-0e23bdc4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(400px,100%),1fr));gap:var(--space-8)}.project-card[data-v-0e23bdc4]{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-normal);cursor:pointer}.project-card[data-v-0e23bdc4]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.project-image[data-v-0e23bdc4]{height:250px;background:var(--surface-color);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.placeholder-icon[data-v-0e23bdc4]{font-size:5rem;opacity:.3;transition:all var(--transition-normal)}.image-carousel[data-v-0e23bdc4]{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.project-img[data-v-0e23bdc4]{width:100%;height:100%;object-fit:contain;cursor:pointer;transition:all var(--transition-normal)}.project-img.small-img[data-v-0e23bdc4]{width:40%;height:40%;object-fit:contain}.project-img[data-v-0e23bdc4]:hover{transform:scale(1.05)}.image-indicator[data-v-0e23bdc4]{position:absolute;bottom:var(--space-2);right:var(--space-2);background:rgba(0,0,0,.7);color:#fff;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:500}.project-overlay[data-v-0e23bdc4]{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(37,99,235,.9);display:flex;align-items:center;justify-content:center;opacity:0;transition:all var(--transition-normal)}.project-card:hover .project-overlay[data-v-0e23bdc4]{opacity:1}.project-card:hover .placeholder-icon[data-v-0e23bdc4]{transform:scale(.8);opacity:.1}.overlay-content[data-v-0e23bdc4]{text-align:center;color:#fff}.view-btn[data-v-0e23bdc4]{padding:var(--space-3) var(--space-6);background:white;color:var(--primary-color);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;margin-bottom:var(--space-4);transition:all var(--transition-fast)}.view-btn[data-v-0e23bdc4]:hover{transform:scale(1.05)}.project-links[data-v-0e23bdc4]{display:flex;gap:var(--space-3);justify-content:center}.project-links a[data-v-0e23bdc4]{color:#fff;text-decoration:underline;font-size:var(--font-size-sm)}.project-content[data-v-0e23bdc4]{padding:var(--space-6)}.project-content h3[data-v-0e23bdc4]{margin-bottom:var(--space-3);color:var(--text-color);font-size:var(--font-size-lg)}.project-content p[data-v-0e23bdc4]{margin-bottom:var(--space-4);color:var(--text-muted);line-height:1.6}.project-tech[data-v-0e23bdc4]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.tech-tag[data-v-0e23bdc4]{padding:var(--space-1) var(--space-3);background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-muted);font-weight:500}.project-meta[data-v-0e23bdc4]{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--text-muted)}.project-category[data-v-0e23bdc4]{background:var(--primary-color);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-weight:500}.modal-overlay[data-v-0e23bdc4]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.modal-content[data-v-0e23bdc4]{background:var(--background-color);border-radius:var(--radius-xl);width:100%;max-width:900px;max-height:90vh;overflow-y:auto;position:relative}.modal-close[data-v-0e23bdc4]{position:absolute;top:var(--space-4);right:var(--space-4);background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-muted);z-index:1001}.modal-header[data-v-0e23bdc4]{padding:var(--space-8) var(--space-8) var(--space-4);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.modal-header h2[data-v-0e23bdc4]{margin:0;color:var(--text-color);flex:1;font-size:var(--font-size-2xl)}.modal-links[data-v-0e23bdc4]{display:flex;gap:var(--space-3)}.modal-body[data-v-0e23bdc4]{padding:0 var(--space-8) var(--space-8)}.modal-image[data-v-0e23bdc4]{text-align:center;padding:var(--space-8);background:var(--surface-color);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.modal-icon[data-v-0e23bdc4]{font-size:6rem;opacity:.7}.modal-image-carousel[data-v-0e23bdc4]{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.modal-img[data-v-0e23bdc4]{width:100%;max-height:400px;object-fit:contain;cursor:pointer;border-radius:var(--radius-lg);transition:all var(--transition-normal)}.modal-img[data-v-0e23bdc4]:hover{transform:scale(1.02)}.modal-image-indicator[data-v-0e23bdc4]{position:absolute;bottom:var(--space-4);left:50%;transform:translate(-50%)}.image-toggle-btn[data-v-0e23bdc4]{background:rgba(0,0,0,.8);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.image-toggle-btn[data-v-0e23bdc4]:hover{background:rgba(0,0,0,.9);transform:scale(1.05)}.before-after-container[data-v-0e23bdc4]{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-6);align-items:center;margin-bottom:var(--space-8);padding:var(--space-6);background:var(--surface-color);border-radius:var(--radius-lg);border:2px solid var(--border-color)}.input-section[data-v-0e23bdc4],.output-section[data-v-0e23bdc4]{text-align:center}.input-section h4[data-v-0e23bdc4],.output-section h4[data-v-0e23bdc4]{margin-bottom:var(--space-4);color:var(--text-color);font-size:var(--font-size-lg);font-weight:600}.input-section h4[data-v-0e23bdc4]{color:var(--primary-color)}.output-section h4[data-v-0e23bdc4]{color:var(--accent-color)}.image-container[data-v-0e23bdc4]{position:relative;background:white;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.input-img[data-v-0e23bdc4],.output-img[data-v-0e23bdc4]{width:100%;max-height:350px;object-fit:contain;display:block}.output-img[data-v-0e23bdc4]{cursor:pointer;transition:all var(--transition-normal)}.output-img[data-v-0e23bdc4]:hover{transform:scale(1.02)}.arrow-section[data-v-0e23bdc4]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.arrow[data-v-0e23bdc4]{font-size:2rem;color:var(--primary-color);font-weight:700;animation:pulse-0e23bdc4 2s infinite}.process-label[data-v-0e23bdc4]{font-size:var(--font-size-sm);color:var(--text-muted);font-weight:500;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap}@keyframes pulse-0e23bdc4{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.output-indicator[data-v-0e23bdc4]{position:absolute;bottom:var(--space-2);left:50%;transform:translate(-50%)}.modal-description[data-v-0e23bdc4]{font-size:var(--font-size-lg);line-height:1.7;color:var(--text-muted);margin-bottom:var(--space-6)}.modal-features[data-v-0e23bdc4],.modal-tech[data-v-0e23bdc4]{margin-bottom:var(--space-6)}.modal-features h4[data-v-0e23bdc4],.modal-tech h4[data-v-0e23bdc4]{margin-bottom:var(--space-4);color:var(--text-color)}.modal-features ul[data-v-0e23bdc4]{list-style:none;padding:0}.modal-features li[data-v-0e23bdc4]{padding:var(--space-2) 0;color:var(--text-muted);position:relative;padding-left:var(--space-6);line-height:1.6}.modal-features li[data-v-0e23bdc4]:before{content:"✓";position:absolute;left:0;color:var(--primary-color);font-weight:700}.tech-list[data-v-0e23bdc4]{display:flex;flex-wrap:wrap;gap:var(--space-3)}.modal-video-section[data-v-0e23bdc4]{margin-bottom:var(--space-6)}.modal-video-section h4[data-v-0e23bdc4]{margin-bottom:var(--space-4);color:var(--text-color);font-size:var(--font-size-lg);font-weight:600;text-align:center}.video-container[data-v-0e23bdc4]{position:relative;background:white;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.modal-video[data-v-0e23bdc4]{width:100%;max-height:400px;object-fit:contain;display:block;border-radius:var(--radius-lg)}@media (max-width: 768px){.projects[data-v-0e23bdc4]{padding:var(--space-8) 0}.projects-hero[data-v-0e23bdc4]{margin-bottom:var(--space-12);text-align:center}.projects-hero h1[data-v-0e23bdc4]{font-size:2rem;margin-bottom:var(--space-4)}.hero-description[data-v-0e23bdc4]{font-size:var(--font-size-base);line-height:1.6;padding:0 var(--space-4)}.filter-section[data-v-0e23bdc4]{margin-bottom:var(--space-8);padding:0 var(--space-4)}.filter-buttons[data-v-0e23bdc4]{justify-content:flex-start;overflow-x:auto;padding-bottom:var(--space-3);gap:var(--space-3);-webkit-overflow-scrolling:touch}.filter-btn[data-v-0e23bdc4]{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);min-width:max-content;white-space:nowrap;flex-shrink:0}.projects-container[data-v-0e23bdc4]{grid-template-columns:1fr;gap:var(--space-6);padding:0 var(--space-4)}.project-card[data-v-0e23bdc4]{border-radius:var(--radius-lg)}.project-image[data-v-0e23bdc4]{height:200px}.project-img[data-v-0e23bdc4]{object-fit:contain}.project-img.small-img[data-v-0e23bdc4]{width:50%;height:50%}.project-content[data-v-0e23bdc4]{padding:var(--space-4)}.project-content h3[data-v-0e23bdc4]{font-size:var(--font-size-lg);margin-bottom:var(--space-2)}.project-content p[data-v-0e23bdc4]{font-size:var(--font-size-sm);line-height:1.5;margin-bottom:var(--space-3)}.project-tech[data-v-0e23bdc4]{gap:var(--space-1);margin-bottom:var(--space-3)}.tech-tag[data-v-0e23bdc4]{font-size:.75rem;padding:var(--space-1) var(--space-2)}.project-meta[data-v-0e23bdc4]{font-size:.75rem}.project-category[data-v-0e23bdc4]{padding:var(--space-1) var(--space-2);font-size:.75rem}.modal-overlay[data-v-0e23bdc4]{padding:0;align-items:stretch;justify-content:stretch;overflow:hidden;width:100vw;width:100dvw;max-width:100vw;box-sizing:border-box}.modal-content[data-v-0e23bdc4]{max-width:100%;width:100%;height:100vh;height:100dvh;max-height:none;margin:0;border-radius:0;position:relative;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch;box-sizing:border-box}.modal-content[data-v-0e23bdc4] *{max-width:100%;box-sizing:border-box}.modal-content p[data-v-0e23bdc4],.modal-content div[data-v-0e23bdc4],.modal-content span[data-v-0e23bdc4],.modal-content h1[data-v-0e23bdc4],.modal-content h2[data-v-0e23bdc4],.modal-content h3[data-v-0e23bdc4],.modal-content h4[data-v-0e23bdc4],.modal-content h5[data-v-0e23bdc4],.modal-content h6[data-v-0e23bdc4]{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.modal-close[data-v-0e23bdc4]{position:absolute;top:calc(var(--space-4) + env(safe-area-inset-top,0px));right:calc(var(--space-4) + env(safe-area-inset-right,0px));font-size:1.5rem;background:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;z-index:1002;transition:all var(--transition-fast);touch-action:manipulation;flex-shrink:0}.modal-close[data-v-0e23bdc4]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.modal-header[data-v-0e23bdc4]{flex-direction:column;align-items:stretch;padding:calc(var(--space-10) + 44px + env(safe-area-inset-top,0px)) var(--space-4) var(--space-4);gap:var(--space-4);background:var(--background-color);flex-shrink:0;border-bottom:1px solid var(--border-color);width:100%;box-sizing:border-box;position:relative}.modal-header h2[data-v-0e23bdc4]{font-size:var(--font-size-xl);line-height:1.2;text-align:left;padding-right:0;margin:0;width:100%;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.modal-links[data-v-0e23bdc4]{justify-content:flex-start;gap:var(--space-3);flex-wrap:wrap;width:100%;box-sizing:border-box}.modal-links .btn[data-v-0e23bdc4]{font-size:var(--font-size-sm);padding:var(--space-3) var(--space-4);min-height:44px;touch-action:manipulation;flex:1;text-align:center;min-width:120px;max-width:calc(50% - var(--space-2));border-radius:var(--radius-lg);box-sizing:border-box}.modal-body[data-v-0e23bdc4]{padding:var(--space-4);flex:1;overflow-x:hidden;width:100%;box-sizing:border-box}.modal-image[data-v-0e23bdc4]{padding:var(--space-3);margin-bottom:var(--space-4);border-radius:var(--radius-md);width:100%;box-sizing:border-box}.modal-img[data-v-0e23bdc4]{max-height:280px;border-radius:var(--radius-md);width:100%;height:auto;object-fit:contain;display:block;box-sizing:border-box}.modal-video[data-v-0e23bdc4]{max-height:220px;border-radius:var(--radius-md);width:100%;height:auto;display:block;box-sizing:border-box}.modal-video-section[data-v-0e23bdc4]{width:100%;box-sizing:border-box}.modal-video-section h4[data-v-0e23bdc4]{text-align:left;margin-bottom:var(--space-3);font-size:var(--font-size-lg);width:100%;word-wrap:break-word}.modal-image-carousel[data-v-0e23bdc4]{margin-bottom:var(--space-4);width:100%;box-sizing:border-box}.modal-image-indicator[data-v-0e23bdc4]{position:static;transform:none;margin-top:var(--space-3);text-align:center;width:100%;box-sizing:border-box}.before-after-container[data-v-0e23bdc4]{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:var(--space-5);text-align:center;padding:var(--space-4);margin-bottom:var(--space-6);border-radius:var(--radius-lg);width:100%;box-sizing:border-box;overflow:hidden}.input-section[data-v-0e23bdc4]{order:1;width:100%;box-sizing:border-box}.arrow-section[data-v-0e23bdc4]{order:2;padding:var(--space-3) 0;width:100%;box-sizing:border-box}.output-section[data-v-0e23bdc4]{order:3;width:100%;box-sizing:border-box}.arrow[data-v-0e23bdc4]{transform:rotate(90deg);font-size:1.75rem;color:var(--primary-color)}.process-label[data-v-0e23bdc4]{writing-mode:horizontal-tb;text-orientation:initial;font-size:var(--font-size-sm);color:var(--primary-color);font-weight:600;margin-top:var(--space-2);word-wrap:break-word}.input-section h4[data-v-0e23bdc4],.output-section h4[data-v-0e23bdc4]{font-size:var(--font-size-lg);margin-bottom:var(--space-3);font-weight:600;width:100%;word-wrap:break-word}.input-img[data-v-0e23bdc4],.output-img[data-v-0e23bdc4]{max-height:240px;border-radius:var(--radius-md);width:100%;height:auto;object-fit:contain;display:block;box-sizing:border-box}.image-container[data-v-0e23bdc4]{margin-bottom:var(--space-3);border-radius:var(--radius-md);overflow:hidden;width:100%;box-sizing:border-box}.output-indicator[data-v-0e23bdc4]{position:static;transform:none;margin-top:var(--space-3);width:100%;box-sizing:border-box}.output-indicator .image-toggle-btn[data-v-0e23bdc4]{background:var(--primary-color);color:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);min-height:44px;width:100%;touch-action:manipulation;box-sizing:border-box;border:none;word-wrap:break-word}.modal-description[data-v-0e23bdc4]{font-size:var(--font-size-base);line-height:1.65;margin-bottom:var(--space-5);color:var(--text-color);width:100%;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.modal-features[data-v-0e23bdc4],.modal-tech[data-v-0e23bdc4]{margin-bottom:var(--space-5);width:100%;box-sizing:border-box}.modal-features h4[data-v-0e23bdc4],.modal-tech h4[data-v-0e23bdc4]{font-size:var(--font-size-lg);margin-bottom:var(--space-4);font-weight:600;color:var(--text-color);width:100%;word-wrap:break-word}.modal-features ul[data-v-0e23bdc4]{width:100%;box-sizing:border-box;padding:0;margin:0}.modal-features li[data-v-0e23bdc4]{padding:var(--space-2) 0;padding-left:var(--space-5);font-size:var(--font-size-base);line-height:1.6;color:var(--text-muted);width:100%;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word;position:relative}.modal-features li[data-v-0e23bdc4]:before{content:"✓";position:absolute;left:0;color:var(--primary-color);font-weight:700;font-size:var(--font-size-lg)}.tech-list[data-v-0e23bdc4]{gap:var(--space-2);justify-content:flex-start;width:100%;box-sizing:border-box;flex-wrap:wrap}.tech-list .tech-tag[data-v-0e23bdc4]{font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);background:var(--primary-color);color:#fff;border:none;font-weight:500;word-break:break-word;max-width:100%;box-sizing:border-box}.image-toggle-btn[data-v-0e23bdc4]{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);touch-action:manipulation;border:none;cursor:pointer;transition:all var(--transition-fast);min-height:44px}.image-toggle-btn[data-v-0e23bdc4]:hover{background:rgba(0,0,0,.9);transform:scale(1.02)}.view-btn[data-v-0e23bdc4]{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);touch-action:manipulation;min-height:44px}.modal-overlay[data-v-0e23bdc4]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content[data-v-0e23bdc4]{animation:slideInModal-0e23bdc4 .25s ease-out;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@keyframes slideInModal-0e23bdc4{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}body[data-v-0e23bdc4]:has(.modal-overlay){overflow:hidden;position:fixed;width:100%;height:100%}@supports not (selector(:has(*))){body.modal-open[data-v-0e23bdc4]{overflow:hidden;position:fixed;width:100%;height:100%}}}@media (max-width: 480px){.projects[data-v-0e23bdc4]{padding:var(--space-6) 0}.container[data-v-0e23bdc4]{padding:0 var(--space-3)}.projects-hero h1[data-v-0e23bdc4]{font-size:1.75rem}.hero-description[data-v-0e23bdc4]{font-size:var(--font-size-sm);padding:0 var(--space-2)}.filter-section[data-v-0e23bdc4]{padding:0 var(--space-2)}.filter-btn[data-v-0e23bdc4]{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.projects-container[data-v-0e23bdc4]{padding:0 var(--space-2);gap:var(--space-4)}.project-image[data-v-0e23bdc4]{height:180px}.project-content[data-v-0e23bdc4]{padding:var(--space-3)}.project-content h3[data-v-0e23bdc4]{font-size:var(--font-size-base)}.project-content p[data-v-0e23bdc4]{font-size:.75rem}.tech-tag[data-v-0e23bdc4]{font-size:.6rem;padding:2px 6px}.modal-content[data-v-0e23bdc4]{margin:0;height:100vh;height:100dvh;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.modal-close[data-v-0e23bdc4]{top:calc(var(--space-2) + env(safe-area-inset-top,0px));right:calc(var(--space-2) + env(safe-area-inset-right,0px));width:40px;height:40px;font-size:1.25rem}.modal-header[data-v-0e23bdc4]{padding:calc(var(--space-8) + 40px + env(safe-area-inset-top,0px)) var(--space-3) var(--space-3);gap:var(--space-3)}.modal-header h2[data-v-0e23bdc4]{font-size:var(--font-size-lg);line-height:1.3}.modal-links .btn[data-v-0e23bdc4]{padding:var(--space-2) var(--space-3);font-size:.875rem;min-height:40px;min-width:100px}.modal-body[data-v-0e23bdc4]{padding:var(--space-3);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;width:100%;box-sizing:border-box}.modal-image[data-v-0e23bdc4]{padding:var(--space-2);margin-bottom:var(--space-3)}.modal-img[data-v-0e23bdc4]{max-height:200px}.modal-video[data-v-0e23bdc4]{max-height:180px}.before-after-container[data-v-0e23bdc4]{padding:var(--space-3);gap:var(--space-4);margin-bottom:var(--space-4)}.input-section h4[data-v-0e23bdc4],.output-section h4[data-v-0e23bdc4]{font-size:var(--font-size-base);margin-bottom:var(--space-2)}.input-img[data-v-0e23bdc4],.output-img[data-v-0e23bdc4]{max-height:180px}.arrow[data-v-0e23bdc4]{font-size:1.5rem}.process-label[data-v-0e23bdc4]{font-size:.75rem}.modal-description[data-v-0e23bdc4]{font-size:var(--font-size-sm);line-height:1.6;margin-bottom:var(--space-4)}.modal-features[data-v-0e23bdc4],.modal-tech[data-v-0e23bdc4]{margin-bottom:var(--space-4)}.modal-features h4[data-v-0e23bdc4],.modal-tech h4[data-v-0e23bdc4]{font-size:var(--font-size-base);margin-bottom:var(--space-3)}.modal-features li[data-v-0e23bdc4]{font-size:var(--font-size-sm);padding:var(--space-1) 0;padding-left:var(--space-4);line-height:1.5}.modal-features li[data-v-0e23bdc4]:before{font-size:var(--font-size-base)}.tech-list .tech-tag[data-v-0e23bdc4]{font-size:.75rem;padding:var(--space-1) var(--space-2)}.image-toggle-btn[data-v-0e23bdc4]{padding:var(--space-2) var(--space-3);font-size:.875rem;min-height:40px}.output-indicator .image-toggle-btn[data-v-0e23bdc4]{padding:var(--space-2) var(--space-3);min-height:40px}}.contact[data-v-4c0056c2]{padding:var(--space-20) 0}.contact-hero[data-v-4c0056c2]{text-align:center;margin-bottom:var(--space-16)}.contact-hero h1[data-v-4c0056c2]{margin-bottom:var(--space-6);color:var(--text-color)}.hero-description[data-v-4c0056c2]{font-size:var(--font-size-lg);color:var(--text-muted);max-width:600px;margin:0 auto;line-height:1.7}.contact-content[data-v-4c0056c2]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);max-width:1200px;margin:0 auto}.contact-info h2[data-v-4c0056c2]{margin-bottom:var(--space-6);color:var(--text-color)}.contact-info>p[data-v-4c0056c2]{font-size:var(--font-size-lg);line-height:1.7;color:var(--text-muted);margin-bottom:var(--space-8)}.contact-methods[data-v-4c0056c2]{margin-bottom:var(--space-12)}.contact-method[data-v-4c0056c2]{display:flex;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4);background:var(--surface-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:all var(--transition-fast)}.contact-method[data-v-4c0056c2]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.method-icon[data-v-4c0056c2]{font-size:1.5rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--background-color);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.method-content h3[data-v-4c0056c2]{margin-bottom:var(--space-1);color:var(--text-color);font-size:var(--font-size-base)}.method-content p[data-v-4c0056c2]{color:var(--primary-color);font-weight:600;margin-bottom:var(--space-1);font-size:var(--font-size-sm)}.method-content small[data-v-4c0056c2]{color:var(--text-muted);font-size:var(--font-size-xs)}.availability[data-v-4c0056c2]{padding:var(--space-6);background:var(--surface-color);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.availability h3[data-v-4c0056c2]{margin-bottom:var(--space-4);color:var(--text-color)}.status[data-v-4c0056c2]{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);font-weight:500;color:var(--text-color)}.status-dot[data-v-4c0056c2]{width:12px;height:12px;border-radius:50%;background:var(--accent-color);animation:pulse-4c0056c2 2s infinite}.availability p[data-v-4c0056c2]{color:var(--text-muted);line-height:1.6}.contact-form-container[data-v-4c0056c2]{background:var(--background-color);padding:var(--space-8);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.contact-form-container h2[data-v-4c0056c2]{margin-bottom:var(--space-8);color:var(--text-color)}.form-group[data-v-4c0056c2]{margin-bottom:var(--space-6)}.form-group label[data-v-4c0056c2]{display:block;margin-bottom:var(--space-2);color:var(--text-color);font-weight:500}.form-group input[data-v-4c0056c2],.form-group textarea[data-v-4c0056c2]{width:100%;padding:var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--background-color);color:var(--text-color);transition:all var(--transition-fast)}.form-group input[data-v-4c0056c2]:focus,.form-group textarea[data-v-4c0056c2]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-group input.error[data-v-4c0056c2],.form-group textarea.error[data-v-4c0056c2]{border-color:#ef4444}.error-message[data-v-4c0056c2]{display:block;margin-top:var(--space-2);color:#ef4444;font-size:var(--font-size-sm)}.form-group textarea[data-v-4c0056c2]{resize:vertical;min-height:120px}.form-actions[data-v-4c0056c2]{margin-top:var(--space-8)}.btn.loading[data-v-4c0056c2]{opacity:.7;cursor:not-allowed}.status-message[data-v-4c0056c2]{margin-top:var(--space-8);padding:var(--space-6);border-radius:var(--radius-lg);display:flex;gap:var(--space-4);align-items:flex-start}.status-message.success[data-v-4c0056c2]{background:#f0fdf4;border:1px solid #22c55e}.status-message.error[data-v-4c0056c2]{background:#fef2f2;border:1px solid #ef4444}.status-icon[data-v-4c0056c2]{font-size:var(--font-size-xl)}.status-message h4[data-v-4c0056c2]{margin-bottom:var(--space-2)}.status-message.success h4[data-v-4c0056c2]{color:#16a34a}.status-message.error h4[data-v-4c0056c2]{color:#dc2626}.status-message p[data-v-4c0056c2]{color:var(--text-muted);line-height:1.6}@keyframes pulse-4c0056c2{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.contact-content[data-v-4c0056c2]{grid-template-columns:1fr;gap:var(--space-12)}.contact-method[data-v-4c0056c2]{padding:var(--space-3)}.method-icon[data-v-4c0056c2]{width:40px;height:40px;font-size:1.25rem}.contact-form-container[data-v-4c0056c2]{padding:var(--space-6)}}.navbar[data-v-a7b15543]{border-bottom:1px solid var(--border-color);padding:var(--space-4) 0;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--background-color);opacity:.95}.brand-logo[data-v-a7b15543]{height:40px;width:auto;transition:transform var(--transition-fast);margin-left:0;margin-right:0;position:absolute;left:1em;top:1em;transform:scale(1.4)}.brand-logo[data-v-a7b15543]:hover{transform:scale(1.5)}.container[data-v-a7b15543]{display:flex;align-items:center;width:100%;justify-content:space-between}.nav-brand .brand-link[data-v-a7b15543]{color:var(--text-color);font-weight:700;font-size:var(--font-size-xl)}.nav-brand h2[data-v-a7b15543]{margin:0;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mobile-menu-btn[data-v-a7b15543]{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:var(--space-2)}.mobile-menu-btn span[data-v-a7b15543]{width:25px;height:3px;background-color:var(--text-color);margin:2px 0;transition:var(--transition-fast)}.mobile-menu-btn.active span[data-v-a7b15543]:nth-child(1){transform:rotate(-45deg) translate(-5px,6px)}.mobile-menu-btn.active span[data-v-a7b15543]:nth-child(2){opacity:0}.mobile-menu-btn.active span[data-v-a7b15543]:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}.nav-menu[data-v-a7b15543]{display:flex;align-items:center;gap:var(--space-8)}.nav-links[data-v-a7b15543]{display:flex;list-style:none;gap:var(--space-6);margin:0;padding:0}.nav-links a[data-v-a7b15543]{color:var(--text-muted);font-weight:500;transition:color var(--transition-fast);position:relative}.nav-links a[data-v-a7b15543]:hover,.nav-links a.router-link-active[data-v-a7b15543]{color:var(--primary-color)}.nav-links a.router-link-active[data-v-a7b15543]:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background-color:var(--primary-color);border-radius:1px}.theme-toggle[data-v-a7b15543]{background:none;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-2);cursor:pointer;font-size:var(--font-size-lg);transition:all var(--transition-fast)}.theme-toggle[data-v-a7b15543]:hover{background-color:var(--surface-color);transform:scale(1.05)}@media (max-width: 768px){.mobile-menu-btn[data-v-a7b15543]{display:flex}.nav-menu[data-v-a7b15543]{position:fixed;top:0;right:-100%;width:100%;height:100vh;background-color:var(--background-color);flex-direction:column;justify-content:center;transition:right var(--transition-normal)}.nav-menu.active[data-v-a7b15543]{right:0}.nav-links[data-v-a7b15543]{flex-direction:column;text-align:center;gap:var(--space-8)}.nav-links a[data-v-a7b15543]{font-size:var(--font-size-xl)}}.footer[data-v-cf383127]{background-color:var(--surface-color);border-top:1px solid var(--border-color);padding:var(--space-16) 0 var(--space-8);margin-top:auto}.footer-content[data-v-cf383127]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-8);margin-bottom:var(--space-8)}.footer-section h3[data-v-cf383127]{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-4)}.footer-section h4[data-v-cf383127]{color:var(--text-color);margin-bottom:var(--space-4);font-size:var(--font-size-lg)}.footer-section p[data-v-cf383127]{color:var(--text-muted);line-height:1.6}.footer-links[data-v-cf383127]{list-style:none;padding:0;margin:0}.footer-links li[data-v-cf383127]{margin-bottom:var(--space-2)}.footer-links a[data-v-cf383127]{color:var(--text-muted);transition:color var(--transition-fast)}.footer-links a[data-v-cf383127]:hover{color:var(--primary-color)}.social-links[data-v-cf383127]{display:flex;gap:var(--space-4)}.social-links a[data-v-cf383127]{color:var(--text-muted);transition:all var(--transition-fast);padding:var(--space-2);border-radius:var(--radius-md)}.social-links a[data-v-cf383127]:hover{color:var(--primary-color);background-color:var(--background-color);transform:translateY(-2px)}.footer-bottom[data-v-cf383127]{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-8);border-top:1px solid var(--border-color);color:var(--text-muted);font-size:var(--font-size-sm)}@media (max-width: 768px){.footer-content[data-v-cf383127]{grid-template-columns:1fr;text-align:center}.footer-bottom[data-v-cf383127]{flex-direction:column;gap:var(--space-2);text-align:center}.social-links[data-v-cf383127]{justify-content:center}}#app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary-color: #2563eb;--primary-dark: #1d4ed8;--secondary-color: #64748b;--accent-color: #f59e0b;--background-color: #ffffff;--surface-color: #f8fafc;--text-color: #1e293b;--text-muted: #64748b;--border-color: #e2e8f0;--dark-background: #0f172a;--dark-surface: #1e293b;--dark-text: #f1f5f9;--dark-text-muted: #94a3b8;--dark-border: #334155;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out}html{font-family:var(--font-family);line-height:1.6;color:var(--text-color);background-color:var(--background-color);scroll-behavior:smooth}body{font-size:var(--font-size-base);line-height:1.6}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:var(--space-4)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--space-4);color:var(--text-muted)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.hidden{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-weight:500;text-decoration:none;border:none;cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-dark);color:#fff}.btn-secondary{background-color:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color);color:var(--text-color)}.card{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}@media (max-width: 768px){.container{padding:0 var(--space-4)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}}[data-theme=dark]{--primary-color: #3b82f6;--primary-dark: #1d4ed8;--secondary-color: #94a3b8;--accent-color: #f59e0b;--background-color: var(--dark-background);--surface-color: var(--dark-surface);--text-color: var(--dark-text);--text-muted: var(--dark-text-muted);--border-color: var(--dark-border)}@media (prefers-color-scheme: dark){:root:not([data-theme]){--background-color: var(--dark-background);--surface-color: var(--dark-surface);--text-color: var(--dark-text);--text-muted: var(--dark-text-muted);--border-color: var(--dark-border)}}
