/* Avaliação Rural — tema EBC (css4.css): mesmo design e cores do ebcavaliadora/cayeimb (grafite + rosa EBC, Manrope + Manrope). Backups: css3.css (bordô), css2.css (verde jade), css.css (original) */
/* (Inter não é mais usada neste tema: Manrope + Manrope, declaradas no fim do arquivo) */

/* ============ Base ============ */
:root {
    --brand: #7C3AED; 
    --brand-dark: #6930D5;
    --brand-2: #B693FF;
    --grad: linear-gradient(120deg, #7C3AED 0%, #B693FF 100%);
    --ink: #231B2F;
    --ink-2: #0D0B12;
    --muted: #61566D;
    --line: #E4DEEC;
    --bg-soft: #F8F7FB;
    --header-h: 4.5rem;
    --section-pad-y: clamp(3.5rem, 7vw, 6rem);
    --radius: 1rem;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + .5rem); }
body { margin: 0; padding-top: var(--header-h); font-family:'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; color: var(--ink); background: #fff; line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font: inherit; }
h1, h2, h3, h4 { margin: 0; line-height: 1.2; color: var(--ink-2); }
h2 { font-size: clamp(1.625rem, 3.2vw, 2.25rem); font-weight: 800; letter-spacing: -.02em; }
.wrap { max-width: 75rem; margin: 0 auto; padding: 0 clamp(1.25rem, 5vw, 2rem); }
.text-center { text-align: center; }
.text-muted { color: var(--muted); }
.grad { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.eyebrow { display: inline-block; margin-bottom: .75rem; color: var(--brand); font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
section, main { padding-block: var(--section-pad-y); }
main.hero, .cta-final { padding-block: 0; }
:focus-visible { outline: .125rem solid var(--brand-2); outline-offset: .2rem; }

/* ============ Botões ============ */
.btn-primary, .btn-whats, .btn-outline, .btn-dark-outline, .btn-white {
    display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
    padding: .9rem 1.6rem; border-radius: 999px; border: .125rem solid transparent;
    font-size: .9375rem; font-weight: 700; line-height: 1.1; white-space: nowrap; cursor: pointer;
    transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}
.btn-primary, .btn-whats { background: var(--grad) border-box; color: #fff; box-shadow: 0 .5rem 1.25rem -.4rem rgba(124, 58, 237, .55); }
.btn-primary:hover, .btn-whats:hover { transform: translateY(-.125rem); box-shadow: 0 .75rem 1.5rem -.4rem rgba(124, 58, 237, .65); }
.btn-primary:active, .btn-whats:active, .btn-outline:active { transform: scale(.97); }
.btn-whats i { font-size: 1.25em; }
.btn-lg { padding: 1.1rem 2rem; font-size: 1.0625rem; }
.btn-sm { padding: .6rem 1rem; font-size: .8125rem; }
.btn-block { width: 100%; }
.btn-outline, .btn-dark-outline { background: transparent; border-color: var(--ink); color: var(--ink); }
.btn-outline:hover, .btn-dark-outline:hover { background: var(--ink); color: #fff; }
.btn-white { background: #fff; color: var(--brand); }
.btn-white:hover { transform: translateY(-.125rem); }
.btn-link { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; color: var(--ink); }
.btn-link i { transition: transform .25s ease; }
.btn-link:hover i { transform: translateX(.3rem); }
.btn-primary:disabled, .btn-primary[disabled] { opacity: .5; cursor: not-allowed; transform: none; }
@media (max-width: 40rem) { .btn-lg { width: 100%; padding: 1rem 1.25rem; font-size: 1rem; white-space: normal; } }

/* ============ Header ============ */
.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 50; height: var(--header-h); background: rgba(255, 255, 255, .94); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid transparent; transition: border-color .2s ease, box-shadow .2s ease; }
.site-header--scrolled { border-bottom-color: var(--line); box-shadow: 0 .25rem 1.5rem -.75rem rgba(0, 0, 0, .15); }
.site-header__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.marca { font-size: 1.375rem; font-weight: 800; letter-spacing: -.02em; line-height: 1; color: var(--ink-2); white-space: nowrap; }
.marca b { font-weight: 800; color: var(--brand); }
.marca--claro { color: #fff; }
.marca--claro b { color: var(--brand-2); }
.site-header__nav { display: flex; align-items: center; gap: clamp(.875rem, 1.5vw, 1.5rem); }
.site-header__link { position: relative; white-space: nowrap; padding: .375rem 0; font-size: .9375rem; font-weight: 500; color: var(--ink); }
.site-header__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: .125rem; background: var(--grad); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.site-header__link:hover::after, .site-header__link[aria-current="page"]::after { transform: scaleX(1); }
.site-header__nav .btn-whats { padding: .7rem 1.2rem; font-size: .875rem; }
.site-header__mobile-actions { display: none; align-items: center; gap: .75rem; }
.site-header__toggle { display: flex; flex-direction: column; justify-content: center; gap: .3125rem; width: 2.5rem; height: 2.5rem; padding: .5rem; border: 0; background: none; cursor: pointer; }
.site-header__toggle span { display: block; height: .125rem; background: var(--ink); border-radius: 2px; }
.site-header__overlay { position: fixed; inset: 0; z-index: 100; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1.25rem; padding: 2rem clamp(1.5rem, 8vw, 3rem); background: #fff; opacity: 0; pointer-events: none; transform: translateY(-.75rem); transition: opacity .25s ease, transform .25s ease; }
.site-header__overlay.is-open { opacity: 1; pointer-events: auto; transform: none; }
.site-header__overlay-link { font-size: 1.5rem; font-weight: 700; color: var(--ink-2); }
.site-header__close { position: absolute; top: 1rem; right: 1.25rem; width: 2.75rem; height: 2.75rem; border: 0; background: none; font-size: 2.25rem; line-height: 1; color: var(--ink); cursor: pointer; }
.site-header__overlay .btn-whats { margin-top: 1rem; }
@media (max-width: 70rem) {
    .site-header__nav { display: none; }
    .site-header__mobile-actions { display: flex; }
}
@media (max-width: 22rem) { .site-header__mobile-actions .btn-whats { padding-inline: .75rem; } }

/* ============ Hero ============ */
.hero { position: relative; overflow: hidden; background: radial-gradient(60rem 30rem at 85% -10%, rgba(124, 58, 237, .10), transparent 60%), radial-gradient(40rem 25rem at -5% 110%, rgba(124, 58, 237, .08), transparent 60%), #fff; }
.hero__inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; padding-block: clamp(2.5rem, 6vw, 5.5rem); }
.hero h1 { font-size: clamp(2rem, 4.6vw, 3.5rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.08; }
.hero__sub { margin: 1.25rem 0 0; max-width: 38rem; font-size: clamp(1rem, 1.5vw, 1.1875rem); color: var(--muted); }
.hero__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin-top: 2rem; }
.hero__selos { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 2rem 0 0; padding: 0; list-style: none; font-size: .875rem; font-weight: 500; color: var(--ink); }
.hero__selos i { color: var(--brand); margin-right: .25rem; }
@media (max-width: 55rem) { .hero__inner { grid-template-columns: 1fr; } }

/* ============ Seções ============ */
.secao--cinza { background: var(--bg-soft); }
.secao__cab { max-width: 44rem; margin: 0 auto clamp(2rem, 5vw, 3.5rem); text-align: center; }
.secao__cab h1 { font-size: clamp(1.625rem, 3.2vw, 2.25rem); font-weight: 800; letter-spacing: -.02em; }
.secao__cab p { margin: .875rem 0 0; font-size: 1.0625rem; color: var(--muted); }
.secao__cta { display: flex; justify-content: center; margin-top: clamp(2rem, 4vw, 3rem); }
.grade { display: grid; gap: clamp(1rem, 2vw, 1.5rem); }
.grade--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grade--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 64rem) { .grade--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 55rem) { .grade--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 38rem) { .grade--3, .grade--4 { grid-template-columns: 1fr; } }

.cartao { display: flex; flex-direction: column; gap: .625rem; padding: clamp(1.25rem, 2.5vw, 1.75rem); border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.cartao h3 { font-size: 1.125rem; font-weight: 700; }
.cartao p { margin: 0; font-size: .9375rem; color: var(--muted); }
.cartao__icone { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; margin-bottom: .375rem; border-radius: .75rem; background: var(--grad); color: #fff; font-size: 1.375rem; }
.cartao--link:hover, .post-card:hover { transform: translateY(-.25rem); border-color: transparent; box-shadow: 0 1.25rem 2.5rem -1.25rem rgba(18, 20, 26, .35); }
.cartao__acao { display: inline-flex; align-items: center; gap: .4rem; margin-top: auto; padding-top: .5rem; color: var(--brand); font-size: .875rem; font-weight: 700; }
.cartao__acao i { transition: transform .25s ease; }
a:hover > .cartao__acao i { transform: translateX(.3rem); }

/* Passos */
.passos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.passo { position: relative; padding-top: 1rem; }
.passo__num { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: var(--grad); color: #fff; font-size: 1.25rem; font-weight: 800; }
.passo:not(:last-child)::after { content: ""; position: absolute; top: 2.5rem; left: 3.75rem; right: -.75rem; height: .125rem; background: repeating-linear-gradient(90deg, var(--line) 0 .5rem, transparent .5rem 1rem); }
.passo h3 { margin: 1.125rem 0 .5rem; font-size: 1.125rem; }
.passo p { margin: 0; font-size: .9375rem; color: var(--muted); }
@media (max-width: 55rem) { .passos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.5rem; } .passo::after { display: none; } }
@media (max-width: 38rem) { .passos { grid-template-columns: 1fr; } }

/* Depoimentos */
.depoimento { display: flex; flex-direction: column; margin: 0; padding: clamp(1.25rem, 2.5vw, 1.75rem); border-radius: var(--radius); background: #fff; border: 1px solid var(--line); }
.depoimento__estrelas { display: flex; gap: .125rem; color: #f5a623; font-size: 1.0625rem; }
.depoimento blockquote { margin: .875rem 0 1.25rem; font-size: .9375rem; color: var(--ink); }
.depoimento figcaption { display: flex; align-items: center; gap: .75rem; margin-top: auto; }
.depoimento figcaption strong { display: block; font-size: .9375rem; color: var(--ink-2); }
.depoimento figcaption small { color: var(--muted); font-size: .8125rem; }
.depoimento__avatar { flex: none; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--ink); color: #fff; font-weight: 700; }

/* Cards do blog */
.post-card { --pad: clamp(1.25rem, 2.5vw, 1.75rem); display: flex; flex-direction: column; gap: .5rem; padding: var(--pad); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.post-card__img { width: calc(100% + var(--pad) * 2); max-width: none; margin: calc(var(--pad) * -1) calc(var(--pad) * -1) .5rem; aspect-ratio: 16/10; object-fit: cover; }
.post-card__data { font-size: .8125rem; color: var(--muted); }
.post-card h3 { font-size: 1.1875rem; font-weight: 700; line-height: 1.3; }
.post-card p { margin: 0; font-size: .9375rem; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* CTA final */
.cta-final { background: var(--ink-2); color: #fff; }
.cta-final__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: clamp(2.5rem, 5vw, 4rem); }
.cta-final h2 { color: #fff; font-size: clamp(1.5rem, 3vw, 2rem); }
.cta-final p { margin: .625rem 0 0; max-width: 36rem; color: #c9ccd1; }
@media (max-width: 48rem) { .cta-final__inner { flex-direction: column; align-items: stretch; text-align: center; } .cta-final p { margin-inline: auto; } }

/* WhatsApp flutuante */
.whats-flutuante { position: fixed; right: clamp(1rem, 3vw, 1.75rem); bottom: clamp(1rem, 3vw, 1.75rem); z-index: 60; display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 50%; background: var(--grad); color: #fff; font-size: 1.75rem; box-shadow: 0 .75rem 1.75rem -.5rem rgba(124, 58, 237, .7); transition: transform .2s ease; }
.whats-flutuante:hover { transform: scale(1.08); }
body.cookie-painel-aberto .whats-flutuante { display: none; }

/* ============ Contato ============ */
.contato__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.contato h1 { font-size: clamp(1.75rem, 3.6vw, 2.5rem); font-weight: 800; letter-spacing: -.02em; }
.contato__sub { margin: 1rem 0 1.75rem; font-size: 1.0625rem; color: var(--muted); }
.contato__canais { display: grid; gap: 1.125rem; margin: 2.25rem 0 0; padding: 0; list-style: none; }
.contato__canais li { display: flex; align-items: center; gap: 1rem; }
.contato__ico { flex: none; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: .75rem; background: var(--bg-soft); color: var(--brand); font-size: 1.25rem; }
.contato__canais small { display: block; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.contato__canais a:hover { color: var(--brand); }
.contato__painel { padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--line); border-radius: 1.5rem; background: #fff; box-shadow: 0 1.5rem 3.5rem -1.75rem rgba(18, 20, 26, .25); }
.contato__painel h2 { margin-bottom: 1.25rem; font-size: 1.375rem; }
.contato__form { display: flex; flex-direction: column; gap: 1.125rem; }
.contato__campo { display: flex; flex-direction: column; gap: .5rem; }
.contato__campo label { font-size: .875rem; font-weight: 600; color: var(--ink); }
.contato__campo input, .contato__campo textarea { width: 100%; padding: .8rem 1rem; border: 1px solid var(--line); border-radius: .625rem; background: var(--bg-soft); color: var(--ink); font: inherit; font-size: .9375rem; transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease; }
.contato__campo input:focus, .contato__campo textarea:focus { outline: none; border-color: var(--brand); background: #fff; box-shadow: 0 0 0 .1875rem rgba(124, 58, 237, .15); }
.contato__campo textarea { resize: vertical; min-height: 6.5rem; }
.contato__assuntos { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; border: 0; }
.contato__legenda { width: 100%; margin-bottom: .25rem; padding: 0; font-size: .875rem; font-weight: 600; }
.contato__assuntos .contato__check { position: relative; padding: .45rem .875rem; border: 1px solid var(--line); border-radius: 999px; background: var(--bg-soft); font-size: .8125rem; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.contato__assuntos .contato__check:has(input:checked) { background: var(--ink); border-color: var(--ink); color: #fff; }
.contato__assuntos .contato__check input { position: absolute; opacity: 0; width: 0; height: 0; }
.contato__assuntos .contato__check:has(input:focus-visible) { outline: .125rem solid var(--brand-2); outline-offset: 2px; }
.contato__check { display: flex; align-items: center; gap: .5rem; font-size: .875rem; cursor: pointer; }
.contato__aceite { align-items: flex-start; color: var(--muted); }
.contato__aceite a { color: var(--brand); text-decoration: underline; }
.contato__aceite input { margin-top: .2rem; accent-color: var(--brand); }
.contato__alerta:empty { display: none; }
.contato__alerta { padding: .875rem 1rem; border-radius: .625rem; font-size: .875rem; }
.contato__alerta.is-enviando { background: var(--bg-soft); color: var(--muted); }
.contato__alerta.is-sucesso { background: #e8f6ee; color: #17703a; }
.contato__alerta.is-erro { background: #fdecea; color: #b3261e; }
@media (max-width: 55rem) { .contato__grid { grid-template-columns: 1fr; } }

/* ============ Rodapé ============ */
.site-footer { padding: 0; background: var(--ink-2); color: #c9ccd1; }
.site-footer__top { display: grid; grid-template-columns: 1.3fr .7fr 1.1fr 1fr; gap: clamp(2rem, 5vw, 4rem); padding-block: clamp(2.5rem, 5vw, 4rem); }
.site-footer__marca .marca { font-size: 1.5rem; }
.site-footer__marca p { margin: 1.25rem 0 1.5rem; max-width: 24rem; font-size: .9375rem; }
.site-footer__title { margin: 0 0 1rem; color: #fff; font-size: .8125rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.site-footer__list { margin: 0; padding: 0; list-style: none; display: grid; gap: .625rem; font-size: .9375rem; }
.site-footer__list a, .site-footer__list span { display: inline-flex; align-items: center; gap: .5rem; }
.site-footer__list a:hover { color: #fff; }
.site-footer__list i { color: #B693FF; }
.site-footer__social { display: flex; gap: .625rem; margin-top: 1.5rem; }
.site-footer__social a { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: #262A35; color: #fff; transition: background-color .2s ease; }
.site-footer__social a:hover { background: var(--brand); }
.site-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; padding-block: 1.5rem; border-top: 1px solid #262A35; font-size: .8125rem; color: #8b9096; }
.site-footer__links { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.site-footer__links a, .site-footer__cookies { padding: 0; border: 0; background: none; color: #c9ccd1; font: inherit; cursor: pointer; }
.site-footer__links a:hover, .site-footer__cookies:hover { color: #fff; }
.site-footer__copyright { margin: 0; }
.site-footer__assinatura { display: flex; align-items: center; gap: .5rem; font-size: .75rem; opacity: .8; }
.site-footer__assinatura:hover { opacity: 1; }
.site-footer__assinatura img { width: 1rem; height: auto; }
@media (max-width: 62rem) { .site-footer__top { grid-template-columns: 1fr 1fr; } .site-footer__marca { grid-column: 1 / -1; } }
@media (max-width: 38rem) { .site-footer__top { grid-template-columns: 1fr; } .site-footer__bottom { flex-direction: column; align-items: flex-start; } }

/* ============ Blog (artigo) ============ */
.post-single__head { max-width: 56rem; margin: 0 auto clamp(1.5rem, 4vw, 2.5rem); text-align: center; }
.post-single__head h1 { margin: 0 0 .75rem; font-size: clamp(1.75rem, 4vw, 2.75rem); line-height: 1.15; }
.post-single__meta { color: var(--muted); font-size: .875rem; }
.post-single__lead { margin: 0 0 clamp(1.5rem, 4vw, 2.5rem); color: var(--ink); font-size: 1.125rem; line-height: 1.7; text-align: left; }
.post-single__cover { margin-bottom: clamp(1.5rem, 4vw, 2.5rem); overflow: hidden; }
.post-single__cover img { width: 100%; height: auto; }
.post-single__video { margin-bottom: clamp(1.5rem, 4vw, 2.5rem); overflow: hidden; background: #000; }
.post-single__video iframe { border: 0; }
.post-block { display: grid; grid-template-columns: repeat(1, 1fr); gap: clamp(1.25rem, 3vw, 2rem); margin-bottom: clamp(1.5rem, 4vw, 2.5rem); }
.post-block--2col { grid-template-columns: repeat(2, 1fr); }
.post-block--3col { grid-template-columns: repeat(3, 1fr); }
.post-block__col { display: flex; flex-direction: column; justify-content: center; gap: 1rem; }
.post-block__img { width: 100%; height: auto; }
.post-block__text { color: var(--ink); line-height: 1.7; }
.post-block__text p { margin: 0 0 1em; }
.post-block__text p:last-child { margin-bottom: 0; }
.post-block__text :is(h1, h2, h3, h4, h5, h6) { text-align: left; } /* títulos do corpo do post (CKEditor) ficam alinhados ao texto, não centralizados como os h2 de seção */
@media (max-width: 40rem) {
    .post-block--2col, .post-block--3col { grid-template-columns: 1fr; }
}
/* Leitura do artigo: coluna estreita, sumário com âncoras e tipografia do corpo (o HTML vem do CKEditor, sem classes) */
main.artigo { padding-top: 0; }
.artigo__wrap { max-width: 48rem; }
.artigo .breadcrumb { margin-bottom: clamp(1.25rem, 3vw, 2rem); }
.artigo .post-single__head { text-align: left; margin-bottom: 1.25rem; }
.artigo .post-single__meta { display: flex; flex-wrap: wrap; gap: .375rem 1.25rem; }
.artigo .post-single__meta i { color: var(--brand); margin-right: .2rem; }
.artigo .post-single__lead { font-size: clamp(1.0625rem, 1.6vw, 1.1875rem); color: var(--ink-2); }
.artigo .post-single__cover img { border-radius: var(--radius); aspect-ratio: 16 / 9; object-fit: cover; }
.artigo__sumario { border-radius: var(--radius); }
.artigo__sumario a:hover { color: var(--brand); }
.artigo .post-block__text { font-size: 1.0625rem; line-height: 1.75; }
.artigo .post-block__text h2 { margin: 2.5rem 0 .75rem; font-size: clamp(1.375rem, 2.6vw, 1.75rem); scroll-margin-top: calc(var(--header-h) + 1rem); }
.artigo .post-block__text h3 { margin: 1.75rem 0 .5rem; font-size: 1.1875rem; }
.artigo .post-block__text :is(ul, ol) { margin: 0 0 1.25em; padding-left: 1.375rem; }
.artigo .post-block__text li + li { margin-top: .5rem; }
.artigo .post-block__text li::marker { color: var(--brand); }
.artigo .post-block__text a { color: var(--brand); text-decoration: underline; text-underline-offset: .15em; }
.artigo .post-block__text blockquote { margin: 1.75rem 0; padding: 1.125rem 1.375rem; border-left: .25rem solid var(--brand); border-radius: 0 var(--radius) var(--radius) 0; background: var(--bg-soft); color: var(--ink-2); }
.artigo .post-block__text blockquote p { margin: 0; }
.artigo .post-block__text blockquote p + p { margin-top: .75em; }
.artigo .post-block__text table { width: 100%; margin: 1.5rem 0; border-collapse: collapse; font-size: .9375rem; line-height: 1.5; }
.artigo .post-block__text :is(th, td) { padding: .75rem; border-bottom: .0625rem solid var(--line); text-align: left; vertical-align: top; }
.artigo .post-block__text th { background: var(--bg-soft); font-weight: 700; color: var(--ink-2); }
.artigo__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem 2rem; margin-top: clamp(2.5rem, 5vw, 3.5rem); padding: clamp(1.5rem, 3vw, 2rem); border-radius: 1.25rem; background: var(--ink-2); color: #fff; }
.artigo__cta strong { display: block; font-size: 1.1875rem; }
.artigo__cta p { margin: .375rem 0 0; color: rgba(255, 255, 255, .75); font-size: .9375rem; }
.artigo__cta-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.artigo__cta .btn-link { color: #fff; }
@media (max-width: 40rem) { .artigo__sumario ol { columns: 1; } .artigo .post-block__text table { display: block; overflow-x: auto; } }
.posts-rows { display: flex; flex-direction: column; margin-top: clamp(2rem, 5vw, 3.5rem); border-top: .0625rem solid #E4DEEC; }
.post-row { display: grid; grid-template-columns: minmax(8rem, 18rem) 1fr; gap: clamp(1rem, 3vw, 2rem); align-items: center; padding-block: clamp(1rem, 2.5vw, 1.5rem); border-bottom: .0625rem solid #E4DEEC; color: inherit; }
.post-row__img { aspect-ratio: 16/10; overflow: hidden; background: #F1EEE9; }
/* ============ Aviso de cookies (criado pelo JS) ============ */
.cookie-aviso { position: fixed; left: 50%; bottom: 1rem; z-index: 90; display: flex; align-items: center; gap: 1.25rem; width: min(calc(100% - 2rem), 52rem); padding: 1rem 1.25rem; background: #fff; color: var(--ink); box-shadow: 0 .75rem 2.5rem rgba(20,23,26,.2); opacity: 0; transform: translate(-50%, 1.5rem); pointer-events: none; transition: opacity .4s ease, transform .4s ease; }
.cookie-aviso.is-visivel { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.cookie-aviso__texto { flex: 1; margin: 0; font-size: .875rem; line-height: 1.5; }
.cookie-aviso__texto i { margin-right: .25rem; color: var(--brand); font-size: 1.125rem; vertical-align: -.1875rem; }
.cookie-aviso__texto a { color: var(--brand); text-decoration: underline; }
.cookie-aviso__botoes { display: flex; align-items: center; gap: .625rem; flex: none; }
.cookie-aviso__botao { flex: none; padding: .75rem 1.375rem; }
.cookie-aviso__link { padding: .5rem .25rem; border: 0; background: none; color: var(--ink); font: inherit; font-size: .875rem; font-weight: 600; text-decoration: underline; cursor: pointer; }

/* Painel de configuração de cookies (criado pelo JS) */
.cookie-painel { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(20,23,26,.55); opacity: 0; pointer-events: none; transition: opacity .3s ease; }
.cookie-painel.is-visivel { opacity: 1; pointer-events: auto; }
body.cookie-painel-aberto { overflow: hidden; }
.cookie-painel__caixa { position: relative; width: min(100%, 34rem); max-height: calc(100vh - 2rem); overflow-y: auto; padding: clamp(1.25rem, 4vw, 2rem); background: #fff; color: var(--ink); box-shadow: 0 1.5rem 3rem rgba(20,23,26,.3); }
.cookie-painel__fechar { position: absolute; top: .75rem; right: .75rem; display: flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--ink); font-size: 1.25rem; cursor: pointer; }
.cookie-painel__fechar:hover { background: #F1EEE9; }
.cookie-painel__titulo { margin: 0 0 .5rem; font-size: 1.25rem; text-align: left; }
.cookie-painel__intro { margin: 0 0 1.25rem; color: var(--muted); font-size: .875rem; line-height: 1.6; }
.cookie-painel__lista { margin: 0 0 1.5rem; padding: 0; list-style: none; border-top: .0625rem solid #E4DEEC; }
.cookie-painel__item { padding: 1rem 0; border-bottom: .0625rem solid #E4DEEC; }
.cookie-painel__item p { margin: .375rem 0 0; color: var(--muted); font-size: .8125rem; line-height: 1.5; }
.cookie-painel__cabecalho { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; }
.cookie-painel__cabecalho small { margin-left: .375rem; color: var(--muted); font-size: .75rem; font-weight: 400; }
/* Interruptor (liga/desliga) feito com o próprio checkbox */
.cookie-painel__switch { position: relative; flex: none; width: 2.75rem; height: 1.5rem; margin: 0; border-radius: 999px; background: #c9cdd2; appearance: none; -webkit-appearance: none; cursor: pointer; transition: background .2s ease; }
.cookie-painel__switch::after { content: ""; position: absolute; top: .1875rem; left: .1875rem; width: 1.125rem; height: 1.125rem; border-radius: 50%; background: #fff; box-shadow: 0 .0625rem .1875rem rgba(0,0,0,.25); transition: transform .2s ease; }
.cookie-painel__switch:checked { background: var(--brand); }
.cookie-painel__switch:checked::after { transform: translateX(1.25rem); }
.cookie-painel__switch:disabled { opacity: .55; cursor: not-allowed; }
.cookie-painel__switch:focus-visible { outline: .125rem solid var(--brand); outline-offset: .1875rem; }
.cookie-painel__botoes { display: flex; justify-content: flex-end; gap: .625rem; }
@media (max-width: 40rem) {
    .cookie-painel__botoes { flex-direction: column-reverse; }
    .cookie-aviso__botoes { flex-wrap: wrap; }
    .cookie-aviso__link { width: 100%; text-align: center; }
}
@media (max-width: 40rem) {
    .cookie-aviso { flex-direction: column; align-items: stretch; gap: .875rem; }
    .cookie-aviso__botoes .cookie-aviso__botao { flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .cookie-aviso { transition: none; }
}

/* ============ Política de Privacidade ============ */
.politica__wrap { max-width: 50rem; }
.politica__head { margin-bottom: 1.5rem; text-align: center; }
.politica__head h1 { margin: 0 0 .5rem; font-size: clamp(1.75rem, 4vw, 2.5rem); }
.politica__head p { margin: 0; color: var(--muted); font-size: .875rem; }
.politica { color: var(--ink); line-height: 1.7; }
.politica section { padding-block: 0; scroll-margin-top: 1rem; } /* sem o padding geral de section, que afastava demais os títulos */
.politica h2 { margin: 1.75rem 0 .5rem; font-size: clamp(1.25rem, 2.5vw, 1.5rem); text-align: left; }
.politica h3 { margin: 1rem 0 .375rem; font-size: 1.0625rem; }
.politica p, .politica ul { margin: 0 0 1rem; }
.politica ul { padding-left: 1.25rem; }
.politica li + li { margin-top: .375rem; }
.politica a { color: var(--brand); text-decoration: underline; }
.politica__intro { font-size: 1.0625rem; }
.politica__sumario { margin: 1.5rem 0; padding: 1.25rem 1.5rem; background: #F8F7FB; }
.politica__sumario ol { margin: .5rem 0 0; padding-left: 1.25rem; columns: 2; column-gap: 2rem; }
.politica__sumario li { break-inside: avoid; }
.politica__destaque { padding: 1rem 1.25rem; border-left: .1875rem solid var(--brand); background: #F8F7FB; }
.politica__tabela { margin: 0 0 1rem; overflow-x: auto; }
.politica table { width: 100%; min-width: 34rem; border-collapse: collapse; font-size: .875rem; line-height: 1.5; }
.politica th, .politica td { padding: .75rem; border-bottom: .0625rem solid #E4DEEC; text-align: left; vertical-align: top; }
.politica th { background: #F8F7FB; font-weight: 600; }
.politica code { padding: .0625rem .3125rem; background: #F1EEE9; font-size: .85em; }
.politica__link-botao { padding: 0; border: 0; background: none; color: var(--brand); font: inherit; text-decoration: underline; cursor: pointer; }
@media (max-width: 40rem) {
    .politica__sumario ol { columns: 1; }
}

/* ============ Animações de entrada (aplicadas pelo js.js ao rolar) ============ */
/* Usa translate/scale (e não transform) para não interferir nos efeitos de hover */
main { overflow-x: clip; } /* evita rolagem lateral enquanto algo entra pela direita */
.revela { opacity: 0; transition: opacity .8s ease, translate .8s cubic-bezier(.22, .61, .36, 1), scale .9s cubic-bezier(.22, .61, .36, 1); transition-delay: var(--revela-atraso, 0s); }
.revela--cima { translate: 0 2rem; }
.revela--esquerda { translate: -2.5rem 0; }
.revela--direita { translate: 2.5rem 0; }
.revela--zoom { scale: .94; }
.revela.is-visivel { opacity: 1; translate: 0 0; scale: 1; }


/* ============ Ícones (Tabler 2.47.0, só os usados no site) ============ */
/* Substitui a fonte tabler-icons do CDN (761 KB com 4 mil+ ícones). Mesmas classes "ti ti-nome":
   o desenho é uma máscara SVG pintada com a cor do texto e no tamanho da fonte (1em).
   Ícone novo no site: baixe o SVG em cdn.jsdelivr.net/npm/@tabler/icons@2.47.0/icons/<nome>.svg e acrescente uma linha aqui. */
.ti { display: inline-block; flex: none; width: 1em; height: 1em; vertical-align: -.125em; background-color: currentColor; -webkit-mask: var(--ti) center / 100% 100% no-repeat; mask: var(--ti) center / 100% 100% no-repeat; }
.ti-arrow-left { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l14 0' /%3E%3Cpath d='M5 12l6 6' /%3E%3Cpath d='M5 12l6 -6' /%3E%3C/svg%3E"); }
.ti-arrow-right { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l14 0' /%3E%3Cpath d='M13 18l6 -6' /%3E%3Cpath d='M13 6l6 6' /%3E%3C/svg%3E"); }
.ti-brand-facebook { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3' /%3E%3C/svg%3E"); }
.ti-brand-instagram { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4m0 4a4 4 0 0 1 4 -4h8a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-8a4 4 0 0 1 -4 -4z' /%3E%3Cpath d='M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0' /%3E%3Cpath d='M16.5 7.5l0 .01' /%3E%3C/svg%3E"); }
.ti-brand-tiktok { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 7.917v4.034a9.948 9.948 0 0 1 -5 -1.951v4.5a6.5 6.5 0 1 1 -8 -6.326v4.326a2.5 2.5 0 1 0 4 2v-11.5h4.083a6.005 6.005 0 0 0 4.917 4.917z' /%3E%3C/svg%3E"); }
.ti-brand-whatsapp { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21l1.65 -3.8a9 9 0 1 1 3.4 2.9l-5.05 .9' /%3E%3Cpath d='M9 10a.5 .5 0 0 0 1 0v-1a.5 .5 0 0 0 -1 0v1a5 5 0 0 0 5 5h1a.5 .5 0 0 0 0 -1h-1a.5 .5 0 0 0 0 1' /%3E%3C/svg%3E"); }
.ti-brand-x { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4l11.733 16h4.267l-11.733 -16z' /%3E%3Cpath d='M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772' /%3E%3C/svg%3E"); }
.ti-brand-youtube { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8a4 4 0 0 1 4 -4h12a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-8z' /%3E%3Cpath d='M10 9l5 3l-5 3z' /%3E%3C/svg%3E"); }
.ti-calendar { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z' /%3E%3Cpath d='M16 3v4' /%3E%3Cpath d='M8 3v4' /%3E%3Cpath d='M4 11h16' /%3E%3Cpath d='M11 15h1' /%3E%3Cpath d='M12 15v3' /%3E%3C/svg%3E"); }
.ti-chevron-down { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6 -6' /%3E%3C/svg%3E"); }
.ti-chevron-left { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6l6 6' /%3E%3C/svg%3E"); }
.ti-chevron-right { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6l-6 6' /%3E%3C/svg%3E"); }
.ti-cookie { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 13v.01' /%3E%3Cpath d='M12 17v.01' /%3E%3Cpath d='M12 12v.01' /%3E%3Cpath d='M16 14v.01' /%3E%3Cpath d='M11 8v.01' /%3E%3Cpath d='M13.148 3.476l2.667 1.104a4 4 0 0 0 4.656 6.14l.053 .132a3 3 0 0 1 0 2.296c-.497 .786 -.838 1.404 -1.024 1.852c-.189 .456 -.409 1.194 -.66 2.216a3 3 0 0 1 -1.624 1.623c-1.048 .263 -1.787 .483 -2.216 .661c-.475 .197 -1.092 .538 -1.852 1.024a3 3 0 0 1 -2.296 0c-.802 -.503 -1.419 -.844 -1.852 -1.024c-.471 -.195 -1.21 -.415 -2.216 -.66a3 3 0 0 1 -1.623 -1.624c-.265 -1.052 -.485 -1.79 -.661 -2.216c-.198 -.479 -.54 -1.096 -1.024 -1.852a3 3 0 0 1 0 -2.296c.48 -.744 .82 -1.361 1.024 -1.852c.171 -.413 .391 -1.152 .66 -2.216a3 3 0 0 1 1.624 -1.623c1.032 -.256 1.77 -.476 2.216 -.661c.458 -.19 1.075 -.531 1.852 -1.024a3 3 0 0 1 2.296 0z' /%3E%3C/svg%3E"); }
.ti-mail { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z' /%3E%3Cpath d='M3 7l9 6l9 -6' /%3E%3C/svg%3E"); }
.ti-phone { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5l1.5 -2.5l5 2v4a2 2 0 0 1 -2 2a16 16 0 0 1 -15 -15a2 2 0 0 1 2 -2' /%3E%3C/svg%3E"); }
.ti-player-play-filled { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z' stroke-width='0' fill='%23000' /%3E%3C/svg%3E"); }
.ti-send { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14l11 -11' /%3E%3Cpath d='M21 3l-6.5 18a.55 .55 0 0 1 -1 0l-3.5 -7l-7 -3.5a.55 .55 0 0 1 0 -1l18 -6.5' /%3E%3C/svg%3E"); }
.ti-user { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0' /%3E%3Cpath d='M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2' /%3E%3C/svg%3E"); }
.ti-x { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6l-12 12' /%3E%3Cpath d='M6 6l12 12' /%3E%3C/svg%3E"); }
.ti-check { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5l10 -10' /%3E%3C/svg%3E"); }
.ti-certificate { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 15m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0' /%3E%3Cpath d='M13 17.5v4.5l2 -1.5l2 1.5v-4.5' /%3E%3Cpath d='M10 19h-5a2 2 0 0 1 -2 -2v-10c0 -1.1 .9 -2 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -1 1.73' /%3E%3Cpath d='M6 9l12 0' /%3E%3Cpath d='M6 12l3 0' /%3E%3Cpath d='M6 15l2 0' /%3E%3C/svg%3E"); }
.ti-map-pin { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11a3 3 0 1 0 6 0a3 3 0 0 0 -6 0' /%3E%3Cpath d='M17.657 16.657l-4.243 4.243a2 2 0 0 1 -2.827 0l-4.244 -4.243a8 8 0 1 1 11.314 0z' /%3E%3C/svg%3E"); }
.ti-file-certificate { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3v4a1 1 0 0 0 1 1h4' /%3E%3Cpath d='M5 8v-3a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2h-5' /%3E%3Cpath d='M6 14m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0' /%3E%3Cpath d='M4.5 17l-1.5 5l3 -1.5l3 1.5l-1.5 -5' /%3E%3C/svg%3E"); }
.ti-scale { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 20l10 0' /%3E%3Cpath d='M6 6l6 -1l6 1' /%3E%3Cpath d='M12 3l0 17' /%3E%3Cpath d='M9 12l-3 -6l-3 6a3 3 0 0 0 6 0' /%3E%3Cpath d='M21 12l-3 -6l-3 6a3 3 0 0 0 6 0' /%3E%3C/svg%3E"); }
.ti-gavel { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 10l7.383 7.418c.823 .82 .823 2.148 0 2.967a2.11 2.11 0 0 1 -2.976 0l-7.407 -7.385' /%3E%3Cpath d='M6 9l4 4' /%3E%3Cpath d='M13 10l-4 -4' /%3E%3Cpath d='M3 21h7' /%3E%3Cpath d='M6.793 15.793l-3.586 -3.586a1 1 0 0 1 0 -1.414l2.293 -2.293l.5 .5l3 -3l-.5 -.5l2.293 -2.293a1 1 0 0 1 1.414 0l3.586 3.586a1 1 0 0 1 0 1.414l-2.293 2.293l-.5 -.5l-3 3l.5 .5l-2.293 2.293a1 1 0 0 1 -1.414 0z' /%3E%3C/svg%3E"); }
.ti-coin { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0' /%3E%3Cpath d='M14.8 9a2 2 0 0 0 -1.8 -1h-2a2 2 0 1 0 0 4h2a2 2 0 1 1 0 4h-2a2 2 0 0 1 -1.8 -1' /%3E%3Cpath d='M12 7v10' /%3E%3C/svg%3E"); }
.ti-plant-2 { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9a10 10 0 1 0 20 0' /%3E%3Cpath d='M12 19a10 10 0 0 1 10 -10' /%3E%3Cpath d='M2 9a10 10 0 0 1 10 10' /%3E%3Cpath d='M12 4a9.7 9.7 0 0 1 2.99 7.5' /%3E%3Cpath d='M9.01 11.5a9.7 9.7 0 0 1 2.99 -7.5' /%3E%3C/svg%3E"); }
.ti-clock { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0' /%3E%3Cpath d='M12 7v5l3 3' /%3E%3C/svg%3E"); }
.ti-shield-check { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.46 20.846a12 12 0 0 1 -7.96 -14.846a12 12 0 0 0 8.5 -3a12 12 0 0 0 8.5 3a12 12 0 0 1 -.09 7.06' /%3E%3Cpath d='M15 19l2 2l4 -4' /%3E%3C/svg%3E"); }
.ti-users { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 7m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0' /%3E%3Cpath d='M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2' /%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75' /%3E%3Cpath d='M21 21v-2a4 4 0 0 0 -3 -3.85' /%3E%3C/svg%3E"); }
.ti-tractor { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 15m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0' /%3E%3Cpath d='M7 15l0 .01' /%3E%3Cpath d='M19 17m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0' /%3E%3Cpath d='M10.5 17l6.5 0' /%3E%3Cpath d='M20 15.2v-4.2a1 1 0 0 0 -1 -1h-6l-2 -5h-6v6.5' /%3E%3Cpath d='M18 5h-1a1 1 0 0 0 -1 1v4' /%3E%3C/svg%3E"); }
.ti-star-filled { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z' stroke-width='0' fill='currentColor' /%3E%3C/svg%3E"); }
.ti-building-bank { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21l18 0' /%3E%3Cpath d='M3 10l18 0' /%3E%3Cpath d='M5 6l7 -3l7 3' /%3E%3Cpath d='M4 10l0 11' /%3E%3Cpath d='M20 10l0 11' /%3E%3Cpath d='M8 14l0 3' /%3E%3Cpath d='M12 14l0 3' /%3E%3Cpath d='M16 14l0 3' /%3E%3C/svg%3E"); }
.ti-map-2 { --ti: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='2' stroke='%23000' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 18.5l-3 -1.5l-6 3v-13l6 -3l6 3l6 -3v7.5' /%3E%3Cpath d='M9 4v13' /%3E%3Cpath d='M15 7v5.5' /%3E%3Cpath d='M21.121 20.121a3 3 0 1 0 -4.242 0c.418 .419 1.125 1.045 2.121 1.879c1.051 -.89 1.759 -1.516 2.121 -1.879z' /%3E%3Cpath d='M19 18v.01' /%3E%3C/svg%3E"); }
/* ============ Quem somos ============ */
.sobre-hero { background: radial-gradient(50rem 28rem at 90% 0%, rgba(124, 58, 237, .09), transparent 60%), #fff; }
.sobre-hero__inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.sobre-hero h1 { margin-bottom: 1.25rem; font-size: clamp(2rem, 4.2vw, 3.25rem); font-weight: 800; letter-spacing: -.03em; }
.sobre-hero p { margin: 0 0 1rem; color: var(--muted); font-size: 1.0625rem; }
.sobre-hero .btn-whats { margin-top: 1rem; }
.sobre-hero__img { width: 100%; height: auto; border-radius: 1.5rem; box-shadow: 0 1.5rem 3.5rem -1.5rem rgba(18, 20, 26, .35); }
.fundador { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: center; max-width: 62rem; margin: 0 auto; }
.fundador__foto { width: 100%; height: auto; border-radius: 1.5rem; }
.fundador__texto h3 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; }
.fundador__cargos { margin: .75rem 0 1.25rem; padding: 0; list-style: none; display: grid; gap: .25rem; font-size: .9375rem; font-weight: 600; color: var(--brand); }
.fundador__texto p { margin: 0 0 1rem; color: var(--muted); }
@media (max-width: 55rem) { .sobre-hero__inner, .fundador { grid-template-columns: 1fr; } .sobre-hero__img { max-width: 28rem; } .fundador__foto { max-width: 24rem; } }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* ============ Páginas de serviço e de cidade ============ */
.wrap--estreito { max-width: 52rem; }
.grade--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 38rem) { .grade--2 { grid-template-columns: 1fr; } }
.pagina-topo { padding-block: 0; background: radial-gradient(55rem 28rem at 90% -10%, rgba(124, 58, 237, .09), transparent 60%), radial-gradient(35rem 22rem at -5% 110%, rgba(124, 58, 237, .07), transparent 60%), #fff; }
.pagina-topo__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; padding-block: clamp(1.5rem, 4vw, 3.5rem) clamp(2.5rem, 6vw, 5rem); }
.pagina-topo h1 { font-size: clamp(1.875rem, 4vw, 3rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; }
.pagina-topo__sub { margin: 1.25rem 0 0; max-width: 40rem; font-size: clamp(1rem, 1.4vw, 1.125rem); color: var(--muted); }
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding-top: 1.5rem; font-size: .8125rem; color: var(--muted); }
.breadcrumb a:hover { color: var(--brand); }
.breadcrumb [aria-current] { color: var(--ink); font-weight: 600; }
.resumo-card { padding: clamp(1.5rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: 1.5rem; background: #fff; box-shadow: 0 1.5rem 3.5rem -1.5rem rgba(18, 20, 26, .25); }
.resumo-card h2 { margin-bottom: 1rem; font-size: 1.1875rem; text-align: left; }
.resumo-card .btn-whats { margin-top: 1.5rem; }
.lista-check { margin: 0; padding: 0; list-style: none; display: grid; gap: .75rem; }
.lista-check li { position: relative; padding-left: 1.875rem; font-size: .9375rem; }
.lista-check li::before { content: ""; position: absolute; left: 0; top: .15rem; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--grad); }
.lista-check li::after { content: ""; position: absolute; left: .4375rem; top: .4rem; width: .3rem; height: .55rem; border: solid #fff; border-width: 0 .125rem .125rem 0; transform: rotate(45deg); }
.lista-check--grande { gap: 1rem; }
.lista-check--grande li { padding: 1rem 1rem 1rem 3.25rem; border: 1px solid var(--line); border-radius: .875rem; background: #fff; }
.lista-check--grande li::before { left: 1rem; top: 1.1rem; }
.lista-check--grande li::after { left: 1.4375rem; top: 1.375rem; }
.texto-longo { max-width: 52rem; }
.texto-longo p { margin: 0 0 1.125rem; font-size: 1.0625rem; color: var(--ink); line-height: 1.75; }
.duas-colunas { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.alinhado-esq { text-align: left; }
.texto-apoio { margin: 1rem 0 1.5rem; color: var(--muted); font-size: 1.0625rem; }
.secao__nota { margin: 2rem 0 0; text-align: center; color: var(--muted); }
.secao__nota a { color: var(--brand); font-weight: 600; text-decoration: underline; }
.faq { display: grid; gap: .75rem; }
.faq details { border: 1px solid var(--line); border-radius: .875rem; background: #fff; }
.faq summary { position: relative; padding: 1.125rem 3rem 1.125rem 1.25rem; font-weight: 700; color: var(--ink-2); cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 1.25rem; top: 50%; transform: translateY(-50%); font-size: 1.5rem; font-weight: 400; color: var(--brand); transition: transform .2s ease; }
.faq details[open] summary::after { content: "−"; }
.faq details p { margin: 0; padding: 0 1.25rem 1.25rem; color: var(--muted); }
.chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .625rem; }
.chip { display: inline-flex; align-items: center; gap: .4rem; padding: .6rem 1.1rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: .9375rem; font-weight: 600; transition: border-color .2s ease, color .2s ease, transform .15s ease; }
.chip i { color: var(--brand); }
a.chip:hover { border-color: var(--brand); color: var(--brand); transform: translateY(-.125rem); }
.chip--texto { font-weight: 500; background: var(--bg-soft); }
@media (max-width: 55rem) { .pagina-topo__grid, .duas-colunas { grid-template-columns: 1fr; } }
.secao__cta--duplo { flex-wrap: wrap; gap: 1rem; }

/* ============ Texto com foto (páginas de serviço e cidade) ============ */
.texto-foto { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.texto-foto > .texto-longo { max-width: none; }
.texto-foto--inverso > .foto-secao { order: -1; }
.foto-secao { width: 100%; height: auto; aspect-ratio: 4 / 3.4; max-height: 26rem; object-fit: cover; border-radius: 1.5rem; box-shadow: 0 1.5rem 3.5rem -1.75rem rgba(18, 20, 26, .35); }
@media (max-width: 55rem) {
    .texto-foto { grid-template-columns: 1fr; }
    .texto-foto--inverso > .foto-secao { order: 0; }
    .foto-secao { aspect-ratio: 16 / 10; max-height: 22rem; }
}

/* Home: hero centralizado, fundo verde com gráficos e números animados (só CSS) */
.hero--jade { isolation: isolate; text-align: center; color: #fff; background: radial-gradient(60rem 32rem at 50% 0%, rgba(124, 58, 237, .28) 0%, transparent 70%), #0D0B12; }
.hero--jade .hero__inner { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: clamp(30rem, 62vh, 40rem); padding-block: clamp(3rem, 8vw, 6rem); }
.hero--jade .hero__texto { max-width: 48rem; text-shadow: 0 .125rem 1.5rem rgba(10, 11, 15, .6); }
.hero--jade .eyebrow { margin-bottom: 1.25rem; color: #B693FF; }
.hero--jade h1 { color: #fff; font-size: clamp(2.25rem, 6vw, 4.25rem); line-height: 1.05; letter-spacing: -.035em; }
.hero--jade .hero__destaque { background: linear-gradient(135deg, #B693FF 0%, #fff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero--jade .hero__sub { margin: 1.5rem auto 0; max-width: 40rem; font-size: clamp(1.0625rem, 1.8vw, 1.25rem); color: rgba(255, 255, 255, .95); }
.hero--jade .hero__acoes { justify-content: center; margin-top: 2.25rem; }
.hero--jade .btn-whats { background: #fff; color: #0D0B12; box-shadow: 0 .75rem 2rem -.5rem rgba(0, 0, 0, .45); }
.hero--jade .btn-whats:hover { box-shadow: 0 1rem 2.25rem -.5rem rgba(0, 0, 0, .55); }
.hero--jade .hero__selo { margin: 1.5rem 0 0; font-size: .875rem; font-weight: 500; color: rgba(255, 255, 255, .85); }
.hero--jade .hero__selo i { margin-right: .35rem; color: #B693FF; }

.hero__bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.hero__bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(18, 20, 26, .92) 0%, rgba(18, 20, 26, .75) 35%, rgba(18, 20, 26, 0) 70%); } /* abre um "respiro" atrás do texto */
.hero__grid { position: absolute; inset: -4rem; background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px); background-size: 4rem 4rem; animation: hero-grid 12s linear infinite; }
.hero__terras { opacity: .6; position: absolute; inset: 0; width: 100%; height: 100%; }
.terra__fill { fill: rgba(182, 147, 255, .1); opacity: 0; animation: terra-fill 8s ease-in-out forwards; }
.terra__borda { fill: none; stroke: #B693FF; stroke-width: 2; stroke-linejoin: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 1; animation: terra-borda 8s ease-in-out forwards; }
.terra__pt { fill: #fff; stroke: #B693FF; stroke-width: 2; opacity: 0; animation: terra-pt 8s ease-out forwards; }
.terra__txt { font-size: 18px; font-weight: 700; fill: #fff; opacity: 0; animation: terra-txt 8s ease-in-out forwards; }
@keyframes terra-borda { 0% { stroke-dashoffset: 1; opacity: 1; } 22% { stroke-dashoffset: 0; stroke-dasharray: 1; opacity: 1; } 22.1%, 80% { stroke-dashoffset: 0; stroke-dasharray: none; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes terra-fill { 0%, 20% { opacity: 0; } 30%, 80% { opacity: 1; } 100% { opacity: 0; } }
@keyframes terra-pt { 0% { opacity: 0; } 8%, 80% { opacity: 1; } 100% { opacity: 0; } }
@keyframes terra-txt { 0%, 28% { opacity: 0; } 38%, 80% { opacity: .9; } 100% { opacity: 0; } }
@keyframes hero-grid { to { transform: translate(4rem, 4rem); } }
.hero__num { position: absolute; left: var(--x); bottom: -2rem; font-weight: 800; font-size: var(--s, 1.25rem); letter-spacing: -.02em; white-space: nowrap; color: rgba(255, 255, 255, .12); animation: hero-sobe var(--t) linear var(--d) infinite; }
.hero__num::before { content: attr(data-r); display: block; font-size: .6em; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(182, 147, 255, .3); }
.hero__num::after { content: attr(data-v); }
@keyframes hero-sobe { 0% { transform: translateY(0); opacity: 0; } 12%, 80% { opacity: 1; } 100% { transform: translateY(-62vh); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .hero__num { animation: none; bottom: auto; top: var(--y, 20%); opacity: .8; } .terra__fill, .terra__borda, .terra__pt, .terra__txt { animation: none; opacity: 1; stroke-dashoffset: 0; } .hero__grid { animation: none; } }
@media (max-width: 55rem) { .hero__num:nth-child(n+6) { display: none; } }

/* Páginas internas do serviço: mesmo topo verde da home, texto centralizado e resumo em cartão translúcido */
.pagina-topo.hero--jade .breadcrumb { justify-content: center; color: rgba(255, 255, 255, .7); }
.pagina-topo.hero--jade .breadcrumb a:hover { color: #B693FF; }
.pagina-topo.hero--jade .breadcrumb [aria-current] { color: #fff; }
.pagina-topo.hero--jade .pagina-topo__grid { display: flex; flex-direction: column; align-items: center; gap: clamp(2rem, 4vw, 3rem); padding-block: clamp(2rem, 5vw, 4rem) clamp(3rem, 7vw, 5.5rem); }
.pagina-topo.hero--jade h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
.pagina-topo.hero--jade .pagina-topo__sub { margin: 1.25rem auto 0; max-width: 40rem; color: rgba(255, 255, 255, .95); }
.pagina-topo.hero--jade .hero__selos { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.5rem; margin: 1.5rem 0 0; padding: 0; list-style: none; font-size: .875rem; font-weight: 500; color: rgba(255, 255, 255, .85); }
.pagina-topo.hero--jade .hero__selos i { color: #B693FF; }
.pagina-topo.hero--jade .resumo-card { width: 100%; max-width: 38rem; text-align: left; color: #fff; text-shadow: none; background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .18); box-shadow: 0 1.5rem 3.5rem -1.5rem rgba(0, 0, 0, .5); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.pagina-topo.hero--jade .resumo-card h2 { color: #fff; }
.pagina-topo.hero--jade .resumo-card .lista-check li::before { background: #B693FF; }
.pagina-topo.hero--jade .resumo-card .lista-check li::after { border-color: #0D0B12; }
.pagina-topo.hero--jade .resumo-card .btn-whats { background: #fff; color: #0D0B12; }

/* Títulos das seções de texto das páginas de serviço: mais respiro entre linhas e antes do parágrafo */
.texto-longo h2 { margin-bottom: 1.5rem; line-height: 1.3; }
.texto-longo h3 { margin: 2rem 0 .75rem; line-height: 1.35; }
.texto-longo .eyebrow { margin-bottom: 1rem; }

/* Páginas de serviço: a foto ocupa 100% da altura da seção, colada na borda da tela (direita ou esquerda), com object-fit: cover */
@media (min-width: 55.01rem) {
    .secao:has(> .texto-foto) { position: relative; overflow: hidden; }
    .texto-foto { display: block; }
    .texto-foto > .foto-secao { position: absolute; top: 0; bottom: 0; right: 0; width: 38vw; height: 100%; max-height: none; aspect-ratio: auto; border-radius: 0; box-shadow: none; object-fit: cover; }
    .texto-foto--inverso > .foto-secao { right: auto; left: 0; }
    /* o texto nunca invade a foto: 62vw menos a margem do .wrap */
    .texto-foto > .texto-longo { max-width: min(52rem, calc(62vw - max(0px, (100vw - 75rem) / 2) - clamp(1.25rem, 5vw, 2rem) - 2rem)); }
    .texto-foto--inverso > .texto-longo { margin-left: auto; }
}

/* Mais respiro entre a foto lateral e o texto (--L = distância da borda da tela até o texto) */
@media (min-width: 55.01rem) {
    .texto-foto { --L: calc(max(0px, (100vw - 75rem) / 2) + clamp(1.25rem, 5vw, 2rem)); --respiro: clamp(2.5rem, 6vw, 5rem); }
    .texto-foto > .texto-longo { max-width: min(52rem, calc(62vw - var(--L) - var(--respiro))); }
    .texto-foto--inverso > .texto-longo { margin-left: max(0px, calc(38vw + var(--respiro) - var(--L))); max-width: min(52rem, calc(62vw - var(--respiro) - var(--L))); }
}

/* Fundador: foto pequena, circular, alinhada ao topo */
.fundador { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
.fundador__foto { width: clamp(8rem, 14vw, 11rem); aspect-ratio: 1; height: auto; border-radius: 50%; object-fit: cover; object-position: center 25%; }
@media (max-width: 55rem) { .fundador { grid-template-columns: 1fr; } .fundador__foto { width: 8rem; max-width: none; } }

/* Fundador: cartão de perfil em verde (esquerda) + texto com abertura em destaque (direita) */
.fundador { grid-template-columns: minmax(0, 19rem) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; max-width: 66rem; }
.fundador__card { position: sticky; top: calc(var(--header-h) + 1.5rem); display: flex; flex-direction: column; align-items: center; padding: 2.25rem 1.75rem; border-radius: 1.5rem; text-align: center; color: #fff; background: radial-gradient(18rem 12rem at 50% 0%, rgba(124, 58, 237, .45), transparent 70%), linear-gradient(180deg, #171320, #0D0B12); box-shadow: 0 1.5rem 3.5rem -1.75rem rgba(18, 20, 26, .6); }
.fundador__foto { width: 9.5rem; border: .25rem solid rgba(182, 147, 255, .6); box-shadow: 0 .75rem 1.75rem -.5rem rgba(0, 0, 0, .5); }
.fundador__card h3 { margin-top: 1.25rem; font-size: 1.625rem; color: #fff; }
.fundador__papel { margin: .35rem 0 0; font-size: .8125rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #B693FF; }
.fundador__card .fundador__cargos { align-self: stretch; margin: 1.5rem 0 0; gap: .75rem; text-align: left; color: #fff; }
.fundador__cargos li { display: flex; align-items: center; gap: .875rem; padding: .875rem 1rem; border: 1px solid rgba(255, 255, 255, .14); border-radius: .875rem; background: rgba(255, 255, 255, .07); font-size: .9375rem; line-height: 1.3; }
.fundador__cargos i { flex: none; font-size: 1.5rem; color: #B693FF; }
.fundador__cargos small { display: block; margin-top: .15rem; font-size: .8125rem; font-weight: 500; color: rgba(255, 255, 255, .7); }
.fundador__texto { padding-top: .5rem; }
.fundador__texto p { font-size: 1.0625rem; line-height: 1.75; color: var(--ink); }
.fundador__texto .fundador__lead { margin-bottom: 1.5rem; padding-left: 1.5rem; border-left: .25rem solid var(--brand); font-size: clamp(1.1875rem, 2vw, 1.4375rem); font-weight: 600; line-height: 1.5; letter-spacing: -.01em; color: var(--ink-2); }
@media (max-width: 55rem) { .fundador { grid-template-columns: 1fr; } .fundador__card { position: static; max-width: 24rem; width: 100%; margin: 0 auto; } .fundador__foto { width: 8.5rem; } }

/* Quem somos: topo escuro em verde jade, igual ao da home */
.sobre-hero { position: relative; overflow: hidden; isolation: isolate; color: #fff; background: radial-gradient(60rem 32rem at 20% 0%, rgba(124, 58, 237, .24) 0%, transparent 70%), #0D0B12; }
.sobre-hero h1 { color: #fff; }
.sobre-hero .grad { background: linear-gradient(135deg, #B693FF 0%, #fff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sobre-hero .eyebrow { color: #B693FF; }
.sobre-hero p { color: rgba(255, 255, 255, .88); }
.sobre-hero .btn-whats { background: #fff; color: #0D0B12; box-shadow: 0 .75rem 2rem -.5rem rgba(0, 0, 0, .45); }
.sobre-hero__img { box-shadow: 0 1.5rem 3.5rem -1.5rem rgba(0, 0, 0, .6); }

/* Drone único, fixo na tela, voando pelas laterais (não bloqueia cliques) */
.drone { position: fixed; top: 0; left: 0; z-index: 5; pointer-events: none; will-change: transform; }
.drone__corpo { width: 100%; height: 100%; transition: transform 1.2s ease-in-out; animation: drone-bob 2.6s ease-in-out infinite alternate; filter: drop-shadow(0 0 1px rgba(18, 20, 26, .6)) drop-shadow(0 .3rem .4rem rgba(0, 0, 0, .18)); }
@keyframes drone-bob { from { translate: 0 -3px; } to { translate: 0 3px; } }
.drone-flash { opacity: 0; transform-box: fill-box; transform-origin: center; pointer-events: none; }
.drone-flash.is-on { animation: drone-flash .45s ease-out; }
@keyframes drone-flash { 0% { opacity: 0; transform: scale(.2); } 15% { opacity: 1; transform: scale(1); } 30% { opacity: .2; } 42% { opacity: .9; transform: scale(1.1); } 100% { opacity: 0; transform: scale(1.3); } }

/* Header: selo "Um serviço EBC Avalia" ao lado da marca */
.site-header__logo { display: inline-flex; align-items: center; gap: .875rem; }
.site-header__servico { padding-left: .875rem; border-left: 1px solid var(--line); font-size: .75rem; font-weight: 500; line-height: 1.2; color: var(--muted); white-space: nowrap; }
.site-header__servico b { display: block; font-weight: 700; color: var(--ink-2); }
@media (max-width: 40rem) { .site-header__servico { display: none; } }

/* Simulador "avaliar no palpite" (inc.calculadora.php) */
.calc { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.calc__texto .texto-apoio + .texto-apoio { margin-top: .75rem; }
.calc__card { display: flex; flex-direction: column; gap: 1.5rem; padding: clamp(1.5rem, 3.5vw, 2.5rem); border: 1px solid var(--line); border-radius: 1.5rem; background: #fff; box-shadow: 0 1.5rem 3.5rem -2rem rgba(31, 31, 31, .25); }
.calc__campo label { display: block; margin-bottom: .625rem; font-size: .9375rem; color: var(--ink); }
.calc__linha { display: flex; align-items: center; gap: 1.25rem; }
.calc__linha output { flex: none; min-width: 6.5rem; text-align: right; font-size: 1.0625rem; font-weight: 800; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.calc input[type="range"] { --calc-p: 50%; flex: 1; min-width: 0; height: 1.5rem; margin: 0; background: transparent; cursor: pointer; -webkit-appearance: none; appearance: none; }
.calc input[type="range"]::-webkit-slider-runnable-track { height: .375rem; border-radius: 999px; background: linear-gradient(90deg, var(--brand) var(--calc-p), var(--line) var(--calc-p)); }
.calc input[type="range"]::-moz-range-track { height: .375rem; border-radius: 999px; background: var(--line); }
.calc input[type="range"]::-moz-range-progress { height: .375rem; border-radius: 999px; background: var(--brand); }
.calc input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 1.25rem; height: 1.25rem; margin-top: -.4375rem; border: .1875rem solid #fff; border-radius: 50%; background: var(--brand-dark, var(--brand)); box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .25); }
.calc input[type="range"]::-moz-range-thumb { width: 1rem; height: 1rem; border: .1875rem solid #fff; border-radius: 50%; background: var(--brand-dark, var(--brand)); box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .25); }
.calc__resultado { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid color-mix(in srgb, var(--brand) 25%, transparent); border-radius: 1.25rem; text-align: center; background: color-mix(in srgb, var(--brand) 4%, #fff); }
.calc__rotulo { display: block; font-size: .8125rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.calc__valor { display: block; margin: .5rem 0 .75rem; font-size: clamp(2.25rem, 5.5vw, 3.25rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.05; color: var(--brand-dark, var(--brand)); font-variant-numeric: tabular-nums; }
.calc__resultado p { margin: 0; font-size: .9375rem; color: var(--muted); }
.calc__resultado b { color: var(--ink-2); }
.calc__alerta { color: #d64545; font-weight: 600; }
.calc__nota { margin: -.5rem 0 0; font-size: .75rem; text-align: center; color: var(--muted); }
@media (max-width: 55rem) { .calc { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 30rem) { .calc__linha output { min-width: 5.5rem; font-size: .9375rem; } }
/* Termômetro de certeza: perguntas sim/não, medidor, faixa de valor */
.calc__perguntas { margin: 0; padding: 0; border: 0; display: grid; gap: .5rem; }
.calc__perguntas legend { margin-bottom: .75rem; padding: 0; font-size: .9375rem; font-weight: 700; color: var(--ink-2); }
.calc__q { position: relative; display: flex; align-items: center; gap: 1rem; padding: .625rem .875rem; border: 1px solid var(--line); border-radius: .75rem; cursor: pointer; transition: border-color .2s ease, background-color .2s ease; }
.calc__q:hover { border-color: color-mix(in srgb, var(--brand) 40%, var(--line)); }
.calc__q input { position: absolute; opacity: 0; pointer-events: none; }
.calc__q-texto { flex: 1; font-size: .875rem; line-height: 1.4; color: var(--ink); }
.calc__sw { flex: none; display: inline-flex; padding: .1875rem; border-radius: 999px; background: var(--bg-soft); font-size: .75rem; font-weight: 700; }
.calc__sw span { padding: .25rem .625rem; border-radius: 999px; color: var(--muted); transition: background-color .2s ease, color .2s ease; }
.calc__sw span:first-child { background: #fff; color: #c0392b; box-shadow: 0 .0625rem .25rem rgba(0, 0, 0, .12); }
.calc__q input:checked ~ .calc__sw span:first-child { background: transparent; color: var(--muted); box-shadow: none; }
.calc__q input:checked ~ .calc__sw span:last-child { background: var(--brand); color: #fff; }
.calc__q:has(input:checked) { border-color: color-mix(in srgb, var(--brand) 45%, var(--line)); background: color-mix(in srgb, var(--brand) 4%, #fff); }
.calc__q input:focus-visible ~ .calc__sw { outline: .125rem solid var(--brand); outline-offset: .125rem; }
.calc__resultado { display: grid; gap: 1.5rem; }
.calc__certeza { display: grid; justify-items: center; gap: .375rem; }
.calc__pct { font-size: clamp(2rem, 4.5vw, 2.75rem); font-weight: 800; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; color: #c0392b; transition: color .3s ease; }
[data-nivel="media"] .calc__pct { color: #e07b1a; }
[data-nivel="alta"] .calc__pct { color: #c98a00; }
.calc__medidor { position: relative; width: 100%; height: .5rem; margin: .5rem 0 .25rem; border-radius: 999px; background: linear-gradient(90deg, #e05a4a 0%, #e8892b 50%, #f2b33d 100%); }
.calc__medidor span { position: absolute; top: 50%; width: 1.125rem; height: 1.125rem; border: .1875rem solid #fff; border-radius: 50%; background: var(--ink-2); box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .3); transform: translate(-50%, -50%); transition: left .35s ease; }
.calc__nivel { font-size: .8125rem; color: var(--muted); }
.calc__faixa { display: grid; justify-items: center; gap: .5rem; padding-top: 1.25rem; border-top: 1px dashed color-mix(in srgb, var(--brand) 25%, var(--line)); }
.calc__faixa-valores { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: .375rem .625rem; font-size: clamp(1.0625rem, 2.4vw, 1.3125rem); font-variant-numeric: tabular-nums; }
.calc__faixa-valores b { color: var(--ink-2); }
.calc__faixa-valores span { font-size: .875rem; color: var(--muted); }
.calc__faixa-barra { position: relative; width: 100%; height: .75rem; border-radius: 999px; background: var(--line); }
.calc__faixa-barra span { position: absolute; top: 0; bottom: 0; border-radius: 999px; background: linear-gradient(90deg, #B693FF, color-mix(in srgb, var(--brand) 55%, #fff), #B693FF); transition: left .35s ease, right .35s ease; }
.calc__faixa-barra i { position: absolute; top: -.25rem; bottom: -.25rem; left: 50%; width: .1875rem; border-radius: 2px; background: var(--ink-2); transform: translateX(-50%); }
.calc__faixa-palpite { font-size: .8125rem; color: var(--muted); }
.calc__jogo { padding-top: 1.25rem; border-top: 1px dashed color-mix(in srgb, var(--brand) 25%, var(--line)); }
.calc__jogo .calc__valor { margin: .375rem 0 .5rem; }
@media (max-width: 30rem) { .calc__q { padding: .625rem; gap: .625rem; } .calc__sw span { padding: .25rem .5rem; } }
.calc { align-items: start; }
.calc__texto { position: sticky; top: calc(var(--header-h) + 2rem); }
@media (max-width: 55rem) { .calc__texto { position: static; } }
/* Seção do simulador em verde chapado (sem grade nem animações), para destacar na página */
.secao--verde { background: var(--brand-dark, var(--brand)); }
.secao--verde .calc__texto .eyebrow { color: rgba(255, 255, 255, .75); }
.secao--verde .calc__texto h2 { color: #fff; }
.secao--verde .calc__texto .texto-apoio { color: rgba(255, 255, 255, .85); }
.secao--verde .calc__card { border-color: transparent; box-shadow: 0 1.5rem 3.5rem -1.5rem rgba(0, 0, 0, .35); }

/* ============ Endereços comerciais ============ */
.end-foto { display: block; width: 100%; height: 100%; object-fit: cover; background: #E4DEEC; }
.end-foto--vazia { display: grid; place-items: center; font-size: 1.75rem; color: var(--brand); }
.end-grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.end-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 1.25rem; background: #fff; color: inherit; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.end-card:hover { transform: translateY(-.25rem); border-color: rgba(124, 58, 237, .45); box-shadow: 0 1.25rem 2.5rem -1.5rem rgba(18, 20, 26, .45); }
.end-card__capa { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; }
.end-card__capa .end-foto { width: 100%; height: 100%; transition: transform .5s ease; }
.end-card:hover .end-foto { transform: scale(1.06); }
.end-card__texto { display: flex; flex-direction: column; gap: .3rem; padding: .875rem 1rem 1rem; }
.end-card h3 { display: flex; align-items: center; gap: .4rem; margin: 0; font-size: 1rem; font-weight: 800; letter-spacing: -.01em; }
.end-card h3 small { padding: .1rem .4rem; border-radius: .35rem; background: rgba(124, 58, 237, .12); color: var(--brand-dark); font-size: .625rem; font-weight: 800; letter-spacing: .06em; }
.end-card p { margin: 0; font-size: .75rem; line-height: 1.5; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.end-selo { position: absolute; top: .625rem; left: .625rem; padding: .25rem .65rem; border-radius: 999px; background: #B693FF; color: #0D0B12; font-size: .6875rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
/* a sede é o primeiro cartão da grade, em verde escuro */
.end-card--sede { border-color: transparent; color: #fff; background: radial-gradient(14rem 9rem at 0% 100%, rgba(124, 58, 237, .4), transparent 70%), #0D0B12; box-shadow: 0 1.25rem 2.5rem -1.5rem rgba(18, 20, 26, .6); }
.end-card--sede h3 { color: #fff; }
.end-card--sede h3 small { background: rgba(255, 255, 255, .16); color: #fff; }
.end-card--sede p { color: rgba(255, 255, 255, .85); }
@media (max-width: 62rem) { .end-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 34rem) { .end-grade { grid-template-columns: 1fr; } }

/* Rodapé: escritórios, versão pequena */
.site-footer__escritorios { padding-block: 0 1.5rem; border-top: 1px solid rgba(255, 255, 255, .08); padding-top: 1.5rem; }
.site-footer__escritorios .site-footer__title { margin-bottom: .75rem; }
.site-footer__escritorios ul { display: flex; flex-wrap: wrap; gap: .4rem .5rem; margin: 0; padding: 0; list-style: none; font-size: .8125rem; }
.site-footer__escritorios li a { display: inline-block; padding: .25rem .65rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: 999px; color: #c9ccd1; }
.site-footer__escritorios li a:hover { color: #fff; border-color: rgba(255, 255, 255, .35); }
.site-footer__escritorios li.is-sede a { color: #fff; border-color: rgba(182, 147, 255, .5); }
.site-footer__escritorios li.is-atende a { background: #B693FF; border-color: #B693FF; color: #0D0B12; font-weight: 700; }
.site-footer__atende { display: flex; gap: .5rem; align-items: flex-start; margin: 1rem 0 0; font-size: .8125rem; color: #fff; }
.site-footer__atende i { margin-top: .15rem; color: #B693FF; }
.site-footer__badge { margin-left: .35rem; padding: .1rem .45rem; border-radius: 999px; background: #B693FF; color: #0D0B12; font-size: .625rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

/* Endereço que atende o estado, no corpo das páginas de cidade (mesmo design da sede) */
.end-destaque { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); overflow: hidden; border-radius: 1.5rem; color: #fff; background: radial-gradient(30rem 16rem at 0% 0%, rgba(124, 58, 237, .4), transparent 70%), #0D0B12; box-shadow: 0 1.5rem 3.5rem -1.75rem rgba(18, 20, 26, .6); transition: transform .2s ease, box-shadow .2s ease; }
.end-destaque:hover { transform: translateY(-.25rem); box-shadow: 0 2rem 3.5rem -1.75rem rgba(18, 20, 26, .7); }
.end-destaque__capa { display: block; min-height: 14rem; overflow: hidden; }
.end-destaque__capa .end-foto { width: 100%; height: 100%; min-height: 14rem; transition: transform .5s ease; }
.end-destaque:hover .end-foto { transform: scale(1.05); }
.end-destaque__texto { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: .75rem; padding: clamp(1.5rem, 4vw, 2.75rem); }
.end-selo--solto { position: static; }
.end-destaque__titulo { font-size: clamp(1.75rem, 3.4vw, 2.5rem); font-weight: 800; line-height: 1.1; letter-spacing: -.02em; }
.end-destaque__titulo small { margin-left: .35rem; padding: .15rem .55rem; border-radius: .5rem; background: rgba(255, 255, 255, .14); font-size: .45em; font-weight: 700; vertical-align: middle; }
.end-destaque__linha { font-size: 1.0625rem; font-weight: 600; color: #B693FF; }
.end-destaque__end { max-width: 32rem; color: rgba(255, 255, 255, .88); }
@media (max-width: 45rem) { .end-destaque { grid-template-columns: 1fr; } .end-destaque__capa, .end-destaque__capa .end-foto { min-height: 11rem; max-height: 14rem; } }

/* Endereços sem link: sem efeito de clique */
.end-card:hover, .end-destaque:hover { transform: none; }
.end-card:hover { border-color: var(--line); box-shadow: none; }
.end-card--sede:hover { box-shadow: 0 1.25rem 2.5rem -1.5rem rgba(18, 20, 26, .6); }
.end-destaque:hover { box-shadow: 0 1.5rem 3.5rem -1.75rem rgba(18, 20, 26, .6); }
.end-card:hover .end-foto, .end-destaque:hover .end-foto { transform: none; }
.site-footer__escritorios li span { display: inline-block; padding: .25rem .65rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: 999px; color: #c9ccd1; }
.site-footer__escritorios li.is-sede span { color: #fff; border-color: rgba(182, 147, 255, .5); }
.site-footer__escritorios li.is-atende span { background: #B693FF; border-color: #B693FF; color: #0D0B12; font-weight: 700; }

/* Celular: endereços com a foto à esquerda, em 1x1 */
@media (max-width: 34rem) {
    .end-card { flex-direction: row; }
    .end-card__capa { flex: 0 0 6.5rem; aspect-ratio: 1 / 1; align-self: stretch; }
    .end-card__texto { justify-content: center; padding: .75rem .875rem; }
    .end-card .end-selo { top: .35rem; left: .35rem; padding: .15rem .45rem; font-size: .5625rem; }
}
@media (max-width: 45rem) {
    .end-destaque { grid-template-columns: 7.5rem minmax(0, 1fr); }
    .end-destaque__capa, .end-destaque__capa .end-foto { min-height: 7.5rem; max-height: none; height: 100%; }
    .end-destaque__texto { gap: .4rem; padding: 1rem; }
    .end-destaque__titulo { font-size: 1.375rem; }
    .end-destaque__linha { font-size: .875rem; }
    .end-destaque__end { font-size: .8125rem; line-height: 1.5; }
}

/* Rodapé: selo "Um serviço EBC Avalia" ao lado da marca */
.site-footer__logo { display: inline-flex; align-items: center; gap: .875rem; }
.site-header__servico--claro { border-left-color: rgba(255, 255, 255, .2); color: #c9ccd1; }
.site-header__servico--claro b { color: #fff; }
@media (max-width: 40rem) { .site-header__servico--claro { display: inline-block; } }
.site-footer__marca p strong { color: #fff; }

/* Contato: lista de endereços comerciais, só texto */
.contato__enderecos { margin-top: 2.25rem; padding-top: 1.75rem; border-top: 1px solid var(--line); }
.contato__enderecos h2 { margin: 0 0 1rem; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.contato__enderecos ul { display: grid; gap: .875rem; margin: 0; padding: 0; list-style: none; }
.contato__enderecos li { display: grid; gap: .125rem; padding-left: .875rem; border-left: .1875rem solid var(--line); font-size: .875rem; line-height: 1.5; }
.contato__enderecos li.is-sede { border-left-color: var(--brand); }
.contato__enderecos strong { font-size: .9375rem; color: var(--ink-2); }
.contato__enderecos li span { color: var(--muted); }

/* Rodapé: links à esquerda, logo da Flexpoint bem no meio, copyright à direita */
@media (min-width: 62.01rem) {
    .site-footer__bottom { display: grid; grid-template-columns: 1fr auto 1fr; justify-content: normal; }
    .site-footer__links { justify-self: start; }
    .site-footer__assinatura { order: 2; justify-self: center; }
    .site-footer__copyright { order: 3; justify-self: end; text-align: right; max-width: 34rem; }
}
@media (max-width: 62rem) { .site-footer__bottom { flex-direction: column; align-items: center; text-align: center; } .site-footer__links { justify-content: center; } }
.site-footer__assinatura img { width: 1.25rem; }

/* Hélices do drone: disco translúcido (borrão do giro) + pás que passam rápido, em fases diferentes e com leve oscilação */
.drone-disco { transform-box: fill-box; transform-origin: center; animation: drone-disco .18s ease-in-out infinite alternate; }
.drone-pa { opacity: .85; transform-box: fill-box; transform-origin: center; animation: drone-pa .13s cubic-bezier(.45, 0, .55, 1) infinite alternate; }
.drone-pa--2 { animation-delay: -.065s; opacity: .55; }
.drone-helice--2 .drone-pa { animation-duration: .15s; }
.drone-helice { animation: drone-vibra .21s linear infinite alternate; }
.drone-helice--2 { animation-duration: .17s; }
@keyframes drone-pa { from { transform: scaleX(1) scaleY(1); } to { transform: scaleX(.12) scaleY(1.6); } }
@keyframes drone-disco { from { opacity: 1; transform: scaleX(1); } to { opacity: .6; transform: scaleX(.94) scaleY(1.15); } }
@keyframes drone-vibra { from { transform: rotate(-.8deg); } to { transform: rotate(.8deg); } }

/* Calculadora: seletor de unidade da área (hectare e alqueires) */
.calc__unidades { display: flex; flex-wrap: wrap; gap: .375rem; margin: .5rem 0 .75rem; }
.calc__unidades button { padding: .35rem .75rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); font: inherit; font-size: .8125rem; font-weight: 600; cursor: pointer; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.calc__unidades button:hover { border-color: var(--brand); color: var(--brand-dark); }
.calc__unidades button[aria-checked="true"] { border-color: var(--brand); background: var(--brand); color: #fff; }
.calc__equiv { display: block; margin-top: .35rem; font-size: .75rem; color: var(--muted); }
.calc__equiv[hidden] { display: none; }

/* Prejuízo possível: mesma cor da temperatura da certeza (vermelho -> laranja -> âmbar). Nunca verde: nenhum cenário é livre de prejuízo */
.calc__jogo .calc__valor, .calc__jogo .calc__alerta { color: #c0392b; transition: color .3s ease; }
[data-nivel="media"] .calc__jogo .calc__valor, [data-nivel="media"] .calc__jogo .calc__alerta { color: #e07b1a; }
[data-nivel="alta"] .calc__jogo .calc__valor, [data-nivel="alta"] .calc__jogo .calc__alerta { color: #c98a00; }

/* Calculadora: campo para digitar a área, atalhos (10, 20, 50...) e texto da área com a equivalência em hectares */
.calc__num { flex: none; display: inline-flex; align-items: center; gap: .35rem; margin: 0; padding: .35rem .75rem; border: 1px solid var(--line); border-radius: .75rem; background: #fff; }
.calc__num:focus-within { border-color: var(--brand); box-shadow: 0 0 0 .1875rem rgba(124, 58, 237, .18); }
.calc__num input { width: 5.25rem; padding: 0; border: 0; background: transparent; text-align: right; font: inherit; font-size: 1.0625rem; font-weight: 800; color: var(--ink-2); font-variant-numeric: tabular-nums; outline: none; -moz-appearance: textfield; }
.calc__num input::-webkit-outer-spin-button, .calc__num input::-webkit-inner-spin-button { margin: 0; }
.calc__num span { font-size: .8125rem; font-weight: 700; color: var(--muted); }
.calc__atalhos { display: flex; flex-wrap: wrap; gap: .375rem; margin-top: .75rem; }
.calc__atalhos button { min-width: 3rem; padding: .3rem .7rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); font: inherit; font-size: .8125rem; font-weight: 700; cursor: pointer; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.calc__atalhos button:hover { border-color: var(--brand); background: rgba(124, 58, 237, .08); color: var(--brand-dark); }
.calc__area-texto { display: block; margin-top: .625rem; font-size: .9375rem; font-weight: 700; color: var(--ink-2); font-variant-numeric: tabular-nums; }

/* Celular: passos com o número ao lado do texto, ligados por uma linha pontilhada vertical */
@media (max-width: 38rem) {
    .passos { gap: 0; }
    .passo { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); column-gap: 1rem; padding: 0 0 1.75rem; }
    .passo:last-child { padding-bottom: 0; }
    .passo__num { grid-row: 1 / span 2; width: 2.75rem; height: 2.75rem; font-size: 1.125rem; }
    .passo h3 { grid-column: 2; margin: .25rem 0 .35rem; font-size: 1.0625rem; }
    .passo p { grid-column: 2; font-size: .9375rem; }
    .passo:not(:last-child)::after { display: block; content: ""; position: absolute; top: 3.25rem; bottom: .5rem; left: 1.3125rem; right: auto; width: .125rem; height: auto; background: repeating-linear-gradient(180deg, var(--line) 0 .4rem, transparent .4rem .8rem); }
}

/* ===== Mira e explosão do drone (para desativar: ATIVO = false no js.js, ou apague este bloco) ===== */
.drone--alvo { pointer-events: auto; cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none' stroke='%23ff4d4d' stroke-width='2'%3E%3Ccircle cx='16' cy='16' r='9'/%3E%3Cpath d='M16 2v8M16 22v8M2 16h8M22 16h8'/%3E%3C/svg%3E") 16 16, crosshair; }
.drone__mira { position: absolute; left: 50%; top: 50%; width: 72%; aspect-ratio: 1; translate: -50% -50%; border: .125rem solid #ff4d4d; border-radius: 50%; opacity: 0; transform: scale(1.5); transition: opacity .15s ease, transform .25s ease; pointer-events: none; box-shadow: 0 0 .75rem rgba(255, 77, 77, .55), inset 0 0 .75rem rgba(255, 77, 77, .25); }
.drone__mira::before, .drone__mira::after { content: ""; position: absolute; background: #ff4d4d; }
.drone__mira::before { left: -.75rem; right: -.75rem; top: calc(50% - .0625rem); height: .125rem; }
.drone__mira::after { top: -.75rem; bottom: -.75rem; left: calc(50% - .0625rem); width: .125rem; }
.drone--alvo:hover .drone__mira { opacity: 1; transform: scale(1); animation: mira-pulso .5s ease-in-out infinite alternate; }
@keyframes mira-pulso { from { transform: scale(1); } to { transform: scale(.93); } }

.boom { position: fixed; z-index: 6; width: 0; height: 0; pointer-events: none; }
.boom > span { position: absolute; display: block; }
.boom__flash { left: -4.5rem; top: -4.5rem; width: 9rem; height: 9rem; border-radius: 50%; background: radial-gradient(circle, #fff 0%, #ffe9a8 25%, #ff9d3c 55%, rgba(255, 80, 40, 0) 72%); animation: boom-flash .55s ease-out forwards; }
.boom__anel { left: -.75rem; top: -.75rem; width: 1.5rem; height: 1.5rem; border: .1875rem solid rgba(255, 214, 140, .9); border-radius: 50%; animation: boom-anel .7s ease-out forwards; }
.boom__p { left: 0; top: 0; width: var(--s); height: var(--s); margin: calc(var(--s) / -2); border-radius: 50%; background: var(--c); box-shadow: 0 0 .5rem var(--c); animation: boom-p .9s cubic-bezier(.1, .7, .3, 1) forwards; }
.boom__peca { left: 0; top: 0; width: var(--w); height: .1875rem; background: #fff; border-radius: .1rem; animation: boom-peca 1.3s cubic-bezier(.2, .6, .5, 1) forwards; }
.boom__fumaca { left: -1rem; top: -1rem; width: 2rem; height: 2rem; border-radius: 50%; background: rgba(60, 66, 72, .55); filter: blur(.5rem); opacity: 0; animation: boom-fumaca 1.5s ease-out var(--d) forwards; }
@keyframes boom-flash { 0% { transform: scale(.2); opacity: 1; } 40% { opacity: 1; } 100% { transform: scale(1.5); opacity: 0; } }
@keyframes boom-anel { from { transform: scale(1); opacity: 1; } to { transform: scale(9); opacity: 0; } }
@keyframes boom-p { 0% { transform: translate(0, 0) scale(1); opacity: 1; } 100% { transform: translate(var(--dx), var(--dy)) scale(0); opacity: 0; } }
@keyframes boom-peca { 0% { transform: translate(0, 0) rotate(0); opacity: 1; } 100% { transform: translate(var(--dx), calc(var(--dy) + 9rem)) rotate(var(--g)); opacity: 0; } }
@keyframes boom-fumaca { 0% { transform: translate(0, 0) scale(.4); opacity: 0; } 20% { opacity: .8; } 100% { transform: translate(var(--dx), -4rem) scale(3); opacity: 0; } }

/* Drones espalhados pela página: seguem o scroll junto com o conteúdo e aparecem quando entram na tela */
.drones-pagina { position: absolute; top: 0; left: 0; width: 100%; z-index: 4; overflow: hidden; pointer-events: none; }
.drone--pagina { position: absolute; opacity: 0; scale: .5; transition: opacity .9s ease, scale .9s ease; }
.drone--pagina.is-visivel { opacity: var(--op, .9); scale: 1; }

/* Drone (as cores do desenho vêm do JS, em verde): ajusta ao tema bordô */
.drone [stroke="#86E0C3"] { stroke: #B693FF; }
.drone [fill="#86E0C3"] { fill: #B693FF; }
.drone [fill="#0A3A2F"] { fill: #0D0B12; }
.drone [fill="#e6f7f1"] { fill: #F0E9FC; }


/* ===== Popover de lead dos CTAs de WhatsApp (js.js). Usa as variáveis do tema ===== */
/* Popover de lead dos CTAs de WhatsApp (.assets/lead.js). Usa as variáveis do tema (--brand, --ink, --line...), vale para css.css, css2.css e css3.css */
.lead-pop { position: fixed; z-index: 2147483000; /* acima de tudo: header, cookies, widget de depoimentos, drone */ width: 22rem; max-width: calc(100vw - 1.5rem); border: 1px solid var(--line, #E4DEEC); border-radius: 1.25rem; background: #fff; color: var(--ink, #231B2F); box-shadow: 0 1.5rem 3.5rem -1rem rgba(0, 0, 0, .35); animation: lead-entra .18s ease-out; }
.lead-pop[hidden] { display: none; }
.lead-pop__form { position: relative; display: grid; gap: .875rem; padding: 1.5rem 1.25rem 1.25rem; }
.lead-pop h3 { margin: 0 2rem 0 0; font-size: 1.1875rem; font-weight: 800; letter-spacing: -.01em; color: var(--ink-2, #0D0B12); }
.lead-pop__sub { margin: -.5rem 0 0; font-size: .875rem; color: var(--muted, #61566D); }
.lead-pop__fechar { position: absolute; top: .75rem; right: .75rem; display: grid; place-items: center; width: 2rem; height: 2rem; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--muted, #61566D); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.lead-pop__fechar:hover { background: var(--bg-soft, #F8F7FB); color: var(--ink, #231B2F); }
.lead-pop label { display: grid; gap: .3rem; margin: 0; font-size: .8125rem; font-weight: 600; color: var(--ink, #231B2F); }
.lead-pop input[type="text"], .lead-pop input[type="tel"], .lead-pop select { width: 100%; padding: .65rem .75rem; border: 1px solid var(--line, #E4DEEC); border-radius: .75rem; background: #fff; color: var(--ink-2, #0D0B12); font: inherit; font-size: .9375rem; font-weight: 500; transition: border-color .15s ease, box-shadow .15s ease; }
.lead-pop input:focus, .lead-pop select:focus { outline: none; border-color: var(--brand, #1a8c72); box-shadow: 0 0 0 .1875rem color-mix(in srgb, var(--brand, #1a8c72) 20%, transparent); }
.lead-pop__tel { display: grid; grid-template-columns: 7.75rem minmax(0, 1fr); gap: .5rem; }
.lead-pop__tel select { padding-inline: .5rem; font-size: .8125rem; }
.lead-pop__aceite { display: flex !important; align-items: flex-start; gap: .5rem; font-weight: 500 !important; font-size: .78125rem !important; color: var(--muted, #61566D) !important; }
.lead-pop__aceite input { flex: none; width: 1rem; height: 1rem; margin-top: .125rem; accent-color: var(--brand, #1a8c72); }
.lead-pop__aceite a { color: var(--brand, #1a8c72); text-decoration: underline; }
.lead-pop__extra { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0; }
.lead-pop__msg { min-height: 1.1em; margin: -.25rem 0 0; font-size: .8125rem; font-weight: 600; color: var(--muted, #61566D); }
.lead-pop__msg.is-erro { color: #c0392b; }
.lead-pop__msg.is-ok { color: #17703a; }
.lead-pop__enviar[disabled] { opacity: .65; cursor: progress; }
.lead-pop.is-acima { animation-name: lead-entra-cima; }
@keyframes lead-entra { from { opacity: 0; transform: translateY(-.5rem); } to { opacity: 1; transform: none; } }
@keyframes lead-entra-cima { from { opacity: 0; transform: translateY(.5rem); } to { opacity: 1; transform: none; } }
/* celular: gaveta presa na parte de baixo da tela */
.lead-pop.is-folha { left: 0 !important; right: 0; top: auto !important; bottom: 0; width: auto !important; max-width: none; border-radius: 1.25rem 1.25rem 0 0; border-bottom: 0; animation-name: lead-folha; }
@keyframes lead-folha { from { transform: translateY(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .lead-pop, .lead-pop.is-folha { animation: none; } }
/* sem espaço nem embaixo nem em cima do botão (tela baixa): o formulário abre centralizado */
.lead-pop.is-centro { box-shadow: 0 0 0 100vmax rgba(20, 23, 26, .4), 0 1.5rem 3.5rem -1rem rgba(0, 0, 0, .35); }


/* =========================================================================
   Tema EBC — ajustes de componentes para ficar igual ao ebcavaliadora/cayeimb
   (as cores já vêm trocadas acima; aqui entram fontes, menu, botões e títulos)
   ========================================================================= */


/* Fallback com métricas próximas da Manrope: evita salto de layout (CLS) na troca */


:root {
    --wa: #7C3AED;
    --wa-hover: #6930D5;
    --bg: #F8F7FB;
    --brand-light: #B693FF;
    --brand-soft: #F0E9FC;
    --radius: 18px;
    --sans: 'Manrope', 'Manrope Fallback', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --serif: 'Manrope', Georgia, 'Times New Roman', serif;
    --shadow-lg: 0 2px 4px rgba(18, 20, 26, .04), 0 24px 48px -20px rgba(18, 20, 26, .22);
}
body { font-family: var(--sans); font-size: 1.0625rem; line-height: 1.65; color: var(--ink); -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
h1, h2, h3, h4 { letter-spacing: -.025em; text-wrap: balance; }
h1, h2 { font-weight: 750; letter-spacing: -.035em; }
p { text-wrap: pretty; }
::selection { background: var(--brand); color: #fff; }
:focus-visible { outline-color: var(--brand-light); }

/* Destaques dos títulos em serifa itálica (assinatura visual da EBC) */
.hero__destaque, h1 .grad, h2 .grad, .sobre-hero .grad { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; font-size: 1.08em; }
.hero--jade .hero__destaque, .sobre-hero .grad { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--brand-light); }

/* Rótulo (eyebrow) com o tracinho em gradiente */
.eyebrow { display: inline-flex; align-items: center; gap: .5rem; font-size: .78rem; letter-spacing: .14em; }
.eyebrow::before { content: ""; width: 18px; height: 2px; border-radius: 2px; background: var(--grad); }

/* Seções: cinza vira areia, como no ebcavaliadora */
.secao--cinza { background: var(--bg); }
.secao__cab h2 { font-size: clamp(1.85rem, 1.2rem + 2.4vw, 2.85rem); }

/* Botões: WhatsApp em verde (CTA), demais no padrão pílula */
.btn-whats { background: var(--wa) border-box; box-shadow: 0 10px 24px -10px rgba(124, 58, 237, .7); }
.btn-whats:hover { background: var(--wa-hover) border-box; box-shadow: 0 12px 26px -10px rgba(124, 58, 237, .8); }
.hero--jade .btn-whats, .sobre-hero .btn-whats, .pagina-topo.hero--jade .resumo-card .btn-whats { background: var(--wa); color: #fff; box-shadow: 0 10px 24px -10px rgba(124, 58, 237, .7); }
.btn-primary { box-shadow: 0 10px 24px -10px rgba(124, 58, 237, .6); }
.btn-outline, .btn-dark-outline { border-width: 1px; border-color: var(--line); background: #fff; }
.btn-outline:hover, .btn-dark-outline:hover { border-color: var(--ink-2); background: #fff; color: var(--ink-2); }
.whats-flutuante { background: var(--wa); box-shadow: 0 12px 28px -8px rgba(0, 0, 0, .45); }

/* Menu: grafite translúcido com desfoque, como no ebcavaliadora */
.site-header { background: rgba(18, 20, 26, .9); -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px); border-bottom-color: rgba(255, 255, 255, .08); }
.site-header--scrolled { border-bottom-color: rgba(255, 255, 255, .08); box-shadow: none; }
.site-header .marca, .site-header__servico { color: #fff; }
.site-header .marca b { color: var(--brand-light); }
.site-header__servico { opacity: .75; border-left-color: rgba(255, 255, 255, .2); }
.site-header__servico b { color: #fff; }
.site-header__link { color: rgba(255, 255, 255, .75); font-weight: 600; transition: color .2s; }
.site-header__link:hover, .site-header__link[aria-current="page"] { color: #fff; }
.site-header__toggle span { background: #fff; }
.site-header__overlay { background: var(--ink-2); }
.site-header__overlay-link, .site-header__close { color: #fff; }

/* Cards */
.cartao, .post-card { border-radius: var(--radius); transition: transform .25s, box-shadow .25s, border-color .25s; }
.cartao__icone { border-radius: 14px; background: var(--brand-soft, #F0E9FC); color: var(--brand); }
.cartao:hover, .cartao--link:hover, .post-card:hover { transform: translateY(-3px); border-color: transparent; box-shadow: var(--shadow-lg); }
.cartao h3 { letter-spacing: -.015em; }

/* Passos e chamada final */
.passo__num { background: var(--ink-2); color: #fff; box-shadow: inset 0 0 0 2px rgba(182, 147, 255, .35); }
.cta-final { position: relative; overflow: hidden; isolation: isolate; }
.cta-final::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(50% 120% at 100% 100%, rgba(124, 58, 237, .3), transparent 70%); }
.cta-final h2 { letter-spacing: -.03em; }

/* Hero: mesmo brilho rosa + grade do ebcavaliadora (números que sobem continuam) */
.hero--jade .eyebrow, .sobre-hero .eyebrow { color: var(--brand-light); }
.hero--jade .hero__selo i, .pagina-topo.hero--jade .hero__selos i { color: var(--brand-light); }

/* Calculadora (.secao--verde): bloco de destaque grafite com brilho rosa, como as seções escuras da EBC */
.secao--verde { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(45rem 28rem at 0% 0%, rgba(124, 58, 237, .22), transparent 65%), radial-gradient(35rem 24rem at 100% 100%, rgba(124, 58, 237, .14), transparent 65%), var(--ink-2); }

/* =========================================================================
   Menu igual ao do ebcavaliadora: vidro sobre o conteúdo, tom automático
   (grafite sobre seções escuras, claro sobre as claras — o js.js troca),
   links em cápsula e, no celular, botão que vira X + painel grafite.
   ========================================================================= */
body { padding-top: 0; }
.site-header__overlay + * { border-top: var(--header-h) solid transparent; } /* espaço do menu dentro do fundo da 1ª seção */
.site-header, .site-header--scrolled { background: none; -webkit-backdrop-filter: none; backdrop-filter: none; border-bottom: 0; box-shadow: none; color: #fff; }
.site-header::before {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background: rgba(18, 20, 26, .55);
    -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px);
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .1);
    transition: background-color .35s, box-shadow .35s;
}
.site-header .marca, .site-header__servico, .site-header__servico b { transition: color .35s, border-color .35s; }
.site-header__nav { gap: .25rem; }
.site-header__link { padding: .5rem .8rem; border-radius: 999px; font-size: .95rem; font-weight: 600; color: rgba(255, 255, 255, .75); transition: color .2s, background-color .2s; }
.site-header__link:hover { color: #fff; background: rgba(255, 255, 255, .08); }
.site-header__link[aria-current="page"] { color: #fff; }
.site-header__link::after { left: .8rem; right: .8rem; bottom: .2rem; height: 2px; border-radius: 2px; }
.site-header__link:hover::after { transform: scaleX(0); }
.site-header__link[aria-current="page"]::after { transform: scaleX(1); }
.site-header__nav .btn-whats { margin-left: .75rem; padding: .7rem 1.15rem; font-size: .92rem; }

/* Versão clara do vidro */
.site-header--light { color: var(--ink); }
.site-header--light::before { background: rgba(247, 245, 242, .72); box-shadow: inset 0 -1px 0 rgba(18, 20, 26, .08); }
.site-header--light .marca { color: var(--ink-2); }
.site-header--light .marca b { color: var(--brand); }
.site-header--light .site-header__servico { color: var(--muted); border-left-color: var(--line); }
.site-header--light .site-header__servico b { color: var(--ink-2); }
.site-header--light .site-header__link { color: rgba(32, 36, 46, .72); }
.site-header--light .site-header__link:hover { color: var(--ink-2); background: rgba(18, 20, 26, .05); }
.site-header--light .site-header__link[aria-current="page"] { color: var(--ink-2); }

/* Celular: só a marca e o botão redondo (que vira X); o WhatsApp fica no painel */
.site-header__mobile-actions .btn-whats { display: none; }
.site-header__toggle { position: relative; z-index: 2; gap: 4px; width: 44px; height: 44px; padding: 0 12px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%; color: #fff; transition: color .35s, border-color .35s; }
.site-header--light .site-header__toggle { color: var(--ink-2); border-color: rgba(18, 20, 26, .15); }
.site-header__toggle span { height: 2px; background: currentColor; transition: transform .25s, opacity .2s; }
.site-header__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.site-header__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.site-header__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.site-header__overlay { z-index: 49; align-items: center; justify-content: center; gap: .5rem; padding: calc(var(--header-h) + 24px) 1.25rem 40px; background: var(--ink-2); transform: translateY(-8px); }
.site-header__overlay-link { padding: .6rem 1.2rem; border-radius: 999px; font-size: 1.35rem; font-weight: 600; color: rgba(255, 255, 255, .8); transition: color .2s, background-color .2s; }
.site-header__overlay-link:hover { color: #fff; background: rgba(255, 255, 255, .06); }
.site-header__overlay .btn-whats { margin-top: 1.25rem; }
.site-header__close { display: none; } /* o próprio botão do menu (X) fecha */


/* ===== Calculadora em etapas (tipo, valor, perguntas uma por vez, resultado) ===== */
.calc__etapa { display: grid; gap: 1.25rem; }
.calc__etapa[hidden], .calc__cegos[hidden] { display: none; }
.calc__prog { display: flex; gap: .375rem; margin: 0; padding: 0; list-style: none; counter-reset: etapa; }
.calc__prog li { flex: 1; padding-top: .5rem; border-top: .25rem solid var(--line); font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); transition: border-color .25s ease, color .25s ease; }
.calc__prog li.on { border-top-color: var(--brand); color: var(--brand-dark, var(--brand)); }
.calc__titulo { margin: 0; font-size: 1.25rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.3; color: var(--ink-2); }
.calc__sub { display: block; margin-bottom: .5rem; font-size: .9375rem; font-weight: 600; color: var(--ink); }
.calc__tipos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.calc__tipo { display: flex; flex-direction: column; align-items: center; gap: .5rem; padding: 1.25rem .75rem; border: 1px solid var(--line); border-radius: 1rem; background: #fff; color: var(--ink); font: inherit; font-size: .9375rem; font-weight: 700; text-align: center; cursor: pointer; transition: border-color .15s ease, background-color .15s ease, transform .15s ease; }
.calc__tipo i { font-size: 1.75rem; color: var(--brand); }
.calc__tipo:hover { border-color: var(--brand); background: color-mix(in srgb, var(--brand) 7%, #fff); transform: translateY(-.125rem); }
.calc__tipo.on { border-color: var(--brand); background: color-mix(in srgb, var(--brand) 10%, #fff); }
.calc__total { padding: .875rem 1rem; border-radius: .875rem; background: var(--bg-soft, #f6f6f8); font-size: .9375rem; color: var(--ink); }
.calc__total b { font-size: 1.1875rem; font-weight: 800; color: var(--ink-2); }
.calc__nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.calc__voltar, .calc__pular, .calc__refazer { display: inline-flex; align-items: center; gap: .25rem; padding: .5rem .25rem; border: 0; background: none; color: var(--muted); font: inherit; font-size: .875rem; font-weight: 600; cursor: pointer; }
.calc__voltar:hover, .calc__pular:hover, .calc__refazer:hover { color: var(--brand); }
.calc__refazer { justify-self: center; margin-top: -.25rem; }
.calc__qtopo { font-size: .8125rem; font-weight: 600; color: var(--muted); }
.calc__qbar { height: .375rem; overflow: hidden; border-radius: 999px; background: var(--line); }
.calc__qbar span { display: block; height: 100%; width: 0; border-radius: inherit; background: var(--brand); transition: width .3s ease; }
.calc__opcoes { display: grid; gap: .5rem; }
.calc__opcao { padding: .875rem 1rem; border: 1px solid var(--line); border-radius: .875rem; background: #fff; color: var(--ink); font: inherit; font-size: .9375rem; font-weight: 600; text-align: left; cursor: pointer; transition: border-color .15s ease, background-color .15s ease; }
.calc__opcao:hover { border-color: var(--brand); background: color-mix(in srgb, var(--brand) 6%, #fff); }
.calc__opcao[aria-checked="true"] { border-color: var(--brand); background: color-mix(in srgb, var(--brand) 12%, #fff); }
.calc__opcao--ns { color: var(--muted); font-weight: 500; }
.calc__veredito { margin: 0; font-size: 1.125rem; font-weight: 800; line-height: 1.35; color: #c0392b; }
[data-nivel="media"] .calc__veredito { color: #e07b1a; }
[data-nivel="alta"] .calc__veredito { color: #c98a00; }
.calc__cegos ul { display: grid; gap: .5rem; margin: .5rem 0 0; padding: 0; list-style: none; }
.calc__cegos li { position: relative; padding-left: 1.25rem; font-size: .875rem; line-height: 1.5; color: var(--ink); }
.calc__cegos li::before { content: ""; position: absolute; left: 0; top: .5em; width: .5rem; height: .5rem; border-radius: 50%; background: #c0392b; }
.calc__cegos li.calc__mais { color: var(--muted); }
.calc__cegos li.calc__mais::before { background: var(--muted); }
@media (max-width: 30rem) { .calc__tipos { grid-template-columns: 1fr 1fr; } .calc__prog li { font-size: .6875rem; } }
.calc__cegos ul { text-align: left; }
.calc__cegos .calc__rotulo { display: block; text-align: center; }

@font-face{font-family:Manrope;src:url('fonts/manrope.woff2');font-weight:200 800;font-display:swap}body{font-family:'DM Sans',Arial,sans-serif}h1,h2,h3,h4,h5,h6,.serif{font-family:Manrope,Arial,sans-serif}.site-header__logo>img{height:58px;width:116px;object-fit:contain;background:transparent;border-radius:0}.site-footer__logo>img{height:76px;width:155px;object-fit:contain}.fundador__foto{object-fit:contain;background:#171320}.ebc-commitments{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ebc-commitments article{padding:25px;background:#F8F7FB;border-radius:16px}@media(max-width:650px){.ebc-commitments{grid-template-columns:1fr}}
/* EBC Rural Consistency v1 */
/* Rural templates use an independent component system. */
html body .site-header__logo,html body .site-header__logo>img,
html body .site-header--light .site-header__logo,html body .site-header--light .site-header__logo>img{
 background:transparent!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
html body .site-header__logo>img{opacity:1!important;visibility:visible!important;display:block!important;filter:none!important}
html body .site-header--light::before{background:rgba(255,255,255,.97)!important}
html body .site-header--light .site-header__link,html body .site-header--light .site-header__servico{color:#33293f!important}
html body .site-header--light .site-header__link:hover{color:#5b21b6!important;background:#f3eefc!important}
html body .site-header--light .site-header__toggle{color:#231b2f!important}
html body .cartao--link{background:#fff!important;background-image:none!important;color:#33293f!important;border-color:#e4deec!important;box-shadow:none!important}
html body .cartao--link:hover,html body .cartao--link:focus-visible{background:#f3eefc!important;color:#33293f!important;border-color:#7c3aed!important}
html body .cartao--link h3{color:#231b2f!important}
html body .cartao--link p{color:#51465d!important}
html body .cartao--link :is(.cartao__icone,.cartao__link,i){color:#6d28d9!important}
html body .secao--verde{background:#171320!important;background-image:radial-gradient(ellipse at 0 0,rgba(124,58,237,.18),transparent 65%)!important;color:#f5f1fb}
html body :is(.secao--verde,.cta-final,.site-footer) :is(h1,h2,h3,h4){color:#fff!important}
html body :is(.secao--verde,.cta-final) :is(.eyebrow,.grad){color:#d8c4ff!important;background:none!important;-webkit-text-fill-color:currentColor!important}
html body .secao--verde>.wrap>p,html body .secao--verde .secao__intro p,html body .cta-final p{color:#e4ddeb!important}
html body .ebc-commitments article{background:#f8f7fb!important;color:#33293f!important}
html body .ebc-commitments article h3{color:#231b2f!important}
html body .ebc-commitments article p{color:#51465d!important}
html body .calc :is(.calc__opcao,.calc__tipo){background:#fff!important;color:#33293f!important;border-color:#d7cce4!important}
html body .calc :is(.calc__opcao[aria-checked="true"],.calc__tipo.on){background:#6d28d9!important;color:#fff!important;border-color:#6d28d9!important}
html body .calc :is(.calc__opcao,.calc__tipo):hover{border-color:#6d28d9!important}
html body .calc input[type=range]{accent-color:#6d28d9}
html body .calc .calc__card :is(h3,.calc__rotulo,.calc__qtopo){color:#33293f!important}
html body .post-card h3,html body .artigo :is(h1,h2,h3){color:#231b2f}
html body .artigo__cta{background:#f3eefc;color:#33293f}
html body .artigo__cta :is(h2,h3,p){color:#33293f!important}
html body .post-single__cover img{width:100%;aspect-ratio:3/2;object-fit:cover}
html body .ebc-editorial-caption{margin:.5rem 0 1rem;color:#61566d;font-size:.8rem}
