:root {
  --rich-green: #1f3d2b;
  --forest: #294334;
  --sage: #6b8c6b;
  --cream: #f4f1ea;
  --cream-2: #efe9df;
  --gold: #c2a36b;
  --ink: #1b1b1b;
  --ink-soft: #2a2a2a;
}

html, body {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: var(--ink);
  background-color: #fff;
}

.heading-serif {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
}

.tracking-wide { letter-spacing: 0.06em; }

.text-cream { color: var(--cream); }
.text-cream-soft { color: rgba(244, 241, 234, 0.85); }
.text-ink { color: var(--ink); }
.text-ink-soft { color: rgba(27, 27, 27, 0.72); }
.text-gold { color: var(--gold); }

.bg-cream { background-color: var(--cream); }
.bg-gold-subtle { background-color: color-mix(in oklab, var(--gold) 18%, white); }
.bg-texture {
  background: linear-gradient(180deg, #fff 0%, var(--cream) 100%);
}

.link-ink {
  color: var(--ink);
  text-decoration: none;
}
.link-ink:hover { text-decoration: underline; }

/* Navbar */
.navbar-revival {
  background: linear-gradient(180deg, rgba(31,61,43,0.9) 0%, rgba(31,61,43,0.75) 60%, rgba(31,61,43,0) 100%);
  backdrop-filter: saturate(120%) blur(6px);
}
.navbar-revival .navbar-brand { color: var(--cream); }
.navbar-revival .nav-link { color: rgba(244,241,234,0.9); }
.navbar-revival .nav-link:hover { color: #fff; }

/* Hero */
#hero {
  min-height: 92vh;
  background: radial-gradient(1200px 600px at 15% 10%, rgba(194,163,107,0.15) 0%, rgba(194,163,107,0.0) 60%),
              radial-gradient(1000px 500px at 85% 90%, rgba(107,140,107,0.20) 0%, rgba(107,140,107,0.0) 60%),
              linear-gradient(180deg, var(--forest), var(--rich-green));
  display: flex;
  align-items: center;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background-image: url('data:image/svg+xml;utf8,\
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4 4" fill="none">\
      <path d="M0 1h4M0 3h4" stroke="%23ffffff" stroke-opacity="0.06"/>\
    </svg>');
  background-size: 32px 32px;
  opacity: 0.5;
  pointer-events: none;
}

.section-padding { padding: 5rem 0; }
@media (min-width: 992px) {
  .py-7 { padding-top: 5rem !important; padding-bottom: 5rem !important; }
  .py-8 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
}

/* Cards */
.card-vintage {
  background: #fff;
  border: 1px solid color-mix(in oklab, var(--gold) 18%, #0000);
  box-shadow: 0 1px 0 rgba(0,0,0,0.04), 0 16px 40px rgba(0,0,0,0.06);
}
.card-vintage .card-body {
  background: linear-gradient(180deg, #fff 0%, var(--cream-2) 140%);
}

/* Buttons */
.btn-gold {
  --bs-btn-color: #1b1b1b;
  --bs-btn-bg: var(--gold);
  --bs-btn-border-color: var(--gold);
  --bs-btn-hover-bg: color-mix(in oklab, var(--gold) 88%, black);
  --bs-btn-hover-border-color: color-mix(in oklab, var(--gold) 88%, black);
  --bs-btn-focus-shadow-rgb: 194,163,107;
}
.btn-outline-cream {
  --bs-btn-color: var(--cream);
  --bs-btn-border-color: rgba(244,241,234,0.8);
  --bs-btn-hover-bg: rgba(244,241,234,0.15);
  --bs-btn-hover-color: #fff;
}

/* Newsletter */
.texture-corner {
  position: absolute;
  right: 0;
  top: 0;
  width: 200px;
  height: 200px;
  background: radial-gradient(160px 160px at 100% 0, rgba(194,163,107,0.25) 0%, rgba(194,163,107,0) 70%);
}

/* Footer */
.bg-ink { background-color: var(--ink); }

/* Utilities */
.lh-tight { line-height: 1.12; }


