/* Respostas curtas e movimento limitado para preservar o foco no conteúdo. */
@media(prefers-reduced-motion:no-preference) {
  html { scroll-behavior: smooth; }
  .cta, .site-header-contact {
    transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease, transform 200ms cubic-bezier(.22,1,.36,1);
  }
  .cta .arrow { transition: transform 200ms cubic-bezier(.22,1,.36,1); }
  .plano-modelo .plano-solution { transition: border-color 220ms ease, transform 220ms cubic-bezier(.22,1,.36,1); }
  .finance-service { transition: border-color 200ms ease, background-color 200ms ease; }
  .implant-step-label, .implant-tabs button { transition: color 180ms ease, background-color 180ms ease; }
  .bv-faq-card .bv-faq-item { transition: border-color 200ms ease; }
  .bv-faq-card .bv-faq-item[open] { border-color: #b68e48; }
  .cta:active, .site-header-contact:active { transform: translateY(1px); }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .cta:hover, .site-header-contact:hover { transform: translateY(-2px); }
  .cta:hover .arrow { transform: translateX(3px); }
  .plano-modelo .plano-solution:hover { transform: translateY(-2px); border-color: #e4bb6655; }
}

/* Native details keep keyboard behavior and exclusive groups while their
   content remains rendered long enough to complete the closing transition. */
@supports (interpolate-size: allow-keywords) {
  @media(prefers-reduced-motion:no-preference) {
    .bv-faq-item, .finance-service { interpolate-size: allow-keywords; }
    .bv-faq-item::details-content, .finance-service::details-content {
      block-size: 0;
      opacity: 0;
      overflow: clip;
      transition: block-size 360ms cubic-bezier(.22,1,.36,1), opacity 240ms ease,
        content-visibility 360ms allow-discrete;
    }
    .bv-faq-item[open]::details-content, .finance-service[open]::details-content {
      block-size: auto;
      opacity: 1;
    }
  }
}
