/* Hallmark · macrostructure: Split Studio · alternating decision/proof/action halves · enrichment: E5 tier-B hand-built ETF-flow, allowance-allocation and liquidity-route SVGs · genre: editorial · tone: institutional, calm, decision-led · anchor: Geldaura blue · theme: studied-DNA (Landing.png + Geldaura Brand Book) · nav: N11 · footer: Ft5 · contrast: pass (40–41) · slop: pass (42–45) · honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive: pass (49) · icons: pass (30) · mobile: pass (34, 49, 50–57) */
/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5 */
.has-foundation-guide .structured-article-shell {
  max-width: none;
  padding: 0 0 var(--space-4xl);
}

.has-foundation-guide .structured-article-shell > .wp-block-post-content,
.has-foundation-guide .structured-article-shell .wp-block-post-content > .foundation-guide {
  width: 100%;
  max-width: none;
  margin: 0;
}

.foundation-guide {
  color: var(--color-ink);
}

.foundation-guide :where(h1, h2, h3, p, ul, ol, dl, figure) {
  margin-block: 0;
}

.has-foundation-guide .structured-article-shell .wp-block-post-content .foundation-guide li {
  max-width: none;
}

.foundation-guide :where(h1, h2, h3) {
  min-width: 0;
  overflow-wrap: anywhere;
}

.foundation-guide__hero,
.foundation-guide__answer,
.foundation-guide__facts,
.foundation-guide__index,
.foundation-guide__body {
  width: min(calc(100% - (2 * var(--page-gutter))), var(--page-max));
  margin-inline: auto;
}

.foundation-guide__hero {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: var(--space-3xl);
  min-height: clamp(32rem, 64dvh, 40rem);
  align-items: center;
  padding-block: var(--space-2xl) var(--space-3xl);
}

.foundation-guide__hero-copy {
  max-width: 42rem;
}

.foundation-guide__kicker,
.foundation-guide__section-label {
  color: var(--color-brand-readable);
  font-size: var(--text-xs);
  font-weight: 780;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.foundation-guide__hero h1 {
  max-width: 13ch;
  margin-top: var(--space-md);
  font-size: clamp(2.7rem, 5vw, 4.75rem);
  letter-spacing: -0.055em;
  line-height: 1;
}

.foundation-guide[data-guide="freistellungsauftrag-2026"] .foundation-guide__hero h1 {
  max-width: 15ch;
  font-size: clamp(2.5rem, 4.3vw, 3.45rem);
}

.foundation-guide__lede {
  max-width: 60ch;
  margin-top: var(--space-lg);
  color: var(--color-ink-2);
  font-size: clamp(1.05rem, 1.35vw, 1.3rem);
  line-height: 1.55;
}

.foundation-guide__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-lg);
  align-items: center;
  margin-top: var(--space-xl);
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.foundation-guide__meta > * {
  display: inline-flex;
  gap: var(--space-xs);
  align-items: center;
  line-height: 1;
  white-space: nowrap;
}

.foundation-guide__meta > *::before {
  width: var(--space-2xs);
  height: var(--space-2xs);
  background: var(--color-brand);
  content: "";
}

.foundation-guide__visual {
  min-width: 0;
}

.foundation-guide__visual svg {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: var(--shadow-panel);
}

.foundation-guide__visual figcaption {
  margin-top: var(--space-sm);
  color: var(--color-muted);
  font-size: var(--text-xs);
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.foundation-diagram text {
  font-family: var(--font-body);
}

.foundation-diagram__canvas {
  fill: var(--color-ink);
}

.foundation-diagram__mast,
.foundation-diagram__muted,
.foundation-diagram__foot {
  fill: var(--color-on-ink-axis);
  font-size: 12px;
  font-weight: 760;
  letter-spacing: 0.08em;
}

.foundation-diagram__grid {
  stroke: var(--color-on-ink-grid);
}

.foundation-diagram__figure {
  fill: var(--color-paper);
  font-size: 48px;
  font-weight: 760;
  letter-spacing: -0.04em;
}

.foundation-diagram__question {
  fill: var(--color-paper);
  font-size: 24px;
  font-weight: 720;
}

.foundation-diagram__panel {
  fill: var(--color-ink-panel);
  stroke: var(--color-ink-border);
}

.foundation-diagram__panel--accent {
  fill: var(--color-ink-panel);
  stroke: var(--color-brand);
}

.foundation-diagram__value {
  fill: var(--color-paper);
  font-size: 18px;
  font-weight: 720;
}

.foundation-diagram__choice {
  fill: var(--color-on-ink-label);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.foundation-diagram__value--light,
.foundation-diagram__choice--light {
  fill: var(--color-paper);
}

.foundation-diagram__light-muted {
  fill: var(--color-on-ink-copy);
  font-size: 12px;
  font-weight: 650;
}

.foundation-diagram__route {
  fill: none;
  stroke: var(--color-brand);
  stroke-width: 3;
  stroke-linecap: square;
  stroke-linejoin: miter;
  stroke-dasharray: 900;
  stroke-dashoffset: 900;
  animation: foundation-route-draw 900ms var(--ease-out) 180ms forwards;
}

.foundation-diagram__node {
  fill: var(--color-brand);
}

.foundation-diagram__light-grid {
  stroke: var(--color-on-ink-rule);
  stroke-width: 2;
}

.foundation-diagram__bar {
  fill: var(--color-ink-panel);
}

.foundation-diagram__bar--two {
  fill: var(--color-ink-border);
}

.foundation-diagram__bar--three {
  fill: var(--color-brand);
}

@keyframes foundation-route-draw {
  to {
    stroke-dashoffset: 0;
  }
}

.foundation-guide__answer {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: var(--space-3xl);
  padding-block: var(--space-2xl);
  border-block: var(--rule-hair) solid var(--color-rule);
}

.foundation-guide__answer h2,
.foundation-split h2,
.foundation-flow h2,
.foundation-balance h2,
.foundation-alternatives h2,
.foundation-faq h2,
.foundation-related h2,
.foundation-sources h2 {
  max-width: 18ch;
  margin-top: var(--space-sm);
  font-size: clamp(2rem, 3.3vw, 3.35rem);
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.foundation-guide__answer > div:last-child > p {
  max-width: 68ch;
  font-size: var(--text-md);
  line-height: 1.65;
}

.foundation-guide__answer [role="note"] {
  display: grid;
  grid-template-columns: minmax(8rem, 0.34fr) minmax(0, 1fr);
  gap: var(--space-lg);
  margin-top: var(--space-xl);
  padding-top: var(--space-lg);
  border-top: var(--rule-strong) solid var(--color-ink);
}

.foundation-guide__answer [role="note"] span {
  color: var(--color-brand-readable);
  font-size: var(--text-xs);
  font-weight: 780;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.foundation-guide__answer [role="note"] p {
  color: var(--color-ink-2);
  line-height: 1.6;
}

.foundation-guide__facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

.foundation-guide__facts > div {
  min-width: 0;
  padding: var(--space-lg);
  border-left: var(--rule-hair) solid var(--color-rule);
}

.foundation-guide__facts > div:last-child {
  border-right: var(--rule-hair) solid var(--color-rule);
}

.foundation-guide__facts dt {
  font-size: var(--text-lg);
  font-weight: 780;
  letter-spacing: -0.025em;
}

.foundation-guide__facts dd {
  margin: var(--space-xs) 0 0;
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.foundation-guide__index {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-lg);
  align-items: center;
  padding-block: var(--space-lg);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

.foundation-guide__index a {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  font-weight: 680;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.foundation-guide__index a:hover {
  color: var(--color-brand-readable);
}

.foundation-guide__index a:focus-visible,
.foundation-guide__verdict a:focus-visible,
.foundation-related a:focus-visible,
.foundation-sources a:focus-visible,
.foundation-faq summary:focus-visible {
  outline: var(--rule-strong) solid var(--color-focus);
  outline-offset: var(--space-2xs);
}

.foundation-guide__index a:active,
.foundation-guide__verdict a:active,
.foundation-related a:active,
.foundation-sources a:active {
  color: var(--color-ink);
}

.foundation-guide__body {
  padding-top: var(--space-3xl);
}

.foundation-split,
.foundation-faq,
.foundation-sources {
  display: grid;
  grid-template-columns: minmax(0, 0.76fr) minmax(0, 1.24fr);
  gap: var(--space-3xl);
  align-items: start;
}

.foundation-split,
.foundation-flow,
.foundation-balance,
.foundation-alternatives,
.foundation-guide__verdict,
.foundation-faq,
.foundation-related,
.foundation-sources {
  padding-block: var(--space-3xl);
  border-top: var(--rule-hair) solid var(--color-rule);
}

.foundation-split__intro > p:last-child,
.foundation-flow__intro + p,
.foundation-alternatives__intro > p:last-child,
.foundation-sources__intro > p:last-child {
  max-width: 60ch;
  margin-top: var(--space-lg);
  color: var(--color-ink-2);
  line-height: 1.65;
}

.foundation-table-wrap {
  min-width: 0;
  overflow-x: auto;
}

.foundation-table-wrap:focus-visible {
  outline: var(--rule-strong) solid var(--color-focus);
  outline-offset: var(--space-2xs);
}

.foundation-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.foundation-table-wrap :where(th, td) {
  padding: var(--space-md);
  border-bottom: var(--rule-hair) solid var(--color-rule);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.foundation-table-wrap th {
  color: var(--color-muted);
  font-size: var(--text-xs);
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.foundation-table-wrap td {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.55;
}

.foundation-table-wrap td:first-child {
  color: var(--color-ink);
  font-weight: 720;
}

.foundation-flow__intro,
.foundation-balance__intro,
.foundation-alternatives__intro,
.foundation-faq__intro,
.foundation-sources__intro {
  display: flex;
  flex-direction: column;
}

.foundation-flow > ol {
  padding: 0;
  list-style: none;
}

.foundation-flow > ol > li {
  display: grid;
  grid-template-columns: minmax(3rem, 0.12fr) minmax(0, 0.88fr) minmax(0, 1fr);
  gap: var(--space-xl);
  padding-block: var(--space-xl);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

.foundation-flow > ol > li > span {
  color: var(--color-brand-readable);
  font-size: var(--text-sm);
  font-weight: 800;
}

.foundation-flow h3 {
  font-size: var(--text-lg);
  letter-spacing: -0.025em;
}

.foundation-flow h3 + p {
  max-width: 65ch;
  margin-top: var(--space-sm);
  color: var(--color-ink-2);
  line-height: 1.65;
}

.foundation-flow ul {
  padding: 0;
  list-style: none;
}

.foundation-flow ul li {
  position: relative;
  padding-left: var(--space-lg);
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.foundation-flow ul li + li {
  margin-top: var(--space-xs);
}

.foundation-flow ul li::before {
  position: absolute;
  top: 0.65em;
  left: 0;
  width: var(--space-xs);
  height: var(--rule-strong);
  background: var(--color-brand);
  content: "";
}

.foundation-split--example {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.foundation-example {
  border-top: var(--rule-strong) solid var(--color-ink);
}

.foundation-example > div {
  display: grid;
  grid-template-columns: minmax(5rem, 0.28fr) minmax(0, 1fr);
  gap: var(--space-lg);
  padding-block: var(--space-lg);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

.foundation-example dt {
  color: var(--color-brand-readable);
  font-size: var(--text-xl);
  font-weight: 800;
  letter-spacing: -0.04em;
}

.foundation-example dd {
  margin: 0;
}

.foundation-example dd strong,
.foundation-example dd span {
  display: block;
}

.foundation-example dd span {
  margin-top: var(--space-xs);
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.foundation-balance__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: var(--space-2xl);
}

.foundation-balance__columns > div {
  padding: var(--space-xl);
  border-block: var(--rule-hair) solid var(--color-rule);
}

.foundation-balance__columns > div + div {
  border-left: var(--rule-hair) solid var(--color-rule);
}

.foundation-balance__columns h3 {
  font-size: var(--text-lg);
}

.foundation-balance__columns dl {
  margin-top: var(--space-lg);
}

.foundation-balance__columns dl > div + div {
  margin-top: var(--space-lg);
}

.foundation-balance__columns dt,
.foundation-alternatives dt {
  font-weight: 740;
}

.foundation-balance__columns dd,
.foundation-alternatives dd {
  margin: var(--space-xs) 0 0;
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.55;
}

.foundation-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-xl);
  padding: 0;
  list-style: none;
  border-top: var(--rule-strong) solid var(--color-ink);
}

.foundation-checklist li {
  position: relative;
  padding: var(--space-md) 0 var(--space-md) var(--space-xl);
  border-bottom: var(--rule-hair) solid var(--color-rule);
  color: var(--color-ink-2);
  line-height: 1.5;
}

.foundation-checklist li::before {
  position: absolute;
  top: var(--space-lg);
  left: 0;
  width: var(--space-sm);
  height: var(--space-xs);
  border-bottom: var(--rule-strong) solid var(--color-brand);
  border-left: var(--rule-strong) solid var(--color-brand);
  content: "";
  transform: rotate(-45deg);
}

.foundation-alternatives dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-3xl);
  margin-top: var(--space-2xl);
  border-top: var(--rule-strong) solid var(--color-ink);
}

.foundation-alternatives dl > div {
  padding-block: var(--space-lg);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

.foundation-guide__verdict {
  max-width: 70rem;
  margin-inline: auto;
  text-align: left;
}

.foundation-guide__verdict h2 {
  max-width: 18ch;
  margin-top: var(--space-sm);
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  letter-spacing: -0.055em;
  line-height: 1;
}

.foundation-guide__verdict > p:not(.foundation-guide__section-label) {
  max-width: 68ch;
  margin-top: var(--space-xl);
  color: var(--color-ink-2);
  font-size: var(--text-md);
  line-height: 1.65;
}

.foundation-guide__verdict a {
  display: inline-flex;
  gap: var(--space-md);
  align-items: center;
  margin-top: var(--space-xl);
  color: var(--color-brand-readable);
  font-weight: 760;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.foundation-guide__verdict a:hover {
  color: var(--color-ink);
}

.foundation-faq > div:last-child {
  border-top: var(--rule-strong) solid var(--color-ink);
}

.foundation-faq details {
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

.foundation-faq summary {
  padding-block: var(--space-lg);
  font-weight: 720;
  line-height: 1.4;
  cursor: pointer;
}

.foundation-faq summary:hover {
  color: var(--color-brand-readable);
}

.foundation-faq summary:active {
  color: var(--color-ink);
}

.foundation-faq details p {
  max-width: 68ch;
  padding-bottom: var(--space-lg);
  color: var(--color-ink-2);
  line-height: 1.65;
}

.foundation-related > nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: var(--space-2xl);
  border-block: var(--rule-hair) solid var(--color-rule);
}

.foundation-related a {
  min-width: 0;
  padding: var(--space-lg);
  color: var(--color-ink);
  text-decoration: none;
}

.foundation-related a + a {
  border-left: var(--rule-hair) solid var(--color-rule);
}

.foundation-related a:hover {
  background: var(--color-paper-2);
}

.foundation-related a strong,
.foundation-related a span {
  display: block;
}

.foundation-related a strong {
  white-space: nowrap;
}

.foundation-related a span {
  margin-top: var(--space-xs);
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.foundation-sources ol {
  padding: 0;
  list-style: none;
  border-top: var(--rule-strong) solid var(--color-ink);
}

.foundation-sources li {
  padding-block: var(--space-lg);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

.foundation-sources li a,
.foundation-sources li span {
  display: block;
}

.foundation-sources li a {
  color: var(--color-ink);
  font-weight: 720;
  text-underline-offset: var(--space-2xs);
}

.foundation-sources li a:hover {
  color: var(--color-brand-readable);
}

.foundation-sources li span {
  margin-top: var(--space-xs);
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.foundation-sources__note {
  grid-column: 2;
  max-width: 68ch;
  padding-top: var(--space-lg);
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.55;
}

.foundation-guide__body > .geldaura-author-box {
  max-width: 70rem;
  margin: var(--space-3xl) auto 0;
  padding-top: var(--space-xl);
  border-top-color: var(--color-rule);
}

.foundation-guide__body > .geldaura-author-box a:focus-visible {
  outline: var(--rule-strong) solid var(--color-focus);
  outline-offset: var(--space-2xs);
}

.foundation-guide__body > .geldaura-author-box a:active {
  color: var(--color-ink);
}

@media (max-width: 70rem) {
  .foundation-guide__hero,
  .foundation-guide__answer,
  .foundation-split,
  .foundation-faq,
  .foundation-sources {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2xl);
  }

  .foundation-guide__hero {
    min-height: 0;
  }

  .foundation-guide__visual {
    max-width: 48rem;
  }

  .foundation-sources__note {
    grid-column: auto;
  }
}

@media (max-width: 48rem) {
  .foundation-guide__hero {
    padding-block: var(--space-xl) var(--space-2xl);
  }

  .foundation-guide__hero h1,
  .foundation-guide[data-guide="freistellungsauftrag-2026"] .foundation-guide__hero h1 {
    max-width: none;
    font-size: clamp(2.35rem, 12vw, 3.7rem);
  }

  .foundation-guide__meta {
    align-items: flex-start;
  }

  .foundation-guide__meta > * {
    line-height: 1.35;
    white-space: normal;
  }

  .foundation-guide__answer,
  .foundation-split,
  .foundation-flow,
  .foundation-balance,
  .foundation-alternatives,
  .foundation-guide__verdict,
  .foundation-faq,
  .foundation-related,
  .foundation-sources {
    padding-block: var(--space-2xl);
  }

  .foundation-guide__answer [role="note"] {
    grid-template-columns: minmax(0, 1fr);
  }

  .foundation-guide__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .foundation-guide__facts > div:nth-child(3) {
    border-top: var(--rule-hair) solid var(--color-rule);
  }

  .foundation-guide__facts > div:nth-child(4) {
    border-top: var(--rule-hair) solid var(--color-rule);
    border-right: var(--rule-hair) solid var(--color-rule);
  }

  .foundation-guide__body {
    padding-top: var(--space-2xl);
  }

  .foundation-table-wrap table,
  .foundation-table-wrap tbody,
  .foundation-table-wrap tr,
  .foundation-table-wrap td {
    display: block;
    width: 100%;
  }

  .foundation-table-wrap thead {
    position: absolute;
    width: var(--rule-hair);
    height: var(--rule-hair);
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .foundation-table-wrap tr {
    padding-block: var(--space-md);
    border-bottom: var(--rule-hair) solid var(--color-rule);
  }

  .foundation-table-wrap td {
    display: grid;
    grid-template-columns: minmax(6.5rem, 0.42fr) minmax(0, 1fr);
    gap: var(--space-md);
    padding: var(--space-xs) 0;
    border: 0;
  }

  .foundation-table-wrap td::before {
    color: var(--color-muted);
    font-size: var(--text-xs);
    font-weight: 760;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .foundation-table-wrap td:nth-child(1)::before {
    content: "Situation";
  }

  .foundation-table-wrap td:nth-child(2)::before {
    content: "Ansatz";
  }

  .foundation-table-wrap td:nth-child(3)::before {
    content: "Warum";
  }

  .foundation-flow > ol > li {
    grid-template-columns: minmax(2.5rem, 0.14fr) minmax(0, 1fr);
    gap: var(--space-lg);
  }

  .foundation-flow > ol > li > ul {
    grid-column: 2;
  }

  .foundation-balance__columns,
  .foundation-checklist,
  .foundation-alternatives dl,
  .foundation-related > nav {
    grid-template-columns: minmax(0, 1fr);
  }

  .foundation-balance__columns > div + div,
  .foundation-related a + a {
    border-left: 0;
    border-top: var(--rule-hair) solid var(--color-rule);
  }

}

@media (max-width: 26rem) {
  .foundation-guide__facts {
    grid-template-columns: minmax(0, 1fr);
  }

  .foundation-guide__facts > div {
    border-top: var(--rule-hair) solid var(--color-rule);
    border-right: var(--rule-hair) solid var(--color-rule);
  }

  .foundation-flow > ol > li {
    grid-template-columns: minmax(0, 1fr);
  }

  .foundation-flow > ol > li > ul {
    grid-column: auto;
  }

  .foundation-example > div,
  .foundation-table-wrap td {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .foundation-diagram__route {
    animation: none;
    stroke-dashoffset: 0;
  }

  .foundation-checklist li::before {
    transform: none;
  }
}
