/* Site 03 — sans-serif, sidebar layout, no custom-property theming.
   Deliberately unlike site 01 (serif, centred single column, --measure tokens). */

html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }

body {
  margin: 0;
  background: #fbfbfa;
  color: #23262c;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

.top {
  background: #23262c;
  padding: 14px 26px;
}
.wordmark {
  color: #fbfbfa;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.02em;
  text-decoration: none;
}

.wrap {
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr);
  gap: 40px;
  max-width: 1080px;
  margin: 0 auto;
  padding: 30px 26px 60px;
}

.side { font-size: 13px; }
.nav-group { margin-bottom: 20px; }
.nav-title {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #8a8f99;
}
.side ul { list-style: none; margin: 0; padding: 0; }
.side li { margin: 0 0 3px; }
.side a { color: #4a5160; text-decoration: none; }
.side a:hover { color: #b4341f; }
.side a[aria-current="page"] { color: #b4341f; font-weight: 600; }

.doc { max-width: 640px; }
.doc--wide { max-width: 780px; }

.crumb { margin: 0 0 14px; font-size: 12px; color: #8a8f99; }
.crumb a { color: #8a8f99; }

h1 { margin: 0 0 14px; font-size: 27px; line-height: 1.25; font-weight: 650; letter-spacing: -0.01em; }
h2 { margin: 32px 0 8px; font-size: 18px; font-weight: 620; }
h3 { margin: 0 0 4px; font-size: 15px; font-weight: 600; }
p { margin: 0 0 14px; }

.lead { font-size: 17px; color: #4a5160; margin-bottom: 26px; }

.qa-list { border-top: 2px solid #23262c; padding-top: 14px; }
.qa { margin-bottom: 16px; }
.qa p { color: #4a5160; margin: 0; }

.cards { list-style: none; margin: 0 0 8px; padding: 0; }
.cards li { padding: 5px 0; border-bottom: 1px solid #e7e7e4; }
.cards a { color: #b4341f; text-decoration: none; }
.cards a:hover { text-decoration: underline; }

.checked { margin-top: 34px; font-size: 12px; color: #8a8f99; }

.bottom {
  border-top: 1px solid #e7e7e4;
  padding: 22px 26px;
  font-size: 13px;
  color: #8a8f99;
}
.bottom p { max-width: 640px; margin: 0 auto; }

@media (max-width: 760px) {
  .wrap { grid-template-columns: 1fr; gap: 0; }
  .side { order: 2; margin-top: 40px; border-top: 1px solid #e7e7e4; padding-top: 20px; }
}

/* interactive tools */
.tool { border: 1px solid #d9d9d4; background: #fff; padding: 18px 20px; margin: 22px 0 6px; }
.t-row { display: grid; grid-template-columns: 1fr 110px; gap: 12px; align-items: center; margin-bottom: 10px; }
.t-row label { font-size: 14px; color: #4a5160; }
.t-row .opt { color: #8a8f99; }
.t-row input { padding: 6px 8px; border: 1px solid #c9c9c3; font: inherit; font-size: 15px; width: 100%; }
.tool button { background: #23262c; color: #fbfbfa; border: 0; padding: 9px 18px; font: inherit; font-size: 14px; cursor: pointer; }
.t-privacy { font-size: 12px; color: #8a8f99; margin: 12px 0 0; }
.tool-out { margin-bottom: 20px; }
.r-zeile { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid #ececE7; font-size: 15px; }
.r-zeile strong { font-weight: 600; }
.r-hinweis { font-size: 13px; color: #6b7280; margin: 12px 0 0; }
.rc-block { border: 0; border-top: 1px solid #ececE7; padding: 14px 0 4px; margin: 0; }
.rc-block legend { font-weight: 600; font-size: 15px; padding: 0; }
.rc-hinweis { font-size: 13px; color: #8a8f99; margin: 2px 0 8px; }
.rc-opt { display: block; font-size: 14px; margin-bottom: 5px; cursor: pointer; }
.rc-ergebnis { margin-top: 18px; }
.rc-ergebnis h3 { font-size: 15px; margin: 14px 0 3px; }
.rc-ergebnis p { font-size: 14px; color: #4a5160; margin: 0; }
.rc-schluss { margin-top: 16px !important; padding-top: 12px; border-top: 2px solid #23262c; color: #23262c !important; }

/* atomic facts — short standalone claims an answer engine can lift verbatim */
.facts { border-left: 3px solid #b4341f; background: #fff; padding: 14px 18px; margin: 22px 0; }
.facts h2 { margin: 0 0 8px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: #8a8f99; }
.facts ul { margin: 0; padding-left: 18px; }
.facts li { margin-bottom: 7px; font-size: 15px; line-height: 1.5; }

/* register of counting rules — quoted source text, never paraphrase */
.reg { margin: 22px 0; }
.reg-entry { border: 1px solid #e2e0dc; border-radius: 4px; padding: 14px 18px; margin-bottom: 14px; background: #fff; }
.reg-entry h3 { margin: 0 0 10px; font-size: 17px; }
.reg-entry dl { margin: 0; display: grid; grid-template-columns: 190px 1fr; gap: 6px 14px; }
.reg-entry dt { font-size: 13px; color: #6f7480; padding-top: 2px; }
.reg-entry dd { margin: 0; font-size: 15px; }
.reg-none { color: #9aa0aa; font-style: italic; }
.reg-q { margin: 5px 0 0; padding: 6px 0 6px 12px; border-left: 2px solid #d8d5cf;
  font-size: 14px; color: #4a4f58; }
.reg-q::before { content: "\201E"; } .reg-q::after { content: "\201C"; }
.reg-src { margin: 10px 0 0; font-size: 13px; color: #6f7480; }
@media (max-width: 640px) { .reg-entry dl { grid-template-columns: 1fr; gap: 2px 0; }
  .reg-entry dt { padding-top: 8px; } }

/* long-form dossiers */
.lede { font-size: 18px; line-height: 1.6; color: #2b2f36; }
.toc { border: 1px solid #e2e0dc; background: #fbfaf8; padding: 12px 18px; margin: 20px 0; }
.toc-t { margin: 0 0 6px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #8a8f99; }
.toc ol { margin: 0; padding-left: 20px; } .toc li { margin-bottom: 4px; font-size: 15px; }
.pts { margin: 10px 0 14px; padding-left: 20px; } .pts li { margin-bottom: 6px; }

/* light offer — the network model is guides WITH selling, not a pure reference */
.hilfe { border-top: 2px solid #b4341f; margin-top: 34px; padding-top: 16px; }
.hilfe h2 { margin: 0 0 6px; font-size: 18px; }
.hilfe p { margin: 0 0 10px; }
.hilfe-link { display: inline-block; font-weight: 600; color: #b4341f;
  text-decoration: underline; text-underline-offset: 4px; }
