.card-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #444;
}

.card {
  padding: 48px 32px;
  background: #111;
  min-height: 360px;
}

.card span {
  display: block;
  margin-bottom: 80px;
  font-size: 14px;
  color: #aaa;
}

.card h3 {
  font-size: 34px;
  line-height: 1;
  margin-bottom: 24px;
}

.card p {
  color: #ddd;
}

.works-grid,
.media-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.outline-btn,
.contact-btn {
  display: inline-block;
  padding: 16px 36px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-weight: 800;
  white-space: nowrap;
}

.project-box,
.portfolio-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: center;
  padding: 56px;
}

.project-box {
  background: #111;
  color: #fff;
}

.portfolio-box {
  background: #fff;
  border: 1px solid #ddd4c5;
}

.project-status,
.portfolio-label {
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.18em;
  color: #e85d27;
  margin-bottom: 16px;
}

.project-box h3,
.portfolio-box h3 {
  font-size: 42px;
  line-height: 1.2;
  margin-bottom: 20px;
}

.project-box p {
  max-width: 720px;
  color: #ddd;
}

.portfolio-box p {
  max-width: 760px;
  color: #555;
}

.media-card {
  display: block;
  padding: 36px 28px;
  min-height: 280px;
  background: #fff;
  border: 1px solid #ddd4c5;
  transition: 0.2s;
}

.media-card:hover {
  transform: translateY(-4px);
}

.media-card span {
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.14em;
  color: #e85d27;
}

.media-card h3 {
  margin-top: 48px;
  font-size: 28px;
  line-height: 1.2;
}

.media-card p {
  margin-top: 18px;
  color: #555;
}

.coming-soon {
  opacity: 0.7;
}