.moments-main {
      width: 100%;
      max-width: none;
      padding: 0;
    }

    /* ═══════════════════════════════════════════════════════════════════════
       CINEMATIC GALLERY HERO
       ═══════════════════════════════════════════════════════════════════════ */
    
    .gallery-hero {
      position: relative;
      min-height: 86vh;
      min-height: 86svh;
      display: flex;
      align-items: flex-end;
      justify-content: flex-start;
      overflow: hidden;
      margin-top: calc(-1 * var(--header-height));
      padding:
        calc(var(--header-height) + var(--space-3xl))
        max(var(--space-lg), calc((100% - 1180px) / 2))
        var(--space-2xl);
    }
    
    .gallery-hero-bg {
      position: absolute;
      inset: 0;
      z-index: 0;
    }
    
    .gallery-hero-bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 30%;
      filter: brightness(0.85);
      animation: slowZoom 20s ease-in-out infinite alternate;
    }
    
    @keyframes slowZoom {
      0% { transform: scale(1); }
      100% { transform: scale(1.1); }
    }
    
    .gallery-hero-overlay {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(5, 4, 3, 0.86) 0%, rgba(5, 4, 3, 0.56) 45%, rgba(5, 4, 3, 0.18) 100%),
        linear-gradient(180deg, rgba(5, 4, 3, 0.08) 0%, rgba(5, 4, 3, 0.86) 100%);
      z-index: 1;
    }
    
    .gallery-hero-content {
      position: relative;
      z-index: 2;
      display: grid;
      gap: var(--space-md);
      width: min(52rem, 100%);
      text-align: left;
      color: white;
      animation: fadeInUp 1.2s ease-out;
    }
    
    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(40px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    
    .gallery-hero-title {
      font-family: var(--font-script);
      font-size: 6.8rem;
      font-weight: 400;
      line-height: 1;
      text-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
      margin: 0;
      background: linear-gradient(
        135deg,
        #fff 0%,
        #f8e8c8 50%,
        #fff 100%
      );
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    
    .gallery-hero-subtitle {
      font-family: var(--font-accent);
      font-size: 0.8rem;
      letter-spacing: 0.4em;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 0.9);
      margin: 0;
    }
    
    .gallery-hero-location {
      font-family: var(--font-display);
      font-size: 1.2rem;
      font-style: italic;
      color: rgba(255, 255, 255, 0.85);
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: var(--space-md);
    }
    
    .gallery-hero-location::before,
    .gallery-hero-location::after {
      content: '';
      width: 40px;
      height: 1px;
      background: rgba(255, 255, 255, 0.5);
    }

    .gallery-hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: var(--space-sm);
    }

    .gallery-hero-actions .btn {
      min-width: 12rem;
    }

    .gallery-hero-stills {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.6rem;
      width: min(34rem, 100%);
      margin-top: var(--space-xs);
    }

    .gallery-hero-stills img {
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      border: 2px solid rgba(255, 248, 237, 0.82);
      border-radius: 6px;
      box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35);
    }
    
    /* ═══════════════════════════════════════════════════════════════════════
       GALLERY STATS - Elegant floating cards
       ═══════════════════════════════════════════════════════════════════════ */
    
    .gallery-stats {
      display: flex;
      justify-content: center;
      align-items: stretch;
      gap: var(--space-lg);
      margin: calc(-1 * var(--space-3xl)) auto var(--space-2xl);
      position: relative;
      z-index: 3;
      flex-wrap: wrap;
      max-width: 760px;
      padding: 0 var(--space-lg);
    }
    
    .stat-card {
      display: flex;
      min-height: 132px;
      flex-direction: column;
      justify-content: center;
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(30px);
      -webkit-backdrop-filter: blur(30px);
      border-radius: 24px;
      padding: var(--space-xl) var(--space-2xl);
      text-align: center;
      border: 1px solid rgba(255, 255, 255, 0.8);
      box-shadow: 
        0 20px 60px rgba(0, 0, 0, 0.15),
        0 0 0 1px rgba(255, 255, 255, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 1);
      min-width: 140px;
      transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
    }
    
    .stat-card:hover {
      transform: translateY(-8px);
    }
    
    .stat-number {
      font-family: var(--font-display);
      font-size: 3.2rem;
      font-weight: 300;
      line-height: 1;
      background: linear-gradient(135deg, #8b6914, #c9a227, #8b6914);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    
    .stat-label {
      font-family: var(--font-accent);
      font-size: 0.7rem;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: var(--color-text-muted);
      margin-top: var(--space-xs);
    }
    
    /* ═══════════════════════════════════════════════════════════════════════
       FILTER PILLS - Elegant glass buttons
       ═══════════════════════════════════════════════════════════════════════ */
    
    .gallery-filters {
      display: flex;
      gap: var(--space-sm);
      justify-content: center;
      flex-wrap: wrap;
      padding: var(--space-lg) var(--space-lg);
      margin-bottom: var(--space-xl);
      position: sticky;
      top: 70px;
      z-index: 50;
      background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.9) 70%,
        rgba(255, 255, 255, 0) 100%
      );
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
    }
    
    .filter-btn {
      padding: 14px 28px;
      border-radius: 50px;
      background: rgba(255, 255, 255, 0.7);
      backdrop-filter: blur(10px);
      border: 2px solid rgba(201, 162, 39, 0.2);
      color: var(--color-text-secondary);
      font-family: var(--font-accent);
      font-size: 0.7rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      cursor: pointer;
      transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
      position: relative;
      overflow: hidden;
    }
    
    .filter-btn::before {
      content: '';
      position: absolute;
      inset: 0;
      background: var(--gradient-gold);
      opacity: 0;
      transition: opacity 0.4s ease;
    }
    
    .filter-btn span {
      position: relative;
      z-index: 1;
    }
    
    .filter-btn:hover {
      border-color: var(--color-gold);
      transform: translateY(-3px);
      box-shadow: 0 8px 24px rgba(201, 162, 39, 0.2);
    }
    
    .filter-btn.active {
      background: var(--gradient-gold);
      border-color: var(--color-gold);
      color: white;
      box-shadow: 
        0 8px 24px rgba(201, 162, 39, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    }
    
    .filter-btn.active::before {
      opacity: 1;
    }
    
    /* ═══════════════════════════════════════════════════════════════════════
       MASONRY GALLERY GRID
       ═══════════════════════════════════════════════════════════════════════ */
    
    .gallery-container {
      max-width: 1400px;
      margin: 0 auto;
      padding: 0 var(--space-lg);
    }
    
    .gallery-masonry {
      column-count: 4;
      column-gap: 20px;
    }

    .gallery-item {
      appearance: none;
      break-inside: avoid;
      display: block;
      width: 100%;
      margin-bottom: 20px;
      padding: 0;
      position: relative;
      border: 0;
      border-radius: 16px;
      overflow: hidden;
      cursor: pointer;
      background: rgba(255, 255, 255, 0.2);
      box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
      color: inherit;
      font: inherit;
      text-align: left;
      transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    }
    
    .gallery-item::before {
      content: '';
      position: absolute;
      inset: 0;
      border: 3px solid transparent;
      border-radius: 16px;
      transition: border-color 0.4s ease;
      z-index: 2;
      pointer-events: none;
    }

    .gallery-item:hover {
      transform: translateY(-10px) scale(1.02);
      box-shadow: 
        0 30px 60px rgba(0, 0, 0, 0.2),
        0 0 0 3px var(--color-gold);
      z-index: 10;
    }
    
    .gallery-item:hover::before {
      border-color: rgba(201, 162, 39, 0.5);
    }

    .gallery-item:focus-visible,
    .filter-btn:focus-visible,
    .moments-next__link:focus-visible {
      outline: 3px solid var(--color-gold);
      outline-offset: 4px;
    }

    .gallery-item img {
      width: 100%;
      height: auto;
      display: block;
      transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .gallery-item:hover img {
      transform: scale(1.08);
    }

    .gallery-load-more-btn {
      display: block;
      margin: var(--space-lg) auto 0;
    }

    .gallery-load-more-btn:disabled {
      cursor: wait;
      opacity: 0.68;
    }

    /* Featured items - larger with special styling */
    .gallery-item.featured {
      column-span: all;
      margin-bottom: 30px;
      border-radius: 24px;
    }
    
    .gallery-item.featured::after {
      content: 'Featured';
      position: absolute;
      top: var(--space-lg);
      left: var(--space-lg);
      background: linear-gradient(135deg, var(--color-gold), var(--color-gold-dark));
      color: white;
      padding: 8px 16px;
      border-radius: 20px;
      font-family: var(--font-accent);
      font-size: 0.65rem;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      z-index: 3;
      box-shadow: 0 4px 15px rgba(201, 162, 39, 0.4);
    }

    .moments-next {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--space-xl);
      width: min(100% - 2rem, 1180px);
      margin: var(--space-3xl) auto;
      padding: var(--space-2xl);
      border-top: 1px solid rgba(139, 105, 20, 0.18);
      border-bottom: 1px solid rgba(139, 105, 20, 0.18);
    }

    .moments-next__kicker {
      display: block;
      margin-bottom: var(--space-xs);
      color: var(--color-gold-dark);
      font-family: var(--font-accent);
      font-size: 0.68rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
    }

    .moments-next h2 {
      max-width: 560px;
      margin: 0;
      color: var(--color-text-primary);
      font-family: var(--font-display);
      font-size: 2.45rem;
      font-weight: 400;
      line-height: 1.05;
    }

    .moments-next__links {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: var(--space-sm);
    }

    .moments-next__link {
      display: inline-flex;
      min-height: 44px;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(139, 105, 20, 0.22);
      border-radius: 999px;
      padding: 0.8rem 1.1rem;
      color: var(--color-text-primary);
      font-family: var(--font-accent);
      font-size: 0.68rem;
      letter-spacing: 0.14em;
      text-decoration: none;
      text-transform: uppercase;
      transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
    }

    .moments-next__link:hover {
      border-color: var(--color-gold);
      background: rgba(201, 162, 39, 0.08);
      transform: translateY(-2px);
    }

    .moments-next__link--primary {
      border-color: var(--color-gold);
      background: var(--gradient-gold);
      color: white;
    }

    /* Scroll reveal animation */
    .gallery-item {
      opacity: 0;
      transform: translateY(30px);
    }
    
    .gallery-item.revealed {
      opacity: 1;
      transform: translateY(0);
      transition: opacity 0.6s ease, transform 0.6s ease;
    }
    
    /* Staggered animation delays */
    .gallery-item:nth-child(1) { transition-delay: 0.05s; }
    .gallery-item:nth-child(2) { transition-delay: 0.1s; }
    .gallery-item:nth-child(3) { transition-delay: 0.15s; }
    .gallery-item:nth-child(4) { transition-delay: 0.2s; }
    .gallery-item:nth-child(5) { transition-delay: 0.25s; }
    .gallery-item:nth-child(6) { transition-delay: 0.3s; }
    .gallery-item:nth-child(7) { transition-delay: 0.35s; }
    .gallery-item:nth-child(8) { transition-delay: 0.4s; }
