/* Base Refinements */
html {
    scroll-behavior: smooth;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #F9F9F9;
}
::-webkit-scrollbar-thumb {
    background: #C5A065; /* Brand accent */
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #B08D55;
}

/* Typography Overrides */
h1, h2, h3, h4, h5, h6 {
    letter-spacing: -0.02em;
}

/* Animation Utilities */
@keyframes slowZoom {
    0% { transform: scale(1); }
    100% { transform: scale(1.1); }
}

.animate-slow-zoom {
    animation: slowZoom 20s linear infinite alternate;
}

/* Initial States for Scroll Animation */
.fade-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-right {
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-left {
    opacity: 0;
    transform: translateX(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* Visible States */
.is-visible {
    opacity: 1 !important;
    transform: translate(0, 0) !important;
}

/* Delay Classes */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }
.delay-500 { transition-delay: 500ms; }
.delay-700 { transition-delay: 700ms; }

/* Mobile Menu Classes */
.mobile-menu-open {
    overflow: hidden;
}

.mobile-link {
    position: relative;
    display: inline-block;
}

.mobile-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    bottom: -5px;
    left: 0;
    background-color: #C5A065;
    transition: width 0.3s ease;
}

.mobile-link:hover::after {
    width: 100%;
}
