:root {
  --color-dark: #1f1e1c;
  --color-light: #c5b696;
}
* {
  margin: 0;
  border: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
  color: var(--color-dark);
}
body {
  padding-top: 3vh;
  width: 100vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  background-color: var(--color-light);
  overflow-x: hidden;
}

header {
  padding-bottom: 3em;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1em;
}
.logo {
  width: 75vw;
}
.menu {
  display: flex;
  flex-direction: row;
  gap: 1vw;
}
.menu__item {
  list-style: none;
}
.menu__link {
  color: inherit;
  text-decoration: none;
}
.menu__link:hover {
  color:antiquewhite;
}

article {
  padding: 0.5em 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1em 0;
  align-items: center;
}
.title {
  padding: 0 0.5em;
  min-width: 0;
  flex: 1 1 0;
  overflow-wrap: break-word;
}
.title--right {
  text-align: end;
}
.title--center {
  margin-bottom: 0.5em;
  padding: 0;
  text-align: center;
}
.article__image {
  width: 50vw;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.article__image--left {
  margin-left: 0;
  order: -1;
  border-radius: 0 10em 10em 0;
}
.article__image--right {
  margin-right: 0;
  border-radius: 10em 0 0 10em;
}
.article__text {
  padding: 5vw;
  font-size: 1em;
  line-height: 1.4em;
  letter-spacing: 0.02em;
  text-align: justify;
  text-align-last: left;
}

footer {
  position: relative;
  margin-bottom: 5vh;
  overflow-x: hidden;
}
.carousel {
  width: 100vw;
  display: flex;
  overflow-x: hidden;
}
.carousel__track {
  display: flex;
  align-items: center;
  justify-content: center;
  animation: spin 20s infinite linear;
}
.carousel__viewport > .carousel__track {
  transform: none !important;
  animation: none;
}
.carousel__img {
  border-radius: 1em;
  margin: 0 0.5em;
  height: 5em;
  aspect-ratio: 1/1;
  flex: 0 0 5em;
  object-fit: cover;
  cursor: pointer;
}
.carousel__slide {
  animation: none;
}
.carousel__button {
  background: white;
}
.carousel__fade {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 10em;
  pointer-events: none;
}
.fade--left {
  left: 0;
  background: linear-gradient(to right, var(--color-light) 30%, transparent 100%);
}
.fade--right {
  right: 0;
  background: linear-gradient(to left, var(--color-light) 30%, transparent 100%);
}

@keyframes spin {
  from {translate: 0;}
  to {translate: -100%;}
}

@media (orientation: landscape) {
  body {
    gap: 3em;
  }
  header {
    padding: 0;
  }
  .logo {
    max-height: 10em;
  }
  .menu__link {
    font-size: 1.2em;
  }
  main {
    width: 100vw;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    column-gap: 5em;
  }
  article {
    padding: 0;
    width: 25vw;
    flex-direction: column;
  }
  .title,
  .title--right {
    padding: 0;
    font-size: 2.5em;
    text-align: center;
    overflow-wrap: initial;
    hyphens: initial;
  }
  .article__text {
    padding: 0;
  }
  .article__image,
  .article__image--left,
  .article__image--right {
    order: 0;
    width: 20vw;
    border-radius: 100em;
  }
  .carousel__img {
    margin: 0 1em;
    height: 7em;
  }
}

