/* HousJur — mini-site público (landing, benchmark, privacidade, termos).
   Fonte: relatorios/landing_2026/site_src/ · gerado por _build.py · servido pelo nginx em /housjur/ (fora do /check/). */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url(/housjur/assets/fontes/inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root {
  /* Paleta oficial HousTech (Manual da Marca v1.0, cores/paleta.json). Tons de interface = Azul Profundo clareado com branco. */
  --fundo: #0E2A47;          /* Azul Profundo */
  --fundo-2: #1D2750;        /* Marinho Hous */
  --card: #1A3450;           /* Azul Profundo + 6% de branco */
  --card-2: #213B57;         /* Azul Profundo + 10% de branco */
  --borda: rgba(206, 212, 218, .16);
  --borda-forte: rgba(206, 212, 218, .3);
  --ouro: #6AB04C;           /* Verde Hous: ação (botão com texto Azul Profundo, 5,5:1) */
  --ouro-claro: #91C44B;     /* Verde Digital: rótulos e links sobre o escuro (7,1:1) */
  --verde: #56A64D;          /* Verde Seta: marcas de check */
  --azul-hous: #1D366F;
  --texto: #FFFFFF;
  --texto-2: #CED4DA;        /* Cinza Borda: texto secundário (9,7:1) */
  --texto-3: rgba(255, 255, 255, .62);
  --raio: 14px;
  --sombra: 0 18px 50px rgba(0, 0, 0, .35);
  --largura: 1180px;
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0; background: var(--fundo); color: var(--texto);
  font: 400 17px/1.6 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--ouro-claro); text-decoration: none; }
a:hover { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--ouro-claro); outline-offset: 3px; border-radius: 4px; }
.pular { position: absolute; left: -9999px; }
.pular:focus { left: 16px; top: 12px; z-index: 100; background: var(--ouro); color: var(--fundo); padding: 8px 14px; border-radius: 8px; }
.wrap { max-width: var(--largura); margin: 0 auto; padding: 0 16px; }
@media (min-width: 720px) { .wrap { padding: 0 28px; } }

/* ── navegação ── */
.nav { position: sticky; top: 0; z-index: 50; background: rgba(14, 42, 71, .82); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid transparent; transition: border-color .3s; }
.nav.rolou { border-bottom-color: var(--borda); }
.nav .wrap { display: flex; align-items: center; gap: 20px; height: 68px; }
.marca { display: flex; align-items: center; gap: 10px; color: var(--texto); font-weight: 700; font-size: 21px; letter-spacing: -.01em; }
.marca:hover { text-decoration: none; }
.marca svg { height: 44px; width: auto; flex: none; display: block; }
.rodape .marca svg { height: 52px; }
.marca span b { color: var(--ouro-claro); font-weight: 700; }
.nav-links { display: none; gap: 26px; margin-left: 18px; }
.nav-links a { color: var(--texto-2); font-size: 15px; font-weight: 500; }
.nav-links a:hover, .nav-links a[aria-current] { color: var(--texto); text-decoration: none; }
.nav-acoes { margin-left: auto; display: flex; gap: 10px; align-items: center; }
@media (min-width: 900px) { .nav-links { display: flex; } }
.nav-entrar { color: var(--texto-2); font-size: 15px; font-weight: 500; padding: 8px 6px; }
@media (max-width: 420px) { .nav-entrar { display: none; } .marca { font-size: 19px; } }

/* ── botões ── */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 10px; padding: 13px 22px; font: 600 16px/1.2 inherit; font-family: inherit; cursor: pointer; border: 1px solid transparent; transition: transform .15s, background .2s, border-color .2s; white-space: nowrap; }
.btn:hover { text-decoration: none; transform: translateY(-1px); }
.btn-ouro { background: var(--ouro); color: var(--fundo); box-shadow: 0 8px 24px rgba(106, 176, 76, .28); }
.btn-ouro:hover { background: var(--ouro-claro); }
.btn-linha { border-color: var(--borda-forte); color: var(--texto); background: transparent; }
.btn-linha:hover { border-color: var(--texto-2); }
.btn-p { padding: 9px 16px; font-size: 14.5px; border-radius: 9px; }

/* ── tipografia de seção ── */
section { padding: 84px 0; position: relative; }
@media (min-width: 900px) { section { padding: 112px 0; } }
.rotulo { display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro-claro); margin-bottom: 14px; }
h1, h2, h3 { line-height: 1.15; letter-spacing: -.02em; margin: 0; text-wrap: balance; }
h1 { font-size: clamp(34px, 5vw, 54px); font-weight: 700; }
h2 { font-size: clamp(30px, 4.4vw, 46px); font-weight: 700; }
h3 { font-size: 20px; font-weight: 600; }
.sub { color: var(--texto-2); font-size: clamp(17px, 2vw, 20px); max-width: 720px; margin: 18px 0 0; text-wrap: pretty; }
.centro { text-align: center; }
.centro .sub { margin-left: auto; margin-right: auto; }
.ouro { color: var(--ouro-claro); }
.verde { color: var(--verde); }

/* ── hero ── */
.hero { padding: 64px 0 40px; overflow: hidden; }
@media (min-width: 900px) { .hero { padding: 96px 0 64px; } }
.hero::before { content: ''; position: absolute; inset: -20% -10% auto auto; width: 720px; height: 720px; background: radial-gradient(closest-side, rgba(106, 176, 76, .16), transparent 70%); pointer-events: none; }
.hero::after { content: ''; position: absolute; inset: auto auto -30% -15%; width: 680px; height: 680px; background: radial-gradient(closest-side, rgba(86, 166, 77, .09), transparent 70%); pointer-events: none; }
.hero-grade { display: grid; gap: 48px; align-items: center; position: relative; z-index: 1; }
@media (min-width: 1000px) { .hero-grade { grid-template-columns: 1.2fr .8fr; gap: 56px; } }
.hero h1 em { font-style: normal; color: var(--ouro-claro); }
.hero-acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.selo-linha { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 28px; color: var(--texto-3); font-size: 14px; }
.selo-linha span::before { content: '✓'; color: var(--verde); margin-right: 6px; font-weight: 700; }

/* janela simulada do Assistente */
.janela { background: linear-gradient(180deg, #213B57, #1A3450); border: 1px solid var(--borda-forte); border-radius: 16px; box-shadow: var(--sombra); overflow: hidden; }
.janela-topo { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--borda); font-size: 14px; color: var(--texto-2); }
.janela-topo i { width: 10px; height: 10px; border-radius: 50%; background: rgba(206, 212, 218, .25); display: inline-block; }
.janela-topo b { margin-left: 8px; color: var(--texto); font-weight: 600; }
.chat { padding: 18px; display: flex; flex-direction: column; gap: 12px; min-height: 340px; font-size: 15px; }
.msg { max-width: 88%; padding: 11px 14px; border-radius: 12px; line-height: 1.5; opacity: 0; transform: translateY(6px); transition: opacity .4s, transform .4s; }
.msg.vis { opacity: 1; transform: none; }
.msg.u { align-self: flex-end; background: rgba(106, 176, 76, .18); border: 1px solid rgba(106, 176, 76, .35); }
.msg.a { align-self: flex-start; background: rgba(14, 42, 71, .7); border: 1px solid var(--borda); }
.msg.a b { color: var(--texto); }
.msg small { display: block; margin-top: 6px; color: var(--texto-3); font-size: 12px; }
.msg .tag { display: inline-block; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; padding: 1px 7px; border-radius: 5px; margin-right: 6px; background: rgba(106, 176, 76, .25); color: var(--ouro-claro); }
.digitando { align-self: flex-start; display: none; gap: 4px; padding: 12px 14px; border-radius: 12px; background: rgba(14, 42, 71, .7); border: 1px solid var(--borda); }
.digitando.vis { display: flex; }
.digitando i { width: 6px; height: 6px; border-radius: 50%; background: var(--texto-2); animation: pulo 1.1s infinite; }
.digitando i:nth-child(2) { animation-delay: .15s; } .digitando i:nth-child(3) { animation-delay: .3s; }
@keyframes pulo { 0%, 60%, 100% { opacity: .3; transform: none; } 30% { opacity: 1; transform: translateY(-3px); } }

/* fluxo de 4 passos */
.fluxo { display: grid; gap: 14px; margin: 64px 0 0; padding: 0; list-style: none; position: relative; z-index: 1; }
@media (min-width: 760px) { .fluxo { grid-template-columns: repeat(4, 1fr); } }
.passo { background: rgba(26, 52, 80, .55); border: 1px solid var(--borda); border-radius: var(--raio); padding: 20px; position: relative; overflow: hidden; }
.passo .n { font-size: 13px; font-weight: 700; color: var(--ouro-claro); letter-spacing: .1em; }
.passo h3 { font-size: 17px; margin: 8px 0 6px; }
.passo p { margin: 0; color: var(--texto-2); font-size: 14.5px; line-height: 1.5; }
.passo::after { content: ''; position: absolute; left: 0; bottom: 0; height: 3px; width: 0; background: linear-gradient(90deg, var(--ouro), var(--verde)); transition: width .9s ease; }
.passo.aceso::after { width: 100%; }

/* ── cards e grades ── */
.grade { display: grid; gap: 18px; margin-top: 48px; }
@media (min-width: 720px) { .g2 { grid-template-columns: repeat(2, 1fr); } .g3 { grid-template-columns: repeat(2, 1fr); } .g4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .g3 { grid-template-columns: repeat(3, 1fr); } .g4 { grid-template-columns: repeat(4, 1fr); } }
.card { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); padding: 26px; }
.card h3 { margin-bottom: 10px; }
.card p { color: var(--texto-2); margin: 0; font-size: 15.5px; }
.card ul { margin: 0; padding: 0; list-style: none; }
.card li { padding: 7px 0 7px 26px; position: relative; color: var(--texto-2); font-size: 15.5px; line-height: 1.5; }
.card li::before { content: ''; position: absolute; left: 2px; top: 15px; width: 12px; height: 2px; background: var(--texto-3); }
.card.destaque { background: linear-gradient(160deg, #213B57, #1A3450 60%); border-color: rgba(106, 176, 76, .45); }
.card.destaque li::before { background: var(--verde); width: 8px; height: 8px; border-radius: 50%; top: 14px; left: 4px; }
.card.destaque li { color: var(--texto); }
.card .titulo-col { font-size: 14px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; color: var(--texto-3); margin-bottom: 14px; }
.card.destaque .titulo-col { color: var(--ouro-claro); }

.metrica-grande { margin: 44px auto 0; max-width: 820px; text-align: center; padding: 30px 24px; border-radius: var(--raio); border: 1px solid rgba(106, 176, 76, .4); background: rgba(106, 176, 76, .07); }
.metrica-grande strong { display: block; font-size: clamp(26px, 3.6vw, 38px); line-height: 1.2; letter-spacing: -.02em; }
.metrica-grande > span { display: block; margin-top: 10px; color: var(--texto-3); font-size: 14px; }

.numeros { display: grid; gap: 16px; margin-top: 44px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 900px) { .numeros { grid-template-columns: repeat(4, 1fr); } }
.numero { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); padding: 24px 20px; }
.numero strong { display: block; font-size: clamp(30px, 4vw, 44px); line-height: 1.05; letter-spacing: -.03em; color: var(--texto); }
.numero span { display: block; margin-top: 10px; color: var(--texto-2); font-size: 14.5px; line-height: 1.45; }
.fonte-nota { margin-top: 18px; font-size: 13.5px; color: var(--texto-3); }

/* telas */
.telas { display: grid; gap: 22px; margin-top: 48px; }
@media (min-width: 860px) { .telas { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .telas { grid-template-columns: repeat(3, 1fr); } }
.tela { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); overflow: hidden; display: flex; flex-direction: column; transition: border-color .2s, transform .2s; }
.tela:hover { border-color: var(--borda-forte); transform: translateY(-2px); }
.tela button { all: unset; cursor: zoom-in; display: block; background: #F4F6F9; aspect-ratio: 16 / 10; overflow: hidden; }
.tela button:focus-visible { outline: 2px solid var(--ouro-claro); outline-offset: -2px; }
.tela img { width: 100%; height: 100%; object-fit: cover; object-position: top left; }
.tela div { padding: 20px 22px 24px; }
.tela h3 { font-size: 18px; margin-bottom: 6px; }
.tela p { margin: 0; color: var(--texto-2); font-size: 15px; line-height: 1.5; }
.aviso-ficticio { margin-top: 18px; text-align: center; font-size: 13.5px; color: var(--texto-3); }
.lupa { position: fixed; inset: 0; z-index: 90; background: rgba(14, 42, 71, .95); display: none; align-items: center; justify-content: center; padding: 16px; cursor: zoom-out; }
.lupa.aberta { display: flex; }
.lupa img { max-height: 92vh; width: auto; border-radius: 10px; box-shadow: var(--sombra); }

/* redator: duas colunas */
.duas { display: grid; gap: 40px; align-items: start; margin-top: 48px; }
@media (min-width: 960px) { .duas { grid-template-columns: 1fr 1fr; gap: 56px; } }
.lista-check { list-style: none; margin: 0; padding: 0; }
.lista-check li { padding: 12px 0 12px 36px; position: relative; border-bottom: 1px solid var(--borda); color: var(--texto-2); }
.lista-check li b { color: var(--texto); font-weight: 600; }
.lista-check li::before { content: ''; position: absolute; left: 0; top: 15px; width: 20px; height: 20px; border-radius: 6px; background: rgba(86, 166, 77, .18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%2356A64D' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat; }
.frase { margin-top: 28px; padding-left: 18px; border-left: 3px solid var(--ouro); font-size: 19px; color: var(--texto); }
.figura-borda { border-radius: var(--raio); overflow: hidden; border: 1px solid var(--borda-forte); box-shadow: var(--sombra); background: #F4F6F9; }

/* exclusivos */
.exclusivos { display: grid; gap: 14px; margin-top: 48px; counter-reset: ex; }
@media (min-width: 720px) { .exclusivos { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1060px) { .exclusivos { grid-template-columns: repeat(4, 1fr); } }
.ex { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); padding: 22px; counter-increment: ex; }
.ex::before { content: counter(ex, decimal-leading-zero); display: block; font-size: 13px; font-weight: 700; color: var(--ouro-claro); letter-spacing: .1em; margin-bottom: 10px; }
.ex h3 { font-size: 17px; margin-bottom: 8px; }
.ex p { margin: 0; color: var(--texto-2); font-size: 14.5px; line-height: 1.5; }
.ex.cta-ex { background: transparent; border-style: dashed; display: flex; flex-direction: column; justify-content: center; }
.ex.cta-ex::before { content: none; }

/* integrações */
.integ { display: grid; gap: 12px; grid-template-columns: repeat(2, 1fr); margin-top: 20px; }
@media (min-width: 720px) { .integ { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1000px) { .integ { grid-template-columns: repeat(4, 1fr); } }
.integ div { background: var(--card); border: 1px solid var(--borda); border-radius: 12px; padding: 16px; }
.integ b { display: block; font-size: 15.5px; }
.integ span { display: block; color: var(--texto-3); font-size: 13.5px; margin-top: 4px; line-height: 1.4; }
.integ-grupo { margin-top: 44px; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--texto-3); font-weight: 600; }
.callout { margin-top: 36px; padding: 24px 26px; border-radius: var(--raio); background: linear-gradient(120deg, rgba(106, 176, 76, .14), rgba(86, 166, 77, .08)); border: 1px solid rgba(106, 176, 76, .4); font-size: 18px; }
.callout p { margin: 0; }

/* pra quem */
details.pq { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); padding: 0; overflow: hidden; }
details.pq[open] { border-color: rgba(106, 176, 76, .45); }
details.pq summary { list-style: none; cursor: pointer; padding: 26px; }
details.pq summary::-webkit-details-marker { display: none; }
details.pq .ico { width: 44px; height: 44px; border-radius: 11px; background: rgba(106, 176, 76, .14); display: grid; place-items: center; margin-bottom: 16px; }
details.pq .ico svg { width: 24px; height: 24px; stroke: var(--ouro-claro); }
details.pq h3 { font-size: 15px; letter-spacing: .1em; text-transform: uppercase; color: var(--texto-3); margin-bottom: 10px; }
details.pq .pergunta { font-size: 20px; font-weight: 600; line-height: 1.35; color: var(--texto); }
details.pq .abrir { display: inline-block; margin-top: 14px; font-size: 14px; color: var(--ouro-claro); font-weight: 600; }
details.pq[open] .abrir { display: none; }
details.pq ul { list-style: none; margin: 0; padding: 0 26px 24px; }
details.pq li { padding: 8px 0 8px 24px; position: relative; color: var(--texto-2); border-top: 1px solid var(--borda); font-size: 15.5px; }
details.pq li::before { content: ''; position: absolute; left: 2px; top: 17px; width: 8px; height: 8px; border-radius: 50%; background: var(--verde); }

/* mistério */
.misterio { background: radial-gradient(ellipse at center, rgba(106, 176, 76, .14), transparent 65%), var(--fundo-2); border-top: 1px solid var(--borda); border-bottom: 1px solid var(--borda); }
.misterio .wrap { max-width: 820px; }

/* segurança */
.seg { display: grid; gap: 12px; margin-top: 44px; }
@media (min-width: 720px) { .seg { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .seg { grid-template-columns: repeat(3, 1fr); } .seg div:last-child { grid-column: 1 / -1; } }
.seg div { display: flex; gap: 14px; align-items: flex-start; background: var(--card); border: 1px solid var(--borda); border-radius: 12px; padding: 18px; }
.seg svg { width: 22px; height: 22px; flex: none; stroke: var(--verde); margin-top: 2px; }
.seg b { display: block; font-weight: 600; }
.seg span { display: block; color: var(--texto-2); font-size: 14.5px; margin-top: 2px; line-height: 1.45; }

/* planos */
.plano { background: var(--card); border: 1px solid var(--borda); border-radius: var(--raio); padding: 26px; display: flex; flex-direction: column; }
.plano h3 { font-size: 21px; }
.plano .para { color: var(--texto-2); font-size: 15px; margin: 8px 0 20px; flex: 1; }
.plano .preco { font-size: 15px; color: var(--texto-3); border-top: 1px solid var(--borda); padding-top: 16px; }
.plano.dest { border-color: rgba(106, 176, 76, .5); background: linear-gradient(165deg, #213B57, #1A3450 60%); }
.em-breve { margin-top: 26px; text-align: center; color: var(--texto-2); font-size: 15.5px; }
.selo-breve { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 3px 9px; border-radius: 6px; background: rgba(86, 166, 77, .16); color: #91C44B; border: 1px solid rgba(86, 166, 77, .35); margin-right: 8px; vertical-align: 1px; }

/* contato */
.contato { background: linear-gradient(180deg, var(--fundo), var(--fundo-2)); }
.form { display: grid; gap: 14px; margin-top: 36px; background: var(--card); border: 1px solid var(--borda); border-radius: 16px; padding: 26px; }
@media (min-width: 720px) { .form { grid-template-columns: 1fr 1fr; padding: 32px; } .form .inteiro { grid-column: 1 / -1; } }
.form label { display: block; font-size: 14px; color: var(--texto-2); margin-bottom: 6px; font-weight: 500; }
.form input, .form select { width: 100%; padding: 12px 14px; border-radius: 10px; border: 1px solid var(--borda-forte); background: var(--fundo-2); color: var(--texto); font: inherit; font-size: 16px; }
.form input:focus, .form select:focus { outline: none; border-color: var(--ouro-claro); }
.form .rodape-form { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.form .rodape-form p { margin: 0; color: var(--texto-3); font-size: 13.5px; flex: 1; min-width: 220px; }

/* rodapé */
.rodape { border-top: 1px solid var(--borda); padding: 48px 0 36px; background: var(--fundo-2); color: var(--texto-3); font-size: 14.5px; }
.rodape .wrap { display: grid; gap: 28px; }
@media (min-width: 860px) { .rodape .wrap { grid-template-columns: 1.3fr 1fr 1fr; } }
.rodape h4 { margin: 0 0 10px; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--texto-2); }
.rodape ul { list-style: none; padding: 0; margin: 0; }
.rodape li { padding: 3px 0; }
.rodape a { color: var(--texto-2); }
.rodape .marca { margin-bottom: 10px; }
.rodape .linha-final { grid-column: 1 / -1; border-top: 1px solid var(--borda); padding-top: 20px; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; }

/* páginas internas (benchmark, legais) */
.cab-pagina { padding: 64px 0 28px; }
.cab-pagina h1 { font-size: clamp(32px, 5vw, 50px); }
.doc { max-width: 820px; }
.doc h2 { font-size: 25px; margin: 46px 0 12px; scroll-margin-top: 90px; }
.doc h3 { font-size: 19px; margin: 28px 0 8px; scroll-margin-top: 90px; }
.doc p, .doc li { color: var(--texto-2); }
.doc p { margin: 0 0 14px; }
.doc ul, .doc ol { padding-left: 22px; margin: 0 0 16px; }
.doc li { margin: 4px 0; }
.doc strong, .doc b { color: var(--texto); }
.doc table { width: 100%; border-collapse: collapse; margin: 10px 0 22px; font-size: 15px; }
.doc th, .doc td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--borda); vertical-align: top; color: var(--texto-2); }
.doc th { color: var(--texto); font-weight: 600; }
.doc .vigencia { font-size: 14px; color: var(--texto-3); }
.doc nav.sumario { background: var(--card); border: 1px solid var(--borda); border-radius: 12px; padding: 18px 22px; margin: 24px 0 8px; }
.doc nav.sumario ol, .doc nav.sumario ul { margin: 0; }
.doc section { padding: 0; }

/* benchmark */
.legenda { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 22px 0 0; color: var(--texto-2); font-size: 14.5px; }
.st { display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 26px; border-radius: 7px; font-size: 13px; font-weight: 700; padding: 0 7px; }
.st-sim { background: rgba(86, 166, 77, .2); color: #91C44B; }
.st-par { background: var(--azul-hous); color: #fff; }
.st-nd { background: rgba(206, 212, 218, .1); color: var(--texto-3); }
.st-nao { background: rgba(206, 212, 218, .18); color: var(--texto); }
.st-breve { background: rgba(86, 166, 77, .1); color: #91C44B; border: 1px dashed rgba(86, 166, 77, .5); font-size: 11.5px; }
.tabela-rolar { overflow-x: auto; margin-top: 30px; border: 1px solid var(--borda); border-radius: var(--raio); background: var(--card); -webkit-overflow-scrolling: touch; }
.bench { border-collapse: separate; border-spacing: 0; width: max-content; min-width: 100%; font-size: 14.5px; }
.bench th, .bench td { padding: 11px 12px; border-bottom: 1px solid var(--borda); text-align: center; vertical-align: middle; }
.bench thead th { position: sticky; top: 0; background: #213B57; font-weight: 600; font-size: 13.5px; color: var(--texto-2); white-space: nowrap; }
.bench th.fn, .bench td.fn { position: sticky; left: 0; z-index: 2; text-align: left; background: #1A3450; min-width: 210px; max-width: 290px; white-space: normal; color: var(--texto); font-weight: 500; border-right: 1px solid var(--borda); }
.bench thead th.fn { z-index: 3; background: #213B57; }
.bench .hj { background: rgba(106, 176, 76, .1); }
.bench thead th.hj { color: var(--ouro-claro); background: #2A4560; }
.bench td a { text-decoration: none; }
.bench td a:hover .st { outline: 1px solid currentColor; }
.bench tr.excl th.fn::after { content: 'diferencial do HousJur'; display: block; font-size: 11.5px; color: var(--ouro-claro); font-weight: 600; margin-top: 3px; }
.pontos { display: grid; gap: 14px; margin-top: 32px; }
@media (min-width: 860px) { .pontos { grid-template-columns: repeat(2, 1fr); } }
.pontos div { background: var(--card); border: 1px solid var(--borda); border-radius: 12px; padding: 20px; }
.pontos b { display: block; margin-bottom: 6px; }
.pontos p { margin: 0; color: var(--texto-2); font-size: 15px; }
.fontes { margin-top: 18px; font-size: 14px; }
.fontes li { margin: 0 0 12px; color: var(--texto-2); scroll-margin-top: 90px; }
.fontes li:target { background: rgba(106, 176, 76, .14); border-radius: 8px; padding: 6px 10px; margin-left: -10px; }
.fontes q { color: var(--texto); }
.fontes .meta { color: var(--texto-3); font-size: 13px; }
.voltar-topo { font-size: 13px; margin-left: 6px; }

/* animação de entrada */
.surge { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.surge.vis { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .surge, .msg { opacity: 1; transform: none; transition: none; } .passo::after { transition: none; } .digitando i { animation: none; } }

/* banner de cookies */
.cookies { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 80; max-width: 560px; margin: 0 auto; background: #213B57; border: 1px solid var(--borda-forte); border-radius: 14px; padding: 16px 18px; box-shadow: var(--sombra); display: none; gap: 14px; align-items: center; font-size: 14px; color: var(--texto-2); }
.cookies.vis { display: flex; flex-wrap: wrap; }
.cookies p { margin: 0; flex: 1; min-width: 220px; }

/* assistente do site (02/10/2026): botão flutuante + janela */
.ia-btn { position: fixed; right: 16px; bottom: 16px; z-index: 85; display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px 12px 14px; border-radius: 999px; border: 0; cursor: pointer;
  background: var(--ouro); color: var(--fundo); font: 600 15px/1 inherit; font-family: inherit; box-shadow: 0 10px 30px rgba(0,0,0,.35); transition: transform .15s; }
.ia-btn:hover { transform: translateY(-2px); }
.ia-btn svg { width: 22px; height: 22px; }
.cookies.vis ~ .ia-btn { bottom: 130px; }
@media (min-width: 720px) { .cookies.vis ~ .ia-btn { bottom: 16px; } }
.ia-painel { padding: 0; position: fixed; right: 16px; bottom: 16px; z-index: 95; width: min(400px, calc(100vw - 32px)); height: min(600px, calc(100vh - 32px)); display: flex; flex-direction: column;
  background: var(--fundo); border: 1px solid var(--borda-forte); border-radius: 16px; box-shadow: var(--sombra); overflow: hidden; }
.ia-painel[hidden] { display: none; }
.ia-painel header { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; background: var(--card); border-bottom: 1px solid var(--borda); }
.ia-painel header b { display: block; font-size: 15px; }
.ia-painel header small { color: var(--texto-3); font-size: 12px; }
.ia-painel header button { background: none; border: 0; color: var(--texto-2); font-size: 26px; line-height: 1; cursor: pointer; padding: 0 4px; }
.ia-corpo { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.ia-msg { max-width: 88%; padding: 10px 13px; border-radius: 12px; font-size: 14.5px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.ia-msg.u { align-self: flex-end; background: rgba(106,176,76,.18); border: 1px solid rgba(106,176,76,.4); }
.ia-msg.a { align-self: flex-start; background: var(--card); border: 1px solid var(--borda); }
.ia-msg.erro { border-color: rgba(206,212,218,.5); color: var(--texto-2); }
.ia-msg a { color: var(--ouro-claro); }
.ia-sug { display: flex; flex-wrap: wrap; gap: 6px; }
.ia-sug button { background: transparent; border: 1px solid var(--borda-forte); color: var(--texto-2); border-radius: 999px; padding: 6px 11px; font: 13px inherit; font-family: inherit; cursor: pointer; }
.ia-sug button:hover { border-color: var(--ouro-claro); color: var(--texto); }
#iaForm { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid var(--borda); }
#iaForm input { flex: 1; padding: 11px 12px; border-radius: 10px; border: 1px solid var(--borda-forte); background: var(--fundo-2); color: var(--texto); font: 15px inherit; font-family: inherit; }
#iaForm input:focus { outline: none; border-color: var(--ouro-claro); }
#iaForm button { width: 44px; border-radius: 10px; border: 0; background: var(--ouro); color: var(--fundo); font-size: 17px; cursor: pointer; }
#iaForm button:disabled { opacity: .5; cursor: wait; }
.ia-aviso { margin: 0; padding: 0 14px 12px; font-size: 11.5px; color: var(--texto-3); line-height: 1.4; }
.ia-digitando { align-self: flex-start; display: flex; gap: 4px; padding: 12px 14px; border-radius: 12px; background: var(--card); border: 1px solid var(--borda); }
.ia-digitando i { width: 6px; height: 6px; border-radius: 50%; background: var(--texto-2); animation: pulo 1.1s infinite; }
.ia-digitando i:nth-child(2) { animation-delay: .15s; } .ia-digitando i:nth-child(3) { animation-delay: .3s; }
@media (max-width: 520px) { .ia-btn span { display: none; } .ia-btn { padding: 14px; } .ia-painel { right: 0; bottom: 0; width: 100vw; height: 88vh; border-radius: 16px 16px 0 0; } }
