 .hp-gallery { background: var(--bg); padding: var(--section-pad) 0; overflow: hidden; }
  .hp-gal-header { margin-bottom: 64px; text-align: center; }
  .hp-gal-stage { position: relative; height: 520px; display: flex; align-items: center; justify-content: center; }
  .hp-gal-track { position: relative; width: 100%; height: 100%; overflow: hidden;}

  .hp-gal-slide {
      position: absolute; top: 50%; left: 50%;
      width: 52%; aspect-ratio: 16 / 10; overflow: hidden;
      transform: translate(-50%, -50%) scale(0.72); opacity: 0;
      transition: transform 0.75s cubic-bezier(.16,1,.3,1), opacity 0.75s ease, left 0.75s cubic-bezier(.16,1,.3,1);
      cursor: pointer; pointer-events: none;
  }
  .hp-gal-slide img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.9s
  cubic-bezier(.16,1,.3,1); }

  /* Position classes toggled by JS */
  .hp-gal-slide.pos-active { left: 50%; transform: translate(-50%,-50%) scale(1); opacity: 1; z-index: 3;
  pointer-events: auto; }
  .hp-gal-slide.pos-active:hover img { transform: scale(1.04); }
  .hp-gal-slide.pos-prev { left: 20%; transform: translate(-50%,-50%) scale(0.72); opacity: 0.38; z-index: 2;
  pointer-events: auto; }
  .hp-gal-slide.pos-next { left: 80%; transform: translate(-50%,-50%) scale(0.72); opacity: 0.38; z-index: 2;
  pointer-events: auto; }

  /* Arrows */
  .hp-gal-arrow {
      position: absolute; top: 50%; transform: translateY(-50%); z-index: 10;
      width: 52px; height: 52px; background: #fff; border: 1px solid rgba(26,26,26,0.12);
      border-radius: 50%; display: flex; align-items: center; justify-content: center;
      cursor: pointer; color: var(--text); transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s
  ease;
      box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  }
  .hp-gal-arrow:hover { background: var(--gold); border-color: var(--gold); color: #fff; transform: translateY(-50%)
  scale(1.08); }
  .hp-gal-prev { left: 32px; }
  .hp-gal-next { right: 32px; }

  /* Dots */
  .hp-gal-dots { position: absolute; bottom: -40px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; align-items: center;}
  .hp-gal-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(26,26,26,0.2); cursor: pointer; transition: background 0.3s ease, transform 0.3s ease; padding: 0px;}
  .hp-gal-dot.active { background: var(--gold); transform: scale(1.4); }

  /* Responsive */
  @media (max-width: 900px) {
      .hp-gal-stage { height: 380px; }
      .hp-gal-slide { width: 70%; }
      .hp-gal-slide.pos-prev { left: 10%; }
      .hp-gal-slide.pos-next { left: 90%; }
  }
  @media (max-width: 600px) {
      .hp-gal-stage { height: 280px; }
      .hp-gal-slide { width: 85%; }
      .hp-gal-slide.pos-prev, .hp-gal-slide.pos-next { opacity: 0.2; }
  }