/* TRONGOI sitewide type scale — staging only; preserves the existing dark/gold palette. */
:root {
  --tg-font-sans: 'Be Vietnam Pro', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --tg-body-size: 1.0625rem;
  --tg-body-size-mobile: 1rem;
  --tg-caption-size: 0.8125rem;
}
html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-synthesis: none;
}
body,
button,
input,
select,
textarea,
.nav,
.cta,
.text-link,
.footer-links,
.lang-switch,
.hero-proof,
.eyebrow,
.kicker,
.badge,
.case-meta,
.reference-copy .num,
.process-grid span,
.why-grid span,
.coverage-tags span,
.trongoi-sticky-bar a {
  font-family: var(--tg-font-sans) !important;
}
body {
  font-size: var(--tg-body-size) !important;
  line-height: 1.65 !important;
  font-weight: 400;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--tg-font-sans) !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.16 !important;
  font-synthesis: none;
}
h1 {
  font-size: clamp(2.25rem, 4.2vw, 4rem) !important;
  line-height: 1.08 !important;
}
h2 {
  font-size: clamp(2rem, 3.3vw, 2.5rem) !important;
}
h3 {
  font-size: clamp(1.25rem, 2vw, 1.625rem) !important;
  line-height: 1.3 !important;
}
main p,
main li,
main dd,
main blockquote {
  font-size: 1rem !important;
  line-height: 1.65 !important;
}
main .lead,
main .statement {
  font-size: 1.125rem !important;
  line-height: 1.65 !important;
}
main .muted,
main .card p,
main .capability-card p,
main .process-grid p,
main .why-grid p,
main .reference-copy p,
main .reference-note,
main .case-story-copy p,
main .case-insight,
main .case-scope,
main .section-note,
main .notice {
  font-size: 0.9375rem !important;
  line-height: 1.65 !important;
}
.eyebrow,
.kicker,
.badge,
.num,
.case-meta,
.hero-proof,
.coverage-tags,
.reference-copy .num,
.work-card > small,
.footer .legal,
.field small,
.consent,
.notice {
  font-size: var(--tg-caption-size) !important;
  line-height: 1.5 !important;
}
.nav,
.footer-links,
.lang-switch,
.field,
.field label,
.form-step,
.project-filter {
  font-size: 0.875rem !important;
  line-height: 1.4 !important;
}
.cta,
.text-link,
.trongoi-sticky-bar a {
  min-height: 44px;
  font-size: 0.9375rem !important;
  line-height: 1.25 !important;
  letter-spacing: 0.015em !important;
}
.field input,
.field select,
.field textarea {
  min-height: 48px;
  font-family: var(--tg-font-sans) !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}
.field textarea {
  min-height: 8rem;
}
.case-insight strong {
  display: block;
  margin-bottom: 0.35rem;
  line-height: 1.45;
}
/* The About page uses light credential cards; keep paragraph and eyebrow contrast readable. */
.capability-proof p,
.capability-proof li {
  color: #4b443d !important;
}
.capability-proof .num {
  color: #76571e !important;
}
@media (max-width: 850px) {
  body {
    font-size: var(--tg-body-size-mobile) !important;
    padding-bottom: 1.5rem !important;
  }
  h1 {
    font-size: clamp(2.25rem, 7.5vw, 2.75rem) !important;
  }
  h2 {
    font-size: clamp(1.625rem, 5.8vw, 2rem) !important;
  }
  h3 {
    font-size: clamp(1.25rem, 4.7vw, 1.5rem) !important;
  }
  .nav {
    gap: 1.125rem;
    letter-spacing: 0.035em !important;
  }
  .cta,
  .text-link,
  .trongoi-sticky-bar a {
    font-size: 0.875rem !important;
  }
  /* Remove mobile overlays: keep the two contact actions in document flow after the footer. */
  .trongoi-sticky-bar {
    position: static !important;
    inset: auto !important;
    width: max-content;
    max-width: calc(100vw - 2rem);
    margin: 1.75rem auto 1.25rem;
    display: flex;
    justify-content: center;
  }
  .bar:has(> .nav):has(> .cta) {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
  .bar > .cta {
    display: none !important;
  }
}
@media (max-width: 540px) {
  .hero {
    padding-top: 2rem;
    padding-bottom: 3rem;
    gap: 1.25rem;
  }
  .hero h1 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .hero-actions {
    margin-top: 0.5rem;
    gap: 0.5rem;
  }
  .hero-v3 > .hero-copy {
    padding-block: 2.25rem !important;
  }
  main p,
  main li,
  main dd,
  main blockquote {
    font-size: 1rem !important;
  }
  main .lead,
  main .statement {
    font-size: 1rem !important;
    line-height: 1.45 !important;
  }
  .nav {
    font-size: 0.875rem !important;
  }
}
