 /* --- CARD STYLES --- */
 .alumni-card {
     background: #fff;
     border-radius: 16px;
     overflow: hidden;
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
     transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     /* Bouncy effect */
     position: relative;
     cursor: pointer;
     border: 1px solid rgba(0, 0, 0, 0.04);
 }

 /* Hover: Lift and glow */
 .alumni-card:hover {
     transform: translateY(-10px);
     box-shadow: 0 20px 40px rgba(59, 130, 246, 0.15);
     /* Subtle blue glow */
 }

 .alumni-img-wrapper {
     position: relative;
     height: 320px;
     /* Taller to show off the image */
     overflow: hidden;
     background-color: #f3f4f6;
 }

 .alumni-img-wrapper img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.6s ease;
 }

 /* Zoom image on hover */
 .alumni-card:hover .alumni-img-wrapper img {
     transform: scale(1.1);
 }

 /* Overlay with "View" Icon */
 .alumni-overlay {
     position: absolute;
     inset: 0;
     background: rgba(0, 0, 0, 0.3);
     opacity: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: opacity 0.3s ease;
     z-index: 2;
 }

 .alumni-card:hover .alumni-overlay {
     opacity: 1;
 }

 /* The 'Eye' or 'Plus' Icon circle */
 .view-icon {
     width: 50px;
     height: 50px;
     background: rgba(255, 255, 255, 0.9);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     transform: scale(0);
     transition: transform 0.3s 0.1s cubic-bezier(0.175, 0.885, 0.32, 1.275);
 }

 .alumni-card:hover .view-icon {
     transform: scale(1);
 }

 /* CSS Plus Icon */
 .view-icon::before,
 .view-icon::after {
     content: '';
     position: absolute;
     background: #333;
 }

 .view-icon::before {
     width: 2px;
     height: 18px;
 }

 .view-icon::after {
     width: 18px;
     height: 2px;
 }

 /* Text Content */
 .alumni-content {
     padding: 18px 15px;
     text-align: center;
     background: #fff;
     position: relative;
     z-index: 3;
     border-top: 1px solid #f0f0f0;
 }

 .alumni-name {
     font-size: 18px;
     font-weight: 700;
     color: #1a202c;
     margin: 0;
     letter-spacing: 0.5px;
 }

 /* Animated colored line below name */
 .alumni-content::after {
     content: '';
     display: block;
     width: 30px;
     height: 3px;
     background: var(--theme-color);
     /* Theme Color */
     margin: 8px auto 0;
     transition: width 0.3s ease;
     border-radius: 2px;
 }

 .alumni-card:hover .alumni-content::after {
     width: 60%;
 }

 /* --- LIGHTBOX (MODAL) STYLES --- */
 .custom-modal {
     display: none;
     position: fixed;
     z-index: 9999;
     padding-top: 50px;
     left: 0;
     top: 0;
     width: 100%;
     height: 100%;
     overflow: auto;
     background-color: rgba(0, 0, 0, 0.9);
     backdrop-filter: blur(5px);
 }

 .modal-content {
     margin: auto;
     display: block;
     width: 80%;
     max-width: 800px;
     max-height: 80vh;
     object-fit: contain;
     border-radius: 8px;
     box-shadow: 0 0 20px rgba(255, 255, 255, 0.1);
     animation: zoomIn 0.3s;
 }

 .modal-caption {
     margin: auto;
     display: block;
     width: 80%;
     max-width: 700px;
     text-align: center;
     color: #fff;
     padding: 15px 0;
     height: 150px;
     font-size: 24px;
     font-weight: 600;
     letter-spacing: 1px;
 }

 .close-btn {
     position: absolute;
     top: 20px;
     right: 35px;
     color: #f1f1f1;
     font-size: 40px;
     font-weight: bold;
     transition: 0.3s;
     cursor: pointer;
     z-index: 10000;
 }

 .close-btn:hover,
 .close-btn:focus {
     color: #bbb;
     text-decoration: none;
     cursor: pointer;
 }

 @keyframes zoomIn {
     from {
         transform: scale(0)
     }

     to {
         transform: scale(1)
     }
 }

 /* Mobile Responsive tweaks */
 @media only screen and (max-width: 700px) {
     .modal-content {
         width: 100%;
     }
 }



 /*  Faculty Page */

 /* Wrapper for the whole item */
 .faculty-item {
     position: relative;
     margin-bottom: 40px;
     /* Space for the floating box */
     transition: transform 0.3s ease;
 }

 /* The Image Area */
 .faculty-image-box {
     height: 320px;
     width: 100%;
     border-radius: 20px;
     overflow: hidden;
     position: relative;
     box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
     z-index: 1;
 }

 .faculty-image-box img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: top center;
     transition: transform 0.6s ease;
 }

 /* Hover: Subtle Zoom */
 .faculty-item:hover .faculty-image-box img {
     transform: scale(1.08);
 }

 /* The "Floating" Info Card */
 .faculty-info-card {
     background: #fff;
     width: 85%;
     /* Narrower than the image */
     margin: -50px auto 0;
     /* Negative margin pulls it UP over the image */
     position: relative;
     z-index: 2;
     /* Sits on top of image */
     border-radius: 12px;
     padding: 20px 10px;
     text-align: center;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
     border-bottom: 3px solid transparent;
     transition: all 0.3s ease;
 }

 /* Hover: The info card lights up */
 .faculty-item:hover .faculty-info-card {
     transform: translateY(-5px);
     /* Moves up slightly */
     border-bottom-color: var(--theme-color);
     /* Color accent appears */
     box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
 }

 /* Typography */
 .f-name {
     font-size: 19px;
     font-weight: 800;
     color: #222;
     margin-bottom: 5px;
 }

 .f-role {
     font-size: 13px;
     font-weight: 600;
     color: #777;
     text-transform: uppercase;
     letter-spacing: 0.8px;
 }


 /* =========================================
           2. UNORDERED LIST (<ul>) - "Feature Cards"
           ========================================= */
 .custom-ul ul {
     list-style: none;
     padding: 0;
     margin-bottom: 2rem;
 }

 .custom-ul ul li {
     position: relative;
     background-color: #f8f9fa;
     /* Light Grey Background */
     padding: 15px 20px 15px 45px;
     /* Left padding for icon */
     margin-bottom: 12px;
     border-radius: 6px;
     border-left: 4px solid #3498db;
     /* Accent Border */
     transition: all 0.3s ease;
     font-size: 0.95rem;
 }

 /* Hover Effect for List Items */
 .custom-ul ul li:hover {
     background-color: #fff;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
     transform: translateX(5px);
 }

 /* Custom Checkmark Icon using CSS */
 .custom-ul ul li::before {
     content: '✔';
     /* You can also use a FontAwesome code like '\f00c' if font is loaded */
     position: absolute;
     left: 15px;
     top: 50%;
     transform: translateY(-50%);
     color: #3498db;
     font-weight: 900;
     font-size: 1.1rem;
 }


     /* 1. Wrapper to scope styles */
    .custom-ul1 {
        width: 100%;
    }

    /* 2. Turn the UL into a Grid Container */
    .custom-ul1 ul {
        display: grid;
        grid-template-columns: repeat(4, 1fr); /* Forces 3 equal columns */
        gap: 20px; /* Space between cards */
        list-style: none;
        padding: 0;
        margin-bottom: 2rem;
    }

    /* 3. Style the List Items (The Cards) */
    .custom-ul1 ul li {
        position: relative;
        background-color: #f8f9fa; /* Light Grey Background */
        padding: 20px 20px 20px 50px; /* Left padding for icon */
        border-radius: 8px;
        border-left: 5px solid var(--theme-color); /* Accent Border */
        box-shadow: 0 2px 5px rgba(0,0,0,0.05);
        transition: all 0.3s ease;
        font-size: 0.95rem;
        font-weight: 500;
        display: flex;
        align-items: center; /* Vertically center text */
        height: 100%; /* Ensures all cards in a row match height */
    }

    /* 4. Hover Effect */
    .custom-ul1 ul li:hover {
        background-color: #fff;
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
        transform: translateY(-5px); /* Lift up effect */
    }

    /* 5. Custom Checkmark Icon */
    .custom-ul1 ul li::before {
        content: '✔';
        position: absolute;
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--theme-color);
        font-weight: 900;
        font-size: 1.2rem;
    }

    /* 6. Responsive Handling */
    
    /* Tablet: 2 Columns */
    @media (max-width: 1199px) {
        .custom-ul1 ul {
            grid-template-columns: repeat(3, 1fr);
        }
    }

    /* Mobile: 1 Column */
    @media (max-width: 991px) {
        .custom-ul1 ul {
            grid-template-columns: repeat(2, 1fr);
        }
    }
        @media (max-width: 767px) {
        .custom-ul1 ul {
            grid-template-columns: repeat(1, 1fr);;
        }
    }
    
    /* Ensure other content (like paragraphs) spans full width */
    .custom-ul1 p, .custom-ul1 h1, .custom-ul1 h2, .custom-ul1 h3, .custom-ul1 h4, .custom-ul1 h5, .custom-ul1 h6 {
        width: 100%;
        margin-bottom: 15px;
    }


    /* MD MESSAGE */

        /* --- MODERN MESSAGE CARD --- */
    .md-message-card {
        background: #fff;
        border-radius: 12px;
        padding: 40px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); /* Soft shadow */
        border: 1px solid rgba(0,0,0,0.03);
        position: relative;
    }

    /* --- FLOATING IMAGE FRAME --- */
    .md-photo-frame {
        float: right; /* Allows text to wrap */
        width: 200px;
        margin-left: 35px;
        margin-bottom: 20px;
        background: #fff;
        padding: 8px;
        border: 1px solid #eee;
        border-radius: 8px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    }

    .md-photo-frame img {
        width: 100%;
        height: auto;
        border-radius: 4px;
        display: block;
        object-fit: cover;
    }

    /* Optional: Caption/Name under image */
    .md-caption {
        text-align: center;
        margin-top: 10px;
        font-weight: 700;
        color: #333;
        font-size: 1.1rem;
    }

    /* --- CONTENT TYPOGRAPHY --- */
    .md-content-text {
        font-size: 16px;
        line-height: 1.8;
        color: #444;
        text-align: justify; /* Professional look for long letters */
    }

    .md-content-text p {
        margin-bottom: 20px;
    }

    /* Decorative Quote Icon (Optional) */
    .md-content-text::before {
        content: '\201C'; /* Big Quote mark */
        font-size: 60px;
        color: #d1d5d8;
        font-family: serif;
        font-weight: 900;
        float: left;
        line-height: 40px;
        margin-right: 10px;
        margin-top: -10px;
    }

    /* --- RESPONSIVE DESIGN --- */
    @media (max-width: 991px) {
        .md-message-card {
            padding: 30px 20px;
        }

        .md-photo-frame {
            float: none; /* Disable float on smaller screens */
            width: 100%;
            max-width: 350px;
            margin: 0 auto 30px auto; /* Center the image */
            display: block;
        }
        
        .md-content-text {
            text-align: left; /* Reset justify for mobile readability */
        }
    }


   