@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Poppins:wght@300;400;600&display=swap');

:root {
  /* Royal Purple Palette */
  --primary-color: #8E44AD;
  --secondary-color: #6C3483;
  --accent-color: #9B59B6;
  --light-color: #F4ECF7;
  --dark-color: #4A235A;
  --gradient-primary: linear-gradient(135deg, #D2B4DE 0%, #8E44AD 100%);
  --hover-color: #7D3C98;
  --background-color: #FDFEFE;
  --text-color: #512E5F;
  
  /* Crisp Neumorphism */
  --border-color: rgba(142, 68, 173, 0.2);
  --divider-color: rgba(108, 52, 131, 0.1);
  --shadow-light: #ffffff;
  --shadow-dark: #e8daef;
  --highlight-color: #2ECC71;
  
  --main-font: 'Playfair Display', serif;
  --alt-font: 'Poppins', sans-serif;
}

body { font-family: var(--alt-font); color: var(--text-color); background-color: var(--background-color); margin: 0; overflow-x: hidden; line-height: 1.8; }
h1, h2, h3, h4, h5, h6 { font-family: var(--main-font); margin-bottom: 0.8em; }

/* Elegant Cards */
.neu-flat { background: var(--background-color); box-shadow: 10px 10px 20px var(--shadow-dark), -10px -10px 20px var(--shadow-light); border-radius: 8px; border: 1px solid rgba(255,255,255,0.5); }
.neu-pressed { background: #fbfbfb; box-shadow: inset 4px 4px 8px #eee, inset -4px -4px 8px #fff; border-radius: 4px; border: 1px solid #f0f0f0; }
.neu-btn { background: var(--dark-color); color: white; border: none; padding: 14px 40px; border-radius: 4px; letter-spacing: 1px; transition: all 0.4s ease; cursor: pointer; display: inline-block; text-decoration: none; font-family: var(--alt-font); text-transform: uppercase; font-size: 0.85rem; }
.neu-btn:hover { background: var(--primary-color); box-shadow: 0 10px 20px rgba(142, 68, 173, 0.3); transform: translateY(-3px); }

/* Mobile Menu */
#menu-toggle { display: none; }
.mobile-menu { display: none; }
@media (max-width: 768px) {
    .desktop-nav { display: none; }
    .hamburger-icon { display: block; cursor: pointer; font-size: 1.5rem; color: var(--dark-color); }
    #menu-toggle:checked + .mobile-menu { display: block; position: absolute; top: 75px; left: 0; width: 100%; background: var(--light-color); padding: 30px; z-index: 50; }
    .mobile-menu ul { list-style: none; padding: 0; }
    .mobile-menu li { margin-bottom: 20px; text-align: center; }
    .mobile-menu a { color: var(--dark-color); text-decoration: none; font-size: 1.2rem; font-family: var(--main-font); font-style: italic; }
}

.section-pad { padding-top: 12vh; padding-bottom: 12vh; }
.timeline-dot { width: 15px; height: 15px; background: var(--primary-color); border-radius: 50%; display: inline-block; margin-right: 10px; }