@import url("https://fonts.googleapis.com/css2?family=League+Spartan:wght@500;600;700&display=swap");

:root {
  --clr-dark-gray: hsl(0, 0%, 63%);
  --clr-darker-gray: hsl(0, 0%, 27%);
}

img,
picture,
svg,
audio,
video {
  max-width: 100%;
  display: block;
}

body {
  font-family: "League Spartan", sans-serif;
}

/* utilities */

.letter-spacing-5 {
  letter-spacing: 5px;
}

.uppercase {
  text-transform: uppercase;
}

.flex {
  display: flex;
  gap: var(--spacer, 1rem);
  align-items: center;
}

@media (max-width: 1200px) {
  .text-center-sm {
    text-align: center;
  }

  .w-fit {
    width: fit-content;
  }

  .mx-auto {
    margin-inline: auto;
  }
}

/* header */

main {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}

@media (max-width: 1200px) {
  main > *:not(.btn-controls, .primary-header) {
    grid-column: 1/-1 !important;
    grid-row: auto !important;
  }
}

.primary-header {
  display: flex;
  align-items: center;
  gap: 3rem;
  padding: 3rem;
  color: #fff;
  grid-row-start: 1;
  grid-column: 1/7;
  align-self: start;
  z-index: 50;
}

.primary-header .primary-nav ul {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.primary-header .primary-nav ul li {
  position: relative;
}

.primary-header .primary-nav ul li::after {
  content: "";
  position: absolute;
  width: 0%;
  height: 3px;
  background-color: #fff;
  border-radius: 100vw;
  bottom: -0.25rem;
  left: 50%;
  translate: -50%;
  transition: width 250ms ease;
}

.primary-header .primary-nav ul li:hover::after {
  width: 50%;
}

main .scroller {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
}

.scroller img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.scroller picture {
  height: 100%;
}

.left-scroller,
.right-scroller {
  overflow: hidden;
}

.left-scroller {
  grid-column: 1/7;
  grid-row-start: 1;
}

@media (max-width: 1200px) {
  .left-scroller.left-scroller {
    grid-row-start: 1 !important;
  }
}

.right-scroller .slide {
  padding: 4rem;
}

.right-scroller .slide h1 {
  font-size: 2.5rem;
  font-weight: 700;
  max-width: 18ch;
}

.right-scroller .slide p {
  margin-block: 1rem;
  color: var(--clr-dark-gray);
  max-width: 40ch;
}

.right-scroller {
  grid-column: 7/-1;
  grid-row-start: 1;
  align-self: center;
}

.slide .button {
  --spacer: 0.5rem;
  padding: 0.5rem;
  padding-inline-start: 0;
  cursor: pointer;
}

.slide .button img {
  width: 50px;
}

.btn-controls {
  background-color: #000;
  grid-column-start: 7;
  grid-row: 1;
  align-self: end;
  justify-content: center;
  z-index: 99999;
}

@media (max-width: 1200px) {
  .btn-controls {
    grid-row: 1;
    grid-column: -2;
  }
}

.btn-controls button {
  padding: 0.5rem;
  width: 50px;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 9999;
}

.hero-left {
  grid-column: 1 / 4;
  grid-row-end: 3;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.about {
  grid-column: 4/ 8;
  padding: 2rem;
  align-self: center;
}

.about h2 {
  font-size: 1.25rem;
  font-weight: 700;
}

.about p {
  color: var(--clr-dark-gray);
  font-weight: 500;
  margin-top: 1rem;
}

.hero-right {
  grid-column: 8 / -1;
  width: 100%;
  object-fit: cover;
}

[data-scroller] > div {
  transition: translate 600ms ease-out;
}
