/* Do not edit anything below */
.shapes-section .shapes {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(2rem, 2rem + 1 * (100vw - 48rem) / 27, 3rem);
}
.shapes-section .intro {
  color: #080c11;
  text-align: center;
  max-inline-size: 40.5rem;
  margin: 0;
  font-family: Libre Baskerville, serif;
  font-size: clamp(1.125rem, 1.125rem + 0.25 * (100vw - 48rem) / 27, 1.375rem);
  font-weight: 400;
  line-height: 1.4;
}
.shapes-section .layout {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: clamp(1.5rem, 1.5rem + 1.5 * (100vw - 48rem) / 27, 3rem);
  inline-size: 100%;
}
.shapes-section .shapes-main-slider {
  inline-size: 100%;
  min-inline-size: 0;
  border-radius: 0.5rem;
  overflow: hidden;
}
.shapes-section .shapes-main-slider .featured-slide {
  aspect-ratio: 1/1;
  background-color: rgba(103, 30, 58, 0.04);
  position: relative;
}
.shapes-section .shapes-main-slider .img-responsive {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: contain;
  transform: scale(1.08) rotate(-2deg);
  filter: blur(10px);
  transition: transform 800ms cubic-bezier(0.22, 1, 0.36, 1), filter 600ms ease-out;
  will-change: transform, filter;
}
.shapes-section .shapes-main-slider .swiper-slide-active .img-responsive {
  transform: scale(1) rotate(0);
  filter: blur(0);
}
.shapes-section .shapes-thumb-slider {
  inline-size: 100%;
  min-inline-size: 0;
  overflow: visible;
}
.shapes-section .card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  inline-size: 5.9375rem;
  max-inline-size: 90%;
  cursor: pointer;
}
.shapes-section .card--active .image {
  box-shadow: inset 0 0 0 2px #671e3a;
}
.shapes-section .image {
  background-color: rgba(103, 30, 58, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  block-size: clamp(6.875rem, 6.875rem + 5.8125 * (100vw - 48rem) / 27, 12.6875rem);
  padding: clamp(1rem, 1rem + 0.5 * (100vw - 48rem) / 27, 1.5rem);
  border-radius: 0.75rem;
  position: relative;
  box-shadow: inset 0 0 0 0 transparent;
  transform-style: preserve-3d;
  transition: box-shadow 0.3s ease, transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}
.shapes-section .image::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: 0 0 0 0 rgba(103, 30, 58, 0.35);
  opacity: 0;
}
.shapes-section .image .img-responsive {
  display: block;
  inline-size: auto;
  max-inline-size: 100%;
  block-size: auto;
  max-block-size: 100%;
  object-fit: contain;
  transition: transform 400ms cubic-bezier(0.22, 1, 0.36, 1);
  transform: translateZ(20px);
}
.shapes-section .card--active .image::after {
  animation: shapes-pulse 700ms ease-out;
}
@keyframes shapes-pulse {
  0% {
    opacity: 0.8;
    box-shadow: 0 0 0 0 rgba(103, 30, 58, 0.35);
  }
  100% {
    opacity: 0;
    box-shadow: 0 0 0 14px rgba(103, 30, 58, 0);
  }
}
@media (hover: hover) {
  .shapes-section .card:hover .image {
    transform: perspective(800px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-2px);
  }
  .shapes-section .card:hover .img-responsive {
    transform: translateZ(28px) scale(1.04);
  }
}
.shapes-section .label {
  color: #080c11;
  font-family: "Libre Baskerville", serif;
  font-size: 1rem;
  line-height: 1.4;
  text-align: center;
  margin: 0;
}
.shapes-section .description {
  color: rgba(0, 0, 0, 0.4);
  text-align: center;
  max-inline-size: 48.125rem;
  margin: 0;
  font-family: Libre Baskerville, serif;
  font-size: clamp(1.125rem, 1.125rem + 0.25 * (100vw - 48rem) / 27, 1.375rem);
  font-weight: 400;
  line-height: 1.4;
}
@media (width >= 768px) {
  .shapes-section .layout {
    flex-direction: row;
    align-items: flex-start;
  }
  .shapes-section .shapes-main-slider {
    flex: 1 0 0;
    min-inline-size: 0;
  }
  .shapes-section .shapes-thumb-slider {
    flex: 1 0 0;
    min-inline-size: 0;
  }
  .shapes-section .shapes-thumb-slider .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    align-content: center;
    gap: 2rem 1.1875rem;
  }
  .shapes-section .shapes-thumb-slider .swiper-slide {
    grid-column: span 2;
  }
  .shapes-section .shapes-thumb-slider .swiper-slide:nth-child(3n+1):nth-last-child(2),
  .shapes-section .shapes-thumb-slider .swiper-slide:nth-child(3n+2):nth-last-child(1) {
    grid-column: span 3;
  }
  .shapes-section .shapes-thumb-slider .swiper-slide:nth-child(3n+1):nth-last-child(1) {
    grid-column: span 6;
  }
  .shapes-section .card {
    inline-size: 100%;
    max-inline-size: unset;
  }
}