/* Brand Variables */
:root {
    --brand-blue: #3b82f6;
    --brand-cyan: #2bbdd1;

    /* Secondary/Accent Tones */
    --brand-blue-light: #60a5fa;
    --brand-cyan-dark: #06b6d4;

    /* Backgrounds */
    --bg-dark: #0B1120;
    /* Deep Brand Navy */
    --bg-surface: #151E32;
    /* Lighter Navy Surface */
    --bg-surface-hover: #1E293B;
    /* Slate Hover */

    /* Glass Effect Base */
    --glass-bg: rgba(21, 30, 50, 0.7);
    --glass-border: rgba(255, 255, 255, 0.08);
}

/* Global Body Brand Background   */
.brand-bg {
    background-color: var(--bg-dark);
    background-image: url('/img/bg_pattern.png');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    color: white;
}

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-surface);
}

::-webkit-scrollbar-thumb {
    background: #282e39;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--brand-blue);
}

/* Typography Utilities */
.text-brand-blue {
    color: var(--brand-blue);
}

.text-brand-cyan {
    color: var(--brand-cyan);
}

.text-brand-gradient {
    background: linear-gradient(to right, var(--brand-blue), var(--brand-cyan));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    display: inline-block;
    /* Often needed for bg-clip */
}

/* Background Utilities */
.bg-brand-gradient {
    background: linear-gradient(to right, var(--brand-blue), var(--brand-cyan));
}

/* Glassmorphism Components */
.glass-panel {
    background: var(--glass-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--glass-border);
}

.glass-card-hover {
    transition: all 0.3s ease;
}

.glass-card-hover:hover {
    background: rgba(59, 130, 246, 0.05);
    /* slightly blue tint on hover */
    border-color: rgba(59, 130, 246, 0.3);
    box-shadow: 0 0 30px rgba(59, 130, 246, 0.1);
}

/* Service Icons & Backgrounds (Semantic Classes) */
.icon-bg-blue {
    background-color: rgba(59, 130, 246, 0.1);
}

.group:hover .icon-bg-blue {
    background-color: rgba(59, 130, 246, 0.2);
}

.icon-text-blue {
    color: var(--brand-blue);
}

.icon-bg-cyan {
    background-color: rgba(43, 189, 209, 0.1);
}

.group:hover .icon-bg-cyan {
    background-color: rgba(43, 189, 209, 0.2);
}

.icon-text-cyan {
    color: var(--brand-cyan);
}

.icon-bg-blue-light {
    background-color: rgba(96, 165, 250, 0.1);
}

.group:hover .icon-bg-blue-light {
    background-color: rgba(96, 165, 250, 0.2);
}

.icon-text-blue-light {
    color: var(--brand-blue-light);
}

.icon-bg-cyan-dark {
    background-color: rgba(6, 182, 212, 0.1);
}

.group:hover .icon-bg-cyan-dark {
    background-color: rgba(6, 182, 212, 0.2);
}

.icon-text-cyan-dark {
    color: var(--brand-cyan-dark);
}