/* GEMCAP · company pages (about, founder, safety, driver resources, legal, thank-you, 404): the few rules pages.css does not
   have. Tokens only; hover only under (hover: hover) and (pointer: fine); nothing here animates. */

/* section stacking helper: a second block of content under a section's first block */
.gap-top { margin-top: clamp(var(--space-10), 4vw, var(--space-16)); }

/* driver portal box (driver resources): text left, the login button right from 768px */
.portal { display: grid; gap: var(--space-5); align-items: center; margin-bottom: clamp(var(--space-10), 4vw, var(--space-16)); }
.portal > div { display: grid; gap: var(--space-2); }
.portal p { color: var(--color-ink-muted); max-width: 52ch; }
@media (min-width: 768px) { .portal { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-8); } }
.portal .btn { justify-self: start; }
@media (max-width: 479.98px) { .portal .btn { justify-self: stretch; } }
.res-list small { overflow-wrap: anywhere; }
.res-list a { overflow-wrap: anywhere; }

/* the founder's letter: its first line is a heading in the display face, sized like the home's quote */
.letter__title { max-width: 26ch; margin-bottom: var(--space-6); font-size: clamp(1.375rem, 1.05rem + 1.4vw, 2.125rem); line-height: 1.25; }
.letter__title::before { content: ""; display: block; width: 44px; height: 4px; margin-bottom: var(--space-6); border-radius: 2px; background: var(--color-gold); }
.letter > .letter__title + * { margin-top: 0; }
.closing { max-width: 30ch; margin-top: clamp(var(--space-10), 4vw, var(--space-16)); font: 800 clamp(1.375rem, 1.05rem + 1.4vw, 2.125rem) / 1.25 var(--font-display); font-stretch: var(--display-stretch); letter-spacing: var(--tracking-display); text-wrap: balance; }

/* safety: the two authority tables side by side from 1024px, equal rows in each */
.authority-cols { display: grid; gap: var(--space-10); }
@media (min-width: 1024px) {
  .authority-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-16); align-items: start; }
  .authority-cols .facts-group + .facts-group { margin-top: 0; }
}
.facts dd .link-inline { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; font-weight: 600; }
.facts dd .link-inline .icon { width: 14px; height: 14px; stroke-width: 2; }

/* legal: documents as plain reading text. pages.css sets the measure and the dividers between documents */
.legal-doc > * + * { margin-top: 1em; }
.legal-doc > h2 { margin-top: 0; }
.legal-doc > h2 + * { margin-top: 0.5em; }
.legal-doc > h3 { margin-top: 1.8em; }
.legal-doc > h3 + * { margin-top: 0.6em; }
.legal-doc ul { display: grid; gap: var(--space-2); padding-left: 1.25em; list-style: disc; }
.legal-doc ul li::marker { color: var(--color-blue); }
.legal-doc .back-top { margin-top: var(--space-6); }

/* thank-you: the steps in a row from 1024px, then the way out */
.next-steps { display: grid; gap: clamp(var(--space-8), 3vw, var(--space-12)); }
.next-steps .btn-row { margin-top: var(--space-2); }
.next-steps .jump-label { margin-bottom: var(--space-3); color: var(--color-ink-muted); }
.stack > p.lead { color: var(--color-ink); }
