@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

:root {
  /* Colors: #8E44AD, #9B59B6, #2C3E50, #1ABC9C */
  --primary-color: #8E44AD; /* Purple */
  --secondary-color: #6C3483; /* Dark Purple */
  --accent-color: #1ABC9C; /* Teal */
  --light-color: #F4F6F7; /* Light Gray/Blue */
  --dark-color: #2C3E50; /* Navy */
  
  --gradient-primary: linear-gradient(180deg, #8E44AD 0%, #9B59B6 100%);
  --hover-color: #9B59B6;
  --background-color: #FFFFFF;
  --text-color: #5D6D7E;
  
  --border-color: rgba(142, 68, 173, 0.2);
  --divider-color: rgba(44, 62, 80, 0.1);
  --shadow-color: rgba(142, 68, 173, 0.1);
  --highlight-color: #1ABC9C;
  
  --main-font: 'Playfair Display', serif;
  --alt-font: 'Roboto', sans-serif;
}

body { font-family: var(--alt-font); color: var(--text-color); line-height: 1.8; }
h1, h2, h3, h4 { font-family: var(--main-font); color: var(--dark-color); }

/* Soft Neumorphism */
.neu-box { background: #ffffff; box-shadow: 20px 20px 60px #d1d1d1, -20px -20px 60px #ffffff; border-radius: 20px; padding: 2rem; }
.btn-soft { background: var(--primary-color); color: white; padding: 12px 35px; border-radius: 8px; transition: 0.3s; box-shadow: 0 4px 6px rgba(142, 68, 173, 0.3); }
.btn-soft:hover { background: var(--secondary-color); transform: translateY(-2px); }

/* Feature Icons */
.icon-wrapper { width: 60px; height: 60px; background: var(--light-color); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--primary-color); font-size: 24px; margin-bottom: 1rem; }

/* Mobile */
#nav-toggle { display: none; }
@media(max-width: 768px) {
    .main-nav { display: none; width: 100%; position: absolute; top: 100%; left: 0; background: white; padding: 20px; box-shadow: 0 5px 10px rgba(0,0,0,0.1); text-align: center; }
    #nav-toggle:checked ~ .main-nav { display: block; }
    .burger-icon { display: block; cursor: pointer; color: var(--dark-color); font-size: 24px; }
}
@media(min-width: 769px) { .burger-icon { display: none; } .main-nav { display: flex !important; gap: 30px; } }