@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

:root {
  /* Colors: Charcoal, Muted Gold, Off-White */
  --primary-color: #2D3748; /* Dark Charcoal */
  --secondary-color: #1A202C; /* Black/Gray */
  --accent-color: #D69E2E; /* Muted Gold */
  --light-color: #EDF2F7; /* Light Gray Blue */
  --dark-color: #171923; /* Almost Black */
  
  --gradient-primary: linear-gradient(135deg, #2D3748 0%, #4A5568 100%);
  --hover-color: #4A5568;
  --background-color: #FFFFFF;
  --text-color: #4A5568;
  
  --border-color: rgba(214, 158, 46, 0.3);
  --divider-color: rgba(45, 55, 72, 0.1);
  --shadow-color: rgba(0, 0, 0, 0.05);
  --highlight-color: #D69E2E;
  
  --main-font: 'Lora', serif;
  --alt-font: 'Inter', sans-serif;
}

body { font-family: var(--alt-font); color: var(--text-color); line-height: 1.9; background-color: #FAFAFA; }
h1, h2, h3, h4 { font-family: var(--main-font); color: var(--secondary-color); font-weight: 600; }

/* Minimalist Design */
.zen-card { background: white; border: 1px solid #E2E8F0; padding: 2.5rem; transition: all 0.4s ease; position: relative; }
.zen-card:hover { border-color: var(--accent-color); transform: translateY(-5px); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05); }

.btn-zen { background: transparent; color: var(--primary-color); padding: 12px 35px; border: 1px solid var(--primary-color); border-radius: 2px; text-transform: uppercase; font-size: 0.85rem; letter-spacing: 2px; transition: 0.3s; }
.btn-zen:hover { background: var(--primary-color); color: white; border-color: var(--primary-color); }

.btn-gold { background: var(--accent-color); color: white; padding: 15px 40px; border-radius: 2px; font-weight: 500; letter-spacing: 1px; transition: 0.3s; display: inline-block; }
.btn-gold:hover { background: #B7791F; box-shadow: 0 10px 15px -3px rgba(214, 158, 46, 0.3); }

/* Typography Accents */
.text-gold { color: var(--accent-color); }
.italic-serif { font-family: var(--main-font); font-style: italic; }

/* Mobile Menu */
#zen-menu-toggle { display: none; }
@media (max-width: 768px) {
    .zen-nav { display: none; width: 100%; position: absolute; top: 100%; left: 0; background: white; padding: 30px; flex-direction: column; align-items: center; border-bottom: 1px solid #E2E8F0; }
    #zen-menu-toggle:checked ~ .zen-nav { display: flex; }
    .zen-hamburger { display: block; font-size: 24px; color: var(--primary-color); cursor: pointer; }
}
@media (min-width: 769px) { .zen-hamburger { display: none; } }