:root{color-scheme:dark;--primary: #ffffff;--primary-dark: #d4d4d4;--primary-light: #bdbdbd;--primary-rgb: 255, 255, 255;--on-primary: #0d0d0d;--chip: rgba(255,255,255,.08);--secondary: #ededed;--accent: #ffffff;--accent-blue: #cfcfcf;--accent-green: #b0b0b0;--accent-yellow: #e0e0e0;--accent-red: #ffffff;--bg: #000000;--bg-alt: #0a0a0a;--bg-dark: #000000;--surface: #141414;--surface-2: #1c1c1c;--text: #c4c4c4;--text-light: #8a8a8a;--text-dark: #f4f4f4;--border: #2a2a2a;--shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 2px 8px rgba(0,0,0,.45), 0 4px 12px rgba(0,0,0,.35);--shadow-lg: 0 8px 24px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.35);--shadow-xl: 0 18px 48px rgba(0,0,0,.6), 0 6px 16px rgba(0,0,0,.4);--radius: 14px;--radius-sm: 10px;--transition: all .25s ease}[data-theme=light]{color-scheme:light;--primary: #161616;--primary-dark: #000000;--primary-light: #555555;--primary-rgb: 22, 22, 22;--on-primary: #ffffff;--chip: rgba(0,0,0,.05);--secondary: #161616;--accent: #161616;--accent-blue: #3a3a3a;--accent-green: #565656;--accent-yellow: #2a2a2a;--accent-red: #161616;--bg: #ffffff;--bg-alt: #f4f4f5;--bg-dark: #0d0d0d;--surface: #ffffff;--surface-2: #f6f6f7;--text: #3a3a3a;--text-light: #6a6a6a;--text-dark: #111111;--border: #e4e4e7;--shadow: 0 1px 2px rgba(16,24,40,.06), 0 1px 3px rgba(16,24,40,.04);--shadow-md: 0 2px 8px rgba(16,24,40,.06), 0 4px 12px rgba(16,24,40,.05);--shadow-lg: 0 8px 24px rgba(16,24,40,.08), 0 2px 8px rgba(16,24,40,.04);--shadow-xl: 0 18px 48px rgba(16,24,40,.12), 0 6px 16px rgba(16,24,40,.06)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px;background-color:var(--bg)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text);line-height:1.7;background:var(--bg);overflow-x:hidden}a{text-decoration:none;color:inherit}ul{list-style:none}img{max-width:100%}.container{max-width:1200px;margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;transition:var(--transition);cursor:pointer;border:none;gap:8px}.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:0 1px 2px #0006}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #00000080}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--border)}.btn-outline:hover{background:var(--primary);color:var(--on-primary);border-color:var(--primary);transform:translateY(-2px)}.btn-white{background:#fff;color:#0d0d0d;box-shadow:var(--shadow-lg)}.btn-white:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.btn-nav{padding:10px 24px;font-size:.9rem}.btn-full{width:100%}.section-header{text-align:center;max-width:640px;margin:0 auto 64px}.section-tag{display:inline-block;background:var(--chip);color:var(--primary);padding:6px 16px;border-radius:50px;font-size:.8rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;margin-bottom:16px}.section-header h2{font-size:2.5rem;color:var(--text-dark);margin-bottom:16px;line-height:1.2}.section-header p{color:var(--text-light);font-size:1.1rem}.section-cta{text-align:center;margin-top:48px}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:14px 0;transition:var(--transition);background:var(--bg);border-bottom:1px solid var(--border)}.navbar.scrolled{padding:10px 0;box-shadow:var(--shadow)}.nav-container{display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.25rem;color:var(--text-dark)}.logo-icon{width:40px;height:40px;border-radius:10px;display:block;object-fit:contain}.nav-links{display:flex;align-items:center;gap:32px}.nav-links a{font-size:.9rem;font-weight:500;color:var(--text);transition:var(--transition)}.nav-links a:hover,.nav-links a.active{color:var(--primary)}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.hamburger span{display:block;width:24px;height:2px;background:var(--text-dark);transition:var(--transition);border-radius:2px}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.page-banner{padding:160px 0 80px;background:linear-gradient(180deg,#0a0a0a,#000);position:relative;overflow:hidden}.page-banner .container{position:relative;z-index:1}.breadcrumb{font-size:.88rem;color:var(--text-light);margin-bottom:20px}.breadcrumb a{color:var(--primary);font-weight:500}.breadcrumb span{color:var(--text-light)}.page-banner h1{font-size:3rem;font-weight:800;color:var(--text-dark);line-height:1.2;margin-bottom:16px}.page-banner p{font-size:1.15rem;color:var(--text-light);max-width:600px}.hero{min-height:100vh;display:flex;align-items:center;padding:120px 0 80px;position:relative;overflow:hidden;background:linear-gradient(180deg,#0a0a0a,#000)}.hero-bg-shapes{position:absolute;inset:0;pointer-events:none;overflow:hidden}.shape{position:absolute;border-radius:50%;opacity:.08}.shape-1{width:600px;height:600px;background:var(--primary);top:-200px;right:-100px}.shape-2{width:400px;height:400px;background:var(--accent);bottom:-100px;left:-100px}.shape-3{width:300px;height:300px;background:var(--primary-light);top:50%;left:50%;transform:translate(-50%,-50%)}.hero-container{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--chip);color:var(--primary);padding:8px 20px;border-radius:50px;font-size:.85rem;font-weight:600;margin-bottom:24px;border:1px solid rgba(255,255,255,.15)}.hero h1{font-size:3.5rem;font-weight:800;color:var(--text-dark);line-height:1.15;margin-bottom:24px}.gradient-text{background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{font-size:1.15rem;color:var(--text-light);margin-bottom:36px;max-width:520px}.hero-cta{display:flex;gap:16px;margin-bottom:48px}.hero-stats{display:flex;gap:48px}.stat{text-align:left}.stat-number{font-size:2rem;font-weight:800;color:var(--text-dark)}.stat-suffix{font-size:1.5rem;font-weight:700;color:var(--primary)}.stat-label{display:block;font-size:.85rem;color:var(--text-light);margin-top:2px}.hero-visual,.hero-illustration{position:relative}.code-window{background:var(--bg-dark);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-xl);border:1px solid rgba(255,255,255,.1)}.window-header{display:flex;gap:8px;padding:16px 20px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.05)}.dot{width:12px;height:12px;border-radius:50%}.dot.red{background:#4d4d4d}.dot.yellow{background:#6b6b6b}.dot.green{background:#8a8a8a}.code-content{padding:24px;font-family:SF Mono,Fira Code,monospace;font-size:.9rem;line-height:1.8}.code-line{white-space:nowrap}.code-line.indent{padding-left:24px}.keyword{color:#b5b5b5}.variable{color:#cdcdcd}.function{color:#d0d0d0}.property{color:#ccc}.string{color:#9a9a9a}.comment{color:#5c6370}.floating-card{position:absolute;background:var(--surface);border-radius:var(--radius-sm);padding:12px 20px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-lg);font-size:.85rem;font-weight:600;color:var(--text-dark);animation:float 3s ease-in-out infinite}.card-1{top:-20px;right:-20px;color:#d4d4d4}.card-1 svg{color:#d4d4d4}.card-2{bottom:-20px;left:-20px;color:var(--primary);animation-delay:1.5s}.card-2 svg{color:var(--primary)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.about{padding:100px 0;background:var(--bg-alt)}.about-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.about-card{background:var(--surface);padding:36px 28px;border-radius:var(--radius);border:1px solid var(--border);transition:var(--transition)}.about-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.about-icon{width:56px;height:56px;background:linear-gradient(135deg,#ffffff1a,#ffffff1a);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--primary);margin-bottom:20px}.about-card h3{font-size:1.15rem;color:var(--text-dark);margin-bottom:12px}.about-card p{font-size:.9rem;color:var(--text-light);line-height:1.6}.about-story{padding:100px 0}.story-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.story-content h2{font-size:2.2rem;color:var(--text-dark);margin-bottom:24px;line-height:1.3}.story-content p{color:var(--text-light);margin-bottom:16px;line-height:1.8}.story-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.story-stat{background:var(--bg-alt);padding:32px 24px;border-radius:var(--radius);text-align:center;border:1px solid var(--border);transition:var(--transition)}.story-stat:hover{border-color:var(--primary-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.story-stat-number{font-size:2.5rem;font-weight:800;color:var(--primary);line-height:1;margin-bottom:8px}.story-stat-label{font-size:.88rem;color:var(--text-light);font-weight:500}.mission-vision{padding:100px 0;background:var(--bg-alt)}.mv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.mv-card{background:var(--surface);padding:40px 32px;border-radius:var(--radius);border:1px solid var(--border);text-align:center;transition:var(--transition)}.mv-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.mv-icon{width:72px;height:72px;background:linear-gradient(135deg,#ffffff14,#ffffff14);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary);margin:0 auto 24px}.mv-card h3{font-size:1.3rem;color:var(--text-dark);margin-bottom:12px}.mv-card p{color:var(--text-light);font-size:.95rem;line-height:1.7}.team{padding:100px 0;background:var(--bg-alt)}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:780px;margin:0 auto}.team-card{background:var(--surface);padding:40px 24px;border-radius:var(--radius);border:1px solid var(--border);text-align:center;transition:var(--transition)}.team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.team-avatar{margin-bottom:20px}.avatar-placeholder{width:80px;height:80px;background:linear-gradient(135deg,#2e2e2e,#1a1a1a);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:1.4rem;margin:0 auto}.team-card h3{font-size:1.1rem;color:var(--text-dark);margin-bottom:4px}.team-role{display:block;font-size:.85rem;color:var(--primary);font-weight:600;margin-bottom:12px}.team-card p{font-size:.85rem;color:var(--text-light);line-height:1.6}.services{padding:100px 0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:var(--surface);padding:40px 32px;border-radius:var(--radius);border:1px solid var(--border);transition:var(--transition);position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));transform:scaleX(0);transition:var(--transition)}.service-card:hover:before{transform:scaleX(1)}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.service-icon{width:64px;height:64px;background:linear-gradient(135deg,#ffffff14,#ffffff14);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--primary);margin-bottom:24px}.service-card h3{font-size:1.25rem;color:var(--text-dark);margin-bottom:12px}.service-card p{color:var(--text-light);font-size:.95rem;margin-bottom:20px;line-height:1.6}.service-features{display:flex;flex-direction:column;gap:8px}.service-features li{font-size:.88rem;color:var(--text);padding-left:20px;position:relative}.service-features li:before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;background:var(--accent);border-radius:50%;opacity:.6}.service-link{display:inline-flex;align-items:center;gap:4px;font-size:.9rem;font-weight:600;color:var(--primary);transition:var(--transition)}.service-link:hover{gap:8px}.service-details{padding:40px 0 100px}.detail-block{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:80px}.detail-block:last-child{margin-bottom:0}.detail-block.reverse{direction:rtl}.detail-block.reverse>*{direction:ltr}.detail-content h2{font-size:2rem;color:var(--text-dark);margin-bottom:16px;line-height:1.3}.detail-content p{color:var(--text-light);margin-bottom:24px;line-height:1.7}.detail-list{list-style:none;display:flex;flex-direction:column;gap:12px}.detail-list li{font-size:.92rem;color:var(--text);padding-left:24px;position:relative;line-height:1.6}.detail-list li:before{content:"";position:absolute;left:0;top:10px;width:10px;height:10px;background:linear-gradient(135deg,#2e2e2e,#1a1a1a);border-radius:50%}.detail-visual{border-radius:var(--radius);height:400px;display:flex;align-items:center;justify-content:center}.detail-visual-content{text-align:center}.technologies{padding:100px 0;background:var(--bg-alt)}.tech-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px}.tech-category{background:var(--surface);padding:32px;border-radius:var(--radius);border:1px solid var(--border)}.tech-category h3{font-size:1rem;color:var(--text-dark);margin-bottom:16px;font-weight:600}.tech-pills{display:flex;flex-wrap:wrap;gap:10px}.tech-pill{display:inline-flex;align-items:center;padding:8px 18px;background:var(--bg-alt);border:1px solid var(--border);border-radius:50px;font-size:.85rem;font-weight:500;color:var(--text);transition:var(--transition)}.tech-pill:hover{border-color:var(--primary);color:var(--primary);background:#ffffff0d}.process{padding:100px 0}.process-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;flex-wrap:wrap}.process-step{flex:1;min-width:180px;text-align:center;padding:24px 16px}.step-number{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:linear-gradient(135deg,#2e2e2e,#1a1a1a);color:#fff;border-radius:50%;font-size:1.1rem;font-weight:800;margin-bottom:20px}.process-step h3{font-size:1.1rem;color:var(--text-dark);margin-bottom:10px}.process-step p{font-size:.88rem;color:var(--text-light);line-height:1.6}.process-connector{width:60px;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent));margin-top:50px;opacity:.3}.portfolio{padding:100px 0;background:var(--bg-alt)}.portfolio-filter{display:flex;justify-content:center;gap:12px;margin-bottom:48px;flex-wrap:wrap}.filter-btn{padding:10px 24px;border:1px solid var(--border);border-radius:50px;background:var(--surface);font-size:.88rem;font-weight:500;color:var(--text);cursor:pointer;transition:var(--transition);font-family:inherit}.filter-btn:hover,.filter-btn.active{background:var(--primary);color:#0d0d0d;border-color:var(--primary)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.portfolio-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);transition:var(--transition);position:relative}.card-overlay-link{position:absolute;inset:0;z-index:2;text-indent:-9999px;overflow:hidden}.portfolio-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.portfolio-card.hidden{display:none}.blog-card-link{display:block;text-decoration:none;color:inherit;height:100%}.blog-card-link .portfolio-card{height:100%}.blog-read-more{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-weight:600;margin-top:16px;font-size:.95rem}.blog-post{padding:60px 0 80px;background:var(--surface)}.blog-post-container{max-width:820px;margin:0 auto;padding:0 24px}.blog-post-meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--text-light);font-size:.95rem;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border)}.blog-post-meta span{display:inline-flex;align-items:center;gap:6px}.blog-post-body{color:var(--text);font-size:1.05rem;line-height:1.8}.blog-post-body h2{font-size:1.75rem;margin-top:44px;margin-bottom:16px;color:var(--text-dark)}.blog-post-body h3{font-size:1.3rem;margin-top:32px;margin-bottom:12px;color:var(--text-dark)}.blog-post-body p{margin-bottom:20px}.blog-post-body ul,.blog-post-body ol{margin:0 0 24px 24px}.blog-post-body li{margin-bottom:10px}.blog-post-body blockquote{border-left:4px solid var(--primary);padding:8px 20px;margin:24px 0;background:var(--bg-alt);border-radius:8px;color:var(--text-dark);font-style:italic}.blog-post-body pre{background:#121212;color:#e2e8f0;padding:18px 20px;border-radius:10px;overflow-x:auto;font-size:.9rem;line-height:1.6;margin:24px 0}.blog-post-body code{background:var(--bg-alt);color:var(--primary);padding:2px 6px;border-radius:4px;font-size:.9em}.blog-post-body pre code{background:transparent;color:inherit;padding:0}.blog-back-link{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-weight:600;margin-top:48px;padding-top:24px;border-top:1px solid var(--border)}.portfolio-image{height:200px;position:relative;display:flex;align-items:center;justify-content:center}.portfolio-overlay{position:absolute;top:16px;left:16px}.portfolio-category{background:#fff3;backdrop-filter:blur(10px);color:#fff;padding:6px 14px;border-radius:50px;font-size:.8rem;font-weight:600}.portfolio-info{padding:28px}.portfolio-info h3{font-size:1.2rem;color:var(--text-dark);margin-bottom:10px}.portfolio-info p{font-size:.9rem;color:var(--text-light);margin-bottom:16px;line-height:1.6}.portfolio-tech{display:flex;gap:8px;flex-wrap:wrap}.portfolio-tech span{padding:4px 12px;background:var(--bg-alt);border-radius:50px;font-size:.78rem;font-weight:500;color:var(--text-light)}.testimonials{padding:100px 0}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.testimonial-card{background:var(--surface);padding:36px;border-radius:var(--radius);border:1px solid var(--border);transition:var(--transition)}.testimonial-card:hover{box-shadow:var(--shadow-lg)}.testimonial-stars{display:flex;gap:4px;margin-bottom:20px}.testimonial-card>p{font-size:.95rem;color:var(--text);line-height:1.7;margin-bottom:24px;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:14px}.author-avatar{width:48px;height:48px;background:linear-gradient(135deg,#2e2e2e,#1a1a1a);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem}.testimonial-author strong{display:block;color:var(--text-dark);font-size:.95rem}.testimonial-author span{font-size:.82rem;color:var(--text-light)}.cta{padding:100px 0;background:linear-gradient(135deg,#1e1e1e,#0a0a0a);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.cta-content{text-align:center;max-width:640px;margin:0 auto}.cta h2{font-size:2.5rem;color:#fff;margin-bottom:20px;line-height:1.2}.cta p{color:#ffffffd9;font-size:1.15rem;margin-bottom:36px}.contact{padding:100px 0;background:var(--bg-alt)}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start}.contact-form{background:var(--surface);padding:40px;border-radius:var(--radius);border:1px solid var(--border)}.form-title{font-size:1.4rem;color:var(--text-dark);margin-bottom:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.88rem;font-weight:600;color:var(--text-dark);margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit;color:var(--text);transition:var(--transition);background:var(--bg);height:auto}.form-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;min-height:46px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #ffffff1a}.form-group textarea{resize:vertical}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:#e0e0e0;background:#1c1c1c}.form-group.has-error input:focus,.form-group.has-error select:focus,.form-group.has-error textarea:focus{box-shadow:0 0 0 3px #ef44441f}.form-error{display:none;color:#e0e0e0;font-size:.8rem;margin-top:6px;line-height:1.4}.form-group.has-error .form-error{display:block}.contact-info{display:flex;flex-direction:column;gap:20px}.info-card{display:flex;gap:16px;padding:24px;background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border)}.info-icon{width:48px;height:48px;min-width:48px;background:linear-gradient(135deg,#ffffff1a,#ffffff1a);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--primary)}.info-card h3{font-size:.95rem;color:var(--text-dark);margin-bottom:6px}.info-card p{font-size:.85rem;color:var(--text-light);line-height:1.6}.map-section{padding:0 0 80px;background:var(--bg-alt)}.map-placeholder{background:linear-gradient(135deg,#242424,#1a1a1a);border-radius:var(--radius);height:350px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.map-content{text-align:center}.map-content h3{font-size:1.2rem;color:var(--text-dark);margin:16px 0 8px}.map-content p{color:var(--text-light);margin-bottom:20px;font-size:.95rem}.faq{padding:100px 0}.faq-grid{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.faq-item{background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);overflow:hidden;transition:var(--transition)}.faq-item:hover{border-color:var(--primary-light)}.faq-question{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;font-size:1rem;font-weight:600;color:var(--text-dark);cursor:pointer;user-select:none;gap:16px}.faq-question svg{min-width:20px;transition:var(--transition);color:var(--text-light)}.faq-item.open .faq-question svg{transform:rotate(180deg);color:var(--primary)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-item.open .faq-answer{max-height:200px}.faq-answer p{padding:0 24px 20px;color:var(--text-light);font-size:.92rem;line-height:1.7}.footer{background:var(--bg-dark);padding:80px 0 0;color:#ffffffb3}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1)}.footer-brand .logo{color:#fff;margin-bottom:16px}.footer-tagline{color:#fff;font-weight:700;font-size:1.05rem;letter-spacing:-.01em;margin:14px 0 12px}.footer-brand p{font-size:.9rem;line-height:1.7;margin-bottom:24px}.social-links{display:flex;gap:12px}.social-links a{width:40px;height:40px;border:1px solid rgba(255,255,255,.15);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff9;transition:var(--transition)}.social-links a:hover{border-color:var(--primary);color:var(--primary);background:#ffffff1a}.footer-links h3{color:#fff;font-size:1rem;margin-bottom:20px}.footer-links ul{display:flex;flex-direction:column;gap:12px}.footer-links a{font-size:.88rem;color:#fff9;transition:var(--transition)}.footer-links a:hover{color:var(--primary-light);padding-left:4px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:.82rem;color:#fff9}.form-success{display:none;text-align:center;padding:40px}.form-success.active{display:block}.form-success h3{color:#d4d4d4;font-size:1.5rem;margin-bottom:12px}.form-success p{color:var(--text-light)}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.legal-content{padding:80px 0}.legal-content .last-updated{color:var(--text-light);font-size:.95rem;margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--border)}.legal-section{margin-bottom:40px}.legal-section h2{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin-bottom:16px}.legal-section h3{font-size:1.15rem;font-weight:600;color:var(--text-dark);margin-bottom:10px;margin-top:20px}.legal-section p{color:var(--text-light);line-height:1.8;margin-bottom:12px}.legal-section ul,.legal-section ol{color:var(--text-light);line-height:1.8;margin-bottom:16px;padding-left:24px}.legal-section ul li,.legal-section ol li{margin-bottom:6px}.legal-section a{color:var(--primary);text-decoration:underline}.legal-section a:hover{color:var(--primary-dark)}.legal-section table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.92rem}.legal-section table th,.legal-section table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border);color:var(--text-light)}.legal-section table th{background:var(--bg-light);color:var(--text-dark);font-weight:600}.legal-section table tr:hover{background:var(--bg-light)}.legal-section .contact-info{background:var(--bg-light);padding:20px 24px;border-radius:12px;margin-top:12px}.legal-section .contact-info p{margin-bottom:4px}@media (max-width: 1024px){.hero h1{font-size:2.8rem}.about-grid,.services-grid,.portfolio-grid,.testimonials-grid,.footer-grid,.team-grid,.mv-grid{grid-template-columns:repeat(2,1fr)}.detail-block,.detail-block.reverse{grid-template-columns:1fr;direction:ltr}.detail-visual{height:300px}}@media (max-width: 768px){.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);flex-direction:column;padding:24px;gap:16px;border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg)}.nav-links.active,.hamburger{display:flex}.hero-container{grid-template-columns:1fr;text-align:center}.hero h1{font-size:2.2rem}.hero p{margin:0 auto 36px}.hero-cta{justify-content:center;flex-wrap:wrap}.hero-stats{justify-content:center}.hero-visual{display:none}.page-banner{padding:130px 0 60px}.page-banner h1{font-size:2.2rem}.section-header h2{font-size:2rem}.about-grid,.services-grid{grid-template-columns:1fr}.process-steps{flex-direction:column;align-items:center}.process-connector{width:2px;height:40px;margin:0}.portfolio-grid,.testimonials-grid,.contact-grid,.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{flex-direction:column;gap:8px;text-align:center}.cta h2{font-size:1.8rem}.story-grid{grid-template-columns:1fr;gap:40px}.mv-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}.detail-block,.detail-block.reverse{grid-template-columns:1fr;direction:ltr}.detail-visual{height:250px}}@media (max-width: 480px){.hero h1{font-size:1.8rem}.hero-stats{flex-direction:column;gap:20px;align-items:center}.btn{padding:12px 24px;font-size:.88rem}.team-grid,.story-stats-grid{grid-template-columns:1fr}}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 100%);z-index:9999;pointer-events:none;transition:width .08s ease-out;box-shadow:0 0 12px #fff9}.hero,.page-banner{position:relative;isolation:isolate}.hero .hero-bg-shapes,.page-banner .hero-bg-shapes{pointer-events:none}.hero .shape,.page-banner .shape{animation:float-shape 14s ease-in-out infinite;will-change:transform}.hero .shape.shape-1{animation-delay:0s}.hero .shape.shape-2{animation-delay:-4s}.hero .shape.shape-3{animation-delay:-8s}.page-banner .shape.shape-1{animation-delay:0s}.page-banner .shape.shape-2{animation-delay:-6s}@keyframes float-shape{0%,to{transform:translateZ(0) scale(1)}33%{transform:translate3d(30px,-40px,0) scale(1.08)}66%{transform:translate3d(-20px,25px,0) scale(.95)}}.hero-bg-shapes{transform:translate3d(calc((var(--mx, .5) - .5) * 20px),calc((var(--my, .5) - .5) * 20px),0);transition:transform .4s cubic-bezier(.22,1,.36,1)}.gradient-text{background-size:200% 200%;animation:gradient-shift 6s ease-in-out infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--stagger-idx, 0) * 70ms);will-change:opacity,transform}.fade-in.visible{opacity:1;transform:translateY(0)}.about-card,.service-card,.mv-card,.info-card,.portfolio-card,.team-card,.tech-category{position:relative;overflow:hidden}.about-card:before,.service-card:before,.mv-card:before,.info-card:before,.team-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.14),transparent 40%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:0}.about-card:hover:before,.service-card:hover:before,.mv-card:hover:before,.info-card:hover:before,.team-card:hover:before{opacity:1}.about-card>*,.service-card>*,.mv-card>*,.info-card>*,.team-card>*{position:relative;z-index:1}.about-card:hover,.service-card:hover,.mv-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:#ffffff40}.btn{position:relative;overflow:hidden;isolation:isolate}.btn:after{content:"";position:absolute;top:0;left:-120%;width:40%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-20deg);transition:left .6s ease;pointer-events:none}.btn:hover:after{left:140%}.btn-primary:hover,.btn-white:hover{transform:translateY(-2px);box-shadow:0 12px 28px #ffffff59}.marquee{overflow:hidden;padding:32px 0;background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative}.marquee:before,.marquee:after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}.marquee:before{left:0;background:linear-gradient(to right,var(--bg-alt),transparent)}.marquee:after{right:0;background:linear-gradient(to left,var(--bg-alt),transparent)}.marquee-track{display:flex;gap:56px;width:max-content;animation:marquee-scroll 40s linear infinite}.marquee-item{display:inline-flex;align-items:center;gap:10px;padding:12px 28px;background:var(--surface);border:1px solid var(--border);border-radius:999px;font-weight:600;color:var(--text-dark);font-size:.95rem;white-space:nowrap;box-shadow:var(--shadow);transition:var(--transition)}.marquee-item:hover{transform:translateY(-2px);border-color:var(--primary);color:var(--primary)}.marquee-item svg{flex-shrink:0}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee:hover .marquee-track{animation-play-state:paused}.faq-section{padding:80px 0;background:var(--surface)}.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.faq-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden;transition:var(--transition)}.faq-item:hover{border-color:#ffffff4d;box-shadow:var(--shadow)}.faq-question{width:100%;text-align:left;padding:22px 24px;background:transparent;border:none;font-size:1.05rem;font-weight:600;color:var(--text-dark);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:inherit}.faq-question:focus-visible{outline:2px solid var(--primary);outline-offset:-4px;border-radius:var(--radius)}.faq-question-icon{flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--primary);transition:transform .3s ease}.faq-item.open .faq-question-icon{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}.faq-answer-inner{padding:0 24px 24px;color:var(--text);line-height:1.75}.faq-item.open .faq-answer{max-height:500px}.btn-primary,.btn-white{transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,background .3s ease}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.fade-in{opacity:1;transform:none}.marquee-track,.hero .shape,.page-banner .shape{animation:none}}.nav-container{position:relative}.nav-links .has-megamenu{position:static}.megamenu-trigger{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.megamenu-trigger svg{transition:transform .25s ease}.has-megamenu:hover .megamenu-trigger svg{transform:rotate(180deg)}.megamenu{position:absolute;left:50%;top:calc(100% + 14px);transform:translate(-50%) translateY(8px);width:min(720px,calc(100vw - 48px));background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-xl);padding:16px;display:grid;grid-template-columns:repeat(2,1fr);gap:6px;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease;z-index:1001}.has-megamenu:hover .megamenu{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.megamenu-item{display:flex;gap:14px;padding:14px;border-radius:12px;align-items:flex-start;transition:background .2s ease}.megamenu-item:hover{background:var(--bg-alt)}.megamenu-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.megamenu-icon.c-red{background:var(--chip);color:var(--accent-red)}.megamenu-icon.c-blue{background:var(--chip);color:var(--accent-blue)}.megamenu-icon.c-green{background:var(--chip);color:var(--accent-green)}.megamenu-icon.c-yellow{background:var(--chip);color:var(--accent-yellow)}.megamenu-item strong{display:block;color:var(--text-dark);font-size:.92rem;font-weight:700}.megamenu-item span{display:block;color:var(--text-light);font-size:.8rem;line-height:1.5;margin-top:2px}.logo-strip{padding:52px 0;background:var(--surface);border-bottom:1px solid var(--border)}.logo-strip .strip-label{text-align:center;color:var(--text-light);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:32px}.logo-strip-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 56px}.client-logo{display:inline-flex;align-items:center;gap:10px;color:var(--text-light);font-weight:800;font-size:1.2rem;letter-spacing:-.02em;opacity:1;transition:var(--transition)}.client-logo svg{width:26px;height:26px}.client-logo:hover{opacity:1;color:var(--text-dark)}.stats-band{padding:76px 0;background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stats-band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center}.stats-band .stat-number{font-size:3.25rem;font-weight:800;line-height:1}.stats-band .stat-suffix{font-size:2.25rem;font-weight:800}.stats-band .stat:nth-child(1) .stat-number,.stats-band .stat:nth-child(1) .stat-suffix{color:var(--accent-red)}.stats-band .stat:nth-child(2) .stat-number,.stats-band .stat:nth-child(2) .stat-suffix{color:var(--accent-blue)}.stats-band .stat:nth-child(3) .stat-number,.stats-band .stat:nth-child(3) .stat-suffix{color:var(--accent-green)}.stats-band .stat:nth-child(4) .stat-number,.stats-band .stat:nth-child(4) .stat-suffix{color:var(--accent-yellow)}.stats-band .stat-label{display:block;margin-top:12px;font-size:.98rem;font-weight:600;color:var(--text)}@media (max-width: 768px){.megamenu{display:none!important}.stats-band-grid{grid-template-columns:repeat(2,1fr);gap:36px 16px}.stats-band .stat-number{font-size:2.6rem}.logo-strip-grid{gap:24px 36px}.client-logo{font-size:1.05rem}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--chip);border:1px solid var(--border);color:var(--text-dark);cursor:pointer;transition:var(--transition);margin-left:4px;flex-shrink:0}.theme-toggle:hover{background:var(--surface-2)}.theme-toggle svg{width:18px;height:18px}.theme-toggle .icon-sun{display:block}.theme-toggle .icon-moon,[data-theme=light] .theme-toggle .icon-sun{display:none}[data-theme=light] .theme-toggle .icon-moon{display:block}[data-theme=light] .hero,[data-theme=light] .page-banner{background:linear-gradient(180deg,#f6f7f9,#fff)}[data-theme=light] .logo-icon{filter:invert(1)}[data-theme=light] .service-icon,[data-theme=light] .about-icon{background:var(--chip)}
