/* Signal Noir: shared website tokens and accessible component refinements.
 * The yellow hero discovery action is deliberate; registration/submission uses emerald.
 * Functional emerald tones may be darker than the base swatch for text contrast.
 */
:root {
  --knoq-graphite: #101216;
  --knoq-porcelain: #f7f5f0;
  --knoq-solar: #ffc928;
  --knoq-emerald: #14884b;
  --knoq-action: #11643b;
  --knoq-violet: #8b7cff;
  --knoq-mist: #e9f4ed;
  --knoq-sans: "Manrope", Arial, sans-serif;
  --knoq-mono: "DM Mono", monospace;
  --mono: var(--knoq-mono);
  --privacy-paper: var(--knoq-porcelain);
  --privacy-yellow: var(--knoq-solar);
}
html body { font-family: var(--knoq-sans); }
button, input, select, textarea { font-family: var(--knoq-sans); }
.hcd-home .h-kicker,
.tablet-status,
.h-phone-status { font-family: var(--knoq-mono); }
main :is(h1,h2,h3,h4) { text-wrap: balance; }
main p { text-wrap: pretty; }
main :is(input,select,textarea) { max-width: 100%; }
main :is(a,button,summary) { scroll-margin-block: 110px 90px; }
main :is(button,a,summary,input,select,textarea):focus-visible {
  outline: 3px solid var(--knoq-solar);
  outline-offset: 4px;
}
/* A dark focus mark is visible on the light information surface. */
.privacy-body :is(a,button,summary,input):focus-visible {
  outline-color: #006647;
}
.privacy-body :is(.privacy-article,.privacy-guide,.privacy-return) .knoq-wordmark-text {
  color: #253c30 !important;
}
.privacy-body .privacy-email .knoq-wordmark-text,
.privacy-body .privacy-investor-note .knoq-wordmark-text {
  color: inherit !important;
}
/* Keep the existing approved discovery button separate from commitment actions. */
.story-primary-action { background-color: var(--knoq-solar); }
/* Norb owns the lower-right viewport corner; motion owns the hero's lower-left. */
.story-hero .sequence-control {
  left: clamp(20px, 3.5vw, 56px);
  right: auto;
  bottom: 24px;
  min-width: 88px;
  min-height: 44px;
}
.h-professional-journey {
  margin: 32px 0 0;
  padding: 24px clamp(20px, 3vw, 32px);
  border: 1px solid #45624f;
  border-radius: 16px;
  background: linear-gradient(110deg, #16382566, #101b1699);
}
.h-professional-journey .h-kicker { margin-bottom: 18px; color: #b5d9c3; }
.h-professional-journey ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.h-professional-journey li { min-width: 0; position: relative; }
.h-professional-journey b { display: block; color: var(--knoq-porcelain); font-size: 18px; }
.h-professional-journey li > span {
  display: block;
  margin-bottom: 8px;
  color: #82cea3;
  font: 500 12px/1.5 var(--knoq-mono);
}
.h-professional-journey li > p { margin: 7px 0 0; color: #becfc3; font-size: 16px; line-height: 1.6; }
.h-professional-journey > p:last-child { margin: 18px 0 0; color: #becfc3; font-size: 15px; }
.h-cost-membership { margin-top: 16px; }
.h-request-commitment { margin-top: 18px; font-size: 16px; color: #c6d5cb; }
.privacy-quick-read.knoq-tablet h2 { line-height: 1.12; hyphens: none; }
.privacy-quick-read h2 .privacy-phrase { display: inline-block; white-space: nowrap; }
.privacy-guide nav span, .privacy-number { color: #576c60; }
.privacy-hero h1 { line-height: 1.02; }
.privacy-article h2 { line-height: 1.12; }
.investor-nav .nav-action,
.access-form button[type="submit"] {
  color: #fff;
  background: var(--knoq-action);
  border-color: #43845d;
}
.investor-nav .nav-action:hover,
.access-form button[type="submit"]:hover { background: #0c5733; color: #fff; }
@media (max-width: 420px) {
  .privacy-page .investor-nav {
    grid-template-columns: minmax(64px, 1fr) auto auto;
    gap: 8px;
    padding-inline: 12px;
  }
  .privacy-page .investor-nav > a:first-child img { width: 86px; }
}
@media (max-width: 760px) {
  .h-professional-journey ol { grid-template-columns: 1fr; gap: 20px; }
  .h-professional-journey li + li { padding-top: 20px; border-top: 1px solid #45624f; }
  .story-hero .sequence-control { top: auto; bottom: 18px; }
}
@media (forced-colors: active) {
  .privacy-body .knoq-wordmark-text { color: CanvasText !important; }
  main :is(button,a,summary,input,select,textarea):focus-visible { outline-color: Highlight; }
}
