/* ==========================================================
   JR杰瑞 · 统一底座 02 · 基础层 (Base)
   ------------------------------------------------------------
   只新增能力，不重置任何既有元素 → 对现有页面零副作用。
   新增：焦点环 / 跳转链接 / 屏幕阅读器 / 减动效 / 排版工具类
   ========================================================== */

/* ---- 统一焦点环（可访问性） ---- */
[data-jr-base] :focus-visible {
  outline: 2px solid var(--accent, #B4532A);
  outline-offset: 2px;
  border-radius: 4px;
}
[data-jr-base] :focus:not(:focus-visible) { outline: none; }

/* ---- 跳转到主内容（键盘用户） ---- */
.jr-skip {
  position: absolute;
  left: 16px;
  top: -60px;
  z-index: 9999;
  padding: 10px 18px;
  background: var(--accent, #B4532A);
  color: #FFFDF8;
  font-size: var(--fs-14, 14px);
  font-weight: 700;
  border-radius: var(--r-sm, 8px);
  transition: top var(--dur, 200ms) var(--ease, cubic-bezier(.2,.7,.3,1));
}
.jr-skip:focus { top: 12px; }

/* ---- 屏幕阅读器专用 ---- */
.jr-sr {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ---- 尊重系统减动效偏好 ---- */
@media (prefers-reduced-motion: reduce) {
  [data-jr-base] *,
  [data-jr-base] *::before,
  [data-jr-base] *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ============================================================
   排版工具类（新类名，不与既有 class 冲突）
   ========================================================== */
.jr-h1 {
  font-family: var(--serif);
  font-weight: 900;
  font-size: clamp(30px, 4.2vw, var(--fs-48, 48px));
  line-height: var(--lh-title, 1.3);
  letter-spacing: var(--ls-title, -0.01em);
  color: var(--text);
  margin: 0;
}
.jr-h2 {
  font-family: var(--serif);
  font-weight: 900;
  font-size: clamp(24px, 3vw, var(--fs-38, 38px));
  line-height: var(--lh-title, 1.3);
  letter-spacing: var(--ls-title, -0.01em);
  color: var(--text);
  margin: 0;
}
.jr-h3 {
  font-family: var(--font);
  font-weight: 700;
  font-size: var(--fs-20, 20px);
  line-height: var(--lh-title, 1.3);
  color: var(--text);
  margin: 0;
}
.jr-p {
  font-size: var(--fs-16, 16px);
  line-height: var(--lh-body, 1.75);
  color: var(--text-dim, var(--text));
  margin: 0;
}
.jr-lead {
  font-size: var(--fs-18, 18px);
  line-height: var(--lh-body, 1.75);
  color: var(--muted);
  margin: 0;
}
.jr-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-12, 12.5px);
  font-weight: 700;
  letter-spacing: var(--ls-eyebrow, .14em);
  text-transform: uppercase;
  color: var(--accent);
  margin: 0;
}
.jr-mono {
  font-family: var(--mono);
  font-variant-numeric: normal; /* 禁用等宽数字（品牌禁项） */
}
