@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
    --font-heading: 'Bodoni Moda', serif;
    --font-body: 'Inter', sans-serif;
    --color-bg: #ffffff;
    --color-text: #1a1a1a;
    --color-accent: #002347; /* Navy Blue */
    --color-muted: #666666;
}

body {
    font-family: var(--font-body);
    background-color: var(--color-bg);
    color: var(--color-text);
    line-height: 1.6;
}

h1, h2, h3, h4, .font-heading {
    font-family: var(--font-heading);
    letter-spacing: -0.02em;
}

.text-elegant {
    font-style: italic;
    font-weight: 300;
}

/* AdSense Placeholder Styling */
.adsense-placeholder {
    background: #f9f9f9;
    border: 1px dashed #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 2rem 0;
    min-height: 100px;
    width: 100%;
}

.adsense-sidebar {
    min-height: 600px;
}

.adsense-infeed {
    min-height: 250px;
}

/* Smooth transitions */
.transition-luxury {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Luxury card effect */
.card-luxury {
    border: 1px solid transparent;
    transition: all 0.4s ease;
}

.card-luxury:hover {
    border-color: var(--color-text);
    transform: translateY(-4px);
}

/* Divider styling */
.divider-elegant {
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--color-text), transparent);
    opacity: 0.2;
    margin: 4rem 0;
}

/* Gentle Rain Narrative Section */
#story-section {
    perspective: 1px;
    z-index: 1;
}

.story-slide {
    position: relative;
    z-index: 2;
}

.story-reveal {
    opacity: 0;
    will-change: transform, opacity;
}

#story-bg {
    pointer-events: none;
    transition: filter 1s ease;
}

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

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

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

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