/* =============================================
   CV.CSS — CV Page
   iansullivanart.com
   ============================================= */

.cv-header {
  padding-top: var(--space-3xl);
  padding-bottom: var(--space-xl);
}

.cv-body {
  padding-bottom: var(--space-4xl);
}

/* ---- Sections ---- */
.cv-section {
  margin-bottom: var(--space-3xl);
}

.cv-section:last-child {
  margin-bottom: 0;
}

.cv-section h2 {
  font-size: var(--text-sm);
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-fg-muted);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--color-border);
}

/* ---- List Items ---- */
.cv-list li {
  padding: var(--space-sm) 0;
}

.cv-list a {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-lg);
  transition: opacity var(--duration-fast) var(--ease-out);
}

.cv-list a:hover {
  opacity: 0.6;
}

/* Non-link items: same flex layout */
.cv-list li:not(:has(a)) {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-lg);
}

.cv-item-title {
  font-weight: var(--font-weight-regular);
}

.cv-item-detail {
  font-size: var(--text-sm);
  color: var(--color-fg-muted);
  white-space: nowrap;
}

/* ---- Responsive ---- */
@media (max-width: 600px) {
  .cv-list a,
  .cv-list li:not(:has(a)) {
    flex-direction: column;
    gap: 2px;
  }
}
