:root {
  --bg: #f5f5f5;
  --card-bg: #fff;
  --text: #363636;
  --link: #3273dc;
  --border: #ededed;
  --shadow: 0 2px 3px rgba(10, 10, 10, .1), 0 0 0 1px rgba(10, 10, 10, .1);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: var(--bg);
  color: var(--text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.grid {
  width: 100%;
  max-width: 960px;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, 1fr);
}

.card {
  display: flex;
  flex-direction: column;
  background: var(--card-bg);
  border-radius: 6px;
  box-shadow: var(--shadow);
  overflow: hidden;
}

.card-title {
  margin: 0;
  padding: .75rem 1rem;
  font-size: 1rem;
  font-weight: 700;
  border-bottom: 1px solid var(--border);
}

.card-image {
  display: block;
  width: 100%;
  height: auto;
}

.card-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  margin-top: auto;
  padding: .75rem 1rem;
  border-top: 1px solid var(--border);
  color: var(--link);
  text-decoration: none;
  font-weight: 600;
}

.card-link:hover {
  background: var(--bg);
}

.card-link svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
}
