/* ==========================================================================
   abfluss-ratgeber.de — Design-System "Werkstatt unter dem Waschbecken"
   Verbindliche Quelle: /DESIGN.md im Projekt-Root.
   Alle Klassen mit Präfix .ar- · keine Fremd-Hosts · Schriften self-hosted.
   ========================================================================== */

/* --- 1. Schriften (self-hosted, DSGVO) --------------------------------- */
@font-face{font-family:'Archivo';src:url('../fonts/archivo-latin-600-normal.woff2')format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Archivo';src:url('../fonts/archivo-latin-700-normal.woff2')format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Archivo';src:url('../fonts/archivo-latin-800-normal.woff2')format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('../fonts/source-sans-3-latin-400-normal.woff2')format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('../fonts/source-sans-3-latin-600-normal.woff2')format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('../fonts/source-sans-3-latin-400-italic.woff2')format('woff2');font-weight:400;font-style:italic;font-display:swap}

/* --- 2. Tokens --------------------------------------------------------- */
:root{
  --ar-porzellan:#F1F3F4;
  --ar-weiss:#FFFFFF;
  --ar-graphit:#1E2328;
  --ar-graphit-hell:#2C333A;
  --ar-zink:#6E7880;
  --ar-zink-hell:#D5DADD;
  --ar-messing:#B87A2E;
  --ar-messing-dunkel:#94601F;
  --ar-gruen:#2E6B4F;
  --ar-rot:#A8352C;

  --ar-display:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ar-body:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;

  --ar-breit:min(1160px,100% - 2.5rem);
  --ar-lese:66ch;
  --ar-radius:8px;
  --ar-kante:1px solid var(--ar-zink-hell);
}

/* --- 3. Grundgerüst ---------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--ar-porzellan);color:var(--ar-graphit);
  font-family:var(--ar-body);font-size:1.125rem;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--ar-messing-dunkel);text-underline-offset:.16em;text-decoration-thickness:.07em}
a:hover{color:var(--ar-graphit)}
:focus-visible{outline:2px solid var(--ar-messing);outline-offset:2px;border-radius:2px}

h1,h2,h3,h4{font-family:var(--ar-display);margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2.15rem,1.5rem + 3.2vw,3.9rem);font-weight:800;letter-spacing:-.025em;line-height:1.02}
h2{font-size:clamp(1.55rem,1.25rem + 1.5vw,2.3rem);font-weight:700;letter-spacing:-.02em;line-height:1.14}
h3{font-size:1.24rem;font-weight:600;line-height:1.25}
p{margin:0 0 1.15em}

.ar-breit{width:var(--ar-breit);margin-inline:auto}
.ar-lese{max-width:var(--ar-lese)}
.ar-eyebrow{
  font-family:var(--ar-display);font-size:.78rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ar-messing-dunkel);
  margin:0 0 .85rem;display:block;
}
.ar-zahl{font-family:var(--ar-display);font-weight:600;font-variant-numeric:tabular-nums}
.ar-skip{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--ar-graphit);color:#fff;padding:.8rem 1.2rem;font-family:var(--ar-display);
}
.ar-skip:focus{left:.5rem;top:.5rem}

/* --- 4. Kopfleiste ----------------------------------------------------- */
.ar-kopf{
  background:var(--ar-graphit);color:var(--ar-porzellan);
  position:sticky;top:0;z-index:50;border-bottom:3px solid var(--ar-messing);
}
.ar-kopf-innen{
  width:var(--ar-breit);margin-inline:auto;min-height:64px;
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
}
.ar-marke{
  font-family:var(--ar-display);font-weight:800;font-size:1.06rem;letter-spacing:-.02em;
  color:var(--ar-porzellan);text-decoration:none;display:flex;align-items:center;gap:.55rem;
  padding:.65rem 0;
}
.ar-marke:hover{color:#fff}
.ar-marke-mark{
  width:1.45rem;height:1.45rem;flex:0 0 auto;display:block;
}
.ar-navi{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}
.ar-navi a{
  font-family:var(--ar-display);font-weight:600;font-size:.95rem;
  color:var(--ar-zink-hell);text-decoration:none;padding:.55rem .7rem;border-radius:4px;
  display:block;
}
.ar-navi a:hover,.ar-navi a:focus-visible{color:#fff;background:var(--ar-graphit-hell)}
.ar-navi .current-menu-item>a,.ar-navi .current_page_item>a{color:#fff;box-shadow:inset 0 -2px 0 var(--ar-messing)}
.ar-navi ul{list-style:none;display:flex;gap:.35rem;margin:0;padding:0;flex-wrap:wrap}

/* --- 5. Triage (Hero) -------------------------------------------------- */
.ar-triage{padding:clamp(2.2rem,1rem + 4vw,4rem) 0 clamp(1.8rem,1rem + 2vw,2.8rem)}
.ar-triage h1{max-width:17ch}
.ar-triage-vor{max-width:56ch;color:var(--ar-graphit);font-size:1.19rem;margin-bottom:1.9rem}
.ar-kacheln{
  display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem;margin:0 0 1.9rem;padding:0;list-style:none;
}
.ar-kachel{
  display:flex;flex-direction:column;justify-content:flex-end;gap:.45rem;
  min-height:106px;padding:.9rem .95rem;background:var(--ar-weiss);
  border:var(--ar-kante);border-bottom:3px solid var(--ar-zink);border-radius:var(--ar-radius);
  font-family:var(--ar-display);font-weight:700;font-size:1.02rem;color:var(--ar-graphit);
  text-decoration:none;transition:border-color .12s ease,transform .12s ease;
}
.ar-kachel:hover,.ar-kachel:focus-visible{border-bottom-color:var(--ar-messing);color:var(--ar-graphit);transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.ar-kachel:hover,.ar-kachel:focus-visible{transform:none}}
.ar-kachel svg{width:26px;height:26px;color:var(--ar-messing-dunkel)}

/* --- 6. Antwortkarte (Answer Capsule) ---------------------------------- */
.ar-antwort{
  background:var(--ar-weiss);border:var(--ar-kante);border-left:4px solid var(--ar-messing);
  border-radius:var(--ar-radius);padding:1.25rem 1.4rem;max-width:var(--ar-lese);
  margin:0 0 1.6rem;font-size:1.1rem;
}
.ar-antwort p{margin:0}
.ar-antwort strong{font-weight:600}

/* --- 7. SIGNATURE: Die Eskalationsleiter ------------------------------- */
.ar-leiter{background:var(--ar-graphit);color:var(--ar-porzellan);padding:clamp(2.4rem,1.5rem + 3vw,4rem) 0}
.ar-leiter h2{color:#fff;max-width:20ch}
.ar-leiter .ar-eyebrow{color:var(--ar-messing)}
.ar-leiter-vor{max-width:60ch;color:var(--ar-zink-hell);margin-bottom:2.2rem}
.ar-leiter-raster{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3rem;align-items:start}
.ar-leiter-bild{margin:0;position:sticky;top:5.5rem}
.ar-leiter-bild img{border-radius:var(--ar-radius);border:1px solid #39414A;width:100%}
.ar-leiter-bild figcaption{
  margin-top:.8rem;font-size:.96rem;color:var(--ar-zink);line-height:1.5;
  border-left:2px solid var(--ar-messing);padding-left:.8rem;
}
.ar-leiter-liste{
  list-style:none;margin:0;padding:0;position:relative;
  display:grid;gap:0;
}
.ar-stufe{
  display:grid;grid-template-columns:56px 1fr;gap:0 1.4rem;
  padding:0 0 1.9rem;position:relative;
}
.ar-stufe:last-child{padding-bottom:0}
/* Schiene */
.ar-stufe::before{
  content:'';position:absolute;left:27px;top:2.9rem;bottom:-.1rem;width:2px;
  background:var(--ar-messing);opacity:.42;
}
.ar-stufe:last-child::before{display:none}
.ar-stufe-nr{
  grid-row:1/3;width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--ar-display);font-weight:800;font-size:1.35rem;
  background:var(--ar-graphit);border:2px solid currentColor;
  font-variant-numeric:tabular-nums;
}
.ar-stufe h3{color:#fff;margin:.55rem 0 .3rem;font-size:1.18rem}
.ar-stufe p{color:var(--ar-zink-hell);margin:0;max-width:58ch;font-size:1.03rem}
.ar-stufe-marke{
  font-family:var(--ar-display);font-weight:700;font-size:.74rem;letter-spacing:.13em;
  text-transform:uppercase;display:inline-block;margin-bottom:.15rem;
}
.ar-s1{color:#6FBF95}   /* Prüfgrün, auf Graphit aufgehellt für Kontrast */
.ar-s2{color:#E0A254}   /* Messing, aufgehellt */
.ar-s3{color:#E8776C}   /* Warnrot, aufgehellt */
.ar-s4{color:#C3CBD1}   /* Zink hell */

/* Einzeichnen der Schiene beim Scrollen (ein einziger Bewegungsmoment) */
@media (prefers-reduced-motion:no-preference){
  .ar-stufe::before{transform:scaleY(0);transform-origin:top;transition:transform .7s ease}
  .ar-leiter.ar-sichtbar .ar-stufe::before{transform:scaleY(1)}
  .ar-leiter.ar-sichtbar .ar-stufe:nth-child(2)::before{transition-delay:.18s}
  .ar-leiter.ar-sichtbar .ar-stufe:nth-child(3)::before{transition-delay:.36s}
}

/* --- 8. Fließtext-Sektionen -------------------------------------------- */
.ar-abschnitt{padding:clamp(2.2rem,1.4rem + 2.4vw,3.4rem) 0}
.ar-abschnitt--weiss{background:var(--ar-weiss);border-block:var(--ar-kante)}
.ar-prosa{max-width:var(--ar-lese)}
/* Traegt ein Element BEIDE Klassen, behaelt es die Containerbreite und nur die
   Kinder bekommen die Lesebreite — sonst zentriert margin-inline:auto die
   Lesespalte mitten auf der Seite, weg von der Flucht der uebrigen Sektionen. */
.ar-breit.ar-prosa{max-width:none}
.ar-breit.ar-prosa > *{max-width:var(--ar-lese)}
.ar-prosa h2{margin-top:0}
.ar-prosa h3{margin-top:1.7rem}
.ar-prosa ul,.ar-prosa ol{margin:0 0 1.15em;padding-left:1.3em}
.ar-prosa li{margin-bottom:.45em}
.ar-prosa li::marker{color:var(--ar-messing-dunkel)}
.ar-prosa blockquote{
  margin:1.4rem 0;padding:.2rem 0 .2rem 1.15rem;border-left:3px solid var(--ar-zink-hell);
  color:var(--ar-zink);font-style:italic;
}
.ar-prosa table{width:100%;border-collapse:collapse;margin:0 0 1.3rem;font-size:1rem}
.ar-prosa th,.ar-prosa td{text-align:left;padding:.6rem .7rem;border-bottom:var(--ar-kante)}
.ar-prosa th{font-family:var(--ar-display);font-weight:700;font-size:.92rem}
.ar-tabelle-scroll{overflow-x:auto}

.ar-warnung{
  border:var(--ar-kante);border-left:4px solid var(--ar-rot);background:var(--ar-weiss);
  border-radius:var(--ar-radius);padding:1.05rem 1.25rem;margin:1.5rem 0;max-width:var(--ar-lese);
}
.ar-warnung p:last-child{margin-bottom:0}
.ar-warnung .ar-eyebrow{color:var(--ar-rot);margin-bottom:.4rem}

/* --- 9. Säulen-Raster (Hubs) ------------------------------------------- */
.ar-saeulen{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.8rem 0 0;padding:0;list-style:none}
.ar-saeule{
  background:var(--ar-weiss);border:var(--ar-kante);border-radius:var(--ar-radius);
  padding:1.35rem 1.45rem;display:block;text-decoration:none;color:var(--ar-graphit);
  border-top:3px solid var(--ar-zink-hell);transition:border-top-color .12s ease;
}
.ar-saeule:hover,.ar-saeule:focus-visible{border-top-color:var(--ar-messing);color:var(--ar-graphit)}
.ar-saeule h3{margin:0 0 .35rem;font-size:1.15rem}
.ar-saeule p{margin:0;color:var(--ar-zink);font-size:1rem}

/* --- 10. Fuß ----------------------------------------------------------- */
.ar-fuss{background:var(--ar-graphit);color:var(--ar-zink-hell);padding:2.8rem 0 1.6rem;margin-top:3rem}
.ar-fuss-raster{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2rem}
.ar-fuss h2{font-size:1.02rem;color:#fff;margin:0 0 .7rem;letter-spacing:-.01em}
.ar-fuss p{font-size:1rem;max-width:44ch;color:var(--ar-zink-hell)}
.ar-fuss ul{list-style:none;margin:0;padding:0}
.ar-fuss li{margin-bottom:.42rem}
.ar-fuss a{color:var(--ar-zink-hell);text-decoration:none;font-size:1rem}
.ar-fuss a:hover,.ar-fuss a:focus-visible{color:#fff;text-decoration:underline}
.ar-fuss-unten{
  border-top:1px solid #39414A;margin-top:2rem;padding-top:1.1rem;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  font-size:.94rem;color:var(--ar-zink);
}

/* --- 11. Seiten-Kopf (Innenseiten) ------------------------------------- */
.ar-seitenkopf{padding:clamp(1.9rem,1.2rem + 2.4vw,3.2rem) 0 1.4rem}
.ar-seitenkopf h1{max-width:22ch}
.ar-krumen{font-size:.95rem;color:var(--ar-zink);margin:0 0 .9rem}
.ar-krumen a{color:var(--ar-zink);text-decoration:none}
.ar-krumen a:hover{color:var(--ar-graphit);text-decoration:underline}
.ar-meta{font-size:.95rem;color:var(--ar-zink);margin:1.4rem 0 0}

/* --- 12. Responsiv ------------------------------------------------------ */
@media (max-width:900px){
  .ar-kacheln{grid-template-columns:repeat(3,1fr)}
  .ar-fuss-raster{grid-template-columns:1fr 1fr}
  .ar-leiter-raster{grid-template-columns:1fr;gap:2.2rem}
  .ar-leiter-bild{position:static;order:-1}
}
@media (max-width:768px){
  body{font-size:1.08rem}
  .ar-kopf-innen{flex-wrap:wrap;padding-block:.4rem}
  .ar-navi{width:100%;overflow-x:auto;padding-bottom:.3rem}
  .ar-navi ul{flex-wrap:nowrap}
  .ar-navi a{white-space:nowrap;padding:.5rem .55rem;font-size:.92rem}
  .ar-kacheln{grid-template-columns:repeat(2,1fr)}
  .ar-saeulen{grid-template-columns:1fr}
  .ar-stufe{grid-template-columns:46px 1fr;gap:0 1.05rem}
  .ar-stufe-nr{width:46px;height:46px;font-size:1.15rem}
  .ar-stufe::before{left:22px;top:2.4rem}
}
@media (max-width:480px){
  .ar-fuss-raster{grid-template-columns:1fr;gap:1.6rem}
  .ar-kachel{min-height:92px;font-size:.96rem}
}

/* --- 13. Druck ---------------------------------------------------------- */
@media print{
  .ar-kopf,.ar-fuss,.ar-kacheln,.ar-skip{display:none!important}
  body{background:#fff;font-size:11pt}
  .ar-leiter{background:#fff;color:#000}
  .ar-leiter h2,.ar-stufe h3{color:#000}
  .ar-stufe p{color:#333}
}
