/* overlays */
    .cookie {
      position: fixed;
      right: 22px;
      bottom: 22px;
      display: flex;
      align-items: center;
      gap: 8px;
      z-index: 60;
      color: #a0a0a0;
      font-size: 13px;
      opacity: 0;
      transform: translateY(14px);
      transition: opacity .2s ease, transform .2s ease;
    }
    .cookie.show { opacity: 1; transform: translateY(0); }
    .cookie button {
      width: 42px;
      height: 42px;
      border: 1px solid rgba(255,255,255,.08);
      background: #111;
      cursor: none;
      border-radius: 2px;
    }

    .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) {
      body { cursor: auto; }
      .cursor, .cursor-ring { display: none; }
      .hero { min-height: 100svh; padding: 150px var(--pad) 54px; }
      .hero-copy { position: relative; top: auto; padding-bottom: 0; }
      .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; }
      .project-card { min-height: 420px; }
      .about-grid, .dispatch-grid, .contact-row, .company-grid { grid-template-columns: 1fr; }
      .footer { grid-template-columns: 1fr; }
      .footer nav { justify-self: start; flex-wrap: wrap; }
    }

    @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; }
    }
