/* Revisão 05: microinterações independentes da estrutura e dos conteúdos. */
.meta .bar i { animation: none; }
.top {
  transition: background-color 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
.top.has-scrolled {
  background: rgba(255, 255, 255, .985);
  border-bottom-color: #d5d9e1;
  box-shadow: 0 6px 22px -10px rgba(42, 15, 46, .22);
}

@media (prefers-reduced-motion: no-preference) {
  /* Só o JS, após confirmar IO + WAAPI, adiciona este estado. */
  [data-motion-pending="true"].motion-pending {
    opacity: 0;
    transform: translateY(32px);
    transition: none !important;
  }
  [data-motion-pending="true"].motion-pending:focus-within {
    opacity: 1;
    transform: none;
  }
  .nav a {
    position: relative;
    transition: color 180ms ease, background-color 180ms ease;
  }
  .nav a::after {
    content: "";
    position: absolute;
    right: 10px;
    bottom: 5px;
    left: 10px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 220ms cubic-bezier(.2, .7, .2, 1);
    pointer-events: none;
  }
  .nav a.active::after,
  .nav a:focus-visible::after { transform: scaleX(1); }
  .btn svg {
    transition: transform 220ms cubic-bezier(.2, .7, .2, 1);
  }
  .btn:focus-visible svg { transform: translateX(3px); }
  .benefit-card,
  .mod,
  .int,
  .award,
  .chart {
    transition: transform 240ms cubic-bezier(.2, .7, .2, 1), box-shadow 240ms ease, border-color 240ms ease;
  }
  .faq details {
    transition: border-color 200ms ease, box-shadow 200ms ease;
  }
  .faq details[open] {
    border-color: #d6bcc7;
    box-shadow: 0 4px 16px -10px rgba(42, 15, 46, .18);
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .nav a:hover::after { transform: scaleX(1); }
  .btn:hover svg { transform: translateX(3px); }
  .benefit-card:hover,
  .mod:hover {
    transform: translateY(-3px);
    border-color: #d2bcc7;
    box-shadow: 0 10px 24px -14px rgba(42, 15, 46, .24);
  }
  .int:hover {
    transform: translateY(-3px);
    border-color: rgba(255, 250, 255, .35);
    box-shadow: 0 10px 24px -14px rgba(0, 0, 0, .32);
  }
  .award:hover,
  .chart:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px -16px rgba(42, 15, 46, .24);
  }
}

/* Sem movimentos e sem dependência de JavaScript para mostrar conteúdo. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  [data-motion-pending="true"].motion-pending {
    opacity: 1 !important;
    transform: none !important;
  }
  .benefit-card:hover,
  .mod:hover,
  .int:hover,
  .award:hover,
  .chart:hover,
  .btn:hover,
  .btn svg { transform: none !important; }
  .nav a::after { display: none; }
  html { scroll-behavior: auto; }
}
@media print {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  [data-motion-pending="true"].motion-pending {
    opacity: 1 !important;
    transform: none !important;
  }
  .benefit-card, .mod, .int, .award, .chart, .btn, .btn svg { transform: none !important; }
  .top.has-scrolled { box-shadow: none; }
  .nav a::after { display: none; }
}
