/* CSG Design Tokens — pulled from brand sheet */
:root {
  --csg-blau: #003A70;        /* deep navy, primary */
  --csg-blau-deep: #001E3D;   /* even deeper for full-bleed bg */
  --csg-blau-ink: #00264D;    /* card surface on dark */
  --csg-cyan: #00B4C7;        /* signature cyan */
  --csg-cyan-glow: #4FE3F2;   /* glow / hover */
  --stein: #D9DFE5;           /* steingrau */
  --licht: #F5F7FA;           /* lichtgrau */
  --anthrazit: #1A1F26;
  --schiefer: #515A65;
  --silber: #AEB6BF;
  --weiss: #FFFFFF;

  --font-display: 'Saira', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  font-family: var(--font-display);
  background: var(--csg-blau-deep);
  color: var(--weiss);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

button { font-family: inherit; cursor: pointer; }

/* Reusable dot grid pattern */
.dot-grid {
  background-image: radial-gradient(rgba(0,180,199,0.18) 1.2px, transparent 1.2px);
  background-size: 24px 24px;
}

/* Signature curve helper (used by hero on multiple pages) */
.sig-curve {
  stroke: var(--csg-cyan);
  stroke-width: 2;
  fill: none;
  filter: drop-shadow(0 0 8px rgba(0,180,199,0.5));
}
