.bp-hub-gallery {
    padding: 70px 0 110px;
    background-image:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px),
        radial-gradient(ellipse at 50% 80%, rgba(40,109,217,.35), rgba(40,109,217,0) 60%);
    background-size: 154px 154px, 154px 154px, 100% 100%;
}
.bp-hub-gallery-title { font-size: clamp(1.5rem, 2.1vw, 2.5rem); margin-bottom: 70px; }
.bp-hub-gallery-wall { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.bp-hub-gcard { aspect-ratio: 244 / 310; perspective: 1200px; }
.bp-hub-gcard-inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; }
.bp-hub-gcard.is-flipping .bp-hub-gcard-inner { transform: rotateY(180deg); transition: transform 600ms cubic-bezier(.45, .05, .25, 1); }
.bp-hub-gcard-front, .bp-hub-gcard-back {
    position: absolute; inset: 0; border-radius: 14px; overflow: hidden; backface-visibility: hidden;
    display: flex; align-items: center; justify-content: center;
}
.bp-hub-gcard-back { transform: rotateY(180deg); }
.bp-hub-gcard img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bp-hub-gword { font-weight: 800; color: #fff; font-size: clamp(2.2rem, 3.6vw, 4.6rem); line-height: .95; text-align: left; }
.bp-hub-gword--c { font-size: clamp(8rem, 13vw, 15rem); color: transparent; -webkit-text-stroke: 3px #fff; font-weight: 600; }
@media (max-width: 767px) {
    .bp-hub-gallery { padding: 40px 0 60px; background-size: 96px 96px, 96px 96px, 100% 100%; }
    .bp-hub-gallery-title { margin-bottom: 32px; }
    .bp-hub-gallery-wall { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .bp-hub-gword { font-size: 3rem; }
    .bp-hub-gword--c { font-size: 10rem; }
}
