/* General Styles */
body {
    font-family: 'Roboto', sans-serif;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Prevent horizontal scroll on mobile */
}

/* Top Bar Styles */
.top-bar {
    background-color: #002147; /* Classic Navy Blue */
    color: #ffffff;
    font-size: 14px;
    border-bottom: 2px solid #ffc107; /* Gold Accent line */
}

.top-link a {
    color: #ffffff;
    text-decoration: none;
    transition: 0.3s;
}

.top-link a:hover {
    color: #ffc107;
}

.text-accent {
    color: #ffc107;
}

/* Social Media Icons */
.social-icons a {
    color: #ffffff;
    text-decoration: none;
    font-size: 16px;
    transition: transform 0.3s ease, color 0.3s ease;
    display: inline-block;
}

.social-icons a:hover {
    color: #ffc107;
    transform: translateY(-2px);
}

/* Logo Section Styles */
.logo-section {
    background-color: #ffffff;
}

.college-name {
    color: #002147;
    font-size: 1.8rem; /* Adjusted for better balance */
    letter-spacing: -0.5px;
    line-height: 1.2;
    text-transform: uppercase;
}

.logo-img {
    max-height: 30px; /* Increased from 30px so it's actually visible */
    width: auto;
    transition: 0.3s;
}

/* --- RESPONSIVENESS --- */

/* Tablets and small desktops */
@media (max-width: 992px) {
    .college-name {
        font-size: 1.4rem;
    }
    .logo-img {
        max-height: 70px;
    }
}

/* Mobile (Phoness) */
@media (max-width: 768px) {
    .top-bar {
        font-size: 12px;
    }
    
    .social-icons {
        margin-top: 5px;
        border-top: 1px solid rgba(255,255,255,0.1);
        padding-top: 8px;
    }

    .college-name {
        font-size: 1.1rem;
    }
    
    .logo-img {
        max-height: 55px;
    }
}

/* Very Small Screens */
@media (max-width: 480px) {
    .college-name {
        font-size: 0.95rem;
    }
    
    .logo-img {
        max-height: 45px;
    }
}

/* --- NAVIGATION STYLING --- */
.main-nav {
    background-color: #002147; /* Navy background for the menu bar */
    border-bottom: 3px solid #ffc107;
}

.main-nav .nav-link {
    color: #ffffff !important;
    font-weight: 500;
    font-size: 14px;
    padding: 20px 12px !important;
    text-transform: uppercase;
    transition: 0.3s;
}

.main-nav .nav-link:hover {
    color: #ffc107 !important;
    background-color: rgba(255, 255, 255, 0.1);
}

/* --- HOME ICON --- */
.home-link i {
    font-size: 18px;
}

/* --- DROPDOWN STYLING --- */
.dropdown-menu {
    border-radius: 0;
    margin-top: 0;
    padding: 10px 0;
    min-width: 220px;
}

.dropdown-item {
    font-size: 14px;
    padding: 8px 20px;
    color: #002147;
    font-weight: 500;
}

.dropdown-item:hover {
    background-color: #ffc107;
    color: #002147;
}

/* Desktop Hover Trigger */
@media (min-width: 992px) {
    .dropdown:hover > .dropdown-menu {
        display: block;
    }
}

/* --- APPLY NOW CTA BUTTON --- */
.btn-apply {
    background-color: #ffc107; /* Gold color */
    color: #002147;
    font-size: 14px;
    border: 2px solid #ffc107;
    transition: 0.4s ease;
}

.btn-apply:hover {
    background-color: transparent;
    color: #ffffff;
    border-color: #ffffff;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991.98px) {
    .navbar-collapse {
        background-color: #001a38;
        padding: 15px;
    }

    .main-nav .nav-link {
        padding: 10px 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .dropdown-menu {
        background-color: rgba(255, 255, 255, 0.05);
    }

    .dropdown-item {
        color: #ffffff;
    }

    .btn-apply {
        width: 100%;
        margin-top: 15px;
        text-align: center;
    }
}

/* Toggler Icon Logic */
.custom-toggler { border: none; }
.custom-toggler .close-icon { display: none; color: white; font-size: 24px; }
.custom-toggler .open-icon { display: block; color: white; font-size: 24px; }
.custom-toggler:not(.collapsed) .open-icon { display: none; }
.custom-toggler:not(.collapsed) .close-icon { display: block; }


/* --- HERO SLIDER STYLES --- */
#heroSlider {
    position: relative;
    overflow: hidden;
}

.hero-img {
    height: 75vh; /* 75% of screen height */
    object-fit: cover; /* Prevents image stretching */
}

/* Dark overlay to make text pop */
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 33, 71, 0.4), rgba(0, 33, 71, 0.7));
    z-index: 1;
}

.carousel-caption {
    z-index: 2;
    bottom: 25%;
    text-align: left; /* Modern left-aligned look */
}

.carousel-caption h5 {
    color: #ffc107;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 2px;
    font-size: 1.1rem;
    margin-bottom: 15px;
}

.carousel-caption h2 {
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 20px;
    color: #ffffff;
}

.text-gold {
    color: #ffc107;
}

.carousel-caption p {
    font-size: 1.2rem;
    max-width: 600px;
    color: rgba(255, 255, 255, 0.9);
}

/* --- HERO BUTTONS --- */
.btn-gold {
    background-color: #ffc107;
    color: #002147;
    font-weight: 700;
    padding: 12px 30px;
    border-radius: 5px;
    transition: 0.3s;
    border: 2px solid #ffc107;
}

.btn-gold:hover {
    background-color: transparent;
    color: #ffffff;
    border-color: #ffffff;
}

.btn-outline-light {
    border-width: 2px;
    padding: 12px 30px;
    font-weight: 700;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991.98px) {
    .hero-img {
        height: 60vh;
    }
    .carousel-caption h2 {
        font-size: 2.2rem;
    }
}

@media (max-width: 767.98px) {
    .hero-img {
        height: 50vh;
    }
    .carousel-caption {
        bottom: 15%;
        text-align: center; /* Center text on mobile */
        left: 5%;
        right: 5%;
    }
    .carousel-caption h5 {
        font-size: 0.9rem;
    }
    .carousel-caption h2 {
        font-size: 1.8rem;
    }
    .btn-gold, .btn-outline-light {
        padding: 8px 20px;
        font-size: 14px;
    }
}

/* --- SMOOTH TRANSITION (FADE EFFECT) --- */
.carousel-fade .carousel-item {
    transition-duration: 0.8s;
}

/*===============COMMON TOP CSS====================*/
/* --- DEPARTMENT OVERVIEW CUSTOM STYLES --- */
.text-navy {
    color: #002147;
}

.section-title {
    color: #002147;
    font-weight: 800;
    font-size: 2.5rem;
    position: relative;
}

/* Icon Box Style */
.dept-icon-sm {
    width: 45px;
    height: 45px;
    background-color: #ffffff;
    color: #ffc107;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1.2rem;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    transition: 0.3s;
}

.dept-icon-sm:hover {
    background-color: #ffc107;
    color: #002147;
}

/* Video Wrapper */
.video-wrapper {
    position: relative;
    padding: 10px;
    background: #fff;
    border-radius: 15px;
}

.border-gold-frame {
    border: 3px solid #ffc107;
}

/* Experience Badge Overlay */
.video-experience-badge {
    position: absolute;
    bottom: -20px;
    left: -20px;
    background: #002147;
    color: #ffc107;
    padding: 15px 25px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
    z-index: 5;
}

/* Button Navy Outline */
.btn-navy-outline {
    border: 2px solid #002147;
    color: #002147;
    transition: 0.3s;
    border-radius: 5px;
}

.btn-navy-outline:hover {
    background-color: #002147;
    color: #ffc107;
}

/* --- RESPONSIVENESS --- */
@media (max-width: 991.98px) {
    .section-title {
        font-size: 2rem;
    }
    .video-experience-badge {
        position: static;
        margin-top: 20px;
        flex-direction: row;
        gap: 15px;
        width: fit-content;
    }
}

@media (max-width: 576px) {
    .section-title {
        font-size: 1.7rem;
    }
    .dept-overview {
        text-align: center;
    }
    .d-flex.align-items-center {
        flex-direction: column;
        text-align: center;
    }
    .dept-icon-sm {
        margin-right: 0 !important;
        margin-bottom: 10px;
    }
}

/* --- BPT & MPT FEATURED STYLES --- */
.course-detail-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: 0.4s ease;
    border: 1px solid rgba(0, 33, 71, 0.05);
}

.course-detail-card:hover {
    transform: scale(1.02);
    box-shadow: 0 20px 40px rgba(0, 33, 71, 0.15);
}

.course-header {
    padding: 40px 30px;
    background: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%);
    position: relative;
    text-align: center;
}

.course-header.bg-navy {
    background: linear-gradient(135deg, #002147 0%, #00152e 100%);
}

.course-badge {
    background: #002147;
    color: #ffc107;
    padding: 5px 15px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.badge-gold {
    background: #ffc107;
    color: #002147;
}

.course-header h3 {
    font-size: 2.5rem;
    font-weight: 900;
    color: #002147;
    margin-bottom: 0;
}

/* Meta Info Icons */
.meta-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
}

.meta-item i {
    color: #ffc107;
    font-size: 1.1rem;
    margin-right: 15px;
    margin-top: 4px;
    width: 20px;
    text-align: center;
}

.meta-item span {
    font-size: 0.95rem;
    color: #444;
}

/* Custom Navy Button */
.btn-navy {
    background-color: #002147;
    color: #ffffff;
    font-weight: 700;
    padding: 10px 25px;
    border-radius: 5px;
    transition: 0.3s;
}

.btn-navy:hover {
    background-color: #ffc107;
    color: #002147 !important;
}

/* --- RESPONSIVENESS --- */
@media (max-width: 768px) {
    .course-header {
        padding: 30px 20px;
    }
    .course-header h3 {
        font-size: 2rem;
    }
    .course-footer {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
    .btn {
        width: 100%;
    }
}

/* --- AFFILIATIONS & RECOGNITIONS STYLES --- */
.aff-card {
    background: #ffffff;
    padding: 25px;
    border-radius: 12px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    border: 1px solid rgba(0, 33, 71, 0.08);
    transition: 0.3s ease;
}

.aff-card:hover {
    box-shadow: 0 10px 25px rgba(0, 33, 71, 0.1);
    border-color: #ffc107;
    transform: translateY(-5px);
}

.aff-icon {
    min-width: 50px;
    height: 50px;
    background-color: #f0f4f8;
    color: #002147;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    transition: 0.3s;
}

.aff-card:hover .aff-icon {
    background-color: #ffc107;
    color: #002147;
}

.aff-content h5 {
    color: #002147;
    font-size: 1.1rem;
    margin-bottom: 8px;
}

.aff-content p {
    color: #666;
    line-height: 1.5;
}

/* Regulatory Body Bar */
.letter-spacing-2 {
    letter-spacing: 2px;
}

.text-navy-light {
    color: rgba(0, 33, 71, 0.6);
}

.grayscale-hover span {
    transition: 0.3s ease;
    cursor: default;
}

.grayscale-hover span:hover {
    transform: scale(1.1);
    background-color: #ffc107 !important;
    color: #002147 !important;
}

/* --- RESPONSIVENESS --- */
@media (max-width: 768px) {
    .aff-card {
        padding: 20px;
        flex-direction: column;
        text-align: center;
        align-items: center;
    }
    
    .aff-icon {
        margin-bottom: 10px;
    }

    .aff-content h5 {
        font-size: 1rem;
    }
}

/* --- CLINICAL AFFILIATES CUSTOM STYLES --- */
.partner-box {
    padding: 10px;
    height: 100%;
}

.partner-inner {
    background: #ffffff;
    border: 1px solid rgba(0, 33, 71, 0.1);
    border-radius: 15px;
    padding: 30px 20px;
    text-align: center;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: 0 5px 15px rgba(0,0,0,0.02);
}

.partner-inner i {
    font-size: 2rem;
    color: #002147;
    transition: 0.3s;
}

.partner-inner h6 {
    font-size: 0.95rem;
    font-weight: 700;
    color: #002147;
    margin-bottom: 10px;
}

.partner-inner .badge {
    font-size: 0.7rem;
    text-transform: uppercase;
    font-weight: 600;
}

/* Hover Effect */
.partner-box:hover .partner-inner {
    border-color: #ffc107;
    box-shadow: 0 10px 25px rgba(0, 33, 71, 0.1);
    transform: translateY(-5px);
}

.partner-box:hover .partner-inner i {
    color: #ffc107;
    transform: scale(1.1);
}

/* Stat Items */
.stat-item {
    padding: 0 15px;
    border-right: 2px solid #ffc107;
}

.stat-item:last-child {
    border-right: none;
}

/* --- RESPONSIVENESS --- */
@media (max-width: 991px) {
    .affiliate-stats {
        margin-top: 20px;
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .partner-inner {
        padding: 20px 10px;
    }
    .partner-inner h6 {
        font-size: 0.85rem;
    }
    .partner-inner i {
        font-size: 1.5rem;
    }
}

/* --- ALUMNI SCROLLING SECTION STYLES --- */
.alumni-slider {
    width: 100%;
    overflow: hidden;
    padding: 20px 0;
    position: relative;
    background: transparent;
}

/* The Track that moves */
.alumni-track {
    display: flex;
    width: calc(300px * 8); /* Adjust based on card width * total cards (including duplicates) */
    animation: scrollLeft 25s linear infinite;
}

/* Pause animation on hover */
.alumni-track:hover {
    animation-play-state: paused;
}

/* Individual Card */
.alumni-card {
    width: 280px;
    background: #ffffff;
    margin: 0 15px;
    padding: 25px;
    border-radius: 15px;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0, 33, 71, 0.08);
    border: 1px solid rgba(0, 33, 71, 0.05);
    transition: 0.3s ease;
    flex-shrink: 0;
}

.alumni-card:hover {
    border-color: #ffc107;
    transform: translateY(-5px);
}

/* Alumni Image */
.alumni-img-wrapper {
    width: 90px;
    height: 90px;
    margin: 0 auto 15px;
    border-radius: 50%;
    padding: 5px;
    border: 2px solid #ffc107;
    overflow: hidden;
}

.alumni-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.alumni-info h6 {
    color: #002147;
    font-weight: 700;
    margin-bottom: 5px;
    font-size: 1.1rem;
}

.batch-tag {
    display: inline-block;
    background: #f0f4f8;
    color: #002147;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 3px 12px;
    border-radius: 50px;
    margin-bottom: 10px;
}

.org-name {
    font-size: 0.85rem;
    color: #666;
    margin-bottom: 0;
    font-weight: 500;
}

/* KEYFRAMES FOR LEFT SCROLL */
@keyframes scrollLeft {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-310px * 4)); } /* width + margin * original card count */
}

/* --- RESPONSIVENESS --- */
@media (max-width: 768px) {
    .alumni-card {
        width: 240px;
    }
    @keyframes scrollLeft {
        0% { transform: translateX(0); }
        100% { transform: translateX(calc(-270px * 4)); }
    }
    .section-title {
        font-size: 1.8rem;
    }
}

/* --- INFRASTRUCTURE SECTION CUSTOM STYLES --- */
.infra-card {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    height: 350px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.infra-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Gradient Overlay - Hidden by default */
.infra-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, #002147 10%, rgba(0, 33, 71, 0.4) 60%, transparent 100%);
    display: flex;
    align-items: flex-end;
    padding: 30px;
    opacity: 0.9;
    transition: all 0.4s ease;
}

.infra-content {
    transform: translateY(40px);
    transition: transform 0.4s ease;
}

.infra-icon {
    width: 50px;
    height: 50px;
    background-color: #ffc107;
    color: #002147;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1.5rem;
    margin-bottom: 15px;
}

.infra-content h4 {
    color: #ffffff;
    font-weight: 700;
    margin-bottom: 10px;
}

.infra-content p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9rem;
    line-height: 1.4;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.infra-link {
    color: #ffc107;
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-block;
    margin-top: 10px;
}

/* HOVER EFFECTS */
.infra-card:hover .infra-img {
    transform: scale(1.1);
}

.infra-card:hover .infra-overlay {
    background: linear-gradient(to top, #002147 30%, rgba(0, 33, 71, 0.6) 70%, transparent 100%);
}

.infra-card:hover .infra-content {
    transform: translateY(0);
}

.infra-card:hover .infra-content p {
    opacity: 1;
}

/* --- RESPONSIVENESS --- */
@media (max-width: 992px) {
    .infra-card {
        height: 300px;
    }
}

@media (max-width: 768px) {
    .infra-overlay {
        padding: 20px;
    }
    .infra-content {
        transform: translateY(0); /* Always visible on mobile for better UX */
    }
    .infra-content p {
        opacity: 1;
        font-size: 0.8rem;
    }
}
/* --- ACADEMIC OUTREACH CUSTOM STYLES --- */
.activity-card {
    background: #ffffff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.activity-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 35px rgba(0, 33, 71, 0.15);
}

.activity-img {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.activity-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.activity-card:hover .activity-img img {
    transform: scale(1.1);
}

/* Location Badges */
.location-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    padding: 6px 15px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
    z-index: 2;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.in-city {
    background-color: #002147;
    color: #ffc107;
}

.out-city {
    background-color: #ffc107;
    color: #002147;
}

/* Content Area */
.activity-content h5 {
    transition: color 0.3s ease;
}

.activity-card:hover h5 {
    color: #ffc107 !important;
}

.activity-footer span {
    color: #002147;
    letter-spacing: 0.5px;
}

/* --- RESPONSIVENESS --- */
@media (max-width: 768px) {
    .activity-img {
        height: 180px;
    }
    .activity-content {
        text-align: center;
    }
    .activity-footer {
        justify-content: center;
    }
}

/* --- VERTICAL RESEARCH TICKER STYLES --- */
.research-ticker-wrapper {
    border-radius: 15px;
    overflow: hidden;
    border: 1px solid rgba(0, 33, 71, 0.1);
    background: #fff;
}

/* Fixed Header */
.ticker-header {
    background-color: #002147;
    color: #ffc107;
    padding: 15px 25px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1px;
    display: flex;
    z-index: 10;
}

/* Viewport - Defines how many rows are visible (e.g., 350px for 4 rows) */
.ticker-viewport {
    height: 380px; 
    overflow: hidden;
    position: relative;
}

/* The Moving Track */
.ticker-track {
    display: flex;
    flex-direction: column;
    animation: scrollVertical 20s linear infinite;
}

/* Pause on Hover */
.ticker-viewport:hover .ticker-track {
    animation-play-state: paused;
}

/* Individual Row (Item) */
.ticker-item {
    display: flex;
    padding: 20px 25px;
    border-bottom: 1px solid rgba(0, 33, 71, 0.05);
    align-items: center;
    background: #fff;
    transition: background 0.3s;
}

.ticker-item:hover {
    background: rgba(255, 193, 7, 0.05);
}

/* Column Widths (Must match Header) */
.col-year { width: 10%; }
.col-title { width: 50%; padding-right: 20px; }
.col-dept { width: 20%; }
.col-journal { width: 20%; text-align: right; }

/* Styles from previous section */
.dept-pill {
    background-color: #f0f4f8;
    color: #002147;
    padding: 4px 12px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
}

.btn-res-link {
    color: #002147;
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 700;
    border: 1px solid #002147;
    padding: 5px 12px;
    border-radius: 4px;
    transition: 0.3s;
}

.btn-res-link:hover {
    background: #002147;
    color: #ffc107;
}

/* VERTICAL ANIMATION */
@keyframes scrollVertical {
    0% { transform: translateY(0); }
    100% { transform: translateY(-50%); } /* Scrolls half the height (one full set of data) */
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 768px) {
    .ticker-header { display: none; } /* Hide header on mobile for space */
    
    .ticker-item {
        flex-direction: column;
        text-align: center;
        gap: 10px;
        padding: 25px;
    }
    
    .col-year, .col-title, .col-dept, .col-journal {
        width: 100% !important;
        text-align: center !important;
        padding: 0;
    }

    .ticker-viewport {
        height: 450px; /* Slightly taller on mobile for stacked content */
    }

    @keyframes scrollVertical {
        0% { transform: translateY(0); }
        100% { transform: translateY(-50%); }
    }
}

/* --- ACHIEVEMENTS HORIZONTAL SCROLL STYLES --- */
.achieve-slider {
    width: 100%;
    overflow: hidden;
    padding: 30px 0;
}

.achieve-track {
    display: flex;
    /* (Width of one card + margins) * total cards (including duplicates) */
    width: calc(330px * 8); 
    animation: scrollAchieve 30s linear infinite;
}

/* Pause on Hover */
.achieve-slider:hover .achieve-track {
    animation-play-state: paused;
}

.achieve-scroll-card {
    width: 300px;
    background: #fff;
    margin: 0 15px;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 33, 71, 0.08);
    transition: 0.3s ease;
    flex-shrink: 0;
    border-bottom: 3px solid #ffc107;
}

.achieve-scroll-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 33, 71, 0.15);
}

.achieve-img-box {
    position: relative;
    height: 220px;
}

.achieve-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Floating Tag inside card */
.achieve-tag {
    position: absolute;
    top: 15px;
    left: 15px;
    background: #ffc107;
    color: #002147;
    padding: 4px 12px;
    border-radius: 5px;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.tag-navy {
    background: #002147;
    color: #ffc107;
}

.achieve-info {
    padding: 20px;
    text-align: center;
}

.achieve-info h6 {
    color: #002147;
    font-weight: 700;
    margin-bottom: 5px;
}

.achieve-dept {
    display: block;
    color: #ffc107;
    font-size: 0.8rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.achieve-info p {
    font-size: 0.85rem;
    color: #666;
    margin-bottom: 0;
}

/* KEYFRAMES FOR INFINITE HORIZONTAL SCROLL */
@keyframes scrollAchieve {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-330px * 4)); } /* width + margins * unique card count */
}

/* --- RESPONSIVENESS --- */
@media (max-width: 768px) {
    .achieve-scroll-card {
        width: 260px;
    }
    @keyframes scrollAchieve {
        0% { transform: translateX(0); }
        100% { transform: translateX(calc(-290px * 4)); }
    }
}

/* --- PLACEMENT VERTICAL SCROLL STYLES --- */
.placement-ticker-container {
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    border: 1px solid rgba(0, 33, 71, 0.1);
}

/* Static Header */
.placement-header {
    background: #002147;
    color: #ffc107;
    padding: 15px 25px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1px;
}

/* Flex Column Control */
.flex-1 { flex: 1; }
.flex-2 { flex: 2; }

/* Viewport Window */
.placement-viewport {
    height: 400px; /* Adjust based on how many rows you want visible */
    overflow: hidden;
    position: relative;
}

/* Vertical Track Animation */
.placement-track {
    display: flex;
    flex-direction: column;
    animation: placementScrollVertical 20s linear infinite;
}

.placement-viewport:hover .placement-track {
    animation-play-state: paused;
}

/* Individual Row */
.placement-row {
    display: flex;
    padding: 20px 25px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    align-items: center;
    transition: background 0.3s;
}

.placement-row:hover {
    background: rgba(255, 193, 7, 0.05);
}

/* Badges */
.badge-placed {
    background: #e7f5ea;
    color: #28a745;
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
}

.badge-intern {
    background: #fff4e5;
    color: #fd7e14;
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
}

/* Stat Boxes */
.placement-stat-box {
    background: #f8f9fa;
    padding: 10px 20px;
    border-radius: 10px;
    border-left: 4px solid #ffc107;
    text-align: left;
}

/* VERTICAL ANIMATION KEYFRAMES */
@keyframes placementScrollVertical {
    0% { transform: translateY(0); }
    100% { transform: translateY(-50%); } /* Half of the total height (one set of data) */
}

/* --- RESPONSIVENESS --- */
@media (max-width: 768px) {
    .placement-header {
        display: none; /* Hide tabular header on mobile */
    }
    
    .placement-row {
        flex-direction: column;
        text-align: center;
        gap: 10px;
        padding: 25px 15px;
    }

    .placement-viewport {
        height: 500px; /* Taller on mobile to accommodate stacked cards */
    }

    .col-item {
        width: 100%;
        padding: 0;
    }
}
/* --- PLACEMENT VERTICAL SCROLL STYLES --- */
.placement-table-container {
    background: #ffffff;
    border-radius: 15px;
    overflow: hidden;
    border: 1px solid rgba(0, 33, 71, 0.1);
}

/* Static Header */
.placement-table-header {
    background-color: #002147;
    color: #ffc107;
    padding: 15px 25px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 1px;
}

/* Scroll Viewport (Shows approx 4 items) */
.placement-scroll-viewport {
    height: 440px; 
    overflow: hidden;
    position: relative;
}

/* The Moving Track */
.placement-scroll-track {
    display: flex;
    flex-direction: column;
    animation: placementScrollVertical 20s linear infinite;
}

.placement-scroll-viewport:hover .placement-scroll-track {
    animation-play-state: paused; /* User can pause to read details */
}

/* Individual Row Item */
.placement-item {
    display: flex;
    padding: 20px 25px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    align-items: center;
    background: #fff;
    transition: 0.3s;
}

.placement-item:hover {
    background-color: rgba(255, 193, 7, 0.05);
}

/* Column Widths */
.col-photo { width: 10%; }
.col-details { width: 30%; }
.col-company { width: 45%; }
.col-status { width: 15%; }

/* Thumbnails */
.student-thumb {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #ffc107;
}

/* Badges */
.badge-status {
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.placed { background: #e8f5e9; color: #2e7d32; }
.intern { background: #fff3e0; color: #ef6c00; }

/* Stat Badge */
.placement-badge-box {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 10px;
    border-bottom: 4px solid #002147;
}

/* VERTICAL ANIMATION */
@keyframes placementScrollVertical {
    0% { transform: translateY(0); }
    100% { transform: translateY(-50%); } /* Scrolls one full set of data */
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 768px) {
    .placement-table-header {
        display: none;
    }
    .placement-item {
        flex-direction: column;
        text-align: center;
        gap: 10px;
        padding: 25px;
    }
    .col-photo, .col-details, .col-company, .col-status {
        width: 100% !important;
        text-align: center !important;
    }
    .placement-scroll-viewport {
        height: 500px;
    }
}


/* --- STUDENT RESOURCES CUSTOM STYLES --- */
.resource-card-link {
    text-decoration: none !important;
    display: block;
}

.resource-card {
    background: #ffffff;
    padding: 30px 20px;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 33, 71, 0.05);
    border: 1px solid rgba(0, 33, 71, 0.03);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.res-icon-box {
    width: 60px;
    height: 60px;
    background-color: rgba(255, 193, 7, 0.1);
    color: #ffc107;
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    border-radius: 50%;
    transition: 0.3s;
}

.resource-card h6 {
    color: #002147;
    font-weight: 700;
    margin-bottom: 10px;
    transition: 0.3s;
}

.resource-card p {
    color: #666;
    margin-bottom: 15px;
    line-height: 1.4;
}

.res-btn {
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #ffc107;
    letter-spacing: 1px;
    transition: 0.3s;
}

/* Hover Effects */
.resource-card:hover {
    background-color: #002147;
    transform: scale(1.05);
}

.resource-card:hover .res-icon-box {
    background-color: #ffc107;
    color: #002147;
}

.resource-card:hover h6 {
    color: #ffffff;
}

.resource-card:hover p {
    color: rgba(255, 255, 255, 0.7);
}

.resource-card:hover .res-btn {
    color: #ffc107;
}

/* --- RESPONSIVENESS --- */
@media (max-width: 768px) {
    .resource-card {
        padding: 20px 10px;
    }
    .res-icon-box {
        width: 50px;
        height: 50px;
        font-size: 1.4rem;
    }
    .resource-card h6 {
        font-size: 0.85rem;
    }
    .res-btn {
        font-size: 0.65rem;
    }
}

/* Very Small Mobile (2 columns) */
@media (max-width: 480px) {
    .col-6 {
        padding: 5px;
    }
    .resource-card {
        padding: 15px 5px;
    }
}

/* --- DYNAMIC ADMISSION STRIP STYLES --- */
.admission-strip {
    /* Dynamic Red Gradient */
    background: linear-gradient(135deg, #8e0e00 0%, #1f1c18 100%); /* Deep Red to Dark */
    position: relative;
    overflow: hidden;
    border-top: 3px solid #ffc107;
}

/* Subtle Shimmer Background Animation */
.admission-strip::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.05), transparent);
    animation: shimmer 4s infinite;
}

@keyframes shimmer {
    0% { left: -100%; }
    100% { left: 100%; }
}

.text-warning-light {
    color: #ffc107;
}

/* Live Blinking Badge */
.live-badge {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    padding: 2px 10px;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(255,255,255,0.2);
}

.blink-dot {
    height: 8px;
    width: 8px;
    background-color: #ff0000;
    border-radius: 50%;
    display: inline-block;
    margin-right: 6px;
    animation: blink 1s infinite;
    box-shadow: 0 0 10px #ff0000;
}

@keyframes blink {
    0% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(1.2); }
    100% { opacity: 1; transform: scale(1); }
}

/* Pulsing Action Button */
.btn-white-pulse {
    background-color: #ffffff;
    color: #8e0e00 !important;
    border: none;
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    animation: pulse-white 2s infinite;
    transition: 0.3s;
}

.btn-white-pulse:hover {
    background-color: #ffc107;
    color: #000 !important;
    transform: scale(1.05);
}

@keyframes pulse-white {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 15px rgba(255, 255, 255, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}

.letter-spacing-1 {
    letter-spacing: 1px;
}

/* --- RESPONSIVENESS --- */
@media (max-width: 768px) {
    .admission-strip h3 {
        font-size: 1.4rem;
    }
    .admission-strip p {
        font-size: 0.8rem;
    }
    .btn-white-pulse {
        width: 100%;
        padding: 12px 20px !important;
        font-size: 0.9rem;
    }
}

/*-------------------*/
/*department paramendical*/
/* --- PARAMEDICAL DEPT OVERVIEW STYLES --- */

/* Image Stack Logic */
.paramed-image-stack {
    position: relative;
    padding-bottom: 40px;
}

.main-image-wrap {
    z-index: 2;
    position: relative;
    transform: perspective(1000px) rotateY(-5deg);
    transition: 0.5s;
}

.main-image-wrap:hover {
    transform: perspective(1000px) rotateY(0deg);
}

.sub-image-wrap {
    position: absolute;
    bottom: -30px;
    left: -20px;
    width: 250px;
    z-index: 3;
    transition: 0.5s;
}

.sub-image-wrap:hover {
    transform: translateY(-10px);
}

/* Floating Stats Bubble */
.stat-bubble-floating {
    position: absolute;
    top: -20px;
    right: 20px;
    z-index: 4;
    min-width: 130px;
    border: 3px solid #fff;
    animation: floatVertical 3s infinite ease-in-out;
}

@keyframes floatVertical {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

/* Typography & Layout Utilities */
.extra-small {
    font-size: 11px;
    line-height: 1.4;
}

.header-line {
    width: 60px;
    height: 4px;
    background: #ffc107;
    border-radius: 2px;
}

.tracking-wider {
    letter-spacing: 2px;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .dept-info-wrapper {
        text-align: center;
    }
    .header-line {
        margin: 0 auto 20px;
    }
    .paramed-image-stack {
        padding-left: 0 !important;
        margin-top: 50px;
    }
    .main-image-wrap {
        transform: none;
    }
}

@media (max-width: 767px) {
    .display-4 {
        font-size: 2.2rem;
    }
    .sub-image-wrap {
        display: none; /* Hide secondary image on mobile for clean look */
    }
    .stat-bubble-floating {
        right: 50%;
        margin-right: -65px; /* Center bubble on mobile */
    }
}
/* --- PARAMEDICAL PROGRAM PORTFOLIO STYLES --- */

.program-detail-card {
    transition: all 0.4s ease;
    border: 1px solid #eee !important;
}

.program-detail-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 33, 71, 0.12) !important;
    border-color: #ffc107 !important;
}

/* Banner area */
.intake-badge {
    text-align: center;
    border-left: 1px solid rgba(255, 255, 255, 0.2);
    padding-left: 20px;
    line-height: 1.2;
}

.intake-badge.border-navy {
    border-left-color: rgba(0, 33, 71, 0.2);
}

/* Stat Boxes */
.stat-box {
    min-height: 55px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Typography */
.extra-small {
    font-size: 12px;
    line-height: 1.5;
}

.btn-outline-navy {
    border: 1.5px solid #002147;
    color: #002147;
    transition: 0.3s;
}

.btn-outline-navy:hover {
    background-color: #002147;
    color: #fff;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 767px) {
    .program-banner h3 {
        font-size: 1.5rem;
    }
    .intake-badge {
        padding-left: 10px;
    }
    .stat-box span {
        font-size: 11px;
    }
    .program-detail-card {
        margin-bottom: 10px;
    }
}
/* --- PARAMEDICAL INFRASTRUCTURE STYLES --- */

.infra-card-wrap {
    background: #ffffff;
    border: 1px solid #f0f0f0;
    transition: all 0.4s ease;
}

.infra-img {
    height: 200px;
    overflow: hidden;
}

.infra-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* Floating Icon Box */
.infra-icon-box {
    width: 50px;
    height: 50px;
    background: #002147;
    color: #ffc107;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1.5rem;
    margin-top: -50px; /* Overlaps the image */
    position: relative;
    z-index: 5;
    border: 3px solid #ffffff;
    transition: 0.3s;
}

.infra-icon-box.box-gold { background: #ffc107; color: #002147; }
.infra-icon-box.box-red { background: #d32f2f; color: #ffffff; }

/* Hover Effects */
.infra-card-wrap:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 33, 71, 0.1) !important;
    border-color: #ffc107;
}

.infra-card-wrap:hover .infra-img img {
    transform: scale(1.1);
}

.infra-card-wrap:hover .infra-icon-box {
    transform: rotateY(360deg);
}

.infra-card-wrap h5 {
    margin-top: 10px;
    transition: 0.3s;
}

.infra-card-wrap:hover h5 {
    color: #ffc107;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .infra-img {
        height: 180px;
    }
}

@media (max-width: 767px) {
    .infra-card-wrap {
        margin-bottom: 10px;
    }
    .infra-body {
        padding: 20px !important;
    }
    .infra-body h5 {
        font-size: 1.1rem;
    }
}
/* --- PARAMEDICAL CURRICULUM & ACTIVITY STYLES --- */

.learning-pillar {
    transition: all 0.3s ease;
    border: 1px solid #f0f0f0;
}

.learning-pillar:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 30px rgba(0, 33, 71, 0.1) !important;
}

.pillar-icon {
    font-size: 2.5rem;
}

/* Activity Strip Cards */
.activity-strip-card {
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.activity-strip-card:hover {
    border-color: #ffc107;
    transform: translateX(10px);
}

.act-icon-box {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.activity-strip-card:hover .act-icon-box {
    background: #002147;
    color: #ffc107;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 767px) {
    .learning-pillar {
        margin-bottom: 10px;
    }
    .activity-strip-card:hover {
        transform: none; /* Disable horizontal slide on mobile for better usability */
    }
    .activity-strip-card {
        text-align: left;
    }
}
/* --- PARAMEDICAL RESEARCH SECTION STYLES --- */

.research-stat-box {
    background: #ffffff;
    transition: 0.3s;
}

.research-stat-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 33, 71, 0.08) !important;
}

.research-stat-box h3 {
    font-size: 1.8rem;
}

/* Focus Areas List */
.focus-card {
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.focus-card:hover {
    background: #ffffff !important;
    border-color: #ffc107;
    transform: scale(1.02);
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.focus-icon-sm {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 1rem;
    flex-shrink: 0;
}

/* Publication Card */
.publication-card {
    z-index: 1;
}

.italic {
    font-style: italic;
}

.publication-watermark {
    position: absolute;
    bottom: -30px;
    right: -20px;
    font-size: 10rem;
    color: rgba(255, 255, 255, 0.03);
    z-index: -1;
    transform: rotate(-15deg);
}

.btn-gold {
    background: #ffc107;
    color: #002147;
    border: 2px solid #ffc107;
    transition: 0.3s;
}

.btn-gold:hover {
    background: transparent;
    color: #ffffff;
    border-color: #ffffff;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .paramed-research-section .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .research-stat-box h3 {
        font-size: 1.4rem;
    }
    .research-stat-box p {
        font-size: 9px;
    }
    .publication-card {
        padding: 30px 20px !important;
    }
    .focus-card {
        padding: 15px !important;
    }
    .focus-card h6 {
        font-size: 0.9rem;
    }
}
/* --- PARAMEDICAL ACHIEVEMENTS STYLES --- */

/* --- SCROLLING HALL OF FAME STYLES --- */

.hall-of-fame-viewport {
    width: 100%;
    overflow: hidden;
    padding: 40px 0;
    position: relative;
}

.hall-of-fame-track {
    display: flex;
    /* Total width = (card width + margin) * total cards (including duplicates) */
    /* Adjust width to accommodate 8 cards easily */
    width: calc(300px * 8); 
    animation: scrollHallOfFame 25s linear infinite;
}

/* Pause on Hover so users can read the details */
.hall-of-fame-viewport:hover .hall-of-fame-track {
    animation-play-state: paused;
}

.topper-scroll-card {
    width: 270px; /* Fixed width for each topper card */
    margin: 0 15px; /* Gap between cards */
    background: #fff;
    padding: 30px 20px;
    border-radius: 20px;
    text-align: center;
    position: relative;
    box-shadow: 0 5px 15px rgba(0, 33, 71, 0.05);
    border: 1px solid #f0f0f0;
    transition: 0.3s ease;
    flex-shrink: 0; /* Prevents cards from squishing */
}

.topper-scroll-card:hover {
    border-color: #ffc107;
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 33, 71, 0.1);
}

.topper-avatar img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid #fff;
    transition: 0.3s;
}

.topper-scroll-card:hover .topper-avatar img {
    border-color: #ffc107;
}

/* Reusing your badge logic but localized for scroller */
.rank-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: #ffc107;
    color: #002147;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    padding: 4px 15px;
    border-radius: 50px;
    z-index: 5;
    letter-spacing: 1px;
}

.rank-badge.bg-navy {
    background: #002147 !important;
    color: #ffc107 !important;
}

/* KEYFRAMES FOR INFINITE LOOP */
@keyframes scrollHallOfFame {
    0% {
        transform: translateX(0);
    }
    100% {
        /* This should be half of the track's width (total unique cards) */
        transform: translateX(calc(-300px * 4));
    }
}

/* --- RESPONSIVENESS --- */
@media (max-width: 768px) {
    .topper-scroll-card {
        width: 240px;
        padding: 20px 15px;
    }
    
    @keyframes scrollHallOfFame {
        0% { transform: translateX(0); }
        100% { transform: translateX(calc(-270px * 4)); }
    }

    /* Slow down the animation slightly for better mobile readability */
    .hall-of-fame-track {
        animation-duration: 35s;
    }
}


/* --- PARAMEDICAL PLACEMENT SECTION STYLES --- */

.internship-info-card {
    transition: 0.4s;
    z-index: 1;
}

.placement-bg-icon {
    position: absolute;
    bottom: -20px;
    right: -10px;
    font-size: 8rem;
    color: rgba(255, 255, 255, 0.05);
    z-index: -1;
    transform: rotate(-15deg);
}

.placement-feature-box {
    transition: 0.3s;
    border: 1px solid transparent !important;
}

.placement-feature-box:hover {
    background: #ffffff !important;
    border-color: #ffc107 !important;
    transform: translateX(10px);
}

.p-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1.2rem;
    flex-shrink: 0;
}
/* --- INFINITE VERTICAL SCROLL STYLES --- */

.success-ticker-viewport {
    height: 420px; /* Adjust height to show ~3 cards */
    overflow: hidden;
    position: relative;
    padding: 10px;
    background: transparent;
}

.success-ticker-track {
    display: flex;
    flex-direction: column;
    animation: scrollSuccessVertical 15s linear infinite;
}

/* Pause animation on hover so students' details can be read */
.success-ticker-viewport:hover .success-ticker-track {
    animation-play-state: paused;
}

.student-success-card {
    flex-shrink: 0; /* Important: prevents cards from collapsing */
    transition: 0.3s ease;
    border: 1px solid rgba(0,0,0,0.05) !important;
}

/* Reusing your previous badge and thumb styles */
.student-thumb img { width: 55px; height: 55px; object-fit: cover; }
.badge-placed { background-color: #e7f5ea; color: #28a745; font-size: 10px; font-weight: 800; padding: 4px 10px; border-radius: 50px; text-transform: uppercase; }
.badge-intern { background-color: #fff4e5; color: #fd7e14; font-size: 10px; font-weight: 800; padding: 4px 10px; border-radius: 50px; text-transform: uppercase; }

/* THE ANIMATION */
@keyframes scrollSuccessVertical {
    0% {
        transform: translateY(0);
    }
    100% {
        /* This must be exactly half of the track's height */
        transform: translateY(-50%);
    }
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 767px) {
    .success-ticker-viewport {
        height: 380px; /* Slightly shorter for mobile screens */
    }
    .student-thumb img {
        width: 45px;
        height: 45px;
    }
    .student-success-card {
        padding: 12px !important;
    }
    /* Slow down animation on mobile for better readability */
    .success-ticker-track {
        animation-duration: 20s;
    }
}

/* --- RECRUITER TICKER STYLES --- */

.recruiter-ticker-viewport {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 25px 0;
    /* Yellow Gradient Borders */
    border-top: 2px solid;
    border-bottom: 2px solid;
    border-image-source: linear-gradient(90deg, transparent, #ffc107, #fff3b0, #ffc107, transparent);
    border-image-slice: 1;
    background: #fafafa;
}

.recruiter-ticker-track {
    display: flex;
    align-items: center;
    /* (Width of one logo item * total logos) */
    width: calc(200px * 12); 
    animation: scrollRecruitersLeft 30s linear infinite;
}

/* Pause on hover */
.recruiter-ticker-viewport:hover .recruiter-ticker-track {
    animation-play-state: paused;
}

.logo-item {
    width: 200px; /* Space for each logo */
    flex-shrink: 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.recruiter-logo {
    max-height: 40px;
    width: auto;
    filter: grayscale(100%);
    opacity: 0.6;
    transition: 0.4s ease;
}

/* Hover effects within the scroll */
.logo-item:hover .recruiter-logo {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.1);
}

/* LEFT SCROLL ANIMATION */
@keyframes scrollRecruitersLeft {
    0% {
        transform: translateX(0);
    }
    100% {
        /* This must be exactly half of the track width (the width of the first 6 logos) */
        transform: translateX(calc(-200px * 6));
    }
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 767px) {
    .recruiter-logo {
        max-height: 30px;
    }
    .logo-item {
        width: 150px;
    }
    @keyframes scrollRecruitersLeft {
        0% { transform: translateX(0); }
        100% { transform: translateX(calc(-150px * 6)); }
    }
    .recruiter-ticker-viewport {
        padding: 15px 0;
    }
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .paramed-placement-layer .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .internship-info-card {
        padding: 30px 20px !important;
        text-align: center;
    }
    .stat-item {
        border-left: none !important;
        border-top: 3px solid #ffc107;
        padding-top: 10px;
    }
    .placement-feature-box:hover {
        transform: none;
    }
    .recruiter-logo {
        max-height: 25px;
    }
}
/* --- PARAMEDICAL DOWNLOADS & RESOURCES STYLES --- */

.resource-card {
    transition: all 0.3s ease-in-out;
    background: #ffffff;
    border: 1px solid #f0f0f0;
}

.resource-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 33, 71, 0.1) !important;
}

.res-icon-box {
    width: 65px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    transition: 0.3s;
}

.resource-card:hover .res-icon-box {
    background: #002147;
    color: #ffc107 !important;
}

.btn-download-link {
    text-decoration: none;
    color: #002147;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    transition: 0.3s;
}

.btn-download-link:hover {
    color: #ffc107;
    padding-left: 5px;
}

/* Specific Border Colors for Variation */
.border-gold { border-left-color: #ffc107 !important; }
.border-navy { border-left-color: #002147 !important; }

/* Help Desk Strip styling */
.help-desk-strip {
    position: relative;
    z-index: 1;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .paramed-downloads-section .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .resource-card {
        padding: 20px !important;
    }
    .res-icon-box {
        width: 50px;
        height: 50px;
    }
    .res-icon-box i {
        font-size: 1.2rem;
    }
    .help-desk-strip {
        text-align: center;
    }
}
/* --- BIOSCIENCE OVERVIEW STYLES --- */

.bioscience-overview {
    position: relative;
    z-index: 1;
}

.transition-hover {
    transition: 0.3s ease;
}

.transition-hover:hover {
    transform: translateY(-5px);
    border-color: #002147 !important;
}

/* Image Stacking Logic */
.bio-visual-stack {
    padding-bottom: 50px;
}

.main-bio-img {
    position: relative;
    z-index: 2;
    transform: rotate(2deg);
    transition: 0.5s;
}

.main-bio-img:hover {
    transform: rotate(0deg) scale(1.02);
}

.sub-bio-img {
    position: absolute;
    bottom: -30px;
    left: -30px;
    width: 220px;
    z-index: 3;
    transition: 0.5s;
}

.sub-bio-img:hover {
    transform: translateY(-10px);
}

/* Floating Badge Animation */
.bio-floating-badge {
    position: absolute;
    top: -20px;
    right: 10px;
    z-index: 4;
    border: 3px solid #fff;
    min-width: 120px;
    animation: bioFloat 3s infinite ease-in-out;
}

@keyframes bioFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

/* Highlights Strip */
.bio-highlights-strip {
    border-bottom: 5px solid #ffc107;
}

.line-height-1 {
    line-height: 1.1;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .bioscience-overview {
        text-align: center;
    }
    .header-line {
        margin: 0 auto 20px;
    }
    .bio-content-wrapper .d-flex {
        justify-content: center;
    }
    .bio-visual-stack {
        margin-top: 50px;
    }
    .main-bio-img {
        transform: none;
    }
    .border-end-md {
        border-right: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding-bottom: 15px;
    }
}

@media (min-width: 768px) {
    .border-end-md {
        border-right: 1px solid rgba(255, 255, 255, 0.1);
    }
}

@media (max-width: 767px) {
    .bio-floating-badge {
        right: 50%;
        margin-right: -60px;
    }
    .display-4 {
        font-size: 2.2rem;
    }
}
/* --- BIOSCIENCE PROGRAM CARD STYLES --- */

.course-detail-card {
    transition: all 0.4s ease;
    border: 1px solid #eee !important;
}

.course-detail-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 33, 71, 0.1) !important;
    border-color: #ffc107 !important;
}

/* Floating Intake Circle */
.intake-circle {
    width: 65px;
    height: 65px;
    background: #ffffff;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 11px;
    line-height: 1;
    border: 3px solid #ffc107;
}

.intake-circle.border-navy {
    border-color: #002147;
}

.intake-circle strong {
    font-size: 1.25rem;
}

/* Stat Box Logic */
.bio-stat-item {
    min-height: 55px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.extra-small {
    font-size: 12.5px;
    line-height: 1.6;
}

/* Info Panels */
.info-block {
    border-bottom: 1px dashed #eee;
    padding-bottom: 15px;
}

.info-block:last-child {
    border-bottom: none;
}

/* Button Customization */
.btn-outline-navy {
    border: 1.5px solid #002147;
    color: #002147;
    transition: 0.3s;
}

.btn-outline-navy:hover {
    background-color: #002147;
    color: #fff;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .course-detail-card {
        margin-bottom: 10px;
    }
}

@media (max-width: 767px) {
    .display-6 {
        font-size: 1.8rem;
    }
    .course-header-banner h3 {
        font-size: 1.4rem;
    }
    .intake-circle {
        width: 55px;
        height: 55px;
    }
    .intake-circle strong {
        font-size: 1rem;
    }
}
/* --- BIOSCIENCE INFRASTRUCTURE STYLES --- */

.bio-infra-card {
    background: #ffffff;
    border: 1px solid #f0f0f0;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.bio-infra-img {
    height: 220px;
    overflow: hidden;
}

.bio-infra-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* Floating Icon Styling */
.bio-infra-icon {
    width: 55px;
    height: 55px;
    background: #002147;
    color: #ffc107;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    font-size: 1.5rem;
    margin-top: -55px; /* Overlaps the image layer */
    position: relative;
    z-index: 5;
    border: 3px solid #ffffff;
    transition: 0.3s;
}

.bio-infra-icon.box-gold {
    background: #ffc107;
    color: #002147;
}

/* Hover Effects */
.bio-infra-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 33, 71, 0.12) !important;
    border-color: #ffc107;
}

.bio-infra-card:hover .bio-infra-img img {
    transform: scale(1.1);
}

.bio-infra-card:hover .bio-infra-icon {
    transform: rotateY(360deg);
}

.bio-infra-card h5 {
    margin-top: 10px;
    transition: 0.3s;
}

.bio-infra-card:hover h5 {
    color: #ffc107;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .bio-infra-img {
        height: 180px;
    }
}

@media (max-width: 767px) {
    .bio-infra-section .display-6 {
        font-size: 1.8rem;
    }
    .bio-infra-body {
        padding: 20px !important;
    }
    .bio-infra-body h5 {
        font-size: 1.1rem;
    }
}
/* --- BIOSCIENCE CURRICULUM SECTION STYLES --- */

.bio-activity-card {
    transition: all 0.3s ease;
    border: 1px solid #f0f0f0;
}

.bio-activity-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 33, 71, 0.08) !important;
}

.activity-icon-wrap {
    width: 50px;
    height: 50px;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1.5rem;
    transition: 0.3s;
}

.bio-activity-card:hover .activity-icon-wrap {
    background: #002147;
}

.bio-activity-card:hover .activity-icon-wrap i {
    color: #ffc107 !important;
    transform: scale(1.1);
}

/* Activity Checklist */
.activity-points {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px dashed #eee;
}

.activity-points li {
    font-size: 12px;
    font-weight: 700;
    color: #002147;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
}

.activity-points li i {
    margin-right: 8px;
}

/* Syllabus Strip Decoration */
.syllabus-view-strip::after {
    content: "\f02d"; /* Book Icon FontAwesome */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    right: 20px;
    bottom: -30px;
    font-size: 8rem;
    color: rgba(255, 255, 255, 0.03);
    z-index: 1;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .bio-curriculum-section .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .bio-activity-card {
        padding: 25px 20px !important;
    }
    .bio-activity-card h5 {
        font-size: 1.1rem;
    }
    .syllabus-view-strip {
        text-align: center;
    }
    .syllabus-view-strip .btn {
        width: 100%;
    }
}
/* --- BIOSCIENCE RESEARCH HUB STYLES --- */

.res-stat-card {
    background-color: #ffffff;
    transition: 0.3s ease;
}

.res-stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 33, 71, 0.1) !important;
}

.res-stat-card h3 {
    font-size: 2rem;
}

/* Thrust Box Styling */
.thrust-box {
    transition: 0.3s;
    border: 1px solid transparent;
}

.thrust-box:hover {
    background-color: #ffffff !important;
    border-color: #ffc107;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    transform: scale(1.03);
}

/* Publication Box Styling */
.publication-list-box {
    z-index: 1;
}

.pub-item .badge {
    font-size: 9px;
    letter-spacing: 0.5px;
}

.pub-bg-icon {
    position: absolute;
    bottom: -30px;
    right: -20px;
    font-size: 9rem;
    color: rgba(255, 255, 255, 0.04);
    z-index: -1;
    transform: rotate(-15deg);
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .bio-research-hub .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .res-stat-card h3 {
        font-size: 1.5rem;
    }
    .thrust-box {
        text-align: center;
        padding: 20px !important;
    }
    .publication-list-box {
        padding: 30px 20px !important;
    }
    .pub-bg-icon {
        font-size: 6rem;
    }
}
/* --- INFINITE SCROLL & BORDER STYLES --- */

/* Section Outer Blue Border */
.section-blue-border {
    border: 3px solid #002147; 
}

/* Scroll Animation Logic */
.scroll-container {
    width: 100%;
    overflow: hidden;
    padding: 20px 0;
}

.scroll-track {
    display: flex;
    width: max-content; /* Dynamic width based on items */
    animation: scrollLeft 25s linear infinite;
}

/* Pause animation on hover */
.scroll-track:hover {
    animation-play-state: paused;
}

@keyframes scrollLeft {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); } /* Moves halfway (through the first set) then resets */
}

/* Item Width and Dividers */
.topper-item {
    flex: 0 0 300px; /* Fixed width for each card container */
    display: flex;
    justify-content: center;
    border-right: 2px solid rgba(0, 33, 71, 0.15); /* Blue divider between photos */
}

/* Existing Card Styles */
.topper-card {
    width: 100%;
    transition: all 0.4s ease;
    border: 1px solid #eee !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.topper-card:hover {
    transform: translateY(-10px);
    border-color: #ffc107 !important;
}

.topper-img-box img {
    width: 110px;
    height: 110px;
    object-fit: cover;
}

.medal-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 35px;
    height: 35px;
    background: #ffc107;
    color: #002147;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.5;
}

/* --- THE REST REMAINS UNCHANGED --- */

.exam-pill {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 193, 7, 0.3);
    padding: 8px 15px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
}

.bio-ghost-icon {
    position: absolute;
    bottom: -20px;
    right: -10px;
    font-size: 8rem;
    color: rgba(255, 255, 255, 0.03);
}

.win-strip {
    transition: 0.3s;
}

.win-strip:hover {
    transform: translateX(10px);
}

.win-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}
/* --- BIOSCIENCE PLACEMENT SECTION STYLES --- */

.bio-training-card {
    z-index: 1;
    transition: 0.4s;
}

.bio-placement-bg-icon {
    position: absolute;
    bottom: -20px;
    right: -10px;
    font-size: 8rem;
    color: rgba(255, 255, 255, 0.04);
    z-index: -1;
    transform: rotate(-15deg);
}

.placement-feature {
    transition: all 0.3s ease;
    cursor: default;
    height: 100%;
}

.placement-feature:hover {
    background: #ffffff !important;
    border-color: #ffc107 !important;
    transform: translateX(10px);
}

.p-icon-box {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1.2rem;
    flex-shrink: 0;
}

/* Hiring Sector Tags */
.bio-sector-tag {
    background: #f8f9fa;
    color: #002147;
    padding: 8px 18px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
    border: 1.5px solid #eee;
    transition: 0.3s;
}

.bio-sector-tag:hover {
    background: #002147;
    color: #ffc107;
    border-color: #002147;
    transform: scale(1.05);
}

/* --- Recruiter Infinite Scroll --- */

.recruiter-scroll-container {
    overflow: hidden; /* Hides the logos outside the view */
    padding: 20px 0;
    width: 100%;
    white-space: nowrap;
    position: relative;
}

.recruiter-track {
    display: flex;
    width: max-content; /* Ensure the track is as wide as all logos combined */
    animation: scrollLogos 20s linear infinite;
}

/* Pause animation on hover so users can see the logo clearly */
.recruiter-track:hover {
    animation-play-state: paused;
}

@keyframes scrollLogos {
    0% {
        transform: translateX(0);
    }
    100% {
        /* Move by exactly half (the first set of logos) */
        transform: translateX(-50%);
    }
}

.logo-item {
    padding: 0 30px; /* Space between logos */
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Original Recruiter Logo Styles */
.bio-recruiter-logo {
    filter: grayscale(100%);
    opacity: 0.5;
    transition: 0.3s;
    max-height: 35px;
    width: auto;
}

.bio-recruiter-logo:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.15);
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 768px) {
    .recruiter-track {
        animation-duration: 15s; /* Slightly faster on small screens if needed */
    }
    .logo-item {
        padding: 0 15px; /* Reduce spacing on mobile */
    }
    .bio-recruiter-logo {
        max-height: 25px; /* Smaller logos on mobile */
    }
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .bio-placement-layer .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .bio-training-card {
        padding: 30px 20px !important;
        text-align: center;
    }
    .stat-highlight {
        border-left: none !important;
        border-top: 3px solid #ffc107;
        padding-top: 10px;
    }
    .placement-feature:hover {
        transform: none;
    }
    .bio-recruiter-logo {
        max-height: 25px;
    }
    .bio-sector-tag {
        font-size: 11px;
    }
}
/* --- BIOSCIENCE DOWNLOADS SECTION STYLES --- */

.res-card {
    transition: all 0.3s ease;
    border: 1px solid #f1f1f1 !important;
}

.res-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 33, 71, 0.1) !important;
    border-color: #ffc107 !important;
}

.res-icon-box {
    width: 65px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    transition: 0.3s;
}

.res-card:hover .res-icon-box {
    background: #002147;
    color: #ffc107 !important;
}

.res-download-btn {
    text-decoration: none;
    color: #002147;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: 0.3s;
}

.res-download-btn:hover {
    color: #ffc107;
    padding-left: 5px;
}

/* Support Strip Decoration */
.bio-ghost-icon-support {
    position: absolute;
    right: 20px;
    bottom: -20px;
    font-size: 7rem;
    color: rgba(255, 255, 255, 0.04);
    z-index: 1;
    transform: rotate(-10deg);
}

/* Mobile Fixes */
@media (max-width: 991px) {
    .bio-downloads-section .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .res-card {
        padding: 20px !important;
    }
    .res-icon-box {
        width: 50px;
        height: 50px;
    }
    .res-icon-box i {
        font-size: 1.25rem;
    }
    .bio-support-strip {
        border-radius: 20px !important;
    }
    .bio-support-strip .btn {
        width: 100%;
    }
}
/* --- BIO QUICK HUB & CTA STYLES --- */

.bio-quick-hub {
    background-color: #f8f9fa;
}

/* Link Card Hub */
.bio-hub-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    padding: 25px 15px;
    border-radius: 15px;
    text-decoration: none;
    text-align: center;
    border: 1px solid #eee;
    transition: all 0.3s ease;
    height: 100%;
}

.bio-hub-card i {
    font-size: 2rem;
    color: #002147;
    margin-bottom: 12px;
    transition: 0.3s;
}

.bio-hub-card span {
    font-size: 13px;
    font-weight: 700;
    color: #444;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Default Active/Highlighted Card */
.active-hub {
    border-color: #ffc107;
    background: #fff9e6;
}

/* Hover States */
.bio-hub-card:hover {
    background: #002147;
    border-color: #002147;
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 33, 71, 0.15) !important;
}

.bio-hub-card:hover i,
.bio-hub-card:hover span {
    color: #ffc107;
}

/* Counseling Strip Styles */
.counseling-strip {
    border-bottom: 5px solid #ffc107 !important;
}

.btn-success {
    background-color: #25d366;
    border-color: #25d366;
}

.btn-success:hover {
    background-color: #128c7e;
    border-color: #128c7e;
    color: #fff;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .bio-hub-card {
        padding: 20px 10px;
    }
    .bio-hub-card i {
        font-size: 1.5rem;
    }
    .bio-hub-card span {
        font-size: 11px;
    }
}

@media (max-width: 767px) {
    .bio-quick-hub .display-6 {
        font-size: 1.8rem;
    }
    .counseling-strip {
        padding: 25px 15px !important;
        text-align: center;
    }
    .counseling-strip .btn {
        width: 100%;
        margin-bottom: 5px;
    }
    .expert-avatar {
        margin-bottom: 15px;
    }
}
/* --- COMPUTER & MANAGEMENT OVERVIEW STYLES --- */

.mgmt-comp-overview {
    position: relative;
    z-index: 1;
}

.transition-hover {
    transition: 0.3s ease;
}

.transition-hover:hover {
    transform: translateY(-5px);
    border-color: #002147 !important;
    background: #ffffff !important;
}

/* Image Layering Logic */
.dept-visual-stack {
    padding-bottom: 40px;
}

.main-dept-img {
    position: relative;
    z-index: 2;
    transform: perspective(1000px) rotateY(-8deg); /* Modern angled look */
    transition: 0.6s ease;
}

.main-dept-img:hover {
    transform: perspective(1000px) rotateY(0deg);
}

.sub-dept-img {
    position: absolute;
    bottom: -30px;
    left: -30px;
    width: 250px;
    z-index: 3;
    transition: 0.5s;
}

.sub-dept-img:hover {
    transform: translateY(-10px) scale(1.05);
}

/* Floating Animation for Stats Badge */
.dept-floating-badge {
    position: absolute;
    top: -20px;
    right: 20px;
    z-index: 4;
    min-width: 140px;
    border: 3px solid #fff;
    animation: bounceSlow 3s infinite ease-in-out;
}

@keyframes bounceSlow {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

/* Highlights Strip Styling */
.dept-highlights-strip {
    border-bottom: 5px solid #ffc107;
}

.lh-1 { line-height: 1.1; }

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .mgmt-comp-overview {
        text-align: center;
    }
    .header-line {
        margin: 0 auto 20px;
    }
    .dept-content-wrap .d-flex {
        justify-content: center;
    }
    .dept-visual-stack {
        margin-top: 50px;
    }
    .main-dept-img {
        transform: none; /* Flatten for mobile performance */
    }
    .highlight-border-end {
        border-right: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding-bottom: 15px;
        margin-bottom: 15px;
    }
}

@media (min-width: 768px) {
    .highlight-border-end {
        border-right: 1px solid rgba(255, 255, 255, 0.1);
    }
}

@media (max-width: 767px) {
    .dept-floating-badge {
        right: 50%;
        margin-right: -70px;
    }
    .display-4 {
        font-size: 2.2rem;
    }
}
/* --- COURSE PORTFOLIO STYLES --- */

.course-master-card {
    transition: all 0.4s ease;
    border: 1px solid #eee !important;
}

.course-master-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 33, 71, 0.12) !important;
    border-color: #ffc107 !important;
}

/* Banner area */
.intake-box {
    text-align: center;
    border-left: 1px solid rgba(255, 255, 255, 0.2);
    padding-left: 20px;
    line-height: 1.2;
}

.intake-box.border-navy {
    border-left-color: rgba(0, 33, 71, 0.2);
}

/* Stat Pills */
.stat-pill {
    min-height: 55px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.extra-small {
    font-size: 12px;
    line-height: 1.5;
}

.btn-outline-navy {
    border: 1.5px solid #002147;
    color: #002147;
    transition: 0.3s;
}

.btn-outline-navy:hover {
    background-color: #002147;
    color: #fff;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .course-master-card {
        margin-bottom: 10px;
    }
}

@media (max-width: 767px) {
    .course-banner h3 {
        font-size: 1.4rem;
    }
    .intake-box {
        padding-left: 10px;
    }
    .stat-pill span {
        font-size: 11px;
    }
}
/* --- COMPUTER & MANAGEMENT INFRASTRUCTURE STYLES --- */

.mgmt-infra-card {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    border: 1px solid #f0f0f0;
}

.mgmt-infra-img {
    height: 220px;
    overflow: hidden;
    position: relative;
}

.mgmt-infra-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* Overlapping Icon Logic */
.mgmt-infra-icon {
    width: 55px;
    height: 55px;
    background: #002147;
    color: #ffc107;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1.5rem;
    margin-top: -55px; /* Overlaps the image area */
    position: relative;
    z-index: 5;
    border: 3px solid #ffffff;
    transition: 0.3s;
}

.mgmt-infra-icon.icon-gold {
    background: #ffc107;
    color: #002147;
}

/* Hover States */
.mgmt-infra-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 33, 71, 0.12) !important;
    border-color: #ffc107;
}

.mgmt-infra-card:hover .mgmt-infra-img img {
    transform: scale(1.1);
}

.mgmt-infra-card:hover .mgmt-infra-icon {
    transform: rotateY(360deg);
}

.mgmt-infra-card h5 {
    margin-top: 10px;
    transition: 0.3s;
}

.mgmt-infra-card:hover h5 {
    color: #ffc107;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .mgmt-infra-img {
        height: 180px;
    }
}

@media (max-width: 767px) {
    .mgmt-infra-section .display-6 {
        font-size: 1.8rem;
    }
    .mgmt-infra-body {
        padding: 20px !important;
    }
    .mgmt-infra-body h5 {
        font-size: 1.1rem;
    }
}
/* --- COMPUTER & MANAGEMENT INFRASTRUCTURE STYLES --- */

.mgmt-infra-card {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    border: 1px solid #f0f0f0;
}

.mgmt-infra-img {
    height: 220px;
    overflow: hidden;
    position: relative;
}

.mgmt-infra-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* Overlapping Icon Logic */
.mgmt-infra-icon {
    width: 55px;
    height: 55px;
    background: #002147;
    color: #ffc107;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1.5rem;
    margin-top: -55px; /* Overlaps the image area */
    position: relative;
    z-index: 5;
    border: 3px solid #ffffff;
    transition: 0.3s;
}

.mgmt-infra-icon.icon-gold {
    background: #ffc107;
    color: #002147;
}

/* Hover States */
.mgmt-infra-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 33, 71, 0.12) !important;
    border-color: #ffc107;
}

.mgmt-infra-card:hover .mgmt-infra-img img {
    transform: scale(1.1);
}

.mgmt-infra-card:hover .mgmt-infra-icon {
    transform: rotateY(360deg);
}

.mgmt-infra-card h5 {
    margin-top: 10px;
    transition: 0.3s;
}

.mgmt-infra-card:hover h5 {
    color: #ffc107;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .mgmt-infra-img {
        height: 180px;
    }
}

@media (max-width: 767px) {
    .mgmt-infra-section .display-6 {
        font-size: 1.8rem;
    }
    .mgmt-infra-body {
        padding: 20px !important;
    }
    .mgmt-infra-body h5 {
        font-size: 1.1rem;
    }
}

/* --- SECTION STYLES WITH BLUE BORDER --- */
.student-achievement-section {
    border: 4px solid #4500d0; /* Navy Blue Border for the section */
    border-radius: 15px;
    margin: 20px 0;
    overflow: hidden;
}

/* 1. Container Setup */
.topper-slider-container {
    width: 100%;
    overflow: hidden; /* Clips the items as they slide out */
    background: transparent;
    padding: 20px 0;
}

/* 2. Moving Track */
.topper-track {
    display: flex;
    width: max-content; /* Track width fits all duplicated cards */
    animation: scrollInfinite 25s linear infinite;
}

/* 3. Individual Item (Mobile Responsive Widths) */
.topper-item {
    flex: 0 0 300px; /* Each card container is 300px wide */
    pointer-events: auto;
}

/* 4. Pause on hover */
.topper-track:hover {
    animation-play-state: paused;
}

/* 5. Seamless Animation (Moves 50% because content is duplicated) */
@keyframes scrollInfinite {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%); 
    }
}

/* --- Original Card Styles --- */
.topper-card-mgmt {
    transition: all 0.4s ease;
    border: 1px solid #f0f0f0;
}

.topper-card-mgmt:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 33, 71, 0.08) !important;
}

.topper-img-box img {
    width: 110px;
    height: 110px;
    object-fit: cover;
}

.rank-tag {
    position: absolute;
    top: 15px;
    right: -30px;
    transform: rotate(45deg);
    width: 120px;
    font-size: 0.75rem;
    font-weight: bold;
    padding: 5px 0;
    z-index: 2;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 768px) {
    .topper-item {
        flex: 0 0 260px; /* Narrower cards on mobile for better fit */
    }
    
    .student-achievement-section {
        border-width: 2px; /* Thinner border on mobile screens */
    }

    .topper-track {
        animation-duration: 15s; /* Slightly faster on small screens if needed */
    }
}
/* Activity Checklist */
.act-checklist li {
    font-size: 12px;
    font-weight: 700;
    color: #002147;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
}

/* Learning Philosophy Banner Deco */
.bg-shape-deco {
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 193, 7, 0.05));
    clip-path: polygon(25% 0%, 100% 0%, 100% 100%, 0% 100%);
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .mgmt-activities-section .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .mgmt-act-card {
        padding: 30px 20px !important;
        text-align: center;
    }
    .act-icon-box {
        margin: 0 auto 15px;
    }
    .act-checklist li {
        justify-content: center;
    }
    .bg-navy h3 {
        font-size: 1.5rem;
    }
}
/* --- RESEARCH & PUBLICATIONS HUB STYLES --- */

.res-stat-card {
    background: #ffffff;
    transition: 0.3s ease;
}

.res-stat-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 25px rgba(0, 33, 71, 0.1) !important;
}

.res-stat-card h3 {
    font-size: 2rem;
}

/* Research Areas List */
.thrust-item {
    transition: 0.3s;
    cursor: default;
}

.thrust-item:hover {
    background: #ffffff !important;
    border-left-color: #ffc107 !important;
    transform: translateX(10px);
}

/* Publication Card Styling */
.journal-card {
    z-index: 1;
}

.pub-entry {
    transition: 0.3s;
}

.pub-entry:hover {
    background: rgba(255, 255, 255, 0.05);
    padding-left: 5px;
}

.research-ghost-icon {
    font-family: "Font Awesome 6 Free";
    position: absolute;
    bottom: -20px;
    right: -10px;
    font-size: 8rem;
    color: rgba(255, 255, 255, 0.03);
    z-index: -1;
    transform: rotate(-15deg);
}

.btn-gold {
    background: #ffc107;
    color: #002147;
    border: 2px solid #ffc107;
    transition: 0.3s;
}

.btn-gold:hover {
    background: transparent;
    color: #ffffff;
    border-color: #ffffff;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .mgmt-research-hub .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .res-stat-card h3 {
        font-size: 1.5rem;
    }
    .res-stat-card p {
        font-size: 9px;
    }
    .thrust-item {
        padding: 15px !important;
    }
    .journal-card {
        padding: 30px 20px !important;
        text-align: center;
    }
    .pub-entry {
        text-align: left;
    }
    .research-ghost-icon {
        font-size: 6rem;
    }
}
/* --- COMPUTER & MANAGEMENT ACHIEVEMENTS STYLES --- */

.topper-card-mgmt {
    transition: all 0.4s ease;
    border: 1px solid #f0f0f0 !important;
}

.topper-card-mgmt:hover {
    transform: translateY(-10px);
    border-color: #ffc107 !important;
    box-shadow: 0 20px 40px rgba(0, 33, 71, 0.1) !important;
}

/* Floating Rank Tag */
.rank-tag {
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    background: #ffc107;
    color: #002147;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    padding: 4px 15px;
    border-radius: 50px;
    z-index: 5;
    letter-spacing: 1px;
}

.topper-img-box img {
    width: 110px;
    height: 110px;
    object-fit: cover;
    transition: 0.4s;
}

.topper-card-mgmt:hover .topper-img-box img {
    transform: scale(1.1);
    border-color: #ffc107 !important;
}

/* Skill Pills Styling */
.skill-pill {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 193, 7, 0.3);
    padding: 8px 15px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
    transition: 0.3s;
}

.skill-pill:hover {
    background: #ffc107;
    color: #002147;
}

.mgmt-ghost-icon {
    position: absolute;
    bottom: -20px;
    right: -10px;
    font-size: 8rem;
    color: rgba(255, 255, 255, 0.03);
    z-index: 1;
}

/* --- WINS VERTICAL INFINITE SCROLL --- */

.win-scroll-container {
    height: 300px; /* Adjust height to show ~3 items at a time */
    position: relative;
    border: 1px solid #eee;
}

.win-scroll-track {
    display: flex;
    flex-direction: column;
    animation: scrollVertical 15s linear infinite;
}

/* Pause scroll on hover */
.win-scroll-container:hover .win-scroll-track {
    animation-play-state: paused;
}

/* The vertical animation logic */
@keyframes scrollVertical {
    0% {
        transform: translateY(0);
    }
    100% {
        /* Moves up by exactly half (the size of the first 3 items) */
        transform: translateY(-50%);
    }
}

/* Item styling and Line Separator */
.win-item {
    border-bottom: 1px solid #f0f0f0; /* The Line Separator */
}

.win-item:last-child {
    border-bottom: none;
}

/* Original Win Strip Styles */
.win-strip {
    transition: 0.3s;
    cursor: default;
    height: 100px; /* Consistent height for smooth scrolling */
    display: flex;
}

.win-strip:hover {
    background-color: #fff9e6 !important; /* Subtle highlight */
}

.win-icon-box {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1.2rem;
    flex-shrink: 0;
}

/* --- MOBILE RESPONSIVENESS --- */

@media (max-width: 767px) {
    .win-scroll-container {
        height: 280px; /* Slightly shorter on mobile */
    }
    
    .win-strip {
        height: auto; /* Allow height to expand for long text */
        min-height: 90px;
        padding: 15px !important;
    }

    /* Recalculate animation if text wraps significantly */
    .win-scroll-track {
        animation-duration: 12s; /* Speed up slightly on mobile */
    }
}


/* --- COMPUTER & MGMT PLACEMENT STYLES --- */

.placement-stat-card {
    border-bottom: 4px solid #ffc107;
    transition: 0.3s;
}

.placement-stat-card:hover {
    transform: translateY(-5px);
    background: #ffffff !important;
    border-color: #002147;
}

/* Training Pillars (Navy Box) */
.training-pillar-box {
    z-index: 1;
}

.train-num {
    width: 40px;
    height: 40px;
    background: #ffc107;
    color: #002147;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    flex-shrink: 0;
}

.placement-ghost-icon {
    position: absolute;
    bottom: -20px;
    right: -10px;
    font-size: 8rem;
    color: rgba(255, 255, 255, 0.03);
    z-index: -1;
    transform: rotate(-15deg);
}

/* Sector Card Hover */
.sector-card {
    transition: 0.3s;
}

.sector-card:hover {
    border-color: #ffc107 !important;
    transform: translateX(10px);
}

.sector-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1.25rem;
    flex-shrink: 0;
    transition: 0.3s;
}

.sector-card:hover .sector-icon {
    background: #002147;
    color: #ffc107;
}

/* --- INFINITE SCROLL MARQUEE --- */

.recruiter-marquee {
    overflow: hidden; /* Hides logos as they slide out */
    padding: 10px 0;
    width: 100%;
    position: relative;
    /* Optional: creates a fade effect at edges */
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

.recruiter-track {
    display: flex;
    width: max-content; /* Ensure the container is as wide as all logos combined */
    animation: scrollLeft 25s linear infinite;
}

/* Pause scroll when user hovers */
.recruiter-track:hover {
    animation-play-state: paused;
}

@keyframes scrollLeft {
    0% {
        transform: translateX(0);
    }
    100% {
        /* Moves track by exactly half because we duplicated the items */
        transform: translateX(-50%);
    }
}

.logo-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 40px; /* Space between logos */
    flex-shrink: 0;
}

/* Original Recruiter Logo Styles */
.recruiter-logo-img {
    filter: grayscale(100%);
    opacity: 0.6;
    transition: 0.3s;
    max-height: 35px;
    width: auto;
}

.recruiter-logo-img:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.15);
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 768px) {
    .logo-slide {
        padding: 0 20px; /* Less space on mobile */
    }
    .recruiter-logo-img {
        max-height: 25px; /* Smaller logos for smaller screens */
    }
    .recruiter-track {
        animation-duration: 15s; /* Speed up a bit on mobile since total width is less */
    }
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .mgmt-placement-layer .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .placement-stat-card h2 {
        font-size: 1.5rem;
    }
    .training-pillar-box {
        padding: 30px 20px !important;
        text-align: left;
    }
    .sector-card:hover {
        transform: none; /* Better UX for touch */
    }
    .recruiter-logo-img {
        max-height: 25px;
    }
}


/* --- DOWNLOADS & RESOURCES STYLES --- */

.res-download-card {
    transition: all 0.3s ease-in-out;
    border: 1px solid #f0f0f0 !important;
}

.res-download-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0, 33, 71, 0.12) !important;
    border-color: #ffc107 !important;
}

.res-type-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    transition: 0.3s;
}

.res-download-card:hover .res-type-icon {
    background: #002147;
    color: #ffc107 !important;
}

/* Small Download Button */
.btn-navy-sm {
    background-color: #002147;
    color: #fff;
    font-size: 12px;
    padding: 10px;
    border: 1.5px solid #002147;
    transition: 0.3s;
}

.btn-navy-sm:hover {
    background-color: transparent;
    color: #002147;
}

/* Border Variations */
.border-navy { border-left-color: #002147 !important; }
.border-gold { border-left-color: #ffc107 !important; }

.rounded-pill-md {
    border-radius: 50px;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .mgmt-downloads-section .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .res-download-card {
        padding: 25px 20px !important;
    }
    .res-type-icon {
        width: 50px;
        height: 50px;
    }
    .res-type-icon i {
        font-size: 1.25rem;
    }
    .rounded-pill-md {
        border-radius: 20px;
    }
}
/* --- COMPUTER & MGMT QUICK HUB STYLES --- */

.mgmt-quick-hub {
    background-color: #ffffff;
}

/* Link Card Styling */
.mgmt-utility-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    padding: 25px 15px;
    border-radius: 15px;
    text-decoration: none;
    text-align: center;
    border: 1px solid #eee;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    height: 100%;
}

.mgmt-utility-card i {
    font-size: 2.2rem;
    color: #002147;
    margin-bottom: 12px;
    transition: 0.3s;
}

.mgmt-utility-card span {
    font-size: 13px;
    font-weight: 700;
    color: #444;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Highlighting the Apply Card */
.active-utility {
    border-color: #ffc107;
    background: #fff9e6;
}

/* Interactive Hover Logic */
.mgmt-utility-card:hover {
    background: #002147;
    border-color: #002147;
    transform: translateY(-8px);
    box-shadow: 0 12px 25px rgba(0, 33, 71, 0.15) !important;
}

.mgmt-utility-card:hover i,
.mgmt-utility-card:hover span {
    color: #ffc107;
}

/* Concluding Support Strip */
.mgmt-support-strip {
    background: #ffffff;
    border-left: 6px solid #002147 !important;
}

.btn-success {
    background-color: #25d366;
    border-color: #25d366;
    color: #fff;
}

.btn-success:hover {
    background-color: #128c7e;
    color: #fff;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .mgmt-utility-card {
        padding: 20px 10px;
    }
    .mgmt-utility-card i {
        font-size: 1.6rem;
    }
    .mgmt-utility-card span {
        font-size: 11px;
    }
}

@media (max-width: 767px) {
    .mgmt-quick-hub .display-6 {
        font-size: 1.8rem;
    }
    .mgmt-support-strip {
        padding: 25px 15px !important;
        text-align: center;
        border-left: none !important;
        border-top: 6px solid #002147 !important;
        border-radius: 20px !important;
    }
    .mgmt-support-strip .btn {
        width: 100%;
        margin-bottom: 5px;
    }
    .expert-avatar {
        margin-bottom: 15px;
    }
}
/* --- EDUCATION DEPARTMENT OVERVIEW STYLES --- */

.edu-dept-overview {
    position: relative;
    z-index: 1;
}

.transition-hover {
    transition: 0.3s ease;
}

.transition-hover:hover {
    transform: translateY(-5px);
    border-color: #002147 !important;
    background: #ffffff !important;
}

/* Image Stacking Logic */
.edu-visual-stack {
    padding-bottom: 50px;
}

.main-edu-img {
    position: relative;
    z-index: 2;
    transform: perspective(1000px) rotateY(-5deg);
    transition: 0.6s ease;
}

.main-edu-img:hover {
    transform: perspective(1000px) rotateY(0deg);
}

.sub-edu-img {
    position: absolute;
    bottom: -30px;
    left: -30px;
    width: 220px;
    z-index: 3;
    transition: 0.5s;
}

.sub-edu-img:hover {
    transform: translateY(-10px);
}

/* Floating Badge Animation */
.edu-floating-badge {
    position: absolute;
    top: -20px;
    right: 10px;
    z-index: 4;
    min-width: 130px;
    border: 3px solid #fff;
    animation: eduBounce 3s infinite ease-in-out;
}

@keyframes eduBounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

/* Highlights Strip Styling */
.edu-highlights-strip {
    border-bottom: 5px solid #ffc107;
}

.lh-1 { line-height: 1.1; }

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .edu-dept-overview {
        text-align: center;
    }
    .header-line {
        margin: 0 auto 20px;
    }
    .edu-content-wrap .d-flex {
        justify-content: center;
    }
    .edu-visual-stack {
        margin-top: 50px;
    }
    .main-edu-img {
        transform: none; /* Better mobile rendering */
    }
    .edu-border-end {
        border-right: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding-bottom: 15px;
        margin-bottom: 15px;
    }
}

@media (min-width: 768px) {
    .edu-border-end {
        border-right: 1px solid rgba(255, 255, 255, 0.1);
    }
}

@media (max-width: 767px) {
    .edu-floating-badge {
        right: 50%;
        margin-right: -65px;
    }
    .display-4 {
        font-size: 2.2rem;
    }
}

/* --- EDUCATION PROGRAM CARD STYLES --- */

.edu-program-card {
    transition: all 0.4s ease;
    border: 1px solid #eee !important;
}

.edu-program-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 33, 71, 0.12) !important;
    border-color: #ffc107 !important;
}

/* Intake Badge Styling */
.edu-intake-badge {
    width: 65px;
    height: 65px;
    background: #ffffff;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 11px;
    line-height: 1.1;
    border: 2.5px solid #ffc107;
}

.edu-intake-badge.border-navy {
    border-color: #002147;
}

.edu-intake-badge strong {
    font-size: 1.3rem;
}

/* Stat Box Logic */
.edu-stat-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.extra-small {
    font-size: 12.5px;
    line-height: 1.6;
}

/* Content Divider */
.edu-info-content .mb-3 {
    border-bottom: 1px dashed #eee;
    padding-bottom: 15px;
}

/* Button Refinement */
.btn-outline-navy {
    border: 1.5px solid #002147;
    color: #002147;
    transition: 0.3s;
}

.btn-outline-navy:hover {
    background-color: #002147;
    color: #fff;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .edu-program-card {
        margin-bottom: 15px;
    }
}

@media (max-width: 767px) {
    .edu-programs-section .display-6 {
        font-size: 1.8rem;
    }
    .edu-header h3 {
        font-size: 1.5rem;
    }
    .edu-intake-badge {
        width: 55px;
        height: 55px;
    }
    .edu-intake-badge strong {
        font-size: 1.1rem;
    }
}
/* --- EDUCATION INFRASTRUCTURE STYLES --- */

.edu-infra-card {
    background: #ffffff;
    border: 1px solid #f0f0f0;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.edu-infra-img {
    height: 220px;
    overflow: hidden;
}

.edu-infra-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* Floating Icon Styling */
.edu-infra-icon {
    width: 55px;
    height: 55px;
    background: #002147;
    color: #ffc107;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1.5rem;
    margin-top: -55px; /* Overlaps the image area */
    position: relative;
    z-index: 5;
    border: 3px solid #ffffff;
    transition: 0.3s;
}

.edu-infra-icon.box-gold {
    background: #ffc107;
    color: #002147;
}

/* Hover States and Animations */
.edu-infra-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 33, 71, 0.12) !important;
    border-color: #ffc107;
}

.edu-infra-card:hover .edu-infra-img img {
    transform: scale(1.1);
}

.edu-infra-card:hover .edu-infra-icon {
    transform: rotateY(360deg);
}

.edu-infra-card h5 {
    margin-top: 10px;
    transition: 0.3s;
}

.edu-infra-card:hover h5 {
    color: #ffc107;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .edu-infra-img {
        height: 180px;
    }
}

@media (max-width: 767px) {
    .edu-infra-section .display-6 {
        font-size: 1.8rem;
    }
    .edu-infra-body {
        padding: 25px 20px !important;
    }
    .edu-infra-body h5 {
        font-size: 1.1rem;
    }
}
/* --- EDUCATION ACTIVITIES & CURRICULUM STYLES --- */

.edu-act-card {
    transition: all 0.3s ease;
    border: 1px solid #f0f0f0;
}

.edu-act-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 33, 71, 0.08) !important;
}

.act-icon-circle {
    width: 50px;
    height: 50px;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.4rem;
    transition: 0.3s;
}

.edu-act-card:hover .act-icon-circle {
    background: #002147;
}

.edu-act-card:hover .act-icon-circle i {
    color: #ffc107 !important;
}

/* Activity Tags */
.act-tags li {
    display: inline-block;
    margin-right: 5px;
    margin-bottom: 5px;
}

.act-tags .badge {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Pathway Strip Decoration */
.edu-ghost-icon {
    position: absolute;
    right: 10px;
    bottom: -20px;
    font-size: 8rem;
    color: rgba(255, 255, 255, 0.04);
    z-index: 1;
    transform: rotate(-15deg);
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .edu-activities-section .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .edu-act-card {
        padding: 25px 20px !important;
        text-align: center;
    }
    .act-icon-circle {
        margin: 0 auto 15px;
    }
    .edu-pathway-strip {
        text-align: center;
    }
    .edu-pathway-strip .btn {
        width: 100%;
        margin-top: 15px;
    }
}
/* --- EDUCATION ACHIEVEMENTS STYLES --- */

.edu-topper-card {
    transition: all 0.4s ease;
    border: 1px solid #f0f0f0 !important;
}

.edu-topper-card:hover {
    transform: translateY(-10px);
    border-color: #ffc107 !important;
    box-shadow: 0 15px 35px rgba(0, 33, 71, 0.1) !important;
}

.topper-avatar-wrap img {
    width: 110px;
    height: 110px;
    object-fit: cover;
    transition: 0.4s;
}

.edu-topper-card:hover .topper-avatar-wrap img {
    transform: scale(1.05);
    border-color: #ffc107 !important;
}

/* Medal Overlay */
.edu-medal {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 35px;
    height: 35px;
    background: #ffc107;
    color: #002147;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    z-index: 5;
    opacity: 0.4;
    transition: 0.3s;
}

.edu-topper-card:hover .edu-medal {
    opacity: 1;
    transform: rotate(15deg) scale(1.2);
}

/* Competitive Success Box */
.success-box-navy { z-index: 1; }

.qualifier-pill {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 193, 7, 0.3);
    padding: 10px 18px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    transition: 0.3s;
}

.qualifier-pill:hover {
    background: #ffc107;
    color: #002147;
}

.edu-watermark {
    position: absolute;
    bottom: -20px;
    right: -10px;
    font-size: 8rem;
    color: rgba(255, 255, 255, 0.03);
    z-index: -1;
    transform: rotate(-15deg);
}

/* Achievement Strips */
.achievement-strip {
    transition: 0.3s;
}

.achievement-strip:hover {
    background: #ffffff !important;
    border-color: #ffc107;
    transform: translateX(10px);
}

.ach-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1.2rem;
    flex-shrink: 0;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .edu-achievements-layer .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .edu-topper-card {
        padding: 30px 20px !important;
    }
    .success-box-navy {
        text-align: center;
    }
    .d-flex.flex-wrap {
        justify-content: center;
    }
    .achievement-strip:hover {
        transform: none;
    }
}
/* --- EDUCATION PLACEMENT SECTION STYLES --- */

.sip-info-card {
    z-index: 1;
    transition: 0.4s;
}

.edu-placement-bg-icon {
    position: absolute;
    bottom: -20px;
    right: -10px;
    font-size: 8rem;
    color: rgba(255, 255, 255, 0.04);
    z-index: -1;
    transform: rotate(-15deg);
}

.placement-feature-edu {
    transition: all 0.3s ease;
    cursor: default;
    height: 100%;
}

.placement-feature-edu:hover {
    border-color: #ffc107 !important;
    transform: translateX(10px);
    box-shadow: 0 10px 20px rgba(0, 33, 71, 0.08) !important;
}

.p-icon-box {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1.2rem;
    flex-shrink: 0;
}

/* School Partner Tags */
.school-partner-tag {
    display: block;
    padding: 10px;
    background: #ffffff;
    color: #002147;
    font-weight: 700;
    font-size: 13px;
    border: 1px solid #eee;
    border-radius: 8px;
    transition: 0.3s;
}

.school-partner-tag:hover {
    background: #002147;
    color: #ffc107;
    border-color: #002147;
    transform: scale(1.05);
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .edu-placement-layer .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .sip-info-card {
        padding: 30px 20px !important;
        text-align: center;
    }
    .stat-highlight-edu {
        border-left: none !important;
        border-top: 3px solid #ffc107;
        padding-top: 10px;
    }
    .placement-feature-edu:hover {
        transform: none;
    }
    .school-partner-tag {
        font-size: 11px;
    }
}
/* --- EDUCATION DOWNLOADS SECTION STYLES --- */

.edu-res-card {
    transition: all 0.3s ease;
    border: 1px solid #f1f1f1 !important;
}

.edu-res-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 33, 71, 0.1) !important;
    border-color: #ffc107 !important;
}

.edu-res-icon {
    width: 65px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    transition: 0.3s;
    flex-shrink: 0;
}

.edu-res-card:hover .edu-res-icon {
    background: #002147;
    color: #ffc107 !important;
}

.edu-download-link {
    text-decoration: none;
    color: #002147;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: 0.3s;
}

.edu-download-link:hover {
    color: #ffc107;
    padding-left: 5px;
}

/* Support Strip Decoration */
.edu-ghost-support-icon {
    position: absolute;
    right: 20px;
    bottom: -20px;
    font-size: 7rem;
    color: rgba(255, 255, 255, 0.04);
    z-index: 1;
    transform: rotate(-10deg);
}

/* Mobile Adjustments */
@media (max-width: 991px) {
    .edu-downloads-section .display-6 {
        font-size: 1.8rem;
    }
}

@media (max-width: 767px) {
    .edu-res-card {
        padding: 20px !important;
    }
    .edu-res-icon {
        width: 50px;
        height: 50px;
    }
    .edu-res-icon i {
        font-size: 1.25rem;
    }
    .edu-help-strip {
        text-align: center;
        border-radius: 20px !important;
    }
    .edu-help-strip .btn {
        width: 100%;
        margin-top: 10px;
    }
}
/* --- EDUCATION QUICK HUB STYLES --- */

.edu-quick-hub {
    background-color: #ffffff;
}

/* Individual Utility Card */
.edu-utility-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    padding: 25px 15px;
    border-radius: 15px;
    text-decoration: none;
    text-align: center;
    border: 1px solid #eee;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    height: 100%;
}

.edu-utility-card i {
    font-size: 2rem;
    color: #002147;
    margin-bottom: 12px;
    transition: 0.3s;
}

.edu-utility-card span {
    font-size: 12px;
    font-weight: 700;
    color: #444;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Active Highlight for Apply Now */
.active-utility {
    border-color: #ffc107;
    background: #fffdf5;
}

/* Hover States */
.edu-utility-card:hover {
    background: #002147;
    border-color: #002147;
    transform: translateY(-8px);
    box-shadow: 0 12px 25px rgba(0, 33, 71, 0.15) !important;
}

.edu-utility-card:hover i,
.edu-utility-card:hover span {
    color: #ffc107;
}

/* Support Strip Styling */
.edu-support-strip {
    border-left: 6px solid #ffc107 !important;
}

.btn-success {
    background-color: #25d366;
    border-color: #25d366;
    color: #fff;
}

.btn-success:hover {
    background-color: #128c7e;
    color: #fff;
}

/* --- MOBILE RESPONSIVENESS --- */
@media (max-width: 991px) {
    .edu-utility-card {
        padding: 20px 10px;
    }
    .edu-utility-card i {
        font-size: 1.5rem;
    }
}

@media (max-width: 767px) {
    .edu-quick-hub .display-6 {
        font-size: 1.8rem;
    }
    .edu-support-strip {
        padding: 25px 15px !important;
        text-align: center;
        border-left: none !important;
        border-top: 6px solid #ffc107 !important;
        border-radius: 20px !important;
    }
    .edu-support-strip .btn {
        width: 100%;
        margin-bottom: 5px;
    }
    .counselor-avatar {
        margin-bottom: 15px;
    }
}











/*===============COMMON FOOT CSS====================*/
/* --- FOOTER STYLES --- */
.main-footer {
    background-color: #00152e; /* Darker navy for footer */
    color: #ffffff;
    border-top: 4px solid #ffc107;
}

.footer-logo {
    max-height: 50px;
    width: auto;
}

.footer-heading {
    color: #ffc107;
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 25px;
    position: relative;
    padding-bottom: 10px;
}

.footer-heading::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 2px;
    background-color: #ffc107;
}

.footer-links li {
    margin-bottom: 12px;
}

.footer-links li a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 0.9rem;
    transition: 0.3s;
}

.footer-links li a:hover {
    color: #ffc107;
    padding-left: 5px;
}

/* Social Circles */
.social-circle {
    width: 35px;
    height: 35px;
    background-color: rgba(255, 255, 255, 0.1);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: 0.3s;
    text-decoration: none;
}

.social-circle:hover {
    background-color: #ffc107;
    color: #002147;
    transform: translateY(-3px);
}

/* Newsletter Input */
.footer-newsletter .form-control {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: white;
}

.footer-newsletter .form-control:focus {
    box-shadow: none;
    border-color: #ffc107;
}

/* Footer Bottom Bar */
.footer-bottom {
    background-color: #000c1a;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}


/* Floating Elements */
.back-to-top {
     position: fixed;
    bottom: 30px; /* Bottom-most element */
    right: 30px;
    display: none;
    z-index: 1000;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    border: none;
    background-color: #ffc107;
    color: #002147;
    transition: 0.3s ease;
}
.back-to-top:hover {
    background-color: #002147;
    color: #ffc107;
    transform: translateY(-5px);
}

.whatsapp-float {
    position: fixed;
    width: 50px;
    height: 50px;
    bottom: 95px; /* Positioned above the Back to Top button */
    right: 30px;  /* Moved to the right */
    background-color: #25d366;
    color: #FFF;
    border-radius: 50px;
    text-align: center;
    font-size: 28px;
    box-shadow: 2px 4px 15px rgba(0,0,0,0.2);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: 0.3s ease;
}
.whatsapp-float:hover {
    transform: scale(1.1) translateY(-5px);
    color: #FFF;
    box-shadow: 2px 8px 20px rgba(0,0,0,0.3);
}

/* Responsive Adjustments for Mobile */
@media (max-width: 767px) {
    .back-to-top, .whatsapp-float {
        right: 20px; /* Slightly closer to edge on mobile */
    }
    .back-to-top {
        bottom: 20px;
    }
    .whatsapp-float {
        bottom: 80px;
    }
}