
    /* ─── GALLERY ─── */
    .gallery {
      padding: 0 clamp(20px, 4vw, 60px) clamp(80px, 10vw, 140px);
      columns: 2;
      column-gap: clamp(16px, 2.5vw, 40px);
      margin-top: 180px;
    }

    .gallery-header {
        column-span: all;
        break-inside: avoid;
        margin-bottom: clamp(16px, 2.5vw, 40px);
        position: relative;
    }

    .gallery-header p {
        font-size: clamp(20px, 2.2vw, 24px);
        font-style: italic;
        font-weight: 500;
        color: var(--accent);
        line-height: 1.65;
        max-width: 680px;
    }

    .gallery-item {
      break-inside: avoid;
      margin-bottom: clamp(16px, 2.5vw, 40px);
      cursor: pointer;
      position: relative;
      overflow: hidden;
    }

    .gallery-item img {
      width: 100%;
      display: block;
      transition: transform 0.6s ease, filter 0.4s ease;
    }

    .gallery-item:hover img {
      transform: scale(1.02);
      filter: brightness(0.92);
    }

    .gallery-item .caption {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      background: linear-gradient(to top, rgba(42,37,32,0.75) 0%, transparent 100%);
      color: #e8e0d4;
      padding: clamp(20px, 3vw, 36px) clamp(16px, 2vw, 24px) clamp(12px, 1.5vw, 20px);
      font-size: clamp(13px, 1.3vw, 16px);
      font-style: italic;
      font-weight: 300;
      letter-spacing: 0.5px;
      opacity: 0;
      transform: translateY(6px);
      transition: opacity 0.4s ease, transform 0.4s ease;
    }

    .gallery-item:hover .caption {
      opacity: 1;
      transform: translateY(0);
    }

    /* ─── LIGHTBOX ─── */
    .lightbox {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(20,17,14,0.93);
      z-index: 500;
      align-items: center;
      justify-content: center;
      padding: 40px;
    }

    .lightbox.open { display: flex; }

    .lightbox-inner {
      position: relative;
      max-width: 90vw;
      max-height: 90vh;
    }

    .lightbox img {
      max-width: 90vw;
      max-height: 85vh;
      object-fit: contain;
      display: block;
    }

    .lightbox-close {
      position: fixed;
      top: 28px; right: 36px;
      background: none;
      border: none;
      color: rgba(214,205,195,0.8);
      font-size: 28px;
      cursor: pointer;
      line-height: 1;
      transition: color 0.3s ease;
    }

    .lightbox-close:hover { color: #fff; }

    .lightbox-caption {
      text-align: center;
      color: rgba(214,205,195,0.7);
      font-size: 14px;
      font-style: italic;
      font-weight: 300;
      letter-spacing: 1px;
      margin-top: 16px;
    }

    /* nav arrows */
    .lightbox-prev,
    .lightbox-next {
      position: fixed;
      top: 50%;
      transform: translateY(-50%);
      background: none;
      border: none;
      color: rgba(214,205,195,0.6);
      font-size: 32px;
      cursor: pointer;
      padding: 16px;
      transition: color 0.3s ease;
      line-height: 1;
    }

    .lightbox-prev:hover,
    .lightbox-next:hover { color: #fff; }

    .lightbox-prev { left: 20px; }
    .lightbox-next { right: 20px; }

@media (max-width: 700px) {
    .gallery { columns: 1; }    
}

@media (min-width: 1200px) {
    .gallery { columns: 3; }
}
