:root {
    --primary: #1B262C;
    --accent: #4A6D7C;
    --sand: #FDFBF7;
    --beige: #E8D5C4;
    --coral: #FF8A7A;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    -webkit-font-smoothing: antialiased;
}

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

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: var(--sand);
}
::-webkit-scrollbar-thumb {
    background: var(--accent);
    border-radius: 10px;
}

/* Hero text animation class */
.hero-content {
    transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.hero-content.active {
    opacity: 1;
    transform: translateY(0);
}

/* Filter buttons */
.filter-btn {
    opacity: 0.4;
    transition: all 0.3s ease;
    position: relative;
}

.filter-btn:after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 1px;
    background: currentColor;
    transition: width 0.3s ease;
}

.filter-btn.active {
    opacity: 1;
}

.filter-btn.active:after {
    width: 100%;
}

/* Gallery Hover */
.gallery-item {
    cursor: pointer;
    overflow: hidden;
}

.gallery-item img {
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

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

/* Reveal Animation */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

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

/* Mobile Nav fix */
@media (max-width: 768px) {
    .modal-content {
        padding-top: 2rem;
    }
}