
/* ═════════════════════════════════════════
   新壳联 SNSUC — 国画山水 · 生机勃勃
   Design System: Logo-based Gradient + Ink Wash Aesthetic
   ═════════════════════════════════════════ */

:root {
  /* ── Logo-derived gradient palette (emerald → jade) ── */
  --ink-deep:    #003d15;
  --ink-dark:    #00501a;
  --ink-core:    #007028;
  --ink-main:    #009040;
  --ink-bright:  #1aa850;
  --ink-mint:    #45b870;
  --ink-light:   #78d098;
  --ink-pale:    #b8e8c8;
  --ink-frost:   #eef7f0;
  --ink-mist:    #f5faf6;
  /* Warm accent for vitality */
  --gold:        #c9a03c;
  --gold-light:  #f0dca0;
  /* Text & surface */
  --text-deep:   #1a1c20;
  --text-body:   #2c2e33;
  --text-muted:  #5a5d66;
  --paper:       #fdfbf7;
  --paper-warm:  #faf8f2;
  --border-ink:  rgba(0,90,32,0.12);
  --shadow-soft: 0 4px 24px rgba(0,60,24,0.06);
  --shadow-card: 0 2px 16px rgba(0,50,20,0.08);
  --radius-sm:   6px;
  --radius-md:   12px;
  --radius-lg:   20px;
  /* ── 标题 / 品牌字体：马善政毛笔楷书（毛笔书法，自托管于本站 CDN，国内稳定加载）── */
  --font-display: 'Ma Shan Zheng', 'ZCOOL XiaoWei', 'Noto Serif SC', serif;
  --font-brand:   'Ma Shan Zheng', 'ZCOOL XiaoWei', serif;
  /* ── 副标题 / 正文 / UI / 等宽 —— 全站唯一字栈来源，分页样式表请引用这些变量 ── */
  --font-subhead: 'ZCOOL XiaoWei', 'Noto Serif SC', serif;
  --font-body:    'Noto Serif SC', 'Source Han Serif SC', 'Songti SC', 'SimSun', serif;
  --font-ui:      'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-mono:    'JetBrains Mono', 'SF Mono', Menlo, Consolas, 'Courier New', monospace;
  /* ── 英文模式统一拉丁字栈（.lang-en 全站共用；毛笔字体无拉丁字形，必须整体替换）── */
  --font-latin:      'Inter', 'Noto Serif SC', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-latin-head: 'Inter', 'Noto Serif SC', serif;
  /* ── 垂直韵律 / 行高标尺 ── */
  --lh-display:   1.22;   /* h1–h2 大标题，收紧 */
  --lh-heading:   1.35;   /* h3–h6 小标题 */
  --lh-body:      1.75;   /* 中文正文 */
  --lh-body-en:   1.68;   /* 英文衬线正文 */
  --lh-tight:     1.5;    /* 卡片内密排文本 */
  --measure:      72ch;   /* 长文最佳字行宽度 66–75ch */
  --space-section:         6.5rem;  /* 常规版块上下留白 */
  --space-section-compact: 4.5rem;  /* 数据密集页版块留白 */
}

/* ── Reset & Base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body {
  font-family: 'Noto Serif SC', 'Songti SC', 'SimSun', serif;
  font-size: 16px; line-height: 1.75; color: var(--text-body);
  background: var(--paper); overflow-x: hidden;
}
a { color: var(--ink-main); text-decoration: none; transition: color .25s ease; }
a:hover { color: var(--ink-bright); }
img { max-width: 100%; display: block; }
ul { list-style: none; }

/* ── Typography (毛笔书法 · 美术字) ──
   大标题与品牌字用马善政毛笔楷书——笔锋顿挫、墨韵生动，最具书法识别度；
   正文保持思源宋体确保可读性 */
h1, h2, h3, .heading-calligraphy {
  font-family: var(--font-display), 'ZCOOL XiaoWei', 'Noto Serif SC', serif;
  font-weight: 400; line-height: 1.3; letter-spacing: .03em;
}
h1 { font-size: clamp(2.4rem, 5vw, 3.8rem); }
h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); }
h3 { font-size: clamp(1.3rem, 2.2vw, 1.7rem); letter-spacing: .04em; }
/* h4–h6 此前无样式，落到浏览器默认粗宋体，与书法体系脱节；
   补齐后与 h3 形成连续的模块化字阶（站酷小薇承接毛笔楷书） */
h4, h5, h6 {
  font-family: var(--font-subhead);
  font-weight: 400; line-height: var(--lh-heading); letter-spacing: .04em;
  /* 站酷小薇只有 400 一个字重，浏览器默认的 bold 会触发合成粗体（笔画糊成一团）。
     改用 400 + 更深墨色 + 明确字阶来建立层级，而不是靠假粗体。 */
  color: var(--text-deep);
}
h4 { font-size: clamp(1.12rem, 1.7vw, 1.25rem); }
h5 { font-size: clamp(1.02rem, 1.35vw, 1.1rem); }
h6 { font-size: clamp(.94rem, 1.15vw, 1rem); }
.subhead-elegant {
  font-family: var(--font-subhead);
  font-weight: 400; letter-spacing: .06em;
}
.label-ui {
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 500; letter-spacing: .02em;
  text-transform: uppercase; font-size: .72rem;
}

/* ── Ink Wash Background — 国画山水水印 ── */
.ink-bg {
  position: relative; overflow: hidden;
}
.ink-bg::before {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse 120% 80% at 30% 10%, rgba(120,208,152,.07) 0%, transparent 55%),
    radial-gradient(ellipse 100% 60% at 75% 85%, rgba(200,232,200,.05) 0%, transparent 50%),
    linear-gradient(180deg, var(--ink-frost) 0%, var(--paper) 35%, var(--paper-warm) 100%);
  pointer-events: none; opacity: 0.90;
}
.ink-bg > * { position: relative; z-index: 1; }

/* ── Mountain SVG watermark (hero only) ── */
.mountain-watermark {
  position: absolute; inset: 0; z-index: 0; overflow: hidden;
  opacity: .18; pointer-events: none;
}
.mountain-watermark svg { width: 100%; height: 100%; }

/* ── Header ── */
.header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  transition: all .4s cubic-bezier(.25,.46,.45,.94);
  padding: 0 2rem;
}
.header.scrolled {
  background: rgba(253,251,247,.92);
  backdrop-filter: blur(16px) saturate(180%);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  border-bottom: 1px solid var(--border-ink);
  box-shadow: var(--shadow-soft);
}
.header-inner {
  max-width: 1280px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  height: 68px; gap: 2rem;
}
/* ── Logo lockup spec v2 ──
   mark : text ratio ≈ 1 : 0.42 (cap), gap = 0.28 × mark height
   brand text locked to corporate green #009040 (do not change) */
.logo {
  display: flex; align-items: center; gap: .7rem; flex-shrink: 0;
}
.logo-image { height: 42px; width: auto; object-fit: contain; }
.logo-label { display: flex; flex-direction: column; line-height: 1.25; }
.logo-cn {
  font-family: var(--font-brand, 'ZCOOL XiaoWei'), 'ZCOOL XiaoWei', serif;
  font-size: 1.2rem; letter-spacing: .05em;
  color: #009040; white-space: nowrap;
}
.logo-en {
  font-family: 'Inter', sans-serif; font-size: .6rem;
  color: var(--text-muted); letter-spacing: .14em; font-weight: 600;
  white-space: nowrap;
}

.nav { display: flex; align-items: center; }
.nav-list {
  display: flex; align-items: center; gap: .1rem; margin: 0; padding: 0;
}
.nav-item { position: relative; }
.nav-item > a, .nav-link {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: .83rem; font-weight: 500; color: var(--text-body);
  padding: .55rem .85rem; border-radius: var(--radius-sm);
  display: inline-flex; align-items: center; gap: .28rem;
  position: relative; transition: all .25s ease;
  white-space: nowrap;
}
.nav-item > a:hover, .nav-item > a.active,
.nav-link:hover {
  color: var(--ink-main); background: rgba(0,144,64,.05);
}
.nav-item > a.active::after {
  content: ''; position: absolute; bottom: 2px; left: 50%; transform: translateX(-50%);
  width: 18px; height: 2.5px; border-radius: 2px;
  background: linear-gradient(90deg, var(--ink-core), var(--ink-mint));
}
.caret {
  font-size: .58rem; line-height: 1; opacity: .55; transition: transform .3s ease;
}
.has-mega:hover .caret, .has-dropdown:hover .caret,
.has-mega.open .caret, .has-dropdown.open .caret { transform: rotate(180deg); }
.nav-cta {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .52rem 1.3rem !important;
  background: linear-gradient(135deg, var(--ink-main), var(--ink-bright));
  color: #fff !important; border-radius: 999px; font-weight: 600;
  font-size: .8rem; box-shadow: 0 2px 12px rgba(0,144,64,.25);
  transition: all .3s ease;
}
.nav-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 20px rgba(0,144,64,.35);
  color: #fff !important; background: linear-gradient(135deg, var(--ink-bright), var(--ink-mint));
}
.lang-toggle {
  display: inline-flex; align-items: center; gap: .3rem;
  background: none; border: 1px solid var(--border-ink);
  padding: .35rem .6rem; border-radius: 999px;
  cursor: pointer; font-family: 'Inter', sans-serif;
  font-size: .72rem; color: var(--text-muted); transition: all .25s;
}
.lang-toggle:hover { border-color: var(--ink-pale); color: var(--ink-main); }
.menu-toggle {
  display: none; background: none; border: none;
  cursor: pointer; flex-direction: column; gap: 5px;
  padding: 10px 11px; min-height: 44px; min-width: 44px;
  align-items: center; justify-content: center;
}
.menu-toggle span {
  display: block; width: 22px; height: 2px; background: var(--text-body);
  border-radius: 2px; transition: all .3s;
}
.menu-toggle.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity: 0; }
.menu-toggle.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Mega Menu (功能中心) ── */
.mega-menu {
  position: absolute; top: calc(100% + 12px); left: 50%;
  transform: translateX(-50%) translateY(10px);
  background: rgba(253,251,247,.97);
  backdrop-filter: blur(18px) saturate(180%);
  -webkit-backdrop-filter: blur(18px) saturate(180%);
  border: 1px solid var(--border-ink);
  border-radius: var(--radius-lg);
  box-shadow: 0 18px 50px rgba(0,60,24,.16);
  padding: 1.7rem 1.9rem;
  display: flex; gap: 2.8rem;
  min-width: 560px;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .28s ease, transform .28s cubic-bezier(.25,.46,.45,.94), visibility .28s;
  z-index: 1100;
}
.mega-menu::before {
  content: ''; position: absolute; top: -14px; left: 0; right: 0; height: 14px;
}
.has-mega:hover .mega-menu, .has-mega.open .mega-menu {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.mega-col { display: flex; flex-direction: column; }
.mega-group-title {
  font-family: 'ZCOOL XiaoWei', serif; font-size: .76rem;
  color: var(--ink-core); letter-spacing: .05em;
  margin-bottom: .7rem; padding-bottom: .45rem;
  border-bottom: 1px solid var(--border-ink);
}
.mega-menu a {
  font-family: 'Inter', sans-serif; font-size: .83rem; color: var(--text-body);
  padding: .5rem .65rem; border-radius: var(--radius-sm);
  transition: all .2s ease; white-space: nowrap;
}
.mega-menu a:hover { background: rgba(0,144,64,.06); color: var(--ink-main); padding-left: 1rem; }

/* ── Dropdown (关于我们) ── */
.dropdown-menu {
  position: absolute; top: calc(100% + 12px); left: 0;
  min-width: 190px;
  background: rgba(253,251,247,.97);
  backdrop-filter: blur(18px) saturate(180%);
  -webkit-backdrop-filter: blur(18px) saturate(180%);
  border: 1px solid var(--border-ink);
  border-radius: var(--radius-md);
  box-shadow: 0 14px 40px rgba(0,60,24,.14);
  padding: .6rem;
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: opacity .26s ease, transform .26s cubic-bezier(.25,.46,.45,.94), visibility .26s;
  z-index: 1100;
}
.dropdown-menu::before {
  content: ''; position: absolute; top: -14px; left: 0; right: 0; height: 14px;
}
.has-dropdown:hover .dropdown-menu, .has-dropdown.open .dropdown-menu {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.dropdown-menu a {
  display: block; font-family: 'Inter', sans-serif; font-size: .83rem;
  color: var(--text-body); padding: .55rem .7rem; border-radius: var(--radius-sm);
  transition: all .2s ease;
}
.dropdown-menu a:hover { background: rgba(0,144,64,.06); color: var(--ink-main); }

/* ── Nav Drawer (mobile) ── */
.nav-drawer-overlay {
  position: fixed; inset: 0; z-index: 1200;
  background: rgba(0,28,12,.42); backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0; visibility: hidden; transition: all .35s ease;
}
.nav-drawer-overlay.open { opacity: 1; visibility: visible; }
.nav-drawer {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: min(82vw, 360px); z-index: 1300;
  background: var(--paper);
  box-shadow: -14px 0 50px rgba(0,40,18,.18);
  transform: translateX(100%);
  transition: transform .4s cubic-bezier(.25,.46,.45,.94);
  display: flex; flex-direction: column;
  padding: 1.2rem 1.3rem; overflow-y: auto;
}
.nav-drawer.open { transform: translateX(0); }
.nav-drawer-head {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: 1rem; margin-bottom: 1rem;
  border-bottom: 1px solid var(--border-ink);
}
.nav-drawer-close {
  background: none; border: none; cursor: pointer;
  font-size: 1.9rem; line-height: 1; color: var(--text-muted);
  padding: .1rem .5rem; transition: color .2s;
}
.nav-drawer-close:hover { color: var(--ink-main); }
.nav-drawer-body { display: flex; flex-direction: column; gap: .15rem; }
.nav-drawer-body > a {
  font-family: 'Inter', sans-serif; font-size: .96rem; font-weight: 500;
  color: var(--text-body); padding: .8rem .6rem;
  border-bottom: 1px solid rgba(0,90,32,.05);
  transition: all .2s;
}
.nav-drawer-body > a:hover { background: rgba(0,144,64,.05); color: var(--ink-main); }
.drawer-group { margin-top: .6rem; }
.drawer-group-title {
  font-family: 'ZCOOL XiaoWei', serif; font-size: .74rem; letter-spacing: .06em;
  color: var(--ink-core); padding: .7rem 0 .4rem;
}
.drawer-group a {
  display: block; font-family: 'Inter', sans-serif; font-size: .86rem;
  color: var(--text-muted); padding: .55rem .9rem;
  border-radius: var(--radius-sm); transition: all .2s;
  border-bottom: none;
}
.drawer-group a:hover { color: var(--ink-main); background: rgba(0,144,64,.05); }
.nav-cta.drawer-cta {
  display: flex; justify-content: center; margin-top: 1.1rem;
  padding: .75rem 1.3rem !important; border-bottom: none;
}
.drawer-lang { margin-top: 1rem; }
.drawer-lang .lang-toggle { width: 100%; justify-content: center; padding: .6rem; }

/* ── Hero editorial accents ── */
.hero-rule {
  width: 70px; height: 0; margin: .3rem auto 1.2rem;
  border-top: 1.5px solid;
  border-image: linear-gradient(90deg, transparent, var(--ink-mint), transparent) 1;
  position: relative;
}
.hero-rule::after {
  content: ''; position: absolute; top: 50%; left: 50%;
  width: 7px; height: 7px; transform: translate(-50%,-50%) rotate(45deg);
  background: var(--gold); border-radius: 1px; opacity: .75;
}
.hero-seal {
  position: absolute; top: 10%; right: 9%;
  width: 64px; height: 64px; border-radius: 8px;
  border: 2px solid rgba(201,160,60,.5);
  box-shadow: inset 0 0 0 1px rgba(201,160,60,.25);
  color: rgba(201,160,60,.85);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Ma Shan Zheng', cursive; font-size: 1.7rem;
  transform: rotate(-7deg); opacity: .5; pointer-events: none;
  transition: opacity .4s ease;
}

/* ── Hero Section ── */
.hero-section {
  min-height: 92vh; display: flex; align-items: center;
  position: relative; overflow: hidden;
  padding: 100px 2rem 60px;
}
.hero-content {
  max-width: 900px; margin: 0 auto; text-align: center;
  position: relative; z-index: 2;
}
.hero-headline {
  font-size: clamp(2.6rem, 6vw, 4.4rem);
  background: linear-gradient(135deg, var(--ink-deep) 0%, var(--ink-main) 40%, var(--ink-mint) 80%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; margin-bottom: .5rem;
  animation: inkReveal 1.2s ease-out both;
}
@keyframes inkReveal {
  from { opacity: 0; filter: blur(8px); transform: translateY(20px); }
  to   { opacity: 1; filter: blur(0); transform: translateY(0); }
}
.hero-slogan-en {
  font-family: 'Inter', sans-serif; font-size: clamp(1rem, 2vw, 1.4rem);
  font-weight: 300; letter-spacing: .2em; color: var(--ink-mint);
  margin-bottom: 1rem; opacity: .8;
  animation: fadeInUp .8s ease .3s both;
}
.hero-subtitle {
  font-size: clamp(.95rem, 1.5vw, 1.15rem);
  color: var(--text-muted); max-width: 650px; margin: 0 auto 1.8rem;
  font-weight: 300; animation: fadeInUp .8s ease .5s both;
}
.hero-badge {
  display: inline-flex; align-items: center; gap: .6rem;
  background: rgba(0,144,64,.06); border: 1px solid rgba(0,144,64,.15);
  padding: .6rem 1.4rem; border-radius: 999px;
  font-size: .82rem; color: var(--ink-core);
  animation: fadeInUp .8s ease .7s both;
}
.hero-badge .dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--ink-main); animation: pulse-dot 2s infinite;
}
@keyframes pulse-dot {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(0,144,64,.4); }
  50%      { opacity: .7; box-shadow: 0 0 0 6px rgba(0,144,64,0); }
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Floating particles for vitality */
.particles {
  position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden;
}
.particle {
  position: absolute; width: 3px; height: 3px; border-radius: 50%;
  background: var(--ink-light); opacity: 0;
  animation: float-up linear infinite;
}
@keyframes float-up {
  0%   { transform: translateY(100vh) scale(0); opacity: 0; }
  10%  { opacity: .4; }
  90%  { opacity: .2; }
  100% { transform: translateY(-10vh) scale(1); opacity: 0; }
}

/* ── Container ── */
.container { max-width: 1240px; margin: 0 auto; padding: 0 2rem; }

/* ── Section ── */
.section {
  padding: var(--space-section) 0; position: relative;
}
.section-header {
  text-align: center; margin-bottom: 4rem;
}
.section-title {
  margin-bottom: .6rem; color: var(--ink-deep);
}
.section-subtitle {
  color: var(--text-muted); font-size: 1rem;
  max-width: 600px; margin: 0 auto;
}

/* ── Biz Grid (4 tiles) ── */
.biz-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0; margin-top: 2.2rem;
  background: rgba(255,255,255,.7);
  border: 1px solid var(--border-ink);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.biz-tile {
  display: flex; flex-direction: column;
  background: transparent;
  border: none;
  border-right: 1px solid var(--border-ink);
  border-radius: 0; padding: 1.6rem 1.3rem;
  transition: all .3s cubic-bezier(.25,.46,.45,.94);
  position: relative; overflow: hidden;
  cursor: pointer; text-decoration: none !important;
  color: inherit;
}
.biz-tile:last-child { border-right: none; }
.biz-tile:hover { background: rgba(0,144,64,.04); }
.biz-tile::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0;
  height: 3px; border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  background: linear-gradient(90deg, var(--tile-color, var(--ink-main)), var(--tile-light, var(--ink-mint)));
  opacity: 0; transition: opacity .3s;
}
.biz-tile:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--border-ink);
}
.biz-tile:hover::before { opacity: 1; }
.biz-tile-icon {
  width: 40px; height: 40px; margin-bottom: .9rem;
  color: var(--tile-color, var(--ink-main));
}
.biz-tile-icon svg { width: 100%; height: 100%; }
.biz-tile-title {
  font-size: 1.1rem; margin-bottom: .35rem;
  color: var(--ink-deep);
}
.biz-tile-desc {
  font-size: .82rem; color: var(--text-muted);
  line-height: 1.65; flex: 1; margin-bottom: .7rem;
}
.biz-tile-cta {
  font-family: 'Inter', sans-serif; font-size: .78rem;
  font-weight: 600; color: var(--ink-main);
  display: inline-flex; align-items: center; gap: .3rem;
  transition: gap .3s;
}
.biz-tile:hover .biz-tile-cta { gap: .6rem; color: var(--ink-bright); }
.biz-tile-cta::after { content: '→'; font-size: .9rem; }

/* Tile colors */
.biz-tile:nth-child(1) { --tile-color: #047857; --tile-light: #34d399; }
.biz-tile:nth-child(2) { --tile-color: #059669; --tile-light: #6ee7b7; }
.biz-tile:nth-child(3) { --tile-color: #0d9488; --tile-light: #5eead4; }
.biz-tile:nth-child(4) { --tile-color: #10b981; --tile-light: #a7f3d0; }

/* ── Price Grid ── */
.price-section { background: var(--ink-frost); opacity: 0.94; }
.price-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 1.2rem; margin-top: 2.6rem;
}
.price-card {
  background: rgba(255,255,255,.8);
  border: 1px solid var(--border-ink);
  border-radius: var(--radius-md); padding: 1.2rem 1rem;
  transition: all .3s ease;
}
.price-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-card);
  border-color: rgba(0,144,64,.2);
}
.pc-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: .6rem; }
.pc-name { font-weight: 600; font-size: .88rem; color: var(--text-deep); }
.pc-source {
  font-family: 'Inter', sans-serif; font-size: .65rem;
  background: var(--ink-frost); color: var(--text-muted);
  padding: 2px 8px; border-radius: 99px;
}
.pc-price {
  font-family: var(--font-ui); font-size: 1.35rem;
  font-weight: 700; color: var(--ink-deep);
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
  letter-spacing: -.01em;
  margin-bottom: .3rem;
}
.pc-change {
  font-family: var(--font-ui); font-size: .78rem; font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
  margin-bottom: .3rem;
}
.pc-change.up { color: #dc2626; }  /* Chinese market: red = up */
.pc-change.down { color: #16a34a; }
.pc-unit {
  font-size: .72rem; color: var(--text-muted);
}
.price-more {
  display: block; text-align: center; margin-top: 1.5rem;
  font-family: 'Inter', sans-serif; font-size: .85rem;
  color: var(--ink-main); font-weight: 500;
}
.price-hint {
  display: none;
  text-align: center; margin-top: .9rem;
  font-family: 'Inter', sans-serif; font-size: .72rem;
  color: var(--text-muted); opacity: .6;
}
.source-note {
  text-align: center; margin-top: 1.2rem;
  font-size: .74rem; color: var(--text-muted); opacity: .7;
}

/* ── News Section ── */
.news-head {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 2rem;
}
.news-indicator {
  display: flex; align-items: center; gap: .6rem;
}
.live-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #ef4444; animation: pulse-dot 2s infinite;
}
.news-label {
  font-family: 'ZCOOL XiaoWei', serif; font-size: 1.1rem;
  color: var(--ink-deep);
}
.news-date { font-size: .78rem; color: var(--text-muted); }
.news-link {
  font-family: 'Inter', sans-serif; font-size: .84rem;
  font-weight: 500; color: var(--ink-main);
}
.news-featured {
  background: rgba(255,255,255,.7);
  border: 1px solid var(--border-ink);
  border-left: 3px solid var(--ink-main);
  border-radius: var(--radius-md);
  padding: 1.8rem; margin-bottom: 1.5rem;
  transition: all .3s;
}
.news-featured:hover { box-shadow: var(--shadow-soft); }
.nf-tag {
  display: inline-block; font-family: 'Inter', sans-serif;
  font-size: .68rem; font-weight: 600;
  background: linear-gradient(135deg, var(--ink-main), var(--ink-bright));
  color: #fff; padding: 3px 10px; border-radius: 99px;
  margin-bottom: .8rem;
}
.nf-title {
  font-size: 1.2rem; color: var(--ink-deep); margin-bottom: .5rem;
  line-height: 1.5;
}
.nf-summary { font-size: .88rem; color: var(--text-muted); line-height: 1.7; }
.nf-meta { font-size: .76rem; color: var(--text-muted); margin-top: .8rem; }

.news-list-item {
  display: flex; align-items: flex-start; gap: 1rem;
  padding: 1rem 0; border-bottom: 1px solid rgba(0,90,32,.06);
  transition: background .2s;
}
.news-list-item:hover { background: rgba(0,144,64,.02); border-radius: var(--radius-sm); }
.nli-time {
  font-family: 'Inter', sans-serif; font-size: .76rem;
  color: var(--text-muted); white-space: nowrap; min-width: 70px;
}
.nli-title {
  font-size: .9rem; color: var(--text-body); flex: 1;
  line-height: 1.5;
}
.nli-title:hover { color: var(--ink-main); }

/* ── IR Banner ── */
.ir-banner {
  display: flex; align-items: center; gap: 1.5rem;
  background: linear-gradient(135deg, rgba(37,99,235,.04), rgba(59,130,246,.04));
  border: 1px solid rgba(37,99,235,.12);
  border-left: 4px solid #2563eb;
  border-radius: var(--radius-md); padding: 1.4rem 1.8rem;
  transition: all .3s;
}
.ir-banner:hover { box-shadow: var(--shadow-soft); }
.ir-content { flex: 1; }
.ir-title-row { display: flex; align-items: center; gap: .6rem; margin-bottom: .3rem; }
.ir-title {
  font-family: 'ZCOOL XiaoWei', serif; font-size: 1.05rem;
  color: #1e3a5f;
}
.ir-badge {
  font-family: 'Inter', sans-serif; font-size: .65rem;
  background: #dbeafe; color: #1e40af;
  padding: 2px 8px; border-radius: 4px; font-weight: 600;
}
.ir-subtitle { font-size: .8rem; color: #3b82f6; }
.ir-btn {
  font-family: 'Inter', sans-serif; font-size: .84rem;
  font-weight: 600; color: #2563eb;
  white-space: nowrap; padding: .6rem 1.2rem;
  border: 1px solid rgba(37,99,235,.3);
  border-radius: 999px; transition: all .3s;
}
.ir-btn:hover { background: #2563eb; color: #fff; }

/* ── Footer ── */
.footer {
  background: linear-gradient(180deg, var(--ink-frost) 0%, var(--ink-deep) 100%);
  color: rgba(255,255,255,.8); padding: 4rem 0 2rem;
  position: relative; overflow: hidden;
}
.footer::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--ink-pale), transparent);
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: 2.5rem; margin-bottom: 3rem;
}
.footer-brand .logo { margin-bottom: 1rem; }
.footer-brand .logo-cn { color: rgba(255,255,255,.9); }
.footer-brand .logo-en { color: rgba(255,255,255,.5); }
.footer-brand p {
  font-size: .86rem; line-height: 1.8;
  color: rgba(255,255,255,.6); max-width: 280px;
}
.footer-col h4 {
  font-family: 'ZCOOL XiaoWei', serif; font-size: .95rem;
  color: rgba(255,255,255,.95); margin-bottom: 1rem;
  position: relative; padding-bottom: .5rem;
}
.footer-col h4::after {
  content: ''; position: absolute; bottom: 0; left: 0;
  width: 24px; height: 2px; border-radius: 1px;
  background: linear-gradient(90deg, var(--ink-mint), transparent);
}
.footer-col li { margin-bottom: .5rem; }
.footer-col a {
  font-size: .84rem; color: rgba(255,255,255,.6);
  transition: color .2s;
}
.footer-col a:hover { color: var(--ink-light); }
.footer-bottom {
  display: flex; flex-wrap: wrap; justify-content: space-between;
  align-items: center; gap: 1rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255,255,255,.08);
  font-size: .78rem; color: rgba(255,255,255,.45);
}
.footer-bottom-links a { color: rgba(255,255,255,.5); margin: 0 .3rem; }
.footer-bottom-links a:hover { color: var(--ink-light); }

/* ── Back to Top ── */
.back-to-top {
  position: fixed; bottom: 2rem; right: 2rem;
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg, var(--ink-main), var(--ink-bright));
  color: #fff; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(0,144,64,.3);
  opacity: 0; transform: translateY(10px);
  transition: all .3s ease; z-index: 999;
}
.back-to-top.visible { opacity: 1; transform: translateY(0); }
.back-to-top:hover { transform: translateY(-2px); box-shadow: 0 6px 24px rgba(0,144,64,.4); }
.back-to-top svg { width: 20px; height: 20px; }

/* ── Data tables (shared brand style) ── */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.6rem 0;
  font-size: .92rem;
  background: rgba(255,255,255,.72);
  border: 1px solid var(--border-ink);
  border-radius: var(--radius-md);
  color: var(--ink-deep);
  box-shadow: 0 6px 24px rgba(0,60,24,.06);
}
thead th {
  background: linear-gradient(135deg, var(--ink-main), var(--ink-deep));
  color: #fff;
  font-family: 'ZCOOL XiaoWei', 'Noto Serif SC', serif;
  font-weight: 400;
  text-align: left;
  padding: .85rem 1rem;
  letter-spacing: .03em;
  white-space: nowrap;
}
tbody td {
  padding: .8rem 1rem;
  border-top: 1px solid var(--border-ink);
  line-height: 1.65;
  vertical-align: top;
  /* 大宗商品报价站：整列数字必须等宽对齐 */
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}
tbody tr:nth-child(even) { background: rgba(0,144,64,.045); }
tbody tr:hover { background: rgba(0,144,64,.09); }
caption { caption-side: top; padding: .4rem 0; color: var(--text-muted); font-size: .85rem; }
img, video { max-width: 100%; height: auto; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .biz-grid { grid-template-columns: repeat(2, 1fr); }
  .biz-tile:nth-child(2n) { border-right: none; }
  .biz-tile:nth-child(n+3) { border-top: 1px solid var(--border-ink); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (max-width: 768px) {
  .container { padding: 0 1.3rem; }
  .nav { display: none; }
  .header-actions > *:not(.menu-toggle) { display: none; }
  .menu-toggle { display: flex; }
  /* 实时行情：横滑速览，不再纵向铺开，大幅减少下拉 */
  .price-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: .75rem;
    margin-top: 1.6rem;
    padding-bottom: .8rem;
    scrollbar-width: none;
  }
  .price-grid::-webkit-scrollbar { display: none; }
  .price-card {
    flex: 0 0 46%;
    min-width: 148px;
    scroll-snap-align: start;
    padding: 1rem .9rem;
  }
  .price-hint { display: block; }
  /* 移动端资讯条数收敛，减少滚动 */
  .news-list-item:nth-child(n+4) { display: none; }
  /* 整体留白收敛，缩短首屏 */
  .section { padding: 4rem 0; }
  .section-header { margin-bottom: 2.4rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .hero-section { min-height: 80vh; padding: 90px 1.2rem 40px; }
  .hero-seal { display: none; }
  .ir-banner { flex-direction: column; text-align: center; }
  .news-head { flex-direction: column; gap: .8rem; align-items: flex-start; }
  /* 数据表格：移动端横向滚动，避免撑破页面 */
  table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; font-size: .86rem; box-shadow: none; }
  thead th { white-space: nowrap; }
}
@media (max-width: 480px) {
  .price-card { flex: 0 0 64%; }
  body { font-size: 15px; }
}

/* ── Scroll animations ── */
.reveal {
  opacity: 0; transform: translateY(24px);
  transition: all .7s cubic-bezier(.25,.46,.45,.94);
}
.reveal.visible { opacity: 1; transform: translateY(0); }

/* ============================================================
   I18N — logo name switches by language; English typography
   ============================================================ */
/* Logo: show only the language-appropriate company name */
.logo-cn { display: inline; }
.logo-en { display: none; }
html.lang-en .logo-cn { display: none; }
html.lang-en .logo-en {
  display: block; font-size: 1.02rem; color: #009040;
  letter-spacing: .18em; font-weight: 700; line-height: 1.15;
}
html.lang-en .logo-en::after {
  content: "SHANGHAI NEW SHELL UNION CHEMICAL CO., LTD";
  display: block; font-size: .5rem; font-weight: 600;
  letter-spacing: .09em; color: var(--text-muted); margin-top: .12rem;
}
/* footer (dark bg) keeps light text for readability */
.footer-brand .logo-cn { color: rgba(255,255,255,.92); }
html.lang-en .footer-brand .logo-en { color: rgba(255,255,255,.92); }
html.lang-en .footer-brand .logo-en::after { color: rgba(255,255,255,.5); }

/* English mode typography — swap Chinese calligraphy fonts for Latin stacks.
   字栈统一由 --font-latin / --font-latin-head 提供，分页样式表(data/membership/
   cert/seo/pwa)的 .lang-en 规则必须引用同样的变量，切勿另起字栈。 */
html.lang-en body {
  font-family: var(--font-latin);
  line-height: var(--lh-body-en);
  letter-spacing: .004em;
  overflow-wrap: break-word;
  word-break: normal;
}
html.lang-en h1, html.lang-en h2, html.lang-en h3,
html.lang-en h4, html.lang-en h5, html.lang-en h6,
html.lang-en .heading-calligraphy {
  font-family: var(--font-latin-head);
  font-weight: 700;
  letter-spacing: .012em;
  line-height: var(--lh-display);
  overflow-wrap: break-word;
}
html.lang-en h3, html.lang-en h4,
html.lang-en h5, html.lang-en h6 { line-height: var(--lh-heading); }
html.lang-en .subhead-elegant,
html.lang-en .section-subtitle,
html.lang-en .hero-slogan-en,
html.lang-en .biz-tile-desc,
html.lang-en .nf-summary,
html.lang-en p {
  font-family: var(--font-latin);
  letter-spacing: .012em;
}
html.lang-en .hero-headline { font-size: clamp(2.1rem, 5.5vw, 3.9rem); }
html.lang-en .section-title { font-size: clamp(1.6rem, 3.6vw, 2.5rem); }
html.lang-en .nav-item > a, html.lang-en .nav-link,
html.lang-en .mega-col a, html.lang-en .dropdown-menu a,
html.lang-en .nav-drawer-body a {
  font-family: var(--font-ui);
}
/* long English words wrap cleanly */
html.lang-en .biz-tile-title,
html.lang-en .nf-title,
html.lang-en .nli-title { overflow-wrap: break-word; }

/* ── English: 中文常用的正字距在拉丁文里会拉散单词，逐一中和 ── */
html.lang-en .mega-group-title,
html.lang-en .drawer-group-title,
html.lang-en thead th { letter-spacing: .02em; }
html.lang-en .hero-slogan-en { letter-spacing: .1em; }

/* ── English: 长化学品名 / 技术名词换行保护（卡片、单元格、导航都可能溢出）── */
html.lang-en .biz-tile-desc,
html.lang-en .pc-name,
html.lang-en .nf-summary,
html.lang-en .footer-brand p,
html.lang-en .footer-col a { overflow-wrap: anywhere; hyphens: auto; }
/* 单元格用 break-word 而非 anywhere：只在整词放不下时才断，避免把价格数字拆开 */
html.lang-en tbody td { overflow-wrap: break-word; }
/* 表头 nowrap 在英文下会把表格撑到横向滚动 —— 允许两行 */
html.lang-en thead th { white-space: normal; overflow-wrap: break-word; line-height: 1.4; }

/* ── English: 长文可读行宽 66–75ch（.section-subtitle 原 600px≈60ch 已合适，不动）── */
html.lang-en .hero-subtitle { max-width: min(66ch, 100%); }

/* ── 数字/价格一律走 UI 字体并等宽对齐（中英通用）── */
.pc-unit, .nli-time, .news-date, .nf-meta,
.footer-bottom, .price-hint {
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

/* ── 360px：英文标题最易溢出，收紧字阶并强制断词 ── */
@media (max-width: 380px) {
  html.lang-en .hero-headline { font-size: clamp(1.75rem, 8.5vw, 2.3rem); letter-spacing: 0; }
  html.lang-en .section-title { font-size: clamp(1.35rem, 6.6vw, 1.75rem); }
  html.lang-en h1, html.lang-en h2, html.lang-en h3 { overflow-wrap: anywhere; hyphens: auto; }
  html.lang-en .nav-cta { font-size: .74rem; padding: .5rem 1rem !important; }
}

/* ---- realtime feed stamp ---- */
#mkt-updated {
  font-size: .72rem;
  color: var(--text-muted);
  margin-bottom: .25rem;
  opacity: 0;
  transition: opacity .4s ease;
}
#mkt-updated.is-live { opacity: 1; }
#mkt-updated.is-live::before {
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  margin-right: .45rem;
  border-radius: 50%;
  background: #16a34a;
  box-shadow: 0 0 0 0 rgba(22,163,74,.6);
  animation: mktPulse 2s infinite;
  vertical-align: middle;
}
@keyframes mktPulse {
  0%   { box-shadow: 0 0 0 0 rgba(22,163,74,.55); }
  70%  { box-shadow: 0 0 0 6px rgba(22,163,74,0); }
  100% { box-shadow: 0 0 0 0 rgba(22,163,74,0); }
}

/* ============================================================
   山水画卷底纹 — scroll-unrolling ink landscape (subtle)
   ============================================================ */
.ink-scroll-bg {
  position: fixed; inset: 0; z-index: 0;
  pointer-events: none; overflow: hidden;
}
/* 宣纸肌理层：固定铺满视口，暖调 multiply，零视差 —— 纸是天地，墨行其上 */
.ink-scroll-paper {
  position: absolute; inset: 0;
  background-repeat: repeat; background-size: 300px 300px;
  mix-blend-mode: multiply; opacity: 0.65;
}
/* 写意墨层：自上而下铺满视口（满卷），各自极微视差 */
.ink-scroll-layer {
  position: absolute; left: 0; right: 0; width: 100%;
  background-repeat: no-repeat; background-position: center;
  background-size: 100% 100%;
  mix-blend-mode: multiply;
  will-change: transform;
}
/* keep all real content above the watermark;
   explicitly exclude fixed/overlay UI so their own positioning wins */
body > *:not(.ink-scroll-bg):not(.header):not(.nav-drawer-overlay):not(.nav-drawer):not(.back-to-top) {
  position: relative; z-index: 1;
}
@media (max-width: 640px) {
  /* 移动端透明度由 scroll-ink.js 整体下调，避免喧宾夺主 */
}

/* 示例说明横幅（cases / 数据演示统一风格） */
.cases-disclaimer{
  max-width:1180px;margin:0 auto 1.6rem;padding:.8rem 1.1rem;
  background:rgba(0,144,64,.08);border:1px solid rgba(0,144,64,.28);
  border-left:3px solid var(--ink-main);border-radius:10px;
  font-size:.82rem;line-height:1.65;color:var(--text-deep);
}
.cases-disclaimer::before{content:"示例说明 · ";font-weight:600;color:var(--ink-main);}
html.lang-en .cases-disclaimer::before{content:"Note · ";}

/* ── AI 能力中心 ── */
.ai-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:2.6rem 0;}
.ai-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:1.7rem 1.5rem;box-shadow:0 1px 2px rgba(15,40,28,.05);transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease;}
.ai-card:hover{box-shadow:0 10px 26px rgba(0,90,45,.12);transform:translateY(-3px);border-color:rgba(0,144,64,.35);}
.ai-card h3{font-family:'ZCOOL XiaoWei','Noto Serif SC',serif;font-size:1.22rem;font-weight:400;letter-spacing:.01em;color:var(--ink-main);margin:.1rem 0 .7rem;}
.ai-card p{font-family:var(--font-body);font-size:.92rem;color:var(--text-deep);line-height:1.72;margin:0 0 1rem;}
.ai-input{width:100%;padding:.62rem .85rem;border:1px solid var(--border);border-radius:9px;font-family:var(--font-ui);font-size:.9rem;color:var(--ink-main);margin-bottom:.6rem;background:#fff;transition:border-color .2s,box-shadow .2s;}
.ai-input::placeholder{color:#9aa6a0;}
.ai-input:focus{outline:none;border-color:var(--ink-main);box-shadow:0 0 0 3px rgba(0,144,64,.14);}
.ai-btn{display:inline-block;background:var(--ink-main);color:#fff;border:none;border-radius:9px;padding:.62rem 1.3rem;font-family:var(--font-ui);font-size:.9rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .2s,transform .1s;}
.ai-btn:hover{background:var(--ink-dark);}
.ai-btn:active{transform:translateY(1px);}
.ai-out{margin-top:1rem;font-size:.9rem;line-height:1.75;color:var(--text-deep);background:#f5f8f6;border:1px solid var(--border);border-radius:10px;padding:.95rem 1.05rem;max-height:280px;overflow:auto;}
.ai-out:empty{display:none;}
html.lang-en .ai-card p,html.lang-en .ai-out{font-family:var(--font-ui);}
.rag-a{white-space:pre-wrap;background:rgba(0,144,64,.06);border-left:3px solid var(--ink-main);padding:.9rem 1rem;border-radius:0 8px 8px 0;}
.rag-cites{margin-top:1rem;font-size:.82rem;color:var(--text-deep);}
.rag-cites b{color:var(--ink-main);}
.rag-loading,.nl-warn,.tp-warn,.pa-warn,.cite-warn{color:#b06;font-size:.85rem;padding:.6rem 0;}
.pa-card,.tp-card,.nl-card,.anom-card,.cite-ok{background:rgba(0,144,64,.05);border:1px solid rgba(0,144,64,.25);border-radius:10px;padding:1rem 1.1rem;margin-top:.6rem;}
.pa-price{color:var(--ink-main);font-weight:600;}
.tp-spark,.nl-spark{margin:.4rem 0;}
.tp-prob{color:var(--ink-main);font-weight:600;}
.anom-sub{font-size:.8rem;color:var(--text-deep);}
.anom-row{display:flex;justify-content:space-between;padding:.35rem .2rem;border-bottom:1px dashed var(--border);}
.anom-z{color:#b06;font-weight:600;}
.cite-ok{color:#0a7a3a;}

/* ============================================================
   移动端深度优化 — 折叠屏(foldable) + 平板(tablet) 精调
   Task #110 · 20260801 · 置于文件末尾以获得最高层叠优先级，
   仅新增覆盖，不改动既有 771/777/815/918/977 断点行为。
   目标设备：Galaxy Fold 外屏 280、折叠展开 540/600、
   iPad 竖屏 768、iPad 横屏/Pro 1024、Android 平板 600–900。
   ============================================================ */

/* ── 平板区间 (600–1024px)：竖屏 iPad / 折叠屏展开 / 大屏安卓平板 ── */
@media (min-width: 600px) and (max-width: 1024px) {
  .container { padding: 0 1.8rem; }
  /* AI 卡片强制两列：auto-fit minmax(300px) 在 ~640px 会塌成单列留白过大 */
  .ai-grid { grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
  /* 业务四宫格在 1024 规则下已是两列，这里放大触摸留白与字号 */
  .biz-tile { padding: 1.9rem 1.6rem; }
  .biz-tile-title { font-size: 1.15rem; }
  .section-header { margin-bottom: 3rem; }
  /* 平板空间充足：价格卡恢复网格自适应，不用手机横滑 */
  .price-grid {
    display: grid; grid-template-columns: repeat(3, 1fr);
    overflow: visible; gap: 1rem; padding-bottom: 0;
  }
  .price-card { flex: initial; min-width: 0; }
  .price-hint { display: none; }
}

/* ── 平板横屏 / 折叠大屏 (768–1024px)：顶部导航仍显示，收紧间距防换行溢出 ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .header { padding: 0 1.4rem; }
  .header-inner { gap: 1rem; }
  .nav-list { gap: 0; }
  .nav-item > a, .nav-link { padding: .5rem .5rem; font-size: .78rem; }
  .caret { font-size: .52rem; }
  .nav-cta { padding: .5rem 1rem !important; font-size: .76rem; }
  .logo-cn { font-size: 1.06rem; }
}

/* ── 手机 / 折叠屏外屏 (≤599px)：单列 AI、放大触摸目标 ── */
@media (max-width: 599px) {
  /* AI 卡片单列：minmax(300px) 在 <600 会横向溢出，强制单列 */
  .ai-grid { grid-template-columns: 1fr; gap: 1rem; margin: 1.8rem 0; }
  .ai-card { padding: 1.3rem 1.15rem; }
  .ai-btn { padding: .7rem 1.3rem; }               /* 触摸目标≥44px */
  .ai-input { padding: .7rem .85rem; font-size: 16px; } /* 16px 防 iOS 聚焦缩放 */
  .nav-drawer-body > a { padding: .85rem .6rem; }  /* 抽屉链接更易点按 */
  .hero-cta { gap: 10px; }
}

/* ── 折叠屏外屏 / 超窄机 (≤360px)：Galaxy S/Fold 外屏、iPhone SE 边界 ── */
@media (max-width: 360px) {
  .container { padding: 0 1rem; }
  .header { padding: 0 1rem; }
  .header-inner { height: 60px; gap: .6rem; }
  .logo-image { height: 34px; }
  .logo-cn { font-size: 1rem; letter-spacing: .02em; }
  .logo-en { font-size: .52rem; letter-spacing: .08em; }
  .hero-section { min-height: 78vh; padding: 82px 1rem 36px; }
  .hero-headline { font-size: clamp(1.9rem, 9vw, 2.4rem); }
  .hero-slogan-en { letter-spacing: .12em; font-size: .82rem; }
  .hero-subtitle { font-size: .92rem; }
  .hero-cta > * { width: 100%; justify-content: center; } /* CTA 满宽堆叠 */
  .section { padding: 3.2rem 0; }
  .section-header { margin-bottom: 2rem; }
  .price-card { flex: 0 0 72%; min-width: 138px; }
  .biz-tile { padding: 1.3rem 1.1rem; }
  .biz-tile-title { font-size: 1.02rem; }
  .biz-tile-desc { font-size: .8rem; }
  table { font-size: .8rem; }
  .footer-grid { gap: 1.4rem; }
}

/* ── 超窄折叠屏 (≤300px)：三星 Galaxy Fold 外屏 280px ── */
@media (max-width: 300px) {
  .biz-grid { grid-template-columns: 1fr; }   /* 两列在 280px 会撑破，改单列 */
  .biz-tile { border-right: none; border-bottom: 1px solid var(--border-ink); }
  .biz-tile:last-child { border-bottom: none; }
  .hero-headline { font-size: 1.7rem; }
  .logo-en { display: none; }                 /* 隐藏拉丁副名防溢出（中文模式）*/
  html.lang-en .logo-cn { display: none; }
  html.lang-en .logo-en { display: block; font-size: .78rem; }
  .price-card { flex: 0 0 84%; }
  .nav-cta.drawer-cta { font-size: .8rem; }
}

/* ── 折叠屏「铰链」跨屏保护：双屏设备横向展开时限制超宽正文行宽 ── */
@media (min-width: 600px) and (max-width: 1100px) and (min-aspect-ratio: 1/1) {
  .hero-subtitle, .section-subtitle { max-width: min(62ch, 92%); }
}
