/* ============================================================
   SilkCare 丝路关怀 · Design Tokens
   依据《SilkCare设计系统v1.0.md》（含 2026-10-13 visual-qa 修订）
   - WA绿 #14843C：白字对比度 4.77:1，过 WCAG AA（原 #25D366 仅 1.99:1）
   - 绿色仅限 CTA；深青为品牌色；紫粉渐变零容忍
   ============================================================ */
:root{
  /* 色彩 */
  --bg:#FAF7F2;            /* 暖沙底 */
  --card:#FFFFFF;
  --ink:#2A2E33;           /* 正文 */
  --ink-2:#6B6F76;         /* 次级 */
  --ink-3:#6B7078;
  --brand:#0E5A5A;         /* 深青 */
  --brand-soft:#E7F0EF;
  --wa:#14843C;            /* CTA 专用可及绿 */
  --wa-deep:#0E6B2E;       /* CTA hover/active */
  --line:#E8E2D8;
  --sand:#F1EBE0;          /* 交替区块 */
  --warn-bg:#FBF3E2;       /* "三个不是"警示徽章 */
  --warn-ink:#8A6D3B;
  --warn-line:#EFDFBC;
  --focus-ring:0 0 0 3px rgba(14,90,90,.4);

  /* 圆角 */
  --radius:8px;
  --radius-md:12px;
  --radius-lg:16px;

  /* 字体（按语种由 html[lang] 选择；webfont 见各页 <link>） */
  --font-latin:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',sans-serif;
  --font-zh:'Noto Sans SC',-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;
  --font-bn:'Anek Bangla',var(--font-latin);  /* bn 语种页启用（Phase 3） */

  /* 动效 */
  --ease:cubic-bezier(.16,1,.3,1);
  --dur-fast:150ms;
  --dur-normal:300ms;

  /* 版式（桌面基准；移动端就近覆盖） */
  --wrap:1080px;
  --gutter:24px;
}

/* 语种字体路由 */
html[lang="zh-CN"] body,html[lang="zh"] body{font-family:var(--font-zh)}
html[lang="en"] body{font-family:var(--font-latin)}
html[lang="bn"] body{font-family:var(--font-bn)}

/* 基础 */
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-size:15px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink-2)}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:none;box-shadow:var(--focus-ring);border-radius:4px;
}
h1,h2,h3{line-height:1.3;margin:0}
p{margin:0}
ul{margin:0;padding:0;list-style:none}

/* 无障碍 */
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--brand);color:#fff;padding:10px 16px;z-index:100}
.skip-link:focus{left:8px;top:8px}

/* 滚动显现（JS 加 .in；reduced-motion 时 CSS 直接可见） */
.rv{opacity:1}
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .js .rv{opacity:1;transform:none;transition:none}
}
