/* Project page — shared styles, loaded after styles.css */

main { padding: 40px 36px 100px; }

.hero-row { display: block; margin-bottom: 60px; }

.project-tag {
  font-size: 11px;
  color: var(--mid);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.project-title {
  font-size: 64px;
  font-weight: 300;
  line-height: 1.0;
  letter-spacing: -0.02em;
  width: 100%;
  margin-bottom: 16px;
}

.project-context {
  font-size: 24px;
  font-weight: 300;
  line-height: 1.5;
  color: var(--ink);
  width: 66%;
}

.project-meta {
  font-size: 12px;
  color: var(--mid);
  letter-spacing: 0.06em;
  margin-top: 16px;
}

footer { margin-top: 80px; }

/* ── MEDIA GRID — image layouts ── */
.media-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 48px 16px;
  margin-top: 60px;
}
.media-grid > * {
  background: #f0f0f0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--mid);
  letter-spacing: 0.06em;
}
.media-grid > * > img,
.media-grid > * > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.media-16x9 { grid-column: span 6; aspect-ratio: 16/9; }
.media-3x2  { grid-column: span 3; aspect-ratio: 3/2; }
.media-1x1  { grid-column: span 2; aspect-ratio: 1/1; }

@media (max-width: 700px) {
  main { padding: 20px 20px 60px; }
  .project-title { font-size: 32px; }
  .project-context { width: 100%; font-size: 18px; }
  .media-grid { gap: 24px 8px; margin-top: 40px; }
  .media-16x9, .media-3x2, .media-1x1 { grid-column: span 6; }
  .media-1x1 { aspect-ratio: 1/1; }
}
