/* Animations: top bar slides in on load, the rest reveals top-to-bottom while scrolling */
@keyframes slideDown {
  from { opacity: 0; transform: translateY(-28px); }
  to   { opacity: 1; transform: none; }
}
.topbar     { animation: slideDown .6s ease backwards; }
.scope      { animation: slideDown .6s ease .15s backwards; }
.scope-note { animation: slideDown .6s ease .25s backwards; }
.detail:not([hidden]) { animation: slideDown .5s ease backwards; }

/* Added by script.js; removed again once the reveal finishes */
.reveal { opacity: 0; transform: translateY(-28px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in { opacity: 1; transform: none; }
