:root {
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial,
    sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 16px;
  line-height: 1.5;
}

body {
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr auto;
}

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.hero {
  margin-top: 2rem;
}

.hero__title {
  font-size: 4rem;
  font-weight: bold;
}

.hero__subtitle {
  font-size: 4rem;
  line-height: 1.2;
  margin-top: 1rem;
}

.main {
  margin-top: 4rem;
}

.skills__title {
  font-size: 2rem;
  font-weight: bold;
  text-transform: uppercase;
}

.skills__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 1rem;
}

.skills__category {
  margin-right: 0.5rem;
}

.skills__category-title {
  font-weight: bold;
}

.skills__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 0.25rem;
}

.skills__list-item {
  padding: 0.25rem 0.5rem;
  border: 1px dashed;
  border-radius: 0.25rem;
}

.contact {
  font-size: 1.5rem;
  margin-top: 8rem;
}

.footer {
  width: 100%;
  margin-top: 1rem;
  padding-bottom: 1rem;
  display: flex;
  justify-content: space-between;
}

.social__list {
  display: flex;
  gap: 1.5rem;
}

@media screen and (max-width: 960px) {
  .hero__title,
  .hero__subtitle {
    font-size: 2rem;
    line-height: 1.5;
  }

  .main {
    margin-top: 2rem;
  }

  .skills__title {
    font-size: 1.5rem;
  }

  .skills__grid {
    grid-template-columns: repeat(1, 1fr);
  }

  .contact {
    margin-top: 2rem;
  }

  .footer {
    margin-top: 2rem;
    flex-direction: column;
  }
}
