
  /* ---------- GENERIC PAGE HEADER ---------- */
  .page-header{padding:170px 0 70px; background:var(--black); color:var(--white);}
  .page-header .label{margin-bottom:20px;}
  .page-header h1{font-size:clamp(34px, 5.2vw, 68px); max-width:18ch;}
  .page-header p{color:#C9C5C0; max-width:60ch; margin-top:22px; font-size:16px; line-height:1.6;}
  .page-header--events{
    background-image:linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)), url('https://test.reiwacreative.com/wp-content/uploads/2026/09/pexels-lilly-grace-944249302-29395490.jpg');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
  }
  
  /* ---------- EVENTS ---------- */
  .ev-highlights{padding:90px 0; background:var(--white);}
  .ev-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line-light); border-left:1px solid var(--line-light);}
  .ev-box{border-right:1px solid var(--line-light); border-bottom:1px solid var(--line-light); padding:44px 34px;}
  .ev-box .label{margin-bottom:20px; display:block;}
  .ev-box h3{font-size:22px; margin-bottom:14px; font-weight:500;}
  .ev-box p{color:var(--ink); font-size:14.5px; line-height:1.6;}
  @media (max-width:800px){ .ev-grid{grid-template-columns:1fr;} }

  .ev-gallery{padding:0 0 130px;}
  /* .ev-masonry{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:transparent;}
  .ev-item{position:relative; overflow:hidden; aspect-ratio:auto;}
  .ev-item:nth-child(3n+1){aspect-ratio:1/1.3;}
  .ev-item img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.16,1,.3,1);}
  .ev-item:hover img{transform:scale(1.05);}
  .ev-item-label{position:absolute; left:18px; bottom:16px; z-index:2; color:var(--white);}
  .ev-item::before{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.55) 100%);}
  @media (max-width:800px){ .ev-masonry{grid-template-columns:1fr 1fr;} } */
  .ev-masonry {
  display: grid; 
  grid-template-columns: repeat(3, 1fr); 
  gap: 2px; 
  background: transparent;
}

/* 1. On définit un ratio par défaut pour TOUS les éléments */
.ev-item {
  position: relative; 
  overflow: hidden; 
  aspect-ratio: 1 / 1; /* Garantit qu'aucun élément ne tombe à 0px de hauteur */
}

/* 2. Style desktop : un élément sur 3 est plus grand */
@media (min-width: 801px) {
  .ev-item:nth-child(3n+1) {
    aspect-ratio: 1 / 1;
  }
}

.ev-item img {
  position: absolute; 
  inset: 0; 
  width: 100%; 
  height: 100%; 
  object-fit: cover; 
  transition: transform .6s cubic-bezier(.16, 1, .3, 1);
}

.ev-item:hover img {
  transform: scale(1.05);
}

.ev-item-label {
  position: absolute; 
  left: 18px; 
  bottom: 16px; 
  z-index: 2; 
  color: var(--white);
}

.ev-item::before {
  content: ''; 
  position: absolute; 
  inset: 0; 
  background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.55) 100%);
}

/* 3. Style mobile : grille à 2 colonnes */
@media (max-width: 800px) { 
  .ev-masonry {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Optionnel : vous pouvez donner un ratio spécifique sur mobile si 1/1 ne convient pas */
  .ev-item {
    aspect-ratio: 1 / 1.2;
  }
}