/* Inkasso-Stopp — zentrales Stylesheet (alle Seiten).
   Farbwelt: Papier + Grün, Serif-Überschriften. Kein Framework, kein Build-Schritt. */

@font-face{
  font-family:'Source Serif 4';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fonts/source-serif-4-latin-500-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Source Serif 4';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('../fonts/source-serif-4-latin-600-normal.woff2') format('woff2');
}
/* Serif 700 nicht deklariert: Überschriften nutzen 600, sonst laedt der
   Browser einen Schnitt nach, den keine Regel verwendet. */
@font-face{
  font-family:'IBM Plex Sans';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/ibm-plex-sans-latin-400-normal.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Sans';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fonts/ibm-plex-sans-latin-500-normal.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Sans';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('../fonts/ibm-plex-sans-latin-600-normal.woff2') format('woff2');
}
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');
}

:root{
  --paper:#F6F8F7;        /* Seitengrund: kühles, sehr helles Neutral */
  --paper-raised:#FFFFFF; /* Karten, Panels, Dokumentflächen */
  --paper-deep:#ECF0EE;   /* abgesetzte Sektionen, Footer */
  --ink:#18201C;
  --ink-soft:#4F5854;
  --line:#D8DEDA;
  --line-soft:#E7EBE9;
  --green:#3F6E52;
  --green-deep:#27452F;
  --ochre:#A9761E;
  --ochre-text:#8A5F18;
  --rust:#9C3B32;
  --max:760px;
  --max-wide:960px;
  --shadow-card:0 8px 20px -12px rgba(30,43,34,.35);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
[id]{scroll-margin-top:96px;}
[hidden]{display:none !important;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  border-top:3px solid var(--green-deep);
}
h1,h2,h3{
  font-family:'Source Serif 4', Georgia, serif;
  /* Explizit 600: ohne Angabe erben h2/h3 den Browser-Default bold (700)
     und laden einen weiteren Schriftschnitt nach. */
  font-weight:600;
  color:var(--ink);
  line-height:1.15;
  margin:0 0 .5em;
  letter-spacing:-0.01em;
}
.mono{
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  letter-spacing:.02em;
}
a{color:var(--green-deep);}
a:focus-visible, button:focus-visible, select:focus-visible, summary:focus-visible{
  outline:3px solid var(--ochre);
  outline-offset:2px;
}
.wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}
.wrap-wide{max-width:var(--max-wide); margin:0 auto; padding:0 24px;}

/* ---------- Header ---------- */
header.site{
  position:sticky;
  top:0;
  z-index:20;
  padding:18px 0;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
header.site .wrap-wide{display:flex; justify-content:space-between; align-items:center; gap:16px;}
.logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'Source Serif 4', Georgia, serif;
  font-size:1.15rem;
  font-weight:600;
  color:var(--ink);
  text-decoration:none;
}
.logo .logo-text{white-space:nowrap;}
.logo b{color:var(--green); font-weight:inherit;}
.logo svg{width:26px; height:26px; flex-shrink:0;}
header.site nav a{font-size:.92rem; color:var(--ink-soft); text-decoration:none; margin-left:20px;}
header.site nav a:hover{color:var(--green-deep); text-decoration:underline;}
header.site nav a[aria-current="page"]{color:var(--green-deep); font-weight:500;}

/* ---------- Hero (Startseite) ---------- */
.hero{
  padding:76px 0 60px;
  border-bottom:1px solid var(--line);
  background:var(--paper-raised);
}
.eyebrow{
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--green-deep);
  margin-bottom:18px;
}
.hero h1{font-size:2.5rem; font-weight:600; line-height:1.12; letter-spacing:-0.015em; max-width:20ch;}
.hero p.lead{font-size:1.12rem; line-height:1.72; color:var(--ink-soft); max-width:62ch;}
/* ---------- Hinweis-Box (z. B. abgelaufener Zugang) ---------- */
.note{
  margin-top:28px;
  padding:16px 20px;
  background:var(--paper-raised);
  border:1px solid var(--line);
  border-left:3px solid var(--ochre);
  font-size:.95rem;
  color:var(--ink-soft);
}
.note strong{color:var(--ink);}
.note-cta{margin-top:8px;}

/* ---------- Persönlicher Willkommens-Panel ---------- */
.personal-panel{
  margin-top:36px;
  background:var(--green-deep);
  color:#DCE5DD;
  padding:30px 32px;
  border-left:4px solid #6E8F76;
}
.personal-title{color:#fff; font-size:1.6rem; margin-bottom:.15em;}
.personal-amount{margin:0; font-size:1rem; color:#BCCFC0;}
.personal-amount strong{
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:1.4rem;
  color:#fff;
  margin-left:6px;
}
.personal-intro{margin:16px 0 6px; font-size:.97rem; color:#D5DFD6; max-width:60ch;}
.personal-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:8px;}
.btn.btn-light{background:#F7F6F1; color:var(--green-deep) !important;}
.btn.btn-light:hover{background:#fff;}
.btn.btn-ghost{background:transparent; border:1px solid rgba(255,255,255,.55); color:#fff !important;}
.btn.btn-ghost:hover{background:rgba(255,255,255,.14);}

/* ---------- Unterseiten-Kopf ---------- */
.page-hero{padding:56px 0 8px;}
.page-hero h1{font-size:2.1rem; letter-spacing:-0.015em;}
.page-hero p.lead{font-size:1.05rem; color:var(--ink-soft); max-width:62ch;}
main.page section:first-of-type{padding-top:28px;}

/* ---------- Sektionen ---------- */
section{padding:56px 0;}
section.alt{background:var(--paper-deep); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
section h2{font-size:1.65rem; margin-bottom:.6em;}
section h2 + p.section-sub{color:var(--ink-soft); margin-top:-4px; margin-bottom:2.2em; max-width:64ch; line-height:1.72;}

/* ---------- Stepper (Ablauf) ---------- */
.stepper{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
  margin-top:36px;
}
.stepper-item{
  min-width:0;
  position:relative;
  z-index:1;
  padding:20px 18px;
  background:var(--paper-raised);
  border:1px solid var(--line);
  border-top:4px solid var(--green);
  min-height:170px;
  display:flex;
  flex-direction:column;
}
.stepper-item.warn{border-top-color:var(--ochre);}
.stepper-item.crit{border-top-color:var(--rust);}
.stepper-node{
  width:46px; height:46px;
  border-radius:50%;
  background:var(--paper-raised);
  border:2px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:16px;
}
.stepper-node svg{width:22px; height:22px; stroke:var(--ink-soft); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
.stepper-item.crit .stepper-node{border-color:var(--rust); background:#fff;}
.stepper-item.crit .stepper-node svg{stroke:var(--rust);}
.stepper-item h3{font-size:1.02rem; margin-bottom:.35em;}
.stepper-item p{font-size:.9rem; color:var(--ink-soft); margin:0;}
.timeline-caption{margin-top:24px; font-size:.88rem; color:var(--ink-soft); font-style:italic;}
@media (max-width:900px){
  .stepper{grid-template-columns:repeat(2, 1fr);}
}
@media (max-width:780px){
  .stepper{grid-template-columns:1fr; gap:14px;}
  .stepper-item{min-height:0;}
}

/* ---------- Kostentabelle ---------- */
.table-scroll{overflow-x:auto; margin-top:20px;}
.cost-table{width:100%; border-collapse:collapse; font-size:.94rem;}
.cost-table th, .cost-table td{padding:14px 16px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top;}
.cost-table thead th{
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--ink-soft);
  font-weight:500;
  border-bottom:2px solid var(--ink);
}
.cost-table td.stage{font-family:'Source Serif 4', Georgia, serif; font-weight:600; font-size:1rem; width:34%; position:relative; padding-left:22px;}
.cost-table td.stage::before{content:''; position:absolute; left:0; top:14px; bottom:14px; width:4px; background:var(--green);}
.cost-table tr.sev-mid td.stage::before{background:var(--ochre);}
.cost-table tr.crit td.stage::before{background:var(--rust);}
.cost-table td.amount{font-family:'IBM Plex Mono', ui-monospace, monospace; font-size:.98rem; white-space:nowrap;}
.cost-table tr.crit td.stage{color:var(--rust);}
.cost-table tr.sev-mid td.stage{color:var(--ochre-text);}
.cost-table .basis{display:block; font-family:'IBM Plex Sans', system-ui, sans-serif; font-size:.82rem; color:var(--ink-soft); margin-top:2px; font-weight:400;}
.cost-legend{margin-top:18px; font-size:.85rem; color:var(--ink-soft);}
.cost-legend code{font-family:'IBM Plex Mono', ui-monospace, monospace; background:var(--paper-deep); padding:1px 5px; border:1px solid var(--line);}

/* ---------- Interaktiver Kostenüberblick ---------- */
.selector{
  margin-top:40px;
  background:var(--paper-raised);
  border:1px solid var(--line);
  padding:28px;
}
.selector h3{font-size:1.1rem; margin-bottom:.3em;}
.selector .selector-sub{font-size:.9rem; color:var(--ink-soft); margin-bottom:20px;}
.selector-fields{display:grid; grid-template-columns:repeat(3, 1fr); gap:16px;}
.field label{
  display:block;
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--ink-soft);
  margin-bottom:6px;
}
.field select{
  width:100%;
  padding:10px 12px;
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:.95rem;
  color:var(--ink);
  background:var(--paper-raised);
  border:1px solid var(--line);
  border-radius:0;
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%234B564D'><path d='M5 7l5 6 5-6z'/></svg>");
  background-repeat:no-repeat;
  background-position:right 10px center;
  background-size:16px;
}
.field select:focus-visible{outline:3px solid var(--ochre); outline-offset:1px;}
.field input[type="number"]{
  width:100%;
  padding:10px 12px;
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:1rem;
  color:var(--ink);
  background:var(--paper-raised);
  border:1px solid var(--line);
  border-radius:0;
}
.field input[type="number"]:focus-visible{outline:3px solid var(--ochre); outline-offset:1px;}
.field-hint{margin:6px 0 0; font-size:.8rem; color:var(--ink-soft);}

.selector-result{margin-top:24px; padding-top:22px; border-top:1px solid var(--line);}
.raten{margin-top:32px; padding-top:26px; border-top:2px solid var(--ink);}
.raten h3{font-size:1.05rem; margin-bottom:.3em;}
.result-row{display:flex; justify-content:space-between; align-items:baseline; padding:10px 0; flex-wrap:wrap; gap:6px;}
.result-row .label{font-size:.92rem; color:var(--ink-soft);}
.result-row .value{font-family:'IBM Plex Mono', ui-monospace, monospace; font-size:1.15rem; color:var(--ink);}
.result-row.next .value{color:var(--rust); font-size:1rem;}
.result-row.total{border-top:1px solid var(--ink); margin-top:4px; padding-top:14px;}
.result-row.total .label{font-weight:600; color:var(--ink);}
.result-row .value.good{color:var(--green-deep);}
.bankbox{margin-top:20px; padding:18px 20px; background:var(--paper-deep); border:1px solid var(--line);}
.bankbox-title{
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--ink-soft);
  margin-bottom:8px;
}
.bankbox .result-row{padding:6px 0;}
.bankbox .value{font-size:.95rem;}
.result-note{margin-top:14px; font-size:.85rem; color:var(--ink-soft); font-style:italic;}
.result-note.plain{font-style:normal;}
.result-note.center{text-align:center;}
.result-intro{margin-top:0; font-style:normal;}
.result-cta{margin-top:20px;}
.save-amount{color:var(--green-deep);}
@media (max-width:640px){
  .selector-fields{grid-template-columns:1fr;}
}

/* ---------- Karten & Callouts ---------- */
.cards{display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:8px;}
@media (max-width:860px){
  .cards{grid-template-columns:repeat(2, 1fr);}
}
@media (max-width:560px){
  .cards{grid-template-columns:1fr;}
}
.card{background:var(--paper-raised); padding:26px 24px; position:relative;}

.card .num{font-family:'IBM Plex Mono', ui-monospace, monospace; color:var(--green); font-size:.85rem; display:block; margin-bottom:10px;}
.card h3{font-size:1.05rem; margin-bottom:.4em;}
.card p{font-size:.93rem; line-height:1.7; color:var(--ink-soft); margin:0;}

.callout{
  background:var(--paper);
  border:1px solid var(--line);
  border-left:4px solid var(--rust);
  padding:20px 22px;
  margin-top:28px;
}
.callout h3{font-size:1rem; margin-bottom:.4em; color:var(--rust);}
.callout p{margin:0; font-size:.95rem; color:var(--ink-soft);}
.callout.positive{border-left-color:var(--green); margin-top:0; margin-bottom:28px;}
.callout.positive h3{color:var(--green-deep);}

/* ---------- Hilfeliste ---------- */
.helplist{margin-top:8px;}
.helplist .item{padding:18px 4px; border-bottom:1px solid var(--line);}
.helplist .item:first-child{border-top:1px solid var(--line);}
.helplist h3{font-size:1.05rem; margin-bottom:.25em;}
.helplist p{margin:0; color:var(--ink-soft); font-size:.94rem;}
.helplist a.ext{font-size:.88rem;}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--line);}
.faq-item:first-child{border-top:1px solid var(--line);}
.faq-item summary{
  padding:18px 4px;
  font-family:'Source Serif 4', Georgia, serif;
  font-size:1.05rem;
  font-weight:600;
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:'+';
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:1.3rem;
  color:var(--green-deep);
  flex-shrink:0;
  transition:transform .15s ease;
}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item summary:hover{color:var(--green-deep);}
.faq-item .faq-answer{padding:0 4px 20px; font-size:.94rem; color:var(--ink-soft); max-width:68ch;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--green-deep);
  color:#fff !important;
  padding:13px 24px;
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:.95rem;
  font-weight:600;
  text-decoration:none;
  border:none;
  border-radius:0;
  transition:background .15s ease, transform .15s ease;
  margin-top:14px;
}
.btn:hover{background:var(--green); transform:translateY(-1px);}
.btn:focus-visible{outline:3px solid var(--ochre); outline-offset:2px;}
.btn.btn-done{background:var(--green); cursor:default; transform:none;}
.btn-arrow{font-size:1.05em; line-height:1;}
.btn-block{display:flex; width:100%; text-align:center; justify-content:center;}

/* ---------- Prosa (Unterseiten) ---------- */
.prose h2{font-size:1.35rem; margin-top:2em;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:1.05rem; margin-top:1.6em;}
.prose p{margin:0 0 1em; color:var(--ink-soft); font-size:.97rem;}
.prose p strong{color:var(--ink);}
.prose ul{color:var(--ink-soft); font-size:.97rem; padding-left:22px;}
.prose li{margin-bottom:.4em;}
.prose address{font-style:normal; color:var(--ink-soft); font-size:.97rem; line-height:1.7; margin-bottom:1em;}
.kicker{
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--ink-soft);
  font-weight:500;
  margin:2em 0 .6em;
}

/* ---------- Footer ---------- */
footer.site{padding:56px 0 36px; border-top:1px solid var(--line); background:var(--paper-deep);}
.footer-grid{display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px;}
.footer-grid h3{
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--ink-soft);
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-weight:500;
  margin:0 0 .8em;
}
.footer-grid p{font-size:.9rem; color:var(--ink-soft); margin:0 0 .5em;}
.footer-grid ul{list-style:none; margin:0; padding:0;}
.footer-grid li{margin-bottom:.45em;}
.footer-grid a{color:var(--ink-soft); font-size:.9rem; text-decoration:none;}
.footer-grid a:hover{color:var(--green-deep); text-decoration:underline;}
.footer-brand .logo{margin-bottom:12px;}
.fine{margin-top:44px; font-size:.82rem; color:var(--ink-soft); border-top:1px solid var(--line); padding-top:20px;}
@media (max-width:700px){
  .footer-grid{grid-template-columns:1fr; gap:28px;}
}

/* ---------- Mobile ---------- */
@media (max-width:640px){
  .hero h1{font-size:1.9rem;}
  .page-hero h1{font-size:1.6rem;}
  header.site .wrap-wide{flex-wrap:nowrap;}
  header.site nav{
    display:flex;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    max-width:60vw;
    scrollbar-width:none;
  }
  header.site nav::-webkit-scrollbar{display:none;}
  header.site nav a{margin-left:0; margin-right:16px; white-space:nowrap; flex-shrink:0;}
  header.site nav a:last-child{margin-right:0;}
  .cost-table{font-size:.86rem;}
  .cost-table th, .cost-table td{padding:10px 8px;}
  .cost-table td.stage{width:auto;}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
}

/* ---------- Druck ---------- */
@media print{
  body{background:#fff; color:#000; font-size:12pt; border-top:none;}
  header.site{position:static; background:#fff;}
  header.site nav, .btn, .selector, footer .fine{display:none;}
  .reveal{opacity:1 !important; transform:none !important;}
  section.alt{background:#fff; border-color:#ccc;}
  .card:hover, .helplist .item:hover{transform:none; box-shadow:none; background:none; padding-left:4px;}
  .stepper-item, .card, .callout{border-color:#999; background:#fff; break-inside:avoid;}
  .faq-item .faq-answer{display:block !important;}
  a{color:#000; text-decoration:underline;}
}

/* ---------- Scroll-Reveal (nur mit JS + ohne Reduced-Motion) ---------- */
.reveal{opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease;}
.reveal.is-visible{opacity:1; transform:translateY(0);}

/* ---------- Raster der neutralen Seite ---------- */
.stepper.stepper-4{grid-template-columns:repeat(4, 1fr);}
@media (max-width:1000px){ .stepper.stepper-4{grid-template-columns:repeat(2, 1fr);} }
@media (max-width:640px){ .stepper.stepper-4{grid-template-columns:1fr;} }

/* ---------- Stufenliste im Kostenrechner ---------- */
.result-row.stage-row{border-bottom:1px solid var(--line-soft); padding:12px 0;}
.result-row.stage-row .label{display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
.result-row.is-past{opacity:.55;}
.result-row.is-current{
  background:#E8F1EB;
  border-left:4px solid var(--green);
  padding-left:14px;
  padding-right:14px;
  margin:4px -14px;
}
.result-row.is-current .label{color:var(--ink); font-weight:600;}
.result-row.is-current .value{color:var(--green-deep);}
.sr-only{
  position:absolute;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}
.stage-note{font-size:.8rem; color:var(--ink-soft); font-weight:400;}
.result-intro{margin-bottom:8px;}

/* ---------- Betreiberkennzeichnung ---------- */
.callout.callout-operator{
  border-left-color:var(--rust);
  background:var(--paper-raised);
  margin-top:0;
}
.callout.callout-operator h3{color:var(--rust);}
.callout.callout-operator p{margin:0 0 .7em;}
.callout.callout-operator p:last-child{margin-bottom:0;}

/* ---------- Dokument-Charakter: nummerierte Abschnitte ---------- */
main{counter-reset:sec;}
main > section[id]{counter-increment:sec;}
main > section[id] > .wrap-wide > h2::before,
main > section[id] > .wrap > h2::before{
  content:counter(sec, decimal-leading-zero);
  display:block;
  font-family:'IBM Plex Mono', ui-monospace, monospace;
  font-size:.72rem;
  letter-spacing:.14em;
  color:var(--ink-soft);
  margin-bottom:.9em;
}
section h2{padding-top:4px;}

/* ---------- Verständnis-Block im Kopf der Seite ---------- */
.empathy{
  margin-top:30px;
  padding:20px 24px;
  background:var(--paper);
  border:1px solid var(--line);
  border-left:4px solid var(--green);
  max-width:62ch;
}
.empathy p{margin:0; font-size:1rem; line-height:1.72; color:var(--ink-soft);}
.empathy p + p{margin-top:.7em;}
.empathy strong{color:var(--ink);}

/* ---------- Betreiberkennzeichnung: sachlich, nicht alarmierend ---------- */
.callout.callout-operator{background:#FCFAFA;}
.callout.callout-operator p{font-size:.92rem; line-height:1.7;}

/* ---------- Rechtstexte: mehr Ruhe ---------- */
.prose p, .prose li{line-height:1.78;}
.prose h2{padding-top:.2em; border-top:1px solid var(--line-soft); margin-top:2.4em;}
.prose h2:first-child{border-top:none; margin-top:0; padding-top:0;}

/* ---------- Stufenfolge als Ampel (Abschnitt 3) ---------- */
.stepper.stepper-6{grid-template-columns:repeat(3, 1fr); gap:16px;}
@media (max-width:900px){ .stepper.stepper-6{grid-template-columns:repeat(2, 1fr);} }
@media (max-width:620px){ .stepper.stepper-6{grid-template-columns:1fr;} }

.stepper-item.ok{border-top-color:var(--green);}
.stepper-item.ok .stepper-node{border-color:#B4CDBB;}
.stepper-item.ok .stepper-node svg{stroke:var(--green-deep);}

.stepper-item.warn .stepper-node{border-color:#E0C089;}
.stepper-item.warn .stepper-node svg{stroke:var(--ochre-text);}

.stepper-item.crit{border-top-color:var(--rust);}
.stepper-item.crit .stepper-node{border-color:#E4B4AF; background:var(--paper-raised);}
.stepper-item.crit .stepper-node svg{stroke:var(--rust);}

.stepper-item h3{font-size:.98rem; line-height:1.3;}
.stepper-item p{font-size:.88rem; line-height:1.65;}

/* ---------- Warnhinweis vor rechtsrelevanten Schritten ---------- */
.callout.callout-warn{
  border-left-color:var(--ochre);
  background:#FDFAF3;
  margin:18px 0 4px;
}
.callout.callout-warn h3{color:var(--ochre-text); font-size:.95rem;}
.callout.callout-warn p{font-size:.9rem; line-height:1.65;}
.callout.callout-warn p + p{margin-top:.6em;}
