

      .container.gallery {
        padding-top: 20px;
        padding-bottom: 20px;
      }

      .page-loader {
        position: fixed;
        inset: var(--header-height) 0 0;
        z-index: 9998;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 14px;
        background: rgba(0, 0, 0, 0.72);
        color: #ffffff;
        opacity: 1;
        visibility: visible;
        transition: opacity 0.2s ease, visibility 0.2s ease;
      }

      .page-loader.is-hidden {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
      }

      .page-loader-spinner {
        width: 52px;
        height: 52px;
        border: 4px solid rgba(255, 255, 255, 0.28);
        border-top-color: #ffffff;
        border-radius: 50%;
        animation: previewLoaderSpin 0.8s linear infinite;
      }

      .page-loader-text {
        font-size: 15px;
        font-weight: 700;
      }

      .product-section {
        margin-bottom: 32px;
        scroll-margin-top: calc(var(--header-height) + 16px);
      }

      .product-header {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin-bottom: 12px;
      }

      .product-header h2,
      .product-header p {
        text-align: center;
        color: #fff;
        font-size: 17px;
        margin-left: auto;
        margin-right: auto;
      }

      .product-header h2 {
        font-size: 50px;
        font-weight: 700;
        line-height: 1.05;
        max-width: 610px;
      }

      .product-header p {
        max-width: 600px;
      }

      .preview-wrap {
        position: relative;
        margin-bottom: 18px;
        background: #000;
        border-radius: 8px;
        overflow: hidden;
      }

      .preview-stage {
        position: relative;
        width: 100%;
        height: 420px;
        max-height: 420px;
        background: #000;
      }

      .preview-stage.is-loading::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 48px;
        height: 48px;
        margin: -24px 0 0 -24px;
        border: 4px solid rgba(255, 255, 255, 0.28);
        border-top-color: #ffffff;
        border-radius: 50%;
        animation: previewLoaderSpin 0.8s linear infinite;
        z-index: 1;
      }

      .preview-stage.is-loading::after {
        content: "Loading...";
        position: absolute;
        top: calc(50% + 38px);
        left: 0;
        width: 100%;
        color: #ffffff;
        font-size: 14px;
        text-align: center;
        z-index: 1;
      }

      @keyframes previewLoaderSpin {
        to {
          transform: rotate(360deg);
        }
      }

      .preview-media {
        width: 100%;
        height: 420px;
        max-height: 420px;
        object-fit: contain;
        display: block;
        background: #000;
      }

      .preview-video {
        width: 100%;
        height: 420px;
        max-height: 420px;
        object-fit: contain;
      }

      .preview-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 42px;
        height: 42px;
        border: 0;
        padding: 0;
        border-radius: 50%;
        background: rgba(0, 0, 0, 0.45);
        color: #fff;
        font-size: 28px;
        line-height: 42px;
        text-align: center;
        cursor: pointer;
        z-index: 2;
      }

      .preview-nav:hover {
        background: rgba(0, 0, 0, 0.65);
      }

      .preview-nav.prev {
        left: 12px;
      }

      .preview-nav.next {
        right: 12px;
      }

      .owl-carousel .slide {
        overflow: hidden;
        cursor: pointer;
      }

      .thumb-item {
        width: 100%;
        padding: 0;
        border: 2px solid transparent;
        background: #000;
        border-radius: 6px;
        overflow: hidden;
        display: block;
        cursor: pointer;
        transition: border-color 0.2s ease, transform 0.2s ease;
      }

      .thumb-item.active {
        border-color: #0d6efd;
        transform: scale(0.98);
      }

      .thumb-image {
        width: 100%;
        height: 150px;
        object-fit: cover;
        display: block;
      }

      .thumb-video-thumb {
        width: 100%;
        height: 150px;
        display: block;
        background: #111;
      }

      .thumb-video-item {
        position: relative;
      }

      .thumb-video-overlay {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 42px;
        height: 42px;
        border-radius: 999px;
        background: rgba(0, 0, 0, 0.55);
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        line-height: 1;
        pointer-events: none;
      }

      .thumb-video-thumb.loading {
        background: linear-gradient(135deg, #1b1b1b, #2d2d2d);
      }

      @media (max-width: 768px) {
        .site-header {
          min-height: auto;
          flex-direction: column;
          align-items: flex-start;
          gap: 18px;
          padding: 16px 18px 18px;
        }

        .brand-mark {
          width: 54px;
          height: 54px;
          flex-basis: 54px;
        }

        .brand-text .brand-line-1 {
          font-size: 24px;
        }

        .brand-text .brand-line-2 {
          font-size: 26px;
        }

        .site-nav {
          width: 100%;
          justify-content: space-between;
          gap: 10px;
        }

        .site-nav a {
          font-size: 8px;
        }

        .preview-stage,
        .preview-media,
        .preview-video {
          height: 260px;
          max-height: 260px;
        }

        .preview-nav {
          width: 36px;
          height: 36px;
          font-size: 24px;
          line-height: 36px;
        }

        .thumb-image,
        .thumb-video-thumb {
          height: 110px;
        }
      }

      .gallery-sentinel {
        height: 1px;
      }
