body {
  margin: 72px 0 40px;
  font-family: Georgia, "Times New Roman", Times, serif;
  color: #000;
  background: #fff;
}

.layout {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 20px;
}

.col-main {
  max-width: 640px;
}

.projects-desktop {
  display: none;
}

@media (max-width: 939px) {
  .layout {
    display: flex;
    flex-direction: column;
  }

  .nav-top {
    order: 1;
  }

  .col-side {
    order: 2;
  }

  .col-main {
    order: 3;
  }
}

@media (min-width: 940px) {
  .layout {
    display: grid;
    grid-template-columns: 640px 640px;
    grid-template-areas:
      "nav  side"
      "main side";
    row-gap: 0;
    column-gap: 40px;
    align-items: start;
  }

  .nav-top {
    grid-area: nav;
  }

  .col-main {
    grid-area: main;
    max-width: none;
  }

  .col-side {
    grid-area: side;
  }

  .projects-desktop {
    display: block;
  }

  .projects-mobile {
    display: none;
  }
}

.photo {
  width: 100%;
  max-width: 269px;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: 50% 22%;
  display: block;
  margin-bottom: 16px;
}

h1 {
  font-size: 3em;
  margin-bottom: 4px;
}

h2 {
  font-size: 1.1em;
  margin-top: 32px;
  margin-bottom: 4px;
}

hr {
  margin: 4px 0 12px;
  border: none;
  border-top: 1px solid #000;
}

.nav {
  font-size: 0.95em;
}

ul {
  margin: 0;
  padding-left: 22px;
}

li {
  margin-bottom: 10px;
}

a {
  color: #000;
}

a:visited {
  color: #000;
}
