/**
 * VM Rechtsanwälte Design System 2.0
 * Single source of truth for brand, typography, spacing, elevation and controls.
 */

:root {
  color-scheme: light;
  --vmrae-primary: var(--vmrae-color-primary);
  --vmrae-secondary: var(--vmrae-color-secondary);
  --vmrae-header: var(--vmrae-color-header);
  --vmrae-body: var(--vmrae-color-text);
  --vmrae-light: var(--vmrae-color-surface);
  --vmrae-line: var(--vmrae-color-border);
  --vmrae-white: var(--vmrae-color-white);
  --vmrae-shell: var(--vmrae-container-content);
  --vmrae-shadow: var(--vmrae-shadow-md);
  --vmrae-shadow-strong: 0 0 10px rgba(0, 0, 0, 0.50);
}



/* Global semantic defaults and accessibility guarantees */
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--vmrae-color-background);
  color: var(--vmrae-color-text);
  font-family: var(--vmrae-font-body);
  font-size: var(--vmrae-font-size-base);
  line-height: var(--vmrae-line-height-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--vmrae-color-link); text-underline-offset: .18em; }
a:hover { color: var(--vmrae-color-link-hover); }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--vmrae-color-focus);
  outline-offset: 3px;
}
:target { scroll-margin-top: 7rem; }
button, input, select, textarea { font: inherit; }
button, [type="button"], [type="submit"], [role="button"] { touch-action: manipulation; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
@media (forced-colors: active) {
  :where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid CanvasText; }
}
