/* Spare · 重点方案 (solutions.html), scoped to body.page-solutions */
body.page-solutions{background:#fff}
.page-solutions .app{--cd:color-mix(in srgb,var(--c2) 64%,#0d1633);--ct:color-mix(in srgb,var(--c1) 30%,#fff)}

/* =========================================================
   HERO · fanned app cards
   ========================================================= */
.sh{position:relative;overflow:hidden;height:764px;padding:72px 20px 0;background:#fff;isolation:isolate}
.sh-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.sh-svg{position:absolute;left:-6px;top:-6px;width:calc(100% + 12px);height:calc(100% + 12px);display:block}
.sh-e2{animation:hsB 27s ease-in-out -9s infinite alternate}
.sh-in{position:relative;z-index:2;max-width:900px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}
.sh-tag{display:inline-flex;align-items:center;gap:12px;margin:0 0 24px;padding:7px 16px 7px 10px;border-radius:var(--pill);background:rgba(255,255,255,.74);border:1px solid rgba(25,95,249,.16);font-size:13.5px;color:var(--ink-2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 6px 18px -12px rgba(25,95,249,.5)}
.sh-dots{display:inline-flex}
.sh-dots i{width:13px;height:13px;border-radius:50%;margin-left:-4px;background:radial-gradient(circle at 30% 30%,var(--c1),var(--c2));box-shadow:0 0 0 2px #fff}
.sh-dots i:first-child{margin-left:0}
.sh-h{margin:0;font-family:"Noto Sans SC",var(--font);font-size:92px;line-height:1.1;font-weight:600;letter-spacing:.02em;background:linear-gradient(100deg,#0f1f4d 0%,#1a3fa8 40%,#195ff9 72%,#6d9bff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .04em .04em}
.sh-sub{margin:18px 0 0;font-size:17px;line-height:1.7;color:#3f4a66;letter-spacing:.01em}

.fan{position:relative;z-index:1;height:410px;max-width:1320px;margin:40px auto 0}
.fc{position:absolute;left:50%;top:20px;width:180px;height:248px;margin-left:-90px;z-index:var(--z);opacity:0;transform:translate(0,150px) rotate(0deg) scale(.84);transition:transform 1.25s var(--ease),opacity .8s ease;transition-delay:var(--d)}
.fan.in .fc{opacity:1;transform:translate(var(--x),calc(var(--y) - var(--lift,0px))) rotate(var(--r)) scale(var(--s,1))}
.fan.ready .fc{transition:transform .55s var(--ease),opacity .5s;transition-delay:0s}
.fan.ready .fc:hover,.fan.ready .fc:focus-visible{--lift:30px;--s:1.04;z-index:20}
.fc-in{position:absolute;inset:0;display:block;border-radius:16px;overflow:hidden;background:#0d1a3f;box-shadow:0 36px 60px -30px rgba(6,22,80,.8),0 10px 22px -14px rgba(6,22,80,.45);animation:fcBob 7s ease-in-out infinite;animation-delay:var(--bd)}
@keyframes fcBob{50%{transform:translateY(-7px)}}
.fc-in img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.fc-in::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,22,70,.4) 0%,rgba(8,22,70,0) 30%,rgba(8,22,70,.45) 58%,rgba(6,16,54,.95) 100%)}
.fc-in::before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),inset 0 1px 0 rgba(255,255,255,.5);pointer-events:none}
.fc:hover .fc-in img{transform:scale(1.08)}
.fc-top{position:absolute;z-index:1;left:12px;top:12px;display:flex;align-items:center;gap:9px}
.fc-top .aico{width:32px;height:32px;border-radius:10px}
.fc-top .aico svg{width:19px;height:19px}
.fc-top em{font:500 11px var(--mono);font-style:normal;color:rgba(255,255,255,.85);letter-spacing:.06em}
.fc-b{position:absolute;z-index:1;left:14px;right:28px;bottom:14px;color:#fff}
.fc-b b{display:block;font-size:17px;font-weight:500;line-height:1.3;letter-spacing:-.005em}
.fc-f{display:inline-flex;align-items:center;gap:5px;margin-top:9px;padding:3px 9px 3px 6px;border-radius:var(--pill);font:11px var(--mono);color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);white-space:nowrap}
.fc-f .gi{width:12px;height:12px;color:#fff}

/* =========================================================
   STICKY INDEX
   ========================================================= */
.sx-scope{position:relative;z-index:3;margin-top:-22px;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -16px 34px -24px rgba(20,60,180,.45)}
.sx{position:sticky;top:57px;z-index:45;padding:14px 0;border-radius:22px 22px 0 0;transition:background .35s,box-shadow .35s,border-radius .35s}
.sx.stuck{background:rgba(255,255,255,.86);backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px);box-shadow:0 1px 0 var(--line),0 18px 30px -26px rgba(20,40,90,.45);border-radius:0}
.sx-in{max-width:var(--wrap);margin:0 auto;padding:0 40px;display:flex;align-items:center;gap:28px}
.sx-t{margin:0;flex:none;font:500 12.5px var(--mono);letter-spacing:.06em;color:var(--blue)}
.sx-list{position:relative;flex:1;display:flex;justify-content:space-between;gap:4px;padding:3px 0}
.sx-a{position:relative;z-index:1;flex:none;display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 16px 0 7px;border-radius:var(--pill);font-size:14.5px;color:var(--muted);white-space:nowrap;transition:color .3s}
.sx-a:hover,.sx-a.on{color:var(--ink)}
.aico.sm{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.aico.sm svg{width:17px;height:17px}
.sx-a .aico{filter:saturate(.25) brightness(1.12);opacity:.8;transition:filter .4s,opacity .4s}
.sx-a:hover .aico,.sx-a.on .aico{filter:none;opacity:1}
.sx-ind{position:absolute;left:0;top:3px;height:44px;width:0;border-radius:var(--pill);background:#fff;opacity:0;box-shadow:0 0 0 1px color-mix(in srgb,var(--c2) 38%,transparent),0 12px 26px -12px color-mix(in srgb,var(--c2) 70%,transparent);transition:transform .55s var(--ease),width .55s var(--ease),box-shadow .5s,opacity .3s}
.sx-ind.on{opacity:1}
.sx-bar{position:absolute;left:0;right:0;bottom:0;height:2px;overflow:hidden;opacity:0;transition:opacity .3s}
.sx.stuck .sx-bar{opacity:1}
.sx-bar i{display:block;height:100%;background:linear-gradient(90deg,#6594fb,#195ff9);transform-origin:0 50%;transform:scaleX(0);transition:transform .2s linear}

/* =========================================================
   APP BLOCKS · shared pieces
   ========================================================= */
.apps{position:relative}
.app{position:relative;padding:64px 0}
.app:first-child{padding-top:36px}
.ap{position:relative}
.shade{position:absolute;inset:0;pointer-events:none;z-index:0}

.aico{width:36px;height:36px;border-radius:11px;display:inline-grid;place-items:center;flex:none;color:#fff;background:linear-gradient(140deg,var(--c1),var(--c2));box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 8px 18px -10px var(--c2)}
.aico svg{width:21px;height:21px;stroke-width:1.6}

.ah-top{display:flex;align-items:center;gap:12px}
.ah-no{font:500 13px var(--mono);color:var(--ink);letter-spacing:.02em}
.ah-no i{font-style:normal;color:var(--soft);margin-left:6px}
.ah-ind{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--pill);border:1px solid var(--line);font-size:13px;color:var(--muted);background:rgba(255,255,255,.72);white-space:nowrap;transition:color .25s,border-color .25s}
.ah-ind svg{width:13px;height:13px;transition:transform .25s var(--ease)}
.ah-ind:hover{color:var(--blue);border-color:var(--blue-3)}
.ah-ind:hover svg{transform:translateX(2px)}
.ah-name{margin:22px 0 0;font-size:44px;line-height:1.14;font-weight:500;letter-spacing:-.025em;color:var(--ink)}
.ah-name span{color:var(--blue);font-weight:600}
.ah-sub{margin:10px 0 0;font-size:18px;line-height:1.55;color:var(--muted);letter-spacing:-.005em}

.io-h{margin:0 0 10px;font:500 11.5px var(--mono);letter-spacing:.1em;color:var(--soft)}
.io-l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.io-l li{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 13px 6px 10px;border-radius:var(--pill);border:1px solid var(--line);background:#fff;font-size:13.5px;line-height:1.35;color:var(--ink-2);transition:border-color .5s,box-shadow .5s,background .5s,color .5s}
.gi{width:15px;height:15px;flex:none;color:var(--soft);transition:color .5s}
.io-out li{border-radius:9px;font-size:13px}
.app.is-idle .io-in li{border-color:color-mix(in srgb,var(--c2) 50%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--c1) 26%,transparent)}
.app.is-idle .io-in .gi{color:var(--c2)}
.app.is-done .io-out li{border-color:color-mix(in srgb,var(--c2) 45%,#fff);background:color-mix(in srgb,var(--c1) 16%,#fff);color:var(--ink);animation:land .6s var(--ease) both;animation-delay:calc(var(--k) * .1s)}
.app.is-done .io-out .gi{color:var(--c2)}
@keyframes land{0%{transform:translateY(7px) scale(.96)}60%{transform:translateY(-2px) scale(1.01)}100%{transform:none}}

.av{margin:0;position:relative;display:flex;flex-direction:column;gap:5px;padding:15px 18px 16px 22px;border-radius:12px;background:linear-gradient(100deg,color-mix(in srgb,var(--c1) 24%,#fff),rgba(255,255,255,0) 92%);font-size:15.5px;line-height:1.65;color:var(--ink)}
.av::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--c1),var(--c2))}
.av-k{font:500 11.5px var(--mono);letter-spacing:.1em;color:var(--cd)}

.run-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.run-s{display:inline-flex;align-items:center;gap:8px;font:500 11.5px var(--mono);letter-spacing:.1em;color:var(--soft)}
.run-s b{font-weight:500}
.run-s i{width:8px;height:8px;border-radius:50%;background:var(--c2);animation:ping 1.6s ease-out infinite}
.app.is-done .run-s i{animation:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--c2) 22%,transparent)}
.app.is-done .run-s{color:var(--cd)}
.run-c{font:500 12px var(--mono);font-style:normal;color:var(--ink-2)}
@keyframes ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c2) 55%,transparent)}100%{box-shadow:0 0 0 10px rgba(255,255,255,0)}}

/* floating glass cards on images */
.now{position:absolute;z-index:3;left:20px;top:20px;width:340px;max-width:calc(100% - 40px);padding:12px 14px 13px;border-radius:12px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);box-shadow:0 24px 44px -24px rgba(0,12,50,.6);animation:bob 6s ease-in-out infinite}
.now-s{display:flex;align-items:center;gap:7px;font:500 10.5px var(--mono);letter-spacing:.08em;color:var(--soft)}
.now-s::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c2);animation:ping 1.6s ease-out infinite}
.now-r{margin:7px 0 0;display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.5;color:var(--ink)}
.now-k{flex:none;margin-top:1px;padding:1px 9px;border-radius:var(--pill);font:500 11.5px var(--mono);color:var(--cd);background:color-mix(in srgb,var(--c1) 38%,#fff);white-space:nowrap}
.now-t{min-width:0}
.now.swap .now-r{animation:nowIn .5s var(--ease)}
@keyframes nowIn{from{opacity:0;transform:translateY(6px)}}
.fcard{position:absolute;z-index:3;right:20px;bottom:20px;display:flex;align-items:center;gap:12px;padding:10px 18px 10px 10px;border-radius:14px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);box-shadow:0 24px 44px -24px rgba(0,12,50,.6)}
.fcard-i{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#eef0f4;color:var(--soft);transition:background .5s,color .5s}
.fcard-i .gi{width:19px;height:19px;color:inherit}
.fcard-t{font:500 14px var(--mono);color:var(--muted);line-height:1.3;transition:color .4s}
.fcard-t small{display:block;margin-bottom:2px;font:500 10.5px var(--mono);letter-spacing:.06em;color:var(--soft)}
.app.is-done .fcard{animation:land .7s var(--ease)}
.app.is-done .fcard-i{background:linear-gradient(140deg,var(--c1),var(--c2));color:#fff}
.app.is-done .fcard-t{color:var(--ink)}

/* step nodes (shared) */
.stp{list-style:none;margin:0;padding:0}
.st-d{position:relative;flex:none;display:grid;place-items:center}
.st-d em{font-style:normal;transition:opacity .3s}
.st-d::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:10px;margin:-7px 0 0 -3px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(.4);opacity:0;transition:opacity .3s,transform .35s var(--ease)}
.st.done .st-d em{opacity:0}
.st.done .st-d::after{opacity:1;transform:rotate(45deg) scale(1)}
.st-k{font:500 12.5px var(--mono);white-space:nowrap}
.st-k.sw::before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:7px;background:linear-gradient(135deg,var(--c1),var(--c2));vertical-align:1px}

/* line art on images */
.art{pointer-events:none}
.art .art-line{fill:none;stroke:rgba(255,255,255,.72);stroke-width:1.6;stroke-dasharray:4 7}
.art .halo{fill:rgba(255,255,255,.22);stroke:none}
.art .core{fill:#fff;stroke:none}

/* =========================================================
   LAYOUT 1 · split (image + vertical rail)
   ========================================================= */
.sp{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px;border-radius:24px;background:#f2f3f5}
.rev .sp{background:linear-gradient(160deg,#edf2ff 0%,#f3f4f7 60%)}
.rev .sp-m{order:2}
.sp-m{position:relative;margin:0;min-height:700px;border-radius:14px;overflow:hidden;background:#0d1a3f;isolation:isolate}
.sp-m>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.8s var(--ease)}
.sp:hover .sp-m>img{transform:scale(1.06)}
.sp-m .shade{background:linear-gradient(200deg,rgba(25,95,249,.26),rgba(10,20,50,.05) 45%,rgba(8,20,60,.6))}
.sp-b{background:#fff;border-radius:14px;padding:32px 34px 30px 32px;display:flex;flex-direction:column;gap:26px}
.sp-b .run{margin-top:2px}
.art-cnc{position:absolute;z-index:1;left:7%;bottom:15%;width:50%}
.art-cnc .art-line{stroke-dasharray:none;stroke:rgba(255,255,255,.4);stroke-width:1.2}
.art-cnc .art-tool{fill:#fff;stroke:none;filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 12px #ff8a8a)}
.art-rb{position:absolute;z-index:1;left:9%;bottom:17%;width:72%}
.art-rb .wpt circle{fill:#fff;stroke:none;opacity:.85}
.art-rb .art-tcp .halo{fill:rgba(255,179,230,.4)}

.stp-rail{position:relative;display:grid;gap:2px}
.stp-rail::before,.stp-rail::after{content:"";position:absolute;left:14px;top:22px;width:2px;margin-left:-1px;border-radius:2px}
.stp-rail::before{bottom:22px;background:var(--line)}
.stp-rail::after{height:calc((100% - 44px) * var(--p,0));background:linear-gradient(180deg,var(--c1),var(--c2));transition:height .9s var(--ease)}
.stp-rail .st{position:relative;display:flex;align-items:flex-start;gap:14px;padding:7px 12px 7px 0;border-radius:10px;transition:background .45s}
.stp-rail .st-d{z-index:1;width:28px;height:28px;margin-top:1px;border-radius:50%;background:#fff;border:1.5px solid var(--line-2);font:500 10.5px var(--mono);color:var(--soft);transition:background .4s,border-color .4s,box-shadow .4s,color .4s}
.stp-rail .st-c{flex:1;min-width:0;padding-top:3px;font-size:14.5px;line-height:1.55}
.stp-rail .st-k{display:inline-flex;align-items:center;margin-right:6px;padding:1px 10px;border:1px solid var(--line);border-radius:var(--pill);background:#fff;color:var(--ink-2);transition:background .4s,border-color .4s,color .4s}
.stp-rail .st-t{color:var(--muted);transition:color .4s}
.stp-rail .st.done .st-d{background:var(--c2);border-color:var(--c2)}
.stp-rail .st.done .st-t{color:var(--ink-2)}
.stp-rail .st.act{background:linear-gradient(90deg,color-mix(in srgb,var(--c1) 30%,transparent),rgba(255,255,255,0) 92%)}
.stp-rail .st.act .st-d{border-color:var(--c2);color:var(--cd);box-shadow:0 0 0 5px color-mix(in srgb,var(--c2) 15%,transparent)}
.stp-rail .st.act .st-d::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid transparent;border-top-color:var(--c2);border-left-color:var(--c2);animation:spin 1s linear infinite}
.stp-rail .st.act .st-k{background:var(--cd);border-color:transparent;color:#fff}
.stp-rail .st.act .st-t{color:var(--ink)}

/* =========================================================
   LAYOUT 2 · panorama (wide image + horizontal track)
   ========================================================= */
.pn{padding:14px;border-radius:24px;background:#f2f3f5}
.pn-m{position:relative;margin:0;height:480px;border-radius:14px;overflow:hidden;background:#0d1a3f;isolation:isolate}
.pn-m>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.8s var(--ease)}
.pn:hover .pn-m>img{transform:scale(1.03)}
.pn-m .shade{background:linear-gradient(90deg,rgba(6,18,60,.5) 0%,rgba(6,18,60,.1) 50%,rgba(6,18,60,.22) 100%)}
.rev .pn-m .shade{background:linear-gradient(270deg,rgba(6,18,60,.5) 0%,rgba(6,18,60,.1) 50%,rgba(6,18,60,.22) 100%)}
.pn-card{position:absolute;z-index:3;left:24px;top:24px;bottom:24px;width:480px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:28px 30px 26px;border-radius:16px;background:rgba(255,255,255,.86);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 30px 60px -34px rgba(0,10,40,.6)}
.rev .pn-card{left:auto;right:24px}
.pn-m .now{left:auto;right:24px;top:24px}
.rev .pn-m .now{right:auto;left:24px}
.pn-m .fcard{right:24px;bottom:24px}
.rev .pn-m .fcard{right:auto;left:24px}
.art-sun{position:absolute;z-index:1;left:43%;top:17%;width:40%}
.art-sun .art-ticks path{fill:none;stroke:rgba(255,255,255,.6);stroke-width:1.6}
.art-sunb .core{fill:#ffe9a8;filter:drop-shadow(0 0 10px rgba(255,210,90,.95))}
.art-sunb .halo{fill:rgba(255,224,138,.3)}
.art-geo{position:absolute;z-index:1;left:9%;top:22%;width:40%}
.art-geo .gcp path,.art-geo .gcp circle{fill:none;stroke:#ffd66b;stroke-width:1.8}
.art-dr .halo{fill:rgba(138,216,255,.4)}

.pn-flow{padding:28px 22px 12px}
.pn-io{display:grid;grid-template-columns:1fr 150px 1fr;gap:22px;align-items:start}
.pn-io .io-out{text-align:right}
.pn-io .io-out .io-l{justify-content:flex-end}
.pn-go{align-self:start;margin-top:36px;display:flex;align-items:center;gap:10px;font:500 12px var(--mono);color:var(--cd);white-space:nowrap}
.pn-go i{position:relative;flex:1;height:2px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--c2) 60%,#fff) 0 5px,transparent 5px 10px);background-size:20px 100%;animation:goDash 1s linear infinite}
.pn-go i:last-child::after{content:"";position:absolute;right:0;top:50%;width:7px;height:7px;margin-top:-4.5px;border-top:1.6px solid var(--c2);border-right:1.6px solid var(--c2);transform:rotate(45deg)}
@keyframes goDash{to{background-position:20px 0}}
.pn-run{margin-top:24px;padding:22px 20px 28px;border-radius:14px;background:#fff}
.trk{position:relative;padding-top:50px}
.stp-track{position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.stp-track::before,.stp-track::after{content:"";position:absolute;top:21px;height:2px;left:calc(50% / var(--n));border-radius:2px}
.stp-track::before{right:calc(50% / var(--n));background:var(--line)}
.stp-track::after{width:calc((100% - 100% / var(--n)) * var(--p,0));background:linear-gradient(90deg,var(--c1),var(--c2));transition:width 1s var(--ease)}
.T-geo .stp-track::before{background:repeating-linear-gradient(90deg,var(--line-2) 0 6px,transparent 6px 12px)}
.stp-track .st{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 12px}
.stp-track .st-d{width:44px;height:44px;border-radius:50%;background:#fff;border:1.5px solid var(--line-2);font:500 12px var(--mono);color:var(--soft);transition:background .45s,border-color .45s,box-shadow .45s,transform .45s var(--ease),color .45s}
.stp-track .st-d::after{width:6px;height:12px;margin:-8px 0 0 -3.5px}
.stp-track .st-c{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:14px}
.stp-track .st-k{font:600 14px var(--font);color:var(--ink-2);white-space:normal;transition:color .4s}
.stp-track .st-k.sw::before{margin-right:6px}
.stp-track .st-t{font-size:13px;line-height:1.6;color:var(--muted);max-width:190px;transition:color .4s}
.stp-track .st.done .st-d{background:var(--c2);border-color:var(--c2)}
.stp-track .st.done .st-t{color:var(--ink-2)}
.stp-track .st.act .st-d{border-color:var(--c2);color:var(--cd);transform:scale(1.1);box-shadow:0 0 0 7px color-mix(in srgb,var(--c1) 32%,transparent),0 14px 28px -14px var(--c2)}
.stp-track .st.act .st-k{color:var(--cd)}
.stp-track .st.act .st-t{color:var(--ink)}
.trk-bug{position:absolute;z-index:2;top:0;left:calc(50% / var(--n) + (100% - 100% / var(--n)) * var(--p,0));transform:translateX(-50%);transition:left 1s var(--ease)}
.trk-bug .aico{width:32px;height:32px;border-radius:50%;box-shadow:0 0 0 4px #fff,0 10px 22px -8px var(--c2);animation:bob 2.4s ease-in-out infinite}
.trk-bug .aico svg{width:18px;height:18px}
.trk-bug::after{content:"";position:absolute;left:50%;top:37px;width:1.5px;height:10px;margin-left:-.75px;background:linear-gradient(var(--c2),rgba(255,255,255,0))}

.swc .io-h{margin-bottom:12px}
.swc-l{position:relative;display:flex;align-items:center}
.swc-l span{position:relative;z-index:1;flex:none;padding:7px 14px;border-radius:var(--pill);background:#fff;border:1px solid var(--line);font-size:13.5px;font-weight:500;color:var(--ink);box-shadow:0 10px 20px -16px rgba(0,0,0,.35);white-space:nowrap}
.swc-l i{flex:1;min-width:18px;height:1.5px;background:linear-gradient(90deg,var(--c1),var(--c2))}
.swc-dot{position:absolute;left:6%;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--c2);box-shadow:0 0 0 5px color-mix(in srgb,var(--c2) 22%,transparent);animation:swcDot 4.2s cubic-bezier(.65,0,.35,1) infinite}
@keyframes swcDot{0%{left:6%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:92%;opacity:0}}
#app-5 .sp-m>img{object-position:50% 8%}

/* =========================================================
   LAYOUT 3 · console (workbench window mock)
   ========================================================= */
.cn{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.3fr);gap:56px;align-items:center;padding:68px 60px;border-radius:24px;overflow:hidden}
.rev .cn{grid-template-columns:minmax(0,1.3fr) minmax(0,.92fr)}
.rev .cn-l{order:2}
.cn>.art{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.T-blue .cn{background:linear-gradient(180deg,#f3f7ff,#e8f0ff)}
.T-blue .cn::before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(25,95,249,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(25,95,249,.055) 1px,transparent 1px);background-size:24px 24px}
.art-axis .ax-l{fill:none;stroke:rgba(25,95,249,.2);stroke-width:1;stroke-dasharray:14 6 2 6}
.art-axis .ax-b{fill:#fff;stroke:rgba(25,95,249,.4);stroke-width:1.2}
.art-axis text{font:500 13px var(--mono);fill:rgba(25,95,249,.75);text-anchor:middle;stroke:none}
.T-warm .cn{background:linear-gradient(180deg,#fbf8f5,#f4f0ec)}
.T-warm .cn::before{content:"";position:absolute;inset:0;z-index:-2;background-image:radial-gradient(rgba(232,89,12,.2) 1.1px,transparent 1.3px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.15) 70%);mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.15) 70%)}
.art-nest .nest *{fill:none;stroke:rgba(232,89,12,.24);stroke-width:1.4}
.art-nest .cut{fill:none;stroke:rgba(232,89,12,.75);stroke-width:1.6;stroke-dasharray:6 8;animation:dash 1.4s linear infinite}
.art-nest .laser .halo{fill:rgba(255,122,46,.35)}
.art-nest .laser .core{filter:drop-shadow(0 0 6px #ff7a2e)}
.cn-l{display:flex;flex-direction:column;gap:28px}
.win{background:#fff;border-radius:14px;border:1px solid rgba(20,40,90,.08);box-shadow:0 60px 100px -60px rgba(20,50,140,.6),0 2px 6px rgba(20,40,90,.05);overflow:hidden;transform:perspective(1800px) rotateY(-5deg) rotateX(2deg);transition:transform 1s var(--ease)}
.rev .win{transform:perspective(1800px) rotateY(5deg) rotateX(2deg)}
.cn:hover .win{transform:perspective(1800px)}
.win-bar{display:flex;align-items:center;gap:14px;height:48px;padding:0 16px;border-bottom:1px solid var(--line);background:#fafafb}
.win-dots{display:flex;gap:6px}
.win-dots i{width:10px;height:10px;border-radius:50%;background:#e1e2e5}
.win-t{flex:1;min-width:0;font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.win-t em{font-style:normal;color:var(--soft);margin:0 8px}
.win-bar .run-h{margin:0;gap:14px}
.win-body{display:grid;grid-template-columns:1fr 1fr;min-height:430px}
.win-view{position:relative;overflow:hidden;background:#0d1a3f}
.win-view>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.win-view .shade{background:linear-gradient(180deg,rgba(8,20,60,0) 40%,rgba(8,20,60,.55))}
.win-view .now{left:14px;right:14px;top:auto;bottom:14px;width:auto;max-width:none;animation:none}
.win-side{display:flex;flex-direction:column;padding:16px 14px 16px;border-left:1px solid var(--line)}
.win-k{margin:0 8px 10px;font:500 11.5px var(--mono);letter-spacing:.1em;color:var(--soft)}
.wprog{margin:auto 8px 0;padding-top:0;height:4px;border-radius:4px;background:#eef0f4;overflow:hidden}
.wprog i{display:block;height:100%;width:calc(var(--p,0) * 100%);background:linear-gradient(90deg,var(--c1),var(--c2));transition:width .9s var(--ease)}
.stp-log{display:grid;gap:3px;margin-bottom:16px}
.stp-log .st{display:flex;align-items:flex-start;gap:11px;padding:9px 10px;border-radius:9px;transition:background .4s}
.stp-log .st-d{width:18px;height:18px;margin-top:2px;border-radius:50%;border:1.5px solid var(--line-2);background:#fff;transition:background .4s,border-color .4s}
.stp-log .st-d em{display:none}
.stp-log .st-d::after{width:4px;height:8px;margin:-5.5px 0 0 -2.5px;border-width:0 1.6px 1.6px 0}
.stp-log .st-c{flex:1;min-width:0;font-size:13px;line-height:1.5}
.stp-log .st-k{display:block;margin-bottom:2px;font-size:12px;color:var(--ink)}
.stp-log .st-t{color:var(--muted);transition:color .4s}
.stp-log .st.done .st-d{background:var(--c2);border-color:var(--c2)}
.stp-log .st.done .st-t{color:var(--ink-2)}
.stp-log .st.act{background:color-mix(in srgb,var(--c1) 22%,#fff)}
.stp-log .st.act .st-d{border-color:var(--c2);border-right-color:transparent;animation:spin .9s linear infinite}
.stp-log .st.act .st-t{color:var(--ink)}
.win-foot{padding:14px 18px;border-top:1px solid var(--line);background:#fafafb}
.win-foot .io{display:flex;align-items:center;gap:16px}
.win-foot .io-h{margin:0;flex:none}
.win-foot .io-l li{background:#fff}

/* =========================================================
   LAYOUT 4 · bento (tiles + card chain)
   ========================================================= */
.bn{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.bt{position:relative;margin:0;border-radius:20px;padding:28px;background:#fff;border:1px solid var(--line);overflow:hidden;isolation:isolate}
.bt-head{grid-column:1/span 7;grid-row:1;min-height:290px;display:flex;flex-direction:column;justify-content:flex-end}
.bt-img{grid-column:8/span 5;grid-row:1/span 2;padding:0;min-height:520px;background:#0d1a3f}
.bt-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.8s var(--ease)}
.bt-img:hover>img{transform:scale(1.05)}
.bt-img .shade{background:linear-gradient(180deg,rgba(8,20,60,.15),rgba(8,20,60,0) 40%,rgba(8,20,60,.5))}
.bt-in{grid-column:1/span 4;grid-row:2}
.bt-val{grid-column:5/span 3;grid-row:2;display:flex;padding:0;border:0;background:linear-gradient(150deg,var(--c2),color-mix(in srgb,var(--c2) 55%,#0b1640))}
.bt-val .av{flex:1;justify-content:space-between;gap:18px;padding:26px 26px 24px;border-radius:0;background:none;color:#fff;font-size:17px;line-height:1.6}
.bt-val .av::before{display:none}
.bt-val .av-k{color:rgba(255,255,255,.75)}
.bt-run{grid-column:1/span 9;grid-row:3}
.bt-out{grid-column:10/span 3;grid-row:3}
.bt-out .io-l{flex-direction:column;align-items:stretch}
.rev .bt-head{grid-column:6/span 7}
.rev .bt-img{grid-column:1/span 5}
.rev .bt-in{grid-column:6/span 4}
.rev .bt-val{grid-column:10/span 3}
.rev .bt-run{grid-column:4/span 9}
.rev .bt-out{grid-column:1/span 3}

.stp-chain{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:12px}
.stp-chain .st{position:relative;display:flex;flex-direction:column;gap:12px;min-height:172px;padding:16px 14px 16px;border-radius:13px;background:#f6f7f9;border:1px solid transparent;transition:background .45s,border-color .45s,box-shadow .45s,transform .45s var(--ease)}
.stp-chain .st::before{content:"";position:absolute;left:14px;top:0;height:3px;width:0;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--c1),var(--c2))}
.stp-chain .st.act::before{animation:barFill 1.1s linear forwards}
.stp-chain .st.done::before{width:calc(100% - 28px)}
@keyframes barFill{to{width:calc(100% - 28px)}}
.stp-chain .st:not(:last-child)::after{content:"";position:absolute;right:-9px;top:28px;width:6px;height:6px;border-top:1.5px solid var(--line-2);border-right:1.5px solid var(--line-2);transform:rotate(45deg);z-index:2}
.stp-chain .st-d{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line-2);background:#fff;font:500 10.5px var(--mono);color:var(--soft);transition:background .4s,border-color .4s,color .4s}
.stp-chain .st-c{display:flex;flex-direction:column;gap:6px}
.stp-chain .st-k{font-size:12.5px;color:var(--ink);white-space:normal}
.stp-chain .st-t{font-size:13px;line-height:1.55;color:var(--muted);transition:color .4s}
.stp-chain .st.act{background:#fff;border-color:color-mix(in srgb,var(--c2) 40%,#fff);box-shadow:0 18px 34px -22px var(--c2);transform:translateY(-3px)}
.stp-chain .st.act .st-d{border-color:var(--c2);color:var(--cd)}
.stp-chain .st.act .st-t{color:var(--ink)}
.stp-chain .st.done{background:#fff;border-color:var(--line)}
.stp-chain .st.done .st-d{background:var(--c2);border-color:var(--c2)}
.stp-chain .st.done .st-t{color:var(--ink-2)}

/* dark theme (PCB) */
.T-dark{background:#050a1f;color:#fff;overflow:hidden;isolation:isolate}
.T-dark::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(45% 60% at 12% 0%,rgba(108,92,231,.38),rgba(108,92,231,0) 70%),radial-gradient(45% 55% at 100% 100%,rgba(25,95,249,.35),rgba(25,95,249,0) 70%);pointer-events:none}
.app.T-dark{padding:96px 0}
.T-dark .bt{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.09)}
.T-dark .bt-head{background:linear-gradient(160deg,rgba(108,92,231,.2),rgba(255,255,255,.02) 60%)}
.T-dark .ah-name{color:#fff}
.T-dark .ah-name span{color:#a9a2ff}
.T-dark .ah-sub{color:rgba(255,255,255,.62)}
.T-dark .ah-no{color:#fff}
.T-dark .ah-no i{color:rgba(255,255,255,.45)}
.T-dark .ah-ind{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.78)}
.T-dark .ah-ind:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.T-dark .io-h,.T-dark .run-s{color:rgba(255,255,255,.5)}
.T-dark .io-l li{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.86)}
.T-dark .gi{color:rgba(255,255,255,.5)}
.T-dark .run-c{color:rgba(255,255,255,.78)}
.T-dark.is-idle .io-in li{border-color:rgba(184,177,255,.55);box-shadow:0 0 0 3px rgba(108,92,231,.25)}
.T-dark.is-idle .io-in .gi,.T-dark.is-done .io-out .gi{color:#b8b1ff}
.T-dark.is-done .io-out li{background:rgba(108,92,231,.2);border-color:rgba(184,177,255,.5);color:#fff}
.T-dark.is-done .run-s{color:#b8b1ff}
.T-dark .stp-chain .st{background:rgba(255,255,255,.04)}
.T-dark .stp-chain .st:not(:last-child)::after{border-color:rgba(255,255,255,.25)}
.T-dark .stp-chain .st-d{background:transparent;border-color:rgba(255,255,255,.22);color:rgba(255,255,255,.5)}
.T-dark .stp-chain .st-k{color:#fff}
.T-dark .stp-chain .st-t{color:rgba(255,255,255,.55)}
.T-dark .stp-chain .st.act{background:rgba(108,92,231,.18);border-color:rgba(184,177,255,.5);box-shadow:0 20px 44px -24px rgba(123,108,255,.95)}
.T-dark .stp-chain .st.act .st-d{border-color:#b8b1ff;color:#fff}
.T-dark .stp-chain .st.act .st-t{color:#fff}
.T-dark .stp-chain .st.done{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}
.T-dark .stp-chain .st.done .st-d{background:#6c5ce7;border-color:#6c5ce7}
.T-dark .stp-chain .st.done .st-t{color:rgba(255,255,255,.78)}
.T-dark .fcard{background:rgba(255,255,255,.92)}
.art-pcb{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.art-pcb .tr{fill:none;stroke:rgba(184,177,255,.14);stroke-width:2}
.art-pcb .tr-p{fill:none;stroke:#c3bdff;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:70 1000;stroke-dashoffset:1070;animation:trP 5s linear infinite;animation-delay:calc(var(--k) * -.85s);filter:drop-shadow(0 0 5px #8f84ff)}
@keyframes trP{to{stroke-dashoffset:0}}
.art-pcb .via circle{fill:#0b1233;stroke:rgba(184,177,255,.45);stroke-width:1.6}

/* mint theme (dental) */
.T-mint{background:linear-gradient(180deg,#fff 0%,#eef9f6 22%,#f2faf8 100%)}
.T-mint .bt{border-color:#d9eee8}
.T-mint .bt-head{background:linear-gradient(160deg,#e6f8f3,#fff 62%)}
.art-tooth{position:absolute;z-index:-1;right:26px;bottom:-96px;width:250px;height:250px}
.art-tooth path{fill:none;stroke-width:.12}
.art-tooth .t1{stroke:rgba(15,157,138,.34)}
.art-tooth .t2{stroke:rgba(15,157,138,.22)}
.art-tooth .t3{stroke:rgba(15,157,138,.14)}
.art-tooth .t0{stroke:none}
.art-tooth .tdot{fill:#0f9d8a;stroke:none}

/* =========================================================
   MORE · submit a workflow
   ========================================================= */
.mo{position:relative;overflow:hidden;margin:40px 20px 0;border-radius:28px;min-height:760px;background:#07122e;isolation:isolate;display:flex;align-items:center}
.mw{position:absolute;inset:-40px 0;display:flex;flex-direction:column;justify-content:center;gap:18px;transform:rotate(-4deg) scale(1.08);z-index:-2}
.mw-row{overflow:hidden}
.mw-track{display:flex;gap:18px;width:max-content;will-change:transform;animation:mwL 90s linear infinite}
.mw-r2 .mw-track{animation-name:mwR;animation-duration:110s}
@keyframes mwL{to{transform:translate3d(-50%,0,0)}}
@keyframes mwR{from{transform:translate3d(-50%,0,0)}to{transform:none}}
.mw-t{position:relative;margin:0;width:340px;height:300px;border-radius:20px;overflow:hidden;flex:none;background:#12204a}
.mw-s{width:280px;height:250px}
.mw-t img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85)}
.mw-t::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,46,0) 40%,rgba(7,18,46,.78))}
.mw-t figcaption{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff}
.mw-t figcaption b{font-size:15px;font-weight:500}
.mw-t figcaption span{font-family:"IBM Plex Mono",monospace;font-size:11.5px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.mo-veil{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 85% at 20% 50%,rgba(7,18,46,.9) 0,rgba(10,30,90,.6) 50%,rgba(16,60,190,.12) 100%),linear-gradient(90deg,rgba(7,18,46,.55),rgba(25,95,249,.12))}
.mo-in{position:relative;width:100%;display:grid;grid-template-columns:1fr 470px;gap:64px;align-items:center;padding:80px 64px}
.mo-eb{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;padding:7px 15px 7px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#cfe0ff;font-size:13px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.mo-eb i{width:8px;height:8px;border-radius:50%;background:#6d9bff;box-shadow:0 0 0 4px rgba(109,155,255,.25)}
.mo-h{margin:0;font-size:46px;line-height:1.3;font-weight:500;letter-spacing:-.01em;color:#fff}
.mo-nums{display:flex;gap:0;margin-top:40px;max-width:560px}
.mo-nums div{flex:1;padding:4px 24px;border-left:1px solid rgba(255,255,255,.2)}
.mo-nums div:first-child{padding-left:0;border-left:0}
.mo-nums b{display:block;font-family:"Instrument Sans",var(--font);font-size:56px;line-height:1;font-weight:500;letter-spacing:-.03em;background:linear-gradient(180deg,#fff,#9dbcff);-webkit-background-clip:text;background-clip:text;color:transparent}
.mo-nums span{display:block;margin-top:10px;font-size:13.5px;color:#aebfe6}
.mo-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:44px}
.mo-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.mo-ghost:hover{background:rgba(255,255,255,.2)}
/* new workflow window */
.nw{border-radius:20px;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.6);box-shadow:0 40px 80px -30px rgba(0,0,0,.6),inset 0 1px 0 #fff;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden;color:var(--ink)}
.nw-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #e6ecf7;background:rgba(246,249,255,.9);font-size:12.5px;color:#5b6682}
.nw-dots{display:flex;gap:6px}.nw-dots i{width:9px;height:9px;border-radius:50%;background:#d6dcea}
.nw-path{flex:1}
.nw-st{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:500}
.nw-st i{width:7px;height:7px;border-radius:50%;background:var(--blue);animation:nwP 1.6s ease-in-out infinite}
@keyframes nwP{50%{opacity:.25}}
.nw-body{padding:20px 22px 22px;display:grid;gap:18px}
.nw-l{margin:0 0 8px;font-size:11.5px;color:#8590aa;letter-spacing:.04em}
.nw-v{margin:0;display:flex;align-items:center;padding:10px 14px;border-radius:10px;border:1px solid #cfdcf7;background:#fff;font-size:14.5px;box-shadow:0 0 0 3px rgba(25,95,249,.08)}
.nw-caret{width:1.5px;height:16px;margin-left:2px;background:var(--blue);animation:nwP 1s steps(1) infinite}
.nw-files{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.nw-files li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#f5f8fe;font-size:13.5px;font-family:"IBM Plex Mono","Noto Sans SC",monospace}
.nw-files em{margin-left:auto;font-style:normal;font-size:11.5px;color:#8a94ad}
.fx{display:inline-grid;place-items:center;width:40px;height:24px;border-radius:6px;font-size:10px;font-weight:600;color:#fff;letter-spacing:.02em}
.fx-step{background:linear-gradient(140deg,#6d9bff,#195ff9)}.fx-xls{background:linear-gradient(140deg,#5fd08a,#1f9d55)}.fx-dwg{background:linear-gradient(140deg,#ff9e7a,#e8590c)}
.nw-chain{display:flex;align-items:center;gap:0}
.nw-chain span{padding:7px 13px;border-radius:999px;background:#fff;border:1px solid #d5e0f6;font-size:13px;box-shadow:0 4px 10px -8px rgba(25,95,249,.6)}
.nw-chain i{flex:1;height:2px;min-width:18px;background:repeating-linear-gradient(90deg,#9dbaf9 0 5px,transparent 5px 9px);background-size:18px 2px;animation:nwD 1s linear infinite}
@keyframes nwD{to{background-position:18px 0}}
.nw-out{display:flex;flex-wrap:wrap;gap:6px}
.nw-out span{padding:6px 11px;border-radius:8px;background:#eef4ff;color:#1a3fa8;font-size:12.5px;font-family:"IBM Plex Mono","Noto Sans SC",monospace}
.nw-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding-top:4px}
.nw-steps span{position:relative;padding-top:12px;font-size:11.5px;color:#8a94ad;white-space:nowrap}
.nw-steps span::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:4px;background:#e3e9f5}
.nw-steps .on{color:var(--blue)}
.nw-steps .on::before{background:linear-gradient(90deg,#6d9bff,#195ff9)}
.page-solutions .bottom-cta{margin-top:24px}

/* =========================================================
   responsive (desktop first)
   ========================================================= */
@media (max-width:1240px){
  .sx-list{overflow-x:auto;justify-content:flex-start;scrollbar-width:none;padding:3px 3px 14px;margin-bottom:-11px}
  .sx-list::-webkit-scrollbar{display:none}
  .fan{transform:scale(.86);transform-origin:50% 0}
}
@media (max-width:1024px){
  .sx-in{padding:0 24px}
  .sx-t{display:none}
  .sp,.cn,.rev .cn{grid-template-columns:1fr}
  .rev .sp-m,.rev .cn-l{order:0}
  .sp-m{min-height:440px}
  .cn{padding:40px 28px;gap:36px}
  .win,.rev .win{transform:none}
  .pn-card{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto;margin:0}
  .rev .pn-card{right:auto}
  .pn-m{height:auto;min-height:480px;display:flex;align-items:flex-end;padding:260px 16px 16px}
  .pn-m .now,.pn-m .fcard,.art-sun,.art-geo{display:none}
  .pn-io{grid-template-columns:1fr}
  .pn-go{display:none}
  .pn-io .io-out{text-align:left}
  .pn-io .io-out .io-l{justify-content:flex-start}
  .stp-track{grid-template-columns:1fr;gap:18px}
  .stp-track::before,.stp-track::after,.trk-bug{display:none}
  .trk{padding-top:0}
  .stp-track .st{flex-direction:row;align-items:flex-start;text-align:left;gap:14px;padding:0}
  .stp-track .st-c{align-items:flex-start;margin-top:2px}
  .stp-track .st-t{max-width:none}
  .bn{grid-template-columns:1fr}
  .bn>.bt,.rev .bn>.bt{grid-column:1;grid-row:auto}
  .bt-img{min-height:360px}
  .stp-chain{grid-template-columns:1fr 1fr}
  .stp-chain .st::after{display:none}
  .mo-in{grid-template-columns:1fr;padding:56px 32px}
}
@media (max-width:720px){
  .sh{height:auto;padding:64px 16px 0}
  .sh-h{font-size:56px}
  .sh-sub{font-size:15px}
  .fan{height:330px;transform:scale(.62);margin-top:24px}
  .ah-name{font-size:32px}
  .ah-sub{font-size:16px}
  .sp-b{padding:22px 18px}
  .win-body{grid-template-columns:1fr}
  .win-view{min-height:240px}
  .win-side{border-left:0;border-top:1px solid var(--line)}
  .stp-chain{grid-template-columns:1fr}
  .mo-h{font-size:26px}
}
@media (prefers-reduced-motion:reduce){
  .fc,.fc-in,.now,.mw-track,.nw-st i,.nw-caret,.nw-chain i,.trk-bug .aico,.pn-go i,.art-pcb .tr-p,.art-nest .cut,.swc-dot{animation:none!important}
  .swc-dot{display:none}
  .fc{transition:none}
}
