.pg-gallery{max-width:1100px;margin:48px auto;padding:0 16px}
.pg-gallery__head h2{margin:0 0 10px;font-size:clamp(20px,2.2vw,28px);font-weight:700;letter-spacing:-.02em}

.pg-slider{
  position:relative; overflow:hidden; border-radius:18px;
  background:#0b1320; box-shadow:0 10px 30px rgba(0,0,0,.12);
}
.pg-track{
  display:flex;
  transition:transform .45s ease;
  will-change:transform;
}
.pg-slide{min-width:100%}
.pg-slide img{
  width:100%;
  height:clamp(240px,48vw,520px);
  object-fit:cover;
  display:block;
}

.pg-btn{
  position:absolute; top:50%; transform:translateY(-50%);
  width:46px; height:46px; border-radius:999px;
  border:0; cursor:pointer;
  display:grid; place-items:center;
  font-size:28px; line-height:1;
  color:#fff; background:rgba(0,0,0,.35);
  backdrop-filter:blur(6px);
  transition:background .15s ease, transform .15s ease;
  z-index:5;
}
.pg-btn:hover{background:rgba(0,0,0,.55); transform:translateY(-50%) scale(1.04)}
.pg-prev{left:14px}
.pg-next{right:14px}

.pg-dots{
  position:absolute; left:0; right:0; bottom:14px;
  display:flex; justify-content:center; gap:8px;
  z-index:5;
}
.pg-dot{
  width:9px; height:9px; border-radius:999px;
  background:rgba(255,255,255,.45);
  cursor:pointer;
  transition:transform .15s ease, background .15s ease;
}
.pg-dot:hover{transform:scale(1.2); background:rgba(255,255,255,.75)}
.pg-dot.is-active{background:#fff; transform:scale(1.25)}