:root{
--s-1:4px;
--s-2:8px;
--s-3:12px;
--s-4:16px;
--s-5:24px;
--s-6:32px;
--s-7:48px;
--s-8:64px;
--s-9:96px;
--s-10:128px;
--s-11:176px;
--s-12:240px;

/* ---- Sektionsrhythmus: ein Maß, überall dasselbe ----
   --section-gap   Sektion oben und unten. Zwischen zwei Sektionen steht damit immer exakt
                   das Doppelte — unabhängig davon, wie hoch der Inhalt darin ist.
   --section-head  Überschrift zu Inhalt darunter.
   --section-tail  Inhalt zu nachgestellter Zeile oder Schaltfläche.

   Drei Werte, keine Ausnahmen. Der frühere Rhythmus war absichtlich uneinheitlich (laut 64,
   normal 128, ruhig 240) und verlangte, jeder Sektion eine Lautstärke zuzuschreiben. Von außen
   ist diese Zuschreibung nicht nachvollziehbar: der Leser sieht keine Absicht, er sieht ungleiche
   Abstände. Ein hörbarer Rhythmus braucht ein Metrum, kein Ermessen.

   Sektionshöhe wird nicht gesetzt — kein min-height je Sektion, kein mittig ausgerichteter
   Inhalt im Sektionsrahmen. Wer die Höhe vorgibt und den Inhalt zentriert, bestimmt den Abstand
   nicht mehr: übrig bleibt, was der Inhalt übrig lässt, und das ist bei jeder Sektion eine andere
   Zahl. Höhe ist Ergebnis, nicht Vorgabe.

   vh im clamp, weil senkrechter Abstand auf einem 720-px-Fenster anders wirken muss als auf 1440.
   Die Grenzen sind fest, damit der Wert weder kollabiert noch ausufert. Unter 768 px wird
   --section-gap in base.css verengt, an derselben Stelle wie die Rinne. */
--section-gap:clamp(56px,calc(8vh / var(--schirm)),112px); /* @kind spacing */
--section-head:clamp(24px,calc(4vh / var(--schirm)),48px); /* @kind spacing */
--section-tail:clamp(20px,calc(3vh / var(--schirm)),32px); /* @kind spacing */

/* Card padding varies by card size — never one value everywhere */
--pad-card-sm:var(--s-5);
--pad-card-md:var(--s-7);
--pad-card-lg:var(--s-8);

/* Grid */
--grid-max:1240px; /* @kind spacing */
--grid-gutter:20px; /* @kind spacing */
--grid-columns:12; /* @kind other */
--page-inset:clamp(16px,calc(4vw / var(--schirm)),56px); /* @kind spacing */
}
