/* Progressive enhancement: without JS, all static content is visible. */
.process-explanation > span{display:block}
@keyframes bigser-text-enter{
  from{opacity:0;transform:translateY(calc(var(--entrance-y,26px) * var(--entrance-direction,1))) scale(var(--entrance-scale,1))}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:no-preference){
  .reveal-pending{opacity:0;transform:translateY(calc(var(--entrance-y,26px) * var(--entrance-direction,1))) scale(var(--entrance-scale,1))}
  .reveal-entering{animation:bigser-text-enter var(--entrance-duration,1400ms) cubic-bezier(.22,.65,.25,1) var(--entrance-delay,0ms) both}
  /* Headings settle from above; supporting copy rises to meet them. */
  .reveal-pending:is(h1,h2,h3,.eyebrow),
  .reveal-entering:is(h1,h2,h3,.eyebrow){--entrance-direction:-1}
  p.reveal-pending,p.reveal-entering,.process-explanation{--entrance-y:24px;--entrance-duration:1250ms}
  .eyebrow.reveal-pending,.eyebrow.reveal-entering,.site-footer{--entrance-y:12px;--entrance-duration:1100ms}
}
@media(max-width:700px){
  .reveal-pending,.reveal-entering{--entrance-y:16px;--entrance-duration:1100ms}
  p.reveal-pending,p.reveal-entering,.process-explanation{--entrance-y:14px;--entrance-duration:1000ms}
}
@media(prefers-reduced-motion:reduce){
  .reveal-pending,.reveal-entering{opacity:1!important;transform:none!important;animation:none!important}
}
@media print{
  .reveal-pending,.reveal-entering{opacity:1!important;transform:none!important;animation:none!important}
}

/* Shared messenger controls settle one by one, independently of section motion.
   Backwards fill releases the transform after entry, preserving button hover. */
@keyframes bigser-messenger-enter{
  from{opacity:0;transform:translateY(22px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.bigser-messenger:nth-child(1){--messenger-entry-delay:0ms}
.bigser-messenger:nth-child(2){--messenger-entry-delay:520ms}
.bigser-messenger:nth-child(3){--messenger-entry-delay:1040ms}
@media(prefers-reduced-motion:no-preference){
  .request-chats .bigser-messenger.reveal-pending,
  .request-chats .bigser-messenger.reveal-entering{--entrance-y:22px;--entrance-scale:.96;--entrance-duration:1300ms}
  #quiz .quiz-messengers .bigser-messenger{
    animation:bigser-messenger-enter 1200ms cubic-bezier(.22,.65,.25,1) calc(100ms + var(--messenger-entry-delay)) backwards;
  }
}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
  .request-chats .bigser-messenger.reveal-pending,
  .request-chats .bigser-messenger.reveal-entering{--entrance-y:16px;--entrance-duration:1100ms}
  #quiz .quiz-messengers .bigser-messenger{animation-duration:1100ms}
}
@media(prefers-reduced-motion:reduce){
  .request-final .request-chats .bigser-messenger,#quiz .quiz-messengers .bigser-messenger{opacity:1!important;transform:none!important;animation:none!important}
}
@media print{
  .request-final .request-chats .bigser-messenger,#quiz .quiz-messengers .bigser-messenger{opacity:1!important;transform:none!important;animation:none!important}
}
/* Keyboard access must never wait for the visual stagger. */
.request-chats .bigser-messenger:focus-visible,#quiz .quiz-messengers .bigser-messenger:focus-visible{opacity:1!important;animation:none!important}
