@import url("../common/corp-theme-tokens.css");

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px;font-size:16px}
body{
    font-family:var(--font);color:var(--t);background:var(--bg);
    overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.6;
}
a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;font:inherit;background:none}
img{max-width:100%;display:block}

/* ===== LOADER ===== */
.page-loader{
    position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;
    background:var(--bg);transition:opacity .5s ease,visibility .5s;
}
.page-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.loader-icon{width:48px;height:48px;animation:loader-spin 2s ease-in-out infinite,loader-pulse 2s ease-in-out infinite}
@keyframes loader-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}100%{transform:rotate(360deg) scale(1)}}
@keyframes loader-pulse{0%,100%{opacity:.6}50%{opacity:1}}

/* ===== FOCUS (a11y) ===== */
:focus-visible{outline:2px solid rgba(139,92,246,.6);outline-offset:2px;border-radius:4px}
a:focus-visible,button:focus-visible{outline:2px solid rgba(139,92,246,.6);outline-offset:2px}

/* ===== CURSOR GLOW ===== */
.cursor-glow{
    position:fixed;width:500px;height:500px;border-radius:50%;pointer-events:none;z-index:0;
    background:radial-gradient(circle,rgba(139,92,246,.08) 0%,rgba(34,211,238,.03) 40%,transparent 70%);
    transform:translate(-50%,-50%);transition:opacity .3s;opacity:0;will-change:transform;
}
body:hover .cursor-glow{opacity:1}

/* ===== NOISE ===== */
body::before{
    content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.02;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ===== AMBIENT MESH ===== */
.mesh{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.mesh-orb{position:absolute;border-radius:50%;filter:blur(100px);will-change:transform}
.mesh-orb.o1{width:50vw;height:50vw;top:-15%;left:-5%;background:rgba(139,92,246,.09);animation:mo1 25s ease-in-out infinite}
.mesh-orb.o2{width:40vw;height:40vw;bottom:-15%;right:-5%;background:rgba(6,182,212,.06);animation:mo2 30s ease-in-out infinite}
.mesh-orb.o3{width:30vw;height:30vw;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(16,185,129,.04);animation:mo3 20s ease-in-out infinite}
@keyframes mo1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,40px) scale(1.1)}}
@keyframes mo2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-50px,-60px) scale(1.08)}}
@keyframes mo3{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-40%,-55%) scale(1.12)}}

/* ===== GRID BG ===== */
.grid-bg{
    position:fixed;inset:0;z-index:0;pointer-events:none;
    background-image:
        linear-gradient(rgba(139,92,246,.02) 1px,transparent 1px),
        linear-gradient(90deg,rgba(139,92,246,.02) 1px,transparent 1px);
    background-size:80px 80px;
    mask:radial-gradient(ellipse 65% 55% at 50% 30%,#000 10%,transparent 80%);
    -webkit-mask:radial-gradient(ellipse 65% 55% at 50% 30%,#000 10%,transparent 80%);
}

/* ===== LAYOUT ===== */
.container{max-width:1200px;margin:0 auto;padding:0 40px}
section{position:relative;z-index:1}

/* ===== TYPOGRAPHY ===== */
.h0{font-family:var(--display);font-size:clamp(2.8rem,6.5vw,5rem);font-weight:700;line-height:.98;letter-spacing:-2.5px;color:#fff}
.h1{font-family:var(--display);font-size:clamp(2rem,3.5vw,2.6rem);font-weight:700;line-height:1.1;letter-spacing:-1px;color:#fff}
.h3{font-family:var(--display);font-size:1.05rem;font-weight:600;letter-spacing:-.3px;color:#eef2ff}
.label{
    font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:4px;
    color:#a78bfa;display:inline-flex;align-items:center;gap:12px;
}
.label .line{width:28px;height:1px;background:var(--v2);opacity:.5}
.body-text{font-size:.9rem;color:var(--t2);line-height:1.85}
.accent{
    background:linear-gradient(135deg,#8b5cf6,#06b6d4,#10b981);
    background-size:200% 200%;
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    background-clip:text;color:transparent;
    animation:acc 6s ease infinite;
}
@keyframes acc{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* ===== NAV ===== */
nav.w-nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    height:var(--nav-h);transition:all .5s cubic-bezier(.16,1,.3,1);
}
.w-nav-bg{
    position:absolute;inset:0;
    backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);
    background:rgba(3,3,8,.45);border-bottom:1px solid var(--b1);
    transition:all .5s;opacity:0;
}
nav.w-nav.is-scrolled .w-nav-bg{opacity:1;background:rgba(3,3,8,.9);box-shadow:0 1px 60px rgba(0,0,0,.6)}
.w-nav-inner{
    position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 40px;
    display:flex;align-items:center;justify-content:space-between;height:100%;
}
.w-brand{display:flex;align-items:center;gap:10px}
.w-brand-icon{width:32px;height:32px;flex-shrink:0}
.w-brand-name{font-family:var(--display);font-size:1.05rem;font-weight:700;letter-spacing:-.5px}
.w-nav-links{display:flex;gap:24px;align-items:center}
.w-nav-links a{
    font-size:.78rem;color:var(--t2);font-weight:500;letter-spacing:.3px;
    transition:color .2s;position:relative;cursor:pointer;
}
.w-nav-links a::after{
    content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;
    background:linear-gradient(90deg,var(--v),var(--c));transition:width .3s;
}
.w-nav-links a:hover,.w-nav-links a.is-active{color:var(--t)}
.w-nav-links a:hover::after,.w-nav-links a.is-active::after{width:100%}
.w-nav-cta{
    padding:8px 22px;border-radius:8px;font-size:.78rem;font-weight:600;
    color:#fff;letter-spacing:.3px;position:relative;overflow:hidden;transition:all .3s;cursor:pointer;
}
.w-nav-cta::before{
    content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;
    background:linear-gradient(135deg,#8b5cf6,#6366f1);
}
.w-nav-cta:hover{transform:translateY(-1px);box-shadow:0 4px 24px rgba(139,92,246,.4)}

/* ===== BURGER ===== */
.w-burger{
    display:none;width:36px;height:36px;border-radius:8px;
    flex-direction:column;align-items:center;justify-content:center;gap:5px;
    border:1px solid var(--b2);background:var(--s1);transition:all .3s;cursor:pointer;
}
.w-burger span{display:block;width:16px;height:1.5px;background:var(--t2);border-radius:2px;transition:all .35s cubic-bezier(.16,1,.3,1)}
.w-burger.is-open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.w-burger.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}
.w-burger.is-open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}

/* ===== HERO ===== */
.w-hero{
    min-height:100vh;display:flex;align-items:center;justify-content:center;
    padding:calc(var(--nav-h) + 60px) 24px 80px;position:relative;text-align:center;
}
.w-hero-three{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.3}
.w-hero-three canvas{display:block;width:100%!important;height:100%!important}

.w-hero-content{position:relative;z-index:2;max-width:780px}
.w-hero-content .label{margin-bottom:28px;justify-content:center}
.w-hero-content .h0{margin-bottom:24px}
.w-hero-content .body-text{max-width:500px;margin:0 auto 40px;font-size:1rem;color:var(--t2)}

.w-hero-ctas{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap}

.btn-wechat{
    padding:15px 36px;border-radius:12px;font-size:.88rem;font-weight:600;
    color:#fff;position:relative;overflow:hidden;transition:all .3s;
    letter-spacing:.2px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;
    background:linear-gradient(135deg,#8b5cf6,#6366f1);
    box-shadow:0 0 0 1px rgba(139,92,246,.3),0 6px 28px rgba(139,92,246,.35),0 2px 8px rgba(0,0,0,.3);
}
.btn-wechat::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);
    transform:translateX(-100%);transition:transform .6s;
}
.btn-wechat:hover::after{transform:translateX(100%)}
.btn-wechat:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(139,92,246,.4),0 10px 40px rgba(139,92,246,.45),0 4px 12px rgba(0,0,0,.3)}
.btn-wechat i{width:18px;height:18px}

.btn-phone{
    padding:15px 32px;border-radius:12px;font-size:.88rem;font-weight:500;
    color:var(--t2);border:1px solid var(--b2);transition:all .3s;letter-spacing:.2px;
    display:inline-flex;align-items:center;gap:8px;cursor:pointer;
}
.btn-phone:hover{border-color:rgba(139,92,246,.3);color:var(--t);background:rgba(139,92,246,.06);transform:translateY(-2px)}
.btn-phone i{width:16px;height:16px}

.w-hero-hotline{margin-top:20px;font-size:.72rem;color:var(--t3);font-family:var(--mono);letter-spacing:1.5px}
.w-hero-hotline a{color:var(--t2);transition:color .2s;margin-left:6px}
.w-hero-hotline a:hover{color:var(--v)}

/* Floating metrics */
.float-metric{
    position:absolute;padding:10px 16px;border-radius:12px;z-index:5;
    background:rgba(8,8,15,.85);border:1px solid var(--b2);
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);white-space:nowrap;
    animation:bob 5s ease-in-out infinite;
}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.fm-label{font-size:.55rem;color:var(--t3);text-transform:uppercase;letter-spacing:1.5px;font-family:var(--mono);margin-bottom:2px}
.fm-value{font-size:.8rem;font-weight:700;font-family:var(--display)}
.fm-value.green{color:var(--e)}
.fm-value.purple{color:var(--v)}
.fm-value.cyan{color:var(--c)}
.fm1{top:22%;right:10%;animation-delay:0s}
.fm2{bottom:30%;left:8%;animation-delay:1.3s}
.fm3{bottom:20%;right:14%;animation-delay:2.5s}

.w-hero-scroll{
    position:absolute;bottom:28px;left:50%;z-index:2;transform:translateX(-50%);
    display:flex;flex-direction:column;align-items:center;gap:8px;
    color:var(--t3);font-size:.55rem;letter-spacing:3px;font-family:var(--mono);
    animation:fadeIn 1.2s ease both 1.5s;
}
.w-hero-scroll-line{width:1px;height:24px;background:linear-gradient(180deg,var(--v),transparent);animation:sp 2s ease-in-out infinite}
@keyframes sp{0%,100%{opacity:.2;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}

/* ===== TECH BAR ===== */
.tech-bar{position:relative;z-index:1;border-top:1px solid var(--b1);border-bottom:1px solid var(--b1);display:flex;align-items:center}
.tech-bar-label{
    flex-shrink:0;padding:20px 24px;font-size:.52rem;font-weight:600;
    letter-spacing:3px;color:var(--t4);font-family:var(--mono);
    display:flex;align-items:center;gap:8px;
    border-right:1px solid var(--b1);white-space:nowrap;
}
.tech-bar-label i{color:var(--v);opacity:.7}
.marquee{
    flex:1;padding:20px 0;overflow:hidden;position:relative;
}
.marquee::before,.marquee::after{
    content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;
}
.marquee::before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}
.marquee::after{right:0;background:linear-gradient(-90deg,var(--bg),transparent)}
.marquee-track{display:flex;gap:36px;animation:mscroll 50s linear infinite;width:max-content}
@keyframes mscroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.marquee-item{
    font-size:.62rem;color:var(--t3);font-weight:500;white-space:nowrap;
    letter-spacing:1.5px;text-transform:uppercase;
    display:flex;align-items:center;gap:8px;
    padding:4px 10px;border-radius:6px;border:1px solid var(--b1);
    background:rgba(255,255,255,.01);transition:all .3s;
}
.marquee-item:hover{border-color:rgba(139,92,246,.2);background:rgba(139,92,246,.04)}
.marquee-item i{color:var(--v);opacity:.6}

/* ===== SECTION HEAD ===== */
.section-head{margin-bottom:60px;text-align:center}
.section-head .label{justify-content:center;margin-bottom:16px}
.section-head .body-text{margin:12px auto 0;max-width:480px;font-size:.92rem}

/* ===== SERVICE CARDS (gradient border) ===== */
.services{padding:120px 0}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

.svc-card{
    position:relative;padding:40px 32px;border-radius:20px;
    background:linear-gradient(160deg,rgba(15,15,30,.8) 0%,rgba(8,8,20,.9) 100%);
    border:1px solid var(--b1);overflow:hidden;cursor:pointer;
    transition:all .5s cubic-bezier(.16,1,.3,1);
}
.svc-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent 10%,var(--_accent,.3) 50%,transparent 90%);
    opacity:0;transition:opacity .5s;
}
.svc-card::after{
    content:'';position:absolute;inset:0;border-radius:inherit;
    background:radial-gradient(ellipse at 30% 0%,var(--_glow,rgba(139,92,246,.04)),transparent 60%);
    opacity:0;transition:opacity .5s;
}
.svc-card:hover{
    border-color:var(--_border-hover,rgba(139,92,246,.2));
    transform:translateY(-6px);
    box-shadow:0 20px 60px rgba(0,0,0,.3),0 0 40px var(--_shadow,rgba(139,92,246,.06));
}
.svc-card:hover::before{opacity:1}
.svc-card:hover::after{opacity:1}

.svc-card--purple{
    --_accent:rgba(139,92,246,.4);--_glow:rgba(139,92,246,.05);
    --_border-hover:rgba(139,92,246,.25);--_shadow:rgba(139,92,246,.08);
}
.svc-card--cyan{
    --_accent:rgba(6,182,212,.4);--_glow:rgba(6,182,212,.05);
    --_border-hover:rgba(6,182,212,.25);--_shadow:rgba(6,182,212,.08);
}
.svc-card--violet{
    --_accent:rgba(167,139,250,.4);--_glow:rgba(167,139,250,.05);
    --_border-hover:rgba(167,139,250,.25);--_shadow:rgba(167,139,250,.08);
}
.svc-card--amber{
    --_accent:rgba(245,158,11,.4);--_glow:rgba(245,158,11,.05);
    --_border-hover:rgba(245,158,11,.25);--_shadow:rgba(245,158,11,.08);
}
.svc-card--emerald{
    --_accent:rgba(16,185,129,.4);--_glow:rgba(16,185,129,.05);
    --_border-hover:rgba(16,185,129,.25);--_shadow:rgba(16,185,129,.08);
}
.svc-card--rose{
    --_accent:rgba(244,63,94,.4);--_glow:rgba(244,63,94,.05);
    --_border-hover:rgba(244,63,94,.25);--_shadow:rgba(244,63,94,.08);
}

.svc-icon{
    width:52px;height:52px;border-radius:14px;margin-bottom:24px;
    display:flex;align-items:center;justify-content:center;position:relative;
}
.svc-icon i{position:relative;z-index:1;width:24px;height:24px}

.svc-card--purple .svc-icon{background:rgba(139,92,246,.12);color:#8b5cf6;box-shadow:0 0 30px rgba(139,92,246,.1)}
.svc-card--cyan .svc-icon{background:rgba(6,182,212,.12);color:#06b6d4;box-shadow:0 0 30px rgba(6,182,212,.1)}
.svc-card--violet .svc-icon{background:rgba(167,139,250,.12);color:#a78bfa;box-shadow:0 0 30px rgba(167,139,250,.1)}
.svc-card--amber .svc-icon{background:rgba(245,158,11,.12);color:#f59e0b;box-shadow:0 0 30px rgba(245,158,11,.1)}
.svc-card--emerald .svc-icon{background:rgba(16,185,129,.12);color:#10b981;box-shadow:0 0 30px rgba(16,185,129,.1)}
.svc-card--rose .svc-icon{background:rgba(244,63,94,.12);color:#f43f5e;box-shadow:0 0 30px rgba(244,63,94,.1)}

.svc-card .h3{position:relative;z-index:1;margin-bottom:10px}
.svc-card .body-text{position:relative;z-index:1;font-size:.88rem}

/* ===== STATS ===== */
.stats-section{padding:100px 0;position:relative;z-index:1}
.stats-section::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,transparent,rgba(139,92,246,.03) 50%,transparent);
    pointer-events:none;
}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat-card{
    padding:40px 20px;text-align:center;border-radius:16px;
    background:linear-gradient(160deg,rgba(15,15,30,.7),rgba(8,8,20,.85));
    border:1px solid var(--b1);cursor:pointer;
    transition:all .4s;position:relative;overflow:hidden;
}
.stat-card::before{
    content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;
    background:conic-gradient(from 0deg,transparent 0%,rgba(139,92,246,.03) 25%,transparent 50%,rgba(6,182,212,.02) 75%,transparent 100%);
    animation:stat-spin 15s linear infinite;opacity:0;transition:opacity .5s;
}
.stat-card:hover::before{opacity:1}
@keyframes stat-spin{100%{transform:rotate(360deg)}}
.stat-card:hover{border-color:rgba(139,92,246,.15);transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.2)}
.stat-num{
    position:relative;z-index:1;font-family:var(--display);font-size:clamp(1.8rem,3vw,2.4rem);
    font-weight:700;letter-spacing:-1px;color:#a78bfa;
}
.stat-desc{position:relative;z-index:1;font-size:.62rem;color:var(--t2);margin-top:8px;text-transform:uppercase;letter-spacing:2.5px;font-family:var(--mono)}

/* ===== TRUST BAR ===== */
.trust-bar{
    margin-top:40px;padding:16px 24px;border-radius:12px;
    border:1px solid var(--b1);background:rgba(14,14,34,.6);
    display:flex;align-items:center;gap:16px;
}
.trust-label{
    flex-shrink:0;font-size:.5rem;font-weight:700;letter-spacing:2.5px;
    text-transform:uppercase;color:var(--t3);font-family:var(--mono);white-space:nowrap;
}
.trust-logos{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.trust-logos span{font-size:.72rem;color:var(--t2);font-weight:500;letter-spacing:.2px}
.trust-logos span:nth-child(even){color:var(--t4);font-size:.6rem}

/* ===== CASES (BENTO) ===== */
.cases-section{padding:80px 0}
.cases-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px}
.cases-header .h1{margin-top:8px}
.cases-header .body-text{margin:0;font-size:.84rem}

.bento-grid{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:14px;
}
.bento-card{
    position:relative;padding:24px 22px;border-radius:16px;
    background:rgba(14,14,34,.95);
    border:1px solid rgba(255,255,255,.1);
    box-shadow:0 2px 12px rgba(0,0,0,.3);
    overflow:hidden;cursor:pointer;
    transition:all .4s cubic-bezier(.16,1,.3,1);
}
.bento-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent 10%,rgba(139,92,246,.3) 50%,transparent 90%);
}
.bento-card:hover{
    border-color:rgba(139,92,246,.25);transform:translateY(-3px);
    box-shadow:0 12px 36px rgba(0,0,0,.35),0 0 20px rgba(139,92,246,.06);
}

.bento-featured{grid-column:1;grid-row:span 2;display:flex;flex-direction:column;justify-content:space-between}
.bento-featured-top .bento-tag{margin-bottom:12px}

.bento-tag{
    display:inline-block;padding:4px 10px;border-radius:5px;font-size:.5rem;font-weight:600;
    letter-spacing:1.5px;text-transform:uppercase;font-family:var(--mono);margin-bottom:8px;
}
.tag-purple{background:rgba(139,92,246,.15);color:#a78bfa;border:1px solid rgba(139,92,246,.2)}
.tag-cyan{background:rgba(6,182,212,.15);color:#22d3ee;border:1px solid rgba(6,182,212,.2)}
.tag-emerald{background:rgba(16,185,129,.15);color:#34d399;border:1px solid rgba(16,185,129,.2)}
.tag-violet{background:rgba(167,139,250,.15);color:#c4b5fd;border:1px solid rgba(167,139,250,.2)}
.tag-amber{background:rgba(245,158,11,.15);color:#fbbf24;border:1px solid rgba(245,158,11,.2)}
.tag-rose{background:rgba(244,63,94,.15);color:#fb7185;border:1px solid rgba(244,63,94,.2)}

.bento-card .h3{position:relative;z-index:1;margin-bottom:4px;font-size:.98rem}
.bento-card .body-text{position:relative;z-index:1;font-size:.8rem;line-height:1.6}

.bento-stats{display:flex;gap:20px;margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.bento-stat{display:flex;align-items:baseline;gap:1px;flex-wrap:wrap}
.bento-stat-num{font-family:var(--display);font-size:1.6rem;font-weight:700;color:#a78bfa}
.bento-stat-unit{font-family:var(--mono);font-size:.65rem;font-weight:600;color:#a78bfa;margin-right:6px}
.bento-stat-label{font-size:.55rem;color:var(--t2);font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;width:100%;margin-top:2px}

/* ===== PROCESS ===== */
.process-section{padding:120px 0}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.process-card{
    padding:36px 24px;border-radius:16px;
    background:linear-gradient(160deg,rgba(15,15,30,.7),rgba(8,8,20,.85));
    border:1px solid var(--b1);cursor:pointer;
    transition:all .4s;position:relative;overflow:hidden;
}
.process-card:hover{border-color:rgba(139,92,246,.15);transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.2)}
.process-num{
    font-family:var(--mono);font-size:.58rem;color:var(--t3);
    letter-spacing:2px;margin-bottom:20px;display:flex;align-items:center;gap:10px;
}
.process-num::after{content:'';flex:1;height:1px;background:var(--b2)}
.process-icon{
    width:48px;height:48px;border-radius:14px;margin-bottom:20px;
    display:flex;align-items:center;justify-content:center;
}
.process-icon i{width:22px;height:22px}
.process-card:nth-child(1) .process-icon{background:rgba(139,92,246,.12);color:#8b5cf6;box-shadow:0 0 24px rgba(139,92,246,.08)}
.process-card:nth-child(2) .process-icon{background:rgba(6,182,212,.12);color:#06b6d4;box-shadow:0 0 24px rgba(6,182,212,.08)}
.process-card:nth-child(3) .process-icon{background:rgba(16,185,129,.12);color:#10b981;box-shadow:0 0 24px rgba(16,185,129,.08)}
.process-card:nth-child(4) .process-icon{background:rgba(245,158,11,.12);color:#f59e0b;box-shadow:0 0 24px rgba(245,158,11,.08)}
.process-card .h3{margin-bottom:8px}
.process-card .body-text{font-size:.86rem}

/* ===== CONTACT ===== */
.contact-section{padding:120px 0}
.contact-box{
    padding:80px 48px;text-align:center;border-radius:24px;
    border:1px solid var(--b1);position:relative;overflow:hidden;
    background:linear-gradient(160deg,rgba(15,15,30,.6),rgba(8,8,20,.8));
}
.contact-box::before{
    content:'';position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent 5%,rgba(139,92,246,.5) 30%,rgba(6,182,212,.4) 70%,transparent 95%);
}
.contact-box::after{
    content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;
    background:conic-gradient(from 0deg,transparent,rgba(139,92,246,.02),transparent,rgba(6,182,212,.015),transparent);
    animation:cta-spin 25s linear infinite;
}
@keyframes cta-spin{100%{transform:rotate(360deg)}}
.contact-box>*{position:relative;z-index:1}
.contact-box .h1{margin-bottom:12px}
.contact-box .h1 em{
    font-style:normal;
    background:linear-gradient(135deg,#8b5cf6,#06b6d4);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    background-clip:text;color:transparent;
}
.contact-box .body-text{max-width:400px;margin:0 auto 36px}

.contact-methods{
    display:grid;grid-template-columns:1fr 1fr 160px;gap:16px;
    margin-top:36px;text-align:left;
}
.contact-card{
    padding:24px 20px;border-radius:14px;
    background:rgba(255,255,255,.02);border:1px solid var(--b1);
    transition:all .3s;cursor:pointer;
}
.contact-card:hover{border-color:rgba(139,92,246,.18);background:rgba(139,92,246,.03)}
.cm-icon{
    width:36px;height:36px;border-radius:10px;margin-bottom:12px;
    display:flex;align-items:center;justify-content:center;
}
.cm-icon i{width:16px;height:16px}
.cm-icon.is-purple{background:rgba(139,92,246,.12);color:#8b5cf6}
.cm-icon.is-emerald{background:rgba(16,185,129,.12);color:#10b981}
.cm-label{font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:2.5px;color:var(--t3);font-family:var(--mono)}
.cm-value{margin-top:4px;font-size:.95rem;font-weight:700;font-family:var(--display);color:#fff}
.cm-value a{transition:color .2s;cursor:pointer}
.cm-value a:hover{color:var(--v)}
.cm-hint{margin-top:4px;font-size:.72rem;color:var(--t3)}

.contact-qr{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:20px 12px;border-radius:14px;
    background:rgba(255,255,255,.02);border:1px solid var(--b1);grid-row:span 2;
}
.contact-qr img{width:110px;height:110px;object-fit:cover;border-radius:10px;background:#fff}
.contact-qr strong{display:block;margin-top:8px;font-size:.5rem;color:var(--t4);font-weight:500;font-family:var(--mono);letter-spacing:1.5px}
.qr-fallback{display:none;padding:8px;border-radius:8px;border:1px dashed var(--b2);background:var(--s1);color:var(--t4);font-size:.7rem}
.contact-qr.is-fallback img{display:none}
.contact-qr.is-fallback .qr-fallback{display:block}
.contact-qr.is-fallback strong{display:none}


/* ===== FOOTER ===== */
.w-footer{
    position:relative;z-index:1;padding:32px 0 40px;
    border-top:1px solid var(--b1);font-size:.72rem;color:var(--t3);line-height:2;
}
.w-footer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.w-footer-brand{font-weight:600;color:var(--t2);font-size:.82rem;letter-spacing:.02em}
.w-footer-services{font-size:.58rem;letter-spacing:2px;text-transform:uppercase;margin-top:2px;font-family:var(--mono);color:var(--t3)}
.w-footer-social{display:flex;gap:8px}
.w-footer-social-btn{
    display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:8px;
    border:1px solid var(--b2);font-size:.68rem;color:var(--t2);
    transition:all .25s;cursor:pointer;background:none;
}
.w-footer-social-btn:hover{border-color:rgba(139,92,246,.2);color:var(--t);background:rgba(139,92,246,.06)}
.w-footer-divider{height:1px;background:var(--b1);margin-bottom:12px}
.w-footer-contact{margin-top:4px}
.w-footer-contact a{color:var(--v);font-weight:600;transition:color .2s}
.w-footer-contact a:hover{color:var(--c)}
.w-footer-icp{margin-top:2px}
.w-footer-icp a{color:var(--t4);transition:color .2s}
.w-footer-icp a:hover{color:var(--t3)}
.w-footer-admin{
    display:inline-flex;align-items:center;margin-left:6px;
    color:rgba(255,255,255,.12);transition:color .3s;text-decoration:none;
    vertical-align:middle;
}
.w-footer-admin:hover{color:rgba(139,92,246,.5)}
.w-statcode{display:none}

/* ===== SCROLL PROGRESS ===== */
.scroll-progress{
    position:fixed;top:0;left:0;height:2px;z-index:101;
    background:linear-gradient(90deg,#8b5cf6,#06b6d4);
    width:0;transition:width .1s linear;will-change:width;
}

/* ===== FAB ===== */
.fab-group{
    position:fixed;bottom:28px;right:28px;z-index:90;
    display:flex;flex-direction:column;gap:10px;
}
.fab{
    width:48px;height:48px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    border:1px solid var(--b2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    transition:all .3s;cursor:pointer;
}
.fab i{width:20px;height:20px}
.fab-wechat{
    background:rgba(139,92,246,.15);color:#a78bfa;
    box-shadow:0 4px 20px rgba(139,92,246,.2);
}
.fab-wechat:hover{background:rgba(139,92,246,.25);transform:translateY(-2px);box-shadow:0 8px 30px rgba(139,92,246,.3)}
.fab-top{
    background:rgba(14,14,34,.9);color:var(--t2);
    opacity:0;transform:translateY(10px);pointer-events:none;
    transition:opacity .3s,transform .3s;
}
.fab-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.fab-top:hover{background:rgba(139,92,246,.1);color:var(--t);border-color:rgba(139,92,246,.2)}

/* ===== FAQ ===== */
.faq-section{padding:100px 0}
.faq-list{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.faq-item{
    border-radius:14px;border:1px solid var(--b1);
    background:rgba(14,14,34,.7);overflow:hidden;
    transition:all .3s;
}
.faq-item[open]{border-color:rgba(139,92,246,.15);background:rgba(14,14,34,.9)}
.faq-q{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 22px;cursor:pointer;font-size:.92rem;font-weight:600;
    color:var(--t);list-style:none;transition:color .2s;
}
.faq-q::-webkit-details-marker{display:none}
.faq-q i{flex-shrink:0;color:var(--t3);transition:transform .3s}
.faq-item[open] .faq-q i{transform:rotate(180deg);color:var(--v)}
.faq-q:hover{color:#fff}
.faq-a{
    padding:0 22px 18px;font-size:.86rem;line-height:1.8;color:var(--t2);
    border-top:1px solid var(--b1);margin-top:0;padding-top:14px;
}

/* ===== SVC CARD MICRO-INTERACTION ===== */
.svc-card:hover .svc-icon i{animation:icon-bounce .5s ease}
@keyframes icon-bounce{0%{transform:scale(1)}40%{transform:scale(1.2) rotate(-8deg)}70%{transform:scale(.95)}100%{transform:scale(1)}}

/* ===== MODAL ===== */
.w-modal{
    position:fixed;inset:0;z-index:200;display:none;
    align-items:center;justify-content:center;padding:24px;
    background:rgba(0,0,0,.88);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
}
.w-modal.is-open{display:flex}
.w-modal-card{
    width:min(380px,100%);padding:32px 28px;
    border-radius:24px;border:1px solid var(--b2);
    background:rgba(8,8,20,.96);box-shadow:0 40px 80px rgba(0,0,0,.5),0 0 60px rgba(139,92,246,.05);position:relative;
}
.w-modal-close{
    position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;
    border:1px solid var(--b1);background:var(--s1);
    color:var(--t3);font-size:15px;
    display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
    transition:transform .25s,border-color .25s;
}
.w-modal-close:hover{transform:rotate(90deg);border-color:var(--v)}
.w-modal-title{margin:14px 0 6px;font-size:1.15rem;font-weight:700;font-family:var(--display)}
.w-modal-desc{font-size:.82rem;line-height:1.7;color:var(--t3)}
.w-modal-qr{margin-top:14px;padding:14px;border-radius:14px;border:1px solid var(--b1);background:var(--s1)}
.w-modal-qr img{border-radius:10px;background:#fff;max-width:180px;margin:0 auto}
.w-modal-qr.is-fallback img{display:none}
.w-modal-qr.is-fallback .qr-fallback{display:block}
.w-modal-tip{
    margin-top:12px;padding:10px 14px;border-radius:10px;
    border:1px solid var(--b1);background:var(--s1);
    font-size:.78rem;color:var(--t3);line-height:1.6;
    display:flex;align-items:center;gap:6px;
}
.w-modal-tip strong{color:var(--t)}

/* ===== REVEAL ===== */
.rv{opacity:0;transform:translateY(20px);transition:all .8s cubic-bezier(.16,1,.3,1)}
.rv.vis{opacity:1;transform:translateY(0)}
.rv-d1{transition-delay:.08s}
.rv-d2{transition-delay:.16s}
.rv-d3{transition-delay:.24s}
.rv-d4{transition-delay:.32s}
.rv-d5{transition-delay:.4s}
.rv-d6{transition-delay:.48s}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
    .svc-grid{grid-template-columns:1fr 1fr}
    .stats-grid{grid-template-columns:1fr 1fr}
    .process-grid{grid-template-columns:1fr 1fr}
    .bento-grid{grid-template-columns:1fr 1fr}
    .bento-featured{grid-row:auto;grid-column:span 2}
    .cases-header{flex-direction:column;align-items:flex-start;gap:8px}
    .contact-methods{grid-template-columns:1fr 1fr}
    .contact-qr{grid-row:auto}
    .float-metric{display:none}
}
@media(max-width:768px){
    .container{padding:0 20px}
    .w-burger{display:flex}
    .w-nav-links{
        display:none;position:absolute;top:var(--nav-h);left:0;right:0;
        flex-direction:column;align-items:stretch;gap:0;
        background:rgba(3,3,8,.97);border-bottom:1px solid var(--b2);
        backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
        padding:8px 16px 16px;
    }
    .w-nav-links.is-open{display:flex}
    .w-nav-links a{padding:12px 16px;font-size:.82rem;border-radius:8px;transition:background .2s}
    .w-nav-links a:hover{background:rgba(139,92,246,.08)}
    .w-nav-links .w-nav-cta{margin-top:8px;width:100%;text-align:center;display:flex;justify-content:center}
    .tech-bar-label{display:none}
    .w-hero{min-height:auto;padding:calc(var(--nav-h) + 48px) 16px 48px}
    .h0{font-size:clamp(2rem,8vw,3rem);letter-spacing:-1.5px}
    .w-hero-ctas{flex-direction:column;gap:10px}
    .btn-wechat,.btn-phone{width:100%;justify-content:center}
    .w-hero-scroll{display:none}
    .services,.cases-section,.process-section,.contact-section{padding:80px 0}
    .stats-section{padding:60px 0}
    .svc-grid,.process-grid,.stats-grid,.contact-methods,.bento-grid{grid-template-columns:1fr}
    .bento-featured{grid-column:auto}
    .cases-header{flex-direction:column;align-items:flex-start;gap:8px}
    .contact-box{padding:48px 20px}
    .w-footer-top{flex-direction:column;align-items:flex-start;gap:12px;text-align:left}
    .trust-bar{flex-direction:column;align-items:flex-start;gap:10px}
    .trust-logos{flex-wrap:wrap}
    .section-head{margin-bottom:40px}
    .contact-qr img{width:90px;height:90px}
}
@media(max-width:480px){
    .w-hero-three{opacity:.15}
    .svc-card{padding:28px 22px}
    .stat-card{padding:28px 14px}
    .stat-num{font-size:clamp(1.4rem,6vw,1.8rem)}
    .process-card{padding:28px 18px}
    .contact-card{padding:18px 16px}
}
@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .rv{transition:none;opacity:1;transform:none}
    *{animation-duration:0s!important;transition-duration:0s!important}
}
