/* ============================================================
   Health Boost 23 — Termos de Participação
   Sistema editorial premium · A4 retrato
   ============================================================ */

@font-face {
  font-family: "Cormorant Garamond";
  src: url("fonts/CormorantGaramond-Variable.ttf") format("truetype");
  font-weight: 300 700; font-style: normal;
}
@font-face {
  font-family: "Cormorant Garamond";
  src: url("fonts/CormorantGaramond-Italic-Variable.ttf") format("truetype");
  font-weight: 300 700; font-style: italic;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Variable.ttf") format("truetype");
  font-weight: 100 900; font-style: normal;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Italic-Variable.ttf") format("truetype");
  font-weight: 100 900; font-style: italic;
}

:root {
  --preto: #080808;
  --branco: #ffffff;
  --papel: #fafaf8;
  --grafite: #1e1e1e;
  --cinza: #5a5a5a;
  --cinza-claro: #9a9a9a;
  --linha: #e4e4e2;
  --linha-forte: #d2d2d0;
  --laranja: #e8633a;
  --azul: #2f9fd6;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

@page { size: 210mm 297mm; margin: 0; }
html { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

body {
  font-family: "Inter", sans-serif;
  color: var(--grafite);
  background: var(--branco);
  font-size: 10.2pt;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}

/* ---- Página base ---- */
.page {
  position: relative;
  width: 210mm; height: 297mm;
  background: var(--branco);
  overflow: hidden;
  page-break-after: always;
  display: flex; flex-direction: column;
}
.page:last-child { page-break-after: auto; }

.page-body {
  flex: 1;
  padding: 32mm 24mm 26mm 24mm;
  display: flex; flex-direction: column; justify-content: center;
}
.page-body.top { justify-content: flex-start; }

/* ---- Cabeçalho corrente ---- */
.runhead {
  position: absolute;
  top: 13mm; left: 24mm; right: 24mm;
  display: flex; align-items: center; justify-content: space-between;
  border-bottom: 0.5pt solid var(--linha);
  padding-bottom: 5mm;
}
.runhead img { height: 7mm; width: auto; display: block; }
.runhead .kicker {
  font-size: 7pt; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--cinza); font-weight: 500;
}

/* ---- Rodapé ---- */
.foot {
  position: absolute;
  bottom: 12mm; left: 24mm; right: 24mm;
  display: flex; align-items: center; justify-content: space-between;
  border-top: 0.5pt solid var(--linha);
  padding-top: 4mm;
  font-size: 6.8pt; letter-spacing: 0.04em; color: var(--cinza);
}
.foot .num { font-variant-numeric: tabular-nums; }

/* ---- Cabeçalho de seção (número + título) ---- */
.sec-head { display: flex; align-items: baseline; gap: 5mm; margin-bottom: 6mm; }
.sec-num {
  font-family: "Cormorant Garamond", serif;
  font-size: 22pt; font-weight: 600; color: var(--laranja);
  line-height: 1; font-variant-numeric: tabular-nums;
}
.sec-eyebrow {
  font-size: 7.5pt; letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--cinza); font-weight: 600; margin-bottom: 3mm;
}
.sec-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 27pt; font-weight: 500; color: var(--preto);
  line-height: 1.04; letter-spacing: -0.01em;
}
.lead-rule { width: 34mm; height: 1.5pt; background: var(--preto); margin: 5mm 0 7mm; }

/* ---- Texto ---- */
.section { max-width: 162mm; }
.section p { margin-bottom: 3.4mm; text-align: justify; }
.section p:last-child { margin-bottom: 0; }
.section strong { font-weight: 600; color: var(--preto); }
.section p.intro {
  font-family: "Cormorant Garamond", serif;
  font-size: 15pt; line-height: 1.42; color: var(--preto);
  font-weight: 500; text-align: left; margin-bottom: 6mm;
}

/* ---- Caixa de destaque ---- */
.callout { border-left: 2.5pt solid var(--laranja); padding: 1mm 0 1mm 7mm; margin: 6mm 0; }
.callout p {
  font-family: "Cormorant Garamond", serif;
  font-size: 14.5pt; line-height: 1.42; color: var(--preto);
  font-weight: 500; text-align: left; margin: 0;
}
.callout .lbl {
  font-size: 7pt; letter-spacing: 0.24em; text-transform: uppercase;
  color: var(--laranja); font-weight: 700; margin-bottom: 2.5mm;
  font-family: "Inter", sans-serif;
}

.note-box {
  border: 0.5pt solid var(--linha-forte);
  background: var(--papel);
  padding: 6mm 7mm;
  margin: 6mm 0 0;
}
.note-box .lbl {
  font-size: 7pt; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--cinza); font-weight: 700; margin-bottom: 2.5mm;
}
.note-box p { font-size: 9.4pt; text-align: left; margin: 0; }

/* ---- Lista de marcadores (traço) ---- */
.dashlist { list-style: none; margin: 5mm 0 0; }
.dashlist li {
  position: relative; padding: 2.4mm 0 2.4mm 9mm;
  border-bottom: 0.5pt solid var(--linha); font-size: 9.8pt;
}
.dashlist li:last-child { border-bottom: 0; }
.dashlist li::before {
  content: ""; position: absolute; left: 0; top: 4.4mm;
  width: 4.5mm; height: 0.5pt; background: var(--preto);
}
.dashlist li strong { color: var(--preto); }

/* ---- Cartões de valor (esperamos / esperar) ---- */
.values { display: flex; flex-direction: column; margin-top: 4mm; }
.value-row {
  display: grid; grid-template-columns: 13mm 1fr; gap: 6mm;
  padding: 5mm 0; border-top: 0.5pt solid var(--linha);
  break-inside: avoid;
}
.value-row:last-child { border-bottom: 0.5pt solid var(--linha); }
.value-row .vn {
  font-family: "Cormorant Garamond", serif;
  font-size: 16pt; font-weight: 600; color: var(--laranja);
  font-variant-numeric: tabular-nums; line-height: 1.1;
}
.value-row .vt {
  font-family: "Cormorant Garamond", serif;
  font-size: 17pt; font-weight: 600; color: var(--preto);
  line-height: 1.05; margin-bottom: 1.8mm;
}
.value-row .vd { font-size: 9.4pt; color: var(--grafite); }

/* ---- Fluxo da jornada (vertical) ---- */
.journey { margin: 2mm auto 0; max-width: 122mm; }
.jstep { display: flex; align-items: center; gap: 6mm; }
.jstep .jdot {
  flex: 0 0 auto;
  width: 9mm; height: 9mm; border-radius: 50%;
  border: 1pt solid var(--preto);
  display: flex; align-items: center; justify-content: center;
  font-family: "Cormorant Garamond", serif; font-weight: 600;
  font-size: 10.5pt; color: var(--preto);
  font-variant-numeric: tabular-nums; background: #fff;
}
.jstep .jlabel { font-size: 10.6pt; font-weight: 500; color: var(--preto); letter-spacing: 0.005em; }
.jstep .jlabel small { display: block; font-size: 8pt; font-weight: 400; color: var(--cinza); margin-top: 0.4mm; letter-spacing: 0; }
.jconn { width: 9mm; display: flex; justify-content: center; }
.jconn span { width: 0.7pt; height: 6.5mm; background: var(--linha-forte); }

/* ---- Manifesto (compromissos) ---- */
.manifesto { padding: 0 26mm; flex: 1; display: flex; flex-direction: column; justify-content: center; }
.manifesto .mk {
  font-size: 8pt; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--laranja); font-weight: 600; margin-bottom: 10mm;
}
.manifesto ul { list-style: none; }
.manifesto li {
  font-family: "Cormorant Garamond", serif;
  font-size: 23pt; font-weight: 500; color: var(--preto);
  line-height: 1.18; letter-spacing: -0.005em;
  padding: 5.5mm 0; border-bottom: 0.5pt solid var(--linha);
}
.manifesto li:last-child { border-bottom: 0; }
.manifesto li b { color: var(--laranja); font-weight: 500; }

/* ============================================================
   CAPA
   ============================================================ */
.cover { padding: 0; }
.cover .cover-inner {
  flex: 1; display: flex; flex-direction: column; justify-content: space-between;
  padding: 34mm 26mm 26mm 26mm;
}
.cover .logo { width: 92mm; height: auto; }
.cover .doc-kicker {
  font-size: 8pt; letter-spacing: 0.32em; text-transform: uppercase;
  color: var(--laranja); font-weight: 600; margin-bottom: 8mm;
}
.cover h1 {
  font-family: "Cormorant Garamond", serif; font-weight: 500;
  font-size: 60pt; line-height: 0.97; letter-spacing: -0.01em; color: var(--preto);
}
.cover .rule { width: 40mm; height: 2pt; background: var(--preto); margin: 13mm 0 0; }
.cover .cover-foot {
  display: flex; justify-content: space-between; align-items: flex-end;
  font-size: 8pt; letter-spacing: 0.05em; color: var(--cinza);
}
.cover .cover-foot strong {
  display: block; color: var(--preto); font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase; font-size: 7pt; margin-bottom: 1.5mm;
}

/* ============================================================
   BEM-VINDO
   ============================================================ */
.welcome { padding: 0 26mm; flex: 1; display: flex; flex-direction: column; justify-content: center; }
.welcome .wk {
  font-size: 8pt; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--laranja); font-weight: 600; margin-bottom: 7mm;
}
.welcome h2 {
  font-family: "Cormorant Garamond", serif; font-weight: 500;
  font-size: 34pt; line-height: 1.02; color: var(--preto);
  letter-spacing: -0.01em; margin-bottom: 8mm;
}
.welcome p { font-size: 9.8pt; line-height: 1.6; margin-bottom: 3mm; max-width: 150mm; }
.welcome .compromisso { margin: 5mm 0; padding-left: 7mm; border-left: 2pt solid var(--laranja); }
.welcome .compromisso span { display: block; font-style: italic;
  font-family: "Cormorant Garamond", serif; font-size: 13.5pt; color: var(--preto); line-height: 1.5; }
.welcome .sig { margin-top: 9mm; }
.welcome .sig .team { font-size: 8pt; letter-spacing: 0.2em; text-transform: uppercase; color: var(--cinza); font-weight: 600; }
.welcome .sig .name {
  font-family: "Cormorant Garamond", serif; font-size: 20pt; font-weight: 600; color: var(--preto); margin-top: 1mm;
}

/* ============================================================
   ÍNDICE
   ============================================================ */
.toc-title {
  font-family: "Cormorant Garamond", serif; font-weight: 500;
  font-size: 34pt; color: var(--preto); margin-bottom: 9mm; letter-spacing: -0.01em;
}
.toc-list { list-style: none; }
.toc-list li {
  display: flex; align-items: baseline; gap: 5mm;
  padding: 3.5mm 0; border-bottom: 0.5pt solid var(--linha);
}
.toc-list .ti-num {
  font-family: "Cormorant Garamond", serif; font-size: 14pt; color: var(--laranja);
  width: 11mm; font-weight: 600; font-variant-numeric: tabular-nums;
}
.toc-list .ti-label { font-size: 10.5pt; color: var(--grafite); font-weight: 500; flex: 1; }
.toc-list .ti-pg { font-size: 8.5pt; color: var(--cinza-claro); font-variant-numeric: tabular-nums; }

/* ============================================================
   CONTATO / FECHAMENTO
   ============================================================ */
.close-wrap { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 0 26mm; }
.close-wrap .ck {
  font-size: 8pt; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--laranja); font-weight: 600; margin-bottom: 6mm;
}
.close-wrap h2 {
  font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 34pt;
  line-height: 1.05; color: var(--preto); letter-spacing: -0.01em; margin-bottom: 10mm; max-width: 140mm;
}
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8mm 12mm; max-width: 150mm; }
.contact-grid .cell { border-top: 1pt solid var(--preto); padding-top: 3.5mm; }
.contact-grid .cell .lbl {
  font-size: 7pt; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--cinza); font-weight: 600; margin-bottom: 2mm;
}
.contact-grid .cell .val { font-size: 10.5pt; color: var(--preto); line-height: 1.4; }
.contact-grid .cell .val.email { font-family: "Cormorant Garamond", serif; font-size: 16pt; font-weight: 600; }
