/* Import Fonts from Google */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Playfair+Display:wght@700&display=swap');

/* Custom Tailwind CSS Configuration */
body {
    font-family: 'Inter', sans-serif;
}

h1, h2, h3, h4, h5, h6, .font-serif {
    font-family: 'Playfair Display', serif;
}

/* Color Palette Variables */
:root {
    --color-beige-50: #FBF9F6;
    --color-beige-100: #F5F1EB;
    --color-green-50: #F0FDF4;
    --color-green-100: #DCFCE7;
    --color-green-200: #BBF7D0;
    --color-green-600: #16A34A;
    --color-green-700: #15803D;
    --color-green-800: #166534;
    --color-green-900: #14532D;
    --color-gray-600: #4B5563;
    --color-gray-800: #1F2937;
}

/* Applying color palette to Tailwind classes */
.bg-beige-50 { background-color: var(--color-beige-50); }
.bg-beige-100 { background-color: var(--color-beige-100); }
.bg-green-50 { background-color: var(--color-green-50); }
.bg-green-100 { background-color: var(--color-green-100); }
.text-green-700 { color: var(--color-green-700); }
.text-green-800 { color: var(--color-green-800); }
.text-green-900 { color: var(--color-green-900); }
.border-green-200 { border-color: var(--color-green-200); }
.text-gray-800 { color: var(--color-gray-800); }
.text-gray-600 { color: var(--color-gray-600); }


/* CTA Button Styles */
.cta-button {
    display: inline-block;
    background-color: var(--color-green-700);
    color: white;
    font-weight: bold;
    padding: 1rem 2.5rem;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
    border: 2px solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cta-button:hover {
    background-color: var(--color-green-800);
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.cta-button-white {
    display: inline-block;
    background-color: white;
    color: var(--color-green-800);
    font-weight: bold;
    padding: 1rem 2.5rem;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
    border: 2px solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cta-button-white:hover {
    background-color: var(--color-beige-50);
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}


/* FAQ Accordion Styles */
.faq-item {
    border-bottom: 1px solid #e5e7eb;
}

.faq-question {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    padding: 1.25rem 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--color-green-900);
    cursor: pointer;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out, padding 0.5s ease-in-out;
    padding: 0 0.5rem;
}

.faq-answer.open {
    padding: 0 0.5rem 1.25rem;
    max-height: 500px; /* Adjust as needed */
}

.faq-question .icon {
    transition: transform 0.3s ease;
}

.faq-question.open .icon {
    transform: rotate(45deg);
}

/* Reveal on Scroll Animation */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}
