/* Contrato, manuais e termos (/c/<codigo>, /m/<nome>).
   Manual e termo: manual ilustrado de celular (capa escura com ilustração, sumário em chips, um cartão por assunto).
   Contrato: folha A4 com tipografia de documento. Os dois imprimem em A4 limpo. Só variáveis --pv-*. */
:root {
  --d-nao: var(--pv-alerta);
  --d-nao-fundo: color-mix(in srgb, var(--pv-alerta) 8%, var(--pv-branco));
  --d-ok: var(--pv-sucesso);
  --d-ok-fundo: color-mix(in srgb, var(--pv-sucesso) 9%, var(--pv-branco));
  --d-reflexos-escuro: url('/sis/kit/padroes/reflexos-diagonais-escuro.svg');
  --d-esquadria: url('/sis/kit/padroes/grade-esquadria.svg');
  --d-malha: url('/sis/kit/padroes/malha-cota.svg');
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 76px; }
body { margin: 0; background: var(--pv-papel); color: var(--pv-tinta); font-family: var(--pv-fonte); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; display: block; }
.ico { width: 20px; height: 20px; flex: none; stroke: currentColor; fill: none; }

.barra { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; background: rgba(245, 246, 244, .9); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid var(--pv-linha); }
.barra-logo { height: 26px; width: auto; }
.barra-acoes { display: flex; gap: 8px; }
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 20px; border-radius: 999px; border: 0; background: var(--pv-destaque); color: var(--pv-branco); font: 700 15px/1.15 var(--pv-fonte); text-decoration: none; cursor: pointer; text-align: center; }
.botao.contorno { background: transparent; color: var(--pv-destaque); box-shadow: inset 0 0 0 1.5px var(--pv-destaque); }
.botao.grande { min-height: 60px; width: 100%; font-size: 17px; padding: 10px 22px; }
.botao.whats { background: var(--pv-sucesso); }
.botao.vazado { background: transparent; color: var(--pv-branco); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); }
.botao:focus-visible, .chip:focus-visible, .c-indice a:focus-visible { outline: 3px solid var(--pv-vidro); outline-offset: 3px; }
.faixa-exemplo { background: var(--pv-alerta); color: #fff; font-weight: 800; font-size: 13px; letter-spacing: .06em; border-radius: 999px; padding: 8px 16px; display: inline-block; margin: 0 0 20px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }

/* ---------- peças comuns de texto ---------- */
.doc p { margin: 0 0 12px; }
.doc p, .doc li { overflow-wrap: anywhere; }
.doc strong { font-weight: 700; }
.doc .preencher { color: var(--pv-texto-suave); letter-spacing: -.5px; }
.doc .tabela { margin: 12px 0 18px; }
.doc table { width: 100%; border-collapse: collapse; font-size: 14px; }
.doc th { text-align: left; background: var(--pv-papel); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--pv-texto-suave); padding: 8px 10px; }
.doc td { padding: 9px 10px; border-bottom: 1px solid var(--pv-linha); vertical-align: top; }
.doc .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.doc .sub { color: var(--pv-texto-suave); font-size: 13px; }
.doc tr.pe td { border-bottom: 0; text-align: right; font-weight: 600; }
.doc tr.total td { font-size: 16px; font-weight: 800; border-top: 2px solid var(--pv-tinta); }
.doc .valor-linhas { display: block; margin: 6px 0; }
.doc .valor-linhas > span { display: block; padding-left: 16px; position: relative; }
.doc .valor-linhas > span::before { content: ''; position: absolute; left: 3px; top: .7em; width: 5px; height: 5px; border-radius: 50%; background: var(--pv-destaque); }
.doc blockquote { margin: 0 0 14px; padding: 12px 16px; background: var(--pv-vidro-claro); border-radius: var(--pv-raio-pequeno); }
.doc hr { border: 0; border-top: 1px solid var(--pv-linha); margin: 24px 0; }
/* caixas de marcar do termo de entrega */
.doc .caixa { display: inline-block; width: 26px; height: 26px; border: 2px solid var(--pv-vidro); border-radius: 8px; vertical-align: middle; background: var(--pv-branco); position: relative; }
.doc .caixa.marcada { background: var(--pv-destaque); border-color: var(--pv-destaque); }
.doc .caixa.marcada::after { content: ''; position: absolute; left: 8px; top: 3px; width: 6px; height: 12px; border: solid #fff; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }
.doc td:has(> .caixa:only-child) { text-align: center; }

/* =================== manual ilustrado =================== */
.manual { max-width: 980px; margin: 0 auto; padding: 0 0 48px; }
.m-capa { position: relative; overflow: hidden; isolation: isolate; background: var(--pv-tinta); color: var(--pv-branco); border-radius: 0 0 32px 32px; padding: 36px 22px 0; display: grid; gap: 8px; }
.m-capa::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 90% 10%, rgba(40, 112, 134, .6), transparent 60%), var(--d-reflexos-escuro); background-size: auto, 150px; }
.m-kicker { margin: 0 0 12px; font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--pv-vidro); }
.m-capa h1 { margin-bottom: 4px !important; }
.m-capa h1 { font-family: var(--pv-fonte-titulo); font-weight: 600; font-size: clamp(34px, 9vw, 60px); line-height: 1.04; letter-spacing: -0.035em; margin: 0; max-width: 14ch; }
.m-lead { margin: 20px 0 0; color: rgba(255, 255, 255, .78); font-size: 16px; line-height: 1.6; max-width: 52ch; }
.m-ilustra { color: var(--pv-vidro-claro); margin: 14px -6px 0; }
.ilustra { width: 100%; height: auto; display: block; max-height: 260px; }
.m-ilustra { --pv-ilu-acento: var(--pv-vidro); }
.ilustra-kit { max-height: 300px; }
.ilustra .il-vidro { fill: rgba(158, 195, 207, .16); stroke: var(--pv-vidro); }
.ilustra .il-reflexo, .ilustra .il-reflexo-l { stroke: var(--pv-vidro-claro); opacity: .9; }
.ilustra .il-cota { stroke: var(--pv-vidro); stroke-width: 1.4; }
.ilustra .il-txt { fill: var(--pv-vidro); font: 700 9px var(--pv-fonte); letter-spacing: .18em; stroke: none; }
.ilustra .il-gota { stroke: var(--pv-vidro); stroke-width: 2.4; }

.m-sumario { margin: -22px 14px 0; position: relative; z-index: 2; background: var(--pv-branco); border-radius: 26px; padding: 18px 16px 16px; box-shadow: 0 16px 40px rgba(14, 21, 25, .12); }
.m-sumario-tit { margin: 0 0 12px 4px; display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--pv-texto-suave); }
.m-sumario-tit .ico { width: 16px; height: 16px; }
.m-sumario ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 14px 6px 8px; border-radius: 999px; background: var(--pv-papel); color: var(--pv-tinta); font-size: 14px; font-weight: 700; text-decoration: none; line-height: 1.25; }
.chip .ico { width: 26px; height: 26px; padding: 5px; border-radius: 50%; background: var(--pv-vidro-claro); color: var(--pv-destaque); }
.chip-nao .ico { background: var(--d-nao-fundo); color: var(--d-nao); }
.chip-chamar .ico { background: var(--pv-tinta); color: var(--pv-vidro); }

.m-abertura { margin: 22px 14px 0; background: var(--pv-branco); border-radius: 24px; padding: 18px; border: 1px solid var(--pv-linha); }
.m-abertura > p:first-child { color: var(--pv-texto-suave); font-size: 14px; }
.m-cartoes { display: grid; gap: 16px; margin: 22px 14px 0; }
.m-cap { background: var(--pv-branco); border-radius: 26px; padding: 22px 20px 20px; border: 1px solid var(--pv-linha); position: relative; overflow: hidden; scroll-margin-top: 76px; }
.m-cap h2 { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; font-family: var(--pv-fonte-titulo); font-weight: 600; font-size: 21px; line-height: 1.2; letter-spacing: -0.015em; }
.m-cap-ico { flex: none; width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; background: var(--pv-vidro-claro); color: var(--pv-destaque); }
.m-cap-ico .ico { width: 28px; height: 28px; }
.m-cap-tit small { display: block; font-family: var(--pv-fonte); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--pv-texto-suave); margin-bottom: 3px; }
.m-cap-corpo > :last-child { margin-bottom: 0; }
/* não faça: tom de alerta */
.m-nao { background: var(--d-nao-fundo); border-color: color-mix(in srgb, var(--pv-alerta) 22%, var(--pv-branco)); }
.m-nao .m-cap-ico { background: var(--pv-alerta); color: #fff; }
.m-nao .m-cap-tit small { color: var(--d-nao); }
/* chame a gente: cartão escuro */
.m-chamar { background: var(--pv-tinta); color: var(--pv-branco); border-color: var(--pv-tinta); isolation: isolate; }
.m-chamar::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 100% 0%, rgba(40, 112, 134, .5), transparent 55%), var(--d-reflexos-escuro); background-size: auto, 220px; opacity: .55; }
.m-chamar .m-cap-ico { background: var(--pv-vidro); color: var(--pv-tinta); }
.m-chamar .m-cap-tit small { color: var(--pv-vidro); }
.m-aviso { background: color-mix(in srgb, var(--pv-vidro-claro) 60%, var(--pv-branco)); }
.m-aviso .m-cap-ico { background: var(--pv-tinta); color: var(--pv-vidro); }
.m-garantia, .m-ok { background: color-mix(in srgb, var(--pv-vidro-claro) 45%, var(--pv-branco)); }
.m-garantia .lista li, .m-ok .lista li { background: var(--pv-branco); }

/* listas com ícone de ok (verde) e de proibido (vermelho) */
.lista { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 10px; }
.lista li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 1.5; padding: 12px 14px; border-radius: 16px; background: var(--pv-papel); }
.li-ico { width: 22px; height: 22px; margin-top: 1px; }
.lista-faca .li-ico, .lista-ok .li-ico, .lista-garantia .li-ico, .lista-info .li-ico, .lista-aviso .li-ico, .lista-check .li-ico { color: var(--d-ok); }
.lista-nao li { background: var(--pv-branco); }
.lista-nao .li-ico { color: var(--d-nao); }
.lista-chamar li { background: rgba(38, 50, 58, .92); border: 1px solid rgba(158, 195, 207, .2); }
.lista-chamar .li-ico { color: var(--pv-vidro); }
.m-chamar strong { color: var(--pv-vidro-claro); }
.m-chamar p { color: rgba(255, 255, 255, .82); }

/* passo a passo com números grandes */
.passos { list-style: none; counter-reset: passo; margin: 0 0 14px; padding: 0; display: grid; gap: 0; }
.passos li { counter-increment: passo; position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 12px; align-items: start; padding: 10px 0 16px; }
.passos li::before { content: counter(passo, decimal-leading-zero); font-family: var(--pv-fonte-titulo); font-weight: 600; font-size: 38px; line-height: 1; letter-spacing: -0.04em; color: transparent; -webkit-text-stroke: 1.4px var(--pv-destaque); }
.passos li:not(:last-child)::after { content: ''; position: absolute; left: 22px; top: 52px; bottom: 0; border-left: 2px dashed var(--pv-vidro); }
.passos li > span { padding-top: 6px; font-size: 16px; }
.m-chamar .passos li::before { -webkit-text-stroke-color: var(--pv-vidro); }
.m-chamar .passos li > span { color: rgba(255, 255, 255, .86); }

/* avisos em destaque */
.aviso { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 18px; font-size: 15px; line-height: 1.5; }
.aviso .ico { width: 22px; height: 22px; margin-top: 1px; }
.aviso.dica { background: var(--pv-vidro-claro); }
.aviso.dica .ico { color: var(--pv-destaque); }
.aviso.alerta { background: var(--pv-alerta); color: #fff; font-weight: 600; }
.aviso.alerta strong { color: #fff; }
.m-chamar .aviso.alerta { box-shadow: 0 0 0 1px rgba(255, 255, 255, .2); }

/* tabelas: ficha de dados e conferência viram cartões no celular */
.tabela-dados table, .tabela-check table { font-size: 15px; }
.tabela-dados thead { display: none; }
.tabela-dados td:first-child { width: 36%; color: var(--pv-texto-suave); font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; }
.tabela-check th:not(:first-child), .tabela-check td:not(:first-child) { width: 92px; text-align: center; }
.tabela-check tbody tr:nth-child(odd) td { background: var(--pv-papel); }
.tabela-check td { vertical-align: middle; padding: 12px 10px; }

/* assinaturas */
.m-assinatura p { margin-bottom: 8px; }

/* fim do manual: dúvida, WhatsApp e PDF */
.m-fim { margin: 26px 14px 0; background: var(--pv-tinta); color: var(--pv-branco); border-radius: 30px; padding: 26px 20px 22px; display: grid; gap: 12px; position: relative; overflow: hidden; isolation: isolate; }
.m-fim::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 100% 0%, rgba(40, 112, 134, .65), transparent 60%); }
.m-fim-marca { display: flex; gap: 16px; align-items: center; margin-bottom: 6px; }
.m-fim-marca img { width: 58px; height: 58px; flex: none; }
.m-fim-marca strong { font-family: var(--pv-fonte-titulo); font-weight: 600; font-size: 22px; display: block; line-height: 1.2; }
.m-fim-marca p { margin: 4px 0 0; color: rgba(255, 255, 255, .72); font-size: 15px; }
.m-fim-ident { margin: 8px 0 0; font-size: 12px; color: rgba(255, 255, 255, .55); text-align: center; }

@media (max-width: 600px) {
  .tabela-dados table, .tabela-dados tbody, .tabela-dados tr, .tabela-dados td { display: block; width: 100% !important; }
  .tabela-dados tr { padding: 10px 0; border-bottom: 1px solid var(--pv-linha); }
  .tabela-dados td { border: 0; padding: 0; }
  .tabela-dados td:first-child { font-size: 11px; }
  .tabela-check thead { display: none; }
  .tabela-check table, .tabela-check tbody { display: block; }
  .tabela-check tr { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 14px; margin-bottom: 10px; border-radius: 18px; background: var(--pv-papel); }
  .tabela-check td, .tabela-check tbody tr:nth-child(odd) td { background: none; border: 0; padding: 0; width: auto !important; }
  .tabela-check td:first-child { grid-column: 1 / -1; font-weight: 600; font-size: 15px; line-height: 1.4; }
  .tabela-check tbody tr td:not(:first-child) { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; border-radius: 14px; background: var(--pv-branco); font-size: 14px; font-weight: 700; color: var(--pv-texto-suave); }
  .tabela-check td:not(:first-child)::after { content: attr(data-r); }
  .tabela-check td:not(:first-child) .caixa { order: -1; }
  .tabela-comum { overflow-x: auto; }
}

@media (min-width: 760px) {
  .manual { padding-top: 28px; }
  .m-capa { border-radius: 36px; margin: 0 24px; padding: 54px 48px 0; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 24px; }
  .m-capa-txt { padding-bottom: 54px; }
  .m-ilustra { margin: 0; align-self: end; }
  .ilustra { max-height: 320px; }
  .m-sumario { margin: -30px 56px 0; padding: 22px 24px; }
  .m-abertura, .m-cartoes, .m-fim { margin-left: 24px; margin-right: 24px; }
  .m-cartoes { grid-template-columns: 1fr 1fr; align-items: start; }
  .m-cap { padding: 28px; }
  .m-cartoes > .m-chamar, .m-cartoes > .m-check, .m-cartoes > .m-assinatura, .m-cartoes > .m-info:has(.tabela) { grid-column: 1 / -1; }
  .m-fim { grid-template-columns: minmax(300px, 1fr) auto auto; align-items: center; padding: 26px 30px; }
  .m-fim .botao.grande { width: auto; }
  .m-fim-marca { margin: 0; }
  .m-fim-ident { grid-column: 1 / -1; text-align: left; }
}

/* =================== contrato =================== */
.folha-a4 { max-width: 210mm; margin: 24px auto 64px; background: var(--pv-branco); border-radius: var(--pv-raio); box-shadow: var(--pv-sombra); padding: clamp(22px, 6vw, 18mm) clamp(18px, 6vw, 18mm); }
.doc-cab { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-bottom: 18px; margin-bottom: 22px; border-bottom: 1px solid var(--pv-linha); }
.doc-logo { height: 32px; width: auto; }
.doc-ident { text-align: right; font-size: 12px; line-height: 1.5; color: var(--pv-texto-suave); }
.c-topo { margin-bottom: 22px; }
.c-kicker { font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--pv-destaque); margin: 0 0 8px !important; }
.c-topo h1 { font-family: var(--pv-fonte-titulo); font-size: clamp(25px, 4.4vw, 32px); line-height: 1.18; letter-spacing: -0.02em; font-weight: 600; margin: 0 0 12px; max-width: 26ch; }
.c-topo > p { color: var(--pv-texto-suave); }
.c-indice { background: var(--pv-papel); border-radius: 20px; padding: 16px 16px 12px; margin: 0 0 28px; }
.c-indice-tit { font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--pv-texto-suave); margin: 0 0 8px 4px !important; }
.c-indice ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 2px 14px; }
.c-indice a { display: flex; gap: 10px; align-items: center; min-height: 40px; padding: 4px 6px; border-radius: 10px; color: var(--pv-tinta); text-decoration: none; font-size: 15px; font-weight: 600; line-height: 1.3; }
.c-indice a:hover { background: var(--pv-branco); }
.c-indice b { flex: none; width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; background: var(--pv-branco); color: var(--pv-destaque); font-family: var(--pv-fonte-titulo); font-size: 13px; font-weight: 600; }
.c-indice b .ico { width: 16px; height: 16px; }
.c-sec { padding-top: 6px; scroll-margin-top: 76px; }
.c-sec h2 { display: flex; gap: 14px; align-items: center; margin: 26px 0 14px; padding-top: 22px; border-top: 1px solid var(--pv-linha); font-family: var(--pv-fonte-titulo); font-size: 20px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.2; }
.c-n { flex: none; width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; background: var(--pv-tinta); color: var(--pv-vidro-claro); font-size: 18px; }
.c-t small { display: block; font-family: var(--pv-fonte); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--pv-texto-suave); margin-bottom: 2px; }
.doc-contrato .doc { font-size: 16px; line-height: 1.7; }
.doc-contrato .doc p { max-width: 70ch; }
.doc-contrato .sub-c { position: relative; padding-left: 46px; }
.doc-contrato .sub-c b { position: absolute; left: 0; top: 1px; font-family: var(--pv-fonte-titulo); font-weight: 600; font-size: 14px; color: var(--pv-destaque); background: var(--pv-vidro-claro); border-radius: 8px; padding: 1px 7px; line-height: 1.5; }
.doc-contrato .tabela { overflow-x: auto; }

.erro-pagina { min-height: 100svh; display: grid; place-content: center; text-align: center; padding: 24px; gap: 12px; }
.erro-logo { height: 40px; width: auto; margin: 0 auto 24px; }

@media (max-width: 600px) {
  .barra .botao span { display: none; }
  .barra .botao { width: 46px; padding: 0; }
  .folha-a4 { margin: 0; border-radius: 0; box-shadow: none; }
  .doc-cab { flex-direction: column; align-items: flex-start; }
  .doc-ident { text-align: left; }
  .doc table { font-size: 13px; }
  .doc-contrato .doc { font-size: 15.5px; }
  .doc-contrato .sub-c { padding-left: 0; }
  .doc-contrato .sub-c b { position: static; margin-right: 8px; }
  .c-indice ol { grid-template-columns: 1fr; }
  /* itens do contrato e do termo em cartões, sem rolar de lado */
  .doc table.itens, .doc table.itens tbody { display: block; }
  .doc table.itens thead { display: none; }
  .doc table.itens tr { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; padding: 14px; margin-bottom: 10px; border-radius: 16px; background: var(--pv-papel); }
  .doc table.itens td { border: 0; padding: 0; text-align: left; }
  .doc table.itens .it-n { display: none; }
  .doc table.itens .it-item { grid-column: 1 / -1; }
  .doc table.itens td[data-r]::before { content: attr(data-r); display: block; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pv-texto-suave); }
  .doc table.itens tr.pe { display: flex; justify-content: space-between; background: none; padding: 4px 14px; margin: 0; }
  .doc table.itens tr.pe td[colspan] { text-align: left; }
  .doc table.itens tr.total { background: var(--pv-tinta); color: var(--pv-branco); padding: 14px; }
  .doc table.itens tr.total td { border: 0; }
  .doc-contrato .tabela { overflow-x: visible; }
}

/* =================== impressão A4 =================== */
@page { size: A4; margin: 16mm 16mm 18mm; }
@media print {
  html { scroll-behavior: auto; }
  body { background: #fff; font-size: 10.5pt; line-height: 1.5; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .tela { display: none !important; }
  .folha-a4 { max-width: none; margin: 0; padding: 0; border-radius: 0; box-shadow: none; }
  .doc table { font-size: 9pt; }
  .doc tr, .doc li { break-inside: avoid; }
  /* manual: capa clara e compacta, cartões sem sombra */
  .manual { max-width: none; padding: 0; }
  .m-capa { background: #fff; color: var(--pv-tinta); border-radius: 0; padding: 0 0 6mm; margin: 0 0 6mm; border-bottom: 2px solid var(--pv-tinta); grid-template-columns: 1fr 58mm; gap: 8mm; align-items: center; }
  .m-capa::before { display: none; }
  .m-capa h1 { font-size: 24pt; max-width: none; }
  .m-kicker { color: var(--pv-destaque); }
  .m-lead { color: var(--pv-texto-suave); font-size: 10pt; }
  .m-ilustra { color: var(--pv-tinta); margin: 0; --pv-ilu-acento: var(--pv-destaque); }
  .ilustra { max-height: 40mm; }
  .ilustra .il-vidro { fill: var(--pv-vidro-claro); }
  .ilustra .il-reflexo, .ilustra .il-reflexo-l { stroke: var(--pv-vidro); }
  .m-abertura, .m-cartoes, .m-fim { margin: 0 0 4mm; }
  .m-cartoes { display: block; }
  .m-cap { margin: 0 0 4mm; padding: 4.5mm 5mm; border-radius: 4mm; break-inside: avoid; }
  .m-cap:has(.tabela-check) { break-inside: auto; }
  .m-cap h2 { font-size: 13pt; margin-bottom: 3mm; break-after: avoid; }
  .m-cap-ico { width: 10mm; height: 10mm; border-radius: 3mm; }
  .m-cap-ico .ico { width: 5.5mm; height: 5.5mm; }
  .lista { gap: 1.6mm; }
  .lista li { font-size: 10pt; padding: 1.8mm 3mm; border-radius: 2.5mm; }
  .li-ico { width: 4.5mm; height: 4.5mm; }
  .passos li { grid-template-columns: 11mm 1fr; padding: 1mm 0 2.5mm; }
  .passos li::before { font-size: 20pt; }
  .passos li::after { display: none; }
  .passos li > span { font-size: 10pt; padding-top: 1mm; }
  .aviso { font-size: 9.5pt; padding: 2.5mm 3.5mm; border-radius: 3mm; }
  .doc .caixa { width: 5mm; height: 5mm; border-radius: 1.5mm; }
  .m-chamar { background: #fff; color: var(--pv-tinta); border: 1.5px solid var(--pv-tinta); }
  .m-chamar::before { display: none; }
  .m-chamar strong { color: var(--pv-tinta); }
  .m-chamar p, .m-chamar .passos li > span { color: var(--pv-tinta); }
  .m-chamar .m-cap-tit small { color: var(--pv-destaque); }
  .lista-chamar li { background: var(--pv-papel); border: 0; }
  .lista-chamar .li-ico { color: var(--pv-alerta); }
  .m-chamar .passos li::before { -webkit-text-stroke-color: var(--pv-destaque); }
  .m-fim { background: #fff; color: var(--pv-tinta); border-radius: 0; border-top: 1px solid var(--pv-linha); padding: 4mm 0 0; }
  .m-fim::before { display: none; }
  .m-fim-marca img { display: none; }
  .m-fim-marca strong { font-size: 12pt; }
  .m-fim-marca p, .m-fim-ident { color: var(--pv-texto-suave); }
  /* contrato */
  .c-indice { background: none; border: 1px solid var(--pv-linha); padding: 3mm 4mm; break-inside: avoid; }
  .c-indice ol { grid-template-columns: 1fr 1fr; }
  .c-indice a { min-height: 0; font-size: 9pt; padding: .6mm 0; }
  .c-indice b { width: 5.5mm; height: 5.5mm; font-size: 8pt; border-radius: 1.5mm; }
  .c-topo h1 { font-size: 18pt; }
  .c-sec h2 { font-size: 12pt; margin-top: 6mm; padding-top: 4mm; break-after: avoid; }
  .c-n { width: 8mm; height: 8mm; font-size: 11pt; border-radius: 2.5mm; }
  .doc-contrato .doc { font-size: 10.5pt; }
  .doc-contrato .sub-c { padding-left: 11mm; }
  .doc-contrato .sub-c b { font-size: 9pt; }
}
