/* Goventa – gemeinsame Grundlagen aller Seiten */
@font-face {
  font-family: "Atkinson Hyperlegible Next";
  src: url("../fonts/atkinson-hyperlegible-next.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
:root {
  --font-sans: "Atkinson Hyperlegible Next", "Segoe UI", system-ui, sans-serif;
  --font-mono: "Atkinson Hyperlegible Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --space-0: 0; --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-6: 24px; --space-8: 32px; --space-12: 48px; --space-16: 64px; --space-24: 96px;
  --radius-none: 0; --radius-sm: 2px; --radius-md: 4px; --radius-lg: 8px; --radius-full: 9999px;
  --shadow-none: none;
  --shadow-sm: 0 1px 2px rgba(12,17,27,0.06), 0 1px 3px rgba(12,17,27,0.10);
  --shadow-md: 0 4px 8px -2px rgba(12,17,27,0.10), 0 2px 4px -2px rgba(12,17,27,0.06);
  --shadow-lg: 0 16px 32px -8px rgba(12,17,27,0.18), 0 4px 8px -4px rgba(12,17,27,0.08);
  --shadow-focus: 0 0 0 2px #ffffff, 0 0 0 4px #2b6bc2;
  --control-height: 44px; --control-height-sm: 36px;
  --border-width: 1px; --border-width-strong: 2px;
  --focus-width: 2px; --focus-offset: 2px;
  --content-width: 70ch; --page-width: 1200px;
}
body { margin: 0; background: var(--bg); }
html { scroll-padding-top: var(--space-6); }
/* Menü-Schaltfläche auf dem Handy an den rechten Rand */
.gv-header__toggle { margin-left: auto; }
main a:not(.gv-btn) { color: var(--link); text-underline-offset: 2px; }
main a:not(.gv-btn):hover { color: var(--primary-hover); }
.hero-art { flex: 0 1 480px; min-width: 0; display: flex; flex-direction: column; align-items: flex-end; gap: var(--space-3); }
.hero-art svg { width: 100%; height: auto; display: block; }
.hero-pause { width: 32px; height: 32px; padding: 0; display: grid; place-items: center; border: 0; border-radius: var(--radius-full); background: transparent; color: var(--blue-100); cursor: pointer; }
.hero-pause svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hero-pause:hover { background: var(--blue-700); color: var(--white); }
.hero-pause[hidden] { display: grid; visibility: hidden; } /* Platz freihalten, damit nichts springt */
/* Anfangszustand der Netzwerk-Animation, bevor das Skript sie startet */
.hero-intro .net-edge { stroke-dashoffset: 230; }
.hero-intro .net-node { transform: scale(0); }
.hero-pause:focus-visible { outline: var(--focus-width) solid var(--white); outline-offset: var(--focus-offset); }
