/* Shared readable text scale for every locale and page. */
:root { --type-body-size: 1rem; --type-small-size: .875rem; --type-label-size: .875rem; }
body { font-size: 16px; }
.site-header .nav-link { font-size: 15px !important; }
.type-body { font-size: 16px !important; }
.type-small, .type-label { font-size: 14px !important; }
small { font-size: 14px; }
.section-tag, .section-kicker, .kicker, .eyebrow, [class*="-kicker"] { line-height: 1.5; }
.dropdown-item-desc { line-height: 1.5; }
@media (max-width: 1024px) {
  .main-nav .nav-link { white-space: normal !important; overflow-wrap: anywhere; line-height: 1.5; }
}

/* Keep enlarged numeric columns distinct on narrow screens. */
.pork-table-wrap { overflow-x: auto; }
.pork-table-wrap .pork-table { min-width: 540px; }
.pork-table-wrap:focus-visible { outline: 2px solid #0047c1; outline-offset: 3px; }

/* Korean navigation label; other locales retain their own wording. */
html[lang="ko"] .dropdown-service-item .dropdown-item-title::before { content: "제작 서비스"; }

/* Main explanations use body contrast; metadata and dark surfaces keep their palette. */
html body main :is(
  .section-desc,
  .reader-card p,
  .reader-step span,
  .capability-item p,
  .process-item p,
  .tech-evidence-link p,
  .evidence-item p,
  .evidence-link p,
  .app-feature-text span,
  .qr-desc,
  .ppc-node p,
  .asset-item span,
  .summary-card span,
  .flow-step span,
  .technical-glossary dd,
  .product-link p,
  .af-formula p,
  .route span,
  .privacy span
):not(:where(.reader-dark *, .hm-field *, .ir-band *, #case-study *, #ai-training-scale *, .need-conclusion *)) {
  color: #455064 !important;
}
