:root { --primary-color: #7C3AED; --secondary-color: #F3E8FF; --background-color: #FFFFFF; --surface-color: #F9FAFB; --text-color: #111827; --heading-font: 'Poppins', sans-serif; --body-font: 'Inter', sans-serif; } html.dark { --primary-color: #A78BFA; --secondary-color: #37304A; --background-color: #111827; --surface-color: #1F2937; --text-color: #F9FAFB; } body { background-color: var(--background-color); color: var(--text-color); font-family: var(--body-font); transition: background-color 0.3s, color 0.3s; } h1, h2, h3, h4, h5, h6 { font-family: var(--heading-font); font-weight: 700; } .navbar { transition: background-color 0.3s; } .navbar.bg-body-tertiary { background-color: var(--background-color) !important; } .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); transition: all 0.3s ease; } .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); } .hero-section { background: linear-gradient(45deg, rgba(124, 58, 237, 0.1), rgba(167, 139, 250, 0.1)); } html.dark .hero-section { background: linear-gradient(45deg, rgba(167, 139, 250, 0.1), rgba(55, 48, 74, 0.2)); } .service-card { background-color: var(--surface-color); border: 1px solid transparent; transition: all 0.3s ease; } .service-card:hover { transform: translateY(-5px); border-color: var(--primary-color); } /* Fade-in Animation */ .fade-in-up { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease-out, transform 0.6s ease-out; } .fade-in-up-visible { opacity: 1; transform: translateY(0); } .theme-toggle-btn { cursor: pointer; }