/* akuta.com.br. Cores do logotipo: azul-céu do isotipo -> ardósia; texto em azul-marinho. */
:root {
  color-scheme: light dark;
  --fundo: #f6f9fc;
  --superficie: #ffffff;
  --nevoa: #e9f2f8;
  --texto: #1f2c3b;
  --suave: #4f5f71;
  --linha: #d5e2eb;
  --ceu: #6ebee3;
  --ceu-medio: #5d9ec4;
  --ardosia: #465470;
  --destaque: #1d6790;
  --botao: #1f2c3b;
  --botao-texto: #ffffff;
  --logo-texto: #323e4e;
  --escuro: #1b2735;
  --escuro-2: #24334a;
  --escuro-texto: #e8eff5;
  --escuro-suave: #b5c4d2;
  --escuro-link: #9fd6f0;
  --verde: #12804a;
  --ouro: #e0a526;
  --sombra: 0 1px 2px rgba(31, 44, 59, .06), 0 8px 24px rgba(31, 44, 59, .08);
  --titulo: ui-rounded, "SF Pro Rounded", "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;
  --corpo: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --largura: 74rem;
  --raio-organico: 2rem 2rem 2rem .6rem;
  --topo-altura: 4.5rem;
}

@media (prefers-color-scheme: dark) {
  :root {
    --fundo: #10171f;
    --superficie: #17222d;
    --nevoa: #141e28;
    --texto: #e6edf3;
    --suave: #a3b3c2;
    --linha: #26343f;
    --ardosia: #8fb4cc;
    --destaque: #86cbee;
    --botao: #86cbee;
    --botao-texto: #0f1d28;
    --logo-texto: #e6edf3;
    --escuro: #0b1117;
    --escuro-2: #16212c;
    --sombra: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .25);
  }
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--topo-altura) + .5rem); }
body { margin: 0; background: var(--fundo); color: var(--texto); font: 1.0625rem/1.6 var(--corpo); overflow-x: hidden; }
h1, h2, h3 { font-family: var(--titulo); margin: 0; }
p { margin: 0 0 1rem; }
a { color: var(--destaque); text-underline-offset: .18em; }
:focus-visible { outline: 3px solid var(--ceu); outline-offset: 3px; border-radius: .4rem; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.icone { width: 1.25em; height: 1.25em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.25em; }

.pular { position: absolute; left: -999px; top: .5rem; z-index: 50; background: var(--botao); color: var(--botao-texto); padding: .5rem 1rem; border-radius: .5rem; }
.pular:focus { left: 1rem; }

/* Botões */
.botao {
  display: inline-flex; align-items: center; gap: .55rem;
  padding: .85rem 1.5rem; border-radius: 999px; border: 2px solid transparent;
  background: var(--botao); color: var(--botao-texto);
  font-weight: 650; text-decoration: none; line-height: 1.2;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.botao:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(31, 44, 59, .18); }
.botao:active { transform: translateY(0); }
.botao-pequeno { padding: .55rem 1.1rem; font-size: .95rem; }
.botao-contorno { background: transparent; color: var(--texto); border-color: var(--linha); }
.botao-contorno:hover { border-color: var(--ceu); box-shadow: none; }
.botao-claro { background: var(--ceu); color: #0f1d28; }

/* Cabeçalho fixo com navegação */
.topo { position: sticky; top: 0; z-index: 40; transition: background-color .25s ease, box-shadow .25s ease, backdrop-filter .25s ease; }
.topo.rolado { background: color-mix(in srgb, var(--fundo) 86%, transparent); backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px); box-shadow: 0 1px 0 var(--linha); }
.topo-interno { max-width: var(--largura); margin: 0 auto; padding: 0 1.25rem; height: var(--topo-altura); display: flex; align-items: center; gap: 1.5rem; }
.marca { line-height: 0; margin-right: auto; color: var(--logo-texto); }
.logo { width: 8.25rem; height: 3.05rem; color: var(--logo-texto); }
.menu { display: flex; align-items: center; gap: .25rem; }
.menu a:not(.botao) { position: relative; color: var(--suave); text-decoration: none; padding: .5rem .8rem; border-radius: 999px; font-weight: 550; transition: color .2s ease, background-color .2s ease; }
.menu a:not(.botao):hover { color: var(--texto); background: var(--nevoa); }
.menu a[aria-current="true"] { color: var(--texto); }
.menu a[aria-current="true"]::after { content: ""; position: absolute; left: .8rem; right: .8rem; bottom: .2rem; height: 2px; border-radius: 2px; background: var(--ceu); }
.menu-cta { margin-left: .75rem; }
.menu-botao { display: none; align-items: center; gap: .4rem; font: inherit; font-weight: 600; color: var(--texto); background: var(--superficie); border: 1px solid var(--linha); border-radius: 999px; padding: .5rem .9rem; cursor: pointer; }

@media (max-width: 56rem) {
  .menu-botao { display: inline-flex; }
  .menu {
    position: absolute; left: 1rem; right: 1rem; top: calc(var(--topo-altura) - .25rem);
    flex-direction: column; align-items: stretch; gap: .15rem; padding: .75rem;
    background: var(--superficie); border: 1px solid var(--linha); border-radius: 1.25rem; box-shadow: var(--sombra);
    opacity: 0; transform: translateY(-8px) scale(.98); pointer-events: none; visibility: hidden;
    transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
  }
  .menu.aberto { opacity: 1; transform: none; pointer-events: auto; visibility: visible; transition: opacity .2s ease, transform .2s ease; }
  .menu a:not(.botao) { padding: .8rem 1rem; font-size: 1.05rem; }
  .menu a[aria-current="true"]::after { display: none; }
  .menu-cta { margin: .5rem 0 0; justify-content: center; }
}

/* Abertura */
.abertura { position: relative; isolation: isolate; padding: calc(var(--topo-altura) + 2.5rem) 1.25rem 0; margin-top: calc(-1 * var(--topo-altura)); overflow-x: clip; }
.abertura::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(40rem 28rem at 85% 20%, color-mix(in srgb, var(--ceu) 22%, transparent), transparent 70%),
    radial-gradient(30rem 22rem at 5% 90%, color-mix(in srgb, var(--ceu) 10%, transparent), transparent 70%);
}
.abertura-interno { max-width: var(--largura); margin: 0 auto; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 2rem; min-height: 32rem; }
.selo-topo { display: inline-flex; align-items: center; gap: .5rem; padding: .4rem .9rem .4rem .7rem; border-radius: 999px; background: var(--superficie); border: 1px solid var(--linha); color: var(--suave); font-size: .92rem; font-weight: 550; margin-bottom: 1.5rem; }
.selo-topo .icone { color: var(--ceu-medio); }
h1 { font-size: clamp(2.5rem, 1.4rem + 3.9vw, 4.25rem); line-height: 1.02; letter-spacing: -.03em; font-weight: 760; margin-bottom: 1.4rem; max-width: 13ch; text-wrap: balance; }
.lead { font-size: 1.2rem; color: var(--suave); max-width: 34rem; }
.acoes { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1rem; margin: 2rem 0 0; }

.abertura-arte { position: relative; aspect-ratio: 1 / 1; max-width: 32rem; width: 100%; justify-self: end; }
.halo { position: absolute; inset: 12%; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--ceu) 45%, transparent), transparent 68%); filter: blur(24px); animation: pulsar 7s ease-in-out infinite; }
.bolha { position: absolute; inset: 14% 8% 14% 8%; width: 84%; height: 72%; filter: drop-shadow(0 30px 40px rgba(70, 84, 112, .28)); animation: flutuar 9s ease-in-out infinite; transform-origin: 50% 60%; }
.chip {
  position: absolute; display: inline-flex; align-items: center; gap: .45rem;
  padding: .55rem .9rem; border-radius: 999px; background: var(--superficie); color: var(--texto);
  border: 1px solid var(--linha); box-shadow: var(--sombra); font-weight: 650; font-size: .92rem; white-space: nowrap;
  animation: boiar 6s ease-in-out infinite;
}
.chip .icone { color: var(--ceu-medio); }
.chip-1 { top: 6%; left: 2%; animation-delay: -1s; }
.chip-2 { top: 22%; right: -2%; animation-delay: -3s; }
.chip-3 { bottom: 16%; left: -4%; animation-delay: -2s; }
.chip-4 { bottom: 3%; right: 8%; animation-delay: -4.5s; }

.provas { list-style: none; margin: 3.5rem auto 0; padding: 1.25rem; max-width: var(--largura); display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; background: var(--superficie); border: 1px solid var(--linha); border-radius: 1.5rem; box-shadow: var(--sombra); position: relative; z-index: 2; margin-bottom: -3.5rem; }
.provas li { display: flex; align-items: center; gap: .9rem; padding: .25rem .75rem; }
.provas li + li { border-left: 1px solid var(--linha); }
.provas .icone { width: 2.6rem; height: 2.6rem; padding: .55rem; border-radius: .9rem; background: var(--nevoa); color: var(--ceu-medio); }
.provas strong { display: block; font-family: var(--titulo); font-size: 1.1rem; }
.provas span { color: var(--suave); font-size: .92rem; line-height: 1.35; }
.provas strong { color: var(--texto); }

/* Entrada da abertura (um único momento orquestrado) */
.selo-topo, h1, .lead, .abertura .acoes, .abertura-arte, .provas { animation: entrar .8s cubic-bezier(.2, .7, .2, 1) both; }
h1 { animation-delay: .08s; }
.lead { animation-delay: .16s; }
.abertura .acoes { animation-delay: .24s; }
.abertura-arte { animation: entrar-arte 1.1s cubic-bezier(.2, .7, .2, 1) .1s both; }
.provas { animation-delay: .4s; }

@keyframes entrar { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes entrar-arte { from { opacity: 0; transform: scale(.92) rotate(-4deg); } to { opacity: 1; transform: none; } }
@keyframes flutuar { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-14px) rotate(2.5deg); } }
@keyframes boiar { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes pulsar { 0%, 100% { opacity: .85; transform: scale(1); } 50% { opacity: 1; transform: scale(1.06); } }

@media (max-width: 56rem) {
  .abertura-interno { grid-template-columns: 1fr; min-height: 0; }
  .abertura-arte { order: -1; max-width: 18rem; justify-self: center; margin: -1rem 0 -.5rem; }
  .chip { font-size: .8rem; padding: .4rem .7rem; }
  .provas { grid-template-columns: 1fr; margin-top: 2rem; padding: .75rem; }
  .provas li + li { border-left: 0; border-top: 1px solid var(--linha); padding-top: .9rem; }
  .provas li { padding: .4rem .5rem; }
}

/* Seções */
.secao { padding: 6rem 1.25rem; }
.secao-interno { max-width: var(--largura); margin: 0 auto; }
.secao-nevoa { background: var(--nevoa); }
#servicos { padding-top: 8rem; }
.secao-topo { max-width: 40rem; margin-bottom: 3rem; }
.secao-topo h2 { font-size: clamp(2rem, 1.4rem + 2vw, 2.9rem); letter-spacing: -.025em; line-height: 1.08; margin-bottom: .75rem; }
.secao-topo p { color: var(--suave); font-size: 1.1rem; margin: 0; }
.secao-topo-linha { max-width: none; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 1.5rem; }

/* Serviços */
.servicos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; position: relative; }
.servico { position: relative; display: flex; flex-direction: column; background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio-organico); padding: 1.75rem 1.5rem 1.25rem; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.servico:hover { transform: translateY(-4px); box-shadow: var(--sombra); border-color: color-mix(in srgb, var(--ceu) 50%, var(--linha)); }
.servico > p:not(.etapa) { color: var(--suave); font-size: .98rem; }
.servico-icone { width: 3.25rem; height: 3.25rem; display: grid; place-items: center; border-radius: 1.1rem 1.1rem 1.1rem .35rem; color: #fff; background: linear-gradient(160deg, var(--ceu), var(--ardosia)); margin-bottom: 1.25rem; box-shadow: 0 8px 18px color-mix(in srgb, var(--ceu) 35%, transparent); }
.servico-icone .icone { width: 1.6rem; height: 1.6rem; stroke-width: 1.6; }
.servico:nth-child(2) .servico-icone { background: linear-gradient(160deg, #66a8ca, #465470); }
.servico:nth-child(3) .servico-icone { background: linear-gradient(160deg, #5d8ba6, #3a4a63); }
.servico:nth-child(4) .servico-icone { background: linear-gradient(160deg, #52708a, #2c3a50); }
.etapa { font-family: var(--titulo); font-weight: 700; color: var(--ceu-medio); font-size: .95rem; margin: 0 0 .2rem; }
.servico h3 { font-size: 1.25rem; line-height: 1.25; margin-bottom: .6rem; }
.servico .sanfona { margin-top: auto; }
@media (max-width: 64rem) { .servicos { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 40rem) { .servicos { grid-template-columns: 1fr; } }

/* Sanfonas */
.sanfona { border-top: 1px solid var(--linha); }
.sanfona summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 0; cursor: pointer; font-weight: 650; color: var(--texto); }
.sanfona summary::-webkit-details-marker { display: none; }
.sanfona .seta { transition: transform .3s ease; color: var(--ceu-medio); }
.sanfona[open] .seta { transform: rotate(180deg); }
.sanfona summary:hover { color: var(--destaque); }
.sanfona-corpo { padding: 0 0 1rem; overflow: hidden; }
.lista-check { list-style: none; margin: 0; padding: 0; }
.lista-check li { position: relative; padding-left: 1.6rem; margin: .45rem 0; color: var(--suave); font-size: .97rem; }
.lista-check li::before { content: ""; position: absolute; left: 0; top: .35rem; width: 1rem; height: 1rem; border-radius: 50%; background: color-mix(in srgb, var(--ceu) 22%, transparent); }
.lista-check li::after { content: ""; position: absolute; left: .32rem; top: .55rem; width: .3rem; height: .5rem; border: solid var(--ceu-medio); border-width: 0 2px 2px 0; transform: rotate(45deg); }

/* Projetos (seção escura) */
.secao-escura { background: var(--escuro); color: var(--escuro-texto); position: relative; overflow: hidden; }
.secao-escura::before { content: ""; position: absolute; width: 46rem; height: 46rem; right: -18rem; top: -20rem; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--ceu) 18%, transparent), transparent 65%); pointer-events: none; }
.secao-escura .secao-topo p { color: var(--escuro-suave); }
.projetos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; position: relative; }
.projeto { display: flex; flex-direction: column; align-items: flex-start; background: var(--escuro-2); border: 1px solid rgba(255, 255, 255, .08); border-radius: 2.25rem 2.25rem 2.25rem .75rem; padding: 2.25rem; }
.projeto h3 { font-size: 2rem; letter-spacing: -.02em; }
.projeto > p { color: var(--escuro-suave); }
.projeto .projeto-slogan { font-family: var(--titulo); font-size: 1.2rem; color: var(--escuro-texto); margin: .2rem 0 1rem; }
.projeto .projeto-premio { display: inline-flex; align-items: center; gap: .5rem; padding: .4rem .85rem; border-radius: 999px; background: rgba(110, 190, 227, .14); color: var(--escuro-link); font-size: .9rem; font-weight: 600; margin-bottom: 1.25rem; }
.projeto-nota { font-size: .92rem; border-left: 3px solid var(--ceu); padding-left: .9rem; }
/* Logos do CIT e da Prefeitura: fundo claro fixo (cores originais, nos dois temas). */
.apoios { display: flex; align-items: center; gap: 1.25rem; background: #ffffff; border-radius: 1rem; padding: .7rem 1.1rem; margin: 0 0 1.5rem; }
.apoios img { display: block; height: 3.2rem; width: auto; }
.apoios .brasao { height: 3.9rem; }
.projeto .sanfona { width: 100%; border-color: rgba(255, 255, 255, .12); margin-bottom: 1rem; }
.projeto .sanfona summary { color: var(--escuro-texto); }
.projeto .sanfona summary:hover { color: var(--escuro-link); }
.projeto .lista-check li { color: var(--escuro-suave); }
.projeto .botao { margin-top: auto; }
.etapas-trata { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.etapas-trata li { display: flex; gap: .85rem; color: var(--escuro-suave); font-size: .96rem; }
.etapas-trata .icone { width: 2.2rem; height: 2.2rem; padding: .45rem; border-radius: .75rem; background: rgba(110, 190, 227, .14); color: var(--escuro-link); }
.etapas-trata strong { display: block; color: var(--escuro-texto); }
.fluxo { list-style: none; margin: .25rem 0 1.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; width: 100%; counter-reset: passo; }
.fluxo li { flex: 1 1 5.5rem; display: flex; flex-direction: column; align-items: center; gap: .45rem; text-align: center; font-size: .85rem; color: var(--escuro-suave); position: relative; padding: .9rem .4rem; border-radius: 1rem; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .07); }
.fluxo .icone { width: 1.6rem; height: 1.6rem; color: var(--escuro-link); }
.fluxo li:not(:last-child)::after { content: ""; position: absolute; right: -.42rem; top: 50%; width: .4rem; height: .4rem; border: solid var(--ceu); border-width: 2px 2px 0 0; transform: translateY(-50%) rotate(45deg); z-index: 1; }
@media (max-width: 56rem) { .projetos { grid-template-columns: 1fr; } .projeto { padding: 1.75rem 1.4rem; } }
@media (max-width: 40rem) { .fluxo li:not(:last-child)::after { display: none; } }

/* Depoimentos: carrossel */
.nota-google { display: flex; align-items: center; gap: .6rem; margin: 0; color: var(--suave); }
.nota-numero { font-family: var(--titulo); font-size: 2.2rem; font-weight: 760; color: var(--texto); line-height: 1; }
.estrelas { display: inline-flex; gap: .1rem; color: var(--ouro); }
.estrelas .icone { fill: currentColor; stroke: none; width: 1.1rem; height: 1.1rem; }
.carrossel { position: relative; }
.carrossel-trilho {
  display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * 1.25rem) / 3); gap: 1.25rem;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain;
  padding: .5rem .25rem 1.5rem; margin: 0 -.25rem; scrollbar-width: none;
}
.carrossel-trilho::-webkit-scrollbar { display: none; }
.depoimento { scroll-snap-align: start; display: flex; flex-direction: column; margin: 0; padding: 1.75rem; background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio-organico); box-shadow: 0 1px 2px rgba(31, 44, 59, .04); }
.depoimento .aspas { width: 2.2rem; height: 2.2rem; color: var(--ceu); fill: currentColor; stroke: none; margin-bottom: .75rem; }
.depoimento blockquote { margin: 0 0 1.25rem; flex: 1; }
.depoimento blockquote p { font-family: var(--titulo); font-size: 1.12rem; line-height: 1.5; margin: 0; }
.depoimento figcaption { display: flex; align-items: center; gap: .75rem; font-weight: 650; }
.depoimento figcaption small { display: block; font-weight: 400; color: var(--suave); }
.avatar { width: 2.6rem; height: 2.6rem; flex: none; border-radius: 50% 50% 50% 18%; display: grid; place-items: center; color: #fff; font-family: var(--titulo); font-weight: 700; background: linear-gradient(160deg, var(--ceu), var(--ardosia)); }
.carrossel-controles { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: .5rem; }
.carrossel-botao { width: 2.9rem; height: 2.9rem; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--linha); background: var(--superficie); color: var(--texto); cursor: pointer; transition: background-color .2s ease, transform .2s ease; }
.carrossel-botao:hover { background: var(--nevoa); transform: scale(1.05); }
.carrossel-botao:disabled { opacity: .4; cursor: default; transform: none; }
.carrossel-pontos { display: flex; gap: .4rem; }
.carrossel-pontos button { width: .65rem; height: .65rem; padding: 0; border-radius: 999px; border: 0; background: var(--linha); cursor: pointer; transition: width .3s ease, background-color .3s ease; }
.carrossel-pontos button[aria-current="true"] { width: 1.8rem; background: var(--ceu-medio); }
.links-avaliacoes { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 2rem; margin: 2rem 0 0; }
.links-avaliacoes a { display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; }
@media (max-width: 64rem) { .carrossel-trilho { grid-auto-columns: calc((100% - 1.25rem) / 2); } }
@media (max-width: 40rem) { .carrossel-trilho { grid-auto-columns: 88%; } }

/* Dúvidas */
.secao-duvidas { display: grid; grid-template-columns: .8fr 1.2fr; gap: 3rem; align-items: start; }
.secao-duvidas .secao-topo { position: sticky; top: calc(var(--topo-altura) + 1.5rem); }
.duvidas-cta { margin-top: 1.75rem; }
.duvidas { background: var(--superficie); border: 1px solid var(--linha); border-radius: 1.75rem; padding: .5rem 1.75rem; }
.duvidas .sanfona:first-child { border-top: 0; }
.duvidas .sanfona summary { font-family: var(--titulo); font-size: 1.1rem; padding: 1.15rem 0; }
.duvidas .sanfona-corpo p { color: var(--suave); margin: 0; }
@media (max-width: 56rem) { .secao-duvidas { grid-template-columns: 1fr; gap: 0; } .secao-duvidas .secao-topo { position: static; } .duvidas { padding: .25rem 1.25rem; } }

/* Contato */
.secao-contato { padding-top: 5rem; }
.contato {
  max-width: var(--largura); margin: 0 auto; padding: clamp(2rem, 5vw, 4rem);
  display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; align-items: center;
  background: linear-gradient(140deg, var(--escuro-2), var(--escuro) 70%); color: var(--escuro-texto);
  border-radius: 2.75rem 2.75rem 2.75rem .9rem; position: relative; overflow: hidden;
}
.contato::after { content: ""; position: absolute; width: 22rem; height: 22rem; right: -6rem; bottom: -10rem; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--ceu) 30%, transparent), transparent 70%); pointer-events: none; }
.contato h2 { font-size: clamp(2rem, 1.4rem + 2vw, 2.9rem); letter-spacing: -.025em; margin-bottom: .75rem; }
.contato-texto p { color: var(--escuro-suave); }
.contato .acoes { margin-top: 1.5rem; }
.contato-dados { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; position: relative; z-index: 1; }
.contato-dados li { display: flex; gap: 1rem; align-items: flex-start; padding: 1rem 1.1rem; border-radius: 1.25rem; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .08); }
.contato-dados .icone { width: 2.4rem; height: 2.4rem; padding: .5rem; border-radius: .8rem; background: rgba(110, 190, 227, .15); color: var(--escuro-link); }
.contato-dados small { display: block; color: var(--escuro-suave); font-size: .85rem; }
.contato-dados a { color: var(--escuro-link); font-weight: 600; }
@media (max-width: 56rem) { .contato { grid-template-columns: 1fr; } }

/* Rodapé */
.rodape { padding: 4rem 1.25rem 6rem; color: var(--suave); font-size: .92rem; }
.rodape-interno { max-width: var(--largura); margin: 0 auto; display: grid; grid-template-columns: 1fr auto; gap: 2rem 3rem; }
.rodape-marca .logo { width: 7rem; height: 2.6rem; margin-bottom: .5rem; }
.rodape-marca p { margin: 0; }
.rodape-nav { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; align-items: start; }
.rodape-nav a { color: var(--suave); text-decoration: none; font-weight: 550; }
.rodape-nav a:hover { color: var(--texto); }
.rodape-legal { grid-column: 1 / -1; border-top: 1px solid var(--linha); padding-top: 1.5rem; display: flex; flex-wrap: wrap; gap: .5rem 2rem; }
.rodape-legal p { margin: 0; }
.rodape-legal a + a { margin-left: 1.25rem; }
@media (max-width: 40rem) { .rodape-interno { grid-template-columns: 1fr; } }

/* WhatsApp flutuante */
.whats-flutuante {
  position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 45;
  display: inline-flex; align-items: center; gap: .55rem; height: 3.6rem; padding: 0 1.3rem 0 1.05rem;
  border-radius: 999px; background: var(--verde); color: #fff; font-weight: 700; text-decoration: none;
  box-shadow: 0 10px 28px rgba(18, 128, 74, .4);
  animation: whats-entrar .6s cubic-bezier(.2, .7, .2, 1) 1s both;
  transition: transform .2s ease, box-shadow .2s ease;
}
.whats-flutuante .icone { width: 1.6rem; height: 1.6rem; stroke-width: 1.9; }
.whats-flutuante:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 14px 32px rgba(18, 128, 74, .5); }
.whats-flutuante::before { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 2px solid var(--verde); animation: onda 2.8s ease-out 2s infinite; pointer-events: none; }
@keyframes whats-entrar { from { opacity: 0; transform: translateY(20px) scale(.9); } to { opacity: 1; transform: none; } }
@keyframes onda { 0% { opacity: .7; transform: scale(1); } 70%, 100% { opacity: 0; transform: scale(1.35); } }
@media (max-width: 40rem) {
  .whats-flutuante { width: 3.6rem; padding: 0; justify-content: center; right: 1rem; bottom: 1rem; }
  .whats-flutuante span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* Revelação ao rolar (só com JS; conteúdo já visível ao carregar nunca é escondido) */
.revelar { transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(var(--ordem, 0) * 90ms); }
.revelar.escondido { opacity: 0; transform: translateY(24px); }

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