/* Montserrat typography matching the self-diagnosis reference. */
@font-face {
  font-family: "Montserrat Local";
  src: url("assets/fonts/Montserrat-VariableFont_wght.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat Local";
  src: url("assets/fonts/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}

body,
button,
input,
select,
textarea {
  font-family: "Montserrat Local", Montserrat, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b,
.hero-title,
.section-head h1,
.result-hero h1,
.result-card h2,
.report-heading h2,
.cause-card h3,
.treatment-stack h3,
.treatment-stack blockquote,
.hero-note b,
.done h1 {
  font-family: "Montserrat Local", Montserrat, sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
}

.hero-title {
  font-weight: 800 !important;
  letter-spacing: -0.045em;
  line-height: 1.16 !important;
  margin-bottom: 0.08em;
  text-wrap: balance;
}

.report-heading h2,
.section-head h1,
.result-hero h1 {
  font-weight: 700 !important;
  letter-spacing: -0.028em;
  line-height: 1.12 !important;
  text-wrap: balance;
}

/* Upload step title */
.section-head:has(+ .upload-card) h1 {
  font-size: 0 !important;
}

.section-head:has(+ .upload-card) h1::after {
  content: "AI PHÂN TÍCH DA ĐẦU";
  font-size: 28px;
  line-height: 1.12;
}

.section-head:has(+ .gate-card) h1 {
  font-size: 0 !important;
}

.section-head:has(+ .gate-card) h1::after {
  content: "NHẬP THÔNG TIN ANH/CHỊ";
  font-size: 28px;
  line-height: 1.12;
}

.eyebrow,
.report-heading p,
.status,
.brand span {
  letter-spacing: 0.16em;
}

.lead,
.section-head p,
.result-hero p,
.report-intro,
.mechanism-card p,
.cause-card p,
.method-card p,
.treatment-stack p {
  line-height: 1.72 !important;
}

.question h2,
.report-section h3 {
  line-height: 1.42 !important;
}

.field label,
.stat-grid span,
.method-card dt,
.detail-card span {
  letter-spacing: 0.045em;
}
