@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap');

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

* {
  margin: 0;
  padding: 0;
}

:root {
  /* Surface & Background */
  --color-background: #faf9f6;
  --color-surface: #faf9f6;
  --color-surface-bright: #faf9f6;
  --color-surface-dim: #dbdad7;
  --color-surface-container-lowest: #ffffff;
  --color-surface-container-low: #f4f3f0;
  --color-surface-container: #efeeeb;
  --color-surface-container-high: #e9e8e5;
  --color-surface-container-highest: #e3e2e0;
  --color-surface-variant: #e3e2e0;

  /* Primary Deep Judicial Green */
  --color-primary: #01120f;
  --color-primary-container: #152824;
  --color-primary-fixed: #d1e7e1;
  --color-primary-fixed-dim: #b6cbc5;
  --color-on-primary: #ffffff;
  --color-on-primary-container: #7b908a;

  /* Secondary Judicial Amber / Bronze */
  --color-secondary: #815524;
  --color-secondary-container: #ffc388;
  --color-secondary-fixed: #ffdcbd;
  --color-secondary-fixed-dim: #f6bb80;
  --color-on-secondary: #ffffff;
  --color-on-secondary-container: #7a4e1e;
  --color-on-secondary-fixed: #2c1600;

  /* Tertiary */
  --color-tertiary: #1b0c00;
  --color-tertiary-container: #381f00;
  --color-on-tertiary: #ffffff;
  --color-on-tertiary-container: #b58148;

  /* Text & Outlines */
  --color-on-surface: #1a1c1a;
  --color-on-surface-variant: #424846;
  --color-outline: #727876;
  --color-outline-variant: #c2c8c5;

  /* Errors */
  --color-error: #ba1a1a;
  --color-error-container: #ffdad6;
  --color-on-error: #ffffff;
  --color-on-error-container: #93000a;

  /* Fonts */
  --font-headline: 'Playfair Display', Georgia, serif;
  --font-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-ui: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Border Radii */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-full: 9999px;

  /* Spacings */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.75rem;
  --space-xl: 3rem;
  --margin-desktop: 5rem;
  --margin-tablet: 2.5rem;
  --margin-mobile: 1.25rem;
  --gutter-desktop: 2.5rem;
  --gutter-mobile: 1.5rem;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  max-width: 100%;
}

body {
  margin: 0;
  padding: 0;
  line-height: 24px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--color-surface);
  color: var(--color-on-surface);
  font-family: var(--font-body);
  font-size: 15px;
  overscroll-behavior: none;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

::-webkit-scrollbar {
  display: none;
}

::selection {
  background-color: var(--color-secondary-fixed);
  color: var(--color-on-secondary-fixed);
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

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

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

ul, ol {
  list-style: none;
}

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