/* ==========================================================================
   Casa+ · confiança e jornada (F14): Como trabalhamos, Compra segura, Sobre e contato,
   Privacidade, páginas de link (indicar, pesquisa, parceiro, avaliar) e 404.
   Só papéis e componentes de site.css (F11). Nenhum token redefinido aqui.
   Direção: DIRECAO_DE_ARTE, seções 10 (componentes) e 11.5 a 11.8 (páginas).
   Sumário: 1 comum · 2 formulários · 3 Como trabalhamos · 4 Compra segura · 5 Sobre e contato ·
   6 Privacidade · 7 páginas de link · 8 404 · 9 impressão.
   ========================================================================== */

/* ---------- 1. Comum ---------- */
/* Cabeçalho no topo de página clara: o site.css (F11) marca data-estado="claro", mas não pinta esse
   estado, e o menu sai creme sobre cru. Correção local, só nas páginas da F14, até a F11 trazer para
   o site.css (registrado em DIVERGENCIAS.md). */
.topo[data-estado="claro"] { color: var(--texto); }
.topo[data-estado="claro"] .logo-claro { opacity: 1; }
.topo[data-estado="claro"] .logo-escuro { opacity: 0; }
.menu-aberto .topo[data-estado="claro"] .logo-claro { opacity: 0; }
.menu-aberto .topo[data-estado="claro"] .logo-escuro { opacity: 1; }
/* menu aberto (imbuia) em página clara: o "Fechar menu" volta a creme (empatava com a regra acima) */
.menu-aberto .topo[data-estado="claro"] { color: var(--creme); }
/* Botão flutuante (C27). Espera a abertura sair da tela (contato.js liga .sob-abertura-escura enquanto
   [data-flutuante-some] aparece): não pousa carvão sobre carvão nem cobre a primeira dobra. */
body.sob-abertura-escura .flutuante { transform: translateY(12px); opacity: 0; visibility: hidden; pointer-events: none; transition: transform var(--d-media) var(--curva-assenta), opacity var(--d-media) var(--curva-assenta), visibility 0s linear var(--d-media); }
/* páginas de link: uma tarefa só, com WhatsApp e telefone nos estados de erro; nada fixo sobre o formulário */
body[data-pagina="pesquisa"] .flutuante, body[data-pagina="parceiro"] .flutuante,
body[data-pagina="avaliar"] .flutuante, body[data-pagina="indicar"] .flutuante { display: none !important; }
.seta--desce { transform: rotate(90deg); }
.botao:hover .seta--desce { transform: rotate(90deg) translateX(3px); }
.abertura--jornada .lead { margin-bottom: 0; }
.abertura__botoes { margin-top: 28px; }
.jornada-abre h1 { max-width: 11em; }
/* nota de ficha: folha linho com fio de 3 px na cor da marca (DIRECAO 11.5 e 11.6) */
.nota-ficha { position: relative; max-width: 760px; padding: 24px 26px 20px; background: var(--superficie); border-left: 3px solid var(--marca); border-radius: 0 var(--r-3) var(--r-3) 0; box-shadow: var(--sombra-papel); }
.site .nota-ficha__titulo, .nota-ficha__titulo { margin: 0 0 10px; font: var(--p-display-forte) 22px/1.2 var(--fonte-display); font-variation-settings: var(--fv-leitura); letter-spacing: -.01em; }
.nota-ficha p { color: var(--texto-2); max-width: 62ch; }
.nota-ficha .botao--texto { margin-top: 8px; }
.jornada-abre .nota-ficha { margin-top: clamp(8px, 2vw, 24px); }
@media (min-width: 1024px) { .jornada-abre .nota-ficha { width: calc((100% + var(--calha)) / 12 * 7 - var(--calha)); max-width: none; margin-top: 8px; } }
.nota-ficha--curta { margin-top: 40px; }
/* aviso fixo do "Copiar CNPJ" (copy 8.3), 4 s, anunciado */
.aviso-copia { position: fixed; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom)); z-index: var(--z-aviso); max-width: min(520px, calc(100vw - 32px)); padding: 14px 18px; border-radius: var(--r-2); background: var(--carvao); color: var(--creme); box-shadow: var(--sombra-flutuante); font: 500 15px/1.45 var(--fonte-texto); transform: translate(-50%, 12px); opacity: 0; visibility: hidden; transition: transform var(--d-media) var(--curva-assenta), opacity var(--d-media), visibility 0s linear var(--d-media); }
.aviso-copia--ver { transform: translate(-50%, 0); opacity: 1; visibility: visible; transition: transform var(--d-media) var(--curva-assenta), opacity var(--d-media); }
.prova--botao { border: 0; padding: 0; background: none; cursor: default; font: var(--p-texto-forte) 14px/1.3 var(--fonte-texto); }
.prova--botao:hover { cursor: default; }

/* ---------- 2. Formulários (C25) ---------- */
.form-site { display: grid; gap: 20px; }
.form-site__envio { margin-top: 4px; }
.isca { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.campo--grupo { margin: 0; padding: 0; border: 0; min-width: 0; }
.campo--grupo legend { padding: 0; margin-bottom: 8px; }
.opcoes-linha { display: flex; flex-wrap: wrap; gap: 8px; }
.opcao { position: relative; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 16px 0 12px; border: 1.5px solid var(--linha-forte); border-radius: var(--r-2); background: var(--superficie); font: var(--p-texto-medio) 15px/1.2 var(--fonte-texto); }
.opcao input { width: 20px; height: 20px; margin: 0; accent-color: var(--carvao); }
.opcao:has(input:checked) { border: 2px solid var(--carvao); background: var(--linho-2); padding: 0 15px 0 11px; }
.opcao:has(input:focus-visible) { outline: 2px solid var(--foco); outline-offset: 3px; }
.campo--marcar .marcar { color: var(--texto-2); }
.campo--erro .marcar input { outline: 2px solid var(--erro); outline-offset: 2px; }
.form-aviso { padding: 12px 14px; border-left: 3px solid var(--erro); background: rgba(180,50,42,.06); border-radius: 0 var(--r-2) var(--r-2) 0; font-size: 15px; color: var(--texto); }
.form-sucesso { display: grid; gap: 8px; }
.form-sucesso:focus { outline: none; }
.form-sucesso:focus-visible { outline: 2px solid var(--foco); outline-offset: 3px; }
.form-sucesso__titulo { font: var(--p-display-forte) 22px/1.25 var(--fonte-display); font-variation-settings: var(--fv-leitura); color: var(--texto); }
.form-sucesso p { color: var(--texto-2); }
.form-sucesso .botoes { margin-top: 8px; }
textarea.campo__entrada { min-height: 104px; resize: vertical; }

/* ---------- 3. Como trabalhamos ---------- */
.jornada-etapas { padding-top: var(--secao-curta); border-top: 1px solid var(--linha); }
.site .jornada-etapas__titulo { max-width: 16em; margin-bottom: clamp(40px, 5vw, 80px); }
.etapas__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 40px; }
.etapas__lista .etapa { padding-bottom: 40px; }
.etapa { scroll-margin-top: calc(var(--topo) + var(--faixa-demo) + 24px); }
.etapa:last-child { border-bottom: 0; padding-bottom: 0; }
.etapa h3 { max-width: 20em; }
.etapa__frase { max-width: var(--medida); color: var(--texto); font-size: 18px; line-height: 1.55; }
.etapa__detalhe > summary { display: inline-flex; align-items: center; gap: 10px; min-height: var(--alvo); list-style: none; cursor: default; font: var(--p-texto-forte) 15px/1.3 var(--fonte-texto); color: var(--texto-2); text-decoration: underline; text-decoration-color: var(--linha-forte); text-underline-offset: 4px; }
.etapa__detalhe > summary::-webkit-details-marker { display: none; }
.etapa__detalhe > summary::after { content: '+'; display: inline-block; font: 400 22px/1 var(--fonte-display); color: var(--acento-texto); }
.etapa__detalhe[open] > summary::after { content: '\2212'; }
.etapa__detalhe > :not(summary) { max-width: 44rem; }
.etapa__detalhe > p { color: var(--texto-2); margin-bottom: 14px; }
.etapa__citacao { margin: 0 0 14px; }
.etapa__citacao p { margin: 0; }
.etapa__citacao cite .prova { margin-left: 4px; min-height: 0; font-size: 13px; }
.etapa__citacao--alta p { font-size: 15px; letter-spacing: .02em; }
.etapa__da-casa { padding-left: 20px; border-left: 1px solid var(--linha-forte); font: italic 400 16px/1.5 var(--fonte-display); font-variation-settings: var(--fv-leitura); color: var(--texto-2); }
.etapa__da-casa .rotulo { display: block; margin-bottom: 4px; font-style: normal; color: var(--texto-3); }
.etapa__destaque { max-width: var(--medida); color: var(--texto-2); }
.revisao .etapa__destaque { padding: 12px 16px; background: var(--superficie); border: 1px dashed var(--acento-texto); }
.etapa__lei { max-width: var(--medida); padding: 12px 16px; border: 1.5px dashed var(--traco); border-radius: var(--r-1); font: var(--p-texto-forte) 13px/1.5 var(--fonte-texto); font-stretch: 88%; letter-spacing: .04em; text-transform: uppercase; color: var(--texto); }
@media (min-width: 1024px) {
  .etapas__lista { gap: 56px; }
  .etapas__lista .etapa { grid-template-columns: 92px minmax(0, 1fr); column-gap: 20px; padding-bottom: 56px; }
  .etapas__lista .etapa > * { grid-column: 2; }
  .etapas__lista .etapa > .etapa__numero { grid-column: 1; grid-row: 1 / span 3; font-size: 88px; line-height: .78; }
  .etapa__detalhe > summary { display: none; }
  .etapa__detalhe::details-content { content-visibility: visible; block-size: auto; }
  .etapa__detalhe { padding-top: 6px; }
  .etapas__indice a span:first-child { font: 500 15px/1.3 var(--fonte-display); font-variant-numeric: lining-nums; color: var(--texto-3); }
  .etapas__indice a[aria-current="step"] span:first-child { color: var(--acento-texto); }
  .etapas__indice a:hover { color: var(--texto); }
  /* parágrafo inteiro, depois "Fica com você", depois o destaque e as citações (o details se dissolve na grade) */
  .etapas__lista .etapa > h3 { order: 1; }
  .etapas__lista .etapa > .etapa__frase { order: 2; }
  .etapas__lista .etapa .etapa__detalhe > p:not(.etapa__da-casa) { order: 3; margin-bottom: 0; }
  .etapas__lista .etapa > .fica-com-voce { order: 4; }
  .etapas__lista .etapa > .etapa__destaque, .etapas__lista .etapa > .etapa__lei { order: 5; }
  .etapas__lista .etapa .etapa__detalhe > blockquote { order: 6; margin-bottom: 0; }
  .etapas__lista .etapa .etapa__detalhe > .etapa__da-casa { order: 7; }
  .etapas__lista .etapa .etapa__detalhe { display: contents; }
  .etapas__lista .etapa .etapa__detalhe::details-content { display: contents; content-visibility: visible; }
  .etapas__lista .etapa .etapa__detalhe > :not(summary) { grid-column: 2; }
}

.jornada-credito__texto { display: grid; gap: 22px; max-width: 58rem; }
.jornada-credito__texto h2 { max-width: 15em; }
.avisos-tres { list-style: none; display: grid; gap: 0; margin: clamp(40px, 5vw, 72px) 0 0; padding: 0; border-top: 1.5px solid var(--texto); }
.avisos-tres li { padding: 24px 0; border-bottom: 1px solid var(--linha); }
.avisos-tres h3 { font-size: clamp(1.25rem, 1rem + .8vw, 1.625rem); margin-bottom: 10px; max-width: 14em; }
.avisos-tres p { color: var(--texto-2); max-width: 36ch; }
.jornada-credito__fonte { margin-top: 20px; }
@media (min-width: 900px) {
  .avisos-tres { grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--linha); }
  .avisos-tres li { padding: 28px 28px 32px; border-bottom: 0; }
  .avisos-tres li:first-child { padding-left: 0; }
  .avisos-tres li + li { border-left: 1px solid var(--linha); }
}

.faq__grupo + .faq__grupo { margin-top: 40px; }
.faq__grupo-titulo, .site .faq__grupo-titulo { margin: 0 0 8px; font: var(--p-texto-forte) var(--t-rotulo)/1.4 var(--fonte-texto); font-stretch: var(--largura-rotulo); letter-spacing: var(--l-rotulo); text-transform: uppercase; color: var(--acento-texto); }
.faq--abas .faq__grupo + .faq__grupo { margin-top: 0; }
.faq--abas .faq__abas { margin-bottom: 20px; scroll-padding-inline: var(--margem); }
.faq .acordeao summary { font-size: clamp(18px, 1rem + .3vw, 20px); }
.faq__grupo:focus { outline: none; }
@media (min-width: 1024px) {
  .faq--abas { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); column-gap: var(--calha); align-items: start; }
  .faq--abas .faq__abas { position: sticky; top: calc(var(--topo) + var(--faixa-demo) + 32px); flex-direction: column; gap: 0; margin: 0; padding: 0; overflow: visible; mask-image: none; border-top: 1px solid var(--linha-forte); }
  .faq--abas .faq__abas button { width: 100%; min-height: 56px; padding: 0 0 0 16px; text-align: left; border-bottom: 1px solid var(--linha); border-left: 2px solid transparent; font-size: 16px; }
  .faq--abas .faq__abas button[aria-selected="true"] { border-bottom-color: var(--linha); border-left-color: var(--acento); font-weight: 600; }
  .faq--abas .faq__grupo { grid-column: 2; grid-row: 1; }
}

.jornada-fechamento__caixa { display: grid; gap: 28px; }
.jornada-fechamento h2 { max-width: 9em; }
.jornada-fechamento .botoes { margin-top: 28px; }
@media (min-width: 1024px) {
  .jornada-fechamento__caixa { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--calha); align-items: end; }
  .jornada-fechamento__caixa > h2 { grid-column: 1 / span 6; }
  .jornada-fechamento__caixa > div { grid-column: 8 / span 5; }
}

/* ---------- 4. Compra segura ---------- */
.seguro-abre__grade { display: grid; gap: 40px; align-items: end; }
.seguro-abre h1 { max-width: 10.5em; margin-bottom: 26px; }
.seguro-abre .lead { max-width: 56ch; }
.seguro-abre__botoes { margin-top: 32px; }
.seguro-abre__fontes { margin-top: 26px; max-width: 60ch; }
.ficha-escura { position: relative; padding: 26px 24px 18px; background: var(--superficie-escura); border-radius: var(--r-3); box-shadow: inset 0 0 0 1px var(--linha-inversa); }
.ficha-escura::before { content: ''; position: absolute; left: 24px; right: 24px; top: 12px; border-top: 2px dashed var(--mel); opacity: .45; }
.ficha-escura__rotulo { color: var(--enfase-escuro); margin-bottom: 10px; }
.ficha-escura__texto { font: 400 clamp(19px, 1rem + .5vw, 22px)/1.4 var(--fonte-display); font-variation-settings: var(--fv-leitura); color: var(--texto-inverso); }
.ficha-escura .botao--texto { margin-top: 14px; }
@media (min-width: 1024px) {
  .seguro-abre__grade { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--calha); }
  .seguro-abre__texto { grid-column: 1 / span 7; }
  .ficha-escura { grid-column: 9 / span 4; margin-bottom: 8px; }
}

.lista-conferir { list-style: none; margin: 0; padding: 0; border-top: 1.5px solid var(--texto); counter-reset: none; }
.conferir { border-bottom: 1px solid var(--linha-forte); }
.conferir__pergunta { display: grid; grid-template-columns: 48px minmax(0, 1fr) 24px; gap: 12px; align-items: baseline; padding: 20px 0; list-style: none; cursor: default; }
.conferir__pergunta::-webkit-details-marker { display: none; }
.conferir__pergunta::after { content: '+'; align-self: center; justify-self: end; font: 400 26px/1 var(--fonte-display); color: var(--acento-texto); }
.conferir details[open] .conferir__pergunta::after { content: '\2212'; }
.conferir__numero { font: 330 44px/.9 var(--fonte-display); font-variation-settings: var(--fv-display); font-variant-numeric: lining-nums; letter-spacing: -.03em; color: var(--marca); }
.conferir__pergunta h3 { font-size: clamp(1.25rem, 1.05rem + .9vw, 1.875rem); }
.conferir__corpo { display: grid; gap: 18px; padding: 0 0 26px; }
.conferir__explica { max-width: 60ch; color: var(--texto-2); font-size: 17px; }
.conferir__casa { position: relative; display: grid; gap: 8px; align-content: start; padding: 22px 20px 16px; background: var(--superficie); border-radius: var(--r-2); box-shadow: 0 0 0 1px var(--linha); font-size: 15px; line-height: 1.5; color: var(--texto-2); }
.conferir__casa::before { content: ''; position: absolute; left: 20px; right: 20px; top: 9px; border-top: 1.5px dashed var(--traco); opacity: .45; }
.conferir__rotulo { color: var(--texto-3); }
.conferir__status { display: flex; align-items: flex-start; gap: 8px; font-weight: 600; color: var(--texto); }
.conferir__status svg { flex: none; width: 18px; height: 18px; margin-top: 2px; }
.conferir__status path { fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.conferir__status--sim { color: var(--conferido); font-size: 16px; }
.conferir__status--pergunte { font-weight: 500; color: var(--texto); }
.conferir__interroga { flex: none; display: grid; place-items: center; width: 20px; height: 20px; margin-top: 1px; border: 1.5px solid var(--texto-3); border-radius: 50%; color: var(--texto-3); font: 600 12px/1 var(--fonte-texto); }
.conferir__sub { font-weight: 600; }
.conferir__links { display: flex; flex-wrap: wrap; gap: 4px 20px; margin-top: 2px; }
@media (min-width: 1024px) {
  /* desktop: número, pergunta e explicação à esquerda; a linha "A Casa+" à direita, alinhada ao topo da pergunta */
  .conferir { display: grid; grid-template-columns: calc((100% + var(--calha)) / 12 * 2 - var(--calha)) minmax(0, 6fr) minmax(0, 4fr); grid-template-rows: auto 1fr; column-gap: var(--calha); padding: 34px 0; }
  .conferir details, .conferir__corpo { display: contents; }
  .conferir details::details-content { display: contents; content-visibility: visible; }
  .conferir__pergunta { grid-column: 1 / span 2; grid-row: 1; grid-template-columns: calc((100% + var(--calha)) / 8 * 2 - var(--calha)) minmax(0, 1fr); column-gap: var(--calha); padding: 0; }
  .conferir details .conferir__pergunta::after, .conferir details[open] .conferir__pergunta::after { content: none; }
  .conferir__numero { font-size: 72px; line-height: .8; }
  .conferir__pergunta h3 { max-width: 20em; }
  .conferir__explica { grid-column: 2; grid-row: 2; margin-top: 14px; padding-right: 24px; }
  .conferir__casa { grid-column: 3; grid-row: 1 / span 2; align-self: start; }
}
.quadro-resumo { display: none; }

.seguro-cnpj__grade { display: grid; gap: 48px; align-items: start; }
.seguro-cnpj__texto h2 { max-width: 9em; margin-bottom: 26px; }
.seguro-cnpj__texto .corpo { color: var(--texto-2); }
.ficha--identidade .ficha__linha { grid-template-columns: 1fr; }
.ficha__cnpj { font-size: 22px !important; letter-spacing: .01em; }
.ficha__botoes { margin-top: 18px; }
@container (min-width: 440px) { .ficha--identidade .ficha__linha { grid-template-columns: 10rem minmax(0, 1fr); } }
@media (min-width: 1024px) {
  .seguro-cnpj__grade { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--calha); }
  .seguro-cnpj__texto { grid-column: 1 / span 5; }
  .seguro-cnpj .ficha { grid-column: 7 / span 6; }
}
.seguro-compara { margin-top: clamp(48px, 6vw, 96px); }
.site .seguro-compara__titulo, .seguro-compara__titulo { font-size: var(--t-h3); margin-bottom: 8px; max-width: 22em; }
.seguro-compara .corpo { margin-bottom: 22px; }
.compara-cnpj__ficha .rotulo { color: var(--texto-3); }
/* no celular o "=" girado lia como "||": vira a palavra */
@media (max-width: 767.98px) {
  .compara-cnpj__igual { transform: none; font-size: 0; line-height: 1; }
  .compara-cnpj__igual::after { content: 'igual a'; font: var(--p-texto-forte) var(--t-rotulo)/1.4 var(--fonte-texto); font-stretch: var(--largura-rotulo); letter-spacing: var(--l-rotulo); text-transform: uppercase; color: var(--texto-3); }
}
.compara-cnpj__ficha--casa { box-shadow: var(--sombra-papel), inset 0 0 0 1.5px var(--texto); }

.seguro-golpe__cab { display: grid; gap: 20px; max-width: 58rem; }
.seguro-golpe h2 { max-width: 15em; }
.passos-golpe { list-style: none; display: grid; gap: 0; margin: clamp(40px, 5vw, 72px) 0 0; padding: 0; border-top: 1px solid var(--linha-inversa-forte); }
.passos-golpe li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; align-items: baseline; padding: 20px 0; border-bottom: 1px solid var(--linha-inversa); }
.passos-golpe__n { font: 330 44px/.9 var(--fonte-display); font-variation-settings: var(--fv-display); font-variant-numeric: lining-nums; color: var(--enfase-escuro); }
.passos-golpe p { color: var(--texto-inverso-2); max-width: 38ch; }
.passos-golpe b { color: var(--texto-inverso); font-weight: 600; }
.seguro-golpe__botoes { margin-top: 36px; }
.seguro-golpe__fecho { margin-top: 34px; max-width: 34em; font: italic 400 22px/1.4 var(--fonte-display); font-variation-settings: var(--fv-enfase); color: var(--texto-inverso); }
@media (min-width: 1024px) {
  .passos-golpe { grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid var(--linha-inversa); }
  .passos-golpe li { grid-template-columns: 1fr; gap: 16px; align-content: start; padding: 28px 22px 32px; border-bottom: 0; }
  .passos-golpe li:first-child { padding-left: 0; }
  .passos-golpe li + li { border-left: 1px solid var(--linha-inversa); }
  .passos-golpe__n { font-size: 72px; line-height: .8; }
}

.seguro-direitos__caixa { max-width: 880px; }
.seguro-direitos .acordeao summary { font-size: clamp(20px, 1.05rem + .6vw, 24px); }
.direitos { display: grid; gap: 0; margin: 4px 0 18px; border-top: 1px dashed var(--linha-forte); }
.direitos > div { display: grid; gap: 4px; padding: 14px 0; border-bottom: 1px dashed var(--linha-forte); }
.direitos dt { font: var(--p-texto-forte) var(--t-rotulo)/1.4 var(--fonte-texto); font-stretch: var(--largura-rotulo); letter-spacing: var(--l-rotulo); text-transform: uppercase; color: var(--texto-3); }
.direitos dd { margin: 0; color: var(--texto); }
@media (min-width: 768px) { .direitos > div { grid-template-columns: 11rem minmax(0, 1fr); gap: 20px; align-items: baseline; } }
.direitos__nota { margin-top: 14px; padding-left: 16px; border-left: 3px solid var(--marca); color: var(--texto-2); }
.seguro-prova .ficha { background: var(--fundo); }
.seguro-direitos .sobretitulo { margin-bottom: 10px; }
.seguro-direitos__resumo { margin-top: 12px; }
@media (min-width: 1024px) {
  .seguro-prova .inicio-prova__texto { grid-column: 1 / span 4; }
  .seguro-prova .ficha { grid-column: 5 / span 8; }
}

/* ---------- 5. Sobre e contato ---------- */
.sobre-abre__grade { display: grid; gap: 40px; align-items: end; }
.sobre-abre h1 { max-width: 9.5em; margin-bottom: 24px; font-size: clamp(2.5rem, 1.1rem + 4.4vw, 6rem); }
.sobre-abre__foto { position: relative; }
.sobre-abre__foto .carimbo-papel { top: 22px; right: -6px; }
/* no celular a foto do showroom vem num corte 6:5, com a casa inteira e menos cascalho: primeira dobra mais curta e arquivo menor */
@media (max-width: 1023.98px) { .sobre-abre__foto .foto { aspect-ratio: 6 / 5; } }
.sobre-abre__foto picture { display: contents; }
@media (min-width: 1024px) {
  .sobre-abre__grade { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--calha); align-items: center; }
  .sobre-abre__texto { grid-column: 1 / span 5; }
  .sobre-abre__foto { grid-column: 7 / span 6; }
  /* a foto 4:5 cabe na primeira dobra: o texto centra ao lado dela e o subtítulo fica à vista */
  .sobre-abre__foto figure { width: min(100%, calc((100svh - var(--topo) - var(--faixa-demo) - 150px) * .8)); margin-left: auto; }
}
.sobre-abre .lead { text-wrap: pretty; }
.sobre-pessoas .lead { text-wrap: balance; }
.sobre-historia { padding-top: var(--secao-curta); border-top: 1px solid var(--linha); }
.site .sobre-historia__titulo { max-width: 13em; margin-bottom: clamp(28px, 4vw, 56px); }
.sobre-historia__texto { display: grid; gap: 1em; max-width: 72rem; }
@media (min-width: 900px) { .sobre-historia__texto { display: block; columns: 2; column-gap: calc(var(--calha) * 2.5); } .sobre-historia__texto .corpo { break-inside: avoid; margin-bottom: 1em; max-width: none; } }
.sobre-marcos { margin-top: clamp(48px, 6vw, 88px); }
/* fita e cartões rolam juntos, cada pino sobre o seu cartão (espaçamento igual, não é escala de tempo) */
.sobre-marcos__rolo { overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; }
.sobre-marcos__rolo::-webkit-scrollbar { display: none; }
.sobre-marcos__rolo > * { width: 1080px; }
.sobre-marcos .trena { overflow: visible; padding-top: 48px; }
.sobre-marcos .trena__fita { min-width: 0; }
.sobre-marcos .trena__marcos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); padding: 0; }
.sobre-marcos .trena__pino { justify-self: start; margin-left: 4px; }
.sobre-marcos .marcos-cartoes { grid-auto-columns: minmax(0, 1fr); overflow: visible; scroll-snap-type: none; }
.sobre-marcos .marcos-cartoes li { scroll-snap-align: start; }
.marcos-cartoes { list-style: none; padding: 0; }
.marcos-cartoes li p + p { margin-top: 6px; color: var(--texto-2); font-size: 15px; line-height: 1.5; }
.marcos-cartoes .rotulo { color: var(--acento-texto); }
.marcos-cartoes__aberto { min-height: 60px; border: 0 !important; }
/* os pinos e os fios moram dentro da fita, mas sobem e descem além dela: o recorte da revelação
   sobra em cima e embaixo, senão a fita vira uma barra laranja sem marcos */
.sobre-marcos .trena__fita { clip-path: inset(-56px 100% -80px -8px); }
.sobre-marcos .trena.visto .trena__fita { clip-path: inset(-56px -8px -80px -8px); }
@media (prefers-reduced-motion: reduce) { .sobre-marcos .trena__fita, .sobre-marcos .trena.visto .trena__fita { clip-path: none; } }
@media (max-width: 1023.98px) {
  /* dois cartões e meio na tela: o terceiro pela metade diz que dá para arrastar */
  .sobre-marcos__rolo > * { width: 860px; }
  .sobre-marcos__rolo { scroll-padding-inline: var(--margem); margin-inline: calc(var(--margem) * -1); padding-inline: var(--margem); }
}
@media (min-width: 1024px) {
  .sobre-marcos__rolo { overflow: visible; }
  .sobre-marcos__rolo > * { width: auto; }
}
.sobre-numeros { margin-top: clamp(48px, 6vw, 88px); padding-bottom: 0; background: transparent; }
.sobre-pessoas__grade { display: grid; gap: 36px 28px; }
.sobre-pessoas__grade .citacao { max-width: none; padding-top: 22px; border-top: 1px solid var(--linha-forte); }
@media (min-width: 768px) { .sobre-pessoas__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .sobre-pessoas__grade { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sobre-acredita h2 { max-width: 10em; margin-bottom: clamp(40px, 5vw, 72px); }
.sobre-acredita__lista { list-style: none; display: grid; gap: 40px; margin: 0; padding: 0; }
.sobre-acredita__lista li { display: grid; gap: 14px; align-content: start; padding-top: 20px; border-top: 1px solid var(--linha-inversa-forte); }
.sobre-acredita__n { font: 330 96px/.8 var(--fonte-display); font-variation-settings: var(--fv-display); font-variant-numeric: lining-nums; color: var(--enfase-escuro); letter-spacing: -.04em; }
.site .sobre-acredita h3 { font: 360 clamp(26px, 1.2rem + 1vw, 32px)/1.1 var(--fonte-display); font-variation-settings: var(--fv-display); color: var(--texto-inverso); }
.sobre-acredita__lista p { color: var(--texto-inverso-2); max-width: 34ch; }
.sobre-acredita .citacao { margin-top: 6px; }
@media (min-width: 900px) { .sobre-acredita__lista { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(var(--calha) * 2); } }

.site .sobre-contato__titulo { max-width: 12em; margin-bottom: clamp(36px, 5vw, 64px); }
.sobre-contato__grade { display: grid; gap: 40px; align-items: start; }
.contato-bloco { display: grid; gap: 10px; align-content: start; padding-top: 18px; border-top: 1.5px solid var(--texto); }
.site .contato-bloco__titulo { margin: 0 0 4px; color: var(--acento-texto); font: var(--p-texto-forte) var(--t-rotulo)/1.4 var(--fonte-texto); font-stretch: var(--largura-rotulo); letter-spacing: var(--l-rotulo); text-transform: uppercase; font-variation-settings: normal; }
.contato-bloco p, .contato-bloco li { color: var(--texto-2); }
.contato-bloco__dado { font: var(--p-texto-forte) 18px/1.45 var(--fonte-texto); color: var(--texto) !important; }
.contato-bloco__dado a { text-decoration-color: var(--linha-forte); text-underline-offset: 4px; }
.contato-bloco__horario { font-variant-numeric: tabular-nums; }
.contato-bloco__botoes { margin-top: 8px; flex-direction: column; align-items: stretch; }
.contato-bloco__botoes .botao { justify-content: space-between; }
.contato-bloco__lista { list-style: none; display: grid; gap: 6px; margin: 10px 0 0; padding: 14px 0 0; border-top: 1px dashed var(--linha-forte); }
.contato-bloco__lista a { color: var(--texto); text-decoration-color: var(--linha-forte); text-underline-offset: 3px; }
.contato-form { padding: 26px clamp(20px, 2.4vw, 32px) 28px; background: var(--superficie); border-radius: var(--r-3); box-shadow: var(--sombra-papel); }
.site .contato-form__titulo, .contato-form__titulo { margin: 0 0 18px; font: var(--p-display-forte) 24px/1.2 var(--fonte-display); font-variation-settings: var(--fv-leitura); }
.sobre-contato__grade .dados-empresa { margin: 0; }
/* 1024 a 1279: duas colunas (showroom, canais e dados à esquerda; o formulário à direita) */
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .sobre-contato__grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); column-gap: calc(var(--calha) * 1.6); row-gap: 36px; }
  .sobre-contato__grade > .contato-bloco:nth-child(1) { grid-column: 1; grid-row: 1; }
  .sobre-contato__grade > .contato-bloco:nth-child(2) { grid-column: 1; grid-row: 2; }
  .sobre-contato__grade > .dados-empresa { grid-column: 1; grid-row: 3; }
  .sobre-contato__grade > .contato-form { grid-column: 2; grid-row: 1 / span 3; }
}
/* 1280 ou mais: três colunas, e os dados da empresa embaixo do showroom e dos canais */
@media (min-width: 1280px) {
  .sobre-contato__grade { grid-template-columns: minmax(0, 3.2fr) minmax(0, 3.4fr) minmax(0, 5.4fr); grid-template-rows: auto 1fr; column-gap: calc(var(--calha) * 1.6); row-gap: 40px; }
  .sobre-contato__grade > .contato-bloco:nth-child(1) { grid-column: 1; grid-row: 1; }
  .sobre-contato__grade > .contato-bloco:nth-child(2) { grid-column: 2; grid-row: 1; }
  .sobre-contato__grade > .dados-empresa { grid-column: 1 / span 2; grid-row: 2; align-self: start; }
  .sobre-contato__grade > .contato-form { grid-column: 3; grid-row: 1 / span 2; }
}
.sobre-contato .mapa-google { margin-top: clamp(40px, 5vw, 64px); }
/* O formulário e o agendamento chegam depois (contato.js): o lugar deles já existe, para nada abaixo pular. */
/* alturas medidas com o formulário vazio e o calendário de três semanas (390, 768 e 1024 ou mais) */
.sobre-contato [data-form-contato]:not([data-montado]) { min-height: 840px; }
.sobre-agendar [data-agendamento]:not([data-montado]) { min-height: 432px; }
@media (min-width: 768px) {
  .sobre-contato [data-form-contato]:not([data-montado]) { min-height: 687px; }
  .sobre-agendar [data-agendamento]:not([data-montado]) { min-height: 458px; }
}
@media (min-width: 1024px) {
  .sobre-contato [data-form-contato]:not([data-montado]) { min-height: 765px; }
  .sobre-agendar [data-agendamento]:not([data-montado]) { min-height: 475px; }
}
#agendar, [data-agendamento] { scroll-margin-top: calc(var(--topo) + var(--faixa-demo) + 16px); }
.dados-empresa { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 24px; margin: clamp(40px, 5vw, 64px) 0 28px; padding: 16px 0; border-top: 1px dashed var(--linha-forte); border-bottom: 1px dashed var(--linha-forte); }
.dados-empresa__rotulo { color: var(--texto-3); min-width: 9.5rem; }
.dados-empresa__dado { color: var(--texto); }
.dados-empresa .prova { margin-left: auto; }
@media (max-width: 767px) { .dados-empresa .prova { margin-left: 0; } }
.mapa-google[data-carregado] { background: var(--areia); }
.mapa-google .botao span { color: var(--texto); }

.sobre-agendar__grade { display: grid; gap: 36px; align-items: start; }
.sobre-agendar h2 { max-width: 8em; margin-bottom: 22px; }
.sobre-agendar .corpo + .corpo { margin-top: 14px; }
.sobre-agendar__dados { display: grid; gap: 14px; margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--linha-forte); }
.sobre-agendar__dados dt { color: var(--texto-3); }
.sobre-agendar__dados dd { margin: 4px 0 0; }
@media (min-width: 1024px) {
  .sobre-agendar__grade { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--calha); }
  .sobre-agendar__texto { grid-column: 1 / span 4; position: sticky; top: calc(var(--topo) + var(--faixa-demo) + 40px); }
  .sobre-agendar__componente { grid-column: 6 / span 7; }
}

/* ---------- 6. Privacidade (DIRECAO 11.8: coluna única, índice lateral, data no topo) ---------- */
.priv__grade { display: grid; gap: 32px; }
.priv__indice { display: none; }
.priv__texto { max-width: var(--medida); }
.priv__texto h1 { font-size: clamp(2.5rem, 1.4rem + 4vw, 5rem); margin-bottom: 20px; }
.priv__data { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 12px 0; border-top: 1px dashed var(--linha-forte); border-bottom: 1px dashed var(--linha-forte); font-size: 14px; color: var(--texto-2); }
.priv__lead { margin: 26px 0 0; max-width: none; }
.a-confirmar { display: inline-block; padding: 1px 7px 2px; border: 1px solid var(--acento-texto); border-radius: var(--r-1); color: var(--acento-texto); font: var(--p-texto-forte) 11px/1.4 var(--fonte-texto); font-stretch: var(--largura-rotulo); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; vertical-align: 2px; }
.priv__secao { padding-top: 56px; scroll-margin-top: calc(var(--topo) + var(--faixa-demo) + 16px); }
.site .priv__secao h2 { font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.5rem); margin-bottom: 18px; }
.priv__secao .corpo { max-width: none; }
.priv__secao .corpo + .corpo { margin-top: .9em; }
.priv__secao .botoes { margin-top: 20px; }
.priv__ficha { margin: 0; border-top: 1.5px solid var(--texto); }
.priv__ficha > div { display: grid; gap: 4px; padding: 14px 0; border-bottom: 1px dashed var(--linha-forte); }
.priv__ficha dt { font: var(--p-texto-forte) var(--t-rotulo)/1.4 var(--fonte-texto); font-stretch: var(--largura-rotulo); letter-spacing: var(--l-rotulo); text-transform: uppercase; color: var(--texto-3); }
.priv__ficha dd { margin: 0; color: var(--texto); }
@media (min-width: 700px) { .priv__ficha > div { grid-template-columns: 11rem minmax(0, 1fr); gap: 20px; } }
.priv__lista { display: grid; gap: 14px; margin: 0 0 18px; padding: 0 0 0 20px; color: var(--texto-2); }
.priv__lista b { color: var(--texto); font-weight: 600; }
.priv__secao .corpo + .priv__lista { margin-top: 14px; }
.priv__tabela { width: 100%; margin-top: 20px; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
.priv__tabela th, .priv__tabela td { padding: 12px 12px 12px 0; border-bottom: 1px dashed var(--linha-forte); text-align: left; vertical-align: top; }
.priv__tabela thead th { font: var(--p-texto-forte) var(--t-rotulo)/1.4 var(--fonte-texto); font-stretch: var(--largura-rotulo); letter-spacing: var(--l-rotulo); text-transform: uppercase; color: var(--texto-3); border-bottom: 1.5px solid var(--texto); }
.priv__tabela tbody th { font-weight: 600; color: var(--texto); }
.priv__tabela td { color: var(--texto-2); }
.priv__tabela .a-confirmar { margin-left: 4px; }
@media (max-width: 599px) {
  /* no celular o cabeçalho vira uma linha só: a etiqueta "a confirmar" da coluna continua à vista */
  .priv__tabela thead { display: block; }
  .priv__tabela thead tr { display: flex; flex-wrap: wrap; gap: 4px 16px; padding: 0 0 10px; border-bottom: 1.5px solid var(--texto); }
  .priv__tabela thead th { padding: 0; border: 0; }
  .priv__tabela tr { display: grid; gap: 2px; padding: 12px 0; border-bottom: 1px dashed var(--linha-forte); }
  .priv__tabela th, .priv__tabela td { padding: 0; border: 0; }
}
.priv__aviso { margin: 20px 0; padding: 16px 18px; background: var(--superficie); border-left: 3px solid var(--marca); border-radius: 0 var(--r-2) var(--r-2) 0; color: var(--texto-2); }
.priv__aviso b { color: var(--texto); font-weight: 600; }
.priv__form { padding: 26px clamp(18px, 2.4vw, 32px); background: var(--superficie); border-radius: var(--r-3); box-shadow: var(--sombra-papel); }
.priv__form .form-site { max-width: 560px; }
@media (min-width: 1024px) {
  .priv__grade { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--calha); align-items: start; }
  .priv__indice { display: block; grid-column: 1 / span 3; position: sticky; top: calc(var(--topo) + var(--faixa-demo) + 40px); padding-top: 8px; }
  .priv__indice .rotulo { color: var(--texto-3); margin-bottom: 12px; }
  .priv__indice ol { list-style: none; margin: 0; padding: 0 0 0 16px; border-left: 2px solid var(--linha); display: grid; gap: 2px; }
  .priv__indice a { display: block; padding: 6px 0; font-size: 15px; line-height: 1.35; color: var(--texto-2); text-decoration: none; }
  .priv__indice a:hover { color: var(--texto); }
  .priv__indice a[aria-current="true"] { color: var(--texto); font-weight: 600; box-shadow: -18px 0 0 -16px var(--acento); }
  .priv__texto { grid-column: 5 / span 8; }
}

/* ---------- 7. Páginas de link (indicar, pesquisa, parceiro, avaliar) ---------- */
.link-pagina { min-height: calc(100svh - var(--faixa-demo)); }
.link-pagina__grade { display: grid; gap: 40px; align-items: start; }
.link-pagina__texto h1, .site .link-pagina__titulo { font-size: clamp(2.25rem, 1.3rem + 3.6vw, 4.5rem); max-width: 12em; margin-bottom: 20px; }
.link-pagina__titulo:focus { outline: none; }
.link-pagina__folha { padding: 26px clamp(18px, 2.4vw, 36px) 30px; background: var(--superficie); border-radius: var(--r-3); box-shadow: var(--sombra-papel); }
.link-pagina__folha--unica { max-width: 760px; }
.link-pagina--estreita .caixa { max-width: 880px; }
.site .link-pagina__form-titulo, .link-pagina__form-titulo { margin: 4px 0 4px; font: var(--p-display-forte) 24px/1.2 var(--fonte-display); font-variation-settings: var(--fv-leitura); }
.link-pagina__carregando { color: var(--texto-2); }
.link-pagina__botoes { margin-top: 22px; }
.link-pagina__recompensa { margin-top: 16px; }
.link-prova { list-style: none; display: grid; gap: 0; margin: 32px 0 10px; padding: 0; border-top: 1.5px solid var(--texto); }
.link-prova li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 16px; padding: 14px 0; border-bottom: 1px dashed var(--linha-forte); }
.link-prova b { font-weight: 600; }
.link-prova li > span { grid-column: 1; font-size: 14px; color: var(--texto-2); }
.link-prova .prova { grid-row: 1 / span 2; grid-column: 2; align-self: center; }
@media (min-width: 1024px) {
  .link-pagina__grade { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--calha); }
  .link-pagina__texto { grid-column: 1 / span 5; }
  .link-pagina__grade > .link-pagina__folha { grid-column: 7 / span 6; }
}
.troca-modo { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-bottom: 24px; border-bottom: 1px solid var(--linha-forte); }
.troca-modo__opcao { min-height: var(--alvo); padding: 0 8px; border: 0; border-bottom: 2px solid transparent; background: none; font: var(--p-texto-medio) 15px/1.2 var(--fonte-texto); color: var(--texto-2); }
.troca-modo__opcao[aria-checked="true"] { color: var(--texto); font-weight: 600; border-bottom-color: var(--acento); }
.troca-modo__opcao:hover { color: var(--texto); }
@media (max-width: 399.98px) { .troca-modo__opcao { font-size: 15px; white-space: nowrap; padding: 0 4px; } }
/* pesquisa e avaliação: folha única centrada, sem cartão encostado à esquerda num campo vazio */
.link-pagina--estreita .caixa { margin-inline: auto; }
.link-pagina__folha--unica { margin-inline: auto; }
.avaliar__reserva { margin-top: 8px; }
/* pesquisa: escala de 0 a 10 como régua de cota */
.pesquisa__form { margin-top: 26px; }
.pesquisa__pergunta { font: var(--p-display-forte) clamp(20px, 1rem + .8vw, 26px)/1.3 var(--fonte-display); font-variation-settings: var(--fv-leitura); margin-bottom: 16px !important; }
.escala-nota { display: grid; grid-template-columns: repeat(11, minmax(0, 1fr)); gap: 4px; }
.escala-nota__n { min-height: 52px; border: 1.5px solid var(--linha-forte); border-radius: var(--r-2); background: var(--fundo); color: var(--texto); font: var(--p-texto-forte) 18px/1 var(--fonte-texto); font-variant-numeric: tabular-nums; transition: border-color var(--d-micro), background-color var(--d-micro); }
.escala-nota__n:hover { border-color: var(--texto); }
.escala-nota__n[aria-checked="true"] { border: 2px solid var(--carvao); background: var(--carvao); color: var(--creme); }
.escala-nota__pontas { display: flex; justify-content: space-between; margin-top: 6px; font-size: 13px; color: var(--texto-3); }
@media (max-width: 599px) { .escala-nota { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; } .escala-nota__pontas { display: none; } }
.pesquisa__indicar { margin-top: 24px; }
/* parceiro */
.parceiro .caixa { max-width: 960px; }
.placar-parceiro { margin: 12px 0 40px; }
.placar-parceiro__periodo { margin-bottom: 8px; }
.placar-parceiro dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1.5px solid var(--texto); border-bottom: 1.5px solid var(--texto); }
.placar-parceiro__item { padding: 18px 12px 16px 0; }
.placar-parceiro__item + .placar-parceiro__item { padding-left: 14px; border-left: 1px solid var(--linha); }
.placar-parceiro__item dt { color: var(--texto-3); }
.placar-parceiro__n { margin: 6px 0 0; font: 330 clamp(44px, 2rem + 4vw, 88px)/.9 var(--fonte-display); font-variation-settings: var(--fv-display); font-variant-numeric: lining-nums tabular-nums; }
.site .parceiro__subtitulo, .parceiro__subtitulo { font: var(--p-display-forte) clamp(22px, 1.1rem + .8vw, 28px)/1.2 var(--fonte-display); font-variation-settings: var(--fv-leitura); margin: 0 0 14px; }
.parceiro__subtitulo:focus { outline: none; }
.indicacoes { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linha-forte); }
.indicacoes__item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--linha); }
.indicacoes__quem { font-size: 17px; }
.indicacoes__quem span { color: var(--texto-2); }
.indicacoes__datas { grid-column: 1 / -1; font-size: 14px; color: var(--texto-3); font-variant-numeric: tabular-nums; }
.indicacoes__status { justify-self: end; padding: 3px 10px 4px; border: 1px solid var(--linha-forte); border-radius: var(--r-1); font: var(--p-texto-forte) 12px/1.3 var(--fonte-texto); letter-spacing: .02em; color: var(--texto-2); white-space: nowrap; }
.indicacoes__status--visitou, .indicacoes__status--em_atendimento { border-color: var(--marca); color: var(--marca); }
.indicacoes__status--contrato { border-color: var(--conferido); color: var(--conferido); }
.parceiro__vazio { padding: 18px 0; border-top: 1px dashed var(--linha-forte); border-bottom: 1px dashed var(--linha-forte); }
.parceiro__termos { margin: 32px 0 0; border-top: 1px dashed var(--linha-forte); }
.parceiro__termos > div { display: grid; gap: 4px; padding: 12px 0; border-bottom: 1px dashed var(--linha-forte); }
.parceiro__termos dt { color: var(--texto-3); }
.parceiro__termos dd { margin: 0; color: var(--texto-2); }
@media (min-width: 700px) { .parceiro__termos > div { grid-template-columns: 9rem minmax(0, 1fr); gap: 16px; align-items: baseline; } }
.parceiro__indicar { margin-top: 36px; }
.parceiro__indicar .form-site { max-width: 560px; padding: 24px clamp(18px, 2.4vw, 32px); background: var(--superficie); border-radius: var(--r-3); box-shadow: var(--sombra-papel); }

/* ---------- 8. 404 (copy 2.8; DIRECAO 11.8: imbuia com tábua, sem ilustração) ---------- */
.pagina-404 { min-height: calc(100svh - var(--faixa-demo)); display: flex; align-items: center; }
.pagina-404__caixa { width: min(100% - 2 * var(--margem), var(--largura-max)); }
.pagina-404 h1 { max-width: 11em; margin-bottom: 26px; }
/* quebras fixas: o título tem o mesmo número de linhas com a fonte de reserva e com a Fraunces,
   e a caixa centrada não pula quando a fonte chega */
.quebra-celular { display: none; }
@media (max-width: 767.98px) { .quebra-celular { display: block; } }
.pagina-404 .lead { max-width: 44ch; }
.pagina-404 .botoes { margin-top: 32px; }

/* ---------- 9. Impressão: "Baixar a lista (PDF)" da Compra segura, tudo aberto e o quadro-resumo ---------- */
@media print {
  @page { size: A4; margin: 16mm 14mm; }
  html, body { background: #fff !important; }
  .faixa-demo, .topo, .menu-celular, .flutuante, .folha-contato, .balao-convite, .aviso-cookies, .fecho, .rodape, .aviso-copia, .pular, [data-casco="topo"] { display: none !important; }
  [data-pagina="compra-segura"] main > section:not(.seguro-lista) { display: none !important; }
  .rv { opacity: 1 !important; transform: none !important; }
  .capitulo { padding: 0 !important; }
  .seguro-lista .abertura { display: block; margin-bottom: 4mm; }
  .seguro-lista .abertura::before { content: 'Casa+ · CNPJ 23.532.881/0001-97 · lista impressa de casamais.datarobotics.ia.br/casamais/compra-segura'; display: block; margin-bottom: 4mm; font: 600 9pt/1.4 var(--fonte-texto); letter-spacing: .08em; text-transform: uppercase; color: var(--texto-3); }
  .site .seguro-lista h2 { font-size: 22pt; }
  .conferir__pergunta { break-after: avoid; }
  .lista-conferir details::details-content { content-visibility: visible; block-size: auto; }
  .conferir__pergunta { grid-template-columns: 14mm 1fr !important; padding: 4mm 0 1.5mm !important; }
  .conferir__pergunta::after { content: none !important; }
  .conferir__numero { font-size: 26pt !important; }
  .conferir__pergunta h3 { font-size: 14pt !important; }
  .conferir__corpo { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 6mm !important; margin-left: 16mm !important; padding-bottom: 3.5mm !important; }
  .conferir__casa { box-shadow: 0 0 0 1px #999; }
  .conferir__links button { display: none; }
  .prova svg { display: none; }
  .conferir__explica, .conferir__casa { font-size: 10pt !important; line-height: 1.4 !important; }
  .conferir__corpo { gap: 5mm !important; }
  .caixa { max-width: none !important; width: auto !important; }
  .conferir__links { display: block !important; margin-top: 1mm !important; }
  .conferir__links a { display: block; min-height: 0; margin-top: 1mm; }
  .conferir__links a[href^="http"]::after { content: attr(href); display: block; font-size: 7pt; font-weight: 400; text-decoration: none; word-break: break-all; color: #555; }
  .conferir { padding: 0 !important; }
  .conferir__casa { padding: 4mm 4mm 3mm !important; gap: 1.5mm !important; break-inside: avoid; }
  .conferir__casa::before { display: none; }
  .conferir__status { font-size: 10pt !important; }
  .seguro-lista .abertura .lead { font-size: 11pt !important; }
  .site .seguro-lista h2 { font-size: 18pt !important; margin-bottom: 2mm; }
  .quadro-resumo { display: block; margin-top: 8mm; break-inside: avoid; }
  .quadro-resumo__titulo { font: 600 12pt/1.3 var(--fonte-texto); margin-bottom: 4mm; }
  .quadro-resumo table { width: 100%; border-collapse: collapse; font-size: 10pt; }
  .quadro-resumo th, .quadro-resumo td { padding: 2.5mm 3mm 2.5mm 0; border-bottom: 1px solid #bbb; text-align: left; vertical-align: top; }
  .nota-ficha { box-shadow: none; border: 1px solid #999; }
}
.link-pagina__folha .botoes { margin-top: 20px; }
@container (max-width: 439px) { .site .ficha--identidade .ficha__titulo { font-size: 22px; } }
