/* Custom Properties */
:root {
    --burgundy-900: #722F37;
    --burgundy-800: #8B3A42;
    --rose-500: #E8A0A0;
    --rose-400: #F0B8B8;
    --rose-300: #F5D0D0;
    --rose-200: #F8E0E0;
    --rose-50: #FBF5F5;
    --stone-50: #FAFAFA;
    --stone-100: #F5F5F5;
    --stone-200: #E5E5E5;
    --stone-300: #D4D4D4;
    --stone-400: #A3A3A3;
    --stone-500: #737373;
    --stone-600: #525252;
    --stone-800: #262626;
    --stone-900: #171717;
}

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

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.font-cormorant {
    font-family: 'Cormorant Garamond', serif;
}

/* Animations */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-up {
    animation: fadeUp 0.8s ease-out forwards;
}

/* Scroll Reveal */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s ease-out;
}

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

/* Navigation */
.nav-scrolled {
    background-color: rgba(250, 250, 250, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
}

/* Mobile Menu */
.mobile-link {
    transition: all 0.3s ease;
}

.mobile-link:hover {
    color: #E8A0A0;
}

/* Form Styles */
input:focus,
textarea:focus,
select:focus {
    border-bottom-color: #722F37 !important;
}

input::placeholder,
textarea::placeholder {
    color: #A3A3A3;
}

/* Image Hover Effects */
img {
    transition: transform 0.7s ease;
}

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

::-webkit-scrollbar-track {
    background: #FAFAFA;
}

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

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

/* Selection */
::selection {
    background-color: #F5D0D0;
    color: #722F37;
}

/* Print Styles */
@media print {
    nav,
    #contact,
    .reveal {
        display: none;
    }
}
