/* editorial-cn.css — Editor's Tech v2.0 for toukenai.cn knowledge base
   Loaded AFTER main.css + page CSS. OKLCH only. No HTML structure changes.
   Design: warm paper + amber accent + serif display; long-read friendly. */

:root {
  --p-ink-100: oklch(96% 0.0088 90);
  --p-ink-300: oklch(92% 0.012 85);
  --p-ink-500: oklch(55% 0.015 260);
  --p-ink-600: oklch(45% 0.015 260);
  --p-ink-700: oklch(32% 0.018 260);
  --p-ink-900: oklch(20% 0.015 265);
  --p-amber-200: oklch(90% 0.1 80);
  --p-amber-300: oklch(85% 0.13 75);
  --p-amber-500: oklch(75% 0.1675 55);
  --p-amber-600: oklch(68% 0.15 50);
  --p-border: oklch(90% 0.01 85);
  --p-border-strong: oklch(85% 0.015 85);
  --p-paper: oklch(98% 0.006 90);
  --p-paper-alt: oklch(96.5% 0.007 90);
  --p-serif: "Noto Serif SC", "Songti SC", "SimSun", Georgia, "Times New Roman", serif;
  --p-sans: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "DM Sans", system-ui, sans-serif;
  --p-mono: "JetBrains Mono", "SF Mono", "Cascadia Code", Consolas, monospace;

  /* remap legacy teal system → editorial (cascade into main.css vars) */
  --primary: var(--p-amber-600);
  --primary-dark: var(--p-ink-700);
  --primary-light: var(--p-amber-500);
  --primary-gradient: linear-gradient(135deg, var(--p-amber-500) 0%, var(--p-ink-700) 100%);
  --primary-gradient-soft: linear-gradient(135deg, oklch(75% 0.1675 55 / 0.12) 0%, oklch(32% 0.018 260 / 0.06) 100%);
  --bg-light: var(--p-paper-alt);
  --bg-white: var(--p-paper);
  --bg-card: var(--p-paper);
  --bg-primary: var(--p-paper-alt);
  --text-dark: var(--p-ink-900);
  --text-gray: var(--p-ink-600);
  --text-light: var(--p-ink-500);
  --text-primary: var(--p-ink-900);
  --border: var(--p-border);
  --radius: 14px;
  --shadow: 0 2px 8px oklch(32% 0.018 260 / 0.06);
  --shadow-lg: 0 12px 32px oklch(32% 0.018 260 / 0.1);
  --shadow-hover: 0 16px 40px oklch(32% 0.018 260 / 0.12);
}

/* ===== canvas ===== */
html { scroll-behavior: smooth; }
html, body {
  background: var(--p-paper) !important;
  color: var(--p-ink-700) !important;
  font-family: var(--p-sans);
  overflow-x: hidden;
}
body { line-height: 1.75; letter-spacing: 0.01em; }

/* ===== typography: serif display ===== */
h1, h2, h3, h4, .section-title, .logo-text, .category-card h3, .article-card h3,
.hero h1, .page-hero h1, .category-title, .footer-brand .logo-text {
  font-family: var(--p-serif) !important;
  letter-spacing: 0.02em;
}
h1, h2, h3 { color: var(--p-ink-900) !important; }
.section-title {
  font-weight: 700;
  font-size: clamp(1.35rem, 2.5vw, 1.75rem) !important;
  position: relative;
  padding-bottom: 0.55rem !important;
}
.section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 48px;
  height: 3px;
  background: var(--p-amber-500);
  border-radius: 2px;
}
.section-header { align-items: flex-end; gap: 1rem; }
.section-link { color: var(--p-amber-600) !important; font-weight: 600; }
p { overflow-wrap: break-word; }
main a:not(.btn) { text-decoration-color: var(--p-amber-500); text-underline-offset: 3px; }

/* ===== header ===== */
header {
  background: oklch(98% 0.006 90 / 0.94) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--p-border) !important;
  box-shadow: none !important;
}
.logo-text small { color: var(--p-amber-600) !important; }
.nav-links a { color: var(--p-ink-600) !important; font-weight: 500; }
.nav-links a:hover,
.nav-links a.active { color: var(--p-ink-900) !important; background: oklch(75% 0.1675 55 / 0.12) !important; }
.nav-links a.nav-external { color: var(--p-amber-600) !important; }
.search-box input {
  background: var(--p-paper) !important;
  border-color: var(--p-border) !important;
  border-radius: 999px !important;
}

/* ===== hero: warm paper, left-weighted KB masthead ===== */
.hero {
  background: linear-gradient(180deg, var(--p-ink-100) 0%, var(--p-paper) 100%) !important;
  color: var(--p-ink-700) !important;
  padding: clamp(2.5rem, 6vw, 4.5rem) 0 !important;
}
.hero-container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  width: auto !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
  min-width: 0 !important;
}
.hero::before { opacity: 0.04 !important; filter: none; }
.hero-content { text-align: left !important; max-width: min(920px, 100%) !important; margin: 0 !important; min-width: 0; }
.hero:not(:has(.hero-container)) { padding-left: max(2rem, calc((100% - 1400px) / 2 + 2rem)) !important; padding-right: max(2rem, calc((100% - 1400px) / 2 + 2rem)) !important; }
.hero h1 {
  color: var(--p-ink-900) !important;
  background: none !important;
  -webkit-text-fill-color: unset !important;
  background-clip: unset !important;
  font-weight: 700 !important;
  font-size: clamp(1.85rem, 5.5vw, 3.1rem) !important;
  line-height: 1.2 !important;
  overflow-wrap: break-word;
  word-break: break-word;
}
.hero-content h1 { max-width: 18ch; }
.hero p {
  color: var(--p-ink-600) !important;
  opacity: 1 !important;
  font-size: clamp(1rem, 2vw, 1.15rem) !important;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}
.hero-content p { max-width: min(42rem, 100%); }
.hero-badge {
  background: oklch(75% 0.1675 55 / 0.16) !important;
  color: var(--p-ink-700) !important;
  border: 1px solid oklch(75% 0.1675 55 / 0.35);
  font-weight: 600;
}
.hero-content .hero-stats {
  justify-content: flex-start !important;
  gap: clamp(1.25rem, 4vw, 2.75rem) !important;
  margin-top: 2.25rem !important;
  padding-top: 1.75rem;
  border-top: 1px solid var(--p-border) !important;
  flex-wrap: wrap;
}
.hero-stat-number {
  font-family: var(--p-serif) !important;
  color: var(--p-ink-900) !important;
  font-weight: 700 !important;
}
.hero-stat:nth-child(2) .hero-stat-number,
.hero-stat:nth-child(4) .hero-stat-number { color: var(--p-amber-600) !important; }
.hero-stat-label { color: var(--p-ink-500) !important; opacity: 1 !important; }

/* ===== buttons ===== */
.btn {
  border-radius: 999px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease !important;
}
.btn-primary, .btn-white {
  background: var(--p-amber-500) !important;
  color: var(--p-ink-900) !important;
  border: none !important;
  box-shadow: 0 2px 14px oklch(75% 0.1675 55 / 0.4) !important;
}
.btn-primary:hover, .btn-white:hover {
  background: var(--p-amber-600) !important;
  color: var(--p-ink-900) !important;
  transform: translateY(-1px);
  filter: none !important;
}
.btn-outline {
  background: transparent !important;
  color: var(--p-ink-700) !important;
  border: 1.5px solid var(--p-ink-600) !important;
}
.btn-outline:hover {
  border-color: var(--p-amber-500) !important;
  color: var(--p-ink-900) !important;
  background: oklch(75% 0.1675 55 / 0.08) !important;
}

/* ===== category cards ===== */
.category-card {
  background: var(--p-paper) !important;
  border: 1px solid var(--p-border) !important;
  box-shadow: var(--shadow) !important;
  border-radius: var(--radius) !important;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s !important;
}
.category-card:hover {
  border-color: var(--p-amber-300) !important;
  box-shadow: var(--shadow-hover) !important;
  transform: translateY(-3px) !important;
}
.category-card:nth-child(n) .category-icon {
  background: oklch(75% 0.1675 55 / 0.14) !important;
}
.category-card h3 { color: var(--p-ink-900) !important; font-size: 1.15rem !important; }
.category-card p { color: var(--p-ink-500) !important; }
.category-count {
  background: oklch(75% 0.1675 55 / 0.12) !important;
  color: var(--p-amber-600) !important;
  border: 1px solid oklch(75% 0.1675 55 / 0.3);
}

/* ===== article list / cards ===== */
.article-card, .article-item, .content-card, .quick-link, .oss-repo-link {
  background: var(--p-paper) !important;
  border-color: var(--p-border) !important;
  box-shadow: var(--shadow) !important;
}
.article-card:hover, .article-item:hover {
  border-color: var(--p-amber-300) !important;
  box-shadow: var(--shadow-hover) !important;
}
.article-item:nth-child(n) .article-number {
  background: oklch(75% 0.1675 55 / 0.14) !important;
  color: var(--p-amber-600) !important;
}
.article-tag {
  background: var(--p-ink-700) !important;
  color: var(--p-amber-300) !important;
}
.hot-tag, .hero-badge, .news-cat, .cat-tab {
  border-radius: 999px;
}
.cat-tab.active, .cat-tab:hover {
  background: var(--p-amber-500) !important;
  color: var(--p-ink-900) !important;
  border-color: var(--p-amber-500) !important;
}

/* ===== subpage hero ===== */
.page-hero {
  background: linear-gradient(180deg, var(--p-ink-100) 0%, var(--p-paper) 100%) !important;
  color: var(--p-ink-700) !important;
  border-bottom: 1px solid var(--p-border) !important;
}
.page-hero h1 { color: var(--p-ink-900) !important; }
.page-hero p, .page-hero .page-description { color: var(--p-ink-600) !important; }

/* ===== CTA strip ===== */
.cta-section, .contact-box {
  background: linear-gradient(135deg, var(--p-ink-700), var(--p-ink-900)) !important;
}
.cta-section h2, .contact-box h2, .cta-section p, .contact-box p { color: var(--p-ink-100) !important; }
.cta-section .btn-primary, .contact-box .btn-primary {
  background: var(--p-amber-500) !important;
  color: var(--p-ink-900) !important;
}

/* ===== footer ===== */
footer {
  background: var(--p-ink-900) !important;
  color: var(--p-ink-300) !important;
  border-top: 3px solid var(--p-amber-500) !important;
}
footer a { color: var(--p-amber-300) !important; }
footer a:hover { color: var(--p-amber-200) !important; }
.footer-links h4 { color: var(--p-amber-300) !important; font-family: var(--p-serif) !important; }
.footer-brand .logo-text { color: var(--p-paper) !important; }
.footer-brand p { color: var(--p-ink-300) !important; }

/* ===== article reading system (L3 — all 204 via shared) ===== */
.article-content, .article-body, .post-content, .article-detail, main.article {
  font-size: 1.05rem;
  line-height: 1.9;
  max-width: 48rem;
  color: var(--p-ink-700);
}
.article-content h2, .post-content h2, .article-body h2 {
  margin-top: 2.5em;
  padding-bottom: 0.4em;
  border-bottom: 1px solid var(--p-border);
  font-family: var(--p-serif);
}
.article-content h3, .post-content h3, .article-body h3 {
  margin-top: 1.8em;
  font-family: var(--p-serif);
}
.article-content a, .post-content a, .article-body a {
  color: var(--p-amber-600);
  text-decoration: underline;
  text-decoration-color: oklch(75% 0.1675 55 / 0.45);
  text-underline-offset: 3px;
}
.article-content a:hover, .post-content a:hover, .article-body a:hover {
  text-decoration-color: var(--p-amber-500);
}
.article-content pre, .post-content pre, .article-body pre,
article pre, .content-section pre {
  background: var(--p-ink-900) !important;
  color: oklch(92% 0.012 85) !important;
  border: 1px solid oklch(28% 0.015 265) !important;
  border-radius: 12px !important;
  padding: 1.15rem 1.25rem !important;
  box-shadow: inset 0 1px 0 oklch(100% 0 0 / 0.04);
  font-family: var(--p-mono);
  font-size: 0.9em;
  line-height: 1.7;
}
.article-content code, .post-content code, .article-body code, article code {
  font-family: var(--p-mono);
  font-size: 0.9em;
}
.article-content :not(pre) > code, .post-content :not(pre) > code, .article-body :not(pre) > code {
  background: oklch(75% 0.1675 55 / 0.14) !important;
  color: oklch(45% 0.12 50) !important;
  padding: 0.12em 0.4em;
  border-radius: 6px;
}
.article-content blockquote, .post-content blockquote, .article-body blockquote {
  border-left: 4px solid var(--p-amber-500) !important;
  background: oklch(75% 0.1675 55 / 0.08) !important;
  color: var(--p-ink-600);
  border-radius: 0 10px 10px 0;
}
.article-content img, .post-content img, .article-body img {
  border-radius: 12px;
  border: 1px solid var(--p-border);
}
.article-content table th, .post-content table th, .article-body table th {
  background: var(--p-ink-100) !important;
  color: var(--p-ink-900);
  font-family: var(--p-serif);
}
.article-content table td, .post-content table td, .article-body table td {
  border-color: var(--p-border);
}
h1, h2, h3, h4 { text-wrap: balance; }

/* ===== badges / toast ===== */
.theme-toast, .back-to-top, .ux-btn {
  border-radius: 999px !important;
}
.back-to-top, .ux-btn-back-to-top {
  background: var(--p-ink-700) !important;
  color: var(--p-amber-300) !important;
}
.back-to-top:hover, .ux-btn-back-to-top:hover {
  background: var(--p-ink-900) !important;
}

/* ===== dark theme: warm ink (not navy) ===== */
:root[data-theme="dark"] {
  --p-paper: oklch(18% 0.012 265);
  --p-paper-alt: oklch(15% 0.012 265);
  --p-ink-100: oklch(22% 0.012 265);
  --p-ink-300: oklch(78% 0.012 85);
  --p-ink-500: oklch(70% 0.012 85);
  --p-ink-600: oklch(75% 0.012 85);
  --p-ink-700: oklch(90% 0.008 90);
  --p-ink-900: oklch(96% 0.006 90);
  --p-border: oklch(30% 0.015 265);
  --bg-light: oklch(15% 0.012 265);
  --bg-white: oklch(18% 0.012 265);
  --bg-card: oklch(20% 0.012 265);
  --bg-primary: oklch(15% 0.012 265);
  --text-dark: oklch(96% 0.006 90);
  --text-gray: oklch(75% 0.012 85);
  --text-light: oklch(70% 0.012 85);
  --text-primary: oklch(96% 0.006 90);
  --primary: var(--p-amber-500);
  --primary-light: var(--p-amber-300);
}
:root[data-theme="dark"] html,
:root[data-theme="dark"] body,
[data-theme="dark"] html, [data-theme="dark"] body {
  background: oklch(18% 0.012 265) !important;
  color: oklch(90% 0.008 90) !important;
}
[data-theme="dark"] header {
  background: oklch(18% 0.012 265 / 0.94) !important;
}
[data-theme="dark"] .hero,
[data-theme="dark"] .page-hero {
  background: linear-gradient(180deg, oklch(24% 0.012 265) 0%, oklch(18% 0.012 265) 100%) !important;
  color: oklch(90% 0.008 90) !important;
}
[data-theme="dark"] .hero h1,
[data-theme="dark"] .page-hero h1,
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3 {
  color: oklch(96% 0.006 90) !important;
}
[data-theme="dark"] .hero p,
[data-theme="dark"] .hero-stat-label { color: oklch(75% 0.012 85) !important; opacity: 1 !important; }
[data-theme="dark"] .hero-stat-number { color: oklch(96% 0.006 90) !important; }
[data-theme="dark"] .hero-stat:nth-child(2) .hero-stat-number,
[data-theme="dark"] .hero-stat:nth-child(4) .hero-stat-number { color: var(--p-amber-500) !important; }
[data-theme="dark"] footer { background: oklch(14% 0.012 265) !important; }
[data-theme="dark"] .category-card,
[data-theme="dark"] .article-card,
[data-theme="dark"] .article-item,
[data-theme="dark"] .content-card {
  background: oklch(20% 0.012 265) !important;
  border-color: oklch(30% 0.015 265) !important;
}
[data-theme="dark"] .article-content pre,
[data-theme="dark"] pre {
  background: oklch(12% 0.01 265) !important;
}
[data-theme="dark"] :not(pre) > code {
  background: oklch(75% 0.1675 55 / 0.2) !important;
  color: var(--p-amber-300) !important;
}
[data-theme="dark"] .section-title { color: oklch(96% 0.006 90) !important; }

/* ===== mobile safety + rhythm ===== */
@media (max-width: 900px) {
  .hero-stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem 1rem;
    justify-items: start;
  }
  .hero-stat { min-width: 0; }
  .categories-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1rem !important; }
}
@media (max-width: 640px) {
  .hero h1 { max-width: none; font-size: clamp(1.65rem, 8vw, 2.25rem) !important; }
  .hero p { max-width: 100% !important; font-size: 1rem !important; }
  .hero { padding: 2rem 1.15rem !important; }
  .hero-stats { margin-top: 1.5rem !important; }
  .hero-stat-number { font-size: 1.75rem !important; }
  .section-header { flex-wrap: wrap; }
  .article-content, .post-content, .article-body { font-size: 1rem; line-height: 1.85; }
  html, body { overflow-x: hidden; }
  .categories-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 380px) {
  .categories-grid { grid-template-columns: 1fr !important; }
  .hero-stat-number { font-size: 1.5rem !important; }
}

/* ===== article shell (inline teal styles in articles/*.html) ===== */
html, body, body.article-page, .page-article {
  background: var(--p-paper) !important;
  color: var(--p-ink-700) !important;
}
.header, .page-header, .article-header, header, .header-container {
  background: oklch(98% 0.006 90 / 0.96) !important;
  border-color: var(--p-border) !important;
}
.header a, .page-header a, .breadcrumb a, .back-link, .back-to-home,
.header a:hover, nav[aria-label="主导航"] a:hover, .toc a:hover {
  color: var(--p-amber-600) !important;
}
nav[aria-label="主导航"] a, nav.main-nav a, a.nav-link {
  color: var(--p-ink-700) !important;
}
nav[aria-label="主导航"] a:hover, nav.main-nav a:hover, a.nav-link:hover {
  border-bottom-color: var(--p-amber-500) !important;
}
.theme-toggle:hover {
  border-color: var(--p-amber-500) !important;
  background: oklch(75% 0.1675 55 / 0.1) !important;
}
h1.title, article h1, .article-header h1 {
  font-family: var(--p-serif) !important;
  color: var(--p-ink-900) !important;
}
.toc-card, .toc {
  background: oklch(75% 0.1675 55 / 0.08) !important;
  border-color: oklch(75% 0.1675 55 / 0.25) !important;
  border-radius: 12px !important;
}
.toc-title, .toc h3 { color: var(--p-amber-600) !important; }
.toc-list a, .toc a { color: var(--p-ink-700) !important; }
.badge-row .badge, .badge {
  background: oklch(75% 0.1675 55 / 0.15) !important;
  color: var(--p-amber-600) !important;
  border-color: oklch(75% 0.1675 55 / 0.35) !important;
}
.article-footer, .footer {
  border-top-color: var(--p-border) !important;
  color: var(--p-ink-500) !important;
}
/* article main prose if container present */
article, .article, .article-content, .content {
  max-width: min(48rem, 100%);
  font-size: 1.05rem;
  line-height: 1.9;
}
[data-theme="dark"] .header,
[data-theme="dark"] .page-header,
[data-theme="dark"] .article-header {
  background: oklch(18% 0.012 265 / 0.96) !important;
  border-color: oklch(30% 0.015 265) !important;
}
[data-theme="dark"] .toc-card,
[data-theme="dark"] .toc {
  background: oklch(75% 0.1675 55 / 0.12) !important;
}
[data-theme="dark"] h1.title,
[data-theme="dark"] article h1 { color: oklch(96% 0.006 90) !important; }
[data-theme="dark"] nav[aria-label="主导航"] a,
[data-theme="dark"] nav.main-nav a,
[data-theme="dark"] a.nav-link { color: oklch(90% 0.008 90) !important; }
@media (max-width: 640px) {
  .header-container { padding-left: 1rem !important; padding-right: 1rem !important; }
  h1.title, article h1 { font-size: 1.55rem !important; }
  article, .article, .article-content, .content { font-size: 1rem; line-height: 1.85; }
}

/* ===== article callouts: kill teal (inline .tip/.tldr) ===== */
.tldr {
  background: linear-gradient(135deg, oklch(96% 0.0088 90) 0%, oklch(93% 0.01 85) 100%) !important;
  border: 1px solid oklch(75% 0.1675 55 / 0.45) !important;
  border-radius: 12px !important;
  box-shadow: inset 3px 0 0 var(--p-amber-500);
}
.tldr b, .tldr strong { color: var(--p-amber-600) !important; }
.tip {
  background: oklch(75% 0.1675 55 / 0.1) !important;
  border-left: 4px solid var(--p-amber-500) !important;
  border-radius: 0 10px 10px 0 !important;
}
.tip b, .tip strong { color: var(--p-amber-600) !important; }
.danger {
  border-left-color: oklch(55% 0.2 25) !important;
}
.note, .callout, .info {
  border-left-color: var(--p-amber-500) !important;
}
/* entry pages leftover teal utility classes (visible) */
.trust-num, .team-role, .hero-promo, .section-link,
.metric-num, .svc-title, .why-number, .stat-number {
  /* inherit remapped vars; force amber where still hex-locked below */
}
.metric-num {
  background: linear-gradient(135deg, var(--p-amber-500), var(--p-ink-700)) !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
.hero-promo {
  color: var(--p-amber-600) !important;
  background: oklch(75% 0.1675 55 / 0.14) !important;
}
.sticky-cta, .promo-banner {
  background: linear-gradient(135deg, var(--p-ink-700), var(--p-ink-900)) !important;
}
.contact-badge {
  background: var(--p-amber-500) !important;
  color: var(--p-ink-900) !important;
}
.btn-promo {
  color: var(--p-amber-600) !important;
}
.case-head::before {
  background: linear-gradient(180deg, var(--p-amber-500), var(--p-ink-700)) !important;
}
.team-role, .svc-title, .why-number, .stat-number {
  color: var(--p-amber-600) !important;
}
.cat-install { background: oklch(75% 0.1675 55 / 0.15) !important; color: var(--p-amber-600) !important; }
[data-theme="dark"] .tldr {
  background: linear-gradient(135deg, oklch(24% 0.012 265), oklch(20% 0.012 265)) !important;
  border-color: oklch(75% 0.1675 55 / 0.5) !important;
}
[data-theme="dark"] .tldr b { color: var(--p-amber-300) !important; }
[data-theme="dark"] .tip {
  background: oklch(75% 0.1675 55 / 0.12) !important;
}
[data-theme="dark"] .tip b { color: var(--p-amber-300) !important; }

/* ===== FIX: mobile subtitle/hero clip (scoped <=640; desktop keeps 1400 centered) ===== */
.hero p, .hero-subtitle, .hero-desc {
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 640px) {
  .hero {
    padding: 2rem 1rem !important;
    overflow: hidden;
  }
  .hero:not(:has(.hero-container)) {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .hero-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .hero-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  .hero-content p, .hero-content h1 {
    max-width: 100% !important;
  }
  .hero p {
    max-width: 100% !important;
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
  }
  .hero p {
    max-width: 100% !important;
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
  }
  .hero h1 {
    max-width: 100% !important;
    font-size: clamp(1.5rem, 8vw, 2rem) !important;
  }
  .hero-badge {
    max-width: 100%;
    overflow-wrap: break-word;
    white-space: normal;
    display: inline-flex;
    flex-wrap: wrap;
  }
}

/* ===== FIX: header overflow ≤480 (v2 2026-09-23) ===== */
@media (max-width: 480px) {
  .logo-text small { display: none !important; }
  .header-actions .btn { display: none !important; }
  .search-box input { width: 96px !important; font-size: 0.75rem !important; padding-left: 1.75rem !important; }
  .search-box input:focus { width: 120px !important; }
  .header-actions { gap: 0.35rem !important; flex-shrink: 0 !important; }
  .header-container { gap: 0.5rem !important; padding-right: 3.25rem !important; min-width: 0 !important; }
  .logo { min-width: 0 !important; }
  .menu-toggle {
    position: absolute !important;
    right: 0.5rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}

/* ===== FIX: wide tables overflow mobile (v5 2026-09-23) ===== */
.table-wrap, .table-scroll { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; }
@media (max-width: 768px) {
  main table, article table, .container table, table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* AUDIT-FIX-20260923 */
.skip-link{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:8px!important;top:8px!important;z-index:10000;width:auto;height:auto;padding:.5rem 1rem;background:#fff;color:#1a1a1a}
header.site-header{background:#fff;border-bottom:1px solid #e8e2d6;padding:14px 0;position:sticky;top:0;z-index:100}
.nav-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.logo-icon{width:32px;height:32px;background:linear-gradient(135deg,#c48416,#d4a84b);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:14px}
.site-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.site-nav a{color:#3d3d3d;text-decoration:none;font-size:.95rem;padding:6px 12px;border-radius:6px;transition:all .2s}
.site-nav a:hover{color:#a86a10;background:rgba(196,132,22,.08)}
.header-container{max-width:1400px}
.header-container .subpage-search{max-width:none;margin:0;display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.header-container .subpage-search input[type=search]{width:160px;max-width:40vw;margin:0;padding:.45rem .85rem;border:1px solid #e0d8cc;border-radius:999px;font:inherit;font-size:.9rem;background:#fff;color:inherit}
.header-container .subpage-search button{border:none;background:#c48416;color:#fff;font:inherit;font-size:.88rem;padding:.45rem .9rem;border-radius:999px;cursor:pointer;line-height:1.2}
.header-container .subpage-search button:hover{filter:brightness(1.05)}
.section-title{position:relative}
.section-title::after{left:50%!important;right:auto!important;transform:translateX(-50%);margin-left:0!important}

a.logo{color:#1a1a1a;text-decoration:none}
a.logo:hover{color:#a86a10}
