/* STX Vets – Typography & Readability (fixed link colors) */

/* Constrain width for long-form pages */
.page--narrow { max-width: 1100px; margin: 0 auto; padding: 1.5rem; }

/* Headings rhythm */
.section h1 { margin: 0 0 .4rem 0; line-height: 1.16; }
.section h2 { margin: 1.6rem 0 .5rem 0; line-height: 1.22; }
.section h3 { margin: 1.1rem 0 .3rem 0; line-height: 1.26; }

/* Paragraphs & list items */
.section p, .section li, .section dd { line-height: 1.85; }

/* Default list spacing (not for quick-links) */
.section ul, .section ol { padding-left: 1.25rem; }
.section ul > li + li, .section ol > li + li { margin-top: .28rem; }

/* Lead paragraph */
.lead { font-size: 1.15rem; line-height: 1.75; opacity: .96; }

/* Global link color — use theme tokens and stop UA defaults */
a,
a:visited { color: var(--link-normal); }
a:hover    { color: var(--link-hover); }
a:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }

/* Quick-links block at top of pages */
.quick-links { margin-top: .8rem; }
.quick-links ul {
  list-style: none; padding-left: 0; margin: .5rem 0 0 0;
  display: flex; flex-wrap: wrap; gap: .6rem 1.1rem;
}
.quick-links li { list-style: none; margin: 0; padding: 0; }
.quick-links a,
.quick-links a:visited {
  text-decoration: underline;
  text-underline-offset: .18em;
  text-decoration-thickness: .09em;
  color: var(--link-normal);
}

/* Buttons in hero CTA rows */
.button {
  display: inline-block; padding: .6rem 1rem; border-radius: .75rem;
  border: 1px solid var(--border-weak);
  text-decoration: none; font-weight: 600;
  background: transparent;
  color: var(--text-main);
}
.button + .button { margin-left: .5rem; }
.button--primary {
  border-color: transparent;
  background: var(--brand);
  color: #fff;
  box-shadow: 0 10px 28px rgba(37, 99, 235, 0.25);
}
.button--primary:hover {
  background: #2563eb;
  color: #fff;
}

/* Investors table */
.table-compact { width: 100%; border-collapse: collapse; font-size: .98rem; }
.table-compact th, .table-compact td {
  padding: .55rem .7rem; border-bottom: 1px solid rgba(255,255,255,.1); vertical-align: top;
}
.table-compact thead th {
  text-align: left; font-weight: 700; border-bottom: 2px solid rgba(255,255,255,.18);
}

/* Wider desktop column */
@media (min-width: 1200px) { .page--narrow { max-width: 1140px; } }

/* Active nav state duplication for resilience */
.nav a.active { font-weight: 700; border-bottom: 2px solid var(--brand); }
