/* ============================================================
   animations.css — reveal effects, modal, cursor blink
   (Preserved. prefers-reduced-motion added for accessibility)
   ============================================================ */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .7s ease,transform .7s ease;}
.reveal-left.visible{opacity:1;transform:translateX(0);}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .7s ease,transform .7s ease;}
.reveal-right.visible{opacity:1;transform:translateX(0);}
.section-title{font-family:var(--font-display);font-size:clamp(1.2rem,3.5vw,2.4rem);letter-spacing:.12em;margin-bottom:10px;background:linear-gradient(90deg,#fff,var(--neon));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.section-sub{font-size:.72rem;letter-spacing:.3em;color:rgba(76,201,255,.6);margin-bottom:50px;}
.section-line{width:60px;height:1px;background:linear-gradient(90deg,var(--neon),transparent);margin:16px auto 40px;}

/* Accessibility: respect user preference to reduce motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .reveal,.reveal-left,.reveal-right{opacity:1 !important;transform:none !important;}
}
