.knowledge-module {
  --knowledge-accent: #2d7b78;
  --knowledge-accent-text: #245f5d;
  --knowledge-accent-soft: #f2fffe;
  --knowledge-accent-border: #b9d8d6;
  width: min(1120px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 4rem 0 5rem;
}

.knowledge-module--accent-industrial {
  --knowledge-accent: var(--tile-industrial, #4b8b3b);
  --knowledge-accent-text: #35682a;
  --knowledge-accent-soft: var(--tile-bg-industrial, #f6fff3);
  --knowledge-accent-border: #c9d8c5;
}

.knowledge-module--accent-cybersecurity {
  --knowledge-accent: var(--tile-cyber, #0078d7);
  --knowledge-accent-text: #005fae;
  --knowledge-accent-soft: var(--tile-bg-cyber, #f2f8ff);
  --knowledge-accent-border: #bfd8ee;
}

.knowledge-module--accent-data-analytics {
  --knowledge-accent: var(--tile-data, #159a9c);
  --knowledge-accent-text: #087d80;
  --knowledge-accent-soft: var(--tile-bg-data, #f2fffe);
  --knowledge-accent-border: #b9d8d6;
}

.knowledge-module--accent-consulting {
  --knowledge-accent: var(--tile-consulting, #2a6f7e);
  --knowledge-accent-text: #205966;
  --knowledge-accent-soft: var(--tile-bg-consulting, #f3f8f9);
  --knowledge-accent-border: #c4d7dc;
}

.knowledge-module--accent-legal {
  --knowledge-accent: var(--tile-legal, #8a5a2b);
  --knowledge-accent-text: #70451f;
  --knowledge-accent-soft: var(--tile-bg-legal, #fff8f1);
  --knowledge-accent-border: #dec9b4;
}

.knowledge-module--accent-validation {
  --knowledge-accent: var(--tile-validation, #5b6f8f);
  --knowledge-accent-text: #465875;
  --knowledge-accent-soft: var(--tile-bg-validation, #f5f7fb);
  --knowledge-accent-border: #c8d0dd;
}

.knowledge-module--accent-funding {
  --knowledge-accent: var(--tile-funding, #a23b5a);
  --knowledge-accent-text: #7f2944;
  --knowledge-accent-soft: var(--tile-bg-funding, #fff5f8);
  --knowledge-accent-border: #e3beca;
}

.knowledge-module--accent-cross-domain {
  --knowledge-accent: #785578;
  --knowledge-accent-text: #624362;
  --knowledge-accent-soft: #fbf6fb;
  --knowledge-accent-border: #d9c5d9;
}

.knowledge-module__header {
  max-width: 820px;
  padding-bottom: 2.25rem;
}

.knowledge-module__back {
  display: inline-block;
  margin-bottom: 2rem;
  color: #365d74;
  font-weight: 700;
}

.knowledge-module__back::before { content: "\2190\00a0"; }

.knowledge-module__type {
  margin-bottom: 0.4rem;
  color: var(--knowledge-accent-text);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
}

.knowledge-module h1 {
  color: #172b3a;
  font-size: 4rem;
  line-height: 1.08;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.knowledge-module__lead {
  max-width: 720px;
  margin-top: 1rem;
  color: #415663;
  font-size: 1.2rem;
}

.knowledge-module__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-top: 1.25rem;
  color: #52636c;
  font-size: 0.88rem;
}

.knowledge-module__languages {
  display: flex;
  gap: 0.35rem;
  margin-top: 1.25rem;
}

.knowledge-module__languages a,
.knowledge-module__languages span {
  display: inline-grid;
  min-width: 2.5rem;
  min-height: 2.25rem;
  place-items: center;
  border: 1px solid #b9c8d0;
  border-radius: 4px;
  color: #294858;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
}

.knowledge-module__languages [aria-current="page"] {
  border-color: var(--knowledge-accent);
  background: var(--knowledge-accent);
  color: #fff;
}

.knowledge-formula {
  margin: 1.25rem 0;
  padding: 1.25rem;
  border-left: 4px solid var(--knowledge-accent);
  background: var(--knowledge-accent-soft);
  color: #172b3a;
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.knowledge-example {
  margin-top: 1.25rem;
  padding: 1.25rem;
  border: 1px solid var(--knowledge-accent-border);
  border-radius: 6px;
  background: #fbfef9;
}

.knowledge-example h3 { margin: 0 0 0.75rem; color: var(--knowledge-accent-text); font-size: 1.05rem; }

.knowledge-steps { counter-reset: knowledge-step; padding-left: 0; list-style: none; }
.knowledge-steps li { position: relative; padding: 0.85rem 0 0.85rem 3rem; border-top: 1px solid #d7dfe3; }
.knowledge-steps li::before {
  counter-increment: knowledge-step;
  content: counter(knowledge-step);
  position: absolute;
  top: 0.65rem;
  left: 0;
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--knowledge-accent);
  color: #fff;
  font-weight: 700;
}

.knowledge-module__toc {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  padding: 1rem 0;
  border-top: 1px solid #cad4da;
  border-bottom: 1px solid #cad4da;
  font-size: 0.92rem;
}

.knowledge-module__toc strong { color: #172b3a; }
.knowledge-module__toc a { color: #365d74; text-decoration: underline; text-underline-offset: 0.2em; }
.knowledge-module__toc a:hover { color: var(--knowledge-accent-text); }

.knowledge-module__body { max-width: 900px; }

.knowledge-section {
  padding: 2.5rem 0;
  border-bottom: 1px solid #d7dfe3;
  scroll-margin-top: 6rem;
}

.knowledge-section h2 {
  margin-bottom: 1rem;
  color: var(--knowledge-accent-text);
  font-size: 1.55rem;
  letter-spacing: 0;
}

.knowledge-section p + p { margin-top: 0.85rem; }

.knowledge-section__note {
  margin-top: 1.25rem;
  padding-left: 1rem;
  border-left: 3px solid var(--knowledge-accent);
  color: #40545f;
}

.knowledge-list {
  display: grid;
  gap: 0.65rem 2rem;
  margin-top: 1rem;
  padding-left: 1.15rem;
  list-style: disc;
}

.knowledge-list--two-columns,
.knowledge-list--terms { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.knowledge-relations {
  display: grid;
  gap: 0;
  margin-top: 1.5rem;
}

.knowledge-relations > div {
  display: grid;
  grid-template-columns: minmax(190px, 0.7fr) minmax(0, 1.3fr);
  gap: 1.5rem;
  padding: 1rem 0;
  border-top: 1px solid #d7dfe3;
}

.knowledge-relations dt { color: #1e3c4d; font-weight: 700; }
.knowledge-relations dd { margin: 0; }
.knowledge-relations--facts strong { color: #1e3c4d; }
.knowledge-relations--facts p { margin: 0; }

.knowledge-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.knowledge-tags span {
  padding: 0.35rem 0.6rem;
  border: 1px solid var(--knowledge-accent-border);
  border-radius: 4px;
  background: var(--knowledge-accent-soft);
  color: var(--knowledge-accent-text);
  font-size: 0.9rem;
}

.knowledge-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.knowledge-links a {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1rem;
  border: 1px solid #b9c8d0;
  border-radius: 6px;
  background: #fff;
}
.knowledge-links a:hover { border-color: var(--knowledge-accent); }
.knowledge-links strong { color: var(--knowledge-accent-text); }
.knowledge-links span { color: #52636c; font-size: 0.92rem; }

.knowledge-module__footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  max-width: 900px;
  padding-top: 2rem;
  color: #52636c;
  font-size: 0.9rem;
}
.knowledge-module__footer a { color: #365d74; font-weight: 700; }

@media (max-width: 680px) {
  .knowledge-module { width: min(100% - 1.25rem, 1120px); padding-top: 2rem; }
  .knowledge-module h1 { font-size: 2.25rem; }
  .knowledge-list--two-columns,
  .knowledge-list--terms,
  .knowledge-links { grid-template-columns: 1fr; }
  .knowledge-relations > div { grid-template-columns: 1fr; gap: 0.25rem; }
  .knowledge-module__footer { flex-direction: column; }
}
