:root {
  --blue-950: #07183f;
  --blue-900: #0b2d78;
  --blue-700: #075de7;
  --blue-500: #0c88ff;
  --cyan-400: #18d5df;
  --green-400: #45d38d;
  --amber-400: #f2b84b;
  --rose-400: #f06e8d;
  --ink: #16223d;
  --muted: #61708e;
  --line: rgba(12, 52, 120, 0.14);
  --paper: #f7fbff;
  --glass: rgba(255, 255, 255, 0.72);
  --shadow: 0 22px 70px rgba(11, 45, 120, 0.18);
  --radius: 8px;
  --cursor-x: 50vw;
  --cursor-y: 50vh;
  --page-x: 50%;
  --page-y: 24%;
  --hero-shift-x: 0px;
  --hero-shift-y: 0px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  position: relative;
  margin: 0;
  color: var(--ink);
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
  background:
    radial-gradient(circle at var(--page-x) var(--page-y), rgba(24, 213, 223, 0.22), transparent 18rem),
    radial-gradient(circle at 92% 34%, rgba(69, 211, 141, 0.16), transparent 22rem),
    radial-gradient(circle at 8% 40%, rgba(242, 184, 75, 0.12), transparent 22rem),
    linear-gradient(180deg, #f8fcff 0%, #eef8ff 42%, #f8fbff 100%);
  letter-spacing: 0;
  overflow-x: hidden;
}

.cursor-aura {
  position: fixed;
  left: var(--cursor-x);
  top: var(--cursor-y);
  z-index: 2000;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.36), rgba(24, 213, 223, 0.16) 28%, rgba(7, 93, 231, 0.08) 46%, transparent 66%);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(var(--cursor-scale, 1));
  transition: opacity 180ms ease, transform 180ms ease;
  mix-blend-mode: screen;
}

body.has-pointer .cursor-aura {
  opacity: 1;
}

.tilt-target,
.magnetic-target {
  will-change: transform;
}

.tilt-target {
  --mx: 50%;
  --my: 50%;
  position: relative;
  transform-style: preserve-3d;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.tilt-target::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  background: radial-gradient(circle at var(--mx) var(--my), rgba(255, 255, 255, 0.46), rgba(24, 213, 223, 0.08) 30%, transparent 58%);
  opacity: 0;
  transition: opacity 180ms ease;
  content: "";
  pointer-events: none;
}

.tilt-target.is-pointer-inside {
  border-color: rgba(24, 213, 223, 0.34);
  box-shadow: 0 28px 68px rgba(7, 93, 231, 0.18);
}

.tilt-target.is-pointer-inside::after {
  opacity: 1;
}

.click-ripple {
  position: absolute;
  z-index: 3;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.72);
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0);
  animation: ripplePop 700ms ease-out forwards;
}

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

img {
  display: block;
  max-width: 100%;
}

.mobinav__mask{display: none}
.tacheng_h5{display: none}
.site-header {
  position: sticky;
  top: 0;
  z-index: 99999;
  display: grid;
  grid-template-columns: max-content max-content 1fr; /* 核心布局 */
  align-items: center;
  gap: 0px;
  min-height: 86px;
  padding: 12px clamp(18px, 4vw, 70px);
  padding-right: 100px; /* 距离右侧100px */
  background: rgba(247,251,255,0.86);
  border-bottom: 1px solid rgba(12,74,166,0.1);
  box-shadow: 0 12px 34px rgba(22,34,61,0.06);
  backdrop-filter: blur(18px);
}

/* 导航模块 → 强制右对齐 */
.main-nav {
  display: flex;
  gap: 28px;
  white-space: nowrap;
  justify-self: end; /* 核心：导航整体右对齐 */
}
.nav-item {
  flex-shrink: 0;
}

.nav-toggle{display: none}
.nav-modal{display: none}

/* 导航横向不换行 */
.main-nav {
  display: flex;
  gap: 8px;
  white-space: nowrap;
}
.nav-item {
  flex-shrink: 0;
}

.brand img {
  width: 250px;
  max-height: 62px;
  object-fit: contain;
  object-position: left center;
}

.event-pill {
  display: grid;
  gap: 2px;
  padding: 9px 13px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--blue-900);
  background: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  white-space: nowrap;
}

.event-pill strong {
  font-size: 14px;
}

.main-nav {
  display: flex;
  justify-content: center;
  gap: 5px;
  font-size: clamp(14px, 1.05vw, 18px);
  font-weight: 650;
  color: rgba(22, 34, 61, 0.78);
}

.nav-item {
  position: relative;
}

.main-nav > .nav-item > a {
  position: relative;
  display: block;
  padding: 12px 20px;
  white-space: nowrap;
}

.main-nav span,
.section-label span {
  font-size: 1.55em;
  line-height: 0;
  color: var(--blue-900);
}

.main-nav > .nav-item > a::after {
  position: absolute;
  right: 0;
  bottom: 7px;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--blue-700), var(--cyan-400));
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 180ms ease;
  content: "";
}

.main-nav > .nav-item > a:hover::after,
.main-nav > .nav-item > a.is-active::after {
  transform: scaleX(1);
}

.nav-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  display: grid;
  min-width: 132px;
  overflow: hidden;
  border: 1px solid rgba(12, 88, 210, 0.12);
  border-radius: 0 0 8px 8px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 46px rgba(11, 45, 120, 0.16);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -8px);
  transition: opacity 220ms ease, transform 220ms ease;
  backdrop-filter: blur(16px);
}

.nav-item:hover .nav-menu,
.nav-item:focus-within .nav-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.nav-menu a {
  padding: 12px 16px;
  color: rgba(22, 34, 61, 0.72);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  transition: color 180ms ease, background 180ms ease;
}

.nav-menu a:hover {
  color: #fff;
  background: linear-gradient(125deg, var(--blue-700), #7652eb);
}

.header-tools {
  display: flex;
  align-items: center;
  gap: 12px;
}

.search-box {
  display: flex;
  align-items: center;
  width: 126px;
  height: 34px;
  padding: 0 9px;
  border: 1px solid rgba(16, 68, 150, 0.18);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.84);
}

.search-box span {
  width: 14px;
  height: 14px;
  margin-right: 8px;
  border: 2px solid #7d91b2;
  border-radius: 50%;
}

.search-box span::after {
  display: block;
  width: 7px;
  height: 2px;
  margin: 9px 0 0 9px;
  background: #7d91b2;
  transform: rotate(45deg);
  content: "";
}

.search-box input {
  min-width: 0;
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--blue-900);
  font-size: 14px;
}

.lang-toggle {
  width: 38px;
  height: 34px;
  border: 1px solid rgba(16, 68, 150, 0.18);
  border-radius: 5px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.84);
  font-weight: 700;
}

.quick-rail {
  position: fixed;
  right: 24px;
  top: 43vh;
  z-index: 20;
  display: grid;
  gap: 18px;
  padding: 18px 0 18px 18px;
  border-right: 3px solid rgba(12, 136, 255, 0.28);
  color: var(--blue-900);
  font-weight: 700;
  text-align: right;
}

.rail-item {
  position: relative;
  display: grid;
  gap: 6px;
}

.rail-item a {
  transition: color 180ms ease, transform 180ms ease;
}

.rail-item span {
  position: absolute;
  right: 0;
  top: 26px;
  min-width: 132px;
  color: rgba(12, 45, 120, 0.58);
  font-size: 12px;
  font-weight: 700;
  opacity: 0;
  transform: translateX(8px);
  transition: opacity 180ms ease, transform 180ms ease;
  pointer-events: none;
}

.rail-item:hover a {
  color: var(--cyan-400);
  transform: translateX(-4px);
}

.rail-item:hover span {
  opacity: 1;
  transform: translateX(0);
}

.hero {
  position: relative;
  min-height: calc(100vh - 86px);
  overflow: hidden;
  isolation: isolate;
}
.hero-bg-h5{display: none;  position: absolute;
  inset: -18px;
  z-index: -3;
  background-image:
    url("./assets/site/hero-abstract_h5.jpg");
  background-size: cover;
  background-position: center bottom;
  transform: translate3d(var(--hero-shift-x), var(--hero-shift-y), 0) scale(1.03);
  transition: transform 220ms ease-out;}
.hero-bg {
  position: absolute;
  inset: -18px;
  z-index: -3;
  background-image:
    url("./assets/site/hero-abstract.jpg");
  background-size: cover;
  background-position: center bottom;
  transform: translate3d(var(--hero-shift-x), var(--hero-shift-y), 0) scale(1.03);
  transition: transform 220ms ease-out;
}

.hero-bg::before {
  position: absolute;
  inset: 0;
  background:
    repeating-radial-gradient(ellipse at 50% 88%, rgba(24, 213, 223, 0) 0 7%, rgba(24, 213, 223, 0.18) 8%, rgba(24, 213, 223, 0) 10%),
    radial-gradient(ellipse at 50% 85%, rgba(255, 255, 255, 0.78), transparent 38%);
  opacity: 0.72;
  transform: scale(0.86);
  animation: heroRadiate 4.8s ease-out infinite;
  content: "";
}

.hero-bg::after {
  position: absolute;
  right: -12%;
  bottom: -18%;
  width: 78%;
  height: 78%;
  background: conic-gradient(from 210deg, transparent, rgba(24, 213, 223, 0.26), transparent 30%, rgba(7, 93, 231, 0.16), transparent 55%);
  filter: blur(18px);
  opacity: 0.55;
  animation: sweepFan 8s linear infinite;
  content: "";
}

.particle-canvas {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  mix-blend-mode: screen;
}

.hero::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
}

.hero-copy {
  position: relative;
  z-index: 3;
  width: min(980px, calc(100vw - 36px));
  padding: clamp(80px, 14vh, 150px) 0 0 clamp(22px, 7vw, 112px);
}

.eyebrow {
  margin: 0 0 16px;
  color: var(--blue-900);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero h1 {
  margin: 0;
  color: var(--blue-900);
  font-size: clamp(40px, 4.72vw, 68px);
  line-height: 1.08;
  letter-spacing: 0;
  text-shadow: 0 14px 34px rgba(255, 255, 255, 0.58);
}

@media (min-width: 761px) {
  .hero h1 {
    white-space: nowrap;
  }
}

.hero-theme {
  width: fit-content;
  margin: 24px 0 18px;
  padding: 9px 15px;
  border-left: 4px solid var(--green-400);
  color: #023069;
  border-radius: 0 8px 8px 0;
  font-size: clamp(20px, 2.3vw, 32px);
  font-weight: 800;
}

.hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: #123c80;
  font-size: 18px;
  font-weight: 700;
}

.hero-meta span {
  padding: 10px 14px;
  border-radius: 6px;
  padding-left: 20px;
  display: flex;
  gap: 10px;
}
.hero-meta span img{width: 20px;height: 20px;}

.hero-actions {
  display: flex;
  gap: 14px;
  margin-top: 34px;
}

.primary-action,
.secondary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 136px;
  height: 46px;
  border-radius: 6px;
  font-weight: 800;
}

.primary-action {
  color: #fff;
  background: linear-gradient(135deg, var(--blue-700), var(--cyan-400));
  box-shadow: 0 12px 28px rgba(7, 93, 231, 0.28);
}

.primary-action,
.secondary-action,
.service-grid a,
.tab,
.motion-years button,
.quick-rail a,
.main-nav > .nav-item > a,
.nav-menu a,
.lang-toggle {
  position: relative;
  overflow: hidden;
}

.primary-action::after,
.secondary-action::after,
.service-grid a::after,
.motion-years button::after,
.tab::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 18%, rgba(255, 255, 255, 0.42), transparent 78%);
  opacity: 0;
  transform: translateX(-110%);
  transition: transform 380ms ease, opacity 180ms ease;
  content: "";
  pointer-events: none;
}

.primary-action:hover::after,
.secondary-action:hover::after,
.service-grid a:hover::after,
.motion-years button:hover::after,
.tab:hover::after {
  opacity: 1;
  transform: translateX(110%);
}

.secondary-action {
  border: 1px solid rgba(7, 93, 231, 0.28);
  color: var(--blue-900);
  background: rgba(255, 255, 255, 0.72);
}

.hero-orbit {
  position: absolute;
  inset: 0;
  z-index: 1;
  --orbit-center-x: clamp(900px, 66.6vw, 1190px);
  --orbit-center-y: clamp(410px, 49vh, 470px);
  --orbit-width: clamp(640px, 44vw, 820px);
  --orbit-height: clamp(190px, 14.5vw, 270px);
  --orbit-tilt: -16deg;
  --core-size: clamp(290px, 27vw, 400px);
  pointer-events: auto;
  left: auto;
  right: -300px;
  width: 100%;
}

.energy-core {
  position: absolute;
  left: var(--orbit-center-x);
  top: var(--orbit-center-y);
  z-index: 4;
  width: var(--core-size);
  aspect-ratio: 520 / 514;
  border-radius: 0;
  opacity: 1;
  isolation: isolate;
  pointer-events: auto;
  cursor: pointer;
  transform: translate(-50%, -50%) translateZ(0);
  animation: coreFloatCentered 8s ease-in-out infinite;
}

.energy-core::before,
.energy-core::after {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  content: "";
}

.energy-core::before {
  inset: -20%;
  z-index: 1;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.36) 0 10%, rgba(24, 213, 223, 0.2) 30%, rgba(69, 211, 141, 0.16) 52%, transparent 72%),
    conic-gradient(from 20deg, rgba(24, 213, 223, 0.22), rgba(69, 211, 141, 0.18), transparent 42%, rgba(24, 213, 223, 0.22));
  filter: blur(0.5px) drop-shadow(0 0 20px rgba(24, 213, 223, 0.3));
  opacity: 0.7;
  animation: coreBloom 3s ease-out infinite;
}

.energy-core::after {
  inset: -26%;
  z-index: 0;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.4) 0 7%, rgba(24, 213, 223, 0.18) 18%, transparent 36%),
    radial-gradient(circle, rgba(69, 211, 141, 0.18), transparent 62%);
  opacity: 0;
  animation: chargePulse 2.6s ease-out infinite;
}

.core-shell {
  position: absolute;
  inset: 0;
  z-index: 5;
  transform: translateZ(0);
}

.core-shell::before,
.core-shell::after {
  position: absolute;
  inset: -14%;
  z-index: 10;
  opacity: 0;
  pointer-events: none;
  content: "";
  mix-blend-mode: screen;
  will-change: opacity, transform, clip-path;
}

.core-shell::before {
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.86) 0 3%, rgba(72, 246, 255, 0.52) 8%, transparent 26%),
    conic-gradient(from 18deg, transparent 0 10%, rgba(91, 255, 202, 0.72) 14%, transparent 19% 34%, rgba(65, 169, 255, 0.78) 39%, transparent 45% 63%, rgba(255, 255, 255, 0.72) 67%, transparent 74% 100%);
  filter: blur(0.2px) drop-shadow(0 0 24px rgba(72, 246, 255, 0.64));
  transform: scale(0.42) rotate(-8deg);
}

.core-shell::after {
  inset: -20%;
  background:
    repeating-conic-gradient(from 0deg, transparent 0 11deg, rgba(255, 255, 255, 0.86) 12deg 13deg, rgba(72, 246, 255, 0.62) 14deg 16deg, transparent 17deg 31deg);
  -webkit-mask-image: radial-gradient(circle, transparent 0 22%, #000 31% 44%, transparent 56%);
  mask-image: radial-gradient(circle, transparent 0 22%, #000 31% 44%, transparent 56%);
  filter: blur(0.4px) drop-shadow(0 0 18px rgba(91, 255, 202, 0.52));
  transform: scale(0.55) rotate(18deg);
}

.core-body,
.snake-wash,
.core-current,
.electric-bricks {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.core-body {
  position: absolute;
  z-index: 3;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0.98;
  transform: translate3d(var(--mesh-x, 0), var(--mesh-y, 0), 0) rotate(var(--mesh-rotate, 0deg)) scale(var(--mesh-scale, 1));
  transform-origin: 50% 50%;
  transition: transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform, filter, opacity;
}

.core-body-green {
  --mesh-x: -12px;
  --mesh-y: -9px;
  --mesh-rotate: -1.1deg;
  filter: drop-shadow(0 0 14px rgba(69, 211, 141, 0.32));
  animation:
    coreGreenPulse 4.8s ease-in-out infinite,
    greenMeshIdle 5.8s ease-in-out infinite;
}

.core-body-blue {
  --mesh-x: 12px;
  --mesh-y: 9px;
  --mesh-rotate: 1.1deg;
  filter: drop-shadow(0 0 14px rgba(24, 213, 223, 0.32));
  animation:
    coreBluePulse 4.8s ease-in-out -2.4s infinite,
    blueMeshIdle 5.8s ease-in-out -2.9s infinite;
}

.snake-wash {
  z-index: 6;
  background: currentColor;
  opacity: 0;
  transform: translate3d(var(--mesh-x, 0), var(--mesh-y, 0), 0) rotate(var(--mesh-rotate, 0deg)) scale(var(--mesh-scale, 1));
  transform-origin: 50% 50%;
  transition: transform 520ms cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  will-change: clip-path, opacity, transform;
}

.snake-blue-to-green {
  --mesh-x: -12px;
  --mesh-y: -9px;
  --mesh-rotate: -1.1deg;
  color: #006eff;
  -webkit-mask-image: url("./assets/site/source/decomposed/element-green-body-premium.png");
  mask-image: url("./assets/site/source/decomposed/element-green-body-premium.png");
  filter: drop-shadow(0 0 18px rgba(24, 213, 223, 0.56));
  animation:
    blueEatGreen 6.4s cubic-bezier(0.6, 0, 0.22, 1) infinite,
    greenMeshIdle 5.8s ease-in-out infinite;
}

.snake-green-to-blue {
  --mesh-x: 12px;
  --mesh-y: 9px;
  --mesh-rotate: 1.1deg;
  color: #24d978;
  -webkit-mask-image: url("./assets/site/source/decomposed/element-blue-body-premium.png");
  mask-image: url("./assets/site/source/decomposed/element-blue-body-premium.png");
  filter: drop-shadow(0 0 18px rgba(69, 211, 141, 0.56));
  animation:
    greenEatBlue 6.4s cubic-bezier(0.6, 0, 0.22, 1) infinite,
    blueMeshIdle 5.8s ease-in-out -2.9s infinite;
}

.core-current {
  z-index: 8;
  opacity: 0.34;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.82) 0 0.8%, transparent 1.7%),
    repeating-linear-gradient(116deg, transparent 0 16px, rgba(255, 255, 255, 0.03) 16px 25px, currentColor 26px 27px, rgba(255, 255, 255, 0.6) 28px 29px, transparent 30px 56px),
    linear-gradient(112deg, transparent 28%, rgba(255, 255, 255, 0.12) 41%, currentColor 48%, rgba(255, 255, 255, 0.7) 50%, currentColor 52%, transparent 68%);
  background-size: 180% 180%, 240% 240%, 230% 230%;
  background-position: 60% 50%, 0% 0%, -120% 50%;
  mix-blend-mode: screen;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  transform: translate3d(var(--mesh-x, 0), var(--mesh-y, 0), 0) rotate(var(--mesh-rotate, 0deg)) scale(var(--mesh-scale, 1));
  transform-origin: 50% 50%;
  filter: blur(0.2px) drop-shadow(0 0 12px currentColor);
  will-change: opacity, transform, background-position, clip-path;
}

.core-current-green {
  --mesh-x: -12px;
  --mesh-y: -9px;
  --mesh-rotate: -1.1deg;
  color: rgba(109, 255, 228, 0.92);
  -webkit-mask-image: url("./assets/site/source/decomposed/element-green-body-premium.png");
  mask-image: url("./assets/site/source/decomposed/element-green-body-premium.png");
  animation:
    coreCurrentFlow 2.9s cubic-bezier(0.4, 0, 0.2, 1) infinite,
    greenMeshIdle 5.8s ease-in-out infinite;
}

.core-current-blue {
  --mesh-x: 12px;
  --mesh-y: 9px;
  --mesh-rotate: 1.1deg;
  color: rgba(91, 255, 202, 0.88);
  -webkit-mask-image: url("./assets/site/source/decomposed/element-blue-body-premium.png");
  mask-image: url("./assets/site/source/decomposed/element-blue-body-premium.png");
  animation:
    coreCurrentFlow 2.9s cubic-bezier(0.4, 0, 0.2, 1) -1.35s infinite,
    blueMeshIdle 5.8s ease-in-out -2.9s infinite;
}

.energy-core:hover::before {
  opacity: 0.9;
  animation-duration: 1.9s;
}

.energy-core:hover::after {
  animation-duration: 1.8s;
}

.energy-core.is-bursting .core-shell::before {
  animation: coreElectricBurst 520ms cubic-bezier(0.08, 0.72, 0.18, 1) both;
}

.energy-core.is-bursting .core-shell::after {
  animation: coreSparkBurst 520ms cubic-bezier(0.08, 0.72, 0.18, 1) both;
}

.energy-core.is-bursting .core-body-green {
  --mesh-x: -2px;
  --mesh-y: -1px;
  --mesh-rotate: 0.35deg;
  --mesh-scale: 1.018;
  animation:
    coreGreenPulse 2.8s ease-in-out infinite,
    greenMeshSnap 460ms cubic-bezier(0.08, 0.86, 0.16, 1) both;
}

.energy-core.is-bursting .core-body-blue {
  --mesh-x: 2px;
  --mesh-y: 1px;
  --mesh-rotate: -0.35deg;
  --mesh-scale: 1.018;
  animation:
    coreBluePulse 2.8s ease-in-out -1.4s infinite,
    blueMeshSnap 460ms cubic-bezier(0.08, 0.86, 0.16, 1) both;
}

.energy-core.is-bursting .snake-blue-to-green {
  --mesh-x: -2px;
  --mesh-y: -1px;
  --mesh-rotate: 0.35deg;
  --mesh-scale: 1.018;
  animation:
    blueEatGreen 2.8s cubic-bezier(0.6, 0, 0.22, 1) infinite,
    greenMeshSnap 460ms cubic-bezier(0.08, 0.86, 0.16, 1) both;
}

.energy-core.is-bursting .snake-green-to-blue {
  --mesh-x: 2px;
  --mesh-y: 1px;
  --mesh-rotate: -0.35deg;
  --mesh-scale: 1.018;
  animation:
    greenEatBlue 2.8s cubic-bezier(0.6, 0, 0.22, 1) infinite,
    blueMeshSnap 460ms cubic-bezier(0.08, 0.86, 0.16, 1) both;
}

.energy-core:hover:not(.is-bursting):not(.is-charging) .core-body-green,
.energy-core.is-charging .core-body-green {
  --mesh-x: -2px;
  --mesh-y: -1px;
  --mesh-rotate: 0.35deg;
  --mesh-scale: 1.018;
  animation:
    coreGreenPulse 2.8s ease-in-out infinite,
    greenMeshTremor 150ms linear infinite;
}

.energy-core:hover:not(.is-bursting):not(.is-charging) .core-body-blue,
.energy-core.is-charging .core-body-blue {
  --mesh-x: 2px;
  --mesh-y: 1px;
  --mesh-rotate: -0.35deg;
  --mesh-scale: 1.018;
  animation:
    coreBluePulse 2.8s ease-in-out -1.4s infinite,
    blueMeshTremor 150ms linear infinite;
}

.energy-core:hover:not(.is-bursting):not(.is-charging) .snake-blue-to-green,
.energy-core.is-charging .snake-blue-to-green {
  --mesh-x: -2px;
  --mesh-y: -1px;
  --mesh-rotate: 0.35deg;
  --mesh-scale: 1.018;
  animation:
    blueEatGreen 2.7s cubic-bezier(0.6, 0, 0.22, 1) infinite,
    greenMeshTremor 150ms linear infinite;
}

.energy-core:hover:not(.is-bursting):not(.is-charging) .snake-green-to-blue,
.energy-core.is-charging .snake-green-to-blue {
  --mesh-x: 2px;
  --mesh-y: 1px;
  --mesh-rotate: -0.35deg;
  --mesh-scale: 1.018;
  animation:
    greenEatBlue 2.7s cubic-bezier(0.6, 0, 0.22, 1) infinite,
    blueMeshTremor 150ms linear infinite;
}

.energy-core:hover .core-current,
.energy-core.is-bursting .core-current,
.energy-core:hover:not(.is-bursting):not(.is-charging) .core-current,
.energy-core.is-charging .core-current {
  background-size: 160% 160%, 190% 190%, 180% 180%;
  filter: blur(0) drop-shadow(0 0 18px currentColor) drop-shadow(0 0 28px rgba(255, 255, 255, 0.35));
}

.energy-core.is-bursting .core-current {
  opacity: 0.92;
}

.energy-core.is-charging .core-current {
  opacity: 0.58;
}

.energy-core.is-bursting .core-current-green {
  --mesh-x: -2px;
  --mesh-y: -1px;
  --mesh-rotate: 0.35deg;
  --mesh-scale: 1.018;
  animation:
    coreCurrentBurst 520ms cubic-bezier(0.08, 0.72, 0.18, 1) both,
    greenMeshSnap 460ms cubic-bezier(0.08, 0.86, 0.16, 1) both;
}

.energy-core.is-bursting .core-current-blue {
  --mesh-x: 2px;
  --mesh-y: 1px;
  --mesh-rotate: -0.35deg;
  --mesh-scale: 1.018;
  animation:
    coreCurrentBurst 520ms cubic-bezier(0.08, 0.72, 0.18, 1) -90ms both,
    blueMeshSnap 460ms cubic-bezier(0.08, 0.86, 0.16, 1) both;
}

.energy-core:hover:not(.is-bursting):not(.is-charging) .core-current-green,
.energy-core.is-charging .core-current-green {
  --mesh-x: -2px;
  --mesh-y: -1px;
  --mesh-rotate: 0.35deg;
  --mesh-scale: 1.018;
  animation:
    coreCurrentFlow 1.24s cubic-bezier(0.36, 0, 0.2, 1) infinite,
    greenMeshTremor 150ms linear infinite;
}

.energy-core:hover:not(.is-bursting):not(.is-charging) .core-current-blue,
.energy-core.is-charging .core-current-blue {
  --mesh-x: 2px;
  --mesh-y: 1px;
  --mesh-rotate: -0.35deg;
  --mesh-scale: 1.018;
  animation:
    coreCurrentFlow 1.24s cubic-bezier(0.36, 0, 0.2, 1) -0.46s infinite,
    blueMeshTremor 150ms linear infinite;
}

.energy-core:hover .electric-brick,
.energy-core.is-bursting .electric-brick,
.energy-core.is-charging .electric-brick {
  animation-duration: 3.2s;
}

.energy-core.is-bursting .electric-brick {
  filter: brightness(1.28) drop-shadow(0 0 10px currentColor);
}

.electric-bricks {
  z-index: 4;
}

.electric-brick {
  position: absolute;
  left: var(--left);
  top: var(--top);
  z-index: 3;
  width: var(--width);
  height: var(--height);
  object-fit: contain;
  opacity: 0;
  transform-origin: 50% 50%;
  animation: brickChargeWave 4.2s cubic-bezier(0.18, 0.72, 0.22, 1) infinite;
  animation-delay: var(--delay);
  will-change: left, top, opacity, transform, filter;
}

.electric-brick-green {
  color: #24d978;
  filter: drop-shadow(0 0 4px rgba(69, 211, 141, 0.36));
}

.electric-brick-blue {
  color: #006eff;
  filter: drop-shadow(0 0 4px rgba(24, 213, 223, 0.36));
}

.orbit-vector {
  position: absolute;
  left: var(--orbit-center-x);
  top: var(--orbit-center-y);
  width: var(--orbit-width);
  height: var(--orbit-height);
  overflow: visible;
  pointer-events: none;
  transform: translate(-50%, -50%) rotate(var(--orbit-tilt));
  transform-origin: 50% 50%;
}

.orbit-vector-back {
  z-index: 2;
  opacity: 0.76;
  mix-blend-mode: screen;
}

.orbit-vector-front {
  z-index: 7;
  opacity: 1;
  mix-blend-mode: screen;
}

.orbit-vector-line {
  fill: none;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}

.orbit-vector-line-back {
  stroke: url("#orbitVectorStroke");
  stroke-width: 3.2;
  filter: url("#orbitVectorGlow");
}

.orbit-vector-line-front {
  stroke: rgba(255, 255, 255, 0.92);
  stroke-width: 4.8;
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.92)) drop-shadow(0 0 22px rgba(24, 213, 223, 0.48));
  animation: vectorHighlight 5.6s ease-in-out infinite;
}

.orbit-vector-line-front-a {
  stroke-dasharray: 210 790;
  stroke-dashoffset: 102;
}

.orbit-vector-line-front-b {
  stroke: rgba(169, 247, 255, 0.78);
  stroke-width: 3;
  stroke-dasharray: 132 868;
  stroke-dashoffset: 690;
  animation-delay: -2.4s;
}

.orbit-ring {
  position: absolute;
  border: 3px solid rgba(255, 255, 255, 0.74);
  border-radius: 50%;
  box-shadow: 0 0 42px rgba(24, 213, 223, 0.18);
  animation: orbitPulse 6s ease-in-out infinite;
}

.ring-a {
  --ring-rotate: -16deg;
  width: 760px;
  height: 230px;
  right: 12vw;
  top: 26vh;
  transform: rotate(-16deg);
}

.ring-b {
  --ring-rotate: 18deg;
  width: 520px;
  height: 160px;
  right: 30vw;
  bottom: 16vh;
  transform: rotate(18deg);
  opacity: 0.58;
}

.orbit-node {
  position: absolute;
  left: var(--orbit-center-x);
  top: var(--orbit-center-y);
  z-index: 8;
  display: grid;
  place-items: center;
  width: 116px;
  height: 116px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, var(--blue-700), var(--cyan-400), var(--green-400));
  box-shadow: 0 14px 30px rgba(12, 82, 182, 0.24);
  font-size: 17px;
  font-weight: 800;
  text-align: center;
  line-height: 1.32;
  cursor: pointer;
  isolation: isolate;
  pointer-events: auto;
  transition: box-shadow 220ms ease, filter 220ms ease, scale 220ms ease;
  animation: nodeOrbit 30s linear infinite;
  will-change: transform, opacity, filter;
}

.orbit-node::before {
  position: absolute;
  inset: -10px;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, 0.76);
  border-radius: 50%;
  opacity: 0.7;
  content: "";
  animation: playPulse 3s ease-out infinite;
}

.orbit-node::after {
  display: none;
  position: absolute;
  left: 50%;
  bottom: -72px;
  width: max-content;
  max-width: 240px;
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(125deg, rgba(7, 93, 231, 0.92), rgba(24, 213, 223, 0.92));
  box-shadow: 0 18px 42px rgba(7, 93, 231, 0.22);
  font-size: 13px;
  line-height: 1.35;
  opacity: 0;
  transform: translate(-50%, 10px) scale(0.92);
  transition: opacity 180ms ease, transform 180ms ease;
  content: attr(data-detail);
  pointer-events: none;
}

.orbit-node:hover {
  z-index: 6;
  filter: saturate(1.16) brightness(1.08) !important;
  scale: 1;
  animation-play-state: paused;
  box-shadow: 0 28px 62px rgba(7, 93, 231, 0.32), 0 0 36px rgba(24, 213, 223, 0.46);
}

.orbit-node:hover::after {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.node-a {
  --orbit-scale: 1.04;
  background: #fff;
  color: var(--blue-900);
  box-shadow: inset 0 0 0 8px rgba(12, 136, 255, 0.16), var(--shadow);
  animation-delay: -2s;
}

.node-b {
  --orbit-scale: 1.18;
  width: 160px;
  height: 160px;
  background: linear-gradient(135deg, var(--green-400), var(--cyan-400));
  animation-delay: -9s;
  font-size: 14px;
}

.node-c {
  --orbit-scale: 0.82;
  width: 146px;
  height: 146px;
  background: linear-gradient(135deg, var(--blue-700), #8e6df5);
  animation-delay: -15s;
}

.node-d {
  width: 136px;
  height: 136px;
  font-size: 14px;
  --orbit-scale: 0.98;
  background: linear-gradient(135deg, #0abfd6, var(--green-400));
  animation-delay: -21s;
}

.node-e {
  --orbit-scale: 0.88;
  width: 130px;
  height: 130px;
  background: linear-gradient(135deg, var(--rose-400), var(--amber-400));
  animation-delay: -26s;
}

.node-h {
  --orbit-scale: 1;
  width: 94px;
  height: 94px;
  background: linear-gradient(135deg, var(--rose-400), var(--amber-400));
  animation-delay: -5s;
  font-size: 14px;
}

.countdown-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: -52px auto 0;
  width: min(1180px, calc(100% - 42px));
  position: relative;
  z-index: 5;
  overflow: hidden;
  border-radius: var(--radius);
  background: rgba(12, 74, 166, 0.14);
  box-shadow: var(--shadow);
}

.countdown-strip > div {
  padding: 24px 18px;
  background: rgba(255, 255, 255, 0.86);
  text-align: center;
}

.countdown-strip > div,
.hero-meta span,
.capability-grid div,
.zone-grid article,
.ecosystem-board article,
.service-grid a,
.partner-columns div,
.venue-stats span {
  position: relative;
  overflow: hidden;
}

.countdown-strip span {
  display: inline-block;
  color: var(--blue-900);
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 900;
}

.countdown-strip small {
  margin-left: 4px;
  color: var(--cyan-400);
  font-size: 18px;
  font-weight: 800;
}

.countdown-strip p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}

.use-reveal .section,
.use-reveal .countdown-strip {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity 700ms ease, transform 700ms ease;
}

.use-reveal .section.is-visible,
.use-reveal .countdown-strip.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.section {
  width: min(1240px, calc(100% - 44px));
  margin: 0 auto;
  padding: 40px 0;
  scroll-margin-top: 104px;
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(190px, 300px) minmax(0, 760px);
  align-items: end;
  gap: 42px;
  margin-bottom: 42px;
}

.compact-heading {
  grid-template-columns: minmax(190px, 280px) minmax(0, 680px);
}

.section-label {
  margin: 0;
  color: rgba(22, 34, 61, 0.74);
  font-size: clamp(20px, 3vw, 38px);
  font-weight: 800;
  white-space: nowrap;
}

.section-heading h2,
.register-copy h2 {
  margin: 0;
  color: var(--blue-950);
  font-size: clamp(28px, 4vw, 54px);
  line-height: 1.12;
}

.motion-section {
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1fr);
  align-items: center;
  gap: 34px;
}


.motion-copy {
  margin: 18px 0 0;
  color: #444547;
  font-size: 16px;
  line-height:2;
  text-indent: 2em;
}

.motion-copy h2 {
  margin: 18px 0 0;
  color: var(--blue-950);
  font-size: clamp(28px, 4vw, 54px);
  line-height: 1.12;
}

.motion-years {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.motion-years button {
  height: 38px;
  padding: 0 18px;
  border: 1px solid rgba(12, 88, 210, 0.16);
  border-radius: 999px;
  color: rgba(12, 45, 120, 0.62);
  background: rgba(255, 255, 255, 0.58);
  font-weight: 800;
  cursor: pointer;
  transition: transform 180ms ease, color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.motion-years button:hover,
.motion-years button.is-active {
  color: #fff;
  background: linear-gradient(135deg, var(--blue-700), var(--cyan-400));
  box-shadow: 0 14px 32px rgba(7, 93, 231, 0.18);
  transform: translateY(-2px);
}

.motion-stage {
  position: relative;
  min-height: 250px;
  overflow: hidden;
  border-radius: var(--radius);
  isolation: isolate;
  cursor: pointer;
}

.motion-stage img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.1) contrast(1.04);
  transform: scale(1.04);
  transition: transform 900ms ease, filter 900ms ease;
}

.motion-stage:hover img {
  transform: scale(1.14);
  filter: saturate(1.24) contrast(1.08);
}

.motion-stage::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
}

.motion-stage::after {
  position: absolute;
  inset: -30% 20% auto auto;
  z-index: 2;
  width: 58%;
  height: 160%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.26), transparent);
  content: "";
  transform: translateX(-140%) rotate(12deg);
  animation: scanSweep 5s ease-in-out infinite;
}

.stage-overlay {
  position: absolute;
  left: 34px;
  bottom: 34px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 18px;
  color: #fff;
}

.play-mark {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 74px;
  height: 74px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.46), 0 0 32px rgba(24, 213, 223, 0.38);
}

.play-mark::before {
  width: 0;
  height: 0;
  margin-left: 5px;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 17px solid #fff;
  content: "";
}

.play-mark::after {
  position: absolute;
  inset: -10px;
  border: 1px solid rgba(255, 255, 255, 0.36);
  border-radius: 50%;
  animation: playPulse 2.4s ease-out infinite;
  content: "";
}

.stage-overlay strong {
  display: block;
  font-size: 30px;
}

.stage-overlay p {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 700;
}

.stage-track {
  position: absolute;
  right: 24px;
  top: 24px;
  z-index: 3;
  display: grid;
  gap: 10px;
}

.stage-track span {
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.82);
  background: rgba(255, 255, 255, 0.12);
  font-size: 13px;
  font-weight: 800;
  backdrop-filter: blur(10px);
}

.overview-grid,
.agenda-layout,
.expo-intro,
.venue-grid,
.partner-columns {
  background: var(--glass);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 22px 56px rgba(14, 62, 138, 0.1);
  backdrop-filter: blur(14px);
}

.overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
  gap: 34px;
  padding: clamp(24px, 5vw, 50px);
}

.lead-panel p {
  margin: 0 0 18px;
  color: #2a3a5c;
  font-size: 18px;
  line-height: 1.82;
}

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

.capability-grid div {
  min-height: 118px;
  padding: 22px;
  border: 1px solid rgba(12, 136, 255, 0.14);
  border-radius: 8px;
  background:
    radial-gradient(circle at right top, rgba(24, 213, 223, 0.18), transparent 6rem),
    rgba(255, 255, 255, 0.72);
}

.capability-grid strong {
  display: block;
  color: var(--blue-900);
  font-size: 22px;
}

.capability-grid span {
  display: block;
  margin-top: 12px;
  color: var(--muted);
  font-weight: 700;
}

.conference-section {
  width: min(1320px, calc(100% - 44px));
}

.agenda-layout {
  display: grid;
  grid-template-columns: minmax(340px, 0.55fr) 82px minmax(0, 1fr);
  gap: 28px;
  padding: 34px;
}

.agenda-visual {
  overflow: hidden;
  border-radius: 8px;
  min-height: 390px;
}

.agenda-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.agenda-tabs {
  display: grid;
  align-content: start;
  gap: 10px;
}

.tab {
  height: 58px;
  border: 1px solid rgba(7, 93, 231, 0.16);
  border-radius: 8px;
  color: var(--blue-900);
  background: rgba(255, 255, 255, 0.64);
  font-size: 17px;
  font-weight: 900;
  cursor: pointer;
}

.tab.is-active {
  color: #fff;
  background: linear-gradient(135deg, var(--blue-700), var(--cyan-400));
}

.agenda-list {
  display: grid;
  gap: 0;
}

.agenda-item {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 26px;
  padding: 23px 0;
  border-bottom: 1px solid rgba(22, 34, 61, 0.12);
}

.agenda-item time {
  color: rgba(22, 34, 61, 0.58);
  font-size: 25px;
  font-weight: 500;
}

.agenda-item h3 {
  margin: 0 0 8px;
  color: #203050;
  font-size: clamp(18px, 2vw, 25px);
}

.agenda-item p {
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}

.is-hidden {
  display: none;
}

.expo-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(320px, 0.9fr);
  align-items: center;
  gap: 36px;
  padding: 28px;
  margin-bottom: 22px;
}

.expo-intro p {
  margin: 0;
  color: #2a3a5c;
  font-size: 20px;
  line-height: 1.72;
}

.expo-intro img {
  width: 100%;
  border-radius: 8px;
  border: 1px solid var(--line);
}



.zone-img-h5{display: none}
.zone-img-web{display: block;}

.zone-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px; /* 间距可改 */
}

/* 第 5 个盒子：横跨 2 列 */
.zone-grid article:nth-child(5) {
  grid-column: 2 / span 2;
}

/* 第 6 个隐藏且不占位 */
.zone-grid article:nth-child(6) {
  display: none ;
}

.zone-img{
  position: relative;
  top: 0;
  left: 0;
  overflow: hidden; /* 隐藏溢出动画部分 */
}
.zone-img-bg{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #000;
  opacity: 0.6;
  z-index: 190;
  
  /* 动画初始状态：从下方进来 */
  transform: translateY(100%);
  transition: transform 0.4s ease;
}
.zone-img-div{
  position:absolute;
  top: 0;
  left: 0;
  padding:15px;
  font-size: 16px;
  text-align: left;
  line-height: 1.5;
  z-index: 200;
  color: #fff;

  /* 文字同样从下往上 */
  transform: translateY(40px);
  opacity: 0;
  transition: all 0.4s ease 0.1s;
}
/* 鼠标悬浮触发回归原位 */
.zone-img:hover .zone-img-bg{
  transform: translateY(0);
}
.zone-img:hover .zone-img-div{
  transform: translateY(0);
  opacity: 1;
}


.zone-grid article {
  min-height: 218px;
  padding-bottom: 15px;
  border: 1px solid rgba(12, 136, 255, 0.16);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.72);
  border-radius: 20px;
  
}
.zone-grid article img{width: 100%;aspect-ratio: 4 / 3}

.zone-grid b,
.ecosystem-board span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 30px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, var(--blue-700), var(--green-400));
  font-size: 14px;
}

.zone-grid h3,
.ecosystem-board h3 {
  margin: 20px 0 10px;
  color: var(--blue-900);
  font-size: 22px;
}

.zone-grid p,
.ecosystem-board p {
    margin: 0;
    color: #000;
    line-height: 1.68;
    margin-top: 10px;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
}

.community-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1fr);
  gap: 24px;
}

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

.brief-card,
.news-carousel {
  border: 1px solid rgba(12, 136, 255, 0.16);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 22px 52px rgba(14, 62, 138, 0.08);
}

.brief-card {
  position: relative;
  overflow: hidden;
  padding: 24px 26px;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.brief-card::before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--blue-700), var(--cyan-400), var(--green-400));
  opacity: 0;
  content: "";
}

.brief-card:hover,
.brief-card.is-active {
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 24px 58px rgba(7, 93, 231, 0.12);
  transform: translateX(4px);
}

.brief-card:hover::before,
.brief-card.is-active::before {
  opacity: 1;
}

.brief-card time {
  color: var(--cyan-400);
  font-size: 13px;
  font-weight: 900;
}

.brief-card h3 {
  margin: 12px 0 10px;
  color: var(--blue-900);
  font-size: 22px;
}

.brief-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.news-carousel {
  position: relative;
  min-height: 440px;
  overflow: hidden;
  padding: 28px;
  background:
    radial-gradient(circle at 90% 14%, rgba(24, 213, 223, 0.2), transparent 11rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(235, 248, 255, 0.76));
}

.news-track {
  display: flex;
  gap: 18px;
  width: max-content;
  animation: newsMarquee 22s linear infinite;
}

.news-carousel:hover .news-track {
  animation-play-state: paused;
}

.news-track article {
  display: grid;
  align-content: end;
  width: 290px;
  min-height: 340px;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 8px;
  color: #fff;
  background:
    linear-gradient(160deg, rgba(7, 93, 231, 0.92), rgba(24, 213, 223, 0.74) 56%, rgba(69, 211, 141, 0.84)),
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.62), transparent 10rem);
  box-shadow: 0 18px 42px rgba(7, 93, 231, 0.16);
  transition: filter 180ms ease, scale 180ms ease;
}

.news-track article:hover {
  filter: saturate(1.16);
  scale: 1.04;
}

.news-track article:nth-child(2) {
  background: linear-gradient(160deg, rgba(11, 45, 120, 0.92), rgba(142, 109, 245, 0.8), rgba(24, 213, 223, 0.72));
}

.news-track article:nth-child(3) {
  background: linear-gradient(160deg, rgba(0, 137, 157, 0.92), rgba(69, 211, 141, 0.78), rgba(242, 184, 75, 0.72));
}

.news-track article:nth-child(4) {
  background: linear-gradient(160deg, rgba(240, 110, 141, 0.9), rgba(242, 184, 75, 0.76), rgba(24, 213, 223, 0.72));
}

.news-track span {
  width: 46px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  margin-bottom: 90px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  font-weight: 900;
}

.news-track strong {
  font-size: 24px;
}

.news-track p {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.84);
  line-height: 1.65;
}

.carousel-dots {
  position: absolute;
  left: 28px;
  bottom: 24px;
  display: flex;
  gap: 8px;
}

.carousel-dots span {
  width: 28px;
  height: 3px;
  border-radius: 999px;
  background: rgba(12, 45, 120, 0.18);
}

.carousel-dots span.is-active {
  background: linear-gradient(90deg, var(--blue-700), var(--cyan-400));
}

.camp-section {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, 0.55fr) minmax(0, 1fr);
  align-items: center;
  gap: 42px;
  width: min(1320px, calc(100% - 44px));
}

.camp-copy h2 {
  margin: 18px 0 0;
  color: var(--blue-950);
  font-size: clamp(30px, 4.3vw, 58px);
  line-height: 1.12;
}

.camp-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 34px;
}

.camp-stats div {
  padding: 18px 14px;
  border: 1px solid rgba(12, 136, 255, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 18px 42px rgba(14, 62, 138, 0.08);
}

.camp-stats strong {
  display: block;
  color: var(--blue-900);
  font-size: clamp(28px, 3.3vw, 48px);
  line-height: 1;
}

.camp-stats span {
  display: block;
  margin-top: 10px;
  color: var(--muted);
  font-weight: 800;
}

.camp-field {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  border: 1px solid rgba(12, 136, 255, 0.14);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 64% 48%, rgba(255, 255, 255, 0.88), transparent 5rem),
    radial-gradient(circle at 72% 42%, rgba(24, 213, 223, 0.18), transparent 16rem),
    radial-gradient(circle at 26% 76%, rgba(142, 109, 245, 0.14), transparent 15rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(236, 248, 255, 0.76));
  box-shadow: var(--shadow);
  isolation: isolate;
}

.camp-field::before {
  position: absolute;
  left: 50%;
  top: 52%;
  z-index: -1;
  width: 640px;
  height: 320px;
  border: 1px solid rgba(255, 255, 255, 0.88);
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(24, 213, 223, 0.12), 0 0 70px rgba(24, 213, 223, 0.16);
  content: "";
  transform: translate(-50%, -50%) rotate(-15deg);
}

.camp-field::after {
  position: absolute;
  left: 42%;
  top: 43%;
  z-index: -1;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.88), rgba(24, 213, 223, 0.24) 28%, rgba(142, 109, 245, 0.2) 50%, transparent 70%);
  filter: blur(1px);
  content: "";
  animation: coreFloat 7s ease-in-out infinite;
}

.camp-orbit-line {
  position: absolute;
  left: 16%;
  right: 8%;
  top: 54%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(24, 213, 223, 0.5), rgba(255, 255, 255, 0.78), rgba(142, 109, 245, 0.45), transparent);
  transform: rotate(-15deg);
}

.camp-orbit-line::before,
.camp-orbit-line::after {
  position: absolute;
  top: -18px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.95), rgba(24, 213, 223, 0.12));
  box-shadow: 0 0 24px rgba(24, 213, 223, 0.46);
  content: "";
  animation: lightTravel 7s linear infinite;
}

.camp-orbit-line::after {
  animation-delay: -3.5s;
}

.camp-avatars {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.speaker-bubble {
  position: absolute;
  display: block;
  width: var(--size, 112px);
  height: var(--size, 112px);
  border-radius: 50%;
  cursor: pointer;
  outline: none;
  transform: translate3d(0, 0, 0);
  animation: avatarDrift var(--dur, 8s) ease-in-out infinite;
  animation-delay: var(--delay, 0s);
}

.speaker-bubble img {
  width: 100%;
  height: 100%;
  border: 7px solid rgba(255, 255, 255, 0.78);
  border-radius: 50%;
  object-fit: cover;
  background: #fff;
  box-shadow: 0 18px 36px rgba(7, 93, 231, 0.16);
  transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}

.speaker-bubble::before {
  position: absolute;
  inset: -9px;
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 50%;
  box-shadow: 0 0 18px rgba(24, 213, 223, 0.2);
  content: "";
  animation: playPulse 3s ease-out infinite;
}

.speaker-bubble div {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 14px);
  z-index: 4;
  width: max-content;
  max-width: 220px;
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: 999px;
  background: linear-gradient(125deg, rgba(7, 93, 231, 0.92), rgba(24, 213, 223, 0.9));
  box-shadow: 0 16px 36px rgba(7, 93, 231, 0.18);
  color: #fff;
  opacity: 0;
  pointer-events: none;
  text-align: center;
  transform: translate(-50%, 10px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.speaker-bubble div::after {
  position: absolute;
  left: 50%;
  top: 100%;
  width: 0;
  height: 0;
  border-top: 8px solid rgba(24, 213, 223, 0.9);
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  content: "";
  transform: translateX(-50%);
}

.speaker-bubble strong,
.speaker-bubble span {
  display: block;
  white-space: nowrap;
}

.speaker-bubble span {
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 700;
}

.speaker-bubble:hover,
.speaker-bubble:focus {
  z-index: 5;
  animation-play-state: paused;
}

.speaker-bubble:hover img,
.speaker-bubble:focus img {
  border-color: #fff;
  box-shadow: 0 24px 52px rgba(7, 93, 231, 0.26), 0 0 28px rgba(24, 213, 223, 0.38);
  transform: scale(1.34);
}

.speaker-bubble:hover div,
.speaker-bubble:focus div {
  opacity: 1;
  transform: translate(-50%, 0);
}

.b1 { --size: 138px; --dur: 8s; --delay: -0.8s; left: 49%; top: 36%; }
.b2 { --size: 122px; --dur: 9s; --delay: -1.8s; left: 18%; top: 20%; }
.b3 { --size: 148px; --dur: 8.5s; --delay: -3s; left: 68%; top: 18%; }
.b4 { --size: 104px; --dur: 7.8s; --delay: -2.2s; left: 9%; top: 56%; }
.b5 { --size: 118px; --dur: 10s; --delay: -4s; left: 35%; top: 14%; }
.b6 { --size: 128px; --dur: 8.8s; --delay: -5s; left: 74%; top: 54%; }
.b7 { --size: 98px; --dur: 7.5s; --delay: -3.2s; left: 30%; top: 66%; }
.b8 { --size: 112px; --dur: 9.5s; --delay: -4.8s; left: 56%; top: 68%; }
.b9 { --size: 84px; --dur: 8.4s; --delay: -2.6s; left: 84%; top: 34%; }
.b10 { --size: 90px; --dur: 9.2s; --delay: -5.6s; left: 6%; top: 32%; }
.b11 { --size: 94px; --dur: 8.2s; --delay: -1.2s; left: 43%; top: 76%; }
.b12 { --size: 86px; --dur: 8.7s; --delay: -3.8s; left: 84%; top: 72%; }
.b13 { --size: 92px; --dur: 9.8s; --delay: -6s; left: 22%; top: 80%; }
.b14 { --size: 78px; --dur: 7.4s; --delay: -2s; left: 62%; top: 8%; }

.venue-section {
  width: min(1320px, calc(100% - 44px));
}

.venue-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 18px;
  padding: 22px;
}

.venue-grid figure {
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #e8f1fb;
}

.venue-grid figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.venue-main {
  min-height: 360px;
}

.venue-copy {
  display: grid;
  align-content: center;
  padding: 26px;
  border-radius: 8px;
  background:
    radial-gradient(circle at 92% 12%, rgba(242, 184, 75, 0.16), transparent 9rem),
    rgba(255, 255, 255, 0.66);
}

.venue-copy p {
  margin: 0 0 24px;
  color: #2a3a5c;
  font-size: 18px;
  line-height: 1.75;
}

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

.venue-stats span {
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px solid rgba(12, 136, 255, 0.14);
  border-radius: 8px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.72);
  font-weight: 700;
}

.venue-stats strong {
  color: var(--blue-900);
  font-size: 26px;
}

.venue-grid figure:nth-of-type(3),
.venue-grid figure:nth-of-type(4),
.venue-grid figure:nth-of-type(5) {
  min-height: 220px;
}

.ecosystem-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.ecosystem-board article {
  min-height: 290px;
  padding: 28px;
  border: 1px solid rgba(12, 136, 255, 0.16);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(240, 249, 255, 0.72)),
    radial-gradient(circle at bottom right, rgba(69, 211, 141, 0.2), transparent 9rem);
  box-shadow: 0 22px 52px rgba(14, 62, 138, 0.08);
}

.zone-grid article:hover h3,
.ecosystem-board article:hover h3,
.service-grid a:hover strong,
.partner-columns div:hover h3 {
  color: var(--blue-700);
}

.zone-grid article:hover b,
.ecosystem-board article:hover span {
  transform: scale(1.12);
  box-shadow: 0 10px 26px rgba(7, 93, 231, 0.2);
}

.register-section {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1fr);
  align-items: center;
  gap: 34px;
  padding: 54px;
  border-radius: var(--radius);
  color: #fff;
  background:
    linear-gradient(135deg, rgba(7, 24, 63, 0.88), rgba(7, 93, 231, 0.78)),
    url("./assets/site/kv-clean.jpg") center / cover;
  box-shadow: var(--shadow);
}

.register-section .section-label,
.register-section .section-label span,
.register-copy h2 {
  color: #fff;
}

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

.service-grid a {
  display: grid;
  min-height: 126px;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.12);
  transition: background 180ms ease, box-shadow 180ms ease;
}

.service-grid a:hover {
  background: rgba(255, 255, 255, 0.2);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22), 0 22px 48px rgba(7, 24, 63, 0.18);
}

.service-grid strong {
  font-size: 22px;
}

.service-grid span {
  align-self: end;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.55;
}

.partner-columns {
  display: grid;
  grid-template-columns: 1.8fr 1.3fr 1.3fr;
  gap: 1px;
  overflow: hidden;
  background: rgba(12, 74, 166, 0.14);
}

.partner-columns div {
  padding: 28px;
  background: rgba(255, 255, 255, 0.82);
}

.partner-columns h3 {
  margin: 0 0 16px;
  color: var(--blue-900);
  font-size: 22px;
}

.partner-columns p {
  margin: 0 0 12px;
  color: #38486a;
  line-height: 1.65;
}


.footer_div{width: 1000px;margin:0 auto;display: flex;align-items: center;
  justify-content: space-between;}
.site-footer {
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 40px;
  padding: 20px clamp(22px, 6vw, 96px);
  border-top: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.78);
  
}

.site-footer img {
  width: 270px;
}

.site-footer p {
  text-align: left;
  margin: 8px 0 0;
  color: var(--muted);
  font-weight:normal;
  font-size: 14px;
}

.site-footer p:first-child {
font-size: 18px;
margin-left: -10px;
}

.site-footer strong {
  font-size: 26px;
}

.site-footer span {
  color: var(--muted);
  font-weight: 700;
}

.tittle_h2{font-size: 44px; color: #082c7a; line-height: 40px; position: relative;text-align: center;font-weight: bold;margin-top:90px;margin-bottom: 40px;}
.tittle_h2 .tittle_bg_h2{width: 178px;height: 12px;margin:0 auto;background: linear-gradient(90deg, #cff2ec, #adeffd);display: block;margin-top: 5px;}

/* ========== 核心：父容器全屏 + 垂直居中 ========== */
.tacheng_map {
  position: relative;
  width: 100%;
  min-height: 1000px;
  overflow: hidden;
}

/* ========== 内容居中 wrapper（最关键） ========== */
.tacheng_content_wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1000px;
  z-index: 9990;
}

/* ========== 两个内容块 居中 ========== */
.tacheng_div3,
.tacheng_div1 {
  position: relative;
  width: 1000px;
  margin: 0 auto;
 
  display: none; /* 默认隐藏 */
}
.tacheng_div1:nth-child(1) {
  display: block;
}

/* ========== 背景渐变 ========== */
.tacheng_map_bg {
  background: linear-gradient(to top, #006eff, transparent);
  position: absolute;
  bottom: 0;
  left: 0;
  min-height: 600px;
  width: 100%;
  z-index: 8888;
}

/* ========== 半透明背景 ========== */
.tacheng_bg1_di {
  width: 100%;
  height: 300px;
  background: #323f55;
  padding: 6% 8%;
  opacity: 0.6;
  margin-top: 20px;
  position: absolute;top: 0;left: 0;
}

/* ========== 文字内容 ========== */
.tacheng_p {
    font-size: 16px;
  line-height: 2;
  letter-spacing: 0.02em;
  max-width: 100%;
  margin-top:20px;
  line-height: 2.5;
  color: #fff;
  box-sizing: border-box;
  position: relative;top: 0;left: 0;
  z-index: 9999;
   height: 300px;
    padding: 6% 8%;
}

.tacheng_h2 {
  width: 100%;
  margin-top: 100px;
}
.tacheng_h2 h2 {
  font-size: 36px;
  color: #fff;
  margin: 0 0 10px 0;
}
.tacheng_h2 h3 {
  font-size: 20px;
  color: #fff;
  margin: 0 0 15px 0;
}

.tacheng-meta {
  display: flex;
  gap: 20px;
}
.tacheng-meta img {
  width: 20px;
  height: 20px;
}
.icon_t1,
.icon_d1 {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 14px;
}
/* 整体容器，16:9 比例 */
.venue-banner {
  position: relative;
  width: 100%;
  max-width: 2775px;
  margin: 0 auto;
  overflow: hidden;
  color: #fff;
  font-family: "Microsoft YaHei", sans-serif;
}

/* 背景图 + 半透明遮罩 */
.venue-banner-bg {
  position: absolute;
  inset: 0;
  background: url("你的背景图地址.jpg") center center / cover no-repeat;
}
.venue-banner-overlay {
  position: absolute;
  inset: 0;
  opacity: 0.6;
  background: #323f55;
   height: 382px;
}

/* 内容容器 */
.venue-banner-content {
  position: relative;
  z-index: 1;
  padding: 6% 8%;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;

}

/* 顶部数据项 */
.venue-data-list {
  display: flex;
  justify-content: space-between;
  max-width: 90%;
}
.venue-data-item {
  text-align: left;
}
.venue-data-num {
  font-size: 50px;
  font-weight: 300;
  line-height: 1;
}
.venue-data-label {
  font-size: 20px;
  margin-top: 8px;
  line-height: 1.2;
}

/* 下方正文段落 */
.venue-desc {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.02em;
  max-width: 95%;
  margin-top:20px;
}
/* ========== 按钮组 居中 ========== */
.tacheng_list_btn {
  position: absolute;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  width: 1000px;
  z-index: 9999;
  display: flex;
  gap: 20px;
  cursor: pointer;
  /* 加过渡动画 */
  transition: all 0.3s ease;
}
.tacheng_list_btn .tacheng_btn1 {
  flex: 1;
  font-size: 20px;
  color: #fff;
  text-align:center;
  cursor: pointer;
   color: #fff;
  transform: translateY(-6px) scale(1.05);
  text-shadow: 0 0 15px rgba(0, 198, 255, 0.6);
}
.tacheng_list_btn .active {
  color: #00c6ff;
  font-weight: bold;
  font-weight:bold;
  text-shadow: 0 0 12px rgba(0, 198, 255, 0.5);
}

/* ========== 6图 2行3列 ========== */
.tacheng_gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.tacheng_gallery_item {
  width: 100%;
}
.tacheng_img_box {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 10px;
  position: relative;
  top: 0;left: 0;
  overflow: hidden;
}

.tacheng-img-div {
  width: 100%;
  height: 100%;
  text-align: left;
  font-size: 14px;
  color: #fff;
  line-height: 1.5;
  padding: 15px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 201;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  
  /* 初始在下方 */
  transform: translateY(100%);
  transition: transform 0.5s ease;
}

/* 黑色遮罩：从下往上 */
.tacheng-img-bg {
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 200;
  
  /* 初始在下方 */
  transform: translateY(100%);
  transition: transform 0.4s ease;
}

/* 鼠标悬浮 → 从下往上滑出来 */
.tacheng_img_box:hover .tacheng-img-div,
.tacheng_img_box:hover .tacheng-img-bg {
  transform: translateY(0);
}
.tacheng_img_box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tacheng_img_text {
  text-align: center;
  font-size: 14px;
  color: #fff;
  padding-bottom: 10px;
}

/* ========== 视频 ========== */
.tacheng_map video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.tacheng_gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.tacheng_gallery_item {
  width: 100%;
}

/* 16:9 图片比例 */
.tacheng_img_box {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 10px;
}
.tacheng_img_box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 图片下方文字 */
.tacheng_img_text {
  text-align: center;
  font-size: 16px;
  color: #fff;
}
.tacheng_img_text a{ font-size: 16px;
  color: #fff;}

/* 进入视口激活样式 */
.reveal-block.is-show {
  opacity: 1;
  transform: translateY(0);
}



/* 视频 */
.tacheng_map video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}



@keyframes coreFloat {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  50% {
    transform: translate3d(0, -16px, 0) scale(1.03);
  }
}

@keyframes coreFloatCentered {
  0%,
  100% {
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    transform: translate(-50%, calc(-50% - 16px)) scale(1.03);
  }
}

@keyframes coreCharge {
  0%,
  100% {
    filter: drop-shadow(0 16px 28px rgba(7, 93, 231, 0.16)) drop-shadow(0 0 16px rgba(24, 213, 223, 0.28)) saturate(1.02);
  }
  50% {
    filter: drop-shadow(0 18px 34px rgba(7, 93, 231, 0.2)) drop-shadow(0 0 30px rgba(24, 213, 223, 0.42)) drop-shadow(0 0 24px rgba(69, 211, 141, 0.34)) saturate(1.06);
  }
}

@keyframes chargePulse {
  0% {
    opacity: 0;
    transform: scale(0.72);
  }
  42% {
    opacity: 0.68;
  }
  100% {
    opacity: 0;
    transform: scale(1.26);
  }
}

@keyframes coreBloom {
  0%,
  100% {
    opacity: 0.34;
    transform: scale(0.72) rotate(0deg);
  }
  50% {
    opacity: 0.82;
    transform: scale(1.04) rotate(18deg);
  }
}

@keyframes coreGreenPulse {
  0%,
  100% {
    opacity: 0.92;
    filter: drop-shadow(0 0 14px rgba(69, 211, 141, 0.32)) drop-shadow(0 12px 22px rgba(0, 120, 170, 0.12)) saturate(1.06);
  }
  50% {
    opacity: 1;
    filter: drop-shadow(0 0 26px rgba(69, 211, 141, 0.58)) drop-shadow(0 0 16px rgba(91, 231, 255, 0.28)) saturate(1.16);
  }
}

@keyframes coreBluePulse {
  0%,
  100% {
    opacity: 0.92;
    filter: drop-shadow(0 0 14px rgba(24, 213, 223, 0.32)) drop-shadow(0 12px 24px rgba(0, 64, 184, 0.16)) saturate(1.06);
  }
  50% {
    opacity: 1;
    filter: drop-shadow(0 0 26px rgba(24, 213, 223, 0.6)) drop-shadow(0 0 16px rgba(91, 255, 202, 0.24)) saturate(1.16);
  }
}

@keyframes greenMeshIdle {
  0%,
  100% {
    transform: translate3d(-12px, -9px, 0) rotate(-1.1deg) scale(1);
  }
  50% {
    transform: translate3d(-15px, -11px, 0) rotate(-1.35deg) scale(1.006);
  }
}

@keyframes blueMeshIdle {
  0%,
  100% {
    transform: translate3d(12px, 9px, 0) rotate(1.1deg) scale(1);
  }
  50% {
    transform: translate3d(15px, 11px, 0) rotate(1.35deg) scale(1.006);
  }
}

@keyframes greenMeshSnap {
  0% {
    transform: translate3d(-16px, -12px, 0) rotate(-1.35deg) scale(0.992);
  }
  58% {
    transform: translate3d(-0.4px, -0.2px, 0) rotate(0.48deg) scale(1.028);
  }
  76% {
    transform: translate3d(-2.6px, -1.6px, 0) rotate(0.08deg) scale(1.014);
  }
  100% {
    transform: translate3d(-2px, -1px, 0) rotate(0.35deg) scale(1.018);
  }
}

@keyframes blueMeshSnap {
  0% {
    transform: translate3d(16px, 12px, 0) rotate(1.35deg) scale(0.992);
  }
  58% {
    transform: translate3d(0.4px, 0.2px, 0) rotate(-0.48deg) scale(1.028);
  }
  76% {
    transform: translate3d(2.6px, 1.6px, 0) rotate(-0.08deg) scale(1.014);
  }
  100% {
    transform: translate3d(2px, 1px, 0) rotate(-0.35deg) scale(1.018);
  }
}

@keyframes greenMeshTremor {
  0%,
  100% {
    transform: translate3d(-2px, -1px, 0) rotate(0.35deg) scale(1.018);
  }
  34% {
    transform: translate3d(-2.7px, -1.34px, 0) rotate(0.18deg) scale(1.02);
  }
  68% {
    transform: translate3d(-1.45px, -0.72px, 0) rotate(0.48deg) scale(1.016);
  }
}

@keyframes blueMeshTremor {
  0%,
  100% {
    transform: translate3d(2px, 1px, 0) rotate(-0.35deg) scale(1.018);
  }
  34% {
    transform: translate3d(2.7px, 1.34px, 0) rotate(-0.18deg) scale(1.02);
  }
  68% {
    transform: translate3d(1.45px, 0.72px, 0) rotate(-0.48deg) scale(1.016);
  }
}

@keyframes coreElectricBurst {
  0% {
    opacity: 0;
    clip-path: circle(2% at 50% 50%);
    transform: scale(0.34) rotate(-18deg);
  }
  34% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    clip-path: circle(58% at 50% 50%);
    transform: scale(1.18) rotate(26deg);
  }
}

@keyframes coreSparkBurst {
  0% {
    opacity: 0;
    transform: scale(0.45) rotate(4deg);
  }
  26% {
    opacity: 0.84;
  }
  100% {
    opacity: 0;
    transform: scale(1.24) rotate(50deg);
  }
}

@keyframes coreCurrentBurst {
  0% {
    opacity: 0;
    clip-path: circle(0% at 50% 50%);
    background-position: 60% 50%, -64% 110%, -150% 50%;
    filter: blur(0) drop-shadow(0 0 10px currentColor);
  }
  42% {
    opacity: 1;
    clip-path: circle(36% at 50% 50%);
    background-position: 48% 50%, 34% 36%, 24% 50%;
    filter: blur(0) drop-shadow(0 0 30px currentColor) drop-shadow(0 0 42px rgba(255, 255, 255, 0.58));
  }
  100% {
    opacity: 0.38;
    clip-path: circle(100% at 50% 50%);
    background-position: 28% 60%, 148% -32%, 220% 50%;
    filter: blur(0.15px) drop-shadow(0 0 14px currentColor);
  }
}

@keyframes coreCurrentFlow {
  0% {
    opacity: 0.08;
    clip-path: circle(0% at 50% 50%);
    background-position: 62% 45%, -42% 92%, -130% 50%;
  }
  18% {
    opacity: 0.48;
  }
  48% {
    opacity: 0.62;
    clip-path: circle(42% at 50% 50%);
    background-position: 48% 53%, 48% 34%, 36% 50%;
  }
  78% {
    opacity: 0.34;
    clip-path: circle(92% at 50% 50%);
    background-position: 36% 62%, 118% -16%, 168% 50%;
  }
  100% {
    opacity: 0.04;
    clip-path: circle(110% at 50% 50%);
    background-position: 24% 68%, 150% -42%, 240% 50%;
  }
}

@keyframes blueEatGreen {
  0%,
  8% {
    opacity: 0;
    clip-path: circle(0% at 42% 72%);
  }
  20% {
    opacity: 0.95;
    clip-path: circle(16% at 42% 72%);
  }
  42% {
    opacity: 0.96;
    clip-path: circle(48% at 42% 52%);
  }
  62% {
    opacity: 0.6;
    clip-path: circle(86% at 48% 35%);
  }
  74%,
  100% {
    opacity: 0;
    clip-path: circle(92% at 48% 35%);
  }
}

@keyframes greenEatBlue {
  0% {
    opacity: 0;
    clip-path: circle(0% at 58% 28%);
  }
  12% {
    opacity: 0;
    clip-path: circle(0% at 58% 28%);
  }
  25% {
    opacity: 0.95;
    clip-path: circle(18% at 58% 28%);
  }
  48% {
    opacity: 0.96;
    clip-path: circle(50% at 58% 48%);
  }
  68% {
    opacity: 0.58;
    clip-path: circle(88% at 52% 68%);
  }
  80%,
  100% {
    opacity: 0;
    clip-path: circle(94% at 52% 68%);
  }
}

@keyframes brickChargeWave {
  0% {
    left: 50%;
    top: 50%;
    opacity: 0;
    filter: blur(1px) brightness(1);
    transform: translate(-50%, -50%) scale(0.12);
  }
  18% {
    opacity: 0.2;
    filter: blur(0.4px) brightness(1.12);
    transform: translate(-50%, -50%) scale(0.34);
  }
  56% {
    left: var(--left);
    top: var(--top);
    opacity: 1;
    filter: blur(0) brightness(1.72) drop-shadow(0 0 8px currentColor);
    transform: scale(1.08);
  }
  78% {
    left: var(--left);
    top: var(--top);
    opacity: 0.88;
    filter: blur(0) brightness(1.35) drop-shadow(0 0 5px currentColor);
    transform: scale(1);
  }
  100% {
    left: var(--left);
    top: var(--top);
    opacity: 0;
    filter: blur(0.2px) brightness(1.1);
    transform: scale(1.16);
  }
}

@keyframes heroRadiate {
  0% {
    opacity: 0.12;
    transform: scale(0.76);
  }
  45% {
    opacity: 0.72;
  }
  100% {
    opacity: 0;
    transform: scale(1.22);
  }
}

@keyframes sweepFan {
  to {
    transform: rotate(360deg);
  }
}

@keyframes vectorHighlight {
  0%,
  100% {
    opacity: 0.64;
    stroke-width: 3.4;
  }
  45% {
    opacity: 1;
    stroke-width: 4.8;
  }
  70% {
    opacity: 0.82;
  }
}

@keyframes nodeOrbit {
  0% {
    z-index: 3;
    opacity: 0.68;
    filter: blur(0.7px) saturate(0.86) brightness(0.92);
    transform: translate(calc(-50% + clamp(280px, 24vw, 450px)), calc(-50% - clamp(52px, 4vw, 78px))) scale(calc(var(--orbit-scale, 1) * 0.82));
  }
  12% {
    z-index: 3;
    opacity: 0.6;
    filter: blur(0.9px) saturate(0.76) brightness(0.88);
    transform: translate(calc(-50% + clamp(220px, 17vw, 330px)), calc(-50% - clamp(118px, 10vw, 185px))) scale(calc(var(--orbit-scale, 1) * 0.76));
  }
  25% {
    z-index: 3;
    opacity: 0.52;
    filter: blur(1px) saturate(0.68) brightness(0.84);
    transform: translate(calc(-50% + clamp(38px, 3vw, 70px)), calc(-50% - clamp(150px, 13vw, 235px))) scale(calc(var(--orbit-scale, 1) * 0.72));
  }
  38% {
    z-index: 3;
    opacity: 0.58;
    filter: blur(0.85px) saturate(0.72) brightness(0.86);
    transform: translate(calc(-50% - clamp(210px, 16vw, 330px)), calc(-50% - clamp(104px, 9vw, 170px))) scale(calc(var(--orbit-scale, 1) * 0.76));
  }
  50% {
    z-index: 3;
    opacity: 0.64;
    filter: blur(0.55px) saturate(0.82) brightness(0.9);
    transform: translate(calc(-50% - clamp(300px, 24vw, 460px)), calc(-50% - clamp(8px, 1vw, 26px))) scale(calc(var(--orbit-scale, 1) * 0.84));
  }
  55% {
    z-index: 3;
  }
  55.01% {
    z-index: 8;
  }
  62% {
    z-index: 8;
    opacity: 0.9;
    filter: blur(0) saturate(1.04) brightness(1);
    transform: translate(calc(-50% - clamp(230px, 19vw, 360px)), calc(-50% + clamp(78px, 8vw, 150px))) scale(calc(var(--orbit-scale, 1) * 0.96));
  }
  76% {
    z-index: 8;
    opacity: 0.94;
    filter: blur(0) saturate(1.1) brightness(1.05);
    transform: translate(calc(-50% - clamp(38px, 3vw, 70px)), calc(-50% + clamp(118px, 11vw, 200px))) scale(calc(var(--orbit-scale, 1) * 1.04));
  }
  88% {
    z-index: 8;
    opacity: 1;
    filter: blur(0) saturate(1.12) brightness(1.08);
    transform: translate(calc(-50% + clamp(220px, 18vw, 350px)), calc(-50% + clamp(80px, 8vw, 150px))) scale(calc(var(--orbit-scale, 1) * 1.06));
  }
  93% {
    z-index: 8;
  }
  93.01% {
    z-index: 3;
  }
  100% {
    z-index: 3;
    opacity: 0.68;
    filter: blur(0.7px) saturate(0.86) brightness(0.92);
    transform: translate(calc(-50% + clamp(280px, 24vw, 450px)), calc(-50% - clamp(52px, 4vw, 78px))) scale(calc(var(--orbit-scale, 1) * 0.82));
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes spinReverse {
  to {
    transform: rotate(-360deg);
  }
}

@keyframes sparkle {
  0% {
    background-position: 0 0, 0 0, 0 0, 0 0;
    opacity: 0.56;
  }
  50% {
    opacity: 0.95;
  }
  100% {
    background-position: 44px 44px, -36px 36px, 54px -54px, -62px -62px;
    opacity: 0.56;
  }
}

@keyframes orbitPulse {
  0%,
  100% {
    opacity: 0.72;
    transform: rotate(var(--ring-rotate, 0deg)) scale(1);
  }
  50% {
    opacity: 1;
    transform: rotate(var(--ring-rotate, 0deg)) scale(1.02);
  }
}

@keyframes nodeFloat {
  0%,
  100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -12px;
  }
}

@keyframes scanSweep {
  0%,
  42% {
    transform: translateX(-140%) rotate(12deg);
  }
  72%,
  100% {
    transform: translateX(160%) rotate(12deg);
  }
}

@keyframes playPulse {
  0% {
    opacity: 0.8;
    transform: scale(0.9);
  }
  100% {
    opacity: 0;
    transform: scale(1.35);
  }
}

@keyframes newsMarquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes avatarDrift {
  0%,
  100% {
    translate: 0 0;
  }
  35% {
    translate: 12px -20px;
  }
  70% {
    translate: -10px 12px;
  }
}

@keyframes lightTravel {
  0% {
    left: 0;
    opacity: 0;
  }
  12%,
  76% {
    opacity: 1;
  }
  100% {
    left: calc(100% - 38px);
    opacity: 0;
  }
}

@keyframes ripplePop {
  0% {
    opacity: 0.64;
    transform: translate(-50%, -50%) scale(0);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(22);
  }
}

@media (max-width: 1024px) {
  .brand img{width: 200px;}
  .site-header {
    display: flex;
    grid-template-columns: 1fr auto;
  }
.auto-space {
  flex: 1;
}
  .event-pill{
    display: block;margin-right: 30px;
  }
.community-layout{display: flex;}
  .main-nav {
    grid-column: 1 / -1;
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .hero-copy {
    padding-top: 90px;
  }

  .hero-orbit {
    opacity: 1;
  }

  .agenda-layout,
  .overview-grid,
  .expo-intro,
  .venue-grid,
  .register-section,
  .motion-section,
  .camp-section,
  .community-layout {
    grid-template-columns: 1fr;
  }

  .agenda-layout {
    grid-template-columns: 1fr;
  }

  .agenda-tabs {
    grid-template-columns: repeat(3, 1fr);
  }

  .zone-grid,
  .ecosystem-board,
  .partner-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .camp-field {
    min-height: 560px;
  }
}

@media (max-width: 1000px) {
  .event-pill{display: none}
}

@media (max-width: 760px) {
  .cursor-aura {
    display: none;
  }

  .site-header {
    min-height: 76px;
    padding: 10px 16px;
  }

  .brand img {
    width: 230px;
  }

  .main-nav {
    width: calc(100vw - 32px);
    justify-content: flex-start;
    gap: 8px;
    overflow-x: auto;
    font-size: 11px;
    scrollbar-width: none;
  }

  .main-nav::-webkit-scrollbar {
    display: none;
  }

  .nav-menu {
    display: none;
  }

  .main-nav span,
  .section-label span {
    font-size: 1.35em;
  }

  .quick-rail {
    display: none;
  }

  .hero {
    min-height: 890px;
  }

  .hero-orbit {
    --orbit-center-x: calc(100vw - 63px);
    --orbit-center-y: 585px;
    --core-size: 230px;
  }

  .energy-core {
    left: var(--orbit-center-x);
    top: var(--orbit-center-y);
    right: auto;
    width: 230px;
    height: auto;
    opacity: 0.84;
  }

  .electric-brick {
    animation-duration: 4.6s;
  }

  .hero-copy {
    width: auto;
    padding: 64px 20px 0;
  }

  .hero h1 {
    font-size: 42px;
  }
.hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: #123c80;
  font-size: 18px;
  font-weight: 700;
}

.hero-meta span {
  padding: 10px 14px;
  padding-left: 25px;
}

.hero-actions {
  display: flex;
  gap: 14px;
  margin-top: 34px;
}
.tilt-target{position: relative;top: 0;left: 0;padding-left: px !important;text-align: center;}
.icon_t img{width: 20px;position:absolute;top: 12px;left: 0px;}
.icon_d img{width: 20px;position:absolute;top: 12px;left: 0px;}
.hero h1 {
  margin: 0;
  color: var(--blue-900);
  font-size: clamp(42px, 5.2vw, 72px);
  line-height: 1.08;
  letter-spacing: 0;
  text-shadow: 0 14px 34px rgba(255, 255, 255, 0.58);
}
  .hero-actions {
    flex-direction: column;
    width: min(260px, 100%);
  }

  .orbit-vector,
  .orbit-ring {
    display: none;
  }

  .orbit-node {
    left: auto;
    top: auto;
    width: 86px;
    height: 86px;
    font-size: 13px;
    animation: nodeFloat 6.5s ease-in-out infinite;
    transform: none;
  }

  .orbit-node::after {
    display: none;
  }

  .node-a {
    right: 16px;
    top: 520px;
  }

  .node-b {
    right: auto;
    left: 50%;
    bottom: 34px;
    width: 108px;
    height: 108px;
    transform: translateX(-50%);
  }

  .node-c {
    display: none;
  }

  .node-d {
    right: 24px;
    bottom: 188px;
  }
    .node-f {
    right: 34px;
    bottom:98px;
  }

    .node-g {
    right: 14px;
    bottom: 88px;
  }

  .node-e {
    display: none;
  }

  .countdown-strip,
  .section-heading,
  .capability-grid,
  .camp-stats,
  .zone-grid,
  .ecosystem-board,
  .service-grid,
  .partner-columns,
  .venue-stats {
    grid-template-columns: 1fr;
  }

  .countdown-strip {
    margin-top: -22px;
  }

  .section {
    width: min(100% - 30px, 1240px);
    scroll-margin-top: 150px;
  }

  .section-heading {
    gap: 16px;
  }

  .agenda-layout,
  .overview-grid,
  .expo-intro,
  .venue-grid {
    padding: 18px;
  }

  .motion-section,
  .camp-section,
  .community-layout {
    gap: 22px;
  }

  .camp-copy h2,
  .motion-copy h2 {
    font-size: 36px;
  }

  .motion-stage,
  .news-carousel {
    min-height: 360px;
  }

  .camp-field {
    min-height: 600px;
  }

  .speaker-bubble div {
    max-width: 190px;
    padding: 10px 13px;
  }

  .b1 { --size: 112px; left: 42%; top: 36%; } .b2 { --size: 96px; left: 7%; top: 18%; }.b3 { --size: 112px; left: 62%; top: 18%; }.b4 { --size: 86px; left: 4%; top: 52%; }.b5 { --size: 92px; left: 31%; top: 10%; }.b6 { --size: 100px; left: 66%; top: 52%; }.b7 { --size: 82px; left: 24%; top: 66%; }.b8 { --size: 90px; left: 48%; top: 70%; }.b9 { --size: 74px; left: 78%; top: 34%; }.b10 { --size: 72px; left: 2%; top: 34%; }.b11 { --size: 76px; left: 34%; top: 80%; }.b12 { --size: 72px; left: 74%; top: 76%; }.b13 { --size: 74px; left: 10%; top: 78%; }.b14 { --size: 68px; left: 56%; top: 6%; }

  .agenda-item {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .agenda-item time {
    font-size: 20px;
  }

  .register-section {
    padding: 28px;
  }

  .site-footer {
    display: grid;
    padding: 30px 18px;
  }

  .site-footer div:last-child {
    text-align: left;
  }
}


/* 移动端响应式（自动适配） */
@media (max-width: 1900px) {
  .hero-orbit {right: -300px;top: -100px}
}
@media (max-width: 1800px) {
  .hero-orbit {right: -200px;}
}
@media (max-width: 1700px) {
  .hero-orbit {right: -100px;}
}

@media (max-width: 1600px) {
  .hero-orbit {right: 0px;}
}
@media (max-width: 1500px) {
  .hero-orbit {right:-50px;top: -100px}
  .section{width: 1200px;}
}
@media (max-width: 1300px) {
  .hero-orbit {right:-50px;top: -100px}
  .section{width: 90%;}
  .hero-copy{padding-left: 40px;}
  .main-nav > .nav-item > a{font-size: 16px;}
  .zone-grid p{font-size: 14px;}
}
@media (max-width: 1200px) {
  .section{width: 90%;}
  .zone-grid p{font-size: 16px;}
  .brief-card p{font-size: 14px; line-height: 1.5}
  .brief-card h3{font-size: 18px;}
  .tittle_h2{font-size: 36px;margin-top: 50px;margin-bottom:30px;}

}
@media (max-width: 1100px) {
  .site-header {
    grid-template-columns: 220px auto 1fr auto;
  }
}
@media (max-width: 1024px) {
  .footer_div{width: 100%; display: block;}
  .site-header {display: flex;}
  .tacheng_list_btn{bottom: 30px;}
  .community-layout{display: flex;}
  .tacheng_gallery{grid-template-columns: repeat(3, 1fr);width: 90%;margin:0 auto;}
  .tacheng_div3, .tacheng_div1,.venue-banner{width: 90%;}
  .zone-grid, .ecosystem-board, .partner-columns{grid-template-columns: repeat(4, minmax(0, 1fr));}
  .partner-columns p{font-size: 14px}
  .zone-grid{grid-template-columns: repeat(3, minmax(0, 1fr));}
  .partner-columns{grid-template-columns: repeat(2, minmax(0, 1fr));}
  .zone-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
  .tacheng_div1{padding-bottom: 45px;}
}
@media (max-width: 768px) {
.main-nav{display: none}
  .tacheng_h5{display: block}
  .site-header {
    grid-template-columns: 180px 1fr;
    gap: 10px;
    min-height: 70px;
  }
  .event-pill {
    display: none; /* 移动端隐藏日期，避免挤爆 */
  }
  .main-nav {
    grid-column: 1 / -1;
    padding-top: 8px;
    overflow-x: auto;
  }
 /* 汉堡按钮 */
.mobinav__btn {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 999991;
  width: 44px;
  height: 44px;
  background: ;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}
.mobinav__btn span {
  width: 26px;
  height: 2px;
  background:rgba(0,100,255,0.8);
  display: block;
}

/* 遮罩 */
.mobinav__mask {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0,0,0,0.7);
  z-index: 999992;
}

/* 内容面板 */
.mobinav__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: 75vw;
  max-width: 320px;
  height:  100vh;
  background: #0b1838;
  padding: 60px 30px 30px;
  box-sizing: border-box;
}

/* 关闭按钮 */
.mobinav__close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 36px;
  color: #fff;
  cursor: pointer;
  line-height: 1;
  z-index: 10;
}

/* 菜单列表 */
.mobinav__list {
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin-top: 10px;
}
.mobinav__item a {
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  border-bottom: 1px #fff solid;
  display: block;
  padding-bottom: 20px;
}
  .main-nav{display: }
  .hero-copy{padding:20px;}
  .hero{aspect-ratio: 16 / 12;min-height: auto}
  .hero h1{font-size: 30px;}
  .hero-theme{margin:10px 0;padding:5px 15px;font-size: 14px;}
  .eyebrow{font-size: 12px;}
  .hero-bg{display: none}
  .hero-bg-h5{display: block;}
  .hero-orbit{display: none}
  .hero-meta{font-size: 14px;gap: 5px;}
  .hero-meta span{padding:0 20px;}
  .hero-meta span img{width: 15px;top: 2px;left: 2px}
  .countdown-strip{width: 96%;margin:0 auto;}
  .countdown-strip p{font-size: 12px;}
  .countdown-strip{display: grid;grid-template-columns: repeat(2, 1fr); /* 2列 */grid-template-rows: repeat(2, 1fr);   /* 2行 */gap: 0px;margin-top:20px;width:90%;margin:20px auto;}
  .countdown-strip span{font-size: 20px;}
  .countdown-strip small{font-size: 24px;}
  .countdown-strip > div{padding:10px;}
  .tittle_h2{margin-top: 20px;margin-bottom: 20px;font-size: 22px;}
  .tittle_h2 .tittle_bg_h2{height: 4px;}
  .motion-copy{margin-top: 0;}
  .section{padding:0px 0;}
  .motion-copy{font-size: 14px; line-height: 2}
  .motion-stage img{height:auto; position:static;}
  .motion-stage::before{position: static;}
  .motion-stage::after{position: static;}
  .motion-stage, .news-carousel{min-height: auto}
  .motion-stage{overflow: inherit; position: static;}
  .partner-columns{margin-top: 20px;}
  .partner-columns div{padding:10px;}
  .partner-columns h3{font-size: 16px;font-weight: bold;}
  .partner-columns p{font-size: 14px; line-height: 2;margin-bottom: 0}
  .zone-grid{margin-top: 20px;}
  .zone-img-div{font-size: 14px;display: flex;
    align-items: center;justify-content: flex-start;}
  .zone-img-div{ transform: translateY(0%); opacity: 1;height: 100%;}
  .zone-img-bg{display: block;   transform: translateY(0%);}
  .zone-grid p{font-size: 14px;}
  .tacheng_map{display: none}
  .my-swiper-text{padding:10px 0 !important;}
  .my-swiper-text a{font-size: 14px !important; line-height: 1.5 !important}
  .brief-card{padding:10px 20px;}
  .brief-card h3{font-size: 18px;}
  .brief-card p{font-size: 14px;}

  .tacheng_div1{background: linear-gradient(to bottom, #07183f, #264488);padding-bottom: 15px;}
  .tacheng_content_wrap{position: static;width: 90%;margin:0 auto;      transform: translate(0); opacity:1}
  .tacheng_bg1_di{height: auto;}
  .tacheng_div3, .tacheng_div1{width: 100%;margin:0 auto;}
  .tacheng_p{height: auto;font-size: 14px;line-height: 1.6;margin-top: 0;padding:0 8%;}
  .tacheng_h2{margin-top: 0px;padding: 6% 8%;display: none}
  .tacheng_bg1_di{display: none}
  .tacheng_h2 h2{font-size: 20px;border-top: 1px #fff solid;margin-top: 15px;padding-top: 10px;}
  .tacheng_h2 h3{font-size: 16px;}
  .tacheng-meta{display: block;}
  .icon_t1{margin-bottom: 10px;}
  .tacheng_tittle{text-align: center !important;font-size: 20px !important; color: #fff;padding-top: 20px;text-align: left;}


  .venue-banner-bg,.venue-banner-overlay{display: none}
  .venue-banner{display: block;margin-top: 10px;background: linear-gradient(to bottom, #0b2d78, #3e73ee);padding-bottom: 15px;width: 100%;}
  .venue-data-list{display: grid;grid-template-columns: repeat(2, 1fr); /* 2列 */grid-template-rows: repeat(2, 1fr); gap:20px 20px;}
  .venue-data-num{font-size: 25px;}
  .venue-data-label{font-size: 16px;}
  .venue-desc{font-size: 14px;line-height: 1.6;border-top: 1px #fff solid;margin-top: 15px;padding-top: 10px;}

  .tacheng_div3{display: block;margin-top: 10px;background: linear-gradient(to bottom, #2561ea, #776af2);padding-bottom: 15px;padding:3% 8%;}
  .tacheng_gallery{grid-template-columns: repeat(2, 1fr);gap: 25px;}
  .tacheng-img-bg{transform:translateY(0%) !important;}
  .tacheng-img-div{transform:translateY(0%) !important;}
}
@media (max-width: 480px) {
.zone-img-h5{display: block !important}
.zone-img-web{display: none;}
  .main-nav{display: none}
  .tacheng_h5{display: block}
  .site-header {
    grid-template-columns: 180px 1fr;
    gap: 10px;
    min-height: 70px;
  }
  .event-pill {
    display: none; /* 移动端隐藏日期，避免挤爆 */
  }
  .main-nav {
    grid-column: 1 / -1;
    padding-top: 8px;
    overflow-x: auto;
  }
 /* 汉堡按钮 */
.mobinav__btn {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 999991;
  width: 44px;
  height: 44px;
  background: ;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}
.mobinav__btn span {
  width: 26px;
  height: 2px;
  background:rgba(0,100,255,0.8);
  display: block;
}

/* 遮罩 */
.mobinav__mask {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0,0,0,0.7);
  z-index: 999992;
}

/* 内容面板 */
.mobinav__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: 75vw;
  max-width: 320px;
  height:  100vh;
  background: #0b1838;
  padding: 60px 30px 30px;
  box-sizing: border-box;
}

/* 关闭按钮 */
.mobinav__close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 36px;
  color: #fff;
  cursor: pointer;
  line-height: 1;
  z-index: 10;
}

/* 菜单列表 */
.mobinav__list {
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin-top: 10px;
}
.mobinav__item a {
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  border-bottom: 1px #fff solid;
  display: block;
  padding-bottom: 20px;
}
  .main-nav{display: }
  .hero-copy{padding:20px;}
  .hero{aspect-ratio: 16 / 12;min-height: auto}
  .hero h1{font-size: 36px; line-height: 1.2}
  .hero-theme{margin:10px 0;padding:5px 15px;font-size: 14px;}
  .eyebrow{font-size: 12px;}
  .hero-bg{display: none}
  .hero-bg-h5{display: block;}
  .hero-orbit{display: none}
  .hero-meta{font-size: 14px;gap: 5px;}
  .hero-meta span{padding:0 20px;}
  .hero-meta span img{width: 15px;top: 2px;left: 2px}
  .zone-grid{display: block;}
  .partner-columns{display: block;}
  .community-layout{display: block;}
  .tacheng_gallery{grid-template-columns: repeat(1, 1fr);gap: 15px;}
    .footer_div{width: 100%; display: block;}
    .footer_div > div:first-child {margint-top: 20px;}
    .partner-columns {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    
}
