@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;600;700&display=swap');

:root {
  --color-canvas: #f8fafc;
  --color-surface: #fff;
  --color-ink: #111827;
  --color-muted: #64748b;
  --color-line: #e2e8f0;
  --color-gold: #b8974a;
  --font-body: 'Inter', Arial, sans-serif;
  --font-display: 'Playfair Display', Georgia, serif;
}

html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  margin: 0;
  background: var(--color-canvas);
  color: var(--color-ink);
  font-family: var(--font-body);
}
button, input, select, textarea { font: inherit; }
.font-serif { font-family: var(--font-display) !important; }
.lumiere-gold { color: var(--color-gold); }
.lumiere-kicker {
  color: var(--color-muted);
  font-size: .625rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.lumiere-panel { border: 1px solid var(--color-line); background: var(--color-surface); }
.lumiere-btn, .lumiere-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  border: 1px solid var(--color-ink);
  border-radius: 0;
  padding: .75rem 1.5rem;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .2s, color .2s, border-color .2s;
}
.lumiere-btn { background: var(--color-ink); color: #fff; }
.lumiere-btn:hover:not(:disabled) { background: #000; }
.lumiere-btn-outline { background: transparent; color: var(--color-ink); }
.lumiere-btn-outline:hover:not(:disabled) { background: var(--color-ink); color: #fff; }
.lumiere-btn:disabled, .lumiere-btn-outline:disabled { opacity: .5; cursor: not-allowed; }

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--color-gold);
  outline-offset: 3px;
}
.toast { animation: toast-in .2s ease-out; }
@keyframes toast-in { from { transform: translateY(8px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .toast { animation: none; }
}
