.p-wrapper {
  position: relative;
  z-index: 0;
  background-image: var(--bg-primary);
  background-repeat: no-repeat;
  background-size: cover;
}

.p-main-section {
  position: relative;
  z-index: 0;
  padding: 120px 0 160px;
  overflow: hidden;
}
@media (max-width: 768px) {
  .p-main-section {
    padding: 80px 0 180px;
  }
}
.p-main-section__heading {
  margin-bottom: 2em;
}
.p-main-section__inner {
  width: 70%;
  max-width: 760px;
  margin-inline: auto;
  container-type: inline-size;
}
@media (max-width: 768px) {
  .p-main-section__inner {
    width: 85%;
  }
}
@media (max-width: 525px) {
  .p-main-section__inner {
    width: 100%;
  }
}
.p-main-section__body {
  --overlap-height: 30cqw;
  --right-gap-width: calc(var(--container-padding) * 2);
  position: relative;
  z-index: 0;
  padding-top: 1em;
  padding-right: var(--container-padding);
  padding-bottom: 3em;
  margin-right: var(--right-gap-width);
}
@media (max-width: 768px) {
  .p-main-section__body {
    --right-gap-width: calc(var(--container-padding) * -1);
  }
}
@media (max-width: 525px) {
  .p-main-section__body {
    --right-gap-width: calc(var(--container-padding) * -1);
  }
}
.p-main-section__body::before {
  position: absolute;
  top: calc(var(--overlap-height) * -1);
  right: 0;
  bottom: 0;
  z-index: -1;
  width: calc(100% + 50 * var(--vw) - 50cqw);
  content: "";
  background-color: var(--color-bg-primary);
}

.p-gallery {
  --image-ratio: 1 / 0.5;
  position: relative;
  z-index: 1;
}
.p-gallery__slider {
  overflow: visible;
}
.p-gallery__list {
  aspect-ratio: 1/var(--image-ratio);
}
.p-gallery__nav {
  max-width: 360px;
  margin-top: 1em;
  margin-left: auto;
}
@media (max-width: 768px) {
  .p-gallery__nav {
    margin-right: auto;
  }
}
.p-gallery__nav:is(:not(.swiper-initialized > *)) {
  display: none;
}
.p-gallery__item {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-gallery__item:is(.swiper-slide-active, .swiper-slide-prev, .swiper-slide-next) {
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
}
.p-gallery__item.swiper-slide-next.swiper-slide-visible {
  z-index: 100 !important;
}

.p-content-list {
  display: grid;
  grid-template-columns: auto;
}
.p-content-list__item {
  grid-row: 1;
  grid-column: 1;
  opacity: 0;
}
.p-content-list__item__heading {
  margin-bottom: 0.5em;
  font-size: var(--font-size-xxl);
  font-weight: bold;
  color: var(--color-heading-secondary);
  letter-spacing: 0.15em;
}

.p-thumb {
  --column-count: 5;
  --thumb-size: 200px;
  --image-ratio: 1 / 0.55;
  position: relative;
  margin-inline: auto;
  margin-top: 3em;
}
.p-thumb__list {
  overflow: visible;
}
.p-thumb__list__item {
  width: 100%;
  aspect-ratio: var(--image-ratio);
}
.p-thumb__list__item > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.55;
  transition: opacity 0.2s;
}
.p-thumb__list__item > img:is(.swiper-slide-active > *), .p-thumb__list__item > img:is(:hover > *) {
  opacity: 1;
}