/* Typography Refinements */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

/* Animations */
@keyframes loading-bar {
    0% { transform: scaleX(0); }
    100% { transform: scaleX(1); }
}

.animate-loading-bar {
    animation: loading-bar 1.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;
}

.animate-spin-slow {
    animation: spin 4s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Scroll Behavior */
html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #022C22;
}

::-webkit-scrollbar-thumb {
    background: #D4AF37;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #FACC15;
}

/* Form Autofill Fix */
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-text-fill-color: #064E3B;
    -webkit-box-shadow: 0 0 0px 1000px #FDFCF5 inset;
    transition: background-color 5000s ease-in-out 0s;
}

/* Gallery Hover Effect */
.gallery-item {
    position: relative;
    overflow: hidden;
}

.gallery-item::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(2, 44, 34, 0.8), transparent);
    opacity: 0;
    transition: opacity 0.5s ease;
}

.gallery-item:hover::after {
    opacity: 1;
}

.gallery-item img {
    transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.gallery-item:hover img {
    transform: scale(1.1);
}

.gallery-content {
    position: absolute;
    bottom: -20px;
    left: 20px;
    z-index: 10;
    opacity: 0;
    transition: all 0.5s ease;
}

.gallery-item:hover .gallery-content {
    bottom: 20px;
    opacity: 1;
}
