/* Olino Consulting Group - Custom Styles */

:root {
    --primary-gradient: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    --accent-color: #0ea5e9;
    --accent-hover: #0284c7;
}

/* Gradient backgrounds */
.bg-gradient {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);
}

/* Hero section styling */
.hero-section {
    min-height: 400px;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);
}

.min-vh-75 {
    min-height: 75vh;
}

/* Service card hover effects */
.service-card {
    transition: all 0.3s ease;
}

.service-card:hover {
    transform: translateY(-5px);
    border-color: var(--accent-color) !important;
    box-shadow: 0 10px 30px rgba(14, 165, 233, 0.2);
}

/* Feature icons */
.feature-icon {
    display: inline-block;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 50%;
}

/* Card enhancements */
.card {
    transition: all 0.3s ease;
}

.card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

/* Navigation enhancements */
.nav-masthead .nav-link {
    color: rgba(255, 255, 255, 0.5);
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
}

.nav-masthead .nav-link:hover,
.nav-masthead .nav-link.active {
    color: #fff;
    border-bottom-color: var(--accent-color);
}

/* Button enhancements */
.btn {
    transition: all 0.3s ease;
}

.btn-light:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 255, 255, 0.3);
}

.btn-outline-light:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 255, 255, 0.2);
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Cover container for homepage */
.cover-container {
    max-width: 42em;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .hero-section {
        min-height: 300px;
    }

    .display-4 {
        font-size: 2.5rem;
    }

    .display-6 {
        font-size: 2rem;
    }
}

/* Accessibility improvements */
a:focus,
button:focus {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* List styling improvements */
ul.list-unstyled li {
    position: relative;
    padding-left: 0;
}

/* Animation for page load */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Only fade in, no transform to avoid scroll jump */
section {
    animation: fadeIn 0.4s ease-out;
}
