/* PROTOTYPE (not approved): time-based section reveal for the Managed Enquiries page (see reveal.js).
   Transitions run only while a section is revealing (data-lw-reveal="in"), so marking hides instantly.
   Opacity and a 12px rise, eased out over about half a second; the individual `translate` property leaves every
   element's own `transform` (hover lifts, glows) untouched. The hidden state exists only while reveal.js has marked
   a section (data-lw-reveal=""), so without JavaScript, with reduced motion or in print the page is fully static.
   Process sequence: the panel first, then steps 01, 02, 03 at 120 ms intervals, each divider drawing downwards
   just before the step beside it. */
@media (prefers-reduced-motion: no-preference) {
  .lw-reveal-ready [data-lw-reveal="in"],
  .lw-reveal-ready [data-lw-seq][data-lw-reveal="in"] > * {
    transition: opacity .5s cubic-bezier(.22, .61, .36, 1), translate .6s cubic-bezier(.22, .61, .36, 1);
  }
  .lw-reveal-ready [data-lw-reveal=""],
  .lw-reveal-ready [data-lw-seq][data-lw-reveal=""] > * { opacity: 0; translate: 0 12px; }
  .lw-reveal-ready [data-lw-seq][data-lw-reveal="in"] > :nth-child(1) { transition-delay: .12s; }
  .lw-reveal-ready [data-lw-seq][data-lw-reveal="in"] > :nth-child(2) { transition-delay: .24s; }
  .lw-reveal-ready [data-lw-seq][data-lw-reveal="in"] > :nth-child(3) { transition-delay: .36s; }
  .lw-reveal-ready .process-grid[data-lw-seq] > .process-step + .process-step::before { transform-origin: 50% 0; }
  .lw-reveal-ready .process-grid[data-lw-seq][data-lw-reveal="in"] > .process-step + .process-step::before {
    transform-origin: 50% 0; transition: transform .6s cubic-bezier(.22, .61, .36, 1) .18s;
  }
  .lw-reveal-ready .process-grid[data-lw-seq][data-lw-reveal="in"] > .process-step:nth-child(3)::before { transition-delay: .3s; }
  .lw-reveal-ready .process-grid[data-lw-seq][data-lw-reveal=""] > .process-step + .process-step::before { transform: scaleY(0); }
  /* Desktop (1024px and wider): larger panels read as abrupt at phone timing, so the same 12px rise and fade play
     over about a second with a gentle start and a long settle, and sequence items are 160 ms apart. */
  @media (min-width: 1024px) {
    .lw-reveal-ready [data-lw-reveal="in"],
    .lw-reveal-ready [data-lw-seq][data-lw-reveal="in"] > * {
      transition: opacity .9s cubic-bezier(.25, .1, .25, 1), translate 1.1s cubic-bezier(.2, .65, .25, 1);
    }
    .lw-reveal-ready [data-lw-seq][data-lw-reveal="in"] > :nth-child(1) { transition-delay: 0.14s; }
    .lw-reveal-ready [data-lw-seq][data-lw-reveal="in"] > :nth-child(2) { transition-delay: 0.30s; }
    .lw-reveal-ready [data-lw-seq][data-lw-reveal="in"] > :nth-child(3) { transition-delay: 0.46s; }
    .lw-reveal-ready .process-grid[data-lw-seq][data-lw-reveal="in"] > .process-step + .process-step::before { transition-duration: 1s; transition-delay: .26s; }
    .lw-reveal-ready .process-grid[data-lw-seq][data-lw-reveal="in"] > .process-step:nth-child(3)::before { transition-delay: .42s; }
  }
  /* Keyboard and assistive focus: always fully visible, never mid-transition. */
  .lw-reveal-ready [data-lw-reveal]:focus-within,
  .lw-reveal-ready [data-lw-seq]:focus-within > * { opacity: 1; translate: none; transition: none; }
}
@media print {
  .lw-reveal-ready [data-lw-reveal], .lw-reveal-ready [data-lw-seq] > * { opacity: 1 !important; translate: none !important; }
}
