:root {
    --primary-color: #2B308B;
    --accent-color: #5746F2;
    --soft-bg: #F8F9FA;
    --card-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    --hover-shadow: 0 15px 35px rgba(87, 70, 242, 0.12);
}

body {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    color: #334155;
    background-color: #FAFAFC;
}

/* Topo Institucional */
.header-top {
    background: #ffffff;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    padding: 12px 0;
}

/* Navbar Principal */
.custom-navbar {
    background: linear-gradient(135deg, #2B308B 0%, #5746F2 100%) !important;
    box-shadow: 0 4px 20px rgba(43, 48, 139, 0.15);
}

.custom-navbar .nav-link {
    font-weight: 500;
    padding: 0.6rem 1rem !important;
    border-radius: 8px;
    transition: all 0.3s ease;
    opacity: 0.9;
}

.custom-navbar .nav-link:hover, 
.custom-navbar .nav-link.active {
    opacity: 1;
    background: rgba(255, 255, 255, 0.15);
    transform: translateY(-1px);
}

.btn-access {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    backdrop-filter: blur(5px);
    transition: all 0.3s ease;
    border-radius: 8px;
    padding: 0.5rem 1.2rem;
}

.btn-access:hover {
    background: #ffffff;
    color: var(--primary-color);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* Estilização de Seções */
.section-padding {
    padding: 5rem 0;
}

.section-title-wrapper {
    position: relative;
    margin-bottom: 3rem;
}

.section-title {
    font-weight: 800;
    color: #1E293B;
    letter-spacing: -0.5px;
}

/* Cards Elevedados */
.custom-card {
    background: #ffffff;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    box-shadow: var(--card-shadow);
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.custom-card:hover {
    box-shadow: var(--hover-shadow);
}

/* Badges Elegantes */
.custom-badge {
    background: rgba(87, 70, 242, 0.1);
    color: var(--accent-color);
    font-weight: 600;
    border-radius: 30px;
    padding: 8px 18px;
    font-size: 0.9rem;
}

/* Lista Personalizada */
.custom-list-item {
    border: none;
    padding: 0.75rem 0;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.05rem;
}

.custom-list-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(87, 70, 242, 0.1);
    color: var(--accent-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

/* Botão Flutuante */
.btn-back-to-top {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--accent-color);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    transition: all 0.3s ease;
}

.btn-back-to-top:hover {
    background: var(--primary-color);
    transform: translateY(-3px);
    color: #fff;
}