/* ===== RESET & BASE ===== */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Georgia', 'Times New Roman', serif;
  color: #2f2f2f;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }

/* ===== COLORS (as CSS variables) ===== */
:root {
  --green-light: #8fa68e;
  --green-heading: #6f8273;
  --gold: #ddcd71;
  --black: #2f2f2f;
  --beige: #f9f8f0;
  --white: #ffffff;
}

/* ===== NAVIGATION ===== */
nav {
  position: fixed;
  top: 0;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  padding: 1.5rem 3rem;
  z-index: 100;
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(6px);
}
nav a {
  margin-left: 2rem;
  font-size: 0.95rem;
  color: var(--black);
  transition: color 0.2s;
}
nav a:hover, nav a.active { color: var(--gold); font-weight: bold; }

/* ===== BUTTON ===== */
.btn {
  display: inline-block;
  padding: 0.8rem 2.5rem;
  border: 2px solid var(--gold);
  color: var(--gold);
  font-size: 0.95rem;
  letter-spacing: 0.15rem;
  transition: background 0.3s, color 0.3s;
}
.btn:hover {
  background: var(--gold);
  color: var(--white);
}

/* ===== FOOTER ===== */
footer {
  background: var(--green-light);
  padding: 1.5rem 3rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  font-size: 0.85rem;
  color: var(--white);
}
footer a {
  margin-left: 1.5rem;
  color: var(--gold);
  transition: opacity 0.2s;
}
footer a:hover { opacity: 0.7; }

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  nav { padding: 1rem 1.5rem; }
  nav a { margin-left: 1rem; font-size: 0.85rem; }
  footer { flex-direction: column; text-align: center; gap: 0.5rem; }
  footer a { margin-left: 0; margin-right: 1rem; }
}
