:root{
  --brand:#0a84ff; --brand-2:#5e5ce6;
}
body{font-feature-settings:"cv02","cv03","cv04","cv11";}
.header-glow{position:absolute; inset:0; pointer-events:none; filter:blur(40px);}
.header-grid{position:absolute; left:50%; top:0; width:1200px; height:100%; transform:translateX(-50%); background: radial-gradient(600px 200px at 50% -20%, rgba(10,132,255,.18), transparent 70%); pointer-events:none;}
.hero-section{ position:relative; overflow:hidden; background:
  radial-gradient(1000px 380px at 50% -10%, rgba(10,132,255,.10), transparent 70%),
  linear-gradient(180deg, rgba(10,132,255,.04), rgba(94,92,230,.03));
  background-color: var(--bs-tertiary-bg);
  border-bottom:1px solid rgba(0,0,0,.06);
}
/* hero sweep/glow */
.hero-fx{ position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.hero-sweep{ position:absolute; inset:-10% -30% 0 -30%; background:
  linear-gradient(110deg, rgba(255,255,255,0) 40%, rgba(10,132,255,.06) 50%, rgba(255,255,255,0) 60%);
  mix-blend-mode: screen; filter: blur(14px); animation: heroSweep 16s linear infinite; opacity:.9; }
.hero-glow{ position:absolute; left:50%; top:-14%; width:1000px; height:460px; transform:translateX(-50%); filter: blur(50px); opacity:.55; background:
  radial-gradient(closest-side, rgba(10,132,255,.16), transparent 70%),
  radial-gradient(closest-side, rgba(94,92,230,.10), transparent 75%);
}
@keyframes heroSweep{ 0%{ background-position: 120% 0;} 100%{ background-position: -80% 0; } }
/* Color follows Bootstrap on light hero; no forced overrides */
.hero-card{border-radius:20px; background:linear-gradient(180deg, rgba(255,255,255,.7), rgba(255,255,255,.5)); border:1px solid rgba(0,0,0,.06); backdrop-filter: blur(8px);}
.feature-card{ position:relative; overflow:hidden; border:1px solid rgba(0,0,0,.06); box-shadow: 0 8px 24px rgba(0,0,0,.04); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease }
.feature-card::before{ content:""; position:absolute; top:-1px; bottom:-1px; left:-1px; width:4px; background: linear-gradient(180deg, rgba(10,132,255,.6), rgba(94,92,230,.6)); }
.feature-card:hover{ transform: translateY(-2px); box-shadow: 0 14px 36px rgba(10,132,255,.12); border-color: rgba(10,132,255,.24) }
.news-card{ position:relative; text-decoration:none; color:inherit; border:1px solid rgba(0,0,0,.06); overflow:hidden }
.news-card::before{ content:""; position:absolute; left:-1px; top:-1px; bottom:-1px; width:4px; background: linear-gradient(180deg, rgba(10,132,255,.6), rgba(94,92,230,.6)); }
.news-card:hover{ box-shadow: 0 12px 28px rgba(0,0,0,.08); border-color: rgba(10,132,255,.22) }
.cta-card{ border:1px dashed rgba(10,132,255,.3); background: linear-gradient(90deg, rgba(10,132,255,.04), rgba(94,92,230,.04)) }
.about-card,.contact-card{ border:1px solid rgba(0,0,0,.06); border-radius: 16px; }
.section-title{ font-weight:700; letter-spacing:.3px; }
.stat-card{ border:1px solid rgba(0,0,0,.06); }

/* Bootstrap Icons (via CSS classes) fallback spacing */
.bi{ width: 1.2em; height: 1.2em; }

/* 产品导航面板（悬停/点击展开） */
.nav-item.products{ position:relative; }
.nav-item.products > .nav-link{ position:relative; }
.nav-item.products .product-panel{
  position:absolute; left:50%; transform: translate(-50%, 8px);
  top: 100%; width: min(920px, 92vw);
  background: rgba(255,255,255,.92); backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,.06); z-index: 1000; display: none;
}
.nav-item.products::after{ content:""; position:absolute; left:0; right:0; top:100%; height:14px; }
.nav-item.products:hover .product-panel,
.nav-item.products:focus-within .product-panel,
.nav-item.products.open .product-panel{ display:block; }
.product-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.product-card{ border:1px solid rgba(0,0,0,.06); background: linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,255,255,.65)); border-radius: 12px; padding:12px; min-height: 110px; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.product-card:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.08); border-color: rgba(10,132,255,.28) }
.product-media{ width:40px; height:40px; display:flex; align-items:center; justify-content:center; flex: 0 0 40px; }
.product-logo{ width:100%; height:100%; object-fit: contain; border-radius:8px; box-shadow: 0 0 0 4px rgba(10,132,255,.08)}
.product-icon{ font-size: 1.25rem; line-height: 1; }
.two-lines{ display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bg-gradient-blue{ background: linear-gradient(180deg, #0A84FF, #5E5CE6); }
.bg-gradient-purple{ background: linear-gradient(180deg, #8E66FF, #5E5CE6); box-shadow: 0 0 0 6px rgba(94,92,230,.12)}
.bg-gradient-green{ background: linear-gradient(180deg, #34C759, #0BD18A); box-shadow: 0 0 0 6px rgba(11,209,138,.12)}

/* 渐变文本，用于产品图标着色 */
.text-grad-blue{ background: linear-gradient(180deg, #0A84FF, #5E5CE6); -webkit-background-clip:text; background-clip:text; color: transparent; }
.text-grad-purple{ background: linear-gradient(180deg, #8E66FF, #5E5CE6); -webkit-background-clip:text; background-clip:text; color: transparent; }
.text-grad-green{ background: linear-gradient(180deg, #34C759, #0BD18A); -webkit-background-clip:text; background-clip:text; color: transparent; }

@media (max-width: 991.98px){
  .nav-item.products .product-panel{ position: static; transform:none; width:100%; margin-top:0; display:block; }
  .product-grid{ grid-template-columns: repeat(2, 1fr); }
}

/* 人才卡片样式 */
.talent-card{ position:relative; border:1px solid rgba(0,0,0,.06); border-radius: 18px; background: linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.64)); box-shadow: 0 10px 26px rgba(0,0,0,.05)}
.talent-card::after{ content:""; position:absolute; inset:-1px; border-radius:18px; padding:1px; background:linear-gradient(120deg, rgba(10,132,255,.6), rgba(94,92,230,.6), rgba(52,199,89,.6)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity:.25}
.avatar{ width:96px; height:96px; border-radius:999px; box-shadow:0 0 0 8px rgba(10,132,255,.12); object-fit: cover; background-size: cover; background-position: center; background-repeat: no-repeat; overflow: hidden; }
.avatar-1{ background-image: url('https://assets-public.tos-cn-shanghai.volces.com/canfeng/common/picture/stuff/mingyuan.jpg'); box-shadow:0 0 0 6px rgba(94,92,230,.12)}
.avatar-2{ background-image: url('https://assets-public.tos-cn-shanghai.volces.com/canfeng/common/picture/stuff/mingyuan.jpg'); box-shadow:0 0 0 6px rgba(94,92,230,.12)}
.avatar-3{ background-image: url('https://assets-public.tos-cn-shanghai.volces.com/canfeng/common/picture/stuff/EthanWalker.jpeg'); box-shadow:0 0 0 6px rgba(94,92,230,.12)}
.avatar-4{ background-image: url('https://assets-public.tos-cn-shanghai.volces.com/canfeng/common/picture/stuff/mingyuan.jpg'); box-shadow:0 0 0 6px rgba(94,92,230,.12)}

.chip{ display:inline-block; padding:.25rem .5rem; font-size:.8rem; border-radius:999px; background:rgba(10,132,255,.08); color:#0a84ff; border:1px solid rgba(10,132,255,.22) }

/* 产品体验模块 */
.mic-circle{ width:140px; height:140px; border-radius:50%; border:2px dashed rgba(10,132,255,.35); color:#0a84ff; background:linear-gradient(180deg, rgba(10,132,255,.06), rgba(94,92,230,.04)); }
.exp-output{ min-height: 220px; background: #fff; border:1px solid rgba(0,0,0,.06); border-radius: .5rem; padding: .75rem; white-space: pre-wrap; }

/* 合作伙伴 */
.partners-grid{ display:none; }

/* 走马灯样式（拼接图） */
.partners-belts{ display:grid; gap: 14px; }
.belt{ position:relative; height: var(--belt-h, 56px); border:1px solid rgba(0,0,0,.06); border-radius: 12px; background: #fff; overflow:hidden; }
.belt::before,.belt::after{ content:""; position:absolute; top:0; bottom:0; width:48px; z-index:1; pointer-events:none; }
.belt::before{ left:0; background: linear-gradient(90deg, rgba(255,255,255,1), rgba(255,255,255,0)); }
.belt::after{ right:0; background: linear-gradient(270deg, rgba(255,255,255,1), rgba(255,255,255,0)); }
.belt-track{ position:absolute; inset:0; display:flex; gap:0; align-items:center; animation: partners-scroll var(--speed, 40s) linear infinite; }
.belt-track img{ height: 100%; width: auto; flex: 0 0 auto; user-select:none; -webkit-user-drag: none; }
.belt-track:hover{ animation-play-state: paused; }

@keyframes partners-scroll { from { transform: translateX(0); } to { transform: translateX(-33.333%); } }

/* 背景平铺滚动：更顺滑的无缝循环 */
.belt-bg{ background-image: var(--img); background-repeat: repeat-x; background-position: 0 50%; background-size: auto var(--belt-h, 56px); animation: partners-bg-scroll var(--speed, 40s) linear infinite; }
@keyframes partners-bg-scroll{ from{ background-position-x: 0; } to{ background-position-x: calc(-1 * var(--sprite-w, 3704px)); } }

/* Flex 轨道滚动：支持相邻图片固定水平间距（8px） */
.belt-flex{ position:relative; }
.belt-flex-track{ position:absolute; inset:0; display:flex; align-items:center; gap: 13px; animation: partners-flex var(--speed, 40s) linear infinite; }
.belt-flex-track img{ height: 100%; width: auto; flex: 0 0 auto; user-select:none; -webkit-user-drag: none; }
@keyframes partners-flex { from { transform: translateX(0); } to { transform: translateX(-50%); } }


/* Why us section */
.why-intro{ max-width: 980px; margin-inline:auto; }
.why-section{ position:relative; background: var(--bs-tertiary-bg); border-top:1px solid rgba(0,0,0,.06); border-bottom:1px solid rgba(0,0,0,.06); }
.why-section .why-text{ color: var(--bs-secondary-color); }
.why-section .why-card{ border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:16px; background: var(--bs-body-bg); box-shadow: 0 10px 26px rgba(0,0,0,.06); }
.why-section .why-card:hover{ border-color: rgba(10,132,255,.35); box-shadow: 0 16px 40px rgba(10,132,255,.12); transform: translateY(-2px); transition: all .2s ease; }
.why-section .why-card .why-desc{ color: inherit; }
.why-icon{ --why-icon-size: 1.6rem; width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:12px; background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.75)); box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); }
.why-icon .bi { display:flex; align-items:center; justify-content:center; width: var(--why-icon-size); height: var(--why-icon-size); font-size: var(--why-icon-size); line-height: 1; margin: 0; }
/* 个别图标（如闪电）的视觉中心偏上，轻微下移 1px 提升观感 */
.why-icon .bi-lightning-charge{ transform: translateY(1px); }

/* Dark alt (if needed elsewhere) */
.why-section-alt{ position:relative; background:
  radial-gradient(1200px 520px at 50% -10%, rgba(10,132,255,.10), transparent 70%),
  linear-gradient(180deg, #0b1020, #0b0e1a);
  border-top:1px solid rgba(255,255,255,.06); border-bottom:1px solid rgba(0,0,0,.4); color:#fff; }
.why-section-alt .why-text{ color: rgba(255,255,255,.86); }
.why-section-alt .why-card{ border:1px solid rgba(255,255,255,.12); background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04)); color:#fff; box-shadow: 0 10px 26px rgba(0,0,0,.45); }
.why-section-alt .why-card:hover{ border-color: rgba(10,132,255,.45); box-shadow: 0 16px 40px rgba(10,132,255,.24); }
.why-section-alt .why-card .why-desc{ color: rgba(255,255,255,.84); }
.why-section-alt .why-icon{ background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); }

/* 柔和色块底，用于需要更活泼的版块 */
.section-tint{ background: linear-gradient(180deg, rgba(10,132,255,.035), rgba(94,92,230,.03)); }
