:root{
  --motion-fast:220ms;
  --motion-medium:600ms;
  --motion-slow:900ms;
  --ease-premium:cubic-bezier(0.22,1,0.36,1);
  --ease-standard:cubic-bezier(0.4,0,0.2,1);
}

/* dado vivo: pulso discreto, um por tela */
@keyframes brt-dado-vivo{0%,100%{opacity:0.55}50%{opacity:1}}
[data-pulso]{animation:brt-dado-vivo 3s var(--ease-standard) infinite}

/* partícula Bright: ponto de dado percorrendo um caminho */
@keyframes brt-particula-h{0%{transform:translateX(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateX(var(--brt-dist,120px));opacity:0}}
@keyframes brt-glow-chegada{0%,100%{box-shadow:0 0 0 rgba(160,142,95,0)}45%{box-shadow:0 0 44px rgba(160,142,95,0.38)}}

/* setas: avanço de 4px no hover do link */
a span[aria-hidden="true"]:last-child,
button span[aria-hidden="true"]:last-child{display:inline-block;transition:transform var(--motion-fast) var(--ease-premium)}
a:hover span[aria-hidden="true"]:last-child,
button:hover span[aria-hidden="true"]:last-child{transform:translateX(4px)}

/* "+" de disclosure: 90 graus no hover, sublinhado crescendo da esquerda */
summary{cursor:pointer}
summary span[aria-hidden="true"]:last-child{display:inline-block;transition:transform 250ms var(--ease-premium)}
summary:hover span[aria-hidden="true"]:last-child{transform:rotate(90deg)}
summary > span:first-child{position:relative}
summary > span:first-child::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform 250ms var(--ease-premium)}
summary:hover > span:first-child::after{transform:scaleX(1)}

/* menu sobre superfície creme: hover nunca vira creme sobre creme */
header[data-menu][data-menu-tone="light"] [data-nav-link]:hover,
header[data-menu][data-menu-tone="light"] [data-nav-atual]:hover,
header[data-menu][data-menu-tone="light"] [data-nav-link]:focus-visible{color:#0F1822!important}
header[data-menu][data-menu-tone="light"] [data-nav-subitem]:hover [data-nav-sublabel],
header[data-menu][data-menu-tone="light"] [data-nav-subitem]:focus-visible [data-nav-sublabel]{color:#0F1822!important}
header[data-menu][data-menu-tone="light"] [data-nav-subitem]:hover{background:rgba(160,142,95,0.14)!important}
header[data-menu][data-menu-tone="light"] [data-menu-toggle]:hover{color:#0F1822!important}
header[data-menu][data-menu-tone="light"] [data-nav-subatual] [data-nav-sublabel]{color:#8D7C50!important}

/* barra de progressão de dado */
[data-trilha]{transition:width 800ms var(--ease-premium)}

/* sparkline desenhando */
[data-spark-path]{transition:stroke-dashoffset 1100ms var(--ease-premium)}

@media (prefers-reduced-motion:reduce){
  [data-pulso]{animation:none!important;opacity:0.8!important}
  [data-particula],[data-flux-dot]{display:none!important}
  [data-anel],[data-anel-ciclo],[data-termo]{animation:none!important}
  [data-trilha],[data-spark-path]{transition-duration:150ms!important}
  a span[aria-hidden="true"]:last-child,summary span[aria-hidden="true"]:last-child{transition-duration:150ms}
}

/* piso de legibilidade em telas pequenas: rótulos de diagrama, funil e organograma
   ficam abaixo de 10px no desktop por densidade. No celular sobem para 11px. */
@media (max-width:860px){
  body [data-metrica] > div:first-child{font-size:11px!important;letter-spacing:0.14em!important}
  [data-micro]{font-size:11px!important;letter-spacing:0.12em!important;line-height:1.4!important}
  [data-nav-subdesc][data-micro]{font-size:9.5px!important}
}
