:root {
  --color-primary:       #007A4D;
  --color-primary-dark:  #005C39;
  --color-primary-light: #E6F4EE;

  --color-accent:        #FFB81C;
  --color-accent-dark:   #CC9200;
  --color-accent-light:  #FFF8E6;

  --color-bold:          #E03C31;
  --color-bold-dark:     #B52E24;
  --color-bold-light:    #FDECEA;

  --color-secondary:     #002395;
  --color-secondary-dark:#001A6E;
  --color-secondary-light:#E6EAFB;

  --color-dark:          #1A1A1A;
  --color-surface:       #F5F0E8;
  --color-surface-raised:#FFFFFF;
  --color-muted:         #6B6560;
  --color-border:        rgba(26, 26, 26, 0.12);
  --color-border-strong: rgba(26, 26, 26, 0.25);

  --shadow-sm:  0 1px 3px rgba(0, 122, 77, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md:  0 4px 12px rgba(0, 122, 77, 0.10), 0 2px 4px rgba(0, 0, 0, 0.06);
  --shadow-lg:  0 8px 24px rgba(0, 122, 77, 0.12), 0 4px 8px rgba(0, 0, 0, 0.08);
  --shadow-gold: 0 0 0 3px rgba(255, 184, 28, 0.30);
}

body {
  background-color: var(--color-surface);
  color: var(--color-dark);
  font-family: 'DM Sans', system-ui, sans-serif;
  line-height: 1.7;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-dark);
}

/* Nav link active/hover */
.nav-link {
  color: var(--color-muted);
  transition: color 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.nav-link:hover {
  color: var(--color-primary);
}

/* Card shadow utility */
.card-shadow {
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.2s ease, transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.card-shadow:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

/* Primary button */
.btn-primary {
  background-color: var(--color-accent);
  color: var(--color-dark);
  font-weight: 700;
  transition: background-color 0.2s ease, transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.btn-primary:hover {
  background-color: var(--color-accent-dark);
}
.btn-primary:focus-visible {
  outline: none;
  box-shadow: var(--shadow-gold);
}
.btn-primary:active {
  transform: scale(0.97);
}

/* Gold accent divider */
.accent-bar::before {
  content: '';
  display: block;
  width: 48px;
  height: 4px;
  background: var(--color-accent);
  border-radius: 2px;
  margin: 0 auto 1rem;
}
