/* Project transition: a clicked project card grows into the full-screen hero of its
   project page. .wt-cover (the moving overlay) and .pj-hero (the page hero) share
   the same inner layers, so the hand-off between pages is invisible. */
.wt-media { position: absolute; inset: -16px; overflow: hidden; background: #08080f; }   /* 16px spare on every side so the picture can slide with the mouse without zooming */
.wt-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.wt-shade { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgba(6,7,10,.78) 0%, rgba(6,7,10,.25) 42%, rgba(6,7,10,.15) 70%, rgba(6,7,10,.45) 100%); }
.wt-text { position: absolute; left: var(--pad); right: var(--pad); bottom: clamp(40px, 8vh, 96px); color: #fff; }
.wt-kicker { display: block; overflow: hidden; font-size: clamp(12px, 1.1vw, 15px); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.72); margin-bottom: clamp(12px, 1.6vw, 22px); }
.wt-kicker > span { display: inline-block; }
.wt-title { margin: 0; font-size: clamp(64px, 12vw, 210px); font-weight: 900; letter-spacing: -0.05em; line-height: .86; color: #fff; }
.wt-title .wt-l { display: block; overflow: hidden; padding-bottom: .06em; margin-bottom: -.06em; }
.wt-title .wt-li { display: inline-block; }

/* the moving overlay */
.wt-cover { position: fixed; z-index: 9000; overflow: hidden; pointer-events: none; will-change: top, left, width, height, border-radius; }
.wt-clone { position: absolute; top: 0; left: 0; pointer-events: none; }
.wt-cover .wt-kicker > span, .wt-cover .wt-li { transform: translateY(110%); }
.wt-veil { position: fixed; inset: 0; z-index: 8990; background: #0e1014; opacity: 0; pointer-events: none; }
html.wt-leaving, html.wt-leaving body { cursor: progress; }
html.wt-leaving .cursor-dot, html.wt-leaving .cursor-ring { opacity: 0 !important; }
