/* ==========================================================================
   FAKTEN — visual "modelo novo" (portado do projeto Next.js).
   Azul #004A7A = texto e ação. Laranja #EB651A = acento gráfico (nunca texto
   pequeno). Laranja AA #C15315 quando o laranja precisa de texto branco.
   ========================================================================== */
:root {
  --azul: #004a7a; --azul-escuro: #003a62; --azul-claro: #3c7aa3;
  --laranja: #eb651a; --laranja-aa: #c15315;
  --papel: #ffffff; --nevoa: #e9f0f5; --linha: #cfdbe4; --tinta: #14222d; --cinza: #4a5b69;
  --err: #b21e2c;
  --f-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
  --f-sans: "Instrument Sans", ui-sans-serif, system-ui, sans-serif;
  --sombra-card: 0 24px 60px -30px rgba(0, 74, 122, .40);
  --sombra-img: 0 30px 60px -30px rgba(0, 74, 122, .55);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--papel); color: var(--tinta); font-family: var(--f-sans); line-height: 1.5; -webkit-font-smoothing: antialiased; }
h1, h2, h3 { margin: 0; font-family: var(--f-display); letter-spacing: -.02em; text-wrap: balance; line-height: 1.12; }
p { margin: 0; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; list-style: none; }
img, svg { max-width: 100%; }
img { display: block; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
:focus-visible { outline: 3px solid var(--laranja); outline-offset: 2px; border-radius: 4px; }
::selection { background: var(--nevoa); color: var(--azul); }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: fixed; left: 12px; top: 8px; z-index: 100; padding: 10px 14px; background: var(--azul); color: #fff; border-radius: 8px; transform: translateY(-200%); }
.skip:focus { transform: none; }
.num { font-variant-numeric: tabular-nums; }
.mono { font-size: .8125rem; color: var(--cinza); }
.container, .wrap { width: 100%; max-width: 72rem; margin-inline: auto; padding-inline: 1.25rem; }

/* ── Botões e links ─────────────────────────────────────────────────────── */
.btn { display: inline-flex; align-items: center; gap: .55rem; padding: .85rem 1.5rem; border: 2px solid var(--azul); border-radius: 999px; background: var(--azul); color: #fff; font-weight: 600; line-height: 1.2; transition: background .2s, color .2s, border-color .2s; }
.btn:hover { background: var(--azul-escuro); border-color: var(--azul-escuro); }
.btn__arrow svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; display: block; }
.btn--sm { padding: .5rem 1rem; font-size: .9375rem; font-weight: 500; }
.btn--line { background: transparent; color: var(--azul); border-color: var(--laranja); }
.btn--line:hover { background: var(--laranja-aa); border-color: var(--laranja-aa); color: #fff; }
.btn--claro { background: var(--papel); color: var(--azul); border-color: var(--papel); }
.btn--claro:hover { background: var(--nevoa); border-color: var(--nevoa); }
.ulink { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--laranja); text-decoration-thickness: 2px; color: var(--azul); font-weight: 500; }
.ulink:hover { text-decoration-color: var(--azul); }
.ulink--arrow::after { content: " →"; }

/* ── Cabeçalho ──────────────────────────────────────────────────────────── */
.hdr { position: sticky; top: 0; z-index: 40; background: rgba(255, 255, 255, .92); border-bottom: 1px solid rgba(207, 219, 228, .7); backdrop-filter: blur(8px); }
.hdr__in { display: flex; align-items: center; justify-content: space-between; height: 4rem; }
.brand__logo { height: 2.5rem; width: auto; }
.hdr__nav { display: none; align-items: center; gap: 1.6rem; }
.hdr__nav a:not(.btn) { font-size: .9375rem; color: var(--cinza); }
.hdr__nav a:not(.btn):hover, .hdr__nav a[aria-current="page"] { color: var(--azul); }
.hdr__menu { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; padding: 0; border: 0; background: none; color: var(--azul); border-radius: 8px; }
.hdr__menu svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.hdr__menu .i-x { display: none; }
.hdr__menu[aria-expanded="true"] .i-x { display: block; }
.hdr__menu[aria-expanded="true"] .i-menu { display: none; }
.menu { border-top: 1px solid var(--linha); background: var(--papel); padding: 0 1.25rem 1.25rem; }
.menu[hidden] { display: none; }
.menu a:not(.btn) { display: block; padding: .8rem 0; font-size: 1.125rem; color: var(--azul); }
.menu .btn { display: flex; justify-content: center; margin-top: .5rem; }
@media (min-width: 768px) { .hdr__nav { display: flex; } .hdr__menu, .menu { display: none !important; } }

/* ── Hero ───────────────────────────────────────────────────────────────── */
.hero { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--nevoa), var(--papel)); padding: 3rem 0 4rem; }
.hero__marca { position: absolute; right: -4rem; top: -2.5rem; height: 34rem; width: auto; opacity: .07; pointer-events: none; display: none; }
.hero__in { position: relative; display: grid; gap: 3rem; align-items: center; }
.hero__title { font-size: 2.3rem; font-weight: 700; line-height: 1.08; color: var(--azul); }
.hero__title span { text-decoration: underline; text-decoration-color: var(--laranja); text-decoration-thickness: 3px; text-underline-offset: 8px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.hero__lead { margin-top: 1.5rem; max-width: 34rem; font-size: 1.125rem; line-height: 1.6; color: var(--cinza); }
.hero__ctas { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.hero__micro { margin-top: 1rem; max-width: 34rem; font-size: .875rem; color: var(--cinza); }
.selos { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .5rem; font-size: .875rem; color: var(--azul); }
.selos li { display: inline-flex; align-items: center; gap: .375rem; padding: .375rem .75rem; border-radius: 999px; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 0 0 1px var(--linha); }
.selos svg { width: 1rem; height: 1rem; fill: none; stroke: var(--azul); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (min-width: 640px) { .hero { padding-top: 5rem; } .hero__title { font-size: 3rem; } }
@media (min-width: 1024px) { .hero__in { grid-template-columns: 1.1fr .9fr; } .hero__title { font-size: 3.4rem; } .hero__marca { display: block; } }

/* Fechamento (DRE de exemplo) */
.dre { position: relative; margin: 0; padding: 1.5rem; border: 1px solid var(--linha); border-radius: 1rem; background: #fff; box-shadow: var(--sombra-card); }
.dre__topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.dre__topo small { display: block; font-size: .875rem; color: var(--cinza); }
.dre__topo strong { font-family: var(--f-display); font-size: 1.25rem; font-weight: 600; color: var(--azul); }
.dre__tag { padding: .25rem .75rem; border-radius: 999px; background: var(--nevoa); color: var(--azul); font-size: .75rem; font-weight: 500; white-space: nowrap; }
.dre table { width: 100%; margin-top: 1.5rem; border-collapse: collapse; font-size: .9375rem; font-variant-numeric: tabular-nums; }
.dre th { padding: .5rem 0; text-align: left; font-weight: 400; color: var(--cinza); }
.dre td { padding: .5rem 0; text-align: right; color: var(--tinta); }
.dre tr.is-dest { border-top: 1px solid var(--linha); }
.dre tr.is-dest th { font-weight: 600; color: var(--azul); }
.dre__kpis { margin-top: 1.25rem; padding-top: 1.25rem; display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; border-top: 1px dashed var(--linha); font-size: .875rem; color: var(--cinza); }
.dre__kpis b { display: block; font-family: var(--f-display); font-size: 1.5rem; font-weight: 600; color: var(--azul); }
.dre figcaption { margin-top: 1.25rem; font-size: .75rem; color: var(--cinza); }
@keyframes conferir { from { background-size: 0% 100%; } to { background-size: 100% 100%; } }
.conferido { padding-inline: .25rem; font-weight: 600; color: var(--azul); background-image: linear-gradient(transparent 55%, rgba(235, 101, 26, .55) 55%); background-repeat: no-repeat; background-size: 100% 100%; animation: conferir .6s ease-out both; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .conferido { animation: none; } }

/* ── Seções ─────────────────────────────────────────────────────────────── */
.sec { padding: 4rem 0; }
.sec--nevoa { background: var(--nevoa); }
.sec--azul { background: var(--azul); color: #fff; }
.sec--topo { border-top: 1px solid var(--linha); }
.h2 { font-size: 2.25rem; font-weight: 700; color: var(--azul); }
@media (min-width: 640px) { .sec { padding: 5rem 0; } .h2 { font-size: 3rem; } }
.h2--s { font-size: 1.875rem; }
@media (min-width: 640px) { .h2--s { font-size: 2.25rem; } }

.assina__in { display: grid; gap: 2.5rem; align-items: center; }
.assina__img { width: 100%; border-radius: 2rem; box-shadow: var(--sombra-img); }
.assina__lead { margin-top: 1rem; max-width: 36rem; font-size: 1.125rem; line-height: 1.6; color: var(--cinza); }
.assina__carimbo { margin-top: 2rem; padding-left: 1rem; border-left: 4px solid var(--laranja); color: var(--cinza); }
.assina__carimbo span { display: block; font-size: .875rem; }
.assina__carimbo strong { display: block; font-family: var(--f-display); font-size: 1.25rem; font-weight: 600; color: var(--azul); }
@media (min-width: 1024px) { .assina__in { grid-template-columns: 1fr 1fr; gap: 3.5rem; } }

.numeros { background: var(--azul); color: #fff; }
.numeros__in { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; padding-block: 2.5rem; }
.numeros__in i { display: block; width: 2.5rem; height: 4px; margin-bottom: .75rem; border-radius: 999px; background: var(--laranja); }
.numeros__in b { display: block; font-family: var(--f-display); font-size: 2.25rem; font-weight: 700; }
.numeros__in span { display: block; margin-top: .25rem; opacity: .8; }

.svcs { padding: 5rem 0; }
.svcs__intro { max-width: 42rem; }
.svcs__intro p { margin-top: 1rem; font-size: 1.125rem; opacity: .75; }
.svcs__intro .h2 { color: #fff; }
.svcs__lista { margin-top: 3.5rem; display: grid; gap: 4rem; }
.svcs__item { display: grid; gap: 2rem; align-items: center; }
.svcs__img { display: block; overflow: hidden; border-radius: 1.75rem; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6); outline: 1px solid rgba(255, 255, 255, .1); transition: transform .3s; }
.svcs__img:hover { transform: translateY(-4px); }
.svcs__img img { width: 100%; }
.svcs__ic { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: .75rem; background: var(--laranja); }
.svcs__ic svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.svcs__t { margin-top: 1.25rem; font-size: 1.875rem; font-weight: 700; }
.svcs__t a:hover { text-decoration: underline; }
.svcs__txt p { margin-top: 1rem; max-width: 36rem; font-size: 1.125rem; line-height: 1.6; opacity: .85; }
.svcs__ent { margin-top: 1.5rem; display: grid; gap: .6rem; }
.svcs__ent li { display: flex; gap: .625rem; align-items: flex-start; }
.svcs__ent svg { flex: none; margin-top: .3rem; width: 1rem; height: 1rem; fill: none; stroke: var(--laranja); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.svcs__mais { margin-top: 2rem; }
@media (min-width: 640px) { .svcs__t { font-size: 2.25rem; } }
@media (min-width: 1024px) { .svcs__lista { gap: 6rem; } .svcs__item { grid-template-columns: 1fr 1fr; gap: 4rem; } .svcs__item--inv .svcs__img { order: 2; } }

.como { display: grid; gap: 2.5rem; }
.como__txt p { margin-top: 1rem; font-size: 1.125rem; color: var(--cinza); }
.como__lista { position: relative; padding-left: 2rem; border-left: 2px solid var(--linha); display: grid; gap: 2.5rem; counter-reset: etapa; }
.como__lista li { position: relative; counter-increment: etapa; }
.como__lista li::before { content: counter(etapa); position: absolute; left: -3.05rem; top: 0; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border: 2px solid var(--laranja); border-radius: 50%; background: #fff; font-family: var(--f-display); font-weight: 600; color: var(--azul); }
.como__lista h3 { font-size: 1.5rem; font-weight: 600; color: var(--azul); }
.como__lista p { margin-top: .5rem; max-width: 36rem; line-height: 1.6; color: var(--cinza); }
@media (min-width: 1024px) { .como { grid-template-columns: .8fr 1.2fr; } .como__txt { position: sticky; top: 7rem; align-self: start; } }

.situ__lista { margin-top: 2.5rem; display: grid; gap: 1.5rem; }
.situ__lista li { padding: 1.75rem; border-top: 4px solid var(--laranja); border-radius: 1rem; background: #fff; }
.situ__lista li:nth-child(2) { border-top-color: var(--azul); }
.situ__lista h3 { font-size: 1.25rem; font-weight: 600; color: var(--azul); }
.situ__lista p { margin-top: .75rem; line-height: 1.6; color: var(--cinza); }
@media (min-width: 768px) { .situ__lista { grid-template-columns: repeat(3, 1fr); } }

.duv { display: grid; gap: 2.5rem; }
.faq { border-block: 1px solid var(--linha); }
.faq details { padding: 1.25rem 0; }
.faq details + details { border-top: 1px solid var(--linha); }
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; list-style: none; font-size: 1.125rem; font-weight: 500; color: var(--azul); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 1.5rem; line-height: 1; transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq p { margin-top: .75rem; max-width: 42rem; line-height: 1.6; color: var(--cinza); }
@media (min-width: 1024px) { .duv { grid-template-columns: .8fr 1.2fr; } }

/* ── Contato (faixa azul) e rodapé ─────────────────────────────────────── */
.contato__box { position: relative; overflow: hidden; display: grid; gap: 2.5rem; padding: 2rem; border-radius: 1.5rem; background: var(--azul); color: #fff; }
.contato__marca { position: absolute; right: 1.5rem; bottom: -2.5rem; height: 20rem; width: auto; opacity: .12; pointer-events: none; }
.contato__box > * { position: relative; }
.contato__box h2 { font-size: 2.25rem; font-weight: 700; }
.contato__box .lead { margin-top: 1rem; max-width: 28rem; font-size: 1.125rem; opacity: .8; }
.contato__box .btn { margin-top: 2rem; }
.contato__end { display: grid; gap: 1.25rem; font-style: normal; align-content: start; }
.contato__end a.lin { display: flex; gap: .75rem; align-items: flex-start; }
.contato__end a.lin:hover { text-decoration: underline; }
.contato__end svg { flex: none; margin-top: .25rem; width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.contato__end small { display: block; font-size: .875rem; opacity: .6; }
.contato__end .redes-t { margin-bottom: .75rem; font-size: .875rem; opacity: .6; }
@media (min-width: 640px) { .contato__box { padding: 3rem; } .contato__box h2 { font-size: 3rem; } }
@media (min-width: 1024px) { .contato__box { grid-template-columns: 1fr 1fr; } }

.redes { display: flex; flex-wrap: wrap; gap: .75rem; }
.redes a { display: inline-flex; align-items: center; gap: .625rem; padding: .5rem 1.25rem .5rem .5rem; border-radius: 999px; background: #fff; color: var(--azul); font-size: .9375rem; font-weight: 500; box-shadow: 0 0 0 1px var(--linha); transition: background .2s, color .2s, box-shadow .2s; }
.redes a:hover { background: var(--azul); color: #fff; box-shadow: 0 0 0 1px var(--azul); }
.redes__ic { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--laranja); }
.redes__ic svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; margin: 0; }
.redes__ic .wa { fill: #fff; stroke: none; }
.redes--claro a { background: rgba(255, 255, 255, .1); color: #fff; box-shadow: 0 0 0 1px rgba(255, 255, 255, .3); }
.redes--claro a:hover { background: #fff; color: var(--azul); box-shadow: 0 0 0 1px #fff; }

.ftr { border-top: 1px solid var(--linha); padding: 2.5rem 0; font-size: .875rem; color: var(--cinza); }
.ftr__in { display: grid; gap: 1.5rem; }
.ftr__logo { height: 3.5rem; width: auto; }
.ftr p { margin-top: .75rem; max-width: 24rem; }
.ftr__links { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.ftr__links a:hover { color: var(--azul); text-decoration: underline; }
.ftr__dir p { margin: 0 0 .75rem; max-width: none; }
@media (min-width: 768px) { .ftr__in { grid-template-columns: 1fr auto; align-items: end; } .ftr__dir { text-align: right; } .ftr__dir .redes { justify-content: flex-end; } }
.fab { position: fixed; right: 1rem; bottom: 1rem; z-index: 30; display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: var(--laranja); box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .4); transition: background .2s, transform .2s; }
.fab:hover { background: var(--laranja-aa); transform: translateY(-2px); }
.fab svg { width: 1.75rem; height: 1.75rem; fill: #fff; }

/* ── Páginas internas (blog, vídeos, avaliações, contato, serviços) ─────── */
.page { padding: 3rem 0 5rem; }
.pg__head { max-width: 46rem; margin-bottom: 2.5rem; }
.sec__idx { font-size: .875rem; font-weight: 500; color: var(--cinza); }
.sec__idx span { color: var(--laranja-aa); font-weight: 600; margin-right: .35rem; }
.page-title { margin-top: .75rem; font-size: 2.25rem; font-weight: 700; color: var(--azul); }
.pg__lead { margin-top: 1rem; font-size: 1.125rem; line-height: 1.6; color: var(--cinza); }
@media (min-width: 640px) { .page { padding-top: 4.5rem; } .page-title { font-size: 3rem; } }

.blog__lista { display: grid; gap: 1.5rem; }
.blog__card { display: flex; flex-direction: column; height: 100%; padding: .875rem .875rem 1.5rem; border-radius: 1.25rem; background: #fff; border-top: 4px solid var(--laranja); box-shadow: 0 0 0 1px var(--linha); transition: transform .3s, box-shadow .3s; }
.blog__card:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -30px rgba(0, 74, 122, .5), 0 0 0 1px var(--linha); }
.blog__capa { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: .9rem; background: var(--nevoa); }
.blog__capa--vazia { display: grid; place-items: center; overflow: hidden; }
.blog__capa--vazia svg { width: 60%; fill: none; stroke: var(--linha); stroke-width: 10; }
.blog__meta { margin: 1.1rem .5rem .4rem; }
.blog__titulo { margin: 0 .5rem; font-size: 1.35rem; font-weight: 700; line-height: 1.2; color: var(--azul); }
.blog__titulo a:hover { color: var(--laranja-aa); }
.blog__card:hover .blog__titulo { color: var(--laranja-aa); }
.blog__resumo { margin: .6rem .5rem 0; color: var(--cinza); font-size: .9688rem; }
.blog__ler { margin: auto .5rem 0; padding-top: 1rem; font-weight: 600; color: var(--azul); }
.blog__pags { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 1rem; margin-top: 3rem; }
.blog__vazio, .aval__vazio { display: grid; gap: .875rem; justify-items: start; max-width: 46rem; padding: 2rem; border-radius: 1.25rem; background: var(--nevoa); }
.blog__vazio-t, .aval__vazio-t { font-family: var(--f-display); font-size: 1.5rem; font-weight: 700; color: var(--azul); line-height: 1.2; }
.blog__vazio p, .aval__vazio p { color: var(--cinza); max-width: 36rem; }
@media (min-width: 640px) { .blog__lista { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .blog__lista { grid-template-columns: repeat(3, 1fr); } }
.videos__lista .blog__item { display: flex; flex-direction: column; }
.videos__lista .blog__meta, .videos__lista .blog__titulo, .videos__lista .blog__resumo, .videos__lista .blog__ler { margin-inline: 0; }
.videos__canal { margin-top: 3rem; }

.post { max-width: 46rem; margin-inline: auto; }
.post__previa { display: inline-block; margin-bottom: 1rem; padding: .4rem .9rem; border-radius: 999px; background: #fdeee5; color: var(--laranja-aa); }
.post__voltar { display: inline-block; margin-bottom: 1.5rem; font-weight: 600; color: var(--azul); }
.post__head { display: grid; gap: 1rem; margin-bottom: 2rem; }
.post__titulo { font-size: 2.1rem; font-weight: 700; line-height: 1.08; color: var(--azul); }
.post__resumo { font-size: 1.2rem; line-height: 1.5; color: var(--cinza); }
.post__autor { padding-top: .9rem; border-top: 1px solid var(--linha); font-size: .9375rem; color: var(--cinza); }
.post__capa { margin: 0 0 2rem; }
.post__capa img { width: 100%; border-radius: 1.25rem; }
@media (min-width: 640px) { .post__titulo { font-size: 3rem; } }
.prosa { font-size: 1.125rem; line-height: 1.75; color: var(--tinta); }
.prosa > * + * { margin-top: 1.1em; }
.prosa h2 { margin-top: 1.8em; font-size: 1.75rem; font-weight: 700; color: var(--azul); }
.prosa h3 { margin-top: 1.5em; font-size: 1.3rem; font-weight: 700; color: var(--azul); }
.prosa a { color: var(--azul); text-decoration: underline; text-underline-offset: 3px; }
.prosa a:hover { color: var(--laranja-aa); }
.prosa ul, .prosa ol { padding-left: 1.3em; }
.prosa ul { list-style: disc; }
.prosa ol { list-style: decimal; }
.prosa li + li { margin-top: .4em; }
.prosa li::marker { color: var(--laranja); }
.prosa blockquote { margin-inline: 0; padding: 1.1rem 1.4rem; border-left: 4px solid var(--laranja); border-radius: 0 .75rem .75rem 0; background: var(--nevoa); color: var(--azul); }
.prosa img { width: 100%; border-radius: .9rem; }
.prosa code { padding: 2px 6px; border-radius: 6px; background: var(--nevoa); font-size: .9em; }
.prosa table { width: 100%; display: block; overflow-x: auto; border-collapse: collapse; font-size: .95em; }
.prosa th, .prosa td { padding: .6rem .75rem; border-bottom: 1px solid var(--linha); text-align: left; }
.prosa hr { height: 1px; margin: 2em 0; border: 0; background: var(--linha); }

.yt { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 1.25rem; background: var(--azul-escuro); }
.yt__play { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: none; }
.yt__play img { width: 100%; height: 100%; object-fit: cover; opacity: .92; transition: opacity .3s, transform .5s; }
.yt__play svg { position: absolute; left: 50%; top: 50%; width: 68px; height: 48px; transform: translate(-50%, -50%); filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .35)); }
.yt__bg { fill: var(--laranja); transition: fill .2s; }
.yt__play:hover img { opacity: 1; transform: scale(1.03); }
.yt__play:hover .yt__bg { fill: var(--laranja-aa); }
.yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.post__video { margin: 0 0 .75rem; }
.post__videolink { margin: 0 0 2rem; font-size: .9375rem; }

.post__cta { display: grid; gap: .75rem; justify-items: start; margin-top: 4rem; padding: 2rem; border-radius: 1.5rem; background: var(--azul); color: #fff; }
.post__cta h2 { font-size: 1.75rem; font-weight: 700; }
.post__cta > p { max-width: 36rem; opacity: .85; }
.post__cta .btn { background: #fff; color: var(--azul); border-color: #fff; }
.post__cta .btn:hover { background: var(--nevoa); border-color: var(--nevoa); }
.post__cta .ulink { color: #fff; text-decoration-color: var(--laranja); }
.lead__form { display: grid; gap: .875rem 1rem; width: 100%; margin-top: .5rem; }
.lead__campo { display: grid; gap: .35rem; }
.lead__campo span { font-size: .8125rem; opacity: .8; }
.lead__campo input { width: 100%; padding: .8rem .9rem; border: 1.5px solid rgba(255, 255, 255, .35); border-radius: .75rem; background: rgba(255, 255, 255, .08); color: #fff; font: inherit; }
.lead__campo input::placeholder { color: rgba(255, 255, 255, .5); }
.lead__campo input:focus { outline: 3px solid #fff; outline-offset: 2px; background: rgba(255, 255, 255, .14); }
.lead__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lead__erro { padding: .65rem .9rem; border-radius: .75rem; background: #fff; color: var(--err); font-size: .9375rem; }
.lead__erro--ok { color: var(--azul); }
.lead__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.5rem; }
.lead__nota { font-size: .8438rem; opacity: .8; max-width: 40rem; }
.lead__form.is-enviado .lead__acoes { display: none; }
@media (min-width: 768px) { .lead__form { grid-template-columns: repeat(3, 1fr); } .lead__erro, .lead__acoes, .lead__nota { grid-column: 1 / -1; } .post__cta { padding: 2.5rem; } }

/* Avaliações */
.estrelas { display: inline-flex; gap: 2px; }
.estrela { width: 1.15rem; height: 1.15rem; fill: var(--linha); }
.estrela.is-cheia, .estrela.is-meia { fill: var(--laranja); }
.aval__resumo { display: grid; gap: .5rem; justify-items: start; padding: 1.75rem; border-radius: 1.25rem; background: var(--nevoa); max-width: 34rem; }
.aval__nota { font-family: var(--f-display); font-size: 3.5rem; font-weight: 700; line-height: 1; color: var(--azul); }
.aval__total { color: var(--cinza); }
.aval__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.5rem; margin-top: .75rem; }
.aval__lista { margin-top: 2rem; display: grid; gap: 1.25rem; }
.aval__item { display: grid; gap: .6rem; padding: 1.5rem; border-radius: 1rem; background: #fff; box-shadow: 0 0 0 1px var(--linha); border-top: 4px solid var(--laranja); }
.aval__autor { display: flex; align-items: center; gap: .75rem; }
.aval__autor > div { display: grid; }
.aval__foto { width: 2.5rem; height: 2.5rem; border-radius: 50%; object-fit: cover; }
.aval__foto--ini { display: grid; place-items: center; background: var(--azul); color: #fff; font-weight: 600; }
.aval__nome { font-weight: 600; color: var(--azul); }
.aval__texto { color: var(--cinza); line-height: 1.6; }
.aval__fonte { margin-top: 1.5rem; font-size: .875rem; color: var(--cinza); max-width: 46rem; }
@media (min-width: 768px) { .aval__lista { grid-template-columns: repeat(2, 1fr); } }

/* Contato (formulário) */
.cform { display: grid; gap: 1.5rem; max-width: 40rem; }
.cform fieldset { margin: 0; padding: 0; border: 0; }
.cform legend { margin-bottom: .6rem; padding: 0; font-weight: 600; color: var(--azul); }
.chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.chip { position: relative; }
.chip input { position: absolute; opacity: 0; }
.chip span { display: inline-block; padding: .55rem 1rem; border: 1.5px solid var(--linha); border-radius: 999px; color: var(--azul); cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.chip input:checked + span { background: var(--azul); border-color: var(--azul); color: #fff; }
.chip input:focus-visible + span { outline: 3px solid var(--laranja); outline-offset: 2px; }
.cform label.campo { display: grid; gap: .35rem; font-weight: 500; color: var(--azul); }
.cform input[type=text], .cform input[type=tel], .cform input[type=email], .cform textarea { width: 100%; padding: .8rem .95rem; border: 1.5px solid #7a90a2; border-radius: .75rem; background: #fff; color: var(--tinta); font: inherit; }
.cform input:focus, .cform textarea:focus { outline: 3px solid var(--laranja); outline-offset: 1px; border-color: var(--azul); }
.cform .grade { display: grid; gap: 1rem; }
@media (min-width: 640px) { .cform .grade { grid-template-columns: 1fr 1fr; } .cform .grade .full { grid-column: 1 / -1; } }
.cform .erro { color: var(--err); font-size: .9375rem; }
.cform__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.5rem; }

/* Páginas de serviço */
.svc__hero { background: linear-gradient(180deg, var(--nevoa), var(--papel)); padding: 3rem 0 3.5rem; }
.svc__hero-in { display: grid; gap: 2.5rem; align-items: center; }
.svc__nome { font-size: .875rem; font-weight: 500; color: var(--cinza); }
.svc__title { margin-top: .75rem; max-width: 48rem; font-size: 2.2rem; font-weight: 700; line-height: 1.08; color: var(--azul); }
.svc__sub { margin-top: 1.25rem; max-width: 40rem; font-size: 1.125rem; line-height: 1.6; color: var(--cinza); }
.svc__ctas { margin-top: 2rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.svc__crc { display: inline-flex; align-items: center; gap: .375rem; font-size: .875rem; color: var(--cinza); }
.svc__crc svg { width: 1rem; height: 1rem; fill: none; stroke: var(--azul); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.svc__micro { margin-top: 1rem; max-width: 36rem; font-size: .875rem; color: var(--cinza); }
.svc__img { display: none; width: 100%; border-radius: 2rem; box-shadow: var(--sombra-img); }
@media (min-width: 640px) { .svc__hero { padding-top: 5rem; } .svc__title { font-size: 3rem; } }
@media (min-width: 1024px) { .svc__hero-in { grid-template-columns: 1.1fr .9fr; } .svc__img { display: block; } }
.svc__para { margin-top: 1.5rem; display: grid; gap: 1.25rem; }
.svc__para li { padding: 1.5rem; border-top: 4px solid var(--laranja); border-radius: 1rem; background: #fff; line-height: 1.6; }
@media (min-width: 768px) { .svc__para { grid-template-columns: repeat(3, 1fr); } }
.svc__entra { margin-top: 2rem; display: grid; gap: 1.5rem 2.5rem; }
.svc__entra li { display: flex; gap: .75rem; align-items: flex-start; }
.svc__entra svg { flex: none; margin-top: .3rem; width: 1.25rem; height: 1.25rem; fill: none; stroke: var(--laranja); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.svc__entra b { display: block; font-weight: 600; color: var(--azul); }
.svc__entra p { margin-top: .25rem; color: var(--cinza); }
.svc__limite { margin-top: 2.5rem; max-width: 42rem; padding-left: 1.25rem; border-left: 4px solid var(--laranja); line-height: 1.6; color: var(--cinza); }
@media (min-width: 768px) { .svc__entra { grid-template-columns: 1fr 1fr; } }
.svc__passos { margin-top: 2rem; display: grid; gap: 2rem; }
.svc__passos b.n { display: block; font-family: var(--f-display); font-size: 2.25rem; font-weight: 700; color: var(--laranja); }
.svc__passos strong { display: block; margin-top: .5rem; font-size: 1.25rem; font-weight: 600; }
.svc__passos p { margin-top: .5rem; line-height: 1.6; opacity: .8; }
@media (min-width: 768px) { .svc__passos { grid-template-columns: repeat(3, 1fr); } }
.svc__outros { padding: 3rem 0; border-top: 1px solid var(--linha); }
.svc__outros ul { margin-top: .75rem; display: flex; flex-wrap: wrap; gap: .5rem 2rem; }
.svc__outros a { font-weight: 500; color: var(--azul); text-decoration: underline; text-underline-offset: 4px; }

/* 404 */
.nf { padding: 5rem 1.25rem; max-width: 46rem; }
.nf p { margin-top: 1rem; color: var(--cinza); }
.nf .btn { margin-top: 1.5rem; }
.lead__campo .mono { color: #fff; opacity: .85; }

/* Contato: formulário + imagem e canais diretos */
.ct__grid { display: grid; gap: 2.5rem; align-items: start; }
.ct__lado { display: grid; gap: 1.5rem; }
.ct__img { width: 100%; border-radius: 2rem; box-shadow: var(--sombra-img); }
.ct__card { padding: 1.5rem; border-radius: 1.25rem; background: var(--nevoa); border-top: 4px solid var(--laranja); }
.ct__t { font-family: var(--f-display); font-size: 1.25rem; font-weight: 600; color: var(--azul); }
.ct__lista { margin-top: 1rem; display: grid; gap: .9rem; color: var(--tinta); }
.ct__lista small { display: block; font-size: .8125rem; color: var(--cinza); }
.ct__lista a { font-weight: 500; color: var(--azul); }
.ct__lista a:hover { text-decoration: underline; }
.ct__sel { margin-top: 1.1rem; padding-top: .9rem; border-top: 1px solid var(--linha); font-size: .875rem; color: var(--cinza); }
@media (min-width: 1024px) { .ct__grid { grid-template-columns: 1.1fr .9fr; gap: 3.5rem; } .ct__lado { position: sticky; top: 6rem; } }

/* Faixa de contato: ilustração e canais lado a lado */
.contato__img { width: 100%; border-radius: 1.5rem; box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .55); }
.contato__end { grid-column: 1 / -1; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1.5rem 2rem; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .2); }
.contato__end > div { grid-column: 1 / -1; }
@media (min-width: 1024px) { .contato__box { align-items: center; } }
.contato__box > .contato__marca { position: absolute; }
.btn > svg { flex: none; width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Linha do tempo (início + empresas atendidas) */
.tl { background: var(--azul); color: #fff; padding: 3.5rem 0 4rem; }
.tl__t { font-size: 1.875rem; font-weight: 700; }
.tl__lista { margin-top: 2.5rem; display: grid; gap: 2rem; position: relative; padding-left: 2rem; }
.tl__lista::before { content: ""; position: absolute; left: .5rem; top: .4rem; bottom: .4rem; width: 3px; border-radius: 3px; background: linear-gradient(180deg, var(--laranja), rgba(255, 255, 255, .35)); }
.tl__item { position: relative; display: grid; gap: .25rem; }
.tl__ponto { position: absolute; left: -2rem; top: .45rem; width: 1.1rem; height: 1.1rem; border: 3px solid var(--laranja); border-radius: 50%; background: var(--azul); }
.tl__ponto--pq { width: .6rem; height: .6rem; left: -1.75rem; border-width: 2px; border-color: rgba(255, 255, 255, .6); }
.tl__ponto--hoje { background: var(--laranja); box-shadow: 0 0 0 5px rgba(235, 101, 26, .3); }
.tl__ano { font-family: var(--f-display); font-size: 2.25rem; font-weight: 700; line-height: 1.1; }
.tl__anos { font-size: .9375rem; font-weight: 600; color: var(--laranja); }
.tl__nome { font-size: 1.125rem; font-weight: 600; }
.tl__desc { max-width: 24rem; font-size: .9375rem; opacity: .8; }
.tl__item--meio .tl__desc { font-style: italic; }
@media (min-width: 768px) {
  .tl__lista { grid-template-columns: 1fr 1fr 1fr; gap: 1.5rem; padding: 2.75rem 0 0; }
  .tl__lista::before { left: 0; right: 0; top: 1.05rem; bottom: auto; width: auto; height: 3px; background: linear-gradient(90deg, var(--laranja), rgba(255, 255, 255, .35) 50%, var(--laranja)); }
  .tl__ponto { left: 0; top: -2.25rem; }
  .tl__ponto--pq { left: .25rem; top: -2.0rem; }
  .tl__item--meio { text-align: center; justify-items: center; }
  .tl__item--meio .tl__ponto { left: 50%; margin-left: -.55rem; }
  .tl__item:last-child { text-align: right; justify-items: end; }
  .tl__item:last-child .tl__ponto { left: auto; right: 0; }
}
/* Logo com a assinatura "consultoria | contabilidade" no topo */
.hdr__in { height: 4.5rem; }
.brand__logo { height: 3.25rem; }
@media (max-width: 480px) { .hdr__in { height: 4rem; } .brand__logo { height: 2.75rem; } }

/* Menu: destaque laranja ao passar o mouse (texto em laranja AA para manter a leitura; barra em laranja da marca) */
.hdr__nav a:not(.btn) { position: relative; padding-block: .3rem; transition: color .2s; }
.hdr__nav a:not(.btn)::after { content: ""; position: absolute; left: 0; right: 0; bottom: -.1rem; height: 3px; border-radius: 3px; background: var(--laranja); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.hdr__nav a:not(.btn):hover, .hdr__nav a:not(.btn):focus-visible { color: var(--laranja-aa); }
.hdr__nav a:not(.btn):hover::after, .hdr__nav a:not(.btn):focus-visible::after { transform: scaleX(1); }
.menu a:not(.btn):hover { color: var(--laranja-aa); }

/* Nossa história: fundo claro, diferente da faixa azul dos serviços */
.tl { background: var(--nevoa); color: var(--azul); }
.tl__ponto { background: var(--nevoa); }
.tl__ponto--hoje { background: var(--laranja); box-shadow: 0 0 0 5px rgba(235, 101, 26, .25); }
.tl__lista::before { background: linear-gradient(180deg, var(--laranja), rgba(0, 74, 122, .3)); }
.tl__desc { color: var(--cinza); opacity: 1; }
.tl__nome { color: var(--azul); }
@media (min-width: 768px) { .tl__lista::before { background: linear-gradient(90deg, var(--laranja), rgba(0, 74, 122, .3) 50%, var(--laranja)); } }

/* voltar ao topo */
.totop { position: fixed; right: 1.1rem; bottom: 5.4rem; z-index: 30; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: var(--azul); color: #fff; cursor: pointer; box-shadow: 0 8px 20px -8px rgba(0, 0, 0, .4); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s, transform .2s, background .2s, visibility .2s; }
.totop.is-on { opacity: 1; visibility: visible; transform: none; }
.totop:hover { background: var(--azul-escuro); }
.totop svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
@media (prefers-reduced-motion: reduce) { .totop { transition: none; } }

/* Palavra que alterna no título da Home (uma por vez: consultiva / estratégica) */
.hero__title .troca, .hero__title .troca__p { text-decoration: none; }
.troca { color: var(--laranja); transition: opacity .3s ease; }
.troca.is-fade { opacity: 0; }
.troca__p[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .troca { transition: none; } }

/* Ilustração do topo da Home (no lugar do cartão de DRE) */
.hero__img { margin: 0; }
.hero__img img { display: block; width: 100%; height: auto; border-radius: 1.25rem; box-shadow: var(--sombra-card); }
