html,body{overflow-x:clip;max-width:100vw}
@font-face{font-family:'Avora Serif';src:url('/assets/NotoSerifSC-subset.woff2') format('woff2');font-weight:400 700;font-display:swap;}
/* ══════════════════════════════════════════════════════════════
   Avora Editorial 设计系统 — 全站统一高端层 (ADR-160 §10)
   一处定义, 全站引入 (紧跟 shared.css 之后 layer on top).
   目标: 杂志感衬线标题 + 大留白节奏 + 卡片质感 + 克制金铜 + 顺滑动效.
   不改结构/不改逻辑, 纯视觉层. 各页局部样式仍可覆盖.
   ══════════════════════════════════════════════════════════════ */

:root {
  --serif: 'Avora Serif', Georgia, 'Noto Serif SC', 'Songti SC', serif;
  /* 西文优雅衬线 Cormorant; 中文落到重黑体(PingFang), 宋体大标题暗底发糊已弃 */
  --serif-weight: 600;
  --ease: cubic-bezier(.22,.61,.36,1);
  --primary: var(--accent);          /* 消灭残留青 #00e5ff */
  --shadow-lift: 0 18px 44px rgba(0,0,0,.28);
  --shadow-soft: 0 6px 22px rgba(0,0,0,.18);
}

/* ── 字体渲染精修(全站) ── */
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* ── 衬线 display: 标题走杂志感(全站 h1/h2 + 常见标题类) ── */
h1, h2,
.section-title, .page-title, .hero-title, .cta-title,
.modal-title, .sheet-title, .card-hero-title {
  font-family: var(--serif);
  font-weight: 560;              /* 轻盈高端: 中文标题不塞满, 留呼吸感 */
  letter-spacing: .5px;          /* 中文字距开阔, 奢侈品排版 */
  line-height: 1.24;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-wrap: balance;
  text-rendering: geometricPrecision;
  word-break: keep-all;          /* 中文不在词中断行(防"就/够"孤字) */
  overflow-wrap: break-word;
}
h1, .hero-title, .cta-title { letter-spacing: -.5px; }

/* 排除: 代码/等宽/后台密集表格区不强制衬线 */
code h1, code h2, pre h1, pre h2,
.mono h1, .mono h2, .no-serif, .no-serif h1, .no-serif h2 {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* small-caps 标签(eyebrow/section-label 类) */
.section-label, .eyebrow, .kicker {
  font-size: 11px; font-weight: 700; letter-spacing: 2.4px;
  text-transform: uppercase; color: var(--accent);
}

/* ── 卡片: 渐变底 + 悬浮投影 + 顶部金线(editorial 质感) ── */
.card {
  border-radius: var(--radius, 16px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 1px 3px rgba(0,0,0,.14);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-soft);
  border-color: rgba(203,176,121,.34);
}

/* ── 按钮立体感: 渐变(光从上)+内高光边+多层投影+按压物理反馈(全站主按钮) ── */
.btn, button.btn, .btn-primary, .nav-cta, .btn.primary {
  transition: transform .18s var(--ease), box-shadow .22s var(--ease), filter .2s;
}
/* 金铜主按钮/CTA/nav: 立体金属质感 */
.btn-primary, .btn.primary, .nav-cta {
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--accent) 82%, #fff) 0%,
    var(--accent) 34%,
    color-mix(in srgb, var(--accent) 90%, #000) 100%) !important;
  color: var(--accent-text) !important;
  border: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),      /* 顶部内高光边(金属反光) */
    inset 0 -1px 0 rgba(0,0,0,.18),           /* 底部内暗边(厚度) */
    0 2px 4px rgba(120,90,30,.28),            /* 近投影 */
    0 8px 20px rgba(120,90,30,.30);           /* 远投影(悬浮) */
}
.btn-primary:hover, .btn.primary:hover, .nav-cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.5),
    inset 0 -1px 0 rgba(0,0,0,.18),
    0 4px 8px rgba(120,90,30,.3),
    0 14px 30px rgba(120,90,30,.38);
}
.btn-primary:active, .btn.primary:active, .nav-cta:active {
  transform: translateY(1px) scale(.99);       /* 物理按下 */
  filter: brightness(.97);
  box-shadow:
    inset 0 2px 5px rgba(0,0,0,.28),           /* 按下=内凹 */
    inset 0 1px 0 rgba(255,255,255,.2),
    0 1px 3px rgba(120,90,30,.24);
}
/* 次级按钮(ghost/outline): 轻立体 */
.btn:not(.btn-primary):not(.primary) {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 1px 3px rgba(0,0,0,.14);
}
.btn:not(.btn-primary):not(.primary):hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 3px 10px rgba(0,0,0,.2); }
.btn:not(.btn-primary):not(.primary):active { transform: translateY(1px); box-shadow: inset 0 2px 4px rgba(0,0,0,.2); }

/* ── 输入: 金铜聚焦环(全站 input/select/textarea) ── */
input:not([type=checkbox]):not([type=radio]):focus,
select:focus, textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(203,176,121,.15);
  transition: border-color .2s, box-shadow .2s;
}

/* ── chip / badge / tab: 精修描边质感 ── */
.chip, .badge { transition: background .2s, border-color .2s, color .2s; }
.tab, [role=tab] { transition: color .2s, border-color .2s, background .2s; }

/* ── modal / sheet: 玻璃质感 + 深投影(全站弹层) ── */
.modal, .sheet, .modal-card, .sheet-card, .popover {
  box-shadow: var(--shadow-lift);
  border-radius: var(--radius, 16px);
}

/* ── 分隔线金铜细线(section 分割) ── */
.section-label::after, .divider-gold::after {
  content: ''; display: block; width: 28px; height: 1px; margin: 12px auto 0;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
}

/* ── reveal-on-scroll(可选类; 无 JS 时降级为可见) ── */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
/* 无JS/IO失败兜底: 动画未触发也在 2s 后可见, 绝不白屏 */
@keyframes _revealSafe { to { opacity: 1; transform: none; } }
.reveal { animation: _revealSafe 0s linear 2s forwards; }
.reveal.in { animation: none; }
.no-js .reveal { opacity: 1 !important; transform: none !important; }

/* ── 全站过渡顺滑(链接/图标 hover) ── */
a { transition: color .2s; }

/* ── 无障碍: 尊重减少动效偏好 ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}


/* ══════════ Light 模式 editorial 校准(浅底阴影轻/金克制) ══════════ */
:root[data-theme='light'] {
  --shadow-lift: 0 14px 36px rgba(60,50,30,.12);
  --shadow-soft: 0 5px 18px rgba(60,50,30,.08);
}
:root[data-theme='light'] .card:hover {
  border-color: rgba(156,123,46,.30);
  box-shadow: var(--shadow-soft);
}
:root[data-theme='light'] .btn-primary,
:root[data-theme='light'] .btn.primary {
  box-shadow: 0 4px 16px rgba(156,123,46,.20);
}
:root[data-theme='light'] .btn-primary:hover,
:root[data-theme='light'] .btn.primary:hover,
:root[data-theme='light'] .nav-cta:hover {
  box-shadow: 0 8px 24px rgba(156,123,46,.30);
}
:root[data-theme='light'] input:focus,
:root[data-theme='light'] select:focus,
:root[data-theme='light'] textarea:focus {
  box-shadow: 0 0 0 3px rgba(156,123,46,.14);
}

:root[data-theme='light'] .btn-primary,
:root[data-theme='light'] .btn.primary,
:root[data-theme='light'] .nav-cta {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    inset 0 -1px 0 rgba(0,0,0,.12),
    0 2px 4px rgba(133,104,37,.22),
    0 8px 18px rgba(133,104,37,.22) !important;
}
:root[data-theme='light'] .btn-primary:hover,
:root[data-theme='light'] .btn.primary:hover,
:root[data-theme='light'] .nav-cta:hover {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.6),
    0 4px 8px rgba(133,104,37,.24),
    0 14px 28px rgba(133,104,37,.3) !important;
}


/* 手机端标题防溢出 + 折行优雅 */
@media (max-width: 520px) {
  .hero-title, h1 { font-size: clamp(38px, 12vw, 60px) !important; letter-spacing: .3px; }
  .section-title { font-size: clamp(26px, 8vw, 40px) !important; }
  .cta-title { font-size: clamp(30px, 9vw, 46px) !important; }
}

/* section-title 第二行(中文防孤字断行); 空则不显示 */
.section-title .sf2{display:block}
.section-title .sf2:empty{display:none}

/* 禁移动端双击缩放(苹果App体验), 保留滚动/单击; iOS忽略maximum-scale故用touch-action */
html { touch-action: manipulation; -webkit-text-size-adjust: 100%; }
button, .btn, a, input, select, textarea, .card, .tab, [role=tab], [onclick] { touch-action: manipulation; }

/* 高级黑材质记忆点(暗底不平, 极淡噪点+顶部光晕, 区分廉价黑vs高级黑) */
html[data-theme='dark']::before {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(90% 55% at 50% -8%, rgba(203,176,121,.09), transparent 60%),
    radial-gradient(60% 40% at 100% 100%, rgba(203,176,121,.04), transparent 55%);
}
/* 极淡噪点(SVG data-uri, 无外链, 加质感防死黑) */
html[data-theme='dark']::after {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0; opacity: .025;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27120%27 height=%27120%27%3E%3Cfilter id=%27n%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%270.85%27 numOctaves=%272%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23n)%27/%3E%3C/svg%3E");
}
/* 内容浮在材质之上 */
.nav, .hero, .features, .cta-section, footer { position: relative; z-index: 1; }

/* 多语言标题防溢出(日/韩/印地/阿/长拉丁不突破视口) */
.hero-title, .cta-title, .section-title, h1, h2 {
  overflow-wrap: break-word;
  max-width: 100%;
}
@media (max-width: 600px) {
  .hero-title, h1 { letter-spacing: .3px !important; }
  .cta-title { letter-spacing: .3px !important; font-size: clamp(28px,7.5vw,44px) !important; }
}
