/* Base and Typography */
body {
    background-color: #f7f9fb;
    color: #191c1e;
    font-family: 'Hanken Grotesk', sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* Material Icons */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    display: inline-block;
    vertical-align: middle;
}

/* Scrollbar customization */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f7f9fb; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Utilities and Custom Patterns */
.math-pattern {
    background-image: radial-gradient(circle at 2px 2px, #c6c6cd 1px, transparent 0);
    background-size: 24px 24px;
}
.hero-gradient {
    background: linear-gradient(135deg, #f7f9fb 0%, #eceef0 100%);
}
.border-technical {
    border: 1px solid #c6c6cd;
}
.border-active {
    border: 1px solid #0058be;
}
.transition-all-300 {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.bento-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 24px;
}
.logo-container {
    background-color: #0F172A; /* Deep Navy Primary */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Math Bullets */
.math-bullet::before {
    content: '→';
    color: #0058be;
    margin-right: 0.5rem;
    font-family: 'JetBrains Mono', monospace;
}

/* Card Transitions */
.service-card, .client-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.service-card:hover, .client-card:hover {
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.08);
    border-color: #3b82f6; /* Azure Blue mapping from style guidance */
    transform: translateY(-2px);
}