    @import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@300;400;700&family=Open+Sans:wght@300;400;600;700&display=swap');

    body { font-family: 'Open Sans', sans-serif; }
    h1,h2,h3,h4,h5,h6 { font-family: 'Merriweather', serif; }

    .nav-link { position: relative; transition: color 0.3s ease; }
    .nav-link::after {
      content: '';
      position: absolute;
      width: 0;
      height: 2px;
      bottom: -4px;
      left: 0;
      background-color: #8B5A2B;
      transition: width 0.3s ease;
    }
    .nav-link:hover::after { width: 100%; }

    .btn-primary { background-color: #2D4F1E; transition: all 0.3s ease; }
    .btn-primary:hover {
      background-color: #1f3614;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(45, 79, 30, 0.3);
    }

    .btn-secondary {
      border: 2px solid #8B5A2B;
      color: #8B5A2B;
      transition: all 0.3s ease;
    }
    .btn-secondary:hover {
      background-color: #8B5A2B;
      color: white;
      transform: translateY(-2px);
    }

    /* Subtle entrance animations (prefers-reduced-motion safe) */
    @media (prefers-reduced-motion: no-preference) {
      .fade-in-up {
        opacity: 0;
        transform: translateY(10px);
        transition: opacity 700ms ease, transform 700ms ease;
      }
      .fade-in-up.is-visible {
        opacity: 1;
        transform: translateY(0);
      }
    }

    /* Accessible focus ring */
    :focus-visible {
      outline: 3px solid rgba(139, 90, 43, 0.55);
      outline-offset: 3px;
      border-radius: 8px;
    }