@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,300;1,9..40,400&display=swap');

:root {
  --font-body: 'Lora', Georgia, serif;
  --font-ui:   'DM Sans', system-ui, sans-serif;

  --white:      #ffffff;
  --off-white:  #f9f8f7;
  --light:      #f0eeec;
  --border:     #dbd8d3;
  --mid:        #a09b95;
  --secondary:  #6b6560;
  --primary:    #2e2b28;
  --ink:        #181614;
  --accent:     #9a3324;   /* editorial oxblood — masthead rules, drop caps, featured emphasis */
  --accent-ink: #7d2b1e;

  --page-width:  8.5in;
  --page-height: 11in;
  --margin:      1in;
}

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

html {
  font-family: var(--font-body);
  font-size: 11pt;
  color: var(--ink);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}

body {
  line-height: 1.72;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-ui);
  font-weight: 600;
  line-height: 1.15;
  color: var(--primary);
}

p {
  font-family: var(--font-body);
  color: var(--ink);
}

hr.rule {
  border: none;
  border-top: 1px solid var(--border);
  margin: 0;
}

hr.rule--heavy {
  border-top: 2px solid var(--primary);
}

.label {
  font-family: var(--font-ui);
  font-size: 8pt;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--secondary);
}
