/* Custom Styles & Animation Classes */
body {
    background-color: #FDFBF7;
    /* light */
    color: #1A1A1A;
    /* dark */
    overflow-x: hidden;
}

.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

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

.reveal-delay-1 {
    transition-delay: 0.1s;
}

.reveal-delay-2 {
    transition-delay: 0.2s;
}

.reveal-delay-3 {
    transition-delay: 0.3s;
}

/* Minimalist Button Hover */
.btn-outline {
    position: relative;
    overflow: hidden;
    transition: color 0.4s ease;
}

.btn-outline::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: #4A3728;
    /* walnut */
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: -1;
}

.btn-outline:hover {
    color: #E8E1D7;
    /* sand */
    border-color: #4A3728;
}

.btn-outline:hover::before {
    transform: translateX(100%);
}

.glass-nav {
    background: rgba(253, 251, 247, 0.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(74, 55, 40, 0.1);
}