.brand-green { color: #2B5797; }
.brand-blue { color: #2B5797; }
.brand-green-bg { background-color: #2B5797; }
.brand-blue-bg { background-color: #2B5797; }
.brand-green-border { border-color: #2B5797; }
.brand-blue-border { border-color: #2B5797; }
.brand-green-bg-light { background-color: rgba(43,87,151,0.08); }
.brand-blue-bg-light { background-color: rgba(43,87,151,0.08); }

.green-btn {
    background: linear-gradient(135deg, #1e4578 0%, #2B5797 30%, #3d6db5 50%, #2B5797 70%, #1a3d6b 100%);
    color: #ffffff;
    font-weight: 700;
    box-shadow: 0 4px 20px rgba(43,87,151,0.3), inset 0 1px 0 rgba(255,255,255,0.25);
    transition: all 0.3s ease;
}
.green-btn:hover {
    box-shadow: 0 6px 30px rgba(43,87,151,0.5), inset 0 1px 0 rgba(255,255,255,0.35);
    transform: translateY(-1px);
}

.green-outline-btn {
    border: 2px solid #2B5797;
    color: #2B5797;
    font-weight: 700;
    background: transparent;
    transition: all 0.3s ease;
}
.green-outline-btn:hover {
    background: rgba(43,87,151,0.08);
    box-shadow: 0 0 20px rgba(43,87,151,0.15);
}

.blue-btn {
    background: linear-gradient(135deg, #1e4578 0%, #2B5797 30%, #3d6db5 50%, #2B5797 70%, #1a3d6b 100%);
    color: #ffffff;
    font-weight: 700;
    box-shadow: 0 4px 20px rgba(43,87,151,0.3), inset 0 1px 0 rgba(255,255,255,0.2);
    transition: all 0.3s ease;
}
.blue-btn:hover {
    box-shadow: 0 6px 30px rgba(43,87,151,0.5), inset 0 1px 0 rgba(255,255,255,0.3);
    transform: translateY(-1px);
}

.light-card {
    background: linear-gradient(145deg, #ffffff 0%, #f8fafc 50%, #edf2fa 100%);
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(43,87,151,0.15);
}
.light-card::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(ellipse at 30% 20%, rgba(43,87,151,0.04) 0%, transparent 50%);
    pointer-events: none;
}

.brand-section {
    background: linear-gradient(180deg, #f8fafc 0%, #edf2fa 40%, #f0f4fa 60%, #f8fafc 100%);
    position: relative;
    overflow: hidden;
}

.sparkle-container {
    position: relative;
    overflow: hidden;
}

.sparkle {
    position: absolute;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #2B5797;
    opacity: 0;
    animation: sparkle-anim var(--duration, 3s) var(--delay, 0s) infinite;
    pointer-events: none;
    z-index: 0;
}

@keyframes sparkle-anim {
    0%, 100% { opacity: 0; transform: scale(0); }
    50% { opacity: 0.7; transform: scale(1); }
}

.hero-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%);
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(43,87,151,0.15) 0%, rgba(43,87,151,0.08) 35%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

.logo-glow-ring {
    position: relative;
    z-index: 1;
}
.logo-glow-ring::before {
    content: '';
    position: absolute;
    inset: -20px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(43,87,151,0.25) 0%, rgba(43,87,151,0.1) 50%, transparent 70%);
    z-index: -1;
    animation: pulse-glow 3s ease-in-out infinite;
}

@keyframes pulse-glow {
    0%, 100% { opacity: 0.7; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.08); }
}

.gradient-bg-brand {
    background: linear-gradient(180deg, #edf2fa 0%, #e0eaf6 30%, #ffffff 100%);
}

.hero-gradient {
    background: linear-gradient(180deg, #1a3d5c 0%, #1e4a6e 30%, #1f5276 50%, #1a4060 70%, #162d45 100%);
}
