/* Layer 1: Reset + design tokens */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --black: #1A1A1A;
  --white: #FFFFFF;
  --grey: #666666;
  --light-grey: #F5F5F5;
  --border: #E0E0E0;
  --text: #1A1A1A;
  --font-heading: 'Times New Roman', Times, Georgia, serif;
  --font-body: 'Times New Roman', Times, Georgia, serif;
  --transition: all 0.2s ease;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Times New Roman', Times, Georgia, serif;
  font-size: 16px;
  line-height: 1.7;
  color: var(--text);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}

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

/* Scroll reveal base */
[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

[data-reveal].revealed {
  opacity: 1;
  transform: translateY(0);
}
