/**
 * Simple Event 产品页(2026-06 新版,自 simple-event-demo.html 移植)。
 * 依赖 main.css 的 :root token(--brand/--ink/--light/--grid/--display/--sans/--zh)
 * 与 Tailwind preflight(box-sizing/img/a/button reset)。
 * 仅在 simple-event 产品页加载,见 inc/assets.php。
 */
:root{
  --ease:cubic-bezier(.22,1,.36,1);
  --bar:0px; /* demo 顶栏占位,正式页无顶栏 */
}

/* 网格底纹(沿用 demo,挂到 single-product.php 输出的 .cs-bg 上) */
.cs-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background-color:var(--bg);
  background-image:linear-gradient(rgba(14,14,14,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(14,14,14,.03) 1px,transparent 1px);
  background-size:96px 96px}
.pr-main{position:relative;z-index:1;max-width:1280px;margin:0 auto;
  padding:0 clamp(20px,5vw,48px);font-family:var(--zh);font-style:normal}

/* 压住 WordPress 全局 a:where(...){text-decoration:underline}(Tailwind preflight 的
   a 只 inherit,压不住),保证正文所有链接(.next/.btn/卡片等)无下划线 */
.pr-main a{text-decoration:none}

/* itsimple_picture() 输出 <picture> 包装,以下规则让它对 demo 布局透明 */
.reel .bg picture{position:absolute;inset:0;display:block}
.scn-pick-img picture{display:block;width:100%;height:100%}
.start .doodles picture{display:contents}

  /* ============ 一套手势:统一进场 ============ */
  .rv>*{opacity:0;transform:translateY(26px);
    transition:opacity .65s ease-out,transform .8s var(--ease)}
  .rv.in>*{opacity:1;transform:none}
  .rv.in>*:nth-child(2){transition-delay:.09s}
  .rv.in>*:nth-child(3){transition-delay:.18s}
  .rv.in>*:nth-child(4){transition-delay:.27s}
  .rv.in>*:nth-child(5){transition-delay:.36s}

  /* ============ 公共文字 ============ */
  .eyebrow{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.18em;
    text-transform:uppercase;color:var(--brand)}
  .kicker-num{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.14em;color:var(--brand)}
  .kicker-num small{color:rgba(14,14,14,.35);font-size:13px}
  .sec-title{font-family:var(--display);font-weight:800;font-size:clamp(2rem,4.4vw,3.9rem);
    line-height:1.1;letter-spacing:-.03em;color:var(--ink);margin:14px 0 0}
  .sec-sub{font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.7;color:rgba(14,14,14,.66);
    margin:18px 0 0;max-width:34em}
  /* :where() 保持与 demo 一致的低优先级,让 .core/.reel 等区块自己的 padding 能覆盖 */
  :where(.pr-main) section{padding:clamp(64px,9vw,140px) 0}

  /* ============ HERO ============ */
  /* 顶距公式与 awards 页 .hero 完全一致(以旧版 event 视觉高度为基准),保证两个产品页标题同高 */
  .hero{min-height:calc(96vh - var(--bar));display:flex;flex-direction:column;justify-content:flex-start;padding:calc(64px + clamp(40px,7.5vh,72px)) 0 6vh}
  .hero .tag{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.2em;
    text-transform:uppercase;color:var(--brand);margin-bottom:clamp(20px,4vh,44px)}
  .hero h1{font-family:var(--display);font-weight:800;text-transform:uppercase;
    font-size:clamp(2.55rem,10.5vw,10rem);line-height:.86;letter-spacing:-.04em;margin:0}
  .hero h1 .ln{display:block}
  .hero h1 .reg{color:var(--brand);font-size:.4em;vertical-align:top;font-weight:700}
  .hero .statement{font-weight:700;font-size:clamp(1.5rem,3.4vw,2.7rem);line-height:1.25;
    letter-spacing:-.01em;color:var(--brand);margin:clamp(22px,4vh,40px) 0 0;max-width:20em}
  .hero .position{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.7;color:rgba(14,14,14,.62);
    margin:16px 0 0;max-width:34em}
  .hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:clamp(26px,4.5vh,44px)}
  .btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--zh);font-weight:600;
    font-size:15px;padding:14px 28px;border-radius:999px;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s}
  .btn .ar{font-family:var(--sans);transition:transform .25s var(--ease)}
  .btn:hover{transform:translateY(-2px)}
  .btn:hover .ar{transform:translateX(3px)}
  .btn-primary{background:var(--brand);color:#fff;border:2px solid var(--brand)}
  .btn-primary:hover{background:#d52f1a;border-color:#d52f1a}
  .btn-ghost{border:2px solid rgba(14,14,14,.22);color:var(--ink)}
  .btn-ghost:hover{border-color:var(--ink)}

  /* ============ Hero 手机模型:滚动转正归中,停靠在过场屏 ============ */
  .hero-phone{position:fixed;left:0;top:0;width:272px;height:574px;z-index:50;
    border:2.5px solid var(--ink);border-radius:34px;background:#fff;overflow:hidden;
    box-shadow:0 26px 64px rgba(14,14,14,.18);will-change:transform;pointer-events:none;
    transform-origin:0 0}
  .hero-phone::before{content:"";position:absolute;top:10px;left:50%;width:24px;height:4px;
    margin-left:-12px;border-radius:2px;background:rgba(14,14,14,.2);z-index:3}
  .hp-screen{position:absolute;inset:0;background:var(--light)}
  .hp-slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:9px;opacity:0;animation:hpFade 8.8s linear infinite}
  .hp-slide .b{font-weight:700;font-size:1.35rem;letter-spacing:-.01em}
  .hp-slide .e{font-family:var(--sans);font-weight:600;font-size:10px;letter-spacing:.18em;
    text-transform:uppercase;opacity:.6}
  .hp-slide .v{font-family:var(--sans);font-weight:600;font-size:9px;letter-spacing:.14em;
    text-transform:uppercase;opacity:.4;position:absolute;bottom:18px}
  .hp-slide.s1{background:#5050E6;color:#fff;animation-delay:0s}
  .hp-slide.s2{background:linear-gradient(160deg,#cfe9f2,#e9daf3 55%,#f7e9c8);color:var(--ink);animation-delay:2.2s}
  .hp-slide.s3{background:#FF7A1A;color:#fff;animation-delay:4.4s}
  .hp-slide.s4{background:#f3f1ec;color:var(--ink);animation-delay:6.6s}
  @keyframes hpFade{0%{opacity:0}4%{opacity:1}25%{opacity:1}32%{opacity:0}100%{opacity:0}}
  .hp-screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
  .phone-dock{width:272px;height:574px;margin:clamp(30px,4.5vh,48px) auto 0}
  .hero-phone.is-inline{position:relative;margin:38px auto 0;pointer-events:auto;transform:none!important}
  @media (max-width:1023px){
    /* 移动端:手机模型改竖直下滑停靠,dock 收窄留边、保持纵横比 */
    .phone-dock{width:min(272px,82vw);height:auto;aspect-ratio:272/574;margin:clamp(24px,4vh,40px) auto 0}
  }

  /* ============ 客户名单行 ============ */
  .clients{padding:clamp(28px,4vw,52px) 0;border-top:1px solid var(--grid)}
  .clients .lab{font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.16em;
    text-transform:uppercase;color:rgba(14,14,14,.42);margin-bottom:18px}
  .clients ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px 12px}
  .clients li{font-weight:500;font-size:13.5px;color:rgba(14,14,14,.62);
    border:1px solid var(--grid);background:#fff;padding:9px 18px;
    transition:color .25s,border-color .25s}
  .clients li:hover{color:var(--ink);border-color:rgba(14,14,14,.4)}

  /* ============ 编号故事:过场(独占一屏,停顿 + 目录) ============ */
  .story-intro{min-height:82vh;display:flex;flex-direction:column;justify-content:center;align-items:center;
    text-align:center;padding:clamp(48px,7vw,96px) 0}
  .story-intro .tick{width:2px;height:clamp(36px,6vh,64px);background:var(--brand);margin-bottom:clamp(24px,4vh,40px)}
  .story-intro .line{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.22em;
    text-transform:uppercase;color:rgba(14,14,14,.4)}
  .story-intro h2{font-family:var(--zh);font-weight:700;font-size:clamp(1.8rem,3.8vw,3.1rem);
    line-height:1.35;letter-spacing:-.015em;margin:18px 0 0;max-width:22em}
  .story-intro .sub{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.7;
    color:rgba(14,14,14,.6);margin:14px 0 0;max-width:30em}
  .story-toc{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;
    gap:clamp(14px,2.6vw,38px);margin:clamp(40px,6vh,64px) 0 0;padding:0}
  .story-toc li{display:flex;align-items:baseline;gap:8px}
  .story-toc .n{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.08em;color:var(--brand)}
  .story-toc .t{font-weight:600;font-size:clamp(.95rem,1.3vw,1.1rem);color:rgba(14,14,14,.72)}
  .story-toc li:not(:last-child)::after{content:"→";font-family:var(--sans);font-size:13px;
    color:rgba(14,14,14,.3);margin-left:clamp(14px,2.6vw,38px)}

  /* ============ (01) 五大业务 × 一个后台 ============ */
  .stack-stage{max-width:1040px;margin:clamp(40px,6vw,72px) auto 0}
  .stack-apps{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1.4vw,20px);
    align-items:end;padding:0 clamp(14px,2.4vw,36px)}
  .stack-app{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
    min-height:clamp(118px,15vw,188px);background:#fff;border:2px solid rgba(14,14,14,.16);border-bottom:none;
    padding:26px 10px 16px;cursor:pointer;
    transition:border-color .25s,background .25s,translate .3s var(--ease),
      opacity .7s ease-out,transform .8s var(--ease)}
  .stack-app::before{content:"";position:absolute;top:11px;left:50%;width:22px;height:4px;margin-left:-11px;
    border-radius:2px;background:rgba(14,14,14,.14);transition:background .25s}
  .stack-app:hover{translate:0 -5px;border-color:var(--ink)}
  .stack-app.is-active{border-color:var(--brand);background:rgba(239,57,34,.04)}
  .stack-app.is-active::before{background:var(--brand)}
  .stack-app .zh{font-weight:700;font-size:clamp(.92rem,1.5vw,1.22rem);line-height:1.25;letter-spacing:-.01em}
  .stack-app .en{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.14em;
    text-transform:uppercase;color:rgba(14,14,14,.55);transition:color .25s}
  .stack-app.is-active .en{color:var(--brand)}
  .stack-platform{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:12px;
    min-height:clamp(56px,6vw,78px);background:var(--ink);color:#fff;
    font-family:var(--display);font-weight:700;font-size:clamp(12px,1.3vw,16px);letter-spacing:.16em;
    transition:opacity .55s ease-out,transform .65s var(--ease)}
  .stack-platform .dot{width:9px;height:9px;border-radius:50%;background:var(--brand);flex:0 0 9px}
  /* 进场编排:后台先立,小程序依次长出(由 .in 触发) */
  .stack-demo .stack-platform{opacity:0;transform:translateY(22px)}
  .stack-demo .stack-app{opacity:0;transform:translateY(60px)}
  .stack-demo.in .stack-platform{opacity:1;transform:none}
  .stack-demo.in .stack-app{opacity:1;transform:none}
  .stack-demo.in .stack-app:nth-child(1){transition-delay:.18s}
  .stack-demo.in .stack-app:nth-child(2){transition-delay:.28s}
  .stack-demo.in .stack-app:nth-child(3){transition-delay:.38s}
  .stack-demo.in .stack-app:nth-child(4){transition-delay:.48s}
  .stack-demo.in .stack-app:nth-child(5){transition-delay:.58s}
  .stack-detail{max-width:1040px;margin:clamp(28px,4vw,48px) auto 0}
  .stack-body{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,72px);align-items:start;
    opacity:1;transition:opacity .2s ease}
  .stack-body.is-leaving{opacity:0}
  .stack-idx{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.12em;color:var(--brand);margin-bottom:12px}
  .stack-title{font-weight:700;font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1.1;letter-spacing:-.02em;margin:0 0 8px}
  .stack-en{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(14,14,14,.4)}
  .stack-desc{font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.75;color:rgba(14,14,14,.72);margin:0 0 18px}
  .stack-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
  .stack-tags li{font-size:13px;border:1px solid rgba(14,14,14,.18);border-radius:999px;padding:6px 14px}

  /* ============ (02) 真实小程序截图墙 ============ */
  .wall{position:relative;margin-top:clamp(28px,4vw,48px);
    margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
  .wall-track{display:flex;gap:clamp(18px,2.4vw,32px);overflow-x:auto;
    padding:clamp(28px,3.5vw,48px) max(calc(50vw - 640px + 48px),5vw);
    scroll-snap-type:x mandatory;scrollbar-width:none}
  .wall-track::-webkit-scrollbar{display:none}
  .wall:not(.is-flow) .wall-item[aria-hidden="true"]{display:none}
  .wall.is-flow .wall-track{overflow:visible;scroll-snap-type:none;will-change:transform;
    padding-left:0;padding-right:0}
  .wall-item{flex:0 0 auto;width:clamp(220px,22vw,272px);scroll-snap-align:center;
    transform:translateY(var(--wy,0)) rotate(var(--wr,0deg));
    transition:transform .45s var(--ease)}
  .wall-item:nth-child(odd){--wy:18px;--wr:-.8deg}
  .wall-item:nth-child(even){--wy:-6px;--wr:.8deg}
  .wall-item:hover{transform:translateY(calc(var(--wy,0) - 10px)) rotate(0deg)}
  .wall-phone{position:relative;aspect-ratio:9/19;border:2.5px solid var(--ink);border-radius:30px;
    overflow:hidden;background:#fff;box-shadow:0 18px 44px rgba(14,14,14,.12)}
  .wall-phone img{width:100%;height:100%;object-fit:cover;object-position:top}
  .wall-phone .ph-fallback{display:none}
  .wall-phone.is-empty img{display:none}
  .wall-phone.is-empty .ph-fallback{display:flex;position:absolute;inset:0;
    flex-direction:column;align-items:center;justify-content:center;gap:10px;
    background:var(--ph-bg,#f4f1ea);text-align:center;padding:18px}
  .wall-phone .ph-fallback .nm{font-family:var(--zh);font-weight:700;
    font-size:1.15rem;line-height:1.3;color:var(--ph-ink,var(--ink))}
  .wall-phone .ph-fallback .tip{font-family:var(--sans);font-weight:600;font-size:10px;
    letter-spacing:.14em;text-transform:uppercase;color:rgba(14,14,14,.4)}
  .wall-cap{margin-top:14px;text-align:center}
  .wall-cap .zh{font-weight:700;font-size:14.5px}
  .wall-cap .en{display:none}
  .wall-hint{font-size:12px;color:rgba(14,14,14,.35);text-align:center;margin-top:8px}

  /* ============ (02) 五大业务:动态矢量块卡 ============ */
  .biz-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.6vw,22px);
    margin-top:clamp(40px,6vw,72px)}
  .biz-card{background:#fff;border:2px solid rgba(14,14,14,.14);padding:26px 14px 22px;
    text-align:center;transition:border-color .25s,translate .3s var(--ease)}
  .biz-card:hover{border-color:var(--ink);translate:0 -5px}
  .biz-ico{width:72px;height:72px;margin:0 auto 14px}
  .biz-ico svg{width:100%;height:100%;display:block;overflow:visible}
  .biz-name{font-family:var(--zh);font-weight:700;font-size:clamp(1.1rem,1.5vw,1.3rem);
    line-height:1.25;margin:0;display:flex;flex-direction:column;gap:3px;align-items:center}
  .biz-en{font-family:var(--sans);font-weight:600;font-size:10px;letter-spacing:.16em;
    text-transform:uppercase;color:rgba(14,14,14,.45)}
  .biz-kw{font-size:13px;color:rgba(14,14,14,.6);margin:12px 0 0}
  @media (max-width:1023px){.biz-grid{grid-template-columns:repeat(2,1fr)}
    .biz-card:last-child{grid-column:1/-1}}

  /* 矢量块动效:克制循环,reduced-motion 关闭 */
  .bi-ev .ev-stub{animation:biEvStub 2.8s ease-in-out infinite}
  @keyframes biEvStub{0%,55%,100%{transform:translateX(0)}70%,85%{transform:translateX(4px)}}
  .bi-ev .ev-dot{transform-origin:26px 36px;animation:biEvDot 2.8s ease-in-out infinite}
  @keyframes biEvDot{0%,55%,100%{transform:scale(1)}72%{transform:scale(1.3)}}
  .bi-sh .sh-coin{animation:biShCoin 3.2s ease-in infinite}
  @keyframes biShCoin{0%{transform:translateY(0);opacity:0}12%{opacity:1}
    42%{transform:translateY(24px);opacity:1}55%,100%{transform:translateY(24px);opacity:0}}
  .bi-mb .mb-fill{transform-origin:16px 44.75px;animation:biMbFill 3.6s var(--ease) infinite}
  @keyframes biMbFill{0%{transform:scaleX(.18)}50%,72%{transform:scaleX(1)}100%{transform:scaleX(.18)}}
  .bi-mb .mb-star{transform-origin:52px 30px;animation:biMbStar 3.6s ease-in-out infinite}
  @keyframes biMbStar{0%,46%{transform:scale(0);opacity:0}56%,80%{transform:scale(1);opacity:1}94%,100%{transform:scale(0);opacity:0}}
  .bi-so .so-link{stroke-dasharray:26;animation:biSoLine 3s ease-in-out infinite}
  @keyframes biSoLine{0%{stroke-dashoffset:26}40%,68%{stroke-dashoffset:0}100%{stroke-dashoffset:-26}}
  .bi-so .so-dot{animation:biSoDot 3s ease-in-out infinite}
  @keyframes biSoDot{0%,38%{transform:translate(25px,41px);opacity:0}44%{opacity:1}
    62%{transform:translate(47px,29px);opacity:1}70%,100%{transform:translate(47px,29px);opacity:0}}
  .bi-ec .ec-orbit{transform-origin:36px 36px;animation:biEcSpin 11s linear infinite}
  @keyframes biEcSpin{to{transform:rotate(360deg)}}

  /* (04) 轻量后台示意 */
  .mini-apps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
  .mini-apps span{display:block;background:#fff;border:2px solid rgba(14,14,14,.16);
    border-bottom:none;padding:14px 4px 12px;text-align:center;font-weight:700;font-size:14.5px}
  .profile-strip.is-on{opacity:1;transform:none;transition:none}

  /* ============ 场景:四选一(动物自由站立,悬停活泼) ============ */
  .scn-row{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.6vw,40px);
    margin-top:clamp(36px,5vw,60px);text-align:center}
  .scn-pick{display:flex;flex-direction:column;align-items:center;gap:6px;
    padding:10px 6px 16px;transition:translate .35s var(--ease)}
  .scn-pick-img{position:relative;width:clamp(120px,12.5vw,176px);aspect-ratio:1/1;
    display:flex;align-items:flex-end;justify-content:center;margin-bottom:14px}
  .scn-pick-img::after{content:"";position:absolute;left:16%;right:16%;bottom:-8px;height:12px;
    background:radial-gradient(ellipse,rgba(14,14,14,.14),transparent 68%);
    transition:transform .35s var(--ease),opacity .35s}
  .scn-pick-img img{width:100%;height:100%;object-fit:contain;transform-origin:50% 88%}
  .scn-pick b{font-weight:700;font-size:clamp(1.15rem,1.6vw,1.4rem);
    transition:color .25s}
  .scn-pick i{font-style:normal;font-size:13.5px;line-height:1.6;color:rgba(14,14,14,.58)}
  .scn-pick em{font-style:normal;font-family:var(--sans);font-weight:700;font-size:13px;
    color:var(--brand);margin-top:6px;opacity:0;transform:translateY(4px);
    transition:opacity .25s ease-out,transform .3s var(--ease)}
  .scn-pick:hover{translate:0 -6px}
  .scn-pick:hover b{color:var(--brand)}
  .scn-pick:hover em{opacity:1;transform:none}
  .scn-pick:hover .scn-pick-img img{animation:scnJiggle .6s cubic-bezier(.36,.07,.19,.97) both}
  .scn-pick:hover .scn-pick-img::after{transform:scaleX(1.12);opacity:.8}
  @keyframes scnJiggle{
    0%{transform:rotate(0) translateY(0)}
    20%{transform:rotate(-4deg) translateY(-7px)}
    40%{transform:rotate(4deg) translateY(-9px)}
    60%{transform:rotate(-2.5deg) translateY(-5px)}
    80%{transform:rotate(1.5deg) translateY(-1px)}
    100%{transform:rotate(0) translateY(0)}
  }
  @media (max-width:860px){.scn-row{grid-template-columns:repeat(2,1fr);row-gap:34px}}
  /* 移动端:场景卡片改横版(左文 / 右图),纵向逐条罗列 */
  @media (max-width:760px){
    .scn-row{grid-template-columns:1fr;gap:0;row-gap:0;text-align:left;margin-top:24px}
    .scn-pick{display:grid;grid-template-columns:1fr 88px;column-gap:16px;align-items:center;
      padding:16px 4px;border-bottom:1px solid rgba(14,14,14,.1)}
    .scn-pick-img{grid-column:2;grid-row:1 / -1;align-self:center;width:88px;margin:0}
    .scn-pick b,.scn-pick i,.scn-pick em{grid-column:1}
    .scn-pick em{opacity:1;transform:none;margin-top:8px}
  }

  /* ============ 场景:小农场 ============ */
  .farm{position:relative;height:clamp(380px,42vw,540px);margin-top:clamp(28px,4vw,44px);
    border-top:2px solid rgba(14,14,14,.1);border-bottom:2px solid rgba(14,14,14,.14);
    overflow:hidden}
  .farm-deco img{position:absolute;opacity:.55;transform:rotate(var(--r,0deg))}
  .farm-animal{position:absolute;width:var(--w);display:block;
    animation:faWalk var(--t,40s) linear infinite alternate;animation-delay:var(--d,0s);
    cursor:pointer}
  .fa-1{left:6%}.fa-2{left:32%}.fa-3{left:58%}.fa-4{left:80%}
  @keyframes faWalk{from{left:2%}to{left:calc(98% - var(--w))}}
  .fa-walk{display:block;position:relative;
    animation:faFlip calc(var(--t,40s)*2) step-end infinite;animation-delay:var(--d,0s)}
  @keyframes faFlip{0%,49.99%{transform:scaleX(1)}50%,100%{transform:scaleX(-1)}}
  .fa-walk::after{content:"";position:absolute;left:12%;right:12%;bottom:-7px;height:11px;
    background:radial-gradient(ellipse,rgba(14,14,14,.13),transparent 68%)}
  .fa-face{display:block;transform:scaleX(var(--face,1))}
  .fa-face img{width:100%;display:block;animation:faBob .75s ease-in-out infinite alternate;
    animation-delay:var(--d,0s)}
  @keyframes faBob{from{transform:translateY(0)}to{transform:translateY(-4px)}}
  .fa-tag{position:absolute;bottom:calc(100% + 10px);left:50%;translate:-50% 0;
    white-space:nowrap;background:#fff;border:1.5px solid rgba(14,14,14,.3);border-radius:999px;
    font-weight:600;font-size:12.5px;padding:5px 13px;z-index:1;
    transition:opacity .15s,visibility .15s}
  /* 深度层级:离地越近(越大)越靠前,名牌交错时不打架 */
  .fa-1{z-index:4}.fa-3{z-index:3}.fa-2{z-index:2}.fa-4{z-index:1}
  .fa-card{position:absolute;bottom:calc(100% + 10px);left:50%;width:max-content;max-width:230px;
    translate:-50% 0;background:#fff;border:2px solid var(--ink);
    box-shadow:0 14px 34px rgba(14,14,14,.14);padding:14px 16px;
    display:flex;flex-direction:column;gap:5px;text-align:left;
    opacity:0;transform:translateY(8px) scale(.96);transform-origin:bottom center;
    pointer-events:none;transition:opacity .25s ease-out,transform .3s var(--ease);z-index:5}
  .fa-card b{font-weight:700;font-size:15.5px}
  .fa-card i{font-style:normal;font-size:13px;line-height:1.55;color:rgba(14,14,14,.62)}
  .fa-card em{font-style:normal;font-family:var(--sans);font-weight:700;font-size:12.5px;
    color:var(--brand);margin-top:3px}
  .farm-animal:hover{z-index:10}
  .farm-animal:hover,.farm-animal:hover .fa-walk,.farm-animal:hover .fa-face img{
    animation-play-state:paused}
  .farm-animal:hover .fa-card{opacity:1;transform:translateY(0) scale(1)}
  .farm-animal:hover .fa-tag{opacity:0;visibility:hidden}
  @media (max-width:760px){
    .farm{height:340px}
    .fa-card{max-width:190px}
  }

  /* ============ 场景:紧凑入口行 ============ */
  .scn-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:clamp(32px,4.5vw,52px)}
  .scn-item{display:flex;align-items:center;gap:16px;border:2px solid rgba(14,14,14,.14);
    background:#fff;padding:16px 20px;transition:border-color .25s,background .25s,translate .3s var(--ease)}
  .scn-item:hover{border-color:var(--brand);translate:0 -3px}
  .scn-item img{width:52px;height:52px;object-fit:contain;flex:0 0 52px}
  .scn-item .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
  .scn-item .t b{font-weight:700;font-size:1.05rem}
  .scn-item .t i{font-style:normal;font-size:13px;color:rgba(14,14,14,.55)}
  .scn-item .go{font-family:var(--sans);font-weight:700;font-size:18px;color:var(--brand);
    transition:transform .25s}
  .scn-item:hover .go{transform:translate(3px,-3px)}
  @media (max-width:760px){.scn-list{grid-template-columns:1fr}}

  /* ============ (04) 数据流图:业务 → 后台 → 一份档案 ============ */
  .flow-diagram{max-width:860px;margin:clamp(40px,6vw,72px) auto 0;text-align:center}
  /* 第二拍:业务卡之下,下滑进入视口后才接线 */
  .fd-stage2{max-width:none;margin:0}
  .fd-stage2 .fd-pipes{grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.6vw,22px);height:64px}
  .fd-stage2 .fd-pipes.is-single{grid-template-columns:1fr;height:56px}
  .fd-stage2 .fd-pipe{transform:scaleY(0);transform-origin:top center;
    transition:transform .6s var(--ease)}
  .fd-stage2 .fd-pipes .fd-pipe:nth-child(2){transition-delay:.07s}
  .fd-stage2 .fd-pipes .fd-pipe:nth-child(3){transition-delay:.14s}
  .fd-stage2 .fd-pipes .fd-pipe:nth-child(4){transition-delay:.21s}
  .fd-stage2 .fd-pipes .fd-pipe:nth-child(5){transition-delay:.28s}
  .fd-stage2.in .fd-pipe{transform:scaleY(1)}
  .fd-stage2 .stack-platform{opacity:0;transform:translateY(16px);
    transition:opacity .55s ease-out .4s,transform .7s var(--ease) .4s}
  .fd-stage2.in .stack-platform{opacity:1;transform:none}
  .fd-stage2 .fd-pipes.is-single .fd-pipe{transition-delay:.75s}
  .fd-stage2 .fd-profile-wrap{opacity:0;transform:translateY(14px);
    transition:opacity .55s ease-out 1s,transform .7s var(--ease) 1s}
  .fd-stage2.in .fd-profile-wrap{opacity:1;transform:none}
  /* 02 板块收尾大字:整页定位句,示意图汇流后的重音(子类 fs1/fs2 与 awards 页统一) */
  .fd-statement{margin:clamp(28px,4.5vw,52px) 0 0;line-height:1.25;letter-spacing:-.01em}
  .fd-statement .fs1{display:block;font-weight:600;font-size:clamp(1rem,1.5vw,1.3rem);
    color:rgba(14,14,14,.55);margin-bottom:clamp(8px,1.2vw,14px)}
  .fd-statement .fs2{display:block;font-weight:800;font-size:clamp(1.7rem,3.4vw,3rem);
    color:var(--ink)}
  .fd-statement b{color:var(--brand);position:relative;display:inline-block;isolation:isolate}
  /* 手绘线圈:围住高亮词,进场时随 .in 一笔画出(承全站 .rv 动效) */
  .fd-statement b .scribble{position:absolute;left:50%;top:50%;width:132%;height:200%;
    transform:translate(-50%,-50%);overflow:visible;pointer-events:none;z-index:-1}
  .fd-statement b .scribble path{fill:none;stroke:var(--grid);stroke-width:3.4;
    stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;
    stroke-dasharray:1;stroke-dashoffset:1}
  .fd-statement.in b .scribble path{animation:scribbleDraw 1s var(--ease) .65s forwards}
  @keyframes scribbleDraw{to{stroke-dashoffset:0}}
  /* 数据底座定位句:独立成段,居中,上下留白走全站 section 节奏(clamp 64-140) */
  .data-statement{text-align:center}
  .data-statement .fd-statement{margin:0 auto;max-width:1000px}
  .fd-apps{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(8px,1.2vw,14px)}
  .fd-app{border:2px solid rgba(14,14,14,.16);background:#fff;
    padding:clamp(12px,1.6vw,18px) 6px;font-weight:700;font-size:clamp(14px,1.2vw,16px)}
  .fd-pipes{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(8px,1.2vw,14px);height:56px}
  .fd-pipes.is-single{grid-template-columns:1fr}
  .fd-pipe{position:relative;display:block;width:2px;height:100%;margin:0 auto;
    background:rgba(14,14,14,.14)}
  .fd-pipe .pd{position:absolute;left:50%;top:0;width:7px;height:7px;margin-left:-3.5px;
    border-radius:50%;background:var(--brand);opacity:0}
  .fd-stage2.in .fd-pipe .pd{animation:fdDrop 2.2s ease-in infinite}
  .fd-pipes .fd-pipe:nth-child(1) i{animation-delay:0s}
  .fd-pipes .fd-pipe:nth-child(2) i{animation-delay:.45s}
  .fd-pipes .fd-pipe:nth-child(3) i{animation-delay:.9s}
  .fd-pipes .fd-pipe:nth-child(4) i{animation-delay:1.35s}
  .fd-pipes .fd-pipe:nth-child(5) i{animation-delay:1.8s}
  .fd-pipes.is-single .fd-pipe .pd{width:9px;height:9px;margin-left:-4.5px;animation-delay:.6s}
  @keyframes fdDrop{0%{transform:translateY(-2px);opacity:0}18%{opacity:1}
    82%{opacity:1}100%{transform:translateY(52px);opacity:0}}
  .fd-profile-wrap{margin-top:2px}
  .fd-profile{display:inline-flex;align-items:center;gap:10px;
    border:2.5px solid var(--brand);border-radius:999px;background:rgba(239,57,34,.04);
    padding:13px 26px;font-weight:700;font-size:clamp(15px,1.3vw,17px);
    animation:fdPulse 2.2s ease-out infinite}
  @keyframes fdPulse{0%,55%{box-shadow:0 0 0 0 rgba(239,57,34,.22)}
    90%,100%{box-shadow:0 0 0 12px rgba(239,57,34,0)}}
  @media (max-width:600px){
    .fd-app{font-size:13px;padding:10px 2px}
    .fd-pipes{height:40px}
    @keyframes fdDrop{0%{transform:translateY(-2px);opacity:0}18%{opacity:1}
      82%{opacity:1}100%{transform:translateY(36px);opacity:0}}
  }

  /* ============ 业务卡:点击展开详情 ============ */
  .biz-grid{align-items:start}
  .biz-card{position:relative;cursor:pointer}
  .biz-more{position:absolute;top:10px;right:13px;width:16px;height:16px}
  .biz-more::before,.biz-more::after{content:"";position:absolute;background:rgba(14,14,14,.38);
    transition:transform .3s var(--ease),background .25s}
  .biz-more::before{left:0;right:0;top:7px;height:2px}
  .biz-more::after{top:0;bottom:0;left:7px;width:2px}
  .biz-card:hover .biz-more::before,.biz-card:hover .biz-more::after{background:var(--ink)}
  .biz-card.open .biz-more::after{transform:scaleY(0)}
  .biz-card.open .biz-more::before{background:var(--brand)}
  .biz-detail{display:none;border-top:1px solid rgba(14,14,14,.1);margin-top:14px;padding-top:14px;
    text-align:left;animation:bdIn .35s var(--ease)}
  @keyframes bdIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  .biz-card.open .biz-detail{display:block}
  .biz-card.open .biz-kw{display:none}
  .bd-desc{font-size:13.5px;line-height:1.7;color:rgba(14,14,14,.72);margin:0 0 10px}
  .bd-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0}
  .bd-tags li{font-size:11.5px;color:var(--ink);border:1px solid rgba(14,14,14,.18);
    border-radius:999px;padding:3px 10px}

  /* ============ (02) 对照:分散后台 vs 一个后台 ============ */
  .compare{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(28px,3.5vw,56px);
    margin-top:clamp(40px,6vw,72px);align-items:end}
  .compare .stack-stage{margin:0}
  .cmp-label{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.16em;
    text-transform:uppercase;color:rgba(14,14,14,.45);margin-bottom:14px}
  .cmp-label.is-now{color:var(--brand)}
  .old-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .old-app{border:1.5px dashed rgba(14,14,14,.32);background:rgba(255,255,255,.6);
    padding:16px 10px 13px;display:flex;flex-direction:column;align-items:center;gap:8px}
  .old-app .nm{font-weight:700;font-size:15px;color:rgba(14,14,14,.72)}
  .old-app .bk{font-family:var(--sans);font-weight:600;font-size:10px;letter-spacing:.05em;
    color:rgba(14,14,14,.45);background:rgba(14,14,14,.08);padding:3px 8px;border-radius:3px}
  .old-frags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
  .old-frags span{font-size:11.5px;color:rgba(14,14,14,.5);
    border:1px dashed rgba(14,14,14,.28);border-radius:999px;padding:4px 10px}
  .old-cap{font-size:13px;line-height:1.65;color:rgba(14,14,14,.55);margin:12px 0 0}
  .profile-strip{display:flex;align-items:center;gap:10px;margin-top:14px;
    border:2px solid var(--brand);background:rgba(239,57,34,.04);padding:12px 16px;
    opacity:0;transform:translateY(14px);
    transition:opacity .6s ease-out .95s,transform .7s var(--ease) .95s}
  .stack-demo.in .profile-strip{opacity:1;transform:none}
  .pdot{width:9px;height:9px;border-radius:50%;background:var(--brand);flex:0 0 9px}
  .ptxt{font-size:14px;line-height:1.55}
  .ptxt b{color:var(--brand)}
  @media (max-width:980px){
    .compare{grid-template-columns:1fr;gap:34px;align-items:start}
  }

  /* ============ (02) 构建器 ============ */
  .builder{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,4vw,64px);align-items:center;
    margin-top:clamp(40px,6vw,72px)}
  .b-stage{display:flex;justify-content:center;align-items:center;overflow:hidden}
  .b-phone{position:relative;width:min(320px,82%);height:clamp(360px,34vw,460px);background:#fff;
    border:2px solid var(--ink);padding:34px 18px 18px;display:flex;flex-direction:column;gap:12px}
  .b-phone::before{content:"";position:absolute;top:12px;left:50%;width:24px;height:4px;margin-left:-12px;
    border-radius:2px;background:rgba(14,14,14,.14)}
  .b-blk{display:block;background:var(--light);
    transition:opacity .6s ease-out,transform .75s var(--ease),background .5s ease,border-color .5s ease}
  .b-blk.nav{height:26px;background:var(--ink)}
  .b-blk.hero-b{flex:2.2;background:rgba(239,57,34,.1);border:1px solid rgba(239,57,34,.28)}
  .b-blk.c1,.b-blk.c2{flex:1}
  .b-blk.btn-b{height:36px;width:62%;margin:2px auto 0;border-radius:999px;background:var(--ink)}
  .b-stage .b-blk{opacity:0}
  .b-stage .b-blk.nav{transform:translate(-64px,-30px) rotate(-4deg)}
  .b-stage .b-blk.hero-b{transform:translate(70px,-16px) rotate(3deg)}
  .b-stage .b-blk.c1{transform:translate(-70px,24px) rotate(2deg)}
  .b-stage .b-blk.c2{transform:translate(64px,38px) rotate(-3deg)}
  .b-stage .b-blk.btn-b{transform:translateY(54px)}
  .builder.in .b-blk{opacity:1;transform:none}
  .builder.in .b-blk.nav{transition-delay:.1s}
  .builder.in .b-blk.hero-b{transition-delay:.22s}
  .builder.in .b-blk.c1{transition-delay:.34s}
  .builder.in .b-blk.c2{transition-delay:.46s}
  .builder.in .b-blk.btn-b{transition-delay:.58s}
  .builder.is-branded .b-blk.hero-b{background:var(--brand);border-color:var(--brand)}
  .builder.is-branded .b-blk.btn-b{background:var(--brand)}
  .b-text h3{font-family:var(--sans);font-weight:700;font-size:clamp(1.5rem,2.4vw,2.2rem);
    line-height:1.2;letter-spacing:-.02em;margin:12px 0 16px}
  .b-text p{font-size:1.04rem;line-height:1.7;color:rgba(14,14,14,.74);margin:0 0 20px;max-width:30em}
  .b-list{list-style:none;display:flex;flex-direction:column;gap:9px}
  .b-list li{font-weight:500;font-size:15px;color:rgba(14,14,14,.85)}

  /* ============ (03) 核心底座(红色满幅) ============ */
  .core{background:var(--brand);color:#fff;
    margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
    padding:clamp(80px,11vw,170px) calc(50vw - 50%)}
  .core .kicker-num{color:#fff}
  .core .kicker-num small{color:rgba(255,255,255,.5)}
  .core .sec-title{color:#fff}
  .core .sec-sub{color:rgba(255,255,255,.8)}
  .ace{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:center;
    margin-top:clamp(48px,6vw,88px)}
  .ace.rev .shot{order:-1}
  .ace .label{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.18em;
    text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:10px}
  .ace h3{font-family:var(--sans);font-weight:700;font-size:clamp(1.5rem,2.4vw,2.2rem);
    line-height:1.2;letter-spacing:-.02em;color:#fff;margin:0 0 14px}
  .ace p{font-size:1.04rem;line-height:1.75;color:rgba(255,255,255,.84);max-width:30em}
  .shot{position:relative;aspect-ratio:16/10;background:rgba(0,0,0,.18);display:grid;place-items:center;overflow:hidden}
  .shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
  .shot.is-empty img{display:none}
  .shot span{font-family:ui-monospace,Menlo,monospace;font-size:12px;letter-spacing:.12em;color:rgba(255,255,255,.55)}
  .core-more{margin-top:clamp(56px,7vw,96px)}
  .core-more .hd{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.18em;
    text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:20px}
  .core-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,24px)}
  .core-card{border:1px solid rgba(255,255,255,.32);padding:20px 18px 18px;
    transition:background .25s,border-color .25s}
  .core-card:hover{background:rgba(255,255,255,.08);border-color:#fff}
  .core-card .en{font-family:var(--sans);font-weight:600;font-size:11px;letter-spacing:.16em;
    text-transform:uppercase;color:rgba(255,255,255,.78);margin-bottom:8px}
  .core-card h4{font-family:var(--zh);font-weight:700;font-size:1.06rem;color:#fff;margin:0 0 8px;line-height:1.3}
  .core-card p{font-size:13px;line-height:1.65;color:rgba(255,255,255,.78);margin:0}

  /* ============ (04) 数据资产 ============ */
  .assets{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.5vw,32px);
    margin-top:clamp(44px,6vw,72px)}
  .asset{position:relative;border-top:3px solid var(--brand);padding-top:18px}
  .asset h3{font-family:var(--sans);font-weight:700;font-size:clamp(1.15rem,1.6vw,1.4rem);
    line-height:1.2;margin:0 0 10px}
  .asset p{font-size:.95rem;line-height:1.65;color:rgba(14,14,14,.72);margin:0}
  .asset .drops{position:absolute;left:0;top:-4px;width:100%;height:0;pointer-events:none}
  .asset .drops span{position:absolute;top:0;width:8px;height:8px;border-radius:50%;background:var(--brand);opacity:0}
  .asset .drops span:nth-child(1){left:16%}
  .asset .drops span:nth-child(2){left:46%}
  .asset .drops span:nth-child(3){left:74%}
  @keyframes dropIn{
    0%{opacity:0;transform:translateY(-44px)}
    55%{opacity:1;transform:translateY(0)}
    100%{opacity:0;transform:translateY(0) scale(.4)}
  }
  .assets.in .drops span{animation:dropIn .9s ease-in both}
  .assets.in .asset:nth-child(1) .drops span:nth-child(1){animation-delay:.1s}
  .assets.in .asset:nth-child(1) .drops span:nth-child(2){animation-delay:.24s}
  .assets.in .asset:nth-child(1) .drops span:nth-child(3){animation-delay:.38s}
  .assets.in .asset:nth-child(2) .drops span:nth-child(1){animation-delay:.18s}
  .assets.in .asset:nth-child(2) .drops span:nth-child(2){animation-delay:.32s}
  .assets.in .asset:nth-child(2) .drops span:nth-child(3){animation-delay:.46s}
  .assets.in .asset:nth-child(3) .drops span:nth-child(1){animation-delay:.26s}
  .assets.in .asset:nth-child(3) .drops span:nth-child(2){animation-delay:.4s}
  .assets.in .asset:nth-child(3) .drops span:nth-child(3){animation-delay:.54s}
  .assets.in .asset:nth-child(4) .drops span:nth-child(1){animation-delay:.34s}
  .assets.in .asset:nth-child(4) .drops span:nth-child(2){animation-delay:.48s}
  .assets.in .asset:nth-child(4) .drops span:nth-child(3){animation-delay:.62s}

  /* ============ 宣言大图 ============ */
  .reel{position:relative;width:100vw;margin-left:calc(50% - 50vw);min-height:92vh;
    display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center;
    padding:clamp(60px,10vh,120px) 0}
  .reel .bg{position:absolute;inset:0;z-index:0}
  .reel .bg img{width:100%;height:100%;object-fit:cover}
  .reel .scrim{position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.28) 38%,rgba(0,0,0,.62))}
  .reel .txt{position:relative;z-index:2;max-width:1000px;padding:0 clamp(20px,5vw,48px)}
  .reel .mark{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.2em;
    color:rgba(255,255,255,.72);margin-bottom:22px}
  .reel h2{font-family:var(--display);font-weight:800;font-size:clamp(2rem,4.5vw,3.8rem);
    line-height:1.1;letter-spacing:-.03em;color:#fff;margin:0 0 24px}
  .reel p{font-weight:500;font-size:clamp(1.05rem,1.6vw,1.4rem);line-height:1.7;color:rgba(255,255,255,.85)}

  /* ============ 应用场景 ============ */
  .scn-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:clamp(36px,5vw,56px)}
  .scn{--ty:0px;--tr:0deg;border:2px solid var(--brand);background:#fff;padding:28px 24px;
    aspect-ratio:3/4;display:flex;flex-direction:column;position:relative;overflow:hidden;
    transform:translateY(var(--ty)) rotate(var(--tr));
    transition:transform .5s var(--ease),background .35s,box-shadow .35s;
    box-shadow:0 6px 22px rgba(14,14,14,.06)}
  .scn:nth-child(1){--tr:-1.6deg}
  .scn:nth-child(2){--ty:22px;--tr:1.4deg}
  .scn:nth-child(3){--ty:8px;--tr:-1deg}
  .scn:nth-child(4){--ty:28px;--tr:1.6deg}
  .scn:hover{background:var(--brand);--ty:-10px;--tr:0deg;z-index:2;box-shadow:0 18px 40px rgba(239,57,34,.28)}
  .scn .no{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.12em;color:var(--brand);
    margin-bottom:auto;transition:color .35s}
  .scn h3{font-family:var(--sans);font-weight:800;font-size:clamp(1.4rem,1.9vw,1.85rem);
    line-height:1.15;letter-spacing:-.02em;margin:0 0 10px;transition:color .35s}
  .scn p{font-size:14px;line-height:1.6;color:rgba(14,14,14,.85);margin:0;transition:color .35s}
  .scn .ic{width:100%;max-width:200px;aspect-ratio:1/1;margin:auto auto 0;display:flex;align-items:center;justify-content:center}
  .scn .ic img{width:100%;height:100%;object-fit:contain;transition:filter .35s}
  .scn .ar{position:absolute;top:24px;right:24px;font-family:var(--sans);font-size:20px;font-weight:700;
    color:var(--brand);transition:color .35s,transform .35s}
  .scn:hover .no,.scn:hover h3,.scn:hover p,.scn:hover .ar{color:#fff}
  .scn:hover .ic img{filter:brightness(0) invert(1)}
  .scn:hover .ar{transform:translate(4px,-4px)}

  /* ============ 如何开始 ============ */
  .start{position:relative;text-align:center;overflow:hidden}
  .start .doodles{position:absolute;inset:0;z-index:0;pointer-events:none}
  .start .doodles img{position:absolute;opacity:0;transform:scale(.97) rotate(var(--r,0deg));
    transition:opacity .9s ease-out,transform .9s var(--ease)}
  .start.in .doodles img{opacity:1;transform:scale(1) rotate(var(--r,0deg))}
  .start .inner{position:relative;z-index:1;max-width:1080px;margin:0 auto}
  .start h2{font-family:var(--display);font-weight:800;font-size:clamp(2.6rem,6.5vw,5.2rem);
    line-height:1;letter-spacing:-.04em;margin:14px 0 0}
  .start .sub{font-size:clamp(1.02rem,1.5vw,1.22rem);line-height:1.7;color:rgba(14,14,14,.62);
    margin:18px auto 0;max-width:42ch}
  .modes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,36px);
    text-align:left;margin:clamp(40px,5vw,64px) 0}
  .mode{border-top:2px solid var(--grid);padding-top:22px;transition:border-color .3s}
  .mode:hover{border-color:var(--brand)}
  .mode .n{font-family:var(--sans);font-weight:800;font-size:13px;letter-spacing:.14em;color:var(--brand);
    display:block;margin-bottom:12px}
  .mode h3{font-family:var(--zh);font-weight:700;font-size:clamp(1.25rem,1.8vw,1.6rem);line-height:1.25;
    margin:0 0 10px;transition:color .3s}
  .mode:hover h3{color:var(--brand)}
  .mode p{font-size:.96rem;line-height:1.65;color:rgba(14,14,14,.78);margin:0}

  /* ============ Next + footer ============ */
  .next{border-top:2px solid var(--brand);margin-top:clamp(40px,6vw,80px)}
  .next a{display:flex;align-items:center;justify-content:space-between;gap:24px;
    padding:clamp(28px,4vw,44px) clamp(8px,1.5vw,18px);transition:padding-left .35s var(--ease)}
  .next a:hover{padding-left:22px}
  .next h2{font-family:var(--display);font-weight:800;font-size:clamp(1.5rem,3vw,2.6rem);
    line-height:1.1;letter-spacing:-.02em;color:var(--brand);margin:0}
  .next .ar{font-family:var(--sans);font-weight:700;font-size:clamp(1.5rem,2.6vw,2.2rem);color:var(--brand);
    transition:transform .3s}
  .next a:hover .ar{transform:translateX(10px)}

  /* ============ 响应式 ============ */
  @media (max-width:1024px){
    .scn-grid{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width:860px){
    .builder{grid-template-columns:1fr}
    .b-stage{order:-1}
    .b-phone{height:320px}
    .ace{grid-template-columns:1fr}
    .ace.rev .shot{order:0}
    .core-grid{grid-template-columns:repeat(2,1fr)}
    .assets{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width:760px){
    .stack-apps{gap:6px;padding:0 6px}
    .stack-app{min-height:96px;padding:22px 4px 12px}
    .stack-app .en{display:none}
    .stack-body{grid-template-columns:1fr;gap:18px}
    .modes{grid-template-columns:1fr}
  }
  @media (max-width:560px){
    .scn-grid{grid-template-columns:1fr}
    .assets{grid-template-columns:1fr}
  }

  /* ============ 无障碍降级 ============ */
  @media (prefers-reduced-motion:reduce){
    .rv>*,.stack-demo .stack-app,.stack-demo .stack-platform,.profile-strip,.b-stage .b-blk,.start .doodles img{
      opacity:1;transform:none;transition:none}
    .assets.in .drops span{animation:none}
    .bi-ev .ev-stub,.bi-ev .ev-dot,.bi-sh .sh-coin,.bi-mb .mb-fill,.bi-mb .mb-star,
    .bi-so .so-link,.bi-so .so-dot,.bi-ec .ec-orbit{animation:none}
    .fd-pipe .pd{animation:none;opacity:0}
    .fd-profile{animation:none}
    .fd-stage2 .fd-pipe,.fd-stage2 .stack-platform,.fd-stage2 .fd-profile-wrap{
      opacity:1;transform:none;transition:none}
    .fd-statement b .scribble path{animation:none;stroke-dashoffset:0}
    .farm-animal,.fa-walk,.fa-face img{animation:none}
    .scn-pick:hover .scn-pick-img img{animation:none}
    .builder .b-blk.hero-b{background:var(--brand);border-color:var(--brand)}
    .builder .b-blk.btn-b{background:var(--brand)}
  }
