:root {
  --bg: #e9edf1;
  --panel: rgba(14, 19, 25, 0.78);
  --panel-line: rgba(255, 255, 255, 0.12);
  --text: #f5f7fa;
  --text-muted: rgba(245, 247, 250, 0.72);
  --active: #ffffff;
  --page-max: 1920px;
}

* {
  box-sizing: border-box;
}

html {
  overflow-x: clip; /* 兜底裁掉任何 100vw 等宽元素的横向溢出，不创建滚动容器、不影响 sticky */
}

html,
body {
  margin: 0;
  background: var(--bg);
  font-family: "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
}

body {
  color: var(--text);
}

a {
  color: inherit;
  text-decoration: none;
}

.site-shell {
  min-height: 100vh;
}

.site-shell--home {
  position: relative;
}

.site-nav-layer {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(100%, var(--page-max));
  z-index: 25;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 72px;
  padding: 16px 26px;
  transition: color 0.18s ease, opacity 0.18s ease;
}

.site-nav-layer::after {
  content: none;
}

.site-nav-layer--home {
  background: transparent;
}

.site-nav-layer--subpage {
  backdrop-filter: none;
  background: transparent;
}

.site-nav-layer:hover,
.site-nav-layer:focus-within {
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(14px);
}

.site-logo-layer {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: 192px;
  height: 34px;
}

.site-logo-layer__image {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 192px;
  height: 34px;
  object-fit: contain;
  object-position: left center;
  transition: opacity 0.18s ease;
}

.site-logo-layer__image--hover {
  opacity: 0;
}

.site-menu-layer {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex: 1 1 auto;
  min-width: 0;
}

.site-menu-item {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 40px;
}

.site-menu-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  min-height: 40px;
  padding: 0;
  opacity: 0.92;
  transition: color 0.18s ease, opacity 0.18s ease;
}

.site-menu-link.is-active {
  opacity: 1;
}

.site-menu-caret {
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
}

.site-menu-dropdown {
  position: absolute;
  top: calc(100% - 2px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 220px;
  padding: 10px;
  border-radius: 14px;
  background: rgba(8, 20, 40, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.site-menu-item:hover .site-menu-dropdown,
.site-menu-item:focus-within .site-menu-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.site-menu-dropdown__link {
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.92);
  font-size: 13px;
}

.site-menu-dropdown__link:hover,
.site-menu-dropdown__link:focus-visible {
  background: rgba(255, 255, 255, 0.08);
}

.site-nav-actions {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.site-nav-action {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(10, 18, 32, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  backdrop-filter: blur(12px);
  transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.site-nav-layer:hover .site-logo-layer__image--default,
.site-nav-layer:focus-within .site-logo-layer__image--default {
  opacity: 0;
}

.site-nav-layer:hover .site-logo-layer__image--hover,
.site-nav-layer:focus-within .site-logo-layer__image--hover {
  opacity: 1;
}

.site-nav-layer:hover .site-menu-link,
.site-nav-layer:focus-within .site-menu-link {
  color: #0c57ff;
  opacity: 1;
}

.site-nav-layer:hover .site-nav-action,
.site-nav-layer:focus-within .site-nav-action {
  color: #0c57ff;
  background: rgba(255, 255, 255, 0);
  border-color: rgba(12, 87, 255, 0.16);
}

.site-nav-layer:hover .site-menu-dropdown,
.site-nav-layer:focus-within .site-menu-dropdown {
  background: rgba(255, 255, 255, 0.98);
  border-color: rgba(12, 87, 255, 0.14);
}

.site-nav-layer:hover .site-menu-dropdown__link,
.site-nav-layer:focus-within .site-menu-dropdown__link {
  color: #0c57ff;
}

/* 向下滚动: 菜单变反色(蓝字+深logo) + 背景80%透明 */
.site-nav-layer.is-scrolled { background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(14px); }
.site-nav-layer.is-scrolled .site-logo-layer__image--default { opacity: 0; }
.site-nav-layer.is-scrolled .site-logo-layer__image--hover { opacity: 1; }
.site-nav-layer.is-scrolled .site-menu-link { color: #0c57ff; opacity: 1; }
.site-nav-layer.is-scrolled .site-nav-action { color: #0c57ff; border-color: rgba(12, 87, 255, 0.16); }

.design-page {
  width: min(100%, var(--page-max));
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.12);
  position: relative;
}

.design-page--home {
  position: relative;
}

.page-hero-banner {
  position: relative;
  min-height: clamp(320px, 52vw, 680px);
  overflow: hidden;
  background: #0f1830;
}

.page-hero-banner__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-hero-banner__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 15, 29, 0.18), rgba(7, 15, 29, 0.74));
}

.page-hero-banner__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: inherit;
  padding: 140px 64px 54px;
  color: #fff;
}

.page-hero-banner__eyebrow {
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.82;
}

.page-hero-banner__title {
  margin: 0;
  max-width: 680px;
  font-size: clamp(32px, 5vw, 68px);
  line-height: 0.98;
}

.page-hero-banner__description {
  margin: 22px 0 0;
  max-width: 640px;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(15px, 1.45vw, 22px);
  line-height: 1.6;
}

.home-hero-copy {
  position: relative;
  z-index: 7;
}

.home-hero-copy--standalone {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  min-height: clamp(320px, 52vw, 680px);
  pointer-events: none;
}

.home-hero-copy__inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: inherit;
  padding: 140px 64px 54px;
  color: #fff;
}

.home-hero-copy__title {
  margin: 0;
  max-width: none;
  font-size: clamp(24px, 3.4vw, 52px);
  line-height: 0.98;
  white-space: nowrap;
  text-shadow: 0 12px 30px rgba(0, 0, 0, 0.24);
}

.home-hero-copy__summary {
  margin: 22px 0 0;
  max-width: 640px;
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(15px, 1.45vw, 22px);
  line-height: 1.6;
  text-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
}

.design-canvas {
  position: relative;
  width: 100%;
  padding-top: var(--canvas-ratio);
  background: #fff;
  overflow: hidden;
}

/* 首页 v2 · 真实区块堆叠 */
.home-v2 {
  width: 100%;
}

/* Hero · 视频背景 + 真实菜单(菜单 fixed 悬浮其上) + 标题 */
.hv-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100svh;
  min-height: 460px;
  overflow: hidden;
  background: #0b1622 url("/home/hero-poster.jpg") center / cover no-repeat;
}
.hv-hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.8s ease;
  z-index: 1;
}
.hv-hero__slide.is-active { opacity: 1; z-index: 2; }
.hv-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hv-hero__copy {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 15%;
  right: 35%; /* 文字限定在水平 15%–65% 区域 */
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0;
  color: #fff;
  pointer-events: none;
}
.hv-hero__copy-title {
  margin: 0 0 22px;
  font-size: clamp(24px, 3.4vw, 52px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
  text-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
}
.hv-hero__copy-text {
  margin: 0;
  max-width: 100%;
  font-size: clamp(13.8px, 1.33vw, 20.2px);
  line-height: 1.6;
  color: #fff;
  text-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}
.hv-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hv-hero__dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(20px, 3.5vh, 44px);
  display: flex;
  gap: 10px;
  justify-content: center;
  z-index: 4;
}
.hv-hero__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  padding: 0;
  transition: width 0.3s ease, background 0.3s ease;
}
.hv-hero__dot.is-active { width: 26px; border-radius: 6px; background: #fff; }
.hv-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 16, 26, 0.28) 0%, rgba(8, 16, 26, 0.05) 40%, rgba(8, 16, 26, 0.35) 100%);
}
.hv-hero__content {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
  padding: 0 6%;
}
.hv-hero__title {
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 3.4vw, 60px);
  font-weight: 700;
  letter-spacing: 0.01em;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}
.hv-hero__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  z-index: 4;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
  transition: opacity 0.2s ease;
  opacity: 0.9;
}
.hv-hero__arrow--prev { left: 3%; }
.hv-hero__arrow--next { right: 3%; }
.hv-hero__arrow:hover { opacity: 1; }

.hv-sec {
  position: relative;
  width: 100%;
  font-size: 0;
}

.hv-sec__bg {
  display: block;
  width: 100%;
  height: auto;
}

/* Case Studies · Hero / 列表 / 详情 */
.cs-hero {
  position: relative;
  width: 100%;
  height: clamp(360px, 40vw, 620px);
  overflow: hidden;
  background: #0b1622;
}
.cs-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cs-hero__overlay { position: absolute; inset: 0; background: rgba(8, 16, 28, 0.45); }
.cs-hero__content { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 8%; }
.cs-hero__title { margin: 0; color: #fff; font-size: clamp(32px, 4.4vw, 68px); font-weight: 700; text-shadow: 0 2px 18px rgba(0,0,0,0.4); }
.cs-hero__sub { margin: 0.8em 0 0; max-width: 40em; color: rgba(255,255,255,0.92); font-size: clamp(13px, 1.2vw, 19px); line-height: 1.6; text-shadow: 0 1px 10px rgba(0,0,0,0.35); }

.cs-list { width: 100%; box-sizing: border-box; padding: clamp(40px, 5vw, 90px) 6%; background: #fff; }
.cs-list__title { max-width: 1200px; margin: 0 auto 1em; font-size: clamp(22px, 2.6vw, 40px); font-weight: 700; color: #14181f; }
.cs-filter { max-width: 1200px; margin: 0 auto clamp(24px, 3vw, 44px); display: flex; flex-wrap: wrap; gap: clamp(8px, 1vw, 16px); }
.cs-filter__btn {
  border: 1px solid #d6deea; background: #fff; cursor: pointer;
  padding: 0.55em 1.2em; border-radius: 999px; color: #5b6776;
  font-size: clamp(12px, 1vw, 15px); font-weight: 400; transition: all 0.2s ease;
}
.cs-filter__btn:hover { border-color: #0c65ff; color: #0c65ff; }
.cs-filter__btn.is-active { background: #0c65ff; border-color: #0c65ff; color: #fff; }
.cs-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 1.8vw, 28px); }
.cs-card {
  display: flex; flex-direction: column; text-decoration: none; text-align: left;
  background: #fff; border: 1px solid #e7ecf3; border-radius: 14px; overflow: hidden;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.cs-card:hover { box-shadow: 0 14px 34px rgba(20,40,80,0.12); transform: translateY(-3px); }
.cs-card__img { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #dfe6ef; }
.cs-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.news-card__date { margin: 1.2em 1.4em 0; color: #0c65ff; font-size: clamp(11px, 0.95vw, 14px); font-weight: 600; }
.news-card .cs-card__title { margin-top: 0.5em; font-weight: 400; font-size: clamp(12px, 1vw, 16px); }
.cs-card__title { margin: 1.6em 1.4em 0; color: #14181f; font-size: clamp(15px, 1.25vw, 20px); font-weight: 700; line-height: 1.35; text-align: left; }
/* 标题与描述间空一行; 描述完整显示(不截断) */
.cs-card__desc { margin: 1.6em 1.4em 0; color: #6b7785; font-size: clamp(11px, 0.9vw, 13px); line-height: 1.6; text-align: left; }
/* Read Case Study 距描述 2 倍间距 */
.cs-card__more { align-self: flex-end; margin: auto 1.4em 1.6em; padding-top: 2.4em; color: rgba(12, 101, 255, 0.5); font-size: clamp(12px, 1vw, 14px); font-weight: 400; }
@media (max-width: 900px) { .cs-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .cs-grid { grid-template-columns: 1fr; } }

/* 详情 */
.cs-detail { max-width: 920px; margin: 0 auto; box-sizing: border-box; padding: clamp(40px, 5vw, 90px) 6%; }
.cs-detail__cat { margin: 0 0 0.6em; color: #0c65ff; font-size: clamp(12px, 1vw, 15px); font-weight: 600; }
.cs-detail__headline { margin: 0 0 0.5em; color: #14181f; font-size: clamp(24px, 3vw, 44px); font-weight: 700; line-height: 1.25; }
.cs-detail__meta { margin: 0 0 1.6em; color: #6b7785; font-size: clamp(12px, 1.05vw, 16px); }
.cs-detail__img { display: block; width: 100%; height: auto; border-radius: 14px; margin: 0 0 2em; }
.cs-detail__h { margin: 1.6em 0 0.6em; color: #0c65ff; font-size: clamp(18px, 1.8vw, 28px); font-weight: 700; }
.cs-detail__body p { margin: 0 0 0.9em; color: #3a4654; font-size: clamp(13px, 1.05vw, 17px); line-height: 1.75; }
.cs-rel { margin-top: 3em; }
.cs-rel__heading { text-align: center; margin: 0 0 1.4em; color: #14181f; font-size: clamp(18px, 1.8vw, 28px); font-weight: 700; }
.cs-rel__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(14px, 1.6vw, 26px); }
.cs-rel__card { text-decoration: none; display: flex; flex-direction: column; }
.cs-rel__img { aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; background: #dfe6ef; }
.cs-rel__img img { width: 100%; height: 100%; object-fit: cover; }
.cs-rel__title { margin: 0.7em 0 0.4em; color: #14181f; font-size: clamp(13px, 1.1vw, 17px); font-weight: 600; line-height: 1.4; }
@media (max-width: 720px) { .cs-rel__grid { grid-template-columns: 1fr; } }

/* Solutions 子页 Hero · 首屏视频 + 标题 */
.sol-hero {
  position: relative;
  width: 100%;
  height: clamp(480px, 56vw, 880px);
  overflow: hidden;
  background: #0b1622;
}
.sol-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sol-hero__content {
  position: absolute;
  left: 7%;
  top: 50%;
  transform: translateY(-50%);
  max-width: 70%;
  z-index: 1;
}
.sol-hero__title {
  margin: 0;
  color: #fff;
  font-size: clamp(32px, 4.6vw, 76px);
  font-weight: 700;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.4);
}

/* 新设计子页面 · 整页合成图 */
.image-page { width: 100%; }
.image-page__img { display: block; width: 100%; height: auto; }

/* Technology 第二屏 · Core Technology 黑底+文字(上下黑渐变过渡) */
.tech-ct {
  position: relative;
  width: 100%;
  background: #04070d;
  padding: clamp(70px, 9vw, 160px) 6%;
  text-align: center;
  box-sizing: border-box;
}
.tech-ct__title {
  margin: 0 0 1.2em;
  font-size: clamp(30px, 4vw, 68px);
  font-weight: 700;
  color: #36c6ff;
}
.tech-ct__sub {
  margin: 0 0 0.5em;
  font-size: clamp(15px, 1.5vw, 24px);
  font-weight: 700;
  color: #fff;
}
.tech-ct__desc {
  margin: 0 auto;
  max-width: 44em;
  font-size: clamp(12px, 1.1vw, 18px);
  color: rgba(255, 255, 255, 0.8);
}
/* 第三屏 · Core Technology 视频(按原比例, 不拉伸; 视频自带上下黑渐变衔接) */
.tech-cv {
  position: relative;
  width: 100%;
  background: #04070d;
  line-height: 0;
}
.tech-cv__video {
  display: block;
  width: 100%;
  height: auto;
}
/* 顶部黑色渐变: 从纯黑淡出到约"第一朵云彩"位置, 与第二屏黑屏自然衔接 */
.tech-cv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 10%;
  background: linear-gradient(to bottom, #04070d 0%, rgba(4, 7, 13, 0) 100%);
  z-index: 1;
  pointer-events: none;
}
/* 底部仅最底边轻微过渡, 不遮挡视频文字 */
.tech-cv::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 10%;
  background: linear-gradient(to bottom, rgba(4, 7, 13, 0) 0%, #04070d 100%);
  z-index: 1;
  pointer-events: none;
}
/* 首屏底部淡入黑色, 平滑过渡到 Core Technology 黑屏 */
.tech-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 22%;
  background: linear-gradient(to bottom, rgba(4, 7, 13, 0), #04070d);
  pointer-events: none;
  z-index: 1;
}

/* Rapid Iteration · 版本选择器 + 大图(文字待补) */
.rapid {
  width: 100%;
  box-sizing: border-box;
  padding: clamp(50px, 6vw, 110px) 6%;
  background: #ffffff;
  text-align: center;
}
.rapid__title {
  margin: 0 0 0.6em;
  font-size: clamp(26px, 3.2vw, 52px);
  font-weight: 700;
  color: #0c65ff;
}
.rapid__desc {
  margin: 0 auto clamp(28px, 3vw, 56px);
  max-width: 60em;
  min-height: 1.2em;
  color: #44505f;
  font-size: clamp(12px, 1.05vw, 17px);
  line-height: 1.7;
}
.rapid__body {
  --rrow: clamp(40px, 3.2vw, 56px); /* 单行高度(含行距) */
  --rap-fixed: 1.5; /* 以 U-Drive 4.0(1.5)为准，所有版本图片框死成同一尺寸 */
  --rap-imgh: calc(var(--rrow) * 10 * 0.85); /* 图片高度，整体再缩 15% */
  --rap-frameh: calc(var(--rap-imgh) + 150px); /* 整框固定高度=图片+白卡预留，切换版本不跳变 */
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start; /* 菜单与图片各自独立、垂直互不牵动(切换有/无白卡的版本时菜单不再上下移动) */
  justify-content: center;
  gap: clamp(22px, 2.8vw, 60px);
}
.rapid__versions {
  flex: 0 0 auto;
  position: relative;
  padding-left: clamp(18px, 1.6vw, 28px);
  text-align: left;
  /* 固定列宽：不随高亮项(不同数字字宽)变化而左右移动 */
  width: clamp(150px, 14vw, 210px);
  box-sizing: border-box;
  /* 高度对齐图片并垂直居中：与图片独立，不随白卡变化移动 */
  height: var(--rap-imgh);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/* 左侧竖线 */
.rapid__versions::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6%;
  bottom: 6%;
  width: 1px;
  background: #d3dbe6;
}
.rapid__ver {
  position: relative;
  display: flex;
  align-items: center;
  height: var(--rrow);          /* 行距由行高控制 */
  border: none;
  background: transparent;
  cursor: pointer;
  color: #aab4c0;
  font-size: clamp(13px, 1.2vw, 18px);
  font-weight: 500;
  white-space: nowrap;
  transition: color 0.2s ease, font-size 0.2s ease;
}
.rapid__ver.is-active {
  color: #0c65ff;
  font-weight: 700;
  font-size: clamp(16px, 1.6vw, 24px);
}
/* 激活版本: 竖线上的蓝色高亮段 */
.rapid__ver.is-active::before {
  content: "";
  position: absolute;
  left: calc(-1 * clamp(18px, 1.6vw, 28px));
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 64%;
  background: #0c65ff;
  border-radius: 2px;
}
.rapid__main {
  flex: 0 0 auto;
  min-width: 0;
  margin-left: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* 图片左对齐：菜单右边到图片左边的间距恒定不变 */
  /* 整框固定:宽=图框宽(缩15%后), 高=固定整框高(不足处露白底) */
  width: calc(var(--rap-imgh) * var(--rap-fixed));
  height: var(--rap-frameh);
}
/* stage = 固定图框(缩15%), 所有图片填满同一尺寸 */
.rapid__stage {
  position: relative;
  width: 100%;
  height: var(--rap-imgh);
  flex: 0 0 auto;
}
.rapid__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 14px;
}
/* 有底部白卡时: 白卡与图片同宽对齐、整体居中; 图片只圆上面两角 */
.rapid__main.has-panel .rapid__img { border-radius: 14px 14px 0 0; }
@keyframes rapidFade { from { opacity: 0; } to { opacity: 1; } }
/* 顶部居中: 版本名 + 副标题 / 能力标签 (覆盖在图片上) */
.rapid__cap { position: absolute; top: 9%; left: 6%; right: 6%; text-align: center; display: none; }
.rapid__cap.is-active { display: block; }
.rapid__ver-title {
  color: #fff;
  font-weight: 700;
  font-size: clamp(20px, 2.4vw, 40px);
  letter-spacing: 0.01em;
  text-shadow: 0 2px 14px rgba(8, 28, 60, 0.28);
}
.rapid__sub {
  margin: 0.6em auto 0;
  max-width: 92%;
  color: rgba(255, 255, 255, 0.96);
  font-size: clamp(12px, 1.1vw, 18px);
  line-height: 1.45;
  text-shadow: 0 1px 10px rgba(8, 28, 60, 0.34);
}
.rapid__pills { display: flex; flex-wrap: wrap; gap: clamp(8px, 0.8vw, 14px); justify-content: center; margin-top: clamp(10px, 1vw, 18px); }
.rapid__pills span {
  padding: 0.42em 1.15em;
  border-radius: 999px;
  background: rgba(20, 96, 232, 0.9);
  color: #fff;
  font-size: clamp(11px, 0.95vw, 15px);
  font-weight: 600;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
/* 底部白色要点卡: 接在图片正下方, 左右与图片对齐, 底部两角与图片圆角一致 */
.rapid__panel {
  display: none;
  width: 100%; /* 与固定图框同宽 */
  box-sizing: border-box;
  background: #fff;
  border-radius: 0 0 14px 14px;
  padding: clamp(16px, 1.5vw, 26px) clamp(20px, 2vw, 34px);
  box-shadow: 0 18px 40px rgba(24, 44, 84, 0.12);
}
.rapid__panel.is-active { display: block; }
.rapid__panel ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.55em clamp(16px, 2vw, 40px); text-align: left; }
.rapid__panel li { position: relative; padding-left: 1.1em; color: #39424f; font-size: clamp(11px, 0.95vw, 14px); line-height: 1.5; }
.rapid__panel li::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 5px; height: 5px; border-radius: 50%; background: #0c65ff; }
@media (max-width: 720px) {
  .rapid__body { flex-direction: column; align-items: center; }
  .rapid__versions { display: flex; flex-wrap: wrap; justify-content: center; padding-left: 0; height: auto; width: auto; }
  .rapid__versions::before, .rapid__ver.is-active::before { display: none; }
  .rapid__ver { height: auto; padding: 0.4em 0.6em; }
  .rapid__main { width: 100%; margin-left: 0; height: auto; }
  .rapid__stage { width: 100%; height: auto; }
  .rapid__img { height: auto; width: 100%; }
  .rapid__panel { width: 100%; }
  .rapid__panel ul { grid-template-columns: 1fr; }
}

/* Automotive-Grade Quality · 文字 + 视频 + 标签 */
.agq {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  padding: clamp(50px, 6vw, 110px) 6%;
  background: #ffffff url("/pages/agq-poster.jpg") center bottom / contain no-repeat;
  text-align: center;
  overflow: hidden;
}
.agq__head { max-width: 1000px; margin: 0 auto clamp(24px, 3vw, 48px); }
.agq__title {
  margin: 0 0 0.6em;
  font-size: clamp(26px, 3.2vw, 52px);
  font-weight: 700;
  color: #0c65ff;
}
.agq__desc {
  margin: 0 auto;
  max-width: 60em;
  color: #44505f;
  font-size: clamp(12px, 1.05vw, 17px);
  line-height: 1.7;
}
.agq__player {
  max-width: 1100px;
  margin: 0 auto;
}
.agq__video {
  display: block;
  width: 100%;
  aspect-ratio: 1400 / 600; /* 初始即预留视频位置，避免加载完才弹出 */
  height: auto;
  object-fit: cover;
  border-radius: 14px;
  background: #000;
}
.agq__tabs {
  max-width: 1100px;
  margin: clamp(16px, 1.8vw, 30px) auto 0;
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #d6deea;
}
.agq__tab {
  flex: 1 1 0;
  position: relative;
  padding: clamp(12px, 1.3vw, 22px) 0.5em;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #5b6776;
  font-size: clamp(11px, 1vw, 16px);
  font-weight: 600;
}
.agq__tab.is-active { color: #0c65ff; }
.agq__tab.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 2px;
  background: #0c65ff;
}
@media (max-width: 720px) {
  .agq__tabs { flex-direction: column; }
  .agq__tab { flex: none; }
}

/* Full-scenario Coverage · 浅底视频网格 */
.fs {
  width: 100%;
  box-sizing: border-box;
  background: #f5f8fc;
  padding: clamp(50px, 6vw, 110px) 6%;
}
.fs__head { max-width: 1180px; margin: 0 auto clamp(28px, 3vw, 52px); }
.fs__title {
  margin: 0 0 0.6em;
  font-size: clamp(22px, 2.6vw, 44px);
  font-weight: 700;
  color: #0c65ff;
  line-height: 1.25;
}
.fs__title-accent { color: #0c65ff; }
.fs__desc {
  margin: 0;
  max-width: 52em;
  color: #56616f;
  font-size: clamp(12px, 1.05vw, 17px);
  line-height: 1.7;
}
.fs__grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(10px, 1.4vw, 24px);
}
.fs__cell {
  position: relative;
  aspect-ratio: 16 / 10;
  border-radius: 12px;
  overflow: hidden;
  background: #dfe6ef;
}
.fs__cell video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.fs__label {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1.4em 1em 0.8em;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0));
  color: #fff;
  font-size: clamp(12px, 1.1vw, 17px);
  font-weight: 600;
  z-index: 2;
}
/* 悬停播放提示: 默认显示播放圈, hover 时淡出 */
.fs__cell::after {
  content: "▶";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.8em;
  height: 1.8em;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 0.15em;
  box-sizing: border-box;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: clamp(16px, 1.6vw, 24px);
  z-index: 1;
  transition: opacity 0.25s ease;
  pointer-events: none;
}
.fs__cell:hover::after { opacity: 0; }
@media (max-width: 720px) {
  .fs__grid { grid-template-columns: repeat(2, 1fr); }
}

/* Technology · Whole-Process 视频轮播 */
.wp {
  width: 100%;
  box-sizing: border-box;
  background: #04070d;
  padding: clamp(40px, 4.8vw, 88px) 0 0; /* 底部贴合下方网格图，去掉黑色间隙 */
  text-align: center;
  overflow: hidden;
}
.wp__title {
  margin: 0 0 0.6em;
  font-size: clamp(28px, 3.6vw, 60px);
  font-weight: 400;
  color: #36c6ff;
}
.wp__title-strong { font-weight: 700; color: #1f8fff; }
.wp__desc {
  margin: 0 auto clamp(36px, 4vw, 70px);
  max-width: 46em;
  padding: 0 6%;
  color: rgba(255, 255, 255, 0.8);
  font-size: clamp(13px, 1.1vw, 18px);
  line-height: 1.7;
}
.wp__carousel {
  position: relative;
  width: 100%;
}
.wp__viewport { position: relative; width: 100%; overflow: hidden; }
.wp__track {
  display: flex;
  align-items: center;
  gap: clamp(12px, 2vw, 36px);
  will-change: transform;
  transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.wp__card {
  flex: 0 0 auto;
  width: clamp(280px, 42vw, 720px);
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  opacity: 0.5;
  transform: scale(0.86);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.wp__card.is-active { opacity: 1; transform: scale(1); }
.wp__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  overflow: hidden;
  background: #0a1422;
}
.wp__play {
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  border: 2px solid rgba(255, 255, 255, 0.85);
  display: none;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: background 0.2s ease;
}
.wp__play::before {
  content: "";
  width: 0;
  height: 0;
  border-left: 14px solid #fff;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  margin-left: 4px;
}
.wp__card.is-active .wp__play { display: flex; }
.wp__card.is-active.is-playing .wp__play { display: none; }
.wp__card.is-active:hover .wp__play { background: rgba(0, 0, 0, 0.6); }
.wp__media video { width: 100%; height: 100%; object-fit: cover; display: block; }
.wp__label {
  display: block;
  margin-top: 0.9em;
  color: #fff;
  font-size: clamp(13px, 1.2vw, 20px);
  font-weight: 500;
}
.wp__card:not(.is-active) .wp__label { color: rgba(255, 255, 255, 0.55); }
.wp__nav {
  position: absolute;
  top: 38%;
  transform: translateY(-50%);
  z-index: 5;
  width: clamp(38px, 3.4vw, 52px);
  height: clamp(38px, 3.4vw, 52px);
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: clamp(18px, 1.8vw, 26px);
  line-height: 1;
  cursor: pointer;
  backdrop-filter: blur(2px);
}
.wp__nav--prev { left: 25%; }
.wp__nav--next { right: 25%; }
.wp__nav:hover { background: rgba(255, 255, 255, 0.28); }
@media (max-width: 900px) {
  .wp__nav--prev { left: 6%; }
  .wp__nav--next { right: 6%; }
}

/* Technology · All-Weather(全天候稳定运行) */
.aw {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  background: linear-gradient(rgba(4, 7, 13, 0.5), rgba(4, 7, 13, 0.5)), url("/pages/allweather/aw-bg.jpg") center / cover no-repeat, #04070d; /* 背景图再加 50% 透明度 */
  padding: clamp(50px, 6vw, 110px) 0 clamp(60px, 7vw, 120px);
  text-align: center;
  overflow: hidden;
}
.aw__inner {
  position: relative;
  z-index: 1;
  max-width: 1340px;
  margin: 0 auto;
  padding: 0 5%;
}
.aw__title {
  margin: 0 0 0.5em;
  font-size: clamp(28px, 3.6vw, 60px);
  font-weight: 700;
  color: #ffffff;
}
.aw__desc {
  margin: 0 auto clamp(36px, 4vw, 64px);
  max-width: 50em;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(13px, 1.1vw, 18px);
  line-height: 1.7;
}
.aw__cards {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(12px, 1.6vw, 26px);
  flex-wrap: wrap;
  max-width: 1060px;
  margin: 0 auto;
}
.aw__card {
  /* 每张占一行 1/3 再缩 15%，5 张自动换行成 3 + 2，居中 */
  flex: 0 0 calc((100% - 2 * clamp(12px, 1.6vw, 26px)) / 3 * 0.85);
  max-width: calc((100% - 2 * clamp(12px, 1.6vw, 26px)) / 3 * 0.85);
}
.aw__card img {
  width: 100%;
  height: auto;
  display: block;
}
/* Sandstorm(第2张)偏亮，叠加 30% 透明压暗 */
.aw__cards .aw__card:nth-child(2) img { opacity: 0.7; }
@media (max-width: 760px) {
  .aw__card {
    flex-basis: calc((100% - clamp(12px, 1.6vw, 26px)) / 2);
    max-width: calc((100% - clamp(12px, 1.6vw, 26px)) / 2);
  }
}

/* Technology 第四屏 · 4+1+3 架构图(渐变黑底, 真实绘制) */
.t413 {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  padding: clamp(50px, 6vw, 110px) 6% clamp(60px, 7vw, 130px);
  background-color: #04070d;
  overflow: hidden;
}
.t413::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/pages/t413-bg.jpg") center / cover no-repeat;
  filter: blur(10px);
  transform: scale(1.08);
  z-index: 0;
  pointer-events: none;
}
/* 顶部/底部黑色渐变, 与上(视频)下(主体)黑色区无缝衔接 */
.t413::after {
  content: "";
  position: absolute;
  inset: 0; /* 从顶部就盖住，与上方视频深色无缝衔接，无浅色缝隙 */
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(to bottom,
    #04070d 0%, rgba(4, 7, 13, 0) 18%,
    rgba(4, 7, 13, 0) 80%, #04070d 100%);
}
.t413 > * { position: relative; z-index: 1; }
.t413__title {
  margin: 0 0 clamp(36px, 4vw, 72px);
  text-align: center;
  font-size: clamp(34px, 4.6vw, 76px);
  font-weight: 700;
  color: #36c6ff;
  letter-spacing: 0.04em;
}
.t413__rows {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: clamp(14px, 1.6vw, 26px);
}
.t413__row {
  display: flex;
  align-items: stretch;
  gap: clamp(8px, 1.2vw, 20px);
}
.t413__label {
  flex: 0 0 clamp(96px, 11vw, 150px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 0.6em;
  border: 1px solid rgba(54, 198, 255, 0.5);
  border-radius: 8px;
  color: #36c6ff;
  font-size: clamp(12px, 1.05vw, 16px);
  font-weight: 600;
  background: rgba(12, 40, 70, 0.85);
}
.t413__arrow {
  flex: 0 0 auto;
  align-self: center;
  color: #36c6ff;
  font-size: clamp(14px, 1.4vw, 22px);
}
.t413__boxes {
  flex: 1 1 auto;
  display: flex;
  gap: clamp(8px, 1vw, 18px);
}
.t413__box {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: clamp(44px, 4.6vw, 72px);
  padding: 0.6em 0.5em;
  border: 1px solid rgba(86, 140, 200, 0.55);
  border-radius: 8px;
  background: rgba(14, 34, 64, 0.85);
  color: #dce8f7;
  font-size: clamp(11px, 0.95vw, 15px);
}
.t413__core {
  flex: 1 1 auto;
  display: flex;
  gap: clamp(8px, 1vw, 18px);
}
.t413__coregrid {
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(8px, 0.8vw, 14px);
  padding: clamp(8px, 0.9vw, 16px);
  border: 1px solid rgba(86, 140, 200, 0.35);
  border-radius: 10px;
  background: rgba(10, 26, 50, 0.85);
}
.t413__coregrid .t413__box {
  min-height: clamp(36px, 3.6vw, 56px);
  background: rgba(20, 46, 84, 0.85);
}
.t413__vla {
  flex: 0 0 clamp(120px, 16vw, 240px);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid #2fe07a;
  border-radius: 10px;
  background: rgba(20, 70, 45, 0.85);
  color: #6cf0a6;
  font-size: clamp(18px, 2vw, 34px);
  font-weight: 700;
  box-shadow: 0 0 22px rgba(47, 224, 122, 0.25);
}
@media (max-width: 720px) {
  .t413__box { font-size: 11px; padding: 0.5em 0.3em; }
  .t413__label { flex-basis: 80px; font-size: 11px; }
}

/* Technology Hero · 背景图 + 真实导航 + 文案 */
.tech-hero {
  position: relative;
  width: 100%;
  height: clamp(460px, 52vw, 860px);
  overflow: hidden;
  background: #0b1622;
}
.tech-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.tech-hero__content {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 62%;
  text-align: center;
}
.tech-hero__text {
  margin: 0;
  color: #fff;
  font-size: clamp(14px, 1.3vw, 22px);
  line-height: 1.7;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.4);
}

/* 新布局(堆叠真实区块)里页脚回归正常流, 否则绝对定位会盖住最后一个区块(Value CTA) */
.home-v2 .site-footer-layer,
.image-page .site-footer-layer,
.legal-page .site-footer-layer {
  position: static;
}

/* Value CTA · 横幅 + 蓝色联系条 */
.hv-value { width: 100%; }
.hv-value__banner {
  position: relative;
  width: 100%;
  aspect-ratio: 2880 / 711; /* 预留高度, 不依赖图片加载撑开 */
  overflow: hidden;
  line-height: 0;
  background: #1b54f0; /* 兜底蓝, 图未加载也不空白 */
}
.hv-value__bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hv-value__title {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: clamp(20px, 2.6vw, 46px);
  font-weight: 700;
  line-height: 1.2;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.28);
}
.hv-value__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  width: 100%;
  box-sizing: border-box;
  padding: clamp(16px, 2.2vw, 34px) 5%;
  background: #1b54f0;
  color: #cfe0ff;
  text-decoration: none;
  font-size: clamp(15px, 1.6vw, 26px);
  font-weight: 600;
  transition: background 0.2s ease;
}
.hv-value__cta:hover { background: #1546dd; }
.hv-value__icon {
  width: clamp(20px, 1.8vw, 30px);
  height: clamp(20px, 1.8vw, 30px);
  color: #cfe0ff;
}

/* Explore Partners · 双环旋转 */
.hv-partners {
  width: 100%;
  padding: clamp(40px, 5vw, 90px) 5%;
  background: #fff;
  box-sizing: border-box;
}
.hv-partners__card {
  max-width: var(--page-max, 1440px);
  margin: 0 auto;
  background: linear-gradient(180deg, #f6f9fd 0%, #eef3fa 100%);
  border-radius: 24px;
  padding: clamp(36px, 5vw, 80px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4%;
  box-sizing: border-box;
}
.hv-partners__text { flex: 1 1 40%; max-width: 40%; }
.hv-partners__title {
  margin: 0 0 0.6em;
  color: #14181f;
  font-size: clamp(24px, 2.6vw, 44px);
  font-weight: 700;
}
.hv-partners__subtitle {
  margin: 0 0 2em;
  color: #6b7785;
  font-size: clamp(13px, 1.1vw, 18px);
}
.hv-partners__btn {
  display: inline-block;
  background: #2f5dff;
  color: #fff;
  text-decoration: none;
  font: inherit;
  font-size: clamp(13px, 1vw, 16px);
  font-weight: 600;
  padding: 0.85em 1.6em;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background 0.2s ease, transform 0.2s ease;
}
.hv-partners__btn:hover { background: #1d46e0; transform: translateY(-1px); }
.hv-partners__btn:focus { outline: none; }
.hv-partners__btn:focus-visible { outline: 2px solid #1d46e0; outline-offset: 2px; }

.hv-partners__circle {
  position: relative;
  flex: 0 0 auto;
  width: clamp(320px, 38vw, 560px);
  height: clamp(320px, 38vw, 560px);
}
.pc-rings {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.pc-ring-line {
  fill: none;
  stroke: #c2cdda;
  stroke-width: 0.3;
  stroke-dasharray: 1.4 2.8; /* 虚线: 段1.4 / 间隔2.8(约2x宽松) */
}
.pc-ring {
  position: absolute;
  inset: 0;
}
.pc-ring--outer { animation: pc-spin 46s linear infinite; }
.pc-ring--mid { animation: pc-spin-rev 42s linear infinite; }
.pc-ring--inner { animation: pc-spin 38s linear infinite; }
@keyframes pc-spin { to { transform: rotate(360deg); } }
@keyframes pc-spin-rev { to { transform: rotate(-360deg); } }

.pc-slot {
  position: absolute;
  transform: translate(-50%, -50%);
}
/* 反向自转: 保持 logo 正立 */
.pc-ring--outer .pc-badge { animation: pc-spin-rev 46s linear infinite; }
.pc-ring--mid .pc-badge { animation: pc-spin 42s linear infinite; }
.pc-ring--inner .pc-badge { animation: pc-spin-rev 38s linear infinite; }
/* logo 图自带白圆徽章, 直接占满; 转动中大小起伏(缩放脉动) */
.pc-disc {
  display: flex;
  align-items: center;
  justify-content: center;
  animation: pc-pulse 5s ease-in-out infinite;
}
@keyframes pc-pulse {
  0%, 100% { transform: scale(0.82); }
  50% { transform: scale(1.12); }
}
.pc-slot--lg .pc-disc { width: clamp(64px, 6.8vw, 104px); height: clamp(64px, 6.8vw, 104px); }
.pc-slot--md .pc-disc { width: clamp(54px, 5.6vw, 86px); height: clamp(54px, 5.6vw, 86px); }
.pc-slot--sm .pc-disc { width: clamp(46px, 4.8vw, 72px); height: clamp(46px, 4.8vw, 72px); }
.pc-disc img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: opacity 0.35s ease;
}
.is-swapping .pc-disc img { opacity: 0; }

.pc-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.pc-label {
  color: #2f5dff;
  font-size: clamp(22px, 2.6vw, 44px);
  font-weight: 700;
}

/* Show All Brands 弹窗 */
.brands-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4vh 4vw;
}
.brands-modal[hidden] { display: none; }
.brands-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 20, 40, 0.55);
  backdrop-filter: blur(3px);
}
.brands-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(1100px, 100%);
  height: min(640px, 86vh); /* 固定高度: 切换类别时弹窗不变高 */
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, #fbfdff 0%, #eef3fa 100%);
  border-radius: 18px;
  padding: clamp(24px, 3vw, 48px);
  box-shadow: 0 30px 80px rgba(10, 20, 50, 0.35);
}
.brands-modal__grid {
  flex: 1 1 auto;
  overflow-y: auto;
  align-content: start;
}
.brands-modal__close {
  position: absolute;
  top: 16px;
  right: 20px;
  width: 34px;
  height: 34px;
  border: none;
  background: transparent;
  color: #2f5dff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.brands-modal__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(16px, 2.5vw, 40px);
  border-bottom: 1px solid #dde4ee;
  padding-bottom: 14px;
  margin-bottom: 28px;
}
.bm-tab {
  position: relative;
  padding: 0 0 14px;
  margin-bottom: -15px;
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: clamp(14px, 1.2vw, 18px);
  font-weight: 600;
  color: #5b6776;
}
.bm-tab.is-active { color: #2f5dff; }
.bm-tab.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  border-radius: 2px;
  background: #2f5dff;
}
.brands-modal__grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: clamp(10px, 1.2vw, 20px);
}
.bm-cell {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bm-cell img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 900px) {
  .brands-modal__grid { grid-template-columns: repeat(4, 1fr); }
}

/* Future Forward · 两幻灯片左右切换 */
.hv-talent {
  position: relative;
  width: 100%;
  height: clamp(560px, 56vw, 920px);
  overflow: hidden;
  background: #060d1a;
}
.hv-talent__bg { position: absolute; inset: 0; }
.hv-talent__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.8s ease;
}
.hv-talent__img.is-active { opacity: 1; }
.hv-talent::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(4, 10, 22, 0.82) 0%, rgba(4, 10, 22, 0.55) 38%, rgba(4, 10, 22, 0.12) 65%, rgba(4, 10, 22, 0) 100%);
  pointer-events: none;
}
.hv-talent__content {
  position: absolute;
  left: 7%;
  top: 50%;
  transform: translateY(-50%);
  max-width: 42%;
  z-index: 2;
  color: #fff;
  padding: 1.5em 1.8em;
}
/* 柔和扩散径向渐变(无规则边缘, 向四周自然淡出) */
.hv-talent__content::before {
  content: "";
  position: absolute;
  inset: -40% -30%;
  z-index: -1;
  background: radial-gradient(ellipse 58% 58% at 38% 50%,
    rgba(5, 11, 22, 0.5) 0%,
    rgba(5, 11, 22, 0.28) 42%,
    rgba(5, 11, 22, 0) 72%);
  pointer-events: none;
}
.hv-talent__eyebrow {
  margin: 0 0 0.5em;
  font-size: clamp(15px, 1.5vw, 26px);
  font-weight: 600;
  color: #cfe0ff;
}
.hv-talent__eyebrow:empty, .hv-talent__body:empty { display: none; margin: 0; }
.hv-talent__headline {
  margin: 0 0 0.9em;
  font-size: clamp(22px, 2.6vw, 46px);
  font-weight: 700;
  line-height: 1.18;
}
.hv-talent__body p {
  margin: 0 0 0.8em;
  font-size: clamp(12px, 1.05vw, 17px);
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.86);
}
.hv-talent__arrow {
  position: absolute;
  bottom: 8%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  z-index: 3;
}
.hv-talent__arrow--prev { left: 7%; }
.hv-talent__arrow--next { left: calc(7% + 56px); }
.hv-talent__arrow:hover { background: rgba(255, 255, 255, 0.28); }

/* 领域 · 滚动横向切换(sticky 钉住) */
.hv-domains {
  position: relative;
  width: 100%;
  margin-left: 0;
  height: 100vh; /* 单屏高度，不再用滚动联动切换 */
  background: #fff;
}
.hv-domains__sticky {
  position: relative;
  top: 0;
  height: 100vh;
  overflow: hidden;
}
.hv-domains__track {
  display: flex;
  height: 100%;
  width: calc(var(--domain-count, 5) * 100vw);
  will-change: transform;
}
.hvd-panel {
  width: 100vw;
  height: 100%;
  flex: 0 0 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(2vw + 40px);
  padding: 0;
  box-sizing: border-box;
}
.hvd-panel__text {
  flex: 0 0 auto;
  width: 26vw;
}
.hvd-panel__title {
  margin: 0 0 0.6em;
  color: #0c65ff;
  font-size: clamp(28px, 3.2vw, 56px);
  font-weight: 700;
}
.hvd-panel__desc {
  margin: 0 0 1.6em;
  color: #44505f;
  font-size: clamp(14px, 1.15vw, 20px);
  line-height: 1.7;
  max-width: 32em;
}
.hvd-panel__more {
  display: inline-block;
  color: #0c65ff;
  font-size: clamp(13px, 1vw, 16px);
  font-weight: 600;
  text-decoration: none;
  padding-bottom: 6px;
  border-bottom: 2px solid #0c65ff;
}
.hvd-panel__media {
  flex: 0 0 auto;
  width: 30vw;
  height: 78%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hvd-panel__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 8px;
}
.hv-domains__dots {
  position: absolute;
  left: 8%;
  bottom: 7%;
  display: flex;
  gap: 12px;
  z-index: 3;
}
.hvd-dot {
  width: 32px;
  height: 4px;
  border: none;
  border-radius: 2px;
  background: #d2d8e0;
  cursor: pointer;
  padding: 0;
  transition: background 0.25s ease;
}
.hvd-dot.is-active { background: #0c65ff; }
/* 第五屏左右翻页箭头：左箭头在文字左侧、右箭头在图片右侧 */
.hvd-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid rgba(12, 101, 255, 0.35);
  background: rgba(255, 255, 255, 0.7);
  color: #0c65ff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(2px);
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
.hvd-arrow:hover { background: #fff; box-shadow: 0 8px 24px rgba(12, 101, 255, 0.18); }
.hvd-arrow--prev { left: clamp(16px, 7vw, 130px); }
.hvd-arrow--next { right: clamp(16px, 7vw, 130px); }
@media (max-width: 760px) {
  .hvd-arrow { width: 40px; height: 40px; font-size: 22px; }
  .hvd-arrow--prev { left: 10px; }
  .hvd-arrow--next { right: 10px; }
}

/* How UISEE Leads · 三图切换 + 文字overlay */
.hv-leads {
  position: relative;
  width: 100%;
  height: clamp(380px, 43vw, 800px);
  overflow: hidden;
  background: #0a1830;
}
.hv-leads__bg { position: absolute; inset: 0; }
.hv-leads::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(6, 18, 38, 0.62) 0%, rgba(6, 18, 38, 0.32) 32%, rgba(6, 18, 38, 0) 60%);
  pointer-events: none;
}
.hv-leads__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.8s ease;
}
.hv-leads__img.is-active { opacity: 1; }
.hv-leads__content {
  position: absolute;
  left: 6%;
  top: 50%;
  transform: translateY(-50%);
  max-width: 40%;
  z-index: 2;
  color: #fff;
}
.hv-leads__heading {
  margin: 0 0 0.5em;
  font-size: clamp(24px, 3vw, 52px);
  font-weight: 700;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.3);
}
.hv-leads__subtitle {
  margin: 0 0 0.7em;
  font-size: clamp(16px, 1.7vw, 30px);
  font-weight: 600;
  color: #25e0a4;
}
.hv-leads__points {
  margin: 0;
  padding: 0;
  list-style: none;
}
.hv-leads__points li {
  position: relative;
  padding-left: 1.1em;
  margin-bottom: 0.5em;
  font-size: clamp(13px, 1.2vw, 19px);
  color: rgba(255, 255, 255, 0.92);
}
.hv-leads__points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.4em;
  height: 0.4em;
  border-radius: 50%;
  background: #25e0a4;
}
.hv-leads__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  z-index: 3;
}
.hv-leads__arrow--prev { left: 3%; }
.hv-leads__arrow--next { right: 3%; }
.hv-leads__arrow:hover { background: rgba(255, 255, 255, 0.28); }

/* Scale 区块 · 视频背景 + 9 Million+ 计数 */
.hv-scale {
  position: relative;
  width: 100%;
  height: clamp(360px, 42vw, 760px);
  overflow: hidden;
  background: #f4f7fb;
}
.hv-scale__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hv-scale__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.22)), /* 浅白色蒙层(三个视频统一) */
    linear-gradient(90deg, rgba(244, 247, 251, 0.55) 0%, rgba(244, 247, 251, 0.1) 45%, rgba(244, 247, 251, 0) 70%);
  pointer-events: none;
}
/* 最后一个(Global)视频蒙层再白 20% */
.hv-scale--bright .hv-scale__overlay {
  /* 左 1/3 渐变，左侧最深(最不透明),衬托左侧文字 */
  background: linear-gradient(90deg, rgba(244, 247, 251, 0.96) 0%, rgba(244, 247, 251, 0.5) 16%, rgba(244, 247, 251, 0) 33%);
}
.hv-scale__tabs {
  position: absolute;
  top: 8%;
  left: 6%;
  right: 6%;
  display: flex;
  gap: clamp(20px, 4vw, 72px);
  z-index: 2;
}
.hv-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: clamp(13px, 1.35vw, 22px);
  font-weight: 600;
  color: #9aa6b4;
  opacity: 0.7;
  transition: color 0.25s ease, opacity 0.25s ease;
}
.hv-tab__icon {
  width: 1.3em;
  height: 1.3em;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.6;
  transition: filter 0.25s ease, opacity 0.25s ease;
}
.hv-tab:hover { opacity: 1; }
.hv-tab.is-active {
  color: #14181f;
  opacity: 1;
}
.hv-tab.is-active .hv-tab__icon {
  filter: none;
  opacity: 1;
}

.hv-scale__inner {
  position: absolute;
  left: 6%;
  top: 52%;
  transform: translateY(-46%);
  max-width: 42%;
  z-index: 2;
}
.hv-scale__big {
  display: flex;
  align-items: baseline;
  gap: 0.12em;
  line-height: 1;
  color: #0b57d0;
}
.hv-count {
  font-size: clamp(64px, 9vw, 168px);
  font-weight: 700;
  color: #2f86ff;
  letter-spacing: -0.02em;
}
.hv-scale__unit {
  font-size: clamp(30px, 4.4vw, 80px);
  font-weight: 700;
  color: #2f86ff;
}
.hv-scale__sub {
  margin-top: 0.4em;
  color: #1c2b3a;
  font-size: clamp(14px, 1.5vw, 26px);
  font-weight: 500;
}
.hv-scale__desc {
  margin: 1em 0 0;
  color: #6b7785;
  font-size: clamp(11px, 0.95vw, 15px);
  line-height: 1.55;
  max-width: 30em;
}

/* 透明可点击热区(叠在切片背景的 CTA/按钮上) */
.hv-link {
  position: absolute;
  display: block;
  z-index: 2;
}
.hv-link--leads { left: 5%; top: 80%; width: 18%; height: 9%; }
.hv-link--airport { left: 5%; top: 62%; width: 18%; height: 9%; }
.hv-link--partners { left: 5%; top: 60%; width: 16%; height: 10%; }
.hv-link--cta { left: 0; top: 64%; width: 100%; height: 22%; }

/* 首页第二栏 · 真实产品轮播(白底, 用 cqw 随视口等比缩放) */
.home-live-section {
  position: relative;
  width: 100%;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 11.2cqw 50px 11.2cqw; /* 整屏高度约 +30%(上下内边距加量) */
  container-type: inline-size;
}

.hls__inner {
  width: 100%;
  max-width: 92cqw;
  margin: 0 auto;
  text-align: center;
}

.hls__eyebrow {
  margin: 0;
  color: #5b6470;
  font-size: 1.18cqw;
  letter-spacing: 0.02em;
  transform: translateY(-50px); /* 整体上移 50px */
}

.hls__title {
  margin: 1.1cqw 0 3.4cqw;
  color: #14181f;
  font-size: 2.28cqw;
  font-weight: 700;
  line-height: 1.18;
  transform: translateY(-50px); /* 整体上移 50px */
}

.hls__carousel {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1cqw;
}

.hls__viewport {
  position: relative;
  flex: 1 1 auto;
  overflow: hidden;
}

.hls__track {
  display: flex;
  align-items: center;
  gap: calc(3.5cqw + 8px); /* 每张车间距再 +8px */
  will-change: transform;
  transition: transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.hls__card {
  flex: 0 0 auto;
  width: auto;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8cqw;
  padding: 0 0 2.6cqw; /* 底部留白容纳绝对定位的文字标签 */
  border: none;
  background: transparent;
  cursor: pointer;
  opacity: 0.1;
  transform: scale(1);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.hls__card.in-view { opacity: 1; }

.hls__media {
  display: flex;
  align-items: center;
  justify-content: center;
  height: min(8.96cqw, 126.74px); /* 缩小20%：高度封顶 126.74px */
  max-width: 345.77px; /* 缩小20%：宽度封顶 345.77px */
  width: auto;
}

.hls__media img {
  height: 100%;
  width: auto;
  max-width: 100%;
  max-height: 126.74px;
  object-fit: contain;
  -webkit-user-drag: none;
  user-select: none;
}

.hls__label {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%); /* 真正居中在图片正下方，且不撑大卡片宽度 */
  margin: 0;
  color: #2a3038;
  font-size: 0.96cqw;
  font-weight: 400;
  white-space: nowrap;
  text-align: center;
}

.hls__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  flex: 0 0 auto;
  width: 3.4cqw;
  height: 3.4cqw;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #6b7280;
  font-size: 2.4cqw;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s ease, transform 0.2s ease;
}
.hls__nav--prev { left: 15%; }
.hls__nav--next { right: 15%; }

.hls__nav:hover {
  color: #0c65ff;
}

.design-canvas__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}

.design-canvas__segment {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1;
  overflow: hidden;
}

.design-canvas__segment-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.design-hotspot {
  position: absolute;
  z-index: 2;
  display: block;
  border-radius: 10px;
  background: rgba(12, 101, 255, 0);
  outline: none;
  transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

.design-hotspot:hover,
.design-hotspot:focus-visible {
  background: rgba(12, 101, 255, 0.12);
  box-shadow: inset 0 0 0 1px rgba(12, 101, 255, 0.3);
}

.design-canvas__footer-mask {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  background: #ffffff;
}

.site-footer-layer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 6;
  min-height: clamp(520px, 39vw, 764px);
  background: #ffffff;
  color: #202020;
}

.site-footer-layer__inner {
  display: flex;
  flex-direction: column;
  min-height: inherit;
  padding: 62px 64px 28px;
}

.site-footer-layer__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 56px;
}

.site-footer-layer__logo {
  width: 156px;
  height: auto;
  display: block;
}

.site-footer-layer__social {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  color: #1662e8;
  font-size: 13px;
  font-weight: 600;
}

.site-footer-layer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1662e8;
}

.site-footer-layer__social-link svg {
  width: 18px;
  height: 18px;
  display: block;
  transition: color 0.15s ease, opacity 0.15s ease;
}

.site-footer-layer__social-link:hover svg {
  opacity: 0.7;
}

.site-footer-layer__qr {
  position: relative;
  cursor: pointer;
}

.site-footer-layer__qr-pop {
  position: absolute;
  bottom: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  padding: 8px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 20;
}

.site-footer-layer__qr-pop::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 7px solid transparent;
  border-top-color: #fff;
}

.site-footer-layer__qr-pop img {
  display: block;
  width: 132px;
  height: 132px;
  object-fit: contain;
}

.site-footer-layer__qr:hover .site-footer-layer__qr-pop,
.site-footer-layer__qr:focus .site-footer-layer__qr-pop,
.site-footer-layer__qr:focus-within .site-footer-layer__qr-pop {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.site-footer-layer__body {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 62px;
  flex: 1 1 auto;
}

.site-footer-layer__nav-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
  align-items: start;
}

.site-footer-layer__title {
  display: inline-block;
  margin-bottom: 16px;
  color: #1662e8;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.15;
}

.site-footer-layer__links {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.site-footer-layer__section {
  min-width: 0;
}

.site-footer-layer__link {
  display: inline-block;
  color: #343434;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.32;
  transition: color 0.18s ease, transform 0.18s ease;
}

.site-footer-layer__link:hover,
.site-footer-layer__link:focus-visible {
  color: #1662e8;
  transform: translateX(3px);
}

.site-footer-layer__contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 36px;
}

.site-footer-layer__contact-column {
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.site-footer-layer__contact-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.site-footer-layer__contact-title {
  color: #444444;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.25;
}

.site-footer-layer__contact-value {
  color: #262626;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  white-space: pre-line;
}

.site-footer-layer__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding-top: 72px;
  color: #404040;
  font-size: 13px;
}

.site-footer-layer__rights {
  font-weight: 500;
}

.site-footer-layer__legal {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.site-footer-layer__legal a {
  color: #404040;
}

.news-page {
  width: min(100%, var(--page-max));
  margin: 0 auto;
  background: #eef3f8;
  min-height: 100vh;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
}

.legal-page {
  width: min(100%, var(--page-max));
  margin: 0 auto;
  background: #fff;
}
.legal-doc {
  max-width: 880px;
  margin: 0 auto;
  padding: clamp(90px, 12vh, 150px) clamp(20px, 5vw, 64px) 60px;
  color: #2b3340;
  line-height: 1.85;
  font-size: 15px;
}
.legal-doc__title {
  font-size: clamp(24px, 3vw, 36px);
  font-weight: 700;
  color: #0c1622;
  margin: 0 0 8px;
}
.legal-doc__body h1,
.legal-doc__body h2 {
  font-size: clamp(17px, 1.6vw, 21px);
  font-weight: 700;
  color: #0c1622;
  margin: 1.8em 0 0.6em;
}
.legal-doc__body p { margin: 0.7em 0; }
.legal-doc__body ol,
.legal-doc__body ul { margin: 0.7em 0; padding-left: 1.6em; }
.legal-doc__body li { margin: 0.35em 0; }
.legal-doc__body em { color: #6b7480; font-style: normal; font-size: 0.92em; }
.legal-doc__body strong { color: #0c1622; }
.legal-doc__body blockquote {
  margin: 1em 0;
  padding: 14px 18px;
  background: #f4f7fb;
  border-left: 3px solid #1662e8;
  border-radius: 0 8px 8px 0;
  color: #2b3340;
}

.contact-page {
  width: min(100%, var(--page-max));
  margin: 0 auto;
  position: relative;
  background: var(--contact-page-bg) center top / contain no-repeat;
  min-height: 100vh;
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.12);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.contact-page::before {
  content: none;
}

.contact-page .site-footer-layer {
  position: relative;
  min-height: auto;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(12px);
}

.contact-board {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 520px minmax(0, 1fr);
  width: min(100%, 1180px);
  margin: 106px auto 40px clamp(48px, 5vw, 92px);
  border-radius: 18px;
  overflow: hidden;
  background: transparent;
  box-shadow: 0 16px 38px rgba(16, 33, 60, 0.14);
}

.contact-board__visual {
  position: relative;
  min-height: 542px;
  background: linear-gradient(155deg, rgba(20, 96, 232, 0.56), rgba(10, 52, 190, 0.64)), url("/pages/contact-panel.jpg") center / cover no-repeat;
}

.contact-board__visual-overlay {
  display: none;
}

.contact-board__visual-copy {
  position: absolute;
  top: 26px;
  left: 22px;
  right: 22px;
  z-index: 1;
  color: #ffffff;
}

.contact-board__visual-copy h1 {
  margin: 0;
  font-size: 22px;
  line-height: 1.08;
  color: #ffffff;
}

.contact-board__visual-copy p {
  margin: 12px 0 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: 13px;
  line-height: 1.5;
}

.contact-board__visual-footer {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 16px;
  z-index: 1;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.24);
  color: rgba(255, 255, 255, 0.78);
  font-size: 11px;
}

.contact-board__form-shell {
  position: relative;
  padding: 18px 20px;
  background: rgba(255, 255, 255, 0.97);
}

.contact-board__close {
  position: absolute;
  top: 14px;
  right: 16px;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 24px;
  line-height: 1;
  color: #6b7280;
  text-decoration: none;
  background: transparent;
  transition: background 0.15s ease, color 0.15s ease;
}

.contact-board__close:hover {
  background: #f0f2f5;
  color: #14181f;
}

.contract-form {
  display: grid;
  gap: 18px;
}

.contract-form__section h2 {
  margin: 0;
  color: #232a38;
  font-size: 12px;
  line-height: 1.2;
}

.contract-form__underline {
  width: 102px;
  height: 2px;
  margin: 8px 0 12px;
  border-radius: 999px;
  background: linear-gradient(90deg, #1768ff, #5e9cff);
}

.contract-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 10px;
}

.contract-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.contract-field--full {
  grid-column: 1 / -1;
}

.contract-field span,
.contract-chip-group__title {
  color: #333947;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}

.contract-field em,
.contract-chip-group__title em {
  color: #ff6a6a;
  font-style: normal;
}

.contract-field input,
.contract-field select {
  width: 100%;
  height: 34px;
  padding: 0 12px;
  border: 1px solid #e3e8f2;
  border-radius: 6px;
  background: #ffffff;
  color: #3a4355;
  font: inherit;
  font-size: 12px;
  box-shadow: inset 0 0 0 1px rgba(15, 32, 64, 0.02);
}

.contract-field input::placeholder {
  color: #b1b9c8;
}

.contract-phone-row {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 8px;
}

.contract-chip-group + .contract-chip-group {
  margin-top: 14px;
}

.contract-chip-group__options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.contract-chip {
  position: relative;
}

.contract-chip input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.contract-chip span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border: 1px solid #e0e5ef;
  border-radius: 6px;
  background: #ffffff;
  color: #5e6778;
  font-size: 11px;
  font-weight: 500;
  box-shadow: 0 2px 8px rgba(23, 33, 51, 0.04);
  cursor: pointer;
  transition: border-color 0.16s ease, color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease;
}

.contract-chip input:checked + span {
  border-color: #1b6dff;
  background: linear-gradient(180deg, #1f73ff, #1666ee);
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(27, 109, 255, 0.22);
}

.contract-consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #5b6678;
  font-size: 11px;
  line-height: 1.6;
}

.contract-consent input {
  margin-top: 2px;
}

.contract-form__actions {
  display: grid;
  gap: 12px;
}

.contract-form__submit {
  appearance: none;
  width: 100%;
  height: 32px;
  border: 0;
  border-radius: 6px;
  background: linear-gradient(90deg, #1768ff, #5da1ff);
  color: #fff;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.01em;
  box-shadow: 0 12px 24px rgba(23, 104, 255, 0.22);
  cursor: pointer;
}

.contact-form-status {
  color: #5b6b82;
  font-size: 13px;
}

.contact-form-status.is-success {
  color: #1d7f46;
}

.contact-form-status.is-error {
  color: #bf3e31;
}

.news-hero {
  padding: 136px 56px 24px;
  background: linear-gradient(180deg, #eef3f8 0%, #eef3f8 100%);
  position: relative;
  overflow: hidden;
}

.news-hero--with-bg {
  min-height: 420px;
  background:
    linear-gradient(180deg, rgba(8, 17, 30, 0.18), rgba(8, 17, 30, 0.7)),
    var(--news-hero-bg) center/cover no-repeat;
}

.news-hero__eyebrow {
  margin-bottom: 16px;
  color: #1263ff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.news-hero__row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.news-hero__title {
  margin: 0 0 10px;
  color: #12233f;
  font-size: 44px;
  line-height: 1.05;
}

.news-hero__description {
  margin: 0;
  max-width: 640px;
  color: #5c6980;
  font-size: 16px;
  line-height: 1.6;
}

.news-hero__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 116px;
  height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  background: #1263ff;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
}

.news-hero--with-bg .news-hero__eyebrow,
.news-hero--with-bg .news-hero__title,
.news-hero--with-bg .news-hero__description {
  color: #ffffff;
}

.news-hero--with-bg .news-hero__description {
  opacity: 0.86;
}

.news-grid-section {
  padding: 18px 56px 88px;
  flex: 1 1 auto;
}

.news-page .site-footer-layer {
  position: relative;
  min-height: auto;
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 24px;
}

.news-card {
  display: flex;
  flex-direction: column;
  min-height: 436px;
  border-radius: 22px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(18, 99, 255, 0.08);
  box-shadow: 0 16px 34px rgba(17, 35, 63, 0.08);
  backdrop-filter: blur(10px);
}

.news-card__image-wrap {
  aspect-ratio: 16 / 10;
  background: #d7e5ff;
  overflow: hidden;
}

.news-card__image-wrap--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #dce9ff, #f3f8ff);
  color: #1263ff;
  font-size: 34px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.news-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.news-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 14px;
  padding: 20px 20px 22px;
}

.news-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #65758f;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.news-card__title {
  margin: 0;
  color: #152745;
  font-size: 22px;
  line-height: 1.28;
}

.news-card__summary {
  margin: 0;
  color: #5c6980;
  font-size: 14px;
  line-height: 1.6;
}

.admin-news-toolbar {
  margin-bottom: 14px;
}

.admin-news-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
}

.admin-news-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
  color: #4a5670;
}

.admin-input,
.admin-textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(18, 99, 255, 0.16);
  border-radius: 10px;
  font: inherit;
  color: #152745;
  background: #ffffff;
}

.admin-textarea {
  min-height: 110px;
  resize: vertical;
}

.admin-news-card .card-meta {
  align-items: center;
}

.journey-overlay {
  position: absolute;
  z-index: 4;
  pointer-events: auto;
  background: linear-gradient(180deg, #ffffff 0%, #f5fafe 100%);
  overflow: hidden;
}

.journey-overlay__road-shell {
  position: absolute;
  left: 0;
  right: 0;
  top: 25%;
  height: 28%;
  background: linear-gradient(180deg, #f8fbfe 0%, #eef7fd 100%);
  transform: translateY(20px);
}

.journey-overlay__road {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url("/journey-road.png") center center / cover no-repeat;
  transition: opacity 0.34s ease;
  opacity: 1;
}

.journey-overlay__car {
  position: absolute;
  top: calc(50% + 35px);
  width: 22.8%;
  max-width: 360px;
  transform: translate(-50%, -50%);
  transition: left 0.34s ease;
  pointer-events: auto;
  cursor: pointer;
  filter: drop-shadow(0 20px 28px rgba(66, 82, 109, 0.12));
  opacity: 0.985;
}

.journey-overlay__car.is-revving {
  animation: journey-car-rev 0.62s cubic-bezier(0.25, 0.85, 0.3, 1);
  transform-origin: 15% 50%;
}

.journey-overlay__car.is-revving-back {
  animation: journey-car-rev-back 0.62s cubic-bezier(0.25, 0.85, 0.3, 1);
  transform-origin: 15% 50%;
}

.journey-overlay__cards {
  position: absolute;
  inset: 0;
  pointer-events: none;
  transform: translateY(-40px);
}

.journey-card {
  position: absolute;
  width: 26%;
  min-height: 124px;
  padding: 14px 20px 13px;
  border-radius: 20px;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.3));
  border: 1px solid rgba(255, 255, 255, 0.65);
  box-shadow: 0 18px 40px rgba(24, 44, 84, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(16px) saturate(135%);
  -webkit-backdrop-filter: blur(16px) saturate(135%);
  opacity: 0;
  transition: opacity 0.34s ease, transform 0.34s ease, box-shadow 0.34s ease, left 0.34s ease, top 0.34s ease;
  pointer-events: none;
}

.journey-card.is-active {
  opacity: 1;
  box-shadow: 0 28px 48px rgba(24, 44, 84, 0.14);
  pointer-events: auto;
}

.journey-card.is-trail {
  opacity: 0.84;
  pointer-events: auto;
}

.journey-card__hit {
  position: absolute;
  inset: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.journey-card[data-state="before"] {
  opacity: 0;
}

.journey-card[data-state="trail"] {
  transform: translateX(0) translateY(0) scale(0.97);
}

.journey-card.is-top[data-state="before"] {
  transform: translateX(-16%) translateY(-4%) scale(0.96);
}

.journey-card.is-bottom[data-state="before"] {
  transform: translateX(-16%) translateY(4%) scale(0.96);
}

.journey-card.is-top[data-state="after"] {
  transform: translateX(16%) translateY(-4%) scale(0.96);
}

.journey-card.is-bottom[data-state="after"] {
  transform: translateX(16%) translateY(4%) scale(0.96);
}

.journey-card.is-active {
  transform: translateX(0) translateY(0) scale(1);
}

.journey-card__year {
  margin-bottom: 21px;
  color: #1f7de8;
  font-size: 46px;
  font-weight: 800;
  line-height: 0.9;
}

.journey-card h3 {
  margin: 0 0 8px;
  color: #10213c;
  font-size: 17px;
  line-height: 1.16;
}

.journey-card p {
  position: relative;
  margin: 0 0 6px;
  padding-left: 0.95em;
  color: #45556f;
  font-size: 12.5px;
  line-height: 1.45;
}
.journey-card p::before {
  content: "•";
  position: absolute;
  left: 0;
  top: -0.02em;
  color: #1f7de8;
  font-weight: 700;
}
.journey-card p:last-child { margin-bottom: 0; }

.journey-card__placeholder {
  min-height: 68px;
}

@keyframes journey-car-rev {
  0%   { transform: perspective(620px) translate(-50%, -50%) rotateY(0deg); }
  26%  { transform: perspective(620px) translate(-50%, -50%) rotateY(7deg); }
  60%  { transform: perspective(620px) translate(-50%, -50%) rotateY(7deg); }
  100% { transform: perspective(620px) translate(-50%, -50%) rotateY(0deg); }
}

@keyframes journey-car-rev-back {
  0%   { transform: perspective(620px) translate(-50%, -50%) rotateY(0deg); }
  26%  { transform: perspective(620px) translate(-50%, -50%) rotateY(-7deg); }
  60%  { transform: perspective(620px) translate(-50%, -50%) rotateY(-7deg); }
  100% { transform: perspective(620px) translate(-50%, -50%) rotateY(0deg); }
}

@media (max-width: 900px) {
  .site-nav-layer {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px 16px 12px;
  }

  .site-logo-layer {
    width: 156px;
    height: 28px;
  }

  .site-logo-layer__image {
    width: 156px;
    height: 28px;
  }

  .site-menu-layer {
    order: 3;
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 6px;
  }

  .site-nav-actions {
    margin-left: auto;
  }

  .site-footer-layer {
    position: relative;
    min-height: auto;
  }

  .site-footer-layer__inner {
    padding: 42px 20px 30px;
  }

  .site-footer-layer__top {
    flex-direction: column;
    margin-bottom: 36px;
  }

  .site-footer-layer__body {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .site-footer-layer__nav-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 18px;
  }

  .site-footer-layer__contact-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .site-footer-layer__contact-column {
    gap: 24px;
  }

  .site-footer-layer__contact-value {
    font-size: 15px;
  }

  .site-footer-layer__bottom {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 42px;
  }

  .news-hero {
    padding: 112px 20px 20px;
  }

  .news-hero__row {
    flex-direction: column;
    align-items: flex-start;
  }

  .news-hero__title {
    font-size: 34px;
  }

  .news-grid-section {
    padding: 16px 20px 56px;
  }

  .news-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .contact-board {
    grid-template-columns: 1fr;
    width: calc(100% - 24px);
    margin: 86px auto 24px;
  }

  .contact-board__visual {
    min-height: 360px;
  }

  .contact-board__visual-copy {
    top: 28px;
    left: 24px;
    right: 24px;
  }

  .contact-board__visual-copy h1 {
    font-size: 36px;
  }

  .contact-board__visual-copy p {
    font-size: 16px;
  }

  .contact-board__visual-footer {
    left: 24px;
    right: 24px;
  }

  .contact-board__form-shell {
    padding: 22px 18px;
  }

  .contract-form__grid {
    grid-template-columns: 1fr;
  }

  .contract-phone-row {
    grid-template-columns: 1fr;
  }

  .admin-news-grid {
    grid-template-columns: 1fr;
  }

  .journey-card {
    padding: 10px 12px;
  }

  .journey-overlay {
    top: 13%;
    height: 22%;
  }

  .journey-overlay__road-shell {
    top: 28%;
    height: 24%;
  }

  .journey-overlay__car {
    width: 30%;
  }

  .journey-card {
    width: 34%;
    min-height: 132px;
    padding: 16px 16px 14px;
  }

  .journey-card__year {
    font-size: 28px;
  }

  .journey-card h3 {
    font-size: 15px;
  }

  .journey-card p {
    font-size: 12px;
  }
}

.admin-body {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(36, 76, 170, 0.2), transparent 34%),
    linear-gradient(180deg, #eef3f8 0%, #e3e9f1 100%);
  color: #1d2736;
}

.mini-label {
  display: inline-block;
  margin-bottom: 10px;
  color: #3b67c9;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.section-title {
  margin: 0;
  color: #10213c;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.06;
}

.section-subtitle {
  margin-top: 8px;
  color: #5c6b80;
  font-size: 14px;
  line-height: 1.6;
  max-width: 760px;
}

.status-text {
  min-height: 24px;
  margin: 14px 0 0;
  color: #3557a7;
  font-size: 13px;
}

.status-text.is-empty {
  min-height: 0;
  margin-top: 0;
}

.status-text.is-error {
  color: #bf3e31;
}

.btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 12px;
  border: 1px solid transparent;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  transition: transform 0.16s ease, border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease;
}

.btn:hover,
.btn:focus-visible {
  transform: translateY(-1px);
}

.btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}

.btn-primary {
  background: linear-gradient(135deg, #1c64ff, #0f49c9);
  color: #fff;
  box-shadow: 0 14px 26px rgba(28, 100, 255, 0.22);
}

.btn-secondary {
  background: rgba(255, 255, 255, 0.82);
  border-color: rgba(16, 33, 60, 0.1);
  color: #16335f;
}

.btn-danger {
  background: rgba(191, 62, 49, 0.08);
  border-color: rgba(191, 62, 49, 0.18);
  color: #b13d33;
}

.cms-shell {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  min-height: 100vh;
}

.cms-auth-shell {
  display: grid;
  place-items: center;
  min-height: 100vh;
  padding: 24px;
}

.cms-auth-card {
  width: min(100%, 460px);
  padding: 28px;
  border: 1px solid rgba(16, 33, 60, 0.08);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 22px 60px rgba(17, 34, 68, 0.12);
}

.cms-auth-card h1 {
  margin: 0;
  color: #10213c;
  font-size: 32px;
}

.cms-auth-card p {
  margin: 12px 0 20px;
  color: #60718a;
  font-size: 14px;
  line-height: 1.6;
}

.cms-sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 28px 22px;
  background: rgba(8, 19, 42, 0.92);
  color: #edf3ff;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
  overflow: hidden;
}

.cms-brand h1 {
  margin: 0;
  font-size: 28px;
  line-height: 1.05;
}

.cms-brand p {
  margin: 12px 0 0;
  color: rgba(237, 243, 255, 0.72);
  font-size: 14px;
  line-height: 1.6;
}

.cms-nav {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 28px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-right: 6px;
}

.cms-nav__item {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.02);
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.16s ease, background-color 0.16s ease, transform 0.16s ease;
}

.cms-nav__item strong,
.cms-nav__item span {
  display: block;
}

.cms-nav__item strong {
  font-size: 14px;
}

.cms-nav__item span {
  margin-top: 6px;
  color: rgba(237, 243, 255, 0.64);
  font-size: 12px;
  line-height: 1.5;
}

.cms-nav__item:hover,
.cms-nav__item:focus-visible,
.cms-nav__item.is-active {
  background: rgba(28, 100, 255, 0.18);
  border-color: rgba(110, 164, 255, 0.42);
  transform: translateY(-1px);
}

.cms-sidebar-actions {
  display: grid;
  gap: 10px;
  margin-top: 24px;
  flex: 0 0 auto;
}

.cms-main {
  padding: 28px 32px 40px;
}

.cms-topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.cms-topbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cms-content {
  margin-top: 18px;
}

.cms-panel {
  padding: 22px;
  border: 1px solid rgba(16, 33, 60, 0.08);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 18px 50px rgba(17, 34, 68, 0.08);
}

.cms-panel__intro {
  margin-bottom: 20px;
  padding: 16px 18px;
  border-radius: 18px;
  background: #f5f8fd;
  color: #5b6980;
  font-size: 13px;
  line-height: 1.6;
}

.cms-panel__intro p {
  margin: 0;
}

.cms-block {
  border: 1px solid rgba(16, 33, 60, 0.08);
  border-radius: 20px;
  background: #fff;
}

.cms-block + .cms-block {
  margin-top: 18px;
}

.cms-block__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 18px 0;
}

.cms-block__header h3 {
  margin: 0;
  color: #10213c;
  font-size: 18px;
}

.cms-path {
  display: block;
  margin-top: 6px;
  color: #8190a6;
  font-size: 12px;
  word-break: break-all;
}

.cms-object-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 18px;
}

.cms-object-grid__item {
  min-width: 0;
}

.cms-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  border: 1px solid rgba(16, 33, 60, 0.08);
  border-radius: 16px;
  background: #fbfcfe;
}

.cms-field__label {
  color: #1c2f4f;
  font-size: 13px;
  font-weight: 700;
}

.cms-img-upload {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}

.cms-img-upload__tip {
  font-size: 12px;
  font-weight: 700;
  color: #2f86ff;
}

.cms-img-upload input[type="file"] {
  font-size: 12px;
  color: #41506b;
}

.cms-input {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid rgba(16, 33, 60, 0.12);
  border-radius: 12px;
  background: #fff;
  color: #16253d;
  font: inherit;
  font-size: 14px;
}

.cms-input--textarea {
  min-height: 120px;
  resize: vertical;
}

.cms-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #334563;
  font-size: 14px;
}

.cms-inline-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.cms-locale-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 18px;
}

.cms-locale-column {
  padding: 16px;
  border-radius: 18px;
  background: #f7faff;
}

.cms-locale-column__title {
  margin-bottom: 14px;
  color: #3356a1;
  font-size: 13px;
  font-weight: 700;
}

.cms-array-list {
  display: grid;
  gap: 16px;
  padding: 18px;
}

.cms-array-card {
  border: 1px solid rgba(16, 33, 60, 0.08);
  border-radius: 18px;
  background: #f9fbfd;
}

.cms-array-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 16px 0;
}

.cms-array-card__header strong {
  display: block;
  color: #10213c;
  font-size: 15px;
}

.cms-array-card__header span {
  display: block;
  margin-top: 4px;
  color: #71809a;
  font-size: 12px;
}

.cms-empty {
  padding: 18px;
  color: #708097;
  font-size: 14px;
}

.cms-lead-list {
  display: grid;
  gap: 14px;
}

.cms-lead-card {
  padding: 18px;
  border: 1px solid rgba(16, 33, 60, 0.08);
  border-radius: 18px;
  background: #fbfcfe;
}

.cms-lead-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.cms-lead-card__head strong {
  color: #10213c;
  font-size: 16px;
}

.cms-lead-card__head span {
  color: #71809a;
  font-size: 12px;
}

.cms-lead-card__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cms-lead-card__item {
  padding: 14px;
  border-radius: 14px;
  background: #fff;
}

.cms-lead-card__item span {
  display: block;
  color: #77859c;
  font-size: 12px;
}

.cms-lead-card__item strong {
  display: block;
  margin-top: 6px;
  color: #1b2d4a;
  font-size: 14px;
  line-height: 1.5;
  word-break: break-word;
}

.cms-raw-editor {
  width: 100%;
  min-height: 66vh;
  padding: 18px;
  border: 1px solid rgba(16, 33, 60, 0.12);
  border-radius: 18px;
  background: #0d1524;
  color: #dbe8ff;
  font: 13px/1.6 "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  resize: vertical;
}

.cms-security-form {
  display: grid;
  gap: 14px;
}

.cms-email-mask {
  color: #61728c;
  font-size: 12px;
  line-height: 1.6;
}

.cms-email-mask.is-error {
  color: #bf3e31;
}

.cms-hero-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.cms-hero-card {
  overflow: hidden;
  border: 1px solid rgba(16, 33, 60, 0.08);
  border-radius: 20px;
  background: #fbfcfe;
}

.cms-hero-card__preview {
  position: relative;
  height: 220px;
  background: linear-gradient(135deg, #dbe7ff, #eef4ff);
}

.cms-hero-card__preview img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.cms-hero-card__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #6880aa;
  font-size: 14px;
  font-weight: 600;
}

.cms-hero-card__body {
  padding: 16px;
}

.cms-hero-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.cms-hero-card__head strong {
  color: #10213c;
  font-size: 16px;
}

.cms-hero-card__head span {
  color: #708097;
  font-size: 12px;
  text-align: right;
}

.cms-hero-card__url {
  margin-top: 10px;
  color: #63748d;
  font-size: 12px;
  line-height: 1.5;
  word-break: break-all;
}

.cms-upload-btn {
  position: relative;
  overflow: hidden;
}

.cms-upload-btn input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.cms-longpage-list {
  display: grid;
  gap: 20px;
}

.cms-longpage-card {
  border: 1px solid rgba(16, 33, 60, 0.08);
  border-radius: 22px;
  background: #fbfcfe;
  overflow: hidden;
}

.cms-longpage-card__head {
  padding: 18px 18px 0;
}

.cms-longpage-card__head strong {
  display: block;
  color: #10213c;
  font-size: 18px;
}

.cms-longpage-card__head span {
  display: block;
  margin-top: 6px;
  color: #6f8098;
  font-size: 13px;
}

.cms-longpage-card__segments {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 18px;
}

.cms-longpage-segment {
  overflow: hidden;
  border: 1px solid rgba(16, 33, 60, 0.08);
  border-radius: 18px;
  background: #ffffff;
}

.cms-longpage-segment__preview {
  height: 180px;
  background: linear-gradient(135deg, #dbe7ff, #eef4ff);
}

.cms-longpage-segment__preview img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.cms-longpage-segment__body {
  padding: 14px;
}

.cms-longpage-segment__body strong {
  display: block;
  color: #10213c;
  font-size: 15px;
}

.cms-longpage-segment__body span {
  display: block;
  margin-top: 6px;
  color: #708097;
  font-size: 12px;
}

@media (max-width: 1100px) {
  .cms-shell {
    grid-template-columns: 1fr;
  }

  .cms-sidebar {
    position: relative;
    height: auto;
  }

  .cms-topbar {
    flex-direction: column;
  }

  .cms-object-grid,
  .cms-locale-grid,
  .cms-lead-card__grid,
  .cms-hero-grid,
  .cms-longpage-card__segments {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .cms-main {
    padding: 20px 16px 28px;
  }

  .cms-sidebar {
    padding: 20px 16px;
  }

  .cms-topbar-actions,
  .cms-inline-actions,
  .cms-array-card__header,
  .cms-lead-card__head,
  .cms-hero-card__head {
    flex-direction: column;
    align-items: stretch;
  }

  .cms-block__header {
    flex-direction: column;
    align-items: stretch;
  }

  .page-hero-banner__content,
  .news-hero {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* News 栏目整体缩窄 10% (1200 -> 1080) */
.news-page .cs-list__title,
.news-page .cs-grid { max-width: 1080px; }

/* News 详情页 */
.news-detail { max-width: 860px; margin: 0 auto; padding: clamp(36px, 5vw, 80px) 6% clamp(30px, 4vw, 60px); }
.news-detail__back { display: inline-block; margin-bottom: 1.6em; color: #0c65ff; font-size: 14px; text-decoration: none; opacity: 0.85; }
.news-detail__back:hover { opacity: 1; }
.news-detail__date { display: block; color: #0c65ff; font-size: clamp(12px, 1vw, 14px); font-weight: 600; letter-spacing: 0.04em; }
.news-detail__title { margin: 0.5em 0 0.6em; font-size: clamp(24px, 2.6vw, 38px); line-height: 1.3; font-weight: 700; color: #14181f; }
.news-detail__lead { margin: 0 0 1.6em; font-size: clamp(15px, 1.3vw, 18px); line-height: 1.7; color: #5a6573; font-weight: 500; }
.news-detail__content { font-size: clamp(15px, 1.15vw, 17px); line-height: 1.95; color: #2b3441; }
.news-detail__p { margin: 0 0 1.4em; }
.news-detail__img { display: block; width: 100%; height: auto; border-radius: 12px; margin: 1.8em auto; }
.news-detail__cap { margin: -1em 0 1.8em; text-align: center; font-size: 13px; color: #9aa3af; }

/* ===== Solutions 子页真实区块 ===== */
.sol-sec__title { text-align: center; font-size: clamp(22px, 2.6vw, 40px); font-weight: 700; color: #14181f; margin: 0 0 clamp(28px, 3vw, 54px); }
/* 挑战 4 卡 */
.sol-ch { background: #f4f7fb; padding: clamp(48px, 5vw, 96px) 6%; }
.sol-ch__grid { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 1.6vw, 26px); }
.sol-ch__card { background: #fff; border-radius: 18px; padding: clamp(20px, 1.8vw, 32px); box-shadow: 0 10px 30px rgba(24, 44, 84, 0.06); }
.sol-ch__ico { width: 46px; height: 46px; object-fit: contain; margin-bottom: 1.2em; }
.sol-ch__title { margin: 0 0 1em; font-size: clamp(15px, 1.15vw, 19px); font-weight: 700; color: #14181f; line-height: 1.32; }
.sol-ch__title:has(+ .sol-ch__sub) { margin-bottom: 0.3em; }
.sol-ch__sub { margin: 0 0 1em; color: #2f6bff; font-size: clamp(12.5px, 1vw, 15px); font-weight: 600; line-height: 1.4; }
.sol-ch__list { margin: 0; padding-left: 1.05em; color: #5a6573; font-size: clamp(12px, 0.95vw, 14px); line-height: 1.6; }
.sol-ch__list li { margin-bottom: 0.4em; }
.sol-ch__body { margin: 0; color: #5a6573; font-size: clamp(12px, 0.95vw, 14px); line-height: 1.65; }
/* 方案介绍 */
.sol-intro { background: #fff; padding: clamp(48px, 5vw, 96px) 6%; text-align: center; }
.sol-intro__img { display: block; width: min(100%, 720px); margin: 0 auto clamp(24px, 2.4vw, 40px); border-radius: 14px; }
.sol-intro__text { max-width: 920px; margin: 0 auto; color: #44505f; font-size: clamp(13px, 1.05vw, 16px); line-height: 1.85; text-align: left; }
/* 产品轮播 */
.sol-prod { background: #fff; padding: clamp(48px, 5vw, 96px) 0; }
.sol-prod__wrap { position: relative; max-width: 1320px; margin: 0 auto; padding: 0 clamp(40px, 5vw, 72px); }
.sol-prod__track { display: flex; gap: 28px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; -ms-overflow-style: none; scrollbar-width: none; padding-bottom: 6px; }
.sol-prod__track::-webkit-scrollbar { display: none; }
.sol-prod__card { scroll-snap-align: start; flex: 0 0 calc((100% - 28px) / 2); display: flex; align-items: stretch; border-radius: 16px; overflow: hidden; }
.sol-prod__media { flex: 1 1 46%; background: #fff; display: flex; align-items: center; justify-content: center; }
.sol-prod__media img { width: 100%; height: auto; display: block; }
.sol-prod__panel { flex: 1 1 54%; background: linear-gradient(150deg, #2f7bff, #0c57ff); color: #fff; border-radius: 0; padding: clamp(14px, 1.3vw, 24px); display: flex; flex-direction: column; }
.sol-prod__name { margin: 0 0 0.6em; font-size: clamp(16px, 1.35vw, 23px); font-weight: 700; }
.sol-prod__specs { list-style: none; margin: 0 0 auto; padding: 0; display: flex; flex-direction: column; gap: 0.6em; font-size: clamp(10px, 0.8vw, 12.5px); line-height: 1.5; }
.sol-prod__specs li { padding-left: 1.9em; position: relative; color: rgba(255, 255, 255, 0.95); font-weight: 400; }
.sol-prod__ico { position: absolute; left: 0; top: 0.15em; width: 14px; height: 14px; object-fit: contain; }
.sol-prod__k { font-weight: 400; color: #fff; }
.sol-prod__cta { margin-top: 0.9em; align-self: flex-end; color: #fff; font-size: clamp(10.5px, 0.85vw, 13px); text-decoration: none; opacity: 0.95; }
.sol-prod__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; border: 1px solid #d3dbe6; background: #fff; color: #5a6573; font-size: 20px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(24, 44, 84, 0.1); }
.sol-prod__nav--prev { left: 0; }
.sol-prod__nav--next { right: 0; }
.sol-prod__nav:hover { color: #0c65ff; border-color: #0c65ff; }
/* 价值 3 列 */
.sol-val { background: #fff; padding: clamp(48px, 5vw, 96px) 6%; }
.sol-val__grid { max-width: 1140px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(28px, 3vw, 64px); align-items: start; }
.sol-val__col { padding-top: clamp(18px, 1.6vw, 28px); }
.sol-val__title { margin: 0 0 1.2em; min-height: 2.6em; font-size: clamp(15px, 1.2vw, 19px); font-weight: 700; color: #0c65ff; line-height: 1.3; }
.sol-val__title:has(+ .sol-val__sub) { min-height: 0; margin-bottom: 0.3em; }
.sol-val__sub { margin: 0 0 1em; color: #14181f; font-weight: 600; font-size: clamp(13px, 1vw, 15.5px); line-height: 1.4; }
.sol-val__text, .sol-val__list { color: #5a6573; font-size: clamp(12px, 1vw, 15px); line-height: 1.75; margin: 0; }
.sol-val__list { list-style: none; padding: 0; }
.sol-val__list li { position: relative; padding-left: 1.2em; margin-bottom: 0.55em; }
.sol-val__list li::before { content: "–"; position: absolute; left: 0; top: 0; color: #9aa3af; }
/* 相关案例 */
.sol-cases { background: #fff; padding: 0 6% clamp(48px, 5vw, 96px); }
.sol-cases__head { max-width: 1200px; margin: 0 auto 1.4em; display: flex; align-items: baseline; justify-content: space-between; }
.sol-cases__head .sol-sec__title { margin: 0; text-align: left; }
.sol-cases__all { color: rgba(12, 101, 255, 0.7); font-size: clamp(12px, 1vw, 15px); text-decoration: none; white-space: nowrap; }
.sol-cases__grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 1.8vw, 28px); }
.sol-case__card { text-align: left; }
.sol-case__name { margin: 1em 1.2em 0.4em; font-size: clamp(15px, 1.2vw, 19px); font-weight: 700; color: #14181f; line-height: 1.3; }
.sol-case__desc { margin: 0 1.2em 0; color: #5a6573; font-size: clamp(12px, 0.95vw, 14px); line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 1024px) {
  .sol-val__grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 900px) {
  .sol-ch__grid { grid-template-columns: repeat(2, 1fr) !important; }
  .sol-cases__grid { grid-template-columns: 1fr !important; max-width: 420px !important; }
  .sol-prod__card { flex-basis: 88%; aspect-ratio: auto; }
}
@media (max-width: 560px) {
  .sol-ch__grid { grid-template-columns: 1fr !important; }
  .sol-val__grid { grid-template-columns: 1fr !important; }
}


/* ===== Our Team 页 ===== */
.team-sec__title { text-align: center; font-size: clamp(22px, 2.6vw, 40px); font-weight: 700; color: #14181f; margin: 0 0 clamp(28px, 3vw, 52px); }
/* Hero */
.team-hero { position: relative; min-height: clamp(300px, 42vw, 620px); overflow: hidden; }
.team-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.team-hero__bullets { position: absolute; right: 8%; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 0.9em; }
.team-hero__bullets span { color: #fff; font-size: clamp(15px, 1.5vw, 24px); font-weight: 500; padding-left: 1.1em; position: relative; text-shadow: 0 1px 10px rgba(8,28,60,0.4); }
.team-hero__bullets span::before { content: ""; position: absolute; left: 0; top: 0.55em; width: 6px; height: 6px; border-radius: 50%; background: #fff; }
.team-hero__intro { position: absolute; right: 8%; top: 50%; transform: translateY(-50%); max-width: 40%; }
.team-hero__intro p { margin: 0; color: #fff; font-size: clamp(15px, 1.55vw, 26px); font-weight: 500; line-height: 1.6; text-shadow: 0 1px 12px rgba(8, 28, 60, 0.45); }
@media (max-width: 760px) { .team-hero__intro { max-width: 60%; } }
/* Our Team 三图 */
.team-top { background: #fff; padding: clamp(48px, 5vw, 90px) 6% clamp(20px, 2vw, 40px); }
.team-photos { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(12px, 1.4vw, 22px); }
.team-photos__item { display: block; aspect-ratio: 16 / 10; border-radius: 14px; overflow: hidden; background: #dfe6ef; }
.team-photos__item img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* 标语 */
.team-tagline { background: #fff; padding: calc(clamp(36px, 4vw, 70px) + 150px) 6%; text-align: center; }
.team-tagline p { max-width: 1150px; margin: 0 auto; transform: translateY(-150px); font-size: clamp(17px, 2.05vw, 30px); font-weight: 700; line-height: 1.5; background: linear-gradient(90deg, #0c57ff, #8b3bff); -webkit-background-clip: text; background-clip: text; color: transparent; }
/* CEO */
.team-ceo { background: #f4f7fb; padding: clamp(48px, 5vw, 90px) 6%; display: flex; gap: clamp(28px, 4vw, 72px); align-items: center; justify-content: center; }
.team-ceo__photo { width: clamp(180px, 24vw, 300px); aspect-ratio: 633 / 795; object-fit: cover; border-radius: 12px; flex: 0 0 auto; }
.team-ceo__info { max-width: 460px; }
.team-ceo__name { margin: 0; font-size: clamp(18px, 1.6vw, 26px); font-weight: 700; color: #14181f; }
.team-ceo__role { margin: 0.3em 0 1.8em; color: #8a93a0; font-size: clamp(12px, 1vw, 15px); }
.team-ceo__quote { margin: 0; color: #2b3441; font-size: clamp(14px, 1.25vw, 19px); line-height: 1.7; font-weight: 500; }
/* Team Introduction 数据 */
.team-stats { background: #fff; padding: clamp(48px, 5vw, 90px) 6%; }
.team-stats__grid { max-width: 720px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(20px, 2.4vw, 48px); }
.team-stat { text-align: center; }
.team-stat__n { font-size: clamp(34px, 4vw, 64px); font-weight: 800; color: #0c65ff; line-height: 1; }
.team-stat__t { margin: 0.8em auto 0; max-width: 16em; color: #5a6573; font-size: clamp(12px, 1vw, 15px); line-height: 1.55; }
/* Why Choose Us */
.team-why { background: linear-gradient(135deg, #1a4be0, #0c57ff); padding: clamp(48px, 5vw, 90px) 6%; }
.team-why__title { color: #fff; }
.team-why__grid { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(5, 1fr); gap: clamp(18px, 2vw, 36px); }
.team-why__ico { width: 38px; height: 38px; object-fit: contain; margin-bottom: 1em; }
.team-why__h { margin: 0 0 0.8em; font-size: clamp(14px, 1.1vw, 18px); font-weight: 700; color: #fff; }
.team-why__b { margin: 0; font-size: clamp(11px, 0.9vw, 13px); line-height: 1.65; color: rgba(255, 255, 255, 0.85); }
/* Our locations */
.team-locs { background: #fff; padding: calc(clamp(48px, 5vw, 90px) + 50px) 6%; }
.team-locs__grid { max-width: 1480px; margin: 0 auto; display: grid; grid-template-columns: repeat(9, 1fr); gap: clamp(8px, 1vw, 20px); }
.team-loc { text-align: center; }
.team-loc__ico { display: flex; align-items: center; justify-content: center; width: clamp(72px, 7.6vw, 116px); height: clamp(72px, 7.6vw, 116px); margin: 0 auto 1em; border-radius: 50%; background: #f1f5fa; overflow: hidden; }
.team-loc__ico img { width: 100%; height: 100%; object-fit: contain; }
.team-loc__city { font-size: clamp(14px, 1.1vw, 18px); font-weight: 700; color: #14181f; }
.team-loc__role { margin: 0.4em 0 0; color: #8a93a0; font-size: clamp(11px, 0.9vw, 13px); line-height: 1.45; }
/* Join Us */
.team-join { position: relative; aspect-ratio: 1280 / 432; background-size: cover; background-position: center; display: flex; align-items: center; }
.team-join__content { padding: 0 8%; max-width: 1280px; margin: 0 auto; width: 100%; }
.team-join__h { margin: 0 0 1.2em; font-size: clamp(26px, 3.4vw, 52px); font-weight: 700; color: #fff; line-height: 1.2; text-shadow: 0 2px 16px rgba(8,28,60,0.35); }
.team-join__btn { display: inline-flex; align-items: center; gap: 0.5em; padding: 0.7em 1.8em; border: 1.5px solid rgba(255,255,255,0.85); border-radius: 999px; color: #fff; text-decoration: none; font-size: clamp(13px, 1.1vw, 16px); transition: background 0.2s, color 0.2s; }
.team-join__btn:hover { background: #fff; color: #0c57ff; }
.team-join__watermark { position: absolute; left: 16px; bottom: 12px; z-index: 2; color: rgba(255, 255, 255, 0.6); font-size: 12px; letter-spacing: 0.02em; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45); }
@media (max-width: 1240px) {
  .team-locs__grid { grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 980px) {
  .team-why__grid { grid-template-columns: repeat(2, 1fr); }
  .team-locs__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 760px) {
  .team-photos, .team-stats__grid { grid-template-columns: 1fr; }
  .team-ceo { flex-direction: column; text-align: center; }
  .team-locs__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) { .team-why__grid { grid-template-columns: 1fr; } }

/* ===== About Us 页 ===== */
.ab-journey { background: #fff; padding: clamp(40px, 4vw, 80px) 0 0; }
.ab-journey .sol-sec__title { margin-bottom: clamp(10px, 1.4vw, 24px); }
.journey-band { position: relative; width: 100%; height: clamp(560px, 54vw, 820px); overflow: hidden; }
.about-v2 .journey-overlay { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; }
/* Competitive Advantages */
.ab-adv { background: #f4f7fb; padding: clamp(48px, 5vw, 96px) 6%; }
.ab-adv__head { max-width: 940px; margin: 0 auto clamp(28px, 3vw, 52px); text-align: center; font-size: clamp(18px, 1.9vw, 30px); font-weight: 700; color: #14181f; line-height: 1.4; }
.ab-adv__row { max-width: 1100px; margin: 0 auto clamp(28px, 3vw, 48px); display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(12px, 1.4vw, 24px); }
.ab-adv__card { background: #fff; border-radius: 14px; padding: clamp(18px, 1.6vw, 30px) clamp(14px, 1.2vw, 22px); text-align: left; box-shadow: 0 8px 24px rgba(24, 44, 84, 0.05); }
.ab-adv__n { font-size: clamp(22px, 2.2vw, 36px); font-weight: 800; color: #0c65ff; line-height: 1.05; }
.ab-adv__t { margin: 0.9em 0 0; color: #5a6573; font-size: clamp(11px, 0.9vw, 13px); line-height: 1.5; }
.ab-adv__img { display: block; width: 100%; max-width: 1100px; margin: 0 auto; border-radius: 16px; height: auto; }
/* From HongKong to Global */
.ab-global { background: #fff; padding: clamp(48px, 5vw, 96px) 6%; text-align: center; }
.ab-global__text { max-width: 900px; margin: 0 auto clamp(24px, 3vw, 48px); color: #44505f; font-size: clamp(13px, 1.05vw, 16px); line-height: 1.8; }
.ab-global__map { display: block; width: 100%; max-width: 1200px; margin: 0 auto; }
@media (max-width: 900px) {
  .ab-adv__row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
  .ab-adv__row { grid-template-columns: 1fr; }
}

/* From HongKong to Global — 可交互地图 */
.ab-map { position: relative; max-width: 1180px; margin: 0 auto; container-type: inline-size; }
.ab-map__full { display: block; width: 100%; height: auto; }
.ab-map__base { display: block; width: 100%; height: auto; }
.ab-map__glow { position: absolute; transform: translate(-50%, -50%); height: auto; pointer-events: none; z-index: 1; }
.ab-map__circle { position: absolute; transform: translate(-50%, -50%); aspect-ratio: 1; border-radius: 50%; background: rgba(132, 173, 255, 0.34); pointer-events: none; z-index: 1; }
.ab-map__badge { position: absolute; transform: translate(-50%, -50%); height: auto; pointer-events: none; z-index: 3; }
@keyframes pinBlink { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
.ab-map__hub-badge { position: absolute; transform: translate(-50%, -50%); background: #0c57ff; color: #fff; font-weight: 800; font-size: clamp(11px, 1vw, 15px); letter-spacing: 0.06em; padding: 0.35em 0.9em; border-radius: 7px; box-shadow: 0 6px 16px rgba(12, 87, 255, 0.4); pointer-events: none; }
.ab-map__point { position: absolute; transform: translate(-50%, -50%); width: 0; height: 0; cursor: pointer; outline: none; }
/* 脉动据点 */
.ab-map__pin { position: absolute; left: 0; top: 0; transform: translate(-50%, -50%); width: 14px; height: 14px; border-radius: 50%; background: transparent; display: block; }
.ab-map__pinicon { position: absolute; left: 0; top: 0; transform: translate(-50%, -82%); height: auto; z-index: 3; pointer-events: auto; cursor: pointer; filter: drop-shadow(0 3px 6px rgba(12,87,255,0.35)); animation: pinBlink 1.2s ease-in-out infinite; }
.ab-map__pin::before, .ab-map__pin::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; border-radius: 50%; transform: translate(-50%, -50%); background: rgba(12, 87, 255, 0.35); animation: abPulse 2s ease-out infinite; }
.ab-map__pin::after { animation-delay: 1s; }
@keyframes abPulse { 0% { width: 14px; height: 14px; opacity: 0.7; } 100% { width: 54px; height: 54px; opacity: 0; } }
/* 信息卡 */
.ab-map__card { position: absolute; left: 50%; bottom: 18px; transform: translate(-50%, 12px) scale(0.92); width: clamp(180px, 17vw, 240px); opacity: 0; visibility: hidden; transition: opacity 0.28s ease, transform 0.28s ease; pointer-events: none; z-index: 5; filter: drop-shadow(0 16px 30px rgba(16, 33, 60, 0.22)); }
.ab-map__card img { display: block; width: 100%; height: auto; }
.ab-map__point:hover .ab-map__card, .ab-map__point:focus .ab-map__card, .ab-map__point.is-open .ab-map__card { opacity: 1; visibility: visible; transform: translate(-50%, 0) scale(1); }
.ab-map__point:hover, .ab-map__point.is-open { z-index: 6; }
@media (max-width: 640px) { .ab-map__card { width: 150px; } }

/* 从北京向世界扩散的流动虚线 */
.ab-map__lines { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 2; overflow: visible; }
/* 蓝色激光效果: 点状 + 辉光 + 流动 */
.ab-map__line { fill: none; stroke: #3a86ff; stroke-width: 2.6; stroke-linecap: round; stroke-dasharray: 0.1 9; filter: drop-shadow(0 0 2.5px rgba(58,134,255,0.95)) drop-shadow(0 0 6px rgba(58,134,255,0.55)); animation: abFlow 0.9s linear infinite; }
@keyframes abFlow { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -27; } }

/* Brands 弹窗(无分类)标题 */
.brands-modal__title { margin: 0 0 clamp(14px, 1.6vw, 24px); font-size: clamp(18px, 1.8vw, 26px); font-weight: 700; color: #14181f; }
