/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --primary-color: #A0826D;
    --secondary-color: #7A9B6E;
    --text-dark: #4A4238;
    --text-light: #7A6F64;
    --bg-light: #F5F2ED;
    --white: #FFFEF9;
    --success-green: #6F8C5E;
    --error-red: #C4796B;
    --accent-gold: #C4A57B;
    --accent-green: #5D7A4F;
    --matcha-light: #8B9A7C;
    --sage-green: #6F7D65;
}

body {
    font-family: 'EB Garamond', serif;
    color: var(--text-dark);
    line-height: 1.6;
    background-color: var(--bg-light);
    scroll-behavior: smooth;
}

html {
    scroll-behavior: smooth;
    overflow-x: clip;
}

body {
    overflow-x: clip;
}

.container {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
}

/* Animation Keyframes */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes revealText {
    0% {
        clip-path: inset(0 100% 0 0);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    100% {
        clip-path: inset(0 0 0 0);
        opacity: 1;
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes subtlePulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.02);
    }
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes expandWidth {
    from {
        width: 0;
    }
    to {
        width: 80px;
    }
}

/* Scroll-triggered animations */
.animate-on-scroll {
    transform: translateY(20px);
    transition: transform 0.8s ease;
}

.animate-on-scroll.animated {
    transform: translateY(0);
}

.fade-in-element {
    opacity: 0;
    transition: opacity 1s ease;
}

.fade-in-element.visible {
    opacity: 1;
}
