@charset "UTF-8";
/* =============================================================
   虚拟计划 VIRTUAL PROJECT — Neo-Brutalism 官网样式
   硬规则：0 圆角 / 2px 硬边框 / 无阴影 / 无渐变
   ============================================================= */

/* ---------- 1. Design Tokens ---------- */
:root {
  --ink:      #0A0A0A;
  --card:     #81D4FA;
  --neon:     #E1F5FE;
  --orange:   #FF5A3D;
  --mint:     #E7F0DF;   /* 浅淡绿：原先的米白 #EDEDE3，黑底上 16.9:1 */
  --gray:     #8A8A82;
  --bd-pink:  #FFCDD2;
  --bd-cream: #FFFDE7;

  --font-en: "Space Grotesk", "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-cn: "PingFang SC", "HarmonyOS Sans SC", "Source Han Sans SC", "Noto Sans SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
  --font: var(--font-en), var(--font-cn);

  --bd: 2px;                                   /* 全站硬边框宽度 */
  --pad: clamp(20px, 3.3vw, 48px);             /* 页面左右安全边 */
  --nav-h: 88px;
}

/* ---------- 2. Reset ---------- */
*, *::before, *::after { box-sizing: border-box; border-radius: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--mint);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
h1, h2, h3, p, dl, dd, figure { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
:focus-visible { outline: var(--bd) solid var(--neon); outline-offset: 3px; }

.container { width: 100%; max-width: 1440px; margin-inline: auto; padding-inline: var(--pad); }

.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--neon); color: var(--ink); padding: 12px 20px; font-weight: 700;
}
.skip-link:focus { left: 0; }

/* ---------- 3. 通用元件 ---------- */

/* 小标签行 */
.sec-label {
  display: flex; align-items: center; gap: 10px;
  font-size: 13px; font-weight: 700; letter-spacing: 1.6px;
  color: var(--gray); text-transform: uppercase;
}
.sec-label--ink { color: var(--ink); }
.sec-label--center { justify-content: center; }
.eyebrow {
  display: flex; align-items: center; gap: 10px;
  font-size: 13px; font-weight: 500; letter-spacing: 1.4px; color: var(--gray);
}
.eyebrow__dot { width: 12px; height: 12px; background: var(--neon); flex: none; }
.eyebrow__dot--ink { background: var(--ink); }

/* 章节标题（巨字） */
.sec-title {
  font-size: clamp(44px, 4.19vw + 27.7px, 88px);
  font-weight: 700; line-height: 1.05; letter-spacing: -0.033em;
  color: var(--ink);
}

/* 按钮 */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  padding: 17px 30px;
  font-size: 17px; font-weight: 700; letter-spacing: 0.01em;
  border: var(--bd) solid transparent;
  transition: transform .1s ease-out, background-color .15s ease-out, color .15s ease-out;
}
.btn:active { transform: translate(2px, 2px); }
.btn--primary { background: var(--neon); color: var(--ink); }
.btn--primary:hover { background: var(--card); }
.btn--ghost { background: var(--ink); color: var(--mint); border-color: var(--bd-pink); }
.btn--ghost:hover { background: var(--bd-pink); color: var(--ink); }
.btn--join { background: var(--orange); color: var(--ink); padding: 12px 22px; font-size: 14px; }
.btn--join:hover { background: var(--neon); }
.arrow { width: 22px; height: 22px; flex: none; }

/* 药丸标签（角色行） */
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chip {
  padding: 7px 13px;
  font-size: 13px; font-weight: 500;
  border: var(--bd) solid var(--bd-pink);
  background: var(--ink); color: var(--mint);
}
.rule { display: block; width: 168px; height: var(--bd); background: var(--bd-cream); }

/* ---------- 4. NAV ---------- */
.nav {
  position: sticky; top: 0; z-index: 50;
  background: var(--ink);
  border-bottom: var(--bd) solid transparent;
  transition: border-color .15s;
}
.nav.is-stuck { border-bottom-color: var(--bd-cream); }
.nav__inner {
  max-width: 1440px; margin-inline: auto;
  height: var(--nav-h);
  padding-inline: var(--pad);
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
/* flex: none —— 否则窄屏下品牌块会被压缩，"VIRTUAL PROJECT" 折成两行 */
.brand { display: flex; align-items: center; gap: 12px; flex: none; }
.brand__mark { width: 30px; height: 30px; background: var(--neon); position: relative; flex: none; }
.brand__mark i { position: absolute; inset: 8px; background: var(--orange); }
.brand__text { display: flex; flex-direction: column; line-height: 1.25; }
.brand__cn { font-size: 17px; font-weight: 700; letter-spacing: -0.02em; white-space: nowrap; }
.brand__en { font-size: 10px; font-weight: 700; letter-spacing: 2.4px; color: var(--gray); white-space: nowrap; }

.nav__links { display: flex; gap: 34px; }
.nav__links a { font-size: 15px; font-weight: 500; padding: 4px 0; position: relative; }
/* 用 scaleX 而非动画 width：transform 走合成层，不触发重排 */
.nav__links a::after {
  content: ""; position: absolute; left: 0; bottom: 0;
  width: 100%; height: var(--bd); background: var(--neon);
  transform: scaleX(0); transform-origin: left;
  transition: transform .16s ease-out;
}
.nav__links a:hover::after { transform: scaleX(1); }

.nav__right { display: flex; align-items: center; gap: 14px; }
.lang { display: flex; border: var(--bd) solid var(--neon); }
.lang__btn {
  padding: 8px 13px; font-size: 13px; font-weight: 700;
  background: var(--ink); color: var(--gray);
}
.lang__btn.is-active { background: var(--neon); color: var(--ink); }

.burger { display: none; width: 44px; height: 44px; padding: 11px; }
.burger span {
  display: block; height: var(--bd); background: var(--mint);
  transition: transform .18s ease-out, opacity .18s ease-out;
}
.burger span + span { margin-top: 6px; }
.burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* 锚点跳转时让出吸顶导航的高度，否则目标区块顶部会被导航压住 */
section[id] { scroll-margin-top: calc(var(--nav-h) + 4px); }

/* ---------- 5. HERO ---------- */
/* 结构：2px 荧光蓝硬边框「窗口」内三层叠放 —— 动态声纹 / 纯色硬遮罩 / 文字 */
/* 高度基准说明：字号与间距用 vh 驱动，而不是只按宽度响应。
   常见笔记本可视高度只有 640~780px，若首屏高度被内容锁死（曾固定在 ~864px），
   这些屏幕就必须滚动才能看全。vh + clamp 让首屏在各种高度下都能一屏装下。 */
.hero {
  padding-block: clamp(12px, 2vh, 34px) clamp(22px, 4.4vh, 72px);
  min-height: calc(100vh - var(--nav-h));    /* 老浏览器回退 */
  min-height: calc(100svh - var(--nav-h));   /* 移动端地址栏不跳动 */
  display: flex;
}
.hero > .container { display: flex; flex-direction: column; flex: 1; }

.hero__stage {
  position: relative; overflow: hidden;
  border: var(--bd) solid var(--neon);
  flex: 1;                                   /* 撑满首屏剩余空间，大屏自动铺满 */
  display: flex; flex-direction: column;
}
.hero__canvas { position: absolute; inset: 0; display: block; }
/* 纯色硬遮罩（非渐变）：把动态背景压暗，保证文字对比度 */
.hero__scrim { position: absolute; inset: 0; background: rgba(10, 10, 10, .55); }

.hero__content {
  position: relative;
  flex: 1;
  display: flex; flex-direction: column; gap: clamp(12px, 2.6vh, 32px);
  padding: clamp(16px, 3.6vh, 64px) clamp(24px, 3.3vw, 56px);
}
.hero__text {
  flex: 1;
  display: flex; flex-direction: column; justify-content: center;
  align-items: flex-start; gap: clamp(9px, 2.1vh, 26px);
  max-width: 780px;
  min-height: 0;
}

.hero__name { display: flex; flex-direction: column; font-weight: 700; }
/* min(宽度公式, vh上限)：宽而矮的屏幕（1440×780 这类）不会把首屏撑破 */
.hero__name-main {
  font-size: min(clamp(44px, 4.2vw + 35.5px, 96px), 10.5vh);
  line-height: 1.05; letter-spacing: -0.032em; color: var(--mint);
}
.hero__name-sub {
  font-size: min(clamp(26px, 2.67vw + 19.6px, 58px), 6vh);
  line-height: 1.1; letter-spacing: -0.028em; color: var(--neon);
}
.hero__manifesto {
  font-size: clamp(14px, 1.75vh, 20px);
  line-height: 1.65; color: var(--mint); max-width: 46ch;
}
.hero__cta { display: flex; flex-wrap: wrap; gap: clamp(10px, 1.6vh, 16px); }

/* 首屏内的元件跟随视口高度收缩（只在 hero 作用域内覆盖，不影响其他区块） */
.hero__stage .eyebrow { font-size: clamp(11px, 1.35vh, 13px); }
.hero__stage .chip { padding: clamp(4px, .75vh, 7px) clamp(9px, .9vw, 13px); font-size: clamp(11px, 1.3vh, 13px); }
.hero__stage .btn { padding: clamp(12px, 1.9vh, 18px) clamp(18px, 2vw, 30px); font-size: clamp(14px, 1.7vh, 17px); }
.hero__stage .rule { width: clamp(90px, 12vh, 168px); }
.hero__stage .tag--bg { min-height: clamp(30px, 4.2vh, 40px); }

/* 首屏次级文字压在动态背景上，灰色达不到对比度，改用浅绿主色靠字号与字重降层级 */
.hero__stage .eyebrow,
.hero__stage .hero__trust { color: var(--mint); }
.hero__stage .hero__trust { font-size: clamp(11px, 1.3vh, 13px); font-weight: 500; letter-spacing: 0.04em; }

.hero__tags { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.tag {
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700;
}
.tag--bg {
  min-height: 40px; padding: 0 18px;
  background: var(--orange); color: var(--ink); letter-spacing: 0.04em;
}

/* ---------- 6. WORKS ---------- */
.works { background: var(--mint); color: var(--ink); padding-block: clamp(64px, 6.7vw, 96px) clamp(72px, 7.8vw, 112px); }
.sec-head {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 32px; margin-bottom: clamp(40px, 3.9vw, 56px);
}
.sec-head__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.sec-count { font-size: clamp(44px, 4.4vw, 64px); font-weight: 700; line-height: 1; color: var(--orange); }
.sec-years { font-size: 13px; font-weight: 700; letter-spacing: 2px; color: var(--ink); }
.sec-note { font-size: 14px; color: var(--ink); text-align: right; max-width: 32ch; line-height: 1.7; }

.works__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.works__col { display: flex; flex-direction: column; gap: 24px; }
.works__col--offset { margin-top: 130px; }

.wcard { border: var(--bd) solid var(--ink); background: var(--card); }
.wcard__thumb { position: relative; }
.wcard__thumb--ink    { height: 380px; background: var(--ink); }
.wcard__thumb--orange { height: 240px; background: var(--orange); }
.wcard__thumb--mint   { height: 260px; background: var(--mint); }
.wcard__thumb--neon   { height: 320px; background: var(--neon); }
.wcard__mark { position: absolute; left: 28px; bottom: 28px; width: 88px; height: 88px; }

.wcard__info { padding: 16px 20px 22px; display: flex; flex-direction: column; gap: 10px; }
.wcard__meta {
  display: flex; justify-content: space-between; gap: 12px;
  font-size: 13px; font-weight: 700; letter-spacing: 1.4px; color: var(--ink);
}
.wcard__name {
  font-size: clamp(28px, 1.5vw + 12px, 44px);
  font-weight: 700; line-height: 1.15; letter-spacing: -0.03em; color: var(--ink);
}
.wcard__sub { font-size: 12px; font-weight: 700; letter-spacing: 2px; color: var(--ink); }

/* ---------- 7. ABOUT / CAPABILITIES ---------- */
.about { display: grid; grid-template-columns: minmax(0, 1fr) 620px; background: var(--ink); }
.about__left { background: var(--neon); color: var(--ink); }
.about__left-inner {
  max-width: 720px; margin-left: auto;
  padding: clamp(56px, 6.7vw, 96px) var(--pad);
  display: flex; flex-direction: column; gap: 26px;
}
.about__title {
  font-size: clamp(34px, 3.1vw + 14px, 56px);
  font-weight: 700; line-height: 1.22; letter-spacing: -0.035em;
}
.about__para { font-size: 16px; line-height: 1.9; }

.stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 20px; }
.stat { display: flex; flex-direction: column; gap: 4px; }
.stat__num { font-size: clamp(40px, 3.6vw, 60px); font-weight: 700; line-height: 1.05; }
.stat__label { font-size: 12px; font-weight: 500; letter-spacing: 1.2px; }

.about__right {
  padding: clamp(56px, 6.7vw, 96px) var(--pad);
  display: flex; flex-direction: column; gap: 24px;
}
.about__right-title {
  font-size: clamp(30px, 2.2vw + 12px, 40px);
  font-weight: 700; line-height: 1.15; letter-spacing: -0.035em;
}
.caps { display: flex; flex-direction: column; gap: 10px; }
.cap {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 18px 20px;
  border: var(--bd) solid var(--bd-pink);
  font-size: 17px; font-weight: 700;
}
.cap--alt { border-color: var(--bd-cream); }
.cap em { font-style: normal; font-size: 11px; font-weight: 700; letter-spacing: 1.4px; color: var(--gray); }

/* ---------- 8. PARTNERS ---------- */
.partners { background: var(--mint); color: var(--ink); padding-top: clamp(64px, 6.7vw, 96px); }
.partners .container { padding-bottom: clamp(56px, 5vw, 72px); }
.partners__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pcard {
  display: flex; flex-direction: column; gap: 4px;
  padding: 20px 22px;
  border: var(--bd) solid var(--ink); background: var(--mint);
  transition: background-color .12s;
}
.pcard:hover { background: var(--card); }
.pcard span { font-size: 20px; font-weight: 700; letter-spacing: -0.02em; }
.pcard em { font-style: normal; font-size: 10px; font-weight: 700; letter-spacing: 1.4px; }

.marquee {
  background: var(--neon); border-block: var(--bd) solid var(--ink);
  height: 76px; display: flex; align-items: center; overflow: hidden;
}
.marquee__track {
  display: flex; gap: 44px; width: max-content;
  animation: marquee 26s linear infinite;
  will-change: transform;
  backface-visibility: hidden;
}
.marquee__track span { font-size: 22px; font-weight: 700; white-space: nowrap; letter-spacing: 1px; color: var(--ink); }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ---------- 9. CONTACT CTA ---------- */
.cta { background: var(--ink); padding-block: clamp(80px, 9.7vw, 140px); }
.cta__inner { display: flex; flex-direction: column; align-items: center; gap: 36px; text-align: center; }
.cta__title { display: flex; flex-direction: column; font-weight: 700; }
.cta__line1, .cta__line2 {
  font-size: clamp(44px, 4.19vw + 27.7px, 88px);
  line-height: 1.14; letter-spacing: -0.034em;
}
.cta__line1 { color: var(--mint); }
.cta__line2 { color: var(--neon); }
.cta__sub { font-size: 18px; line-height: 1.8; color: var(--gray); max-width: 60ch; }
.cta__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.btn--mail { font-size: 18px; padding: 20px 34px; }
.cta__note { font-size: 13px; font-weight: 500; color: var(--gray); letter-spacing: 0.05em; }

/* ---------- 10. FOOTER ---------- */
.footer { background: var(--ink); border-top: var(--bd) solid var(--neon); }
.footer .container { padding-block: clamp(44px, 4.4vw, 64px) 32px; }
.footer__top {
  display: flex; justify-content: space-between; gap: 64px;
  padding-bottom: clamp(32px, 3vw, 44px);
}
.footer__brand { display: flex; flex-direction: column; gap: 18px; width: 380px; flex: none; }
.footer__tagline { font-size: 14px; line-height: 1.85; color: var(--gray); }

.footer__cols { display: flex; gap: 56px; }
.fcol { display: flex; flex-direction: column; gap: 14px; width: 170px; }
.fcol__title { font-size: 11px; font-weight: 700; letter-spacing: 1.8px; color: var(--gray); text-transform: uppercase; }
.fcol ul { display: flex; flex-direction: column; gap: 12px; }
.fcol a { font-size: 15px; font-weight: 500; }
.fcol a:hover { color: var(--neon); }

.footer__divider { height: var(--bd); background: var(--bd-cream); }
.footer__social { display: flex; flex-wrap: wrap; gap: 12px; padding-block: clamp(28px, 3vw, 44px); }
.soc {
  padding: 11px 18px; font-size: 13px; font-weight: 500;
  border: var(--bd) solid var(--neon);
}
.soc:hover { background: var(--neon); color: var(--ink); }

.footer__bottom {
  display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  padding-top: 28px; font-size: 12px; color: var(--gray);
}

/* ---------- 11. 响应式：平板 ---------- */
@media (max-width: 1199px) {
  .hero__text { max-width: 640px; }
  .about { grid-template-columns: minmax(0, 1fr) 480px; }
  .footer__cols { gap: 34px; }
  .fcol { width: 140px; }
}

@media (max-width: 1023px) {
  :root { --nav-h: 76px; }

  /* 展开动画改用 transform + opacity：走合成层，不触发 layout/paint。
     早前用 max-height + steps(4)，每帧重算布局且动画只有 4 个离散状态，
     在手机上展开明显发顿。 */
  .nav__links {
    position: fixed; inset: var(--nav-h) 0 auto; z-index: 40;
    flex-direction: column; gap: 0;
    background: var(--ink); border-block: var(--bd) solid var(--bd-cream);
    transform: translateY(-10px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    will-change: opacity, transform;
    transition: opacity .18s ease-out, transform .18s ease-out, visibility 0s linear .18s;
  }
  .nav__links.is-open {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity .18s ease-out, transform .18s ease-out, visibility 0s;
  }
  .nav__links a { padding: 18px var(--pad); font-size: 17px; border-bottom: var(--bd) solid var(--bd-pink); }
  .nav__links a:last-child { border-bottom: 0; }
  .nav__links a::after { display: none; }
  .burger { display: block; }
  .sec-head { flex-direction: column; align-items: flex-start; }
  .sec-head__meta { flex-direction: row; align-items: baseline; gap: 16px; }
  .sec-note { text-align: left; }

  .hero__text { max-width: 560px; }
  .hero__stage .tag--bg { padding: 0 14px; font-size: 12px; }

  .works__col--offset { margin-top: 100px; }
  .works__grid, .works__col { gap: 20px; }
  .wcard__thumb--ink { height: 260px; }
  .wcard__thumb--orange { height: 200px; }
  .wcard__thumb--mint { height: 200px; }
  .wcard__thumb--neon { height: 240px; }

  .about { grid-template-columns: 1fr; }
  .about__left-inner { margin-left: 0; max-width: none; }
  .partners__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__top { flex-direction: column; gap: 40px; }
  .footer__brand { width: 100%; max-width: 480px; }
}

/* ---------- 12. 响应式：手机 ---------- */
@media (max-width: 767px) {
  :root { --nav-h: 64px; }
  .btn--join { display: none; }

  /* 首屏高度不再逐断点硬算：已由 .hero 的 min-height + flex 决定，
     字号与间距由基础规则的 vh 基准统一收缩 */
  /* 窄屏下收紧品牌块，给语言切换与汉堡菜单让出空间 */
  .brand { gap: 9px; }
  .brand__cn { font-size: 15px; }
  .brand__en { font-size: 9px; letter-spacing: 1.2px; }
  .nav__right { gap: 10px; }

  .hero { padding-block: 10px 20px; }
  .hero__content { padding: clamp(16px, 2.8vh, 24px) 18px; gap: clamp(12px, 2.1vh, 18px); }
  .hero__text { max-width: none; }

  /* 手机端特有的排布调整 */
  .hero__stage .eyebrow { letter-spacing: 0.08em; gap: 8px; line-height: 1.55; }
  .hero__stage .eyebrow__dot { width: 9px; height: 9px; }
  .chips { gap: 8px; }
  .hero__stage .rule { width: clamp(80px, 12vh, 120px); }
  .hero__cta { width: 100%; flex-direction: column; gap: clamp(8px, 1.4vh, 12px); }
  .hero__cta .btn { width: 100%; }
  .tag--bg { padding: 0 11px; }

  .works__grid { grid-template-columns: 1fr; gap: 16px; }
  .works__col { display: contents; }          /* 解除列容器，让卡片按 order 重排 01→02→03→04 */
  .works__col--offset { margin-top: 0; }
  .wcard__thumb--ink,
  .wcard__thumb--orange,
  .wcard__thumb--mint,
  .wcard__thumb--neon { height: 160px; }
  .wcard__mark { width: 56px; height: 56px; left: 16px; bottom: 16px; }
  .wcard__info { padding: 14px 16px 16px; }
  .wcard__meta { font-size: 12px; }

  .stats { gap: 20px 16px; }
  .partners__grid { grid-template-columns: 1fr; gap: 12px; }
  .pcard { flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; }
  .pcard span { font-size: 17px; }

  .marquee { height: 56px; }
  .marquee__track { gap: 28px; }
  .marquee__track span { font-size: 16px; }

  .cta__btns { width: 100%; flex-direction: column; }
  .cta__btns .btn { width: 100%; }
  .btn--mail { font-size: 15px; padding: 16px 20px; }

  .footer__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .fcol { width: auto; }
  .footer__bottom { flex-direction: column; gap: 6px; }
}

/* ---------- 13. 英文版排版微调 ---------- */
/* 英文在同等字号下占宽明显更大（"虚拟计划" 4 字 vs "VIRTUAL PROJECT" 15 字符），
   窄屏首屏会被撑出可视区（实测 360×640 下超 169px）。
   这里按语言单独收紧一档；选择器带 html[data-lang] 前缀，优先级高于基础规则。 */
html[data-lang="en"] .hero__name-main {
  font-size: min(clamp(30px, 3.2vw + 24px, 74px), 8.4vh);
}
html[data-lang="en"] .hero__name-sub {
  font-size: min(clamp(19px, 1.9vw + 13px, 44px), 4.8vh);
}
html[data-lang="en"] .hero__stage .eyebrow {
  font-size: clamp(10px, 1.25vh, 12px);
  letter-spacing: .06em;
}
html[data-lang="en"] .hero__stage .chip {
  font-size: clamp(10px, 1.15vh, 12px);
}
html[data-lang="en"] .hero__manifesto {
  font-size: clamp(13px, 1.55vh, 18px);
}
html[data-lang="en"] .hero__stage .btn {
  font-size: clamp(13px, 1.5vh, 16px);
  padding: clamp(11px, 1.7vh, 17px) clamp(16px, 1.8vw, 28px);
}

/* 其余区块的巨字同理收一档，避免英文长句换行过多 */
html[data-lang="en"] .sec-title,
html[data-lang="en"] .cta__line1,
html[data-lang="en"] .cta__line2 {
  font-size: clamp(34px, 3.6vw + 20px, 78px);
}
html[data-lang="en"] .about__title   { font-size: clamp(30px, 2.9vw + 12px, 52px); }
html[data-lang="en"] .about__right-title { font-size: clamp(26px, 1.9vw + 10px, 36px); }
html[data-lang="en"] .wcard__name    { font-size: clamp(24px, 1.5vw + 8px, 38px); }
html[data-lang="en"] .pcard span     { font-size: clamp(15px, 1.2vw + 4px, 19px); }

/* ---------- 14. 无障碍与降级 ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .marquee__track { animation: none; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

@media print {
  .nav, .marquee, .cta__btns { display: none; }
  body { background: #fff; color: #000; }
}
