/* /landing/ai-info/: a reference document. Everything visible, nothing
   collapsed, comfortable reading measure, sticky table of contents on desktop.
   Uses the public-site tokens (ink #0d1024, indigo #6366f1, tint #f7f8fc). */

.ai-page { padding-top: 7rem; padding-bottom: 3rem; }
@media (min-width: 992px) { .ai-page { padding-top: 8.5rem; padding-bottom: 4rem; } }

.ai-header { padding-bottom: 2rem; margin-bottom: 2.5rem; border-bottom: 1px solid #dfe2ef; }
.ai-header h1 { font-size: clamp(1.75rem, 3.2vw, 2.5rem); line-height: 1.2; letter-spacing: -.01em; }
.ai-meta { color: var(--si-gray-700, #565973); font-size: .9375rem; max-width: 42rem; }
.ai-meta span { color: var(--si-gray-600, #9397ad); }

/* Document body */
.ai-doc { max-width: 46rem; }
.ai-doc section { padding-bottom: 2.75rem; margin-bottom: 2.75rem; border-bottom: 1px solid #eceef6; }
.ai-doc section:last-child { border-bottom: 0; margin-bottom: 0; }
.ai-doc h2 {
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
  scroll-margin-top: 6rem;
}
.ai-doc section { scroll-margin-top: 5.5rem; }
.ai-doc h3 {
  font-size: 1.0625rem;
  margin-top: 1.75rem;
  margin-bottom: .5rem;
}
.ai-doc p, .ai-doc li { font-size: .9375rem; line-height: 1.65; }
.ai-doc p { margin-bottom: 1rem; }
.ai-doc ul, .ai-doc ol { padding-left: 1.25rem; margin-bottom: 1rem; }
.ai-doc li { margin-bottom: .3rem; }
.ai-doc a { color: var(--si-primary, #6366f1); text-decoration: none; }
.ai-doc a:hover { text-decoration: underline; }

.ai-concepts { color: var(--si-gray-700, #565973); }

.ai-cols { columns: 2; column-gap: 2rem; }
.ai-cols li { break-inside: avoid; }
@media (max-width: 575.98px) { .ai-cols { columns: 1; } }

/* Tables */
.ai-table { --bs-table-bg: transparent; font-size: .9375rem; margin-bottom: 1rem; }
.ai-table th[scope="row"] { font-weight: 600; white-space: nowrap; color: #0d1024; width: 40%; }
.ai-table thead th { font-size: .8125rem; color: var(--si-gray-700, #565973); border-bottom: 2px solid #0d1024; }
.ai-table td, .ai-table th { padding: .65rem .75rem .65rem 0; border-color: #e6e8f2; }

/* Plans and hierarchy columns */
.ai-plans h3 { margin-top: 0; }
.ai-plans ul { padding-left: 1.1rem; }

/* Numbered stages: content is a real sequence */
.ai-stages { list-style: none; padding-left: 0; counter-reset: stage; }
.ai-stages > li {
  position: relative;
  padding-left: 3rem;
  margin-bottom: 1.25rem;
  counter-increment: stage;
}
.ai-stages > li::before {
  content: counter(stage);
  position: absolute;
  left: 0;
  top: -.1rem;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 2px solid var(--si-primary, #6366f1);
  color: var(--si-primary, #6366f1);
  font-weight: 700;
  font-size: .875rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ai-stages h3 { margin-top: 0; }

/* Timeline, relationships, FAQ: definition lists with hairlines */
.ai-timeline > div,
.ai-relations > div,
.ai-faq > div {
  display: grid;
  gap: .25rem 1.5rem;
  padding: .9rem 0;
  border-top: 1px solid #e6e8f2;
}
.ai-timeline > div:last-child,
.ai-relations > div:last-child,
.ai-faq > div:last-child { border-bottom: 1px solid #e6e8f2; }
.ai-timeline dt, .ai-relations dt, .ai-faq dt { font-weight: 700; color: #0d1024; }
.ai-timeline dd, .ai-relations dd, .ai-faq dd { margin: 0; color: var(--si-gray-700, #565973); font-size: .9375rem; line-height: 1.6; }
@media (min-width: 768px) {
  .ai-timeline > div { grid-template-columns: 5rem 1fr; }
  .ai-relations > div { grid-template-columns: 15rem 1fr; }
}

/* Link lists */
.ai-links { list-style: none; padding-left: 0; }
.ai-links li { padding: .35rem 0; border-top: 1px solid #eceef6; margin: 0; }
.ai-links li:last-child { border-bottom: 1px solid #eceef6; }
.ai-links-cols { columns: 2; column-gap: 2rem; }
.ai-links-cols li { break-inside: avoid; }
@media (max-width: 575.98px) { .ai-links-cols { columns: 1; } }

/* Table of contents */
.ai-toc {
  position: sticky;
  top: 6rem;
  max-height: calc(100vh - 7rem);
  overflow-y: auto;
  padding-right: 1rem;
}
.ai-toc-title {
  font-size: .8125rem;
  font-weight: 700;
  color: #0d1024;
  margin-bottom: .75rem;
}
.ai-toc li { margin: 0; }
.ai-toc a {
  display: block;
  padding: .3rem 0 .3rem .75rem;
  font-size: .8125rem;
  color: var(--si-gray-700, #565973);
  text-decoration: none;
  border-left: 2px solid #e6e8f2;
}
.ai-toc a:hover, .ai-toc a:focus-visible { color: var(--si-primary, #6366f1); border-left-color: var(--si-primary, #6366f1); }
