body {
  position: relative;
}

header {
  background: black;
}

.just-white-background {
  position: relative;
  background-color: white;
  color: black;
}

.article-section {
  padding-block: calc(var(--header-height) + 60px) 160px;

  @media (max-width: 768px) {
    padding-block: calc(var(--header-height) + 40px) 120px;
  }

  & .article-container {
    max-width: calc(1344px + var(--main-padding-inline) * 2);
    padding-inline: var(--main-padding-inline);
    margin-inline: auto;
    display: flex;
    flex-direction: column;
  }

  & .back-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: "Helvetica Neue";
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    color: #000000;
    text-decoration: none;
    margin-bottom: 60px;
    width: fit-content;
    transition: color 0.3s ease;
    text-decoration: underline;

    @media (max-width: 768px) {
      margin-bottom: 40px;
    }

    & svg {
      transition: transform 0.3s ease;
      transform: translateY(-2px);
    }

    & svg path {
      transition: fill 0.3s ease;
    }

    &:hover {
      color: #fed607;

      & svg {
        transform: translate(-2px, -2px);
      }

      & svg path {
        fill: #fed607;
      }
    }
  }

  & .article-header {
    margin-bottom: 3rem;

    @media (max-width: 768px) {
      margin-bottom: 2rem;
    }

    & h1 {
      font-family: Impact;
      font-weight: 400;
      font-size: 72px;
      line-height: 100%;
      text-transform: uppercase;
      color: #000000;
      margin-bottom: 2rem;
      max-width: 1116px;

      @media (max-width: 768px) {
        margin-bottom: 1.5rem;
        font-size: 40px;
        line-height: 100%;
      }
    }

    & .article-meta {
      display: flex;
      gap: 1rem;
      align-items: center;
    }

    & .article-date,
    & .article-read-time {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      font-family: "Helvetica Neue";
      font-weight: 500;
      font-size: 12px;
      line-height: 16px;
      color: #666666;

      & svg {
        flex-shrink: 0;
      }
    }
  }

  & .article-hero-image {
    width: 100%;
    max-width: 1116px;
    margin-bottom: 80px;
    @media (max-width: 768px) {
      margin-bottom: 60px;
    }

    & img {
      width: 100%;
      height: auto;
      aspect-ratio: 1116/628;
      object-fit: cover;

      @media (max-width: 768px) {
        aspect-ratio: 355/188;
      }
    }
  }

  & .article-image-caption {
    font-family: "Helvetica Neue";
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: #666666;
    max-width: 888px;
    margin-bottom: 3rem;
  }

  & .article-content {
    max-width: 888px;
    margin-bottom: 80px;

    @media (max-width: 768px) {
      margin-bottom: 60px;
    }

    & > h2 {
      font-family: Impact;
      font-weight: 400;
      font-size: 40px;
      line-height: 48px;
      text-transform: uppercase;
      color: #000000;
      margin-bottom: 2rem;

      @media (max-width: 768px) {
        font-size: 24px;
        line-height: 28px;
        max-width: 335px;
      }
    }
  }

  & ol {
    display: flex;
    flex-direction: column;
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: stage-counter;
    gap: 1.5rem;
    margin-bottom: 3rem;
  }

  & li {
    counter-increment: stage-counter;

    & h3, & span {
      font-family: Impact;
      font-weight: 400;
      font-size: 24px;
      line-height: 32px;
      text-transform: uppercase;
      color: #000000;
      margin-bottom: 1rem;
      position: relative;

      @media (max-width: 768px) {
        font-size: 20px;
        line-height: 24px;
        margin-bottom: 0.5rem;
      }

      &::before {
        content: counter(stage-counter) ". ";
      }
    }

    & p {
      font-family: "Helvetica Neue";
      font-weight: 400;
      font-size: 14px;
      line-height: 20px;
      color: #333333;
      margin-bottom: 0;
    }
  }

  & .article-images-row {
    display: flex;
    gap: 1.5rem;
    margin-block: 3rem;

    @media (max-width: 768px) {
      gap: 1rem;
    }

    & img {
      flex: 1;
      width: 100%;
      max-width: calc(50% - 0.75rem);
      height: auto;
      aspect-ratio: 1/1;
      object-fit: cover;
    }
  }

  & h4 {
    font-family: Impact;
    font-weight: 400;
    font-size: 40px;
    line-height: 48px;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 1.5rem;

    @media (max-width: 768px) {
      font-size: 24px;
      line-height: 28px;
    }
  }

  & p {
    font-family: "Helvetica Neue";
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: #333333;
    margin-bottom: 0.75rem;
  }

  & ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 3rem;

    & li {
      font-family: "Helvetica Neue";
      font-weight: 400;
      font-size: 14px;
      line-height: 20px;
      padding-left: 1.5rem;
      position: relative;
      color: #333333;

      &::before {
        content: "";
        position: absolute;
        left: 0;
        top: 8px;
        width: 8px;
        height: 8px;
        background-color: #000000;
        border-radius: 50%;

        @media (max-width: 768px) {
          width: 6px;
          height: 6px;
        }
      }
    }
  }

  & h2 {
    font-family: Impact;
    font-weight: 400;
    font-size: 40px;
    line-height: 48px;
    text-transform: uppercase;
    color: #000000;
    margin-bottom: 24px;
  }

  & .article-content > :last-child {
    margin-bottom: 0;
  }

  & .article-share {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.5rem;
    width: 100%;
    max-width: 888px;

    @media (max-width: 768px) {
      gap: 1rem;
      flex-direction: column;
      align-items: flex-end;
    }

    & h3 {
      font-family: Impact;
      font-weight: 400;
      font-size: 24px;
      line-height: 32px;
      text-transform: uppercase;
      color: #000000;
    }

    & .share-buttons {
      display: flex;
      gap: 1rem;

      & .share-link {
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #000000;
        border-radius: 50%;
        border: none;
        padding: 0;
        color: #fed607;
        font-size: 20px;
        cursor: pointer;
        transition: all 0.3s ease;

        & svg path {
          fill: #fed607;
        }
        &:hover {
          background-color: #fed607;
          color: #000000;
          transform: scale(1.1);

          & svg path {
            fill: #000000;
          }
        }

        & i {
          line-height: 1;
        }
      }
    }
  }
}

.articles-swiper-section {
  padding-top: 0;
}
