/* CloseVector Stage 1 — forensic editorial system
   This file intentionally loads after the generated Astro styles. */

:root {
  --stage1-paper: #f4f0e7;
  --stage1-surface: #fffdf8;
  --stage1-ink: #182426;
  --stage1-text: #586466;
  --stage1-teal: #356c70;
  --stage1-copper: #a55f3f;
  --stage1-copper-text: #8e5137;
  --stage1-brass: #b28a4a;
  --stage1-rule: #d8d0c2;
  --stage1-deep: #172628;

  /* Map the generated theme onto the Stage 1 palette. */
  --black: var(--stage1-paper);
  --black-rich: var(--stage1-surface);
  --dark-1: #ece7dd;
  --dark-2: var(--stage1-surface);
  --dark-3: var(--stage1-rule);
  --dark-4: #c8c0b2;
  --warm-100: var(--stage1-ink);
  --warm-200: #354244;
  --warm-300: var(--stage1-text);
  --warm-400: var(--stage1-text);
  --warm-500: #667173;
  --warm-600: #727b7c;
  --warm-700: #7d8586;
  --copper: var(--stage1-copper-text);
  --copper-bright: #733c29;
  --copper-dim: #8e5137;
  --copper-glow: rgb(165 95 63 / 8%);
  --copper-glow-strong: rgb(165 95 63 / 12%);
  --green: var(--stage1-teal);
  --green-dim: #2b595c;
  --light-bg: var(--stage1-surface);
  --light-text: var(--stage1-ink);
  --light-text-secondary: var(--stage1-text);
  --light-border: var(--stage1-rule);
  --font-display: "Newsreader", Georgia, serif;
  --font-body: "IBM Plex Sans", Inter, system-ui, -apple-system, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;
  --max-w: 1180px;
  --max-w-narrow: 760px;
  --space-section: 96px;
  --space-section-m: 72px;
  --space-section-s: 56px;
  --radius: 3px;
  --radius-lg: 5px;
  --transition: 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

html {
  background: var(--stage1-paper);
  color-scheme: light;
}

body,
button,
input,
select,
textarea {
  font-family: var(--font-body) !important;
}

body {
  background: var(--stage1-paper) !important;
  color: var(--stage1-text);
  overflow-x: clip;
}

h1,
h2,
h3,
h4,
h5,
h6,
.nav__wordmark,
.footer__brand {
  color: var(--stage1-ink);
  font-family: var(--font-display) !important;
  font-weight: 600;
  text-wrap: balance;
}

p,
li {
  max-width: 70ch;
}

code,
pre,
kbd,
samp,
.metric-value,
.metric-label,
.spec-key,
.spec-val,
.evidence-pointer,
.run-id,
.hash,
[class*="hash-value"],
[class*="run-id"] {
  font-family: var(--font-mono) !important;
}

img,
svg,
canvas,
iframe {
  max-width: 100%;
}

a,
button,
input,
select,
textarea,
[tabindex]:not([tabindex="-1"]) {
  outline-offset: 4px;
}

:focus-visible {
  outline: 3px solid var(--stage1-teal) !important;
  box-shadow: 0 0 0 2px var(--stage1-surface);
}

::selection {
  background: rgb(53 108 112 / 22%);
  color: var(--stage1-ink);
}

.wrap,
.nav__inner,
.footer .wrap {
  max-width: var(--max-w) !important;
}

.section,
.cta-section {
  padding-block: var(--space-section);
}

.section--dark,
.section--copper-glow {
  background: var(--stage1-paper) !important;
  border-block: 1px solid var(--stage1-rule);
}

.section--dark-alt {
  background: #ece7dd !important;
  border-block: 1px solid var(--stage1-rule);
}

.section--light {
  background: var(--stage1-surface) !important;
  border-block: 1px solid var(--stage1-rule);
}

.section--dark h1,
.section--dark h2,
.section--dark h3,
.section--dark h4,
.section--dark-alt h1,
.section--dark-alt h2,
.section--dark-alt h3,
.section--dark-alt h4,
.cta-section h2 {
  color: var(--stage1-ink);
}

.section--dark p,
.section--dark li,
.section--dark-alt p,
.section--dark-alt li,
.cta-section p {
  color: var(--stage1-text);
}

.section-tag,
.research-card__tag {
  color: var(--stage1-copper-text) !important;
  font-family: var(--font-mono) !important;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.11em;
}

/* Header and navigation */
.nav {
  background: rgb(255 253 248 / 96%) !important;
}

.nav__bg,
.nav--solid .nav__bg {
  background: rgb(255 253 248 / 96%) !important;
  border-bottom: 1px solid var(--stage1-rule) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  opacity: 1 !important;
}

.nav__inner {
  height: 72px;
}

.nav__wordmark {
  color: var(--stage1-ink) !important;
  font-size: 1.65rem;
  letter-spacing: -0.015em;
}

.nav__wordmark:hover,
.nav__wordmark:focus-visible {
  color: var(--stage1-teal) !important;
}

.nav__links {
  gap: 2px;
}

.nav__link {
  color: #455254 !important;
  border-radius: 2px !important;
  font-size: 0.84rem;
}

.nav__link:hover,
.nav__item:focus-within > .nav__link {
  background: #eee9df !important;
  color: var(--stage1-ink) !important;
}

.nav__item:focus-within .nav__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%) translateY(0);
}

.nav__dropdown {
  min-width: 258px !important;
  background: var(--stage1-surface) !important;
  border: 1px solid var(--stage1-rule) !important;
  border-radius: 3px !important;
  box-shadow: 0 18px 42px rgb(24 36 38 / 14%) !important;
}

.nav__dropdown-link {
  color: #455254 !important;
  border-radius: 2px !important;
}

.nav__dropdown-link:hover,
.nav__dropdown-link:focus-visible {
  background: #eee9df !important;
  color: var(--stage1-teal) !important;
}

.nav__cta,
.mobile-cta {
  background: var(--stage1-ink) !important;
  border: 1px solid var(--stage1-ink) !important;
  border-radius: 2px !important;
  color: var(--stage1-surface) !important;
}

.nav__cta:hover,
.mobile-cta:hover {
  background: var(--stage1-teal) !important;
  border-color: var(--stage1-teal) !important;
}

.nav__mobile-toggle span {
  background: var(--stage1-ink) !important;
}

.nav__mobile-menu {
  background: var(--stage1-surface) !important;
  border-top: 1px solid var(--stage1-rule);
  backdrop-filter: none !important;
  z-index: 999;
}

.nav__mobile-menu .mobile-group-title {
  color: var(--stage1-copper-text) !important;
  font-family: var(--font-mono) !important;
}

.nav__mobile-menu .mobile-link,
.nav__mobile-menu .mobile-sub-link {
  border-color: var(--stage1-rule) !important;
  color: #455254 !important;
}

.nav__mobile-menu .mobile-link:hover,
.nav__mobile-menu .mobile-sub-link:hover,
.nav__mobile-menu .mobile-link:focus-visible,
.nav__mobile-menu .mobile-sub-link:focus-visible {
  color: var(--stage1-teal) !important;
}

/* Hero and primary components */
.hero {
  background:
    linear-gradient(90deg, transparent 0 7%, rgb(53 108 112 / 9%) 7% calc(7% + 1px), transparent calc(7% + 1px)),
    radial-gradient(circle at 78% 25%, rgb(178 138 74 / 10%), transparent 28%),
    var(--stage1-paper) !important;
  border-bottom: 1px solid var(--stage1-rule);
  min-height: auto;
  overflow: hidden;
  padding: 152px 0 96px;
}

.hero__h1 {
  color: var(--stage1-ink) !important;
  font-size: clamp(2.7rem, 5vw, 4.65rem);
  line-height: 1.01;
  letter-spacing: -0.035em;
}

.hero__sub {
  color: var(--stage1-text) !important;
  font-size: 1.08rem;
  line-height: 1.7;
  max-width: 68ch;
}

.hero__privacy {
  color: #667173 !important;
}

.hero__image {
  border: 1px solid var(--stage1-rule);
  border-radius: 4px !important;
  box-shadow: 18px 22px 0 #e1dbcf, 0 28px 60px rgb(24 36 38 / 13%) !important;
}

.hero__image::after {
  border-color: rgb(24 36 38 / 10%) !important;
  border-radius: 4px !important;
}

.btn,
.cta-btn,
.btn-primary,
.btn-secondary {
  border-radius: 2px !important;
  transition-duration: 280ms !important;
}

.btn--primary,
.cta-btn {
  background: var(--stage1-ink) !important;
  border: 1px solid var(--stage1-ink) !important;
  color: var(--stage1-surface) !important;
}

.btn--primary:hover,
.cta-btn:hover {
  background: var(--stage1-teal) !important;
  border-color: var(--stage1-teal) !important;
  box-shadow: 0 8px 22px rgb(53 108 112 / 20%) !important;
  transform: translateY(-2px);
}

.btn--secondary {
  background: transparent !important;
  border: 1px solid #99a2a1 !important;
  color: var(--stage1-ink) !important;
}

.btn--secondary:hover {
  background: var(--stage1-surface) !important;
  border-color: var(--stage1-teal) !important;
  color: var(--stage1-teal) !important;
}

.btn--ghost {
  color: var(--stage1-teal) !important;
}

.card,
.card--light,
.research-card,
.feature-cell,
.comparison__column,
.comparison__col {
  background: var(--stage1-surface) !important;
  border-color: var(--stage1-rule) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

.card,
.research-card {
  padding: clamp(1.55rem, 3vw, 2.2rem);
}

.card:hover,
.research-card:hover,
.feature-cell:hover {
  border-color: var(--stage1-teal) !important;
  box-shadow: 0 14px 32px rgb(24 36 38 / 8%) !important;
  transform: translateY(-3px);
}

.card__title,
.research-card__title,
.feature-cell__title {
  color: var(--stage1-ink) !important;
}

.card__text,
.research-card__desc,
.feature-cell__desc,
.feature-cell p {
  color: var(--stage1-text) !important;
}

.card__num {
  border-color: var(--stage1-copper) !important;
  border-radius: 50%;
  color: var(--stage1-copper) !important;
}

.feature-grid {
  gap: 1px;
  background: var(--stage1-rule);
  border: 1px solid var(--stage1-rule);
}

.callout {
  background: var(--stage1-surface) !important;
  border: 1px solid var(--stage1-rule);
  border-left: 3px solid var(--stage1-copper) !important;
  border-radius: 0 3px 3px 0 !important;
}

.callout p,
.callout strong {
  color: var(--stage1-ink) !important;
}

.comparison {
  gap: 1px;
  background: var(--stage1-rule);
  border: 1px solid var(--stage1-rule);
  border-radius: 4px !important;
}

.cta-section {
  background: var(--stage1-surface) !important;
  border-block: 1px solid var(--stage1-rule);
  overflow: hidden;
}

.cta-section::before {
  background: radial-gradient(ellipse, rgb(178 138 74 / 11%), transparent 70%) !important;
}

/* Intentional deep technical surfaces */
.stage1-proof {
  --warm-100: #fffdf8;
  --warm-200: #e8e5dc;
  --warm-300: #d5d8d4;
  --warm-400: #bac4c2;
  --warm-500: #a8b3b1;
  --warm-600: #929e9c;
  --dark-2: #203436;
  background: var(--stage1-deep) !important;
  border-color: #294143 !important;
  color: #d5d8d4 !important;
}

.stage1-proof h1,
.stage1-proof h2,
.stage1-proof h3,
.stage1-proof h4,
.stage1-proof strong {
  color: var(--stage1-surface) !important;
}

.stage1-proof p,
.stage1-proof li {
  color: #c1cbc9 !important;
}

.stage1-proof .card,
.stage1-proof .feature-cell,
.stage1-proof .callout {
  background: #203436 !important;
  border-color: #365154 !important;
}

.stage1-proof .card__title,
.stage1-proof .feature-cell__title,
.stage1-proof .callout strong {
  color: var(--stage1-surface) !important;
}

.stage1-proof .card__text,
.stage1-proof .feature-cell__desc,
.stage1-proof .feature-cell p,
.stage1-proof .callout p {
  color: #c1cbc9 !important;
}

/* Connected evidence-trace motif */
.stage1-architecture-section {
  background: var(--stage1-surface) !important;
  border-block: 1px solid var(--stage1-rule);
}

.stage1-architecture-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 56px;
  align-items: end;
  margin-bottom: 48px;
}

.stage1-architecture-intro p {
  color: var(--stage1-text);
  font-size: 1.04rem;
  margin: 0;
}

.evidence-trace {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  position: relative;
}

.evidence-trace::before {
  background: linear-gradient(90deg, var(--stage1-teal), var(--stage1-brass), var(--stage1-copper));
  content: "";
  height: 1px;
  left: 10%;
  position: absolute;
  right: 10%;
  top: 9px;
}

.evidence-trace__node {
  color: inherit;
  display: block;
  min-width: 0;
  padding: 30px 24px 24px 0;
  position: relative;
  text-decoration: none;
}

.evidence-trace__node::before {
  background: var(--stage1-surface);
  border: 2px solid var(--stage1-teal);
  border-radius: 50%;
  content: "";
  height: 15px;
  left: 0;
  position: absolute;
  top: 1px;
  transition: background 280ms ease, transform 280ms ease;
  width: 15px;
}

.evidence-trace__node:nth-child(3)::before {
  border-color: var(--stage1-brass);
}

.evidence-trace__node:nth-child(4)::before,
.evidence-trace__node:nth-child(5)::before {
  border-color: var(--stage1-copper);
}

.evidence-trace__node:hover::before,
.evidence-trace__node:focus-visible::before {
  background: currentColor;
  transform: scale(1.18);
}

.evidence-trace__index {
  color: var(--stage1-copper-text);
  display: block;
  font-family: var(--font-mono);
  font-size: 0.66rem;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.evidence-trace__title {
  color: var(--stage1-ink);
  display: block;
  font-family: var(--font-display);
  font-size: 1.18rem;
  line-height: 1.2;
  margin-bottom: 8px;
}

.evidence-trace__text {
  color: var(--stage1-text);
  display: block;
  font-size: 0.82rem;
  line-height: 1.55;
}

/* QLCA: light editorial frame, with selected technical modules retained. */
.page-qlca {
  --ink: var(--stage1-paper);
  --ink-light: var(--stage1-surface);
  --ink-lighter: #e5dfd3;
  --ink-grid: #ded7ca;
  --brass: var(--stage1-brass);
  --brass-dim: #8d6b36;
  --brass-glow: #9d763a;
  --blue: var(--stage1-teal);
  --blue-bright: #477e82;
  --blue-dim: #2f5e62;
  --cream: var(--stage1-ink);
  --cream-dim: #354244;
  --cream-muted: var(--stage1-text);
  --red: var(--stage1-copper);
  --green: var(--stage1-teal);
  --mono: var(--font-mono);
  --serif: var(--font-display);
  --sans: var(--font-body);
}

.page-qlca main {
  background: transparent;
  color: var(--stage1-text);
}

.page-qlca .grid-bg {
  opacity: 0.38;
}

.page-qlca .grid-glow {
  opacity: 0.25;
}

.page-qlca #progress-bar {
  background: linear-gradient(90deg, var(--stage1-teal), var(--stage1-brass), var(--stage1-copper));
  box-shadow: none;
}

.page-qlca main > .hero {
  align-items: center;
  background:
    linear-gradient(90deg, transparent 0 8%, rgb(53 108 112 / 10%) 8% calc(8% + 1px), transparent calc(8% + 1px)),
    var(--stage1-paper) !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: auto;
  padding: 148px 24px 88px;
  text-align: center;
}

.page-qlca .methodology-breadcrumb {
  color: var(--stage1-text);
  font-family: var(--font-mono);
}

.page-qlca .hero-label {
  animation-duration: 360ms;
  color: var(--stage1-copper-text);
  font-family: var(--font-mono) !important;
}

.page-qlca main > .hero h1 {
  animation-duration: 420ms;
  color: var(--stage1-ink);
  font-family: var(--font-display) !important;
  font-size: clamp(2.65rem, 6vw, 5.3rem);
  letter-spacing: -0.035em;
  line-height: 0.98;
  max-width: 980px;
  text-shadow: none;
}

.page-qlca .hero-subtitle {
  animation-duration: 420ms;
  color: var(--stage1-text);
  max-width: 760px;
}

.page-qlca .hero-tagline {
  animation-duration: 420ms;
  background: rgb(178 138 74 / 7%);
  border-color: rgb(178 138 74 / 45%);
  color: #73582d;
  font-family: var(--font-mono) !important;
}

.page-qlca .stats-bar {
  animation-duration: 420ms;
  border-top: 1px solid var(--stage1-rule);
  margin-top: 22px;
  padding-top: 28px;
}

.page-qlca .stat-number {
  color: var(--stage1-teal);
  text-shadow: none;
}

.page-qlca .stat-label {
  color: var(--stage1-text);
  font-family: var(--font-mono) !important;
}

.page-qlca .scroll-indicator {
  display: none;
}

.qlca-static-overview {
  background: var(--stage1-surface);
  border-bottom: 1px solid var(--stage1-rule);
  padding: 72px 24px;
}

.qlca-static-overview__inner {
  margin: 0 auto;
  max-width: 1180px;
}

.qlca-static-overview__lead {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 56px;
  margin-bottom: 40px;
}

.qlca-static-overview__lead h2 {
  font-size: clamp(2rem, 4vw, 3.3rem);
  line-height: 1.05;
  margin: 0;
}

.qlca-static-overview__lead p {
  color: var(--stage1-text);
  font-size: 1.05rem;
  margin: 0;
}

.qlca-static-overview__signals {
  border-block: 1px solid var(--stage1-rule);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.qlca-static-signal {
  border-right: 1px solid var(--stage1-rule);
  padding: 24px 24px 24px 0;
}

.qlca-static-signal:not(:first-child) {
  padding-left: 24px;
}

.qlca-static-signal:last-child {
  border-right: 0;
}

.qlca-static-signal strong {
  color: var(--stage1-ink);
  display: block;
  font-family: var(--font-display);
  font-size: 1.16rem;
  margin-bottom: 6px;
}

.qlca-static-signal span {
  color: var(--stage1-text);
  font-size: 0.84rem;
  line-height: 1.5;
}

.qlca-example-note {
  background: #eee9df;
  border-left: 3px solid var(--stage1-brass);
  color: #455254;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  line-height: 1.6;
  margin: 28px auto 0;
  max-width: 760px;
  padding: 12px 16px;
}

.page-qlca .main-container {
  max-width: 1180px;
}

.page-qlca .content-grid,
.page-qlca .content-main,
.page-qlca .sidebar {
  min-width: 0;
  width: 100%;
}

.page-qlca .chart-container,
.page-qlca .info-card,
.page-qlca .collapsible {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

.page-qlca .chart-svg,
.page-qlca .mini-chart {
  max-width: 100%;
}

.page-qlca .section-header-full {
  background: transparent;
  border-top: 1px solid var(--stage1-rule);
  padding: 84px 24px 48px;
}

.page-qlca .section-number {
  color: #e4ded2;
  font-family: var(--font-mono) !important;
}

.page-qlca .section-header-full h2 {
  color: var(--stage1-ink);
  font-family: var(--font-display) !important;
}

.page-qlca .section-header-full .subtitle,
.page-qlca .prose,
.page-qlca .prose p,
.page-qlca .prose li {
  color: var(--stage1-text);
}

.page-qlca .use-case-card,
.page-qlca .feature-card,
.page-qlca .study-card,
.page-qlca .collapsible-header,
.page-qlca .collapsible-body {
  background: var(--stage1-surface) !important;
  border-color: var(--stage1-rule) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

.page-qlca .use-case-title,
.page-qlca .feature-card h4,
.page-qlca .study-title,
.page-qlca .collapsible-header h3 {
  color: var(--stage1-ink) !important;
}

.page-qlca .use-case-desc,
.page-qlca .feature-card p,
.page-qlca .study-hypothesis,
.page-qlca .study-example,
.page-qlca .comparison-table td,
.page-qlca .timeline-content {
  color: var(--stage1-text) !important;
}

.page-qlca .study-card-header,
.page-qlca .comparison-table td,
.page-qlca .metric-row {
  border-color: var(--stage1-rule) !important;
}

.page-qlca .comparison-table th {
  background: #ece7dd;
  border-color: var(--stage1-rule);
  color: #6f542b;
}

.page-qlca .chart-container,
.page-qlca .info-card {
  --ink-light: var(--stage1-deep);
  --ink-lighter: #294143;
  --cream: var(--stage1-surface);
  --cream-dim: #d5d8d4;
  --cream-muted: #aebbb9;
  --brass: #c19a55;
  --blue: #74a7aa;
  --blue-bright: #8dbabd;
  background: var(--stage1-deep) !important;
  border-color: #365154 !important;
  border-radius: 4px !important;
  color: #d5d8d4;
}

.page-qlca .chart-title,
.page-qlca .info-card-title,
.page-qlca .metric-value {
  color: #d4ad66 !important;
}

.page-qlca .metric-label,
.page-qlca .metric-sub,
.page-qlca .chart-legend,
.page-qlca .legend-item {
  color: #aebbb9 !important;
}

.page-qlca .cta-section {
  background: var(--stage1-deep) !important;
  border: 1px solid #365154;
  border-radius: 4px !important;
  color: var(--stage1-surface);
}

.page-qlca .cta-section h2,
.page-qlca .cta-section p {
  color: var(--stage1-surface) !important;
}

.page-qlca .floating-nav {
  right: 16px;
}

.page-qlca .nav-dot {
  background: var(--stage1-surface);
  border-color: var(--stage1-teal);
}

/* ZugZwang remains the adversarial technical layer, framed by light editorial surfaces. */
.page-zugzwang {
  --black: var(--stage1-paper);
  --off-black: var(--stage1-surface);
  --deep: #e9e4da;
  --copper: var(--stage1-copper);
  --copper-light: #86482f;
  --copper-dim: #8e5137;
  --steel: var(--stage1-teal);
  --steel-light: #2f6266;
  --steel-dim: #7e9fa0;
  --steel-glow: rgb(53 108 112 / 9%);
  --white: var(--stage1-ink);
  --grey: #6c7677;
  --grey-light: #455254;
  --border-copper: rgb(165 95 63 / 32%);
  --border-steel: rgb(53 108 112 / 32%);
  --border-dim: var(--stage1-rule);
}

.page-zugzwang .hero {
  background: var(--stage1-paper) !important;
  border-bottom: 0;
  max-width: 1180px;
  padding-top: 132px;
}

.page-zugzwang .hero h1,
.page-zugzwang .problem-left h2,
.page-zugzwang .modes-header h2,
.page-zugzwang .method-left h2,
.page-zugzwang .category-section h2,
.page-zugzwang .airgap-left h2,
.page-zugzwang .hardware-left h2,
.page-zugzwang .cta-section h2 {
  font-family: var(--font-display) !important;
}

.page-zugzwang .sim-container,
.page-zugzwang .method-section {
  --off-black: #203436;
  --white: var(--stage1-surface);
  --grey: #aebbb9;
  --grey-light: #d5d8d4;
  --border-dim: #365154;
  --steel: #74a7aa;
  --steel-light: #9bc4c6;
  --steel-dim: #547c7f;
  --copper: #bd7958;
  --copper-light: #d99b78;
  background: var(--stage1-deep) !important;
  color: var(--stage1-surface);
}

.page-zugzwang .sim-container {
  border-color: #365154;
}

.page-zugzwang .dea-bar,
.page-zugzwang .modes-section,
.page-zugzwang .airgap-section,
.page-zugzwang .cta-section {
  background: var(--stage1-surface) !important;
  border-color: var(--stage1-rule);
}

.page-zugzwang .mode-card,
.page-zugzwang .asymmetry-item,
.page-zugzwang .distinction-card,
.page-zugzwang .airgap-fact,
.page-zugzwang .hardware-spec {
  background: var(--stage1-surface) !important;
  border-color: var(--stage1-rule) !important;
}

.page-zugzwang .hardware-spec::before,
.page-zugzwang .airgap-block::before {
  background: var(--stage1-paper) !important;
}

/* Shared footer is the persistent technical/provenance surface. */
.footer,
footer.site-footer,
.page-qlca .footer,
.page-zugzwang .footer {
  --warm-100: #fffdf8;
  --warm-200: #e8e5dc;
  --warm-300: #d5d8d4;
  --warm-400: #bac4c2;
  --warm-500: #a8b3b1;
  --warm-600: #929e9c;
  --warm-700: #7e8b89;
  background: var(--stage1-deep) !important;
  border-top: 1px solid #365154 !important;
  color: #d5d8d4;
  margin-top: 0 !important;
}

.footer__brand,
.footer__heading {
  color: var(--stage1-surface) !important;
}

.footer__desc,
.footer__link,
.footer__copy,
.footer__copy a,
.footer__disclaimer {
  color: #aebbb9 !important;
}

.footer__link:hover,
.footer__copy a:hover {
  color: var(--stage1-surface) !important;
}

.footer__bottom {
  border-color: #365154 !important;
}

/* Progressive enhancement: content is visible until an observer is active. */
.reveal,
.reveal-stagger > *,
.fade-in {
  opacity: 1;
  transform: none;
}

html.has-observers .reveal,
html.has-observers .fade-in {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 360ms ease, transform 360ms ease;
}

html.has-observers .reveal.visible,
html.has-observers .fade-in.visible {
  opacity: 1;
  transform: none;
}

html.has-observers .reveal-stagger > * {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 340ms ease, transform 340ms ease;
}

html.has-observers .reveal-stagger.visible > * {
  opacity: 1;
  transform: none;
}

html.has-observers .reveal-stagger.visible > *:nth-child(1) { transition-delay: 0ms; }
html.has-observers .reveal-stagger.visible > *:nth-child(2) { transition-delay: 45ms; }
html.has-observers .reveal-stagger.visible > *:nth-child(3) { transition-delay: 90ms; }
html.has-observers .reveal-stagger.visible > *:nth-child(4) { transition-delay: 135ms; }
html.has-observers .reveal-stagger.visible > *:nth-child(5) { transition-delay: 180ms; }
html.has-observers .reveal-stagger.visible > *:nth-child(6) { transition-delay: 225ms; }
html.has-observers .reveal-stagger.visible > *:nth-child(7) { transition-delay: 270ms; }
html.has-observers .reveal-stagger.visible > *:nth-child(8) { transition-delay: 315ms; }
html.has-observers .reveal-stagger.visible > *:nth-child(9) { transition-delay: 360ms; }
html.has-observers .reveal-stagger.visible > *:nth-child(10) { transition-delay: 405ms; }
html.has-observers .reveal-stagger.visible > *:nth-child(11) { transition-delay: 450ms; }
html.has-observers .reveal-stagger.visible > *:nth-child(12) { transition-delay: 495ms; }

@media (max-width: 900px) {
  :root {
    --space-section: 64px;
  }

  .hero {
    padding: 124px 0 72px;
  }

  .hero__h1 {
    font-size: clamp(2.4rem, 8vw, 3.8rem);
  }

  .stage1-architecture-intro,
  .qlca-static-overview__lead {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .evidence-trace {
    grid-template-columns: 1fr;
    padding-left: 16px;
  }

  .evidence-trace::before {
    background: linear-gradient(var(--stage1-teal), var(--stage1-brass), var(--stage1-copper));
    bottom: 38px;
    height: auto;
    left: 22px;
    right: auto;
    top: 10px;
    width: 1px;
  }

  .evidence-trace__node {
    padding: 0 0 30px 40px;
  }

  .evidence-trace__node::before {
    left: 0;
  }

  .qlca-static-overview__signals {
    grid-template-columns: 1fr 1fr;
  }

  .qlca-static-signal:nth-child(2) {
    border-right: 0;
  }

  .qlca-static-signal:nth-child(n + 3) {
    border-top: 1px solid var(--stage1-rule);
  }
}

@media (max-width: 600px) {
  :root {
    --space-section: 56px;
  }

  .wrap,
  .wrap--narrow,
  .nav__inner,
  .footer .wrap {
    padding-inline: 20px !important;
  }

  .nav__inner {
    height: 64px;
  }

  .nav__mobile-menu {
    inset-block-start: 64px;
    padding: 18px 20px 30px !important;
  }

  .hero,
  .page-qlca main > .hero {
    background: var(--stage1-paper) !important;
    padding: 108px 20px 58px;
  }

  .hero__h1,
  .page-qlca main > .hero h1 {
    font-size: clamp(2.25rem, 11vw, 3.2rem);
  }

  .hero__sub,
  .page-qlca .hero-subtitle {
    font-size: 1rem;
  }

  .hero__image {
    box-shadow: 8px 10px 0 #e1dbcf, 0 20px 38px rgb(24 36 38 / 12%) !important;
  }

  .btn,
  .cta-btn,
  .btn-primary {
    white-space: normal !important;
  }

  .qlca-static-overview {
    padding: 56px 20px;
  }

  .qlca-static-overview__signals {
    grid-template-columns: 1fr;
  }

  .qlca-static-signal,
  .qlca-static-signal:not(:first-child) {
    border-right: 0;
    border-top: 1px solid var(--stage1-rule);
    padding: 20px 0;
  }

  .qlca-static-signal:first-child {
    border-top: 0;
  }

  .page-qlca .main-container {
    padding-inline: 20px;
  }

  .page-qlca .use-case-grid,
  .page-qlca .study-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-qlca .comparison-table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }

  .page-zugzwang .hero,
  .page-zugzwang .problem-section,
  .page-zugzwang .modes-section,
  .page-zugzwang .method-section,
  .page-zugzwang .category-section,
  .page-zugzwang .airgap-section,
  .page-zugzwang .hardware-section,
  .page-zugzwang .cta-section {
    padding-inline: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-delay: 0ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-delay: 0ms !important;
    transition-duration: 1ms !important;
  }

  html.has-observers .reveal,
  html.has-observers .fade-in,
  html.has-observers .reveal-stagger > *,
  .hero-left,
  .hero-right {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Focused legibility and navigation pass — Material contrast audit. */
:root {
  --stage1-copper-text: #7c432e;
  --warm-500: var(--stage1-text);
  --warm-600: var(--stage1-text);
  --warm-700: var(--stage1-text);
  --copper: var(--stage1-copper-text);
  --copper-bright: #6f3928;
  --copper-dim: var(--stage1-copper-text);
}

.hero__privacy {
  color: var(--stage1-text) !important;
}

.stage1-proof a,
.stage1-proof .section-tag {
  color: #d4ad66 !important;
}

.section--dark .section-tag,
.section--dark-alt .section-tag,
.page-e-discovery .section--dark-alt a,
.page-validation .section--dark a {
  color: var(--stage1-copper-text) !important;
}

.page-home .mad-neg {
  color: #f28a73 !important;
}

/* The four long-form briefs use a compact global navigation variant. */
.cv-site-bar {
  align-items: center;
  background: rgb(255 253 248 / 97%) !important;
  border-bottom: 1px solid var(--stage1-rule) !important;
  box-sizing: border-box;
  color: var(--stage1-ink);
  display: flex;
  font-family: var(--font-body) !important;
  gap: 20px;
  justify-content: space-between;
  min-height: 64px;
  padding: 10px max(20px, calc((100vw - 1180px) / 2));
  position: relative;
  width: 100%;
  z-index: 1000;
}

.cv-site-bar__brand {
  color: var(--stage1-ink) !important;
  font-family: var(--font-display) !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-decoration: none;
  text-transform: none !important;
}

.cv-site-bar__links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  justify-content: flex-end;
}

.cv-site-bar__links a {
  border-radius: 2px !important;
  color: #455254 !important;
  font-size: 0.69rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.055em !important;
  padding: 8px 9px !important;
  text-decoration: none;
  text-transform: uppercase;
}

.cv-site-bar__links a:hover,
.cv-site-bar__links a:focus-visible,
.cv-site-bar__links a[aria-current="page"] {
  background: #eee9df !important;
  color: var(--stage1-teal) !important;
}

.cv-site-bar__links .cv-site-bar__cta {
  background: var(--stage1-ink) !important;
  border: 1px solid var(--stage1-ink) !important;
  color: var(--stage1-surface) !important;
  margin-left: 5px;
}

.cv-site-bar__links .cv-site-bar__cta:hover,
.cv-site-bar__links .cv-site-bar__cta:focus-visible {
  background: var(--stage1-teal) !important;
  border-color: var(--stage1-teal) !important;
  color: var(--stage1-surface) !important;
}

.cv-site-bar__toggle {
  align-items: center;
  background: transparent;
  border: 1px solid var(--stage1-rule);
  border-radius: 2px;
  display: none;
  flex-direction: column;
  gap: 4px;
  height: 40px;
  justify-content: center;
  padding: 0;
  width: 42px;
}

.cv-site-bar__toggle span {
  background: var(--stage1-ink);
  display: block;
  height: 2px;
  transition: transform 220ms ease, opacity 220ms ease;
  width: 20px;
}

.cv-site-bar.is-open .cv-site-bar__toggle span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.cv-site-bar.is-open .cv-site-bar__toggle span:nth-child(2) {
  opacity: 0;
}

.cv-site-bar.is-open .cv-site-bar__toggle span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* Restore the dark fallback behind air-gapped proof modules whose gradients
   otherwise expose pale text before images/gradients paint. */
.page-air-gapped .hero {
  background-color: #0b1220 !important;
  background-image: linear-gradient(135deg, #0b1220, #111827 58%, #0f172a) !important;
  color: #fff;
}

@media (min-width: 881px) {
  .page-air-gapped .hero {
    padding-left: 48px;
    padding-right: 48px;
  }
}

@media (min-width: 561px) and (max-width: 880px) {
  .page-air-gapped .hero {
    padding-left: 24px;
    padding-right: 24px;
  }
}

.page-air-gapped .hero h1,
.page-air-gapped .quote-box .price,
.page-air-gapped .midcta h3,
.page-air-gapped .diode-box.airgapped .box-title,
.page-air-gapped .fde-box h3,
.page-air-gapped .fde-box strong,
.page-air-gapped .cta h2,
.page-air-gapped .badge {
  color: #fff !important;
}

.page-air-gapped .quote-box,
.page-air-gapped .midcta,
.page-air-gapped .diode-box.airgapped,
.page-air-gapped .fde-box,
.page-air-gapped .cta {
  background-color: #0b1220 !important;
}

.page-air-gapped .hero .lead,
.page-air-gapped .diode-box.airgapped li,
.page-air-gapped .cta p {
  color: #dbe4f2 !important;
}

.page-air-gapped .midcta p,
.page-air-gapped .fde-box p,
.page-air-gapped .hero-cta-note {
  color: #cbd5e1 !important;
}

.page-air-gapped .hero .eyebrow,
.page-air-gapped .quote-box .once,
.page-air-gapped .diode-box.airgapped h4,
.page-air-gapped .fde-eyebrow {
  color: #93c5fd !important;
}

/* These editorial/technical briefs were authored as intentional dark proof
   surfaces. Preserve those surfaces so their original light text has a real,
   explicit fallback background. */
.page-creed {
  --caption: #c6baaa;
  --copper: #d4956a;
  --parchment: #f5f0e8;
  background: #1a1816 !important;
  color: var(--parchment);
}

.page-creed .hero {
  background-color: #1a1816 !important;
  background-image: none !important;
}

.page-creed .hero-title,
.page-creed .opening,
.page-creed .pull,
.page-creed main h1,
.page-creed main h2,
.page-creed main h3,
.page-creed main h4 {
  color: var(--parchment) !important;
}

.page-creed main p {
  color: rgb(245 240 232 / 97%) !important;
}

.page-creed .disclaimer p {
  color: #d6cec1 !important;
}

.page-creed .divider-mark,
.page-creed .section-break,
.page-creed .cite,
.page-creed .rule-header {
  opacity: 1 !important;
}

.page-packet {
  --black: #0a0a0a;
  --off-black: #111;
  --white: #f5f2ee;
  --grey: #aaa39b;
  --grey-light: #d0cbc4;
  --copper: #c5844d;
  --copper-light: #e0a574;
  --copper-dim: #bd8250;
  background: var(--black) !important;
  color: var(--white);
}

.page-packet .hero {
  background: var(--black) !important;
}

.page-packet .cta-section {
  background: var(--off-black) !important;
}

.page-packet main h1,
.page-packet main h2,
.page-packet main h3,
.page-packet main h4,
.page-packet .agitation-close,
.page-packet .statement-block p {
  color: var(--white) !important;
}

.page-packet .cta-section p,
.page-packet .cta-section a {
  color: var(--grey-light) !important;
}

.page-red-pill {
  --dark: #0a0a0a;
  --dark2: #111;
  --dark3: #1a1a1a;
  --text: #d8d3cc;
  --text-dim: #aaa39b;
  --white: #f5f2ee;
  --red: #ef7564;
  --red-dim: #a94b3f;
  --gold: #d8b65b;
  background: var(--dark) !important;
  color: var(--text);
}

.page-red-pill .hero {
  background: var(--dark) !important;
}

.page-red-pill .cta-section {
  background: var(--dark2) !important;
}

.page-red-pill main h1,
.page-red-pill main h2,
.page-red-pill main h3,
.page-red-pill main h4,
.page-red-pill .quote-block p,
.page-red-pill .trust-layer-name,
.page-red-pill .legal-case-title,
.page-red-pill .verdict-box p {
  color: var(--white) !important;
}

.page-red-pill .cta-section p {
  color: var(--text-dim) !important;
}

.page-red-pill .tag-insider {
  border-color: #c28bd9 !important;
  color: #c28bd9 !important;
}

.page-inference-gap {
  --black: #0a0a0a;
  --near-black: #111;
  --dark: #1a1a1a;
  --panel: #161616;
  --white: #f0ede8;
  --muted: #aaa39b;
  --red: #a94336;
  --red-bright: #f07b6d;
  --green: #65bd83;
  --blue: #65a6d1;
  --amber: #e69b4e;
  background: var(--black) !important;
  color: var(--white);
}

.page-inference-gap .tier-verdict.required {
  background: #2b595c !important;
  color: #fff !important;
}

.page-inference-gap .hero,
.page-inference-gap .cta-section {
  background: var(--black) !important;
}

.page-inference-gap main h1,
.page-inference-gap main h2,
.page-inference-gap main h3,
.page-inference-gap main h4,
.page-inference-gap .matrix-title,
.page-inference-gap .matrix-lead strong {
  color: var(--white) !important;
}

.page-foreseeable-risk {
  --bg: #0a0a0a;
  --surface: #111;
  --surface-2: #1a1a1a;
  --border: #343434;
  --text: #ece9e3;
  --text-muted: #aaa39b;
  --accent: #d4ad66;
  --red: #ef7564;
  --green: #70bd8f;
  --blue: #74a8d4;
  background: var(--bg) !important;
  color: var(--text);
}

.page-foreseeable-risk main h1,
.page-foreseeable-risk main h2,
.page-foreseeable-risk main h3,
.page-foreseeable-risk main h4 {
  color: var(--text) !important;
}

.page-foreseeable-risk main p {
  color: #c8c3bc;
}

.page-foreseeable-risk .alert-box p {
  color: #d5d0c9;
}

.page-legal-observability {
  --bg: #070d18;
  --bg2: #0b1424;
  --panel: rgb(17 29 50 / 96%);
  --panel2: rgb(23 39 68 / 96%);
  --ink: #eef5ff;
  --soft: #d7e4f5;
  --muted: #bac8dc;
  background: var(--bg) !important;
  color: var(--ink);
}

.page-legal-observability .hero {
  background-color: var(--bg) !important;
  background-image: linear-gradient(135deg, #070d18, #0b1424) !important;
}

.page-legal-observability .card,
.page-legal-observability .panel,
.page-legal-observability .metric,
.page-legal-observability .arch-card,
.page-legal-observability .event-card,
.page-legal-observability .check,
.page-legal-observability .fix {
  background-color: #111d32 !important;
  border-color: rgb(179 210 255 / 28%) !important;
  color: var(--soft) !important;
}

.page-legal-observability .callout {
  background-color: #1d2430 !important;
  border-color: rgb(255 208 116 / 36%) !important;
}

.page-legal-observability main h1,
.page-legal-observability main h2,
.page-legal-observability main h3,
.page-legal-observability main h4,
.page-legal-observability .callout strong {
  color: var(--ink) !important;
}

.page-legal-observability main p,
.page-legal-observability main li {
  color: var(--muted);
}

/* Light research pages: replace insufficiently muted ink with readable ink. */
.page-exposure-architecture,
.page-designated-defendant {
  --ink-40: #5b5b75;
  --accent: #9d321f;
  --amber: #785900;
  --teal: #116b60;
}

.page-exposure-architecture .addendum-sources {
  color: #c4cbc9 !important;
}

.page-inference-window {
  --muted: #5e5e59;
  --amber: #8e4f05;
}

.page-inference-window .finding-source {
  color: #a8a39b !important;
}

.page-inference-window .flow-section svg > text:nth-of-type(14) {
  fill: #8e4f05 !important;
}

.page-inference-window .flow-section svg > text:nth-of-type(31),
.page-inference-window .flow-section svg > text:nth-of-type(32) {
  fill: #5e5e59 !important;
}

/* QLCA's brass is decorative at full palette value; textual uses need a
   darker ink on light surfaces and a lighter brass on technical surfaces. */
.page-qlca .methodology-breadcrumb,
.page-qlca .prose,
.page-qlca .prose p,
.page-qlca .prose li,
.page-qlca .study-hypothesis,
.page-qlca .study-example {
  color: var(--stage1-text) !important;
  opacity: 1;
}

.page-qlca .methodology-breadcrumb span {
  color: var(--stage1-text) !important;
}

.page-qlca .prose p {
  opacity: 1 !important;
}

.page-qlca #pressureIndicator {
  color: #f0a080 !important;
}

.page-qlca .use-case-badge,
.page-qlca .use-case-metric-value,
.page-qlca .study-section-label,
.page-qlca .timeline-number {
  color: #705425 !important;
}

.page-qlca .study-badge {
  background: #705425 !important;
  color: var(--stage1-surface) !important;
}

.page-qlca .indicator.up,
.page-qlca .chart-container .indicator.up,
.page-qlca .info-card .indicator.up {
  color: #9bc4c6 !important;
}

.page-qlca .chart-svg text,
.page-qlca .mini-chart text {
  opacity: 1 !important;
}

.page-qlca .chart-container .chart-svg text {
  fill: #8dbabd !important;
}

.how__time p,
.privacy__nda {
  color: #455254 !important;
}

.page-air-gapped .cta a {
  color: #f0a080 !important;
}

.page-air-gapped .refs .foot {
  color: #5f6672 !important;
}

.page-legal-observability header.hero h1 {
  color: var(--ink) !important;
}

.page-legal-observability .nav-shell,
.page-legal-observability .nav-shell .nav {
  background: var(--bg2) !important;
}

.page-legal-observability .nav-shell .nav a {
  color: var(--muted) !important;
}

.page-legal-observability .nav-shell .nav a.active,
.page-legal-observability .nav-shell .nav a:hover,
.page-legal-observability .nav-shell .nav a:focus-visible {
  color: var(--ink) !important;
}

.page-inference-gap .hero-eyebrow {
  color: var(--red-bright) !important;
}

section.stage1-proof .section-tag,
section.stage1-proof a {
  color: #d4ad66 !important;
}

.section--dark.stage1-proof a,
.section--dark-alt.stage1-proof a {
  color: #d4ad66 !important;
}

body {
  --ink-40: #5b5b75;
}

.exchange-round {
  color: rgb(255 255 255 / 78%) !important;
}

.page-designated-defendant {
  --ink-20: #5b5b75;
}

/* ZugZwang's oversized letters are explicitly decorative; all actual labels
   and dark methodology text retain readable foregrounds. */
.page-zugzwang .hero-definition,
.page-zugzwang .hero-note {
  color: var(--stage1-text) !important;
}

.page-zugzwang .dea-letter,
.page-zugzwang .dea-word,
.page-zugzwang .mode-tag,
.page-zugzwang .distinction-label {
  color: #6a4933 !important;
}

.page-zugzwang .method-section h2,
.page-zugzwang .method-section h3,
.page-zugzwang .method-section h4 {
  color: var(--stage1-surface) !important;
}

.page-zugzwang .method-section .step-num {
  color: #9bc4c6 !important;
}

.page-zugzwang .sim-container .attack-label,
.page-zugzwang .sim-container .attack-active {
  color: #f0a080 !important;
}

/* Deterministic, explicitly illustrative processing visualization. */
.processing-trace {
  --trace-progress: 100%;
  background: #0d1718;
  border: 1px solid #365154;
  border-radius: 3px;
  color: #dce3e1;
  margin: 18px 0 22px;
  padding: 16px;
  text-align: left;
}

.processing-trace__topline {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.processing-trace__kicker {
  color: #d99b78;
  display: block;
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  margin-bottom: 3px;
  text-transform: uppercase;
}

.processing-trace__topline strong {
  color: var(--stage1-surface);
  display: block;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
}

.processing-trace__state {
  align-items: center;
  color: #b9c7c5;
  display: flex;
  flex: 0 0 auto;
  font-family: var(--font-mono);
  font-size: 0.62rem;
  gap: 6px;
  letter-spacing: 0.08em;
  padding-top: 3px;
  text-transform: uppercase;
}

.processing-trace__state i {
  background: #8dbabd;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgb(141 186 189 / 14%);
  height: 6px;
  width: 6px;
}

.processing-trace.is-live .processing-trace__state i {
  animation: trace-pulse 1.6s ease-in-out infinite;
}

.processing-trace__rail {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin: 20px 0 12px;
  min-height: 50px;
  position: relative;
}

.processing-trace__line,
.processing-trace__line::after {
  height: 1px;
  left: 8%;
  position: absolute;
  right: 8%;
  top: 8px;
}

.processing-trace__line {
  background: #365154;
}

.processing-trace__line::after {
  background: linear-gradient(90deg, #74a7aa, #d4ad66, #d99b78);
  content: "";
  left: 0;
  right: auto;
  top: 0;
  width: var(--trace-progress);
}

.processing-trace__node {
  color: #b9c7c5;
  font-family: var(--font-mono);
  font-size: 0.5rem;
  min-width: 0;
  position: relative;
  text-align: center;
}

.processing-trace__node i {
  background: #0d1718;
  border: 2px solid #74a7aa;
  border-radius: 50%;
  display: block;
  height: 8px;
  margin: 3px auto 8px;
  position: relative;
  width: 8px;
  z-index: 2;
}

.processing-trace__node.is-proof i {
  border-color: #d99b78;
}

.processing-trace__node b,
.processing-trace__node small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.processing-trace__node b {
  color: #edf0ed;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.processing-trace__node small {
  color: #aab8b6;
  font-size: 0.5rem;
  margin-top: 2px;
}

.processing-trace__packet {
  background: #d4ad66;
  border-radius: 50%;
  box-shadow: 0 0 8px rgb(212 173 102 / 70%);
  height: 4px;
  left: 8%;
  opacity: 0;
  position: absolute;
  top: 7px;
  width: 4px;
  z-index: 3;
}

.processing-trace.is-live .processing-trace__packet {
  animation: trace-packet 3.6s linear infinite;
}

.processing-trace.is-live .processing-trace__packet--two {
  animation-delay: 1.2s;
}

.processing-trace.is-live .processing-trace__packet--three {
  animation-delay: 2.4s;
}

.processing-trace__stage {
  align-items: center;
  border-block: 1px solid #294143;
  display: flex;
  font-family: var(--font-mono);
  justify-content: space-between;
  padding: 8px 0;
}

.processing-trace__stage span {
  color: #aab8b6;
  font-size: 0.56rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.processing-trace__stage strong {
  color: #d4ad66;
  font-size: 0.64rem;
  font-weight: 600;
  text-align: right;
}

.processing-trace__metrics {
  display: grid;
  gap: 1px;
  grid-template-columns: 1fr 1fr;
  margin-top: 12px;
}

.processing-trace__metrics > div {
  background: #132123;
  border: 1px solid #294143;
  min-width: 0;
  padding: 9px 10px;
}

.processing-trace__metrics strong,
.processing-trace__metrics span {
  display: block;
}

.processing-trace__metrics strong {
  color: var(--stage1-surface);
  font-family: var(--font-mono);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.processing-trace__metrics span {
  color: #aab8b6;
  font-size: 0.54rem;
  line-height: 1.35;
  margin-top: 2px;
}

.processing-trace__note {
  color: #aab8b6 !important;
  font-family: var(--font-mono);
  font-size: 0.53rem;
  letter-spacing: 0.035em;
  margin: 10px 0 0;
  max-width: none;
  text-align: center;
  text-transform: uppercase;
}

@keyframes trace-packet {
  0% { left: 8%; opacity: 0; }
  7% { opacity: 1; }
  93% { opacity: 1; }
  100% { left: 92%; opacity: 0; }
}

@keyframes trace-pulse {
  0%, 100% { opacity: 0.6; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.15); }
}

/* A single non-tiled evidence trace sits behind selected light surfaces. */
main > .section--light:nth-of-type(odd),
.stage1-architecture-section,
.qlca-static-overview {
  isolation: isolate;
  position: relative;
}

main > .section--light:nth-of-type(odd)::after,
.stage1-architecture-section::after,
.qlca-static-overview::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1180 520'%3E%3Cpath d='M26 390 C155 390 138 118 306 118 S482 348 634 348 806 158 966 158 1052 74 1152 74' fill='none' stroke='%23356C70' stroke-width='1'/%3E%3Cg fill='%23A55F3F'%3E%3Ccircle cx='26' cy='390' r='3'/%3E%3Ccircle cx='306' cy='118' r='3'/%3E%3Ccircle cx='634' cy='348' r='3'/%3E%3Ccircle cx='966' cy='158' r='3'/%3E%3Ccircle cx='1152' cy='74' r='3'/%3E%3C/g%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: min(1180px, 94vw) auto;
  content: "";
  inset: 0;
  opacity: 0.025;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}

@media (max-width: 820px) {
  .cv-site-bar {
    min-height: 64px;
    padding-inline: 18px;
  }

  .cv-site-bar__toggle {
    display: flex;
  }

  .cv-site-bar .cv-site-bar__links {
    align-items: stretch;
    background: var(--stage1-surface);
    border-bottom: 1px solid var(--stage1-rule);
    box-shadow: 0 18px 30px rgb(24 36 38 / 12%);
    display: none;
    flex-direction: column;
    gap: 0;
    left: 0;
    padding: 14px 18px 20px;
    position: absolute;
    right: 0;
    top: 100%;
  }

  .cv-site-bar.is-open .cv-site-bar__links {
    display: flex;
  }

  .cv-site-bar__links a {
    border-bottom: 1px solid var(--stage1-rule);
    padding: 11px 4px !important;
  }

  .cv-site-bar__links .cv-site-bar__cta {
    margin: 12px 0 0;
    padding: 12px !important;
    text-align: center;
  }
}

@media (max-width: 900px) {
  .page-foreseeable-risk .nav__links.open {
    display: none !important;
  }
}

@media (max-width: 520px) {
  .processing-trace {
    padding: 13px;
  }

  .processing-trace__topline,
  .processing-trace__stage {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .processing-trace__state {
    padding-top: 0;
  }

  .processing-trace__rail {
    margin-inline: -4px;
  }

  .processing-trace__node b {
    font-size: 0.52rem;
  }

  .processing-trace__node small {
    display: none;
  }

  .processing-trace__metrics {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  main > .section--dark-alt .grid-2 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .pivot-text {
    flex: 0 1 auto;
    overflow-wrap: anywhere;
    white-space: normal !important;
  }

  .pivot-line {
    min-width: 0;
  }
}

#privacy > .wrap > [style*="margin: 0 -48px"] {
  margin-inline: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  .processing-trace__packet,
  .processing-trace__state i {
    animation: none !important;
  }

  .processing-trace__packet {
    display: none;
  }
}
