/* Tokens, reset, and type defaults for the Signals Corps brand book. Brand values come from dist/brand.css; the fallbacks keep the page readable without it. */
:root {
  color-scheme: light;
  --canvas: var(--signals-color-canvas, #FBF8EF);
  --paper: var(--signals-color-paper, #FFFFFF);
  --ink: var(--signals-color-ink, #111528);
  --ink-soft: var(--signals-color-ink-soft, #454A61);
  --blue: var(--signals-color-blue, #2A52FF);
  --blue-dark: var(--signals-color-blue-dark, #1735BD);
  --blue-soft: var(--signals-color-blue-soft, #EDF1FF);
  --sky: var(--signals-color-sky, #BCECFF);
  --lime: var(--signals-color-lime, #D8FF62);
  --pink: var(--signals-color-pink, #FF6FAE);
  --pink-soft: var(--signals-color-pink-soft, #FFD9E9);
  --orange: var(--signals-color-orange, #FF8A48);
  --purple: var(--signals-color-purple, #A98BFF);
  --teal: var(--signals-color-teal, #3DD6B5);
  --mint: var(--signals-color-mint, #8FF0A4);
  --coral: var(--signals-color-coral, #FF9E9E);
  --lilac: var(--signals-color-lilac, #D9C6FF);
  --sand: var(--signals-color-sand, #E8D5A8);
  --slate: var(--signals-color-slate, #C7D0DC);
  --aqua: var(--signals-color-aqua, #8FE3E8);
  --periwinkle: var(--signals-color-periwinkle, #BFC4F8);
  --cream: var(--signals-color-cream, #F8F8BF);
  --orchid: var(--signals-color-orchid, #F6ACF6);
  --sage: var(--signals-color-sage, #C1E1CE);
  --peach: var(--signals-color-peach, #F6CAAC);
  --scale1: var(--signals-color-scale1, #D8E8E5);
  --scale2: var(--signals-color-scale2, #8FBEC4);
  --scale3: var(--signals-color-scale3, #4A939C);
  --scale4: var(--signals-color-scale4, #1D5A66);
  --olive: var(--signals-color-olive, #6B7A3E);
  --yellow: var(--signals-color-yellow, #FFD83D);
  --line-soft: var(--signals-line-soft, #D8D9E1);
  --panel: #171C32;
  --panel-line: #4A4F66;
  --panel-copy: #E4E5ED;
  --panel-muted: #A9AEC1;
  --sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "DM Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;
  --display: "Space Grotesk", "Manrope", system-ui, sans-serif;
  --shadow-sm: 4px 4px 0 var(--ink);
  --shadow-lg: 10px 10px 0 var(--ink);
  --r-sm: 7px; --r-md: 12px; --r-lg: 16px;
  --max: 1180px;
  --header-h: 74px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 64px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
/* overflow-x: clip, never hidden: hidden makes the body a scroll container in Safari, which stops the sticky header and section bar. */
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; overflow-x: clip; }
img { max-width: 100%; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--pink); outline-offset: 4px; }
.shell { width: min(var(--max), calc(100% - 40px)); margin-inline: auto; }
h1, h2, h3, h4 { margin: 0; text-wrap: balance; font-weight: 800; }
p { margin: 0; }

