/* overlays */
    .reveal {
      opacity: 0;
      transform: translateY(22px);
      transition: opacity .8s ease, transform .8s cubic-bezier(.22,1,.36,1);
    }
    .reveal.in-view { opacity: 1; transform: translateY(0); }

    @media (max-width: 920px) {
      .work-section { grid-template-columns: 1fr; gap: 34px; }
      .work-rail { position: static; gap: 28px; }
      .work-list { gap: 16px; }
      .work-section .project-context { position: static; text-align: left; margin-top: 18px; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
      .line-mask span { transform: none; }
      .eyebrow, .reveal, .project-card { opacity: 1; transform: none; }
    }
