:root {
  color-scheme: light;

  --navy-950: #04131f;
  --navy-900: #071b2c;
  --navy-850: #09243a;
  --navy-800: #0b2c46;
  --navy-700: #123d5d;
  --blue-700: #00678e;
  --blue-600: #0087b2;
  --blue-500: #10a9d0;
  --blue-400: #35c2df;
  --cyan-100: #dff7fc;
  --cyan-50: #effbfe;

  --ink: #102538;
  --muted: #637485;
  --muted-strong: #4c6272;
  --paper: #f5f8fa;
  --surface: #ffffff;
  --surface-soft: #eef5f8;
  --line: #dce6ec;
  --line-strong: #bfd0da;
  --line-dark: rgba(255, 255, 255, .12);

  --success: #14875e;
  --success-soft: #e3f7ef;
  --warning: #b7791f;
  --warning-soft: #fff4da;
  --danger: #c2414b;
  --danger-soft: #fff0f1;

  --font-sans: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: "Cascadia Code", Consolas, "Courier New", monospace;

  --text-xs: .72rem;
  --text-sm: .84rem;
  --text-md: 1rem;
  --text-lg: 1.15rem;
  --text-xl: 1.45rem;

  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;

  --radius-xs: 8px;
  --radius-sm: 12px;
  --radius: 20px;
  --radius-lg: 28px;
  --radius-pill: 999px;

  --shadow-sm: 0 8px 24px rgba(7, 27, 44, .08);
  --shadow: 0 24px 70px rgba(7, 27, 44, .12);
  --shadow-strong: 0 30px 80px rgba(4, 19, 31, .2);

  --max: 1220px;
  --max-order: 1360px;
  --header-height: 76px;
  --focus-ring: 0 0 0 3px rgba(16, 169, 208, .28);

  --tenant-accent: var(--blue-600);
  --tenant-accent-strong: var(--blue-700);
}

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

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-sans);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(16, 169, 208, .4);
  outline-offset: 3px;
}

img,
svg {
  display: block;
  max-width: 100%;
}

[hidden],
.hidden {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
