/* Estilo compartilhado dos mídia kits (A4 paisagem, tela e celular). */
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 300 700; src: url("fonts/cormorant-garamond.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 300 700; src: url("fonts/cormorant-garamond-italic.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; src: url("fonts/inter.woff2") format("woff2"); }

:root {
  --green: #003022;      /* verde da marca */
  --green-2: #0b4231;
  --green-3: #2f6b52;
  --sage: #7fa08f;
  --ink: #14251e;
  --gold-line: #b6925d;  /* dourado da marca: linhas e detalhes */
  --gold: #8f6e3e;       /* dourado para texto sobre fundo claro */
  --gold-soft: #ddb676;  /* dourado para texto sobre fundo verde */
  --paper: #f7f4ee;
  --paper-2: #efeae0;
  --line: #ddd5c6;
  --muted: #5f6b65;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Inter", "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body { background: #d9d6d0; color: var(--ink); font-family: var(--sans); font-variant-numeric: lining-nums; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
ul, ol { list-style: none; }

/* ---------- Barra de ações (somente tela) ---------- */
.toolbar { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; background: var(--green); color: #fff; font-size: 13px; }
.toolbar strong { display: flex; align-items: center; gap: 10px; font-family: var(--serif); font-size: 18px; font-weight: 600; letter-spacing: .02em; }
.toolbar strong img { width: 26px; height: 26px; }
.toolbar .actions { display: flex; gap: 8px; }
.toolbar a, .toolbar button { font: 500 13px var(--sans); color: var(--green); background: var(--gold-soft); border: 0; border-radius: 3px; padding: 8px 14px; cursor: pointer; }
.toolbar button { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.35); }

/* ---------- Páginas A4 paisagem ---------- */
.deck { display: flex; flex-direction: column; align-items: center; gap: 28px; padding: 28px 16px 56px; }
.page { width: min(1123px, 100%); aspect-ratio: 297 / 210; container-type: inline-size; position: relative; background: var(--paper); box-shadow: 0 10px 30px rgba(10,30,22,.18); overflow: hidden; }
.inner { --u: 1cqw; position: absolute; inset: 0; padding: calc(var(--u)*4) calc(var(--u)*4.6) calc(var(--u)*3.2); display: flex; flex-direction: column; font-size: calc(var(--u)*1.16); line-height: 1.5; }
.page.dark { background: var(--green); color: #f3efe7; }

.top { display: flex; justify-content: space-between; align-items: center; font-size: calc(var(--u)*.8); letter-spacing: .18em; text-transform: uppercase; color: var(--gold); font-weight: 600; }
.top span:first-child { display: inline-flex; align-items: center; gap: calc(var(--u)*.8); }
.top span:first-child::before { content: ""; width: calc(var(--u)*2.4); height: 2px; background: var(--gold-line); }
.top .num { font-family: var(--serif); font-size: calc(var(--u)*1.5); letter-spacing: 0; font-weight: 600; }
.foot { margin-top: auto; padding-top: calc(var(--u)*1); display: flex; justify-content: space-between; font-size: calc(var(--u)*.72); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); border-top: 1px solid var(--line); }
.foot span:first-child { display: inline-flex; align-items: center; gap: calc(var(--u)*.8); }
.foot span:first-child::before { content: ""; width: calc(var(--u)*1.6); height: calc(var(--u)*1.6); background: url("logo/logo-dourado.png") center / contain no-repeat; }
.dark .foot { color: rgba(243,239,231,.6); border-color: rgba(255,255,255,.15); }

h1, h2, h3, h4 { font-family: var(--serif); font-weight: 600; line-height: 1.08; color: var(--green); }
.dark h1, .dark h2, .dark h3 { color: #fff; }
.dark h2 em { color: var(--gold-soft); }
.dark .top { color: var(--gold-line); }
h2 { font-size: calc(var(--u)*3.1); letter-spacing: -.005em; }
h2 em { font-style: italic; font-weight: 500; color: var(--gold); }
h3 { font-size: calc(var(--u)*1.6); }
h4 { font-size: calc(var(--u)*1.35); line-height: 1.15; }
.eyebrow { font-size: calc(var(--u)*.78); letter-spacing: .2em; text-transform: uppercase; color: var(--gold); font-weight: 600; margin-bottom: calc(var(--u)*.6); }
.lead { font-size: calc(var(--u)*1.32); line-height: 1.55; color: #33403a; }
.dark .lead { color: rgba(243,239,231,.85); }
.muted { color: var(--muted); }
.small { font-size: calc(var(--u)*1); }
.note { font-size: calc(var(--u)*.82); line-height: 1.45; color: var(--muted); }

.body { flex: 1; display: grid; gap: calc(var(--u)*3.2); padding: calc(var(--u)*2) 0 calc(var(--u)*1.4); min-height: 0; }
.cols-2 { grid-template-columns: 1fr 1fr; }
.cols-5-7 { grid-template-columns: 5fr 7fr; }
.cols-4-8 { grid-template-columns: 4fr 8fr; }
.stack > * + * { margin-top: calc(var(--u)*1.1); }
.col { display: flex; flex-direction: column; gap: calc(var(--u)*1.4); min-width: 0; }

/* ---------- Ícones ---------- */
.ico { width: 1em; height: 1em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.inner .badge { flex: none; display: inline-grid; place-items: center; width: calc(var(--u)*3.9); height: calc(var(--u)*3.9); border-radius: 50%; background: var(--green); color: var(--gold-soft); font-size: calc(var(--u)*1.95); margin: 0; }
.inner .badge.sm { width: calc(var(--u)*3); height: calc(var(--u)*3); font-size: calc(var(--u)*1.5); }
.inner .badge.lg { width: calc(var(--u)*4.8); height: calc(var(--u)*4.8); font-size: calc(var(--u)*2.4); }
.badge.outline { background: transparent; border: 1.5px solid var(--gold-line); color: var(--green); }
.badge.gold { background: var(--gold-line); color: var(--green); }
.dark .badge.outline { color: var(--gold-soft); }

/* ---------- Grafismos ---------- */
.dots { position: absolute; pointer-events: none; background-image: radial-gradient(var(--gold-line) 1px, transparent 1.3px); background-size: calc(var(--u)*1.5) calc(var(--u)*1.5); opacity: .45; }
.watermark { position: absolute; pointer-events: none; opacity: .08; z-index: 0; }
.corner { position: absolute; width: calc(var(--u)*7); height: calc(var(--u)*7); border: 1.5px solid var(--gold-line); pointer-events: none; }

/* Chips de base legal */
.chips { display: flex; flex-wrap: wrap; gap: calc(var(--u)*.5); }
.chip { display: inline-flex; align-items: center; gap: calc(var(--u)*.45); font-size: calc(var(--u)*.86); font-weight: 500; color: var(--green); background: #fff; border: 1px solid var(--line); border-left: 3px solid var(--gold-line); padding: calc(var(--u)*.3) calc(var(--u)*.8); line-height: 1.3; }
.chip b { font-weight: 700; }
.legal { display: grid; grid-template-columns: auto 1fr; gap: calc(var(--u)*1.4); align-items: start; padding: calc(var(--u)*1.1) calc(var(--u)*1.4); background: var(--paper-2); }
.legal .eyebrow { margin: calc(var(--u)*.35) 0 0; display: flex; align-items: center; gap: calc(var(--u)*.6); white-space: nowrap; }
.legal .eyebrow .ico { font-size: calc(var(--u)*1.4); color: var(--gold); }

/* Fluxograma horizontal */
.flow { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; position: relative; }
.flow li { position: relative; text-align: center; padding: 0 calc(var(--u)*.5); }
.flow li::after { content: ""; position: absolute; top: calc(var(--u)*2.4 - .75px); left: calc(50% + var(--u)*3); right: calc(-50% + var(--u)*3); height: 1.5px; background: var(--gold-line); }
.flow li::before { content: ""; position: absolute; top: calc(var(--u)*2.4 - var(--u)*.45); right: calc(-50% + var(--u)*3); border: calc(var(--u)*.45) solid transparent; border-left-color: var(--gold-line); border-right: 0; }
.flow li:last-child::after, .flow li:last-child::before { display: none; }
.inner .flow .badge { width: calc(var(--u)*4.8); height: calc(var(--u)*4.8); font-size: calc(var(--u)*2.3); margin-bottom: calc(var(--u)*.8); }
.flow b { display: block; font-family: var(--serif); font-size: calc(var(--u)*1.6); color: var(--green); line-height: 1.15; }
.flow span { display: block; font-size: calc(var(--u)*.98); color: var(--muted); line-height: 1.35; margin-top: calc(var(--u)*.25); }
.flow .ref { color: var(--gold); font-weight: 600; font-size: calc(var(--u)*.88); letter-spacing: .02em; }

/* Lista com ícones */
.ilist { display: grid; gap: calc(var(--u)*1.3) calc(var(--u)*2); }
.ilist li { display: grid; grid-template-columns: auto 1fr; gap: calc(var(--u)*1); align-items: center; }
.ilist b { display: block; font-family: var(--serif); font-size: calc(var(--u)*1.6); color: var(--green); line-height: 1.15; }
.ilist span { display: block; font-size: calc(var(--u)*1.03); color: var(--muted); line-height: 1.4; margin-top: calc(var(--u)*.15); }
.dark .ilist b { color: #fff; }
.dark .ilist span { color: rgba(243,239,231,.75); }

/* Linha do tempo horizontal alternada */
.htl { --slot: calc(var(--u)*13); --dot: calc(var(--u)*4); display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; position: relative; }
.htl::before { content: ""; position: absolute; left: 0; right: 0; top: calc(var(--slot) + var(--dot) / 2 - 1px); height: 2px; background: linear-gradient(90deg, var(--gold-line), var(--green)); }
.htl li { display: grid; grid-template-rows: var(--slot) var(--dot) var(--slot); justify-items: center; position: relative; padding: 0 calc(var(--u)*.4); }
.htl .yr { grid-row: 2; display: grid; place-items: center; width: var(--dot); height: var(--dot); border-radius: 50%; background: var(--paper); border: 2px solid var(--gold-line); font-family: var(--serif); font-weight: 700; font-size: calc(var(--u)*1.25); color: var(--green); z-index: 1; }
.htl li.now .yr { background: var(--green); color: var(--gold-soft); border-color: var(--green); }
.htl .card { text-align: center; display: flex; flex-direction: column; align-items: center; gap: calc(var(--u)*.3); position: relative; }
.htl li:nth-child(odd) .card { grid-row: 1; justify-content: flex-end; padding-bottom: calc(var(--u)*.9); }
.htl li:nth-child(even) .card { grid-row: 3; justify-content: flex-start; padding-top: calc(var(--u)*.9); }
.htl li:nth-child(odd) .card::after, .htl li:nth-child(even) .card::before { content: ""; position: absolute; left: 50%; width: 1px; height: calc(var(--u)*.7); background: var(--gold-line); }
.htl li:nth-child(odd) .card::after { bottom: 0; }
.htl li:nth-child(even) .card::before { top: 0; }
.htl .ico { font-size: calc(var(--u)*2.3); color: var(--gold); }
.htl b { font-family: var(--serif); font-size: calc(var(--u)*1.5); color: var(--green); line-height: 1.15; }
.htl span { font-size: calc(var(--u)*.98); color: var(--muted); line-height: 1.35; }
.phases { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 3px; margin-top: calc(var(--u)*.8); }
.phases div { padding: calc(var(--u)*.8) calc(var(--u)*1); font-size: calc(var(--u)*.95); line-height: 1.3; color: #fff; }
.phases b { display: block; font-size: calc(var(--u)*.72); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-soft); }

/* Números de destaque */
.stats { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: calc(var(--u)*1.4); }
.stat { display: flex; gap: calc(var(--u)*1); align-items: center; padding: calc(var(--u)*1.1) calc(var(--u)*1.2); background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--gold-line); }
.stat b { display: block; font-family: var(--serif); font-size: calc(var(--u)*3.6); line-height: 1.25; color: var(--green); }
.stat span { display: block; font-size: calc(var(--u)*.95); color: var(--muted); line-height: 1.3; }

.panel { background: var(--green); color: #f3efe7; padding: calc(var(--u)*2); display: flex; flex-direction: column; gap: calc(var(--u)*.8); position: relative; overflow: hidden; }
.panel h3, .panel h4 { color: #fff; }
.panel p { color: rgba(243,239,231,.85); }
.panel .eyebrow { color: var(--gold-soft); margin: 0; }
.panel.light { background: var(--paper-2); color: var(--ink); }
.panel.light h3, .panel.light h4 { color: var(--green); }
.panel.light p { color: #33403a; }
.panel.light .eyebrow { color: var(--gold); }

.ticks { display: grid; gap: calc(var(--u)*.5); }
.ticks li { display: grid; grid-template-columns: auto 1fr; gap: calc(var(--u)*.6); align-items: start; font-size: calc(var(--u)*1.02); line-height: 1.4; }
.ticks .ico { font-size: calc(var(--u)*1.2); color: var(--gold-line); margin-top: calc(var(--u)*.08); }

/* ---------- 01 Capa ---------- */
.cover .inner { padding: 0; flex-direction: row; }
.cover .left { flex: 1.45; padding: calc(var(--u)*4.6) calc(var(--u)*5); display: flex; flex-direction: column; position: relative; }
.cover .right { flex: 1; background: var(--green); color: #f3efe7; padding: calc(var(--u)*4.6) calc(var(--u)*4); display: flex; flex-direction: column; justify-content: flex-end; position: relative; overflow: hidden; }
.cover .right::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,48,34,.96) 0%, rgba(0,48,34,.7) 24%, rgba(0,48,34,0) 50%); }
.cover .right .corner { z-index: 2; border-color: var(--gold-soft); }
.cover-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
.cover-logo { width: calc(var(--u)*7); height: calc(var(--u)*7); margin-top: calc(var(--u)*2.6); }
.wordmark { font-family: var(--serif); color: var(--green); line-height: 1.2; margin-top: calc(var(--u)*1.4); }
.wordmark .n { display: block; font-size: calc(var(--u)*6.8); font-weight: 600; letter-spacing: -.01em; }
.wordmark .a { display: block; font-family: var(--sans); font-size: calc(var(--u)*1.15); letter-spacing: .62em; font-weight: 500; color: var(--gold); margin-top: calc(var(--u)*.3); }
.cover .rule { width: calc(var(--u)*5); height: 2px; background: var(--gold-line); border: 0; margin: calc(var(--u)*1.6) 0; }
.cover .headline { font-family: var(--serif); font-size: calc(var(--u)*2.4); line-height: 1.18; color: var(--green); font-weight: 500; max-width: 26ch; }
.creds { display: grid; grid-template-columns: 1fr 1fr; gap: calc(var(--u)*1) calc(var(--u)*1.6); margin-top: auto; padding-top: calc(var(--u)*1.6); }
.creds li { display: flex; gap: calc(var(--u)*.9); align-items: center; font-size: calc(var(--u)*.92); line-height: 1.3; color: var(--muted); }
.creds b { display: block; color: var(--green); font-size: calc(var(--u)*1.02); }
.cover .sign { margin-top: calc(var(--u)*1.8); padding-top: calc(var(--u)*1.2); border-top: 1px solid var(--line); font-size: calc(var(--u)*.86); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.big-figure { position: relative; z-index: 1; font-family: var(--serif); font-size: calc(var(--u)*6); line-height: 1; color: var(--gold-soft); font-weight: 600; }
.big-figure small { display: block; font-family: var(--sans); font-size: calc(var(--u)*.9); letter-spacing: .16em; text-transform: uppercase; color: rgba(243,239,231,.8); font-weight: 500; margin-top: calc(var(--u)*.6); line-height: 1.5; }
.kit-label { font-size: calc(var(--u)*.8); letter-spacing: .24em; text-transform: uppercase; color: var(--gold); font-weight: 600; }

/* ---------- 02 Sumário ---------- */
.toc { display: grid; grid-template-columns: 1fr 1fr; gap: 0 calc(var(--u)*2.4); counter-reset: none; }
.toc a { display: grid; grid-template-columns: auto 1fr auto; gap: calc(var(--u)*1); align-items: center; padding: calc(var(--u)*.75) 0; border-bottom: 1px solid var(--line); }
.toc b { font-family: var(--serif); font-size: calc(var(--u)*1.45); color: var(--green); line-height: 1.1; }
.toc small { display: block; font-size: calc(var(--u)*.82); color: var(--muted); }
.toc .pg { font-family: var(--serif); font-size: calc(var(--u)*1.6); color: var(--gold); font-weight: 700; }

/* ---------- Escritório ---------- */
.equation { display: flex; align-items: flex-start; justify-content: space-between; gap: calc(var(--u)*.6); }
.equation .term { display: flex; flex-direction: column; align-items: center; gap: calc(var(--u)*.5); text-align: center; flex: 1; }
.equation .term b { font-family: var(--serif); font-size: calc(var(--u)*1.75); color: var(--green); line-height: 1.1; }
.equation .term span:not(.badge) { font-size: calc(var(--u)*1); color: var(--muted); line-height: 1.3; }
.equation .op { flex: none; display: grid; place-items: center; height: calc(var(--u)*4.8); font-family: var(--serif); font-size: calc(var(--u)*3.4); color: var(--gold-line); line-height: 1; }
.inner .equation .term .badge { width: calc(var(--u)*4.8); height: calc(var(--u)*4.8); font-size: calc(var(--u)*2.4); }
.equation .term.result .badge { background: var(--gold-line); color: var(--green); }

/* ---------- Setores ---------- */
.donut-wrap { display: grid; grid-template-columns: calc(var(--u)*25) 1fr; gap: calc(var(--u)*2.6); align-items: center; }
.donut { position: relative; width: 100%; aspect-ratio: 1; }
.donut svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.donut .c { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.donut .c b { font-family: var(--serif); font-size: calc(var(--u)*5.2); line-height: 1.25; color: var(--green); }
.donut .c span { font-size: calc(var(--u)*.82); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.legend { display: grid; gap: calc(var(--u)*1.6); }
.legend li { display: grid; grid-template-columns: auto 1fr auto; gap: calc(var(--u)*1); align-items: center; }
.legend b { display: block; font-family: var(--serif); font-size: calc(var(--u)*1.65); color: var(--green); line-height: 1.1; }
.legend .bar { height: calc(var(--u)*.45); background: var(--line); margin-top: calc(var(--u)*.35); position: relative; }
.legend .bar i { position: absolute; inset: 0 auto 0 0; }
.legend .n { font-family: var(--serif); font-size: calc(var(--u)*2.2); color: var(--green); font-weight: 700; }
.sec-cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: calc(var(--u)*1.2); }
.sec-card { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--c, var(--green)); padding: calc(var(--u)*1.3) calc(var(--u)*1.2); display: flex; flex-direction: column; gap: calc(var(--u)*.8); }
.sec-card h4 { font-size: calc(var(--u)*1.55); }
.sec-card .ticks li { font-size: calc(var(--u)*.98); }
.sec-card .eyebrow { margin: 0; font-size: calc(var(--u)*.7); }
.orgs { display: flex; flex-wrap: wrap; gap: calc(var(--u)*.4); margin-top: auto; }
.orgs li { font-size: calc(var(--u)*.84); font-weight: 600; letter-spacing: .03em; color: var(--green); background: var(--paper-2); padding: calc(var(--u)*.25) calc(var(--u)*.6); }
body[data-empresas="setores"] .orgs { display: none; }

/* ---------- Ciclo preventivo ---------- */
.cycle { position: relative; width: 100%; aspect-ratio: 1; }
.cycle .ring { position: absolute; inset: 12%; border-radius: 50%; border: 1.5px dashed var(--gold-line); }
.cycle .center { position: absolute; inset: 31%; border-radius: 50%; background: var(--green); display: grid; place-content: center; text-align: center; gap: calc(var(--u)*.3); justify-items: center; }
.cycle .center img { width: calc(var(--u)*3.2); height: calc(var(--u)*3.2); }
.cycle .center span { font-size: calc(var(--u)*.72); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-soft); font-weight: 600; line-height: 1.3; }
.cycle .node { position: absolute; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: calc(var(--u)*.25); width: calc(var(--u)*10); text-align: center; }
.cycle .node b { font-size: calc(var(--u)*.9); color: var(--green); line-height: 1.2; font-weight: 600; background: var(--paper); padding: 0 calc(var(--u)*.3); }
.risk { display: grid; grid-template-columns: auto repeat(3, 1fr); grid-template-rows: repeat(3, 1fr) auto; gap: 3px; font-size: calc(var(--u)*.72); }
.risk i { display: block; aspect-ratio: 1.6; }
.risk .ax { color: var(--muted); writing-mode: vertical-rl; transform: rotate(180deg); text-align: center; grid-row: 1 / 4; letter-spacing: .1em; text-transform: uppercase; }
.risk .ax-x { grid-column: 2 / 5; text-align: center; color: var(--muted); letter-spacing: .1em; text-transform: uppercase; }

/* ---------- Instâncias ---------- */
.courts { display: grid; grid-template-columns: 1fr 1fr; gap: calc(var(--u)*1.6); }
.court { display: flex; flex-direction: column; align-items: stretch; gap: calc(var(--u)*.3); }
.court .lvl { display: flex; align-items: center; gap: calc(var(--u)*.8); background: #fff; border: 1px solid var(--line); padding: calc(var(--u)*.6) calc(var(--u)*.9); }
.court .lvl b { font-family: var(--serif); font-size: calc(var(--u)*1.5); color: var(--green); line-height: 1.1; display: block; }
.court .lvl span:not(.badge) { font-size: calc(var(--u)*.9); color: var(--muted); display: block; }
.court .arrow { align-self: center; color: var(--gold-line); font-size: calc(var(--u)*1.1); line-height: 1; }
.court .head { font-size: calc(var(--u)*.76); letter-spacing: .16em; text-transform: uppercase; color: #fff; background: var(--green); padding: calc(var(--u)*.5) calc(var(--u)*.9); font-weight: 600; }
.court .lvl.apex { background: var(--paper-2); }

/* ---------- Contato ---------- */
.contact-list { display: grid; gap: calc(var(--u)*1.1); }
.contact-list li { display: grid; grid-template-columns: auto 1fr; gap: calc(var(--u)*1.2); align-items: center; padding-bottom: calc(var(--u)*1.1); border-bottom: 1px solid rgba(255,255,255,.14); }
.contact-list .k { display: block; font-size: calc(var(--u)*.74); letter-spacing: .2em; text-transform: uppercase; color: var(--gold-soft); font-weight: 600; }
.contact-list a { font-family: var(--serif); font-size: calc(var(--u)*1.85); color: #fff; font-weight: 500; line-height: 1.2; word-break: break-word; }
.contact-list a:hover { color: var(--gold-soft); }
.qr { display: flex; gap: calc(var(--u)*1.4); align-items: center; background: var(--paper); color: var(--green); padding: calc(var(--u)*1.1); }
.qr img { width: calc(var(--u)*8.5); height: calc(var(--u)*8.5); }
.qr b { font-family: var(--serif); font-size: calc(var(--u)*1.5); display: block; line-height: 1.15; }
.qr span { font-size: calc(var(--u)*.88); color: var(--muted); }

/* ---------- Fotos laterais ---------- */
.side-photo, .watermark { --u: 1cqw; }
.side-photo { position: absolute; top: 0; bottom: 0; width: 28%; margin: 0; overflow: hidden; }
.side-photo img { width: 100%; height: 100%; object-fit: cover; }
.side-photo.right { right: 0; }
.side-photo.left { left: 0; }
.side-photo::before { content: ""; position: absolute; top: 0; bottom: 0; width: 3px; background: var(--gold-line); z-index: 1; }
.side-photo.right::before { left: 0; }
.side-photo.left::before { right: 0; }
.side-photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: calc(var(--u)*3) calc(var(--u)*1.6) calc(var(--u)*1.6); background: linear-gradient(to top, rgba(0,48,34,.92), rgba(0,48,34,0)); color: #fff; font-family: var(--serif); font-size: calc(var(--u)*1.35); line-height: 1.25; font-style: italic; }
.side-photo figcaption small { display: block; font-family: var(--sans); font-style: normal; font-size: calc(var(--u)*.72); letter-spacing: .18em; text-transform: uppercase; color: var(--gold-soft); margin-top: calc(var(--u)*.5); }
.photo-right .inner { padding-right: calc(28% + var(--u)*3.6); }
.photo-left .inner { padding-left: calc(28% + var(--u)*3.6); }

/* ---------- Componentes dos kits temáticos ---------- */
.src { font-size: calc(var(--u)*.84); line-height: 1.45; color: var(--muted); }
.src b { font-weight: 600; color: var(--green); }
.dark .src { color: rgba(243,239,231,.62); }
.dark .src b { color: var(--gold-soft); }
.kpis { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: calc(var(--u)*1.2); }
.kpi { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--gold-line); padding: calc(var(--u)*1.6) calc(var(--u)*1.6); display: flex; flex-direction: column; gap: calc(var(--u)*.35); }
.kpi b { font-family: var(--serif); font-size: calc(var(--u)*3.9); line-height: 1.2; color: var(--green); }
.kpi > span { font-size: calc(var(--u)*1.12); color: var(--ink); line-height: 1.35; }
.kpi small { margin-top: auto; padding-top: calc(var(--u)*.5); font-size: calc(var(--u)*.82); color: var(--gold); font-weight: 600; letter-spacing: .03em; }
.kpi b.long { font-size: calc(var(--u)*2.5); }
.kpi.solid { background: var(--green); border-color: var(--green); border-top-color: var(--gold-line); }
.kpi.solid b { color: var(--gold-soft); }
.kpi.solid > span { color: #f3efe7; }
.kpi.solid small { color: var(--gold-soft); }
.bars { display: grid; gap: calc(var(--u)*1.25); }
.bar { display: grid; grid-template-columns: calc(var(--u)*13) 1fr calc(var(--u)*7); gap: calc(var(--u)*1.2); align-items: center; font-size: calc(var(--u)*1.12); color: var(--ink); }
.bar .t { height: calc(var(--u)*2.1); background: var(--paper-2); position: relative; }
.bar .t i { position: absolute; inset: 0 auto 0 0; background: var(--green); }
.bar b { font-family: var(--serif); font-size: calc(var(--u)*1.85); color: var(--green); text-align: right; line-height: 1.25; }
.bar.hl { font-weight: 600; }
.bar.hl .t i { background: var(--gold-line); }
.qtable { display: grid; grid-template-columns: 1fr auto; border-top: 2px solid var(--green); }
.qtable > div { padding: calc(var(--u)*.7) calc(var(--u)*.9); border-bottom: 1px solid var(--line); font-size: calc(var(--u)*1.05); line-height: 1.35; display: flex; flex-direction: column; justify-content: center; }
.qtable > div:nth-child(4n+1), .qtable > div:nth-child(4n+2) { background: #fff; }
.qtable .q { font-family: var(--serif); font-weight: 700; color: var(--green); text-align: right; font-size: calc(var(--u)*1.25); white-space: nowrap; align-items: flex-end; }
.qtable .ref { display: block; font-size: calc(var(--u)*.74); color: var(--gold); font-weight: 600; }
.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(var(--u)*1.2); }
.grid2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: calc(var(--u)*1.2); }
.box { background: #fff; border: 1px solid var(--line); padding: calc(var(--u)*1.5) calc(var(--u)*1.6); display: flex; flex-direction: column; gap: calc(var(--u)*.6); }
.box h4 { font-size: calc(var(--u)*1.6); }
.box p { font-size: calc(var(--u)*1.06); color: var(--muted); line-height: 1.45; }
.box .ref { font-size: calc(var(--u)*.86); color: var(--gold); font-weight: 600; margin-top: auto; }
.box .head { display: flex; align-items: center; gap: calc(var(--u)*.9); }
.sources { columns: 2; column-gap: calc(var(--u)*3); font-size: calc(var(--u)*1.1); line-height: 1.45; }
.sources li { break-inside: avoid; padding: calc(var(--u)*.9) 0 calc(var(--u)*.9) calc(var(--u)*1.4); border-bottom: 1px solid var(--line); position: relative; color: #33403a; }
.sources li::before { content: ""; position: absolute; left: 0; top: calc(var(--u)*1.55); width: calc(var(--u)*.6); height: calc(var(--u)*.6); border-radius: 50%; background: var(--gold-line); }
.sources b { color: var(--green); }

/* ---------- Celular: páginas viram blocos com rolagem ---------- */
@media screen and (max-width: 760px) {
  .deck { padding: 16px 0 40px; gap: 16px; }
  .page { aspect-ratio: auto; width: 100%; box-shadow: none; }
  .inner { --u: 11px; position: static; padding: 36px 16px 24px; font-size: 15px; }
  .body, .cols-2, .cols-5-7, .cols-4-8 { grid-template-columns: 1fr; gap: 28px; padding-top: 22px; }
  .inner [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  h2 { font-size: 30px; }
  .lead { font-size: 16px; }
  .toc, .sec-cards, .courts, .donut-wrap, .creds, .grid3, .grid2 { grid-template-columns: 1fr; }
  .kpis { grid-auto-flow: row; grid-template-columns: 1fr 1fr; }
  .sources { columns: 1; }
  .bar { grid-template-columns: 96px 1fr 56px; }
  .donut { max-width: 240px; margin: 0 auto; }
  .stats { grid-auto-flow: row; grid-template-columns: 1fr 1fr; }
  .flow { grid-auto-flow: row; gap: 18px; }
  .flow li { display: grid; grid-template-columns: auto 1fr; gap: 12px; text-align: left; align-items: start; }
  .flow li > div { min-width: 0; }
  .flow li::after, .flow li::before { display: none; }
  .htl { grid-auto-flow: row; gap: 14px; }
  .htl::before { left: 18px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; }
  .htl li { grid-template-rows: auto; grid-template-columns: 38px 1fr; justify-items: start; gap: 12px; padding: 0; }
  .htl .yr { grid-row: 1; grid-column: 1; width: 38px; height: 38px; font-size: 11px; }
  .htl li .card, .htl li:nth-child(odd) .card, .htl li:nth-child(even) .card { grid-row: 1; grid-column: 2; text-align: left; align-items: flex-start; padding: 0; }
  .htl .card::before, .htl .card::after { display: none; }
  .phases { grid-auto-flow: row; }
  .phases div { grid-column: auto !important; }
  .legal { grid-template-columns: 1fr; gap: 10px; }
  .equation { flex-wrap: wrap; }
  .equation .op { margin: 0; }
  .cycle { max-width: 340px; margin: 0 auto; }
  .cover .inner { flex-direction: column; }
  .cover .left, .cover .right { padding: 40px 16px; }
  .cover .right { min-height: 520px; }
  .cover-logo { width: 72px; height: 72px; margin-top: 24px; }
  .wordmark .n { font-size: 54px; }
  .wordmark .a { letter-spacing: .45em; }
  .cover .headline { font-size: 25px; }
  .side-photo { position: static; width: 100%; height: 480px; }
  .side-photo::before { display: none; }
  .photo-right .inner, .photo-left .inner { padding-left: 16px; padding-right: 16px; }
  .foot { flex-direction: column; gap: 4px; }
  .dots, .corner, .watermark { display: none; }
  .toolbar strong { font-size: 15px; }
  .toolbar button { display: none; }
}

/* ---------- Impressão / PDF ---------- */
@page { size: A4 landscape; margin: 0; }
@media print {
  body { background: none; }
  .toolbar { display: none; }
  .deck { display: block; padding: 0; }
  .page { width: 297mm; height: 210mm; aspect-ratio: auto; box-shadow: none; break-after: page; page-break-after: always; }
  .page:last-child { break-after: auto; page-break-after: auto; }
}
