/* Bilingual typography system: Latin stays branded while Traditional Chinese uses native OS fonts. */
:root {
  --font-cjk: "PingFang TC", "Noto Sans TC", "Microsoft JhengHei UI", "Microsoft JhengHei", sans-serif;
  --font-sans: "Inter", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei UI", "Microsoft JhengHei", sans-serif;
  --font-mono: "JetBrains Mono", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei UI", "Microsoft JhengHei", monospace;
}

html[lang="zh-TW"] body {
  font-family: var(--font-sans);
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}

.font-mono,
.glossary-table th,
.glossary-type,
.glossary-table td::before {
  font-family: var(--font-mono);
}

/* Reading copy needs more stroke presence than labels on the dark glass surfaces. */
.card-desc,
.card-value {
  font-family: var(--font-sans);
  color: #bec8d6;
  font-weight: 500;
  letter-spacing: 0;
  text-wrap: pretty;
}

.card-desc {
  font-size: 0.9375rem;
  line-height: 1.72;
}

.card-value {
  font-size: 0.875rem;
  line-height: 1.68;
}

.services-subtitle,
.hero-subline,
.ssdlc-header .ssdlc-desc,
.ssdlc-outcome-grid p,
.ssdlc-journey-list p,
.ssdlc-disclosure-label small,
.case-summary,
.modal-case-desc,
.modal-section > p,
.modal-list li,
.toolchain-map-intro,
.toolchain-map-row > p,
.glossary-table td,
.glossary-accordion-content,
.contact-lead,
.contact-trust-note {
  font-family: var(--font-sans);
  font-weight: 500;
  letter-spacing: 0;
  text-wrap: pretty;
}

/* Key positioning copy should remain comfortably readable without competing with headings. */
.hero-subline {
  font-size: 1rem;
  line-height: 1.7;
}

.services-subtitle {
  font-size: 0.9375rem;
  line-height: 1.65;
}

/* Compact Chinese copy needs enough optical size and contrast to remain effortless on dark surfaces. */
.ssdlc-outcome-grid p,
.ssdlc-journey-list p,
.toolchain-map-row > p {
  color: #b6c1d0;
}

.ssdlc-outcome-grid p {
  font-size: 0.875rem;
}

.ssdlc-journey-list p {
  font-size: 0.875rem;
  line-height: 1.65;
}

.ssdlc-disclosure-label small {
  color: #afbbca;
  font-size: 0.875rem;
  line-height: 1.55;
}

.ssdlc-consultation p {
  font-size: 0.9375rem;
  line-height: 1.7;
}

.case-summary,
.modal-list li,
.glossary-table td {
  font-size: 0.9rem;
}

.modal-case-desc,
.toolchain-map-intro {
  font-size: 0.875rem;
}

.toolchain-map-row > p {
  font-size: 0.8125rem;
}

/* Keep technical captions monospaced, but give their Chinese glyphs equal visual weight. */
.case-subheading {
  font-family: var(--font-mono);
  font-weight: 500;
  letter-spacing: 0.015em;
  text-wrap: pretty;
}

/* Workflow cards should use their available width instead of forcing equally short lines. */
.ssdlc-journey-list p {
  text-wrap: wrap;
}

@media (max-width: 640px) {
  .hero-subline {
    font-size: 0.9375rem;
  }

  .services-subtitle {
    font-size: 0.875rem;
  }

  .service-disclosure-content .card-desc {
    font-size: 0.9rem;
    line-height: 1.72;
  }

  .modal-case-desc {
    font-size: 0.84rem;
    line-height: 1.6;
  }

  .modal-list li,
  .glossary-table td {
    font-size: 0.875rem;
  }
}
