@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#3b82f6;--color-accent:#f59e0b;--color-accent-dark:#d97706;--color-bg:#fff;--color-bg-alt:#f8fafc;--color-bg-dark:#0f172a;--color-text:#1e293b;--color-text-light:#64748b;--color-text-white:#f8fafc;--color-border:#e2e8f0;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:2rem;--spacing-xl:4rem;--spacing-2xl:6rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--transition-base:all .3s ease;--transition-smooth:all .5s cubic-bezier(.4,0,.2,1)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--color-text);background-color:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none;transition:var(--transition-base)}a:hover{color:var(--color-primary-dark)}img{max-width:100%;height:auto;display:block}ol,ul{list-style:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}@media(max-width:768px){.container{padding:0 var(--spacing-md)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;cursor:pointer;transition:var(--transition-base);border:2px solid transparent;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:#fff;transform:translateY(-1px)}.btn-white{background:#fff;color:var(--color-primary);border-color:#fff}.btn-white:hover{background:var(--color-bg-alt);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-lg{padding:1rem 2rem;font-size:1.1rem}.section-header{text-align:center;margin-bottom:var(--spacing-xl)}.section-header h2{font-size:2.25rem;font-weight:800;color:var(--color-text);margin-bottom:var(--spacing-md)}.section-header p{font-size:1.1rem;color:var(--color-text-light);max-width:600px;margin:0 auto}@media(max-width:768px){.section-header h2{font-size:1.75rem}.section-header p{font-size:1rem}}.section{padding:var(--spacing-2xl) 0}@media(max-width:768px){.section{padding:var(--spacing-xl) 0}}.fade-in{opacity:0;transform:translateY(20px);transition:var(--transition-smooth)}.fade-in.visible{opacity:1;transform:translateY(0)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px){.hide-desktop{display:none!important}}.header[data-v-f04f42d1]{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--transition-base);border-bottom:1px solid transparent}.header-scrolled[data-v-f04f42d1]{border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.header-inner[data-v-f04f42d1]{justify-content:space-between;height:70px}.header-inner[data-v-f04f42d1],.logo[data-v-f04f42d1]{display:flex;align-items:center}.logo[data-v-f04f42d1]{gap:.5rem;text-decoration:none;color:var(--color-text)}.logo-icon[data-v-f04f42d1]{width:36px;height:36px;background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700}.logo-text[data-v-f04f42d1]{font-weight:700;font-size:1.25rem}.nav-desktop[data-v-f04f42d1]{display:flex;gap:2rem}.nav-link[data-v-f04f42d1]{color:var(--color-text);font-weight:500;font-size:.95rem;position:relative;padding:.25rem 0}.nav-link[data-v-f04f42d1]:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-primary);transition:var(--transition-base)}.nav-link[data-v-f04f42d1]:hover{color:var(--color-primary)}.nav-link[data-v-f04f42d1]:hover:after{width:100%}.menu-toggle[data-v-f04f42d1]{background:none;border:none;cursor:pointer;padding:.5rem}.hamburger[data-v-f04f42d1]{display:flex;flex-direction:column;gap:5px;width:24px}.hamburger span[data-v-f04f42d1]{display:block;height:2px;background:var(--color-text);border-radius:2px;transition:var(--transition-base);transform-origin:center}.hamburger.active span[data-v-f04f42d1]:first-child{transform:translateY(7px) rotate(45deg)}.hamburger.active span[data-v-f04f42d1]:nth-child(2){opacity:0}.hamburger.active span[data-v-f04f42d1]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu[data-v-f04f42d1]{position:absolute;top:61px;left:0;right:0;background:#fff;border-bottom:1px solid var(--color-border);padding:var(--spacing-lg);box-shadow:var(--shadow-lg)}.mobile-nav[data-v-f04f42d1]{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.mobile-nav-link[data-v-f04f42d1]{display:block;padding:.75rem 0;font-size:1.1rem;font-weight:500;color:var(--color-text);border-bottom:1px solid var(--color-border)}.mobile-nav-link[data-v-f04f42d1]:hover{color:var(--color-primary)}.btn-full[data-v-f04f42d1]{width:100%;text-align:center}.slide-enter-active[data-v-f04f42d1],.slide-leave-active[data-v-f04f42d1]{transition:all .3s ease}.slide-enter-from[data-v-f04f42d1],.slide-leave-to[data-v-f04f42d1]{opacity:0;transform:translateY(-10px)}@media(max-width:768px){.header-inner[data-v-f04f42d1]{height:60px}}.hero[data-v-6c80c295]{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding-top:70px}.hero-content[data-v-6c80c295]{position:relative;z-index:2;padding:var(--spacing-2xl) 0}.hero-main[data-v-6c80c295]{display:flex;align-items:center;gap:4rem}.hero-text[data-v-6c80c295]{flex:1;min-width:0}.hero-image[data-v-6c80c295]{flex-shrink:0;width:320px;height:320px}.hero-image-inner[data-v-6c80c295]{position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px #2563eb14,0 20px 60px -12px #00000026;transition:all .5s cubic-bezier(.4,0,.2,1)}.hero-image-inner[data-v-6c80c295]:hover{box-shadow:0 0 0 4px #2563eb26,0 25px 70px -12px #0003;transform:translateY(-2px) scale(1.02)}.hero-image-img[data-v-6c80c295]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:all .5s cubic-bezier(.4,0,.2,1)}.hero-image-inner:hover .hero-image-img[data-v-6c80c295]{transform:scale(1.05)}.hero-image-ring[data-v-6c80c295]{position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(37,99,235,.12);pointer-events:none;animation:ringPulse-6c80c295 4s ease-in-out infinite}@keyframes ringPulse-6c80c295{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.04);opacity:.2}}.hero-badge[data-v-6c80c295]{display:inline-flex;align-items:center;gap:.5rem;background:#2563eb1a;color:var(--color-primary);padding:.5rem 1rem;border-radius:var(--radius-full);font-size:.9rem;font-weight:500;margin-bottom:1.5rem}.badge-dot[data-v-6c80c295]{width:8px;height:8px;background:var(--color-primary);border-radius:50%;animation:pulse-6c80c295 2s infinite}@keyframes pulse-6c80c295{0%,to{opacity:1}50%{opacity:.5}}.hero-title[data-v-6c80c295]{font-size:3.5rem;font-weight:800;line-height:1.15;margin-bottom:1.5rem;color:var(--color-text)}.text-gradient[data-v-6c80c295]{background:linear-gradient(135deg,var(--color-primary),#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-desc[data-v-6c80c295]{font-size:1.2rem;color:var(--color-text-light);line-height:1.7;margin-bottom:2.5rem;max-width:600px}.hero-actions[data-v-6c80c295]{display:flex;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.hero-stats[data-v-6c80c295]{display:inline-flex;align-items:center;gap:2rem;padding:1.5rem 2rem;background:var(--color-bg-alt);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.stat-item[data-v-6c80c295]{display:flex;flex-direction:column;align-items:center}.stat-number[data-v-6c80c295]{font-size:1.75rem;font-weight:800;color:var(--color-primary);line-height:1.2}.stat-label[data-v-6c80c295]{font-size:.85rem;color:var(--color-text-light);margin-top:.25rem}.stat-divider[data-v-6c80c295]{width:1px;height:40px;background:var(--color-border)}@media(max-width:1024px){.hero-image[data-v-6c80c295]{width:260px;height:260px}.hero-main[data-v-6c80c295]{gap:2.5rem}}@media(max-width:768px){.hero[data-v-6c80c295]{min-height:auto;padding:100px 0 60px}.hero-main[data-v-6c80c295]{flex-direction:column;gap:2rem}.hero-image[data-v-6c80c295]{display:none}.hero-title[data-v-6c80c295]{font-size:2rem}.hero-desc[data-v-6c80c295]{font-size:1rem;max-width:100%}.hero-actions[data-v-6c80c295]{flex-direction:column}.hero-actions .btn[data-v-6c80c295]{width:100%;justify-content:center}.hero-stats[data-v-6c80c295]{flex-direction:column;gap:1rem;padding:1.5rem}.stat-divider[data-v-6c80c295]{width:40px;height:1px}.stat-item[data-v-6c80c295]{flex-direction:row;gap:.75rem}}.skills[data-v-6df8ec5e]{background:var(--color-bg-alt)}.skills-grid[data-v-6df8ec5e]{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.skill-card[data-v-6df8ec5e]{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;transition:var(--transition-base)}.skill-card[data-v-6df8ec5e]:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--color-primary)}.skill-icon[data-v-6df8ec5e]{width:52px;height:52px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.skill-title[data-v-6df8ec5e]{font-size:1.2rem;font-weight:700;color:var(--color-text);margin-bottom:.75rem}.skill-desc[data-v-6df8ec5e]{font-size:.95rem;color:var(--color-text-light);line-height:1.7;margin-bottom:1.25rem}.skill-tags[data-v-6df8ec5e]{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag[data-v-6df8ec5e]{padding:.3rem .75rem;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.8rem;font-weight:500;color:var(--color-text-light)}.skill-card:hover .skill-tag[data-v-6df8ec5e]{border-color:var(--color-primary-light);color:var(--color-primary)}@media(max-width:768px){.skills-grid[data-v-6df8ec5e]{grid-template-columns:1fr}}.cases-grid[data-v-7970b1b2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.case-card[data-v-7970b1b2]{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition-base)}.case-card[data-v-7970b1b2]:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.case-image[data-v-7970b1b2]{position:relative;height:200px;display:flex;align-items:center;justify-content:center}.case-image-content[data-v-7970b1b2]{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#fff9;font-size:.85rem}.case-badge[data-v-7970b1b2]{position:absolute;top:1rem;right:1rem;padding:.3rem .75rem;background:#ffffffe6;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;color:var(--color-text)}.case-body[data-v-7970b1b2]{padding:1.5rem}.case-title[data-v-7970b1b2]{font-size:1.2rem;font-weight:700;margin-bottom:.75rem}.case-desc[data-v-7970b1b2]{font-size:.95rem;color:var(--color-text-light);line-height:1.6;margin-bottom:1rem}.case-pain-point[data-v-7970b1b2]{font-size:.9rem;color:var(--color-text);padding:.75rem;background:#fef2f2;border-radius:var(--radius-md);margin-bottom:1rem;border:1px solid #fecaca}.case-pain-point .label[data-v-7970b1b2]{font-weight:600;color:#dc2626}.case-techs[data-v-7970b1b2]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tech-badge[data-v-7970b1b2]{padding:.3rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.8rem;font-weight:500;color:var(--color-primary)}.case-lighthouse[data-v-7970b1b2],.tech-badge[data-v-7970b1b2]{background:var(--color-bg-alt)}.case-lighthouse[data-v-7970b1b2]{padding:1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);margin-bottom:1.25rem}.lh-header[data-v-7970b1b2]{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--color-text);margin-bottom:.75rem}.lh-scores[data-v-7970b1b2]{display:flex;gap:1rem}.lh-score[data-v-7970b1b2]{flex:1;text-align:center}.score-value[data-v-7970b1b2]{display:block;font-size:1.5rem;font-weight:800;line-height:1.2}.score-100[data-v-7970b1b2],.score-92[data-v-7970b1b2],.score-93[data-v-7970b1b2],.score-95[data-v-7970b1b2],.score-96[data-v-7970b1b2],.score-98[data-v-7970b1b2]{color:#059669}.score-85[data-v-7970b1b2]{color:#f59e0b}.score-label[data-v-7970b1b2]{font-size:.75rem;color:var(--color-text-light)}.case-actions[data-v-7970b1b2]{display:flex}.case-actions .btn[data-v-7970b1b2]{flex:1}.case-actions .btn[data-v-7970b1b2]:hover{color:#fff}@media(max-width:768px){.cases-grid[data-v-7970b1b2]{grid-template-columns:1fr}}.about[data-v-719d2aaf]{background:var(--color-bg)}.about-grid[data-v-719d2aaf]{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--spacing-xl);align-items:start}.about-text[data-v-719d2aaf]{font-size:1.05rem;color:var(--color-text-light);line-height:1.8;margin-bottom:1rem}.about-text strong[data-v-719d2aaf]{color:var(--color-primary)}.about-stats[data-v-719d2aaf]{display:flex;gap:2rem;padding:1.5rem;background:var(--color-bg-alt);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin:1.5rem 0}.about-stat[data-v-719d2aaf]{display:flex;flex-direction:column;align-items:center}.stat-num[data-v-719d2aaf]{font-size:1.75rem;font-weight:800;color:var(--color-primary)}.stat-desc[data-v-719d2aaf]{font-size:.85rem;color:var(--color-text-light);margin-top:.25rem}.about-services[data-v-719d2aaf]{margin-bottom:1.5rem}.about-services h4[data-v-719d2aaf]{font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.service-item[data-v-719d2aaf]{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;font-size:.95rem;color:var(--color-text);border-bottom:1px solid var(--color-border)}.service-item[data-v-719d2aaf]:last-child{border-bottom:none}.about-visual[data-v-719d2aaf]{position:sticky;top:100px}.avatar-placeholder[data-v-719d2aaf]{width:100%;aspect-ratio:3/4;background:linear-gradient(135deg,var(--color-bg-alt),var(--color-border));border-radius:var(--radius-lg);flex-direction:column;gap:.5rem;border:2px dashed var(--color-border);margin-bottom:1.5rem}.avatar-icon[data-v-719d2aaf],.avatar-placeholder[data-v-719d2aaf]{display:flex;align-items:center;justify-content:center}.avatar-icon[data-v-719d2aaf]{width:80px;height:80px;background:var(--color-primary);border-radius:50%;opacity:.3}.avatar-label[data-v-719d2aaf]{font-size:.9rem;color:var(--color-text-light)}.tech-cloud[data-v-719d2aaf]{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.tech-item[data-v-719d2aaf]{padding:.4rem .9rem;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.8rem;font-weight:500;color:var(--color-text);transition:var(--transition-base)}.tech-item[data-v-719d2aaf]:hover{border-color:var(--color-primary);color:var(--color-primary);background:#2563eb0d;transform:translateY(-2px)}@media(max-width:768px){.about-grid[data-v-719d2aaf]{grid-template-columns:1fr}.about-visual[data-v-719d2aaf]{position:static;order:-1}.avatar-placeholder[data-v-719d2aaf]{aspect-ratio:16/9}.about-stats[data-v-719d2aaf]{justify-content:space-around}}.footer[data-v-8bd6fca3]{background:var(--color-bg-dark);color:var(--color-text-white);padding:var(--spacing-xl) 0 0}.footer-grid[data-v-8bd6fca3]{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid hsla(0,0%,100%,.1)}.footer-logo[data-v-8bd6fca3]{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:1rem}.footer-logo .logo-icon[data-v-8bd6fca3]{width:32px;height:32px;background:var(--color-primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.8rem}.footer-desc[data-v-8bd6fca3]{color:#fff9;font-size:.95rem;line-height:1.7;max-width:350px}.footer-contact h4[data-v-8bd6fca3],.footer-links h4[data-v-8bd6fca3]{font-size:1rem;font-weight:600;margin-bottom:1rem;color:#fff}.footer-links a[data-v-8bd6fca3]{display:block;color:#fff9;font-size:.9rem;margin-bottom:.75rem;transition:var(--transition-base)}.footer-links a[data-v-8bd6fca3]:hover{color:var(--color-primary-light);padding-left:4px}.contact-item[data-v-8bd6fca3]{display:flex;align-items:center;gap:.5rem;color:#fff9;font-size:.9rem;margin-bottom:.75rem;transition:var(--transition-base)}.contact-item[data-v-8bd6fca3]:hover{color:var(--color-primary-light)}.footer-bottom[data-v-8bd6fca3]{padding:var(--spacing-lg) 0;text-align:center;color:#fff6;font-size:.85rem}@media(max-width:768px){.footer-grid[data-v-8bd6fca3]{grid-template-columns:1fr;gap:var(--spacing-lg)}}.main-content{min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-alt)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}
