{
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "PT Serif", Georgia, serif;
  color: #111;
  background: #fff;
  line-height: 1.5;
}

/* Sans-serif UI elements */
header,
  nav,
  .logo,
  .hero > * p:first-child,
  h2,
  #work article > p:first-child,
  footer {
    font-family: "PT Sans", "sans-serif";
  }

body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
}

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px 0;
}

nav {
  display: flex;
  gap: 24px;
}

a {
  color: inherit;
}

.supporting-text {
  font-size: 16px;
  color: #696969;
}

/* Remove underline from logo */
.logo {
  text-decoration: none;
  font-weight: 600;
  font-size: clamp(18px, 4vw, 24px);
}

/* Navigation links */
nav a {
  text-decoration: none;
}

/* Add underline only when hovering */
nav a:hover {
  text-decoration: underline;
}


.hero {
  padding: 80px 0 80px;
}

.hero h1 {
  max-width: 900px;
  margin: 16px 0 24px;
  font-size: clamp(28px, 7vw, 46px);
  line-height: 100%;
  font-weight: 400;
  color: #111;
}

section {
  /*padding: 96px 0;*/
  border-top: 1px solid #ddd;
}

#work article {
  padding: 48px 0;
  border-bottom: 1px solid #ddd;
}

h3 {
  margin: 8px 0;
  font-size: clamp(30px, 4vw, 40px);
  font-weight: 400;
  line-height: 100%;
  letter-spacing: -0.02em;
}

/* Small labels */
.hero > * p:first-child,
h2,
#work article > p:first-child {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #EF1D26;
}

.project {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 24px;
  align-items: start;
}

.project-label {
  font-size: 14px;
  font-family: "PT Sans", "sans-serif";
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #EF1D26;
}

.project-image {
  max-width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  display: block;
}

footer {
  padding: 64px 0 32px;
}

@media (max-width: 600px) {
  body {
    padding: 0 20px;
  }

  nav {
    gap: 12px;
  }

  .hero {
    padding: 80px 0 80px;
  }

  .project {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
