.page-content {
  display: flow-root;
  position: relative;
  z-index: 1;
}

.content-card {
  box-sizing: border-box;
  width: 80%;
  max-width: 902px;
  margin: -54px auto 0;
  padding: 36px clamp(24px, 5.6vw, 72px);
  background: #fff;
  color: #000;
}

.content-section + .content-section {
  margin-top: 27px;
}

.content-section + .content-section:has(> h2:first-child) {
  padding-top: 9px;
}

.content-section > :first-child {
  margin-top: 0;
}

.content-section h1,
.content-section h2,
.content-section h3,
.content-section h4,
.content-section h5,
.content-section h6 {
  color: #303133;
}

.content-section h1,
.content-section h2 {
  font-size: 36px;
  line-height: 1.2;
}

.content-section h1 + p {
  margin-top: 21px;
}

.content-section h2 + p {
  margin-top: 36px;
}

.content-section h3 + p {
  margin-top: 21px;
}

.content-spacer {
  display: block;
  height: 48px;
  margin: 0;
  border: 0;
}

.content-section:first-child + .content-section > h4:first-child {
  margin-top: 36px;
}

.content-section p {
  margin: 18px 0 0;
  line-height: 1.75;
}

.content-section a {
  color: #ddd;
}

.content-section h2 {
  margin: 0;
  line-height: 1.2;
}

.content-section h3,
.content-section h4,
.content-section h5 {
  margin-top: 27px;
}

.content-section > h3:first-child,
.content-section > h4:first-child,
.content-section > h5:first-child {
  margin-top: 0;
}

.content-section ul,
.content-section ol {
  margin: 18px 0 0;
}

.page-gallery {
  column-count: 4;
  column-gap: 8px;
  margin-top: 72px;
}

.page-gallery a {
  display: block;
  break-inside: avoid;
  margin-bottom: 8px;
}

.page-gallery img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  .content-card {
    width: 90%;
    padding: 32px 7%;
  }

  .page-gallery {
    column-count: 2;
  }
}
