/* Supporting pages: readable prose, persistent form labels, and usable targets. */
.docs-page,
.waitlist-page {
  --muted: #505a4e;
  --ink-2: #505a4e;
  --ink-3: #505a4e;
  font-size: 1rem;
  line-height: 1.6;
}
.docs-page article,
.docs-page .page,
.waitlist-page .shgu-page-inner { min-width: 0; }
.docs-page h1 { font-size: clamp(2.375rem, 5.3vw, 4rem); line-height: 1.12; }
.docs-page h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.2; font-weight: 600; }
.docs-page h3 { font-size: 1.25rem; line-height: 1.35; font-weight: 600; }
.docs-page p,
.docs-page .agent p,
.docs-page .grade p,
.docs-page .decision p,
.docs-page .decision .note,
.docs-page .steps li p,
.docs-page .consent-list p,
.docs-page .faq details p,
.docs-page .access p,
.docs-page .toc-note {
  font-size: 1rem;
  line-height: 1.6;
}
.docs-page .lead { font-size: 1.25rem; }
.docs-page .tagline { font-size: 1.125rem; }
.docs-page .eyebrow,
.docs-page .section-number,
.docs-page .aside-label,
.docs-page .agent .label,
.docs-page .status,
.docs-page .flow,
.docs-page .consent-list strong,
.docs-page .decision .example-label,
.docs-page .example-options-label,
.docs-page .toc a,
.docs-page .toc a span,
.docs-page .footer,
.docs-page .header nav {
  font-family: Manrope, system-ui, sans-serif;
  font-size: .875rem;
  line-height: 1.6;
}
.docs-page .eyebrow,
.docs-page .section-number,
.docs-page .aside-label { letter-spacing: .035em; }
.docs-page .toc a span { color: #505a4e; flex-shrink: 0; }
.docs-page .status { white-space: normal; font-weight: 600; }
.docs-page .steps li:before { font: .875rem/1.4 Manrope, system-ui, sans-serif; }
.docs-page .flow { gap: .75rem; }
.docs-page .example-options { margin: 1.25rem 0; }
.docs-page .example-options .example-options-label { margin: 0 0 .5rem; color: #505a4e; }
.docs-page .example-options ul { margin: 0; padding-left: 1.25rem; font-size: 1rem; line-height: 1.6; }
.docs-page .example-options li + li { margin-top: .375rem; }
.docs-page .faq details { padding: 0; }
.docs-page .faq summary {
  min-height: 2.75rem;
  padding: 1rem 0;
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 600;
}
.docs-page .faq details p { padding: 0 0 1.25rem; }
.docs-page .header nav a,
.docs-page .toc a,
.docs-page .footer a,
.docs-page .contact {
  display: inline-flex;
  align-items: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: .625rem .25rem;
  font-size: .875rem;
  line-height: 1.5;
}
.docs-page .toc a { display: flex; padding-inline: 0; }
.docs-page .nav-cta { padding-inline: 1rem !important; }
.docs-page .cta { min-height: 2.75rem; font-size: 1rem; line-height: 1.6; }
.docs-page .logo { min-height: 2.75rem; }
.docs-page .footer nav { gap: .5rem 1rem; }
.docs-page .contact { padding-inline: .25rem; }
.docs-page section,
.docs-page #guide { scroll-margin-top: 7rem; }

/* Scope the shared widget styles to the early-access page or its modal. */
.waitlist-page .shgu-wl,
.shgu-modal .shgu-wl {
  --ink-2: #505a4e;
  --ink-3: #505a4e;
  --green-bright: #047857;
  --green-strong: #047857;
  font-size: 1rem;
  line-height: 1.6;
}
.waitlist-page .shgu-sub,
.waitlist-page .shgu-input,
.waitlist-page .shgu-lane-note,
.waitlist-page .shgu-msg,
.waitlist-page .shgu-done-sub,
.shgu-modal .shgu-sub,
.shgu-modal .shgu-input,
.shgu-modal .shgu-lane-note,
.shgu-modal .shgu-msg,
.shgu-modal .shgu-done-sub {
  font-size: 1rem;
  line-height: 1.6;
}
.waitlist-page .shgu-board-label,
.waitlist-page .shgu-eyebrow,
.waitlist-page .shgu-lane-label,
.waitlist-page .shgu-foot,
.waitlist-page .shgu-verified,
.waitlist-page .shgu-term,
.shgu-modal .shgu-board-label,
.shgu-modal .shgu-eyebrow,
.shgu-modal .shgu-lane-label,
.shgu-modal .shgu-foot,
.shgu-modal .shgu-verified,
.shgu-modal .shgu-term {
  font-family: Manrope, system-ui, sans-serif;
  font-size: .875rem;
  line-height: 1.6;
}
.waitlist-page .shgu-eyebrow,
.shgu-modal .shgu-eyebrow { color: #36573e; letter-spacing: .035em; }
.waitlist-page .shgu-presence,
.shgu-modal .shgu-presence { flex-wrap: wrap; }
.waitlist-page .shgu-title,
.shgu-modal .shgu-title { font-size: 1.625rem; line-height: 1.25; font-weight: 600; }
.waitlist-page .shgu-done-title,
.shgu-modal .shgu-done-title { font-size: 1.5rem; line-height: 1.3; font-weight: 600; }
.waitlist-page .shgu-label,
.shgu-modal .shgu-label {
  display: block;
  color: #252b25;
  font-size: .875rem;
  line-height: 1.6;
  font-weight: 600;
  margin: 0 0 .5rem;
}
.waitlist-page .shgu-team-label,
.shgu-modal .shgu-team-label { margin-top: 1.25rem; }
.waitlist-page .shgu-input,
.shgu-modal .shgu-input {
  min-height: 3.5rem;
  border-color: #798472;
}
.waitlist-page .shgu-input::placeholder,
.shgu-modal .shgu-input::placeholder { color: #505a4e; opacity: 1; }
.waitlist-page .shgu-lane,
.shgu-modal .shgu-lane { min-height: 2.75rem; border-color: #798472; }
.waitlist-page .shgu-lane:hover,
.waitlist-page .shgu-input:hover:not(:focus),
.shgu-modal .shgu-lane:hover,
.shgu-modal .shgu-input:hover:not(:focus) { border-color: #59664f; }
.waitlist-page .shgu-lane-label,
.shgu-modal .shgu-lane-label { font-weight: 600; }
.waitlist-page .shgu-tick,
.shgu-modal .shgu-tick { top: auto; bottom: 1.2rem; transform: scale(.7); }
.waitlist-page .shgu-wl[data-valid="1"] .shgu-tick,
.shgu-modal .shgu-wl[data-valid="1"] .shgu-tick { transform: scale(1); }
.waitlist-page .shgu-btn,
.shgu-modal .shgu-btn {
  height: auto;
  min-height: 3rem;
  padding: .75rem 1rem;
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 600;
}
.waitlist-page .shgu-wl[data-state="invalid"] .shgu-msg,
.waitlist-page .shgu-wl[data-state="error"] .shgu-msg,
.shgu-modal .shgu-wl[data-state="invalid"] .shgu-msg,
.shgu-modal .shgu-wl[data-state="error"] .shgu-msg { max-height: none; }
.waitlist-page .shgu-wl[data-state="loading"] .shgu-term,
.waitlist-page .shgu-wl[data-state="done"] .shgu-term,
.shgu-modal .shgu-wl[data-state="loading"] .shgu-term,
.shgu-modal .shgu-wl[data-state="done"] .shgu-term { max-height: none; }
.waitlist-page .shgu-done,
.shgu-modal .shgu-done { display: none; position: static; padding: 1.5rem 0 .5rem; }
.waitlist-page .shgu-wl[data-state="done"] .shgu-swap,
.shgu-modal .shgu-wl[data-state="done"] .shgu-swap { display: none; }
.waitlist-page .shgu-wl[data-state="done"] .shgu-done,
.shgu-modal .shgu-wl[data-state="done"] .shgu-done { display: flex; }
.waitlist-page .shgu-foot,
.shgu-modal .shgu-foot { flex-wrap: wrap; }
.shgu-modal .shgu-close { width: 2.75rem; height: 2.75rem; min-width: 2.75rem; min-height: 2.75rem; }
.shgu-modal .shgu-stage { padding-top: 3.5rem; }
.shgu-modal .shgu-modal-panel { max-height: calc(100dvh - 2rem); overflow-y: auto; }
.waitlist-page .wl-nav-in { flex-wrap: wrap; gap: .5rem 1rem; }
.waitlist-page .wl-nav-in > a,
.waitlist-page .wl-foot-in nav a,
.waitlist-page .shgu-page-back {
  display: inline-flex;
  align-items: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding-block: .625rem;
  font-size: .875rem;
  line-height: 1.5;
}
.waitlist-page .wl-foot-in { font-size: .875rem; line-height: 1.6; color: #505a4e; }
.waitlist-page .wl-foot-in nav { gap: .5rem 1rem; }
.waitlist-page .shgu-page-h1 { line-height: 1.15; }
.waitlist-page .shgu-page-sub { font-size: 1rem; line-height: 1.6; }
.docs-page a:focus-visible,
.docs-page summary:focus-visible,
.waitlist-page a:focus-visible,
.waitlist-page button:focus-visible,
.waitlist-page input:focus-visible,
.shgu-modal button:focus-visible,
.shgu-modal input:focus-visible {
  outline: 3px solid #9b460b;
  outline-offset: 4px;
}
@media (max-width: 650px) {
  .docs-page .header-inner { flex-wrap: wrap; gap: .5rem 1rem; }
  .docs-page .header nav { gap: .5rem 1rem; margin-left: auto; }
  .docs-page .toc { grid-template-columns: 1fr; }
  .docs-page .contact { display: flex; width: fit-content; margin-left: 0; }
  .docs-page section,
  .docs-page #guide { scroll-margin-top: 10rem; }
  .docs-page .footer { gap: .5rem; }
}
.waitlist-page .shgu-term .shgu-tl > span,
.shgu-modal .shgu-term .shgu-tl > span { color: #b5bcb0 !important; }

/* Navigation wraps whole links when text is enlarged or spaced. */
.docs-page .header nav { flex-wrap: wrap; }
.docs-page .header nav a { flex-shrink: 0; }
.waitlist-page .shgu-page-h1 { font-size: clamp(2rem, 4.2vw, 3.25rem); }

/* Validation points to the field that needs attention. */
.waitlist-page .shgu-wl[data-state="invalid"] .shgu-input:not([aria-invalid="true"]),
.shgu-modal .shgu-wl[data-state="invalid"] .shgu-input:not([aria-invalid="true"]) { border-color: #798472; box-shadow: none; }
.waitlist-page .shgu-wl .shgu-field,
.shgu-modal .shgu-wl .shgu-field { animation: none; }
.waitlist-page .shgu-request-status,
.shgu-modal .shgu-request-status { margin: 0; color: #505a4e; font-size: 1rem; line-height: 1.6; }
.waitlist-page .shgu-request-status:not(:empty),
.shgu-modal .shgu-request-status:not(:empty) { margin: .75rem 0; }