/* sanz.me — minimalist portfolio, built on platform theme tokens.
   Home hero uses the shared native .home-hero/.home-tagline/.home-nav styles
   in core/public/css/style.css. Only sanz.me-specific styles live here. */

/* Work grid */
.sm-work-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--s-4);
  margin: var(--s-5) 0;
}
.sm-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--text);
}
.sm-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 6px;
  display: block;
}
.sm-card-title {
  margin-top: var(--s-2);
  font-weight: 500;
}
.sm-card-tags {
  color: var(--muted);
  font-size: var(--fs-sm);
}
.sm-card:hover img { opacity: 0.9; }

/* About */
.sm-about { max-width: 42rem; }
.sm-links { margin: var(--s-3) 0; }
.sm-skills {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2) var(--s-3);
  color: var(--muted);
}

/* Project detail page */
.sm-project { max-width: 56rem; margin: 0 auto; }
.sm-project-head { max-width: 42rem; margin-bottom: var(--s-5); }
.sm-back { margin: 0 0 var(--s-3); }
.sm-back a {
  color: var(--muted);
  text-decoration: none;
  font-size: var(--fs-sm);
  letter-spacing: 0.04em;
}
.sm-back a:hover { color: var(--accent); }
.sm-project-head h1 {
  font-family: var(--font-ui);
  font-weight: 300;
  letter-spacing: 0.02em;
  margin: 0 0 var(--s-3);
}
.sm-project-desc {
  color: var(--text);
  line-height: 1.6;
  margin: 0 0 var(--s-3);
}
.sm-project-tags {
  color: var(--muted);
  font-size: var(--fs-sm);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0;
}
.sm-project-media {
  display: flex;
  flex-direction: column;
  gap: var(--s-4);
}
.sm-project-media img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}
