    /* ===== General Styles ===== */
    body {
      font-family: 'Poppins', sans-serif;
      margin: 0;
      padding: 0;
      background: #f9f9f9;
      color: #333;
    }

    header {
      padding: 20px 30px;
      background-color: #1f2937;
      color: #fff;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    header h1 {
      margin: 0;
      font-size: 28px;
    }

    header a {
      color: #fff;
      text-decoration: none;
      font-weight: 500;
      transition: color 0.3s ease;
    }

    header a:hover {
      color: #fbbf24;
    }

    /* ===== Gallery ===== */
    .gallery-container {
      padding: 30px;
      display: flex;
      flex-direction: column;
      gap: 30px;
    }

    .gallery-row {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
    }

    .gallery-item {
      flex: 1 1 calc(20% - 20px);
      /* 5 per row */
      background: #fff;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
      text-align: center;
      cursor: pointer;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      display: flex;
      flex-direction: column;
    }

    .gallery-item:hover {
      transform: translateY(-5px) scale(1.03);
      box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
    }

    .gallery-item img,
    .gallery-item video {
      width: 100%;
      height: auto;
      display: block;
      border-bottom: 1px solid #eee;
      border-radius: 12px 12px 0 0;
      transition: transform 0.3s ease;
    }

    .gallery-item:hover img,
    .gallery-item:hover video {
      transform: scale(1.05);
    }

    .recent-content {
      padding: 15px 10px;
      background: #fff;
    }

    .recent-content h4 {
      margin: 0 0 5px 0;
      font-size: 16px;
      font-weight: 600;
      color: #111;
    }

    .recent-content p {
      margin: 0;
      font-size: 14px;
      color: #555;
      line-height: 1.4;
    }

    /* ===== Modal / Lightbox ===== */
    .modal {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.95);
      justify-content: center;
      align-items: center;
      flex-direction: column;
      z-index: 1000;
      overflow-y: auto;
      padding: 20px;
    }

    .modal img,
    .modal video {
      max-width: 90%;
      max-height: 70%;
      border-radius: 12px;
    }

    .modal-content {
      text-align: center;
      margin-top: 15px;
      color: #fff;
    }

    .modal-content h3 {
      margin: 0 0 5px 0;
      font-size: 24px;
      font-weight: 600;
    }

    .modal-content p {
      margin: 0;
      font-size: 18px;
      font-weight: 400;
      color: #ddd;
    }

    .close {
      position: absolute;
      top: 25px;
      right: 40px;
      font-size: 42px;
      color: #fff;
      cursor: pointer;
      transition: color 0.3s ease;
    }

    .close:hover {
      color: #fbbf24;
    }

    /* ===== Responsive ===== */
    @media screen and (max-width: 1400px) {
      .gallery-item {
        flex: 1 1 calc(25% - 20px);
      }
    }

    @media screen and (max-width: 1100px) {
      .gallery-item {
        flex: 1 1 calc(33.33% - 20px);
      }
    }

    @media screen and (max-width: 800px) {
      .gallery-item {
        flex: 1 1 calc(50% - 20px);
      }
    }

    @media screen and (max-width: 500px) {
      .gallery-item {
        flex: 1 1 100%;
      }
    }

    /* ===== Modal Fix ===== */
    .modal {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.95);
      justify-content: center;
      align-items: center;
      padding: 40px 20px;
      /* enough space from top & bottom */
      overflow-y: auto;
      /* scroll if content bigger than screen */
      box-sizing: border-box;
      flex-direction: column;
      z-index: 1000;
    }

    .modal #modal-media {
      max-width: 100%;
      max-height: calc(100vh - 160px);
      /* 100% height minus padding and content space */
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .modal img,
    .modal video {
      max-width: 100%;
      max-height: 100%;
      border-radius: 12px;
    }

    .modal-content {
      text-align: center;
      margin-top: 15px;
      color: #fff;
      flex-shrink: 0;
      /* title+desc won't shrink */
    }

    .close {
      position: fixed;
      /* fixed position to avoid being cut */
      top: 20px;
      right: 30px;
      font-size: 42px;
      color: #fff;
      cursor: pointer;
    }
