/* ==========================================================================
   00. FONT IMPORTS & GLOBAL CSS VARIABLES
   ========================================================================== */
   @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

   :root {
       --primary-color: #fcbe15;
       --secondary-color: #009b50;
       --text-dark: #2d3436;
   }
   /* === 00. FONT IMPORTS & GLOBAL CSS VARIABLES END === */
   
   
   /* ==========================================================================
      01. RESET & BASE CONFIGURATION
      ========================================================================== */
   * {
       margin: 0;
       padding: 0;
       box-sizing: border-box;
   }
   
   body {
       font-family: 'Poppins', Arial, sans-serif;
       background-color: #f8fafc;
   }
   /* === 01. RESET & BASE CONFIGURATION END === */
   
   
   
/* ==========================================================================
   TOPBAR SECTION START
   ========================================================================== */

/* --- Topbar Main Bar Container --- */
.topbar-container {
    background-color: #009b50;
    padding: 6px 0;
    font-size: 13px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

/* --- Contact Items (Phone & Email Links) --- */
.contact-item {
    font-weight: 500;
    padding: 3px 0;
    font-size: 12.5px;
    transition: color 0.2s ease;
    white-space: nowrap;
}

.contact-item:hover {
    color: #fcbe15 !important;
}

/* --- Right Side Text Links (Help Desk, Alumni) --- */
.topbar-right .topbar-link {
    color: #e2e8f0;
    text-decoration: none;
    margin-right: 14px;
    font-weight: 500;
    font-size: 12.5px;
    transition: color 0.2s ease;
}

.topbar-right .topbar-link:hover {
    color: #fcbe15;
}

/* --- Social Icons Wrapper --- */
.topbar-socials {
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    gap: 6px;
    display: inline-flex;
}

/* --- Circular Social Badges --- */
.social-badge {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #ffffff !important;
    text-decoration: none;
    transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.social-badge.facebook { 
    background-color: #1877f2; 
}

.social-badge.instagram {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}

.social-badge.whatsapp { 
    background-color: #25d366; 
}

.social-badge.youtube { 
    background-color: #ff0000; 
}

.social-badge:hover {
    transform: translateY(-2px) scale(1.1);
}

/* --- Topbar Responsive: Tablet (Under 992px) --- */
@media (max-width: 991px) {
    .topbar-container {
        padding: 6px 0;
    }
}

/* --- Topbar Responsive: Mobile (Under 576px) --- */
@media (max-width: 575px) {
    .topbar-container {
        padding: 5px 0;
    }

    .contact-item {
        font-size: 11.5px;
        margin-right: 0 !important;
    }

    .topbar-socials {
        padding-left: 6px !important;
        gap: 5px;
    }

    .social-badge {
        width: 24px;
        height: 24px;
        font-size: 10.5px;
    }
}

/* ==========================================================================
   TOPBAR SECTION END
   ========================================================================== */


/* ==========================================================================
   MARQUEE SECTION START
   ========================================================================== */

/* --- Marquee Bar Background & Alignment --- */
.topbar-bg {
    background-color: #009b50;
    color: #ffffff;
    font-size: 13px;
    border-bottom: 1px solid #fcbe15;
    border-top: 1px solid #fcbe15;
    min-height: 38px;
    display: flex;
    align-items: stretch;
}

.topbar-bg a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.2s ease;
}

.topbar-bg a:hover {
    color: #fcbe15;
}

/* --- Fixed Alert Badge (Yellow) --- */
.announcement-badge {
    background-color: #fcbe15;
    color: #111111;
    font-weight: 700;
    padding: 0 16px;
    z-index: 2;
    position: relative;
    box-shadow: 2px 0 6px rgba(0, 0, 0, 0.15);
    text-transform: uppercase;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    letter-spacing: 0.5px;
    flex-shrink: 0;
}

/* --- Scrolling Marquee Track Wrapper --- */
.marquee-wrapper {
    overflow: hidden;
    display: flex;
    align-items: center;
    background-color: #009b50;
    position: relative;
}

.marquee-content {
    display: flex;
    white-space: nowrap;
    animation: smoothMarquee 26s linear infinite;
}

.marquee-wrapper:hover .marquee-content {
    animation-play-state: paused;
}

/* --- Notice Content Text & Icons --- */
.marquee-item {
    padding: 0 2rem;
    display: inline-flex;
    align-items: center;
    font-weight: 500;
    font-size: 12.5px;
}

.marquee-item i {
    color: #fcbe15;
}

/* --- Infinite Animation Keyframes --- */
@keyframes smoothMarquee {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

/* --- Marquee Responsive: Tablet (Under 992px) --- */
@media (max-width: 991px) {
    .marquee-item {
        padding: 0 1.5rem;
        font-size: 12px;
    }
}

/* --- Marquee Responsive: Mobile (Under 576px) --- */
@media (max-width: 575px) {
    .topbar-bg {
        min-height: 34px;
    }

    .announcement-badge {
        padding: 0 10px;
        font-size: 11px;
    }

    .marquee-item {
        padding: 0 1.25rem;
        font-size: 11.5px;
    }
}

/* ==========================================================================
   MARQUEE SECTION END
   ========================================================================== */
   
  
/* ==========================================================================
   03. MAIN NAVBAR & NAVIGATION LINKS (OPTIMIZED)
   ========================================================================== */
.main-navbar {
    background-color: #ffffff !important;
    padding: 10px 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

/* --- Brand Logo Styling --- */
.logo-wrapper {
    display: flex;
    align-items: center;
    min-width: 0;
}

.logo-img {
    height: 42px;
    object-fit: contain;
    flex-shrink: 0;
}

.logo-text {
    display: flex;
    flex-direction: column;
    min-width: 0; 
}

.brand-title {
    font-size: 16px;
    font-weight: 700;
    color: #fcbe15;
    letter-spacing: -0.3px;
    line-height: 1.1;
    white-space: nowrap;
}

.brand-subtitle {
    font-size: 10px;
    font-weight: 600;
    color: #000000;
    letter-spacing: 1px;
    margin-top: 4px;
}

/* --- Navigation Links --- */
.navbar-nav .nav-link {
    color: #222222 !important;
    font-size: 14.5px;
    font-weight: 500;
    padding: 8px 14px !important;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: color 0.2s ease;
}

.nav-icon-arrow {
    font-size: 10px;
    margin-left: 5px;
    color: #888888;
    transition: transform 0.3s ease;
    display: inline-block;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    color: #009b50 !important; /* Secondary Color (Green) */
}

/* --- Apply Now Button Design --- */
.btn-apply-now {
    background-color: #fcbe15; /* Primary Color (Yellow) */
    color: #222222 !important;
    padding: 9px 22px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-decoration: none;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    box-shadow: 0 4px 12px rgba(252, 190, 21, 0.25);
    transition: all 0.3s ease;
}

.btn-apply-now:hover {
    background-color: #e5ab0e;
    box-shadow: 0 6px 18px rgba(252, 190, 21, 0.35);
    transform: translateY(-1px);
}

/* --- Desktop Dropdowns (Screens 992px and above) --- */
@media (min-width: 992px) {
    .custom-dropdown {
        position: relative;
    }

    .custom-dropdown:hover .nav-link .nav-icon-arrow {
        transform: rotate(180deg);
        color: #009b50;
    }

    .custom-dropdown:hover > .dropdown-menu {
        display: block;
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .dropdown-menu {
        display: none;
        opacity: 0;
        visibility: hidden;
        transform: translateY(12px);
        transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
        position: absolute;
        top: 100%;
        left: 0;
        min-width: 190px;
        background-color: #ffffff;
        border: none;
        border-radius: 8px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
        padding: 8px 0;
        margin: 0;
    }

    .dropdown-item {
        padding: 9px 18px;
        font-size: 14px;
        font-weight: 500;
        color: #222222;
        transition: all 0.2s ease;
    }

    .dropdown-item:hover {
        background-color: #f1f8f4;
        color: #009b50;
        padding-left: 22px;
    }

    /* Desktop Nested Dropdown Setup */
    .dropdown-submenu {
        position: relative;
    }

    /* Invisible hover bridge: prevents submenu from closing while moving mouse diagonally */
    .dropdown-submenu::after {
        content: '';
        position: absolute;
        top: 0;
        right: -10px;
        width: 15px;
        height: 100%;
    }

    .dropdown-submenu > .dropdown-menu {
        top: 0;
        left: 100%;
        margin-top: -6px;
        display: none;
        opacity: 0;
        visibility: hidden;
        transform: translateX(10px);
        transition: all 0.2s ease;
    }

    .dropdown-submenu:hover > .dropdown-menu {
        display: block;
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }
}

/* --- Mobile Navbar Rules (Screens up to 991px) --- */
@media (max-width: 991px) {
    .navbar-brand {
        padding: 0;
        margin-right: 8px;
    }

    .navbar-nav {
        align-items: flex-start !important;
        padding: 12px 0 8px 0;
        width: 100%;
    }

    .nav-item {
        width: 100%;
    }

    .navbar-nav .nav-link {
        width: 100%;
        justify-content: space-between;
        border-bottom: 1px solid #edf2f7;
        padding: 12px 10px !important;
    }

    .custom-dropdown .dropdown-menu {
        display: none;
        position: relative;
        width: 100%;
        background-color: #f8fafc;
        border: none;
        box-shadow: none;
        padding: 4px 0;
        margin: 0;
        padding-left: 14px; /* Reduced from 25px for better mobile spacing */
        border-left: 3px solid #009b50;
        animation: slideDownMobile 0.2s ease-out;
    }

    .custom-dropdown .dropdown-menu.show {
        display: block !important;
    }

    .dropdown-item {
        padding: 10px 14px;
        color: #444444;
        border-bottom: 1px solid #e2e8f0;
        font-size: 13.5px;
    }

    .custom-dropdown .nav-link[aria-expanded="true"] .nav-icon-arrow {
        transform: rotate(180deg);
        color: #009b50;
    }

    .w-100-mobile {
        width: 100% !important;
    }

    .btn-apply-now {
        margin-top: 14px;
        width: 100%;
        justify-content: center;
        padding: 11px 20px;
    }

    .dropdown-submenu .arrow-desktop {
        display: none !important;
    }

    .dropdown-submenu > .dropdown-menu {
        display: none;
    }

    .dropdown-submenu > .dropdown-menu.sub-menu-show {
        display: block !important;
        position: static;
        width: 100%;
        padding-left: 12px !important; /* Reduced from 20px to prevent text clipping */
        background-color: #f1f5f9 !important; 
        box-shadow: none !important;
        border-left: 2px solid #009b50 !important;
        margin: 4px 0 !important;
    }

    .dropdown-toggle-custom::after {
        display: inline-block;
        margin-left: 0.255em;
        vertical-align: 0.255em;
        content: "";
        border-top: 0.3em solid;
        border-right: 0.3em solid transparent;
        border-bottom: 0;
        border-left: 0.3em solid transparent;
        float: right;
        margin-top: 8px;
    }
}

/* --- Mobile Animation Keyframe --- */
@keyframes slideDownMobile {
    from { 
        opacity: 0; 
        transform: translateY(-4px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}
/* === 03. MAIN NAVBAR & NAVIGATION LINKS END === */

   
   
   /* ==========================================================================
      04. HERO SLIDER SECTION
      ========================================================================== */
   /* --- 1. Base Slider Layout --- */
   .hero-slider-section {
       position: relative;
       width: 100%;
       height: 80vh;
       overflow: hidden;
       background-color: #111;
   }
   
   .slider-viewport {
       position: relative;
       width: 100%;
       height: 100%;
   }
   
   .edu-slide {
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       opacity: 0;
       visibility: hidden;
       transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1), visibility 1.2s;
       z-index: 1;
   }
   
   .edu-slide.active {
       opacity: 1;
       visibility: visible;
       z-index: 2;
   }
   
   .split-bg {
       position: absolute;
       width: 100%;
       height: 100%;
       display: flex;
   }
   
   .full-bg-banner {
       width: 100%;
       height: 100%;
       background-size: cover;
       background-position: center;
       background-repeat: no-repeat;
   }
   
   /* --- 2. Slider Controls (Arrows) --- */
   .slider-arrow {
       position: absolute;
       top: 50%;
       transform: translateY(-50%);
       background: rgba(0, 0, 0, 0.35);
       border: none;
       color: #ffffff;
       width: 48px;
       height: 58px;
       z-index: 10;
       display: flex;
       justify-content: center;
       align-items: center;
       font-size: 1.25rem;
       cursor: pointer;
       transition: all 0.3s ease;
   }
   
   .slider-arrow:hover {
       background: #fcbe15;
       color: #111111;
   }
   
   .arrow-left {
       left: 0;
       border-top-right-radius: 4px;
       border-bottom-right-radius: 4px;
   }
   
   .arrow-right {
       right: 0;
       border-top-left-radius: 4px;
       border-bottom-left-radius: 4px;
   }
   
   /* --- 3. Video Slide Media Rules --- */
   .video-slide-container {
       position: relative;
       width: 100%;
       height: 100%;
       overflow: hidden;
   }
   
   .hero-bg-video {
       width: 100%;
       height: 100%;
       object-fit: cover;
       object-position: center;
       display: block;
   }
   
   /* --- 4. Contrast Overlays (Image & Video) --- */
   .slide-overlay,
   .video-overlay {
       position: absolute;
       inset: 0;
       background: linear-gradient(90deg, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.45) 60%, rgba(0, 0, 0, 0.2) 100%);
       z-index: 2;
       pointer-events: none;
   }
   
   /* --- 5. Hero Caption Layout --- */
   .hero-caption-container {
       position: absolute;
       inset: 0;
       z-index: 5;
       display: flex;
       align-items: center;
       pointer-events: none;
   }
   
   .caption-content {
       max-width: 650px;
       color: #ffffff;
       pointer-events: auto;
   }
   
   /* --- 6. Caption Typography & Tags --- */
   .caption-tag {
       display: inline-block;
       background-color: #fcbe15;
       color: #111111;
       font-size: 12px;
       font-weight: 700;
       text-transform: uppercase;
       letter-spacing: 1px;
       padding: 6px 14px;
       border-radius: 50px;
       margin-bottom: 15px;
   }
   
   .caption-title {
       font-size: 2.7rem;
       font-weight: 800;
       line-height: 1.2;
       color: #ffffff;
       margin-bottom: 15px;
       text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
   }
   
   .caption-desc {
       font-size: 15px;
       line-height: 1.7;
       color: rgba(255, 255, 255, 0.9);
       margin-bottom: 25px;
   }
   
   /* --- 7. Caption Action Buttons --- */
   .caption-buttons {
       display: flex;
       gap: 15px;
       flex-wrap: wrap;
   }
   
   .btn-slider-primary {
       background-color: #fcbe15;
       color: #111111;
       font-weight: 700;
       font-size: 13.5px;
       padding: 10px 24px;
       border-radius: 50px;
       text-decoration: none;
       transition: all 0.3s ease;
       box-shadow: 0 4px 15px rgba(252, 190, 21, 0.35);
       display: inline-flex;
       align-items: center;
   }
   
   .btn-slider-primary:hover {
       background-color: #009b50;
       color: #ffffff;
       transform: translateY(-2px);
   }
   
   .btn-slider-outline {
       background-color: transparent;
       color: #ffffff;
       border: 2px solid rgba(255, 255, 255, 0.7);
       font-weight: 600;
       font-size: 13.5px;
       padding: 9px 22px;
       border-radius: 50px;
       text-decoration: none;
       transition: all 0.3s ease;
       display: inline-flex;
       align-items: center;
   }
   
   .btn-slider-outline:hover {
       background-color: #ffffff;
       color: #111111;
       border-color: #ffffff;
   }
   
   /* --- 8. Staggered Slide In Animations --- */
   .edu-slide .caption-tag,
   .edu-slide .caption-title,
   .edu-slide .caption-desc,
   .edu-slide .caption-buttons {
       opacity: 0;
       transform: translateY(30px);
       transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
   }
   
   .edu-slide.active .caption-tag {
       opacity: 1;
       transform: translateY(0);
       transition-delay: 0.3s;
   }
   
   .edu-slide.active .caption-title {
       opacity: 1;
       transform: translateY(0);
       transition-delay: 0.5s;
   }
   
   .edu-slide.active .caption-desc {
       opacity: 1;
       transform: translateY(0);
       transition-delay: 0.7s;
   }
   
   .edu-slide.active .caption-buttons {
       opacity: 1;
       transform: translateY(0);
       transition-delay: 0.9s;
   }
   
   /* --- 9. Hero Slider Responsive Media Queries --- */
   @media (max-width: 992px) {
       .hero-slider-section {
           height: 58vh;
       }
   
       .split-bg {
           flex-direction: column;
       }
   
       .caption-title {
           font-size: 2rem;
       }
   
       .caption-desc {
           font-size: 13.5px;
           margin-bottom: 18px;
       }
   }
   
   @media (max-width: 576px) {
       .hero-slider-section {
           height: 65vh;
       }
   
       .caption-title {
           font-size: 1.45rem;
       }
   
       .caption-desc {
           display: -webkit-box;
           -webkit-line-clamp: 2;
           -webkit-box-orient: vertical;
           overflow: hidden;
           font-size: 12.5px;
           line-height: 1.5;
           margin-bottom: 15px;
       }
   
       .caption-buttons {
           gap: 10px;
       }
   
       .btn-slider-primary,
       .btn-slider-outline {
           padding: 8px 16px;
           font-size: 12px;
       }
   
       .slider-arrow {
           width: 38px;
           height: 48px;
           font-size: 1rem;
       }
   }
   /* === 04. HERO SLIDER SECTION END === */
   
   
   /* ==========================================================================
      05. ACADEMIC STREAMS / OUR COURSES SECTION
      ========================================================================== */
   .streams-section {
       padding: 80px 0;
       background-color: #f9f9f9;
   }
   
   /* --- Professional Card Base --- */
   .stream-card {
       background: #ffffff;
       border-radius: 12px;
       padding: 40px 30px;
       text-align: center;
       box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
       transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
       position: relative;
       height: 100%;
       border-top: 4px solid transparent;
       display: flex;
       flex-direction: column;
       justify-content: space-between;
   }
   
   /* --- Hover Effect: Card rises up softly --- */
   .stream-card:hover {
       transform: translateY(-8px);
       box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
   }
   
   /* --- Stream-Specific Top Borders --- */
   .card-science  { border-top-color: var(--primary-color); }
   .card-commerce { border-top-color: var(--secondary-color); }
   .card-arts     { border-top-color: var(--primary-color); }
   
   /* --- Icon Container Design --- */
   .icon-container {
       width: 75px;
       height: 75px;
       margin: 0 auto 25px;
       display: flex;
       align-items: center;
       justify-content: center;
       border-radius: 50%;
       font-size: 30px;
       transition: all 0.3s ease;
   }
   
   .card-science .icon-container {
       background-color: rgba(252, 190, 21, 0.12);
       color: var(--primary-color);
   }
   
   .card-commerce .icon-container {
       background-color: rgba(0, 155, 80, 0.12);
       color: var(--secondary-color);
   }
   
   .card-arts .icon-container {
       background-color: rgba(252, 190, 21, 0.12);
       color: var(--primary-color);
   }
   
   /* --- Title & Description --- */
   .stream-title {
       font-size: 24px;
       font-weight: 700;
       color: var(--text-dark);
       margin-bottom: 12px;
       letter-spacing: 0.5px;
   }
   
   .stream-desc {
       font-size: 14px;
       color: #636e72;
       line-height: 1.6;
       margin-bottom: 25px;
   }
   
   /* --- Custom Professional Buttons --- */
   .btn-stream {
       padding: 10px 24px;
       border-radius: 30px;
       font-weight: 600;
       font-size: 14px;
       transition: all 0.3s ease;
       text-decoration: none;
       display: inline-block;
       margin-top: auto;
   }
   
   .btn-science,
   .btn-arts {
       background-color: transparent;
       border: 2px solid var(--primary-color);
       color: #dca305;
   }
   
   .btn-science:hover,
   .btn-arts:hover {
       background-color: var(--primary-color);
       color: #ffffff;
   }
   
   .btn-commerce {
       background-color: transparent;
       border: 2px solid var(--secondary-color);
       color: var(--secondary-color);
   }
   
   .btn-commerce:hover {
       background-color: var(--secondary-color);
       color: #ffffff;
   }
   /* === 05. ACADEMIC STREAMS / OUR COURSES SECTION END === */
   
   
   /* ==========================================================================
      06. CAPSULE COUNTER MODULE SECTION
      ========================================================================== */
   .college-counter-section {
       padding: 40px 0 60px 0;
       background-color: #f8fafc;
   }
   
   .counter-capsule-wrapper {
       background-color: #009b50; /* Secondary Green */
       border: 4px solid #fcbe15; /* Primary Yellow Border Line */
       border-radius: 100px;       /* Capsule Rounded Corners */
       padding: 35px 60px;
       box-shadow: 0 15px 35px rgba(0, 155, 80, 0.15);
       position: relative;
       overflow: hidden;
   }
   
   .counter-item-box {
       display: flex;
       align-items: center;
       justify-content: center;
       gap: 15px;
       padding: 10px 0;
       transition: transform 0.3s ease;
   }
   
   .counter-item-box:hover {
       transform: translateY(-3px);
   }
   
   .border-divider {
       border-right: 1px solid rgba(252, 190, 21, 0.35);
   }
   
   .counter-icon {
       font-size: 32px;
       color: #fcbe15; /* Primary Theme Yellow */
       display: flex;
       align-items: center;
       justify-content: center;
       transition: transform 0.4s ease;
   }
   
   .counter-item-box:hover .counter-icon {
       transform: scale(1.1) rotate(-5deg);
   }
   
   .counter-details {
       display: flex;
       flex-direction: column;
   }
   
   .counter-number {
       font-size: 30px;
       font-weight: 700;
       color: #ffffff;
       margin-bottom: 0;
       line-height: 1.2;
   }
   
   .counter-label {
       font-size: 13.5px;
       font-weight: 500;
       color: rgba(255, 255, 255, 0.9);
       margin-bottom: 0;
       white-space: nowrap;
   }
   
   /* --- Counter Module Responsive Media Queries --- */
   @media (max-width: 1200px) {
       .counter-capsule-wrapper {
           border-radius: 30px; 
           padding: 30px 40px;
       }
   }
   
   @media (max-width: 991px) {
       .border-divider {
           border-right: none; 
       }
   }
   
   @media (max-width: 767px) {
       .counter-capsule-wrapper {
           border-radius: 24px; 
           padding: 25px 20px;
       }
       
       .counter-item-box {
           justify-content: flex-start; 
           padding-left: 20px;
           border-bottom: 1px solid rgba(252, 190, 21, 0.2); 
           padding-bottom: 15px;
       }
       
       .row > div:last-child .counter-item-box {
           border-bottom: none;
           padding-bottom: 0;
       }
       
       .counter-number {
           font-size: 26px;
       }
       
       .counter-label {
           font-size: 13px;
       }
   }
   /* === 06. CAPSULE COUNTER MODULE SECTION END === */
   
   
   /* ==========================================================================
      07. DIRECTOR'S MESSAGE SECTION
      ========================================================================== */
   .text-justify {
       text-align: justify;
   }
   
   .director-quote-icon {
       color: rgba(0, 155, 80, 0.08);
       font-size: 6rem;
       position: absolute;
       top: -30px;
       left: -15px;
       z-index: 0;
       pointer-events: none;
   }
   
   .message-content {
       position: relative;
       z-index: 1;
   }
   
   .director-card {
       border-top: 5px solid #fcbe15 !important;
       transition: transform 0.3s ease, box-shadow 0.3s ease;
   }
   
   .director-card:hover {
       transform: translateY(-5px);
   }
   /* === 07. DIRECTOR'S MESSAGE SECTION END === */
   
   
   /* ==========================================================================
      08. NOTICE BOARD SECTION (DUAL SCROLLER / MARQUEE)
      ========================================================================== */
   .notice-section {
       padding: 80px 0;
       background: radial-gradient(circle at top right, rgba(252, 190, 21, 0.04), transparent), 
                   radial-gradient(circle at bottom left, rgba(0, 155, 80, 0.04), transparent);
   }
   
   .section-title {
       color: #009b50; /* Secondary Brand Color */
       font-weight: 700;
       letter-spacing: -0.5px;
   }
   
   .premium-notice-card {
       border: 1px solid rgba(0, 155, 80, 0.12);
       border-radius: 20px;
       background: #ffffff;
       box-shadow: 0 10px 30px rgba(0, 155, 80, 0.03);
       transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
       overflow: hidden;
       height: 100%;
   }
   
   .premium-notice-card:hover {
       transform: translateY(-6px);
       box-shadow: 0 20px 40px rgba(0, 155, 80, 0.08);
       border-color: rgba(252, 190, 21, 0.4);
   }
   
   .bg-gradient-general {
       background: #009B50;
   }
   
   .bg-gradient-academic {
       background: #009B50;
   }
   
   .card-header-premium {
       padding: 24px 28px;
       border-bottom: none;
   }
   
   /* --- Notice List Container with Internal Scroller --- */
   .notice-scroll-container {
       max-height: 340px;
       overflow-y: auto;
       padding: 10px 15px;
   }
   
   .notice-scroll-container::-webkit-scrollbar {
       width: 6px;
   }
   
   .notice-scroll-container::-webkit-scrollbar-track {
       background: rgba(0, 0, 0, 0.02);
       border-radius: 10px;
   }
   
   .notice-scroll-container::-webkit-scrollbar-thumb {
       background: #cbd5e1;
       border-radius: 10px;
       transition: background 0.2s ease;
   }
   
   .notice-scroll-container::-webkit-scrollbar-thumb:hover {
       background: #94a3b8;
   }
   
   /* --- Individual Notice Item Styling --- */
   .premium-notice-item {
       position: relative;
       padding: 18px 15px;
       margin-bottom: 12px;
       background: #ffffff;
       border: 1px solid #f1f5f9;
       border-radius: 14px;
       transition: all 0.3s ease;
   }
   
   .premium-notice-item:last-child {
       margin-bottom: 4px;
   }
   
   .premium-notice-item:hover {
       background: #f8fafc;
       border-color: rgba(0, 155, 80, 0.15);
       transform: scale(1.01);
   }
   
   .notice-date-box {
       font-size: 0.82rem;
       color: #64748b;
       font-weight: 600;
       display: flex;
       align-items: center;
       gap: 6px;
   }
   
   .notice-text-link {
       color: #1e293b;
       text-decoration: none;
       font-weight: 500;
       font-size: 0.95rem;
       line-height: 1.5;
       display: -webkit-box;
       -webkit-line-clamp: 2;
       -webkit-box-orient: vertical;
       overflow: hidden;
       transition: color 0.2s ease;
   }
   
   .premium-notice-item:hover .notice-text-link {
       color: #009b50;
   }
   
   .icon-wrapper {
       width: 40px;
       height: 40px;
       border-radius: 10px;
       display: flex;
       align-items: center;
       justify-content: center;
       flex-shrink: 0;
   }
   
   .bg-pdf-light {
       background-color: rgba(220, 53, 69, 0.08);
       color: #dc3545;
   }
   
   .bg-link-light {
       background-color: rgba(0, 155, 80, 0.06);
       color: #009b50;
   }
   
   /* --- Pulse Badge --- */
   .badge-pulse {
       background: #fcbe15;
       color: #000000;
       font-size: 0.68rem;
       font-weight: 700;
       padding: 3px 8px;
       border-radius: 6px;
       letter-spacing: 0.5px;
       box-shadow: 0 0 0 0 rgba(252, 190, 21, 0.5);
       animation: pulse-animation 1.6s infinite;
   }
   
   @keyframes pulse-animation {
       0%   { box-shadow: 0 0 0 0 rgba(252, 190, 21, 0.6); }
       70%  { box-shadow: 0 0 0 8px rgba(252, 190, 21, 0); }
       100% { box-shadow: 0 0 0 0 rgba(252, 190, 21, 0); }
   }
   
   /* --- Notice Footer Buttons --- */
   .card-footer-premium {
       background: transparent;
       border-top: 1px solid #f1f5f9;
       padding: 20px;
   }
   
   .btn-general-view {
       color: #009b50;
       border: 2px solid #009b50;
       font-size: 0.88rem;
       font-weight: 600;
       padding: 8px 24px;
       border-radius: 10px;
       background: transparent;
       transition: all 0.3s ease;
   }
   
   .btn-general-view:hover {
       background: #009b50;
       color: #ffffff;
   }
   
   .btn-academic-view {
       color: #000000;
       background-color: #fcbe15;
       border: 2px solid #fcbe15;
       font-size: 0.88rem;
       font-weight: 600;
       padding: 8px 24px;
       border-radius: 10px;
       transition: all 0.3s ease;
   }
   
   .btn-academic-view:hover {
       background-color: #e0a800;
       border-color: #e0a800;
       color: #000000;
   }
   
   /* --- Smooth Infinite Vertical Notice Marquee --- */
   .marquee-window-container {
       height: 340px;
       overflow: hidden;
       position: relative;
       padding: 10px 5px;
   }
   
   .custom-marquee-track {
       position: absolute;
       width: 100%;
       animation: scrollUpMarquee 22s linear infinite;
   }
   
   .marquee-window-container:hover .custom-marquee-track {
       animation-play-state: paused;
   }
   
   @keyframes scrollUpMarquee {
       0% {
           top: 100%;
       }
       100% {
           top: -160%;
       }
   }
   
   .custom-marquee-track .premium-notice-item {
       margin-bottom: 12px;
       background: #ffffff;
   }
   /* === 08. NOTICE BOARD SECTION END === */
   
   
   /* ==========================================================================
      09. WHY CHOOSE US / COLLEGE FEATURES SECTION
      ========================================================================== */
   .college-features-section {
       padding: 80px 0;
       background-color: #ffffff;
       position: relative;
   }
   
   .feature-badge-tag {
       color: #fcbe15; /* Primary Color */
       letter-spacing: 1.5px;
       font-size: 13px;
       display: inline-block;
   }
   
   .feature-main-title {
       color: #009b50; /* Secondary Color */
       font-weight: 700;
       font-size: 32px;
   }
   
   .title-bar {
       width: 60px; 
       height: 4px; 
       background-color: #fcbe15; /* Primary Color */
       border-radius: 2px; 
       margin-top: 12px;
   }
   
   .custom-feature-card {
       background: #ffffff;
       border: 1px solid #f1f5f9;
       border-radius: 16px;
       box-shadow: 0 10px 25px rgba(0, 155, 80, 0.02);
       transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
       height: 100%;
       position: relative;
       z-index: 1;
   }
   
   .custom-feature-card::before {
       content: '';
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 4px;
       background-color: transparent;
       border-top-left-radius: 16px;
       border-top-right-radius: 16px;
       transition: background-color 0.3s ease;
   }
   
   .feature-icon-wrapper-box {
       width: 70px;
       height: 70px;
       background-color: rgba(0, 155, 80, 0.06);
       color: #009b50;
       display: flex;
       align-items: center;
       justify-content: center;
       border-radius: 50%;
       margin: 10px auto 25px auto;
       font-size: 26px;
       transition: all 0.4s ease;
   }
   
   .feature-card-heading {
       color: #1e293b;
       font-size: 20px;
       font-weight: 600;
       margin-bottom: 15px;
       transition: color 0.3s ease;
   }
   
   .feature-card-text {
       color: #64748b;
       font-size: 14px;
       line-height: 1.6;
       margin-bottom: 0;
   }
   
   .custom-feature-card:hover {
       transform: translateY(-10px);
       box-shadow: 0 20px 35px rgba(0, 155, 80, 0.08);
       border-color: rgba(0, 155, 80, 0.1);
   }
   
   .custom-feature-card:hover::before {
       background-color: #fcbe15;
   }
   
   .custom-feature-card:hover .feature-icon-wrapper-box {
       background-color: #009b50;
       color: #ffffff;
       transform: scale(1.05);
   }
   
   .custom-feature-card:hover .feature-card-heading {
       color: #009b50;
   }
   
   @media (max-width: 576px) {
       .college-features-section {
           padding: 50px 0;
       }
       .feature-main-title {
           font-size: 26px;
       }
   }
   /* === 09. WHY CHOOSE US / COLLEGE FEATURES SECTION END === */
   
   
   /* ==========================================================================
      10. TOPPER CARDS SECTION
      ========================================================================== */
   .toppers-section {
       background: linear-gradient(180deg, #f8fbf9 0%, #edf4f0 100%);
       font-family: 'Poppins', sans-serif;
   }
   
   .section-subtitle {
       color: #009b50;
       font-weight: 700;
       font-size: 0.82rem;
       letter-spacing: 2px;
       display: inline-block;
       text-transform: uppercase;
   }
   
   .section-main-title {
       color: #1c2434;
       font-weight: 800;
       font-size: 2rem;
   }
   
   .accent-bar {
       width: 60px;
       height: 4px;
       background-color: #fcbe15;
       border-radius: 4px;
   }
   
   .topper-card-modern {
       position: relative;
       background: #ffffff;
       border-radius: 20px;
       padding: 30px 20px 24px;
       text-align: center;
       border: 1px solid rgba(0, 0, 0, 0.06);
       box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
       transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease;
       overflow: hidden;
   }
   
   .topper-card-modern::before {
       content: '';
       position: absolute;
       top: 0;
       left: 0;
       right: 0;
       height: 6px;
       transition: height 0.3s ease;
   }
   
   .topper-science::before  { background: #009b50; }
   .topper-commerce::before { background: #1a73e8; }
   .topper-arts::before     { background: #e65100; }
   
   .card-trophy-badge {
       position: absolute;
       top: 16px;
       right: 16px;
       width: 36px;
       height: 36px;
       background: #fff8e1;
       color: #fcbe15;
       border-radius: 50%;
       display: flex;
       align-items: center;
       justify-content: center;
       font-size: 1rem;
       box-shadow: 0 4px 10px rgba(252, 190, 21, 0.25);
   }
   
   .topper-avatar-frame {
       width: 140px;
       height: 140px;
       margin: 10px auto 20px;
       border-radius: 50%;
       padding: 5px;
       position: relative;
       background: #ffffff;
       box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
       transition: transform 0.4s ease;
   }
   
   .topper-science .topper-avatar-frame  { border: 3px solid #009b50; }
   .topper-commerce .topper-avatar-frame { border: 3px solid #1a73e8; }
   .topper-arts .topper-avatar-frame     { border: 3px solid #e65100; }
   
   .topper-avatar-frame img {
       width: 100%;
       height: 100%;
       object-fit: cover;
       border-radius: 50%;
       background-color: #f0f3f2;
   }
   
   .topper-stream-pill {
       display: inline-block;
       font-size: 0.75rem;
       font-weight: 700;
       text-transform: uppercase;
       letter-spacing: 1px;
       padding: 4px 16px;
       border-radius: 50px;
       margin-bottom: 10px;
   }
   
   .topper-science .topper-stream-pill {
       background: rgba(0, 155, 80, 0.1);
       color: #009b50;
   }
   
   .topper-commerce .topper-stream-pill {
       background: rgba(26, 115, 232, 0.1);
       color: #1a73e8;
   }
   
   .topper-arts .topper-stream-pill {
       background: rgba(230, 81, 0, 0.1);
       color: #e65100;
   }
   
   .topper-name {
       font-size: 1.2rem;
       font-weight: 700;
       color: #1c2434;
       margin-bottom: 6px;
   }
   
   .topper-board-tag {
       font-size: 0.82rem;
       color: #6c757d;
       font-weight: 500;
   }
   
   .topper-card-modern:hover {
       transform: translateY(-8px);
       box-shadow: 0 18px 40px rgba(0, 0, 0, 0.09);
   }
   
   .topper-card-modern:hover::before {
       height: 8px;
   }
   
   .topper-card-modern:hover .topper-avatar-frame {
       transform: scale(1.05);
   }
   
   @media (max-width: 576px) {
       .section-main-title {
           font-size: 1.6rem;
       }
       .topper-avatar-frame {
           width: 125px;
           height: 125px;
       }
   }
   /* === 10. TOPPER CARDS SECTION END === */
   
   
   /* ==========================================================================
     /* ==========================================================================
   11. MAIN FOOTER & SCROLL-TO-TOP BUTTON
   ========================================================================== */
.main-footer {
    background-color: #009b50; /* Primary Green Background */
    position: relative;
    overflow: hidden;
    color: #ffffff;
    border-top: 4px solid #fcbe15; /* Top border accent */
}

.main-footer .logo-img {
    height: 55px;
    width: auto;
    object-fit: contain;
    background: #ffffff;
    padding: 3px;
}

.main-footer .logo-text { 
    color: #ffffff; 
}

.footer-desc {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
}

/* Scoped Footer Title */
.main-footer .section-title {
    font-size: 18px;
    color: #fcbe15; /* Highlighting headers with accent yellow */
    font-weight: 700;
    letter-spacing: 0.5px;
}

/* --- Footer Links --- */
.footer-links li { 
    margin-bottom: 12px; 
}

.footer-links li a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 14.5px;
    font-weight: 400;
    transition: all 0.25s ease-in-out;
    display: inline-block;
}

.footer-links li a:hover {
    color: #fcbe15;
    transform: translateX(5px);
}

/* --- Contact Details --- */
.contact-info p { 
    font-size: 14px; 
    color: rgba(255, 255, 255, 0.9); 
}

.contact-info strong { 
    color: #fcbe15; 
}

/* --- Contact Button --- */
.btn-contact {
    background-color: #fcbe15;
    color: #111111;
    font-weight: 600;
    border-radius: 6px;
    transition: all 0.3s ease;
    border: none;
}

.btn-contact:hover {
    background-color: #ffffff;
    color: #009b50;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transform: translateY(-2px);
}

/* --- Social Icons --- */
.social-icons a { 
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff; 
    font-size: 15px; 
    transition: all 0.25s ease; 
    text-decoration: none;
}

.social-icons a:hover { 
    background-color: #fcbe15;
    color: #111111; 
    transform: translateY(-3px); 
}

/* --- Decoration Circle --- */
.deco-circle {
    position: absolute;
    width: 170px;
    height: 170px;
    background: radial-gradient(circle, rgba(252, 190, 21, 0.25) 0%, rgba(252, 190, 21, 0) 70%);
    border-radius: 50%;
    right: -25px;
    top: 10px;
    z-index: 0;
    pointer-events: none;
}

/* --- Bottom Copyright Bar --- */
.bottom-bar {
    background-color: #007a3e; /* Slightly darker shade for natural separation */
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.copyright-text { 
    color: rgba(255, 255, 255, 0.85); 
    font-size: 13px; 
}

.bottom-links li { 
    color: rgba(255, 255, 255, 0.4); 
    font-size: 13px; 
}

.bottom-links a { 
    color: rgba(255, 255, 255, 0.85); 
    text-decoration: none; 
    transition: color 0.2s ease;
}

.bottom-links a:hover { 
    color: #fcbe15; 
}

/* --- Floating Scroll to Top Button --- */
.scroll-top-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 42px;
    height: 42px;
    background-color: #fcbe15;
    color: #111111;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
    z-index: 999;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.scroll-top-btn:hover { 
    background-color: #ffffff; 
    color: #009b50; 
    transform: translateY(-3px);
}
   
   
   /* ==========================================================================
      12. ADMISSION MODAL POPUP
      ========================================================================== */
   #admissionPopupModal .btn-close {
       opacity: 0.8;
       transition: all 0.2s ease-in-out;
   }
   
   #admissionPopupModal .btn-close:hover {
       opacity: 1;
       transform: scale(1.1);
       background-color: #fcbe15 !important; /* Yellow hover state */
   }
   
   #admissionPopupModal .modal-dialog {
       max-width: 750px;
       margin-left: auto;
       margin-right: auto;
       padding: 15px;
   }
   /* === 12. ADMISSION MODAL POPUP END === */