:root {
  --gold: #c4a35a;
  --ink: #1a1714;
  --cream: #f7f3eb;
  --paper: #efe6d6;
}
html { scroll-behavior: smooth; }
body { font-family: Outfit, system-ui, sans-serif; color: var(--ink); background: var(--cream); }
.font-serif { font-family: "Playfair Display", Georgia, serif; }
.gold { color: var(--gold); }
.bg-ink { background: #141210; }
.letter-wide { letter-spacing: 0.28em; }
.nav-link { position: relative; }
.nav-link::after {
  content: "";
  position: absolute;
  left: 0; bottom: -4px;
  width: 0; height: 1px;
  background: var(--gold);
  transition: width .25s ease;
}
.nav-link:hover::after, .nav-link.active::after { width: 100%; }
.hero-overlay {
  background: linear-gradient(180deg, rgba(12,10,8,.55) 0%, rgba(12,10,8,.72) 100%);
}
.card-lift { transition: transform .35s ease, box-shadow .35s ease; }
.card-lift:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(20,18,16,.18); }
input, textarea, select { outline: none; }
input:focus, textarea:focus, select:focus { box-shadow: 0 0 0 2px var(--gold); }
.divider-gold { height: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
.img-cover { object-fit: cover; width: 100%; height: 100%; }
.mobile-panel { transform: translateX(100%); transition: transform .3s ease; }
.mobile-panel.open { transform: translateX(0); }
