/* ==========================================================
   1. DESIGN TOKENS (visual-spec §17–§23 v1.3 warm palette
      overhaul — supersedes §2.1 cold values; frozen)
   ========================================================== */:root{
  --color-brand-900:#1A1210;
  --color-brand-800:#241A14;
  --color-brand-700:#3A2C21;
  --color-brand-100:#F0E4D6;

  --color-action-600:#C2410C;
  --color-action-700:#9A3412;
  --color-action-050:#FFF3EC;

  /* Warm accent tokens (visual-spec §11.1.1) — surfaces & lines ONLY.
     区隔铁律：action 橙=按钮填充，warm=底和线；warm 永不做按钮填充、
     不做白底正文色。封闭白名单 4 触点：
     #1 ⑤支持子块图注条  #2 ⑥案例画廊图注条  #3 ③Playbook ghost hover
     #4 Chat FAB 邀请气泡（FAB 光环已于 2026-10-25 并入统一 CTA 光环族 rgba(194,65,12,.15)）
     琥珀扩权（2026-10-25 主理人裁决）：③ 数据区 eyebrow(warm-700) + ≤3 个数字
     warm-400 下划线为新增暖引导；①②④⑤⑥⑧ 不新增暖引导（⑤ V3 eyebrow
     warm-400 为该裁决明示例外）。 */
  --warm-050:#FDF3E3;
  --warm-100:#F6E7CE;
  --warm-200:#E8D3B4;
  --warm-400:#C98A4B;
  --warm-700:#8A5A2B;

  --color-ink-900:#201812;
  --color-ink-600:#57504A;
  --color-ink-400:#A39B92;
  --color-border-300:#E3D9CC;
  --color-bg-page:#FAF6F0;
  --color-bg-card:#FFFDF8; /* NEW v1.3: card/form/header/dropdown/modal/drawer
                              surface — splits "page" from "card" so cards stay
                              visible on the cream page bg (§17.3/§18.3) */
  --color-bg-alt:#F1E9DD;
  --color-bg-dark-section:#1A1210;

  --color-success:#15803D;
  --color-warning:#B45309;
  --color-error:#B91C1C;
  --color-info:#1D4ED8;

  --radius-card:8px;
  --radius-btn:4px;
  --radius-input:4px;
  --border-width:1px;
  --shadow-hover:0 2px 8px rgba(26,18,16,.08);

  --motion-fast:150ms ease-out;
  --motion-base:200ms ease-out;
  /* Motion System v1.4 (visual-spec §24-§31): five-rhythm expansion.
     FAQ grid-rows is the single controlled layout-property exception (§29.1). */
  --motion-accordion:240ms ease-out;
  --motion-reveal:650ms cubic-bezier(0.16,1,0.3,1); /* expo-out */
  --motion-stagger-step:70ms;
  --motion-stagger-max:5;

  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:24px; --space-6:32px; --space-7:48px; --space-8:64px;
  --space-9:96px; --space-10:128px;

  /* Type scale (desktop) */
  --type-h1:56/64; --type-h2:40/48; --type-h3:28/36; --type-h4:22/30;
  --type-h5:18/26; --type-body-lg:18/28; --type-body:16/26;
  --type-small:14/22; --type-caption:12/16;

  /* Font stacks — brand fonts self-hosted in production (Inter / Inter Tight /
     IBM Plex Mono w/ font-display:swap). Prototype uses system fallbacks only. */
  --font-heading:"Inter Tight","Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-body:"Inter","Helvetica Neue",Helvetica,Arial,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:"IBM Plex Mono","Roboto Mono",ui-monospace,"SF Mono",Consolas,monospace;
}/* ==========================================================
   2. RESET & BASE
   ========================================================== */*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}body{
  font-family:var(--font-body);
  font-size:16px;line-height:26px;
  color:var(--color-ink-900);
  background:var(--color-bg-page);
  -webkit-font-smoothing:antialiased;
}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}:focus-visible{outline:2px solid var(--color-ink-900);outline-offset:2px}.dark-section :focus-visible,.site-footer :focus-visible{outline-color:#FFFFFF}.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--color-ink-900);color:#fff;padding:12px 20px;border-radius:0 0 4px 0;
}.skip-link:focus{left:0}/* Layout */.page-width{max-width:1200px;margin:0 auto;padding:0 var(--space-5)}@media (min-width:1440px){.page-width{max-width:1296px;padding:0 var(--space-6)}}.section{padding:var(--space-9) 0}.section--alt{background:var(--color-bg-alt)}.section--dark{background:var(--color-bg-dark-section);color:#FFFFFF}.section-head{max-width:780px;margin:0 auto var(--space-6);text-align:center}.section-head--left{margin:0 0 var(--space-6);text-align:left}.section-head p{font-size:18px;line-height:28px;color:var(--color-ink-600);margin-top:var(--space-4)}.eyebrow{
  font-family:var(--font-body);font-size:12px;line-height:16px;font-weight:500;
  letter-spacing:.04em;text-transform:uppercase;color:var(--color-brand-700);
  display:block;margin-bottom:var(--space-3);
}.section--dark .eyebrow{color:#C9BBA9}h1,h2,h3,h4,h5{font-family:var(--font-heading);font-weight:600;letter-spacing:-.01em}h1{font-size:56px;line-height:64px;font-weight:700;letter-spacing:-.02em}h2{font-size:40px;line-height:48px}/* 2026-10-26 字号体系按内容层级与转化重排：h3 是卡片级标题，28px 与 h2 竞争焦点 */h3{font-size:24px;line-height:32px}h4{font-size:22px;line-height:30px}h5{font-size:18px;line-height:26px}.body-lg{font-size:18px;line-height:28px;font-weight:400}.small{font-size:14px;line-height:22px}.caption{font-size:12px;line-height:16px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.mono{font-family:var(--font-mono);font-weight:500}/* Buttons */.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:48px;padding:0 28px;border-radius:var(--radius-btn);
  font-family:var(--font-body);font-size:16px;font-weight:600;line-height:1;
  transition:background var(--motion-fast),color var(--motion-fast),
             border-color var(--motion-fast),box-shadow var(--motion-fast);
  min-width:44px;white-space:nowrap;
}.btn .arrow{transition:transform var(--motion-fast)}.btn .arrow{transition:transform var(--motion-fast)}.btn:hover .arrow{transform:translateX(3px)}.btn--primary{background:var(--color-action-600);color:#FFFFFF}/* CTA hover 光环统一（2026-10-25 琥珀扩权裁决）：hover 时 action-700 底 +
   同族光环 box-shadow 0 0 0 4px rgba(194,65,12,.15)；暗底语境（Hero / ⑧
   CTA banner）用 .25。不再使用与按钮不同族的光环。 */.btn--primary:hover{background:var(--color-action-700);box-shadow:0 0 0 4px rgba(194,65,12,.15)}.hero .btn--primary:hover,.cta-banner .btn--primary:hover{box-shadow:0 0 0 4px rgba(194,65,12,.25)}.btn--primary:active{background:#7C2D12}.btn--primary:disabled{opacity:.4;cursor:not-allowed}/* D1: header primary degrades to outline while Hero is on screen (no same-screen double orange) */.site-header .btn--primary.is-outline{
  background:transparent;border:1px solid var(--color-ink-900);color:var(--color-ink-900);
}.site-header .btn--primary.is-outline:hover{background:var(--color-action-600);border-color:var(--color-action-600);color:#FFFFFF}.btn--secondary{background:transparent;border:1px solid var(--color-ink-900);color:var(--color-ink-900)}.btn--secondary:hover{background:var(--color-ink-900);color:#FFFFFF}.btn--secondary-inverse{background:transparent;border:1px solid #FFFFFF;color:#FFFFFF}.btn--secondary-inverse:hover{background:#FFFFFF;color:var(--color-ink-900)}/* Warm iteration: ghost buttons get 1px transparent border + fixed padding
   (anti layout-jump on hover). The warm hover treatment below is scoped to the
   Playbook ghost ONLY — keeps warm inside the 4-touchpoint whitelist. */.btn--ghost{padding:10px 16px;height:auto;border:1px solid transparent;border-radius:var(--radius-btn);color:var(--color-ink-600);font-weight:500;white-space:normal;text-align:left}/* Motion v1.4: ghost link underline = scaleX 0 to 1 bar (150ms, origin left). */.btn--ghost{position:relative;text-decoration:none}.btn--ghost::after{content:"";position:absolute;left:16px;right:16px;bottom:6px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--motion-fast)}.btn--ghost:hover::after,.btn--ghost:focus-visible::after{transform:scaleX(1)}.playbook-ghost{transition:background var(--motion-fast),border-color var(--motion-fast)}.playbook-ghost::after{content:none}/* v1.4: playbook keeps its warm-surface hover, no scaleX bar */.playbook-ghost:hover,.playbook-ghost:focus-visible{background:var(--warm-050);border-color:var(--warm-200);text-decoration:none}.playbook-ghost:hover .arrow,.playbook-ghost:focus-visible .arrow{color:var(--warm-700)}.btn--ghost-inverse{padding:0;height:auto;border:none;color:#C9BBA9;font-weight:500;white-space:normal;position:relative;text-decoration:none}.btn--ghost-inverse::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--motion-fast)}.btn--ghost-inverse:hover{color:#FFFFFF}.btn--ghost-inverse:hover::after,.btn--ghost-inverse:focus-visible::after{transform:scaleX(1)}/* Card base: 1px border, 8px radius, zero static shadow.
   v1.3: card surface = --color-bg-card (warm white), NOT bg-page —
   page bg is now cream #FAF6F0; cards would vanish into it otherwise. */.card{
  background:var(--color-bg-card);
  border:1px solid var(--color-border-300);
  border-radius:var(--radius-card);
  transition:box-shadow var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast);
}/* Image placeholder blocks */.ph{
  position:relative;background:var(--color-brand-100);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;border-radius:var(--radius-card);
}.ph::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(58,44,33,.06) 0%,rgba(58,44,33,0) 45%,rgba(58,44,33,.08) 100%);
}.ph-tag{
  position:relative;font-family:var(--font-mono);font-size:12px;line-height:18px;
  color:var(--color-brand-700);text-align:center;padding:0 12px;
}.ph--dark{background:var(--color-brand-700)}.ph--dark .ph-tag{color:#C9BBA9}/* Real/temp imagery fills the placeholder frame without breaking layout */.ph img{width:100%;height:100%;object-fit:cover;display:block}.r-16-10{aspect-ratio:16/10}.r-4-3{aspect-ratio:4/3}.r-4-5{aspect-ratio:4/5}/* ==========================================================
   SCROLL REVEAL SYSTEM — Motion v1.4 (visual-spec §24-§31)
   data-reveal = block fade-up · data-reveal-group + data-reveal-item =
   stagger (delay set by JS as --reveal-delay) · data-draw = amber line draw.
   transform/opacity ONLY (FAQ grid-rows = single controlled exception §29.1).
   Once semantics: triggered by one shared IntersectionObserver, never reset.
   production: extract to assets/motion.js (~2KB, defer).
   ========================================================== */[data-reveal],[data-reveal-item]{
  opacity:0;transform:translateY(24px);
  transition:opacity var(--motion-reveal),transform var(--motion-reveal);
  transition-delay:var(--reveal-delay,0ms);
}[data-reveal].is-revealed,[data-reveal-item].is-revealed{opacity:1;transform:none}/* no-js / SEO snapshot fallback (§30, REQUIRED): final state without JS */html.no-js [data-reveal],html.no-js [data-reveal-item]{opacity:1;transform:none}/* Amber underline draw (§26.1): scaleX 0 to 1, origin left, 500ms,
   +150ms after the owning card reveal. Never participates in hover. */.amber-num[data-draw]::after{
  transform:scaleX(0);transform-origin:left;
  transition:transform 500ms cubic-bezier(0.16,1,0.3,1) 150ms;
}.amber-num[data-draw].is-revealed::after{transform:scaleX(1)}html.no-js .amber-num[data-draw]::after{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){
  [data-reveal],[data-reveal-item]{opacity:1;transform:none}
  .amber-num[data-draw]::after{transform:scaleX(1)}
  .agent-msg{opacity:1;transform:none;animation:none}
  .agent-band.is-revealed .agent-msg:nth-child(3)::after{content:none}
  .goal-underline::after{transform:scaleX(1);transition:none}
  .goal-card:hover{transform:none}
}/* ==========================================================
   3. HEADER (sticky)
   ========================================================== */.site-header{
  position:sticky;top:0;z-index:100;height:72px;
  background:var(--color-bg-card);border-bottom:1px solid var(--color-border-300);
  transition:background var(--motion-base),box-shadow var(--motion-base);
}.site-header.is-scrolled{
  background:rgba(255,253,248,.9); /* card-white tint (was pure white) */
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}.header-inner{
  max-width:1296px;margin:0 auto;height:100%;
  padding:0 var(--space-5);
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);
}.logo{
  font-family:var(--font-heading);font-weight:700;font-size:19px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-900);
  display:flex;align-items:center;gap:10px;
}/* 2026-10-24 品牌落地：VIREVENDING（VI = Vision Retail 缩写），
   "VI" 用行动橙做品牌记忆点；正式品牌资产（图形 Logo/字标）仍为 TBD */.logo-name{white-space:nowrap}.logo-accent{color:var(--color-action-600)}.logo-mark{
  width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex:none;
}/* 2026-10-24: LOGO 更新为方案 04 环形轨道（琥珀圆环 + VI 字标） */.logo-mark text{fill:var(--color-brand-900)}.site-footer .logo-mark text,.mobile-drawer .logo-mark text{fill:#FFFFFF}.main-nav{display:flex;align-items:center;gap:4px}.main-nav>li{position:relative}.main-nav .nav-link{
  display:flex;align-items:center;gap:6px;height:44px;padding:0 14px;
  font-size:15px;font-weight:500;color:var(--color-ink-900);border-radius:4px;
  transition:color var(--motion-fast),background var(--motion-fast);
}.main-nav .nav-link:hover{color:var(--color-brand-700);background:var(--color-bg-alt)}.nav-caret{width:10px;height:10px;flex:none;transition:transform var(--motion-fast)}.main-nav>li:hover .nav-caret,.main-nav>li:focus-within .nav-caret{transform:rotate(180deg)}.dropdown{
  position:absolute;top:calc(100% + 6px);left:0;min-width:280px;
  background:var(--color-bg-card);border:1px solid var(--color-border-300);
  border-radius:var(--radius-card);padding:var(--space-3);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity var(--motion-fast),transform var(--motion-fast),visibility var(--motion-fast);
  box-shadow:var(--shadow-hover);
}.main-nav>li:hover>.dropdown,.main-nav>li:focus-within>.dropdown{opacity:1;visibility:visible;transform:none}.dropdown a{
  display:block;padding:11px 12px;font-size:14px;line-height:20px;
  color:var(--color-ink-600);border-radius:4px;transition:background var(--motion-fast),color var(--motion-fast);
}.dropdown a:hover{background:var(--color-bg-alt);color:var(--color-ink-900)}.dropdown .dropdown-title{
  font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;
  color:var(--color-ink-400);padding:8px 12px 4px;
}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.header-actions .btn{height:44px;padding:0 20px;font-size:15px}.hamburger{
  display:none;width:44px;height:44px;align-items:center;justify-content:center;
  border-radius:4px;color:var(--color-ink-900);
}/* Mobile drawer */.drawer-backdrop{
  position:fixed;inset:0;background:rgba(26,18,16,.5);z-index:110;
  opacity:0;visibility:hidden;transition:opacity var(--motion-base),visibility var(--motion-base);
}.drawer-backdrop.is-open{opacity:1;visibility:visible}.mobile-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(360px,92vw);z-index:120;
  background:var(--color-bg-card);transform:translateX(100%);
  transition:transform var(--motion-base);
  display:flex;flex-direction:column;overflow-y:auto;
}.mobile-drawer.is-open{transform:none}.drawer-head{
  height:60px;flex:none;display:flex;align-items:center;justify-content:space-between;
  padding:0 var(--space-4);border-bottom:1px solid var(--color-border-300);
}.drawer-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:4px}.drawer-body{padding:var(--space-4);flex:1}.drawer-group-title{
  font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;
  color:var(--color-ink-400);padding:var(--space-4) 0 var(--space-2);
}.drawer-body a.drawer-link{
  display:flex;align-items:center;min-height:52px;padding:0 4px;
  font-size:16px;font-weight:500;color:var(--color-ink-900);
  border-bottom:1px solid var(--color-bg-alt);
}.drawer-body a.drawer-link--sub{
  min-height:44px;font-size:15px;font-weight:400;color:var(--color-ink-600);padding-left:16px;
}.drawer-foot{flex:none;padding:var(--space-4);border-top:1px solid var(--color-border-300)}.drawer-foot .btn{width:100%}/* ==========================================================
   ① HERO
   ========================================================== */.hero{
  position:relative;min-height:640px;max-height:820px;height:82vh;
  display:flex;align-items:center;overflow:hidden;
  background:var(--color-brand-900);
}.hero-media{
  position:absolute;inset:0;
}.hero-media .ph{position:absolute;inset:0;border-radius:0}.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(78deg,rgba(26,18,16,.92) 0%,rgba(26,18,16,.78) 34%,rgba(26,18,16,.45) 62%,rgba(26,18,16,.2) 100%);
}.hero-inner{position:relative;z-index:2;width:100%}.hero-content{max-width:600px;color:#FFFFFF;padding:var(--space-10) 0}.hero-content .eyebrow{color:#C9BBA9}.hero-content h1{color:#FFFFFF;margin-bottom:var(--space-5)}.hero-content .hero-sub{font-size:19px;line-height:30px;color:#C9BBA9;margin-bottom:var(--space-6);max-width:600px}.hero-ctas{display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:center}/* 2026-10-26 用户反馈：四项信任信号改单行内联，不再两行堆叠 */.hero-trust-bar{margin-top:var(--space-5);display:flex;gap:12px 28px;flex-wrap:wrap}.hero-stat{display:flex;align-items:center;gap:8px;white-space:nowrap}/* 2026-10-26 用户反馈：四项必须一行放下——信任条突破 600px 文本栏宽度 */.hero-content .hero-trust-bar{width:760px;max-width:none}@media (max-width:1129px){.hero-content .hero-trust-bar{width:auto;max-width:100%}}.hero-stat-num{font-family:var(--font-mono);font-size:17px;line-height:1;font-weight:700;color:var(--warm-400)}.hero-stat-label{font-size:14px;line-height:20px;color:#C9BBA9}@media (max-width:749px){.hero-trust-bar{gap:10px 18px}}.hero-trust{margin-top:var(--space-4);font-size:12px;line-height:16px;letter-spacing:.04em;text-transform:uppercase;color:#9C8E7C;font-family:var(--font-mono)}/* V1 Hero ambient video (2026-10-25): double-layer poster — bottom img is the
   LCP candidate (fetchpriority high) and stays visible until video canplay
   (+200ms fade-in); on video load failure the img remains permanently.
   Video sits ABOVE the warm-charcoal gradient bg, BELOW content; z-index of
   .hero-inner (2) / .hero-disc (3) untouched → CTA clickability unaffected. */.hero-poster,.hero-video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
}.hero-video{opacity:0;transition:opacity var(--motion-base)}.hero-video.is-ready{opacity:1}/* 遮罩双保险之二：to-top scrim（叠加在既有 78° 暖炭渐变之上），
   按最亮帧校验：H1 白 / 副标题 #C9BBA9 / CTA 仍 ≥4.5:1 */.hero-scrim{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(26,18,16,.55) 0%,rgba(26,18,16,0) 40%);
}/* Hero 右下角常驻合规小字（11px 低对比，不遮挡 CTA） */.hero-disc{
  position:absolute;right:16px;bottom:12px;z-index:3;
  font-size:11px;line-height:16px;color:rgba(255,255,255,.55);
  text-align:right;max-width:60%;
}/* ==========================================================
   ② USE CASES (5 cards, 3+2 grid)
   ========================================================== */.uc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}/* 2026-10-24：6 卡 3+3 单一网格，原 3+2 拆分（uc-row-2 / nth-child(4) 特例）移除 */.uc-card{display:flex;flex-direction:column;cursor:pointer;overflow:hidden}/* Motion v1.4 hover micro-interactions (§24.2): card lift -4px + shadow @200ms,
   image scale 1.03 @200ms. transform/opacity only; color hovers unchanged.
   Amber number lines do NOT participate in hover (§26.1). */.uc-card,.product-card{transition:box-shadow var(--motion-base),border-color var(--motion-base),transform var(--motion-base)}/* 2026-10-25 注意力聚焦②：产品卡 hover 上浮 + 主按钮琥珀描边 */.product-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(26,18,16,.12)}.product-card:hover .js-view-spec{border-color:var(--color-action-600);color:var(--warm-700)}.uc-card:hover,.uc-card:focus-visible,.product-card:hover{box-shadow:var(--shadow-hover);border-color:var(--color-ink-400);transform:translateY(-4px)}.uc-card .ph img,.product-card .ph img{transition:transform var(--motion-base)}/* 2026-10-25 注意力聚焦①：场景卡 hover 图片变焦 + 底部浮现询价提示条 */.uc-card .ph::after{content:"Get a quote for this space →";position:absolute;left:0;right:0;bottom:0;padding:10px var(--space-4);background:linear-gradient(0deg,rgba(26,18,16,.88),rgba(26,18,16,0));color:var(--warm-400);font-size:14px;font-weight:600;opacity:0;transform:translateY(6px);transition:opacity var(--motion-fast),transform var(--motion-fast)}.uc-card{position:relative}.uc-card:hover .ph::after,.uc-card:focus-visible .ph::after{opacity:1;transform:none}.uc-card:hover .ph img{transform:scale(1.05)}.uc-card:hover .ph img,.uc-card:focus-visible .ph img,.product-card:hover .ph img{transform:scale(1.03)}.uc-card .ph{border-radius:0;border-bottom:1px solid var(--color-border-300)}.uc-card-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.uc-card-body .eyebrow{margin-bottom:0}.uc-card-body h3{color:var(--color-ink-900);font-size:22px;line-height:30px}.uc-card-body p{font-size:15px;line-height:24px;color:var(--color-ink-600)}.uc-explore{
  margin-top:auto;padding-top:var(--space-2);
  font-size:14px;font-weight:500;color:var(--color-brand-700);
  display:inline-flex;align-items:center;gap:6px;
  opacity:0;transform:translateX(-4px);
  transition:opacity var(--motion-fast),transform var(--motion-fast);
}.uc-card:hover .uc-explore,.uc-card:focus-within .uc-explore{opacity:1;transform:none}/* ==========================================================
   ③ ROI / BUSINESS VALUE (4 pillars, bg-alt)
   ========================================================== */.roi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}/* 3 卡资源区：桌面 3 列，平板 3→窄，≤749 单列（修复 2+1 残缺布局） */.roi-grid--3{grid-template-columns:repeat(3,1fr)}.roi-grid--3{grid-template-columns:repeat(3,1fr)}@media (max-width:989px){.roi-grid--3{grid-template-columns:repeat(2,1fr)}}@media (max-width:749px){.roi-grid--3{grid-template-columns:1fr;gap:var(--space-4)}}/* 2026-10-24 新增：3 卡单行变体（Technology Advantage 用户裁决一行三张） */.roi-card{
  background:var(--color-bg-card);border:1px solid var(--color-border-300);
  border-radius:var(--radius-card);padding:var(--space-6);
  border-left:4px solid var(--color-brand-700);
}/* Motion v1.4 §26.1: Stat Cards are non-interactive (not links/buttons) ->
   no hover lift/shadow; the amber data-draw line never animates on hover. */.roi-card h3{font-size:22px;line-height:30px;margin-bottom:var(--space-3)}/* 2026-10-24 新增：要点化文案（用户裁决"少文字、上要点"） */.roi-points{list-style:none;margin:0;padding:0}.roi-points li{position:relative;padding-left:22px;margin-bottom:10px;font-size:15px;line-height:23px;color:var(--color-ink-600)}.roi-points li::before{content:"✓";position:absolute;left:0;top:0;color:var(--color-action-600);font-weight:700;font-size:14px}.roi-points li:last-child{margin-bottom:0}.roi-card p{font-size:15px;line-height:24px;color:var(--color-ink-600)}.roi-card .roi-num{font-family:var(--font-mono);font-weight:500;color:var(--color-ink-900)}.roi-placeholder-note{
  margin-top:var(--space-5);text-align:center;
  font-size:12px;line-height:16px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--color-ink-400);font-family:var(--font-mono);
}/* ==========================================================
   ④ PRODUCTS (3 cards, params folded into spec table)
   ========================================================== *//* 2026-10-26 产品区头层级：品牌 eyebrow + 主张 h2 */.products-eyebrow .brand-ring{vertical-align:0;margin-right:0}.products-modes{color:var(--warm-700);font-weight:600}.products-head .section-head--left{margin-bottom:0}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.product-card{display:flex;flex-direction:column;overflow:hidden}.product-card .ph{border-radius:0;border-bottom:1px solid var(--color-border-300);background:var(--color-bg-alt)}.product-card-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);flex:1}.product-card-body h3{font-size:20px;line-height:28px}.product-card-body .product-desc{font-size:14px;line-height:22px;color:var(--color-ink-600)}.product-keyparams{display:flex;gap:var(--space-4);padding-top:var(--space-2);border-top:1px solid var(--color-bg-alt)}/* 2026-10-24：3 项定性 keyparams（Footprint/Temp zone/Best for）换行网格 */.product-keyparams--3{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2) var(--space-4)}.product-keyparams--3 div:last-child{grid-column:1/-1}.product-keyparams div{font-family:var(--font-mono);font-size:13px;line-height:20px;color:var(--color-ink-900)}.product-keyparams span{display:block;font-family:var(--font-body);font-size:11px;line-height:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-400)}.product-card-actions{margin-top:auto;display:flex;gap:var(--space-3)}.product-card-actions .btn{flex:1;height:44px;padding:0 16px;font-size:15px}/* Spec table (collapsed by default — HAHA-antidote discipline) */.spec-toggle{
  display:flex;align-items:center;justify-content:space-between;width:100%;
  min-height:44px;padding:0 4px;font-size:14px;font-weight:500;color:var(--color-brand-700);
}.spec-toggle:hover{color:var(--color-ink-900)}.spec-toggle .chev{transition:transform var(--motion-fast)}.spec-toggle[aria-expanded="true"] .chev{transform:rotate(180deg)}.spec-table-wrap{display:none;padding:var(--space-2) 4px 0}.spec-table-wrap.is-open{display:block}.spec-table{width:100%;border-collapse:collapse}.spec-table td{
  padding:11px 4px;border-top:1px solid var(--color-bg-alt);
  font-size:13px;line-height:20px;vertical-align:top;
}.spec-table td:first-child{color:var(--color-ink-600)}.spec-table td:last-child{font-family:var(--font-mono);color:var(--color-ink-900);text-align:right}.spec-note{font-size:12px;line-height:18px;color:var(--color-ink-400);padding-top:6px}/* ==========================================================
   ⑤ PLATFORM (dark section)
   ========================================================== */.platform-grid{display:grid;grid-template-columns:6fr 6fr;gap:var(--space-8);align-items:center}.platform-list{display:flex;flex-direction:column;gap:var(--space-5);margin-top:var(--space-6)}.platform-list li{display:flex;gap:var(--space-4);align-items:flex-start}.platform-icon{
  flex:none;width:44px;height:44px;border:1px solid var(--color-brand-700);
  border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;
  color:#FFFFFF;
}.platform-list h3{color:#FFFFFF;font-size:18px;line-height:26px;margin-bottom:4px}.platform-list p{font-size:15px;line-height:24px;color:#C9BBA9}.platform-shot{border:1px solid var(--color-brand-700);border-radius:16px;padding:var(--space-3);background:var(--color-brand-800)}.platform-cta{margin-top:var(--space-7);text-align:center}/* --- Why AI Vending comparison (2026-10-24 新增) --- */.cmp-wrap{overflow-x:auto;border:1px solid var(--color-border-300);border-radius:var(--radius-card);background:var(--color-bg-card)}.cmp-table{width:100%;border-collapse:collapse;min-width:640px}.cmp-table th,.cmp-table td{padding:var(--space-4) var(--space-5);text-align:left;vertical-align:top;font-size:15px;line-height:23px;border-bottom:1px solid var(--color-border-300)}.cmp-table thead th{font-family:var(--font-heading);font-size:16px;background:var(--color-bg-alt)}.cmp-table tbody tr:last-child td{border-bottom:0}.cmp-table td:first-child{color:var(--color-ink-600)}.cmp-table td:last-child{color:var(--color-ink-900);font-weight:500}.cmp-dim{color:var(--color-ink-600)}.cmp-ai{color:var(--color-ink-900)}.cmp-note{margin-top:var(--space-5);text-align:center;color:var(--color-ink-600);font-size:15px}/* 2026-10-24 新增：优势总结三层结构（adv-head 小节头 / adv-lede 导语 / goal-band 目标宣言带） */.adv-head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);font-size:26px;line-height:34px;color:var(--color-ink-900);padding-left:var(--space-4);border-left:3px solid var(--color-action-600)}.adv-eyebrow{
  font-size:13px;line-height:20px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-700);
  display:inline-flex;align-items:center;gap:6px;
  background:var(--warm-050);border:1px solid var(--warm-200);border-radius:999px;
  padding:7px 16px;
}.adv-eyebrow::before,.eyebrow--pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warm-400)}/* 2026-10-26 广告承接信任条 */.soc-strip{background:#FFFFFF;border-top:1px solid var(--color-bg-alt);border-bottom:1px solid var(--color-bg-alt);padding:var(--space-4) 0;text-align:center}.soc-strip p{margin:0;font-size:14px;line-height:22px;color:var(--color-ink-600)}.soc-strip a{color:var(--warm-700);font-weight:600;text-decoration:underline;text-underline-offset:3px}/* 2026-10-24: 产品段眉线/型号阶梯与优势段引导格式统一（用户反馈：突出重点、保持一致） */.products-ladder{font-size:14px;line-height:20px;letter-spacing:.02em;color:var(--color-ink-600);margin:0 0 var(--space-3)}.products-ladder strong{color:var(--warm-700);font-weight:600}.h2-accent{color:var(--warm-700)}/* 标题内品牌名格式与 LOGO 一致：VI 红色，其余黑色（2026-10-25 用户裁决） */.brand-title{color:var(--color-ink-900)}/* 产品段标题单行紧凑版（桌面端），窄屏恢复换行 */.products-title-compact{font-size:30px;line-height:38px;white-space:nowrap}/* VIRE Products 品牌圆环小标（呼应 LOGO，随标题基线对齐） */.brand-ring{display:inline-flex;vertical-align:-4px;margin-right:2px}.brand-ring svg{transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.products-head:hover .brand-ring svg{transform:rotate(360deg)}/* Platform 列表小标签（用户裁决：白方块图标 → 形象文字标签） */.platform-tag{
  display:inline-flex;align-items:center;justify-content:center;align-self:center;
  width:40px;height:40px;flex:0 0 40px;border-radius:999px;
  background:var(--warm-050);border:1px solid var(--warm-200);
  color:var(--warm-700);
}/* 2026-10-24 转化优化落地样式 */.hero-alt{margin-top:var(--space-4);font-size:15px}.hero-alt a{color:rgba(255,255,255,.85);text-decoration:underline;text-underline-offset:4px}.hero-alt a:hover{color:#FFFFFF}.compare-block{margin-top:var(--space-7)}.compare-title{font-size:22px;line-height:30px;margin-bottom:var(--space-4)}.compare-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--warm-200);border-radius:var(--radius-card);background:#FFFFFF}/* 移动端横向滚动提示（仅 ≤749px 显示） */.compare-hint{display:none;margin-bottom:var(--space-2);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-400);font-family:var(--font-mono)}@media (max-width:749px){.compare-hint{display:block}}.compare-table{width:100%;border-collapse:collapse;font-size:15px;min-width:640px}.compare-table th,.compare-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--warm-100)}.compare-table thead th{font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-900)}.compare-table thead th span{display:block;font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--warm-700)}.compare-table tbody th{font-weight:600;color:var(--color-ink-600);white-space:nowrap}/* 2026-10-25 转化优化：横向滑动时首列（行名）常驻，辅助比较决策 */.compare-table th:first-child,.compare-table tbody th{position:sticky;left:0;background:#FFFFFF;z-index:1}.compare-table tbody tr:hover th:first-child,.compare-table tbody tr:hover tbody th{background:var(--warm-050)}.compare-shared td{color:var(--color-ink-900);font-weight:600}.compare-note{margin-top:var(--space-4);color:var(--color-ink-600);font-size:15px}/* 对比表下定性社会证明（2026-10-25 营销策略④） */.compare-proof{margin-top:var(--space-2);font-size:14px;line-height:22px;color:var(--color-ink-600)}.compare-proof a{color:var(--warm-700);font-weight:600;text-decoration:underline;text-underline-offset:3px}/* 2026-10-26 对比表下双 CTA 行 */.compare-ctas{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center;margin-top:var(--space-4)}.linklike{background:none;border:0;padding:0;font:inherit;color:var(--warm-700);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.trust-bar{display:flex;flex-wrap:wrap;gap:var(--space-3);list-style:none;margin:var(--space-5) 0 0;padding:0}.trust-bar li{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--warm-200);background:var(--warm-050);border-radius:999px;
  padding:8px 18px;font-size:14px;font-weight:600;color:var(--warm-700);
}/* ==========================================================
   2026-10-24 互动性增强（6 处）：LOGO 旋转 / VS 脉冲 / 平台图标填充 /
   信任徽章抬升 / hero 下探箭头弹跳 / 导航下划线扫入
   降级纪律：html.no-js 与 prefers-reduced-motion 直出终态
   ========================================================== *//* ① LOGO 圆环 hover 旋转 */.logo .logo-mark svg{transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.logo:hover .logo-mark svg{transform:rotate(360deg)}/* ② VS 徽章呼吸脉冲 */@keyframes vsPulse{
  0%,100%{box-shadow:0 4px 12px rgba(26,18,16,.25),0 0 0 0 rgba(194,65,12,.35)}
  50%{box-shadow:0 4px 12px rgba(26,18,16,.25),0 0 0 12px rgba(194,65,12,0)}
}.vs-badge{animation:vsPulse 2.6s ease-in-out infinite}/* ③ 平台圆标 hover：琥珀实底 + 图标反白 + 放大 */.platform-tag{transition:background var(--motion-fast),color var(--motion-fast),transform var(--motion-fast)}.platform-tag:hover{background:var(--color-action-600);color:#FFFFFF;transform:scale(1.12)}/* ④ 信任徽章 hover 抬升 + 实底 */.trust-bar li{transition:transform var(--motion-fast),background var(--motion-fast),box-shadow var(--motion-fast)}.trust-bar li:hover{transform:translateY(-3px);background:var(--warm-100);box-shadow:0 6px 16px rgba(26,18,16,.10)}/* ⑤ hero "see it in action" 下探箭头弹跳 */@keyframes altBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}.hero-alt .bounce{display:inline-block;animation:altBounce 1.6s ease-in-out infinite}/* ⑥ 导航链接下划线扫入 */.main-nav .nav-link{position:relative}.main-nav .nav-link::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:1px;background:var(--color-action-600);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-fast)}.main-nav .nav-link:hover::after{transform:scaleX(1)}/* ==========================================================
   2026-10-24 互动性增强第二批（5 处）：徽章圆点呼吸 / 卡片顶部琥珀条 /
   对比表行高亮 / 次级按钮填充上滑 / FAQ 悬停指示条
   ========================================================== *//* ⑦ 优势徽章圆点呼吸发光 */@keyframes dotGlow{0%,100%{box-shadow:0 0 0 0 rgba(194,65,12,.45)}50%{box-shadow:0 0 0 5px rgba(194,65,12,0)}}.adv-eyebrow::before,.eyebrow--pill::before{animation:dotGlow 2.4s ease-in-out infinite}/* ⑧ Why Choose Us / 优势卡 hover 顶部琥珀条扫入 */.roi-card{position:relative;overflow:hidden}.roi-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--color-action-600);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-normal)}.roi-card:hover::before{transform:scaleX(1)}/* ⑨ 对比表行 hover 高亮 + ✓ 变琥珀 */.compare-table tbody tr{transition:background var(--motion-fast)}.compare-table tbody tr:hover{background:var(--warm-050)}/* 2026-10-25 注意力聚焦③：列高亮样式（与行高亮叠加聚焦机型） */.compare-table .col-hl{background:var(--warm-050)}.compare-shared td{transition:color var(--motion-fast)}.compare-table tbody tr:hover .compare-shared td,.compare-shared td{color:var(--color-ink-900)}.compare-table tbody tr:hover td{color:var(--warm-700)}/* ⑩ 次级按钮填充上滑 */.btn--secondary{position:relative;overflow:hidden;z-index:0}.btn--secondary::before{content:"";position:absolute;inset:0;background:var(--color-ink-900);transform:translateY(101%);transition:transform var(--motion-normal);z-index:-1}.btn--secondary:hover{color:#FFFFFF;border-color:var(--color-ink-900)}.btn--secondary:hover::before{transform:translateY(0)}/* ⑪ FAQ 悬停左侧琥珀指示条 */.faq-item{position:relative}.faq-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-action-600);border-radius:var(--radius-card) 0 0 var(--radius-card);transform:scaleY(0);transform-origin:top;transition:transform var(--motion-fast)}.faq-item:hover::before{transform:scaleY(1)}/* ==========================================================
   2026-10-24 互动性第三批（5 处）：规格展开动画 / 仪表盘卡倾斜 /
   Agent 气泡抬升 / 页脚链接琥珀位移 / 主按钮上浮
   ========================================================== *//* ⑫ 产品规格展开：平滑下滑 + 淡入（替代瞬间 display 切换） */.spec-table-wrap{display:block;overflow:hidden;max-height:0;opacity:0;transition:max-height var(--motion-normal) ease,opacity var(--motion-normal) ease;padding:0 4px}.spec-table-wrap.is-open{max-height:800px;opacity:1;padding:var(--space-2) 4px 0}/* ⑬ 平台仪表盘卡 hover 轻微 3D 倾斜（仅限真实指针设备，触屏不粘滞） */@media (hover:hover){
  .platform-shot-card{transition:transform var(--motion-normal),box-shadow var(--motion-normal)}
  .platform-shot-card:hover{transform:perspective(900px) rotateX(2.5deg) rotateY(-2.5deg) translateY(-4px);box-shadow:0 16px 40px rgba(26,18,16,.14)}
}/* ⑭ VI Agent 气泡 hover 抬升 */.agent-band .agent-msg{transition:transform var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast)}.agent-band .agent-msg:hover{transform:translateX(4px);background:rgba(246,231,206,.14);border-color:var(--warm-400)}/* ⑮ 页脚链接 hover 琥珀 + 右移 */.footer-col a{transition:color var(--motion-fast),transform var(--motion-fast)}.footer-col a:hover{color:var(--warm-400);transform:translateX(3px)}/* ⑯ 主按钮 hover 上浮 + 阴影加深 */.btn--primary{transition:background var(--motion-fast),transform var(--motion-fast),box-shadow var(--motion-fast)}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(194,65,12,.28)}/* ==========================================================
   2026-10-25 互动性第四批（5 处）：支持列表图标 hover 填充 /
   列表图标依次进场 / hero 勾选点弹入 / 按钮箭头右移 / 规格 chevron 下探
   降级纪律：html.no-js 与 prefers-reduced-motion 直出终态
   ========================================================== *//* ⑰ 支持/平台列表图标 hover：琥珀实底 + 图标反白 + 轻放大（与 platform-tag 同语言） */.platform-list li .platform-icon{transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast),transform var(--motion-fast)}.platform-list li:hover .platform-icon,.platform-list li:focus-within .platform-icon{background:var(--color-action-600);border-color:var(--color-action-600);color:#FFFFFF;transform:scale(1.08)}.platform-list li:hover h3{color:var(--warm-400)}.support-band .platform-list li:hover h3{color:var(--warm-700)}/* ⑱ 列表图标入场：所在区块揭示后 4 项依次淡入上移 */@keyframes listIconIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.is-revealed .platform-list li{animation:listIconIn .45s ease backwards}.is-revealed .platform-list li:nth-child(1){animation-delay:.05s}.is-revealed .platform-list li:nth-child(2){animation-delay:.15s}.is-revealed .platform-list li:nth-child(3){animation-delay:.25s}.is-revealed .platform-list li:nth-child(4){animation-delay:.35s}/* ⑲ hero 勾选点依次弹入（加载即播，延迟递增） */@keyframes statPop{from{opacity:0;transform:scale(.6)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.js .hero-stat .hero-stat-num{animation:statPop .45s cubic-bezier(.34,1.56,.64,1) backwards}.js .hero-stat:nth-child(1) .hero-stat-num{animation-delay:.3s}.js .hero-stat:nth-child(2) .hero-stat-num{animation-delay:.45s}.js .hero-stat:nth-child(3) .hero-stat-num{animation-delay:.6s}.js .hero-stat:nth-child(4) .hero-stat-num{animation-delay:.75s}/* ⑳ 按钮箭头 hover 右移（primary/ghost/secondary 通用） */.btn:hover .arrow,.btn:focus-visible .arrow{transform:translateX(3px)}/* ㉑ 规格展开 chevron hover 下探提示 */.spec-toggle .chev{display:inline-block}.spec-toggle:hover .chev{transform:translateY(2px)}.spec-toggle[aria-expanded="true"]:hover .chev{transform:rotate(180deg) translateY(2px)}/* 2026-10-24 资源区与证书清单（借鉴 xiaomai5） */.resources-block{margin-top:var(--space-7)}.resources-head{margin-bottom:var(--space-4)}.resource-card{display:flex;flex-direction:column;transition:transform var(--motion-base),box-shadow var(--motion-base)}.resource-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(26,18,16,.12)}.resource-card h3{margin:0}.resource-card p{margin:0 0 var(--space-3)}.resource-card .btn{margin-top:auto;align-self:flex-start}.resources-head{text-align:center}.partner-cta-row{text-align:center;margin-top:var(--space-5)}.support-band .support-head{font-size:18px;line-height:26px;margin-top:var(--space-5)}.support-band .support-list{margin-top:0}.roi-cta{margin:var(--space-3) 0 0}/* 2026-10-26 转化区强化：编号徽章 + hover 上浮 + CTA 胶囊化 */#partners .roi-card{position:relative;overflow:visible;transition:transform var(--motion-base),box-shadow var(--motion-base)}/* 2026-10-26 用户反馈：整段上下留白收紧 + 徽章不再被卡片裁切 */#partners{padding-top:var(--space-6);padding-bottom:var(--space-7)}#partners .path-num{z-index:1}#partners .roi-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(26,18,16,.10)}.path-num{position:absolute;top:-13px;left:24px;width:28px;height:28px;border-radius:50%;background:var(--color-action-600);color:#FFFFFF;font-family:var(--font-mono);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(194,65,12,.28)}#partners .roi-cta .linklike{display:inline-flex;align-items:center;gap:6px;background:var(--warm-050);border:1px solid var(--warm-200);color:var(--warm-700);padding:8px 16px;border-radius:999px;font-weight:600;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}#partners .roi-cta .linklike:hover{background:var(--color-action-600);border-color:var(--color-action-600);color:#FFFFFF}#partners .roi-cta .linklike span{transition:transform var(--motion-fast)}#partners .roi-cta .linklike:hover span{transform:translateX(3px)}/* 2026-10-26 三路径卡 CTA 沉底对齐（行数不同不再高低不齐） */.roi-grid .roi-card{display:flex;flex-direction:column}.roi-grid .roi-cta{margin-top:auto;padding-top:var(--space-3)}.resources-sub{margin:var(--space-2) 0 0;font-size:15px;line-height:24px;color:var(--color-ink-600)}.cert-list{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;gap:var(--space-2)}.cert-list li{font-size:14px;line-height:22px;color:var(--color-ink-600)}.cert-list li strong{color:var(--color-ink-900)}html.no-js .spec-table-wrap{max-height:none;opacity:1}@media (prefers-reduced-motion:reduce){
  .spec-table-wrap{transition:none}
  .platform-shot-card,.agent-band .agent-msg,.footer-col a,.btn--primary{transition:none}
  .platform-shot-card:hover{transform:none}
  .agent-band .agent-msg:hover,.footer-col a:hover,.btn--primary:hover{transform:none}
}html.no-js .adv-eyebrow::before,.no-js .eyebrow--pill::before{animation:none}@media (prefers-reduced-motion:reduce){
  .adv-eyebrow::before,.eyebrow--pill::before{animation:none}
  .roi-card::before,.btn--secondary::before,.faq-item::before,.compare-table tbody tr,.compare-table tbody td{transition:none}
}html.no-js .vs-badge,html.no-js .hero-alt .bounce{animation:none}@media (prefers-reduced-motion:reduce){
  .vs-badge,.hero-alt .bounce{animation:none}
  .logo .logo-mark svg,.platform-tag,.trust-bar li,.main-nav .nav-link::after{transition:none}
  .platform-list li .platform-icon,.btn .arrow,.spec-toggle .chev{transition:none}
  .platform-list li:hover .platform-icon{transform:none}
  .is-revealed .platform-list li,.js .hero-stat .hero-stat-num{animation:none}
  .js .chat-fab{animation:none}
  .sticky-cta.is-visible{animation:none}
  .hi-step::after{animation:none;transform:scaleX(0)}
  .hi-arrow,.hi-dot{animation:none}
}.advantages-head{margin-bottom:var(--space-6)}.advantages-head .eyebrow--pill{margin-bottom:0}/* 优势段紧跟产品段，收紧两段叠加留白 */#advantages{padding-top:var(--space-6)}/* 2026-10-24: Platform Advantage 胶囊与上方三个 Advantage 尺寸一致（h3 内继承行高差异导致偏小） */.eyebrow--pill{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--warm-050);border:1px solid var(--warm-200);border-radius:999px;
  padding:7px 16px;margin-bottom:var(--space-3);
  font-size:13px;line-height:20px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-700);
}.eyebrow--pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warm-400)}.adv-lede{margin-top:var(--space-4)}/* ---- 2026-10-24 产品优势分屏对比（用户裁决：左传统机/右智能柜、要点极简） ----
   双面板背景图 + 底部渐变遮罩 + 各 3 条短要点；中缝 VS 徽章；≤749px 纵向堆叠 */.vs-split{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-7)}.vs-panel{position:relative;min-height:380px;border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--color-border-300)}.vs-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.vs-panel--old .vs-bg{filter:grayscale(.55) brightness(.82)}.vs-panel--new .vs-bg{filter:saturate(1.05) brightness(.9)}.vs-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-3);padding:var(--space-5);background:linear-gradient(180deg,rgba(26,18,16,0) 30%,rgba(26,18,16,.86) 100%)}.vs-tag{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72)}.vs-tag--ai{color:var(--warm-400)}.vs-tag--ai .logo-accent{color:var(--color-action-600);letter-spacing:.1em}.vs-points{list-style:none;margin:0;padding:0}.vs-points li{position:relative;padding-left:20px;font-size:16px;line-height:24px;color:#F4EDE3;margin-bottom:8px}.vs-points li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%}.vs-panel--old .vs-points li::before{background:rgba(255,255,255,.4)}.vs-panel--new .vs-points li::before{background:var(--color-action-600)}.vs-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:52px;height:52px;border-radius:50%;background:var(--color-action-600);color:#fff;font-weight:700;font-size:15px;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;border:3px solid var(--color-bg-alt);box-shadow:0 4px 12px rgba(26,18,16,.25)}.goal-band{margin-top:var(--space-7);border:1px solid var(--warm-200);border-left:4px solid var(--color-action-600);border-radius:var(--radius-card);background:var(--color-bg-card);padding:var(--space-6)}.goal-title{font-size:26px;line-height:36px;color:var(--color-ink-900);margin:0}.goal-sub{margin:var(--space-3) 0 0;color:var(--color-ink-600)}/* --- VI Agent 亮点块（深色段，琥珀点缀；2026-10-24 新增） --- */.agent-band{margin-top:var(--space-7);border:1px solid var(--warm-400);border-radius:var(--radius-card);background:var(--color-brand-800);padding:var(--space-6)}.agent-head{display:flex;gap:var(--space-4);align-items:flex-start}.agent-avatar{flex:none;width:52px;height:52px;border-radius:50%;background:var(--warm-400);color:#1A1210;font-family:var(--font-heading);font-weight:700;font-size:18px;display:inline-flex;align-items:center;justify-content:center}.agent-title{color:#FFFFFF;font-size:20px;line-height:28px}.agent-sub{color:#C9BBA9;font-size:15px;line-height:24px;margin-top:4px}.agent-chat{margin-top:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.agent-msg{background:rgba(246,231,206,.08);border:1px solid var(--color-brand-700);border-radius:10px;padding:10px 14px;font-size:14px;line-height:22px;color:#C9BBA9;max-width:720px}/* 2026-10-24 新增：VI Agent 对话顺序进场（采纳外部评审"Agent 动效化"建议，轻量 CSS 实现）。
   agent-band 揭示后三条消息依次淡入 + 光标闪动收尾；no-js / reduced-motion 直出终态 */.agent-msg{opacity:0;transform:translateY(8px)}.agent-band.is-revealed .agent-msg{animation:agentMsgIn .5s ease forwards}.agent-band.is-revealed .agent-msg:nth-child(1){animation-delay:.15s}.agent-band.is-revealed .agent-msg:nth-child(2){animation-delay:.75s}.agent-band.is-revealed .agent-msg:nth-child(3){animation-delay:1.35s}.agent-band.is-revealed .agent-msg:nth-child(3)::after{content:"▌";margin-left:4px;opacity:0;animation:agentCursor 1s steps(1) 2.1s infinite}@keyframes agentMsgIn{to{opacity:1;transform:none}}@keyframes agentCursor{50%{opacity:1}}html.no-js .agent-msg{opacity:1;transform:none}html.no-js .agent-band.is-revealed .agent-msg:nth-child(3)::after{content:none}.agent-msg strong{color:var(--warm-400);font-weight:600}.agent-msg--user{margin-left:auto;background:rgba(255,255,255,.04)}.agent-msg--user strong{color:#FFFFFF}.agent-points{margin-top:var(--space-5);display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3) var(--space-5);list-style:none}.agent-points li{position:relative;padding-left:22px;font-size:14px;line-height:22px;color:#C9BBA9}.agent-points li::before{content:"✓";position:absolute;left:0;color:var(--warm-400);font-weight:700}/* --- Support sub-block "Platform + People" (warm iteration) ---
   Full-width band inside dark section ⑤, before the section CTA.
   Desktop: image left 5 cols + text right 7 cols; ≤749px stacks image-above-text. */.support-band{margin-top:var(--space-8);padding-top:var(--space-7);border-top:1px solid var(--color-brand-700)}/* 2026-10-24 修复：support-band 随重排落入亮底区（原为深色段样式），白字/米金正文不可读——
   亮底上下文覆盖：标题 ink-900、正文 ink-600、eyebrow 用亮底暖化变体 */.support-band .support-head{color:var(--color-ink-900) !important}.support-band .support-intro{color:var(--color-ink-600)}.support-band .platform-list h3{color:var(--color-ink-900)}.support-band .platform-list p{color:var(--color-ink-600)}.support-intro{font-size:16px;line-height:26px;color:#C9BBA9;max-width:760px}.support-duo{display:grid;grid-template-columns:5fr 7fr;gap:var(--space-7);align-items:start;margin-top:var(--space-5)}.support-figure{margin:0}.support-figure .ph{border-radius:8px}/* 暖色白名单内：支持子块图标允许 warm accent（描边+线性 icon），填充仍禁用 */.support-list .platform-icon{border-color:var(--warm-400);color:var(--warm-400)}/* --- Warm caption bar (touchpoints #1 ⑤ / #2 ⑥) ---
   warm-100 surface · 4px radius · 8/12 padding · two-part: uppercase warm-700
   label + body-ink sentence. Used by support figure AND all gallery figcaptions. */.warm-caption{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;
  background:var(--warm-100);border-radius:4px;padding:8px 12px;
}.warm-caption-label{font-size:11px;line-height:16px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--warm-700);white-space:nowrap}.warm-caption-text{font-size:13px;line-height:20px;color:var(--color-ink-600)}.warm-caption-note{flex-basis:100%;font-size:11px;line-height:16px;color:var(--color-ink-400)}figcaption.warm-caption{margin-top:var(--space-3)}/* 2026-10-24 修复：单行六列下说明条高度不齐——gallery-item 改纵向 flex，caption 拉伸补齐 *//* TEMP image filters (visual-spec §20, warm palette overhaul v1.3) — REMOVE
   when final brand photography is in place (flagged at each usage site).
   A .img-cool-warmize: cool-tone imagery unified to the warm palette
   (sepia pulls hue toward 40° warm brown; saturate offsets sepia desat;
   hue-rotate pushes residual cyan-blue toward yellow-orange; brightness
   compensates; contrast slightly lowered to avoid a "sepia print" look).
   B .img-warm-temp: warm imagery gently desaturated for the low-saturation
   business tone. LCP candidate (hero poster) carries exactly one filter. */.img-cool-warmize{filter:sepia(.16) saturate(1.06) hue-rotate(-6deg) brightness(1.03) contrast(.98)}.img-warm-temp{filter:saturate(.94) contrast(1.01)}/* ==========================================================
   ⑥ DEPLOYMENT GALLERY (downgraded from case studies)
   ========================================================== *//* 2026-10-24：部署画廊已按用户裁决删除（6 图 AI 占位无实拍价值），
   .gallery-grid/.gallery-item 规则移除；warm-caption 仍用于 support-figure */.product-card .product-pos{margin-top:var(--space-1);font-size:12px;line-height:18px;letter-spacing:.04em;text-transform:uppercase;font-family:var(--font-mono);color:var(--color-ink-400)}/* ==========================================================
   ⑦ FAQ (accordion, mutually exclusive)
   ========================================================== */.faq-wrap{max-width:800px;margin:0 auto}.faq-quote-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);max-width:800px;margin:0 auto var(--space-6);padding:var(--space-4) var(--space-5);background:var(--warm-050);border:1px solid var(--warm-200);border-radius:12px}.faq-quote-bar p{margin:0;font-size:15px;line-height:22px;color:var(--color-ink-700)}@media (max-width:640px){.faq-quote-bar{flex-direction:column;text-align:center}}.faq-item{background:var(--color-bg-alt);border-radius:var(--radius-card);overflow:hidden}.faq-item+.faq-item{margin-top:var(--space-3)}.faq-q{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);
  width:100%;min-height:56px;padding:var(--space-4) var(--space-5);
  text-align:left;font-size:16px;font-weight:500;color:var(--color-ink-900);
  border-left:2px solid transparent;
  transition:border-color var(--motion-fast);
}.faq-q:hover{color:var(--color-brand-700)}.faq-q .faq-icon{flex:none;position:relative;width:16px;height:16px}.faq-q .faq-icon::before,.faq-q .faq-icon::after{
  content:"";position:absolute;background:var(--color-ink-900);
  transition:transform var(--motion-accordion); /* v1.4 §28.2: 240ms, synced with height */
}.faq-q .faq-icon::before{left:0;top:7px;width:16px;height:2px}.faq-q .faq-icon::after{left:7px;top:0;width:2px;height:16px}.faq-q[aria-expanded="true"]{border-left-color:var(--color-brand-700)}.faq-q[aria-expanded="true"] .faq-icon::after{transform:rotate(90deg)}/* Motion v1.4 §28.1: 240ms height via grid-template-rows 0fr <-> 1fr
   (site's ONLY layout-property animation, controlled exception); content
   fades in 200ms delayed 60ms. reduced-motion: global transition:none ->
   height/opacity switch instantly (direct final state). */.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--motion-accordion)}.faq-a.is-open{grid-template-rows:1fr}.faq-a p{
  overflow:hidden;min-height:0;
  padding:0 var(--space-5) var(--space-5) calc(var(--space-5) + 2px);
  font-size:15px;line-height:24px;color:var(--color-ink-600);
  opacity:0;transition:opacity var(--motion-base) 60ms;
}.faq-a.is-open p{opacity:1}.faq-a .tbd{font-family:var(--font-mono);font-size:13px;color:var(--color-brand-700)}.faq-foot{margin-top:var(--space-6);text-align:center}/* ==========================================================
   ⑧ CTA BANNER (dark)
   ========================================================== */.cta-banner{background:var(--color-brand-900);color:#FFFFFF;padding:var(--space-9) 0}.cta-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-7)}.cta-banner h2{color:#FFFFFF;margin-bottom:var(--space-3)}.cta-banner p{font-size:16px;line-height:26px;color:#C9BBA9;max-width:560px}.cta-banner-actions{display:flex;gap:var(--space-4);flex:none;flex-wrap:wrap}/* ==========================================================
   FOOTER
   ========================================================== */.site-footer{background:var(--color-brand-900);color:#C9BBA9;border-top:1px solid var(--color-brand-700)}.footer-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);
  padding:var(--space-8) 0 var(--space-7);
}.footer-brand{grid-column:1 / -1;margin-bottom:var(--space-2)}.footer-brand .logo{color:#FFFFFF}.footer-col h5{color:#FFFFFF;font-size:14px;line-height:20px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:var(--space-4)}.footer-col ul li+li{margin-top:var(--space-3)}.footer-col a{font-size:14px;line-height:22px;color:#C9BBA9;transition:color var(--motion-fast)}.footer-col a:hover{color:#FFFFFF}.footer-tag{margin:12px 0 0;max-width:360px}.footer-legal{
  border-top:1px solid var(--color-brand-700);
  padding:var(--space-5) 0;display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-4);flex-wrap:wrap;font-size:13px;line-height:20px;color:#9C8E7C;
}.footer-legal ul{display:flex;gap:var(--space-5);flex-wrap:wrap}.footer-legal a{color:#9C8E7C}.footer-legal a:hover{color:#FFFFFF}/* ==========================================================
   MOBILE STICKY CTA BAR (appears past 640px scroll)
   ========================================================== */.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:90;
  background:rgba(26,18,16,.96);backdrop-filter:blur(8px);
  padding:10px var(--space-4) calc(10px + env(safe-area-inset-bottom,0px));
  transform:translateY(110%);transition:transform var(--motion-base);
  display:none;
}.sticky-cta.is-visible{transform:none;animation:stickyGreet .5s ease .15s backwards}/* 2026-10-25 注意力聚焦④：粘性条出现时一次性轻微弹跳引导注意（不循环） */@keyframes stickyGreet{0%{transform:translateY(110%)}55%{transform:translateY(-6px)}80%{transform:translateY(2px)}100%{transform:none}}.sticky-cta .inner{display:flex;gap:var(--space-3);max-width:480px;margin:0 auto}.sticky-cta .btn{flex:1;height:44px;font-size:15px;padding:0 12px}/* ==========================================================
   CHAT FAB + TOAST (SME iteration #8 — placeholder, no real chat)
   ========================================================== */.chat-fab{
  position:fixed;right:24px;bottom:24px;z-index:80;
  width:56px;height:56px;border-radius:50%;
  /* Warm iteration ruling: FAB body = action-600, hover action-700 (was brand-800) */
  background:var(--color-action-600);color:#FFFFFF;
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-hover);
  transition:box-shadow var(--motion-fast),background var(--motion-fast),opacity var(--motion-base),visibility var(--motion-base);
}/* Hover = unified CTA glow ring (action family, 2026-10-25) + ruled fill
   change; no other bg shift. The former warm-200 ring (different family from
   buttons) was removed per the "unified CTA hover halo" ruling — the FAB's
   warm whitelist now covers the invite bubble only. */.chat-fab:hover{background:var(--color-action-700);box-shadow:0 0 0 4px rgba(194,65,12,.15),var(--shadow-hover)}.chat-fab.is-hidden{opacity:0;visibility:hidden;pointer-events:none}/* 2026-10-25 注意力聚焦⑤：FAB 每 9s 轻摆一次提醒在线客服触点（幅度小、不循环闪烁） */@keyframes fabAttract{0%,88%,100%{transform:rotate(0)}91%{transform:rotate(9deg)}94%{transform:rotate(-8deg)}97%{transform:rotate(4deg)}}.js .chat-fab{animation:fabAttract 9s ease-in-out infinite;transform-origin:70% 70%}/* ==========================================================
   2026-10-26 How It Works 三步锁定：循环点亮动效
   每词底部琥珀下划线依次扫入（0→1→2 接力），箭头在交接瞬间变琥珀并前冲
   周期 4.8s；no-js / prefers-reduced-motion 静态直出（无下划线、无箭头动效）
   ========================================================== */.hi-steps{display:flex;align-items:baseline;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.hi-step{position:relative;display:inline-block}.hi-step::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:5px;border-radius:3px;background:var(--color-action-600);transform:scaleX(0);transform-origin:left;animation:hiSweep 4.8s ease-in-out infinite}.hi-step:nth-of-type(1)::after{animation-delay:0s}.hi-step:nth-of-type(3)::after{animation-delay:1.6s}.hi-step:nth-of-type(5)::after{animation-delay:3.2s}.hi-arrow{display:inline-block;color:var(--color-ink-400);transition:color .2s,transform .2s;animation:hiArrow 4.8s ease-in-out infinite}.hi-arrow:nth-of-type(2){animation-delay:1.6s}.hi-arrow:nth-of-type(4){animation-delay:3.2s}/* 2026-10-26 文案升级：节奏点分隔符（琥珀圆点在词组交接时放大点亮） */.hi-dot{align-self:center;width:8px;height:8px;border-radius:50%;background:var(--color-ink-400);animation:hiDot 4.8s ease-in-out infinite}.hi-dot:nth-of-type(2){animation-delay:1.6s}.hi-dot:nth-of-type(4){animation-delay:3.2s}@keyframes hiDot{0%,10%{background:var(--color-ink-400);transform:scale(1)}14%,24%{background:var(--color-action-600);transform:scale(1.5);box-shadow:0 0 0 5px rgba(194,65,12,.15)}32%,100%{background:var(--color-ink-400);transform:scale(1);box-shadow:none}}@keyframes hiSweep{0%{transform:scaleX(0)}10%,25%{transform:scaleX(1)}40%{transform:scaleX(1);opacity:1}45%,100%{transform:scaleX(1);opacity:0}}@keyframes hiArrow{0%,10%{color:var(--color-ink-400);transform:none}14%,22%{color:var(--color-action-600);transform:translateX(4px)}30%,100%{color:var(--color-ink-400);transform:none}}/* Chat invite bubble (touchpoint #4): warm-100 surface · ink-900 text · warm-200 border */.chat-tooltip{
  position:fixed;right:24px;bottom:92px;z-index:80;max-width:300px;
  background:var(--warm-100);color:var(--color-ink-900);
  border:1px solid var(--warm-200);border-radius:var(--radius-card);
  padding:10px 14px;font-size:14px;line-height:22px;
  box-shadow:var(--shadow-hover);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity var(--motion-base),transform var(--motion-base),visibility var(--motion-base);
}.chat-tooltip.is-visible{opacity:1;visibility:visible;transform:none}.chat-toast{
  position:fixed;right:24px;bottom:92px;z-index:80;max-width:320px;
  background:var(--color-brand-900);color:#FFFFFF;
  padding:12px 16px;border-radius:var(--radius-card);
  font-size:14px;line-height:22px;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity var(--motion-base),transform var(--motion-base),visibility var(--motion-base);
  box-shadow:var(--shadow-hover);
}.chat-toast.is-visible{opacity:1;visibility:visible;transform:none}@media (max-width:749px){
  .chat-fab{right:16px;bottom:16px;transition:box-shadow var(--motion-fast),background var(--motion-fast),opacity var(--motion-base),visibility var(--motion-base),transform var(--motion-base)}
  .chat-toast{right:16px;bottom:80px;max-width:calc(100vw - 32px)}
  .chat-tooltip{right:16px;bottom:80px;max-width:calc(100vw - 32px)}
  /* 粘性 CTA 出现时，FAB 与气泡整体上移避让（bar 高约 64px + safe-area） */
  body.has-sticky-cta .chat-fab{transform:translateY(calc(-64px - env(safe-area-inset-bottom,0px)))}
  body.has-sticky-cta .chat-toast,body.has-sticky-cta .chat-tooltip{transform:translateY(calc(-64px - env(safe-area-inset-bottom,0px)))}
  body.has-sticky-cta .chat-tooltip.is-visible,body.has-sticky-cta .chat-toast.is-visible{transform:translateY(calc(-64px - env(safe-area-inset-bottom,0px)))}
}/* ==========================================================
   RFQ MODAL (7 required + 2 optional, per Phase-1 ruling)
   ========================================================== */.modal-backdrop{
  position:fixed;inset:0;z-index:150;background:rgba(26,18,16,.55);
  opacity:0;visibility:hidden;transition:opacity var(--motion-base),visibility var(--motion-base);
  display:flex;align-items:flex-start;justify-content:center;
  overflow-y:auto;padding:var(--space-6) var(--space-4);
}.modal-backdrop.is-open{opacity:1;visibility:visible}.modal{
  background:var(--color-bg-card);border-radius:var(--radius-card);max-width:640px;width:100%;
  margin:auto 0;transform:translateY(12px);transition:transform var(--motion-base);
  border:1px solid var(--color-border-300);
}.modal-backdrop.is-open .modal{transform:none}.modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:var(--space-5) var(--space-6) 0;
}.modal-head h2{font-size:24px;line-height:32px}.modal-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--color-ink-600)}.modal-close:hover{background:var(--color-bg-alt);color:var(--color-ink-900)}.modal-sub{padding:var(--space-2) var(--space-6) 0;font-size:14px;line-height:22px;color:var(--color-ink-600)}.modal-body{padding:var(--space-5) var(--space-6) var(--space-6)}/* 2-step RFQ (SME iteration): progress uses ink/warm-charcoal, not orange */.rfq-progress{margin-bottom:var(--space-5)}.rfq-progress-text{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2)}.rfq-step-count{font-family:var(--font-mono);font-size:12px;line-height:16px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-600)}.rfq-step-title{font-size:13px;line-height:18px;color:var(--color-ink-400)}.rfq-progress-track{height:4px;border-radius:2px;background:var(--color-bg-alt);overflow:hidden}.rfq-progress-fill{height:100%;background:var(--color-ink-900);transition:width .2s ease-out}.rfq-step{display:none}.rfq-step.is-active{display:block}.rfq-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.rfq-actions .btn{flex:1}[hidden]{display:none!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-field{display:flex;flex-direction:column;gap:6px}.form-field--full{grid-column:1 / -1}.form-field label{font-size:14px;font-weight:500;color:var(--color-ink-900)}.form-field .req{color:var(--color-action-600)}.form-field input,.form-field select,.form-field textarea{
  height:48px;padding:0 14px;font:inherit;font-size:16px;color:var(--color-ink-900);
  background:var(--color-bg-card);border:1px solid var(--color-border-300);border-radius:var(--radius-input);
  transition:border-color var(--motion-fast),box-shadow var(--motion-fast);
  width:100%;appearance:none;-webkit-appearance:none;
}.form-field textarea{height:auto;min-height:96px;padding:12px 14px;resize:vertical}.form-field select{
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2357504A' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;
}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  outline:none;border:2px solid var(--color-ink-900);padding:0 13px;
}.form-field textarea:focus{padding:11px 13px}/* focus 淡底：仅描边辅助，不做大面积铺色 */.form-field input:focus,.form-field select:focus,.form-field textarea:focus{background:#FFFDFB}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{
  border-color:var(--color-error);
}.field-error{display:none;font-size:14px;line-height:20px;color:var(--color-error);align-items:center;gap:6px}.field-error::before{content:"⚠";font-size:13px}.form-field.has-error .field-error{display:flex}.form-error{display:none;font-size:14px;line-height:20px;color:#C2410C;align-items:center;gap:6px;margin:var(--space-3) auto 0;text-align:center}.form-error.is-visible{display:flex}.form-privacy{font-size:12px;line-height:18px;color:var(--color-ink-400);margin:var(--space-4) auto 0;max-width:640px;text-align:center}/* 2026-10-25 转化优化：What happens next 3 步条 */.rfq-next-steps{list-style:none;margin:0 0 var(--space-4);padding:var(--space-3) var(--space-5);background:var(--warm-050);border:1px solid var(--warm-200);border-radius:10px;display:grid;gap:6px}.rfq-next-steps li{display:flex;align-items:center;gap:8px;font-size:13px;line-height:20px;color:var(--color-ink-700)}.rfq-next-steps li span{flex:0 0 18px;height:18px;line-height:18px;text-align:center;border-radius:50%;background:var(--color-action-600);color:#FFFFFF;font-family:var(--font-mono);font-size:11px}.form-privacy a{text-decoration:underline;color:var(--color-ink-600)}.rfq-actions .form-submit{width:auto;margin-top:0}.form-submit .spinner{
  width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#FFFFFF;
  border-radius:50%;animation:spin .7s linear infinite;display:none;
}.form-submit.is-loading .spinner{display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}/* Success state */.form-success{display:none;text-align:center;padding:var(--space-6) var(--space-4)}.form-success.is-visible{display:block}.success-icon{
  width:56px;height:56px;border-radius:50%;background:#ECFDF3;color:var(--color-success);
  display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4);
  font-size:24px;font-weight:700;
}.form-success h3{font-size:24px;line-height:32px;margin-bottom:var(--space-3)}.form-success p{font-size:15px;line-height:24px;color:var(--color-ink-600);max-width:420px;margin:0 auto var(--space-5)}/* ==========================================================
   V2 CHECKOUT MEDIA BAND (2026-10-25, inserted above module ④;
   does NOT replace the existing studio imagery in ④)
   ========================================================== */.media-band{background:var(--color-bg-alt);border-top:1px solid var(--color-border-300)}/* 2026-10-24：Platform Advantage 改白底（用户裁决）——亮底作用域覆盖 */.platform-light .platform-list h3{color:var(--color-ink-900)}.platform-light .platform-list p{color:var(--color-ink-600)}.platform-shot-card{background:var(--color-bg-card);border:1px solid var(--color-border-300);box-shadow:0 8px 24px rgba(26,18,16,.08);border-radius:8px;overflow:hidden}/* 2026-10-24：目标宣言独立段的紧凑上下留白 *//* 2026-10-24: platform 段顶距收紧（用户反馈与上一段之间空白过大） */#platform{padding-top:var(--space-6)}.section--tight{padding-top:var(--space-4);padding-bottom:var(--space-5)}/* 2026-10-26 流畅度优化：首屏以下区块渲染跳过（滚动更顺滑），锚点平滑滚动 */@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}#products,#advantages,#platform,#business-value,#goal-statement,#partners,#deployments,#faq,#quote-banner{content-visibility:auto;contain-intrinsic-size:auto 900px}/* ---- 目标宣言卡 v4：白底悬浮卡（用户裁决：hover 突出） ----
   居中白卡；hover 上浮 + 琥珀描边 + 阴影加深；
   "running better" 手绘下划线扫入（.is-revealed 触发）；no-js 直出终态 */.goal-card{
  position:relative;max-width:980px;margin:0 auto;
  background:var(--color-bg-card);border:1px solid var(--warm-200);
  border-radius:var(--radius-card);padding:var(--space-6) var(--space-7);
  text-align:center;
  box-shadow:0 1px 2px rgba(26,18,16,.05);
  transition:transform var(--motion-base),box-shadow var(--motion-base),border-color var(--motion-base);
}.goal-card:hover{transform:translateY(-4px);border-color:var(--color-action-600);box-shadow:0 12px 28px rgba(194,65,12,.14)}.goal-card::before{content:"\201C";position:absolute;top:2px;left:var(--space-5);font-size:64px;line-height:1;font-weight:700;color:var(--warm-200);user-select:none}.goal-card .goal-title{font-size:24px;line-height:36px;color:var(--color-ink-900);margin:0}.goal-underline{position:relative;white-space:nowrap;font-weight:700}.goal-underline::after{content:"";position:absolute;left:-2px;right:-2px;bottom:-2px;height:6px;border-radius:3px;background:var(--warm-200);transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.16,1,.3,1) .5s}.goal-card.is-revealed .goal-underline::after{transform:scaleX(1)}.goal-card:hover .goal-underline::after{background:var(--color-action-600)}.goal-card .goal-sub{margin:var(--space-2) 0 0;color:var(--color-ink-600);font-size:15px}html.no-js .goal-underline::after{transform:scaleX(1)}.media-head{text-align:center;max-width:680px;margin:0 auto var(--space-5)}/* 16:9 locked container → zero CLS; fallback img (existing deployment
   placeholder) shows permanently if the video fails to load */.media-video-frame{
  position:relative;max-width:none;
  /* 2026-10-24 用户裁决：视频左右全屏（full-bleed），负 margin 抵消 page-width 内边距 */
  margin:0 calc(-1 * var(--space-5));
  aspect-ratio:16/9;overflow:hidden;
  border-radius:0;border-top:1px solid var(--color-border-300);border-bottom:1px solid var(--color-border-300);
  background:var(--color-brand-100);
}@media (min-width:1440px){.media-video-frame{margin:0 calc(-1 * var(--space-6))}}.media-video-frame img,.media-video-frame video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}.media-video-frame video{opacity:0;transition:opacity var(--motion-base)}.media-video-frame video.is-ready{opacity:1}.media-caption{
  /* 2026-10-26 用户反馈：文案收进一行，放宽容器 */
  max-width:900px;margin:var(--space-4) auto 0;text-align:center;
  font-size:16px;line-height:26px;color:var(--color-ink-600);
}/* 视频内常驻合规小字（非 hover 触发）：
   亮底 → ink-600 + 半透明白衬底保证可读；暗底变体 → rgba 白 .6 */.vid-note{
  position:absolute;left:12px;bottom:12px;z-index:3;
  font-size:11px;line-height:16px;color:var(--color-ink-600);
  background:rgba(255,255,255,.85);padding:3px 8px;border-radius:4px;
  max-width:calc(100% - 24px);
}.vid-note--dark{
  left:auto;bottom:auto;right:12px;top:10px;
  background:none;padding:0;color:rgba(255,255,255,.6);
  text-shadow:0 1px 2px rgba(26,18,16,.4);
}/* ==========================================================
   V3 SUPPORT VIDEO (module ⑤ support sub-block figure)
   team-support.webp <img> → img(poster, LCP 语义) + video 双层；
   warm-100 图注条改为覆盖视频下缘（内容不变）
   ========================================================== */.support-figure{position:relative}.support-media{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:8px;background:var(--color-brand-100)}.support-media img,.support-media video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}.support-media video{opacity:0;transition:opacity var(--motion-base)}.support-media video.is-ready{opacity:1}.support-figure .warm-caption{
  position:absolute;left:0;right:0;bottom:0;z-index:2;margin:0;
  border-radius:0 0 8px 8px;background:rgba(246,231,206,.95); /* warm-100 (new value) @ .95 */
}/* V3 eyebrow（暗底 → warm-400 文字级，琥珀扩权明示例外） */.eyebrow--warm-dark{color:var(--warm-400)}/* ③ 琥珀扩权 eyebrow（亮底 → warm-700，该屏唯一暖 eyebrow） */.eyebrow--warm{color:var(--warm-700)}/* 琥珀数字高亮模板：数字 ink-900 + 3px warm-400 下划线条
   （radius 2px、条与文字底缘间距 4px）。[X]/[TBD] 占位不编造；
   count-up 动效仅真实数据激活后启用（见 JS 预留注释）。 */.amber-num{position:relative;display:inline-block;color:var(--color-ink-900)}.amber-num::after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;
  border-radius:2px;background:var(--warm-400);
}/* ==========================================================
   RESPONSIVE — Tablet 750–989px
   ========================================================== */@media (max-width:989px){
  .main-nav,.header-actions .btn--secondary{display:none}
  .hamburger{display:flex}
  h1{font-size:44px;line-height:52px}
  h2{font-size:34px;line-height:42px}
  h3{font-size:24px;line-height:32px}
  .products-title-compact{white-space:normal;font-size:28px;line-height:36px}
  #platform-title{white-space:normal !important;font-size:28px !important;line-height:36px !important}
  .section{padding:var(--space-8) 0}
  .uc-grid{grid-template-columns:repeat(2,1fr)}
  .uc-grid .uc-card:nth-child(3){grid-column:auto}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .product-grid .product-card:last-child{grid-column:1 / -1;max-width:480px;margin:0 auto;width:100%}
  .platform-grid{grid-template-columns:1fr;gap:var(--space-6)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .cta-banner-inner{flex-direction:column;align-items:flex-start}
}/* ==========================================================
   RESPONSIVE — Mobile ≤749px
   ========================================================== */@media (max-width:749px){
  h1{font-size:36px;line-height:44px}
  h2{font-size:28px;line-height:36px}
  h3{font-size:22px;line-height:30px}
  h4{font-size:20px;line-height:28px}
  .uc-card-body h3{font-size:20px;line-height:28px} /* heading fix: card h4 became h3, keep former h4 mobile size */
  body{font-size:16px;line-height:24px}
  .section{padding:var(--space-7) 0}
  .page-width{padding:0 var(--space-4)}
  .media-video-frame{margin:0 calc(-1 * var(--space-4))}
  .header-inner{padding:0 var(--space-4)}
  .site-header{height:60px}
  .header-actions .btn{display:none}
  /* 首屏即有转化入口：移动端保留紧凑 Quote 按钮（2026-10-25 营销策略①） */
  .header-actions .btn--primary{display:inline-flex;height:38px;padding:0 14px;font-size:14px}
  /* Hero: 4:5 crop, bottom-up gradient, text raised */
  .hero{height:auto;min-height:0;max-height:none;align-items:flex-end}
  .hero-media{position:relative;aspect-ratio:4/5}
  .hero-overlay{background:linear-gradient(0deg,rgba(26,18,16,.92) 0%,rgba(26,18,16,.55) 45%,rgba(26,18,16,.25) 100%)}
  .hero-inner{margin-top:-62%}
  .hero-content{padding:0 0 calc(var(--space-7) + 24px);max-width:100%} /* 底部留白避让 .hero-disc */
  .hero-content h1{margin-bottom:var(--space-4)}
  .hero-content .hero-sub{font-size:16px;line-height:24px;margin-bottom:var(--space-5)}
  .hero-ctas{flex-direction:column;align-items:stretch}
  .hero-ctas .btn{width:100%;max-width:400px;margin:0 auto}
  /* Cards */
  .uc-grid{grid-template-columns:1fr;gap:var(--space-4)}
  .roi-grid{grid-template-columns:1fr;gap:var(--space-4)}
  .adv-head{font-size:22px;line-height:30px}
  .goal-band{padding:var(--space-5)}
  .goal-title{font-size:22px;line-height:30px}
  /* goal-band v3 移动端 */
  .goal-card{padding:var(--space-5) var(--space-4)}
  .vs-split{grid-template-columns:1fr;gap:var(--space-2)}
  .vs-panel{min-height:280px}
  .vs-badge{width:44px;height:44px;font-size:13px}
  /* 2026-10-25 移动端对比优化：堆叠后等高面板，徽章回到容器几何中心（即两panel接缝） */
  .vs-badge{top:50%;bottom:auto}
  .vs-overlay{padding:var(--space-4)}
  .vs-tag{font-size:11px;letter-spacing:.08em}
  .vs-points li{font-size:15px;line-height:21px;margin-bottom:4px;padding-left:18px}
  .vs-points li::before{top:6px;width:7px;height:7px}
  .goal-card .goal-title{font-size:19px;line-height:30px}
  .product-grid{grid-template-columns:1fr;gap:var(--space-4)}
  .product-grid .product-card:last-child{grid-column:auto;max-width:none}
  .products-head{flex-direction:column;align-items:flex-start}
  /* 2026-10-25 中屏（750–989px）双列对比收紧：压缩内距与字号避免挤压 */
  .vs-panel{min-height:340px}
  .vs-overlay{padding:var(--space-4)}
  .vs-points li{font-size:15px;line-height:21px}
  /* Support sub-block: stack image-above-text (figure is first in DOM) */
  .support-duo{grid-template-columns:1fr;gap:var(--space-5)}
  .platform-cta .btn{width:100%;max-width:400px}
  /* VI Agent / 对比表 移动端（2026-10-24） */
  .agent-points{grid-template-columns:1fr}
  .agent-head{flex-direction:column}
  .agent-band{padding:var(--space-5)}
  .sticky-cta{display:block}
  /* Modal / form */
  .modal-head,.modal-sub,.modal-body{padding-left:var(--space-5);padding-right:var(--space-5)}
  .form-grid{grid-template-columns:1fr}
  .modal-backdrop{padding:var(--space-4) var(--space-3)}
  /* CTA banner */
  .cta-banner-actions{flex-direction:column;width:100%}
  .cta-banner-actions .btn{width:100%;max-width:400px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:var(--space-5)}
  .footer-legal{flex-direction:column;align-items:flex-start}
  /* V1/V2/V3 mobile: disclaimer & vid-note 不遮挡内容 */
  .hero-disc{right:12px;bottom:8px;max-width:calc(100% - 24px)}
  .vid-note{left:8px;bottom:8px}
  .vid-note--dark{right:8px;top:8px}
}@media (max-width:479px){
  .footer-grid{grid-template-columns:1fr}
}/* ==========================================================
   2026-10-26 移动端体验专项（全部限定 ≤989px / ≤749px / ≤479px，PC 不受影响）
   ========================================================== */@media (max-width:989px){
  /* 触屏手感：去掉点按高亮闪烁、消除点按延迟 */
  html{-webkit-tap-highlight-color:transparent}
  button,a,.btn,.faq-q,.spec-toggle,.uc-card{touch-action:manipulation}
}@media (max-width:749px){
  /* 段落节奏：移动端上下留白收紧一档 */
  .section{padding:var(--space-6) 0 var(--space-7)}
  /* RFQ 弹窗改近全屏卡片：长表单内部可滚动，不再被键盘/视口截断 */
  .modal{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
  .modal-body{padding-bottom:var(--space-6)}
  /* Hero 信任条 2×2 紧凑排布 */
  .hero-stat-label{font-size:13px;line-height:18px}
  .hero-trust-bar{gap:10px 18px}
  /* 底部粘条避让 iPhone 手势条 */
  .sticky-cta{padding-bottom:env(safe-area-inset-bottom)}
  /* 卡片圆角收敛，视觉更利落 */
  .uc-card,.product-card,.roi-card{border-radius:10px}
}@media (max-width:479px){
  .hero-content h1{font-size:32px;line-height:40px}
  .cta-banner h2{font-size:26px;line-height:34px}
}