html, body {
  height: 100%;
}

body {
  margin: 0;
  font-family: 'Rubik', sans-serif;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: linear-gradient(160deg, #ffffff 0%, #e5ccfa 50%, #c2a3e8 100%);
  background-size: cover;
  background-attachment: fixed;
}







.exhibitions-new {
  padding: 100px 60px 50px 60px;
  /* background: radial-gradient(circle at top left, #f6efff, #e3d8f9); */
  position: relative;
}

.ex-heading-wrap {
  max-width: 1200px;
  margin: 60px  170px;
  /* padding: 0 40px; */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.ex-heading {
  font-family: 'Montserrat', sans-serif;
  font-size: 156px;
  font-weight: 700;
  color: #1C1C1C;
  margin: 0 0 12px;
  line-height:0.8;
}








.exhibition-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
}

.exhibit-item {
  position: relative;
  width: 450px;
  height: 680px;
  border-radius: 36px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(14px);
  box-shadow:
    0 10px 30px rgba(116, 101, 228, 0.15),
    0 0 10px rgba(0, 0, 0, 0.05);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}



.exhibit-item:hover {
  transform: translateY(-6px);
  box-shadow:
    0 16px 40px rgba(116, 101, 228, 0.2),
    0 0 20px rgba(255, 255, 255, 0.3);
}

.exhibit-item img,
.exhibit-item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.exhibit-item:hover img,
.exhibit-item:hover video {
  transform: scale(1.05);
}

.exhibit-caption {
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(20px);
  color: var(--black);
  border-radius: 34px;
  box-shadow: inset 0 8px 12px rgba(255, 255, 255, 0.3);
  box-sizing: border-box;
}




.exhibit-caption h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
}

.exhibit-caption p {
  margin-top: 4px;
  font-size: 14px;
  font-weight: 300;
  opacity: 0.8;
}



@media (max-width: 900px) {
  .exhibitions-new {
    padding: 100px 20px 50px 20px;
  }

  .ex-heading-wrap {
    margin: 30px 0px;
  }

  .ex-heading {
    font-size: 56px;
    width: 100%;
    text-align: center;
  }
}