/* Section pages share the original palette, type scale, and centered frame. */
.section-main {
  width: min(100% - 96px, 1000px);
  margin: 0 auto;
  padding: 160px 0 120px;
  min-height: 80vh;
}
.section-heading { max-width: 556px; margin: 0 auto 80px; text-align: center; }
.section-main > .capabilities { padding: 0 0 80px; }
.section-main > .capabilities .capabilities-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr) minmax(0, 3.3fr);
  gap: 0 24px;
  width: 100%;
  max-width: none;
  margin: 0 auto;
}
.section-main > .capabilities .cap-headline { grid-column: 1 / -1; }
.section-main > .capabilities .cap-group { min-width: 0; margin-bottom: 0; }
.section-main > .capabilities .proj-tag { max-width: 100%; overflow-wrap: anywhere; }
.mini-cv {
  min-width: 0;
  padding-left: 24px;
  border-left: 1px solid var(--border);
}
.mini-cv-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  text-align: left;
  font-size: var(--body-2-size);
  line-height: var(--body-2-line);
  letter-spacing: var(--tracking);
}
.mini-cv-table caption { text-align: left; }
.mini-cv-table td { padding: 0 16px 16px 0; vertical-align: top; overflow-wrap: anywhere; }
.mini-cv-table td:first-child { width: 20%; color: var(--text-muted); }
.mini-cv-table td:nth-child(2) { width: 35%; }
.mini-cv-table td:last-child { width: 45%; padding-right: 0; color: var(--text-muted); }
.mini-cv-table tr:last-child td { padding-bottom: 0; }
@media (max-width: 800px) {
  .section-main > .capabilities .capabilities-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
  .mini-cv { grid-column: 1 / -1; margin-top: 40px; padding: 32px 0 0; border-left: 0; border-top: 1px solid var(--border); }
}
.section-heading h1 {
  font-size: var(--title-1-size);
  line-height: var(--title-1-line);
  font-weight: var(--weight-regular);
  letter-spacing: var(--tracking-tight);
  margin-bottom: 16px;
}
.section-heading p, .collection-caption p, .journal-copy > p {
  font-size: var(--body-2-size);
  line-height: var(--body-2-line);
  color: var(--text-dim);
}
.collection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px 24px; }
.collection-card { display: block; min-width: 0; color: inherit; text-decoration: none; }
.collection-card--featured { grid-column: 1 / -1; }
.collection-image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: var(--grey-100);
  border-radius: 8px;
  transition: opacity .3s;
}
.collection-card--featured .collection-image { aspect-ratio: 16 / 9; }
.collection-card:hover .collection-image { opacity: .88; }
.collection-caption { display: flex; justify-content: space-between; gap: 16px; margin-top: 16px; }
.collection-caption h2, .journal-copy h2 {
  font-size: var(--title-3-size);
  line-height: var(--title-3-line);
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-tight);
  margin-bottom: 2px;
}
.journal-copy .journal-meta, .journal-status {
  font-size: var(--caption-1-size);
  line-height: var(--caption-1-line);
  color: var(--text-muted);
}
.collection-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.collection-meta .proj-tag { max-width: 100%; overflow-wrap: anywhere; }
.collection-grid--trying { margin: 0 auto; }
.journal-list { margin: 0 auto; }
.journal-entry { display: grid; grid-template-columns: 212px 1fr; gap: 32px; align-items: center; padding: 32px 0; border-bottom: 1px solid var(--border); }
.journal-entry:first-child { border-top: 1px solid var(--border); }
.journal-image-placeholder { display: grid; place-items: center; aspect-ratio: 4 / 3; background: var(--grey-100); border-radius: 2px; color: var(--text-muted); font-size: var(--caption-1-size); }
.journal-image-placeholder { overflow: hidden; }
.journal-image-placeholder img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: cover; }
.journal-copy .journal-meta { margin-bottom: 16px; }
.journal-meta span { padding: 0 6px; }
.journal-status { display: inline-block; margin-top: 20px; }
@media (max-width: 600px) {
  .section-main { width: calc(100% - 48px); padding: 156px 0 80px; }
  .section-heading { margin-bottom: 48px; }
  .collection-grid { grid-template-columns: 1fr; gap: 48px; }
  .collection-card--featured .collection-image { aspect-ratio: 4 / 3; }
  .journal-entry { grid-template-columns: 1fr; gap: 24px; }
}

/* Keep linked journal titles in the original editorial typography. */
.journal-entry { color: inherit; text-decoration: none; }
.journal-entry:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
