 body {
      background: #fdfdfd;
      color: #111;
    }

    /* Section Title */
    .gallery-title {
      text-align: center;
      font-family: 'Playfair Display', serif;
      font-size: 2.5rem;
      margin-bottom: 40px;
      position: relative;
    }
    .gallery-title span {
      color: #D4AF37;
    }

    /* Tabs */
    .nav-tabs {
      justify-content: center;
      border-bottom: none;
      margin-bottom: 30px;
    }
    .nav-tabs .nav-link {
      font-weight: 600;
      font-size: 1.1rem;
      color: #111;
      margin: 0 15px;
      position: relative;
      border: none;
      background: none;
    }
    .nav-tabs .nav-link.active {
      color: #D4AF37;
    }
    .nav-tabs .nav-link::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: -6px;
      width: 100%;
      height: 3px;
      background: #D4AF37;
      transform: scaleX(0);
      transition: transform 0.3s ease;
      transform-origin: right;
    }
    .nav-tabs .nav-link.active::after {
      transform: scaleX(1);
      transform-origin: left;
    }

    /* Image Grid */
    .image-grid {
      column-count: 3;
      column-gap: 15px;
    }
    .image-grid-item {
      margin-bottom: 15px;
      position: relative;
      overflow: hidden;
      border-radius: 12px;
      cursor: pointer;
      transition: transform 0.3s ease;
    }
    .image-grid-item img {
      width: 100%;
      border-radius: 12px;
      transition: transform 0.5s ease;
    }
    .image-grid-item:hover img {
      transform: scale(1.1);
    }
    .image-grid-item::after {
      content: attr(data-title);
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: rgba(0,0,0,0.6);
      color: #fff;
      text-align: center;
      padding: 10px;
      font-size: 0.95rem;
      opacity: 0;
      transition: opacity 0.3s;
    }
    .image-grid-item:hover::after {
      opacity: 1;
    }

    /* Video Cards */
    .video-card {
      position: relative;
      border-radius: 15px;
      overflow: hidden;
      margin-bottom: 25px;
      box-shadow: 0 5px 15px rgba(0,0,0,0.15);
      transition: transform 0.3s ease;
    }
    .video-card img {
      width: 100%;
      display: block;
    }
    .video-card:hover {
      transform: translateY(-5px);
    }
    .video-overlay {
      position: absolute;
      inset: 0;
      background: rgba(0,0,0,0.4);
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.3s;
    }
    .video-overlay i {
      font-size: 2.5rem;
      color: #fff;
      background: #D4AF37;
      border-radius: 50%;
      padding: 15px 18px;
    }
    .video-card:hover .video-overlay {
      background: rgba(0,0,0,0.6);
    }