/* RUBEN — pinned hero slider (2026-09-05), companion to assets/js/ruben-hero-pin.js.
   Swiper 8 ships its `overflow: hidden` on `.swiper`; the template markup still uses
   the Swiper 6 class `.swiper-container`, so the hero container clips nothing and the
   parallax-shifted neighbour slides (±600 px) spill below the hero once the pin
   releases. Clip the hero to its own 100vh box. */
.portfolio-4,
.portfolio-4 .swiper-container.portfolio-4-activ { overflow: hidden; }

/* Whatever shows through a gap (a slide transition seam, a viewport that grows when the
   mobile address bar hides) must be the hero's own dark, never the page colour. */
.portfolio-4,
.portfolio-4 .swiper-container.portfolio-4-activ,
.portfolio-4 .swiper-slide { background-color: #111111; }
