/* Luxury Editorial Champagne & Terracotta Theme with Zoom Physics */
:root {
    --bg-cream: #E5DDCF;
    --bg-card: #F4EFE6;
    --bg-dark: #161616;
    --bg-dark-card: #1E1E1E;
    --color-terracotta: #C47052;
    --color-espresso: #231E1B;
    --font-serif: 'Playfair Display', 'Cormorant Garamond', Georgia, serif;
    --font-sans: 'Plus Jakarta Sans', -apple-system, sans-serif;
    --font-script: 'Sacramento', cursive;
    --ease-spring: cubic-bezier(0.32, 0.72, 0, 1);
}

/* Base Styles */
body {
    background-color: var(--bg-cream);
    font-family: var(--font-sans);
    color: var(--color-espresso);
    overflow-x: hidden;
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
}

.font-serif {
    font-family: var(--font-serif);
    letter-spacing: -0.01em;
}

.font-script {
    font-family: var(--font-script);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: #E5DDCF;
}
::-webkit-scrollbar-thumb {
    background: #C47052;
    border-radius: 0px;
}

/* Zoomable Image & Card Physics */
.zoom-container {
    overflow: hidden;
    position: relative;
}

.zoom-container img,
.zoom-container .zoom-target {
    transition: transform 0.6s var(--ease-spring), filter 0.6s ease;
}

.zoom-container:hover img,
.zoom-container:hover .zoom-target {
    transform: scale(1.06);
    filter: brightness(1.08);
}

/* Smooth Scroll Entry Animations */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s var(--ease-spring), transform 0.8s var(--ease-spring);
}

.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}
