:root {
    --japandi-bg: #F9F7F3;
    --japandi-surface: #F2EFE9;
    --japandi-text: #2C302E;
    --japandi-accent: #8A9A86; /* Sage green */
    --japandi-warm: #D4B895; /* Warm terracotta/wood */
}

body { 
    font-family: 'Inter', sans-serif; 
    background-color: var(--japandi-bg);
    color: var(--japandi-text);
}

.font-serif {
    font-family: 'Playfair Display', serif;
}

.glass-nav { 
    background: rgba(249, 247, 243, 0.85); 
    backdrop-filter: blur(12px); 
    -webkit-backdrop-filter: blur(12px); 
    border-bottom: 1px solid rgba(138, 154, 134, 0.1); 
}

.japandi-card { 
    background: #FFFFFF; 
    border: 1px solid rgba(138, 154, 134, 0.15); 
    box-shadow: 0 4px 24px rgba(44, 48, 46, 0.03); 
    border-radius: 2px;
}

.hover-lift { transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s ease; }
.hover-lift:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(44, 48, 46, 0.08); }

.text-accent { color: var(--japandi-accent); }
.bg-accent { background-color: var(--japandi-accent); }

.blob-shape { 
    animation: slow-morph 15s ease-in-out infinite alternate; 
    border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; 
}

@keyframes slow-morph { 
    0% { border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; } 
    100% { border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; } 
}
