:root {
    --bg-gradient-1: #0f0c29;
    --bg-gradient-2: #302b63;
    --bg-gradient-3: #24243e;
    --accent-1: #FF3CAC;
    --accent-2: #784BA0;
    --accent-3: #2B86C5;
    --text-primary: #ffffff;
    --text-secondary: #b8c1ec;
    --text-tertiary: #8892b0;
    --card-bg: rgba(22, 28, 36, 0.8);
    --card-border: rgba(255, 255, 255, 0.1);
    --card-hover: rgba(255, 255, 255, 0.05);
    --transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --shadow-neon: 0 0 15px rgba(255, 60, 172, 0.5);
    --shadow-glow: 0 0 20px rgba(43, 134, 197, 0.5);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: linear-gradient(135deg, var(--bg-gradient-1), var(--bg-gradient-2), var(--bg-gradient-3)) fixed;
    color: var(--text-primary);
    font-family: 'Montserrat', sans-serif;
    overflow-x: hidden;
    line-height: 1.6;
}

h1, h2, h3, h4, h5 {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    line-height: 1.2;
}

.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 1.5rem;
    position: relative;
    z-index: 1;
}

/* Common Section Headers (used by FAQ and others) */
.section-header {
    text-align: center;
    margin-bottom: 2rem; /* Adjusted from 3rem on LandingPage for consistency with other sections */
}

.section-title {
    font-size: 2rem;
    position: relative;
    display: inline-block;
    background: linear-gradient(90deg, var(--text-primary), var(--accent-1));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    padding-bottom: 0.8rem;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--accent-1), var(--accent-3));
}

/* Decorative Elements (if used on multiple pages, including FAQ) */
.decorative-circle {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(circle, var(--accent-1) 0%, rgba(255, 60, 172, 0) 70%);
    opacity: 0.3;
    filter: blur(60px);
    z-index: 0;
}

.circle-1 {
    top: 10%;
    right: 5%;
    width: 300px;
    height: 300px;
}

.circle-2 {
    bottom: 20%;
    left: 10%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, var(--accent-3) 0%, rgba(43, 134, 197, 0) 70%);
}

.circle-3 {
    top: 40%;
    left: 30%;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, var(--accent-2) 0%, rgba(120, 75, 160, 0) 70%);
}

/* Responsive Styles for Global Elements */
@media (min-width: 576px) {
    .container {
        padding: 0 2rem;
    }
}

@media (min-width: 768px) {
    .section-title {
        font-size: 2.2rem;
    }
}

@media (min-width: 1200px) {
    .section-title {
        font-size: 2.5rem;
    }
}