/* ════════════════════════════════════════════════════════════════════════════
   THEME VARIABLES
   ════════════════════════════════════════════════════════════════════════════ */
:root[data-theme="dark"] {
  --bg: #0A0A0C; --bg-2: #111116; --bg-3: #16161D; --bg-elev: #1A1A22;
  --text: #EFEAE0; --text-2: #A8A296; --text-3: #6B665C;
  --border: #26262E; --border-2: #33333D;
  --gold: #C9A876; --gold-2: #E0C28E; --gold-soft: #9A8463;
  --danger: #C46A5A; --success: #7BA785;
  --header-bg: rgba(10,10,12,0.85);
  --overlay-bg: rgba(10,10,12,0.96);
}
:root[data-theme="light"], :root {
  --bg: #F7F2EA; --bg-2: #FBF8F2; --bg-3: #FFFFFF; --bg-elev: #FFFFFF;
  --text: #171410; --text-2: #5C544A; --text-3: #8A8275;
  --border: #E5DDCD; --border-2: #D4C9B2;
  --gold: #9C7B47; --gold-2: #7E6235; --gold-soft: #B9986A;
  --danger: #A8463A; --success: #4F7A5C;
  --header-bg: rgba(247,242,234,0.92);
  --overlay-bg: rgba(247,242,234,0.98);
}

/* ════════════════════════════════════════════════════════════════════════════
   RESET
   ════════════════════════════════════════════════════════════════════════════ */
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { min-height: 100vh; }
body {
  font-family: 'Jost', sans-serif;
  background: var(--bg);
  color: var(--text);
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img { display: block; max-width: 100%; }
button { font: inherit; cursor: pointer; background: none; border: none; color: inherit; }
input, select, textarea { font: inherit; color: inherit; }
a { color: inherit; text-decoration: none; cursor: pointer; }

/* ════════════════════════════════════════════════════════════════════════════
   TYPOGRAPHY
   ════════════════════════════════════════════════════════════════════════════ */
.font-serif { font-family: 'Cormorant Garamond', serif; }
.tracking-luxury  { letter-spacing: 0.32em; }
.tracking-elegant { letter-spacing: 0.18em; }
.italic { font-style: italic; }

/* ════════════════════════════════════════════════════════════════════════════
   LAYOUT
   ════════════════════════════════════════════════════════════════════════════ */
.container { max-width: 1400px; margin: 0 auto; padding: 0 24px; }
@media (min-width: 1024px) { .container { padding: 0 40px; } }
.hidden { display: none; }

/* ════════════════════════════════════════════════════════════════════════════
   ICONS
   ════════════════════════════════════════════════════════════════════════════ */
.icon { display: inline-block; vertical-align: middle; flex-shrink: 0; }
[data-lucide] { stroke-width: 1.4; }

/* ════════════════════════════════════════════════════════════════════════════
   UTILITIES
   ════════════════════════════════════════════════════════════════════════════ */
.text-muted { color: var(--text-2); }
.text-faint { color: var(--text-3); }

/* ════════════════════════════════════════════════════════════════════════════
   ANIMATIONS
   ════════════════════════════════════════════════════════════════════════════ */
.reveal { opacity: 0; transform: translateY(16px); animation: revealUp 0.9s cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes revealUp { to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
