/* Long-form guides and the /learn/ index, written by the content factory.
   Dark reading surface in the quant+ brand: Plus Jakarta Sans + JetBrains Mono (self-hosted in /fonts via site.css),
   brand blue #0878e8 -> sky #0ea5e9 accents. Class names mirror the RevvOS guides.css so the factory can share templates.
   To switch guides to the light home palette, override the tokens on .page-guide. */
.page-guide {
  --g-bg: #f5f7fa;
  --g-panel: #ffffff;
  --g-panel-strong: #f1f5f9;
  --g-line: #e2e8f0;
  --g-line-strong: #93c5fd;
  --g-ink: #0f172a;
  --g-text: #334155;
  --g-muted: #64748b;
  --g-dim: #94a3b8;
  --g-accent: #0071e3;
  --g-accent-bright: #005ec0;
  --g-sky: #0ea5e9;
  --g-accent-soft: #e9f2fd;
  --g-sans: "Plus Jakarta Sans", "Inter", ui-sans-serif, system-ui, sans-serif;
  --g-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  margin: 0;
  min-height: 100dvh;
  background:
    radial-gradient(circle at 50% -10%, rgba(8, 120, 232, .22) 0%, rgba(14, 165, 233, .06) 32%, rgba(7, 11, 20, 0) 62%),
    var(--g-bg);
  color: var(--g-text);
  font-family: var(--g-sans);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
}
.page-guide ::selection { background: var(--g-accent); color: #fff; }
.skip-link { position: absolute; left: 12px; top: -48px; z-index: 100; padding: 8px 14px; border-radius: 999px; background: #fff; color: #0f172a; font: 500 13px/1 var(--g-sans); text-decoration: none; }
.skip-link:focus { top: 12px; }

.guide { padding: 132px 0 96px; }
.guide-wrap { width: min(calc(100% - 44px), 760px); margin-inline: auto; }
.guide-crumbs { font: 400 12px/1.4 var(--g-mono); color: var(--g-dim); letter-spacing: .02em; }
.guide-crumbs a { color: var(--g-muted); text-decoration: none; }
.guide-crumbs a:hover { color: var(--g-accent-bright); }
.guide-crumbs span { margin: 0 6px; }
.guide-kicker { margin: 28px 0 10px; font: 400 12px/1 var(--g-mono); color: var(--g-accent-bright); letter-spacing: .14em; text-transform: uppercase; }
.guide h1 { margin: 0; font: 500 clamp(34px, 5vw, 52px)/1.08 var(--g-sans); letter-spacing: -.025em; color: var(--g-ink); }
.guide-summary { margin: 22px 0 0; font-size: 19px; line-height: 1.6; color: var(--g-text); }
.guide-meta { margin: 16px 0 0; font: 400 12px/1 var(--g-mono); color: var(--g-dim); }
.guide-video { margin: 34px 0 0; border: 1px solid var(--g-line); border-radius: 16px; overflow: hidden; background: #000; }
.guide-video video, .guide-video iframe { display: block; width: 100%; height: auto; border: 0; }
.guide-video iframe { aspect-ratio: 16 / 9; }
.guide-body { margin-top: 40px; font-size: 17px; line-height: 1.75; color: var(--g-text); }
.guide-body h2 { margin: 52px 0 14px; font: 500 28px/1.2 var(--g-sans); color: var(--g-ink); letter-spacing: -.015em; }
.guide-body h3 { margin: 34px 0 10px; font: 500 20px/1.3 var(--g-sans); color: var(--g-ink); }
.guide-body p { margin: 0 0 18px; }
.guide-body a, .guide-faq a, .guide-sources a { color: var(--g-accent-bright); text-decoration: underline; text-decoration-color: rgba(96, 165, 250, .35); text-underline-offset: 3px; }
.guide-body a:hover, .guide-faq a:hover, .guide-sources a:hover { text-decoration-color: currentColor; }
.guide-body ul, .guide-body ol { margin: 0 0 20px; padding-left: 22px; }
.guide-body ul { list-style: disc; }
.guide-body ol { list-style: decimal; }
.guide-body li { margin: 6px 0; }
.guide-body li::marker { color: var(--g-accent-bright); }
.guide-body strong { color: var(--g-ink); font-weight: 600; }
.guide-body code { font: 400 .9em var(--g-mono); padding: 1px 6px; border-radius: 6px; background: var(--g-panel-strong); color: var(--g-ink); }
.guide-body blockquote { margin: 26px 0; padding: 4px 0 4px 20px; border-left: 2px solid var(--g-accent); color: var(--g-ink); }
.guide-body table { width: 100%; margin: 24px 0; border-collapse: collapse; font-size: 15px; display: block; overflow-x: auto; }
.guide-body th, .guide-body td { padding: 10px 12px; border: 1px solid var(--g-line); text-align: left; vertical-align: top; }
.guide-body th { background: var(--g-panel-strong); color: var(--g-ink); font-weight: 600; }
.guide-body td { font-variant-numeric: tabular-nums; }
.guide-body img { max-width: 100%; height: auto; border-radius: 12px; }
.guide-faq { margin-top: 56px; padding-top: 8px; border-top: 1px solid var(--g-line); }
.guide-faq h2, .guide-sources h2 { font: 500 24px/1.2 var(--g-sans); color: var(--g-ink); margin: 32px 0 12px; }
.guide-faq details { border-bottom: 1px solid var(--g-line); padding: 14px 0; }
.guide-faq summary { cursor: pointer; color: var(--g-ink); font-weight: 500; }
.guide-faq summary::marker { color: var(--g-accent-bright); }
.guide-faq details p { margin: 10px 0 0; color: var(--g-text); line-height: 1.7; }
.guide-cta { margin-top: 56px; padding: 28px; border: 1px solid var(--g-line-strong); border-radius: 24px; background: linear-gradient(135deg, rgba(8, 120, 232, .16), rgba(14, 165, 233, .06)); }
.guide-cta h2 { margin: 0 0 8px; font: 500 24px/1.2 var(--g-sans); color: var(--g-ink); }
.guide-cta p { margin: 0 0 18px; color: var(--g-text); }
.guide-btn { display: inline-flex; align-items: center; gap: 6px; padding: 11px 22px; border-radius: 999px; background: linear-gradient(to right, #0062c4, #0878e8, #0ea5e9); color: #fff; font: 500 14px/1 var(--g-sans); text-decoration: none; box-shadow: 0 10px 30px -12px rgba(8, 120, 232, .7); transition: filter .2s; }
.guide-btn:hover { filter: brightness(1.08); }
.guide-sources { margin-top: 40px; font-size: 14px; color: var(--g-muted); }
.guide-sources ol { padding-left: 20px; list-style: decimal; }
.guide-sources li { margin: 6px 0; word-break: break-word; }

/* /learn/ index */
.guide-list { list-style: none; margin: 40px 0 0; padding: 0; display: grid; gap: 14px; }
.guide-list a { display: block; padding: 20px 22px; border: 1px solid var(--g-line); border-radius: 18px; background: var(--g-panel); color: var(--g-ink); text-decoration: none; transition: border-color .2s, background .2s; }
.guide-list a:hover { border-color: var(--g-line-strong); background: var(--g-panel-strong); }
.guide-list strong { display: block; font: 500 18px/1.3 var(--g-sans); }
.guide-list span { display: block; margin-top: 6px; color: var(--g-muted); font-size: 14px; line-height: 1.6; }
.guide-empty { margin: 40px 0 0; padding: 22px; border: 1px dashed var(--g-line); border-radius: 18px; color: var(--g-muted); font: 400 13px/1.6 var(--g-mono); }

/* Shared site footer on guide pages (dark variant of the home footer). */
.guide-footer { border-top: 1px solid var(--g-line); padding: 44px 0 52px; font-size: 12px; color: var(--g-muted); }
.guide-footer-wrap { width: min(calc(100% - 32px), 1280px); margin-inline: auto; display: grid; gap: 22px; }
.guide-footer-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; }
.guide-footer-brand { display: flex; align-items: center; gap: 12px; font-family: var(--g-mono); }
.guide-footer-brand img { height: 24px; width: auto; }
.guide-footer-brand span { color: var(--g-dim); }
.guide-footer-links { display: flex; flex-wrap: wrap; gap: 8px 22px; font: 400 11px/1.4 var(--g-mono); }
.guide-footer-links a { color: var(--g-muted); text-decoration: none; }
.guide-footer-links a:hover { color: var(--g-accent-bright); }
.guide-footer-note { margin: 0; max-width: 820px; line-height: 1.7; color: var(--g-dim); }

@media (max-width: 720px) {
  .guide { padding-top: 104px; }
  .guide-wrap { width: calc(100% - 32px); }
  .guide-body { font-size: 16.5px; }
  .guide-summary { font-size: 17.5px; }
  .guide-cta { padding: 22px; }
}
