@charset "utf-8";
/*首页专属样式（2026-09-10 重构：每个选择器全文件唯一定义，按组件分区，媒体查询就近放置）*/
:root {
  --home-section-blue: #f6f9fe;
  --home-section-white: #fff;
  --home-primary: #246bfd;
  --home-primary-dark: color-mix(in srgb, var(--home-primary) 78%, #071b50 22%);
  --home-primary-soft: color-mix(in srgb, var(--home-primary) 10%, transparent);
  --home-primary-light: color-mix(in srgb, var(--home-primary) 14%, #fff 86%);
  /*公共层 builder-* / .builder-final-cta 主题变量，取值与建站页一致*/
  --builder-blue: var(--home-primary);
  --builder-blue-dark: var(--home-primary-dark);
  --builder-grid-rgb: 83, 116, 173;
  --builder-cta-a: #1557e8;
  --builder-cta-b: #2879ff;
  --builder-cta-c: #15b8dc;
}
/*首页主色由 index.html 注入，所有区块共享腾数学院栏目的主题色。*/
.home-page-theme { --home-primary: #246bfd; --home-primary-dark: color-mix(in srgb, var(--home-primary) 78%, #071b50 22%); --home-primary-deep: color-mix(in srgb, var(--home-primary) 62%, #061337 38%); --home-primary-soft: color-mix(in srgb, var(--home-primary) 10%, transparent); --home-primary-pale: color-mix(in srgb, var(--home-primary) 7%, #fff 93%); --home-primary-light: color-mix(in srgb, var(--home-primary) 14%, #fff 86%); --home-theme-strong: color-mix(in srgb, var(--home-primary) 86%, #380707 14%); --home-theme-soft: color-mix(in srgb, var(--home-primary) 7%, #fff 93%); --home-theme-soft-strong: color-mix(in srgb, var(--home-primary) 13%, #fff 87%); --home-theme-border: color-mix(in srgb, var(--home-primary) 27%, #dce5f1 73%); --home-theme-shadow: color-mix(in srgb, var(--home-primary) 18%, transparent); }
.clearfix:after { content: ""; display: block; height: 0; clear: both; }
/*==================== 首屏 Hero：企业数智化经营平台 ====================*/
.home-hero { min-width: 0; position: relative; overflow: hidden; height: auto; min-height: 0; --hero-blue: var(--home-primary); --hero-cyan: color-mix(in srgb, var(--home-primary) 68%, #21c8ee 32%); --hero-ink: #0b1733; background: radial-gradient(48rem 34rem at 82% 40%, color-mix(in srgb, var(--home-primary) 16%, transparent), transparent 68%),
    radial-gradient(30rem 24rem at 8% 20%, color-mix(in srgb, var(--home-primary) 8%, transparent), transparent 72%),
    var(--home-section-blue); }
.home-hero::before { content: ""; position: absolute; inset: 0; opacity: .5; pointer-events: none; background-image: linear-gradient(rgba(83, 116, 173, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(83, 116, 173, .08) 1px, transparent 1px); background-size: 3.25rem 3.25rem; -webkit-mask-image: linear-gradient(to right, #000, rgba(0, 0, 0, .3) 58%, transparent 94%); mask-image: linear-gradient(to right, #000, rgba(0, 0, 0, .3) 58%, transparent 94%); }
.home-hero::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; right: -12rem; bottom: -22rem; width: 52rem; height: 52rem; border: 1px solid color-mix(in srgb, var(--home-primary) 13%, transparent); background: transparent; box-shadow: 0 0 0 6rem color-mix(in srgb, var(--home-primary) 2.5%, transparent), 0 0 0 12rem color-mix(in srgb, var(--home-primary) 1.8%, transparent); }
.home-hero > .container { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(28rem, .95fr) minmax(34rem, 1.35fr); justify-content: center; align-items: center; gap: clamp(2.25rem, 3vw, 3.5rem); min-height: clamp(39rem, calc(100svh - 4.375rem), 47rem); padding: clamp(3.75rem, 7vh, 5.75rem) .75rem; }
/*clearfix 的伪元素在 Grid 中会成为第三个网格项并生成空白行，导致两列整体上移*/
.home-hero > .container::after { content: none; display: none; }
.home-hero .home-hero-content { float: none !important; flex-shrink: 0; min-width: 0; margin: 0; width: 100%; max-width: 42rem; align-self: center; container-type: inline-size; position: relative; }
.home-hero .home-hero-kicker { display: inline-flex; align-items: center; gap: 0.438rem; margin-bottom: 1.35rem; padding: .5rem .875rem; border: 1px solid color-mix(in srgb, var(--home-primary) 20%, transparent); border-radius: 2rem; background: rgba(255, 255, 255, .68); color: var(--home-primary-dark); font-size: .75rem; font-weight: 700; letter-spacing: .06em; line-height: 1.25; box-shadow: 0 .6rem 1.8rem rgba(42, 92, 178, .08); backdrop-filter: blur(10px); }
.home-hero .home-hero-kicker::before { content: ""; width: .375rem; height: .375rem; border-radius: 50%; background: #25c588; box-shadow: 0 0 0 .25rem rgba(37, 197, 136, .12); }
.home-hero .home-hero-title { margin: 0; width: auto; max-width: 42rem; color: #101a31; font-family: "Source Han Sans CN", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif; font-size: clamp(2.75rem, 3.25vw, 3.65rem); font-weight: 780; letter-spacing: -.052em; line-height: 1.12; white-space: nowrap; word-break: keep-all; word-break: auto-phrase; overflow-wrap: normal; }
.home-hero .home-hero-subtitle { max-width: 40rem; margin: .95rem 0 0; color: transparent; background: linear-gradient(95deg, var(--home-primary-dark) 4%, var(--home-primary) 54%, var(--hero-cyan) 100%); -webkit-background-clip: text; background-clip: text; font-size: clamp(1.45rem, 1.85vw, 1.8rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.42; word-break: keep-all; word-break: auto-phrase; overflow-wrap: normal; }
.home-hero .home-hero-lead { max-width: 39rem; margin: 1rem 0 1.15rem; color: #5d6c83; font-size: 1rem; line-height: 1.9; }
.home-hero-capabilities { display: flex; flex-wrap: wrap; gap: .6rem 1.15rem; margin: 0 0 1.7rem; padding: 0; color: #384a66; font-size: .79rem; }
.home-hero-capabilities li { display: inline-flex; align-items: center; gap: .35rem; }
.home-hero-capabilities i { display: inline-flex; width: 1.05rem; height: 1.05rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--home-primary-soft); color: var(--hero-blue); font-size: .7rem; }
.home-hero-actions { display: flex; flex-wrap: wrap; gap: 0.812rem; margin-bottom: 1.8rem; }
.home-hero-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 3.15rem; padding: 0 1.5rem; border-radius: .65rem; font-size: .875rem; font-weight: 650; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.home-hero-primary { border: 1px solid var(--home-primary); color: #fff; background: linear-gradient(110deg, var(--home-primary), color-mix(in srgb, var(--home-primary) 72%, #fff)); box-shadow: 0 .9rem 2rem color-mix(in srgb, var(--home-primary) 25%, transparent); }
.home-hero-primary:hover { background: var(--home-primary-dark); color: #fff; transform: translateY(-0.125rem); box-shadow: 0 1rem 1.875rem color-mix(in srgb, var(--home-primary) 28%, transparent); }
.home-hero-primary i { margin-left: 0.438rem; }
.home-hero-secondary { border: 1px solid #cfd9e9; background: rgba(255,255,255,.76); color: #34445f; }
.home-hero-secondary:hover { border-color: color-mix(in srgb, var(--home-primary) 36%, #fff); color: var(--home-primary); transform: translateY(-0.125rem); }
.home-hero-secondary i { margin-left: .45rem; font-size: .75rem; }
/*---- 右侧轮播：保留后台焦点图，以轻量科技框架增强展示 ----*/
.home-hero .home-carousel { position: relative; display: flex; flex-direction: column; align-items: stretch; align-self: center; width: 100%; max-width: 54rem; min-width: 0; }
/*轮播标题角标：独立于轮播图，排版在轮播左上方，随当前幻灯片联动*/
.home-carousel-caption { display: flex; align-items: center; margin-bottom: .75rem; max-width: 100%; }
.home-carousel-caption span { display: inline-flex; align-items: center; gap: .45rem; min-height: 1.75rem; padding: 0 .8rem; border: 1px solid color-mix(in srgb, var(--home-primary) 18%, transparent); border-radius: 2rem; background: rgba(255, 255, 255, .9); color: var(--home-primary-dark); box-shadow: 0 .375rem 1.125rem color-mix(in srgb, var(--home-primary) 7%, transparent); backdrop-filter: blur(10px); font-size: .68rem; font-weight: 700; letter-spacing: .04em; line-height: 1.25; max-width: 100%; white-space: nowrap; overflow: hidden; }
.home-carousel-caption span em { font-style: normal; overflow: hidden; text-overflow: ellipsis; }
.home-carousel-caption span i { flex-shrink: 0; color: var(--home-primary); font-size: .78rem; line-height: 1; }
/*浅色 SaaS 工作台式轮播卡片；首屏轮播边缘兼容：取消外扩装饰线与 3D 亚像素偏移，由 Swiper 视口统一裁切*/
.home-hero .home-carousel-main { position: relative; float: none !important; margin: 0; width: 100%; max-width: 54rem; height: auto; align-self: center; aspect-ratio: 850 / 450; box-sizing: border-box; overflow: hidden; isolation: isolate; border: .45rem solid rgba(255, 255, 255, .86); border-radius: 1.35rem; background: rgba(251, 253, 255, .76); box-shadow: 0 2.5rem 6rem rgba(60, 96, 151, .14), 0 .5rem 1.5rem rgba(63, 107, 169, .07), 0 0 0 1px rgba(117, 153, 205, .18); backdrop-filter: blur(18px); transform: none; animation: homeHeroCardFloat 7s ease-in-out infinite; }
.home-hero .swiper-container { position: relative; isolation: isolate; width: 100%; height: 100%; overflow: hidden; border-radius: .9rem; clip-path: inset(0 round .9rem); transform: translateZ(0); background: linear-gradient(145deg, #fafdff, #edf4fc); }
.home-hero .swiper-container::after { content: ""; position: absolute; z-index: 5; inset: 0; border-radius: inherit; background: linear-gradient(180deg, rgba(5, 28, 66, .12), transparent 22%, transparent 76%, rgba(5, 28, 66, .16)),
    linear-gradient(90deg, rgba(25, 98, 240, .08), transparent 24%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35); pointer-events: none; }
.home-hero .swiper-wrapper,
.home-hero .home-carousel-list { width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; list-style: none; }
.home-hero .swiper-slide,
.home-hero .home-carousel-item {
  /*与 JS 中 slidesPerView:'auto' 配对：slide 宽度由 CSS 定为容器宽度（常为小数），
     Swiper 按 getBoundingClientRect 实测小数宽度铺位移轨道，渲染宽与轨道一致，
     任何视口下左右边缘都不会露出相邻图片（不要改回 slidesPerView:1 + 内联整数宽）*/
  position: relative;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
  background: #eef4fc;
}
/*圆角统一由 .swiper-container 的 clip-path 承担，内部各层全部清零*/
.home-hero .swiper-slide,
.home-hero .home-carousel-item,
.home-hero .home-carousel-media,
.home-hero .home-carousel-item a,
.home-hero .home-carousel-img,
.home-hero .home-carousel-video { border-radius: 0 !important; }
.home-hero .swiper-slide,
.home-hero .home-carousel-img { transform: translateZ(0); -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.home-hero .home-carousel-item a { display: block; width: 100%; height: 100%; cursor: pointer; }
/*轮播视频：悬停/聚焦显示播放按钮，点击后在幻灯片内播放*/
.home-hero .home-carousel-item .home-carousel-media { position: relative; width: 100%; height: 100%; }
.home-hero .home-carousel-media picture,
.home-hero .home-carousel-media > picture,
.home-hero .home-carousel-media a > picture { display: block; width: 100%; height: 100%; }
.home-hero .home-carousel-img { width: 100%; height: 100%; cursor: pointer; display: block; object-fit: cover; object-position: center center; transition: transform 1.1s cubic-bezier(.22, .7, .18, 1), filter .5s ease; }
.home-hero .home-carousel-item:hover .home-carousel-img { transform: scale(1.018); filter: saturate(1.04) contrast(1.015); }
.home-hero .home-carousel-item .home-carousel-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #000; z-index: 3; }
.home-hero .home-carousel-item .home-carousel-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 4.5rem; height: 4.5rem; display: flex; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(255, 255, 255, .65); border-radius: 50%; background: rgba(255, 255, 255, .28); color: #fff; font-size: 2.5rem; line-height: 1; cursor: pointer; z-index: 4; transition: transform .3s ease, background-color .3s ease, border-color .3s ease, box-shadow .3s ease; box-shadow: 0 0.75rem 1.75rem rgba(25, 52, 94, .18); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); text-shadow: 0 0.125rem 0.5rem rgba(25, 52, 94, .35); }
/*悬停/聚焦时高亮为品牌蓝，引导点击*/
.home-hero .home-carousel-item.has-video:hover .home-carousel-play,
.home-hero .home-carousel-item.has-video:focus-within .home-carousel-play { background: color-mix(in srgb, var(--home-primary) 90%, transparent); border-color: rgba(255, 255, 255, .85); box-shadow: 0 0.75rem 1.75rem rgba(25, 52, 94, .28); }
.home-hero .home-carousel-item .home-carousel-play:hover,
.home-hero .home-carousel-item .home-carousel-play:focus-visible { background: var(--home-primary-dark); transform: translate(-50%, -50%) scale(1.06); outline: none; }
/*跳转链接图标：有 URL 的轮播项常显于右上角*/
.home-hero .home-carousel-item .home-carousel-link {
  position: absolute;
  top: .9rem;
  right: .9rem;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  /*覆盖上方 .home-carousel-item a 的圆角清零规则，保持圆形*/
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(218, 226, 238, .9);
  color: var(--home-primary);
  font-size: .85rem;
  line-height: 1;
  z-index: 4;
  transition: background-color .3s ease, color .3s ease;
  box-shadow: 0 0.375rem 1rem rgba(35, 68, 119, .14);
  backdrop-filter: blur(8px);
  text-decoration: none;
}
.home-hero .home-carousel-item .home-carousel-link:hover { background: var(--home-primary); color: #fff; }
/*无跳转地址的封面图不显示手型光标*/
.home-hero .home-carousel-item .home-carousel-media > .home-carousel-img { cursor: default; }
/*视频播放中隐藏操作按钮，避免遮挡播放器控件*/
.home-hero .home-carousel-item.is-playing .home-carousel-play,
.home-hero .home-carousel-item.is-playing .home-carousel-link { display: none; }
/*轮播切换按钮：悬停轮播时浮现*/
.home-hero .home-carousel-btn { position: absolute; top: 50%; z-index: 16; display: flex; width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; margin-top: -1.375rem; padding: 0; border: 1px solid rgba(255, 255, 255, .58); border-radius: 50%; background: rgba(11, 39, 82, .4); color: #fff; opacity: 0; cursor: pointer; box-shadow: 0 .75rem 1.5rem rgba(12, 39, 84, .2); backdrop-filter: blur(12px); transition: opacity .65s cubic-bezier(.19, 1, .22, 1), filter .65s cubic-bezier(.19, 1, .22, 1), background-color .65s cubic-bezier(.19, 1, .22, 1); }
.home-hero .home-carousel-btn.home-carousel-prev { left: 1rem; }
.home-hero .home-carousel-btn.home-carousel-next { right: 1rem; transform: rotate(180deg); }
.home-hero .home-carousel-btn i { font-size: 1rem; line-height: 1; }
.home-hero .home-carousel-btn svg { position: relative; width: 0.625rem; }
.home-hero .home-carousel-btn svg * { fill: #51627d; }
.home-hero .home-carousel-btn:hover i,
.home-hero .home-carousel-btn:hover svg * { color: #fff; fill: #fff; }
.home-hero .home-carousel-main:hover .home-carousel-btn { opacity: 1; color: var(--home-primary); background: rgba(255, 255, 255, .92); }
.home-hero .home-carousel-btn:hover { color: #fff; background: linear-gradient(135deg, var(--home-primary), var(--hero-cyan)) !important; transform: translateX(-.12rem); }
.home-hero .home-carousel-btn.home-carousel-next:hover { transform: rotate(180deg) translateX(-.12rem); }
/*分页轨道：激活指示器拉长为轨道，内嵌进度条随 autoplay 等待时间填充*/
.home-hero .home-carousel-footer { position: absolute; right: 0; bottom: 1rem; left: 0; z-index: 16; height: 0.375rem; white-space: nowrap; font-size: 0; text-align: center; }
.home-hero .home-carousel-dot { display: inline-block; vertical-align: top; position: relative; width: .42rem; height: .42rem; margin: 0 0.25rem; padding: 0; border: 1px solid rgba(255, 255, 255, .65); border-radius: 0.375rem; background: rgba(255, 255, 255, .55); box-shadow: 0 .2rem .6rem rgba(12, 39, 84, .18); appearance: none; opacity: 1; overflow: hidden; cursor: pointer; transition: width .3s ease, background-color .3s ease; }
.home-hero .home-carousel-dot.active { width: 2.75rem; background: rgba(255, 255, 255, .45); }
.home-hero .home-carousel-dot:focus-visible { outline: 3px solid color-mix(in srgb, var(--home-primary) 30%, transparent); outline-offset: .25rem; }
.home-hero .home-carousel-progress { position: absolute; inset: 0; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--home-primary), var(--hero-cyan)); display: block; }
.home-hero .home-carousel-dot.active .home-carousel-progress { animation: bannerFooterProgress 5s linear forwards; }
/*视频播放中：进度条随轮播一起暂停*/
.home-hero .swiper-container.is-video-playing .home-carousel-dot.active .home-carousel-progress { animation-play-state: paused; }
@keyframes bannerFooterProgress {
  from { width: 0; }
  to { width: 100%; }
}
/*---- Hero 氛围层：浅色 AI 粒子、流体微光与精细网格 ----*/
.home-hero-atmosphere { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.home-hero-atmosphere::before { content: ""; position: absolute; inset: 0; opacity: .46; background-image: linear-gradient(rgba(77, 127, 191, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(77, 127, 191, .055) 1px, transparent 1px); background-size: 3.5rem 3.5rem; -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.82), rgba(0,0,0,.4) 48%, transparent 94%); mask-image: linear-gradient(90deg, rgba(0,0,0,.82), rgba(0,0,0,.4) 48%, transparent 94%); }
.home-hero-flow { position: absolute; width: 72rem; height: 16rem; border: 1px solid rgba(52, 134, 230, .11); border-radius: 50%; opacity: .68; filter: blur(.15rem); transform: rotate(-13deg); animation: homeHeroFlow 18s ease-in-out infinite alternate; }
.home-hero-flow::after { content: ""; position: absolute; inset: 2.2rem 4rem; border-top: 1px solid rgba(51, 184, 222, .13); border-radius: 50%; filter: drop-shadow(0 0 .7rem rgba(65, 177, 230, .16)); }
.home-hero-flow-a { top: 9%; left: -29rem; }
.home-hero-flow-b { right: -25rem; bottom: 4%; transform: rotate(164deg); animation-delay: -7s; animation-duration: 23s; }
.home-hero-signal { position: absolute; display: grid; place-items: center; color: rgba(39, 111, 215, .26); font: 600 .68rem/1 Inter, Arial, sans-serif; text-shadow: 0 0 1rem rgba(33, 141, 231, .2); animation: homeHeroSignal 7s ease-in-out infinite; }
.home-hero-signal::before { content: ""; position: absolute; width: 1.8rem; height: 1.8rem; border: 1px solid rgba(57, 127, 220, .08); border-radius: 50%; }
/*信号元素避让轮播右列：AI 置于轮播上方留白区，+ 置于轮播右下留白区*/
.home-hero-signal-ai { top: 7.5%; left: 45%; letter-spacing: .05em; }
.home-hero-signal-plus-a { top: 30%; left: 7%; animation-delay: -2.4s; }
.home-hero-signal-plus-b { right: 3%; bottom: 7%; animation-delay: -4.8s; }
.home-hero-signal-dot-a, .home-hero-signal-dot-b { width: .3rem; height: .3rem; border-radius: 50%; background: rgba(40, 150, 225, .25); box-shadow: 0 0 1rem rgba(40, 150, 225, .2); }
.home-hero-signal-dot-a { top: 72%; left: 43%; animation-delay: -3.2s; }
.home-hero-signal-dot-b { top: 12%; right: 18%; animation-delay: -5.2s; }
.home-hero-signal-dot-a::before, .home-hero-signal-dot-b::before { content: none; }
/*地平线光带：首屏底边居中渐变蓝线，与网站模板页首屏一致*/
.home-hero-horizon { position: absolute; left: 50%; bottom: 0; width: min(64rem, 86%); height: 1px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, rgba(64, 118, 255, .6) 38%, rgba(35, 205, 236, .65) 62%, transparent); box-shadow: 0 0 1.4rem rgba(70, 132, 255, .4), 0 -1.2rem 3.5rem rgba(64, 130, 255, .14); }
@keyframes homeHeroFlow {
  from { translate: -2% -3%; scale: .98; opacity: .42; }
  to { translate: 4% 3%; scale: 1.04; opacity: .72; }
}
@keyframes homeHeroSignal {
  0%, 100% { transform: translateY(0); opacity: .36; }
  50% { transform: translateY(-.65rem); opacity: .72; }
}
@keyframes homeHeroCardFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-.45rem); }
}
/*动态区块空状态：只保留后台实际启用的数据，同时维持单列首屏布局。*/
.home-hero.is-content-only > .container { grid-template-columns: minmax(0, 48rem); justify-content: center; }
.home-hero.is-content-only .home-hero-content { width: 100%; max-width: 48rem; }
.home-hero.is-media-only > .container { grid-template-columns: minmax(0, 60rem); justify-content: center; }
.home-hero.is-media-only .home-carousel { max-width: 60rem; }
/*---- Hero 媒体查询 ----*/
/*1400px 及以上桌面：全站统一 1400px（87.5rem）内容画布，不再随分辨率加宽。*/
@media (min-width: 1400px) {
  .home-hero { --home-hero-height: 44.5rem; min-height: var(--home-hero-height); }
  .home-hero > .container { width: calc(100% - 4rem); max-width: 87.5rem; min-height: var(--home-hero-height); grid-template-columns: minmax(32rem, 1fr) minmax(0, 1.35fr); gap: clamp(2.25rem, 2.5vw, 3rem); align-items: center; padding: 3rem .75rem; }
  .home-hero .home-hero-content,
  .home-hero .home-hero-title { max-width: 44rem; }
  .home-hero .home-hero-subtitle { max-width: 42rem; }
  .home-hero .home-hero-lead { max-width: 40rem; font-size: 1.0625rem; }
  .home-hero .home-carousel-main { width: 100%; max-width: 56rem; justify-self: end; }
}
/*高分辨率但纵向空间有限时，首屏跟随可视高度收紧。*/
@media (min-width: 1400px) and (max-height: 899.98px) {
  .home-hero { --home-hero-height: clamp(39rem, calc(100svh - 4.375rem), 42rem); }
  .home-hero > .container { padding-top: 2.25rem; padding-bottom: 2.25rem; }
  .home-hero .home-hero-title { font-size: clamp(2.45rem, 2.9vw, 3rem); }
  .home-hero .home-hero-subtitle { margin-top: .75rem; font-size: clamp(1.3rem, 1.55vw, 1.5rem); }
  .home-hero .home-hero-lead { margin-top: .875rem; margin-bottom: .875rem; }
  .home-hero-capabilities { margin-bottom: 1.25rem; }
  .home-hero-actions { margin-bottom: 1.375rem; }
}
@media (max-width: 1199.98px) {
  .home-hero > .container { grid-template-columns: minmax(24rem, .95fr) minmax(28rem, 1.2fr); gap: 2rem; padding-right: 1.5rem; padding-left: 1.5rem; }
  .home-hero .home-hero-title { font-size: clamp(2.3rem, 3.6vw, 2.75rem); }
  .home-hero .home-carousel-btn { display: none; }
}
/*桌面矮屏：轮播贴右缘*/
@media (min-width: 992px) and (max-height: 760px) {
  .home-hero .home-carousel-main { justify-self: end; }
}
@media (max-width: 991.98px) {
  .home-hero > .container { display: flex; min-height: 0; flex-direction: column; align-items: stretch; padding: 3.375rem 1.5rem 3.875rem; gap: 2.75rem; }
  .home-hero .home-hero-content { max-width: 43rem; text-align: left; }
  .home-hero .home-hero-title { font-size: clamp(2.8rem, 7vw, 3.75rem); }
  .home-hero .home-hero-subtitle { max-width: 40rem; font-size: clamp(1.4rem, 3.1vw, 1.7rem); }
  .home-hero .home-hero-lead { max-width: 40rem; }
  /*移动端竖排：右侧轮播面板提到首屏区块顶部展示，文字内容随后*/
  .home-hero .home-carousel { order: -1; width: min(100%, 45rem); max-width: none; }
  .home-hero .home-carousel-main { aspect-ratio: 850 / 430; width: 100%; max-width: none; justify-self: center; transform: none; }
  .home-hero-signal-ai { left: auto; right: 9%; }
  .home-hero-atmosphere::before { -webkit-mask-image: linear-gradient(#000, rgba(0,0,0,.3) 70%, transparent); mask-image: linear-gradient(#000, rgba(0,0,0,.3) 70%, transparent); }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .home-hero { padding: 2.5rem 0; }
  .home-hero .home-hero-content { margin-bottom: 1.5rem; }
}
@media (max-width: 767.98px) {
  .home-hero { padding: 0; }
  .home-hero > .container { min-width: auto; max-width: 100%; align-items: stretch; gap: 2rem; padding: 2.5rem 1rem 3rem; }
  .home-hero .home-hero-content { margin-bottom: 1.5rem; }
  .home-hero .home-hero-title { max-width: 100%; font-size: clamp(1.75rem, 9.25vw, 2.65rem); letter-spacing: -.045em; line-height: 1.16; white-space: normal; word-break: normal; word-break: auto-phrase; overflow-wrap: anywhere; text-wrap: balance; }
  .home-hero .home-hero-subtitle { max-width: 100%; margin-top: .75rem; font-size: clamp(1.15rem, 5.3vw, 1.45rem); line-height: 1.48; word-break: normal; word-break: auto-phrase; overflow-wrap: anywhere; }
  .home-hero .home-hero-kicker { margin-bottom: 1rem; padding: .45rem .75rem; font-size: .7rem; }
  .home-hero .home-hero-lead { display: -webkit-box; overflow: hidden; margin: 1rem 0 .9rem; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
  .home-hero-capabilities { gap: .5rem .8rem; margin-bottom: 1.3rem; }
  .home-hero-actions { margin-bottom: 1.5rem; }
  .home-hero-actions a { min-height: 2.75rem; padding: 0 1.125rem; }
  .home-hero .home-carousel { width: 100%; max-width: none; }
  .home-hero .home-carousel-main { float: none !important; width: 100%; max-width: none; height: auto; margin-left: 0; border-width: .3rem; border-radius: 1rem; box-shadow: 0 1.25rem 2.5rem rgba(40, 77, 133, .14); aspect-ratio: 16 / 9; }
  .home-carousel-caption { margin-bottom: .65rem; }
  .home-carousel-caption span { min-height: 1.5rem; padding: 0 .55rem; font-size: .56rem; }
  .home-hero .home-carousel-footer { left: 50%; bottom: .7rem; transform: translateX(-50%); }
  .home-hero-flow { width: 44rem; height: 11rem; }
  .home-hero-flow-a { left: -29rem; }
  .home-hero-signal { opacity: .65; }
}
@media (max-width: 479.98px) {
  .home-hero > .container { padding-top: 2rem; padding-bottom: 2.5rem; }
  .home-hero .home-hero-content { margin-bottom: .75rem; }
  .home-hero .home-hero-title { font-size: clamp(1.75rem, 9.25vw, 2.35rem); }
  .home-hero .home-hero-subtitle { margin-top: .625rem; }
  .home-hero-capabilities { display: grid; grid-template-columns: 1fr 1fr; }
  .home-hero-actions { display: grid; grid-template-columns: 1fr; }
  .home-hero-actions a { width: 100%; }
  .home-carousel-caption span { letter-spacing: .06em; }
}
/*==================== 信任条：数据证明 ====================*/
.home-stats { position: relative; padding: 3.5rem 0; overflow: hidden; border-top: 1px solid rgba(207,220,239,.8); border-bottom: 1px solid rgba(207,220,239,.8); background: radial-gradient(circle at 8% 10%, rgba(36,107,253,.1), transparent 22rem),
    linear-gradient(145deg, #f3f7fe, #f8fbff); }
.home-stats::after { content: ''; position: absolute; right: -8rem; bottom: -13rem; width: 25rem; height: 25rem; border: 1px solid rgba(19,191,229,.12); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(36,107,253,.018); pointer-events: none; }
.home-stats > .container { position: relative; z-index: 1; display: grid; width: calc(100% - 4rem); max-width: 87.5rem; grid-template-columns: minmax(32rem,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(2.5rem,6vw,6rem); }
.home-stats-kicker { color: #246bfd; font-size: .7rem; font-weight: 750; letter-spacing: .15em; }
.home-stats-copy h2 { margin: .65rem 0 0; color: #132039; font-size: clamp(1.65rem,2.1vw,2.2rem); font-weight: 720; letter-spacing: -.035em; line-height: 1.3; white-space: nowrap; }
.home-stats-copy p { max-width: 29rem; margin: .7rem 0 0; color: #6b7890; font-size: .875rem; line-height: 1.75; }
.home-stats-index { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; padding: 0; }
.home-stats-index li { position: relative; min-width: 0; padding: .75rem clamp(1.25rem,3vw,2.75rem); border-left: 1px solid #d6e1f0; }
.home-stats-index li:first-child { border-left: 0; }
.home-stats-index strong { display: block; color: #246bfd; font-size: clamp(2rem,3.25vw,3rem); font-weight: 720; letter-spacing: -.055em; line-height: 1; white-space: nowrap; }
.home-stats-index strong em { margin-left: .2rem; font-size: .45em; font-style: normal; letter-spacing: 0; }
.home-stats-index li > span { display: block; margin-top: .65rem; color: #68778d; font-size: .8rem; white-space: nowrap; }
@media (max-width: 991.98px) {
  .home-stats > .container { width: calc(100% - 3rem); grid-template-columns: 1fr; gap: 2rem; }
  .home-stats-copy { max-width: 39rem; }
  .home-stats-index li { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (max-width: 767.98px) {
  .home-stats > .container { width: 100%; padding-right: 1rem; padding-left: 1rem; }
  .home-stats-copy { text-align: center; }
  .home-stats-copy h2 { white-space: normal; }
  .home-stats-copy p { margin-right: auto; margin-left: auto; }
  .home-stats-index li { padding: .5rem; text-align: center; }
  .home-stats-index strong { font-size: clamp(1.75rem,8vw,2.35rem); }
  .home-stats-index li > span { overflow: hidden; font-size: .7rem; text-overflow: ellipsis; }
}
/*==================== 产品矩阵：统一品牌卡片系统 ====================*/
/*前四项作为核心入口（is-featured），其余产品收敛为轻量能力卡*/
.home-product { height: auto; position: relative; min-height: 0; padding: 5.5rem 0 5.75rem; overflow: hidden; background: var(--home-section-white); }
.home-product::before { content: ""; display: block; position: absolute; z-index: 0; inset: -14rem auto auto -10rem; width: 36rem; height: 36rem; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--home-primary) 8%, transparent), transparent 69%); opacity: .9; pointer-events: none; }
.home-product > .container { position: relative; z-index: 1; padding-right: .75rem; padding-left: .75rem; }
.home-product .home-product-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.home-product .home-product-item { position: relative; z-index: 0; display: block; float: none !important; width: auto; height: 7.25rem; margin: 0; overflow: hidden; border: 1px solid #e3eaf4; border-radius: .875rem; background: rgba(255,255,255,.94); box-shadow: 0 .5rem 1.5rem rgba(31,55,91,.055); transition: transform .24s ease, box-shadow .24s ease; }
.home-product .home-product-item:not(.is-more):hover, .home-product .home-product-item:not(.is-more):focus-within { border-color: color-mix(in srgb, var(--home-primary) 48%, #dce5f1 52%); background: #fff; box-shadow: 0 .875rem 1.75rem rgba(31, 55, 91, .10); transform: translateY(-.25rem); }
.home-product .home-product-item:not(.is-more):hover .home-product-name,
.home-product .home-product-item:not(.is-more):focus-within .home-product-name { color: var(--home-theme-strong); }
.home-product .home-product-item:not(.is-more):hover .home-product-desc,
.home-product .home-product-item:not(.is-more):focus-within .home-product-desc { color: #5c7192; }
.home-product .home-product-item:not(.is-more):hover .home-product-icon,
.home-product .home-product-item:not(.is-more):focus-within .home-product-icon { border-radius: 1rem; background: radial-gradient(circle, #fff 22%, var(--home-theme-soft-strong) 100%); box-shadow: 0 .5rem 1.1rem var(--home-theme-shadow); }
.home-product .home-product-item:not(.is-more):hover .home-product-link,
.home-product .home-product-item:not(.is-more):focus-within .home-product-link { text-shadow: 0 0 .6rem rgba(255,255,255,.6); }
.home-product .home-product-item:not(.is-more):hover .home-product-icon,
.home-product .home-product-item:not(.is-more):focus-within .home-product-icon { filter: none; }
.home-product .home-product-item .home-product-card { display: block; width: 100%; height: 100%; padding: 1.35rem 6.5rem 1.25rem 5.4rem; box-sizing: border-box; border: 0; background: transparent; text-align: left; filter: none; transform: none; transition: none; }
.home-product .home-product-item .home-product-icon { position: absolute; top: 1.6rem; left: 1.35rem; width: 3.1rem; height: 3.1rem; display: flex; align-items: center; justify-content: center; border-radius: 0.812rem; overflow: hidden; }
/*图标 PNG 自带圆角底板，按原图尺寸铺满整个图标位*/
.home-product .home-product-item .home-product-icon img { width: 100%; height: 100%; object-fit: cover; transition: transform .24s ease; }
.home-product .home-product-item:hover .home-product-icon img { transform: scale(1.06); }
.home-product .home-product-item .home-product-name { line-height: 1.5rem; font-size: 1.125rem; color: #17243d; overflow: hidden; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
/*普通产品名称允许自然换行，确保较长品牌名（如“腾数智搜GEO”）完整展示。*/
.home-product .home-product-item:not(.is-featured) .home-product-name { max-width: 100%; overflow: visible; line-height: 1.35; text-overflow: clip; white-space: normal; word-break: keep-all; }
/*普通产品将标题、副标题作为信息组，与左侧图标保持垂直居中。*/
.home-product .home-product-item:not(.is-featured) .home-product-info { position: absolute; top: 50%; right: 4rem; left: 5.4rem; min-width: 0; transform: translateY(-50%); }
.home-product .home-product-item:not(.is-featured) .home-product-name { margin: 0; }
.home-product .home-product-item:not(.is-featured) .home-product-desc { margin-top: .35rem; }
.home-product .home-product-item.is-featured .home-product-info { display: contents; }
.home-product .home-product-item.is-new .home-product-name::after { content: "新品"; position: relative; top: 0; display: inline-block; vertical-align: top; width: auto; height: 1.25rem; margin-left: 0.5rem; padding: 0 0.438rem; border-radius: 0.25rem; background: linear-gradient(77deg, #fd8378 0, #f63012 100%); box-shadow: 0 0.188rem 0.5rem rgba(246, 65, 45, .18); color: #fff; font-size: .6875rem; font-weight: 600; line-height: 1.25rem; text-align: center; }
/*新品标记始终与产品名称保持同一行，避免标记掉到名称下方。*/
.home-product .home-product-item.is-new .home-product-name { display: flex; align-items: center; flex-wrap: nowrap; white-space: nowrap; }
.home-product .home-product-item.is-new .home-product-name::after { flex: 0 0 auto; margin-left: .5rem; }
.home-product .home-product-item .home-product-desc { margin-top: 0.562rem; color: #7a879b; font-size: .8125rem; opacity: 1; overflow: hidden; line-height: 1.25rem; text-overflow: ellipsis; white-space: nowrap; }
.home-product .home-product-item .home-product-link { position: absolute; top: 50%; right: 1.15rem; left: auto; z-index: 2; display: inline-flex; width: auto; min-width: 4.5rem; height: 2rem; align-items: center; justify-content: center; gap: .25rem; margin: 0; padding: 0 .75rem; border: 1px solid color-mix(in srgb, var(--home-primary) 18%, #d6e2f5 82%); border-radius: 1.062rem; background: var(--home-theme-soft); color: var(--home-primary); font-size: .75rem; line-height: 1; text-align: center; opacity: 1; transform: translateY(-50%); transition: color .2s ease, background .2s ease, border-color .2s ease; }
.home-product .home-product-item:hover .home-product-link { border-color: transparent; background: transparent; color: var(--home-theme-strong); }
.home-product .home-product-item:not(.is-featured) .home-product-link-arrow { min-width: 2rem; width: 2rem; height: 2rem; padding: 0; border-color: transparent; background: transparent; color: #9aabc3; font-size: .95rem; }
.home-product .home-product-item:not(.is-featured):hover .home-product-link-arrow,
.home-product .home-product-item:not(.is-featured):focus-within .home-product-link-arrow { border-color: transparent; background: var(--home-theme-soft-strong); color: var(--home-primary); }
.home-product .home-product-item:not(.is-featured):hover .home-product-link-arrow i,
.home-product .home-product-item:not(.is-featured):focus-within .home-product-link-arrow i { transform: translateX(.16rem); }
.home-product .home-product-item .home-product-link i { font-size: .7rem; transition: transform .2s ease; }
.home-product .home-product-item:hover .home-product-link i { transform: translateX(.18rem); }
/*首页内容区统一“查看更多”入口：位于主体内容下方居中展示。*/
.home-product .home-product-more { display: flex; justify-content: center; margin-top: 2.5rem; }
.home-product .home-product-more-btn { display: inline-flex; align-items: center; gap: 0.375rem; height: 2.75rem; padding: 0 1.875rem; box-sizing: border-box; border: 1px solid var(--home-primary); border-radius: 1.375rem; background: linear-gradient(135deg, var(--home-primary), color-mix(in srgb, var(--home-primary) 84%, #fff)); box-shadow: 0 .6rem 1.4rem var(--home-theme-shadow); color: #fff; font-size: .9375rem; font-weight: 600; line-height: 1; text-decoration: none; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.home-product .home-product-more-btn:hover { border-color: var(--home-theme-strong); background: var(--home-theme-strong); box-shadow: 0 .8rem 1.75rem color-mix(in srgb, var(--home-primary) 26%, transparent); color: #fff; transform: translateY(-0.125rem); }
/*核心入口大卡*/
.home-product .home-product-item.is-featured { height: 11.25rem; border-color: var(--home-theme-border); background: #fff; box-shadow: 0 .75rem 1.75rem rgba(31,72,139,.06); }
.home-product .home-product-item.is-featured .home-product-card { display: flex; padding: 1.35rem 1.3rem 1.15rem; flex-direction: column; align-items: flex-start; }
.home-product .home-product-item.is-featured .home-product-icon { position: static; width: 3.35rem; height: 3.35rem; }
.home-product .home-product-item .home-product-tags { position: absolute; z-index: 4; top: .9rem; right: .9rem; display: flex; align-items: center; gap: .4rem; max-width: 70%; overflow: hidden; pointer-events: none; }
.home-product .home-product-item .home-product-tags em { display: block; overflow: hidden; max-width: 8rem; padding: .3rem .6rem; border: 1px solid color-mix(in srgb, var(--home-primary) 24%, #fff 76%); border-radius: 999px; background: var(--home-theme-soft); box-shadow: none; color: var(--home-primary); font-size: .7rem; font-style: normal; font-weight: 650; letter-spacing: .02em; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; transition: color .24s ease, background .24s ease, border-color .24s ease, box-shadow .24s ease, transform .24s ease; }
.home-product .home-product-item:hover .home-product-tags em,
.home-product .home-product-item:focus-within .home-product-tags em { border-color: var(--home-primary); background: var(--home-primary); box-shadow: none; color: #fff; transform: translateY(-1px); }
.home-product .home-product-item.is-featured .home-product-name { margin-top: .75rem; }
.home-product .home-product-item.is-featured .home-product-desc { margin-top: .2rem; }
.home-product .home-product-item.is-featured .home-product-link { position: absolute; top: auto; right: 1.1rem; bottom: 1.05rem; width: auto; min-width: 0; height: auto; padding: 0; border: 0; background: transparent; transform: none; }
.home-product .home-product-item.is-featured:hover .home-product-link { margin: 0; color: var(--home-primary-dark); background: transparent; transform: none; }
/*---- 产品矩阵媒体查询 ----*/
@media (max-width: 1199.98px) {
  .home-product .home-product-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .home-product .home-product-item.is-featured:nth-child(4) { height: 7.25rem; }
  .home-product .home-product-item.is-featured:nth-child(4) .home-product-card { display: block; padding: 1.35rem 6.5rem 1.25rem 5.4rem; }
  .home-product .home-product-item.is-featured:nth-child(4) .home-product-icon { position: absolute; top: 1.6rem; left: 1.35rem; width: 3.1rem; height: 3.1rem; }
  .home-product .home-product-item.is-featured:nth-child(4) .home-product-name { margin-top: 0; }
  .home-product .home-product-item.is-featured:nth-child(4) .home-product-link { top: 50%; right: 1.15rem; bottom: auto; height: 2rem; padding: 0 .75rem; border: 1px solid #d6e2f5; transform: translateY(-50%); }
}
@media (max-width: 991.98px) {
  .home-product .home-product-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-product .home-product-item.is-featured:nth-child(4) { height: 11.25rem; }
  .home-product .home-product-item.is-featured:nth-child(4) .home-product-card { display: flex; padding: 1.35rem 1.3rem 1.15rem; }
  .home-product .home-product-item.is-featured:nth-child(4) .home-product-icon { position: static; width: 3.35rem; height: 3.35rem; }
  .home-product .home-product-item.is-featured:nth-child(4) .home-product-name { margin-top: .75rem; }
  .home-product .home-product-item.is-featured:nth-child(4) .home-product-link { top: auto; right: 1.1rem; bottom: 1.05rem; height: auto; padding: 0; border: 0; transform: none; }
}
@media (max-width: 767.98px) {
  .home-product { padding: 4.25rem 0; }
  .home-product .home-product-list { grid-template-columns: 1fr; gap: .75rem; }
  .home-product .home-product-item,
  .home-product .home-product-item.is-featured,
  .home-product .home-product-item.is-featured:nth-child(4) { height: 7rem; }
  .home-product .home-product-item.is-featured .home-product-card,
  .home-product .home-product-item.is-featured:nth-child(4) .home-product-card { display: block; padding: 1.25rem 6.25rem 1.1rem 5.15rem; }
  .home-product .home-product-item.is-featured .home-product-icon,
  .home-product .home-product-item.is-featured:nth-child(4) .home-product-icon { position: absolute; top: 1.45rem; left: 1.25rem; width: 2.95rem; height: 2.95rem; }
  .home-product .home-product-item.is-featured .home-product-name,
  .home-product .home-product-item.is-featured:nth-child(4) .home-product-name { margin-top: 0; }
  .home-product .home-product-item.is-featured .home-product-link,
  .home-product .home-product-item.is-featured:nth-child(4) .home-product-link { top: 50%; right: 1rem; bottom: auto; height: 1.875rem; padding: 0 .65rem; border: 1px solid #d6e2f5; transform: translateY(-50%); }
  .home-product .home-product-item .home-product-name { line-height: 1.4; font-size: 1rem; }
  .home-product .home-product-item .home-product-desc { margin-top: 0.375rem; font-size: .75rem; }
  .home-product .home-product-more { margin-top: 1.5rem; }
  .home-product .home-product-more-btn { height: 2.5rem; padding: 0 1.5rem; font-size: .875rem; }
}
/*三大产品组：首页完整呈现 AI 腾数智能、腾数产品与腾数服务。*/
.home-product .home-product-groups { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.42fr) minmax(0, .92fr); gap: 1rem; align-items: stretch; }
.home-product .home-product-group { display: flex; min-width: 0; padding: 1.4rem; flex-direction: column; border: 1px solid #e1e9f5; border-radius: 1rem; background: linear-gradient(145deg, #fff, #fbfcff); box-shadow: 0 .75rem 1.8rem rgba(31, 55, 91, .055); }
.home-product .home-product-group-1 { border-color: color-mix(in srgb, var(--home-primary) 35%, #e1e9f5 65%); background: linear-gradient(145deg, color-mix(in srgb, var(--home-primary) 5%, #fff), #fff 42%); }
.home-product .home-product-group-head { min-height: 5.2rem; padding: 0 .1rem 1rem; border-bottom: 1px solid #e9eef6; }
.home-product .home-product-group-kicker { display: block; color: var(--home-primary); font-size: .625rem; font-weight: 750; letter-spacing: .14em; line-height: 1.2; }
.home-product .home-product-group-head h3 { position: relative; margin: .35rem 0 0; padding-left: .65rem; color: #17243d; font-size: 1.2rem; font-weight: 700; line-height: 1.35; }
.home-product .home-product-group-head h3::before { position: absolute; top: .17rem; bottom: .17rem; left: 0; width: .2rem; border-radius: 999px; background: var(--home-primary); content: ''; }
.home-product .home-product-group-head p { min-height: 1.2rem; margin: .35rem 0 0; overflow: hidden; color: #71809a; font-size: .75rem; line-height: 1.6; text-overflow: ellipsis; white-space: nowrap; }
.home-product .home-product-group-list { display: grid; grid-template-columns: 1fr; gap: .45rem; margin: 1rem 0 0; padding: 0; list-style: none; }
/*腾数产品按列优先排列：左列最多 5 项，排满后继续右列。*/
.home-product .home-product-group-1 .home-product-group-list { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(5, minmax(3.7rem, auto)); grid-auto-flow: column; }
.home-product .home-product-group-item { min-width: 0; }
.home-product .home-product-group-item > a { display: flex; min-width: 0; min-height: 3.7rem; align-items: center; gap: .7rem; padding: .55rem .65rem; border: 1px solid transparent; border-radius: .7rem; color: #253550; text-decoration: none; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease; }
.home-product .home-product-group-item > a:hover,
.home-product .home-product-group-item > a:focus-visible { border-color: color-mix(in srgb, var(--home-primary) 30%, #dfe8f4 70%); outline: 0; background: #fff; box-shadow: 0 .45rem 1rem color-mix(in srgb, var(--home-primary) 10%, transparent); transform: translateX(.14rem); }
.home-product .home-product-group-icon { display: flex; width: 2.45rem; height: 2.45rem; flex: 0 0 2.45rem; align-items: center; justify-content: center; overflow: hidden; border-radius: .65rem; color: var(--home-primary); font-size: 1.35rem; }
.home-product .home-product-group-icon img { width: 100%; height: 100%; object-fit: cover; }
.home-product .home-product-group-name { overflow: hidden; font-size: .9rem; font-weight: 650; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.home-product .home-product-group-item.is-new .home-product-group-name::after { display: inline-block; margin-left: .35rem; padding: .1rem .28rem; border-radius: .2rem; background: #fa4b37; color: #fff; content: '新品'; font-size: .58rem; font-weight: 600; line-height: 1.2; vertical-align: .08rem; }
@media (max-width: 1199.98px) {
  .home-product .home-product-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-product .home-product-group-1 { grid-column: span 2; }
}
@media (max-width: 767.98px) {
  .home-product .home-product-groups { grid-template-columns: 1fr; gap: .75rem; }
  .home-product .home-product-group,
  .home-product .home-product-group-1 { grid-column: auto; padding: 1.15rem; }
  .home-product .home-product-group-head { min-height: 0; }
  .home-product .home-product-group-1 .home-product-group-list { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
  .home-product .home-product-group-item > a { min-height: 3.45rem; }
}
/*==================== 海量模板：Tabs + 场景化设备预览 ====================*/
.home-template { height: auto; position: relative; min-height: 0; padding: 5.75rem 0 6rem; overflow: hidden; isolation: isolate; background: var(--home-section-blue); }
/*左上角圆形柔光*/
.home-template::before { content: ""; display: block; position: absolute; z-index: 0; inset: -14rem auto auto -10rem; width: 36rem; height: 36rem; border-radius: 50%; background: radial-gradient(circle, rgba(36,107,253,.1), rgba(36,107,253,0) 69%); opacity: .45; pointer-events: none; }
.home-template > .container { position: relative; z-index: 1; padding-right: .75rem; padding-left: .75rem; perspective: 112.5rem; }
/*模板产品面板动态主题：后台可任意增删产品，颜色按排序循环，预览框按模板终端自动切换。*/
.home-template[data-active-tone="0"] { --tpl-accent: #246bfd; --tpl-accent-end: #16b9dc; --tpl-accent-soft: rgba(36,107,253,.09); }
.home-template[data-active-tone="1"] { --tpl-accent: #5b6cff; --tpl-accent-end: #9b7bff; --tpl-accent-soft: rgba(91,108,255,.09); }
.home-template[data-active-tone="2"] { --tpl-accent: #ff762f; --tpl-accent-end: #ffb34f; --tpl-accent-soft: rgba(255,118,47,.09); }
.home-template[data-active-tone="3"] { --tpl-accent: #08aebf; --tpl-accent-end: #42d4ae; --tpl-accent-soft: rgba(8,174,191,.09); }
.home-template[data-active-tone="4"] { --tpl-accent: #0fa78e; --tpl-accent-end: #62d4ae; --tpl-accent-soft: rgba(15,167,142,.09); }
.home-template[data-active-tone="5"] { --tpl-accent: #ef5d86; --tpl-accent-end: #ff956b; --tpl-accent-soft: rgba(239,93,134,.09); }
/*数据可视化 TAB 固定深蓝色主题，呼应大屏看板的深海蓝。*/
.home-template[data-active-tone="6"] { --tpl-accent: #1448c8; --tpl-accent-end: #246bfd; --tpl-accent-soft: rgba(20,72,200,.09); }
/*---- Tabs：白底浅蓝描边分段条，激活项为品牌蓝渐变胶囊 ----*/
.home-template-tabs { position: relative; z-index: 3; margin: 0 auto; }
.home-template .home-template-tabs .home-tab {
  position: relative;
  z-index: 3;
  width: 100%;
  margin: 0;
  padding: .5rem;
  overflow: hidden;
  border: 1px solid #d7e3f6;
  border-radius: 1.125rem;
  background: #fff;
  box-shadow: 0 .75rem 2rem rgba(37, 73, 124, .07), inset 0 1px 0 #fff;
  box-sizing: border-box;
  line-height: normal;
  backdrop-filter: blur(14px);
  /*不得在此加 translateZ：container 带 perspective，3D 变换会让移动端命中测试绕过内部 tab 项（点击落在父容器上，切换失效）*/
}
/*选项卡条水晶玻璃描边环：参照 Banner 分页激活条的蓝→青品牌渐变（#246bfd → #13bfe5），浅底清晰可见*/
.home-template .home-tab::after { content: ""; position: absolute; inset: 0; z-index: 3; padding: 2px; border-radius: inherit; background: linear-gradient(120deg, rgba(36, 107, 253, .95) 0%, rgba(42, 150, 244, .7) 32%, rgba(19, 191, 229, .5) 50%, rgba(42, 150, 244, .7) 68%, rgba(19, 191, 229, .95) 100%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; -webkit-backdrop-filter: blur(4px) saturate(1.3); backdrop-filter: blur(4px) saturate(1.3); opacity: 1; pointer-events: none; }
.home-template .home-template-tabs .home-tab-list { display: flex; flex-wrap: nowrap; width: 100%; min-width: 0; height: auto; align-items: center; justify-content: center; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.home-template .home-tab .home-tab-list::after { display: none; }
.home-template .home-template-tabs .home-tab-item { --template-tab-accent: #246bfd; position: relative; display: flex; flex: 0 1 9.5rem; width: auto; min-width: 7rem; height: 3.15rem; align-items: center; justify-content: center; margin: 0; padding: 0 1rem; border: 0; border-radius: .8rem; background: transparent; box-shadow: none; color: #6d7b91; font-size: .94rem; font-weight: 600; letter-spacing: .01em; line-height: 1; text-align: center; white-space: nowrap; cursor: pointer; outline: none; float: none !important; transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.home-template .home-tab .home-tab-item[type="mall"] { --template-tab-accent: #f47b32; }
.home-template .home-tab .home-tab-item[type="qz"] { --template-tab-accent: #20a9ca; }
.home-template .home-tab .home-tab-item[type="hd"] { --template-tab-accent: #4e88f7; }
.home-template .home-tab .home-tab-item[type="ktu"] { --template-tab-accent: #e99516; }
.home-template .home-tab .home-tab-item[type="edu"] { --template-tab-accent: #5b79e8; }
.home-template .home-template-tabs .home-tab-item:hover { border: 0; background: #f6f8fc; box-shadow: none; color: var(--template-tab-accent) !important; transform: none; }
.home-template .home-template-tabs .home-tab-item.active { border: 0; background: linear-gradient(100deg, #3d8bff, #246bfd); color: #fff !important; font-weight: 700; box-shadow: 0 .6rem 1.4rem rgba(36, 107, 253, .3), inset 0 1px 0 rgba(255, 255, 255, .22); }
.home-template .home-tab .home-tab-item:focus-visible { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--template-tab-accent) 42%, transparent); }
.home-template .home-tab-slider { display: none; }
/*---- 内容面板 ----*/
.home-template .home-template-wp { position: relative; z-index: 1; width: 100%; height: 34.375rem; margin-top: 0; overflow: visible; }
.home-template .home-template-panel {
  --template-glow-x: 50%;
  --template-glow-y: 50%;
  --template-rotate-x: 0deg;
  --template-rotate-y: 0deg;
  --preview-x: 0px;
  --preview-y: 0px;
  --copy-x: 0px;
  --copy-y: 0px;
  --preview-scale: 1;
  position: relative;
  margin-top: .75rem;
  /*禁止 overflow:hidden/clip：面板的溢出裁剪会让预览 iframe 内的合成层（fixed+backdrop-filter 头部）
     逃逸设备内屏的圆角裁剪，在手机框四角画出亮角（Blink 合成器裁剪串链缺陷）。
     子元素均有内边距远离面板圆角，视觉无需面板级裁剪；信息区裁剪由 card 承担。*/
  border: 1px solid #e0e8f3;
  border-radius: 1.5rem;
  background: linear-gradient(145deg, #fff 0 42%, #f7f9fd 42% 100%);
  box-shadow: 0 1.35rem 3.25rem rgba(37,73,124,.1);
  isolation: isolate;
  /*面板不做 3D 倾斜：rotateX/rotateY 会让内部文字、按钮被 GPU 次像素栅格化而发虚*/
  transition: box-shadow .25s ease;
}
.home-template .home-template-panel.is-pointer-active { --preview-scale: 1.018; box-shadow: 0 1.875rem 4.25rem rgba(37, 89, 164, .2); }
.home-template .home-template-panel .home-template-card { position: relative; display: grid; grid-template-columns: minmax(21rem, .82fr) minmax(0, 1.18fr); align-items: center; gap: clamp(2rem, 4vw, 4.5rem); width: 100%; height: 34.375rem; padding: 3rem 3.4rem; overflow: hidden; border: 0; border-radius: 0; background: transparent; box-shadow: none; box-sizing: border-box; isolation: auto; }
.home-template .home-template-panel .home-template-info { order: 1; align-self: stretch; }
/*关键：card 带 clearfix 类，.clearfix:after 生成的伪元素会成为 grid 项目抢占轨道，必须屏蔽（旧规则的 display:none 不是死代码）*/
.home-template .home-template-card::before,
.home-template .home-template-card::after { display: none; }
.home-template .home-template-panel .home-template-left { order: 2; }
.home-template .home-template-left { position: relative; z-index: 2; width: 100%; height: 27.5rem; }
.home-template .home-template-bg { position: absolute; z-index: 1; inset: 0; width: auto; height: auto; }
.home-template .home-template-bg-con { position: absolute; top: 5.25rem; left: 0; width: 100%; height: 17rem; border-radius: 1.125rem; background: linear-gradient(90deg, var(--tpl-accent), var(--tpl-accent-end)) !important; box-shadow: inset 0 0.062rem 0 rgba(255,255,255,.48), 0 1.25rem 3rem rgba(49, 91, 153, .1); opacity: 0; transform: translate3d(0, 0, 0); transition: opacity 1s ease, filter 1s ease, transform 1s ease; }
.home-template .home-template-bg-con.active { opacity: .78; transform: translate3d(0, 0, 0.062rem); }
/*========== 行业模板预览: 最新/热门角标 + 悬停扫码与操作 ==========
   1:1 复刻网站模板页 APP 卡片(channel_template.css .template-card-h5):
   角标贴右缘半出外框, 悬停/聚焦显示深色遮罩 + 微信扫码二维码 + 免费搭建/预览胶囊按钮*/
.home-template .home-template-panel .home-template-card .home-template-bg-img { position: absolute; top: 50%; left: 50%; width: min(92%, 34rem) !important; height: 25rem; margin: 0 !important; border: 0.5rem solid rgba(255,255,255,.8); border-radius: 0.812rem; background: #fff; box-shadow: 0 1.5rem 3.25rem rgba(42, 72, 116, .22), 0 0 0 2px rgba(148, 190, 255, .45), inset 0 0 0 2px rgba(255, 255, 255, .5); overflow: visible; transform: translate(calc(-50% + var(--preview-x)), calc(-50% + var(--preview-y))) scale(var(--preview-scale)); transition: transform .2s ease-out, box-shadow .3s ease; }
.home-template .home-template-panel.is-pointer-active .home-template-bg-img { box-shadow: 0 2.125rem 4.375rem rgba(37, 81, 148, .28); }
/*预览面板改为真实示例页 iframe 实时预览（雪碧图退役）：填满容器并屏蔽内部交互，悬停浮层仍由面板接管*/
.home-template .home-template-pane { position: absolute; top: 0; left: 0 !important; width: 100% !important; height: 100%; margin-left: 0 !important; padding: 0; box-sizing: border-box; border-radius: 0.438rem; background: #fff; opacity: 0; z-index: 0; overflow: visible; transition: opacity .65s ease; }
.home-template .home-template-pane.active { opacity: 1; z-index: 1; }
.home-template .home-template-pane:focus { outline: none; }
/*预览裁剪容器：iframe 内 fixed/sticky 元素在 pane 渐隐合成时会逃逸 iframe 自身的 border-radius/clip-path，
   祖先 overflow 裁剪对合成层可靠；圆角继承 pane 的各设备内屏半径。角标/切换按钮在容器外，不受影响。*/
.home-template .home-template-screen { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; }
/*悬停遮罩(同 APP 卡片 cover::before)*/
.home-template .home-template-pane::before { content: ""; position: absolute; z-index: 3; inset: 0; top: 2.125rem; border-radius: 0 0 0.438rem 0.438rem; background: rgba(16, 19, 25, .62); opacity: 0; transition: opacity .22s ease; pointer-events: none; }
.home-template .home-template-pane.active.is-preview-hovered::before { opacity: 1; }
.home-template .home-template-pane .home-template-live,
.home-template .home-template-pane .home-template-pic { position: absolute; top: 2.125rem; left: 0; display: block; width: 100%; height: calc(100% - 2.125rem); border-radius: 0 0 0.438rem 0.438rem; }
.home-template .home-template-pane .home-template-live { border: 0; background: #fff; pointer-events: none; }
/*后台上传的预览图: 覆盖在雪碧图之上填满容器(留空则回退雪碧图)*/
.home-template .home-template-pane .home-template-pic { object-fit: cover; }
.home-template .home-template-pane .home-template-preview-bar { position: absolute; z-index: 4; top: 0; right: 0; left: 0; display: flex; height: 2.125rem; align-items: center; gap: 0.375rem; padding: 0 0.75rem; border-bottom: 1px solid #e6ebf2; border-radius: 0.375rem 0.375rem 0 0; background: rgba(249,251,254,.95); color: #98a4b5; font-size: .625rem; letter-spacing: .04em; }
.home-template-preview-bar i { width: 0.438rem; height: 0.438rem; border-radius: 50%; background: #ff8b80; }
.home-template-preview-bar i:nth-child(2) { background: #ffc86b; }
.home-template-preview-bar i:nth-child(3) { background: #67d39e; }
.home-template-preview-bar span { margin-left: 0.312rem; }
.home-template-preview-address { display: inline-flex; max-width: 74%; height: 1.35rem; align-items: center; justify-content: center; margin: 0 auto !important; padding: 0 1.15rem; overflow: hidden; border: 1px solid #e4e9f1; border-radius: 999px; background: #fff; color: #7b8798; text-overflow: ellipsis; white-space: nowrap; }
/*最新/热门角标(同 .template-card-h5 .template-card-badge)*/
.home-template .home-template-badge { position: absolute; z-index: 8; top: 1.1rem; right: 0; left: auto; display: inline-flex; min-width: 2.85rem; min-height: 1.3rem; align-items: center; justify-content: center; padding: 0 0.4rem; border-radius: 0.25rem; color: #fff; font-size: 0.65rem; font-weight: 600; line-height: 1; transform: translateX(50%); box-shadow: 0 0.15rem 0.45rem rgba(30, 43, 65, .18); }
.home-template .home-template-badge-hot { background: linear-gradient(135deg, #ff563f, #f92f56); }
/*悬停层定位容器(不拦截预览区事件, 按钮显示时才可点击)*/
.home-template .home-template-overlay { position: absolute; z-index: 4; inset: 0; pointer-events: none; }
/*微信扫码二维码卡片(同 .template-card-qr)*/
.home-template .home-template-qr { position: absolute; top: 16%; left: 50%; display: flex; width: 78%; max-width: 12rem; flex-direction: column; align-items: center; gap: 0.35rem; padding: 0.55rem; border-radius: 0.55rem; background: #fff; opacity: 0; transform: translate(-50%, 0.5rem); transition: opacity .22s ease, transform .22s ease; }
.home-template .home-template-qr img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.home-template .home-template-qr span { color: #596475; font-size: 0.7rem; }
.home-template .home-template-pane.active.is-preview-hovered .home-template-qr { opacity: 1; transform: translate(-50%, 0); }
/*免费搭建/预览按钮组(同 .template-card-h5 .template-card-actions)*/
.home-template .home-template-actions { position: absolute; right: 11%; bottom: 6%; left: 11%; display: flex; max-width: 14.5rem; flex-direction: column; gap: 0.5rem; margin: 0 auto; opacity: 0; transition: opacity .24s ease; }
.home-template .home-template-pane.active.is-preview-hovered .home-template-actions { opacity: 1; pointer-events: auto; }
.home-template .home-template-actions a { display: inline-flex; width: 100%; height: 2.45rem; align-items: center; justify-content: center; gap: 0.35rem; padding: 0 1rem; border: 1px solid rgba(255, 255, 255, .85); border-radius: 999px; color: #fff; font-size: 0.85rem; font-weight: 600; box-sizing: border-box; }
.home-template .home-template-actions .home-template-use { border-color: #ff6847; background: #ff6847; }
.home-template .home-template-actions .home-template-view { border-color: #fff; background: #fff; color: #ff6847; }
/*---- 信息列 ----*/
.home-template .home-template-info { position: relative; z-index: 2; width: 100%; height: 26.25rem; }
.home-template .home-template-panel .home-template-info-wp { position: absolute; top: 50%; left: 0; z-index: 1; width: 100%; max-width: 31rem; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-46%); transition: opacity .45s ease, visibility .45s ease, transform .2s ease-out; }
.home-template .home-template-panel .home-template-info-wp.active { z-index: 2; opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(-50%); }
.home-template .home-template-panel .home-template-info-title { height: auto; margin: 0; color: #13213a; font-family: inherit; font-size: clamp(1.55rem, 2vw, 2rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.35; }
.home-template .home-template-panel .home-template-info-desc { margin-top: 0.812rem; max-width: 29rem; color: #66758d; font-family: inherit; font-size: .92rem; font-weight: 400; line-height: 1.9; }
.home-template .home-template-info-label { display: flex; align-items: center; gap: 0.562rem; margin: 1rem 0 0; color: var(--tpl-accent); font-size: .75rem; font-weight: 680; letter-spacing: .08em; }
.home-template .home-template-info-label i { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--tpl-accent); box-shadow: 0 0 0 .312rem var(--tpl-accent-soft); }
.home-template .home-template-caps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .875rem; margin: 1.15rem 0 0; padding: 0; list-style: none; }
.home-template .home-template-caps li { display: flex; min-width: 0; min-height: 3.7rem; align-items: center; gap: .8rem; padding: .75rem .9rem; border: 1px solid #e4ecf7; border-radius: 0.75rem; background: #fff; box-sizing: border-box; transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
.home-template .home-template-caps li:hover { border-color: color-mix(in srgb, var(--tpl-accent) 45%, #e1e8f2); background: var(--tpl-accent-soft); box-shadow: 0 0.7rem 1.5rem rgba(37,73,124,.08); transform: translateY(-0.125rem); }
.home-template .home-template-caps > li > i { display: inline-flex; flex: 0 0 2.25rem; width: 2.25rem; height: 2.25rem; align-items: center; justify-content: center; border-radius: 0.625rem; background: var(--tpl-accent-soft); color: var(--tpl-accent); font-size: 1.05rem; }
.home-template .home-template-caps span { min-width: 0; }
.home-template .home-template-caps strong,
.home-template .home-template-caps small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-template .home-template-caps strong { color: #26344b; font-size: .84rem; font-weight: 680; }
.home-template .home-template-caps small { margin-top: 0.2rem; color: #8190a5; font-size: .68rem; }
/*---- 操作区：主按钮 + 模板库胶囊 ----*/
.home-template .home-template-info-actions { display: flex; align-items: center; gap: 0.75rem; margin-top: 1.5rem; }
.home-template .home-template-more,
.home-template .home-template-card .home-template-more { position: relative; display: inline-flex; width: auto; min-width: 12.5rem; height: 3rem; align-items: center; margin-top: 1.625rem; padding: 0 3.5rem 0 1.5rem; overflow: hidden; border-radius: .9rem; background: linear-gradient(90deg, var(--tpl-accent), var(--tpl-accent-end)) !important; box-shadow: 0 0.812rem 1.75rem rgba(36,107,253,.22); color: #fff; font-size: .9rem; line-height: 1; box-sizing: border-box; transition: background-color .3s; }
.home-template .home-template-info-actions .home-template-more { margin-top: 0; }
.home-template .home-template-more span { position: relative; }
.home-template .home-template-panel .home-template-more-icon { position: absolute; top: 50%; right: .5rem; width: 2rem; height: 2rem; line-height: 2rem; text-align: center; background: #fff; border-radius: 50%; transform: translateY(-50%); transition: transform .22s ease; }
.home-template .home-template-more-icon svg { width: 0.812rem; transition: transform .22s ease; }
.home-template .home-template-more-icon svg * { fill: #246bfd !important; transition: fill 0.65s cubic-bezier(0.19, 1, 0.22, 1); }
.home-template .home-template-more:hover { background-color: #2184ff; background: linear-gradient(90deg, #1759dc, #109dbd) !important; color: #fff; }
.home-template .home-template-more:hover .home-template-more-icon svg * { fill: #2184ff; }
.home-template .home-template-more:hover .home-template-more-icon svg { animation: jitterLeftAndRight 1s cubic-bezier(0.19, 1, 0.22, 1); transform: translateX(0.188rem); }
@keyframes jitterLeftAndRight {
  0% { transform: translateX(0); }
  50% { transform: translateX(0.312rem); }
  100% { transform: translateX(0); }
}
.home-template .home-template-panel .home-template-library { display: inline-flex; min-width: 8.75rem; height: 3rem; align-items: center; justify-content: center; gap: .45rem; padding: 0 1.4rem; border: 1px solid #d8e2f2; border-radius: 999px; background: rgba(255,255,255,.82); box-shadow: 0 0.5rem 1.2rem rgba(37,73,124,.07); color: #51627a; font-size: .88rem; font-weight: 650; box-sizing: border-box; transition: color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease; }
.home-template .home-template-panel .home-template-library i { display: inline-flex; width: auto; height: auto; align-items: center; justify-content: center; margin-left: 0; border-radius: 50%; background: transparent; color: var(--tpl-accent); font-size: .95rem; transition: background .2s ease, color .2s ease, transform .2s ease; }
.home-template .home-template-library:hover { border-color: var(--tpl-accent); background: #fff; box-shadow: 0 0.75rem 1.5rem color-mix(in srgb, var(--tpl-accent) 16%, transparent); color: var(--tpl-accent); transform: translateY(-0.125rem); }
.home-template .home-template-panel .home-template-library:hover i { background: transparent; transform: translate(.1rem, -.1rem); }
/*---- PC 预览：轻量浏览器描边 + 悬停磨砂胶囊操作条（与网站模板页一致） ----*/
.home-template .home-template-device-desktop::before { display: none; }
.home-template .home-template-device-desktop .home-template-live { scrollbar-width: none; }
.home-template .home-template-panel[data-active-device="desktop"] .home-template-card .home-template-bg-img { box-sizing: border-box; border: 1px solid rgba(142, 158, 184, .48); border-radius: .75rem; background: #f8faff; box-shadow: 0 1.75rem 3.75rem rgba(35, 62, 105, .2), 0 .35rem 1rem rgba(35, 62, 105, .1), inset 0 1px 0 rgba(255, 255, 255, .92); }
.home-template .home-template-panel[data-active-device="desktop"] .home-template-pane,
.home-template .home-template-panel[data-active-device="desktop"] .home-template-pc-overlay { border-radius: calc(.75rem - 1px); }
.home-template .home-template-panel[data-active-device="desktop"] .home-template-pane .home-template-preview-bar { border-radius: calc(.75rem - 1px) calc(.75rem - 1px) 0 0; background: linear-gradient(180deg, #fbfcff 0%, #f3f6fb 100%); }
.home-template .home-template-panel[data-active-device="desktop"] .home-template-pane .home-template-live,
.home-template .home-template-panel[data-active-device="desktop"] .home-template-pane .home-template-pic,
.home-template .home-template-panel[data-active-device="desktop"] .home-template-pane::before { border-radius: 0 0 calc(.75rem - 1px) calc(.75rem - 1px); }
.home-template .home-template-pc-overlay { inset: 0; overflow: hidden; border-radius: 0.438rem; }
.home-template .home-template-pc-actions { right: 0.8rem; bottom: 0.8rem; left: 0.8rem; display: flex; max-width: none; flex-direction: row; align-items: center; justify-content: center; gap: 0.6rem; padding: 0.45rem 0.55rem; border-radius: 999px; background: rgba(255, 255, 255, 0.25); backdrop-filter: blur(12px); box-shadow: 0 0.6rem 1.6rem rgba(30, 43, 65, 0.2); transform: translateY(0.5rem); transition: opacity 0.22s ease, transform 0.22s ease; }
.home-template .home-template-pane.active.is-preview-hovered .home-template-pc-actions { opacity: 1; pointer-events: auto; transform: translateY(0); }
.home-template .home-template-pc-actions a { width: auto; min-width: 5.8rem; height: 2.05rem; padding: 0 0.95rem; border: 0; font-size: 0.8rem; font-weight: 600; }
.home-template .home-template-pc-actions .home-template-use { background: #ff5a3c; }
.home-template .home-template-pc-actions .home-template-use:hover { background: #ff6d52; }
.home-template .home-template-pc-actions .home-template-view { background: #2f82ff; color: #fff; }
.home-template .home-template-pc-actions .home-template-view:hover { background: #448fff; color: #fff; }
/*---- 手机外框：商城、小程序、门店与客户运营（与网站模板页 APP/小程序卡片一致，内容顶格满屏） ----*/
.home-template .home-template-panel[data-active-device="mobile"] { --home-template-mobile-screen-radius: 1.5rem; }
.home-template .home-template-panel[data-active-device="mobile"] .home-template-card .home-template-bg-img { width: 14.75rem !important; height: auto; aspect-ratio: 9 / 16; margin: 0 !important; overflow: visible; border: 0.5rem solid #151b26; border-radius: 2rem; background: #151b26; box-shadow: 0 1.1rem 2.35rem rgba(24, 39, 68, .24), 0 0 0 1px rgba(255, 255, 255, .72); transition: border-color .22s ease, box-shadow .22s ease; }
/*边框美化：悬停时手机外框高亮，与网站模板页 H5 卡片一致*/
.home-template .home-template-panel[data-active-device="mobile"] .home-template-card .home-template-bg-img:hover,
.home-template .home-template-panel[data-active-device="mobile"] .home-template-card .home-template-bg-img:focus-within { border-color: #27334a; box-shadow: 0 1.25rem 2.7rem rgba(24, 39, 68, .28), 0 0 0 1px rgba(255, 255, 255, .76); }
.home-template .home-template-panel[data-active-device="mobile"] .home-template-pane .home-template-live,
.home-template .home-template-panel[data-active-device="mobile"] .home-template-pane .home-template-pic { top: 0; height: 100%; border-radius: var(--home-template-mobile-screen-radius); -webkit-clip-path: inset(0 round var(--home-template-mobile-screen-radius)); clip-path: inset(0 round var(--home-template-mobile-screen-radius)); }
.home-template .home-template-panel[data-active-device="mobile"] .home-template-pane::before { top: 0; border-radius: var(--home-template-mobile-screen-radius); }
/*等比缩放后的 iframe 仍使用设备内框的实际圆角，避免出现尖角或黑色方角。*/
.home-template .home-template-panel[data-active-device="mobile"] .home-template-pane { isolation: isolate; border-radius: var(--home-template-mobile-screen-radius); background: transparent; }
/*同类型模板轮播：按钮位于设备框两侧，不参与 iframe 缩放。*/
.home-template .home-template-switcher { position: absolute; z-index: 12; top: 50%; right: -3.65rem; left: -3.65rem; display: flex; align-items: center; justify-content: space-between; pointer-events: none; transform: translateY(-50%); }
.home-template .home-template-switch { display: inline-grid; width: 2.65rem; height: 2.65rem; place-items: center; border: 1px solid rgba(205, 218, 236, .92); border-radius: 50%; background: rgba(255, 255, 255, .94); box-shadow: 0 .7rem 1.8rem rgba(34, 61, 105, .18); color: var(--tpl-accent, #246bfd); font-size: 1rem; opacity: .86; pointer-events: auto; transition: border-color .2s ease, box-shadow .2s ease, opacity .2s ease, transform .2s ease; }
.home-template .home-template-switch:hover,
.home-template .home-template-switch:focus-visible { border-color: var(--tpl-accent, #246bfd); box-shadow: 0 .8rem 2rem rgba(34, 85, 170, .24); opacity: 1; outline: none; transform: translateY(-.125rem); }
.home-template .home-template-switcher.is-single { display: none; }
/*手机设备比 PC 预览窄，扩大切换轨道至场景背景两侧，避免右按钮压住发布平台标签。*/
.home-template .home-template-panel[data-active-device="mobile"] .home-template-switcher { right: -7.25rem; left: -7.25rem; }
/*---- 终端预览外形：模板所属子区块决定设备，不再把 APP / IoT / 穿戴设备 / TV 套进 PC 浏览器 ----*/
.home-template .home-template-device-detail { display: none; pointer-events: none; }
/*APP/小程序/H5 与网站模板页卡片一致：无听筒装饰条，模板内容顶格满屏展示。*/
.home-template .home-template-panel[data-active-device="iot"] .home-template-card .home-template-bg-img { width: min(88%, 26rem) !important; height: 18.5rem; border: .65rem solid #273244; border-radius: 1.45rem; background: #273244; box-shadow: 0 1.35rem 3rem rgba(25,39,62,.25), inset 0 0 0 1px rgba(255,255,255,.12); }
.home-template .home-template-panel[data-active-device="iot"] .home-template-pane,
.home-template .home-template-panel[data-active-device="iot"] .home-template-pane .home-template-live,
.home-template .home-template-panel[data-active-device="iot"] .home-template-pane .home-template-pic,
.home-template .home-template-panel[data-active-device="iot"] .home-template-pane::before,
.home-template .home-template-panel[data-active-device="iot"] .home-template-pc-overlay { top: 0; height: 100%; border-radius: .85rem; }
.home-template .home-template-panel[data-active-device="iot"] .home-template-device-detail { position: absolute; z-index: 9; top: -.43rem; left: 50%; display: block; width: .32rem; height: .32rem; border: 1px solid #53627a; border-radius: 50%; background: #0b1019; transform: translateX(-50%); }
.home-template .home-template-panel[data-active-device="glass"] .home-template-card .home-template-bg-img { width: min(92%, 28rem) !important; height: 12.5rem; border: .55rem solid #202b3c; border-radius: 4.75rem; background: #202b3c; box-shadow: 0 1.4rem 3rem rgba(26,40,63,.27), 0 0 0 .18rem rgba(151,181,218,.18); }
.home-template .home-template-panel[data-active-device="glass"] .home-template-pane,
.home-template .home-template-panel[data-active-device="glass"] .home-template-pane .home-template-live,
.home-template .home-template-panel[data-active-device="glass"] .home-template-pane .home-template-pic,
.home-template .home-template-panel[data-active-device="glass"] .home-template-pane::before,
.home-template .home-template-panel[data-active-device="glass"] .home-template-pc-overlay { top: 0; height: 100%; border-radius: 4.2rem; }
.home-template .home-template-panel[data-active-device="glass"] .home-template-device-detail { position: absolute; z-index: 9; top: 50%; left: 50%; display: block; width: 1.2rem; height: .32rem; border-radius: 999px; background: rgba(225,235,248,.72); box-shadow: -13.4rem 0 0 -.05rem #202b3c, 13.4rem 0 0 -.05rem #202b3c; transform: translate(-50%, -50%); }
.home-template .home-template-panel[data-active-device="watch"] .home-template-left { height: 21rem; }
.home-template .home-template-panel[data-active-device="watch"] .home-template-card .home-template-bg-img { width: 15rem !important; height: 15rem; border: .65rem solid #202938; border-radius: 3.65rem; background: #202938; box-shadow: 0 1.35rem 2.8rem rgba(25,37,57,.3), inset 0 0 0 1px rgba(255,255,255,.16); }
.home-template .home-template-panel[data-active-device="watch"] .home-template-pane,
.home-template .home-template-panel[data-active-device="watch"] .home-template-pane .home-template-live,
.home-template .home-template-panel[data-active-device="watch"] .home-template-pane .home-template-pic,
.home-template .home-template-panel[data-active-device="watch"] .home-template-pane::before,
.home-template .home-template-panel[data-active-device="watch"] .home-template-pc-overlay { top: 0; height: 100%; border-radius: 3rem; }
/*与网站模板页手表卡片一致：预览不缩放，clip-path 兜底合成层逃逸。*/
.home-template .home-template-panel[data-active-device="watch"] .home-template-pane .home-template-live,
.home-template .home-template-panel[data-active-device="watch"] .home-template-pane .home-template-pic { clip-path: inset(0 round 3rem); }
.home-template .home-template-panel[data-active-device="watch"] .home-template-device-detail { position: absolute; z-index: 9; top: 3.15rem; right: -.98rem; display: block; width: .62rem; height: 2.15rem; border: .12rem solid #151c27; border-radius: .35rem; background: repeating-linear-gradient(0deg, #536178 0 .12rem, #2a3547 .12rem .23rem); box-shadow: 0 .25rem .6rem rgba(20,29,43,.28); }
/*---- 模板区媒体查询 ----*/
@media (max-width: 1199.98px) {
  .home-template .home-template-panel .home-template-card { grid-template-columns: minmax(19rem, .82fr) minmax(0, 1.18fr); gap: 2rem; padding: 2.5rem; }
  .home-template .home-template-switcher { right: -3rem; left: -3rem; }
  .home-template .home-template-switch { width: 2.35rem; height: 2.35rem; }
}
@media (max-width: 991.98px) {
  .home-template-tabs { width: 100%; }
  .home-template .home-template-tabs .home-tab { padding: .4rem; overflow-x: auto; border-radius: 1rem; scroll-padding-inline: .4rem; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .home-template .home-template-tabs .home-tab::-webkit-scrollbar { display: none; }
  .home-template .home-template-tabs .home-tab-list { width: max-content; min-width: 100%; justify-content: flex-start; gap: .3125rem; }
  .home-template .home-template-tabs .home-tab-item { flex: 0 0 auto; min-width: 7.5rem; height: 3rem; scroll-snap-align: start; }
  .home-template .home-template-panel { margin-top: 1rem; border-radius: 1.15rem; }
  .home-template .home-template-panel .home-template-card { grid-template-columns: 1fr; height: auto; padding: 1.8rem; gap: 1.5rem; transform: none; }
  .home-template .home-template-panel .home-template-left { order: 1; display: block; width: 100%; height: 20.625rem; }
  .home-template .home-template-panel .home-template-info { order: 2; float: none !important; width: 100%; height: auto; min-height: 24.375rem; }
  .home-template .home-template-wp { height: auto; }
  .home-template .home-template-panel .home-template-card .home-template-bg-img { height: 18.75rem; overflow: hidden; }
  /*top: 50% 是桌面垂直居中定位，移动端必须复位，否则整块文案被下推一半形成大片空白*/
  .home-template .home-template-panel .home-template-info-wp { display: none; position: relative; top: auto; left: auto; max-width: none; margin: 0; opacity: 0; visibility: hidden; transform: none; }
  .home-template .home-template-panel .home-template-info-wp.active { display: block; opacity: 1; visibility: visible; transform: none; }
  /*窄屏下面板宽于预览外框：角标收回框内；面板高度有限，隐藏二维码仅保留按钮*/
  .home-template .home-template-badge { right: 0.55rem; transform: none; }
  .home-template .home-template-qr { display: none; }
  .home-template .home-template-caps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-template .home-template-panel[data-active-device="mobile"] .home-template-card .home-template-bg-img { width: 13.25rem !important; }
  .home-template .home-template-panel[data-active-device="mobile"] .home-template-left { height: 25.5rem; }
  .home-template .home-template-panel[data-active-device="mobile"] .home-template-switcher { right: -5.25rem; left: -5.25rem; }
  .home-template .home-template-panel[data-active-device="iot"] .home-template-card .home-template-bg-img { width: min(90%, 23rem) !important; height: 16.25rem; }
  .home-template .home-template-panel[data-active-device="glass"] .home-template-card .home-template-bg-img { width: min(92%, 24rem) !important; height: 10.75rem; }
  .home-template .home-template-panel[data-active-device="watch"] .home-template-card .home-template-bg-img { width: 13rem !important; height: 13rem; }
  .home-template .home-template-panel[data-active-device="iot"] .home-template-left { height: 18.5rem; }
  .home-template .home-template-panel[data-active-device="glass"] .home-template-left { height: 14rem; }
  .home-template .home-template-panel[data-active-device="watch"] .home-template-left { height: 15rem; }
  /*移动端改用预览区域横向滑动，避免两侧切换按钮在窄屏被裁切。*/
  .home-template .home-template-pane { touch-action: pan-y; }
  .home-template .home-template-switcher { display: none; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .home-template .home-template-pane { transform: scale(0.8); }
}
@media (max-width: 767.98px) {
  .home-template { padding: 4.25rem 0; }
  /*Tab 栏由横滑条改为两行等分网格，全部选项直接可见，避免激活胶囊与首尾项被裁剪*/
  .home-template .home-template-tabs .home-tab { padding: .375rem; overflow: visible; border-radius: 1rem; }
  .home-template .home-template-tabs .home-tab-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; min-width: 0; gap: .375rem; }
  .home-template .home-template-tabs .home-tab-item { min-width: 0; height: 2.625rem; margin: 0; padding: 0 .25rem; font-size: .78rem; }
  .home-template .home-template-panel { margin-top: .85rem; border-radius: .95rem; }
  .home-template .home-template-panel .home-template-card { float: none !important; width: 100%; height: auto; gap: 1.2rem; padding: 1.2rem 1rem 1.1rem; border-radius: 0; }
  /*小屏仍保留设备预览，纵向排列后不牺牲终端识别。*/
  .home-template .home-template-panel .home-template-left { display: block; height: 15.312rem; }
  .home-template .home-template-panel[data-active-device="desktop"] .home-template-left { height: 15rem; }
  .home-template .home-template-bg-con { top: 3.438rem; height: 9.062rem; border-radius: 0.75rem; }
  .home-template .home-template-panel .home-template-card .home-template-bg-img { width: min(86%, 20rem) !important; height: 13.75rem; border-width: 0.312rem; border-radius: 0.625rem; }
  .home-template .home-template-panel[data-active-device="desktop"] .home-template-card .home-template-bg-img { width: min(96%, 20rem) !important; }
  .home-template .home-template-panel[data-active-device="mobile"] { --home-template-mobile-screen-radius: 1.175rem; }
  .home-template .home-template-panel[data-active-device="mobile"] .home-template-card .home-template-bg-img { width: 11.25rem !important; border-width: 0.375rem; border-radius: 1.55rem; }
  .home-template .home-template-panel[data-active-device="mobile"] .home-template-left { height: 21.5rem; }
  .home-template .home-template-panel[data-active-device="iot"] .home-template-card .home-template-bg-img { width: min(94%, 19rem) !important; height: 12.5rem; border-width: .45rem; border-radius: 1.1rem; }
  .home-template .home-template-panel[data-active-device="glass"] .home-template-card .home-template-bg-img { width: min(96%, 19rem) !important; height: 8.5rem; border-width: .4rem; }
  .home-template .home-template-panel[data-active-device="watch"] .home-template-card .home-template-bg-img { width: 10.5rem !important; height: 10.5rem; border-width: .45rem; border-radius: 2.7rem; }
  .home-template .home-template-panel[data-active-device="iot"] .home-template-left { height: 14rem; }
  .home-template .home-template-panel[data-active-device="glass"] .home-template-left { height: 10.5rem; }
  .home-template .home-template-panel[data-active-device="watch"] .home-template-left { height: 12rem; }
  .home-template .home-template-panel .home-template-info { min-height: 0; }
  .home-template .home-template-panel .home-template-info-title { font-size: 1.375rem; line-height: 1.4; }
  .home-template .home-template-panel .home-template-info-desc { margin-top: 0.562rem; font-size: .8125rem; }
  .home-template .home-template-caps { grid-template-columns: 1fr; }
  .home-template .home-template-caps li { min-height: 3.2rem; }
  .home-template .home-template-info-actions { align-items: stretch; flex-direction: column; gap: 0.85rem; }
  .home-template .home-template-more,
  .home-template .home-template-card .home-template-more { width: 100%; margin-top: 1.375rem; justify-content: center; }
  .home-template .home-template-info-actions .home-template-more,
  .home-template .home-template-library { width: 100%; max-width: 17.5rem; justify-content: center; margin-right: auto; margin-left: auto; }
  .home-template .home-template-switcher { right: .45rem; left: .45rem; }
  .home-template .home-template-switch { width: 2.15rem; height: 2.15rem; }
  .home-template .home-template-panel[data-active-device="mobile"] .home-template-switcher { right: .45rem; left: .45rem; }
  .home-template .home-template-panel:not([data-active-device="mobile"]) .home-template-switcher { right: .35rem; left: .35rem; }
}
/*触屏无悬停态：Tab 项的 :hover 带 transform/背景变化，iOS 会把首击当成悬停而吞掉 click（需点两次）；
   触屏设备直接禁用这些 hover 效果，让首击即触发切换*/
@media (hover: none) {
  .home-template .home-tab .home-tab-item:hover,
  .home-template .home-template-tabs .home-tab-item:hover { border-color: transparent !important; background: transparent !important; box-shadow: none; color: #66748b !important; transform: none !important; }
  .home-template .home-template-tabs .home-tab-item.active:hover { background: linear-gradient(100deg, #3d8bff, #246bfd) !important; color: #fff !important; }
  .home-template .home-template-tabs .home-tab-item { -webkit-tap-highlight-color: transparent; }
}
/*==================== 腾数学院：编辑式组件 ====================*/
.home-news { height: auto; overflow: hidden; position: relative; min-height: 0; padding: 5.5rem 0 5.75rem; background: #f6f9fe; }
.home-news::before { content: ""; position: absolute; top: -18rem; left: 50%; width: 58rem; height: 36rem; border-radius: 50%; background: radial-gradient(circle, rgba(36, 107, 253, .12), transparent 68%); pointer-events: none; transform: translateX(-50%); }
.home-news > .container { position: relative; z-index: 1; padding-right: .75rem; padding-left: .75rem; }
/*区块头与资讯卡列表的间距由 .home-news-shell 的 margin-top 提供*/
.home-news .home-section-head { margin-bottom: 0; }
.home-news .home-news-shell { position: relative; width: 100%; max-width: none; margin: 3.25rem auto 0; padding: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
/*首篇作为编辑精选，其他文章形成紧凑阅读列表*/
.home-news-list {
  display: grid;
  /*桌面端右侧资讯列表承担主要浏览任务，采用约 42% / 58% 的比例，降低左侧精选卡视觉重量。*/
  grid-template-columns: minmax(0,.84fr) minmax(28rem,1.16fr);
  grid-template-rows: repeat(3, minmax(0,1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.home-news-item.is-featured { grid-row: 1 / 4; }
.home-news-card,
.home-news-card > a { height: 100%; }
.home-news-card > a { position: relative; display: grid; grid-template-columns: minmax(10.5rem, 36%) minmax(0, 1fr); min-height: 12.5rem; overflow: hidden; border: 1px solid #e3eaf4; border-radius: 1.125rem; background: rgba(255, 255, 255, .92); box-shadow: 0 .65rem 1.75rem rgba(39, 66, 113, .065); color: inherit; text-decoration: none; transition: box-shadow .24s ease, transform .24s ease; }
/*水晶玻璃描边环：参照 Banner 分页激活条的蓝→青品牌渐变（#246bfd → #13bfe5），悬停半亮*/
.home-news-card > a::after { content: ""; position: absolute; inset: 0; z-index: 3; padding: 2px; border-radius: inherit; background: linear-gradient(120deg, rgba(36, 107, 253, .95) 0%, rgba(42, 150, 244, .7) 32%, rgba(19, 191, 229, .5) 50%, rgba(42, 150, 244, .7) 68%, rgba(19, 191, 229, .95) 100%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; -webkit-backdrop-filter: blur(4px) saturate(1.3); backdrop-filter: blur(4px) saturate(1.3); opacity: 0; pointer-events: none; transition: opacity .24s ease; }
.home-news-card > a:hover::after,
.home-news-card > a:focus-visible::after { opacity: .5; }
.home-news-card > a::before { content: ""; position: absolute; z-index: 4; right: 0; bottom: 0; left: 36%; height: .1875rem; background: linear-gradient(90deg, #246bfd, #16c6e5); opacity: 0; transform: scaleX(.35); transform-origin: left; transition: opacity .24s ease, transform .24s ease; }
.home-news-card > a:hover { box-shadow: 0 1.1rem 2.5rem rgba(39, 77, 150, .14); transform: translateY(-.25rem); }
.home-news-card > a:hover::before { opacity: 1; transform: scaleX(1); }
.home-news-card-media { position: relative; min-height: 0; overflow: hidden; isolation: isolate; background-color: #eaf1fb; }
.home-news-card-media::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(130deg, rgba(240, 246, 255, .2), rgba(20, 50, 92, .08)); pointer-events: none; }
/*资讯封面 cover 铺满图板，比例适配由上传侧控制。*/
.home-news-card-media img { position: relative; z-index: 2; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: filter .35s ease; }
.home-news-card > a:hover .home-news-card-media img { filter: saturate(1.06) contrast(1.02); }
.home-news-card-media.is-empty { display: flex; align-items: center; justify-content: center; background: linear-gradient(145deg, #edf4ff, #dfeafd); }
.home-news-card-media.is-empty > i { color: rgba(36, 107, 253, .34); font-size: 3rem; }
.home-news-card-index { position: absolute; z-index: 2; right: .8rem; bottom: .65rem; color: rgba(255, 255, 255, .8); font-size: 1.75rem; font-weight: 750; letter-spacing: -.08em; line-height: 1; text-shadow: 0 .15rem .55rem rgba(5, 20, 45, .35); }
.home-news-card-content { display: flex; min-width: 0; padding: 1.25rem 1.35rem 1.15rem; flex-direction: column; }
.home-news-card-meta { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.home-news-card-meta time { flex: 0 0 auto; color: #8a96a8; font-size: .75rem; }
.home-news-card-tag { display: inline-flex; align-items: center; gap: .3rem; color: #246bfd; font-size: .7rem; font-weight: 700; letter-spacing: .06em; }
.home-news-card-tag.is-sticky { color: #f05a43; }
.home-news-card-content h3 { margin: .7rem 0 0; overflow: hidden; color: #17243d; font-size: 1rem; font-weight: 680; letter-spacing: -.012em; line-height: 1.55; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; transition: color .22s ease; }
.home-news-card > a:hover h3 { color: #1759dc; }
.home-news-card-desc { margin-top: .55rem; overflow: hidden; color: #748198; font-size: .8125rem; line-height: 1.7; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-news-card-desc > * { display: inline; margin: 0; }
.home-news-card-cta { display: inline-flex; align-items: center; align-self: flex-start; gap: .4rem; margin-top: auto; padding-top: .75rem; color: #53637c; font-size: .75rem; font-weight: 650; }
.home-news-card-cta i { color: #246bfd; transition: transform .22s ease; }
.home-news-card > a:hover .home-news-card-cta i { transform: translateX(.25rem); }
/*编辑精选卡：纵向大幅*/
.home-news-item.is-featured .home-news-card > a { grid-template-columns: 1fr; grid-template-rows: auto 1fr; min-height: 100%; }
.home-news-item.is-featured .home-news-card > a::before { left: 0; }
.home-news-item.is-featured .home-news-card-media { width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 9; }
.home-news-item.is-featured .home-news-card-content { min-height: 10.75rem; padding: 1.25rem 1.5rem; }
.home-news-item.is-featured .home-news-card-content h3 { font-size: 1.25rem; }
.home-news-item:not(.is-featured) .home-news-card > a { grid-template-columns: minmax(13rem,44%) minmax(0,1fr); min-height: 8rem; }
.home-news-item:not(.is-featured) .home-news-card > a::before { left: 0; }
.home-news-item:not(.is-featured) .home-news-card-content { padding: .85rem 1.1rem; }
.home-news-item:not(.is-featured) .home-news-card-desc { min-height: calc(1.7em * 2); -webkit-line-clamp: 2; }
.home-news-item:not(.is-featured) .home-news-card-media { height: auto; min-height: 100%; align-self: stretch; aspect-ratio: auto; }
/*「浏览全部资讯」入口：卡片列表下方居中*/
.home-news-more { display: flex; justify-content: center; margin-top: 1.75rem; }
.home-news-all-link { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: .55rem; min-height: 2.75rem; padding: 0 1.125rem; border: 1px solid #dce7f8; border-radius: 62.5rem; background: rgba(255, 255, 255, .84); box-shadow: 0 .375rem 1rem rgba(39, 66, 113, .055); color: #42526d; font-size: .875rem; font-weight: 600; text-decoration: none; transition: color .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.home-news-all-link i { font-size: .875rem; transition: transform .22s ease; }
.home-news-all-link:hover { color: #fff; border-color: #246bfd; background: #246bfd; box-shadow: 0 .65rem 1.5rem rgba(36, 107, 253, .24); transform: translateY(-2px); }
.home-news-all-link:hover i { transform: translate(2px, -2px); }
/*---- 新闻媒体查询 ----*/
@media (max-width: 1199.98px) {
  .home-news-list { grid-template-columns: minmax(0,1fr) minmax(22rem,.82fr); }
}
@media (max-width: 991.98px) {
  .home-news-list { grid-template-columns: 1fr; grid-template-rows: auto; }
  .home-news-item.is-featured { grid-row: auto; }
  .home-news-item.is-featured .home-news-card > a { grid-template-columns: minmax(16rem,42%) minmax(0,1fr); grid-template-rows: auto; min-height: 0; }
  .home-news-item.is-featured .home-news-card-media { height: auto; min-height: 0; aspect-ratio: 16 / 9; }
  .home-news-item.is-featured .home-news-card-content { min-height: 0; padding: 1.25rem; }
  .home-news-item.is-featured .home-news-card-content h3 { font-size: 1.05rem; }
  .home-news-item:not(.is-featured) .home-news-card > a { grid-template-columns: minmax(16rem,42%) minmax(0,1fr); min-height: 0; }
  .home-news-item:not(.is-featured) .home-news-card > a::before { left: 42%; }
}
@media (max-width: 767.98px) {
  .home-news { padding: 4.25rem 0; }
  .home-news .home-news-shell { margin-top: 2.25rem; }
  .home-news-more { margin-top: 1.25rem; }
  .home-news-all-link { min-height: 2.5rem; padding: 0 .9rem; font-size: .8rem; }
  .home-news-list { gap: .875rem; }
  .home-news-item.is-featured .home-news-card > a,
  .home-news-item:not(.is-featured) .home-news-card > a { grid-template-columns: minmax(12rem,42%) minmax(0,1fr); grid-template-rows: auto; min-height: 0; }
  .home-news-item.is-featured .home-news-card-content,
  .home-news-item:not(.is-featured) .home-news-card-content { min-height: 0; padding: 1rem; }
  .home-news-item.is-featured .home-news-card-media { min-height: 0; }
  .home-news-card-content h3 { margin-top: .55rem; font-size: .9375rem; }
  .home-news-card-desc { font-size: .75rem; -webkit-line-clamp: 2; }
  .home-news-card-cta { padding-top: .5rem; }
}
@media (max-width: 575.98px) {
  .home-news-item.is-featured .home-news-card > a,
  .home-news-item:not(.is-featured) .home-news-card > a { grid-template-columns: 1fr; }
  .home-news-item.is-featured .home-news-card > a::before,
  .home-news-item:not(.is-featured) .home-news-card > a::before { left: 0; }
  .home-news-card-media,
  .home-news-item.is-featured .home-news-card-media { width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 9; }
  .home-news-card-desc { -webkit-line-clamp: 2; }
}
/*==================== 客户案例：横向手风琴 ====================*/
/*一个案例大幅展开，其余案例为窄条毛玻璃预览，点击切换。*/
.home-case { height: auto; position: relative; min-height: 0; padding: 5.75rem 0 6rem; overflow: hidden; isolation: isolate; background: var(--home-section-white); }
/*顶部居中柔光，与浅蓝模板/新闻区块统一*/
.home-case::before { content: ""; position: absolute; z-index: 0; display: block; top: -16.25rem; left: 50%; width: 47.5rem; height: 35rem; border-radius: 50%; background: radial-gradient(circle, rgba(36,107,253,.1), transparent 70%); transform: translateX(-50%); pointer-events: none; }
.home-case > .container { position: relative; z-index: 1; }
.home-case-accordion { --case-active-grow: 6.8; box-sizing: content-box; display: flex; align-items: stretch; gap: 0.625rem; padding: .5rem; margin: -.5rem; }
.home-case-panel { position: relative; flex: 1 1 0; min-width: 0; margin: 0; box-sizing: border-box; border: 1px solid transparent; border-radius: 1.125rem; overflow: hidden; background: #e9f1fd; cursor: pointer; box-shadow: 0 1rem 2.5rem rgba(18, 43, 86, .08); transition: flex-grow .55s cubic-bezier(.22, .75, .25, 1), box-shadow .3s ease; isolation: isolate; }
.home-case-panel:not(.active):hover { box-shadow: 0 1.25rem 2.5rem rgba(18, 43, 86, .14); }
.home-case-panel.active { z-index: 3; flex-grow: var(--case-active-grow); cursor: default; border-color: #58b6ff; border-bottom: 3px solid #246bfd; box-shadow: 0 1.5rem 3.5rem rgba(18, 43, 86, .2), 0 .5rem 2rem rgba(83, 157, 255, .42); }
.home-case-panel:focus-visible { outline: 0.1875rem solid rgba(36, 107, 253, .55); outline-offset: 0.1875rem; }
.home-case-media { position: absolute; inset: 0; z-index: 0; background: #eaf1fb; }
.home-case-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: blur(3px) saturate(.72) brightness(.86); transition: filter .4s ease; }
/*选中图片参与正常排版，面板高度直接由原图比例撑开。*/
.home-case-panel.active .home-case-media { position: relative; inset: auto; }
.home-case-panel.active .home-case-media img { height: auto; object-fit: contain; filter: saturate(1.04) brightness(1.02); }
.home-case-shade { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
/*收起态：尽量减少蓝色覆盖，保留原图虚化质感；仅底部轻压蓝，居中文字靠投影保证可读*/
.home-case-panel:not(.active) .home-case-shade { background: linear-gradient(90deg, #246bfd, #13bfe5); -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.14) 45%, rgba(0,0,0,.24) 62%, rgba(0,0,0,.45) 100%); mask-image: linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.14) 45%, rgba(0,0,0,.24) 62%, rgba(0,0,0,.45) 100%); }
/*展开态：只压蓝底部信息区*/
.home-case-panel.active .home-case-shade { background: linear-gradient(180deg, rgba(8, 34, 72, 0) 35%, rgba(8, 34, 72, .16) 58%, rgba(8, 34, 72, .4) 100%); -webkit-mask-image: none; mask-image: none; }
/*选中态默认只展示清晰底图；信息面板出现时再恢复文字可读性遮罩。*/
.home-case-panel.active .home-case-shade { background: none; }
.home-case-kicker { display: inline-flex; align-items: center; min-height: 1.75rem; padding: 0 .7rem; border: 1px solid rgba(255,255,255,.34); border-radius: 62.5rem; background: rgba(255,255,255,.16); color: #fff; font-size: 0.75rem; font-weight: 650; letter-spacing: 0.04em; line-height: 1; backdrop-filter: blur(10px); }
.home-case-name { margin: 0.625rem 0 0; font-size: 1.5rem; font-weight: 720; letter-spacing: -.025em; line-height: 1.35; color: #fff; }
/*收起态文案：窄条内垂直居中*/
.home-case-collapsed { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.125rem; padding: 1.25rem 1rem; text-align: center; opacity: 1; transition: opacity .16s ease; }
.home-case-panel.active .home-case-collapsed { opacity: 0; }
.home-case-collapsed .home-case-name { max-width: 9.375rem; font-size: 1.375rem; overflow-wrap: break-word; }
/*收起态遮罩已减淡，文字用投影在虚化原图上保持可读*/
.home-case-collapsed .home-case-kicker,
.home-case-collapsed .home-case-name { text-shadow: 0 .1rem .6rem rgba(8, 22, 52, .55), 0 0 1.5rem rgba(8, 22, 52, .35); }
/*展开态文案：底部信息区，左右分栏（左侧文案、右侧了解更多）*/
.home-case-detail { position: absolute; inset: auto 1.25rem 1.25rem 1.25rem; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 0; padding: 1.375rem 1.5rem 1.5rem; border: 1px solid rgba(255,255,255,.72); border-radius: 1.125rem; background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(242,249,255,.72)); box-shadow: 0 .75rem 2rem rgba(22, 62, 113, .14), inset 0 1px 0 rgba(255,255,255,.8); backdrop-filter: blur(16px) saturate(1.15); opacity: 0; pointer-events: none; visibility: hidden; transition: opacity .15s ease; }
.home-case-panel.active .home-case-detail { opacity: 0; pointer-events: none; visibility: hidden; transition: opacity .2s ease; }
/*桌面端默认露出底部信息面板，背景适当透明；鼠标悬停或键盘聚焦时再过渡为不透明。*/
@media (hover: hover) and (pointer: fine) {
  .home-case-panel.active .home-case-detail { background: linear-gradient(135deg, rgba(255,255,255,.5), rgba(242,249,255,.3)); backdrop-filter: blur(10px) saturate(1.08); transition: opacity .25s ease .3s, backdrop-filter .25s ease; }
  .home-case-panel.active:hover .home-case-detail,
  .home-case-panel.active:focus .home-case-detail,
  .home-case-panel.active:focus-within .home-case-detail { opacity: 1; pointer-events: auto; visibility: visible; }
  /*不透明层叠在伪元素上渐显，避免渐变背景无法过渡导致的生硬跳变*/
  .home-case-panel.active .home-case-detail::before { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(242,249,255,.8)); opacity: 0; transition: opacity .35s ease; }
  .home-case-panel.active:hover .home-case-detail,
  .home-case-panel.active:focus .home-case-detail,
  .home-case-panel.active:focus-within .home-case-detail { backdrop-filter: blur(16px) saturate(1.15); }
  .home-case-panel.active:hover .home-case-detail::before,
  .home-case-panel.active:focus .home-case-detail::before,
  .home-case-panel.active:focus-within .home-case-detail::before { opacity: 1; }
  .home-case-panel.active:hover .home-case-shade,
  .home-case-panel.active:focus .home-case-shade,
  .home-case-panel.active:focus-within .home-case-shade { background: linear-gradient(180deg, rgba(8, 34, 72, 0) 35%, rgba(8, 34, 72, .16) 58%, rgba(8, 34, 72, .4) 100%); }
}
@media (hover: none), (pointer: coarse) {
  .home-case-panel.active .home-case-detail { opacity: 1; pointer-events: auto; visibility: visible; }
}
.home-case-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .625rem; }
.home-case-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.home-case-tags li { display: inline-flex; align-items: center; min-height: 1.75rem; padding: 0 .65rem; border: 1px solid color-mix(in srgb, var(--home-primary) 42%, rgba(255,255,255,.4)); border-radius: 62.5rem; background: color-mix(in srgb, var(--home-primary) 42%, rgba(8, 25, 57, .58)); color: #fff; font-size: .7rem; font-weight: 550; line-height: 1; backdrop-filter: blur(10px); }
.home-case-panel.active .home-case-tags li { border-color: color-mix(in srgb, var(--home-primary) 30%, #fff 70%); background: var(--home-theme-soft); color: var(--home-primary-dark); }
.home-case-panel.active .home-case-name { color: #11335f; text-shadow: 0 .08rem .45rem rgba(255,255,255,.9); }
.home-case-panel.active .home-case-kicker { border-color: rgba(37,99,235,.22); background: rgba(255,255,255,.72); color: #2459a3; }
.home-case-detail .home-case-name { max-width: 48rem; margin-top: .8rem; font-size: 2rem; }
.home-case-summary { margin: 0.75rem 0 0; max-width: 42rem; padding-right: 8rem; font-size: 0.9375rem; line-height: 1.75; color: #38577e; }
.home-case-more { position: absolute; right: 1.5rem; bottom: 1.5rem; display: inline-flex; align-items: center; gap: 0.45rem; min-height: 2.5rem; padding: 0 1rem; border: 1px solid rgba(37,99,235,.18); border-radius: 62.5rem; background: #246bfd; box-shadow: 0 .45rem 1rem rgba(36, 107, 253, .22); font-size: 0.875rem; font-weight: 600; color: #fff; text-decoration: none; transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease; }
.home-case-more i { font-size: 0.875rem; transition: transform .25s ease; }
.home-case-more:hover { border-color: #fff; background: #1554d1; color: #fff; transform: translateY(-2px); }
.home-case-more:hover i { transform: translateX(0.25rem); }
/*非展开态案例不可聚焦内部链接，避免 tab 键迷失在隐藏内容里*/
.home-case-panel:not(.active) .home-case-more { display: none; }
/*「浏览全部案例」入口：手风琴下方居中，与资讯区胶囊按钮同款*/
.home-case-all { display: flex; justify-content: center; margin-top: 2rem; }
.home-case-all-link { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: .55rem; min-height: 2.75rem; padding: 0 1.125rem; border: 1px solid #dce7f8; border-radius: 62.5rem; background: rgba(255, 255, 255, .84); box-shadow: 0 .375rem 1rem rgba(39, 66, 113, .055); color: #42526d; font-size: .875rem; font-weight: 600; text-decoration: none; transition: color .22s ease, border-color .22s ease, background-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.home-case-all-link i { font-size: .875rem; transition: transform .22s ease; }
.home-case-all-link:hover { color: #fff; border-color: #246bfd; background: #246bfd; box-shadow: 0 .65rem 1.5rem rgba(36, 107, 253, .24); transform: translateY(-2px); }
.home-case-all-link:hover i { transform: translate(2px, -2px); }
/*展开过程中只过渡容器尺寸，完成后面板与原图比例严格一致。*/
@media (min-width: 768px) {
  .home-case-accordion.is-initialized { height: var(--case-height); transition: height .55s cubic-bezier(.22, .75, .25, 1); }
  .home-case-accordion.is-initialized .home-case-panel.active .home-case-media { position: absolute; inset: 0; }
  .home-case-accordion.is-initialized .home-case-panel.active .home-case-media img { height: 100%; }
}
/*---- 案例媒体查询 ----*/
@media (max-width: 991.98px) {
  .home-case { padding: 4.5rem 0 4.75rem; }
  .home-case-detail { inset: auto 1rem 1rem 1rem; padding: 1.25rem 1.25rem 1.375rem; }
  .home-case-detail .home-case-name { font-size: 1.5rem; }
  .home-case-summary { font-size: 0.875rem; max-width: 34rem; }
  .home-case-more { right: 1.25rem; bottom: 1.375rem; }
}
@media (max-width: 767.98px) {
  /*移动端改为纵向手风琴：窄条只露标题，展开显示完整内容*/
  .home-case { padding: 4.25rem 0; }
  .home-case-all { margin-top: 1.5rem; }
  .home-case-accordion { flex-direction: column; height: auto; gap: 0.625rem; transition: none; }
  .home-case-panel { flex: none; height: 5.5rem; border-radius: 0.75rem; transition: box-shadow .25s ease; }
  .home-case-panel.active { height: auto; }
  .home-case-collapsed { flex-direction: row; justify-content: flex-start; align-items: center; gap: 0.75rem; padding: 0 1.25rem; text-align: left; }
  .home-case-collapsed .home-case-name { max-width: none; font-size: 1.125rem; margin: 0; }
  .home-case-collapsed .home-case-kicker { flex: none; }
  .home-case-detail { position: relative; inset: auto; margin: .75rem; padding: 1.125rem 1rem; }
  .home-case-panel:not(.active) .home-case-detail { display: none; }
  .home-case-panel.active .home-case-detail { opacity: 1; pointer-events: auto; }
  .home-case-panel.active .home-case-shade { background: linear-gradient(180deg, rgba(8, 34, 72, 0) 35%, rgba(8, 34, 72, .16) 58%, rgba(8, 34, 72, .4) 100%); }
  .home-case-detail .home-case-name { font-size: 1.375rem; }
  .home-case-tags li { min-height: 1.5rem; padding: 0 .55rem; font-size: .65rem; }
  .home-case-summary { display: -webkit-box; padding-right: 0; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .home-case-more { position: static; margin-top: 1rem; }
}
/*==================== 公共区块头与统一画布 ====================*/
/*首页区块头：产品矩阵 / 模板推荐 / 客户案例 / 腾数学院共用*/
.home-section-head { max-width: 47.5rem; margin: 0 auto 3rem; text-align: center; }
.home-section-eyebrow { display: flex; align-items: center; justify-content: center; gap: 0.625rem; margin-bottom: 1rem; color: #246bfd; font-size: .75rem; font-weight: 750; letter-spacing: .16em; }
.home-section-eyebrow span { width: 1.625rem; height: 2px; background: linear-gradient(90deg, transparent, #246bfd); }
.home-section-eyebrow span:last-child { background: linear-gradient(90deg, #246bfd, transparent); }
.home-section-head .home-title { height: auto; margin: 0; padding: 0; color: #101a31; font-size: clamp(2.125rem, 3vw, 2.75rem); font-weight: 720; letter-spacing: -.04em; line-height: 1.25; }
.home-section-head .home-desc { position: static; max-width: 42.5rem; height: auto; margin: 1.125rem auto 0; padding: 0; color: #65738b; font-size: .9375rem; line-height: 1.8; }
@media (min-width: 992px) {
  .home-section-head { max-width: 54rem; }
  .home-product .home-title,
  .home-product .home-desc,
  .home-template .home-title,
  .home-template .home-desc,
  .home-news .home-title,
  .home-news .home-desc { max-width: 54rem; white-space: normal; text-wrap: balance; }
}
@media (max-width: 767.98px) {
  /*区块头移动端：产品/模板/客户/新闻共用*/
  .home-section-head { margin-bottom: 2.125rem; }
  .home-section-eyebrow { margin-bottom: 0.75rem; font-size: .625rem; }
  .home-section-head .home-title { font-size: 1.875rem; }
  .home-section-head .home-desc { margin-top: 0.875rem; font-size: .875rem; line-height: 1.7; }
}
/*产品、模板和资讯区共用统一内容画布；案例区在宽屏使用全宽画布。*/
.home-product > .container,
.home-template > .container,
.home-news > .container { width: calc(100% - 4rem); max-width: 87.5rem; }
.home-case > .container { width: calc(100% - 4rem); max-width: 87.5rem; }
@media (min-width: 1400px) {
  .home-case > .container { width: 100%; max-width: none; padding-right: clamp(6rem, 7vw, 8rem); padding-left: clamp(2rem, 4vw, 4rem); }
}
@media (min-width: 1400px) {
  .tncms-header .container { width: calc(100% - 4rem); max-width: 87.5rem; }
}
@media (max-width: 991.98px) {
  .home-product > .container,
  .home-template > .container,
  .home-news > .container { width: calc(100% - 3rem); }
  .home-case > .container { width: calc(100% - 3rem); }
}
@media (max-width: 767.98px) {
  .home-product > .container,
  .home-template > .container,
  .home-news > .container { width: 100%; padding-right: 1rem; padding-left: 1rem; }
  .home-case > .container { width: 100%; padding-right: 1rem; padding-left: 1rem; }
}
/*==================== 减弱动效 ====================*/
@media (prefers-reduced-motion: reduce) {
  .home-hero-actions a,
  .home-hero .home-carousel-img,
  .home-product .home-product-item,
  .home-product .home-product-item .home-product-icon img,
  .home-product .home-product-more-btn,
  .home-template-panel,
  .home-template .home-tab .home-tab-item,
  .home-template .home-template-bg-con,
  .home-template .home-template-pane,
  .home-template .home-template-info-wp,
  .home-template .home-template-card,
  .home-template .home-template-card .home-template-bg-img,
  .home-template .home-template-caps li,
  .home-news-all-link,
  .home-news-all-link i,
  .home-news-card > a,
  .home-news-card > a::before,
  .home-news-card-media img,
  .home-news-card-content h3,
  .home-news-card-cta i,
  .home-case-accordion.is-initialized,
  .home-case-panel,
  .home-case-media img,
  .home-case-collapsed,
  .home-case-detail { transition: none; }
  .home-hero-flow,
  .home-hero-signal,
  .home-hero .home-carousel-main { animation: none; }
  .home-template .home-template-card .home-template-bg-img { transform: translate(-50%, -50%); }
}
/*右侧新闻卡片最终覆盖：在响应式旧规则之后仍保持图片铺满和整条底部焦点线。*/
.home-news > .container .home-news-item:not(.is-featured) .home-news-card-media { height: auto; min-height: 0; align-self: center; aspect-ratio: 16 / 9; }
/*首页资讯列表封面保持完整 16:9 比例，卡片高度随图片和内容自然撑开，避免固定网格行高裁切图片。*/
.home-news > .container .home-news-item:not(.is-featured) .home-news-card > a { height: auto; min-height: 0; }
/*桌面端精选卡跨右侧三行展示，但不再被网格强制撑满；三行按右侧卡片内容自适应，避免精选卡过高挤压列表图片。*/
@media (min-width: 1200px) {
  .home-news-list { grid-template-rows: repeat(3, auto); }
  .home-news > .container .home-news-item.is-featured .home-news-card > a { height: 100%; min-height: 0; grid-template-rows: auto auto; }
  .home-news > .container .home-news-item.is-featured .home-news-card-content { min-height: 0; padding: 1.1rem 1.35rem 1.15rem; }
  .home-news > .container .home-news-item.is-featured .home-news-card-desc { -webkit-line-clamp: 3; }
}
.home-news > .container .home-news-item:not(.is-featured) .home-news-card > a::before { right: 0; left: 0; background: linear-gradient(90deg, #246bfd, #16c6e5); }
.home-news > .container .home-news-item:not(.is-featured) .home-news-card > a:hover,
.home-news > .container .home-news-item:not(.is-featured) .home-news-card > a:focus-visible { box-shadow: 0 1.1rem 2.5rem rgba(39, 77, 150, .14); transform: translateY(-.25rem); }
.home-news > .container .home-news-item:not(.is-featured) .home-news-card > a:focus-visible { outline: .2rem solid rgba(36, 107, 253, .35); outline-offset: .2rem; }
/*==================== 首页栏目主题色 ====================*/
.home-page-theme .home-hero { --hero-blue: var(--home-primary); background: radial-gradient(48rem 34rem at 82% 40%, color-mix(in srgb, var(--home-primary) 16%, transparent), transparent 68%),
    radial-gradient(30rem 24rem at 8% 20%, color-mix(in srgb, var(--home-primary) 8%, transparent), transparent 72%),
    var(--home-section-blue); }
.home-page-theme .home-hero .home-hero-kicker { border-color: color-mix(in srgb, var(--home-primary) 20%, transparent); color: var(--home-primary-dark); }
.home-page-theme .home-hero-primary,
.home-page-theme .home-template-more,
.home-page-theme .home-case-more,
.home-page-theme .home-news-all-link { border-color: var(--home-primary); background: var(--home-primary); }
.home-page-theme .home-hero-primary { background: linear-gradient(110deg, var(--home-primary), color-mix(in srgb, var(--home-primary) 72%, #fff)); box-shadow: 0 .9rem 2rem color-mix(in srgb, var(--home-primary) 25%, transparent); }
.home-page-theme .home-hero-primary:hover { background: var(--home-primary-dark); box-shadow: 0 1rem 1.875rem color-mix(in srgb, var(--home-primary) 28%, transparent); }
.home-page-theme .home-hero-secondary:hover,
.home-page-theme .home-carousel-caption span,
.home-page-theme .home-carousel-btn:hover,
.home-page-theme .home-stats-kicker,
.home-page-theme .home-stats-index strong,
.home-page-theme .home-template .home-template-more-icon svg *,
.home-page-theme .home-news-card-tag,
.home-page-theme .home-news-card-cta i,
.home-page-theme .home-section-eyebrow,
.home-page-theme .home-section-title-accent { color: var(--home-primary) !important; }
.home-page-theme .home-carousel-caption span { border-color: color-mix(in srgb, var(--home-primary) 18%, transparent); }
.home-page-theme .home-news-card > a::before,
.home-page-theme .home-news > .container .home-news-item:not(.is-featured) .home-news-card > a::before { background: linear-gradient(90deg, var(--home-primary), #16c6e5); }
.home-page-theme .home-news-card-media.is-empty { background: linear-gradient(145deg, var(--home-primary-pale), var(--home-primary-light)); }
.home-page-theme .home-news-card-media.is-empty > i { color: color-mix(in srgb, var(--home-primary) 34%, transparent); }
.home-page-theme .home-news-all-link:hover { background: var(--home-primary-dark); border-color: var(--home-primary-dark); }
.home-page-theme .home-case-panel:focus-visible { outline-color: color-mix(in srgb, var(--home-primary) 55%, transparent); }
.home-page-theme .home-section-eyebrow span { background: linear-gradient(90deg, transparent, var(--home-primary)); }
.home-page-theme .home-section-eyebrow span:last-child { background: linear-gradient(90deg, var(--home-primary), transparent); }
/*产品矩阵：卡片仅保留一层边框，主题色只用于状态和内容强调。*/
.home-page-theme .home-template .home-template-more,
.home-page-theme .home-case-all-link,
.home-page-theme .home-news-all-link { border-color: var(--home-primary); background: linear-gradient(135deg, var(--home-primary), color-mix(in srgb, var(--home-primary) 84%, #fff)); box-shadow: 0 .6rem 1.4rem var(--home-theme-shadow); color: #fff; }
.home-page-theme .home-template .home-template-more:hover,
.home-page-theme .home-case-all-link:hover,
.home-page-theme .home-news-all-link:hover { background: var(--home-theme-strong); border-color: var(--home-theme-strong); box-shadow: 0 .8rem 1.75rem color-mix(in srgb, var(--home-primary) 26%, transparent); }
/*模板推荐：活动标签与预览操作统一主题色，避免模板类型颜色与首页主题相互竞争。*/
.home-page-theme .home-template[data-active-tone] { --tpl-accent: var(--home-primary); --tpl-accent-end: color-mix(in srgb, var(--home-primary) 72%, #fff); --tpl-accent-soft: color-mix(in srgb, var(--home-primary) 9%, transparent); }
.home-page-theme .home-template .home-template-info-label { color: var(--home-primary); }
/*案例与资讯：保留图片和正文的真实颜色，只把边缘、焦点线及行动入口切换为主题色。*/
.home-page-theme .home-case::before,
.home-page-theme .home-news::before { background: radial-gradient(circle, color-mix(in srgb, var(--home-primary) 8%, transparent), transparent 70%); }
.home-page-theme .home-case .home-case-panel.active { border-color: var(--home-primary); }
.home-page-theme .home-case .home-case-panel.active { box-shadow: 0 1.5rem 3.5rem rgba(18, 43, 86, .16), 0 .5rem 2rem var(--home-theme-shadow); }
.home-page-theme .home-case .home-case-panel:not(.active) .home-case-shade { background: linear-gradient(90deg, color-mix(in srgb, var(--home-primary) 72%, #071b50), color-mix(in srgb, var(--home-primary) 52%, #071b50)); }
.home-page-theme .home-case .home-case-more { background: var(--home-primary); border-color: var(--home-primary); box-shadow: 0 .45rem 1rem var(--home-theme-shadow); }
.home-page-theme .home-case .home-case-more:hover { background: var(--home-theme-strong); }
.home-page-theme .home-news-card-tag,
.home-page-theme .home-news-card-cta i { color: var(--home-primary) !important; }
.home-page-theme .home-news-card-tag.is-sticky { color: var(--home-theme-strong) !important; }
.home-page-theme .home-news-card > a:hover h3 { color: var(--home-theme-strong); }
/*主题一致性收口：不叠加旧版蓝青描边，不让文字渐变回退成色块。*/
.home-page-theme .home-hero .home-hero-subtitle { color: var(--home-theme-strong); background: none; -webkit-background-clip: border-box; background-clip: border-box; }
.home-page-theme .home-hero .home-hero-kicker::before { background: var(--home-primary); box-shadow: 0 0 0 .25rem color-mix(in srgb, var(--home-primary) 14%, transparent); }
.home-page-theme .home-template .home-tab { border: 1px solid var(--home-theme-border); box-shadow: 0 .5rem 1.5rem color-mix(in srgb, var(--home-primary) 7%, transparent); }
.home-page-theme .home-template .home-tab::after { display: none; }
.home-page-theme .home-template .home-template-tabs .home-tab-item { --template-tab-accent: var(--home-primary); color: #66758c; }
.home-page-theme .home-template .home-template-tabs .home-tab-item:hover:not(.active) { color: var(--home-primary) !important; background: var(--home-theme-soft); }
.home-page-theme .home-template .home-template-tabs .home-tab-item.active,
.home-page-theme .home-template .home-template-tabs .home-tab-item.active:hover { background: var(--home-primary) !important; box-shadow: 0 .5rem 1.2rem color-mix(in srgb, var(--home-primary) 22%, transparent); }
.home-page-theme .home-template .home-template-switch { border-color: color-mix(in srgb, var(--home-primary) 20%, #dce5f1 80%); color: var(--home-primary); }
.home-page-theme .home-template .home-template-switch:hover,
.home-page-theme .home-template .home-template-switch:focus-visible { border-color: var(--home-primary); box-shadow: 0 .8rem 2rem color-mix(in srgb, var(--home-primary) 18%, transparent); }
.home-page-theme .home-template .home-template-more-icon svg * { fill: var(--home-primary) !important; }
.home-page-theme .home-template .home-template-more:hover { background: var(--home-theme-strong) !important; border-color: var(--home-theme-strong); box-shadow: 0 .8rem 1.75rem color-mix(in srgb, var(--home-primary) 26%, transparent); }
.home-page-theme .home-template .home-template-more:hover .home-template-more-icon svg * { fill: var(--home-primary) !important; }
.home-page-theme .home-news-card > a::after { display: none; }
.home-page-theme .home-news-card > a,
.home-page-theme .home-news > .container .home-news-item:not(.is-featured) .home-news-card > a { border-color: #e3eaf4; box-shadow: 0 .65rem 1.75rem rgba(39, 66, 113, .065); }
.home-page-theme .home-news-card > a:hover,
.home-page-theme .home-news-card > a:focus-visible,
.home-page-theme .home-news > .container .home-news-item:not(.is-featured) .home-news-card > a:hover,
.home-page-theme .home-news > .container .home-news-item:not(.is-featured) .home-news-card > a:focus-visible { border-color: color-mix(in srgb, var(--home-primary) 48%, #dce5f1 52%); box-shadow: 0 1.1rem 2.5rem rgba(39, 66, 113, .12), 0 0 0 .1875rem color-mix(in srgb, var(--home-primary) 7%, transparent); }
.home-page-theme .home-news-card > a::before,
.home-page-theme .home-news > .container .home-news-item:not(.is-featured) .home-news-card > a::before { background: var(--home-primary); }
.home-page-theme .home-news > .container .home-news-item:not(.is-featured) .home-news-card > a:focus-visible { outline-color: color-mix(in srgb, var(--home-primary) 42%, transparent); }
/*首页收尾 CTA 与页脚：主题色提供氛围和交互，深色页脚保持阅读对比度。*/
.home-page-theme .builder-final-cta { background: radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--home-primary) 42%, #fff 58%), transparent 28rem),
    linear-gradient(120deg, var(--home-theme-strong), var(--home-primary) 56%, color-mix(in srgb, var(--home-primary) 76%, #fff)); }
.home-page-theme .builder-final-grid { background-image: linear-gradient(color-mix(in srgb, #fff 16%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, #fff 16%, transparent) 1px, transparent 1px); }
.home-page-theme .builder-final-cta .btn { color: var(--home-primary); box-shadow: 0 .875rem 1.875rem color-mix(in srgb, #300000 20%, transparent); }
.home-page-theme .builder-final-cta .btn:hover { color: #fff; background: var(--home-theme-strong); box-shadow: 0 1rem 2rem color-mix(in srgb, #300000 28%, transparent); }
/*产品网客户案例缩略图导航：默认按实际内容宽度居中，超出时只滚动中间轨道。*/
.home-case-thumbs-wrap { display: flex; width: fit-content; max-width: calc(100% - 2rem); align-items: center; gap: .55rem; margin: 1.5rem auto 0; }
.home-case-thumbs { display: flex; flex: 0 1 auto; width: max-content; max-width: calc(100vw - 8rem); justify-content: center; gap: .75rem; min-width: 0; padding: .35rem .1rem .65rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-behavior: smooth; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--home-primary) 40%, #dce7f5) transparent; }
.home-case-thumbs::-webkit-scrollbar { height: .35rem; }
.home-case-thumbs::-webkit-scrollbar-track { background: transparent; }
.home-case-thumbs::-webkit-scrollbar-thumb { border-radius: 999px; background: color-mix(in srgb, var(--home-primary) 38%, #dce7f5); }
.home-case-thumb { position: relative; display: flex; flex: 0 0 8.75rem; flex-direction: column; gap: .45rem; min-width: 0; padding: .35rem .35rem .55rem; border: 1px solid #dbe6f4; border-radius: .8rem; background: #fff; color: #536681; cursor: pointer; text-align: left; box-shadow: 0 .35rem .85rem rgba(34,68,119,.06); transition: border-color .25s ease, box-shadow .25s ease, color .25s ease; }
.home-case-thumb:hover { border-color: color-mix(in srgb, var(--home-primary) 42%, #dbe6f4); color: var(--home-primary-dark); }
.home-case-thumb.active { border-color: var(--home-primary); box-shadow: 0 .45rem 1.1rem color-mix(in srgb, var(--home-primary) 22%, transparent), 0 0 0 .15rem color-mix(in srgb, var(--home-primary) 9%, transparent); color: var(--home-primary-dark); }
.home-case-thumb-media { position: relative; display: block; height: 4.5rem; overflow: hidden; border-radius: .55rem; background: linear-gradient(145deg, #eaf2ff, #d6e5f8); }
.home-case-thumb-media::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(8,28,62,.35)); content: ''; pointer-events: none; }
.home-case-thumb-media img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .86; transition: opacity .35s ease, filter .35s ease; }
.home-case-thumb.active .home-case-thumb-media img { opacity: 1; filter: saturate(1.08); }
.home-case-thumb-media.is-error { display: grid; place-items: center; color: color-mix(in srgb, var(--home-primary) 42%, #fff); }
.home-case-thumb strong { display: block; overflow: hidden; padding: 0 .25rem; font-size: .72rem; font-weight: 700; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.home-case-thumbs-nav { display: grid; flex: 0 0 2.15rem; width: 2.15rem; height: 2.15rem; place-items: center; border: 1px solid #dbe6f4; border-radius: 50%; background: #fff; color: var(--home-primary); cursor: pointer; box-shadow: 0 .35rem .8rem rgba(34,68,119,.07); transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease; }
.home-case-thumbs-nav:hover, .home-case-thumbs-nav:focus-visible { border-color: var(--home-primary); background: var(--home-primary); color: #fff; transform: translateY(-.1rem); }
.home-case-thumbs-nav:focus-visible, .home-case-thumb:focus-visible { outline: .15rem solid color-mix(in srgb, var(--home-primary) 45%, transparent); outline-offset: .15rem; }
@media (max-width: 767.98px) {
  .home-case-thumbs-wrap { width: calc(100% - 1rem); max-width: none; gap: .45rem; margin-top: 1rem; }
  .home-case-thumbs { width: 100%; max-width: none; justify-content: flex-start; gap: .55rem; padding-bottom: .5rem; }
  .home-case-thumb { flex-basis: 7.4rem; }
  .home-case-thumb-media { height: 3.65rem; }
  .home-case-thumbs-nav { flex-basis: 1.85rem; width: 1.85rem; height: 1.85rem; font-size: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  .home-case-thumbs, .home-case-thumb, .home-case-thumb-media img, .home-case-thumbs-nav { scroll-behavior: auto; transition: none; }
}
/*==================== 产品矩阵升级：从产品罗列到需求决策 ====================*/
.home-product-intent { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .55rem; margin: -1rem auto 2.25rem; }
.home-product-intent-label { margin-right: .25rem; color: #78869c; font-size: .75rem; }
.home-product-intent a { display: inline-flex; align-items: center; gap: .4rem; min-height: 2.2rem; padding: 0 .85rem; border: 1px solid #dfe8f5; border-radius: 999px; background: rgba(255,255,255,.8); color: #435572; font-size: .75rem; text-decoration: none; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.home-product-intent a i { color: var(--home-primary); font-size: .7rem; transition: transform .2s ease; }
.home-product-intent a:hover,
.home-product-intent a:focus-visible { border-color: color-mix(in srgb, var(--home-primary) 34%, #dfe8f5 66%); background: var(--home-theme-soft); color: var(--home-primary-dark); outline: 0; transform: translateY(-.1rem); }
.home-product-intent a:hover i,
.home-product-intent a:focus-visible i { transform: translate(.1rem, .1rem); }
.home-product .home-product-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.home-product .home-product-group { position: relative; min-height: 34rem; height: auto; box-sizing: border-box; padding: 1.55rem; padding-bottom: 1rem; overflow: visible; border-color: #e1e9f5; border-radius: 1.25rem; background: rgba(255,255,255,.9); box-shadow: 0 1rem 2.5rem rgba(31,55,91,.065); transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.home-product .home-product-group::before { position: absolute; top: -8rem; right: -7rem; width: 16rem; height: 16rem; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--home-primary) 13%, transparent), transparent 68%); content: ''; pointer-events: none; }
.home-product .home-product-group:hover { border-color: color-mix(in srgb, var(--home-primary) 35%, #e1e9f5 65%); box-shadow: 0 1.35rem 3rem rgba(31,55,91,.105); transform: translateY(-.2rem); }
/*选中态：默认落在腾数产品（第二面板），悬停/键盘聚焦其它面板时切换*/
.home-product .home-product-groups:not(:hover) .home-product-group-1,
.home-product .home-product-group:hover,
.home-product .home-product-group:focus-within { border-color: color-mix(in srgb, var(--home-primary) 42%, #e1e9f5 58%); background: linear-gradient(145deg, color-mix(in srgb, var(--home-primary) 6%, #fff), #fff 52%); box-shadow: 0 1.2rem 3rem color-mix(in srgb, var(--home-primary) 11%, transparent); }
.home-product .home-product-group-head { position: relative; z-index: 1; min-height: 5.4rem; padding-bottom: 1rem; }
.home-product .home-product-group-head h3 { font-size: 1.35rem; letter-spacing: -.03em; }
.home-product .home-product-group-head p { font-size: .78rem; }
.home-product-featured-list { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; gap: .65rem; margin: 1.15rem 0 0; padding: 0; list-style: none; }
.home-product-featured-list > li { min-width: 0; }
.home-product-featured { position: relative; z-index: 1; display: flex; width: 100%; min-width: 0; box-sizing: border-box; min-height: 5.5rem; align-items: center; gap: .85rem; margin: 0; padding: .95rem 1rem; border: 1px solid color-mix(in srgb, var(--home-primary) 24%, #dfe8f5 76%); border-radius: .95rem; background: linear-gradient(120deg, #fff, var(--home-theme-soft)); color: inherit; text-decoration: none; box-shadow: 0 .55rem 1.25rem color-mix(in srgb, var(--home-primary) 8%, transparent); transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.home-product-featured:hover,
.home-product-featured:focus-visible { border-color: var(--home-primary); box-shadow: 0 .85rem 1.75rem color-mix(in srgb, var(--home-primary) 15%, transparent); outline: 0; transform: translateY(-.14rem); }
.home-product-featured-icon { display: flex; width: 3.25rem; height: 3.25rem; flex: 0 0 3.25rem; align-items: center; justify-content: center; overflow: hidden; border-radius: .8rem; background: #fff; box-shadow: 0 .35rem .8rem rgba(31,55,91,.1); color: var(--home-primary); font-size: 1.4rem; }
.home-product-featured-icon img { width: 100%; height: 100%; object-fit: cover; }
.home-product-featured-copy { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: .22rem; }
.home-product-featured-copy small { color: var(--home-primary); font-size: .62rem; font-weight: 750; letter-spacing: .1em; }
.home-product-featured-copy strong { overflow: hidden; color: #17243d; font-size: 1.05rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.home-product-featured-copy em { overflow: hidden; color: #71809a; font-size: .72rem; font-style: normal; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.home-product-featured-arrow { display: flex; width: 1.9rem; height: 1.9rem; flex: 0 0 1.9rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--home-primary); color: #fff; font-size: .75rem; }
.home-product .home-product-group-list { position: relative; z-index: 1; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-flow: row; gap: .4rem; margin-top: .35rem; }
.home-product .home-product-group-0 .home-product-group-list,
.home-product .home-product-group-2 .home-product-group-list { grid-template-columns: 1fr; }
.home-product .home-product-group-item > a { min-height: 3.05rem; padding: .42rem .5rem; gap: .55rem; }
.home-product .home-product-group-icon { width: 2rem; height: 2rem; flex-basis: 2rem; border-radius: .55rem; }
.home-product .home-product-group-name { font-size: .8rem; }
.home-product .home-product-group-arrow { margin-left: auto; color: #a5b2c5; font-size: .72rem; transition: color .2s ease, transform .2s ease; }
.home-product .home-product-group-item > a:hover .home-product-group-arrow,
.home-product .home-product-group-item > a:focus-visible .home-product-group-arrow { color: var(--home-primary); transform: translateX(.15rem); }
@media (max-width: 1199.98px) {
  .home-product .home-product-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-product .home-product-group-1 { grid-column: span 2; }
}
@media (max-width: 767.98px) {
  .home-page-theme .home-hero .home-hero-lead,
  .home-page-theme .home-section-head .home-desc { display: none; }
  .home-product-intent { display: none; }
  .home-product .home-product-groups { grid-template-columns: 1fr; gap: .8rem; }
  .home-product .home-product-group,
  .home-product .home-product-group-1 { grid-column: auto; min-height: 0; height: auto; padding: 1.15rem; }
  .home-product .home-product-group { min-width: 0; }
  .home-product .home-product-group-head { min-height: 0; }
  .home-product-featured-list { grid-template-columns: minmax(0, 1fr); min-width: 0; margin-top: .85rem; gap: .5rem; }
  .home-product-featured-list > li { min-width: 0; }
  .home-product-featured { width: 100%; min-width: 0; min-height: 4.75rem; gap: .65rem; margin: 0; padding: .65rem .75rem; border-radius: .8rem; }
  .home-product-featured-icon { width: 2.8rem; height: 2.8rem; flex-basis: 2.8rem; }
  .home-product-featured-copy strong { font-size: .98rem; }
  .home-product-featured-copy em { font-size: .68rem; }
  .home-product-featured-arrow { width: 1.7rem; height: 1.7rem; flex-basis: 1.7rem; }
  .home-product .home-product-group-list,
  .home-product .home-product-group-0 .home-product-group-list,
  .home-product .home-product-group-2 .home-product-group-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-product .home-product-group-item > a { min-height: 3rem; }
}
@media (prefers-reduced-motion: reduce) {
  .home-product-intent a,
  .home-product .home-product-group,
  .home-product-featured,
  .home-product .home-product-group-arrow { transition: none; }
}
@media (max-width: 767.98px) {
  .home-page-theme .home-hero .home-hero-title,
  .home-page-theme .home-hero .home-hero-subtitle,
  .home-page-theme .home-section-head .home-title { text-align: center; }
  .home-page-theme .home-hero .home-hero-title,
  .home-page-theme .home-hero .home-hero-subtitle { margin-right: auto; margin-left: auto; }
}
/*腾数网首页伙伴品牌：案例之后全宽展示，慢速从右向左连续滚动。*/
#homePartnerLogos { overflow: hidden; padding: 2rem 0 2.75rem; background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--home-primary, #246bfd) 5%, #fff) 100%); }
#homePartnerLogos > .container { width: 100%; max-width: none; padding-right: 0; padding-left: 0; }
.home-case:has(+ #homePartnerLogos) { padding-bottom: 2rem; }
#homePartnerLogos .home-partner-logos-head { max-width: 64rem; margin: 0 auto 1.25rem; text-align: center; }
#homePartnerLogos .home-title { margin: 0 auto; font-size: clamp(1.5rem, 2.3vw, 2rem); text-align: center; }
#homePartnerLogos .home-desc { margin: .5rem auto 0; font-size: .9rem; text-align: center; }
#homePartnerLogos .home-partner-logos-viewport { position: relative; overflow: hidden; outline: none; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 9%, #000 91%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, #000 9%, #000 91%, transparent 100%); }
#homePartnerLogos .home-partner-logos-viewport::before,
#homePartnerLogos .home-partner-logos-viewport::after { position: absolute; z-index: 1; top: 0; bottom: 0; width: clamp(2rem, 5vw, 5rem); content: ""; pointer-events: none; backdrop-filter: blur(3px); }
#homePartnerLogos .home-partner-logos-viewport::before { left: 0; background: linear-gradient(90deg, rgba(248, 251, 255, .88), transparent); }
#homePartnerLogos .home-partner-logos-viewport::after { right: 0; background: linear-gradient(270deg, rgba(248, 251, 255, .88), transparent); }
#homePartnerLogos .home-partner-logos-viewport:focus-visible { border-radius: .75rem; outline: 2px solid var(--home-primary, #246bfd); outline-offset: .25rem; }
#homePartnerLogos .home-partner-logos-track { display: flex; width: max-content; align-items: center; animation: home-partner-logos-marquee 180s linear infinite; will-change: transform; }
#homePartnerLogos .home-partner-logos-group { display: flex; flex: 0 0 auto; align-items: center; gap: 1rem; margin: 0; padding: .5rem .625rem; list-style: none; }
#homePartnerLogos .home-partner-logo { display: flex; width: clamp(11rem, 13vw, 14rem); height: 6.25rem; flex: 0 0 auto; align-items: center; justify-content: center; flex-direction: column; gap: .25rem; padding: .75rem 1rem; border: 1px solid #e4ebf5; border-radius: 1rem; background: rgba(255, 255, 255, .96); box-shadow: 0 .5rem 1.5rem rgba(24, 52, 96, .045); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
#homePartnerLogos .home-partner-logo a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; flex-direction: column; gap: .25rem; color: inherit; text-decoration: none; }
#homePartnerLogos .home-partner-logo img { display: block; width: 100%; max-width: 100%; height: 3.25rem; flex: 0 0 auto; object-fit: contain; }
#homePartnerLogos .home-partner-logo span { overflow: hidden; max-width: 100%; color: #667085; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
#homePartnerLogos .home-partner-logo:hover { border-color: color-mix(in srgb, var(--home-primary, #246bfd) 35%, #dce5f1); box-shadow: 0 .8rem 1.8rem rgba(16, 24, 40, .1); transform: translateY(-.125rem); }
@keyframes home-partner-logos-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (max-width: 767.98px) {
  #homePartnerLogos { padding: 1.5rem 0 2rem; }
  .home-case:has(+ #homePartnerLogos) { padding-bottom: 1.5rem; }
  #homePartnerLogos .home-partner-logos-head { margin-bottom: .75rem; padding: 0 1rem; }
  #homePartnerLogos .home-partner-logos-viewport { -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%); }
  #homePartnerLogos .home-partner-logos-group { gap: .75rem; }
  #homePartnerLogos .home-partner-logo { width: 10rem; height: 5.5rem; padding: .625rem .75rem; }
  #homePartnerLogos .home-partner-logo img { height: 2.75rem; }
}
@media (prefers-reduced-motion: reduce) {
  #homePartnerLogos .home-partner-logos-viewport { overflow-x: auto; scrollbar-width: thin; }
  #homePartnerLogos .home-partner-logos-track { animation: none; }
  #homePartnerLogos .home-partner-logos-group[aria-hidden="true"] { display: none; }
  #homePartnerLogos .home-partner-logo { transition: none; }
}
