/* Páginas institucionais: Anunciar, Quem Somos e Fale Conosco. Usa as variáveis de cor e fonte do tema. */
.elo-an { color: var(--elo-gray-900); font-family: var(--font-body); font-size: 17px; line-height: 1.6; }
.elo-an h1, .elo-an h2, .elo-an h3 { text-wrap: balance; margin: 0; font-family: var(--font-headline); }
.elo-an p { margin: 0; }
.elo-an a:focus-visible { outline: 3px solid var(--elo-accent); outline-offset: 3px; }
.elo-an-wrap { max-width: var(--container-max); margin: 0 auto; padding: 0 20px; }

.elo-an-topo { background: var(--elo-primary-dark); color: #fff; padding: 56px 0 0; overflow: hidden; }
.elo-an-topo__grade { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 48px; align-items: end; }
.elo-an-topo__texto { padding-bottom: 64px; }
.elo-an-rotulo { font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #ffb877; margin-bottom: 16px; }
.elo-an .elo-an-topo h1 { color: #fff; font-size: clamp(38px, 5.6vw, 66px); line-height: 1.02; font-weight: 900; letter-spacing: -.03em; margin-bottom: 20px; }
.elo-an-topo h1 em { font-style: normal; color: var(--elo-accent); }
.elo-an .elo-an-topo__sub { font-size: 19px; font-weight: 500; max-width: 30em; color: #dbe8f8; margin-bottom: 28px; }
.elo-an a.elo-an-botao { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 28px; border-radius: 6px; background: #25D366; color: #06281a; font-weight: 800; font-size: 17px; text-decoration: none; transition: transform .15s ease, background .15s ease; }
.elo-an a.elo-an-botao:hover { background: #3be07a; color: #06281a; transform: translateY(-2px); }
.elo-an-botao svg { width: 24px; height: 24px; flex: none; fill: currentColor; }
.elo-an-mapa { display: block; width: 100%; height: auto; margin-bottom: -6px; }

.elo-an-slot { fill: var(--elo-accent); animation: elo-an-acende .6s ease both; }
.elo-an-s2 { animation-delay: .15s; }
.elo-an-s3 { animation-delay: .3s; }
.elo-an-s4 { animation-delay: .45s; }
.elo-an-s5 { animation-delay: .6s; }
.elo-an-num { fill: #1a1a1a; font: 900 15px var(--font-headline); text-anchor: middle; }
@keyframes elo-an-acende { from { fill: #cfd8e3; } to { fill: var(--elo-accent); } }
@media (prefers-reduced-motion: reduce) {
    .elo-an-slot { animation: none; }
    .elo-an a.elo-an-botao { transition: none; }
}

.elo-an-secao { padding: 72px 0; }
.elo-an-secao h2 { font-size: clamp(28px, 3.6vw, 40px); font-weight: 900; letter-spacing: -.02em; line-height: 1.12; color: var(--elo-primary-dark); }
.elo-an .elo-an-secao__intro { color: var(--elo-gray-600); margin-top: 10px; max-width: 38em; }

.elo-an-formatos { list-style: none; padding: 0; margin: 40px 0 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 36px 28px; }
.elo-an-formato { grid-column: span 2; display: flex; flex-direction: column; gap: 14px; }
.elo-an-formato--largo { grid-column: span 3; }
.elo-an-formato svg { display: block; width: 100%; height: auto; border: 1px solid var(--elo-gray-200); border-radius: 6px; background: #fff; transition: border-color .15s ease; }
.elo-an-formato:hover svg { border-color: var(--elo-accent); }
.elo-an-formato h3 { font-size: 20px; font-weight: 800; line-height: 1.25; display: flex; align-items: baseline; gap: 10px; }
.elo-an-formato h3 b { color: var(--elo-accent); font-weight: 900; font-size: 22px; font-variant-numeric: tabular-nums; }
.elo-an .elo-an-formato p { color: var(--elo-gray-600); font-size: 16px; }
.elo-an-wf-a { fill: #dfe4ea; }
.elo-an-wf-b { fill: #eef1f4; }
.elo-an-wf-h { fill: var(--elo-primary); }
.elo-an-wf-o { fill: var(--elo-accent); }

.elo-an-passos-fundo { background: var(--elo-primary-ultra-light); }
.elo-an-passos { list-style: none; counter-reset: elo-an-passo; padding: 0; margin: 36px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.elo-an-passos li { counter-increment: elo-an-passo; border-top: 3px solid var(--elo-primary); padding-top: 16px; }
.elo-an-passos li::before { content: "Passo " counter(elo-an-passo); display: block; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--elo-primary); margin-bottom: 6px; }
.elo-an-passos strong { display: block; font-size: 20px; font-weight: 800; line-height: 1.25; margin-bottom: 6px; }
.elo-an-passos span { color: var(--elo-gray-600); font-size: 16px; }

.elo-an-fim { background: var(--elo-primary); color: #fff; padding: 64px 0; }
.elo-an-fim__grade { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 32px; }
.elo-an .elo-an-fim h2 { color: #fff; font-size: clamp(28px, 3.6vw, 40px); font-weight: 900; letter-spacing: -.02em; line-height: 1.12; margin-bottom: 8px; }
.elo-an .elo-an-fim p { color: #dbe8f8; }
.elo-an-fim__acoes { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.elo-an a.elo-an-fim__email { color: #fff; font-weight: 600; }

@media (max-width: 860px) {
    .elo-an-topo { padding-top: 40px; }
    .elo-an-topo__grade { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .elo-an-topo__texto { padding-bottom: 28px; }
    .elo-an-formatos { grid-template-columns: minmax(0, 1fr); }
    .elo-an-formato, .elo-an-formato--largo { grid-column: auto; }
    .elo-an-passos { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .elo-an-secao { padding: 52px 0; }
    .elo-an a.elo-an-botao { width: 100%; }
    .elo-an-fim__acoes { width: 100%; }
}

/* Quem Somos e Fale Conosco */
.elo-an-topo--simples { padding-bottom: 56px; }
.elo-an-topo--simples .elo-an-topo__texto { padding-bottom: 0; }
.elo-an-topo__grade--centro { align-items: center; }
.elo-an .elo-an-topo--simples .elo-an-topo__sub { margin-bottom: 0; }
.elo-an-elo { display: block; width: 100%; max-width: 420px; height: auto; margin: 0 auto; }
.elo-an-rotulo--azul { color: var(--elo-primary); }
.elo-an-duas { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 48px; align-items: start; }
.elo-an-prosa { display: flex; flex-direction: column; gap: 18px; font-size: 19px; color: var(--elo-gray-800); }
.elo-an .elo-an-missao { font-family: var(--font-headline); font-size: clamp(28px, 4vw, 46px); line-height: 1.12; font-weight: 900; letter-spacing: -.02em; color: var(--elo-primary-dark); max-width: 22em; text-wrap: balance; border-left: 6px solid var(--elo-accent); padding-left: 22px; margin-bottom: 20px; }
.elo-an-valores { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: 32px; }
.elo-an-valores > div { border-top: 3px solid var(--elo-accent); padding-top: 16px; }
.elo-an-valores h3 { font-size: 22px; font-weight: 800; margin-bottom: 8px; }
.elo-an .elo-an-valores p { color: var(--elo-gray-600); }
.elo-an-chat { display: flex; flex-direction: column; gap: 14px; max-width: 420px; width: 100%; margin: 0 auto; }
.elo-an-chat__msg { align-self: flex-start; background: #fff; color: var(--elo-gray-900); font-weight: 700; padding: 14px 20px; border-radius: 16px 16px 16px 4px; }
.elo-an-chat__msg--dir { align-self: flex-end; background: var(--elo-accent); color: #1a1a1a; border-radius: 16px 16px 4px 16px; }
.elo-an-canais { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 32px; }
.elo-an-canal { border: 1px solid var(--elo-gray-200); border-top: 4px solid var(--elo-primary); border-radius: 6px; padding: 28px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.elo-an-canal h3 { font-size: 22px; font-weight: 800; }
.elo-an .elo-an-canal__dado { color: var(--elo-gray-600); font-weight: 600; overflow-wrap: anywhere; margin-bottom: 6px; }
.elo-an a.elo-an-botao--azul { background: var(--elo-primary); color: #fff; }
.elo-an a.elo-an-botao--azul:hover { background: var(--elo-primary-dark); color: #fff; }
.elo-an a.elo-an-botao--claro { background: #fff; color: var(--elo-primary-dark); }
.elo-an a.elo-an-botao--claro:hover { background: var(--elo-primary-ultra-light); color: var(--elo-primary-dark); }

@media (max-width: 860px) {
    .elo-an-topo--simples { padding-bottom: 40px; }
    .elo-an-topo__grade--centro { gap: 32px; }
    .elo-an-duas, .elo-an-valores, .elo-an-canais { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

/* Anunciar: blocos de venda */
.elo-an-garantias { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 20px; font-weight: 700; font-size: 15px; color: #fff; }
.elo-an-garantias li { display: flex; align-items: center; gap: 8px; }
.elo-an-garantias li::before { content: "\2713"; color: var(--elo-accent); font-weight: 900; }
.elo-an-numeros { background: var(--elo-primary); color: #fff; padding: 36px 0; }
.elo-an-numeros__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; font-weight: 600; }
.elo-an-numeros__lista strong { display: block; font-family: var(--font-headline); font-size: clamp(38px, 5vw, 56px); font-weight: 900; line-height: 1.05; letter-spacing: -.02em; color: #fff; font-variant-numeric: tabular-nums; }
.elo-an .elo-an-numeros__audiencia { margin-top: 18px; color: #dbe8f8; font-weight: 600; }
.elo-an .elo-an-numeros__audiencia a { color: #fff; text-decoration: underline; }
.elo-an-motivos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; margin-top: 36px; }
.elo-an-motivo { display: flex; flex-direction: column; gap: 10px; }
.elo-an-motivo h3 { font-size: 21px; font-weight: 800; line-height: 1.25; }
.elo-an .elo-an-motivo p { color: var(--elo-gray-600); font-size: 16px; }
.elo-an-icone { width: 64px; height: 64px; display: block; overflow: visible; }
.elo-an-icone__corpo { fill: var(--elo-primary); }
.elo-an-icone__furo { fill: #fff; }
.elo-an-icone__sombra { fill: var(--elo-gray-200); }
.elo-an-icone__check { fill: none; stroke: var(--elo-accent); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 40; }
.elo-an-icone__tela { fill: none; stroke: var(--elo-primary); stroke-width: 4; stroke-linecap: round; }
.elo-an-icone__sinal { fill: var(--elo-accent); }
.elo-an-oferta { background: var(--elo-accent); color: #1a1a1a; padding: 40px 0; }
.elo-an-oferta__grade { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; }
.elo-an .elo-an-oferta h2 { font-size: clamp(26px, 3.4vw, 38px); font-weight: 900; letter-spacing: -.02em; line-height: 1.12; color: #1a1a1a; margin-bottom: 6px; }
.elo-an-faq { display: flex; flex-direction: column; gap: 10px; }
.elo-an-faq details { background: #fff; border: 1px solid var(--elo-gray-200); border-radius: 6px; padding: 16px 20px; }
.elo-an-faq summary { font-weight: 800; font-size: 18px; cursor: pointer; }
.elo-an-faq summary:focus-visible { outline: 3px solid var(--elo-accent); outline-offset: 3px; }
.elo-an .elo-an-faq p { margin-top: 8px; color: var(--elo-gray-600); }
.elo-an a.elo-an-fixo { display: none; }

@media (max-width: 860px) {
    .elo-an-numeros__lista, .elo-an-motivos { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .elo-an a.elo-an-fixo.is-visivel { display: inline-flex; position: fixed; left: 12px; right: 12px; bottom: 12px; width: auto; z-index: 50; box-shadow: 0 4px 16px rgba(0, 0, 0, .3); }
}

/* Anunciar: animações. Só valem para quem não pediu menos movimento. */
@media (prefers-reduced-motion: no-preference) {
    .elo-an--anima svg rect, .elo-an--anima svg g, .elo-an--anima svg path, .elo-an--anima svg circle { transform-box: fill-box; }
    .elo-an-js .elo-an-revela { opacity: .2; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
    .elo-an-js .elo-an-revela.is-visivel { opacity: 1; transform: none; }
    .elo-an-botao--pulso { animation: elo-an-pulso 2.4s ease-out infinite; }
    .elo-an-a-desce { animation: elo-an-desce 4s ease-in-out infinite; }
    .elo-an-a-pulsa { transform-origin: center; animation: elo-an-pulsa 2.6s ease-in-out infinite; }
    .elo-an-a-segue { animation: elo-an-segue 5s ease-in-out infinite alternate; }
    .elo-an-a-abre { transform-origin: center; animation: elo-an-abre 4.5s ease-in-out infinite; }
    .elo-an-a-play { transform-origin: center; animation: elo-an-pulsa 1.8s ease-in-out infinite; }
    .elo-an-icone--pino .elo-an-icone__corpo, .elo-an-icone--pino .elo-an-icone__furo { animation: elo-an-quica 2.2s ease-in-out infinite; }
    .elo-an-icone__check { animation: elo-an-risca 3.2s ease-in-out infinite; }
    .elo-an-icone__sinal { animation: elo-an-pisca 2.4s ease-in-out infinite; }
    .elo-an-icone__sinal--2 { animation-delay: .6s; }
}
@keyframes elo-an-pulso { 0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .6); } 70%, 100% { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); } }
@keyframes elo-an-desce { 0% { transform: translateY(-36px); opacity: 0; } 15%, 100% { transform: none; opacity: 1; } }
@keyframes elo-an-pulsa { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }
@keyframes elo-an-segue { from { transform: translateY(0); } to { transform: translateY(68px); } }
@keyframes elo-an-abre { 0% { transform: scaleY(.1); opacity: .4; } 18%, 100% { transform: scaleY(1); opacity: 1; } }
@keyframes elo-an-quica { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes elo-an-risca { 0% { stroke-dashoffset: 40; } 35%, 100% { stroke-dashoffset: 0; } }
@keyframes elo-an-pisca { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* Última faixa colada ao rodapé */
.elo-an { margin-bottom: calc(var(--space-3xl) * -1); }
