/* ==========================================================================
   广捷科技 · 智慧收银  |  www.32s.cn
   Design System · 2026
   ========================================================================== */

/* ---------- Tokens ---------- */
:root{
  --ink:#0A1120;
  --ink-2:#151E33;
  --body:#4E5A70;
  --muted:#7C889B;
  --line:#E6ECF6;
  --line-2:#D5E0F0;
  --bg:#FFFFFF;
  --soft:#F4F8FF;
  --soft-2:#EAF2FF;

  --blue:#0B84FF;
  --blue-d:#0060CC;
  --blue-l:#E8F3FF;
  --cyan:#00D2C6;
  --gold:#FFB020;

  --r-sm:10px;
  --r:16px;
  --r-lg:22px;
  --r-xl:30px;

  --sh-xs:0 1px 2px rgba(10,17,32,.05);
  --sh-sm:0 4px 14px rgba(10,17,32,.06);
  --sh:0 18px 44px -22px rgba(10,17,32,.28);
  --sh-lg:0 40px 80px -40px rgba(10,17,32,.40);

  --wrap:1200px;
  --ease:cubic-bezier(.22,.68,.28,1);

  --ff:"Inter","HarmonyOS Sans SC","PingFang SC","Microsoft YaHei","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"SF Mono","JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;font-family:var(--ff);color:var(--body);background:var(--bg);
  font-size:16px;line-height:1.75;letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5{margin:0;color:var(--ink);font-weight:700;line-height:1.25;letter-spacing:-.02em}
p{margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul,ol{margin:0;padding:0;list-style:none}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,textarea,select{font-family:inherit;font-size:inherit}
svg{display:block}
::selection{background:rgba(11,132,255,.16);color:var(--ink)}

/* ---------- Helpers ---------- */
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 28px}
.section{padding:104px 0;position:relative}
.section--soft{background:var(--soft)}
.section--tight{padding:72px 0}
.center{text-align:center}
.mono{font-family:var(--mono);font-feature-settings:"tnum"}

.kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue);margin-bottom:18px;
}
.kicker::before{
  content:"";width:18px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--blue),var(--cyan));
}
.sec-title{font-size:clamp(28px,3.4vw,42px);letter-spacing:-.03em}
.sec-desc{margin-top:16px;font-size:16.5px;color:var(--body);max-width:660px}
.sec-head{max-width:760px}
.sec-head--center{margin:0 auto;text-align:center}
.sec-head--center .sec-desc{margin-left:auto;margin-right:auto}
.sec-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}
/* 分组标题右侧的“查看更多”，锚点跳转时避开吸顶导航 */
#compare,#weigh,#pos,#acc,#soft,#service,#why,#list,#pick,#layout,#print{scroll-margin-top:96px}
.sec-head-row>.btn{flex-shrink:0;margin-bottom:2px}
@media (max-width:820px){
  .sec-head-row{gap:22px}
  .sec-head-row>.btn{height:40px;padding:0 16px;font-size:13.5px}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:50px;padding:0 26px;border-radius:12px;
  font-size:15px;font-weight:600;letter-spacing:.01em;white-space:nowrap;
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),background .2s,color .2s,border-color .2s;
  will-change:transform;
}
.btn svg{width:17px;height:17px;transition:transform .28s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--primary{
  background:linear-gradient(135deg,var(--blue),#0A6BE0);
  color:#fff;box-shadow:0 12px 26px -12px rgba(11,132,255,.75);
}
.btn--primary:hover{box-shadow:0 18px 34px -14px rgba(11,132,255,.85)}
.btn--primary:hover svg{transform:translateX(3px)}
.btn--ghost{background:#fff;color:var(--ink);border:1px solid var(--line-2);box-shadow:var(--sh-xs)}
.btn--ghost:hover{border-color:var(--blue);color:var(--blue-d)}
.btn--light{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px)}
.btn--light:hover{background:rgba(255,255,255,.18)}
.btn--sm{height:42px;padding:0 18px;font-size:14px;border-radius:10px}
.btn--block{width:100%}

.link-arrow{
  display:inline-flex;align-items:center;gap:7px;
  font-size:14.5px;font-weight:600;color:var(--blue-d);
}
.link-arrow svg{width:15px;height:15px;transition:transform .25s var(--ease)}
.link-arrow:hover svg{transform:translateX(4px)}

/* ---------- Top bar ---------- */
.topbar{
  background:var(--ink);color:rgba(255,255,255,.72);
  font-size:12.5px;letter-spacing:.02em;
  height:36px;display:flex;align-items:center;
}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar-l,.topbar-r{display:flex;align-items:center;gap:22px}
.topbar a{color:rgba(255,255,255,.72);transition:color .2s}
.topbar a:hover{color:#fff}
.topbar .dot{width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 3px rgba(0,210,198,.18)}
.topbar strong{color:#fff;font-weight:600;letter-spacing:.04em}

/* ---------- Header ---------- */
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s,background .3s}
.header.is-stuck{border-bottom-color:var(--line);box-shadow:0 10px 30px -22px rgba(10,17,32,.4)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px}

.brand{display:flex;align-items:center;flex-shrink:0}
.brand-logo{height:36px;width:auto;display:block}
.brand-logo--light{height:46px}

.menu{display:flex;align-items:center;gap:4px}
.menu>li>a{
  display:block;padding:9px 14px;border-radius:9px;
  font-size:15px;font-weight:500;color:var(--ink-2);
  transition:background .2s,color .2s;
}
.menu>li>a:hover{background:var(--soft-2);color:var(--blue-d)}
.menu>li>a.active{color:var(--blue-d);font-weight:600;position:relative}
.menu>li>a.active::after{
  content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--blue),var(--cyan));
}
.nav-right{display:flex;align-items:center;gap:14px}
/* 导航区只放一个 CTA：电话由顶栏统一承担，避免同一屏出现多个号码 */

.burger{display:none;width:44px;height:44px;border-radius:11px;border:1px solid var(--line);align-items:center;justify-content:center}
.burger span{display:block;width:18px;height:1.8px;background:var(--ink);border-radius:2px;position:relative;transition:.3s var(--ease)}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:1.8px;background:var(--ink);border-radius:2px;transition:.3s var(--ease)}
.burger span::before{top:-6px}
.burger span::after{top:6px}
.burger.is-open span{background:transparent}
.burger.is-open span::before{transform:translateY(6px) rotate(45deg)}
.burger.is-open span::after{transform:translateY(-6px) rotate(-45deg)}

.mobile-menu{
  display:none;position:fixed;left:0;right:0;top:0;z-index:99;
  background:#fff;padding:110px 28px 32px;
  border-bottom:1px solid var(--line);box-shadow:var(--sh);
  transform:translateY(-102%);transition:transform .42s var(--ease);
}
.mobile-menu.is-open{transform:translateY(0)}
.mobile-menu a:not(.btn){display:flex;justify-content:space-between;align-items:center;padding:16px 4px;font-size:17px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}
.mobile-menu .btn{margin-top:22px}
/* 拨打按钮：白底描边、整体居中，别被上面的菜单项样式带偏 */
.mobile-menu a.mm-call{
  justify-content:center;height:50px;padding:0 20px;border-bottom:0;
  font-size:15.5px;font-weight:600;letter-spacing:.01em;
  background:#fff;color:var(--blue-d);border:1px solid rgba(11,132,255,.34);
  box-shadow:0 6px 16px -14px rgba(11,132,255,.9);
}
.mobile-menu a.mm-call:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.mobile-menu a.mm-call svg{width:17px;height:17px;flex-shrink:0}
.mobile-menu .mm-meta{margin-top:18px;font-size:13px;color:var(--muted);text-align:center}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:#07101F;color:#fff;
  padding:86px 0 100px;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 520px at 78% 8%,rgba(11,132,255,.34),transparent 62%),
    radial-gradient(760px 460px at 8% 92%,rgba(0,210,198,.20),transparent 62%),
    radial-gradient(600px 400px at 40% 0%,rgba(0,96,204,.22),transparent 70%);
}
.hero::after{
  content:"";position:absolute;inset:0;opacity:.5;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(circle at 50% 35%,#000 30%,transparent 78%);
  -webkit-mask-image:radial-gradient(circle at 50% 35%,#000 30%,transparent 78%);
}
.hero .wrap{position:relative;z-index:2}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center}

.hero-badge{
  display:inline-flex;align-items:center;gap:9px;
  padding:7px 15px 7px 8px;border-radius:999px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  font-size:12.5px;color:rgba(255,255,255,.85);letter-spacing:.02em;margin-bottom:26px;
}
.hero-badge i{
  width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--blue),var(--cyan));font-style:normal;font-size:11px;font-weight:800;
}
.hero h1{
  color:#fff;font-size:clamp(34px,4.6vw,58px);line-height:1.12;letter-spacing:-.035em;font-weight:800;
}
.hero h1 .grad{
  background:linear-gradient(100deg,#5CB8FF 10%,#00E0D2 90%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-sub{
  margin-top:22px;font-size:16.5px;line-height:1.85;color:rgba(255,255,255,.70);max-width:520px;
}
.hero-pills{display:grid;grid-template-columns:repeat(2,max-content);gap:10px;margin-top:28px;justify-content:start}
.hero-pills span,.hero-pills a{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 13px;border-radius:8px;font-size:13px;color:rgba(255,255,255,.82);
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);
  transition:.28s var(--ease);
}
.hero-pills a:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.22);color:#fff}
.hero-pills svg{width:13px;height:13px;color:var(--cyan)}
.hero-btns{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero-stats{display:flex;gap:38px;margin-top:48px;padding-top:28px;border-top:1px solid rgba(255,255,255,.10);flex-wrap:wrap}
.hero-stats div b{display:block;font-size:26px;color:#fff;font-weight:800;letter-spacing:-.02em;font-family:var(--mono)}
.hero-stats div b em{font-size:14px;font-style:normal;color:var(--cyan);margin-left:2px;font-family:var(--ff)}
.hero-stats div>b+span,.hero-stats div>b~span{font-size:12.5px;color:rgba(255,255,255,.55);letter-spacing:.03em}

/* ---------- Device mock ---------- */
.stage{position:relative;padding:10px 0 0}
.stage-halo{
  position:absolute;inset:-40px -20px 0;border-radius:50%;
  background:radial-gradient(circle at 50% 40%,rgba(11,132,255,.35),transparent 66%);
  filter:blur(20px);
}
.device{
  position:relative;z-index:2;
  background:linear-gradient(170deg,#1A2438,#0B1220);
  border:1px solid rgba(255,255,255,.10);
  border-radius:26px;padding:12px;
  box-shadow:0 50px 90px -40px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.10);
  transform:perspective(1400px) rotateY(-7deg) rotateX(3deg);
  transition:transform .8s var(--ease);
}
.stage:hover .device{transform:perspective(1400px) rotateY(-2deg) rotateX(1deg) translateY(-6px)}
.device-top{display:flex;align-items:center;justify-content:space-between;padding:2px 6px 10px}
.device-top i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.22);display:inline-block;margin-right:5px}
.device-top span{font-size:9.5px;letter-spacing:.18em;color:rgba(255,255,255,.32);font-family:var(--mono)}
.screen{background:#F7FAFF;border-radius:16px;padding:15px;color:var(--ink)}
.scr-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:11px;border-bottom:1px dashed var(--line-2)}
.scr-head b{font-size:12.5px;font-weight:700;color:var(--ink)}
.scr-head span{font-size:10px;color:var(--muted);font-family:var(--mono)}
.ai-row{
  margin-top:11px;border-radius:11px;padding:11px 12px;
  background:linear-gradient(120deg,#E8F3FF,#E9FFFC);
  border:1px solid #CFE6FF;display:flex;align-items:center;gap:11px;
}
.ai-ico{width:32px;height:32px;border-radius:9px;background:#fff;display:grid;place-items:center;box-shadow:var(--sh-xs);flex-shrink:0}
.ai-ico svg{width:17px;height:17px;color:var(--blue)}
.ai-txt b{display:block;font-size:12.5px;color:var(--ink)}
.ai-txt span{font-size:10.5px;color:#5C7593}
.ai-price{margin-left:auto;text-align:right}
.ai-price b{font-size:15px;font-family:var(--mono);color:var(--blue-d)}
.ai-price span{display:block;font-size:9.5px;color:var(--muted)}
.scr-list{margin-top:9px}
.scr-item{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid #EEF3FA}
.scr-item:last-child{border-bottom:0}
.scr-item em{font-style:normal;font-size:10px;color:#9AA7B8;width:16px;font-family:var(--mono)}
.scr-item p{font-size:11.5px;color:#3A4660;flex:1}
.scr-item p i{font-style:normal;color:#9AA7B8;font-size:9.5px;margin-left:5px}
.scr-item b{font-size:11.5px;font-family:var(--mono);color:var(--ink)}
.scr-total{
  margin-top:10px;border-radius:11px;background:var(--ink);color:#fff;
  padding:11px 13px;display:flex;align-items:center;justify-content:space-between;
}
.scr-total span{font-size:10.5px;color:rgba(255,255,255,.6);letter-spacing:.04em}
.scr-total b{font-size:19px;font-family:var(--mono);letter-spacing:-.01em}
.scr-pay{display:flex;gap:6px;margin-top:9px}
.scr-pay span{
  flex:1;text-align:center;font-size:9.5px;padding:7px 0;border-radius:7px;
  background:#fff;border:1px solid var(--line);color:#5C7593;font-weight:600;
}
.scr-pay span:first-child{background:var(--blue);border-color:var(--blue);color:#fff}

.device-stand{
  position:relative;z-index:1;width:120px;height:16px;margin:-4px auto 0;
  background:linear-gradient(180deg,#1A2438,#0D1626);
  border-radius:0 0 9px 9px;border:1px solid rgba(255,255,255,.08);border-top:0;
}
.float{
  position:absolute;z-index:3;background:rgba(255,255,255,.97);
  border-radius:13px;padding:11px 14px;box-shadow:0 20px 40px -18px rgba(0,0,0,.6);
  display:flex;align-items:center;gap:10px;color:var(--ink);
  animation:bob 5s ease-in-out infinite;
}
.float b{display:block;font-size:12.5px;line-height:1.3}
.float span{font-size:10px;color:var(--muted);line-height:1.4}
.float i{
  width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;
  background:var(--blue-l);color:var(--blue-d);
}
.float i svg{width:15px;height:15px}
.float--a{top:52px;right:-26px;animation-delay:-1.2s}
.float--b{bottom:104px;left:-46px;animation-delay:-3s}
.float--b i{background:#E6FBF9;color:#009E94}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ---------- Marquee ---------- */
.marquee{
  border-top:1px solid rgba(255,255,255,.08);
  background:#07101F;position:relative;z-index:2;
  padding:18px 0;overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee-track{display:flex;gap:0;width:max-content;animation:scroll 62s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span,.marquee-track a{
  display:inline-flex;align-items:center;gap:14px;padding:0 18px;
  font-size:13.5px;color:rgba(255,255,255,.48);white-space:nowrap;letter-spacing:.02em;
}
.marquee-track a:hover{color:#fff}
.marquee-track span::after,.marquee-track a::after{content:"";width:3px;height:3px;border-radius:50%;background:rgba(11,132,255,.7)}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Capability cards ---------- */
.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px}
.cap-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:30px 26px 26px;overflow:hidden;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
}
.cap-card::after{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--blue),var(--cyan));
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);
}
.cap-card:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:#CFE2FA}
.cap-card:hover::after{transform:scaleX(1)}
.cap-ico{
  width:48px;height:48px;border-radius:13px;display:grid;place-items:center;
  background:linear-gradient(145deg,#EAF4FF,#EDFCFB);color:var(--blue-d);
  margin-bottom:20px;border:1px solid #DCEBFF;
}
.cap-ico svg{width:23px;height:23px}
.cap-card h3{font-size:18.5px;margin-bottom:10px}
.cap-card p{font-size:14.5px;line-height:1.8;color:var(--body)}
.cap-card .link-arrow{margin-top:18px}

/* ---------- Why ---------- */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px}
.why-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:34px 30px;position:relative;transition:.4s var(--ease);
}
.why-card:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.why-tag{
  display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;
  font-size:26px;font-weight:800;color:#fff;margin-bottom:22px;letter-spacing:-.03em;
  background:linear-gradient(140deg,var(--blue),#0057C2);
  box-shadow:0 14px 26px -14px rgba(11,132,255,.9);
}
.why-card:nth-child(2) .why-tag{background:linear-gradient(140deg,#00D2C6,#009E94);box-shadow:0 14px 26px -14px rgba(0,210,198,.9)}
.why-card:nth-child(3) .why-tag{background:linear-gradient(140deg,#FFB020,#E88A00);box-shadow:0 14px 26px -14px rgba(255,176,32,.9)}
.why-card h3{font-size:19px;margin-bottom:12px}
.why-card p{font-size:14.5px;line-height:1.85}
.why-card b{color:var(--ink-2)}

/* ---------- Stat band ---------- */
.band{
  background:linear-gradient(115deg,#07101F,#0B1A33 55%,#072A3A);
  border-radius:var(--r-xl);padding:52px 48px;color:#fff;position:relative;overflow:hidden;
}
.band::before{
  content:"";position:absolute;right:-80px;top:-100px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,210,198,.30),transparent 65%);
}
.band::after{
  content:"";position:absolute;left:-60px;bottom:-140px;width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle,rgba(11,132,255,.30),transparent 65%);
}
.band-in{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr 2.85fr;gap:56px;align-items:center}
.band h3{color:#fff;font-size:clamp(22px,2.3vw,30px);line-height:1.4;letter-spacing:-.025em}
.band h3 em{font-style:normal;color:#5CE3D8}
.band p{color:rgba(255,255,255,.58);font-size:14.5px;margin-top:14px;line-height:1.8}
.band-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.band-stat{border-left:1px solid rgba(255,255,255,.13);padding-left:20px}
.band-stat b{display:block;font-size:clamp(30px,3.4vw,42px);font-weight:800;letter-spacing:-.03em;font-family:var(--mono);line-height:1.1;color:#fff}
.band-stat b em{font-size:16px;font-style:normal;color:var(--cyan);margin-left:3px;font-family:var(--ff)}
.band-stat>b+span{display:block;margin-top:8px;font-size:12.5px;color:rgba(255,255,255,.52);letter-spacing:.02em}

/* ---------- Solution tabs ---------- */
.tabs{margin-top:44px}
.tab-nav{display:flex;gap:8px;flex-wrap:wrap;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;width:max-content;max-width:100%;box-shadow:var(--sh-xs)}
.tab-btn{
  padding:10px 20px;border-radius:10px;font-size:14.5px;font-weight:600;color:var(--body);
  transition:.25s var(--ease);white-space:nowrap;
}
.tab-btn:hover{background:var(--soft);color:var(--blue-d)}
.tab-btn.is-active{background:var(--ink);color:#fff;box-shadow:0 8px 18px -12px rgba(10,17,32,.9)}
.tab-panel{display:none;margin-top:34px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm)}
.tab-panel.is-active{display:grid;grid-template-columns:1.08fr .92fr}
.tab-copy{padding:46px 44px}
.tab-copy .kicker{margin-bottom:14px}
.tab-copy h3{font-size:clamp(22px,2.4vw,29px);line-height:1.35;margin-bottom:16px}
.tab-copy>p{font-size:14.8px;line-height:1.9;color:var(--body)}
.tab-feats{display:grid;gap:12px;margin:26px 0 30px}
.tab-feats li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:var(--ink-2)}
.tab-feats svg{width:18px;height:18px;flex-shrink:0;margin-top:3px;color:var(--blue)}
.tab-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.tab-tags a{
  font-size:12.5px;padding:6px 12px;border-radius:7px;background:var(--soft);
  color:#5C7593;border:1px solid #E4EEFB;transition:.2s;
}
.tab-tags a:hover{background:var(--blue-l);color:var(--blue-d);border-color:#BBDCFF}
.tab-visual{
  position:relative;background:linear-gradient(150deg,#0B1526,#0E2138);display:grid;place-items:center;
  padding:40px;overflow:hidden;min-height:340px;
}
.tab-visual::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:radial-gradient(circle at 50% 50%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 78%);
}
.tv-card{position:relative;z-index:2;width:100%;max-width:300px;display:grid;gap:10px}
.tv-row{
  display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(6px);animation:slideIn .6s var(--ease) backwards;
}
.tv-row:nth-child(1){animation-delay:.05s}
.tv-row:nth-child(2){animation-delay:.12s}
.tv-row:nth-child(3){animation-delay:.19s}
.tv-row:nth-child(4){animation-delay:.26s}
.tv-row i{width:30px;height:30px;border-radius:9px;background:rgba(11,132,255,.22);display:grid;place-items:center;flex-shrink:0;color:#7CC4FF}
.tv-row i svg{width:16px;height:16px}
.tv-row b{display:block;font-size:13px;color:#fff;font-weight:600}
.tv-row span{font-size:11px;color:rgba(255,255,255,.5)}
.tv-row em{margin-left:auto;font-style:normal;font-family:var(--mono);font-size:13px;color:#5CE3D8}
@keyframes slideIn{from{transform:translateX(16px)}to{transform:none}}

/* ---------- Products ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.prod-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  display:flex;flex-direction:column;transition:.4s var(--ease);position:relative;
}
.prod-card:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:#CFE2FA}
/* 整卡可点：卡内主链接的伪元素铺满整张卡，不必把 <article> 改成 <a>，也不会产生嵌套链接 */
.prod-card a.link-arrow::after{content:"";position:absolute;inset:0;z-index:3;border-radius:var(--r-lg)}
.prod-card:hover a.link-arrow svg{transform:translateX(4px)}
.prod-card:has(a.link-arrow:focus-visible){outline:2px solid var(--blue);outline-offset:3px}
.prod-thumb{
  height:200px;position:relative;display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(150deg,#F2F7FF,#E7F1FF);border-bottom:1px solid var(--line);
}
.prod-thumb::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(#C9DBF2 1px,transparent 1px);
  background-size:16px 16px;opacity:.5;
  mask-image:radial-gradient(circle at 50% 50%,#000,transparent 70%);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 70%);
}
.prod-badge{
  position:absolute;top:14px;left:14px;z-index:2;padding:4px 10px;border-radius:6px;
  font-size:11px;font-weight:700;letter-spacing:.04em;background:var(--ink);color:#fff;
}
.prod-badge--ai{background:linear-gradient(120deg,var(--blue),var(--cyan))}
.dev-pic{position:relative;z-index:1;display:block;line-height:0}
.dev-img{
  display:block;width:auto;height:176px;max-width:92%;object-fit:contain;
  filter:drop-shadow(0 14px 20px rgba(11,60,120,.17));
}
.prod-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.prod-body h3{font-size:17.5px;margin-bottom:9px}
.prod-body>p{font-size:13.8px;line-height:1.75;color:var(--body);flex:1}
.prod-specs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 18px}
.prod-specs span{font-size:11.5px;padding:4px 9px;border-radius:6px;background:var(--soft);color:#5C7593;border:1px solid #E9F1FC}

/* 产品列表页筛选条（chengzhong.html） */
.prod-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:40px}
.filter-chip{
  font:inherit;font-size:13px;line-height:1;padding:9px 14px;border-radius:999px;
  border:1px solid var(--line);background:#fff;color:var(--body);cursor:pointer;
  transition:.25s var(--ease);display:inline-flex;align-items:center;gap:6px;
}
.filter-chip em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--muted)}
.filter-chip:hover{border-color:#CFE2FA;color:var(--ink)}
.filter-chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.filter-chip.is-active em{color:rgba(255,255,255,.55)}
.filter-chip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.prod-filter-note{margin-left:auto;font-size:12.5px;color:var(--muted)}
.prod-filter-note b{font-family:var(--mono);color:var(--ink)}
.prod-filter + .prod-grid{margin-top:26px}
.prod-grid .prod-card[hidden]{display:none}

/* ---------- Industries ---------- */
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}
.ind-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 26px;
  transition:.35s var(--ease);
}
.ind-card:hover{box-shadow:var(--sh-sm);border-color:#CFE2FA;transform:translateY(-3px)}
.ind-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.ind-head i{
  width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;
  background:var(--blue-l);color:var(--blue-d);
}
.ind-head i svg{width:20px;height:20px}
.ind-head h3{font-size:17px}
.ind-card p{font-size:13.8px;line-height:1.8;color:var(--body);margin-bottom:16px}
.ind-links{display:flex;flex-wrap:wrap;gap:6px}
.ind-links a{font-size:11.5px;padding:4px 9px;border-radius:6px;color:#6B7A8F;background:#F7FAFF;border:1px solid #EDF3FB}
.ind-links a:hover{color:var(--blue-d);border-color:#C9E2FF;background:var(--blue-l)}

/* ---------- Steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px;position:relative}
.step{position:relative;padding-top:44px}
.step::before{
  content:"";position:absolute;top:15px;left:0;right:-20px;height:1px;
  background:repeating-linear-gradient(90deg,var(--line-2) 0 6px,transparent 6px 12px);
}
.step:last-child::before{display:none}
.step-n{
  position:absolute;top:0;left:0;width:31px;height:31px;border-radius:50%;
  background:#fff;border:1px solid var(--line-2);display:grid;place-items:center;
  font-family:var(--mono);font-size:12px;font-weight:700;color:var(--blue-d);
  box-shadow:0 0 0 6px #fff;
}
.step h3{font-size:16.5px;margin-bottom:9px}
.step p{font-size:13.8px;line-height:1.8}

/* ---------- Guide / news ---------- */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.news-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  cursor:pointer;transition:.4s var(--ease);display:flex;flex-direction:column;
}
.news-card:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:#CFE2FA}
.news-top{
  height:132px;background:linear-gradient(140deg,#07101F,#0E2138);position:relative;overflow:hidden;
  display:flex;align-items:flex-end;padding:20px;
}
.news-top::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(circle at 80% 20%,#000,transparent 75%);
  -webkit-mask-image:radial-gradient(circle at 80% 20%,#000,transparent 75%);
}
.news-top::after{
  content:"";position:absolute;right:-30px;top:-40px;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,210,198,.28),transparent 65%);
}
.news-top em{
  position:relative;z-index:2;font-style:normal;font-size:11px;letter-spacing:.14em;
  color:#7CC4FF;font-weight:600;padding:5px 10px;border-radius:5px;
  background:rgba(11,132,255,.16);border:1px solid rgba(11,132,255,.3);
}
.news-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.news-body h3{font-size:16px;line-height:1.6;margin-bottom:10px;letter-spacing:-.01em}
.news-body p{font-size:13.5px;line-height:1.8;color:var(--body);flex:1}
.news-foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}
.news-foot span{font-size:11.5px;color:var(--muted);font-family:var(--mono)}

/* ---------- FAQ ---------- */
.faq{max-width:860px;margin:48px auto 0}
.faq details{
  border:1px solid var(--line);border-radius:var(--r);background:#fff;margin-bottom:12px;
  transition:.3s var(--ease);overflow:hidden;
}
.faq details[open]{border-color:#CFE2FA;box-shadow:var(--sh-sm)}
.faq summary{
  list-style:none;cursor:pointer;padding:22px 26px;display:flex;align-items:center;gap:16px;
  font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.01em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{
  font-family:var(--mono);font-size:11px;color:var(--blue);font-weight:700;
  padding:3px 7px;border-radius:5px;background:var(--blue-l);flex-shrink:0;
}
.faq summary .ar{
  margin-left:auto;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);
  display:grid;place-items:center;flex-shrink:0;transition:.3s var(--ease);color:var(--body);
}
.faq summary .ar svg{width:13px;height:13px;transition:.3s var(--ease)}
.faq details[open] summary .ar{background:var(--ink);border-color:var(--ink);color:#fff}
.faq details[open] summary .ar svg{transform:rotate(180deg)}
.faq .a{padding:0 26px 24px 66px;font-size:14.5px;line-height:1.9;color:var(--body)}

/* ---------- CTA ---------- */
.cta{
  background:linear-gradient(125deg,#07101F 0%,#0A1A31 48%,#062B3A 100%);
  color:#fff;position:relative;overflow:hidden;
}
.cta::before{
  content:"";position:absolute;top:-160px;right:-120px;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,rgba(11,132,255,.28),transparent 65%);
}
.cta::after{
  content:"";position:absolute;bottom:-180px;left:-100px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,210,198,.20),transparent 65%);
}
.cta-in{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}
.cta h2{color:#fff;font-size:clamp(26px,3.1vw,38px);line-height:1.3;letter-spacing:-.03em}
.cta h2 em{font-style:normal;background:linear-gradient(100deg,#5CB8FF,#00E0D2);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta .lead{margin-top:18px;font-size:15.5px;line-height:1.9;color:rgba(255,255,255,.62);max-width:460px}
.cta-list{margin-top:34px;display:grid;gap:14px}
.cta-list li{display:flex;gap:11px;font-size:14.5px;color:rgba(255,255,255,.82);align-items:flex-start}
.cta-list svg{width:18px;height:18px;flex-shrink:0;margin-top:3px;color:var(--cyan)}
.cta-tel{
  margin-top:38px;display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:14px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);width:max-content;
}
.cta-tel .ic{width:40px;height:40px;border-radius:11px;background:rgba(11,132,255,.25);display:grid;place-items:center;color:#8FD0FF}
.cta-tel .ic svg{width:19px;height:19px}
.cta-tel span{font-size:11.5px;color:rgba(255,255,255,.5);letter-spacing:.05em}
.cta-tel b{display:block;font-size:21px;font-family:var(--mono);color:#fff;letter-spacing:.01em;line-height:1.3}

/* ---------- Form ---------- */
.form-card{
  background:#fff;border-radius:var(--r-lg);padding:36px 34px;box-shadow:0 40px 80px -40px rgba(0,0,0,.65);
  position:relative;overflow:hidden;
}
.form-card h3{font-size:20px;margin-bottom:6px}
.form-card>p{font-size:13px;color:var(--muted);margin-bottom:22px}
.field{margin-bottom:14px}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:7px;letter-spacing:.02em}
.field label em{color:#E5484D;font-style:normal;margin-left:2px}
.field input,.field select,.field textarea{
  width:100%;border:1px solid var(--line-2);border-radius:10px;background:#FBFDFF;
  padding:11px 14px;font-size:14px;color:var(--ink);outline:none;transition:.2s;
}
.field textarea{resize:vertical;min-height:86px;line-height:1.7}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(11,132,255,.12);
}
.field input::placeholder,.field textarea::placeholder{color:#A9B4C4}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-note{font-size:11.5px;color:var(--muted);text-align:center;margin-top:12px;line-height:1.7}
.form-err{
  display:none;margin-top:12px;padding:9px 13px;border-radius:9px;
  background:#FEF3F2;border:1px solid #F8CDCA;color:#B42318;
  font-size:12.5px;line-height:1.65;text-align:left;
}
.form-card .btn[disabled]{opacity:.7;cursor:progress;pointer-events:none;transform:none;box-shadow:none}
.form-ok{display:none;text-align:center;padding:26px 6px}
.form-ok.is-on{display:block;animation:riseIn .45s var(--ease)}
.form-ok .ok-ic{
  width:62px;height:62px;border-radius:50%;margin:0 auto 20px;display:grid;place-items:center;
  background:linear-gradient(140deg,#0B84FF,#00D2C6);color:#fff;box-shadow:0 16px 30px -14px rgba(11,132,255,.7);
}
.form-ok .ok-ic svg{width:28px;height:28px}
.form-ok h3{margin-bottom:10px}
.form-ok p{font-size:13.5px;color:var(--body);line-height:1.85}
.form-ok p b{color:var(--blue-d);font-family:var(--mono)}

/* ---------- Page hero (sub pages) ---------- */
.page-hero{
  background:#07101F;color:#fff;padding:74px 0 82px;position:relative;overflow:hidden;
}
.page-hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(800px 420px at 82% 0%,rgba(11,132,255,.30),transparent 62%),radial-gradient(600px 380px at 5% 100%,rgba(0,210,198,.16),transparent 62%);
}
.page-hero::after{
  content:"";position:absolute;inset:0;opacity:.45;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(circle at 50% 30%,#000,transparent 76%);
  -webkit-mask-image:radial-gradient(circle at 50% 30%,#000,transparent 76%);
}
.page-hero .wrap{position:relative;z-index:2}
.crumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(255,255,255,.42);margin-bottom:22px}
.crumb a{color:rgba(255,255,255,.62)}
.crumb a:hover{color:#fff}
.crumb svg{width:12px;height:12px;opacity:.6}
.page-hero h1{color:#fff;font-size:clamp(30px,4vw,46px);letter-spacing:-.035em;line-height:1.2;max-width:800px}
.page-hero p{margin-top:18px;font-size:16px;color:rgba(255,255,255,.62);max-width:680px;line-height:1.85}
.page-hero .hero-pills{margin-top:26px}

/* ---------- Footer ---------- */
.footer{scroll-margin-top:90px;background:#060D19;color:rgba(255,255,255,.55);padding:72px 0 0;font-size:14px}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:48px;padding-bottom:52px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-brand p{margin-top:20px;font-size:13.5px;line-height:1.9;color:rgba(255,255,255,.45);max-width:320px;text-wrap:pretty}
.foot-domain{
  display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:6px 12px;border-radius:7px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);
  font-family:var(--mono);font-size:12px;color:rgba(255,255,255,.7);letter-spacing:.02em;
}
.foot-domain i{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
.foot-col h4{color:#fff;font-size:13.5px;margin-bottom:18px;letter-spacing:.02em;font-weight:600}
.foot-col li{margin-bottom:11px}
.foot-col a{font-size:13.5px;color:rgba(255,255,255,.5);transition:color .2s}
.foot-col a:hover{color:#fff}
.foot-contact li{display:flex;gap:10px;margin-bottom:14px;font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.5)}
.foot-contact svg{width:15px;height:15px;flex-shrink:0;margin-top:4px;color:var(--blue)}
.foot-contact b{color:#fff;font-family:var(--mono);font-size:15px}
.foot-bottom{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:24px 0;font-size:12.5px;color:rgba(255,255,255,.32);
}
.foot-bottom a{color:rgba(255,255,255,.42)}
.foot-bottom a:hover{color:#fff}
.foot-links{display:flex;gap:20px;flex-wrap:wrap}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes riseIn{from{transform:translateY(12px)}to{transform:none}}

/* ---------- Modal ---------- */
.modal{
  position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px;
}
.modal.is-open{display:flex}
.modal-bg{position:absolute;inset:0;background:rgba(6,13,25,.62);backdrop-filter:blur(6px);animation:fadeUp .3s var(--ease)}
.modal-box{
  position:relative;z-index:2;background:#fff;border-radius:var(--r-lg);max-width:720px;width:100%;
  max-height:86vh;overflow:auto;padding:44px 46px;box-shadow:0 50px 100px -40px rgba(0,0,0,.7);
  animation:riseIn .4s var(--ease);
}
.modal-close{
  position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;
  background:var(--soft);display:grid;place-items:center;color:var(--body);transition:.2s;
}
.modal-close:hover{background:var(--ink);color:#fff}
.modal-close svg{width:15px;height:15px}
.modal-box .tag{font-size:11px;letter-spacing:.14em;color:var(--blue);font-weight:700;text-transform:uppercase}
.modal-box h2{font-size:clamp(20px,2.6vw,27px);line-height:1.4;margin:10px 0 6px}
.modal-box .meta{font-size:12px;color:var(--muted);font-family:var(--mono);margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.modal-box h3{font-size:16px;margin:22px 0 8px}
.modal-box p{font-size:14.5px;line-height:1.92;color:var(--body);margin-bottom:12px}
.modal-box ul{margin:8px 0 14px;display:grid;gap:8px}
.modal-box ul li{font-size:14px;line-height:1.8;color:var(--body);padding-left:18px;position:relative}
.modal-box ul li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border-radius:50%;background:var(--blue)}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .hero-grid{grid-template-columns:1fr;gap:56px}
  .stage{max-width:520px;margin:0 auto;width:100%}
  .cap-grid{grid-template-columns:repeat(2,1fr)}
  .band-in{grid-template-columns:1fr;gap:36px}
  .cta-in{grid-template-columns:1fr;gap:44px}
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .foot-top{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:980px){
  .menu{display:none}
  .burger{display:flex}
  .mobile-menu{display:block}
  .tab-panel.is-active{grid-template-columns:1fr}
  .tab-visual{min-height:280px;order:-1;padding:28px}
  .why-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr);gap:28px}
  .step:nth-child(2)::before{display:none}
}
@media (max-width:820px){
  .section{padding:76px 0}
  .hero{padding:62px 0 76px}
  .news-grid{grid-template-columns:1fr}
  .band{padding:38px 28px}
  .band-stats{grid-template-columns:repeat(2,1fr);gap:24px}
  .band-stat:nth-child(3){border-left:0;padding-left:0}
  .hero-stats{gap:26px}
}
@media (max-width:640px){
  .wrap{padding:0 18px}
  .topbar{display:none}
  .header .nav{height:66px;gap:12px}
  .header .nav-right{gap:10px}
  .header .nav-right>.btn{height:38px;padding:0 14px;font-size:13.5px;border-radius:10px}
  .header .nav-right>.btn svg{width:15px;height:15px}
  .pd-subnav .wrap{gap:8px}
  .pd-sn-name{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .hero h1{font-size:31px}
  .hero-sub{font-size:15px}
  .hero-btns .btn{flex:1}
  .cap-grid,.prod-grid,.ind-grid,.steps{grid-template-columns:1fr}
  .prod-filter{gap:7px}
  .prod-filter-note{width:100%;margin-left:0;text-align:right}
  .steps{gap:22px}
  .step::before{display:none}
  .tab-copy{padding:30px 22px}
  .tab-nav{width:100%;overflow-x:auto;flex-wrap:nowrap}
  .tab-btn{padding:9px 14px;font-size:13.5px}
  .foot-top{grid-template-columns:1fr;gap:34px}
  .footer{padding-top:52px}
  .form-card{padding:26px 20px}
  .field-row{grid-template-columns:1fr}
  .modal-box{padding:30px 22px}
  .float--a{right:0;top:20px;transform:scale(.86)}
  .float--b{left:0;bottom:24px;transform:scale(.86)}
  .device{transform:none}
  .stage:hover .device{transform:none}
  .faq .a{padding-left:26px}
  .band-stat{border-left:0;padding-left:0}
  .cta-tel{width:100%}
  .hero-stats div b{font-size:22px}
}

/* ==========================================================================
   Sub pages
   ========================================================================== */

/* ---------- Section rhythm helpers ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split--wide{grid-template-columns:1.15fr .85fr}
.prose p{font-size:15.5px;line-height:1.95;color:var(--body);margin-bottom:16px}
.prose p:last-child{margin-bottom:0}
.prose strong{color:var(--ink-2);font-weight:600}

/* ---------- Anchor nav ---------- */
.anchor-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:44px}
.anchor-nav a{
  padding:9px 18px;border-radius:999px;border:1px solid var(--line);
  font-size:14px;font-weight:500;color:var(--body);background:#fff;transition:.25s var(--ease);
}
.anchor-nav a:hover{border-color:var(--blue);color:var(--blue-d);background:var(--blue-l)}

/* ---------- Spec table ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff;margin-top:44px}
table.spec{width:100%;border-collapse:collapse;min-width:680px}
table.spec th,table.spec td{
  padding:15px 20px;text-align:left;font-size:14px;border-bottom:1px solid var(--line);
  white-space:nowrap;
}
table.spec thead th{background:var(--soft);color:var(--ink);font-weight:600;font-size:13px;letter-spacing:.02em}
table.spec tbody td{color:var(--body)}
table.spec tbody td:first-child{color:var(--ink);font-weight:600}
table.spec tbody tr:last-child td{border-bottom:0}
table.spec tbody tr:hover td{background:#FAFCFF}

/* ---------- Solution rows ---------- */
.sol-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:56px 0;border-bottom:1px solid var(--line)}
.sol-row:first-of-type{padding-top:0}
.sol-row:last-of-type{border-bottom:0;padding-bottom:0}
.sol-row:nth-child(even) .sol-visual{order:-1}
.sol-visual{
  border-radius:var(--r-lg);background:linear-gradient(150deg,#07101F,#0E2138);
  padding:38px;position:relative;overflow:hidden;min-height:300px;display:grid;place-items:center;
}
.sol-visual::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:radial-gradient(circle at 50% 50%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 78%);
}
.sol-visual .badge-line{
  position:absolute;top:20px;left:22px;z-index:2;font-size:11px;letter-spacing:.16em;
  color:#7CC4FF;font-weight:600;
}
.sol-copy h2{font-size:clamp(22px,2.6vw,30px);line-height:1.35;margin-bottom:14px}
.sol-copy>p{font-size:15px;line-height:1.9;color:var(--body);margin-bottom:22px}
.sol-points{display:grid;gap:12px;margin-bottom:26px}
.sol-points li{display:flex;gap:11px;font-size:14.5px;color:var(--ink-2);line-height:1.75}
.sol-points svg{width:18px;height:18px;flex-shrink:0;margin-top:4px;color:var(--blue)}
.sol-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
.sol-meta span,.sol-meta a{font-size:12px;padding:6px 12px;border-radius:7px;background:var(--soft);border:1px solid #E4EEFB;color:#5C7593;transition:.2s}
.sol-meta a:hover{border-color:#BBDCFF;background:var(--blue-l);color:var(--blue-d)}

/* ---------- Chips ---------- */
.chip-group{margin-bottom:26px}
.chip-group h4{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-weight:600}
.chip-group h4 .chip-n{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;background:#EFF5FD;border:1px solid #E2EDFB;color:#7C8DA6;font-size:11px;letter-spacing:0;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips a{
  font-size:13px;padding:7px 14px;border-radius:8px;background:#fff;border:1px solid var(--line);
  color:var(--body);transition:.2s;
}
.chips a:hover{border-color:#BBDCFF;background:var(--blue-l);color:var(--blue-d)}

/* ---------- Timeline ---------- */
.timeline{position:relative;margin-top:56px;padding-left:26px}
.timeline::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:linear-gradient(180deg,var(--blue),var(--cyan),transparent)}
.tl-item{position:relative;padding:0 0 40px 26px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{
  content:"";position:absolute;left:-26px;top:7px;width:11px;height:11px;border-radius:50%;
  background:#fff;border:2px solid var(--blue);box-shadow:0 0 0 4px rgba(11,132,255,.12);
}
.tl-year{font-family:var(--mono);font-size:13px;color:var(--blue-d);font-weight:700;letter-spacing:.04em;margin-bottom:6px}
.tl-item h3{font-size:17px;margin-bottom:8px}
.tl-item p{font-size:14.5px;line-height:1.85;color:var(--body);max-width:620px}

/* ---------- Value cards ---------- */
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.value-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 26px}
.value-card .no{font-family:var(--mono);font-size:12px;color:var(--blue);font-weight:700;letter-spacing:.08em}
.value-card h3{font-size:17px;margin:10px 0 10px}
.value-card p{font-size:14px;line-height:1.85;color:var(--body)}
.value-grid--2{grid-template-columns:1fr 1fr}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.info-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;
  transition:.35s var(--ease);
}
.info-card:hover{box-shadow:var(--sh-sm);border-color:#CFE2FA}
.info-card .ic{
  width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:var(--blue-l);color:var(--blue-d);margin-bottom:18px;
}
.info-card .ic svg{width:21px;height:21px}
.info-card h3{font-size:15px;color:var(--muted);font-weight:600;letter-spacing:.02em;margin-bottom:10px}
.info-card b{display:block;font-size:20px;color:var(--ink);font-family:var(--mono);letter-spacing:-.01em;line-height:1.4}
.info-card b.sm{font-size:16px;font-family:var(--ff)}
.info-card p{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.8}

.loc-card{
  margin-top:20px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;
}
.loc-visual{
  height:230px;background:linear-gradient(150deg,#07101F,#0E2138);position:relative;display:grid;place-items:center;overflow:hidden;
}
.loc-visual::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:40px 40px;
  mask-image:radial-gradient(circle at 50% 50%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 78%);
}
.loc-pin{position:relative;z-index:2;text-align:center}
.loc-pin .dotp{
  width:16px;height:16px;border-radius:50%;background:var(--cyan);margin:0 auto 14px;
  box-shadow:0 0 0 8px rgba(0,210,198,.18),0 0 0 18px rgba(0,210,198,.08);
  animation:pulse 2.6s ease-in-out infinite;
}
@keyframes pulse{0%,100%{box-shadow:0 0 0 8px rgba(0,210,198,.18),0 0 0 18px rgba(0,210,198,.08)}50%{box-shadow:0 0 0 12px rgba(0,210,198,.12),0 0 0 26px rgba(0,210,198,.05)}}
.loc-pin b{display:block;color:#fff;font-size:17px;margin-bottom:6px}
.loc-pin span{color:rgba(255,255,255,.5);font-size:12.5px;letter-spacing:.04em}
.loc-body{padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.loc-body p{font-size:13.5px;color:var(--body);line-height:1.8}
.loc-body p b{color:var(--ink)}

/* ---------- Misc ---------- */
.notice{
  display:flex;gap:14px;align-items:flex-start;padding:20px 22px;border-radius:var(--r);
  background:var(--blue-l);border:1px solid #CFE6FF;font-size:14px;line-height:1.8;color:#2C4A6B;
}
.notice svg{width:19px;height:19px;flex-shrink:0;margin-top:3px;color:var(--blue)}
.notice b{color:var(--ink)}

@media (max-width:980px){
  .split,.split--wide{grid-template-columns:1fr;gap:40px}
  .sol-row{grid-template-columns:1fr;gap:32px;padding:44px 0}
  .sol-row:nth-child(even) .sol-visual{order:0}
  .contact-grid,.value-grid{grid-template-columns:1fr}
  .timeline{padding-left:18px}
}
@media (max-width:640px){
  .brand-logo{height:31px}
  .hero-pills{grid-template-columns:1fr 1fr}
  .hero-pills span{justify-content:center;font-size:12px;padding:8px 6px}
  .hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px}
  .float{display:none}
  .sol-visual{padding:26px;min-height:240px}
  .info-card{padding:24px 22px}
}

/* ==========================================================================
   Comparison table（为什么不直接找厂家）
   ========================================================================== */
#partner .sec-head{max-width:1120px}
#partner .sec-title{text-wrap:balance}

.cmp-wrap{
  margin-top:44px;border:1px solid var(--line);border-radius:var(--r-lg);
  background:#fff;overflow:hidden;box-shadow:var(--sh-xs);
}
table.cmp{width:100%;border-collapse:collapse;table-layout:fixed}
table.cmp th,table.cmp td{text-align:left;vertical-align:top}

table.cmp thead th{
  background:var(--ink);color:rgba(255,255,255,.62);
  font-size:12.5px;font-weight:600;letter-spacing:.08em;
  padding:16px 24px;white-space:nowrap;
}
table.cmp thead th:first-child{width:132px;color:rgba(255,255,255,.42)}
table.cmp thead th.us{
  background:linear-gradient(112deg,var(--blue),#0AA0F0);
  color:#fff;font-size:13px;letter-spacing:.04em;
}

table.cmp tbody th{
  width:132px;padding:20px 24px;font-size:14px;font-weight:700;color:var(--ink);
  border-bottom:1px solid var(--line);white-space:nowrap;
  background:linear-gradient(180deg,#FBFDFF,#F7FAFF);
}
table.cmp tbody td{
  padding:20px 24px;font-size:14px;line-height:1.85;color:var(--body);
  border-bottom:1px solid var(--line);border-left:1px solid var(--line);
}
table.cmp tbody td.us{
  background:#F3F9FF;color:var(--ink-2);border-left:1px solid #CFE6FF;
}
table.cmp tbody tr:last-child th,table.cmp tbody tr:last-child td{border-bottom:0}
table.cmp tbody tr:hover th{background:#F2F8FF}
table.cmp tbody tr:hover td:not(.us){background:#FBFDFF}

@media (max-width:860px){
  .cmp-wrap{margin-top:32px;border:0;background:none;box-shadow:none;overflow:visible}
  table.cmp,table.cmp tbody,table.cmp tr,table.cmp th,table.cmp td{display:block;width:auto}
  table.cmp thead{display:none}
  table.cmp tbody tr{
    background:#fff;border:1px solid var(--line);border-radius:var(--r);
    padding:6px 0 8px;margin-bottom:14px;box-shadow:var(--sh-xs);
  }
  table.cmp tbody th{
    border-bottom:0;background:none;padding:14px 18px 2px;font-size:15px;
  }
  table.cmp tbody td{
    border-left:0;border-bottom:0;padding:12px 18px;
  }
  table.cmp tbody td::before{
    content:attr(data-label);display:block;
    font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--muted);
    margin-bottom:5px;
  }
  table.cmp tbody td.us{
    margin:2px 12px 0;padding:12px 14px;border-radius:11px;
    background:var(--blue-l);
  }
  table.cmp tbody td.us::before{color:var(--blue-d)}
  table.cmp tbody tr:hover td,table.cmp tbody tr:hover th{background:none}
  table.cmp tbody tr:hover td.us{background:var(--blue-l)}
}

/* ==========================================================================
   Company facts（关于页 · 可引用事实摘要 / GEO）
   ========================================================================== */
.facts{margin-top:64px;padding-top:38px;border-top:1px solid var(--line)}
.facts-head{
  display:flex;align-items:center;gap:12px;
  font-size:14px;font-weight:700;color:var(--ink);letter-spacing:.01em;margin-bottom:28px;
}
.facts-head .kicker{margin-bottom:0;font-size:11.5px;letter-spacing:.16em}
.facts-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:26px 40px;margin:0;
}
.fact{padding-left:16px;border-left:2px solid #E8F1FD}
.fact dt{
  font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--muted);
  text-transform:uppercase;margin-bottom:9px;
}
.fact dd{
  margin:0;font-size:14.5px;line-height:1.75;color:var(--ink-2);font-weight:500;
}
.fact dd address{font-style:normal;display:inline}
.fact dd time{font-variant-numeric:tabular-nums}

@media (max-width:900px){
  .facts{margin-top:48px;padding-top:32px}
  .facts-grid{grid-template-columns:1fr 1fr;gap:22px 28px}
}
@media (max-width:560px){
  .facts-grid{grid-template-columns:1fr;gap:20px}
  .fact{padding-left:14px}
}
@media (max-width:380px){
  .brand-logo{height:30px}
  .header .nav-right>.btn{padding:0 12px}
  .header .nav-right>.btn svg{display:none}
}

/* ==========================================================================
   Product detail（产品详情页 · /product/1.html）
   ========================================================================== */

/* ---------- 二级导航 ---------- */
.pd-subnav{
  position:sticky;top:74px;z-index:90;
  background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line);
}
.pd-subnav .wrap{display:flex;align-items:center;gap:22px;height:56px}
.pd-sn-name{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap;letter-spacing:-.01em}
.pd-sn-name i{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 3px rgba(0,210,198,.16);flex-shrink:0}
.pd-sn-links{display:flex;gap:2px;margin-left:6px;overflow-x:auto;scrollbar-width:none}
.pd-sn-links::-webkit-scrollbar{display:none}
.pd-sn-links a{padding:7px 12px;border-radius:8px;font-size:13.5px;color:var(--body);white-space:nowrap;transition:.2s}
.pd-sn-links a:hover{background:var(--soft-2);color:var(--blue-d)}
.pd-sn-cta{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0}
/* 副导航 CTA 用描边样式：与上方主导航的实心按钮拉开层级，避免同屏两个蓝块 */
.pd-sn-btn{height:38px;padding:0 16px;font-size:13.5px;border-radius:9px;background:#fff;color:var(--blue-d);border:1px solid rgba(11,132,255,.32);box-shadow:none}
.pd-sn-btn:hover{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 10px 20px -12px rgba(11,132,255,.9)}

/* ---------- 首屏 ---------- */
.pd-hero{background:linear-gradient(180deg,#F6FAFF 0%,#FBFDFF 46%,#fff 100%);padding-bottom:8px}
.pd-crumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);padding:24px 0 0;flex-wrap:wrap}
.pd-crumb a{color:var(--body);transition:color .2s}
.pd-crumb a:hover{color:var(--blue-d)}
.pd-crumb svg{width:12px;height:12px;opacity:.45;flex-shrink:0}
.pd-crumb span{color:var(--ink-2);font-weight:500}

.pd-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:58px;padding:30px 0 72px;align-items:start}

/* 图库 */
.pd-gallery{position:sticky;top:158px}
.pd-stage{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(152deg,#07101F 0%,#0C1C33 58%,#08283A 100%);
  box-shadow:0 40px 80px -46px rgba(10,17,32,.55);
}
.pd-stage::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle at 50% 46%,#000,transparent 74%);
  -webkit-mask-image:radial-gradient(circle at 50% 46%,#000,transparent 74%);
}
.pd-stage::after{
  content:"";position:absolute;left:50%;top:44%;width:64%;height:56%;transform:translate(-50%,-50%);
  background:radial-gradient(ellipse,rgba(11,132,255,.26),transparent 68%);
  filter:blur(14px);pointer-events:none;
}
.pd-slide{display:none;position:relative;z-index:2;padding:46px 26px 48px;place-items:center}
.pd-slide.is-on{display:grid;animation:riseIn .5s var(--ease)}
.pd-slide svg{width:112%;max-width:470px;height:auto;filter:drop-shadow(0 26px 34px rgba(0,0,0,.5))}
.pd-slide picture{display:block;width:100%}
.pd-slide img{width:100%;max-width:452px;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 30px 36px rgba(0,0,0,.55))}
.pd-slide[data-slide="3"] svg{filter:none}
.pd-flag{
  position:absolute;top:16px;left:16px;z-index:3;display:inline-flex;align-items:center;gap:6px;
  padding:5px 11px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.04em;color:#fff;
  background:linear-gradient(120deg,var(--blue),var(--cyan));
}
.pd-view-note{
  position:absolute;bottom:14px;right:18px;z-index:3;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:rgba(255,255,255,.30);
}
.pd-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.pd-thumb{
  position:relative;height:78px;border:1px solid var(--line);border-radius:12px;background:#fff;
  display:grid;place-items:center;padding:8px;transition:.25s var(--ease);overflow:hidden;
}
.pd-thumb svg{width:100%;height:100%;max-height:54px}
.pd-thumb img{width:100%;height:100%;object-fit:contain}
.pd-thumb:hover{border-color:#BBDCFF;background:#FBFDFF}
.pd-thumb.is-on{border-color:var(--blue);background:var(--blue-l);box-shadow:inset 0 0 0 1px var(--blue)}
.pd-thumb span{
  position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:9.5px;
  color:var(--muted);padding-bottom:4px;letter-spacing:.02em;
}
.pd-thumb.is-on span{color:var(--blue-d);font-weight:600}

/* 信息栏 */
.pd-kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.pd-sku{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--muted);
  padding:4px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;
}
.pd-cat{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.pd-info h1{font-size:clamp(27px,3.3vw,38px);line-height:1.22;letter-spacing:-.035em}
.pd-lead{margin-top:15px;font-size:15.5px;line-height:1.9;color:var(--body)}
.pd-lead b{color:var(--ink-2);font-weight:600}

.pd-kpi{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  margin:26px 0 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.pd-kpi>div{position:relative;padding-left:15px}
.pd-kpi>div::before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--blue),var(--cyan))}
.pd-kpi b{display:block;font-family:var(--mono);font-size:23px;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.2}
.pd-kpi b em{font-style:normal;font-size:12px;font-family:var(--ff);color:var(--blue);margin-left:2px;font-weight:600}
.pd-kpi span{display:block;margin-top:5px;font-size:12px;color:var(--muted);letter-spacing:.02em}

/* 配置选择 */
.pd-opts{margin-top:26px}
.pd-opt{margin-bottom:15px}
.pd-opt-lab{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.pd-opt-lab span{font-size:11.5px;font-weight:600;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.pd-opt-lab b{font-size:13px;color:var(--ink-2);font-weight:600}
.pd-opt-btns{display:flex;flex-wrap:wrap;gap:8px}
.pd-opt-btns button{
  padding:9px 15px;border-radius:9px;border:1px solid var(--line-2);background:#fff;
  font-size:13.5px;color:var(--ink-2);font-weight:500;transition:.2s;line-height:1.3;
}
.pd-opt-btns button:hover{border-color:#BBDCFF;color:var(--blue-d);background:#FBFDFF}
.pd-opt-btns button.is-on{
  border-color:var(--blue);background:var(--blue-l);color:var(--blue-d);
  font-weight:600;box-shadow:inset 0 0 0 1px var(--blue);
}

/* 询价卡 */
.pd-buy{margin-top:26px;padding:22px;border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-sm)}
.pd-buy-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pd-buy-top .lab{font-size:11.5px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:4px}
.pd-buy-top .val{font-size:19px;font-weight:700;color:var(--ink);letter-spacing:-.02em}
.pd-buy-top .val small{font-size:13px;font-weight:500;color:var(--body);margin-left:6px;letter-spacing:0}
.pd-buy-top .hint{font-size:12px;color:var(--muted);text-align:right;line-height:1.6}
.pd-actions{display:flex;gap:10px;margin-top:18px}
.pd-actions .btn{flex:1}
.pd-actions .btn--call{flex:0 0 56px;padding:0;border:1px solid var(--line-2);background:#fff;color:var(--ink);box-shadow:none}
.pd-actions .btn--call:hover{border-color:var(--blue);color:var(--blue-d)}
.pd-actions .btn--call svg{width:19px;height:19px}
.pd-actions .btn--call .call-txt{display:none}
.pd-promise{display:grid;gap:9px;margin-top:18px;padding-top:16px;border-top:1px dashed var(--line-2)}
.pd-promise li{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--body);line-height:1.7}
.pd-promise svg{width:15px;height:15px;flex-shrink:0;margin-top:3px;color:var(--blue)}

/* ---------- 通用小节 ---------- */
.pd-sec{scroll-margin-top:146px}
#apply{scroll-margin-top:130px}
.pd-note{
  display:flex;gap:9px;align-items:flex-start;margin-top:20px;
  font-size:12.5px;line-height:1.8;color:var(--muted);
}
.pd-note svg{width:14px;height:14px;flex-shrink:0;margin-top:3px;color:#A9B4C4}

/* ---------- AI 识别演示 ---------- */
.pd-ai{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:52px}
.pd-ai-visual{
  border-radius:var(--r-lg);background:linear-gradient(150deg,#07101F,#0E2138);
  padding:30px;position:relative;overflow:hidden;
}
.pd-ai-visual::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:radial-gradient(circle at 50% 50%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 78%);
}
.pd-ai-visual svg{position:relative;z-index:2;width:100%;height:auto}
.pd-ai-copy h3{font-size:clamp(21px,2.3vw,27px);line-height:1.38;margin-bottom:14px;letter-spacing:-.025em}
.pd-ai-copy>p{font-size:14.8px;line-height:1.9;color:var(--body)}

/* ---------- 设计细节 ---------- */
.pd-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}
.pd-detail{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;
  transition:.35s var(--ease);
}
.pd-detail:hover{border-color:#CFE2FA;box-shadow:var(--sh-sm);transform:translateY(-3px)}
.pd-detail i{
  width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
  background:var(--blue-l);color:var(--blue-d);margin-bottom:16px;
}
.pd-detail i svg{width:19px;height:19px}
.pd-detail h3{font-size:15.5px;margin-bottom:8px}
.pd-detail p{font-size:13.5px;line-height:1.8;color:var(--body)}

/* ---------- 参数表 ---------- */
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 52px;margin-top:44px}
.spec-row{display:grid;grid-template-columns:138px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.spec-row dt{font-size:13.5px;color:var(--muted);margin:0}
.spec-row dd{margin:0;font-size:13.8px;color:var(--ink-2);font-weight:500;line-height:1.7}
.spec-row dd small{display:inline-block;margin-left:7px;font-size:12px;color:var(--muted);font-weight:400}

/* ---------- 适用业态 ---------- */
.use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:46px}
.use-item{
  display:flex;gap:14px;align-items:flex-start;padding:22px 22px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);transition:.3s var(--ease);
}
.use-item:hover{border-color:#CFE2FA;box-shadow:var(--sh-xs)}
.use-item i{
  width:36px;height:36px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;
  background:linear-gradient(145deg,#EAF4FF,#EDFCFB);color:var(--blue-d);border:1px solid #DCEBFF;
}
.use-item i svg{width:18px;height:18px}
.use-item h3{font-size:14.5px;margin-bottom:5px}
.use-item p{font-size:12.8px;line-height:1.75;color:var(--body)}

/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .pd-grid{grid-template-columns:1fr;gap:40px;padding-bottom:56px}
  .pd-gallery{position:static}
  .pd-slide svg,.pd-slide img{max-width:360px}
  .pd-ai{grid-template-columns:1fr;gap:32px}
  .pd-detail-grid,.use-grid{grid-template-columns:repeat(2,1fr)}
  .spec-grid{grid-template-columns:1fr;gap:0}
}
@media (max-width:980px){
  .pd-sn-links{display:none}
}
@media (max-width:640px){
  .pd-subnav{top:66px}
  .pd-subnav .wrap{height:52px;gap:12px}
  .pd-sn-name{font-size:13px}
  .pd-sn-btn{height:34px;padding:0 13px;font-size:12.5px}
  .pd-grid{padding-top:22px}
  .pd-slide{padding:34px 22px 44px}
  .pd-thumbs{gap:8px}
  .pd-thumb{height:64px;padding:6px}
  .pd-kpi{gap:12px;margin-top:22px;padding:18px 0}
  .pd-kpi b{font-size:19px}
  .pd-kpi span{font-size:11px}
  .pd-buy{padding:18px}
  .pd-actions{flex-wrap:wrap}
  .pd-actions .btn--call{flex:0 0 100%;height:46px;order:2}
  .pd-actions .btn--call .call-txt{display:inline}
  .pd-detail-grid,.use-grid{grid-template-columns:1fr}
  .spec-row{grid-template-columns:118px 1fr;gap:12px}
}

/* ==========================================================================
   行业场景页 · 生鲜果蔬  (solution/fresh.html)
   仅本页使用的组件，前缀 ih- (industry)
   ========================================================================== */
:root{
  /* 行业识别色：默认生鲜绿，页面通过 body.theme-* 覆盖 */
  --fr:#12A05C;--fr-2:#0B7F49;--fr-l:#E9F7F0;--fr-line:#D5EBDF;
  --fr-rgb:18,160,92;--fr-soft:#8FE6B4;--fr-glow:#4FE0A6;--fr-glow-rgb:79,224,166;
  --fr-bar:#5CE3B4;--fr-deep:#062A22;
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

#day,#pain,#plan,#calc,#config,#after,#steps,#faq,#apply{scroll-margin-top:150px}

/* ---------- 首屏 ---------- */
.ih-hero{position:relative;overflow:hidden;background:#061019;padding:44px 0 88px;color:#fff}
.ih-hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(760px 440px at 78% 4%,rgba(var(--fr-rgb),.28),transparent 62%),
    radial-gradient(640px 440px at 2% 94%,rgba(11,132,255,.24),transparent 64%);
}
.ih-hero::after{
  content:"";position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(circle at 46% 24%,#000,transparent 74%);
  -webkit-mask-image:radial-gradient(circle at 46% 24%,#000,transparent 74%);
}
.ih-hero .wrap{position:relative;z-index:2}
.ih-hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:60px;align-items:center;margin-top:8px}
.ih-flag{
  display:inline-flex;align-items:center;gap:9px;padding:7px 14px;border-radius:999px;
  background:rgba(var(--fr-rgb),.15);border:1px solid rgba(var(--fr-glow-rgb),.30);
  font-size:12.5px;font-weight:600;color:var(--fr-soft);letter-spacing:.02em;
}
.ih-flag i{width:6px;height:6px;border-radius:50%;background:var(--fr-glow);box-shadow:0 0 10px var(--fr-glow)}
.ih-hero h1{margin-top:22px;color:#fff;font-size:clamp(30px,4vw,50px);line-height:1.18;letter-spacing:-.035em}
.ih-hero h1 em{font-style:normal;background:linear-gradient(100deg,#5CE3D8,var(--fr-soft));-webkit-background-clip:text;background-clip:text;color:transparent}
.ih-hero-copy>p{margin-top:20px;font-size:15.8px;line-height:1.92;color:rgba(255,255,255,.62);max-width:520px}
.ih-hero-copy>p b{color:#fff;font-weight:600}
.ih-hero .ih-hero-note{margin-top:22px;font-size:12.5px;line-height:1.7;color:rgba(255,255,255,.38);max-width:none}
.ih-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.ih-chips span{
  padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);font-size:12.5px;color:rgba(255,255,255,.72);
}
.ih-hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* 单量分布示意卡 */
.ih-peak{
  background:linear-gradient(165deg,rgba(255,255,255,.10),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.14);border-radius:var(--r-xl);
  padding:26px 26px 22px;box-shadow:0 44px 80px -52px rgba(0,0,0,.9);
  backdrop-filter:blur(12px);
}
.ih-peak-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ih-peak-head b{color:#fff;font-size:15px;letter-spacing:-.01em}
.ih-peak-head span{font-size:11px;color:rgba(255,255,255,.35)}
.ih-peak-bars{
  display:flex;align-items:flex-end;gap:6px;height:142px;margin:22px 0 8px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.ih-peak-bars i{flex:1;min-height:4px;border-radius:4px 4px 0 0;background:rgba(255,255,255,.13)}
.ih-peak-bars i.on{background:linear-gradient(180deg,var(--fr-bar),var(--fr));box-shadow:0 0 22px rgba(var(--fr-rgb),.42)}
.ih-peak-axis{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;color:rgba(255,255,255,.35);letter-spacing:.02em}
.ih-peak-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}
.ih-peak-stats div b{display:block;font-family:var(--mono);font-size:20px;line-height:1.2;letter-spacing:-.02em;color:#fff}
.ih-peak-stats div span{display:block;margin-top:5px;font-size:10.5px;line-height:1.6;color:rgba(255,255,255,.42)}

/* ---------- 一天的动线 ---------- */
.ih-day{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin-top:56px}
.ih-node{position:relative;display:flex;flex-direction:column;padding-top:24px;border-top:2px solid var(--line)}
.ih-node::before{content:"";position:absolute;left:0;top:-2px;width:38px;height:2px;background:var(--fr)}
.ih-t{display:block;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--fr-2);letter-spacing:.04em;margin-bottom:10px}
.ih-node h3{font-size:16.5px;margin-bottom:9px}
.ih-node p{font-size:13.4px;line-height:1.8;color:var(--body)}
.ih-sys{margin-top:auto}
.ih-sys{
  display:inline-block;align-self:flex-start;margin-top:auto;padding:6px 10px;border-radius:7px;
  background:var(--fr-l);border:1px solid var(--fr-line);color:var(--fr-2);
  font-size:11.5px;line-height:1.5;max-width:100%;
}

/* ---------- 五个麻烦 ---------- */
.ih-pain{margin-top:52px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden}
.ih-prow{display:grid;grid-template-columns:44px 1.1fr 1fr;gap:30px;padding:30px 36px;align-items:start}
.ih-prow+.ih-prow{border-top:1px solid var(--line)}
.ih-pno{
  width:34px;height:34px;border-radius:10px;background:var(--soft);display:grid;place-items:center;
  font-family:var(--mono);font-size:12.5px;font-weight:700;color:var(--muted);margin-top:2px;
}
.ih-prow h3{font-size:17px;margin-bottom:9px;letter-spacing:-.015em}
.ih-scene{font-size:13.4px;line-height:1.8;color:var(--muted)}
.ih-scene::before{content:"现场常见的一幕";display:block;font-size:10.5px;letter-spacing:.12em;color:#AEBACB;margin-bottom:7px}
.ih-fix{border-left:1px solid var(--line);padding-left:30px}
.ih-fix b{display:block;font-size:14.5px;color:var(--ink);margin-bottom:8px}
.ih-fix b::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--fr);margin-right:9px;vertical-align:2px}
.ih-fix span{font-size:13.4px;line-height:1.8;color:var(--body)}

/* ---------- 四步流程 ---------- */
.ih-flow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}
.ih-step{padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:.3s var(--ease)}
.ih-step:hover{border-color:#CFE2FA;box-shadow:var(--sh-xs)}
.ih-step b{font-family:var(--mono);font-size:11px;color:var(--fr);letter-spacing:.06em}
.ih-step h4{font-size:15px;margin:6px 0 5px;letter-spacing:-.01em}
.ih-step span{display:block;font-size:12.2px;line-height:1.6;color:var(--muted)}

/* ---------- 结算界面示意 ---------- */
.ih-screen-wrap{
  position:relative;border-radius:var(--r-xl);overflow:hidden;padding:30px;
  background:linear-gradient(150deg,#07101F,#0E2138);
}
.ih-screen-wrap::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:radial-gradient(circle at 50% 40%,#000,transparent 78%);
  -webkit-mask-image:radial-gradient(circle at 50% 40%,#000,transparent 78%);
}
.ih-screen{
  position:relative;z-index:2;background:#F8FBFF;border-radius:14px;padding:18px 18px 16px;
  box-shadow:0 34px 60px -30px rgba(0,0,0,.75);color:var(--ink);
}
.ih-sc-bar{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--muted);padding-bottom:12px;border-bottom:1px solid #E3ECF8}
.ih-sc-bar span:last-child{font-family:var(--mono)}
.ih-sc-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px dashed #E3ECF8}
.ih-sc-item b{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}
.ih-sc-item span{display:block;margin-top:3px;font-size:11.5px;color:var(--muted);font-family:var(--mono)}
.ih-sc-item em{font-family:var(--mono);font-size:14px;font-style:normal;color:var(--ink);white-space:nowrap}
.ih-sc-total{display:flex;justify-content:space-between;align-items:flex-end;padding:16px 0 4px}
.ih-sc-total>span{font-size:11.5px;color:var(--muted)}
.ih-sc-total b{font-family:var(--mono);font-size:28px;line-height:1;letter-spacing:-.03em;color:var(--ink)}
.ih-sc-total b small{font-size:15px;margin-right:2px}
.ih-sc-pay{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--blue-l);border:1px solid #D5E7FF}
.ih-qr{width:44px;height:44px;border-radius:6px;flex-shrink:0}
.ih-sc-pay b{display:block;font-size:13px;color:var(--ink)}
.ih-sc-pay span{display:block;margin-top:2px;font-size:11px;color:var(--muted)}
.ih-screen-cap{position:relative;z-index:2;margin-top:16px;text-align:center;font-size:11.5px;color:rgba(255,255,255,.35)}

/* ---------- 计价方式表 ---------- */
.ih-tblwrap{margin-top:46px;border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden;box-shadow:var(--sh-xs)}
.ih-tbl{width:100%;border-collapse:collapse}
.ih-tbl th{
  padding:15px 24px;text-align:left;background:#F7FAFF;border-bottom:1px solid var(--line);
  font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}
.ih-tbl td{padding:19px 24px;border-bottom:1px solid var(--line);font-size:13.7px;line-height:1.75;color:var(--body);vertical-align:top}
.ih-tbl tr:last-child td{border-bottom:0}
.ih-tbl td:first-child{width:172px;font-weight:600;color:var(--ink);white-space:nowrap}
.ih-tbl td:first-child small{display:block;margin-top:4px;font-size:11.5px;font-weight:400;color:var(--muted);white-space:normal}
.ih-tbl td:last-child{color:var(--ink-2)}
.ih-tbl tbody tr:hover{background:#FBFDFF}

/* ---------- 配置清单 ---------- */
.ih-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:54px;align-items:stretch}
.ih-tier{
  position:relative;display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 28px;
  transition:.35s var(--ease);
}
.ih-tier:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:#CFE2FA}
.ih-tier.on{background:linear-gradient(180deg,#F7FBFF,#fff);border-color:#BBDCFF;box-shadow:var(--sh)}
.ih-tier.on::before{
  content:"多数门店选这套";position:absolute;top:-12px;left:28px;padding:5px 12px;border-radius:999px;
  background:linear-gradient(135deg,var(--blue),#0A6BE0);color:#fff;font-size:11.5px;font-weight:600;
  letter-spacing:.02em;box-shadow:0 10px 20px -12px rgba(11,132,255,.9);
}
.ih-tier-k{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#AEBACB}
.ih-tier h3{font-size:20px;margin:10px 0 10px}
.ih-tier-fit{font-size:12.8px;line-height:1.8;color:var(--muted);min-height:44px}
.ih-tier ul{display:grid;gap:12px;margin:22px 0 26px;padding-top:22px;border-top:1px solid var(--line)}
.ih-tier li{display:flex;gap:10px;font-size:13.3px;line-height:1.7;color:var(--ink-2)}
.ih-tier li svg{width:14px;height:14px;flex-shrink:0;margin-top:4px;color:var(--fr)}
.ih-tier .btn{margin-top:auto}
.ih-tier-note{margin-top:26px;text-align:center;font-size:12.8px;line-height:1.8;color:var(--muted)}

/* ---------- 上线前后 ---------- */
.ih-after{position:relative;overflow:hidden;padding:96px 0;color:#fff;background:linear-gradient(115deg,#061019,#0A1A2E 58%,var(--fr-deep))}
.ih-after::before{
  content:"";position:absolute;right:-120px;top:-140px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(var(--fr-rgb),.26),transparent 65%);
}
.ih-after .wrap{position:relative;z-index:2}
.ih-delta{margin-top:54px;border-top:1px solid rgba(255,255,255,.14)}
.ih-dhead,.ih-drow{display:grid;grid-template-columns:.8fr 1.1fr 1.2fr;gap:32px}
.ih-dhead{padding:14px 0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.34)}
.ih-drow{padding:24px 0;border-top:1px solid rgba(255,255,255,.1);align-items:center}
.ih-drow .lbl{font-size:15px;font-weight:600;color:#fff}
.ih-before{position:relative;font-size:13.3px;line-height:1.7;color:rgba(255,255,255,.44)}
.ih-now{position:relative;padding-left:20px;font-size:13.8px;line-height:1.7;color:rgba(255,255,255,.9)}
.ih-now::before{
  content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;
  background:var(--fr-glow);box-shadow:0 0 10px rgba(var(--fr-glow-rgb),.8);
}

/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .ih-day{grid-template-columns:repeat(2,1fr);gap:30px 22px}
  .ih-day .ih-node:nth-child(5){grid-column:1/-1;max-width:calc(50% - 11px)}
  .ih-prow{grid-template-columns:44px 1fr;gap:18px 22px}
  .ih-fix{grid-column:2;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:16px}
  .ih-tier{padding:28px 24px}
}
@media (max-width:880px){
  .ih-hero-grid{grid-template-columns:1fr;gap:40px}
  .ih-peak{max-width:none;display:grid;grid-template-columns:1fr 188px;column-gap:26px;align-items:end}
  .ih-peak-head{grid-column:1/-1}
  .ih-peak-bars{grid-column:1;height:126px;margin:20px 0 0}
  .ih-peak-axis{grid-column:1;margin-top:9px}
  .ih-peak-stats{
    grid-column:2;grid-row:2 / 4;align-self:center;
    grid-template-columns:1fr;gap:14px;margin-top:0;padding:0 0 0 22px;
    border-top:0;border-left:1px solid rgba(255,255,255,.1);
  }
  .ih-peak-stats div b{font-size:18px}
}
@media (max-width:820px){
  .ih-tiers{grid-template-columns:1fr;gap:28px;max-width:560px}
  .ih-tier.on{transform:none}
  .ih-dhead{display:none}
  .ih-drow{grid-template-columns:1fr;gap:14px;padding:24px 0}
  .ih-before{font-size:12.8px}
  .ih-before::before{content:"现在";display:block;margin-bottom:4px;font-size:10px;letter-spacing:.1em;color:rgba(255,255,255,.3)}
  .ih-now{padding-left:0}
  .ih-now::before{
    content:"换过之后";position:static;display:block;width:auto;height:auto;
    margin-bottom:4px;border-radius:0;background:none;box-shadow:none;
    font-size:10px;letter-spacing:.1em;color:rgba(var(--fr-glow-rgb),.8);
  }
}
@media (max-width:760px){
  .ih-tblwrap{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;margin-top:34px}
  .ih-tbl,.ih-tbl tbody,.ih-tbl tr,.ih-tbl td{display:block;width:100%}
  .ih-tbl thead{display:none}
  .ih-tbl tr{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px;padding:4px 0}
  .ih-tbl td{border-bottom:1px solid var(--line);padding:12px 18px}
  .ih-tbl tr td:last-child{border-bottom:0}
  .ih-tbl td:first-child{width:auto;white-space:normal;padding-bottom:10px}
  .ih-tbl td::before{content:attr(data-label);display:block;margin-bottom:5px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#AEBACB}
  .ih-tbl td:first-child::before{display:none}
  .ih-tbl tbody tr:hover{background:#fff}
}
@media (max-width:560px){
  .ih-hero{padding:34px 0 64px}
  .ih-hero h1{font-size:27px;line-height:1.28}
  .ih-hero-copy>p{font-size:14.8px}
  .ih-hero-btns{gap:10px}
  .ih-hero-btns .btn{width:100%}
  .ih-peak{display:block;padding:20px 18px 18px;border-radius:var(--r-lg)}
  .ih-peak-bars{height:110px;gap:4px;margin:20px 0 8px}
  .ih-peak-stats{
    grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;padding:18px 0 0;
    border-top:1px solid rgba(255,255,255,.1);border-left:0;
  }
  .ih-peak-stats div b{font-size:17px}
  .ih-day{grid-template-columns:1fr;gap:26px}
  .ih-day .ih-node:nth-child(5){max-width:none}
  .ih-pain{border-radius:var(--r);margin-top:34px}
  .ih-prow{padding:24px 20px;gap:16px}
  .ih-prow h3{font-size:15.5px}
  .ih-flow{grid-template-columns:1fr}
  .ih-screen-wrap{padding:18px;border-radius:var(--r-lg)}
  .ih-screen{padding:14px}
  .ih-sc-item{padding:11px 0}
  .ih-sc-total b{font-size:24px}
  .ih-tier{padding:26px 22px}
  .ih-tier.on::before{left:22px}
  .ih-after{padding:68px 0}
  .ih-delta{margin-top:36px}
}

/* ==========================================================================
   行业场景页 · 熟食卤味  (solution/deli.html)
   复用 ih- 骨架，只换行业色 + 首屏换成「拼盘计价小票」
   ========================================================================== */
body.theme-deli{
  --fr:#C9761C;--fr-2:#96540F;--fr-l:#FDF4E8;--fr-line:#F0DFC7;
  --fr-rgb:201,118,28;--fr-soft:#F3B96B;--fr-glow:#F5A93E;--fr-glow-rgb:245,169,62;
  --fr-bar:#F7C070;--fr-deep:#2A1A08;
}

/* ---------- 首屏：拼盘计价小票 ---------- */
.dh-ticket{
  position:relative;padding:26px 26px 22px;border-radius:var(--r-xl);
  background:linear-gradient(165deg,rgba(255,255,255,.10),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 44px 80px -52px rgba(0,0,0,.9);
  backdrop-filter:blur(12px);
}
.dh-tk-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.dh-tk-head b{color:#fff;font-size:15px;letter-spacing:-.01em}
.dh-tk-head span{font-size:11px;color:rgba(255,255,255,.35);white-space:nowrap}

.dh-tk-body{
  margin-top:18px;padding:16px 18px 14px;border-radius:12px;
  background:#08131F;border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.dh-tk-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:9px 0}
.dh-tk-row+.dh-tk-row{border-top:1px dashed rgba(255,255,255,.07)}
.dh-tk-row b{display:block;font-size:12.5px;font-weight:600;color:#fff;letter-spacing:.01em}
.dh-tk-row i{display:block;margin-top:3px;font-style:normal;font-family:var(--mono);font-size:10.5px;color:rgba(255,255,255,.38)}
.dh-tk-row em{flex-shrink:0;font-style:normal;font-family:var(--mono);font-size:12.5px;color:rgba(255,255,255,.88)}

.dh-tk-sep{height:1px;margin:11px 0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.24) 0 5px,transparent 5px 10px)}
.dh-tk-sum{display:flex;justify-content:space-between;padding:3px 0;font-size:11.5px;color:rgba(255,255,255,.45)}
.dh-tk-sum em{font-style:normal;font-family:var(--mono);color:rgba(255,255,255,.7)}
.dh-tk-total{display:flex;justify-content:space-between;align-items:flex-end;margin-top:10px}
.dh-tk-total>span{font-size:11px;line-height:1.6;color:rgba(255,255,255,.4)}
.dh-tk-total b{font-family:var(--mono);font-size:30px;line-height:1;letter-spacing:-.03em;color:#fff}
.dh-tk-total b small{font-size:15px;margin-right:2px;color:var(--fr-soft)}

.dh-tk-foot{display:flex;align-items:center;gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:11.5px;line-height:1.6;color:rgba(255,255,255,.45)}
.dh-tk-foot i{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--fr-glow);box-shadow:0 0 10px var(--fr-glow)}

@media (max-width:560px){
  .dh-ticket{padding:20px 18px 18px;border-radius:var(--r-lg)}
  .dh-tk-body{padding:12px 14px 12px}
  .dh-tk-row{padding:8px 0}
  .dh-tk-row b{font-size:12px}
  .dh-tk-row em{font-size:12px}
  .dh-tk-total b{font-size:26px}
}

/* ==========================================================================
   行业场景页 · 散称零食与炒货  (solution/snack.html)
   复用 ih- 骨架，行业色改为山楂红，首屏换成「散称价签墙」
   ========================================================================== */
body.theme-snack{
  --fr:#B32B57;--fr-2:#8C1B41;--fr-l:#FCEFF4;--fr-line:#F2D6E1;
  --fr-rgb:179,43,87;--fr-soft:#F49CB6;--fr-glow:#F2608A;--fr-glow-rgb:242,96,138;
  --fr-bar:#FB8FAE;--fr-deep:#2A0713;
}
.theme-snack .ih-hero h1 em{background-image:linear-gradient(100deg,#FFCCDA,var(--fr-soft))}

/* ---------- 首屏：散称价签墙 ---------- */
.sn-tags{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sn-tag{
  position:relative;padding:20px 16px 14px;border-radius:14px;
  background:linear-gradient(180deg,#FFFDF9,#FBF5EA);
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 26px 46px -30px rgba(0,0,0,.85);
}
.sn-tag::before{
  content:"";position:absolute;left:50%;top:8px;width:8px;height:8px;margin-left:-4px;border-radius:50%;
  background:#0C1420;box-shadow:inset 0 1px 2px rgba(255,255,255,.35);
}
.sn-tag b{display:block;font-size:13.5px;font-weight:700;line-height:1.4;color:#1E1610;letter-spacing:-.01em}
.sn-tg-p{display:flex;align-items:baseline;gap:2px;margin-top:9px;font-family:var(--mono);font-size:21px;font-weight:600;letter-spacing:-.03em;color:#1E1610}
.sn-tg-p small{font-size:11px;font-weight:500;color:var(--fr-2)}
.sn-tg-p em{font-style:normal;font-size:10.5px;font-weight:400;color:#9A8E7D;margin-left:3px}
.sn-tg-n{display:block;margin-top:6px;font-size:10.5px;line-height:1.5;color:#8B7F6E}
.sn-tg-n s{color:#BCB1A0}
.sn-tag--chg{background:linear-gradient(180deg,#FFF6F8,#FDEBF1);border-color:rgba(255,255,255,.6)}
.sn-tag--chg .sn-tg-n{color:var(--fr-2)}
.sn-tags-foot{
  grid-column:1/-1;display:flex;align-items:center;gap:9px;padding:12px 15px;border-radius:10px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  font-size:11.5px;line-height:1.6;color:rgba(255,255,255,.5);
}
.sn-tags-foot i{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--fr-glow);box-shadow:0 0 10px var(--fr-glow)}

/* ==========================================================================
   行业场景页 · 称重快餐 / 自助  (solution/buffet.html)
   复用 ih- 骨架，行业色改为钢青，首屏换成「托盘计价读数」
   ========================================================================== */
body.theme-buffet{
  --fr:#0E7FA8;--fr-2:#0A6484;--fr-l:#EAF7FC;--fr-line:#D2E9F3;
  --fr-rgb:14,127,168;--fr-soft:#7FD8F0;--fr-glow:#45C6E8;--fr-glow-rgb:69,198,232;
  --fr-bar:#63CFEA;--fr-deep:#04202B;
}
.theme-buffet .ih-hero h1 em{background-image:linear-gradient(100deg,#C6F0FF,var(--fr-soft))}

/* ---------- 首屏：托盘计价 ---------- */
.bf-tray{
  padding:24px;border-radius:var(--r-xl);
  background:linear-gradient(165deg,rgba(255,255,255,.10),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 44px 80px -52px rgba(0,0,0,.9);
  backdrop-filter:blur(12px);
}
.bf-tray-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.bf-tray-head b{color:#fff;font-size:15px;letter-spacing:-.01em}
.bf-tray-head span{font-size:11px;color:rgba(255,255,255,.36);white-space:nowrap}
.bf-dishes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 14px}
.bf-dish{padding:12px 8px;border-radius:10px;text-align:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}
.bf-dish span{display:block;font-size:11.5px;line-height:1.5;color:rgba(255,255,255,.66)}
.bf-dish i{display:block;margin-top:6px;font-family:var(--mono);font-size:12px;font-style:normal;color:#fff}
.bf-read{padding:15px 18px 16px;border-radius:12px;background:#04161F;border:1px solid rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.bf-rw{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 0}
.bf-rw>span{font-size:11.5px;color:rgba(255,255,255,.42)}
.bf-rw b{font-family:var(--mono);font-size:16px;font-weight:600;letter-spacing:-.01em;color:#fff}
.bf-rw b small{font-size:10.5px;font-weight:400;margin-left:3px;color:rgba(255,255,255,.4)}
.bf-rw--sum{margin-top:9px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.14)}
.bf-rw--sum b{font-size:31px;letter-spacing:-.03em;color:var(--fr-soft);text-shadow:0 0 26px rgba(var(--fr-glow-rgb),.5)}
.bf-tray-foot{display:flex;align-items:center;gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:11.5px;line-height:1.6;color:rgba(255,255,255,.45)}
.bf-tray-foot i{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--fr-glow);box-shadow:0 0 10px var(--fr-glow)}

/* ==========================================================================
   行业场景页 · 社区生鲜超市  (solution/market.html)
   复用 ih- 骨架，行业色改为草绿，首屏换成「称重价签」
   ========================================================================== */
body.theme-market{
  --fr:#4E9A2E;--fr-2:#3B7822;--fr-l:#F1F9E9;--fr-line:#DCEDCB;
  --fr-rgb:78,154,46;--fr-soft:#B7E289;--fr-glow:#8ED84F;--fr-glow-rgb:142,216,79;
  --fr-bar:#9BDD63;--fr-deep:#0B1F06;
}
.theme-market .ih-hero h1 em{background-image:linear-gradient(100deg,#E2F8C8,var(--fr-soft))}

/* ---------- 首屏：称重价签 ---------- */
.mk-label{
  padding:20px 20px 16px;border-radius:16px;background:#fff;
  box-shadow:0 34px 56px -30px rgba(0,0,0,.85);
  color:#0A1120;
}
.mk-lb-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:#8A94A6}
.mk-lb-name{margin-top:11px;font-size:19px;font-weight:700;letter-spacing:-.02em}
.mk-lb-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed #E1E9F4}
.mk-lb-grid span{display:block;font-size:10.5px;color:#8A94A6}
.mk-lb-grid b{display:block;margin-top:3px;font-family:var(--mono);font-size:13.5px;color:#0A1120}
.mk-lb-price{display:flex;align-items:baseline;gap:3px;margin-top:13px;font-family:var(--mono);font-size:34px;line-height:1;letter-spacing:-.03em;color:#0A1120}
.mk-lb-price small{font-size:16px;color:var(--fr)}
.mk-bc{width:100%;height:38px;margin-top:15px;color:#0A1120}
.mk-lb-foot{display:flex;align-items:center;gap:9px;margin-top:13px;padding-top:12px;border-top:1px dashed #E1E9F4;font-size:11px;line-height:1.6;color:#7C889B}
.mk-lb-foot i{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--fr);box-shadow:0 0 0 3px rgba(var(--fr-rgb),.14)}

/* ==========================================================================
   行业场景页 · 农贸市场摊位  (solution/stall.html)
   复用 ih- 骨架，行业色改为赤陶，首屏换成「顾客面双面屏」
   ========================================================================== */
body.theme-stall{
  --fr:#A24A2C;--fr-2:#7E3620;--fr-l:#FDF1EB;--fr-line:#F1DBD0;
  --fr-rgb:162,74,44;--fr-soft:#EFA184;--fr-glow:#EE8F68;--fr-glow-rgb:238,143,104;
  --fr-bar:#F0A183;--fr-deep:#24100A;
}
.theme-stall .ih-hero h1 em{background-image:linear-gradient(100deg,#FFD2BE,var(--fr-soft))}

/* ---------- 首屏：顾客面双面屏 ---------- */
.st-screen{
  padding:20px;border-radius:var(--r-xl);
  background:linear-gradient(165deg,rgba(255,255,255,.10),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 44px 80px -52px rgba(0,0,0,.9);
  backdrop-filter:blur(12px);
}
.st-scr{padding:16px 18px 16px;border-radius:12px;background:#140A05;border:1px solid rgba(255,132,86,.2);box-shadow:inset 0 0 46px rgba(255,110,60,.12)}
.st-scr-bar{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:10.5px;color:rgba(255,170,130,.52)}
.st-scr-name{margin-top:13px;font-size:21px;font-weight:700;letter-spacing:.02em;color:#FFE7D9}
.st-scr-nums{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:9px}
.st-w span{display:block;font-size:10.5px;color:rgba(255,170,130,.5)}
.st-w b{display:block;margin-top:3px;font-family:var(--mono);font-size:27px;line-height:1.1;letter-spacing:-.02em;color:#FFB08A}
.st-w b small{font-size:12px;margin-left:4px;font-weight:400;letter-spacing:0}
.st-p{text-align:right}
.st-p span{display:block;font-size:10.5px;color:rgba(255,170,130,.5)}
.st-p b{display:block;margin-top:2px;font-family:var(--mono);font-size:44px;line-height:.98;letter-spacing:-.04em;color:#FF7A4D;text-shadow:0 0 26px rgba(255,110,60,.55)}
.st-p b small{font-size:18px;margin-right:4px;letter-spacing:0}
.st-voice{display:flex;align-items:center;gap:9px;margin-top:14px;padding:10px 12px;border-radius:9px;background:rgba(255,132,86,.1);border:1px solid rgba(255,132,86,.22);font-size:11.5px;line-height:1.6;color:#FFD6C2}
.st-voice svg{width:15px;height:15px;flex-shrink:0;color:#FF9870}
.st-screen-foot{display:flex;align-items:center;gap:9px;margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.1);font-size:11.5px;line-height:1.6;color:rgba(255,255,255,.45)}
.st-screen-foot i{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--fr-glow);box-shadow:0 0 10px var(--fr-glow)}

/* ---------- 响应式 ---------- */
@media (max-width:880px){
  .sn-tags,.mk-label{max-width:520px}
}
@media (max-width:560px){
  .sn-tags{gap:9px}
  .sn-tag{padding:17px 13px 12px;border-radius:12px}
  .sn-tag b{font-size:12.5px}
  .sn-tg-p{font-size:18px}
  .sn-tag .sn-tg-n{font-size:10px}
  .sn-tags-foot{padding:11px 13px;font-size:11px}
  .bf-tray{padding:18px;border-radius:var(--r-lg)}
  .bf-dishes{gap:6px;margin:14px 0 12px}
  .bf-dish{padding:10px 6px}
  .bf-dish span{font-size:10.5px}
  .bf-rw--sum b{font-size:27px}
  .mk-label{padding:17px 16px 14px;border-radius:14px}
  .mk-lb-name{font-size:17px}
  .mk-lb-price{font-size:29px}
  .mk-bc{height:34px}
  .st-screen{padding:15px;border-radius:var(--r-lg)}
  .st-scr{padding:14px 15px}
  .st-scr-name{font-size:18px;margin-top:11px}
  .st-w b{font-size:23px}
  .st-p b{font-size:36px}
}

/* ==========================================================================
   76 个细分行业 · 首屏卡原型
   单据 rc- / 桌台 tb- / 叫号 qc- / 会员 mc- / 尺码 sz- / 货架 sb-
   ========================================================================== */

/* ---------- 同业态互链 ---------- */
.ih-rel{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.ih-rel a{
  display:inline-flex;align-items:center;gap:5px;padding:11px 17px;border:1px solid var(--line);
  border-radius:999px;background:#fff;font-size:13.5px;font-weight:500;color:var(--ink-2);
  transition:.25s var(--ease);
}
.ih-rel a:hover{border-color:rgba(var(--fr-rgb),.5);color:var(--fr);box-shadow:var(--sh-xs);transform:translateY(-1px)}
.ih-rel a svg{width:14px;height:14px;flex-shrink:0;color:#AEBACB}
.ih-rel a:hover svg{color:var(--fr)}
.ih-rel-note{margin-top:18px;font-size:12.8px;line-height:1.8;color:var(--muted)}
.ih-rel-note a{color:var(--fr);text-decoration:underline;text-underline-offset:3px}

/* ---------- 单据 ---------- */
.rc-wrap{padding:4px 0}
.rc-paper{
  width:100%;max-width:430px;margin:0 auto;background:#FFFDF8;border-radius:14px;padding:20px 22px 18px;
  color:#1E1610;box-shadow:0 28px 70px -34px rgba(0,0,0,.85),inset 0 1px 0 #fff;
}
.rc-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px dashed #DCD2C2}
.rc-head b{font-size:15.5px;letter-spacing:-.01em}
.rc-head span{font-family:var(--mono);font-size:10.5px;color:#9A8E7D;white-space:nowrap}
.rc-meta{display:flex;justify-content:space-between;margin-top:8px;font-family:var(--mono);font-size:10.5px;color:#9A8E7D}
.rc-items{margin-top:6px}
.rc-row{display:grid;grid-template-columns:1fr 78px 66px;gap:8px;align-items:baseline;padding:8px 0;border-bottom:1px dotted #EDE5D8}
.rc-row:last-child{border-bottom:0}
.rc-row span{font-size:13.2px;font-weight:600;line-height:1.5}
.rc-row i{font-style:normal;font-family:var(--mono);font-size:10.8px;line-height:1.45;color:#9A8E7D;text-align:right}
.rc-row em{font-style:normal;font-family:var(--mono);font-size:13px;text-align:right;letter-spacing:-.01em}
.rc-sum{display:flex;justify-content:space-between;align-items:flex-end;margin-top:10px;padding-top:12px;border-top:1px dashed #DCD2C2}
.rc-sum span{font-size:11.5px;color:#8B7F6E}
.rc-sum b{font-family:var(--mono);font-size:26px;line-height:1;letter-spacing:-.03em}
.rc-sum b small{font-size:14px;margin-right:2px;color:var(--fr)}
.rc-foot{display:flex;align-items:center;gap:8px;margin-top:13px;font-size:10.8px;line-height:1.6;color:#8B7F6E}
.rc-foot i{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--fr);box-shadow:0 0 0 3px rgba(var(--fr-rgb),.15)}

/* ---------- 桌台 ---------- */
.tb-board{padding:18px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1)}
.tb-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.tb-head b{font-size:14px;color:#fff;letter-spacing:-.01em}
.tb-head span{font-family:var(--mono);font-size:10.5px;color:rgba(255,255,255,.35)}
.tb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}
.tb-t{padding:11px 8px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);text-align:center}
.tb-t b{display:block;font-family:var(--mono);font-size:14px;color:#fff;letter-spacing:.02em}
.tb-t span{display:block;margin-top:2px;font-size:9.5px;color:rgba(255,255,255,.42)}
.tb-t i{display:block;margin-top:5px;font-style:normal;font-family:var(--mono);font-size:11.5px;color:rgba(255,255,255,.82)}
.tb-t.busy{background:rgba(var(--fr-rgb),.16);border-color:rgba(var(--fr-rgb),.46)}
.tb-t.busy i{color:var(--fr-soft)}
.tb-t.wait{background:rgba(245,169,62,.13);border-color:rgba(245,169,62,.38)}
.tb-t.book{border-style:dashed}
.tb-legend{display:flex;flex-wrap:wrap;gap:11px;margin-top:13px;font-size:10px;color:rgba(255,255,255,.38)}
.tb-legend span{display:flex;align-items:center;gap:5px}
.tb-legend i{width:8px;height:8px;border-radius:3px;background:rgba(255,255,255,.16)}
.tb-legend i.busy{background:var(--fr)}
.tb-legend i.wait{background:#F5A93E}
.tb-legend i.book{background:transparent;border:1px solid rgba(255,255,255,.42)}
.tb-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;padding-top:13px;border-top:1px solid rgba(255,255,255,.1)}
.tb-stats b{display:block;font-family:var(--mono);font-size:17px;line-height:1.2;color:#fff}
.tb-stats span{display:block;margin-top:3px;font-size:9.5px;line-height:1.5;color:rgba(255,255,255,.38)}

/* ---------- 叫号 ---------- */
.qc-box{
  padding:19px 20px 18px;border-radius:16px;text-align:center;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.1);
}
.qc-sbar{display:flex;align-items:baseline;justify-content:space-between;font-family:var(--mono);font-size:10.5px;color:rgba(255,255,255,.36)}
.qc-no{margin-top:12px;font-family:var(--mono);font-size:62px;line-height:1;letter-spacing:-.045em;color:var(--fr-soft);text-shadow:0 0 44px rgba(var(--fr-glow-rgb),.55)}
.qc-ahead{margin-top:8px;font-size:12.5px;color:rgba(255,255,255,.55)}
.qc-rows{display:grid;gap:8px;margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.1);text-align:left}
.qc-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:11.8px;color:rgba(255,255,255,.46)}
.qc-row b{font-family:var(--mono);font-size:12.5px;font-weight:600;color:#fff}
.qc-foot{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);font-size:10.5px;line-height:1.6;color:rgba(255,255,255,.42);text-align:left}
.qc-foot i{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--fr-glow);box-shadow:0 0 10px var(--fr-glow)}

/* ---------- 会员 ---------- */
.mc-card{
  padding:21px 22px 19px;border-radius:18px;border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(142deg,rgba(var(--fr-rgb),.94),rgba(var(--fr-rgb),.58) 58%,rgba(6,16,25,.72));
  box-shadow:0 30px 64px -32px rgba(var(--fr-rgb),.95);
}
.mc-top{display:flex;align-items:baseline;justify-content:space-between;font-size:10px;letter-spacing:.12em;color:rgba(255,255,255,.62);text-transform:uppercase}
.mc-name{margin-top:13px;font-size:20px;font-weight:700;letter-spacing:-.01em;color:#fff}
.mc-balance{margin-top:9px}
.mc-balance span{display:block;font-size:10.5px;color:rgba(255,255,255,.6)}
.mc-balance b{font-family:var(--mono);font-size:37px;line-height:1.1;letter-spacing:-.035em;color:#fff}
.mc-balance b small{font-size:15px;margin-right:3px}
.mc-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px;padding-top:13px;border-top:1px solid rgba(255,255,255,.2)}
.mc-meta span{display:block;font-size:10.5px;color:rgba(255,255,255,.6)}
.mc-meta b{display:block;margin-top:3px;font-family:var(--mono);font-size:15px;font-weight:600;color:#fff}
.mc-bar{height:5px;border-radius:999px;background:rgba(255,255,255,.24);margin-top:15px;overflow:hidden}
.mc-bar i{display:block;height:100%;border-radius:999px;background:#fff}
.mc-bar-note{margin-top:7px;font-size:10.3px;color:rgba(255,255,255,.64)}
.mc-foot{display:flex;align-items:center;gap:7px;margin-top:13px;font-size:10.3px;line-height:1.6;color:rgba(255,255,255,.6)}
.mc-foot i{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#fff}

/* ---------- 尺码 ---------- */
.sz-card{width:100%;max-width:430px;margin:0 auto;background:#fff;border-radius:14px;padding:19px 20px 17px;color:#0A1120;box-shadow:0 28px 70px -34px rgba(0,0,0,.8)}
.sz-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:11px;border-bottom:1px solid #EDF2F9}
.sz-top b{font-size:13.5px;letter-spacing:-.01em}
.sz-top span{font-family:var(--mono);font-size:13px;color:var(--fr)}
.sz-head,.sz-row{display:grid;grid-template-columns:62px repeat(4,1fr);gap:6px}
.sz-head{margin-top:11px}
.sz-head i{font-style:normal;font-family:var(--mono);font-size:10.5px;color:#8A94A6;text-align:center}
.sz-row{margin-top:7px;align-items:center}
.sz-row>span{font-size:11.3px;color:#5B6678;line-height:1.4}
.sz-row em{display:block;padding:6px 0;border-radius:6px;background:#F4F8FD;font-style:normal;font-family:var(--mono);font-size:11.8px;text-align:center;color:#0A1120}
.sz-row em.out{background:#FBFCFE;color:#C7D0DC}
.sz-foot{display:flex;align-items:center;gap:8px;margin-top:13px;padding-top:11px;border-top:1px dashed #E7EEF8;font-size:10.5px;line-height:1.6;color:#7C889B}
.sz-foot i{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--fr);box-shadow:0 0 0 3px rgba(var(--fr-rgb),.13)}

/* ---------- 货架 ---------- */
.sb-card{width:100%;max-width:430px;margin:0 auto;background:#fff;border-radius:14px;padding:17px 19px 15px;color:#0A1120;box-shadow:0 28px 70px -34px rgba(0,0,0,.8)}
.sb-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:11px;border-bottom:1px solid #EDF2F9}
.sb-top b{font-size:13.2px;letter-spacing:-.01em}
.sb-top span{font-family:var(--mono);font-size:10.5px;color:#8A94A6}
.sb-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed #EDF2F9}
.sb-row:nth-of-type(3){border-bottom:1px dashed #EDF2F9}
.sb-row div b{display:block;font-size:12.8px;font-weight:600;line-height:1.4}
.sb-row div span{display:block;margin-top:2px;font-family:var(--mono);font-size:10.2px;color:#8A94A6}
.sb-row i{flex-shrink:0;padding:4px 9px;border-radius:999px;background:#F1F5FA;font-style:normal;font-family:var(--mono);font-size:10.5px;color:#5B6678;white-space:nowrap}
.sb-row i.low{background:#FFF3E6;color:#A85B0B}
.sb-row i.out{background:#FDECEC;color:#AE2027}
.sb-row i.ok{background:#EAF7EF;color:#1C7541}
.sb-foot{display:flex;align-items:center;gap:8px;margin-top:11px;font-size:10.5px;line-height:1.6;color:#7C889B}
.sb-foot i{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--fr);box-shadow:0 0 0 3px rgba(var(--fr-rgb),.13)}

@media (max-width:880px){
  .rc-paper,.sz-card,.sb-card,.tb-board,.qc-box,.mc-card{max-width:520px;margin-left:auto;margin-right:auto}
}
@media (max-width:560px){
  .rc-paper,.sz-card,.sb-card{padding:16px 16px 15px;border-radius:12px}
  .rc-head b{font-size:14.5px}
  .rc-row{grid-template-columns:1fr 66px 58px}
  .rc-sum b{font-size:23px}
  .tb-grid{grid-template-columns:repeat(3,1fr);gap:7px}
  .tb-t{padding:9px 6px}
  .tb-t b{font-size:12.5px}
  .tb-t i{font-size:10.5px}
  .qc-no{font-size:52px}
  .mc-card{padding:18px 18px 16px}
  .mc-balance b{font-size:32px}
  .sz-head,.sz-row{grid-template-columns:52px repeat(4,1fr);gap:5px}
  .sz-row>span{font-size:10.5px}
}

/* 76-INDUSTRIES:CSS:BEGIN */
/* ==========================================================================
   76 个细分行业 · 行业识别色（由 tools/gen_industries.py 生成，勿手改）
   ========================================================================== */
body.theme-buffet{--fr:#C8270E;--fr-2:#7C1809;--fr-l:#FBEEEC;--fr-line:#F5D8D4;--fr-rgb:200,39,14;--fr-soft:#DF8273;--fr-glow:#D3523E;--fr-glow-rgb:211,82,62;--fr-bar:#D76351;--fr-deep:#2D1517}
body.theme-buffet .ih-hero h1 em{background-image:linear-gradient(100deg,#ECB6AD,var(--fr-soft))}
body.theme-malatang{--fr:#DB420F;--fr-2:#8F2B0A;--fr-l:#FCF0EC;--fr-line:#F9DDD4;--fr-rgb:219,66,15;--fr-soft:#EA9174;--fr-glow:#E2683F;--fr-glow-rgb:226,104,63;--fr-bar:#E57752;--fr-deep:#311A17}
body.theme-malatang .ih-hero h1 em{background-image:linear-gradient(100deg,#F3BFAD,var(--fr-soft))}
body.theme-noodle{--fr:#D9590F;--fr-2:#8D3A0A;--fr-l:#FCF2EC;--fr-line:#F8E1D4;--fr-rgb:217,89,15;--fr-soft:#E99F74;--fr-glow:#E17A3F;--fr-glow-rgb:225,122,63;--fr-bar:#E48752;--fr-deep:#301F17}
body.theme-noodle .ih-hero h1 em{background-image:linear-gradient(100deg,#F2C7AD,var(--fr-soft))}
body.theme-dumpling{--fr:#CE2D0E;--fr-2:#821C09;--fr-l:#FBEEEC;--fr-line:#F6D9D4;--fr-rgb:206,45,14;--fr-soft:#E38573;--fr-glow:#D8573E;--fr-glow-rgb:216,87,62;--fr-bar:#DC6851;--fr-deep:#2E1617}
body.theme-dumpling .ih-hero h1 em{background-image:linear-gradient(100deg,#EEB8AD,var(--fr-soft))}
body.theme-fried{--fr:#DB490F;--fr-2:#8F300A;--fr-l:#FCF0EC;--fr-line:#F9DED4;--fr-rgb:219,73,15;--fr-soft:#EA9574;--fr-glow:#E26D3F;--fr-glow-rgb:226,109,63;--fr-bar:#E57C52;--fr-deep:#311B17}
body.theme-fried .ih-hero h1 em{background-image:linear-gradient(100deg,#F3C1AD,var(--fr-soft))}
body.theme-burger{--fr:#DB610F;--fr-2:#8F3F0A;--fr-l:#FCF2EC;--fr-line:#F9E3D4;--fr-rgb:219,97,15;--fr-soft:#EAA374;--fr-glow:#E2813F;--fr-glow-rgb:226,129,63;--fr-bar:#E58D52;--fr-deep:#312017}
body.theme-burger .ih-hero h1 em{background-image:linear-gradient(100deg,#F3C9AD,var(--fr-soft))}
body.theme-porkrice{--fr:#D3360F;--fr-2:#87230A;--fr-l:#FBEFEC;--fr-line:#F7DBD4;--fr-rgb:211,54,15;--fr-soft:#E58A74;--fr-glow:#DC5E3F;--fr-glow-rgb:220,94,63;--fr-bar:#DF6E52;--fr-deep:#2F1817}
body.theme-porkrice .ih-hero h1 em{background-image:linear-gradient(100deg,#F0BBAD,var(--fr-soft))}
body.theme-braise{--fr:#C8490E;--fr-2:#7C2D09;--fr-l:#FBF0EC;--fr-line:#F5DED4;--fr-rgb:200,73,14;--fr-soft:#DF9573;--fr-glow:#D36D3E;--fr-glow-rgb:211,109,62;--fr-bar:#D77C51;--fr-deep:#2D1B17}
body.theme-braise .ih-hero h1 em{background-image:linear-gradient(100deg,#ECC1AD,var(--fr-soft))}
body.theme-luosifen{--fr:#DB670F;--fr-2:#8F430A;--fr-l:#FCF3EC;--fr-line:#F9E4D4;--fr-rgb:219,103,15;--fr-soft:#EAA774;--fr-glow:#E2853F;--fr-glow-rgb:226,133,63;--fr-bar:#E59252;--fr-deep:#312117}
body.theme-luosifen .ih-hero h1 em{background-image:linear-gradient(100deg,#F3CBAD,var(--fr-soft))}
body.theme-ricenoodle{--fr:#D93E0F;--fr-2:#8D280A;--fr-l:#FCF0EC;--fr-line:#F8DCD4;--fr-rgb:217,62,15;--fr-soft:#E98F74;--fr-glow:#E1653F;--fr-glow-rgb:225,101,63;--fr-bar:#E47452;--fr-deep:#301917}
body.theme-ricenoodle .ih-hero h1 em{background-image:linear-gradient(100deg,#F2BDAD,var(--fr-soft))}
body.theme-congee{--fr:#CE510E;--fr-2:#823309;--fr-l:#FBF1EC;--fr-line:#F6E0D4;--fr-rgb:206,81,14;--fr-soft:#E39A73;--fr-glow:#D8743E;--fr-glow-rgb:216,116,62;--fr-bar:#DC8251;--fr-deep:#2E1D17}
body.theme-congee .ih-hero h1 em{background-image:linear-gradient(100deg,#EEC4AD,var(--fr-soft))}
body.theme-roujiamo{--fr:#DB2E0F;--fr-2:#8F1E0A;--fr-l:#FCEEEC;--fr-line:#F9D9D4;--fr-rgb:219,46,15;--fr-soft:#EA8674;--fr-glow:#E2583F;--fr-glow-rgb:226,88,63;--fr-bar:#E56952;--fr-deep:#311617}
body.theme-roujiamo .ih-hero h1 em{background-image:linear-gradient(100deg,#F3B8AD,var(--fr-soft))}
body.theme-braisedpork{--fr:#DB460F;--fr-2:#8F2E0A;--fr-l:#FCF0EC;--fr-line:#F9DED4;--fr-rgb:219,70,15;--fr-soft:#EA9474;--fr-glow:#E26B3F;--fr-glow-rgb:226,107,63;--fr-bar:#E57A52;--fr-deep:#311B17}
body.theme-braisedpork .ih-hero h1 em{background-image:linear-gradient(100deg,#F3C0AD,var(--fr-soft))}
body.theme-cqnoodle{--fr:#D35A0F;--fr-2:#873A0A;--fr-l:#FBF2EC;--fr-line:#F7E1D4;--fr-rgb:211,90,15;--fr-soft:#E59F74;--fr-glow:#DC7B3F;--fr-glow-rgb:220,123,63;--fr-bar:#DF8852;--fr-deep:#2F1F17}
body.theme-cqnoodle .ih-hero h1 em{background-image:linear-gradient(100deg,#F0C7AD,var(--fr-soft))}
body.theme-donkey{--fr:#C8300E;--fr-2:#7C1E09;--fr-l:#FBEEEC;--fr-line:#F5DAD4;--fr-rgb:200,48,14;--fr-soft:#DF8773;--fr-glow:#D3593E;--fr-glow-rgb:211,89,62;--fr-bar:#D76A51;--fr-deep:#2D1617}
body.theme-donkey .ih-hero h1 em{background-image:linear-gradient(100deg,#ECB9AD,var(--fr-soft))}
body.theme-shengjian{--fr:#DB4C0F;--fr-2:#8F310A;--fr-l:#FCF1EC;--fr-line:#F9DFD4;--fr-rgb:219,76,15;--fr-soft:#EA9774;--fr-glow:#E2703F;--fr-glow-rgb:226,112,63;--fr-bar:#E57E52;--fr-deep:#311C17}
body.theme-shengjian .ih-hero h1 em{background-image:linear-gradient(100deg,#F3C2AD,var(--fr-soft))}
body.theme-jianbing{--fr:#D9630F;--fr-2:#8D400A;--fr-l:#FCF3EC;--fr-line:#F8E3D4;--fr-rgb:217,99,15;--fr-soft:#E9A574;--fr-glow:#E1823F;--fr-glow-rgb:225,130,63;--fr-bar:#E48F52;--fr-deep:#302117}
body.theme-jianbing .ih-hero h1 em{background-image:linear-gradient(100deg,#F2CAAD,var(--fr-soft))}
body.theme-shaxian{--fr:#CE380E;--fr-2:#822309;--fr-l:#FBEFEC;--fr-line:#F6DBD4;--fr-rgb:206,56,14;--fr-soft:#E38C73;--fr-glow:#D8603E;--fr-glow-rgb:216,96,62;--fr-bar:#DC7051;--fr-deep:#2E1817}
body.theme-shaxian .ih-hero h1 em{background-image:linear-gradient(100deg,#EEBBAD,var(--fr-soft))}
body.theme-xiangguo{--fr:#DB530F;--fr-2:#8F360A;--fr-l:#FCF1EC;--fr-line:#F9E0D4;--fr-rgb:219,83,15;--fr-soft:#EA9B74;--fr-glow:#E2753F;--fr-glow-rgb:226,117,63;--fr-bar:#E58352;--fr-deep:#311D17}
body.theme-xiangguo .ih-hero h1 em{background-image:linear-gradient(100deg,#F3C5AD,var(--fr-soft))}
body.theme-boxmeal{--fr:#DB2A0F;--fr-2:#8F1B0A;--fr-l:#FCEEEC;--fr-line:#F9D9D4;--fr-rgb:219,42,15;--fr-soft:#EA8374;--fr-glow:#E2553F;--fr-glow-rgb:226,85,63;--fr-bar:#E56652;--fr-deep:#311517}
body.theme-boxmeal .ih-hero h1 em{background-image:linear-gradient(100deg,#F3B7AD,var(--fr-soft))}
body.theme-hotpot{--fr:#992A2E;--fr-2:#59181B;--fr-l:#F7EEEE;--fr-line:#EDD9D9;--fr-rgb:153,42,46;--fr-soft:#C48386;--fr-glow:#AD5558;--fr-glow-rgb:173,85,88;--fr-bar:#B66669;--fr-deep:#23151D}
body.theme-hotpot .ih-hero h1 em{background-image:linear-gradient(100deg,#DCB7B8,var(--fr-soft))}
body.theme-bbq{--fr:#903027;--fr-2:#501B16;--fr-l:#F6EEEE;--fr-line:#EBDAD8;--fr-rgb:144,48,39;--fr-soft:#BF8782;--fr-glow:#A65952;--fr-glow-rgb:166,89,82;--fr-bar:#AF6A63;--fr-deep:#22161C}
body.theme-bbq .ih-hero h1 em{background-image:linear-gradient(100deg,#D9B9B6,var(--fr-soft))}
body.theme-kaorou{--fr:#A82E3B;--fr-2:#681C25;--fr-l:#F8EEEF;--fr-line:#EFD9DC;--fr-rgb:168,46,59;--fr-soft:#CD868D;--fr-glow:#B95862;--fr-glow-rgb:185,88,98;--fr-bar:#C06972;--fr-deep:#261620}
body.theme-kaorou .ih-hero h1 em{background-image:linear-gradient(100deg,#E1B8BC,var(--fr-soft))}
body.theme-chuanchuan{--fr:#9E2B2B;--fr-2:#5E1A1A;--fr-l:#F7EEEE;--fr-line:#EED9D9;--fr-rgb:158,43,43;--fr-soft:#C78484;--fr-glow:#B15555;--fr-glow-rgb:177,85,85;--fr-bar:#B96666;--fr-deep:#24151D}
body.theme-chuanchuan .ih-hero h1 em{background-image:linear-gradient(100deg,#DEB7B7,var(--fr-soft))}
body.theme-dongbei{--fr:#943528;--fr-2:#541E17;--fr-l:#F6EFEE;--fr-line:#ECDBD8;--fr-rgb:148,53,40;--fr-soft:#C18A82;--fr-glow:#A95D53;--fr-glow-rgb:169,93,83;--fr-bar:#B26E64;--fr-deep:#22171C}
body.theme-dongbei .ih-hero h1 em{background-image:linear-gradient(100deg,#DBBAB6,var(--fr-soft))}
body.theme-hunan{--fr:#AC2F3A;--fr-2:#6C1D24;--fr-l:#F8EEEF;--fr-line:#F0DADC;--fr-rgb:172,47,58;--fr-soft:#CF868D;--fr-glow:#BD5961;--fr-glow-rgb:189,89,97;--fr-bar:#C36971;--fr-deep:#271620}
body.theme-hunan .ih-hero h1 em{background-image:linear-gradient(100deg,#E3B8BC,var(--fr-soft))}
body.theme-sichuan{--fr:#A3302C;--fr-2:#631D1B;--fr-l:#F8EEEE;--fr-line:#EEDAD9;--fr-rgb:163,48,44;--fr-soft:#CA8785;--fr-glow:#B55956;--fr-glow-rgb:181,89,86;--fr-bar:#BD6A67;--fr-deep:#25161D}
body.theme-sichuan .ih-hero h1 em{background-image:linear-gradient(100deg,#E0B9B7,var(--fr-soft))}
body.theme-cantonese{--fr:#993A2A;--fr-2:#592218;--fr-l:#F7EFEE;--fr-line:#EDDCD9;--fr-rgb:153,58,42;--fr-soft:#C48D83;--fr-glow:#AD6155;--fr-glow-rgb:173,97,85;--fr-bar:#B67166;--fr-deep:#23181C}
body.theme-cantonese .ih-hero h1 em{background-image:linear-gradient(100deg,#DCBCB7,var(--fr-soft))}
body.theme-jiangxi{--fr:#90272D;--fr-2:#501619;--fr-l:#F6EEEE;--fr-line:#EBD8D9;--fr-rgb:144,39,45;--fr-soft:#BF8285;--fr-glow:#A65257;--fr-glow-rgb:166,82,87;--fr-bar:#AF6368;--fr-deep:#22151D}
body.theme-jiangxi .ih-hero h1 em{background-image:linear-gradient(100deg,#D9B6B8,var(--fr-soft))}
body.theme-farmhouse{--fr:#A8362E;--fr-2:#68211C;--fr-l:#F8EFEE;--fr-line:#EFDBD9;--fr-rgb:168,54,46;--fr-soft:#CD8A86;--fr-glow:#B95E58;--fr-glow-rgb:185,94,88;--fr-bar:#C06E69;--fr-deep:#26181D}
body.theme-farmhouse .ih-hero h1 em{background-image:linear-gradient(100deg,#E1BBB8,var(--fr-soft))}
body.theme-japanese{--fr:#9E2B3A;--fr-2:#5E1A22;--fr-l:#F7EEEF;--fr-line:#EED9DC;--fr-rgb:158,43,58;--fr-soft:#C7848D;--fr-glow:#B15561;--fr-glow-rgb:177,85,97;--fr-bar:#B96671;--fr-deep:#241520}
body.theme-japanese .ih-hero h1 em{background-image:linear-gradient(100deg,#DEB7BC,var(--fr-soft))}
body.theme-pizza{--fr:#94282A;--fr-2:#541718;--fr-l:#F6EEEE;--fr-line:#ECD8D9;--fr-rgb:148,40,42;--fr-soft:#C18283;--fr-glow:#A95355;--fr-glow-rgb:169,83,85;--fr-bar:#B26466;--fr-deep:#22151C}
body.theme-pizza .ih-hero h1 em{background-image:linear-gradient(100deg,#DBB6B7,var(--fr-soft))}
body.theme-crayfish{--fr:#AC3C2F;--fr-2:#6C261D;--fr-l:#F8EFEE;--fr-line:#F0DCDA;--fr-rgb:172,60,47;--fr-soft:#CF8E86;--fr-glow:#BD6359;--fr-glow-rgb:189,99,89;--fr-bar:#C37369;--fr-deep:#27191D}
body.theme-crayfish .ih-hero h1 em{background-image:linear-gradient(100deg,#E3BDB8,var(--fr-soft))}
body.theme-market{--fr:#31943E;--fr-2:#1D5724;--fr-l:#EFF6F0;--fr-line:#DAECDC;--fr-rgb:49,148,62;--fr-soft:#88C18F;--fr-glow:#5AA965;--fr-glow-rgb:90,169,101;--fr-bar:#6BB274;--fr-deep:#0F2A20}
body.theme-market .ih-hero h1 em{background-image:linear-gradient(100deg,#B9DBBD,var(--fr-soft))}
body.theme-fruit{--fr:#2D8A46;--fr-2:#194C27;--fr-l:#EEF6F0;--fr-line:#D9EADE;--fr-rgb:45,138,70;--fr-soft:#85BB94;--fr-glow:#57A16B;--fr-glow-rgb:87,161,107;--fr-bar:#68AB7A;--fr-deep:#0E2822}
body.theme-fruit .ih-hero h1 em{background-image:linear-gradient(100deg,#B8D7C0,var(--fr-soft))}
body.theme-snack{--fr:#2B834C;--fr-2:#174628;--fr-l:#EEF5F1;--fr-line:#D9E9DF;--fr-rgb:43,131,76;--fr-soft:#84B797;--fr-glow:#559C70;--fr-glow-rgb:85,156,112;--fr-bar:#66A67E;--fr-deep:#0D2723}
body.theme-snack .ih-hero h1 em{background-image:linear-gradient(100deg,#B7D5C2,var(--fr-soft))}
body.theme-snackstore{--fr:#329844;--fr-2:#1E5B29;--fr-l:#EFF7F0;--fr-line:#DAECDD;--fr-rgb:50,152,68;--fr-soft:#88C393;--fr-glow:#5BAD69;--fr-glow-rgb:91,173,105;--fr-bar:#6BB578;--fr-deep:#0F2B22}
body.theme-snackstore .ih-hero h1 em{background-image:linear-gradient(100deg,#B9DCBF,var(--fr-soft))}
body.theme-communitymart{--fr:#2F8F4B;--fr-2:#1B522B;--fr-l:#EEF6F1;--fr-line:#DAEBDF;--fr-rgb:47,143,75;--fr-soft:#86BE97;--fr-glow:#59A56F;--fr-glow-rgb:89,165,111;--fr-bar:#69AE7D;--fr-deep:#0E2923}
body.theme-communitymart .ih-hero h1 em{background-image:linear-gradient(100deg,#B8D9C2,var(--fr-soft))}
body.theme-wetmarket{--fr:#2C8634;--fr-2:#18491C;--fr-l:#EEF5EF;--fr-line:#D9E9DA;--fr-rgb:44,134,52;--fr-soft:#85B989;--fr-glow:#569E5D;--fr-glow-rgb:86,158,93;--fr-bar:#67A86D;--fr-deep:#0E281E}
body.theme-wetmarket .ih-hero h1 em{background-image:linear-gradient(100deg,#B7D6BA,var(--fr-soft))}
body.theme-stall{--fr:#349D49;--fr-2:#20602C;--fr-l:#EFF7F0;--fr-line:#DAEDDE;--fr-rgb:52,157,73;--fr-soft:#89C695;--fr-glow:#5DB16D;--fr-glow-rgb:93,177,109;--fr-bar:#6DB87C;--fr-deep:#0F2C23}
body.theme-stall .ih-hero h1 em{background-image:linear-gradient(100deg,#BADEC1,var(--fr-soft))}
body.theme-deli{--fr:#319451;--fr-2:#1D572F;--fr-l:#EFF6F1;--fr-line:#DAECE0;--fr-rgb:49,148,81;--fr-soft:#88C19A;--fr-glow:#5AA974;--fr-glow-rgb:90,169,116;--fr-bar:#6BB282;--fr-deep:#0F2A24}
body.theme-deli .ih-hero h1 em{background-image:linear-gradient(100deg,#B9DBC4,var(--fr-soft))}
body.theme-delicatessen{--fr:#2D8A39;--fr-2:#194C20;--fr-l:#EEF6EF;--fr-line:#D9EADB;--fr-rgb:45,138,57;--fr-soft:#85BB8C;--fr-glow:#57A161;--fr-glow-rgb:87,161,97;--fr-bar:#68AB70;--fr-deep:#0E281F}
body.theme-delicatessen .ih-hero h1 em{background-image:linear-gradient(100deg,#B8D7BC,var(--fr-soft))}
body.theme-seafood{--fr:#2B8340;--fr-2:#174622;--fr-l:#EEF5F0;--fr-line:#D9E9DD;--fr-rgb:43,131,64;--fr-soft:#84B790;--fr-glow:#559C66;--fr-glow-rgb:85,156,102;--fr-bar:#66A675;--fr-deep:#0D2721}
body.theme-seafood .ih-hero h1 em{background-image:linear-gradient(100deg,#B7D5BE,var(--fr-soft))}
body.theme-drygoods{--fr:#329856;--fr-2:#1E5B33;--fr-l:#EFF7F1;--fr-line:#DAECE1;--fr-rgb:50,152,86;--fr-soft:#88C39D;--fr-glow:#5BAD78;--fr-glow-rgb:91,173,120;--fr-bar:#6BB585;--fr-deep:#0F2B25}
body.theme-drygoods .ih-hero h1 em{background-image:linear-gradient(100deg,#B9DCC6,var(--fr-soft))}
body.theme-meatshop{--fr:#2F8F3E;--fr-2:#1B5223;--fr-l:#EEF6F0;--fr-line:#DAEBDC;--fr-rgb:47,143,62;--fr-soft:#86BE8F;--fr-glow:#59A565;--fr-glow-rgb:89,165,101;--fr-bar:#69AE74;--fr-deep:#0E2920}
body.theme-meatshop .ih-hero h1 em{background-image:linear-gradient(100deg,#B8D9BD,var(--fr-soft))}
body.theme-cvs{--fr:#1D55B4;--fr-2:#12346E;--fr-l:#EDF1F9;--fr-line:#D6E0F2;--fr-rgb:29,85,180;--fr-soft:#7C9CD4;--fr-glow:#4A77C3;--fr-glow-rgb:74,119,195;--fr-bar:#5C85C9;--fr-deep:#0B1E38}
body.theme-cvs .ih-hero h1 em{background-image:linear-gradient(100deg,#B2C5E6,var(--fr-soft))}
body.theme-supermarket{--fr:#214BCA;--fr-2:#163184;--fr-l:#EDF1FB;--fr-line:#D7DFF5;--fr-rgb:33,75,202;--fr-soft:#7E97E0;--fr-glow:#4D6FD5;--fr-glow-rgb:77,111,213;--fr-bar:#5F7DD9;--fr-deep:#0B1C3C}
body.theme-supermarket .ih-hero h1 em{background-image:linear-gradient(100deg,#B4C2ED,var(--fr-soft))}
body.theme-liquor{--fr:#206AC4;--fr-2:#15447E;--fr-l:#EDF3FA;--fr-line:#D7E4F4;--fr-rgb:32,106,196;--fr-soft:#7EA9DD;--fr-glow:#4D88D0;--fr-glow-rgb:77,136,208;--fr-bar:#5E94D5;--fr-deep:#0B223B}
body.theme-liquor .ih-hero h1 em{background-image:linear-gradient(100deg,#B3CCEB,var(--fr-soft))}
body.theme-stationery{--fr:#1E52BA;--fr-2:#133374;--fr-l:#EDF1F9;--fr-line:#D6E0F3;--fr-rgb:30,82,186;--fr-soft:#7C9BD7;--fr-glow:#4B75C8;--fr-glow-rgb:75,117,200;--fr-bar:#5D82CD;--fr-deep:#0B1D39}
body.theme-stationery .ih-hero h1 em{background-image:linear-gradient(100deg,#B2C4E8,var(--fr-soft))}
body.theme-toys{--fr:#1C6AAF;--fr-2:#113F69;--fr-l:#EDF3F9;--fr-line:#D6E4F1;--fr-rgb:28,106,175;--fr-soft:#7BA9D1;--fr-glow:#4988BF;--fr-glow-rgb:73,136,191;--fr-bar:#5C94C5;--fr-deep:#0A2237}
body.theme-toys .ih-hero h1 em{background-image:linear-gradient(100deg,#B2CCE4,var(--fr-soft))}
body.theme-accessories{--fr:#2167CA;--fr-2:#164384;--fr-l:#EDF3FB;--fr-line:#D7E4F5;--fr-rgb:33,103,202;--fr-soft:#7EA7E0;--fr-glow:#4D85D5;--fr-glow-rgb:77,133,213;--fr-bar:#5F92D9;--fr-deep:#0B213C}
body.theme-accessories .ih-hero h1 em{background-image:linear-gradient(100deg,#B4CBED,var(--fr-soft))}
body.theme-beautyretail{--fr:#1F4FBF;--fr-2:#143279;--fr-l:#EDF1FA;--fr-line:#D7DFF3;--fr-rgb:31,79,191;--fr-soft:#7D99DA;--fr-glow:#4C72CC;--fr-glow-rgb:76,114,204;--fr-bar:#5E80D1;--fr-deep:#0B1D3A}
body.theme-beautyretail .ih-hero h1 em{background-image:linear-gradient(100deg,#B3C3E9,var(--fr-soft))}
body.theme-maternity{--fr:#1D69B4;--fr-2:#12406E;--fr-l:#EDF3F9;--fr-line:#D6E4F2;--fr-rgb:29,105,180;--fr-soft:#7CA8D4;--fr-glow:#4A87C3;--fr-glow-rgb:74,135,195;--fr-bar:#5C93C9;--fr-deep:#0B2238}
body.theme-maternity .ih-hero h1 em{background-image:linear-gradient(100deg,#B2CCE6,var(--fr-soft))}
body.theme-pharmacy{--fr:#2161CA;--fr-2:#163F84;--fr-l:#EDF2FB;--fr-line:#D7E3F5;--fr-rgb:33,97,202;--fr-soft:#7EA3E0;--fr-glow:#4D81D5;--fr-glow-rgb:77,129,213;--fr-bar:#5F8DD9;--fr-deep:#0B203C}
body.theme-pharmacy .ih-hero h1 em{background-image:linear-gradient(100deg,#B4C9ED,var(--fr-soft))}
body.theme-hardware{--fr:#204CC4;--fr-2:#15317E;--fr-l:#EDF1FA;--fr-line:#D7DFF4;--fr-rgb:32,76,196;--fr-soft:#7E97DD;--fr-glow:#4D70D0;--fr-glow-rgb:77,112,208;--fr-bar:#5E7ED5;--fr-deep:#0B1C3B}
body.theme-hardware .ih-hero h1 em{background-image:linear-gradient(100deg,#B3C2EB,var(--fr-soft))}
body.theme-pickup{--fr:#1E67BA;--fr-2:#134074;--fr-l:#EDF3F9;--fr-line:#D6E4F3;--fr-rgb:30,103,186;--fr-soft:#7CA7D7;--fr-glow:#4B85C8;--fr-glow-rgb:75,133,200;--fr-bar:#5D92CD;--fr-deep:#0B2139}
body.theme-pickup .ih-hero h1 em{background-image:linear-gradient(100deg,#B2CBE8,var(--fr-soft))}
body.theme-importfood{--fr:#1C50AF;--fr-2:#113069;--fr-l:#EDF1F9;--fr-line:#D6E0F1;--fr-rgb:28,80,175;--fr-soft:#7B9AD1;--fr-glow:#4973BF;--fr-glow-rgb:73,115,191;--fr-bar:#5C81C5;--fr-deep:#0A1D37}
body.theme-importfood .ih-hero h1 em{background-image:linear-gradient(100deg,#B2C4E4,var(--fr-soft))}
body.theme-milktea{--fr:#AA541D;--fr-2:#643211;--fr-l:#F8F1ED;--fr-line:#F0E0D6;--fr-rgb:170,84,29;--fr-soft:#CE9C7C;--fr-glow:#BB764A;--fr-glow-rgb:187,118,74;--fr-bar:#C2845C;--fr-deep:#271E1A}
body.theme-milktea .ih-hero h1 em{background-image:linear-gradient(100deg,#E2C5B2,var(--fr-soft))}
body.theme-fruittea{--fr:#A05F1B;--fr-2:#5A360F;--fr-l:#F7F2ED;--fr-line:#EEE2D6;--fr-rgb:160,95,27;--fr-soft:#C8A27B;--fr-glow:#B37F49;--fr-glow-rgb:179,127,73;--fr-bar:#BB8C5B;--fr-deep:#252019}
body.theme-fruittea .ih-hero h1 em{background-image:linear-gradient(100deg,#DFC9B1,var(--fr-soft))}
body.theme-coffee{--fr:#966719;--fr-2:#50370D;--fr-l:#F7F3ED;--fr-line:#ECE4D6;--fr-rgb:150,103,25;--fr-soft:#C2A77A;--fr-glow:#AB8547;--fr-glow-rgb:171,133,71;--fr-bar:#B39259;--fr-deep:#232119}
body.theme-coffee .ih-hero h1 em{background-image:linear-gradient(100deg,#DBCBB1,var(--fr-soft))}
body.theme-fruitbowl{--fr:#B05B1E;--fr-2:#6A3712;--fr-l:#F9F2ED;--fr-line:#F1E1D6;--fr-rgb:176,91,30;--fr-soft:#D1A07C;--fr-glow:#C07C4B;--fr-glow-rgb:192,124,75;--fr-bar:#C6895D;--fr-deep:#281F1A}
body.theme-fruitbowl .ih-hero h1 em{background-image:linear-gradient(100deg,#E4C7B2,var(--fr-soft))}
body.theme-juice{--fr:#A5661C;--fr-2:#5F3B10;--fr-l:#F8F3ED;--fr-line:#EFE3D6;--fr-rgb:165,102,28;--fr-soft:#CBA67B;--fr-glow:#B78549;--fr-glow-rgb:183,133,73;--fr-bar:#BE915C;--fr-deep:#26211A}
body.theme-juice .ih-hero h1 em{background-image:linear-gradient(100deg,#E0CBB2,var(--fr-soft))}
body.theme-bakery{--fr:#9B6F1A;--fr-2:#553D0E;--fr-l:#F7F3ED;--fr-line:#EDE5D6;--fr-rgb:155,111,26;--fr-soft:#C5AB7A;--fr-glow:#AF8C48;--fr-glow-rgb:175,140,72;--fr-bar:#B7975A;--fr-deep:#242319}
body.theme-bakery .ih-hero h1 em{background-image:linear-gradient(100deg,#DDCEB1,var(--fr-soft))}
body.theme-cake{--fr:#945219;--fr-2:#4E2B0D;--fr-l:#F6F1ED;--fr-line:#ECE0D6;--fr-rgb:148,82,25;--fr-soft:#C19B7A;--fr-glow:#A97547;--fr-glow-rgb:169,117,71;--fr-bar:#B28259;--fr-deep:#221D19}
body.theme-cake .ih-hero h1 em{background-image:linear-gradient(100deg,#DBC4B1,var(--fr-soft))}
body.theme-pastry{--fr:#AA6E1D;--fr-2:#644111;--fr-l:#F8F3ED;--fr-line:#F0E5D6;--fr-rgb:170,110,29;--fr-soft:#CEAB7C;--fr-glow:#BB8B4A;--fr-glow-rgb:187,139,74;--fr-bar:#C2975C;--fr-deep:#27231A}
body.theme-pastry .ih-hero h1 em{background-image:linear-gradient(100deg,#E2CEB2,var(--fr-soft))}
body.theme-dessert{--fr:#A0771B;--fr-2:#5A430F;--fr-l:#F7F4ED;--fr-line:#EEE7D6;--fr-rgb:160,119,27;--fr-soft:#C8B07B;--fr-glow:#B39249;--fr-glow-rgb:179,146,73;--fr-bar:#BB9D5B;--fr-deep:#252519}
body.theme-dessert .ih-hero h1 em{background-image:linear-gradient(100deg,#DFD1B1,var(--fr-soft))}
body.theme-icecream{--fr:#965619;--fr-2:#502E0D;--fr-l:#F7F1ED;--fr-line:#ECE1D6;--fr-rgb:150,86,25;--fr-soft:#C29D7A;--fr-glow:#AB7847;--fr-glow-rgb:171,120,71;--fr-bar:#B38559;--fr-deep:#231E19}
body.theme-icecream .ih-hero h1 em{background-image:linear-gradient(100deg,#DBC6B1,var(--fr-soft))}
body.theme-womenswear{--fr:#AB3F79;--fr-2:#6F294F;--fr-l:#F8F0F4;--fr-line:#F0DCE7;--fr-rgb:171,63,121;--fr-soft:#CE90B1;--fr-glow:#BC6594;--fr-glow-rgb:188,101,148;--fr-bar:#C3759F;--fr-deep:#27192C}
body.theme-womenswear .ih-hero h1 em{background-image:linear-gradient(100deg,#E2BED1,var(--fr-soft))}
body.theme-menswear{--fr:#A73E8C;--fr-2:#6B285A;--fr-l:#F8F0F6;--fr-line:#EFDCEA;--fr-rgb:167,62,140;--fr-soft:#CC8FBC;--fr-glow:#B965A3;--fr-glow-rgb:185,101,163;--fr-bar:#C074AC;--fr-deep:#261930}
body.theme-menswear .ih-hero h1 em{background-image:linear-gradient(100deg,#E1BDD8,var(--fr-soft))}
body.theme-kidswear{--fr:#9F3A79;--fr-2:#63244B;--fr-l:#F7EFF4;--fr-line:#EEDCE7;--fr-rgb:159,58,121;--fr-soft:#C78DB1;--fr-glow:#B26194;--fr-glow-rgb:178,97,148;--fr-bar:#BA719F;--fr-deep:#25182C}
body.theme-kidswear .ih-hero h1 em{background-image:linear-gradient(100deg,#DEBCD1,var(--fr-soft))}
body.theme-shoes{--fr:#963767;--fr-2:#5A213E;--fr-l:#F7EFF3;--fr-line:#ECDBE4;--fr-rgb:150,55,103;--fr-soft:#C28BA7;--fr-glow:#AB5F85;--fr-glow-rgb:171,95,133;--fr-bar:#B36F92;--fr-deep:#231829}
body.theme-shoes .ih-hero h1 em{background-image:linear-gradient(100deg,#DBBBCB,var(--fr-soft))}
body.theme-bags{--fr:#AB3F8B;--fr-2:#6F295B;--fr-l:#F8F0F6;--fr-line:#F0DCEA;--fr-rgb:171,63,139;--fr-soft:#CE90BC;--fr-glow:#BC65A2;--fr-glow-rgb:188,101,162;--fr-bar:#C375AB;--fr-deep:#271930}
body.theme-bags .ih-hero h1 em{background-image:linear-gradient(100deg,#E2BED8,var(--fr-soft))}
body.theme-beauty{--fr:#A33C78;--fr-2:#67264C;--fr-l:#F8EFF4;--fr-line:#EEDCE7;--fr-rgb:163,60,120;--fr-soft:#CA8EB1;--fr-glow:#B56393;--fr-glow-rgb:181,99,147;--fr-bar:#BD739E;--fr-deep:#25192C}
body.theme-beauty .ih-hero h1 em{background-image:linear-gradient(100deg,#E0BDD1,var(--fr-soft))}
body.theme-nail{--fr:#9A3966;--fr-2:#5E233F;--fr-l:#F7EFF3;--fr-line:#EDDBE3;--fr-rgb:154,57,102;--fr-soft:#C48CA6;--fr-glow:#AE6185;--fr-glow-rgb:174,97,133;--fr-bar:#B67091;--fr-deep:#241828}
body.theme-nail .ih-hero h1 em{background-image:linear-gradient(100deg,#DDBCCB,var(--fr-soft))}
body.theme-hair{--fr:#AB3F88;--fr-2:#6F2959;--fr-l:#F8F0F5;--fr-line:#F0DCEA;--fr-rgb:171,63,136;--fr-soft:#CE90BA;--fr-glow:#BC65A0;--fr-glow-rgb:188,101,160;--fr-bar:#C375A9;--fr-deep:#27192F}
body.theme-hair .ih-hero h1 em{background-image:linear-gradient(100deg,#E2BED7,var(--fr-soft))}
body.theme-wellness{--fr:#A73E78;--fr-2:#6B284D;--fr-l:#F8F0F4;--fr-line:#EFDCE7;--fr-rgb:167,62,120;--fr-soft:#CC8FB1;--fr-glow:#B96593;--fr-glow-rgb:185,101,147;--fr-bar:#C0749E;--fr-deep:#26192C}
body.theme-wellness .ih-hero h1 em{background-image:linear-gradient(100deg,#E1BDD1,var(--fr-soft))}
/* 76-INDUSTRIES:CSS:END */

/* ==========================================================================
   智慧餐饮方案页  (solution/food.html)
   订单汇聚卡 of- / 后厨看板 kd-，仅本页使用
   ========================================================================== */
body.theme-food{
  --fr:#C2410C;--fr-2:#8F2F08;--fr-l:#FDF1EA;--fr-line:#F4DACB;
  --fr-rgb:194,65,12;--fr-soft:#F2A882;--fr-glow:#FF8A4C;--fr-glow-rgb:255,138,76;
  --fr-bar:#FF9A5C;--fr-deep:#2A0D04;
}
body.theme-food .ih-hero h1 em{background-image:linear-gradient(100deg,#FFD3A8,var(--fr-soft))}
body.theme-food .cta h2 em{background-image:linear-gradient(100deg,#FFD7B0,#FF9A5C)}

/* ---------- 首屏：六个入口汇成一张单 ---------- */
.of-card{
  background:#F8FBFF;border-radius:18px;padding:20px 20px 16px;
  box-shadow:0 46px 84px -48px rgba(0,0,0,.92);color:var(--ink);
}
.of-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:12px;border-bottom:1px solid #E4EDF9}
.of-head b{font-size:13.5px;letter-spacing:-.01em}
.of-head span{font-family:var(--mono);font-size:11px;color:var(--muted)}
.of-src{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed #E9F1FB}
.of-src i{
  width:23px;height:23px;border-radius:7px;flex-shrink:0;display:grid;place-items:center;
  background:#EAF2FE;border:1px solid #DCE9FB;color:#5C7593;
  font-size:10.5px;font-style:normal;font-weight:600;line-height:1;
}
.of-src b{font-size:12.6px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.of-src span{margin-left:auto;font-family:var(--mono);font-size:10.8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.of-split{display:flex;align-items:center;gap:10px;margin:13px 0 11px}
.of-split::before,.of-split::after{content:"";height:1px;flex:1;background:#E4EDF9}
.of-split span{font-size:10.5px;font-weight:600;color:var(--fr);white-space:nowrap;letter-spacing:.02em}
.of-out{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:9px;background:#fff;border:1px solid #E4EDF9;margin-bottom:6px}
.of-out b{font-size:12.2px;font-weight:600;flex-shrink:0}
.of-out span{font-size:10.8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.of-out em{margin-left:auto;font-family:var(--mono);font-size:11.5px;font-style:normal;font-weight:600;color:var(--fr);flex-shrink:0}
.of-foot{margin-top:11px;text-align:center;font-size:10.8px;color:var(--muted);letter-spacing:.02em}

/* ---------- 后厨看板 ---------- */
.kd-board{
  position:relative;z-index:2;background:#F8FBFF;border-radius:14px;padding:17px 16px 14px;
  box-shadow:0 34px 60px -30px rgba(0,0,0,.78);color:var(--ink);
}
.kd-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:11px;border-bottom:1px solid #E3ECF8}
.kd-top b{font-size:12.6px;letter-spacing:-.01em}
.kd-top span{font-family:var(--mono);font-size:10.5px;color:var(--muted)}
.kd-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.kd-col-h{display:flex;align-items:center;justify-content:space-between;gap:4px;padding-bottom:6px;border-bottom:1px solid #E9F0FA;margin-bottom:7px;font-size:10.8px;font-weight:600;color:#4E6B8A}
.kd-col-h i{font-style:normal;font-family:var(--mono);font-size:9.5px;color:var(--fr);background:rgba(var(--fr-rgb),.10);padding:1px 5px;border-radius:5px}
.kd-tk{border-radius:8px;padding:7px 8px;background:#fff;border:1px solid #E4EDF9;margin-bottom:6px}
.kd-tk b{display:block;font-family:var(--mono);font-size:10.8px;color:var(--ink);letter-spacing:-.01em}
.kd-tk span{display:block;margin-top:3px;font-size:10.2px;line-height:1.45;color:var(--muted)}
.kd-tk em{display:block;margin-top:5px;font-family:var(--mono);font-size:9.8px;font-style:normal;color:#12A05C}
.kd-tk.warn em{color:#C9761C}
.kd-tk.late{border-color:#F3CFC8;background:#FEF6F4}
.kd-tk.late em{color:#C8270E}
.kd-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #E9F0FA}
.kd-legend span{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}
.kd-legend i{width:6px;height:6px;border-radius:50%;background:#12A05C;flex-shrink:0}
.kd-legend i.warn{background:#C9761C}
.kd-legend i.late{background:#C8270E}

@media (max-width:880px){
  .of-card{padding:18px 16px 14px}
  .kd-board{padding:15px 13px 12px}
  .kd-cols{gap:6px}
  .kd-tk{padding:6px 7px}
}
@media (max-width:560px){
  .of-card{border-radius:16px}
  .of-src b{font-size:12px}
  .of-src span{font-size:10px}
  .kd-col-h{font-size:10px}
  .kd-tk b{font-size:10.5px}
  .kd-tk span{font-size:9.8px}
  .kd-tk em{font-size:9.5px}
}

/* ==========================================================================
   商超零售方案页  (solution/retail.html)
   统一库存台账 iv- / 总部总览 st-，仅本页使用
   ========================================================================== */
body.theme-retail{
  --fr:#1F5FBF;--fr-2:#123A7A;--fr-l:#EDF2FC;--fr-line:#D5E1F6;
  --fr-rgb:31,95,191;--fr-soft:#7C9CD4;--fr-glow:#4C8BF0;--fr-glow-rgb:76,139,240;
  --fr-bar:#5C89E0;--fr-deep:#08152B;
}
body.theme-retail .ih-hero h1 em{background-image:linear-gradient(100deg,#B7CDF2,var(--fr-soft))}
body.theme-retail .cta h2 em{background-image:linear-gradient(100deg,#D6E4FF,#8FBAFB)}

/* ---------- 首屏：一个 SKU 的库存台账 ---------- */
.iv-card{
  background:#F8FBFF;border-radius:18px;padding:20px 20px 16px;
  box-shadow:0 46px 84px -48px rgba(0,0,0,.92);color:var(--ink);
}
.iv-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:12px;border-bottom:1px solid #E4EDF9}
.iv-head b{font-size:13.5px;letter-spacing:-.01em}
.iv-head span{font-family:var(--mono);font-size:10.5px;color:var(--muted)}

.iv-total{display:flex;align-items:baseline;gap:8px;margin:14px 0 11px}
.iv-total b{font-family:var(--mono);font-size:32px;line-height:1;letter-spacing:-.03em}
.iv-total span{font-size:11px;color:var(--muted)}
.iv-total em{
  margin-left:auto;font-style:normal;font-family:var(--mono);font-size:11px;font-weight:600;
  color:var(--fr);background:rgba(var(--fr-rgb),.09);padding:4px 9px;border-radius:6px;white-space:nowrap;
}

.iv-bar{display:flex;gap:2px;height:8px;border-radius:999px;overflow:hidden;background:#E7EFFA}
.iv-bar i{display:block;height:100%}
.iv-bar i.a{background:rgba(var(--fr-rgb),.30)}
.iv-bar i.b{background:rgba(var(--fr-rgb),.58)}
.iv-bar i.c{background:rgba(var(--fr-rgb),1)}

.iv-legend{display:flex;flex-wrap:wrap;gap:11px;margin-top:9px}
.iv-legend span{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:var(--muted)}
.iv-legend i{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.iv-legend i.a{background:rgba(var(--fr-rgb),.30)}
.iv-legend i.b{background:rgba(var(--fr-rgb),.58)}
.iv-legend i.c{background:rgba(var(--fr-rgb),1)}

.iv-split{display:flex;align-items:center;gap:10px;margin:15px 0 6px}
.iv-split::before,.iv-split::after{content:"";height:1px;flex:1;background:#E4EDF9}
.iv-split span{font-size:10.5px;font-weight:600;color:var(--fr);white-space:nowrap;letter-spacing:.02em}

.iv-row{
  display:grid;grid-template-columns:19px 1fr 44px 40px;align-items:center;gap:8px;
  padding:7px 0;border-bottom:1px dashed #E9F1FB;
}
.iv-row:last-of-type{border-bottom:0}
.iv-row i{
  width:18px;height:18px;border-radius:5px;display:grid;place-items:center;
  background:#EAF1FE;border:1px solid #DCE8FB;color:#5C7593;
  font-size:9.5px;font-style:normal;font-weight:600;line-height:1;
}
.iv-row b{font-size:12.2px;font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iv-row span{font-family:var(--mono);font-size:10.4px;color:var(--muted);text-align:right;white-space:nowrap}
.iv-row em{font-family:var(--mono);font-size:11.5px;font-style:normal;font-weight:600;color:var(--fr);text-align:right;white-space:nowrap}
.iv-row em.dn{color:#7D8FA8}
.iv-foot{margin-top:12px;text-align:center;font-size:10.8px;color:var(--muted);letter-spacing:.02em}

/* ---------- 总部总览 ---------- */
.st-board{
  position:relative;z-index:2;background:#F8FBFF;border-radius:14px;padding:17px 16px 14px;
  box-shadow:0 34px 60px -30px rgba(0,0,0,.78);color:var(--ink);
}
.st-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding-bottom:11px;border-bottom:1px solid #E3ECF8}
.st-top b{font-size:12.6px;letter-spacing:-.01em}
.st-top span{font-family:var(--mono);font-size:10.5px;color:var(--muted)}

.st-head{
  display:grid;grid-template-columns:1fr 66px 40px 30px;gap:6px;align-items:baseline;
  padding:10px 0 6px;font-size:9.8px;color:#93A6BE;letter-spacing:.04em;
  border-bottom:1px solid #E9F0FA;
}
.st-head span:not(:first-child){text-align:right}

.st-row{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:11px 0;border-bottom:1px dashed #E9F0FA;
}
.st-row b{display:block;font-size:12.2px;font-weight:600;color:var(--ink-2);letter-spacing:-.01em}
.st-row span{display:block;margin-top:3px;font-size:10.2px;color:var(--muted);white-space:nowrap}
.st-row span i{font-style:normal;font-family:var(--mono);font-weight:600}
.st-row span i.ok{color:#0E8A4C}
.st-row span i.warn{color:#C9761C}
.st-row span i.bad{color:#C8270E}
.st-row em{font-family:var(--mono);font-size:14px;font-style:normal;font-weight:600;color:var(--ink);white-space:nowrap;letter-spacing:-.02em}

.st-foot{margin-top:11px;padding-top:10px;border-top:1px solid #E9F0FA;font-size:10.4px;color:var(--muted);line-height:1.6}
.st-foot b{color:var(--fr);font-weight:600}

@media (max-width:880px){
  .iv-card{padding:18px 16px 14px}
  .st-board{padding:15px 13px 12px}
}
@media (max-width:560px){
  .iv-card{border-radius:16px}
  .iv-head b{font-size:13px}
  .iv-total b{font-size:27px}
  .iv-row b{font-size:11.8px}
  .iv-row span{font-size:9.8px}
  .iv-row em{font-size:11px}
  .st-row b{font-size:11.8px}
  .st-row em{font-size:13px}
  .st-row span{font-size:9.8px}
}

/* ==========================================================================
   关于页 · 软件著作权证书墙  (about.html)
   ========================================================================== */
.cert-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:44px}
.cert-wall--4{grid-template-columns:repeat(4,1fr)}
#certification{scroll-margin-top:110px}
.cert-doc{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;transition:.35s var(--ease);cursor:zoom-in;
}
.cert-doc:hover{transform:translateY(-4px);box-shadow:var(--sh-sm);border-color:#CFE2FA}
.cert-doc:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.cert-doc-img{
  position:relative;display:block;padding:11px;
  background:linear-gradient(160deg,#FCFDFF,#EAF1FB);
}
.cert-doc-img img{
  display:block;width:100%;height:auto;background:#fff;
  border:1px solid #E3EDF9;box-shadow:0 8px 16px -10px rgba(11,60,120,.45);
}
.cert-doc-img::after{
  content:"放大查看";position:absolute;inset:11px;
  display:grid;place-items:center;border-radius:2px;
  background:rgba(6,20,38,.44);color:#fff;font-size:12.5px;letter-spacing:.06em;
  opacity:0;transition:.3s var(--ease);
}
.cert-doc:hover .cert-doc-img::after{opacity:1}
.cert-doc-b{padding:12px 14px 15px;border-top:1px solid #F1F6FD}
.cert-doc-b b{display:block;font-size:12.5px;line-height:1.55;font-weight:600;color:var(--ink);letter-spacing:-.005em;min-height:3.1em}
.cert-doc-b span{display:block;margin-top:6px;font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.01em}

/* 两项非软著资质：有扫描件，做成与证书墙同语言的横向文档卡 */
.cert-extra{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.cert-x{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;transition:.35s var(--ease);cursor:zoom-in;
}
.cert-x:hover{transform:translateY(-4px);box-shadow:var(--sh-sm);border-color:#CFE2FA}
.cert-x:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.cert-x-img{
  position:relative;display:block;aspect-ratio:16 / 11;padding:11px;
  background:linear-gradient(160deg,#FCFDFF,#EAF1FB);
}
.cert-x-img picture{position:absolute;inset:11px;display:block}
.cert-x-img img{
  display:block;width:100%;height:100%;object-fit:contain;background:#fff;
  border:1px solid #E3EDF9;box-shadow:0 8px 16px -10px rgba(11,60,120,.45);
}
.cert-x-img::after{
  content:"放大查看";position:absolute;inset:11px;
  display:grid;place-items:center;border-radius:2px;
  background:rgba(6,20,38,.44);color:#fff;font-size:12.5px;letter-spacing:.06em;
  opacity:0;transition:.3s var(--ease);
}
.cert-x:hover .cert-x-img::after{opacity:1}
.cert-x-b{flex:1;padding:12px 14px 15px;border-top:1px solid #F1F6FD}
.cert-x-b b{display:block;font-size:12.5px;line-height:1.55;font-weight:600;color:var(--ink);letter-spacing:-.005em}
.cert-x-b span{display:block;margin-top:6px;font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.01em}

/* 证书放大层 */
.cert-lb{position:fixed;inset:0;z-index:320;display:none;align-items:center;justify-content:center;padding:28px 20px}
.cert-lb.is-open{display:flex}
.cert-lb-bg{position:absolute;inset:0;background:rgba(6,13,25,.8);backdrop-filter:blur(8px);animation:fadeUp .3s var(--ease)}
.cert-lb-box{
  position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px;
  max-width:min(920px,92vw);animation:riseIn .4s var(--ease);cursor:zoom-out;
}
.cert-lb-box img{
  display:block;width:auto;height:auto;max-width:100%;max-height:calc(88vh - 64px);
  border-radius:5px;background:#fff;box-shadow:0 50px 90px -34px rgba(0,0,0,.85);
}
.cert-lb-cap{max-width:640px;text-align:center;font-size:12.5px;line-height:1.75;color:rgba(255,255,255,.66)}
.cert-lb-cap b{color:#fff;font-weight:600}
.cert-lb-cap em{font-style:normal;font-family:var(--mono);color:rgba(255,255,255,.86)}
.cert-lb-close{
  position:fixed;top:20px;right:20px;z-index:3;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;
  display:grid;place-items:center;transition:.2s;backdrop-filter:blur(6px);
}
.cert-lb-close:hover{background:rgba(255,255,255,.24)}
.cert-lb-close svg{width:16px;height:16px}

@media (max-width:1080px){
  .cert-wall{grid-template-columns:repeat(3,1fr);gap:16px}
  .cert-wall--4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .cert-wall{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:34px}
  .cert-doc-b{padding:11px 12px 13px}
  .cert-doc-b b{font-size:12px}
  .cert-doc-b span{font-size:10px}
  .cert-extra{grid-template-columns:1fr;gap:12px;margin-top:14px}
  .cert-x-img{aspect-ratio:4 / 3;padding:9px}
  .cert-x-img::after{display:none}
  .cert-x-b{padding:11px 12px 13px}
  .cert-x-b b{font-size:12px}
  .cert-x-b span{font-size:10px}
  .cert-doc-img::after{display:none}
  .cert-lb{padding:60px 14px 24px}
  .cert-lb-cap{font-size:11.5px}
}
