/* ---------- Hero / Banner ---------- */
  .hero{
    position:relative;
    height:min(46vw,560px);
    min-height:340px;
    overflow:hidden;
    background:
      radial-gradient(ellipse at 30% 40%, rgba(255,209,102,.25), transparent 60%),
      linear-gradient(120deg,#5c4a3a 0%,#3a2f26 45%,#caa24a 100%);
  }
  /* 动态 slide（来自 bannerList） */
  .hero .slide{
    position:absolute;inset:0;opacity:0;
    transition:opacity 1.1s ease-in-out;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
  }
  .hero .slide.active{opacity:1;}
  .hero .slide::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(0deg, rgba(0,0,0,.45), transparent);
  }
  /* 默认渐变占位（bannerList 为空时） */
  .hero .slide-1{background:linear-gradient(120deg,#2a6f8f 0%,#3f8fae 25%,#7fb9a0 50%,#2f6b52 75%,#1d4f63 100%);}
  .hero .slide-2{background:linear-gradient(120deg,#3a5f8a 0%,#5c8fb0 30%,#8fae7f 60%,#2f4f5f 100%);}
  .hero .slide-3{background:linear-gradient(120deg,#1d4f63 0%,#3f7f8f 35%,#6fae8f 65%,#2a5f4f 100%);}
  /* 左右切换箭头 */
  .hero-arrow{
    position:absolute;top:50%;transform:translateY(-50%);z-index:3;
    width:42px;height:42px;border-radius:50%;border:none;
    background:rgba(255,255,255,.18);color:#fff;
    font-size:22px;font-weight:700;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:background .2s;
  }
  .hero-arrow:hover{background:rgba(255,255,255,.32);}
  .hero-arrow.prev{left:24px;}
  .hero-arrow.next{right:24px;}
  /* 底部圆点 */
  .hero-dots{
    position:absolute;bottom:18px;left:50%;transform:translateX(-50%);
    display:flex;gap:9px;z-index:3;
  }
  .hero-dots button{
    width:9px;height:9px;border-radius:50%;border:none;
    background:rgba(255,255,255,.45);
    padding:0;cursor:pointer;
    transition:background .2s, width .2s;
  }
  .hero-dots button.active{background:#fff;width:22px;border-radius:5px;}

  /* ---------- Section shell ---------- */
  section{padding:70px 40px;}
  .section-title{
    text-align:center;font-size:28px;font-weight:700;color:var(--blue-800);
    margin-bottom:44px;letter-spacing:1px;
  }
  .container{max-width:1300px;margin:0 auto;}

  /* ---------- 核心数据 ---------- */
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
  .stat-card{
    padding:34px 20px;border-radius:10px;text-align:center;
    background:var(--bg-light);
    transition:.25s;
  }
  .stat-card.highlight{
    background:linear-gradient(135deg,var(--blue-700),var(--blue-600));
    color:#fff;
    box-shadow:0 12px 24px -8px rgba(37,99,201,.5);
  }
  .stat-card:hover{transform:translateY(-4px);}
  .stat-num{font-size:38px;font-weight:800;}
  .stat-num small{font-size:20px;font-weight:600;margin-left:2px;}
  .stat-label{margin-top:8px;font-size:14px;color:var(--text-gray);}
  .stat-card.highlight .stat-label{color:rgba(255,255,255,.85);}

  /* ---------- 溯源验证 ---------- */
  .trace-panel{
    background:linear-gradient(120deg,var(--blue-700),var(--blue-600));
    border-radius:14px;
    padding:56px 40px;
    text-align:center;color:#fff;
    position:relative;overflow:hidden;
  }
  .trace-panel::before{
    content:"";position:absolute;width:300px;height:300px;border-radius:50%;
    border:1px solid rgba(255,255,255,.15);right:-100px;bottom:-140px;
  }
  .trace-panel h3{font-size:24px;font-weight:700;letter-spacing:2px;margin-bottom:12px;}
  .trace-panel p{font-size:14px;color:rgba(255,255,255,.85);margin-bottom:28px;}
  .trace-form{
    display:flex;justify-content:center;gap:10px;position:relative;z-index:1;flex-wrap:wrap;
  }
  .trace-form input{
    width:320px;max-width:70vw;padding:12px 18px;border-radius:6px;border:none;
    font-size:14px;outline:none;
  }
  .trace-form button{
    padding:12px 30px;border:none;border-radius:6px;background:var(--orange);
    color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:.2s;
  }
  .trace-form button:hover{background:var(--orange-dark);}

  /* ---------- 大数据 banner ---------- */
  .platform-banner{
    background:linear-gradient(120deg,var(--blue-900),var(--blue-700));
    color:#fff;text-align:center;padding:56px 40px 0;
  }
  .platform-banner h2{font-size:26px;font-weight:700;margin-bottom:14px;}
  .platform-banner .sub{font-size:14px;letter-spacing:3px;color:rgba(255,255,255,.8);margin-bottom:40px;}

  .info-grid{
    max-width:1180px;margin:0 auto;
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
    transform:translateY(40px);
    text-align: left;
  }
  .info-card{
    background:#fff;color:var(--text-dark);border-radius:10px;
    padding:22px 22px 8px;box-shadow:0 20px 40px -20px rgba(10,30,70,.35);
  }
  .info-card h4{
    font-size:16px;font-weight:700;color:var(--blue-800);
    padding-bottom:14px;margin-bottom:6px;border-bottom:2px solid var(--blue-700);
    display:inline-block;
  }
  .info-item{
    display:flex;justify-content:space-between;gap:14px;
    padding:14px 0;border-bottom:1px dashed #e5e9ee;
    font-size:13.5px;
  }
  .info-item:last-child{border-bottom:none;}
  .info-item .t{color:var(--text-dark);}
  .info-item .d{color:var(--text-gray);white-space:nowrap;font-size:12.5px;}

  .platform-spacer{height:56px;background:transparent;}

  /* ---------- 成功案例 ---------- */
  .cases{
    background:var(--bg-light);
    border-radius:14px;padding:44px 36px;
  }
  .case-grid{
    display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-bottom:8px;
  }
  .case-card{
    background:#fff;border-radius:8px;padding:12px;
    display:flex;flex-direction:column;align-items:center;
    box-shadow:0 1px 4px rgba(0,0,0,.06);overflow:hidden;
    transition:.2s;
  }
  .case-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.12);}
  .case-card img{width:100%;max-width:120px;height:100px;object-fit:contain;margin-bottom:8px;}
  .case-name{font-size:12px;color:#3d4f6a;text-align:center;width:100%;line-height:1.4;}
  .case-label{text-align:center;font-size:12px;color:var(--text-gray);margin-top:8px;margin-bottom:18px;}
  .platform-logos{
    display:flex;flex-wrap:wrap;gap:16px;
    margin-top:26px;justify-content:center;
  }
  .platform-logo-item{
    display:flex;flex-direction:column;align-items:center;
    background:#fff;border-radius:8px;padding:14px 18px;
    box-shadow:0 1px 4px rgba(0,0,0,.06);min-width:160px;max-width:200px;
    transition:.2s;
  }
  .platform-logo-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.12);}
  .platform-logo-item img{width:100%;height:40px;object-fit:contain;margin-bottom:8px;}
  .platform-name{font-size:12px;color:#3d4f6a;text-align:center;line-height:1.4;}

  /* ---------- CTA ---------- */
  .cta{
    background:linear-gradient(120deg,var(--blue-700),var(--blue-500));
    text-align:center;color:#fff;padding:64px 40px;
  }
  .cta h2{font-size:26px;font-weight:700;margin-bottom:10px;}
  .cta p{font-size:14px;color:rgba(255,255,255,.85);margin-bottom:30px;}
  .cta-btn{
    display:inline-block;background:var(--orange);color:#fff;font-weight:600;
    padding:13px 34px;border-radius:24px;font-size:14.5px;transition:.2s;
  }
  .cta-btn:hover{background:var(--orange-dark);transform:translateY(-2px);}

  /* ---------- Responsive ---------- */
  @media (max-width:900px){
    .stats{grid-template-columns:repeat(2,1fr);}
    .info-grid{grid-template-columns:1fr;transform:translateY(30px);}
    .case-grid{grid-template-columns:repeat(3,1fr);}
    .platform-names{grid-template-columns:repeat(2,1fr);}
    section{padding:50px 20px;}
  }
  @media (max-width:520px){
    .stats{grid-template-columns:1fr 1fr;}
    .case-grid{grid-template-columns:repeat(2,1fr);}
    .trace-form input{width:100%;}
  }
