/* Two-faced typographic system:
   Playfair Display (italic) for warmth — greetings, headings that feel like a thought.
   DM Sans for body, labels, buttons. Uppercase labels with wide tracking. */
html, body {
  font-family: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 15px;
  line-height: 1.45;
  letter-spacing: 0.005em;
}

.serif,
em.serif,
.h-serif {
  font-family: 'Playfair Display', 'Iowan Old Style', 'Times New Roman', serif;
  font-style: italic;
  font-weight: 500;
}

h1, h2, h3, h4 {
  margin: 0;
  font-weight: 600;
  letter-spacing: -0.01em;
}

h1 { font-size: 28px; }
h2 { font-size: 22px; }
h3 { font-size: 17px; }

.label,
.caps {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-weight: 500;
  color: var(--cream-dim);
}

.label--gold { color: var(--gold-soft); }
.label--rose { color: var(--rose); }
.label--green { color: var(--green); }
.label--amber { color: var(--amber); }

.numeral {
  font-family: 'Playfair Display', 'Iowan Old Style', 'Times New Roman', serif;
  font-weight: 600;
  letter-spacing: -0.02em;
  font-feature-settings: 'lnum' 1;
}

.greeting {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-weight: 500;
  font-size: 30px;
  line-height: 1.15;
  color: var(--cream);
}

.greeting em {
  color: var(--gold-bright);
  font-style: italic;
}

.muted { color: var(--cream-dim); }
.dim { color: var(--muted); }

.serif-em {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  color: var(--gold-bright);
}
