/* Shared Greymatter identity. Keep this file identical across the four public sites. */
/* The same local files supply the four supported weights on every route. */
@font-face { font-family: Manrope; src: url("fonts/manrope-400.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: Manrope; src: url("fonts/manrope-500.ttf") format("truetype"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: Manrope; src: url("fonts/manrope-600.ttf") format("truetype"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: Manrope; src: url("fonts/manrope-700.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
:root {
  --gm-font: Manrope, "Segoe UI", Helvetica, Arial, sans-serif;
  --gm-body-size: 1rem;
  --gm-body-weight: 400;
  --gm-heading-weight: 500;
  --gm-label-weight: 600;
  --gm-bold-weight: 700;
  --gm-ink: #252529;
  --gm-graphite: #4a4a4d;
  --gm-muted: #646469;
  --gm-line: #e5e3e0;
  --gm-tint: #f7f5f1;
  --gm-purple: #5350a1;
  --gm-blue: #4289bd;
  --gm-pink: #da80b4;
  --gm-orange: #ee7a31;
  --gm-yellow: #f6d258;
  /* Dark variants carry small text; the brighter accents remain decorative. */
  --gm-blue-ink: #28638f;
  --gm-pink-ink: #8f3f72;
  --gm-orange-ink: #934516;
  --gm-yellow-ink: #806011;
  --gm-danger: #a23838;
  --sans: var(--gm-font);
  --font-sans: var(--gm-font);
  --default-font-family: var(--gm-font);
  --head: var(--gm-font);
  --body: var(--gm-font);
  --ink: var(--gm-ink);
  --graphite: var(--gm-graphite);
  --muted: var(--gm-muted);
  --purple: var(--gm-purple);
  --blue: var(--gm-blue);
  --pink: var(--gm-pink);
  --orange: var(--gm-orange);
  --yellow: var(--gm-yellow);
  --gm-focus: var(--gm-purple);
  --focus: var(--gm-focus);
  font-family: var(--gm-font);
}
body, button, input, select, textarea {
  font-family: var(--gm-font) !important;
}
body {
  font-size: var(--gm-body-size);
  font-weight: var(--gm-body-weight);
  line-height: 1.7;
}
/* Product selectors and framework utilities must not change the typeface or
   heading weight. Sizes remain appropriate to each page and working surface. */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--gm-font) !important;
  font-style: normal;
}
h1, h2 { font-weight: var(--gm-heading-weight) !important; }
h3, h4, h5, h6 { font-weight: var(--gm-label-weight) !important; }
input, select, textarea { font-weight: var(--gm-body-weight); }
.button, .btn, .text-button, .menu-toggle, .nav-link {
  font-weight: var(--gm-label-weight);
}
.quadrant-processes { --accent-ink: var(--gm-blue-ink); }
.quadrant-coaching { --accent-ink: var(--gm-pink-ink); }
.quadrant-opportunity { --accent-ink: var(--gm-orange-ink); }
/* Retain clear focus on both white pages and dark product headers. */
.site-header:has(.brand) :focus-visible { outline-color: var(--gm-yellow); }
@media print {
  body, .print-summary h2, #printOutput, #print-root, #print-output {
    font-family: var(--gm-font) !important;
  }
}

/* Canonical product boundaries and optional continuations. */
.product-boundary,.canon-product-boundary{font-size:1rem;line-height:1.7;color:#4a4a4d;overflow-wrap:anywhere}.product-boundary{border-top:1px solid #e5e3e0;padding-top:12px}.canon-product-boundary{max-width:76ch;padding:16px 0}.canon-next{margin:28px 0;padding:24px 0;border-top:1px solid #d7d7dd;max-width:76ch;text-align:left}.canon-next h2{font-size:1.25rem;font-weight:600;line-height:1.5;letter-spacing:normal}.canon-next p{font-size:1rem;line-height:1.7;margin:10px 0}.canon-next ul{padding-left:22px}.canon-next li{padding-bottom:12px}.canon-next a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem;text-decoration:underline;text-underline-offset:4px}.evidence-status{font-size:.9375rem;font-weight:600;line-height:1.6;color:#4c489b}.canon-framework{padding:24px 0;border-top:1px solid #e5e3e0;scroll-margin-top:100px}.canon-framework a{overflow-wrap:anywhere}.privacy-table code{overflow-wrap:anywhere;white-space:normal;font-size:.875rem}.ecosystem-text{margin:20px 0;font-size:1rem;line-height:1.75}.ecosystem-text summary{padding:12px 0;cursor:pointer;min-height:44px}.ecosystem-text dt{font-weight:600;margin-top:12px}.ecosystem-text dd{margin-left:0}.canon-completion{margin-top:24px}
@media(max-width:600px){.canon-next{padding:20px 0}.canon-next h2{font-size:1.125rem}.privacy-table{max-width:100%;overflow:auto}.ecosystem-text{overflow-wrap:anywhere}.canon-framework{scroll-margin-top:70px}}
@media(prefers-reduced-motion:reduce){.canon-next *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.canon-next,.canon-product-boundary,.no-print{display:none!important}}
