/* ---- Bio ---- */
.bio-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: var(--sp-10);
  align-items: start;
}

.bio-image {
  border-radius: var(--r-xl);
  overflow: hidden;
  aspect-ratio: 4/5;
  position: sticky;
  top: calc(var(--sp-16) + var(--sp-4));
}

.bio-copy p + p {
  margin-top: var(--sp-5);
  font-size: var(--fs-md);
}

@media (max-width: 860px) {
  .bio-grid { grid-template-columns: 1fr; }
  .bio-image { position: static; max-width: 320px; }
}

/* ---- Skills ---- */
.skills-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-6);
}

@media (max-width: 980px) {
  .skills-grid { grid-template-columns: 1fr; }
}

/* ---- Certifications ---- */
.cert-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-5);
}

.cert-card {
  padding: var(--sp-5);
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  align-items: flex-start;
}

.cert-card h4 { margin-top: var(--sp-1); }
.cert-card p { font-size: var(--fs-sm); margin-top: 0; }

@media (max-width: 640px) {
  .cert-grid { grid-template-columns: 1fr; }
}
