/*
  FAIS Typography System v1.0
  Purpose: Global typography governance layer.
  Scope: Staging-first. Overrides typography only. No layout surgery.

  Font hierarchy:
  DISPLAY:   Syne
  BODY:      DM Sans currently, Inter-ready via token
  TECHNICAL: JetBrains Mono, limited to technical/data contexts

  NOTE:
  This file intentionally does not remove legacy CSS.
  It reasserts typography hierarchy after legacy style.css.
*/

:root {
  --fais-font-display: 'Syne', 'Segoe UI', Arial, sans-serif;
  --fais-font-body: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --fais-font-technical: 'JetBrains Mono', 'Courier New', monospace;
  --fais-font-mono: var(--fais-font-technical);
}

/* Global reading surface */
body,
button,
input,
textarea,
select {
  font-family: var(--fais-font-body);
}

/* Display hierarchy */
h1,
h2,
h3,
h4,
h5,
h6,
.fais-post-title,
.fais-page-title,
.fais-archive-title,
.fais-h1,
.fais-feat-title,
.fais-l-title,
.fais-c-name,
.fais-lead-ttl,
.fais-s-ttl,
.fais-em-h2,
.fais-av-h2,
.fais-av-title,
.fais-site-logo-text,
.fais-logo-text,
.fais-faq-q,
.fais-cta-btn {
  font-family: var(--fais-font-display);
}

/* Body / publication reading hierarchy */
.fais-post-wrap,
.fais-article-body,
.entry-content,
.entry-content p,
.entry-content li,
.entry-content td,
.entry-content th,
.fais-hook,
.fais-faq-a,
.fais-faq-body,
.fais-callout,
.fais-callout p,
.fais-cta,
.fais-cta p,
.fais-verdict,
.fais-verdict p,
.fais-key-takeaways,
.fais-key-takeaways li,
.fais-page-wrap,
.fais-page-body,
.fais-archive,
.fais-card-headline,
.fais-news-headline,
.fais-topic-name,
.fais-topic-desc,
.fais-footer-nav a,
.fais-footer-tagline,
.fais-footer-copyright,
.fais-affiliate-disclosure,
.fais-nav-center a,
.fais-nav-topics-btn,
.fais-site-nl,
.fais-site-sub,
.fais-em-inp,
.fais-em-btn {
  font-family: var(--fais-font-body);
}

/* Technical/data-only contexts */
code,
pre,
kbd,
.fais-inline-code,
.fais-post-meta-bar,
.fais-toc-title,
.fais-sidebar-ad-label,
.fais-sidebar-ad-slot,
.fais-sidebar-section-title,
.fais-sidebar-related-meta,
.fais-news-date,
.fais-table-diff,
.fais-table-diff--large,
.fais-stack-stat-value {
  font-family: var(--fais-font-technical);
}

/* Move these away from terminal dominance into publication labels */
.fais-eyebrow,
.fais-glance-header,
.fais-glance-label,
.fais-card-num,
.fais-section-label,
.fais-video-label,
.fais-table-wrap thead th,
.fais-table th,
.fais-table-scroll-wrap th,
.fais-card-category,
.fais-footer-col-header,
.fais-avatar-tag,
.fais-stack-stat-label,
.fais-filter-pill,
.fais-breadcrumb,
.fais-ticker-lbl,
.fais-ticker-link {
  font-family: var(--fais-font-body);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Article body readability */
.entry-content.fais-article-body,
.fais-post-wrap .entry-content {
  font-family: var(--fais-font-body);
  font-size: 17px;
  line-height: 1.75;
  letter-spacing: -0.005em;
}

/* German spacing: same font system, more air */
html[lang="de"] .entry-content.fais-article-body,
[lang="de"] .entry-content.fais-article-body,
.entry-content.fais-article-body:lang(de) {
  line-height: 1.82;
  max-width: 780px;
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* English/default article measure */
html:not([lang="de"]) .entry-content.fais-article-body {
  max-width: 740px;
}

/* Technical text should stay controlled, never dominate */
.entry-content.fais-article-body code,
.entry-content.fais-article-body pre,
.entry-content.fais-article-body kbd {
  font-family: var(--fais-font-technical);
}

/* De-terminalize oversized brand/wordmark areas */
.fais-stack-wordmark,
.fais-news-wordmark {
  font-family: var(--fais-font-display);
  letter-spacing: -0.04em;
}


/* ==========================================================
   FAIS Gate 3 Typography Governance Move — German Mobile Hyphenation
   Source: moved from style.css after Gate 3 review.
   Scope: German article mobile typography only.
   ========================================================== */

/* ==========================================================
   FAIS Gate 2 German Mobile Hyphenation Fix — 2026-06-04
   Scope: German article mobile typography
   Why:
   - Mobile QA showed aggressive browser hyphenation:
     "Unter-nehmen", "Wel-che", "Entschei-dung".
   - Layout is now contained; this patch only improves German readability.
   ========================================================== */

@media (max-width: 680px) {
  html[lang="de"] .fais-post-title,
  [lang="de"] .fais-post-title,
  .fais-post-title:lang(de),
  html[lang="de"] .entry-content.fais-article-body,
  [lang="de"] .entry-content.fais-article-body,
  .entry-content.fais-article-body:lang(de),
  html[lang="de"] .entry-content.fais-article-body p,
  [lang="de"] .entry-content.fais-article-body p,
  .entry-content.fais-article-body p:lang(de),
  html[lang="de"] .entry-content.fais-article-body h2,
  [lang="de"] .entry-content.fais-article-body h2,
  .entry-content.fais-article-body h2:lang(de),
  html[lang="de"] .entry-content.fais-article-body h3,
  [lang="de"] .entry-content.fais-article-body h3,
  .entry-content.fais-article-body h3:lang(de),
  html[lang="de"] .entry-content.fais-article-body li,
  [lang="de"] .entry-content.fais-article-body li,
  .entry-content.fais-article-body li:lang(de),
  html[lang="de"] .fais-callout,
  [lang="de"] .fais-callout,
  .fais-callout:lang(de),
  html[lang="de"] .fais-glance,
  [lang="de"] .fais-glance,
  .fais-glance:lang(de),
  html[lang="de"] .fais-faq-q,
  [lang="de"] .fais-faq-q,
  .fais-faq-q:lang(de) {
    hyphens: none !important;
    -webkit-hyphens: none !important;
    -ms-hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
}

