/* Prototype for protected Preview (not approved for Production): time-based section reveal for the Homepage
   (see reveal.js). Same motion language as Website Design and Managed Enquiries: opacity and a 12px rise, about half a
   second on phones and tablets, about a second with a gentle start on desktop. Transitions run only while a block is
   revealing (data-lw-reveal="in"), so marking hides instantly. The individual `translate` property leaves every
   element's own `transform` untouched. Without JavaScript, with reduced motion or in print the page is fully static.
   The hero and the rotating L are never affected. */
@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; }
  /* "Our approach" on desktop: heading, then the copy column (its divider draws down) with its intro and description, then the button. */
  .lw-reveal-ready [data-lw-reveal="in"][data-lw-step="1"] { transition-delay: .16s; }
  .lw-reveal-ready [data-lw-reveal="in"][data-lw-step="2"] { transition-delay: .52s; }
  .lw-reveal-ready [data-lw-seq][data-lw-reveal="in"] > :nth-child(1) { transition-delay: .2s; }
  .lw-reveal-ready [data-lw-seq][data-lw-reveal="in"] > :nth-child(2) { transition-delay: .36s; }
  .lw-reveal-ready [data-lw-seq][data-lw-reveal="in"] > :nth-child(3) { transition-delay: .52s; }
  .lw-reveal-ready .home-approach-copy[data-lw-seq]::before { transform-origin: 50% 0; }
  .lw-reveal-ready .home-approach-copy[data-lw-seq][data-lw-reveal=""]::before { transform: scaleY(0); }
  .lw-reveal-ready .home-approach-copy[data-lw-seq][data-lw-reveal="in"]::before { transition: transform 1s cubic-bezier(.2, .65, .25, 1) .16s; }
  /* Desktop (1024px and wider): the same 12px rise and fade over about a second with a gentle start and a long settle. */
  @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-reveal="in"][data-lw-step="1"] { transition-delay: .16s; }
    .lw-reveal-ready [data-lw-reveal="in"][data-lw-step="2"] { transition-delay: .52s; }
    .lw-reveal-ready [data-lw-seq][data-lw-reveal="in"] > :nth-child(1) { transition-delay: .2s; }
    .lw-reveal-ready [data-lw-seq][data-lw-reveal="in"] > :nth-child(2) { transition-delay: .36s; }
    .lw-reveal-ready [data-lw-seq][data-lw-reveal="in"] > :nth-child(3) { transition-delay: .52s; }
  }
  /* 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; }
}
