/* ===== Entrada por rolagem (docs/animacoes-rolagem-de-pagina.md) ===== */
[data-entra] {
  opacity: 0;
  transform: translateY(26px);
}

[data-entra][data-visivel] {
  opacity: 1;
  transform: none;
}

[data-risco] {
  transform: scaleX(0);
  transform-origin: left center;
}

[data-risco][data-visivel] {
  transform: scaleX(1);
}

[data-barra] {
  transform: scaleX(0);
  transform-origin: left center;
}

[data-visivel] [data-barra] {
  transform: scaleX(1);
}

[data-check],
[data-bastao] {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

[data-bastao] {
  opacity: 0.3;
}

[data-visivel] [data-bastao] {
  stroke-dashoffset: 0;
  opacity: 1;
}

[data-visivel] [data-check] {
  stroke-dashoffset: 0;
}

[data-flecha] path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 0.75s ease-out 0.15s;
}

[data-visivel] [data-flecha] path {
  stroke-dashoffset: 0;
}

[data-mini] img {
  transition: transform 0.7s cubic-bezier(.22, .61, .36, 1);
}

[data-mini]:hover img {
  transform: scale(1.13);
}

/* ===== Acordeão / timeline ===== */
[data-corpo] {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.42s cubic-bezier(.22, .61, .36, 1);
}

[data-corpo] > div {
  overflow: hidden;
}

[data-texto] {
  opacity: 0;
  transform: translateY(-5px);
  transition: opacity 0.3s ease 0.06s, transform 0.3s ease 0.06s;
}

[data-realce] {
  opacity: 0;
  transition: opacity 0.25s ease;
}

[data-dica] {
  transition: opacity 0.2s ease;
}

[data-seta] {
  transition: transform 0.32s cubic-bezier(.22, .61, .36, 1);
}

@media (hover: hover) {
  [data-marco]:hover [data-corpo] { grid-template-rows: 1fr; }
  [data-marco]:hover [data-texto] { opacity: 1; transform: none; }
  [data-marco]:hover [data-realce] { opacity: 1; }
  [data-marco]:hover [data-dica] { opacity: 0; }
  [data-marco]:hover [data-seta] { transform: rotate(180deg); }
}

@media (hover: none) {
  [data-dica] { display: none; }
}

[data-marco][data-aberto] [data-corpo] { grid-template-rows: 1fr; }
[data-marco][data-aberto] [data-texto] { opacity: 1; transform: none; }
[data-marco][data-aberto] [data-realce] { opacity: 1; }
[data-marco][data-aberto] [data-dica] { opacity: 0; }
[data-marco][data-aberto] [data-seta] { transform: rotate(180deg); }

/* ===== Utilitários de transição (stagger) ===== */
.legado-reveal {
  transition:
    opacity 0.85s cubic-bezier(.22, .61, .36, 1),
    transform 0.85s cubic-bezier(.22, .61, .36, 1);
}

.legado-reveal--card {
  transition:
    opacity 0.7s cubic-bezier(.22, .61, .36, 1),
    transform 0.7s cubic-bezier(.22, .61, .36, 1);
}

.legado-reveal--d1 {
  transition:
    opacity 0.7s cubic-bezier(.22, .61, .36, 1) 0.1s,
    transform 0.7s cubic-bezier(.22, .61, .36, 1) 0.1s;
}

.legado-reveal--d2 {
  transition:
    opacity 0.7s cubic-bezier(.22, .61, .36, 1) 0.2s,
    transform 0.7s cubic-bezier(.22, .61, .36, 1) 0.2s;
}

.legado-reveal--d3 {
  transition:
    opacity 0.7s cubic-bezier(.22, .61, .36, 1) 0.3s,
    transform 0.7s cubic-bezier(.22, .61, .36, 1) 0.3s;
}

.legado-reveal--d4 {
  transition:
    opacity 0.7s cubic-bezier(.22, .61, .36, 1) 0.4s,
    transform 0.7s cubic-bezier(.22, .61, .36, 1) 0.4s;
}

.legado-risco-anim {
  transition: transform 0.9s cubic-bezier(.22, .61, .36, 1) 0.1s;
}

/* Regras da home: centralizadas — crescer a partir do centro */
.legado-rule[data-risco],
.legado-areas__rule[data-risco],
.legado-historia__rule[data-risco],
.legado-depo__rule[data-risco],
.legado-academy__rule[data-risco] {
  transform-origin: center center;
}

/* ===== Acessibilidade ===== */
@media (prefers-reduced-motion: reduce) {
  [data-entra] {
    opacity: 1;
    transform: none;
  }

  [data-risco] {
    transform: scaleX(1);
  }

  [data-flecha] path,
  [data-check],
  [data-bastao] {
    stroke-dashoffset: 0 !important;
    opacity: 1 !important;
  }

  [data-barra] {
    transform: scaleX(1) !important;
  }
}
