:root{--bg-void: #07070d;--bg-base: #0a0a12;--bg-panel: #0f0f1a;--bg-surface: #14141f;--bg-hover: #1a1a28;--surface-01: rgba(255, 255, 255, .02);--surface-02: rgba(255, 255, 255, .04);--surface-03: rgba(255, 255, 255, .06);--surface-04: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .06);--border-standard: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .16);--text-primary: #f2f3f7;--text-secondary: #a8abb8;--text-tertiary: #6f7384;--text-quaternary: #4a4e5c;--accent-violet: #8b5cf6;--accent-violet-bright: #a78bfa;--accent-blue: #38bdf8;--accent-green: #4ade80;--accent-pink: #f472b6;--accent-amber: #fbbf24;--accent-cyan: #22d3ee;--grad-primary: linear-gradient(135deg, #8b5cf6 0%, #38bdf8 100%);--grad-hero: radial-gradient(ellipse 80% 60% at 50% -10%, rgba(139, 92, 246, .35) 0%, transparent 60%), radial-gradient(ellipse 60% 50% at 85% 20%, rgba(56, 189, 248, .18) 0%, transparent 55%), radial-gradient(ellipse 50% 40% at 10% 30%, rgba(74, 222, 128, .1) 0%, transparent 50%);--grad-text: linear-gradient(120deg, #a78bfa 0%, #7dd3fc 45%, #4ade80 100%);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 9999px;--shadow-card: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 10px 30px rgba(0, 0, 0, .35);--shadow-lift: 0 20px 50px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .08);--shadow-glow-violet: 0 0 24px rgba(139, 92, 246, .35);--shadow-glow-blue: 0 0 24px rgba(56, 189, 248, .3);--font-sans: "SF Pro Display", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "HarmonyOS Sans SC", "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--container: 1200px;--section-gap: 120px;--section-gap-mobile: 72px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .2s;--duration-base: .35s;--duration-slow: .6s}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:16px;line-height:1.65;color:var(--text-primary);background-color:var(--bg-base);background-image:radial-gradient(ellipse 90% 50% at 50% -20%,rgba(139,92,246,.07),transparent 60%),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(56,189,248,.05),transparent 55%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit;border:none;background:none;cursor:pointer;color:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}ul,ol{list-style:none}::selection{background:#8b5cf666;color:#fff}h1,h2,h3,h4{line-height:1.2;font-weight:700;letter-spacing:-.02em}.display-title{font-size:clamp(2.2rem,5vw,3.5rem);line-height:1.15;font-weight:800;letter-spacing:-.03em}.section-title{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:800;letter-spacing:-.03em}.section-sub{font-size:1.05rem;color:var(--text-secondary);max-width:640px}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px}.section{padding:var(--section-gap) 0;position:relative}@media(max-width:768px){.section{padding:var(--section-gap-mobile) 0}}.section-head{margin-bottom:56px}.section-head--center{text-align:center}.section-head--center .section-sub{margin:16px auto 0}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-violet-bright);margin-bottom:16px}.eyebrow:before{content:"";width:24px;height:1.5px;background:var(--grad-primary);border-radius:2px}.section-head--center .eyebrow:after{content:"";width:24px;height:1.5px;background:var(--grad-primary);border-radius:2px}.section-title+.section-sub{margin-top:16px}.reveal{opacity:0;transform:translateY(28px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.star-dot,.title-shimmer,.section-title,.cta-band h2{animation:none}.hero-title .char{opacity:1;transform:none;animation:none}}.text-gradient{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.title-shimmer,.section-title{background:linear-gradient(105deg,var(--text-primary) 0%,var(--accent-violet-bright) 12%,#7dd3fc 30%,#86efac 46%,#7dd3fc 64%,var(--accent-violet-bright) 82%,var(--text-primary) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:title-flow 5.5s linear infinite}@keyframes title-flow{0%{background-position:0% 0}to{background-position:-200% 0}}.cta-band h2{background:linear-gradient(105deg,var(--text-primary) 0%,var(--accent-violet-bright) 14%,#7dd3fc 34%,#86efac 52%,#7dd3fc 72%,var(--accent-violet-bright) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:title-flow 5.5s linear infinite}.page-main{padding-top:84px}[data-anchor]{scroll-margin-top:90px}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background-color var(--duration-base) ease,border-color var(--duration-base) ease,backdrop-filter var(--duration-base) ease,box-shadow var(--duration-base) ease;border-bottom:1px solid transparent}.site-header.is-scrolled{background:#0a0a12b8;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom-color:var(--border-subtle);box-shadow:0 8px 32px #00000059}.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px}.brand{display:flex;align-items:center;gap:10px;font-size:1.12rem;font-weight:700;letter-spacing:-.01em}.brand-logo{width:34px;height:34px;border-radius:10px;flex-shrink:0}.brand-text{display:flex;flex-direction:column;line-height:1.15;gap:1px}.brand-name{white-space:nowrap;font-size:1.06rem;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.brand-en{font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);white-space:nowrap}.nav{display:flex;align-items:center;gap:4px}.nav-link{position:relative;padding:8px 14px;font-size:.95rem;color:var(--text-secondary);border-radius:var(--radius-sm);transition:color var(--duration-fast) ease}.nav-link:after{content:"";position:absolute;left:14px;right:14px;bottom:3px;height:2px;border-radius:2px;background:var(--grad-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-base) var(--ease-out)}.nav-link:hover{color:var(--text-primary)}.nav-link:hover:after,.nav-link.is-active:after{transform:scaleX(1)}.nav-link.is-active{color:var(--text-primary)}.header-cta{margin-left:12px}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-01)}.nav-toggle span{display:block;height:2px;width:100%;border-radius:2px;background:var(--text-primary);transition:transform var(--duration-base) var(--ease-out),opacity var(--duration-base) ease}.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-drawer{display:none;position:fixed;inset:68px 0 auto 0;z-index:999;background:#0a0a12f5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);padding:16px 24px 28px;flex-direction:column;gap:6px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:transform var(--duration-base) var(--ease-out),opacity var(--duration-base) ease,visibility var(--duration-base)}.nav-drawer.is-open{transform:translateY(0);opacity:1;visibility:visible}.nav-drawer .nav-link{display:block;padding:14px 12px;font-size:1.05rem;border-radius:var(--radius-sm)}.nav-drawer .nav-link:hover{background:var(--surface-02)}.nav-drawer .nav-link:after{display:none}.nav-drawer .header-cta{margin:12px 0 0}.nav-drawer .btn{width:100%;justify-content:center}@media(max-width:768px){.nav{display:none}.nav-toggle,.nav-drawer{display:flex}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:var(--radius-pill);font-size:.95rem;font-weight:600;letter-spacing:.01em;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-base) ease,background-color var(--duration-base) ease,border-color var(--duration-base) ease,color var(--duration-base) ease;white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:var(--grad-primary);color:#fff;box-shadow:0 4px 20px #8b5cf64d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px #8b5cf673,0 0 0 1px #a78bfa66}.btn-ghost{background:var(--surface-01);color:var(--text-primary);border:1px solid var(--border-standard)}.btn-ghost:hover{transform:translateY(-2px);background:var(--surface-03);border-color:#8b5cf680;box-shadow:0 0 24px #8b5cf62e}.btn-green{background:linear-gradient(135deg,#4ade80,#22d3ee);color:#06210f;box-shadow:0 4px 20px #4ade8040}.btn-green:hover{transform:translateY(-2px);box-shadow:0 8px 32px #4ade8066}.btn-lg{padding:15px 32px;font-size:1.02rem}.btn-sm{padding:8px 16px;font-size:.88rem}.btn .icon-arrow{transition:transform var(--duration-fast) var(--ease-out)}.btn:hover .icon-arrow{transform:translate(4px)}.card{background:linear-gradient(180deg,var(--surface-02),var(--surface-01));border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:transform var(--duration-base) var(--ease-out),border-color var(--duration-base) ease,box-shadow var(--duration-base) ease,background-color var(--duration-base) ease}.service-card{position:relative;padding:36px 30px;border-radius:var(--radius-lg);overflow:hidden}.service-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 50% at 50% -10%,var(--service-glow, rgba(139, 92, 246, .16)),transparent 70%);opacity:0;transition:opacity var(--duration-base) ease;pointer-events:none}.service-card:hover{transform:translateY(-8px);border-color:color-mix(in srgb,var(--service-color, #8b5cf6) 45%,transparent);box-shadow:var(--shadow-lift),0 0 40px color-mix(in srgb,var(--service-color, #8b5cf6) 12%,transparent)}.service-card:hover:before{opacity:1}.service-icon{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:22px;background:color-mix(in srgb,var(--service-color, #8b5cf6) 14%,transparent);border:1px solid color-mix(in srgb,var(--service-color, #8b5cf6) 30%,transparent);color:var(--service-color, #8b5cf6)}.service-card h3{font-size:1.3rem;margin-bottom:10px}.service-card p{font-size:.95rem;color:var(--text-secondary);margin-bottom:18px;line-height:1.7}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-block;padding:4px 12px;border-radius:var(--radius-pill);font-size:.78rem;color:var(--text-secondary);background:var(--surface-02);border:1px solid var(--border-subtle);transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease}.service-card:hover .tag{color:var(--text-primary);border-color:var(--border-strong)}.work-card{display:block;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-panel);border:1px solid var(--border-subtle);transition:transform var(--duration-base) var(--ease-out),border-color var(--duration-base) ease,box-shadow var(--duration-base) ease}.work-card:hover{transform:translateY(-6px);border-color:var(--border-strong);box-shadow:var(--shadow-lift)}.work-cover{position:relative;aspect-ratio:4 / 3;overflow:hidden}.work-cover .cover-art{width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-out)}.work-card:hover .cover-art{transform:scale(1.06)}.work-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#07070d00 40%,#07070dbf);opacity:0;transition:opacity var(--duration-base) ease}.work-card:hover .work-cover:after{opacity:1}.work-view{position:absolute;top:50%;left:50%;transform:translate(-50%,-46%) scale(.92);z-index:2;padding:9px 22px;border-radius:var(--radius-pill);background:#ffffffeb;color:#0a0a12;font-size:.9rem;font-weight:600;opacity:0;transition:opacity var(--duration-base) ease,transform var(--duration-base) var(--ease-spring);pointer-events:none}.work-card:hover .work-view{opacity:1;transform:translate(-50%,-50%) scale(1)}.work-info{padding:18px 20px 20px;transition:transform var(--duration-base) var(--ease-out)}.work-card:hover .work-info{transform:translateY(-4px)}.work-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.work-info h3{font-size:1.05rem;margin-bottom:6px}.work-info p{font-size:.86rem;color:var(--text-tertiary);line-height:1.6}.chip{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:600;letter-spacing:.02em}.chip--software{color:#7dd3fc;background:#38bdf81f;border:1px solid rgba(56,189,248,.3)}.chip--game{color:#c4b5fd;background:#8b5cf61f;border:1px solid rgba(139,92,246,.3)}.chip--anime{color:#86efac;background:#4ade801f;border:1px solid rgba(74,222,128,.3)}.stat{text-align:center}.stat-value{font-size:clamp(2rem,4vw,2.8rem);font-weight:800;letter-spacing:-.03em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums}.stat-label{margin-top:6px;font-size:.9rem;color:var(--text-tertiary)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px}.field--full{grid-column:1 / -1}.field label{font-size:.88rem;font-weight:600;color:var(--text-secondary)}.field label .req{color:var(--accent-pink);margin-left:2px}.field input,.field select,.field textarea{width:100%;padding:13px 16px;border-radius:var(--radius-sm);background:var(--surface-01);border:1px solid var(--border-standard);color:var(--text-primary);font-size:.95rem;outline:none;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,background-color var(--duration-fast) ease}.field textarea{resize:vertical;min-height:120px;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:var(--text-quaternary)}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236f7384' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer}.field select option{background:var(--bg-surface);color:var(--text-primary)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent-violet);background:var(--surface-02);box-shadow:0 0 0 3px #8b5cf62e,0 0 20px #8b5cf614}.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:#f472b6b3;box-shadow:0 0 0 3px #f472b61f}.field-error{display:none;font-size:.8rem;color:var(--accent-pink)}.field.is-invalid .field-error{display:block}.form-note{font-size:.82rem;color:var(--text-quaternary);margin-top:14px}.form-success{display:none;align-items:flex-start;gap:14px;padding:20px 22px;border-radius:var(--radius-md);background:#4ade8014;border:1px solid rgba(74,222,128,.3);margin-bottom:24px}.form-success.is-visible{display:flex;animation:success-pop var(--duration-base) var(--ease-spring)}.form-success .success-icon{flex-shrink:0;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#4ade8026;color:var(--accent-green)}.form-success h4{font-size:1rem;margin-bottom:4px}.form-success p{font-size:.88rem;color:var(--text-secondary)}@keyframes success-pop{0%{transform:scale(.94) translateY(6px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.faq-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-01);overflow:hidden;transition:border-color var(--duration-base) ease}.faq-item.is-open{border-color:#8b5cf666;background:var(--surface-02)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;text-align:left;font-size:1rem;font-weight:600;color:var(--text-primary)}.faq-question .faq-icon{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-standard);color:var(--accent-violet-bright);transition:transform var(--duration-base) var(--ease-out),background-color var(--duration-base) ease,color var(--duration-base) ease}.faq-item.is-open .faq-icon{transform:rotate(45deg);background:var(--accent-violet);border-color:var(--accent-violet);color:#fff}.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--duration-base) var(--ease-out)}.faq-answer-inner{padding:0 22px 20px;font-size:.92rem;color:var(--text-secondary);line-height:1.75}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.filter-btn{padding:9px 22px;border-radius:var(--radius-pill);font-size:.92rem;font-weight:500;color:var(--text-secondary);border:1px solid var(--border-subtle);background:var(--surface-01);transition:all var(--duration-fast) ease}.filter-btn:hover{color:var(--text-primary);border-color:var(--border-strong)}.filter-btn.is-active{color:#fff;background:var(--grad-primary);border-color:transparent;box-shadow:0 4px 18px #8b5cf659}.site-footer{border-top:1px solid var(--border-subtle);background:var(--bg-void);padding:64px 0 0;position:relative;overflow:hidden}.site-footer:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 50% 60% at 50% 100%,rgba(139,92,246,.08),transparent 60%);pointer-events:none}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:48px;position:relative}.footer-brand p{margin-top:14px;font-size:.9rem;color:var(--text-tertiary);max-width:280px;line-height:1.7}.footer-social{display:flex;gap:10px;margin-top:20px}.footer-social a{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle);background:var(--surface-01);color:var(--text-tertiary);transition:all var(--duration-fast) ease}.footer-social a:hover{color:#fff;border-color:var(--accent-violet);box-shadow:0 0 16px #8b5cf659;transform:translateY(-2px)}.footer-col h4{font-size:.95rem;margin-bottom:16px}.footer-col ul{display:flex;flex-direction:column;gap:10px}.footer-col a{font-size:.88rem;color:var(--text-tertiary);transition:color var(--duration-fast) ease;position:relative}.footer-col a:hover{color:var(--text-primary)}.footer-col a:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--grad-primary);transition:width var(--duration-base) var(--ease-out)}.footer-col a:hover:after{width:100%}.footer-contact li{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--text-tertiary)}.footer-contact svg{color:var(--accent-violet-bright);flex-shrink:0}.footer-bottom{border-top:1px solid var(--border-subtle);padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.82rem;color:var(--text-quaternary);position:relative}.footer-legal{border-top:1px solid var(--border-subtle);padding:16px 0 28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:14px;row-gap:6px;font-size:.78rem;color:var(--text-quaternary);line-height:1.8;position:relative}.footer-legal a{color:var(--text-tertiary);transition:color var(--duration-fast) ease}.footer-legal a:hover{color:var(--text-primary)}.footer-legal .footer-icp,.footer-legal .footer-gongan{display:inline-flex;align-items:center;margin:0}.footer-legal .footer-gongan{justify-content:center;gap:6px}.footer-gongan-icon{display:block;height:15px;width:auto;flex-shrink:0}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.footer-grid{grid-template-columns:1fr;gap:32px}}.page-hero{position:relative;padding:120px 0 72px;overflow:hidden}.page-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 55% at 30% 0%,rgba(139,92,246,.18),transparent 60%),radial-gradient(ellipse 45% 45% at 75% 10%,rgba(56,189,248,.12),transparent 55%);pointer-events:none}.page-hero .eyebrow,.page-hero .display-title,.page-hero .section-sub{position:relative}.gradient-divider{height:1px;border:none;background:linear-gradient(90deg,transparent,rgba(139,92,246,.4),rgba(56,189,248,.4),transparent);border-radius:1px}
