body {
  background: var(--cor-fundo);
  color: var(--cor-texto);
  font-family: var(--fonte-corpo);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
main { overflow: clip; }
section { position: relative; }
.skip-link {
  position: fixed; left: 16px; top: -60px; z-index: 2000;
  padding: 10px 14px; border-radius: 10px; background: var(--cor-verde-escuro); color: #fff;
  transition: top var(--transicao);
}
.skip-link:focus { top: 16px; }
.whatsapp-float, .top-button {
  position: fixed; right: 20px; z-index: 900; border: 0;
  width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center;
  box-shadow: var(--sombra-flutuante); transition: transform var(--transicao), opacity var(--transicao); will-change: transform;
}
.whatsapp-float { bottom: 22px; isolation: isolate; background: #25D366; color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.20); }
.whatsapp-float::before { content: ""; position: absolute; z-index: -1; inset: -6px; border: 2px solid rgba(37,211,102,.52); border-radius: inherit; animation: whatsapp-pulse 2.1s ease-out infinite; pointer-events: none; }
.whatsapp-float svg { width: 28px; height: 28px; fill: currentColor; }
.whatsapp-float:hover { transform: translateY(-3px) scale(1.03); background: #20C65A; }
@keyframes whatsapp-pulse { 0% { opacity: .85; transform: scale(.82); } 70%,100% { opacity: 0; transform: scale(1.28); } }
@media (prefers-reduced-motion: reduce) { .whatsapp-float::before { animation: none; } }
.top-button { right: 24px; bottom: 104px; width: 46px; height: 46px; background: rgba(23,63,52,.94); color: #fff; opacity: 0; pointer-events: none; font-size: 1.28rem; box-shadow: none; }
.top-button.is-visible { opacity: 1; pointer-events: auto; }
.has-js [data-reveal] { opacity:0; filter:blur(7px); transform:translate3d(0,34px,0) scale(.985); transition:opacity 760ms cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),transform 900ms cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),filter 760ms ease var(--reveal-delay,0ms); }
.has-js [data-reveal].is-visible { opacity:1; filter:none; transform:none; }
@media (prefers-reduced-motion: reduce) { .has-js [data-reveal] { filter:none; transform:none; transition:none; } }
.living-box { will-change:transform,box-shadow; animation:living-box-breathe 8.4s ease-in-out var(--living-delay,0s) infinite; }
.living-box:hover { animation-play-state:paused; transform:translateY(-6px); box-shadow:0 24px 44px rgba(23,63,52,.16),0 0 0 1px rgba(184,140,84,.22); }
@keyframes living-box-breathe { 0%,100% { transform:translate3d(0,0,0); box-shadow:0 10px 26px rgba(23,63,52,.06),0 0 0 rgba(184,140,84,0); } 50% { transform:translate3d(0,-4px,0); box-shadow:0 22px 40px rgba(23,63,52,.13),0 0 24px rgba(184,140,84,.14); } }
@media (prefers-reduced-motion: reduce) { .living-box { animation:none; }.living-box:hover { transform:none; } }
/* Efeito contínuo, aplicado diretamente aos cards e nunca ao formulário de contato. */
body .psicoterapia__content,
body .tcc__cards article,
body .processo__steps > li,
body .artigo-card,
body .artigos__empty {
  transform:translate3d(0,0,0);
  transform-origin:center;
  will-change:transform,box-shadow;
  animation:living-box-breathe-strong 6.8s cubic-bezier(.45,.05,.55,.95) infinite !important;
}
body .tcc__cards article { animation-delay:-1.2s !important; }
body .processo__steps > li:nth-child(2n) { animation-delay:-2.4s !important; }
body .processo__steps > li:nth-child(3n) { animation-delay:-4.1s !important; }
body .artigo-card:nth-child(2n) { animation-delay:-3.4s !important; }
@keyframes living-box-breathe-strong {
  0%,100% { transform:translate3d(0,0,0) scale(1); box-shadow:0 10px 24px rgba(23,63,52,.08),0 0 0 rgba(184,140,84,0); }
  50% { transform:translate3d(0,-7px,0) scale(1.008); box-shadow:0 26px 46px rgba(23,63,52,.17),0 0 26px rgba(184,140,84,.20); }
}
@media (prefers-reduced-motion: reduce) {
  body .psicoterapia__content,body .tcc__cards article,body .processo__steps > li,body .artigo-card,body .artigos__empty { animation:none !important; transform:none; }
}
@media (max-width: 640px) {
  html { scroll-padding-top: 78px; }
  .whatsapp-float { right: 14px; bottom: 18px; width: 50px; height: 50px; }
  .top-button { right: 16px; bottom: 94px; width: 42px; height: 42px; }
}
