/* Base font settings */
        body {
            font-family: 'Lato', sans-serif;
            background-color: #F7EBD7; /* sand-beige */
            color: #666666; /* light-gray */
        }
        h1, h2, h3, h4, h5, h6 {
            font-family: 'Montserrat', sans-serif;
            color: #2D5F2E; /* forest-green */
        }
        .playfair-quote {
            font-family: 'Playfair Display', serif;
            font-style: italic;
            font-weight: 500;
        }

        /* Glassmorphism effect */
        .glassmorphism {
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.2);
        }

        /* Page navigation system */
        .page {
            display: none; /* Hide all pages by default */
            animation: fadeIn 0.5s ease-out;
        }
        .page.active {
            display: block; /* Show only the active page */
        }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* Modal animation */
        @keyframes modalFadeIn {
            from { opacity: 0; transform: scale(0.95); }
            to { opacity: 1; transform: scale(1); }
        }
        .animate-fade-in {
            animation: modalFadeIn 0.3s ease-out;
        }

        /* Active nav link style */
        .nav-link.active {
            color: #2D5F2E; /* forest-green */
            font-weight: 700;
            border-bottom: 2px solid #2D5F2E;
        }
        .nav-link {
            transition: all 0.3s ease;
        }
        .nav-link:hover {
            color: #2D5F2E;
        }

.hero-bg {
    background-image: url('https://i.pinimg.com/736x/49/4f/99/494f99b073d540c116e05b416594df33.jpg');
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Typewriter effect */
#typewriter-text {
  border-right: 4px solid white;
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
  animation: typing 4s steps(40, end) infinite, blink-caret 0.75s step-end infinite;
}

@keyframes typing {
  0% { width: 0; }
  50% { width: 100%; }
  100% { width: 0; }
}

@keyframes blink-caret {
  from, to { border-color: transparent; }
  50% { border-color: white; }
}

        /* Scroll-reveal animations */
        .reveal-on-scroll {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
            will-change: opacity, transform;
        }
        .reveal-on-scroll.is-visible {
            opacity: 1;
            transform: translateY(0);
        }
        /* Staggered delays */
        .reveal-on-scroll.delay-100 { transition-delay: 100ms; }
        .reveal-on-scroll.delay-200 { transition-delay: 200ms; }
        .reveal-on-scroll.delay-300 { transition-delay: 300ms; }
        
        /* Input field focus */
        .form-input:focus {
            outline: none;
            border-color: #2D5F2E;
            box-shadow: 0 0 0 3px rgba(45, 95, 46, 0.3);
        }
