:root{
  --ink:#150f33; --ink-2:#3d3760; --ink-3:#6f6a8e; --line:rgba(40,24,110,.09);
  --violet:#7c3aed; --violet-2:#a259ff; --pink:#ec4899; --blue:#3b6cff; --cyan:#13c2e8; --peach:#ff9f6b;
  --grad:linear-gradient(100deg,#7c3aed 0%,#c13cf0 35%,#ff4fa0 62%,#3b6cff 100%);
  --r-xl:32px; --r-lg:26px; --r-md:20px; --r-sm:14px;
  --shadow-1:0 1px 2px rgba(30,16,90,.06),0 8px 24px -8px rgba(60,30,160,.16);
  --shadow-2:0 2px 6px rgba(30,16,90,.06),0 30px 60px -20px rgba(80,40,200,.28);
  --font:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  --num:"SF Pro Display",-apple-system,BlinkMacSystemFont,"Helvetica Neue","DIN Alternate",Arial,sans-serif;
  --wrap:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:#fbf9ff;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
@supports (overflow:clip){body{overflow-x:clip}}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p{margin:0}
ul{margin:0;padding:0;list-style:none}
.mbr{display:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.ico{width:1em;height:1em;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 28px;border-radius:999px;font-size:16px;font-weight:600;letter-spacing:.02em;white-space:nowrap;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,background .3s}
.btn .ico{font-size:18px;transition:transform .35s}
.btn:hover .ico{transform:translateX(3px)}
.btn-primary{color:#fff;background:linear-gradient(110deg,#6d28d9,#a43cf0 45%,#ff4f9a);background-size:160% 100%;box-shadow:0 10px 30px -8px rgba(160,60,240,.65),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-primary:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 18px 40px -10px rgba(200,60,220,.7),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-glass{color:var(--ink);background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.btn-glass:hover{transform:translateY(-2px);background:#fff}
.btn-sm{height:40px;padding:0 18px;font-size:14px}
.btn-white{color:var(--violet);background:#fff;box-shadow:0 14px 30px -10px rgba(20,0,80,.45)}
.btn-white:hover{transform:translateY(-2px)}
.btn-line{color:#fff;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.btn-line:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .35s,box-shadow .35s,backdrop-filter .35s}
.nav.scrolled{background:rgba(252,250,255,.72);box-shadow:0 1px 0 var(--line),0 10px 30px -18px rgba(60,30,160,.3);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px)}
.nav-in{display:flex;align-items:center;height:76px;gap:28px;max-width:1320px;margin:0 auto;padding:0 24px}
.logo img{width:138px;height:auto}
.nav-links{display:flex;align-items:center;gap:4px;margin:0 auto}
.nav-links a{position:relative;padding:8px 14px;border-radius:999px;font-size:15px;color:var(--ink-2);transition:color .2s,background .2s}
.nav-links a:hover{color:var(--ink);background:rgba(124,58,237,.08)}
.nav-links a[aria-current]{color:var(--ink);font-weight:600}
.nav-links a[aria-current]::after{content:"";position:absolute;left:50%;bottom:2px;width:16px;height:3px;margin-left:-8px;border-radius:3px;background:var(--grad)}
.nav-cta{display:flex;align-items:center;gap:10px}
.nav-tel{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-2);padding:0 6px}
.burger{display:none;width:44px;height:44px;margin-left:auto;border:0;border-radius:14px;background:rgba(255,255,255,.7);box-shadow:var(--shadow-1);cursor:pointer;position:relative}
.burger span{position:absolute;left:13px;width:18px;height:2px;border-radius:2px;background:var(--ink);transition:transform .3s,opacity .3s,top .3s}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:26px}
.nav.open .burger span:nth-child(1){top:21px;transform:rotate(45deg)}
.nav.open .burger span:nth-child(2){opacity:0}
.nav.open .burger span:nth-child(3){top:21px;transform:rotate(-45deg)}
.m-menu{display:none}

/* ---------- mesh background ---------- */
.mesh{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.75;will-change:transform}
.grain{position:absolute;inset:0;opacity:.35;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
@keyframes drift1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(8%,6%) scale(1.12)}66%{transform:translate(-6%,4%) scale(.94)}}
@keyframes drift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-10%,-8%) scale(1.15)}}
@keyframes drift3{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(12%,-6%) rotate(40deg)}}

/* ---------- hero (carousel) ---------- */
.hero{position:relative;overflow:hidden;background:#f6f1ff;min-height:min(100vh,860px);display:flex;flex-direction:column;padding:92px 0 0}
.hero .b1{width:62vw;height:62vw;left:-18vw;top:-22vw;background:radial-gradient(circle,#b98bff 0%,#9b6bff 40%,transparent 70%);animation:drift1 22s ease-in-out infinite}
.hero .b2{width:52vw;height:52vw;right:-14vw;top:-12vw;background:radial-gradient(circle,#ff9ccc 0%,#ff6fb0 35%,transparent 70%);animation:drift2 26s ease-in-out infinite}
.hero .b3{width:48vw;height:48vw;right:8vw;top:24vw;background:radial-gradient(circle,#7fc3ff 0%,#5d8bff 40%,transparent 70%);animation:drift3 30s ease-in-out infinite}
.hero .b4{width:40vw;height:40vw;left:6vw;top:28vw;background:radial-gradient(circle,#7ff0e6 0%,#52d8f0 40%,transparent 70%);opacity:.6;animation:drift2 28s ease-in-out infinite reverse}
.hero .b5{width:28vw;height:28vw;left:40vw;top:6vw;background:radial-gradient(circle,#ffd2a8 0%,#ffb27d 40%,transparent 70%);opacity:.55;animation:drift1 24s ease-in-out infinite reverse}
.tint{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}
.tint-1{background:radial-gradient(55% 70% at 75% 45%,rgba(140,80,255,.5),transparent 70%),radial-gradient(45% 55% at 0% 100%,rgba(176,110,255,.4),transparent 70%)}
.tint-2{background:radial-gradient(55% 70% at 75% 45%,rgba(255,96,170,.42),transparent 70%),radial-gradient(45% 55% at 0% 100%,rgba(255,150,200,.4),transparent 70%)}
.tint-3{background:radial-gradient(55% 70% at 75% 45%,rgba(70,130,255,.45),transparent 70%),radial-gradient(45% 55% at 0% 100%,rgba(60,210,240,.38),transparent 70%)}
.hero[data-slide="1"] .tint-1,.hero[data-slide="2"] .tint-2,.hero[data-slide="3"] .tint-3{opacity:1}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(90,50,200,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(90,50,200,.07) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 75% 65% at 60% 45%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 75% 65% at 60% 45%,#000 10%,transparent 75%)}
.hero-main{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;width:100%;max-width:1320px;margin:0 auto;padding:0 40px}
.slides{flex:1;display:grid;align-items:center}
.slide{grid-area:1/1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}
.slide.is-active{opacity:1;visibility:visible;transition:opacity .7s ease,visibility 0s}
.s-copy>*{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.slide.is-active .s-copy>*{opacity:1;transform:none}
.slide.is-active .s-copy>:nth-child(2){transition-delay:.06s}
.slide.is-active .s-copy>:nth-child(3){transition-delay:.12s}
.slide.is-active .s-copy>:nth-child(4){transition-delay:.18s}
.slide.is-active .s-copy>:nth-child(5){transition-delay:.24s}
.s-vis{position:relative;opacity:0;transform:translateX(30px) scale(.95);transition:opacity .8s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.slide.is-active .s-vis{opacity:1;transform:none;transition-delay:.1s}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:999px;background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow-1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:14px;color:var(--ink-2)}
.eyebrow b{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:var(--grad);color:#fff;font-size:12px;font-weight:600;letter-spacing:.06em}
.s-title{margin-top:22px;font-size:clamp(46px,5.1vw,76px);line-height:1.08;font-weight:800;letter-spacing:-.02em}
.s-title .l1{display:block}
.grad-text{background:linear-gradient(95deg,#6d28d9 0%,#b43cf0 28%,#ff4f9a 52%,#3b6cff 78%,#6d28d9 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 8s linear infinite}
@keyframes shine{to{background-position:-200% 0}}
.hero-sub{max-width:520px;margin-top:20px;font-size:18px;line-height:1.75;color:var(--ink-2)}
.hero-cta{display:flex;justify-content:center;gap:14px;margin-top:38px;flex-wrap:wrap}
.hero-cta .btn{height:58px;padding:0 34px;font-size:17px}
.s-cta{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.s-cta .btn{height:56px;padding:0 30px;font-size:16.5px}
.s-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;max-width:540px}
.s-points li{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.95);box-shadow:0 6px 16px -10px rgba(60,30,160,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:14px;font-weight:600;color:var(--ink-2)}
.s-points li .ico{color:var(--ac,#7c3aed);stroke-width:2.6;font-size:14px}
.stats{display:flex;gap:0;margin-top:34px;width:max-content;max-width:100%;padding:6px;border-radius:22px;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.stat{padding:8px 26px;text-align:center;position:relative}
.stat+.stat::before{content:"";position:absolute;left:0;top:22%;height:56%;width:1px;background:linear-gradient(transparent,rgba(80,40,180,.2),transparent)}
.stat strong{display:block;font-family:var(--num);font-size:28px;line-height:1.15;font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.stat strong em{font-style:normal;font-size:.6em;margin-left:2px;color:var(--violet)}
.stat>span{font-size:12.5px;color:var(--ink-3)}

/* stage (slide 1) & banner visuals (slides 2-4) */
.stage,.bvis{position:relative;aspect-ratio:1180/820;container-type:inline-size}
.stage .fcard,.bvis .fcard{font-size:clamp(10px,1.85cqw,13.5px)}
.layer{position:absolute;will-change:transform;transform:translate3d(calc(var(--px,0)*var(--d,0)*1px),calc(var(--py,0)*var(--d,0)*1px),0)}
.browser{left:4%;top:10%;width:80%;border-radius:16px;background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.9);box-shadow:0 2px 0 rgba(255,255,255,.6) inset,0 50px 100px -30px rgba(70,30,170,.45),0 20px 40px -20px rgba(70,30,170,.3);padding:0 7px 7px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.browser-bar{display:flex;align-items:center;gap:6px;height:32px;padding:0 6px}
.browser-bar i{width:10px;height:10px;border-radius:50%;background:#ff5f57}
.browser-bar i:nth-child(2){background:#febc2e}.browser-bar i:nth-child(3){background:#28c840}
.browser-bar span{margin:0 auto;padding:2px 30px;border-radius:8px;background:rgba(120,90,200,.08);font-size:11px;color:var(--ink-3)}
.browser img{width:100%;border-radius:9px}
.phone{left:72%;top:24%;width:24%;filter:drop-shadow(0 40px 50px rgba(70,20,150,.35))}
.phone-in{position:relative;aspect-ratio:540/1094}
.phone-screen{position:absolute;left:4.6%;right:4.6%;top:2.2%;bottom:2.2%;border-radius:13% / 6.2%;overflow:hidden;background:#fff}
.phone-screen img{width:112%;max-width:none;margin:-3.5% 0 0 -6%}
.phone-frame{position:absolute;inset:0;width:100%;height:100%}
.f3d{position:absolute;mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent 100%);mask-image:radial-gradient(closest-side,#000 62%,transparent 100%)}
.crop{position:relative;overflow:hidden;aspect-ratio:var(--ar)}
.crop img{position:absolute;max-width:none;width:var(--w);left:var(--l);top:var(--t);height:auto}
.c-dist{--ar:.987;--w:370.4%;--l:-196.3%;--t:-24.3%}
.c-merch{--ar:.847;--w:384.6%;--l:-200%;--t:-18.07%}
.c-shop{--ar:1.037;--w:357.1%;--l:-185.7%;--t:-34.25%}
.c-supp{--ar:.912;--w:357.1%;--l:-185.7%;--t:-18.07%}
.c-whole{--ar:.983;--w:312.5%;--l:-156.25%;--t:-11.36%}
.c-local{--ar:.847;--w:384.6%;--l:-203.8%;--t:-18.07%}
.c-app{--ar:1.179;--w:294.1%;--l:-129.4%;--t:-25.64%}
.s3d-1{left:-6%;top:-4%;width:25%}
.s3d-2{left:-5%;top:66%;width:19%}
.float{animation:bob 7s ease-in-out infinite}
.float.d2{animation-duration:8.5s;animation-delay:-2s}
.float.d3{animation-duration:6.5s;animation-delay:-4s}
.float.d4{animation-duration:9s;animation-delay:-1s}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -14px}}
.fcard{position:absolute;display:flex;align-items:center;gap:.9em;padding:1em 1.2em;border-radius:1.4em;background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.95);box-shadow:0 24px 50px -18px rgba(70,30,170,.4),0 2px 6px rgba(40,20,100,.06);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);font-size:max(10px,1.18cqw);white-space:nowrap;line-height:1.35}
.fcard .fi{display:grid;place-items:center;width:3.1em;height:3.1em;border-radius:1em;color:#fff;font-size:1em;flex:none;background:linear-gradient(135deg,var(--fa,#7c3aed),var(--fb,#c084fc))}
.fcard .fi .ico{width:1.6em;height:1.6em}
.fcard small{display:block;color:var(--ink-3);font-size:.88em}
.fcard b{display:block;font-family:var(--num);font-size:1.5em;font-weight:800;letter-spacing:-.01em}
.fcard b.t{font-family:var(--font);font-size:1.1em;font-weight:700}
.fcard .up{color:#12b886;font-size:.78em;font-weight:700;margin-left:.3em}
.fcard.pill{padding:.75em 1.2em .75em .8em;border-radius:999px}
.fcard.pill .fi{width:2.2em;height:2.2em;border-radius:50%}
.fcard.pill .fi .ico{width:1.2em;height:1.2em}
.fc-order{left:-4%;top:44%}
.bars{display:flex;align-items:flex-end;gap:.28em;height:2.6em;margin-left:.6em}
.bars i{width:.5em;border-radius:.3em;background:linear-gradient(var(--fb,#c084fc),var(--fa,#7c3aed));opacity:.85}
.fc-comm{right:-3%;top:2%}
.fc-member{left:12%;bottom:-1%}
.avs{display:flex}
.avs i{width:2.3em;height:2.3em;border-radius:50%;border:2px solid #fff;margin-left:-.7em;display:grid;place-items:center;color:#fff;font-style:normal;font-size:.85em;font-weight:700}
.avs i:first-child{margin-left:0}
.fc-store{right:20%;bottom:2%}
.hot-red b{color:#e9407a}
/* banner visual pieces */
.bv-glow{position:absolute;left:50%;top:50%;width:78%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,var(--g1) 0%,var(--g2) 38%,transparent 70%);filter:blur(10px)}
.bv-ring{position:absolute;left:50%;top:50%;translate:-50% -50%;border-radius:50%;border:1px solid rgba(255,255,255,.75);box-shadow:inset 0 0 40px rgba(255,255,255,.35)}
.bv-ring.r1{width:74%;aspect-ratio:1}
.bv-ring.r2{width:56%;aspect-ratio:1;border-style:dashed;border-color:rgba(120,80,220,.25);animation:spin 60s linear infinite}
.bv-main{left:18%;top:-2%;width:64%}
.bv-main .f3d{position:relative}
.bvis .p1{left:0;top:16%}
.bvis .p2{right:-2%;top:6%}
.bvis .p3{right:4%;bottom:6%}
.bvis .p4{left:6%;bottom:4%}
.hero-fade{position:absolute;left:0;right:0;bottom:0;height:90px;z-index:1;background:linear-gradient(transparent,rgba(251,249,255,.9))}
/* carousel tabs */
.hero-tabs{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:18px 0 28px;padding:6px;border-radius:22px;background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.9);box-shadow:0 20px 40px -24px rgba(60,30,160,.35);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%)}
.htab{appearance:none;-webkit-appearance:none;border:0;margin:0;background:transparent;font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:12px 16px 14px;border-radius:16px;color:var(--ink-3);transition:background .3s,color .3s,box-shadow .3s}
.htab:hover{color:var(--ink);background:rgba(255,255,255,.5)}
.htab:focus-visible{outline:2px solid var(--violet);outline-offset:2px}
.htab .tl{display:flex;align-items:baseline;gap:10px;font-size:15px;font-weight:700;white-space:nowrap}
.htab .tl em{font-style:normal;font-family:var(--num);font-size:12px;font-weight:700;color:var(--ink-3);opacity:.8}
.htab .bar{display:block;height:3px;border-radius:3px;background:rgba(80,40,180,.12);overflow:hidden}
.htab .bar b{display:block;height:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#7c3aed,#ff4f9a,#3b6cff);border-radius:inherit}
.htab[aria-selected="true"]{color:var(--ink);background:rgba(255,255,255,.88);box-shadow:0 10px 24px -14px rgba(80,40,180,.45)}
.htab[aria-selected="true"] .tl em{color:var(--violet)}
.htab[aria-selected="true"] .bar b{animation:prog var(--dur,6s) linear forwards}
.hero.paused .htab .bar b{animation-play-state:paused}
@keyframes prog{to{transform:scaleX(1)}}
@media (max-width:960px) and (min-width:721px){.hero{min-height:0}.slide{grid-template-columns:1fr;gap:28px}.s-vis{max-width:620px;width:100%;margin:0 auto}}

/* ---------- logos marquee ---------- */
.logos{position:relative;padding:30px 0 40px;background:#fbf9ff}
.logos-title{text-align:center;font-size:15px;color:var(--ink-3);margin-bottom:28px}
.logos-title b{font-family:var(--num);font-size:18px;color:var(--ink);margin:0 4px}
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee+.marquee{margin-top:16px}
.track{display:flex;gap:16px;width:max-content;animation:scroll var(--dur,60s) linear infinite}
.marquee.rev .track{animation-direction:reverse}
.marquee:hover .track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(calc(-50% - 8px))}}
.lg{display:grid;place-items:center;width:176px;height:72px;padding:0 20px;border-radius:18px;background:#fff;border:1px solid rgba(80,50,180,.07);box-shadow:0 6px 18px -10px rgba(60,30,160,.22);flex:none}
.lg img{width:136px;height:auto;max-height:44px;object-fit:contain}

/* ---------- section scaffolding ---------- */
.sec{position:relative;padding:120px 0;overflow:hidden}
.sec>.wrap{position:relative;z-index:1}
.head{max-width:760px;margin:0 auto 64px;text-align:center}
.head.left{margin-left:0;text-align:left}
.tag{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--tc,var(--violet));background:color-mix(in srgb,var(--tc,#7c3aed) 10%,#fff);border:1px solid color-mix(in srgb,var(--tc,#7c3aed) 20%,#fff)}
.tag::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 18%,transparent)}
.h2{margin-top:20px;font-size:clamp(32px,4.4vw,58px);line-height:1.15;font-weight:800;letter-spacing:-.015em}
.lead{margin-top:18px;font-size:18px;color:var(--ink-2);line-height:1.75}

/* reveal */
.js .rv{opacity:0;transform:translateY(36px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--dl,0s)}
.js .rv.in{opacity:1;transform:none}

/* glow cards */
.gc{position:relative;isolation:isolate;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.gc::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--ac,#7c3aed) 22%,transparent),transparent 60%)}
.gc:hover{transform:translateY(-8px);box-shadow:0 40px 70px -30px color-mix(in srgb,var(--ac,#7c3aed) 60%,transparent),0 2px 8px rgba(40,20,100,.05)}
.gc:hover::after{opacity:1}

/* ---------- advantages ---------- */
.adv{background:linear-gradient(180deg,#fbf9ff 0%,#f3eeff 100%)}
.adv .mesh .b1{width:640px;height:640px;left:-200px;top:120px;background:radial-gradient(circle,#d7c2ff,transparent 70%)}
.adv .mesh .b2{width:560px;height:560px;right:-160px;top:40%;background:radial-gradient(circle,#ffc9e3,transparent 70%)}
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bc{--ac:#7c3aed;position:relative;overflow:hidden;min-height:260px;padding:30px;border-radius:var(--r-lg);background:linear-gradient(150deg,var(--c1,#fff) 0%,var(--c2,#f4eeff) 100%);border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow-1)}
.bc.w2{grid-column:span 2}
.bc.w4{grid-column:span 4}
.bc .no{position:absolute;right:22px;top:16px;font-family:var(--num);font-size:56px;font-weight:800;line-height:1;color:var(--ac);opacity:.1;letter-spacing:-.03em}
.bc .bi{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 50%,#fff));box-shadow:0 12px 24px -10px var(--ac);font-size:24px}
.bc h3{margin-top:22px;font-size:22px;font-weight:700}
.bc p{margin-top:8px;font-size:15px;color:var(--ink-2)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chips span{padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.95);font-size:13px;font-weight:600;color:var(--ac);box-shadow:0 4px 12px -6px rgba(60,30,160,.25)}
.big-num{display:block;margin-top:14px;font-family:var(--num);font-size:76px;line-height:1;font-weight:900;letter-spacing:-.05em;background:linear-gradient(160deg,var(--ac),color-mix(in srgb,var(--ac) 30%,#fff));-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9}
.bc.w2 .b-vis{position:absolute;right:0;top:0;bottom:0;width:46%;padding-right:24px;display:flex;align-items:center;justify-content:center}
.bc.w2 .b-txt{max-width:52%}
.tree{display:flex;flex-direction:column;align-items:center;gap:14px}
.tree .row{display:flex;gap:10px}
.tree i{white-space:nowrap;display:grid;place-items:center;font-style:normal;height:34px;padding:0 14px;border-radius:12px;font-size:13px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--ac),#c084fc);box-shadow:0 10px 20px -10px var(--ac)}
.tree .row:nth-child(2) i{background:linear-gradient(135deg,#a259ff,#f0abfc)}
.tree .row:nth-child(3) i{background:rgba(255,255,255,.85);color:var(--ac);box-shadow:0 6px 14px -8px var(--ac)}
.devices{display:flex;align-items:flex-end;gap:14px;color:var(--ac)}
.devices span{display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.7);border:1px solid #fff;box-shadow:0 12px 24px -14px var(--ac)}
.devices span .ico{stroke-width:1.5}
.bc.mob{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center;min-height:300px;padding:40px 48px 0}
.bc.mob .b-txt{padding-bottom:40px;max-width:none}
.bc.mob h3{font-size:30px}
.fan{position:relative;height:300px;align-self:end}
.fan .ph{position:absolute;bottom:-90px;width:190px;border-radius:28px;overflow:hidden;box-shadow:0 30px 50px -20px rgba(40,20,120,.45);border:6px solid #fff;background:#fff}
.fan .ph img{width:112%;max-width:none;margin:-4% 0 0 -6%}
.fan .ph:nth-child(1){left:6%;transform:rotate(-8deg);bottom:-120px}
.fan .ph:nth-child(2){left:34%;z-index:2;bottom:-70px}
.fan .ph:nth-child(3){left:62%;transform:rotate(8deg);bottom:-120px}

/* ---------- solutions ---------- */
.sol{background:linear-gradient(180deg,#f3eeff 0%,#eef3ff 45%,#f7f5ff 100%)}
.sol .mesh .b1{width:700px;height:700px;right:-240px;top:-100px;background:radial-gradient(circle,#c9dbff,transparent 70%)}
.sol .mesh .b2{width:520px;height:520px;left:-200px;bottom:0;background:radial-gradient(circle,#e3d1ff,transparent 70%)}
.sol-top{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sc{--ac:#7c3aed;display:flex;flex-direction:column;position:relative;overflow:hidden;border-radius:var(--r-xl);padding:34px 32px 0;background:linear-gradient(165deg,var(--c1) 0%,var(--c2) 100%);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-1)}
.sc .si{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff;padding:5px;box-shadow:0 10px 20px -12px var(--ac)}
.sc .si img{width:36px;height:36px}
.sc .kicker{margin-top:22px;font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--ac)}
.sc h3{margin-top:6px;font-size:28px;font-weight:800;letter-spacing:-.01em}
.sc p{margin-top:10px;font-size:15px;color:var(--ink-2)}
.go{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-size:15px;font-weight:700;color:var(--ac)}
.go .ico{transition:transform .3s}
.gc:hover .go .ico{transform:translateX(4px)}
.sc .art{margin:-20px -32px 0;display:flex;justify-content:center;align-items:flex-end;flex:1}
.sc .art .f3d{position:relative;width:86%}
.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.ss{--ac:#7c3aed;position:relative;overflow:hidden;display:flex;gap:18px;align-items:flex-start;min-height:190px;padding:28px 28px;border-radius:var(--r-lg);background:linear-gradient(160deg,#fff 0%,var(--c2) 100%);border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow-1)}
.ss .si{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:18px;padding:6px;background:#fff;box-shadow:0 10px 20px -12px var(--ac)}
.ss .si img{width:44px;height:44px}
.ss .txt{position:relative;z-index:1;max-width:60%}
.ss h3{font-size:20px;font-weight:700}
.ss p{margin-top:6px;font-size:14px;color:var(--ink-2)}
.ss .go{margin-top:12px;font-size:14px}
.ss .mini{position:absolute;right:-24px;bottom:-34px;width:136px;opacity:.95}
.ss .mini.icon{right:18px;bottom:18px;width:84px;opacity:.9;filter:drop-shadow(0 16px 20px color-mix(in srgb,var(--ac) 40%,transparent))}

/* ---------- deploy ---------- */
.deploy{padding:40px 0 120px;background:#f7f5ff}
.dp{position:relative;overflow:hidden;border-radius:40px;padding:72px 64px;color:#fff;background:radial-gradient(120% 140% at 0% 0%,#8b5cf6 0%,transparent 55%),radial-gradient(90% 120% at 100% 100%,#ff4fa0 0%,transparent 55%),radial-gradient(80% 90% at 85% 10%,#3b6cff 0%,transparent 60%),linear-gradient(135deg,#5b21b6,#4338ca);box-shadow:0 60px 120px -50px rgba(90,30,200,.65)}
.dp::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at 75% 50%,#000,transparent 70%);mask-image:radial-gradient(ellipse at 75% 50%,#000,transparent 70%)}
.dp-in{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.dp .tag{--tc:#fff;color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}
.dp .h2{color:#fff}
.dp .lead{color:rgba(255,255,255,.82)}
.dp-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}
.dp-list li{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:16px;font-weight:600;transition:background .3s,transform .3s}
.dp-list li:hover{background:rgba(255,255,255,.2);transform:translateY(-3px)}
.dp-list li .ic{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.95);color:#6d28d9;font-size:18px;flex:none}
.dp-list li:last-child{grid-column:span 2}
.dp-cta{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.dp-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:440px}
.dp-art>.art-main{flex:1 0 100%;width:100%;display:flex;justify-content:center;position:relative;z-index:1}
.dp-art .crop{flex:none}
.dp-art .crop{width:min(560px,100%);-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent 100%);mask-image:radial-gradient(closest-side,#000 55%,transparent 100%)}
.ring{position:absolute;left:50%;top:50%;translate:-50% -50%;border-radius:50%;border:1px solid rgba(255,255,255,.25)}
.dp-art .ring:nth-child(1){width:100%;aspect-ratio:1}
.dp-art .ring:nth-child(2){width:80%;aspect-ratio:1;border-style:dashed;border-color:rgba(255,255,255,.3);animation:spin 50s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.dp-badge{position:absolute;z-index:2;width:max-content;padding:10px 16px;border-radius:16px;background:rgba(255,255,255,.92);color:var(--ink);font-size:14px;font-weight:700;box-shadow:0 20px 40px -16px rgba(20,0,80,.6);display:flex;align-items:center;gap:8px}
.dp-badge .ico{color:#12b886;font-size:18px}
.dp-badge.b1{left:2%;top:16%}
.dp-badge.b2{right:0;bottom:16%}

/* ---------- apps ---------- */
.apps{background:linear-gradient(180deg,#f7f5ff 0%,#fff3f9 50%,#fbf6ff 100%)}
.apps .mesh .b1{width:600px;height:600px;right:-180px;top:80px;background:radial-gradient(circle,#ffc4df,transparent 70%)}
.apps .mesh .b2{width:500px;height:500px;left:-160px;bottom:-60px;background:radial-gradient(circle,#c9d8ff,transparent 70%)}
.apps-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:28px;align-items:stretch}
.panel{position:relative;border-radius:var(--r-xl);padding:34px;background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow-2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.panel-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.panel-h h3{font-size:22px;font-weight:800;display:flex;align-items:center;gap:10px}
.panel-h h3 .dot{width:10px;height:10px;border-radius:50%;background:var(--grad)}
.panel-h a{font-size:14px;font-weight:600;color:var(--violet);display:inline-flex;align-items:center;gap:4px}
.hot{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.hot a{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 8px 18px;border-radius:22px;background:linear-gradient(180deg,#fff,rgba(255,255,255,.4));border:1px solid rgba(255,255,255,.95);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.hot a:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 24px 40px -18px rgba(120,40,200,.4)}
.hot img{width:68px;height:68px;filter:drop-shadow(0 10px 14px rgba(120,60,200,.2))}
.hot span{font-size:15px;font-weight:600}
.newl{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.na{--ac:#ff4f9a;position:relative;overflow:hidden;padding:22px;border-radius:22px;background:linear-gradient(160deg,#fff 30%,var(--c2));border:1px solid rgba(255,255,255,.95);box-shadow:0 10px 30px -18px rgba(80,30,160,.3)}
.na .ni{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;color:#fff;font-size:22px;background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 45%,#ffd1a8));box-shadow:0 12px 22px -10px var(--ac)}
.na h4{margin-top:16px;font-size:17px;font-weight:700}
.na .pr{display:flex;align-items:baseline;gap:8px;margin-top:6px}
.na .pr b{font-family:var(--num);font-size:28px;font-weight:800;color:var(--ac)}
.na .pr b small{font-size:.55em;margin-right:1px}
.na .pr s{font-size:13px;color:var(--ink-3)}
.na .new{position:absolute;right:14px;top:14px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em;color:#fff;background:linear-gradient(90deg,#ff4f9a,#ff9f6b)}
.na .off{position:absolute;right:14px;top:14px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;color:var(--ac);background:color-mix(in srgb,var(--ac) 12%,#fff)}

/* ---------- pricing ---------- */
.price{background:linear-gradient(180deg,#fbf6ff 0%,#f1ecff 100%)}
.price .mesh .b1{width:900px;height:600px;left:50%;top:30%;margin-left:-450px;background:radial-gradient(closest-side,#d9c7ff,#f8c6e4 60%,transparent);opacity:.7}
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:stretch}
.plan{--ac:#7c3aed;position:relative;display:flex;flex-direction:column;padding:34px 28px 30px;border-radius:var(--r-xl);background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow-1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.plan .pn{font-size:18px;font-weight:700;display:flex;align-items:center;gap:10px}
.plan .pn i{width:10px;height:10px;border-radius:4px;background:var(--ac);transform:rotate(45deg)}
.plan .pd{margin-top:6px;font-size:14px;color:var(--ink-3);min-height:22px}
.plan .pp{margin-top:22px;font-family:var(--num);font-size:52px;font-weight:800;line-height:1;letter-spacing:-.03em}
.plan .pp small{font-size:24px;margin-right:2px;vertical-align:top;position:relative;top:6px}
.plan ul{margin:26px 0 30px;display:grid;gap:12px;flex:1;align-content:start}
.plan li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--ink-2)}
.plan li .ico{margin-top:4px;color:var(--ac);font-size:16px;stroke-width:2.4}
.plan .btn{width:100%}
.plan.hl{color:#fff;background:radial-gradient(120% 80% at 100% 0%,#ff4fa0 0%,transparent 50%),radial-gradient(100% 80% at 0% 100%,#3b6cff 0%,transparent 55%),linear-gradient(160deg,#7c3aed,#5b21b6);border-color:transparent;box-shadow:0 50px 90px -30px rgba(124,58,237,.75);transform:translateY(-14px)}
.plan.hl.gc:hover{transform:translateY(-22px)}
.plan.hl .pd,.plan.hl li{color:rgba(255,255,255,.86)}
.plan.hl li .ico{color:#fff}
.plan.hl .pn i{background:#fff}
.plan .ribbon{position:absolute;top:-14px;left:50%;transform:translateX(-50%);padding:6px 16px;border-radius:999px;font-size:13px;font-weight:800;color:#6d28d9;background:#fff;box-shadow:0 10px 24px -8px rgba(80,20,180,.5);white-space:nowrap}
.price-note{margin-top:34px;text-align:center;font-size:15px;color:var(--ink-3)}
.price-note a{color:var(--violet);font-weight:700}

/* ---------- cases ---------- */
.cases{background:linear-gradient(180deg,#f1ecff 0%,#ecf8ff 60%,#f7fbff 100%)}
.cases .mesh .b1{width:640px;height:640px;left:-220px;top:0;background:radial-gradient(circle,#bfeaff,transparent 70%)}
.cases .mesh .b2{width:600px;height:600px;right:-200px;top:200px;background:radial-gradient(circle,#e1d0ff,transparent 70%)}
.case-row{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.case{border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 30px 60px -30px rgba(40,60,160,.45)}
.case:nth-child(2){margin-top:44px;margin-bottom:-44px}
.case .crop{--ar:760/837;--w:131.6%;--l:-15.79%;--t:-14.34%}
.case-wall{margin-top:110px}
.case-wall .track{gap:18px}
.cw{flex:none;width:250px;height:160px;border-radius:24px;overflow:hidden;filter:drop-shadow(0 14px 22px rgba(40,60,160,.14))}
.cw img{width:100%;height:100%;object-fit:cover}
.cases-more{display:flex;justify-content:center;margin-top:44px}

/* ---------- service ---------- */
.svc{background:#f7fbff}
.svc .mesh .b1{width:700px;height:500px;left:50%;top:-100px;margin-left:-350px;background:radial-gradient(closest-side,#e4d6ff,transparent);opacity:.8}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.sv{--ac:#7c3aed;position:relative;overflow:hidden;padding:34px 28px;border-radius:var(--r-lg);background:linear-gradient(170deg,#fff 40%,var(--c2));border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow-1)}
.sv img{width:84px;height:84px;margin:-6px 0 0 -6px;filter:hue-rotate(var(--hue,0deg)) drop-shadow(0 16px 20px color-mix(in srgb,var(--ac) 35%,transparent))}
.sv h3{margin-top:18px;font-size:21px;font-weight:800}
.sv .em{margin-top:4px;font-size:14px;font-weight:700;color:var(--ac)}
.sv p{margin-top:10px;font-size:15px;color:var(--ink-2)}

/* ---------- CTA ---------- */
.cta{padding:20px 0 110px;background:#f7fbff}
.cta-box{position:relative;overflow:hidden;border-radius:44px;padding:110px 40px;text-align:center;color:#fff;background:#5b21b6}
.cta-box .mesh .blob{opacity:.95;filter:blur(60px)}
.cta-box .b1{width:70%;height:140%;left:-20%;top:-40%;background:radial-gradient(circle,#a855f7,transparent 65%);animation:drift1 20s ease-in-out infinite}
.cta-box .b2{width:60%;height:130%;right:-15%;top:-30%;background:radial-gradient(circle,#ff4fa0,transparent 65%);animation:drift2 24s ease-in-out infinite}
.cta-box .b3{width:55%;height:120%;left:25%;bottom:-70%;background:radial-gradient(circle,#3b82f6,transparent 65%);animation:drift3 26s ease-in-out infinite}
.cta-box .b4{width:35%;height:80%;right:15%;bottom:-40%;background:radial-gradient(circle,#22d3ee,transparent 65%);animation:drift1 22s ease-in-out infinite reverse}
.cta-in{position:relative;z-index:1}
.cta h2{font-size:clamp(40px,6.6vw,92px);line-height:1.08;font-weight:900;letter-spacing:-.02em;text-shadow:0 10px 40px rgba(40,0,120,.3)}
.cta p{margin:22px auto 0;max-width:560px;font-size:18px;color:rgba(255,255,255,.86)}
.cta .hero-cta{margin-top:40px}
.cta-tel{margin-top:30px;font-size:15px;color:rgba(255,255,255,.8)}
.cta-tel b{font-family:var(--num);font-size:22px;color:#fff;margin:0 6px;letter-spacing:.02em}
.orb{position:absolute;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.9),rgba(255,255,255,.15) 40%,rgba(255,255,255,.04) 70%);border:1px solid rgba(255,255,255,.35);box-shadow:inset -10px -20px 40px rgba(120,40,220,.35)}
.orb.o1{width:150px;height:150px;left:3%;top:52%}
.orb.o2{width:90px;height:90px;right:9%;top:20%}
.orb.o3{width:60px;height:60px;right:12%;bottom:14%}
.orb.o4{width:40px;height:40px;left:16%;top:14%}

/* ---------- footer ---------- */
.foot{position:relative;background:#120d2b;color:rgba(255,255,255,.72);padding:80px 0 32px;overflow:hidden}
.foot::before{content:"";position:absolute;width:800px;height:400px;left:-200px;top:-200px;background:radial-gradient(closest-side,rgba(124,58,237,.35),transparent);pointer-events:none}
.foot-grid{position:relative;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.6fr;gap:40px}
.foot .brand img{width:150px;filter:brightness(0) invert(1)}
.foot .brand p{margin-top:18px;font-size:14px;line-height:1.8;max-width:300px}
.foot h4{color:#fff;font-size:15px;margin-bottom:18px}
.foot-links{display:grid;gap:10px;font-size:14px}
.foot-links a:hover{color:#fff}
.contact{display:grid;gap:12px;font-size:14px}
.contact li{display:flex;gap:10px;align-items:flex-start}
.contact .ico{margin-top:3px;color:#c4a8ff;font-size:16px}
.contact b{color:#fff;font-family:var(--num);font-size:18px;letter-spacing:.02em}
.qrs{display:flex;gap:16px;margin-top:22px}
.qrs figure{margin:0;text-align:center;font-size:12px}
.qrs img{width:96px;height:96px;padding:6px;border-radius:14px;background:#fff;margin-bottom:8px}
.foot-bottom{position:relative;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:rgba(255,255,255,.5)}
.foot-bottom a:hover{color:#fff}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .nav-tel{display:none}
  .nav-links a{padding:8px 10px;font-size:14px}
}
@media (max-width:1024px){
  .nav-links,.nav-cta{display:none}
  .burger{display:block}
  .m-menu{display:block;position:fixed;left:0;right:0;top:0;height:100vh;height:100dvh;padding:96px 24px 40px;background:rgba(250,247,255,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s,transform .3s,visibility .3s;z-index:-1;overflow-y:auto}
  .nav.open .m-menu{opacity:1;visibility:visible;transform:none}
  .nav.open{background:transparent;box-shadow:none;backdrop-filter:none}
  .m-menu a.ml{display:flex;justify-content:space-between;align-items:center;padding:18px 4px;border-bottom:1px solid var(--line);font-size:20px;font-weight:700}
  .m-menu a.ml .ico{color:var(--violet)}
  .m-menu .m-cta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
  .m-menu .m-cta .btn{width:100%}
  .bento{grid-template-columns:repeat(2,1fr)}
  .bc.w4{grid-column:span 2}
  .sol-top{grid-template-columns:1fr 1fr}
  .sol-top .sc:first-child{grid-column:span 2;flex-direction:row;align-items:center;padding-bottom:30px}
  .sol-top .sc:first-child .art{margin:0;flex:none;width:44%}
  .sol-grid{grid-template-columns:1fr 1fr}
  .dp{padding:56px 40px}
  .dp-in{grid-template-columns:1fr}
  .dp-art{order:-1;max-width:420px;margin:0 auto}
  .apps-grid{grid-template-columns:1fr}
  .plans{grid-template-columns:1fr 1fr;gap:26px 20px}
  .plan.hl{transform:none}
  .plan.hl.gc:hover{transform:translateY(-8px)}
  .svc-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .wrap{padding:0 20px}
  .nav-in{height:64px;padding:0 16px}
  .logo img{width:118px}
  .hero{min-height:0;padding-top:84px}
  .hero-main{padding:0 20px}
  .slides{align-items:start}
  .slide{grid-template-columns:1fr;gap:18px;align-content:start}
  .s-vis{transform:translateY(16px) scale(.97)}
  .eyebrow{font-size:12px;padding-right:14px}
  .eyebrow b{font-size:11px;height:22px}
  .eyebrow .xs{display:none}
  .s-title{margin-top:16px;font-size:44px;line-height:1.1}
  .hero-sub{font-size:15px;margin-top:12px;line-height:1.7}
  .s-cta{margin-top:20px;gap:10px;flex-wrap:nowrap}
  .s-cta .btn{height:50px;padding:0 14px;font-size:15px;flex:1}
  .s-points{gap:6px;margin-top:16px}
  .s-points li{font-size:12.5px;padding:6px 11px}
  .stats{display:grid;grid-template-columns:repeat(3,1fr);width:100%;margin-top:18px;padding:4px;border-radius:18px}
  .stat{padding:8px 4px}
  .stat strong{font-size:21px}
  .stat>span{font-size:11.5px;display:block;line-height:1.4}
  .stage,.bvis{aspect-ratio:358/262;max-width:440px;margin:0 auto;width:100%}
  .stage .fcard,.bvis .fcard{font-size:10px}
  .browser{left:0;top:6%;width:86%;border-radius:11px;padding:0 4px 4px}
  .browser-bar{height:20px;gap:4px;padding:0 5px}
  .browser-bar i{width:6px;height:6px}
  .browser-bar span{font-size:8px;padding:0 12px}
  .browser img{border-radius:6px}
  .phone{left:66%;top:16%;width:30%}
  .s3d-1{left:auto;right:-4%;top:-10%;width:24%}
  .s3d-2,.fc-member,.fc-store,.fc-comm{display:none}
  .fc-order{left:-1%;top:auto;bottom:0}
  .bv-main{left:22%;top:-4%;width:56%}
  .bvis .p1{left:-1%;top:10%}
  .bvis .p2{right:-1%;top:auto;bottom:22%}
  .bvis .p3{display:none}
  .hero-fade{height:50px}
  .hero-tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:16px -20px 20px;padding:6px 20px;border-radius:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .hero-tabs::-webkit-scrollbar{display:none}
  .htab{flex:0 0 auto;scroll-snap-align:start;padding:9px 14px 10px;gap:7px;border-radius:14px;background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.85)}
  .htab .tl{font-size:13.5px;gap:6px}
  .htab .tl em{font-size:11px}
  .logos{padding:20px 0 64px}
  .lg{width:132px;height:58px;padding:0 14px;border-radius:14px}
  .lg img{width:104px;max-height:34px}
  .sec{padding:84px 0}
  .head{margin-bottom:40px}
  .h2{font-size:33px;margin-top:16px}
  .h2 .mbr{display:inline}
  .lead{font-size:15.5px;margin-top:12px}
  .bento{grid-template-columns:1fr 1fr;gap:12px}
  .bc{min-height:0;padding:22px 18px;border-radius:22px}
  .bc .no{font-size:38px;right:14px;top:12px}
  .bc .bi{width:42px;height:42px;border-radius:13px;font-size:20px}
  .bc h3{margin-top:16px;font-size:17px}
  .bc p{font-size:13px}
  .bc.w2{grid-column:span 2;padding:24px 22px}
  .bc.w2 .b-txt{max-width:62%}
  .bc.w2 .b-vis{width:42%;padding-right:0}
  .bc.w2 .b-vis.stack{position:static;width:auto;justify-content:flex-start;margin-top:18px}
  .bc.w2 .b-vis.stack+*{}
  .bc.w2.st .b-txt{max-width:none}
  .bc.w2 h3{font-size:20px}
  .chips{gap:6px;margin-top:14px}
  .chips span{font-size:12px;padding:5px 10px}
  .big-num{font-size:52px;margin-top:8px}
  
  .tree{transform:none;align-items:flex-start}
  .devices{gap:10px}
  .bc.mob{grid-template-columns:1fr;gap:0;padding:28px 22px 0;min-height:0}
  .bc.mob h3{font-size:22px}
  .bc.mob .b-txt{padding-bottom:0}
  .fan{height:250px;margin:18px -22px 0}
  .fan .ph{width:130px;border-radius:20px;border-width:4px}
  .fan .ph:nth-child(1){left:4%;bottom:-110px}
  .fan .ph:nth-child(2){left:calc(50% - 65px);bottom:-70px}
  .fan .ph:nth-child(3){left:auto;right:4%;bottom:-110px}
  .sol-top{grid-template-columns:1fr;gap:16px}
  .sol-top .sc:first-child{grid-column:auto;flex-direction:column;align-items:stretch;padding-bottom:0}
  .sol-top .sc:first-child .art{margin:10px -26px 0;width:auto}
  .sc{padding:28px 26px 0;border-radius:26px;display:grid;grid-template-columns:1fr 42%;grid-template-rows:auto;align-items:center}
  .sc>div:first-child{padding-bottom:28px}
  .sc .art{margin:0 -26px 0 0;align-self:end}
  .sc .art .f3d{width:120%}
  .sol-top .sc:first-child{display:grid}
  .sol-top .sc:first-child .art{margin:0 -26px 0 0}
  .sc h3{font-size:23px}
  .sc p{font-size:14px}
  .sc .kicker{margin-top:16px}
  .sol-grid{grid-template-columns:1fr;gap:12px;margin-top:12px}
  .ss{min-height:0;padding:20px;border-radius:22px}
  .ss .si{width:48px;height:48px;border-radius:15px}
  .ss .si img{width:36px;height:36px}
  .ss .txt{max-width:70%}
  .ss h3{font-size:17px}
  .ss p{font-size:13px}
  .ss .mini{width:100px;right:-22px;bottom:-30px;opacity:.85}
  .ss .mini.icon{width:52px;right:12px;bottom:12px}
  .deploy{padding:10px 0 84px}
  .dp{padding:40px 22px;border-radius:30px}
  .dp-list{grid-template-columns:1fr;gap:10px;margin-top:26px}
  .dp-list li:last-child{grid-column:auto}
  .dp-list li{font-size:15px;padding:12px 14px}
  .dp-art{max-width:300px;min-height:0;width:100%;margin-bottom:10px}
  .dp-badge{font-size:12px;padding:8px 12px}
  .dp-cta .btn{flex:1}
  .panel{padding:22px 16px;border-radius:26px}
  .panel-h h3{font-size:19px}
  .hot{gap:8px}
  .hot a{padding:14px 2px 12px;border-radius:18px;gap:6px}
  .hot img{width:48px;height:48px}
  .hot span{font-size:12.5px}
  .newl{gap:10px}
  .na{padding:16px;border-radius:18px}
  .na .ni{width:38px;height:38px;border-radius:12px;font-size:18px}
  .na h4{font-size:15px;margin-top:12px}
  .na .pr{flex-wrap:wrap;gap:2px 6px}
  .na .pr b{font-size:23px}
  .plans{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -20px;padding:26px 20px 30px;scrollbar-width:none}
  .plans::-webkit-scrollbar{display:none}
  .plan{flex:0 0 78%;scroll-snap-align:center;padding:28px 22px 24px}
  .plan .pp{font-size:44px}
  .case-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -20px;padding:10px 20px 40px;scrollbar-width:none}
  .case-row::-webkit-scrollbar{display:none}
  .case{flex:0 0 76%;scroll-snap-align:center;border-radius:22px}
  .case:nth-child(2){margin:0}
  .case-wall{margin-top:24px}
  .cw{width:180px;height:115px;border-radius:18px}
  .svc-grid{grid-template-columns:1fr 1fr;gap:12px}
  .sv{padding:22px 18px;border-radius:22px}
  .sv img{width:60px;height:60px}
  .sv h3{font-size:17px;margin-top:12px}
  .sv .em{font-size:12.5px}
  .sv p{font-size:13px}
  .cta{padding:0 0 70px}
  .cta-box{padding:70px 22px;border-radius:30px}
  .cta h2{font-size:44px}
  .cta p{font-size:15px}
  .cta h2 .mbr{display:inline}
  .cta-tel b{display:block;margin:4px 0}
  .dp-badge{display:none}
  .cta .hero-cta{flex-wrap:wrap}
  .orb.o1{width:80px;height:80px;left:-14px;top:24px}
  .orb.o2{width:50px;height:50px}
  .foot{padding:60px 0 28px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px 20px}
  .foot .brand,.foot .fc{grid-column:span 2}
  .foot-bottom{flex-direction:column;gap:6px;margin-top:40px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .rv{opacity:1;transform:none}
  .htab[aria-selected="true"] .bar b{transform:scaleX(1)}
  .s-copy>*,.s-vis{opacity:1;transform:none}
  .marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
}

/* =========================================================
   全站补充：导航下拉、联系弹窗、内页组件（沿用 base.css 的视觉语言）
   每页由生成器设置 --ac / --c1 / --c2 / --g1 / --g2 主色
   ========================================================= */
[hidden]{display:none!important}
body{--ac:#7c3aed;--c1:#f3ecff;--c2:#e6d9ff;--g1:#b98bff;--g2:#ff9ccc}
.t-violet{--ac:#7c3aed;--c1:#f4eeff;--c2:#e6d9ff;--g1:#b98bff;--g2:#ff9ccc}
.t-pink{--ac:#e9407a;--c1:#fff1f7;--c2:#ffd9ea;--g1:#ff9ccc;--g2:#c7a6ff}
.t-blue{--ac:#3b6cff;--c1:#eef3ff;--c2:#d8e4ff;--g1:#8fb4ff;--g2:#7ff0e6}
.t-cyan{--ac:#0b9fc4;--c1:#ebfbff;--c2:#cdf2fb;--g1:#7fe3f5;--g2:#a7c4ff}
.t-peach{--ac:#f2711c;--c1:#fff5ec;--c2:#ffe0c7;--g1:#ffc49a;--g2:#ffa3c8}
.t-green{--ac:#0f9f6e;--c1:#ecfdf6;--c2:#cdf6e4;--g1:#86efc4;--g2:#9cc6ff}

/* ---------- 导航下拉 ---------- */
.nav-links .dd{position:relative}
.nav-links .dd>a{display:inline-flex;align-items:center;gap:4px}
.nav-links .dd>a .ico{font-size:12px;stroke-width:2.4;transition:transform .25s}
.nav-links .dd:hover>a .ico,.nav-links .dd:focus-within>a .ico{transform:rotate(180deg)}
.dd-panel{position:absolute;top:calc(100% + 14px);left:50%;translate:-50% 8px;display:grid;gap:22px;padding:22px;border-radius:26px;background:rgba(255,255,255,.94);border:1px solid #fff;box-shadow:0 40px 80px -30px rgba(60,30,160,.45),0 2px 8px rgba(40,20,100,.06);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);opacity:0;visibility:hidden;transition:opacity .22s,translate .22s,visibility .22s;z-index:60}
.dd-panel::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.nav-links .dd:hover .dd-panel,.nav-links .dd:focus-within .dd-panel{opacity:1;visibility:visible;translate:-50% 0}
.dd-panel.c2{grid-template-columns:repeat(2,250px)}
.dd-panel.c3{grid-template-columns:repeat(3,230px)}
.dd-panel.c4{grid-template-columns:repeat(4,170px)}
.dd-col h5{margin:0 0 8px;padding:0 10px 10px;border-bottom:1px solid var(--line);font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--ink-3);display:flex;justify-content:space-between}
.dd-col h5 a{padding:0;font-size:12.5px;color:var(--violet);background:none}
.nav-links .dd-panel a.dd-item{display:flex;gap:12px;align-items:center;padding:9px 10px;border-radius:14px;font-size:14px;color:var(--ink)}
.nav-links .dd-panel a.dd-item:hover{background:rgba(124,58,237,.07)}
.dd-item img{width:38px;height:38px;object-fit:contain;flex:none;border-radius:11px}
.dd-item b{display:block;font-size:14.5px;font-weight:600}
.dd-item small{display:block;font-size:12px;color:var(--ink-3);line-height:1.4;margin-top:1px}
.nav-links .dd-panel a.dd-link{display:block;padding:6px 10px;border-radius:10px;font-size:14px;color:var(--ink-2)}
.nav-links .dd-panel a.dd-link:hover{color:var(--violet);background:rgba(124,58,237,.07)}
.m-menu details{border-bottom:1px solid var(--line)}
.m-menu summary{display:flex;justify-content:space-between;align-items:center;padding:18px 4px;font-size:20px;font-weight:700;list-style:none;cursor:pointer}
.m-menu summary::-webkit-details-marker{display:none}
.m-menu summary .ico{color:var(--violet);transition:transform .25s}
.m-menu details[open] summary .ico{transform:rotate(90deg)}
.m-sub{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 0 16px}
.m-sub a{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.7);font-size:15px;font-weight:600}

/* ---------- 联系弹窗 ---------- */
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}
.modal-bg{position:absolute;inset:0;background:rgba(20,10,60,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fadein .25s}
.modal-card{position:relative;width:100%;max-width:560px;overflow:hidden;border-radius:32px;padding:40px;background:#fff;box-shadow:0 60px 120px -40px rgba(60,20,160,.6);animation:pop .3s cubic-bezier(.2,.8,.2,1)}
.modal-card::before{content:"";position:absolute;inset:0 0 auto;height:140px;background:radial-gradient(60% 120% at 20% 0%,#d9c4ff,transparent 70%),radial-gradient(60% 120% at 90% 0%,#ffd0e6,transparent 70%)}
.modal-card>*{position:relative}
@keyframes fadein{from{opacity:0}}@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.97)}}
.modal-x{position:absolute;right:16px;top:16px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.8);font-size:24px;line-height:1;cursor:pointer;color:var(--ink-2);z-index:2}
.modal h2{font-size:26px;font-weight:800}
.modal .sub{margin-top:6px;color:var(--ink-3);font-size:15px}
.modal-body{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center;margin-top:28px}
.modal-qr{margin:0;text-align:center;font-size:13px;color:var(--ink-3)}
.modal-qr img{width:180px;height:180px;padding:10px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-1);margin-bottom:10px}
.modal-tel small{display:block;font-size:13px;color:var(--ink-3)}
.modal-tel a:not(.btn){display:block;margin-top:4px;font-family:var(--num);font-size:30px;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.modal .btn{margin-top:22px;width:100%}

/* ---------- 内页首屏 ---------- */
.ph{position:relative;overflow:hidden;padding:148px 0 96px;background:var(--c1)}
.ph .b1{width:58vw;height:58vw;left:-16vw;top:-26vw;background:radial-gradient(circle,var(--g1) 0%,transparent 68%);animation:drift1 24s ease-in-out infinite}
.ph .b2{width:46vw;height:46vw;right:-12vw;top:-14vw;background:radial-gradient(circle,var(--g2) 0%,transparent 68%);animation:drift2 26s ease-in-out infinite}
.ph .b3{width:40vw;height:40vw;right:14vw;top:18vw;background:radial-gradient(circle,#9cc0ff 0%,transparent 68%);opacity:.55;animation:drift3 30s ease-in-out infinite}
.ph .b4{width:34vw;height:34vw;left:10vw;top:22vw;background:radial-gradient(circle,#ffd6b8 0%,transparent 68%);opacity:.5;animation:drift2 28s ease-in-out infinite reverse}
.ph .hero-grid{-webkit-mask-image:radial-gradient(ellipse 75% 70% at 60% 40%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse 75% 70% at 60% 40%,#000 10%,transparent 75%)}
.ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(transparent,#fbf9ff);z-index:1}
.ph-in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:56px;align-items:center}
.ph.solo .ph-in{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center}
.ph.solo .ph-copy{max-width:860px}
.ph.solo .s-points,.ph.solo .ph-cta{justify-content:center}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:22px;font-size:13px;color:var(--ink-3)}
.crumbs a:hover{color:var(--ink)}
.crumbs i{font-style:normal;opacity:.5}
.ph h1{margin-top:22px;font-size:clamp(40px,5.2vw,72px);line-height:1.08;font-weight:800;letter-spacing:-.02em}
.ph h1 .grad-text{display:inline-block}
.ph .lead{max-width:600px}
.ph.solo .lead{margin-left:auto;margin-right:auto}
.ph .s-points{max-width:none}
.ph .s-points li .ico{color:var(--ac)}
.ph-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.ph-cta .btn{height:56px;padding:0 30px;font-size:16.5px}
.ph-vis{position:relative;container-type:inline-size;min-height:380px;display:flex;align-items:center;justify-content:center}
.ph-vis .fcard{font-size:clamp(11px,2.4cqw,14px);z-index:3}
.ph-vis .fcard .fi{--fa:var(--ac);--fb:color-mix(in srgb,var(--ac) 45%,#fff)}
.ph-vis .glow{position:absolute;left:50%;top:50%;width:92%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--g1) 80%,#fff) 0%,color-mix(in srgb,var(--g2) 55%,transparent) 40%,transparent 70%);filter:blur(8px)}
.ph-vis .ring{border-color:rgba(255,255,255,.8);box-shadow:inset 0 0 40px rgba(255,255,255,.4)}
.ph-vis .ring.r1{width:86%;aspect-ratio:1}
.ph-vis .ring.r2{width:64%;aspect-ratio:1;border-style:dashed;border-color:color-mix(in srgb,var(--ac) 30%,transparent);animation:spin 60s linear infinite}
.ph-vis .pf{position:relative;z-index:2;width:min(270px,58cqw)}
.ph-vis .pf+.pf{position:absolute;width:min(220px,46cqw);right:2%;top:16%;z-index:1;transform:rotate(7deg);opacity:.95}
.ph-vis .pf.lead-pf{margin-right:20%}
.ph-vis .art3d{position:relative;z-index:2;width:78%}
.ph-vis .art3d .f3d{position:relative;width:100%}
.ph-vis .shot{position:relative;z-index:2;width:100%;padding:10px;border-radius:24px;background:rgba(255,255,255,.7);border:1px solid #fff;box-shadow:var(--shadow-2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.ph-vis .shot img{width:100%;border-radius:16px}
.ph-vis .big-icon{position:relative;z-index:2;display:grid;place-items:center;width:46cqw;aspect-ratio:1;border-radius:30%;background:linear-gradient(150deg,#fff,var(--c2));border:1px solid #fff;box-shadow:0 50px 90px -30px color-mix(in srgb,var(--ac) 70%,transparent),inset 0 2px 0 #fff}
.ph-vis .big-icon img{width:62%;filter:drop-shadow(0 20px 30px color-mix(in srgb,var(--ac) 40%,transparent))}
.ph-vis .q1{position:absolute;left:0;top:16%}
.ph-vis .q2{position:absolute;right:0;bottom:16%}
.ph-vis .q3{position:absolute;right:6%;top:4%}

/* 手机外框（截图放在框里） */
.pf{position:relative;aspect-ratio:540/1094;filter:drop-shadow(0 40px 50px rgba(60,20,150,.3))}
.pf .phone-screen{position:absolute;left:4.6%;right:4.6%;top:2.2%;bottom:2.2%;border-radius:13% / 6.2%;overflow:hidden;background:#fff}
.pf .phone-screen img{width:100%;height:100%;max-width:none;margin:0;object-fit:cover;object-position:top}
.pf .phone-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

/* ---------- 内页区块 ---------- */
.ps{position:relative;padding:110px 0;overflow:hidden;background:#fbf9ff}
.ps.tone{background:linear-gradient(180deg,#fbf9ff 0%,var(--c1) 50%,#fbf9ff 100%)}
.ps.tone .mesh .b1{width:640px;height:640px;left:-240px;top:10%;background:radial-gradient(circle,color-mix(in srgb,var(--g1) 60%,transparent),transparent 70%)}
.ps.tone .mesh .b2{width:560px;height:560px;right:-200px;bottom:0;background:radial-gradient(circle,color-mix(in srgb,var(--g2) 55%,transparent),transparent 70%)}
.ps>.wrap{position:relative;z-index:1}
.ps .head{max-width:980px;margin-bottom:56px}
.ps .h2{font-size:clamp(28px,3.4vw,46px)}
.ps .tag{--tc:var(--ac)}
.ps.tight{padding-top:20px}

/* 图文交错 */
.fr{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:72px;align-items:center}
.fr+.fr{margin-top:110px}
.fr.rev .fr-copy{order:2}
.fr-no{font-family:var(--num);font-size:64px;font-weight:900;line-height:1;letter-spacing:-.04em;background:linear-gradient(160deg,var(--ac),color-mix(in srgb,var(--ac) 20%,#fff));-webkit-background-clip:text;background-clip:text;color:transparent}
.fr h3{margin-top:14px;font-size:clamp(24px,2.6vw,34px);line-height:1.25;font-weight:800;letter-spacing:-.01em}
.fr-copy>p{margin-top:14px;font-size:16.5px;color:var(--ink-2);line-height:1.8}
.ticks{display:grid;gap:12px;margin-top:22px}
.ticks li{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--ink-2);line-height:1.6}
.ticks li .ico{flex:none;margin-top:2px;width:22px;height:22px;padding:4px;border-radius:50%;color:#fff;stroke-width:3;background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 50%,#fff));box-shadow:0 6px 12px -6px var(--ac)}
.stage-card{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:24px;min-height:340px;padding:44px;border-radius:36px;background:linear-gradient(150deg,var(--c1) 0%,var(--c2) 100%);border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow-2)}
.stage-card::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000,transparent 75%);mask-image:radial-gradient(ellipse at 50% 50%,#000,transparent 75%)}
.stage-card::after{content:"";position:absolute;width:70%;aspect-ratio:1;left:50%;top:50%;translate:-50% -50%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9),transparent 65%)}
.stage-card>img{max-height:440px;width:auto;border-radius:18px;box-shadow:0 30px 60px -28px rgba(40,20,120,.45);background:#fff}
.stage-card>img.icon-img{box-shadow:none;background:none;max-width:40%}
.stage-card>video{max-height:460px;border-radius:22px;box-shadow:0 30px 60px -28px rgba(40,20,120,.45)}
.stage-card .pf{width:min(230px,44%)}
.stage-card .pf:nth-child(2){margin-top:60px}

/* 卡片网格 */
.cg{display:grid;gap:20px}
.cg.c1{grid-template-columns:minmax(0,1fr)}.cg.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.cg.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.cg.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.cg.c5{grid-template-columns:repeat(5,minmax(0,1fr))}
.cg+.cg,.cg+.figs,.figs+.cg,.pb+.cg,.pb+.figs,.figs+.pb,.cg+.pb,.pgal+.cg,.cg+.pgal,.pb+.pgal,.flow-h+*{margin-top:28px}
.cd{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:30px 28px;border-radius:28px;background:linear-gradient(165deg,#fff 35%,var(--c1));border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow-1)}
.cd .no{position:absolute;right:20px;top:14px;font-family:var(--num);font-size:46px;font-weight:800;line-height:1;color:var(--ac);opacity:.1;letter-spacing:-.03em}
.cd .ci{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:#fff;box-shadow:0 14px 26px -14px var(--ac)}
.cd .ci img{width:44px;height:44px;object-fit:contain}
.cd .ci.dot{background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 45%,#fff));color:#fff;font-size:26px}
.cd h4{margin-top:20px;font-size:19px;font-weight:700;line-height:1.4}
.cd p{margin-top:8px;font-size:14.5px;color:var(--ink-2);line-height:1.7}
.cd .ticks{margin-top:14px;gap:8px}
.cd .ticks li{font-size:14.5px}
.cd .ticks li .ico{width:18px;height:18px;padding:3px}
.cd.media{padding:0}
.cd.media .cm{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;padding:18px;background:linear-gradient(150deg,var(--c1),var(--c2))}
.cd.media .cm img{max-height:100%;width:auto;border-radius:14px;object-fit:contain}
.cd.media .cm img.cover{width:100%;height:100%;object-fit:cover;border-radius:16px}
.cd.media .cb{padding:20px 24px 24px}
.cd.media h4{margin-top:0}
.cg.icons .cd{align-items:center;text-align:center;padding:30px 20px}

/* 连续段落 */
.pb{max-width:860px;margin:0 auto;text-align:center}
.pb p{font-size:17px;color:var(--ink-2);line-height:1.85}
.pb p+p{margin-top:10px}
.pb .chips{justify-content:center}
.pb .ticks{display:inline-grid;text-align:left}
.pb .text-link{color:var(--ac);font-weight:700}
.flow-h{margin:48px 0 0;text-align:center;font-size:22px;font-weight:800}
.chips span{color:var(--ac)}

/* 图片 / 长图 */
.figs{display:grid;gap:28px;justify-items:center}
.figs.grid{justify-items:stretch;align-items:start}
.figs.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.figs.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fig{margin:0;max-width:100%;padding:14px;border-radius:30px;background:rgba(255,255,255,.66);border:1px solid #fff;box-shadow:var(--shadow-2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.fig img,.fig video{border-radius:20px;margin:0 auto}
.fig.tall img{max-height:680px;width:auto}
.fig.icon{padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none}
.fig.longpage{max-width:1180px}

/* 手机截图画廊 */
.pgal{position:relative;margin:0 -24px}
.pgal-track{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 24px 50px;scrollbar-width:none}
.pgal-track::-webkit-scrollbar{display:none}
.pgal-track.center{justify-content:center}
.pgal .pf{flex:0 0 250px;scroll-snap-align:center}
.pgal-btn{position:absolute;top:42%;z-index:3;display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.85);box-shadow:var(--shadow-2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;color:var(--ink);font-size:20px;transition:opacity .25s,transform .25s}
.pgal-btn:hover{transform:scale(1.06)}
.pgal-btn.prev{left:8px}.pgal-btn.prev .ico{transform:rotate(180deg)}
.pgal-btn.next{right:8px}
.pgal-btn[disabled]{opacity:0;pointer-events:none}

/* 相关推荐 */
.rel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.rel a{display:flex;gap:14px;align-items:center;padding:18px;border-radius:22px;background:rgba(255,255,255,.75);border:1px solid #fff;box-shadow:var(--shadow-1);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.rel a:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.rel img{width:48px;height:48px;border-radius:14px;flex:none;object-fit:contain}
.rel b{display:block;font-size:15.5px}
.rel small{display:block;font-size:12.5px;color:var(--ink-3);line-height:1.45;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- 插件详情 ---------- */
.addon{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}
.addon-shots{display:grid;gap:28px;justify-items:center}
.addon-shot{width:min(520px,100%);padding:12px;border-radius:40px;background:#fff;border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow-2)}
.addon-shot img{width:100%;border-radius:30px}
.addon-side{position:sticky;top:100px;display:grid;gap:18px}
.side-card{padding:28px;border-radius:28px;background:rgba(255,255,255,.78);border:1px solid #fff;box-shadow:var(--shadow-1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.side-card h3{font-size:19px;font-weight:800}
.side-card p{margin:8px 0 18px;font-size:14.5px;color:var(--ink-2)}
.side-card .btn{width:100%}
.side-card .btn+.btn{margin-top:10px}
.side-card.grad{color:#fff;background:radial-gradient(120% 80% at 100% 0%,#ff4fa0,transparent 55%),radial-gradient(100% 80% at 0% 100%,#3b6cff,transparent 55%),linear-gradient(160deg,#7c3aed,#5b21b6);border:0}
.side-card.grad p{color:rgba(255,255,255,.85)}
.mini-apps{display:grid;gap:4px;margin-top:10px}
.mini-apps a{display:flex;gap:12px;align-items:center;padding:8px;border-radius:14px}
.mini-apps a:hover{background:rgba(124,58,237,.06)}
.mini-apps img{width:40px;height:40px;border-radius:12px}
.mini-apps b{display:block;font-size:14px}
.mini-apps small{display:block;font-size:12px;color:var(--ink-3)}

/* ---------- 应用中心 ---------- */
.search{display:flex;align-items:center;gap:12px;width:min(520px,100%);height:60px;margin-top:30px;padding:0 22px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid #fff;box-shadow:var(--shadow-2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.ph.solo .search{margin-left:auto;margin-right:auto}
.search .ico{font-size:20px;color:var(--ink-3)}
.search input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:16px;color:var(--ink)}
.ac-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:0 auto 40px;padding:6px;border-radius:999px;background:rgba(255,255,255,.6);border:1px solid #fff;box-shadow:var(--shadow-1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.ac-tab{appearance:none;border:0;background:none;font:inherit;cursor:pointer;height:46px;padding:0 22px;border-radius:999px;font-size:15px;font-weight:700;color:var(--ink-3);transition:background .25s,color .25s,box-shadow .25s}
.ac-tab span{margin-left:6px;font-family:var(--num);font-size:12px;opacity:.7}
.ac-tab[aria-selected="true"]{color:#fff;background:linear-gradient(110deg,#6d28d9,#a43cf0 55%,#ff4f9a);box-shadow:0 10px 24px -10px rgba(160,60,240,.7)}
.ac-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ac-card{position:relative;display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;padding:24px;border-radius:26px;background:rgba(255,255,255,.78);border:1px solid #fff;box-shadow:var(--shadow-1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.ac-card img,.ac-card .ph-ico{width:64px;height:64px;border-radius:18px;object-fit:contain;filter:drop-shadow(0 12px 16px rgba(120,60,200,.22))}
.ac-card h3{font-size:17.5px;font-weight:700}
.ac-card p{margin-top:6px;font-size:14px;color:var(--ink-2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ac-card .go{margin-top:10px;font-size:13.5px}
.ac-empty{text-align:center;padding:40px 0;color:var(--ink-3)}

/* ---------- 价格页补充 ---------- */
.feat5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}

/* ---------- 案例 ---------- */
.flt{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:44px}
.flt a{height:44px;display:inline-flex;align-items:center;padding:0 20px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid #fff;box-shadow:var(--shadow-1);font-size:15px;font-weight:600;color:var(--ink-2);transition:transform .25s,box-shadow .25s}
.flt a:hover{transform:translateY(-2px);color:var(--ink)}
.flt a[aria-current]{color:#fff;background:linear-gradient(110deg,#6d28d9,#a43cf0 55%,#ff4f9a);border-color:transparent;box-shadow:0 10px 24px -10px rgba(160,60,240,.7)}
.cs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.cs-card{position:relative;overflow:hidden;border-radius:30px;background:#fff;border:1px solid rgba(255,255,255,.95);box-shadow:0 30px 60px -32px rgba(40,40,140,.45)}
.cs-cover{aspect-ratio:760/516;overflow:hidden;background:var(--c1)}
.cs-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.cs-card:hover .cs-cover img{transform:scale(1.05)}
.cs-body{display:flex;gap:14px;align-items:flex-start;padding:22px 24px 26px}
.cs-body .lg2{width:52px;height:52px;border-radius:16px;object-fit:cover;flex:none;box-shadow:var(--shadow-1)}
.cs-body h3{font-size:18px;font-weight:800}
.cs-body p{margin-top:6px;font-size:14px;color:var(--ink-2);line-height:1.6}
.cs-body .kind{display:inline-block;margin-top:10px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;color:var(--ac);background:color-mix(in srgb,var(--ac) 10%,#fff)}
.cs-qr{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff;font-weight:600;background:rgba(30,12,80,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .3s}
.cs-qr img{width:160px;height:160px;padding:8px;border-radius:20px;background:#fff}
.cs-card:hover .cs-qr,.cs-card:focus-within .cs-qr{opacity:1}
.empty{max-width:520px;margin:0 auto;padding:60px 30px;text-align:center;border-radius:30px;background:rgba(255,255,255,.7);border:1px solid #fff;box-shadow:var(--shadow-1);color:var(--ink-2)}
.empty .btn{margin-top:20px}
.rv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:920px;margin:0 auto}
.rv-card{display:flex;gap:18px;align-items:flex-start;padding:30px;border-radius:28px;background:rgba(255,255,255,.78);border:1px solid #fff;box-shadow:var(--shadow-1)}
.rv-card img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.rv-card blockquote{margin:0;font-size:18px;font-weight:600;line-height:1.6}
.rv-card figcaption{margin-top:10px;font-size:14px;color:var(--ink-3)}

/* ---------- 资讯 ---------- */
.nw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.nw-card{display:flex;flex-direction:column;overflow:hidden;border-radius:28px;background:rgba(255,255,255,.85);border:1px solid #fff;box-shadow:var(--shadow-1)}
.nw-cover{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--c1)}
.nw-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.nw-card:hover .nw-cover img{transform:scale(1.05)}
.nw-body{display:flex;flex-direction:column;flex:1;gap:10px;padding:22px 24px 26px}
.nw-body .kind{align-self:flex-start;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;color:var(--ac);background:color-mix(in srgb,var(--ac) 10%,#fff)}
.nw-body h3{font-size:18px;font-weight:700;line-height:1.5}
.nw-body h3 a:hover{color:var(--ac)}
.nw-body p{flex:1;font-size:14px;color:var(--ink-2);line-height:1.7}
.nw-body time{font-size:13px;color:var(--ink-3);font-family:var(--num)}
.nw-card.feat{grid-column:span 3;flex-direction:row}
.nw-card.feat .nw-cover{flex:0 0 56%;aspect-ratio:auto;min-height:340px}
.nw-card.feat .nw-body{padding:40px 44px;justify-content:center}
.nw-card.feat h3{font-size:28px;line-height:1.35}
.nw-card.feat p{flex:none;font-size:15.5px}
.art{position:relative;margin-top:-40px;z-index:3}
.art-card{max-width:880px;margin:0 auto;padding:56px 64px;border-radius:36px;background:#fff;border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow-2)}
.prose{font-size:17px;color:var(--ink-2);line-height:1.9}
.prose p{margin:0 0 1.1em}
.prose img{margin:1.4em auto;border-radius:18px;box-shadow:var(--shadow-1)}
.prose h2,.prose h3{margin:1.6em 0 .6em;color:var(--ink)}
.prose strong,.prose b{color:var(--ink)}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:880px;margin:28px auto 0}
.pager a{padding:20px 24px;border-radius:22px;background:rgba(255,255,255,.75);border:1px solid #fff;box-shadow:var(--shadow-1);font-weight:700;line-height:1.5;transition:transform .3s}
.pager a:hover{transform:translateY(-3px)}
.pager small{display:block;margin-bottom:4px;font-weight:500;font-size:13px;color:var(--ink-3)}
.pager .next{text-align:right}
.ph .meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ph .meta span{padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid #fff;font-size:13.5px;color:var(--ink-2)}
.ph.article-h h1{font-size:clamp(30px,3.8vw,50px);line-height:1.25}

/* ---------- 关于 / 体验 ---------- */
.about-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:center}
.about-grid .lead{margin-top:20px}
.stat4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.stat4 .st{padding:30px;border-radius:28px;background:linear-gradient(160deg,#fff,var(--c1));border:1px solid #fff;box-shadow:var(--shadow-1)}
.stat4 .st b{display:block;font-family:var(--num);font-size:42px;font-weight:900;letter-spacing:-.03em;line-height:1.1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat4 .st span{display:block;margin-top:6px;font-size:14px;color:var(--ink-3)}
.qr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.qr-card{margin:0;padding:28px 24px;border-radius:28px;text-align:center;background:rgba(255,255,255,.8);border:1px solid #fff;box-shadow:var(--shadow-1)}
.qr-card img{width:100%;max-width:190px;margin:0 auto;border-radius:16px}
.qr-card figcaption{margin-top:14px;font-size:16px;font-weight:700}
.demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.demo{display:flex;flex-direction:column;gap:8px;padding:30px;border-radius:28px;background:rgba(255,255,255,.8);border:1px solid #fff;box-shadow:var(--shadow-1)}
.demo h3{font-size:20px;font-weight:800}
.demo p{font-size:14px;color:var(--ink-3);word-break:break-all}
.demo .go{margin-top:auto;padding-top:10px}
.demo.qr{flex-direction:row;align-items:center;gap:20px;color:#fff;background:radial-gradient(120% 80% at 100% 0%,#ff4fa0,transparent 55%),linear-gradient(160deg,#7c3aed,#5b21b6);border:0}
.demo.qr p{color:rgba(255,255,255,.85)}
.demo.qr img{width:112px;height:112px;padding:6px;border-radius:16px;background:#fff;flex:none}
.note{margin-top:20px;text-align:center;font-size:14px;color:var(--ink-3)}

/* ---------- 页底 CTA（内页） ---------- */
.cta.inner{padding:20px 0 110px;background:#fbf9ff}
.cta.inner .cta-box{padding:84px 40px}
.cta.inner h2{font-size:clamp(34px,4.6vw,64px)}

/* ---------- 响应式 ---------- */
@media (max-width:1180px){
  .dd-panel.c4{grid-template-columns:repeat(4,150px)}
}
@media (max-width:1024px){
  .ph-in{grid-template-columns:minmax(0,1fr);gap:40px}
  .ph-vis{max-width:560px;width:100%;margin:0 auto;min-height:320px}
  .fr,.fr.rev{grid-template-columns:minmax(0,1fr);gap:32px}
  .fr.rev .fr-copy{order:0}
  .cg.c4,.cg.c5,.feat5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .addon{grid-template-columns:minmax(0,1fr)}
  .addon-side{position:static}
  .ac-grid,.cs-grid,.nw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nw-card.feat{grid-column:span 2}
  .about-grid{grid-template-columns:minmax(0,1fr)}
  .qr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .demo-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  .ph{padding:104px 0 64px}
  .ph h1{font-size:38px;margin-top:16px}
  .crumbs{margin-bottom:14px;font-size:12px}
  .ph-cta{margin-top:24px;gap:10px;flex-wrap:nowrap}
  .ph-cta .btn{flex:1;height:50px;padding:0 14px;font-size:15px}
  .ph-vis{min-height:260px}
  .ph-vis .pf{width:min(200px,52cqw)}
  .ph-vis .fcard{font-size:10.5px}
  .ph-vis .q3{display:none}
  .ps{padding:72px 0}
  .ps .head{margin-bottom:36px}
  .ps .h2{font-size:28px}
  .fr+.fr{margin-top:64px}
  .fr-no{font-size:44px}
  .fr h3{font-size:24px}
  .stage-card{min-height:0;padding:24px;border-radius:26px}
  .stage-card>img{max-height:360px}
  .cg.c2,.cg.c3,.cg.c4,.cg.c5,.feat5{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .cg.text.c2,.cg.text.c3,.cg.text.c4{grid-template-columns:minmax(0,1fr)}
  .cd{padding:22px 18px;border-radius:22px}
  .cd .ci{width:50px;height:50px;border-radius:16px}
  .cd .ci img{width:34px;height:34px}
  .cd h4{font-size:16px;margin-top:14px}
  .cd p{font-size:13px}
  .cd .no{font-size:34px}
  .cd.media .cb{padding:14px 16px 18px}
  .figs.grid.c2,.figs.grid.c3{grid-template-columns:minmax(0,1fr)}
  .fig{padding:8px;border-radius:22px}
  .fig img{border-radius:15px}
  .pgal{margin:0 -20px}
  .pgal-track{gap:18px;padding:16px 20px 36px}
  .pgal-track.center{justify-content:flex-start}
  .pgal .pf{flex-basis:190px}
  .pgal-btn{display:none}
  .rel{grid-template-columns:minmax(0,1fr)}
  .ac-tabs{border-radius:24px}
  .ac-tab{height:40px;padding:0 14px;font-size:14px}
  .ac-grid,.cs-grid,.nw-grid,.rv-grid{grid-template-columns:minmax(0,1fr)}
  .nw-card.feat{grid-column:auto;flex-direction:column}
  .nw-card.feat .nw-cover{min-height:0;aspect-ratio:16/9}
  .nw-card.feat .nw-body{padding:22px 24px 26px}
  .nw-card.feat h3{font-size:20px}
  .art-card{padding:28px 20px;border-radius:26px}
  .prose{font-size:16px}
  .pager{grid-template-columns:minmax(0,1fr)}
  .pager .next{text-align:left}
  .stat4 .st{padding:22px}
  .stat4 .st b{font-size:32px}
  .demo.qr{flex-direction:column;text-align:center}
  .modal-card{padding:30px 22px;border-radius:26px}
  .modal-body{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:18px}
  .cta.inner{padding:0 0 70px}
  .cta.inner .cta-box{padding:60px 22px}
  .cta.inner h2{font-size:36px}
}

/* 标题自动平衡换行，避免末行只剩一个字 */
.h2,.ph h1,.fr h3,.fcd h3,.cta h2{text-wrap:balance}

/* =========================================================
   富页面组件：把原来「整张图片」的内容改写成网页 + 动效
   ========================================================= */

/* 依次出场：容器加 .rv.stg，子元素带 --i */
.js .stg>*{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 90ms)}
.js .stg.in>*{opacity:1;transform:none}
.js .rv.stg{opacity:1;transform:none}

/* 图标方块 */
.ib{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:18px;color:#fff;font-size:26px;background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 45%,#fff));box-shadow:0 14px 26px -12px var(--ac)}
.ib .ico{stroke-width:1.8}

/* ---------- tiles：模式方块 + 行业图标 ---------- */
.tiles{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:20px;perspective:1200px}
.tile{position:relative;overflow:hidden;min-height:210px;padding:30px 28px;border-radius:30px;color:#fff;background:radial-gradient(120% 100% at 100% 100%,color-mix(in srgb,var(--ac) 70%,#000) 0%,transparent 60%),linear-gradient(160deg,#2a2160 0%,#151033 100%);box-shadow:0 30px 60px -30px rgba(40,20,120,.7);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;transform-style:preserve-3d}
.tile:hover{transform:translateY(-8px) rotateX(6deg) rotateY(-6deg);box-shadow:0 40px 70px -30px color-mix(in srgb,var(--ac) 80%,transparent)}
.tile h3{position:relative;z-index:2;font-size:24px;font-weight:800}
.tile p{position:relative;z-index:2;margin-top:8px;font-size:14px;color:rgba(255,255,255,.72)}
.tile .cube{position:absolute;right:-6px;bottom:-14px;width:120px;height:120px;transform:translateZ(30px)}
.tile .cube i{position:absolute;inset:18px;border-radius:24px;background:linear-gradient(150deg,rgba(255,255,255,.35),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transform:rotate(45deg) skew(-12deg,-12deg)}
.tile .cube i:nth-child(2){inset:34px;background:linear-gradient(150deg,color-mix(in srgb,var(--ac) 80%,#fff),color-mix(in srgb,var(--ac) 40%,transparent));animation:bob 6s ease-in-out infinite}
.tile .ti{position:absolute;right:30px;bottom:34px;z-index:3;color:#fff;font-size:30px;opacity:.95}
.iconrow{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px;margin-top:40px}
.iconrow div{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:15px;font-weight:600;color:var(--ink-2)}
.iconrow span{display:grid;place-items:center;width:76px;height:76px;border-radius:24px;font-size:32px;color:var(--ac);background:linear-gradient(160deg,#fff,var(--c1));border:1px solid #fff;box-shadow:0 18px 30px -18px color-mix(in srgb,var(--ac) 70%,transparent);transition:transform .4s cubic-bezier(.2,.8,.2,1),color .3s,background .3s}
.iconrow div:hover span{transform:translateY(-8px) scale(1.06);color:#fff;background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 45%,#fff))}

/* ---------- split：图文分栏 ---------- */
.split2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:center}
.split2.rev .sp-copy{order:2}
.sp-copy .h2{margin-top:16px;font-size:clamp(28px,3.2vw,42px)}
.sp-copy .lead{margin-top:16px}
.sp-items{display:grid;gap:14px;margin-top:30px}
.sp-item{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.7);border:1px solid #fff;box-shadow:var(--shadow-1);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.sp-item:hover{transform:translateX(6px);box-shadow:var(--shadow-2)}
.sp-item .ib{width:46px;height:46px;border-radius:15px;font-size:22px}
.sp-item h4{font-size:17px;font-weight:700}
.sp-item p{margin-top:4px;font-size:14.5px;color:var(--ink-2);line-height:1.65}
.sp-copy .chips{margin-top:26px}
.sp-copy .chips span{padding:10px 18px;font-size:14px;background:#fff}
.sp-copy .ticks{margin-top:24px}
.sp-media{position:relative;display:flex;justify-content:center}

/* 链路图 */
.flowbox{position:relative;width:100%;padding:44px 34px;border-radius:36px;color:#fff;background:radial-gradient(90% 100% at 100% 0%,color-mix(in srgb,var(--ac) 60%,#ff4fa0) 0%,transparent 60%),linear-gradient(150deg,color-mix(in srgb,var(--ac) 90%,#000) 0%,color-mix(in srgb,var(--ac) 70%,#3b6cff) 100%);box-shadow:0 50px 90px -40px color-mix(in srgb,var(--ac) 80%,transparent);overflow:hidden}
.flowbox::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:36px 36px}
.flow{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:0}
.flow .end{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;width:96px;padding:16px 8px;border-radius:22px;background:#fff;color:var(--ink);font-size:14px;font-weight:700;box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}
.flow .end .ico{font-size:28px;color:var(--ac)}
.flow .mid{position:relative;display:grid;gap:22px;padding:0 4px}
.flow .mid svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.flow .mid path{fill:none;stroke:rgba(255,255,255,.45);stroke-width:3;stroke-dasharray:8 10;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-36}}
.flow .node{position:relative;z-index:2;justify-self:center;padding:12px 26px;border-radius:999px;background:#fff;color:var(--ink);font-size:15px;font-weight:700;box-shadow:0 16px 30px -16px rgba(0,0,0,.5)}
.flow .node::after{content:"";position:absolute;right:-6px;top:-4px;width:12px;height:12px;border-radius:50%;background:#7ef7c8;box-shadow:0 0 0 0 rgba(126,247,200,.6);animation:ping 2.4s ease-out infinite;animation-delay:calc(var(--i,0)*.4s)}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(126,247,200,.7)}80%,100%{box-shadow:0 0 0 14px rgba(126,247,200,0)}}

/* 动态图表 */
.chartbox{position:relative;width:100%;padding:40px;border-radius:36px;background:linear-gradient(150deg,color-mix(in srgb,var(--ac) 90%,#000),color-mix(in srgb,var(--ac) 75%,#3b6cff));box-shadow:0 50px 90px -40px color-mix(in srgb,var(--ac) 80%,transparent)}
.chart{position:relative;padding:28px 28px 20px;border-radius:24px;background:#fff;box-shadow:0 30px 50px -30px rgba(0,0,0,.5)}
.chart .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}
.chart .kpis div{padding:12px 14px;border-radius:14px;background:var(--c1)}
.chart .kpis small{display:block;font-size:12px;color:var(--ink-3)}
.chart .kpis b{display:block;margin-top:2px;font-size:14px;font-weight:700}
.chart .kpis i{display:block;height:6px;margin-top:10px;border-radius:3px;width:var(--w);background:linear-gradient(90deg,var(--ac),#ff4fa0);transform-origin:0 50%;transform:scaleX(.1);transition:transform 1.2s cubic-bezier(.2,.8,.2,1) .3s}
.in .chart .kpis i{transform:none}
.chart .plot{position:relative;height:180px;display:flex;align-items:flex-end;gap:14px;padding:0 6px;border-bottom:1px solid var(--line)}
.chart .plot i{flex:1;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,var(--c,var(--ac)),color-mix(in srgb,var(--c,var(--ac)) 40%,#fff));transform-origin:50% 100%;transform:scaleY(.08);transition:transform 1.1s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0)*110ms)}
.in .chart .plot i,.no-js .chart .plot i{transform:scaleY(1)}
.chart .plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.chart .plot path{fill:none;stroke:var(--ac);stroke-width:4;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset 2s cubic-bezier(.4,0,.2,1) .4s}
.in .chart .plot path{stroke-dashoffset:0}
.chart .plot circle{fill:#fff;stroke:var(--ac);stroke-width:3}

/* 环绕图 */
.orbit{position:relative;width:min(460px,100%);aspect-ratio:1;margin:0 auto}
.orbit .ring{position:absolute;left:50%;top:50%;translate:-50% -50%;border-radius:50%;border:1px dashed color-mix(in srgb,var(--ac) 35%,transparent)}
.orbit .ring.r1{width:100%;aspect-ratio:1}
.orbit .ring.r2{width:66%;aspect-ratio:1;border-style:solid;border-color:rgba(255,255,255,.9);box-shadow:inset 0 0 40px rgba(255,255,255,.6)}
.orbit .core{position:absolute;left:50%;top:50%;translate:-50% -50%;display:grid;place-items:center;width:34%;aspect-ratio:1;border-radius:50%;padding:10px;text-align:center;color:#fff;font-size:18px;font-weight:800;background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 40%,#ff4fa0));box-shadow:0 30px 60px -20px var(--ac),inset 0 2px 0 rgba(255,255,255,.4)}
.orbit .spin{position:absolute;inset:0;animation:spin 40s linear infinite}
.orbit .sat{position:absolute;left:calc(50% + 50% * cos(var(--a)));top:calc(50% + 50% * sin(var(--a)));width:0;height:0}
.orbit .sat b{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:9px 15px;border-radius:999px;background:#fff;font-size:14px;font-weight:700;box-shadow:var(--shadow-2);translate:-50% -50%;animation:spin 40s linear infinite reverse}
.orbit .sat b .ico{color:var(--ac)}

/* 大图标视觉 */
.bigico{position:relative;display:grid;place-items:center;width:min(440px,100%);aspect-ratio:1;container-type:inline-size}
.bigico .ring{position:absolute;left:50%;top:50%;translate:-50% -50%;border-radius:50%;border:1px solid rgba(255,255,255,.85);box-shadow:inset 0 0 40px rgba(255,255,255,.4)}
.bigico .ring.r1{width:92%;aspect-ratio:1}
.bigico .ring.r2{width:70%;aspect-ratio:1;border-style:dashed;border-color:color-mix(in srgb,var(--ac) 30%,transparent);animation:spin 50s linear infinite}
.bigico .fcard{z-index:3;font-size:clamp(11px,3.2cqw,14px)}
.bigico .fcard .fi{--fa:var(--ac);--fb:color-mix(in srgb,var(--ac) 45%,#fff)}
.bigico .bp1{left:-2%;top:16%}.bigico .bp2{right:-4%;top:46%}.bigico .bp3{left:6%;bottom:8%}
.bigico .halo{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--g1) 70%,#fff),transparent 70%)}
.bigico span{position:relative;display:grid;place-items:center;width:48%;aspect-ratio:1;border-radius:30%;font-size:min(90px,22vw);color:#fff;background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 40%,#ff9fd0));box-shadow:0 40px 80px -30px var(--ac),inset 0 2px 0 rgba(255,255,255,.4);animation:bob 7s ease-in-out infinite}

/* 媒体图 */
.mediacard{width:100%;padding:14px;border-radius:32px;background:rgba(255,255,255,.7);border:1px solid #fff;box-shadow:var(--shadow-2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.mediacard img{width:100%;border-radius:22px}
.sp-media .pf{width:min(280px,60%)}
.sp-media .pf+.pf{margin-left:-60px;margin-top:80px;width:min(240px,50%)}

/* ---------- cards：功能卡片 ---------- */
.fc-grid{display:grid;gap:20px}
.fc-grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.fc-grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fcd{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:32px 30px;border-radius:30px;background:linear-gradient(165deg,#fff 35%,var(--c1));border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow-1)}
.fcd h3{font-size:20px;font-weight:800;line-height:1.35}
.fcd p{font-size:15px;color:var(--ink-2);line-height:1.75}
.fcd .no{position:absolute;right:22px;top:16px;font-family:var(--num);font-size:48px;font-weight:900;line-height:1;color:var(--ac);opacity:.09}
.fcd .chips{margin-top:2px}
.fc-grid.solid .fcd{color:#fff;background:linear-gradient(160deg,#241c54,#120d2b);border-color:rgba(255,255,255,.08)}
.fc-grid.solid .fcd:nth-child(4n+2),.fc-grid.solid .fcd:nth-child(4n+3){background:radial-gradient(100% 120% at 100% 0%,#ff4fa0 0%,transparent 55%),linear-gradient(150deg,var(--ac),color-mix(in srgb,var(--ac) 60%,#3b6cff))}
.fc-grid.c3.solid .fcd:nth-child(n){background:linear-gradient(160deg,#241c54,#120d2b)}
.fc-grid.c3.solid .fcd:nth-child(3n+2){background:radial-gradient(100% 120% at 100% 0%,#ff4fa0 0%,transparent 55%),linear-gradient(150deg,var(--ac),color-mix(in srgb,var(--ac) 60%,#3b6cff))}
.fc-grid.solid .fcd p{color:rgba(255,255,255,.78)}
.fc-grid.solid .fcd .ib{background:rgba(255,255,255,.14);box-shadow:none;border:1px solid rgba(255,255,255,.25)}
.fc-grid.solid .fcd .no{color:#fff;opacity:.12}
.fc-grid.solid .fcd::after{content:"";position:absolute;right:-60px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%)}

/* ---------- steps：流程 ---------- */
.steps{position:relative;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:22px;counter-reset:st}
.steps::before{content:"";position:absolute;left:6%;right:6%;top:30px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--ac),#ff4fa0,#3b6cff);transform-origin:0 50%;transform:scaleX(0);transition:transform 1.6s cubic-bezier(.4,0,.2,1) .2s}
.steps.in::before{transform:scaleX(1)}
.step{position:relative;text-align:center;padding:0 6px}
.step .num{position:relative;z-index:1;display:grid;place-items:center;width:62px;height:62px;margin:0 auto;border-radius:50%;font-family:var(--num);font-size:22px;font-weight:900;color:var(--ac);background:#fff;border:3px solid color-mix(in srgb,var(--ac) 30%,#fff);box-shadow:0 14px 30px -14px var(--ac)}
.step h3{margin-top:20px;font-size:18px;font-weight:800}
.step p{margin-top:8px;font-size:14.5px;color:var(--ink-2);line-height:1.7}

/* ---------- stats：数字 ---------- */
.stats4{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:18px}
.stat-b{padding:34px 26px;border-radius:30px;text-align:center;background:linear-gradient(160deg,#fff,var(--c1));border:1px solid #fff;box-shadow:var(--shadow-1)}
.stat-b b{display:block;font-family:var(--num);font-size:52px;line-height:1.05;font-weight:900;letter-spacing:-.03em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-b b em{font-style:normal;font-size:.55em;margin-left:2px;vertical-align:.45em}
.stat-b>span{display:block;margin-top:10px;font-size:15px;color:var(--ink-2)}
.stat-b b span{display:inline}

/* ---------- phones：截图展示 ---------- */
.phones3{display:flex;justify-content:center;align-items:flex-start;gap:clamp(18px,4vw,56px);flex-wrap:wrap}
.phones3 figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:18px;width:min(260px,40vw)}
.phones3 figure:nth-child(2){margin-top:46px}
.phones3 figure:nth-child(4){margin-top:46px}
.phones3 .pf{width:100%;animation:bob 8s ease-in-out infinite;animation-delay:calc(var(--i,0) * -2s)}
.phones3 figcaption{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:#fff;box-shadow:var(--shadow-1);font-size:14px;font-weight:700}
.phones3 figcaption .ico{color:var(--ac)}

/* ---------- table：对比表 ---------- */
.tbl{overflow-x:auto;border-radius:28px;background:rgba(255,255,255,.8);border:1px solid #fff;box-shadow:var(--shadow-1)}
.tbl table{width:100%;border-collapse:collapse;font-size:15px}
.tbl th,.tbl td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line)}
.tbl th{font-size:14px;color:var(--ink-3);font-weight:700;background:var(--c1)}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{font-weight:700}

/* ---------- quote：大字口号 ---------- */
.slogan{position:relative;overflow:hidden;padding:64px 48px;border-radius:40px;text-align:center;color:#fff;background:radial-gradient(100% 140% at 0% 0%,#a855f7,transparent 55%),radial-gradient(90% 120% at 100% 100%,#ff4fa0,transparent 55%),linear-gradient(135deg,color-mix(in srgb,var(--ac) 90%,#000),#4338ca)}
.slogan h2{font-size:clamp(28px,3.8vw,48px);font-weight:900;line-height:1.25}
.slogan p{margin:16px auto 0;max-width:640px;font-size:17px;color:rgba(255,255,255,.85)}

@media (max-width:1024px){
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .iconrow{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:24px}
  .split2,.split2.rev{grid-template-columns:minmax(0,1fr);gap:36px}
  .split2.rev .sp-copy{order:0}
  .fc-grid.c3,.fc-grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}
  .steps::before{display:none}
  .stats4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .tile{min-height:150px;padding:22px 20px;border-radius:24px}
  .tile h3{font-size:19px}
  .tile .cube{width:90px;height:90px}
  .tile .ti{right:20px;bottom:22px;font-size:24px}
  .iconrow{gap:10px}
  .iconrow span{width:60px;height:60px;border-radius:20px;font-size:26px}
  .iconrow div{font-size:13px;gap:8px}
  .flowbox{padding:26px 14px;border-radius:26px}
  .flow .end{width:68px;padding:12px 4px;font-size:12px;border-radius:16px}
  .flow .end .ico{font-size:22px}
  .flow .node{padding:9px 14px;font-size:13px}
  .flow .mid{gap:16px}
  .chartbox{padding:18px;border-radius:26px}
  .chart{padding:18px 14px 14px}
  .chart .kpis b{font-size:16px}
  .chart .plot{height:130px;gap:8px}
  .fc-grid.c2,.fc-grid.c3,.fc-grid.c4{grid-template-columns:minmax(0,1fr)}
  .fcd{padding:24px 22px;border-radius:24px}
  .fcd h3{font-size:18px}
  .steps{grid-template-columns:minmax(0,1fr)}
  .stat-b b{font-size:38px}
  .phones3{gap:14px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;margin:0 -20px;padding:10px 20px 30px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .phones3::-webkit-scrollbar{display:none}
  .phones3 figure{flex:0 0 62%;scroll-snap-align:center}
  .phones3 figure:nth-child(n){margin-top:0}
  .slogan{padding:44px 22px;border-radius:28px}
  .sp-media .pf+.pf{margin-left:-40px;margin-top:50px}
}
@media (prefers-reduced-motion:reduce){
  .js .stg>*{opacity:1;transform:none}
  .chart .plot i{transform:none}.chart .plot path{stroke-dashoffset:0}
  .steps::before{transform:none}
}

/* ---------- 应用详情页统一样式 ---------- */
.appbadge{position:absolute;left:12%;bottom:8%;z-index:4;display:grid;place-items:center;width:24cqw;aspect-ratio:1;padding:3cqw;border-radius:28%;background:#fff;box-shadow:0 30px 50px -20px color-mix(in srgb,var(--ac) 60%,transparent),0 2px 6px rgba(40,20,100,.08)}
.appbadge img{width:100%;height:auto}
.app-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ph.solo .app-meta{justify-content:center}
.app-meta>*{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.62);border:1px solid #fff;font-size:13.5px;color:var(--ink-2);transition:color .2s,background .2s}
.app-meta a:hover{color:var(--ac);background:#fff}
.app-meta .ico{color:var(--ac)}
.split2.row+.split2.row{margin-top:100px}
.sp-copy .h3{margin-top:12px;font-size:clamp(22px,2.4vw,30px);line-height:1.3;font-weight:800;text-wrap:balance}
@media (max-width:720px){.split2.row+.split2.row{margin-top:64px}.app-meta>*{font-size:12.5px;padding:6px 12px}}
/* 只有标题的卡片：更紧凑，手机两列 */
.fc-grid.mini .fcd{padding:24px 22px;gap:12px}
.fc-grid.mini .fcd h3{font-size:17px}
@media (max-width:720px){.fc-grid.mini{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fc-grid.mini .fcd{padding:18px 16px}.fc-grid.mini .fcd h3{font-size:15px}.fc-grid.mini .fcd .no{font-size:30px}}

/* 透明底白色图标：垫品牌渐变底板 */
img.wi{background:linear-gradient(135deg,#7c3aed,#c084fc);border-radius:24%;padding:14%;box-sizing:border-box;object-fit:contain}
.appbadge:has(img.wi){padding:0;background:linear-gradient(135deg,#7c3aed,#c084fc)}
.appbadge img.wi{padding:22%;border-radius:0;background:none}
.big-icon:has(img.wi){background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 45%,#ff9fd0))}
.big-icon img.wi{background:none;padding:0}

/* 手机截图展示：电脑端一行最多 4 张 */
@media (min-width:721px){
  .phones3{flex-wrap:nowrap}
  .phones3 figure{width:min(250px,22vw)}
}
.iconrow.solo{margin-top:0}

/* ---------- 性能：不在屏幕内的区块暂停所有循环动画 ---------- */
.anim-off,.anim-off *,.anim-off *::before,.anim-off *::after{animation-play-state:paused!important}
/* 手机/触屏设备：光斑不做漂移动画、减小模糊半径，毛玻璃降级为半透明白 */
@media (pointer:coarse),(max-width:720px){
  .blob{animation:none!important;filter:blur(40px)}
  .cta-box .mesh .blob{filter:blur(36px)}
  .fcard,.btn-glass,.btn-line,.eyebrow,.s-points li,.stats,.hero-tabs,.search,.ac-tabs,.side-card,.sp-item,.fig,.mediacard,.shot,.browser,.dp-list li,.panel,.plan,.tile .cube i{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .grain{display:none}
}
/* 轮播里未显示的 banner 不跑动画 */
.slide:not(.is-active) *{animation-play-state:paused!important}

/* ---------- 首页「移动化管理」卡片：带外框的三台手机，从卡片底部探出 ---------- */
.bc.mob{overflow:hidden}
.mob-phones{position:relative;align-self:stretch;min-height:300px}
.mob-phones .pf{position:absolute;width:180px;filter:drop-shadow(0 24px 34px rgba(80,30,120,.28));transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.mob-phones .mph1{left:8%;top:64px;transform:rotate(-8deg)}
.mob-phones .mph2{left:calc(50% - 98px);top:24px;width:196px;z-index:2}
.mob-phones .mph3{right:8%;top:64px;transform:rotate(8deg)}
.bc.mob:hover .mph1{transform:rotate(-10deg) translateY(-10px)}
.bc.mob:hover .mph2{transform:translateY(-14px)}
.bc.mob:hover .mph3{transform:rotate(10deg) translateY(-10px)}
@media (max-width:1024px) and (min-width:721px){
  .mob-phones .pf{width:150px}.mob-phones .mph2{width:164px;left:calc(50% - 82px)}
}
@media (max-width:720px){
  .bc.mob{display:block;padding:28px 22px 0}
  .mob-phones{height:250px;min-height:0;margin:22px -22px 0}
  .mob-phones .pf{width:124px;top:42px}
  .mob-phones .mph1{left:6%}
  .mob-phones .mph2{width:136px;left:calc(50% - 68px);top:12px}
  .mob-phones .mph3{right:6%}
}

/* ---------- 手机端首页细节 ---------- */
p,.lead{text-wrap:pretty}
@media (max-width:720px){
  /* 底部 CTA：装饰圆球不压住电话号码 */
  .cta-box .orb.o2,.cta-box .orb.o3{display:none}
  /* 价格卡：横滑时各卡按内容高度，不留大块空白 */
  .plans{align-items:flex-start}
  .plan ul{flex:none}
  /* 九大方案大卡：文字列加宽，避免一两个字单独成行 */
  .sc{grid-template-columns:1fr 34%}
  .sol-top .sc:first-child{grid-template-columns:1fr 34%}
  /* 联系弹窗按钮占满一行 */
  .modal .btn{width:100%}
}
.modal-x:focus{outline:none}
.modal-x:focus-visible{outline:2px solid var(--violet);outline-offset:2px}

/* ---------- 首页「经营多面手」：多终端图标 ---------- */
.devices{display:grid;grid-template-columns:repeat(4,auto);gap:12px;align-items:end;justify-content:center}
.devices .dv{display:flex;flex-direction:column;align-items:center;gap:8px;width:auto!important;height:auto!important;background:none;border:0;box-shadow:none}
.devices .dv i{display:grid;place-items:center;border-radius:18px;color:#fff;font-style:normal;background:linear-gradient(150deg,var(--ac),color-mix(in srgb,var(--ac) 45%,#9be7ff));box-shadow:0 16px 28px -14px var(--ac),inset 0 1px 0 rgba(255,255,255,.4);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.devices .dv i .ico{stroke-width:1.6}
.devices .dv-pc i{width:92px;height:72px;font-size:38px}
.devices .dv-pad i{width:64px;height:80px;font-size:32px}
.devices .dv-m i{width:48px;height:72px;font-size:26px}
.devices .dv-mp i{width:58px;height:58px;font-size:28px;border-radius:50%}
.devices .dv em{font-style:normal;font-size:13px;font-weight:600;color:var(--ink-2)}
.bc:hover .devices .dv i{transform:translateY(-6px)}
.bc:hover .devices .dv:nth-child(2) i{transition-delay:.05s}.bc:hover .devices .dv:nth-child(3) i{transition-delay:.1s}.bc:hover .devices .dv:nth-child(4) i{transition-delay:.15s}
@media (max-width:720px){
  .devices{justify-content:start;gap:10px}
  .devices .dv-pc i{width:76px;height:58px;font-size:30px}
  .devices .dv-pad i{width:52px;height:66px;font-size:26px}
  .devices .dv-m i{width:40px;height:60px;font-size:22px}
  .devices .dv-mp i{width:48px;height:48px;font-size:22px}
  .devices .dv em{font-size:12px}
}
@media (min-width:721px){
  .bc.w2 .b-txt{max-width:48%}
  .devices{gap:10px}
  .devices .dv-pc i{width:74px;height:58px;font-size:30px}
  .devices .dv-pad i{width:52px;height:66px;font-size:26px}
  .devices .dv-m i{width:40px;height:58px;font-size:22px}
  .devices .dv-mp i{width:48px;height:48px;font-size:22px}
  .devices .dv em{font-size:12.5px}
}
