﻿/* --- About Us Hero Section --- */
/* 1. Define the Animation */
@keyframes heroFadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px); /* Start 30px lower */
    }

    to {
        opacity: 1;
        transform: translateY(0); /* End in original position */
    }
}
/* --- Mobile Responsiveness for About Hero --- */
/* --- Mobile Fixes (Max-Width 768px) --- */
@media screen and (max-width: 768px) {
    .about-hero {
        height: auto !important; /* Let content dictate height */
        min-height: 350px; /* Minimum height for look */
        padding: 100px 15px 60px; /* Top padding clears navbar, side padding prevents edge touching */
    }

    .hero-font {
        font-size: 2rem !important; /* approx 32px */
        line-height: 1.2;
        word-wrap: break-word; /* Prevents long words breaking layout */
    }

    .about-hero p.lead {
        font-size: 1rem !important;
        margin-top: 10px;
    }
}
/* 2. Apply to the Heading (h1) */
.about-hero h1 {
    opacity: 0; /* Start invisible */
    animation: heroFadeInUp 0.8s ease-out forwards; /* Run animation */
}

/* 3. Apply to the Subtitle (p) with a Delay */
.about-hero p {
    opacity: 0; /* Start invisible */
    animation: heroFadeInUp 0.8s ease-out 0.3s forwards; /* 0.3s delay so it appears after h1 */
}
.about-hero {
    /* Increased height from 50vh to 60vh for better spacing */
    height: 60vh;
    background: linear-gradient(135deg, rgba(11, 123, 174, 0.9), rgba(44, 62, 80, 0.9)), url('https://images.unsplash.com/photo-1519389950473-47ba0277781c?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
    position: relative;
    margin-bottom: 3rem;
    left: 50%; /* Move to center */
    right: 50%;
    width: 100vw; /* Force full viewport width */
    /* FIX: Push content down to compensate for the fixed Navbar */
    padding-top: 80px;
    margin-left: -50vw;
    margin-right: -50vw;
}
.hero-font {
    font-size: 40px;
}
/* --- Utilities --- */
.ls-1 {
    letter-spacing: 1px;
}

/* Custom Light Background for Sections */
.bg-light-section {
    background-color: #f8f9fa;
}

/* --- Feature Cards (The 4 Pillars) --- */
.feature-card {
    padding: 1.5rem; /* p-4 */
    height: 100%;
    background-color: #f8f9fa; /* Match bg-light-section */
    border-radius: 0.5rem; /* rounded-3 */
    border-left: 5px solid; /* The colored left border */
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075); /* shadow-sm */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

    /* Hover Effect for Cards */
    .feature-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    }

    /* Border Color Variants */
    .feature-card.border-primary {
        border-color: var(--primary-color, #0d6efd) !important;
    }

    .feature-card.border-info {
        border-color: #0dcaf0 !important;
    }

    .feature-card.border-warning {
        border-color: #ffc107 !important;
    }

    .feature-card.border-success {
        border-color: #198754 !important;
    }

/* --- Icon Circles --- */
.icon-circle-lg {
    width: 50px;
    height: 50px;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #fff;
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
    flex-shrink: 0; /* Prevent shrinking */
}
body, html {
    overflow-x: hidden; /* Crucial for full-width sections on mobile */
    width: 100%;
}