.pages {
  padding: 30px 15px;
}
.pages .heading {
  text-align: center;
}
.pages .listing:not(.large) .grid {
  gap: 20px;
  grid-template-columns: repeat(8, 1fr);
}
@media (min-width: 1024px) {
  .pages .listing:not(.large) .grid {
    column-gap: 53px;
    row-gap: 40px;
  }
}
.pages .listing:not(.large) .item {
  grid-column: span 8;
}
@media (min-width: 767px) {
  .pages .listing:not(.large) .item {
    grid-column: span 4;
  }
}
@media (min-width: 1024px) {
  .pages .listing:not(.large) .item {
    grid-column: span 2;
  }
}
.pages .listing:not(.large) .item a {
  display: flex;
  align-items: center;
  min-height: 80px;
  background-color: var(--color-brown);
  color: var(--color-white);
  font-size: 1.375rem;
  line-height: 1.625rem;
  font-weight: bold;
  padding: 5px 30px;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}
.pages .listing:not(.large) .item a:before {
  position: absolute;
  height: 100%;
  width: 100%;
  left: -100%;
  background-color: var(--color-brown-bright);
  content: "";
  top: 0;
  transition: left 0.25s ease-in-out;
}
.pages .listing:not(.large) .item a span {
  position: relative;
  z-index: 2;
}
.pages .listing:not(.large) .item a:hover {
  color: var(--color-brown);
}
.pages .listing:not(.large) .item a:hover:before {
  left: 0;
}
.pages .listing:not(.large) .item a.active {
  background-color: var(--color-brown-bright);
}
.pages .listing.large .grid {
  gap: 20px;
  grid-template-columns: repeat(8, 1fr);
}
@media (min-width: 1400px) {
  .pages .listing.large .grid {
    grid-template-columns: repeat(9, 1fr);
    gap: 24px;
  }
}
.pages .listing.large .item {
  grid-column: span 8;
}
@media (min-width: 767px) {
  .pages .listing.large .item {
    grid-column: span 4;
  }
}
@media (min-width: 1400px) {
  .pages .listing.large .item {
    grid-column: span 3;
  }
}
.pages .listing.large .item a {
  display: grid;
}
@media (min-width: 767px) {
  .pages .listing.large .item a {
    grid-template-rows: auto 80px;
  }
}
.pages .listing.large .item .photo {
  overflow: hidden;
  aspect-ratio: var(--aspect-wide);
  grid-area: 1/1/1/1;
}
@media (min-width: 767px) {
  .pages .listing.large .item .photo {
    grid-area: 1/1/2/1;
  }
}
.pages .listing.large .item .photo img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  margin: 0;
  display: block;
}
.pages .listing.large .item .button {
  grid-area: 1/1/1/1;
  background-color: hsl(from var(--color-red) h s l/0.5);
  text-align: center;
  font-weight: var(--font-weight-700);
  line-height: 1.4375rem;
  font-size: 1.375rem;
  padding: 17px;
  display: flex;
  align-items: center;
  margin: 0;
  justify-content: center;
}
@media (min-width: 767px) {
  .pages .listing.large .item .button {
    grid-area: 2/1/3/1;
    background-color: var(--color-brown);
  }
}
@media (min-width: 1400px) {
  .pages .listing.large .item .button {
    padding: 17px 20%;
  }
}
.pages .listing.large .item .button:before {
  background-color: var(--color-yellow);
}
@media (min-width: 767px) {
  .pages .listing.large .item .button:after {
    content: "";
    height: 81px;
    width: 66px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(../../etc/images/pages-large-bottom-corner.svg);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 30;
  }
}
.pages .listing.large .item a:hover span {
  color: var(--color-brown);
}
.pages p {
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 50px;
  text-transform: uppercase;
  font-weight: var(--font-weight-700);
  letter-spacing: 3px;
}