    :root {
      --color-primary: #283618;
      --color-secondary: #606C38;
      --color-accent: #BC6C25;
      --color-neutralLight: #FEFAE0;
      --color-neutralDark: #DDA15E;
      --color-textPrimary: #283618;
      --color-textLight: #FEFAE0;
      --font-heading: 'Playfair Display', serif;
      --font-body: 'Lato', sans-serif;
    }
    body {
      font-family: var(--font-body);
      color: var(--color-textPrimary);
      background-color: var(--color-neutralLight);
      font-size: 16px;
    }
    h1, h2, h3, h4, h5, h6 {
      font-family: var(--font-heading);
      color: var(--color-textPrimary);
    }
    .text-primary { color: var(--color-primary); }
    .bg-primary { background-color: var(--color-primary); }
    .text-secondary { color: var(--color-secondary); }
    .bg-secondary { background-color: var(--color-secondary); }
    .text-accent { color: var(--color-accent); }
    .bg-accent { background-color: var(--color-accent); }
    .text-neutralLight { color: var(--color-neutralLight); }
    .bg-neutralLight { background-color: var(--color-neutralLight); }
    .text-neutralDark { color: var(--color-neutralDark); }
    .bg-neutralDark { background-color: var(--color-neutralDark); }
    .text-textPrimary { color: var(--color-textPrimary); }
    .bg-textPrimary { background-color: var(--color-textPrimary); }
    .text-textLight { color: var(--color-textLight); }
    .bg-textLight { background-color: var(--color-textLight); }

    .primary-button {
      @apply bg-primary text-textLight py-3 px-6 rounded-lg hover:bg-secondary focus:outline-none focus:ring-4 focus:ring-primary focus:ring-opacity-50 transition duration-300 ease-in-out transform hover:scale-105;
    }
    .accent-button-large {
      @apply bg-accent text-textLight py-4 px-8 rounded-full text-lg hover:bg-neutralDark focus:outline-none focus:ring-4 focus:ring-accent focus:ring-opacity-50 transition duration-300 ease-in-out transform hover:scale-105;
    }

    /* Simple subtle effects */
    .hover-scale-img:hover img {
      transform: scale(1.03);
      filter: brightness(1.05);
    }
    .hover-scale-img img {
      transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out;
    }
    .fade-in {
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    }
    .fade-in.is-visible {
      opacity: 1;
      transform: translateY(0);
    }
     .contrast-check {
        /* Utility class to check contrast, not for production styling */
        outline: 2px dashed red;
    }
  