@charset "UTF-8";
/* optimize.css — 全站布局增强补丁（仅补充 style.css 未覆盖的部分） */

/* ===== 基础渲染优化 ===== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img { max-width: 100%; height: auto; }

/* ===== 滚动条 ===== */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(74,108,247,0.3); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(74,108,247,0.6); }
::selection { background: rgba(74,108,247,0.2); color: inherit; }

/* ===== 焦点可访问性 ===== */
a:focus-visible, button:focus-visible {
  outline: 2px solid #4a6cf7;
  outline-offset: 3px;
  border-radius: 3px;
}

/* ===== 视频容器比例 ===== */
.banner-video-box, .media-video-box { aspect-ratio: 16/9; }
.media-video-poster { transition: opacity 0.5s ease; }
.media-video-poster.hidden { opacity: 0; pointer-events: none; }

/* ===== iOS 安全区 ===== */
.foot-fixed-bar {
  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0));
}

/* ===== section-title 下划线装饰（style.css 未设置） ===== */
.section-title::after, .layer-title::after {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background: linear-gradient(90deg, #4a6cf7, #7b2ff7);
  border-radius: 2px;
  margin: 12px auto 0;
}

/* ===== 下拉菜单子项 hover 高亮（style.css 无此规则） ===== */
.nav-wrap .head-sub-menu > li:hover {
  background: rgba(74,108,247,0.04);
}

/* ===== 顶部 Banner 图片防拖拽 ===== */
.head-bn-img img,
.banner-item-img img,
.human-intro-media img {
  -webkit-user-drag: none;
  user-select: none;
}
a.banner-item-img img { pointer-events: auto; }

/* ===== CTA 按钮微提升（style.css transition 已有，补充 hover 位移） ===== */
.head-bn-btn:hover,
.sys-btn:hover {
  transform: translateY(-1px);
}

/* ===== gpt.html 独立页面样式 ===== */
.gpt-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0a0e27 0%, #1a1f4e 50%, #0d1b3e 100%);
  padding: 60px 20px;
}
.gpt-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 20px;
  padding: 60px 50px;
  max-width: 500px;
  width: 100%;
  text-align: center;
  backdrop-filter: blur(10px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}
.gpt-logo { margin-bottom: 32px; }
.gpt-logo img { height: 48px; }
.gpt-title { font-size: 22px; font-weight: 600; color: #fff; margin-bottom: 12px; line-height: 1.4; }
.gpt-subtitle { font-size: 14px; color: rgba(255,255,255,0.5); margin-bottom: 36px; }
.gpt-qrcode {
  width: 220px; height: 220px;
  border-radius: 12px;
  border: 4px solid rgba(255,255,255,0.15);
  margin: 0 auto 28px;
  display: block;
  object-fit: cover;
}
.gpt-hint { font-size: 13px; color: rgba(255,255,255,0.4); margin-top: 16px; }
.gpt-back {
  display: inline-block;
  margin-top: 32px;
  color: rgba(255,255,255,0.5);
  font-size: 13px;
  text-decoration: none;
  transition: color 0.2s;
}
.gpt-back:hover { color: #fff; }

/* ===== Index 应用平台区块 — 仅限 #index-application ===== */
#index-application .head-app-menu {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
  gap: 10px;
}
#index-application .app-menu-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 14px 8px;
  border-radius: 10px;
  transition: background 0.2s, transform 0.2s;
}
#index-application .app-menu-inner:hover {
  background: rgba(74,108,247,0.06);
  transform: translateY(-2px);
}

/* ===== Footer 补充 ===== */
.copyright { text-align: center; }
.foot-txt-list a { text-decoration: none; }

/* ===== 打印 ===== */
@media print {
  .top-notice, .foot-fixed-bar, .aside-sv-widget,
  .ft-video-btn, .video-body, .head-nav, .head-right { display: none !important; }
  .web-head { position: static !important; }
}

/* ===== 响应式补充 ===== */
@media (max-width: 768px) {
  .head-bn-desc { font-size: 14px; line-height: 1.8; }
  .section-desc, .layer-desc { padding: 0 16px; }
}
@media (max-width: 480px) {
  .gpt-card { padding: 40px 24px; }
  .gpt-title { font-size: 18px; }
  #index-application .head-app-menu {
    grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
  }
}

/* ===== prefers-reduced-motion ===== */
@media (prefers-reduced-motion: reduce) {
  .wow, .wow.animated {
    animation: none !important;
    transition: none !important;
    visibility: visible !important;
  }
}

/* ===== digital.html 专属增强（仅补充 style.css 缺失部分） ===== */

/* Banner 强调色 — style.css 无此规则 */
.banner-cell-title .title-break {
  color: #5b8af7;
}

/* figure-item-info 序号渐变色 — style.css 只有纯色 */
.figure-info-num {
  background: linear-gradient(135deg, #4a6cf7, #7b2ff7);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* scene-item-inner hover — style.css 无此规则 */
.human-scene .scene-item-inner:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.12);
}

/* scene-item-num 渐变色 — style.css 无渐变 */
.scene-item-num {
  background: linear-gradient(135deg, #4a6cf7, #7b2ff7);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* case-item hover — style.css 无此规则 */
.case-item-inner:hover .case-item-img .img-inner img {
  transform: scale(1.05);
}

.case-item-img .img-inner {
  overflow: hidden;
}

.case-item-img .img-inner img {
  transition: transform 0.35s ease;
}

/* case-item-tit 字重 — style.css 无此规则 */
.case-item-tit {
  font-weight: 600;
}

/* ===== sys-head-banner 背景图宽度拉满 ===== */
.sys-head-banner {
  width: 100%;
  overflow: hidden;
}

.head-banner-item {
  width: 100%;
  position: relative;
}

.head-banner-img {
  width: 100%;
  display: block;
  line-height: 0;
  overflow: hidden;
}

.head-banner-img img {
  width: 100% !important;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* head-banner-cont positioning handled by style.css */
