/* ===== Guia para famílias atípicas (/familias-atipicas) =====
   Só o que é próprio do guia. Cabeçalho, rodapé, botões (.btn), abertura (.area-hero) e migalhas (.crumbs)
   vêm de site.css e area.css. Celular primeiro; alvos de toque com 44 px ou mais. */
:root { --fa-ouro-texto: #7A5C22; --fa-alerta: #FFF8EA; --fa-verde: #17703C; --fa-verde-fundo: #EEF7F1; }

.fa-miolo { max-width: 800px; }
.fa-corpo { padding: 28px 0 0; }
.fa-corpo [hidden], .fa-hero [hidden] { display: none !important; }
.fa-corpo section { padding: 0; }
.fa-corpo h2 { font-size: clamp(1.45rem, 3vw, 1.85rem); margin: 0 0 .6rem; }
.fa-corpo h3 { font-size: 1.2rem; margin: 0 0 .4rem; }
.fa-corpo h2, .fa-corpo h3, .fa-corpo li[id], .fa-corpo [id] { scroll-margin-top: 96px; }
.fa-corpo p + p { margin-top: .7rem; }
.fa-corpo [tabindex="-1"]:focus { outline: none; }
.fa-corpo button.btn, .fa-hero button.btn { font-family: inherit; }
.fa-corpo a:focus-visible, .fa-corpo button:focus-visible, .fa-corpo summary:focus-visible,
.fa-corpo select:focus-visible, .fa-corpo input:focus-visible { outline: 3px solid var(--navy-2); outline-offset: 3px; }

/* abertura mais baixa: a ferramenta precisa aparecer logo na primeira tela do celular */
.fa-hero { padding: 18px 0 28px; }
.fa-hero h1 { font-size: clamp(1.6rem, 4.2vw, 2.7rem); margin: .6rem 0 .6rem; }
.fa-hero .lede { font-size: 1rem; line-height: 1.5; }
.fa-hero .crumbs { margin-bottom: .2rem; }
.fa-hero .crumbs a { display: inline-block; padding: .7rem 0; }
.fa-hero .hero-ctas { margin: 1.4rem 0 0; }
@media (min-width: 720px) { .fa-hero { padding: 44px 0 52px; } .fa-corpo { padding-top: 52px; } }

/* --- entrada: "Em que ponto você está?" --- */
.fa-sub { color: var(--soft); margin-bottom: 1rem; }
@media (min-width: 720px) { .fa-escolha { padding: 1.3rem 1.4rem; grid-template-columns: 48px 1fr 24px; } .fa-escolha strong { font-size: 1.35rem; } }
.fa-escolhas { display: grid; gap: 14px; }
.fa-escolha { display: grid; grid-template-columns: 44px 1fr 18px; gap: .85rem; align-items: center; min-height: 88px; padding: 1rem 1rem; background: var(--white); border: 1.5px solid var(--line); border-radius: var(--radius); text-decoration: none; color: var(--text); box-shadow: 0 1px 2px rgba(10,37,51,.06); transition: border-color .2s, box-shadow .2s, transform .2s; }
a.fa-escolha:hover { border-color: var(--gold); box-shadow: var(--shadow); transform: translateY(-2px); }
.fa-escolha-ic { width: 44px; height: 44px; border-radius: 12px; background: var(--navy); color: var(--gold); display: grid; place-items: center; }
.fa-escolha-ic svg { width: 26px; height: 26px; }
.fa-escolha strong { display: block; font-family: var(--serif); font-size: 1.2rem; line-height: 1.2; color: var(--navy); }
.fa-escolha small { display: block; margin-top: .2rem; font-size: .92rem; line-height: 1.4; color: var(--soft); }
.fa-escolha-seta { font-size: 1.4rem; font-weight: 700; color: var(--navy-2); }
/* cartão ainda não clicável: borda tracejada, sem seta e sem perder contraste */
.fa-escolha.fa-inativa { background: #F1EEE7; border: 1.5px dashed #7D8493; box-shadow: none; grid-template-columns: 44px 1fr; min-height: 0; }
.fa-escolha.fa-inativa .fa-escolha-ic { background: #DAD5CA; color: #4A5262; }
.fa-escolha.fa-inativa strong, .fa-escolha.fa-inativa small { color: #4A5262; }
.fa-bloco { margin-top: 3rem; }
.fa-leituras { display: grid; gap: 14px; margin-top: 1rem; }
.fa-leitura { display: block; padding: 1rem 1.1rem; min-height: 44px; background: var(--white); border: 1px solid var(--line); border-top: 2px solid var(--navy); border-radius: 0 0 12px 12px; text-decoration: none; }
.fa-leitura small { display: block; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fa-ouro-texto); }
.fa-leitura b { display: block; margin-top: .3rem; font-family: var(--serif); font-size: 1.1rem; line-height: 1.25; color: var(--navy); }
.fa-leitura:hover b { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 4px; }
@media (min-width: 720px) { .fa-leituras { grid-template-columns: 1fr 1fr; } }

/* --- cartões --- */
.fa-cartao { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.2rem 1.2rem; margin-top: 1rem; }
.fa-destaque { background: var(--white); border: 1px solid var(--line); border-top: 4px solid var(--gold); border-radius: 18px; padding: 1.3rem 1.2rem; box-shadow: var(--shadow); margin-top: 1rem; }
.fa-alerta { background: var(--fa-alerta); border: 1px solid #EBD9B0; border-left: 4px solid var(--gold); border-radius: 12px; padding: 1rem 1.1rem; margin-top: 1rem; font-size: .98rem; color: var(--text); }
.fa-alerta h3, .fa-alerta h4 { font-family: var(--serif); font-size: 1.12rem; color: var(--navy); margin-bottom: .35rem; }
.fa-alerta strong { color: var(--navy); }
.fa-alerta ul { margin: .6rem 0 .6rem 1.2rem; display: grid; gap: .45rem; }
.fa-alerta a:not(.fa-acao) { color: var(--navy-2); font-weight: 600; }
.fa-nota { margin-top: 1.4rem; font-size: .86rem; color: var(--soft); }
.fa-nota a { color: var(--navy-2); }

/* --- fonte recolhida ("Ver fonte") --- */
details.fa-fonte, details.fa-recolhido { border: 0; padding: 0; overflow: visible; margin-top: .2rem; }
details.fa-fonte summary, details.fa-recolhido summary { display: inline-flex; justify-content: flex-start; align-items: center; gap: .35rem; min-height: 44px; font-family: var(--sans); font-size: .88rem; font-weight: 600; color: var(--navy-2); text-decoration: underline; text-underline-offset: 3px; }
details.fa-fonte summary::after, details.fa-recolhido summary::after { content: '+'; font-size: 1.05rem; color: var(--navy-2); text-decoration: none; }
details.fa-fonte p { margin: 0 0 .5rem; padding: .6rem .8rem; background: var(--cream); border-radius: 8px; font-size: .86rem; color: var(--text); }

/* --- ações: links e botões que são o próximo passo --- */
.fa-acoes { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .7rem; }
.fa-acao { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 44px; padding: .5rem 1rem; border-radius: 999px; border: 1.5px solid var(--navy); background: var(--white); color: var(--navy); font: inherit; font-size: .93rem; font-weight: 600; text-align: center; text-decoration: none; cursor: pointer; transition: background .15s, color .15s; }
.fa-acao:hover { background: var(--navy); color: #fff; }
.fa-acao::after { content: '→'; }
.fa-acao.fa-tel::after, button.fa-acao::after { content: none; }
.fa-acao.fa-copiado, .fa-acao.fa-copiado:hover { background: var(--fa-verde); border-color: var(--fa-verde); color: #fff; }
.fa-acao.fa-copiado::before { content: '✓'; }
.fa-btn-contorno { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: .8rem 1.4rem; border-radius: 999px; border: 1.5px solid var(--navy); background: transparent; color: var(--navy); font: inherit; font-size: .98rem; font-weight: 600; text-decoration: none; cursor: pointer; }
.fa-btn-contorno:hover { background: var(--navy); color: #fff; }
@media (max-width: 480px) { .fa-acoes .fa-acao { flex: 1 1 100%; } }

/* --- triagem: uma pergunta por tela --- */
.fa-quiz { background: var(--white); border: 1px solid var(--line); border-top: 4px solid var(--gold); border-radius: 18px; padding: 1.3rem 1.1rem 1.4rem; box-shadow: var(--shadow); }
.fa-quiz fieldset { border: 0; min-width: 0; }
.fa-quiz fieldset + fieldset { margin-top: 1.8rem; }
.fa-passo { font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--fa-ouro-texto); }
.fa-quiz .qz-bar { margin: .5rem 0 1.3rem; height: 8px; }
.fa-quiz legend { font-family: var(--serif); font-size: clamp(1.3rem, 4.6vw, 1.6rem); font-weight: 600; line-height: 1.2; color: var(--navy); margin-bottom: 1rem; }
.fa-opcoes { display: grid; gap: .6rem; }
.fa-opcao { display: flex; align-items: center; gap: .8rem; min-height: 58px; padding: .8rem 1rem; border: 1.5px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--navy); font-weight: 500; line-height: 1.35; cursor: pointer; transition: border-color .15s, background .15s; }
.fa-opcao:hover { border-color: var(--gold); background: #fff; }
.fa-opcao input { flex: none; width: 22px; height: 22px; accent-color: var(--navy); }
.fa-opcao:has(input:checked) { border-color: var(--navy); background: #EAF1F5; box-shadow: inset 0 0 0 1px var(--navy); }
.fa-opcao:has(input:focus-visible) { outline: 3px solid var(--navy-2); outline-offset: 2px; }
.fa-opcao input:focus-visible { outline: none; }
.fa-erro { margin-top: 1rem; padding: .7rem .9rem; border-radius: 10px; background: #FBECEA; border-left: 4px solid #B5443C; color: #7A241E; font-weight: 600; font-size: .95rem; }
.fa-quiz-nav { display: flex; justify-content: space-between; align-items: center; gap: .7rem; margin-top: 1.3rem; }
.fa-quiz-nav .btn { margin-left: auto; }
@media (max-width: 420px) { .fa-quiz-nav .btn { flex: 1; } }

/* --- resultado da triagem: lista de tarefas --- */
.fa-resultado > .eyebrow, .fa-rotulo { color: var(--fa-ouro-texto); }
.fa-resultado section { margin-top: 1.4rem; }
.fa-explica { margin-top: .3rem; }
.fa-tarefas { list-style: none; counter-reset: tarefa; display: grid; gap: .7rem; margin-top: 1rem; }
.fa-tarefas > li { counter-increment: tarefa; position: relative; background: var(--white); border: 1px solid var(--line); border-radius: 12px; padding: .95rem 1rem .95rem 3.6rem; min-height: 64px; }
.fa-tarefas > li::before { content: counter(tarefa); position: absolute; left: .9rem; top: .9rem; width: 34px; height: 34px; border-radius: 50%; background: var(--navy); color: #fff; font-family: var(--serif); font-size: 1.1rem; font-weight: 600; display: grid; place-items: center; }
.fa-tarefas pre { margin-top: .2rem; }
.fa-extras-t { margin-top: 2rem !important; }
.fa-advogado { margin-top: 2rem; border-left: 4px solid var(--wa); }
.fa-advogado .btn { margin-top: .9rem; }
.fa-refazer { margin-top: 1.4rem; }
@media (max-width: 480px) { .fa-advogado .btn, .fa-refazer .fa-btn-contorno { width: 100%; } }

/* --- guia de reembolso: índice e etapas numeradas --- */
.fa-indice { margin-top: 1.6rem; }
.fa-indice-t { font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--fa-ouro-texto); margin-bottom: .6rem; }
.fa-indice ol, .fa-indice ul { list-style: none; display: grid; gap: .45rem; }
.fa-indice a { display: flex; align-items: center; gap: .7rem; min-height: 46px; padding: .4rem .9rem; background: var(--white); border: 1px solid var(--line); border-radius: 10px; color: var(--navy); font-weight: 600; font-size: .96rem; text-decoration: none; }
.fa-indice a:hover { border-color: var(--gold); }
.fa-indice a b { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--cream); color: var(--navy); font-family: var(--serif); font-size: .95rem; display: grid; place-items: center; }
@media (min-width: 640px) { .fa-indice ol, .fa-indice ul { grid-template-columns: 1fr 1fr; } }
.fa-etapas { list-style: none; display: grid; gap: 1.1rem; margin-top: 1.8rem; }
.fa-etapa { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 1.2rem 1.1rem 1.3rem; position: relative; }
.fa-etapa::before { content: ''; position: absolute; left: 1.1rem; right: 1.1rem; top: 0; height: 3px; background: linear-gradient(90deg, var(--gold), transparent); }
.fa-etapa-cab { display: grid; grid-template-columns: 44px 1fr; gap: .8rem; align-items: center; margin-bottom: .8rem; }
.fa-etapa-n { width: 44px; height: 44px; border-radius: 50%; background: var(--navy); color: var(--gold-soft); font-family: var(--serif); font-size: 1.4rem; font-weight: 600; display: grid; place-items: center; }
.fa-etapa-cab h2 { margin: 0; font-size: clamp(1.2rem, 4.4vw, 1.45rem); }
.fa-lista { list-style: disc; margin: .7rem 0 .7rem 1.2rem; display: grid; gap: .55rem; }
.fa-lista strong { color: var(--navy); }
.fa-etapa .fa-tarefas > li { background: var(--paper); }

/* calculadora de prazos */
.fa-calc { margin-top: 1rem; background: var(--cream); border: 1px solid var(--line); border-top: 4px solid var(--gold); border-radius: 14px; padding: 1.1rem 1rem 1.2rem; }
.fa-calc label { display: block; font-weight: 600; color: var(--navy); margin: .9rem 0 .35rem; font-size: .95rem; }
.fa-calc label:first-child { margin-top: 0; }
.fa-calc select, .fa-calc input[type="date"] { width: 100%; min-height: 50px; padding: .7rem .8rem; font: inherit; color: var(--text); border: 1.5px solid #B9B2A4; border-radius: 10px; background: #fff; }
.fa-calc .btn { margin-top: 1.1rem; width: 100%; }
.fa-prazo { margin-top: 1.1rem; padding: 1rem; background: #fff; border-radius: 12px; border: 1.5px solid var(--navy); }
.fa-prazo-data { font-family: var(--serif); font-size: 1.7rem; font-weight: 600; line-height: 1.15; color: var(--navy); }
.fa-prazo-detalhe { margin-top: .3rem !important; }
.fa-prazo .fa-nota, .fa-calc > .fa-nota { margin-top: .6rem; }
@media (min-width: 640px) { .fa-calc .btn { width: auto; } }

/* modelos prontos */
.fa-modelo-cartao { background: var(--white); border: 1px solid var(--line); border-top: 4px solid var(--navy); border-radius: var(--radius); padding: 1.2rem 1.1rem; margin-top: 1rem; }
.fa-modelo { white-space: pre-wrap; overflow-wrap: anywhere; background: var(--cream); border: 1px dashed #B9B2A4; border-radius: 10px; padding: .9rem 1rem; margin-top: .6rem; font: inherit; font-size: .95rem; color: var(--text); }
.fa-modelo-cartao .fa-acao { margin-top: .9rem; min-width: 150px; }

/* --- relatório médico: 15 itens em três grupos --- */
.fa-grupo { margin-top: 2.4rem; }
.fa-grupo-rotulo { display: block; font-family: var(--sans); font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--fa-ouro-texto); margin-bottom: .3rem; }
.fa-itens { list-style: none; display: grid; gap: .7rem; margin-top: .9rem; }
.fa-itens > li { display: grid; grid-template-columns: 38px 1fr; gap: .8rem; align-items: start; background: var(--white); border: 1px solid var(--line); border-radius: 12px; padding: 1rem; }
.fa-itens > li > div { min-width: 0; }
.fa-item-n { width: 38px; height: 38px; border-radius: 50%; background: var(--navy); color: #fff; font-family: var(--serif); font-size: 1.1rem; font-weight: 600; display: grid; place-items: center; }
.fa-itens strong { color: var(--navy); }
.fa-comparar { display: grid; gap: .5rem; margin-top: .8rem; }
.fa-comparar p { margin: 0 !important; padding: .65rem .8rem; border-radius: 10px; font-size: .95rem; }
.fa-comparar span { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: .15rem; }
.fa-vago { background: #F3F1ED; border: 1px dashed #A49C8D; color: #4A5560; }
.fa-vago span { color: #8A2F27; }
.fa-vago span::before { content: '✕ '; }
.fa-completo { background: var(--fa-verde-fundo); border: 1px solid #BFE3CC; border-left: 4px solid var(--fa-verde); color: var(--text); }
.fa-completo span { color: var(--fa-verde); }
.fa-completo span::before { content: '✓ '; }
@media (min-width: 720px) { .fa-comparar { grid-template-columns: 1fr 1fr; } }
.fa-so-papel { display: none; }

/* --- fecho de cada página: "Próximo passo" e contato discreto --- */
.fa-proximo { margin-top: 3rem; background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%); color: rgba(255,255,255,.82); border-radius: 20px; padding: 1.6rem 1.3rem 1.3rem; }
.fa-proximo .eyebrow { color: var(--gold); }
.fa-corpo .fa-proximo h2 { color: #fff; margin: .6rem 0 1.1rem; }
.fa-proximo-acoes { display: grid; gap: .7rem; }
.fa-proximo .btn { width: 100%; text-align: center; }
.fa-proximo .btn::after { content: '→'; }
.fa-voltar { display: inline-flex; align-items: center; min-height: 44px; margin-top: .9rem; color: #fff; font-weight: 600; font-size: .95rem; text-underline-offset: 4px; }
.fa-corpo a.fa-voltar:focus-visible, .fa-proximo .btn:focus-visible { outline-color: var(--sky); }
@media (min-width: 640px) { .fa-proximo { padding: 2rem; } .fa-proximo-acoes { grid-template-columns: 1fr 1fr; } .fa-proximo-acoes > :only-child { grid-column: 1 / -1; justify-self: start; width: auto; } }
.fa-contato { margin-top: 1.8rem; padding-top: 1.2rem; border-top: 1px solid var(--line); font-size: .93rem; color: var(--soft); }
.fa-contato a { display: inline-block; padding: .65rem 0; color: var(--navy-2); font-weight: 600; text-underline-offset: 3px; }

/* --- segunda etapa: ferramentas da entrada, fichas das operadoras, simulador, coparticipação e contrato --- */
.fa-ferramentas { display: grid; gap: 10px; margin-top: 1rem; }
.fa-ferramenta { display: grid; grid-template-columns: 1fr 18px; gap: .7rem; align-items: center; min-height: 64px; padding: .8rem 1rem; background: var(--white); border: 1.5px solid var(--line); border-radius: 12px; text-decoration: none; color: var(--text); transition: border-color .2s, box-shadow .2s; }
.fa-ferramenta:hover { border-color: var(--gold); box-shadow: var(--shadow); }
.fa-ferramenta strong { display: block; font-family: var(--serif); font-size: 1.08rem; line-height: 1.25; color: var(--navy); }
.fa-ferramenta small { display: block; margin-top: .15rem; font-size: .88rem; line-height: 1.35; color: var(--soft); }
.fa-ferramenta > span:last-child { font-size: 1.2rem; font-weight: 700; color: var(--navy-2); }
@media (min-width: 640px) { .fa-ferramentas { grid-template-columns: 1fr 1fr; } }

/* rótulo de informação ainda não confirmada na fonte */
.fa-conferencia { display: inline-block; padding: .12rem .55rem; border-radius: 999px; background: #FFF1D6; border: 1px solid #D9B56A; color: #5E4208; font-family: var(--sans); font-size: .76rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; vertical-align: middle; }
.fa-fonte-conf { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .2rem .8rem; }
.fa-fonte-conf .fa-conferencia { margin-top: .7rem; }
details.fa-fonte p a { display: inline-block; padding: .75rem 0; color: var(--navy-2); font-weight: 600; overflow-wrap: anywhere; }

/* fichas das operadoras */
.fa-seletor fieldset + .fa-nota { margin-top: .9rem; }
.fa-ficha { margin-top: 1.8rem; }
.fa-ficha > .fa-acoes { margin-top: 1.2rem; }
.fa-ficha-tema h3 { margin-bottom: .2rem; }
.fa-ficha-tema .fa-lista { margin-bottom: .3rem; }

/* campos de número e de texto das calculadoras */
.fa-calc input[type="text"], .fa-calc textarea, .fa-calc input[type="file"] { width: 100%; min-height: 50px; padding: .7rem .8rem; font: inherit; color: var(--text); border: 1.5px solid #B9B2A4; border-radius: 10px; background: #fff; }
.fa-calc textarea { min-height: 130px; resize: vertical; }
.fa-calc input[type="file"] { padding: .55rem .6rem; }
.fa-calc input[type="file"]::file-selector-button { min-height: 38px; margin-right: .7rem; padding: .4rem .9rem; border-radius: 999px; border: 1.5px solid var(--navy); background: var(--white); color: var(--navy); font: inherit; font-weight: 600; cursor: pointer; }
.fa-calc input[aria-invalid="true"] { border-color: #B5443C; box-shadow: 0 0 0 1px #B5443C; }
.fa-corpo textarea:focus-visible { outline: 3px solid var(--navy-2); outline-offset: 3px; }
.fa-calc label small { display: block; font-weight: 400; color: var(--soft); font-size: .86rem; }
.fa-calc fieldset { border: 0; min-width: 0; margin-top: 1.3rem; padding-top: 1rem; border-top: 1px dashed #B9B2A4; }
.fa-calc legend { float: left; width: 100%; font-weight: 700; color: var(--navy); margin-bottom: .2rem; }
.fa-calc legend + * { clear: both; }
.fa-calc details.fa-recolhido p { margin: 0 0 .3rem; padding: .6rem .8rem; background: #fff; border-radius: 8px; font-size: .9rem; }
.fa-calc details.fa-recolhido p a { display: inline-block; padding: .75rem 0; color: var(--navy-2); font-weight: 600; }
.fa-calc .fa-ou { margin: 1rem 0 0; font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--fa-ouro-texto); }
.fa-calc .fa-calc-botoes { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-top: 1.1rem; }
.fa-calc .fa-calc-botoes .btn { margin-top: 0; }
.fa-calc .fa-calc-botoes .fa-btn-contorno { min-height: 50px; }
@media (max-width: 639px) { .fa-calc .fa-calc-botoes > * { flex: 1 1 100%; } }
.fa-avisos { list-style: none; display: grid; gap: .4rem; margin-top: .9rem; font-size: .93rem; }
.fa-avisos li { padding-left: 1.5rem; position: relative; }
.fa-avisos li::before { content: '✓'; position: absolute; left: 0; color: var(--fa-verde); font-weight: 700; }
.fa-estado { margin-top: 1rem; font-weight: 600; color: var(--navy); }

/* resultado com memória de cálculo */
.fa-memoria { list-style: none; counter-reset: conta; display: grid; gap: .5rem; margin-top: .8rem; }
.fa-memoria li { counter-increment: conta; display: grid; grid-template-columns: 1fr auto; gap: .1rem .8rem; padding: .6rem .7rem; background: var(--cream); border-radius: 10px; font-size: .93rem; }
.fa-memoria li b { grid-column: 1; color: var(--navy); }
.fa-memoria li b::before { content: counter(conta) '. '; }
.fa-memoria li span { grid-column: 1; color: var(--text); overflow-wrap: anywhere; }
.fa-memoria li strong { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--navy); white-space: nowrap; }
.fa-prazo h3 { font-size: 1rem; font-family: var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--fa-ouro-texto); }
.fa-prazo h4 { margin-top: 1rem; font-family: var(--sans); font-size: .95rem; color: var(--navy); }
.fa-conta-ok, .fa-conta-passou { margin-top: .6rem !important; padding: .8rem .9rem; border-radius: 10px; font-weight: 600; }
.fa-conta-ok { background: var(--fa-verde-fundo); border-left: 4px solid var(--fa-verde); color: #0F4D29; }
.fa-conta-passou { background: var(--fa-alerta); border-left: 4px solid var(--gold); color: var(--navy); }

/* localizador de cláusulas */
.fa-resumo { font-family: var(--serif); font-size: 1.2rem; line-height: 1.3; color: var(--navy); }
.fa-achados { margin-top: 1.4rem !important; }
.fa-achados h4 { font-family: var(--serif); font-size: 1.2rem; color: var(--navy); padding-bottom: .3rem; border-bottom: 2px solid var(--gold); }
.fa-achado { margin-top: 1rem; }
.fa-achado-termo { font-weight: 700; color: var(--navy); }
.fa-achado-explica { margin-top: .2rem !important; font-size: .92rem; color: var(--text); padding: .5rem .7rem; background: var(--cream); border-radius: 8px; }
.fa-trechos { list-style: none; display: grid; gap: .5rem; margin-top: .6rem; }
.fa-trecho { padding: .7rem .8rem; background: #fff; border: 1px solid var(--line); border-left: 3px solid var(--navy); border-radius: 8px; font-size: .93rem; overflow-wrap: anywhere; }
.fa-trecho-pg { display: block; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fa-ouro-texto); margin-bottom: .2rem; }
.fa-trecho mark { background: #FBE3A6; color: #101820; font-weight: 700; padding: 0 .15em; border-radius: 3px; }
.fa-achado > .fa-acao { margin-top: .6rem; }
.fa-glossario { display: grid; gap: .6rem; margin-top: .9rem; }
.fa-glossario div { background: var(--white); border: 1px solid var(--line); border-radius: 12px; padding: .8rem 1rem; }
.fa-glossario dt { font-family: var(--serif); font-size: 1.08rem; font-weight: 600; color: var(--navy); }
.fa-glossario dd { margin: .15rem 0 0; font-size: .95rem; }

/* --- impressão: só o conteúdo, sem menu, sem rodapé de navegação e sem botões --- */
@media print {
  header.topbar, footer.site, .crumbs, .fa-nao-imprimir, .fa-proximo, .fa-contato, .fa-indice, .hero-ctas, .bsq-painel, details.fa-fonte summary { display: none !important; }
  html, body { background: #fff !important; }
  body { font-size: 10.5pt; line-height: 1.38; color: #000; }
  .wrap, .fa-miolo { max-width: none; padding: 0; }
  .area-hero.fa-hero { background: none !important; color: #000; padding: 0 0 6pt; border-bottom: 1.5pt solid #000; }
  .fa-hero .eyebrow { color: #444; }
  .fa-hero h1 { color: #000; font-size: 17pt; margin: 3pt 0; }
  .fa-hero h1 em { color: #000; }
  .fa-hero .lede { color: #222; font-size: 10.5pt; max-width: none; }
  .fa-corpo { padding: 8pt 0 0; }
  .fa-corpo h2 { font-size: 12.5pt; margin: 0 0 3pt; break-after: avoid; }
  .fa-grupo { margin-top: 11pt; }
  .fa-grupo-rotulo { color: #444; font-size: 7.5pt; margin-bottom: 1pt; }
  .fa-alerta { background: none; border: 1pt solid #777; border-radius: 4pt; padding: 5pt 7pt; margin-top: 0; }
  .fa-itens { gap: 4pt; margin-top: 4pt; }
  .fa-itens > li { grid-template-columns: 18pt 1fr; gap: 5pt; border: 0; border-bottom: .5pt solid #bbb; border-radius: 0; padding: 0 0 4pt; break-inside: avoid; }
  .fa-item-n { width: 16pt; height: 16pt; background: none; color: #000; border: 1pt solid #000; font-size: 9pt; }
  .fa-comparar { grid-template-columns: 1fr 1fr; gap: 5pt; margin-top: 3pt; }
  .fa-comparar p { padding: 3pt 5pt; font-size: 9pt; border-radius: 3pt; }
  .fa-vago { background: none; border: .75pt dashed #666; color: #222; }
  .fa-completo { background: none; border: .75pt solid #000; border-left-width: 2.5pt; }
  .fa-vago span, .fa-completo span { color: #000; font-size: 7pt; }
  .fa-lista { gap: 3pt; margin: 4pt 0 4pt 14pt; }
  details.fa-fonte p { background: none; padding: 0; font-size: 8.5pt; }
  .fa-nota { margin-top: 5pt; font-size: 8.5pt; color: #333; }
  .fa-so-papel { display: block; margin-top: 8pt; padding-top: 5pt; border-top: .75pt solid #000; font-size: 8.5pt; color: #000; }
  a { color: #000; text-decoration: none; }
  @page { margin: 14mm 15mm; }
}
