/* Base styles and tokens */
:root {
  color-scheme: light;
  --color-navy: #105070;
  --color-teal: #50b8a8;
  --color-gray-100: #edeeee;
  --color-gray-500: #787878;
  --color-black: #000000;
  --color-white: #ffffff;

  --font-sans: sans-serif;
  --font-serif: serif;

  --text-primary: var(--color-black);
  --text-muted: var(--color-gray-500);
  --bg-primary: var(--color-white);
  --bg-muted: var(--color-gray-100);
  --accent: var(--color-navy);
  --accent-alt: var(--color-teal);

  --container: 1120px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --shadow-soft: 0 12px 30px rgba(16, 80, 112, 0.12);
  --shadow-card: 0 8px 24px rgba(0, 0, 0, 0.08);
}

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

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-sans);
  line-height: 1.6;
  color: var(--text-primary);
  background: var(--bg-primary);
}

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

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

button {
  border: none;
  background: none;
  font: inherit;
}

main {
  display: block;
}
