/* =============================================
   RITESH LUXE SALON — Minimal Luxury CSS
   Scandinavian · Editorial · Premium Beige
   ============================================= */

:root {
    --bg-primary: #F7F5F1;
    --bg-section: #ECE8E2;
    --bg-card: #FFFFFF;
    --accent: #D7BC96;
    --accent-dark: #B89A6E;
    --text-dark: #222222;
    --text-mid: #555555;
    --text-light: #888888;
    --border: #E5E0D8;
    --dark-bg: #1E1E1C;
    --dark-text: #F0EDE8;
    color-scheme: light;
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background-color: var(--bg-primary);
    color: var(--text-dark);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

a { text-decoration: none; color: inherit; }
button { cursor: pointer; border: none; font-family: inherit; background: none; }
img { display: block; max-width: 100%; }

.font-display {
    font-family: 'Playfair Display', Georgia, serif;
}

/* ---- Scroll Animations ---- */

.fade-up {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.75s ease, transform 0.75s ease;
}

.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-in {
    opacity: 0;
    transition: opacity 0.75s ease;
}

.fade-in.visible {
    opacity: 1;
}

/* ---- Layout Utilities ---- */

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 2rem;
}

@media (max-width: 768px) {
    .container {
        padding: 0 1.25rem;
    }
}

/* =============================================
   SECTION SHARED STYLES
   ============================================= */

.section-eyebrow {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent-dark);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.section-eyebrow::before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 1px;
    background: var(--accent-dark);
}

.section-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 3.5vw, 3.25rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--text-dark);
}

.section-subtitle {
    font-size: 0.95rem;
    color: var(--text-light);
    line-height: 1.8;
    max-width: 520px;
}

