.hero--demanda { min-height: 760px; }
.toasts-buscas { position: fixed; z-index: 1000; right: 20px; bottom: 20px; width: min(390px,calc(100% - 34px)); pointer-events: none; }
.toast-busca { display: grid; grid-template-columns: 42px 1fr; gap: 13px; align-items: center; padding: 16px 18px; border: 1px solid rgba(57,119,189,.2); border-radius: 17px; background: rgba(255,255,255,.97); box-shadow: 0 18px 50px rgba(24,70,116,.2); opacity: 0; transform: translateY(18px); transition: opacity .35s ease,transform .35s ease; }
.toast-busca--visivel { opacity: 1; transform: translateY(0); }
.toast-busca__icone { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: var(--azul); background: var(--azul-claro); font-size: 1.35rem; }
.toast-busca p { margin: 0; color: var(--azul-escuro); font-size: .98rem; line-height: 1.3; }
.hero__conteudo--demanda { grid-template-columns: minmax(0, 1.05fr) minmax(360px, .75fr); gap: 58px; }
.hero--demanda h1 { font-size: clamp(3rem, 5.5vw, 5rem); }
.hero__palavra { min-width: 6.7em; display: inline-block; color: var(--azul); white-space: nowrap; }
.hero__palavra::after { content: ''; display: inline-block; width: 2px; height: .78em; margin-left: .06em; background: currentColor; animation: cursor-digitacao .75s steps(1,end) infinite; }
@keyframes cursor-digitacao { 50% { opacity: 0; } }
.hero__circulo { position: absolute; border: 1px solid rgba(57,119,189,.18); border-radius: 50%; pointer-events: none; }
.hero__circulo--um { width: 610px; height: 610px; right: -210px; top: 30px; }
.hero__circulo--dois { width: 380px; height: 380px; right: -70px; top: 145px; }
.consulta-hero { position: relative; z-index: 3; display: grid; gap: 17px; padding: 32px; border: 1px solid rgba(255,255,255,.85); border-radius: 24px; background: rgba(255,255,255,.92); box-shadow: var(--sombra); backdrop-filter: blur(10px); }
.consulta-hero h2 { margin: 0 0 4px; color: var(--azul-escuro); font-size: 1.75rem; line-height: 1.05; }
.consulta-hero__linha { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.consulta-hero .botao { width: 100%; }
.painel-demanda { padding: 100px 20px; background: #fff; }
.painel-demanda[hidden] { display: none; }
.resultado__metricas--prova { width: min(1100px,100%); margin: 0 auto 22px; }
.resultado__metricas--prova { grid-template-columns: repeat(4,1fr); }
.resultado__metricas--prova article { border: 1px solid var(--linha); background: var(--fundo); }
.resultado__metricas--prova .metrica--estimada { border-color: rgba(54,173,131,.3); background: #eef9f5; }
.resultado__metricas--prova .metrica--estimada strong { color: var(--verde); }
.evidencia-grid { width: min(1100px,100%); display: grid; grid-template-columns: 1.08fr .92fr; gap: 18px; margin: 0 auto; }
.grafico-card,.mapa-card { position: relative; min-width: 0; padding: 28px; border: 1px solid var(--linha); border-radius: 22px; background: #fff; box-shadow: 0 16px 45px rgba(24,70,116,.08); }
.grafico-card__cabecalho { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.grafico-card h3,.mapa-card h3,.prova-conversao h3 { margin: 0; color: var(--azul-escuro); font-size: clamp(1.7rem,3vw,2.4rem); font-weight: 400; line-height: 1.05; }
.grafico-card > p { margin: 10px 0 20px; color: var(--suave); font-size: .92rem; }
.crescimento { flex: 0 0 auto; padding: 8px 11px; border-radius: 999px; color: #247858; background: #e6f6ef; font-size: .83rem; }
.grafico { min-height: 300px; }
.grafico svg { width: 100%; height: 300px; overflow: visible; }
.grafico__linha { fill: none; stroke: var(--azul); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.grafico__area { fill: url(#gradiente-grafico); }
.grafico__grade { stroke: #dfeaf3; stroke-width: 1; }
.grafico__rotulo { fill: var(--suave); font: 12px Rapidagua,Arial,sans-serif; }
.grafico__ponto { fill: #fff; stroke: var(--azul); stroke-width: 3; }
.grafico__barra { fill: var(--azul); opacity: .86; }
.grafico__vazio { padding: 70px 20px; border-radius: 14px; color: var(--suave); background: var(--fundo); text-align: center; }
.grafico-card--hipotetico { width: min(1100px,100%); margin: 18px auto 0; }
.grafico-card--hipotetico .grafico { min-height: 280px; }
.grafico-card--hipotetico .grafico svg { height: 280px; }
.grafico--hipotetico .grafico__linha { stroke: var(--verde); }
.grafico--hipotetico .grafico__ponto { stroke: var(--verde); }
.simulacao-nota { margin-bottom: 0 !important; padding-top: 14px; border-top: 1px solid var(--linha); font-size: .78rem !important; }
.mapa-card { display: grid; grid-template-rows: auto 1fr; gap: 19px; }
.mapa-card__periodo { margin: 8px 0 0; color: var(--suave); font-size: .9rem; }
.mapa-card .mapa { position: relative; min-height: 360px; border-radius: 16px; overflow: hidden; }
.mapa-card .mapa__vazio { top: 100px; border-radius: 16px; }
.prova-conversao { width: min(1100px,100%); display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; margin: 22px auto 0; padding: 35px; border-radius: 22px; background: var(--azul-claro); }
.prova-conversao p:not(.rotulo) { margin: 10px 0 0; color: var(--suave); }
.cta-com-bonus { display: grid; gap: 9px; justify-items: center; text-align: center; }
.cta-com-bonus > span { max-width: 230px; color: #247858; font-size: .84rem; line-height: 1.25; }
.cta-com-bonus--claro > span { color: #fff; }
.painel-demanda > .resultado__aviso { max-width: 850px; margin: 22px auto 0; }
.funcionamento,.faq { padding: 100px 20px; }
.funcionamento { padding: 65px 20px 45px; background: #fff; }
.funcionamento__cta-inicial { width: min(900px,100%); display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center; margin: -15px auto 34px; padding: 27px 30px; border: 1px solid rgba(54,173,131,.25); border-radius: 20px; background: linear-gradient(120deg,#eef9f5,#e7f3ff); box-shadow: 0 14px 38px rgba(24,70,116,.09); }
.funcionamento__cta-inicial strong,.funcionamento__cta-inicial span { display: block; }
.funcionamento__cta-inicial strong { color: var(--azul-escuro); font-size: 1.45rem; font-weight: 400; line-height: 1.1; }
.funcionamento__cta-inicial span { margin-top: 7px; color: var(--suave); }
.funcionamento__passos { width: min(1040px,100%); display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin: 0 auto; }
.funcionamento__passos article { min-height: 205px; display: grid; grid-template-columns: 45px 1fr; grid-template-rows: auto 1fr; column-gap: 15px; align-items: center; padding: 27px; border: 1px solid var(--linha); border-radius: 20px; background: var(--fundo); }
.funcionamento__passos article > span { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 50%; color: var(--azul); background: var(--azul-claro); }
.funcionamento__passos h3 { margin: 0; color: var(--azul-escuro); font-size: 1.5rem; font-weight: 400; line-height: 1.08; }
.funcionamento__passos p { grid-column: 1 / -1; align-self: start; margin: 17px 0 0; color: var(--suave); }
.funcionamento__garantias { width: min(900px,100%); display: grid; grid-template-columns: repeat(4,1fr); margin: 28px auto 0; overflow: hidden; border: 1px solid rgba(54,173,131,.24); border-radius: 17px; background: #f2faf7; box-shadow: 0 10px 28px rgba(37,105,83,.07); }
.funcionamento__garantias span { min-height: 72px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 15px 12px; border-right: 1px solid rgba(54,173,131,.18); color: #246d56; font-size: .92rem; text-align: center; }
.funcionamento__garantias span:last-child { border-right: 0; }
.funcionamento__garantias span::before { content: '✓'; width: 25px; height: 25px; flex: 0 0 25px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--verde); font-size: .75rem; }
.funcionamento__resumo { max-width: 760px; margin: 23px auto 0; color: var(--azul-escuro); font-size: 1.2rem; text-align: center; }
.funcionamento__video { width: min(900px,100%); margin: 48px auto 0; }
.funcionamento__video > div { margin-bottom: 18px; text-align: center; }
.funcionamento__video h3 { margin: 0; color: var(--azul-escuro); font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 400; }
.funcionamento__video video { width: 100%; max-height: 560px; display: block; border-radius: 22px; background: #102238; box-shadow: var(--sombra); }
.beneficios__grade article { min-height: 205px; display: grid; grid-template-columns: 54px 1fr; grid-template-rows: auto 1fr; column-gap: 15px; align-items: center; padding: 27px; }
.beneficios__grade h3 { margin: 0; font-weight: 400; line-height: 1.08; }
.beneficios__grade article p { grid-column: 1 / -1; align-self: start; margin-top: 17px; }
.chamada-final { margin-top: 25px; }
.beneficios { padding-bottom: 55px; }
.faq { padding-top: 45px; background: var(--fundo); }
.faq__lista { width: min(860px,100%); margin: 0 auto; border-top: 1px solid var(--linha); }
.faq details { border-bottom: 1px solid var(--linha); background: #fff; }
.faq summary { position: relative; padding: 22px 52px 22px 22px; color: var(--azul-escuro); cursor: pointer; list-style: none; font-size: 1.08rem; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; position: absolute; top: 50%; right: 22px; color: var(--azul); font-size: 1.5rem; transform: translateY(-50%); }
.faq details[open] summary::after { content: '−'; }
.faq details p { margin: 0; padding: 0 52px 22px 22px; color: var(--suave); }

@media (min-width: 901px) {
    .beneficios__grade { grid-template-columns: repeat(4,1fr); }
}

@media (max-width: 900px) {
    .hero__conteudo--demanda { grid-template-columns: 1fr; padding-top: 125px; }
    .hero--demanda { min-height: auto; }
    .hero__texto { max-width: 760px; }
    .consulta-hero { width: min(620px,100%); }
    .evidencia-grid { grid-template-columns: 1fr; }
    .resultado__metricas--prova { grid-template-columns: repeat(2,1fr); }
    .beneficios__grade { grid-template-columns: repeat(2,1fr); }
    .funcionamento__passos { grid-template-columns: 1fr; }
    .funcionamento__cta-inicial { grid-template-columns: 1fr; text-align: center; }
    .funcionamento__garantias { grid-template-columns: repeat(2,1fr); }
    .funcionamento__garantias span:nth-child(2) { border-right: 0; }
    .funcionamento__garantias span:nth-child(-n+2) { border-bottom: 1px solid rgba(54,173,131,.18); }
}
@media (max-width: 620px) {
    .toasts-buscas { right: 17px; bottom: 17px; }
    .toast-busca { padding: 14px 15px; }
    .hero__conteudo--demanda { gap: 34px; padding-bottom: 75px; }
    .hero--demanda h1 { font-size: clamp(2.75rem,13vw,3.8rem); }
    .consulta-hero { padding: 24px 19px; }
    .consulta-hero__linha { grid-template-columns: 1fr 1fr; }
    .painel-demanda { padding: 75px 17px; }
    .funcionamento { padding: 50px 17px 38px; }
    .chamada-final { margin-top: 20px; }
    .beneficios { padding-bottom: 45px; }
    .faq { padding: 45px 17px 75px; }
    .funcionamento__cta-inicial { padding: 24px 19px; }
    .funcionamento__cta-inicial .botao { width: 100%; }
    .grafico-card { padding: 18px 16px; }
    .mapa-card { padding: 21px 17px; }
    .grafico-card__cabecalho { flex-direction: column; }
    .grafico-card > p { margin: 7px 0 10px; }
    .grafico-card .grafico { min-height: 215px; }
    .grafico-card .grafico svg { height: 215px; }
    .grafico-card--hipotetico .grafico { min-height: 205px; }
    .grafico-card--hipotetico .grafico svg { height: 205px; }
    .simulacao-nota { padding-top: 8px; }
    .resultado__metricas--prova { grid-template-columns: 1fr 1fr; }
    .beneficios__grade { grid-template-columns: 1fr; }
    .prova-conversao { grid-template-columns: 1fr; padding: 28px 22px; }
    .prova-conversao .botao { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .toast-busca { transition: none; }
    .hero__palavra::after { display: none; animation: none; }
}
