/* Sources page: AI disclaimer, group table and reference list.
   Shared hero, nav and footer styles live in site.css. */

/* The design's header is a short title block, not the full-height hero. */
.src-hero { min-height: auto; justify-content: flex-start; }

.src-h2 { margin: 0; font-size: clamp(34px, 4.4vw, 64px); line-height: 1.02; letter-spacing: -.02em; }

.src-ai, .src-team, .src-refs { display: flex; flex-direction: column; gap: var(--space-6); }
.src-ai { padding-top: var(--space-8); padding-bottom: clamp(60px, 10vh, 120px); }
.src-team, .src-refs { padding-top: clamp(60px, 10vh, 120px); padding-bottom: clamp(60px, 10vh, 120px); }

.src-ai .lede { margin: 0; max-width: 52ch; font-size: clamp(18px, 1.6vw, 22px); line-height: 1.5; text-wrap: pretty; }

/* Card grid: the design's glossary rhythm, carrying the four disclaimer bullets. */
.src-grid {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6);
}
.src-grid li {
  padding-top: var(--space-4); border-top: 2px solid var(--color-accent);
  font-size: 17px; line-height: 1.5; color: var(--color-neutral-800); text-wrap: pretty;
}

/* Group table */
.src-table-wrap { max-width: 1000px; }
.src-table { width: 100%; border-collapse: collapse; }
.src-table thead th {
  text-align: left; font-size: 15px; font-weight: 400; color: var(--color-neutral-700);
  padding: 0 var(--space-4) var(--space-3) 0; border-bottom: 1px solid var(--color-text);
}
.src-table tbody th, .src-table tbody td {
  text-align: left; vertical-align: top; padding: var(--space-5, 20px) var(--space-4) var(--space-5, 20px) 0;
  border-bottom: 1px solid color-mix(in srgb, var(--color-text) 14%, transparent);
}
.src-table tbody th { width: 32%; font-weight: 400; }
.src-table .name { display: block; font-size: 20px; font-weight: 600; }
.src-table .sn { display: block; margin-top: 4px; font-size: 14px; color: var(--color-neutral-600); font-variant-numeric: tabular-nums; }
.src-table td { font-size: 17px; line-height: 1.5; color: var(--color-neutral-800); }

/* References: hanging indent, long URLs wrap anywhere. */
.refs { list-style: none; margin: 0; padding: 0; max-width: 900px; display: flex; flex-direction: column; gap: var(--space-4); }
.refs li { font-size: 18px; line-height: 1.55; padding-left: 2em; text-indent: -2em; overflow-wrap: break-word; text-wrap: pretty; }
/* Long URLs break anywhere and sit a step smaller so they do not swamp the entry. */
.refs a.url { font-size: .82em; overflow-wrap: anywhere; word-break: break-word; color: var(--color-neutral-700); text-underline-offset: 2px; }
.refs a.url:hover { color: var(--color-accent); }

@media (max-width: 760px) {
  .src-hero { padding-top: 150px; }
  .src-grid { grid-template-columns: minmax(0, 1fr); }
  .src-table tbody th { width: 38%; }
  .src-table .name { font-size: 17px; }
  .src-table td { font-size: 15px; }
  .refs li { font-size: 16px; padding-left: 1.25em; text-indent: -1.25em; }
  .refs a.url { font-size: .75em; }
}
