:root{
    --primary:#3b82f6;
    --primary-600:#2563eb;
    --primary-700:#1d4ed8;
    --bg:#0b1220;
    --card:#0f1b31;
    --text:#e5e7eb;
    --muted:#94a3b8;
    --ring:rgba(59,130,246,.35);
    --success:#22c55e;
    --warning:#f59e0b;
    --danger:#ef4444;
    --glass:rgba(255,255,255,.06);
    --glass-border:rgba(99,102,241,.20);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,"Noto Sans CJK SC",sans-serif;color:var(--text);scroll-behavior:smooth;background-color:var(--bg);background-image:linear-gradient(180deg,#060a16 0%,#0b1220 35%,#0e172a 100%);min-height:100%}
a{color:var(--primary-600);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 24px}

/* 全局背景动效 */
body::before{
    content:"";
    position:fixed;
    inset:-20%;
    z-index:-2;
    background:
        radial-gradient(520px 240px at 18% 12%, rgba(59,130,246,.16), transparent 70%),
        radial-gradient(640px 260px at 82% 8%, rgba(34,197,94,.10), transparent 70%),
        radial-gradient(780px 320px at 50% 92%, rgba(129,140,248,.12), transparent 75%);
    filter:saturate(1.1);
    animation:bodyAura 26s ease-in-out infinite alternate;
    pointer-events:none;
}
body::after{
    content:"";
    position:fixed;
    inset:-10%;
    z-index:-3;
    background:
        radial-gradient(800px 320px at 10% 85%, rgba(59,130,246,.08), transparent 70%),
        radial-gradient(620px 260px at 90% 20%, rgba(34,197,94,.06), transparent 70%);
    mix-blend-mode:screen;
    opacity:.7;
    animation:bodyDrift 38s ease-in-out infinite alternate;
    pointer-events:none;
}
@keyframes bodyAura{
    0%{transform:translate3d(-2%, -2%, 0) scale(1);}
    50%{transform:translate3d(1%, 3%, 0) scale(1.04);}
    100%{transform:translate3d(3%, -1%, 0) scale(1.02);}
}
@keyframes bodyDrift{
    0%{transform:translate3d(0,0,0) scale(1);}
    100%{transform:translate3d(-2%,2%,0) scale(1.06);}
}

/* 顶部滚动进度条 */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--primary),#22c55e);z-index:100}

/* 顶部导航（毛玻璃 + 高光） */
.navbar{position:sticky;top:0;z-index:90;background:rgba(11,18,32,.5);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid rgba(99,102,241,.08)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:12px}
.brand-badge{width:64px;height:64px;border-radius:14px}
.brand-title{font-weight:800;letter-spacing:.3px}
.nav-links{display:flex;gap:22px;align-items:center}
.nav-links a{font-size:14px;color:var(--text);opacity:.92}
.nav-cta{display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:12px;border:1px solid transparent;font-weight:700;cursor:pointer;transition:.2s all ease}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-700));color:#fff;box-shadow:0 10px 22px var(--ring)}
.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn-ghost{background:transparent;border-color:rgba(99,102,241,.25)}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}
.hamburger{display:none;flex-direction:column;gap:5px;border:0;background:transparent;padding:0;cursor:pointer}
.hamburger span{width:26px;height:2px;background:var(--text);opacity:.85;border-radius:2px}
@media (max-width:1024px){
    .nav-links{display:none}
    .hamburger{display:flex}
}

/* 移动端全屏菜单 */
.mobile-menu{position:fixed;inset:0;background:rgba(8,13,26,.82);backdrop-filter:blur(16px);z-index:95;display:none}
.mobile-menu.show{display:block}
.mobile-inner{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px}
.mobile-inner a{font-size:20px;color:#fff}

/* 英雄区（全屏，动态渐变与漂浮光斑） */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;overflow:hidden;padding:90px 0 60px}
.mesh{
    position:absolute;inset:-20%;background:
      radial-gradient(600px 220px at 80% 10%, rgba(59,130,246,.18), transparent 60%),
      radial-gradient(800px 240px at 0% 0%, rgba(34,197,94,.12), transparent 60%),
      radial-gradient(900px 320px at 100% 100%, rgba(99,102,241,.16), transparent 60%);
    animation:meshPulse 14s ease-in-out infinite alternate;
    z-index:-2;
}
@keyframes meshPulse{0%{filter:hue-rotate(0deg) saturate(1)}100%{filter:hue-rotate(15deg) saturate(1.2)}}
.orb{position:absolute;filter:blur(32px);opacity:.55;border-radius:50%;z-index:-1}
.orb.a{width:420px;height:420px;background:radial-gradient(circle at 30% 30%, rgba(59,130,246,.55), transparent 60%);top:5%;left:-8%;animation:float 14s ease-in-out infinite}
.orb.b{width:360px;height:360px;background:radial-gradient(circle at 60% 40%, rgba(34,197,94,.45), transparent 60%);bottom:-6%;right:6%;animation:float 16s ease-in-out infinite reverse}
.orb.c{width:300px;height:300px;background:radial-gradient(circle at 50% 50%, rgba(99,102,241,.45), transparent 60%);top:18%;right:28%;animation:float 18s ease-in-out infinite}
@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-16px)}100%{transform:translateY(0)}}

.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center}
.kicker{display:inline-flex;gap:8px;align-items:center;padding:7px 12px;border-radius:999px;background:rgba(59,130,246,.12);color:var(--primary-600);font-weight:800;font-size:12px}
.hero h1{font-size:54px;line-height:1.05;margin:14px 0 10px;background:linear-gradient(135deg,#fff,rgba(255,255,255,.8));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{font-size:16px;color:var(--muted);max-width:720px}
.hero-ctas{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap}

.glass{background:var(--glass);border:1px solid var(--glass-border);border-radius:16px;padding:14px;backdrop-filter:blur(10px)}
.stat{font-size:34px;font-weight:900}
.muted{color:var(--muted)}
@media (max-width:1024px){
    .hero-grid{grid-template-columns:1fr}
    .hero h1{font-size:38px}
}
/* === Hero Metrics Ribbon（横向徽章带） ============================= */
.metrics-ribbon{
  grid-column:1 / -1;
  margin-top:18px;
}
.ribbon{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.metric-pill{
  position:relative; overflow:hidden;
  display:flex; align-items:center; gap:12px;
  padding:14px 16px; border-radius:16px;
  background:var(--glass);
  border:1px solid var(--glass-border);
  backdrop-filter:blur(10px);
  transition:transform .22s ease, box-shadow .22s ease;
  box-shadow:0 10px 26px rgba(0,0,0,.22);
}
.metric-pill:hover{ transform:translateY(-3px); box-shadow:0 16px 36px rgba(0,0,0,.28); }
.metric-pill:before{
  content:""; position:absolute; inset:-30% -20%;
  background:
    radial-gradient(220px 120px at 0% 0%, rgba(59,130,246,.22), transparent 60%),
    radial-gradient(240px 120px at 100% 100%, rgba(34,197,94,.16), transparent 60%);
  filter:blur(22px); opacity:.75; pointer-events:none;
}

.metric-pill .num{
  min-width:48px; text-align:center; line-height:1;
  font-size:34px; font-weight:900;
  background:linear-gradient(135deg,#fff,rgba(255,255,255,.8));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.metric-pill .txt .k{font-size:12px; letter-spacing:.3px; color:var(--muted); font-weight:800}
.metric-pill .txt .desc{font-size:12px; color:var(--muted); line-height:1.5}
/* 覆盖到更大字号 */
.metrics-ribbon .metric-pill .txt .k{ font-size:14px; }
.metrics-ribbon .metric-pill .txt .desc{ font-size:13px; }

/* （可选）响应式再大一点 */
@media (min-width:1024px){
  .metrics-ribbon .metric-pill .txt .k{ font-size:15px; }
  .metrics-ribbon .metric-pill .txt .desc{ font-size:14px; }
}

/* Ribbon 图标 + 提高卡片高度 */
.metrics-ribbon .metric-pill{
  min-height:128px;
  padding-top:18px;
  padding-bottom:18px;
  padding-left:68px;
}

.metrics-ribbon .metric-icon{
  position:absolute;
  top:12px; left:12px;
  width:auto; height:30px;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
}

/* 小屏适配：稍微缩小图标与内边距 */
@media (max-width:640px){
  .metrics-ribbon .metric-pill{ min-height:116px; padding-left:58px; }
  .metrics-ribbon .metric-icon{ width:auto; height:25px; }
}

/* 响应式：平板两列，手机一列 */
@media (max-width:1024px){ .ribbon{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:640px){ .ribbon{ grid-template-columns:1fr } }

/* 不同尺寸与排布 */
.metric-xl{ min-height:220px; display:flex; flex-direction:column; justify-content:center; padding:18px }
.metric-md{ min-height:112px; display:flex; flex-direction:column; justify-content:center }
.metric-sm{ min-height:100px }

.metric-xl .value{font-size:46px}
.metric-md .value{font-size:34px}
.metric-sm .value{font-size:30px}

/* 网格定位 */
.m-xl{ grid-column:1 / 2; grid-row:1 / 3 }
.m-coverage{ grid-column:2 / 3; grid-row:1 }
.m-dimension{ grid-column:2 / 3; grid-row:2 }
.m-values{ grid-column:1 / 3; grid-row:3 }

@media (max-width:1024px){
  .bento-grid{ grid-template-columns:1fr 1fr }
  .m-xl{ grid-column:1 / -1; grid-row:auto }
  .m-coverage{ grid-column:1 / 2 }
  .m-dimension{ grid-column:2 / 3 }
  .m-values{ grid-column:1 / -1 }
}

/* 合作/伙伴滚动带 */
.partners{padding:18px 0;margin-top:12px}
.marquee{display:flex;gap:36px;align-items:center;overflow:hidden;mask-image:linear-gradient(to right,transparent 0,black 8%,black 92%,transparent 100%)}
.marquee-track{display:flex;gap:36px;animation:scrollX 22s linear infinite}
.marquee img{height:50px;opacity:.85;filter:grayscale(100%);transition:.2s}
.marquee img:hover{filter:grayscale(0%)}
@keyframes scrollX{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (max-width:640px){
  .partners .marquee img{ height:42px; }
}

/* 分节通用 */
section{padding:86px 0 64px}
.section-h{font-size:32px;margin:0 0 14px}
.section-sub{color:var(--muted);margin:0 0 26px}
/* 让首页封面真正贴在页面最顶端 */
#homeCover.home-cover{
  padding: 0 !important;
}

/* 可选：让进度条永远压在最上层 */
.progress{ z-index: 400; }

/* 价值支柱（卡片+Tilt） */
.grid{display:grid;gap:16px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
@media (max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}
.card{background:var(--glass);border:1px solid var(--glass-border);border-radius:18px;padding:18px;backdrop-filter:blur(8px);transform-style:preserve-3d;transition:transform .2s ease, box-shadow .2s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(0,0,0,.25)}
.card .topline{height:3px;background:linear-gradient(90deg,var(--primary),#22c55e);border-radius:3px;margin:-6px -6px 10px}

/* Mega Tabs（服务矩阵） */
.tabs{border:1px solid var(--glass-border);border-radius:18px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02))}
.tab-head{display:flex;gap:10px;flex-wrap:wrap}
.tab-head label{padding:10px 14px;border-radius:999px;border:1px solid var(--glass-border);cursor:pointer;font-weight:700;background:rgba(255,255,255,.04)}
.tab-head label:hover{border-color:var(--primary);color:var(--primary)}
.tab-panels{margin-top:12px}
.tab-panel{display:none}
input[name="tabset"]{display:none}
input#tabA:checked ~ .tab-panels #panelA,
input#tabB:checked ~ .tab-panels #panelB,
input#tabC:checked ~ .tab-panels #panelC,
input#tabD:checked ~ .tab-panels #panelD{display:block}
input#tabA:checked ~ .tab-head label[for="tabA"],
input#tabB:checked ~ .tab-head label[for="tabB"],
input#tabC:checked ~ .tab-head label[for="tabC"],
input#tabD:checked ~ .tab-head label[for="tabD"]{background:linear-gradient(135deg,var(--primary),var(--primary-700));border-color:transparent;color:#fff}

/* 时间轴 */
.timeline{position:relative;margin-top:6px}
.timeline:before{content:"";position:absolute;left:18px;top:0;bottom:0;width:2px;background:linear-gradient(var(--primary),#22c55e)}
.tl-item{position:relative;padding-left:52px;margin:18px 0}
.tl-item:before{content:"";position:absolute;left:10px;top:6px;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#22c55e);box-shadow:0 0 0 4px rgba(59,130,246,.18)}
.tl-title{font-weight:800;margin-bottom:6px}

/* 案例展示位 */
.case{position:relative;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid var(--glass-border)}
.case .banner{height:220px;background:radial-gradient(800px 220px at 10% 10%, rgba(59,130,246,.25), transparent 60%), radial-gradient(800px 220px at 90% 80%, rgba(34,197,94,.18), transparent 60%)}
.case .meta{padding:16px}

/* 联系表单 */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}}
.form-item{display:flex;flex-direction:column;gap:6px}
.input,.select,.textarea{padding:12px;border-radius:12px;border:1px solid rgba(99,102,241,.2);background:rgba(255,255,255,.06)}
.textarea{min-height:120px;resize:vertical}
.agree{display:flex;gap:8px;align-items:flex-start;margin-top:6px}
.tips{font-size:12px;color:var(--muted)}
.success{border:1px solid rgba(34,197,94,.25);background:rgba(34,197,94,.08);color:#16a34a;border-radius:12px;padding:12px;margin-top:12px}
.danger{border:1px solid rgba(239,68,68,.25);background:rgba(239,68,68,.08);color:#ef4444;border-radius:12px;padding:12px;margin-top:12px}

/* 页脚与返回顶部 */
footer{padding:28px 0;border-top:1px solid rgba(99,102,241,.12)}
.foot-col{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:14px}
.to-top{position:fixed;right:18px;bottom:18px;z-index:40;display:none}
.to-top.show{display:inline-flex}

/* 右侧浮动联系 */
.float-contact{position:fixed;right:18px;top:40%;z-index:45;display:flex;flex-direction:column;gap:10px}
.pill{background:var(--glass);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:999px;padding:10px 14px;font-weight:700}
.pill a{color:#fff;text-decoration:none}
@media (max-width:1024px){.float-contact{display:none}}

/* Reveal 动画 */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease, transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* 减少动画偏好 */
@media (prefers-reduced-motion: reduce){
    .orb,.mesh,.marquee-track{animation:none}
    .reveal{transition:none}
}

/* === 首页封面（Landing Overlay）— Premium ============================ */
html.cover-open, body.cover-open{height:100%;overflow:hidden}

/* 覆盖层容器 */
.home-cover{
  position:fixed; inset:0; z-index:200;
  display:grid; grid-template-rows:auto 1fr auto; align-items:stretch;
  background:
    radial-gradient(1200px 500px at 80% 8%, rgba(59,130,246,.15), transparent 60%),
    radial-gradient(1200px 500px at 8% 92%, rgba(34,197,94,.12), transparent 60%),
    linear-gradient(180deg,#0b1220 0%,#0b1220 32%,#0e172a 100%);
  color:var(--text);
  cursor:default;
  transition:opacity .6s ease, transform .6s ease;
}

/* 离场后隐藏交互 */
.home-cover[aria-hidden="true"]{
  opacity:0; transform:translateY(-8px) scale(.985);
  pointer-events:none; visibility:hidden
}

/* 顶部品牌玻璃栏 */
.cover-nav{
  height:72px; display:flex; align-items:center; gap:14px;
  padding:0 clamp(16px,4vw,32px);
  background:rgba(255,255,255,.06); backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid rgba(99,102,241,.18)
}
.cover-brand{display:flex;align-items:center;gap:12px}
.cover-logo{
  width:56px; height:56px; border-radius:14px; object-fit:cover;
  box-shadow:0 10px 22px rgba(0,0,0,.35)
}
.cover-name{font-weight:900; letter-spacing:.3px}
.cover-links{margin-left:auto; display:flex; gap:16px}
.cover-links a{color:#fff; opacity:.9; font-weight:700; border:1px solid rgba(99,102,241,.22);
  padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.06)}
.cover-links a:hover{border-color:var(--primary); color:#fff; text-decoration:none}

/* 中部品牌锁定区 */
.home-stage{ position:relative; display:grid; place-items:center; padding:clamp(20px,4vw,40px) }
.home-decor{ position:absolute; inset:0; overflow:hidden; z-index:-1 }

/* 科技感网格（SVG） */
.cover-grid{ position:absolute; inset:-2px; opacity:.16 }
.cover-grid line{ stroke:rgba(255,255,255,.12); stroke-width:1 }

/* 漂浮光斑 */
.home-cover .cover-orb{position:absolute; filter:blur(36px); opacity:.55; border-radius:50%; z-index:-2; will-change:transform}
.home-cover .cover-orb.a{width:620px;height:620px;left:-8%;top:-8%;
  background:radial-gradient(circle at 35% 35%, rgba(59,130,246,.55), transparent 60%);
  animation:float 14s ease-in-out infinite}
.home-cover .cover-orb.b{width:480px;height:480px;right:6%;bottom:4%;
  background:radial-gradient(circle at 55% 45%, rgba(34,197,94,.45), transparent 60%);
  animation:float 16s ease-in-out infinite reverse}
.home-cover .cover-orb.c{width:420px;height:420px;right:26%;top:22%;
  background:radial-gradient(circle at 50% 50%, rgba(99,102,241,.45), transparent 60%);
  animation:float 18s ease-in-out infinite}

/* 品牌锁定主体 */
.home-lockup{
  max-width:1100px; text-align:center; margin:0 auto;
  will-change:transform; transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--sc,1));
  transition:transform .35s ease, opacity .35s ease;
}
.brand-logo-wrap{
  display:inline-grid; place-items:center; width:110px; height:110px; margin:6px auto 12px; position:relative;
  border-radius:24px; background:rgba(255,255,255,.08); border:1px solid var(--glass-border); backdrop-filter:blur(8px)
}
.brand-logo-wrap:after{
  content:""; position:absolute; inset:-16px; border-radius:32px;
  background:radial-gradient(closest-side, rgba(59,130,246,.18), transparent 75%);
  filter:blur(16px); z-index:-1; animation:logoPulse 4.2s ease-in-out infinite
}
@keyframes logoPulse{0%,100%{opacity:.65; transform:scale(1)}50%{opacity:.95; transform:scale(1.06)}}
.brand-logo{
  width:74px; height:74px; border-radius:18px; box-shadow:0 14px 26px rgba(0,0,0,.35)
}

.home-kicker{
  display:inline-flex; gap:8px; align-items:center; padding:8px 12px; border-radius:999px;
  background:rgba(59,130,246,.12); color:var(--primary-600); font-weight:800; font-size:12px
}
.home-title{
  font-size:clamp(42px,7.6vw,86px); line-height:1.06; margin:16px 0 12px;
  background:linear-gradient(135deg,#fff,rgba(255,255,255,.86));
  -webkit-background-clip:text; background-clip:text; color:transparent; font-weight:900; letter-spacing:.6px
}
.home-summary{
  margin:0 auto; max-width:980px; font-size:16px; line-height:1.9; color:var(--muted);
  background:var(--glass); border:1px solid var(--glass-border);
  border-radius:18px; padding:clamp(16px,2.4vw,22px); backdrop-filter:blur(10px)
}
.home-ctas{margin-top:18px; display:flex; justify-content:center; gap:12px; flex-wrap:wrap}
.btn.btn-primary.btn-glow{box-shadow:0 10px 22px var(--ring), 0 0 0 0 rgba(59,130,246,.0); transition:box-shadow .25s ease, transform .25s ease}
.btn.btn-primary.btn-glow:hover{transform:translateY(-2px); box-shadow:0 14px 28px var(--ring), 0 0 0 8px rgba(59,130,246,.06)}
.btn.btn-ghost.btn-strong{border-color:rgba(99,102,241,.35)}

.enter-hint{display:inline-flex; align-items:center; gap:10px; margin:22px 0 4px; font-weight:800; color:#fff; opacity:.92}
.mouse{
  width:22px; height:32px; border:2px solid rgba(255,255,255,.9); border-radius:14px; position:relative; display:inline-block
}
.mouse:after{
  content:""; width:3px; height:6px; border-radius:2px; background:#fff; position:absolute; left:50%; top:6px; transform:translateX(-50%);
  animation:wheel 1.6s ease-in-out infinite
}
@keyframes wheel{0%{opacity:1; transform:translate(-50%,0)} 60%{opacity:0; transform:translate(-50%,8px)} 100%{opacity:0; transform:translate(-50%,8px)}}

/* 高级过场 */

.home-cover.leaving .home-lockup{
  opacity:0;
  transform:scale(.98);
  transition:opacity .45s ease, transform .45s ease;
}

@media (prefers-reduced-motion: reduce){
  .home-cover, .home-lockup{transition:none}
  .home-cover.leaving .cover-curtain{display:none}
}

/* 保证封面显示时，正文 reveal 不会提前显现 */
.cover-open .reveal{opacity:0!important; transform:translateY(14px)!important}
/* ==== Smooth Curtains (性能优化版) ==== */
:root{
  --cover-ease: cubic-bezier(.22,.85,.25,1);
  --cover-dur: .68s;
  --curtain-dur: .64s;
}

.home-cover, .home-lockup, .cover-curtain{
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform: translateZ(0);
}
.home-cover{ contain: paint; }

.home-cover.leaving .home-lockup{
  transform: translate3d(0,10px,0) scale(.985);
  opacity: 0;
  transition:
    transform var(--cover-dur) var(--cover-ease),
    opacity   var(--cover-dur) linear;
}

.cover-curtain{
  transition: transform var(--curtain-dur) var(--cover-ease), opacity .25s ease;
}
.home-cover.leaving .cover-curtain.top{    transform: translate3d(0,-100%,0); }
.home-cover.leaving .cover-curtain.bottom{ transform: translate3d(0, 100%,0); }

.home-cover[aria-hidden="true"]{
  opacity: 0;
  transform: translate3d(0,-8px,0) scale(.985);
}

.home-cover.animating .cover-nav{ backdrop-filter: blur(6px); }
.cover-grid line{
  vector-effect: non-scaling-stroke;
  shape-rendering: crispEdges;
}
.parallax{ will-change: transform; }

/* 下拉选择 */
.select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  padding:12px 40px 12px 12px;
  border-radius:12px;
  border:1px solid var(--glass-border);
  font-weight:700;
  color:var(--text);
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'><path d='M7 10l5 5 5-5' fill='none' stroke='%23cbd5e1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>")
      no-repeat right 12px center / 18px 18px,
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    rgba(2,6,23,.35);
}
.select:hover{ border-color:var(--primary); }
.select:focus{ border-color:var(--primary); box-shadow:0 0 0 3px var(--ring); }


/* 选项面板颜色 */
.select option{ background:var(--card); color:var(--text); }
.select option[value=""]{ color:var(--muted); }

select::-ms-expand{ display:none; }

.select option{
  background-color: var(--card);
  color: var(--text);
}
.select option:hover{
  background-color: rgba(59,130,246,.18);
  color: #e5e7eb;
}
.select option:checked{
  background-color: rgba(59,130,246,.28);
  color: #ffffff;
  font-weight: 700;
}
.select option[disabled],
.select option:disabled{
  color: var(--muted);
}

/* === Metrics Ribbon · 美化版（覆盖原规则） */
.metrics-ribbon{ margin-top: 22px; }
.metrics-ribbon .ribbon{ gap: 16px; }

.metrics-ribbon .metric-pill{
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  min-height: 118px;
  padding: 16px 18px;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border: 1px solid var(--glass-border);
  box-shadow:
    0 10px 26px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.06);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.metrics-ribbon .metric-pill:hover{
  transform: translateY(-4px);
  border-color: rgba(99,102,241,.32);
  box-shadow:
    0 16px 36px rgba(0,0,0,.28),
    0 0 0 6px rgba(59,130,246,.06);
}
.metrics-ribbon .metric-pill:before{
  opacity: .55; filter: blur(18px);
}

.metrics-ribbon .metric-icon{
  position: static;
  width: 42px;
  height: 42px;
  padding: 8px;
  border-radius: 12px;
  object-fit: contain;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--glass-border);
  box-shadow: 0 6px 14px rgba(0,0,0,.25);
  user-select: none; pointer-events: none;
  margin-right: 14px;
}

.metrics-ribbon .metric-pill .txt{
  display: grid;
  align-content: center;
  gap: 4px;
  min-width: 0;
}
.metrics-ribbon .metric-pill .txt .k{
  font-size: 15px;
  letter-spacing: .3px;
  font-weight: 800;
  color: var(--text);
}
.metrics-ribbon .metric-pill .txt .desc{
  font-size: 13px;
  color: var(--muted);
  line-height: 1.55;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* === Metrics Ribbon · 统一左移 + 允许换行 */
@media (min-width: 1025px) {
  .metrics-ribbon .ribbon{
    grid-template-columns: repeat(4, minmax(280px, 1fr));
  }
}

@media (max-width: 1024px) {
  .metrics-ribbon .ribbon {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .metrics-ribbon .ribbon {
    grid-template-columns: 1fr;
  }
}

.metrics-ribbon .metric-pill{
  display: grid !important;
  grid-template-columns: auto auto minmax(0,1fr) !important;
  align-items: center;
  justify-items: start;
  column-gap: 10px;
  padding: 14px 16px 14px 14px;
  min-height: 116px;
}

.metrics-ribbon .metric-icon{
  position: static !important;
  margin: 0 !important;
  width: 40px; height: 40px; padding: 8px;
}

.metrics-ribbon .metric-pill .num{
  margin: 0 !important;
  min-width: auto;
  text-align: left;
}

.metrics-ribbon .metric-pill .txt{ min-width: 0 !important; }

.metrics-ribbon .metric-pill .txt .desc{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: break-word;
  overflow-wrap: anywhere;
  line-height: 1.6;
}

/* ===== 自定义扩展样式 ===== */
.danger[hidden],
.success[hidden]{display:none}

.input.is-invalid,
.select.is-invalid,
.textarea.is-invalid{
    border-color:rgba(239,68,68,.55);
    box-shadow:0 0 0 3px rgba(239,68,68,.18);
}
.input.is-valid,
.select.is-valid,
.textarea.is-valid{
    border-color:rgba(34,197,94,.45);
    box-shadow:0 0 0 3px rgba(34,197,94,.15);
}
.form-item .error-message{
    font-size:12px;
    color:var(--danger);
}

.leads-table{width:100%;border-collapse:collapse;margin-top:12px}
.leads-table th,
.leads-table td{padding:10px 12px;border-bottom:1px solid rgba(99,102,241,.12);text-align:left}
.leads-table thead{font-weight:700;color:var(--text)}
.leads-table tbody tr:hover{background:rgba(255,255,255,.04)}
.leads-table .empty-row td{color:var(--muted);padding:16px;text-align:center}

@media (max-width:768px){
    .leads-table thead{display:none}
    .leads-table tr{display:grid;grid-template-columns:repeat(2,1fr);padding:12px;border:1px solid rgba(99,102,241,.12);border-radius:12px;margin-bottom:12px;background:rgba(255,255,255,.04)}
    .leads-table td{border-bottom:0;padding:6px 0}
    .leads-table td::before{content:attr(data-label);display:block;font-size:12px;color:var(--muted);font-weight:600;margin-bottom:4px}
    .leads-table .empty-row{display:block;border:0;background:none}
    .leads-table .empty-row td{padding:12px 0}
}

noscript .home-cover{display:none}