/* Design tokens */
:root {
  --paper: hsla(251, 28%, 88%, 0.99);
  --ink: hsla(244, 16%, 17%, 0.95);
  --brand: hsla(0, 79%, 63%, 0.9);
  --font: "Raleway", system-ui, sans-serif;
  --gap: 20px;
  --container: clamp(280px, calc(100vw - calc(var(--gap) * 2)), 1180px);
}
/* General Styles */
html,
body {
  scroll-behavior: smooth;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font);
}
body {
  display: grid;
  margin: auto;
  min-height: 100vh;
  gap: var(--gap);
  max-width: var(--container);
}
a,
a:any-link {
  color: currentColor;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: border-color ease-in-out 0.3s;
}
a:hover,
a:focus {
  color: var(--brand);
  border-color: currentColor;
}
/* Site header and navigation */
body > header {
  background: var(--paper);
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 1;
}
nav ul {
  display: flex;
  list-style: none;
  gap: var(--gap);
}

/* Text readability */
section p {
  line-height: 1.5;
  max-width: 55ch;
}

.project-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5em;
}

.project {
  border: 1px solid #ddd;
  padding: 1em;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.project img {
  width: 100%;
  height: auto;
  border-radius: 5px;
  margin-bottom: 0.5em;
}

/* Adjust for larger screens */
@media (min-width: 768px) {
  .project-list {
    grid-template-columns: 1fr 1fr;
  }
}

.project h3 {
  margin-top: 0;
}

