@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);
      }

      .btn-cta {
        background: linear-gradient(135deg, #8B5A2B 0%, #A0702F 100%);
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: 0 4px 14px rgba(139, 90, 43, 0.25);
      }

      .btn-cta:hover {
        background: linear-gradient(135deg, #A0702F 0%, #8B5A2B 100%);
        transform: translateY(-3px);
        box-shadow: 0 8px 24px rgba(139, 90, 43, 0.4);
      }

      .fade-in {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.8s ease-out, transform 0.8s ease-out;
      }

      .fade-in.visible {
        opacity: 1;
        transform: translateY(0);
      }

      .memorial-card {
        transition: all 0.3s ease;
      }

      .memorial-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
      }

      .candle-flame {
        animation: flicker 2s infinite;
      }

      @keyframes flicker {
        0%,
        100% {
          opacity: 1;
          transform: scale(1);
        }
        50% {
          opacity: 0.8;
          transform: scale(1.05);
        }
      }

      .poppy-icon {
        filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
      }

      /* Accessibility improvements */
      .skip-to-content {
        position: absolute;
        top: -40px;
        left: 0;
        background: #2d4f1e;
        color: white;
        padding: 8px;
        text-decoration: none;
        z-index: 100;
      }

      .skip-to-content:focus {
        top: 0;
      }

      /* Print styles */
      @media print {
        header,
        footer,
        .no-print {
          display: none;
        }
      }