/*
 * Shared editorial foundation for GMI's public product and content pages.
 * Page styles own their layouts; this file owns the brand primitives that
 * should not drift between the landing page, guide, and use-case library.
 */

:root {
  --gmi-bg: #090b0a;
  --gmi-bg-soft: #0d100e;
  --gmi-panel: #111411;
  --gmi-panel-raised: #151915;
  --gmi-paper: #e6e7e1;
  --gmi-paper-raised: #fbfaf6;
  --gmi-cream: #f3e8d2;
  --gmi-ink: #f7f6f1;
  --gmi-ink-dark: #20231f;
  --gmi-muted: #afb4ad;
  --gmi-muted-dark: #5a6058;
  --gmi-green: #87b997;
  --gmi-green-dark: #31563d;
  --gmi-coral: #d87863;
  --gmi-mustard: #c69a3a;
  --gmi-violet: #9273b8;
  --gmi-ring-dark: rgba(255, 255, 255, .13);
  --gmi-ring-light: rgba(32, 35, 31, .2);
  --gmi-display: "Space Grotesk", "Inter", system-ui, sans-serif;
  --gmi-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gmi-mono: "IBM Plex Mono", ui-monospace, monospace;
  --gmi-content-width: 1160px;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  overflow-x: hidden;
  font-family: var(--gmi-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img { max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
[hidden] { display: none !important; }

.container {
  width: min(var(--gmi-content-width), calc(100% - 40px));
  margin-inline: auto;
}

.gmi-eyebrow {
  margin: 0 0 15px;
  color: var(--gmi-green);
  font: 700 11px/1.2 var(--gmi-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 620px) {
  .container { width: min(100% - 28px, var(--gmi-content-width)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
