/* CSS compartilhado. O crítico (@font-face, reset, :root, topo, hero, .btn) vive inline em cada página. */

/* interação */
a,.btn{transition:color .2s,background-color .2s,border-color .2s}
.btn:hover{background:var(--texto);border-color:var(--texto);color:var(--branco)}
.btn-contorno:hover{background:var(--bordo);border-color:var(--bordo);color:var(--branco)}
.nav a:hover{color:var(--bordo);text-decoration:underline}
:focus-visible{outline:3px solid var(--dourado);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.secao{padding:3.5rem 1.25rem}
.secao-in{max-width:1100px;margin:0 auto}
.secao-blush{background:var(--blush)}
.secao h2{font-family:var(--f-titulo);font-weight:700;font-size:clamp(1.5rem,3.6vw,2.1rem);line-height:1.2;color:var(--bordo);margin-bottom:1.1rem}
.secao h3{font-family:var(--f-titulo);font-weight:700;font-size:1.1rem;line-height:1.3;color:var(--bordo);margin-bottom:.4rem}
.secao p{margin-bottom:1rem;max-width:68ch}
.eyebrow-s{display:inline-block;font-size:.8rem;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--mauve-esc);border-bottom:2px solid var(--dourado);padding-bottom:.25rem;margin-bottom:1rem}

/* números */
.numeros{background:var(--bordo);color:var(--branco);padding:2.5rem 1.25rem}
.numeros-in{max-width:1100px;margin:0 auto;display:grid;gap:1.5rem;grid-template-columns:1fr}
.numero strong{display:block;font-family:var(--f-titulo);font-weight:700;font-size:clamp(1.9rem,5vw,2.6rem);line-height:1.15;color:var(--branco)}
.numero span{display:block;font-size:1.05rem;line-height:1.5;color:var(--nude)}
.numeros-fonte{max-width:1100px;margin:1.5rem auto 0;font-size:.85rem;line-height:1.5;color:var(--nude)}
@media (min-width:700px){.numeros-in{grid-template-columns:1fr 1fr}}

/* sobre */
.sobre{display:grid;gap:2rem;grid-template-columns:1fr;align-items:start}
.sobre figure{margin:0}
.sobre img{width:100%;max-width:420px;height:auto;border-radius:2px;border-bottom:4px solid var(--mauve)}
.sobre figcaption{font-size:.85rem;line-height:1.5;color:var(--mauve-esc);margin-top:.6rem}
@media (min-width:860px){.sobre{grid-template-columns:.8fr 1.2fr;gap:3rem}}
.secao .tecnica{background:var(--blush);border-left:3px solid var(--dourado);padding:1rem 1.2rem}
.tecnica dfn{font-style:normal;font-weight:700;color:var(--bordo)}
.registro{display:inline-block;background:var(--blush);border-left:3px solid var(--mauve);padding:.6rem .9rem;font-size:.95rem;line-height:1.5}

/* formação */
.formacao{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1.5rem;grid-template-columns:1fr}
.formacao li{background:var(--branco);border:1px solid var(--nude);border-left:3px solid var(--dourado);padding:1.5rem;line-height:1.6}
.formacao strong{display:block;font-family:var(--f-titulo);font-weight:700;color:var(--bordo);line-height:1.3;margin-bottom:.4rem}
@media (min-width:760px){.formacao{grid-template-columns:1fr 1fr}}

/* equipe: largura de texto já limitada pelo .secao p */

/* procedimentos */
.procs{display:grid;gap:1.5rem;grid-template-columns:1fr;margin-top:1.5rem}
.proc-cat{background:var(--blush);border:1px solid var(--nude);border-top:3px solid var(--mauve);padding:1.5rem}
.proc-cat h3+ul{margin-bottom:1.5rem}
.proc-cat ul:last-child{margin-bottom:0}
.proc-cat ul{list-style:none;padding:0;margin:0}
.proc-cat li{padding:.75rem 0;border-bottom:1px solid var(--nude);font-size:.97rem;line-height:1.6}
.proc-cat li:last-child{border-bottom:0}
.proc-cat strong{color:var(--bordo)}
.obj{color:var(--mauve-esc)}
.secao .nota-procs{margin-top:1.5rem;font-size:.9rem;color:var(--mauve-esc)}
@media (min-width:900px){.procs{grid-template-columns:1fr 1fr}}

/* diferenciais */
.difs{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1.5rem;grid-template-columns:1fr}
.difs li{background:var(--branco);border:1px solid var(--nude);border-top:3px solid var(--mauve);padding:1.5rem}
.secao .difs p{margin:0;font-size:.97rem;line-height:1.6}
@media (min-width:760px){.difs{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.difs{grid-template-columns:repeat(3,1fr)}}

/* lista */
.lista{margin:0 0 1rem;padding-left:1.25rem;max-width:68ch}
.lista li{margin-bottom:.7rem}

/* faq */
.faq{display:grid;gap:1.1rem;max-width:760px}
.faq div{border-bottom:1px solid var(--nude);padding-bottom:1rem}
.faq p{margin:0}

/* contato */
.contato{display:grid;gap:2rem;grid-template-columns:1fr}
.contato address{font-style:normal}
.contato p{margin-bottom:.6rem}
.contato .acoes{margin-top:1.2rem;display:flex;flex-wrap:wrap;gap:.75rem}
@media (min-width:760px){.contato{grid-template-columns:1fr 1fr}}
.redes{list-style:none;padding:0;margin:.4rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.redes a{display:inline-block;padding:.6rem 0}

/* rodapé */
.rodape{background:var(--bordo);color:var(--nude);padding:3rem 1.25rem 2rem}
.rodape-in{max-width:1100px;margin:0 auto;display:grid;gap:2rem;grid-template-columns:1fr}
.rodape img{width:200px;height:auto}
.rodape p{margin:0 0 .5rem;font-size:.95rem;line-height:1.6;color:var(--nude)}
.rodape a{color:var(--branco)}
.rodape :focus-visible{outline-color:var(--branco)}
.rodape h2{font-family:var(--f-titulo);font-weight:700;font-size:1rem;line-height:1.3;color:var(--branco);margin:0 0 .6rem}
.rodape ul{list-style:none;padding:0;margin:0}
.rodape li{margin-bottom:.4rem;font-size:.95rem;line-height:1.5}
.rodape li a{display:inline-block;padding:.35rem 0}
.rodape-fim{max-width:1100px;margin:2rem auto 0;border-top:1px solid var(--mauve);padding-top:1.2rem;font-size:.85rem;line-height:1.6;color:var(--nude)}
@media (min-width:760px){.rodape-in{grid-template-columns:1.2fr 1fr 1fr}}

/* páginas internas */
.secao .saiba{margin:1rem 0 0;font-size:.95rem;line-height:1.6}
.responsavel{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:start;background:var(--blush);border-left:3px solid var(--dourado);padding:1.5rem;max-width:760px}
.responsavel img{width:120px;height:auto;border-radius:2px}
@media (min-width:600px){.responsavel.com-foto{grid-template-columns:120px 1fr}}
.secao .responsavel p{margin-bottom:.5rem}
.secao .resp-titulo{font-size:.8rem;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--mauve-esc)}
.secao .resp-data{margin:0;font-size:.85rem;color:var(--mauve-esc)}
.relacionados ul{list-style:none;padding:0;margin:0;display:grid;gap:.75rem;grid-template-columns:1fr}
@media (min-width:760px){.relacionados ul{grid-template-columns:repeat(2,1fr)}}
.relacionados a{display:block;background:var(--branco);border:1px solid var(--nude);border-left:3px solid var(--mauve);padding:1rem 1.2rem;line-height:1.4}
.relacionados a:hover{border-left-color:var(--bordo)}
.comparativo-wrap{overflow-x:auto;margin:1.5rem 0}
.comparativo{border-collapse:collapse;width:100%;min-width:520px;font-size:.95rem;line-height:1.5;background:var(--branco)}
.comparativo th,.comparativo td{border:1px solid var(--nude);padding:.75rem;text-align:left;vertical-align:top}
.comparativo thead th{background:var(--bordo);color:var(--branco);font-family:var(--f-titulo);font-weight:700}
.comparativo tbody th{color:var(--bordo);font-weight:700}
.secao .proc-cat .saiba{margin:0 0 1.5rem}
.secao .proc-cat .saiba:last-child{margin-bottom:0}
.cartoes a{text-decoration:none}
.cartoes a strong{text-decoration:underline}
.cartoes .resumo{display:block;margin-top:.35rem;color:var(--texto);font-size:.95rem;line-height:1.55}
