/* --- Base Reset & Typography --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    color: #333333;
    background-color: #ffffff;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

/* --- Global Variables for Consistency --- */
:root {
    --primary-gradient: linear-gradient(135deg, #ad0224 0%, #ad0224 50%, #e60d38 100%);
    --text-light: #ffffff;
    --text-muted: rgba(255, 255, 255, 0.85);
    --orange-cta: #ff7e15;
    --orange-cta-hover: #e66b05;
    --button-purple: #ad0224;
    --button-purple-hover: #ff7e15;
    --error-color: #ff3b30;
    --transition-smooth: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* --- Navigation Header --- */
.main-header {
    background-color: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
}

/* ================= DROPDOWN ================= */

.dropdown{

    position:relative;
    display:inline-block;

}

.dropdown .nav-item{

    display:flex;
    align-items:center;
    gap:6px;

}

.dropdown-menu{

    position:absolute;
    top:120%;
    left:0;

    min-width:240px;

    background:#fff;

    border-radius:18px;

    padding:12px 0;

    box-shadow:0 15px 40px rgba(0,0,0,0.08);

    opacity:0;
    visibility:hidden;

    transform:translateY(12px);

    transition:all 0.35s ease;

    z-index:999;

}

.dropdown:hover .dropdown-menu{

    opacity:1;
    visibility:visible;

    transform:translateY(0);

}

.dropdown-menu a{

    display:block;

    padding:14px 22px;

    text-decoration:none;

    color:#111;

    font-size:15px;

    transition:0.3s ease;

}

.dropdown-menu a:hover{

    background:#f7f7f7;

    color:#e63946;

    padding-left:28px;

}

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 15px 4px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-size: 24px;
    font-weight: 800;
    color: #ad0224; /* Styled directly from the screenshot brand color */
}

.nav-links {
    display: flex;
    gap: 32px;
    align-items: center;
}

.nav-item {
    text-decoration: none;
    color: #333333;
    font-weight: 500;
    font-size: 15px;
    transition: var(--transition-smooth);
}

.nav-item:hover, .nav-item.active {
    color: #ad0224;
    font-weight: 500;
}

.mobile-nav-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 22px;
    color: #333333;
    cursor: pointer;
}

/* --- Hero Section Layout --- */
.hero-section {
    background: var(--primary-gradient);
    min-height: 100vh;
    padding: 140px 24px 80px 24px; /* Accounts for fixed header */
    display: flex;
    align-items: center;
}

.hero-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 60px;
    align-items: center;
    width: 100%;
}

/* --- Hero Typography & Left Side Elements --- */
.badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.2);
    color: var(--text-light);
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid rgba(255, 255, 255, 0.25);
    margin-bottom: 24px;
    backdrop-filter: blur(4px);
}

.hero-title {
    font-size: 62px;
    font-weight: 800;
    color: var(--text-light);
    line-height: 1.15;
    margin-bottom: 24px;
    letter-spacing: -0.5px;
}

.hero-subtitle {
    font-size: 18px;
    line-height: 1.6;
    color: var(--text-muted);
    margin-bottom: 36px;
    max-width: 540px;
}

/* --- Action Buttons --- */
.hero-cta-group {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: var(--transition-smooth);
    border: none;
}

.btn-primary {
    background-color: var(--orange-cta);
    color: var(--text-light);
    box-shadow: 0 10px 20px rgba(255, 126, 21, 0.3);
}

.btn-primary:hover {
    background-color: var(--orange-cta-hover);
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(255, 126, 21, 0.4);
}

.btn-secondary {
    background-color: transparent;
    color: var(--text-light);
    border: 1px solid rgba(255, 255, 255, 0.6);
}

.btn-secondary:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 1);
    transform: translateY(-2px);
}

/* --- Form Container Right Side --- */
.hero-form-container {
    display: flex;
    justify-content: flex-end;
}

.form-card {
    background-color: #f8f9fd;
    border-radius: 20px;
    padding: 40px 32px;
    width: 100%;
    max-width: 440px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.form-title {
    font-size: 24px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.3;
    margin-bottom: 28px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.form-title i {
    color: #ad0224;
    margin-top: 3px;
}

/* --- Interactive Form Fields & Validation Styles --- */
.callback-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.form-group {
    position: relative;
    display: flex;
    flex-direction: column;
}

.form-group input {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #e1e4ed;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    background-color: #ffffff;
    color: #333333;
    transition: var(--transition-smooth);
}

.form-group input::placeholder {
    color: #b0b5c1;
}

.form-group input:focus {
    outline: none;
    border-color: #ad0224;
    box-shadow: 0 0 0 4px rgba(78, 68, 227, 0.1);
}

/* Validation styling updates styling dynamically */
.error-msg {
    display: none;
    font-size: 11px;
    color: var(--error-color);
    margin-top: 4px;
    font-weight: 500;
}

.form-group.error input {
    border-color: var(--error-color);
    background-color: #fff8f8;
}

.form-group.error .error-msg {
    display: block;
}

.btn-submit {
    background-color: var(--button-purple);
    color: var(--text-light);
    width: 100%;
    justify-content: center;
    padding: 14px;
    margin-top: 8px;
    font-size: 15px;
    box-shadow: 0 4px 12px rgba(78, 68, 227, 0.2);
}

.btn-submit:hover {
    background-color: var(--button-purple-hover);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(78, 68, 227, 0.3);
}

/* --- Responsive Layout (Mobile and Tablet Media Queries) --- */
@media (max-width: 992px) {
    .hero-container {
        grid-template-columns: 1fr;
        gap: 50px;
        text-align: center;
    }

    .hero-content {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .hero-title {
        font-size: 42px;
    }

    .hero-subtitle {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-cta-group {
        justify-content: center;
    }

    .hero-form-container {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    /* Mobile Navigation Drawer Overlay */
    .mobile-nav-toggle {
        display: block;
        z-index: 1001;
    }

    .nav-links {
        position: fixed;
        top: 0;
        right: -100%;
        height: 100vh;
        width: 280px;
        background-color: #ffffff;
        flex-direction: column;
        justify-content: flex-start;
        padding: 100px 30px;
        gap: 24px;
        box-shadow: -5px 0 25px rgba(0, 0, 0, 0.1);
        transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
        align-items: flex-start;
    }

    .nav-links.nav-active {
        right: 0;
    }

    .hero-section {
        padding-top: 110px;
        padding-bottom: 60px;
    }

    .hero-title {
        font-size: 34px;
    }

    .form-card {
        padding: 30px 20px;
    }
}
/* Hero Section Layout */
.hero-section {
    background: linear-gradient(135deg, #0a1128 0%, #172b8c 100%);
    padding: 100px 24px;
    position: relative;
    overflow: hidden;
}

.hero-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 60px;
}

/* Animations */
@keyframes slideInLeft { 0% { opacity: 0; transform: translateX(-50px); } 100% { opacity: 1; transform: translateX(0); } }
@keyframes scaleIn { 0% { opacity: 0; transform: scale(0.9); } 100% { opacity: 1; transform: scale(1); } }

.hero-content { animation: slideInLeft 0.8s ease-out; flex: 1; color: white; }
.hero-form-container { animation: scaleIn 0.8s ease-out; flex: 0 0 420px; }

/* Typography */
.hero-title { font-size: 3.5rem; line-height: 1.2; margin-bottom: 20px; }
.badge { background: rgba(255,255,255,0.1); padding: 8px 16px; border-radius: 50px; display: inline-block; margin-bottom: 20px; }

/* The "Premium" Form Card */
.form-card {
    background: white;
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
    border-top: 6px solid #ad0224; /* Brand Red */
}

/* Form Styling */
.form-group { margin-bottom: 20px; }
.form-group input {
    width: 100%; padding: 15px; border: 2px solid #edf2f7; border-radius: 10px;
    transition: border-color 0.3s;
}
.form-group input:focus { border-color: #172b8c; outline: none; }

.btn-submit {
    width: 100%; background: #ad0224; color: white; border: none; padding: 18px;
    border-radius: 10px; font-weight: bold; cursor: pointer; transition: transform 0.3s;
}
.btn-submit:hover { transform: translateY(-3px); background: #8e021d; }

/* Mobile View */
@media (max-width: 992px) {
    .hero-container { flex-direction: column; text-align: center; }
    .hero-title { font-size: 2.5rem; }
    .hero-form-container { flex: 1; width: 100%; }
}

/* --- Stats Counter Section --- */
.stats-section {
    background-color: #ffffff;
    padding: 60px 24px;
    position: relative;
    z-index: 10;
    margin-top: -40px;
    width: 100%;
}

.stats-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    width: 100%;
}

.stat-card {
    background: #f8f9fd;
    border-radius: 16px;
    padding: 40px 24px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    position: relative;
    overflow: hidden;
    transition: transform 0.4s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.stat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: #ad0224;
}

.stat-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.stat-icon {
    font-size: 36px;
    color: #ad0224;
    margin-bottom: 20px;
}

.stat-number {
    font-size: 40px;
    font-weight: 800;
    color: #ad0224;
    margin-bottom: 12px;
}

.stat-label {
    font-size: 14px;
    color: #5c6470;
    font-weight: 600;
}

/* Responsive */
@media (max-width: 992px) {
    .stats-container { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}

@media (max-width: 480px) {
    .stats-container { grid-template-columns: 1fr; }
}
/* Stats Section Animation */
@keyframes slideInUp {
    0% { opacity: 0; transform: translateY(40px); }
    100% { opacity: 1; transform: translateY(0); }
}

.stat-card {
    /* ... keep your existing card styles here ... */
    opacity: 0; /* Cards hidden until animated */
    animation: slideInUp 0.8s ease-out forwards;
}

/* Staggered Delay for the "Pop-in" effect */
.stat-card:nth-child(1) { animation-delay: 0.2s; }
.stat-card:nth-child(2) { animation-delay: 0.4s; }
.stat-card:nth-child(3) { animation-delay: 0.6s; }
.stat-card:nth-child(4) { animation-delay: 0.8s; }

/* Simple hover effect */
.stat-card:hover {
    transform: translateY(-10px);
    transition: transform 0.3s ease;
}
/* Grow and Pulse effect on hover */
.stat-card:hover {
    transform: translateY(-15px) scale(1.05); /* Lifts and grows */
    box-shadow: 0 30px 60px rgba(173, 2, 36, 0.2); /* Stronger red shadow */
    cursor: pointer;
}

/* Icon rotation for extra flair */
.stat-card:hover .stat-icon {
    transform: rotate(10deg) scale(1.2);
}

/* ==========================================
   FEATURES SECTION
========================================== */

.features-section {
    background: linear-gradient(135deg, #ad0224 0%, #8e001d 100%);
    padding: 100px 24px;
    width: 100%;
    position: relative;
    overflow: hidden;
}

/* Background Glow Effects */
.features-section::before {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    background: rgba(255,255,255,0.05);
    border-radius: 50%;
    top: -200px;
    left: -200px;
    filter: blur(100px);
}

.features-section::after {
    content: "";
    position: absolute;
    width: 400px;
    height: 400px;
    background: rgba(255,255,255,0.04);
    border-radius: 50%;
    bottom: -150px;
    right: -150px;
    filter: blur(100px);
}

.features-container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

/* ==========================================
   HEADER
========================================== */

.features-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 70px;
}

.features-header h2 {
    font-size: 52px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 20px;
    letter-spacing: -1px;
}

.features-header p {
    font-size: 19px;
    line-height: 1.8;
    color: rgba(255,255,255,0.9);
}

/* ==========================================
   GRID
========================================== */

.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* ==========================================
   CARD
========================================== */

.feature-card {
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(10px);
    border-radius: 24px;
    padding: 40px 30px;
    position: relative;
    overflow: hidden;
    transition: all 0.45s ease;
    border: 1px solid rgba(255,255,255,0.2);

    opacity: 0;
    animation: fadeUp 0.8s ease forwards;
}

/* Top Accent Bar */
.feature-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #ad0224, #ff3158);
}

/* Shine Hover Effect */
.feature-card::after {
    content: "";
    position: absolute;
    top: -100%;
    left: -120%;
    width: 100%;
    height: 300%;
    background: linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,0.55),
        transparent
    );
    transform: rotate(25deg);
    transition: 0.8s;
}

.feature-card:hover::after {
    left: 150%;
}

.feature-card:hover {
    transform: translateY(-12px);
    box-shadow:
        0 25px 50px rgba(0,0,0,0.15),
        0 0 25px rgba(173,2,36,0.15);
}

/* ==========================================
   BADGE
========================================== */

.feature-badge {
    position: absolute;
    top: 18px;
    right: 18px;
    background: rgba(173,2,36,0.08);
    color: #ad0224;
    padding: 5px 12px;
    border-radius: 30px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
}

/* ==========================================
   ICONS
========================================== */

.feature-icon-wrapper {
    width: 70px;
    height: 70px;
    border-radius: 18px;
    background: linear-gradient(135deg,#ad0224,#d1002f);
    color: #fff;
    font-size: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 25px;

    transition: all 0.4s ease;

    box-shadow: 0 10px 25px rgba(173,2,36,0.25);
}

.feature-card:hover .feature-icon-wrapper {
    transform: rotate(-10deg) scale(1.12);
}

/* ==========================================
   TEXT
========================================== */

.feature-card h3 {
    font-size: 25px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 15px;
    line-height: 1.4;
}

.feature-card p {
    font-size: 17px;
    line-height: 1.8;
    color: #64748b;
    margin: 0;
}

/* ==========================================
   STAGGER ANIMATION
========================================== */

.feature-card:nth-child(1) {
    animation-delay: 0.1s;
}

.feature-card:nth-child(2) {
    animation-delay: 0.2s;
}

.feature-card:nth-child(3) {
    animation-delay: 0.3s;
}

.feature-card:nth-child(4) {
    animation-delay: 0.4s;
}

.feature-card:nth-child(5) {
    animation-delay: 0.5s;
}

.feature-card:nth-child(6) {
    animation-delay: 0.6s;
}

/* ==========================================
   ANIMATIONS
========================================== */

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(60px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 1024px) {

    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .features-header h2 {
        font-size: 42px;
    }
}

@media (max-width: 768px) {

    .features-section {
        padding: 70px 20px;
    }

    .features-header {
        margin-bottom: 45px;
    }

    .features-header h2 {
        font-size: 34px;
    }

    .features-header p {
        font-size: 17px;
    }

    .features-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .feature-card {
        padding: 30px 24px;
    }

    .feature-card h3 {
        font-size: 22px;
    }

    .feature-card p {
        font-size: 16px;
    }
}


/* --- SECTION BASE --- */
.isc-testimonials-section {
    background: linear-gradient(135deg, rgba(23, 43, 140, 0.8) 0%, rgba(173, 2, 36, 0.4) 100%), 
                url('img/isc-banner-1.png');
    
    /* ADD THESE THREE LINES TO FIX REPETITION */
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    
    padding: 70px 0 20px 0;
    position: relative;
    width: 100%;
    box-sizing: border-box;
}
.isc-shell {
    max-width: 750px;
    margin: 0 auto;
    padding: 0 15px;
    width: 100%;
    position: relative;
}

.isc-section-title-about {
     color: #172b8c;
    font-size: 2.6rem;
    font-weight: 800;
    margin-bottom: 12px;
    letter-spacing: -0.5px;
    transition: color 0.3s ease;
}
.isc-section-title {
    color: #ffffff !important;
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 50px;
    font-weight: 700;
}

/* --- SLIDER LAYOUT --- */
.isc-slider-container {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    width: 100%;
}

.isc-slider-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: 100%;
}

.isc-slide {
    min-width: 100%;
    box-sizing: border-box;
    padding: 0 10px;
}

/* --- ANIMATIONS & HOVER HIGHLIGHTS --- */
@keyframes isc-highlightEntry {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.98);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.isc-slide {
    animation: isc-highlightEntry 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

.isc-card-inner {
    background: #ffffff;
    border-radius: 8px;
    padding: 40px 35px;
    text-align: center;
    position: relative;
    border-top: 6px solid #172b8c;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease, border-color 0.4s ease;
}

/* Assigning your logo colors to individual borders */
.isc-card-red .isc-card-inner { border-top-color: #e0333c; }
.isc-card-yellow .isc-card-inner { border-top-color: #fab722; }
.isc-card-green .isc-card-inner { border-top-color: #7ca959; }
.isc-card-blue .isc-card-inner { border-top-color: #172b8c; }

/* Heavy Highlight on Hover */
.isc-slide:hover .isc-card-inner {
    transform: translateY(-10px) scale(1.01);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
    border-top-color: #172b8c;
}

/* --- QUOTE STYLING --- */
.isc-quote-body q {
    color: #5a5a5a;
    font-size: 0.95rem;
    line-height: 1.7;
    font-style: italic;
    display: inline-block;
}

/* --- NAVIGATION ARROWS --- */
.isc-slider-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-60%);
    background: rgba(23, 43, 140, 0.7);
    color: #ffffff;
    border: none;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.isc-slider-nav:hover {
    background: #e0333c;
    transform: translateY(-60%) scale(1.1);
}

.isc-prev { left: -5px; }
.isc-next { right: -5px; }

/* --- PAGINATION DOTS --- */
.isc-slider-dots {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 30px;
}

.isc-dot {
    width: 14px;
    height: 14px;
    background-color: rgba(255, 255, 255, 0.4);
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.isc-dot.active, .isc-dot:hover {
    background-color: #8e021d;
    transform: scale(1.2);
}

/* --- AUTHOR DETAILS --- */
.isc-author-wrapper {
    margin-top: 30px;
    text-align: center;
}

.isc-author-name {
    font-style: normal;
    font-weight: bold;
    color: #172b8c;
    display: block;
    font-size: 1.1rem;
    transition: color 0.3s ease;
}

.isc-slide:hover .isc-author-name {
    color: #e0333c;
}

.isc-author-sub {
    color: #5a5a5a;
    font-size: 0.85rem;
    margin-top: 5px;
    font-style: italic;
}

.isc-author-img {
    border-radius: 50%;
    margin-top: 15px;
    border: 2px solid transparent;
    transition: transform 0.4s ease, border-color 0.4s ease;
}

.isc-slide:hover .isc-author-img {
    transform: rotate(360deg) scale(1.1);
    border-color: #7ca959;
}

/* Responsive adjustment for arrows on small screens */
@media (max-width: 768px) {
    .isc-prev { left: 5px; }
    .isc-next { right: 5px; }
}
/* ==========================================================================
   FOOTER RESPONSIVE MEDIA QUERIES
   ========================================================================== */

/* 1. For Small Laptops and Tablets (Prevents text squeezing and overlapping) */
@media (max-width: 1024px) {
    .footer-grid-container {
        /* Morphs the 4 narrow columns into a comfortable 2x2 layout matrix */
        grid-template-columns: repeat(2, 1fr) !important; 
        gap: 45px 30px !important;
        padding-bottom: 40px !important;
    }
}

/* 2. For Mobile Screens (Collapses into a beautifully centered single-column layout) */
@media (max-width: 640px) {
    .site-footer {
        padding: 60px 20px 0 20px !important;
    }

    .footer-grid-container {
        /* Drops down to a single vertical column stack */
        grid-template-columns: 1fr !important;
        gap: 35px !important;
    }

    /* Centers all text content and structural grid objects on mobile viewports */
    .footer-col {
        align-items: left !important;
        text-align: left !important;
    }

    /* Centers the crimson red title underline indicators automatically */
    .footer-col-title::after {
        left: 50% !important;
        transform: translateX(-50%) !important;
    }

    .social-icon-wrapper-row {
        justify-content: left !important;
    }

    .contact-details-list li {
        flex-direction: column !important;
        align-items: left !important;
        gap: 6px !important;
    }

    .footer-nav-list li a {
        justify-content: left !important;
    }

    /* Arranges copyright message and the admissions badge vertically on mobile */
    .ribbon-container {
        flex-direction: column-reverse !important;
        gap: 16px !important;
        text-align: left !important;
    }
}
/* --- Premium 4-Column Footer Section --- */
.site-footer {
    background-color: #0b111e; /* Sophisticated midnight dark tone */
    color: #94a3b8;
    padding: 90px 24px 0 24px;
    width: 100%;
    position: relative;
    font-family: 'Inter', sans-serif;
}

.footer-grid-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.1fr 1fr 0.9fr 1fr; /* Clean balancing of content widths */
    gap: 40px;
    padding-bottom: 60px;
}

/* Column Header Styling with Accent Line */
.footer-col-title {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 24px;
    position: relative;
    padding-bottom: 10px;
    letter-spacing: -0.3px;
}

/* Underline accent indicator referencing the style from your screenshot */
.footer-col-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 35px;
    height: 3px;
    background-color: #216818; /* Clean crimson crimson highlight accent line */
    border-radius: 2px;
}

/* Column 1 Specifics: Brand Profile & Logos */
.footer-brand-logo {
    display: inline-block;
    margin-bottom: 18px;
}

.footer-brand-logo img {
    max-height: 55px;
    width: auto;
    object-fit: contain;
}

.brand-short-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #94a3b8;
    margin-bottom: 24px;
}

/* Sleek Circular Social Icons Row */
.social-icon-wrapper-row {
    display: flex;
    gap: 12px;
}

.social-circle-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.04);
    color: #cbd5e1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    border: 1px solid rgba(255, 255, 255, 0.02);
}

.social-circle-btn:hover {
    background-color: #ad0224; /* Brand main identity deep purple highlight on hover */
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 8px 16px rgba(99, 67, 204, 0.3);
}

/* Column 2 Specifics: Structural Contact Setup */
.contact-details-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.contact-details-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-size: 14px;
    line-height: 1.5;
}

.contact-details-list li i {
    color: #ad0224; /* Purple anchor theme icons */
    font-size: 16px;
    margin-top: 3px;
    flex-shrink: 0;
}

.contact-link-item {
    color: #94a3b8;
    text-decoration: none;
    transition: color 0.2s ease;
    font-weight: 500;
}

.contact-link-item:hover {
    color: #ffffff;
}

.contact-link-item.email-highlight {
    color: #216818; /* Clean crimson highlighting text structure from your reference image */
}

.contact-link-item.email-highlight:hover {
    text-decoration: underline;
    color: #f87171;
}

/* Columns 3 & 4 Specifics: Modular Structured Navigation Links */
.footer-nav-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-nav-list li a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #94a3b8;
    text-decoration: none;
    font-size: 14.5px;
    transition: all 0.25s ease;
    font-weight: 500;
}

/* Subtle icon right slide shifting on link active focus states */
.footer-nav-list li a i {
    font-size: 11px;
    color: #475569;
    transition: transform 0.25s ease, color 0.25s ease;
}

.footer-nav-list li a:hover {
    color: #ffffff;
}

.footer-nav-list li a:hover i {
    transform: translateX(4px);
    color: #ef4444;
}

/* Bottom Closing Ribbon Bar styling definitions */
.footer-bottom-ribbon {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding: 26px 0;
}

.ribbon-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: #64748b;
}

.ribbon-tag {
    font-weight: 700;
    color: #fff;
    background-color: #216818;
    padding: 4px 12px;
    border-radius: 4px;
}/* ==========================================
   PREMIUM FOOTER ANIMATIONS
========================================== */

.site-footer{
    overflow:hidden;
}

/* Animated Background Glow */

.site-footer::before{
    content:'';
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;
    background:rgba(173,2,36,.08);
    top:-250px;
    left:-150px;
    filter:blur(80px);
    animation:footerGlow 12s ease-in-out infinite;
}

.site-footer::after{
    content:'';
    position:absolute;
    width:400px;
    height:400px;
    border-radius:50%;
    background:rgba(33,104,24,.10);
    bottom:-180px;
    right:-120px;
    filter:blur(80px);
    animation:footerGlow 15s ease-in-out infinite reverse;
}

@keyframes footerGlow{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-40px);
    }
}

/* ==========================================
   FOOTER COLUMN CARDS
========================================== */

.footer-col{
    position:relative;
    padding:20px;
    border-radius:18px;
    transition:all .4s ease;
}

.footer-col:hover{
    background:rgba(255,255,255,.03);
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.25);
}

/* ==========================================
   COLUMN REVEAL ANIMATION
========================================== */

.footer-col{
    animation:footerFadeUp .8s ease forwards;
}

.footer-col:nth-child(1){animation-delay:.1s;}
.footer-col:nth-child(2){animation-delay:.2s;}
.footer-col:nth-child(3){animation-delay:.3s;}
.footer-col:nth-child(4){animation-delay:.4s;}

@keyframes footerFadeUp{
    from{
        opacity:0;
        transform:translateY(40px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ==========================================
   TITLE UNDERLINE ANIMATION
========================================== */

.footer-col-title::after{
    width:35px;
    transition:all .4s ease;
}

.footer-col:hover .footer-col-title::after{
    width:70px;
    background:linear-gradient(
        90deg,
        #ad0224,
        #216818
    );
}

/* ==========================================
   LOGO ANIMATION
========================================== */

.footer-brand-logo img{
    transition:all .5s ease;
}

.footer-brand-logo:hover img{
    transform:scale(1.08) rotate(-2deg);
}

/* ==========================================
   SOCIAL ICONS
========================================== */

.social-circle-btn{
    position:relative;
    overflow:hidden;
}

.social-circle-btn::before{
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    background:rgba(255,255,255,.15);
    top:0;
    left:-100%;
    transition:.6s;
}

.social-circle-btn:hover::before{
    left:100%;
}

.social-circle-btn:hover{
    transform:translateY(-6px) scale(1.12);
    box-shadow:
        0 10px 25px rgba(173,2,36,.4);
}

/* ==========================================
   CONTACT ITEMS
========================================== */

.contact-details-list li{
    transition:all .3s ease;
}

.contact-details-list li:hover{
    transform:translateX(6px);
}

/* ==========================================
   NAVIGATION LINKS
========================================== */

.footer-nav-list li a{
    position:relative;
}

.footer-nav-list li a::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-3px;
    width:0;
    height:2px;
    background:#216818;
    transition:.3s;
}

.footer-nav-list li a:hover::after{
    width:100%;
}

.footer-nav-list li a:hover{
    transform:translateX(8px);
}

/* ==========================================
   RIBBON ANIMATION
========================================== */

.ribbon-tag{
    animation:pulseRibbon 2.5s infinite;
}

@keyframes pulseRibbon{
    0%,100%{
        transform:scale(1);
    }
    50%{
        transform:scale(1.08);
    }
}

/* ==========================================
   WHATSAPP BUTTON
========================================== */

.whatsapp-action{
    animation:whatsappPulse 2s infinite;
}

@keyframes whatsappPulse{
    0%{
        box-shadow:0 0 0 0 rgba(37,211,102,.5);
    }
    70%{
        box-shadow:0 0 0 18px rgba(37,211,102,0);
    }
    100%{
        box-shadow:0 0 0 0 rgba(37,211,102,0);
    }
}

/* ==========================================
   CALL BUTTON
========================================== */

.call-action{
    animation:callBounce 2.5s infinite;
}

@keyframes callBounce{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-8px);
    }
}

/* ==========================================
   BOTTOM RIBBON SHINE
========================================== */

.footer-bottom-ribbon{
    position:relative;
    overflow:hidden;
}

.footer-bottom-ribbon::before{
    content:'';
    position:absolute;
    top:0;
    left:-120%;
    width:60%;
    height:100%;
    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.08),
        transparent
    );
    animation:ribbonShine 8s infinite;
}

@keyframes ribbonShine{
    100%{
        left:150%;
    }
}
.footer-particle{
    position:absolute;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    animation:particleFloat 10s infinite ease-in-out;
}

.footer-particle:nth-child(1){
    width:12px;
    height:12px;
    top:20%;
    left:10%;
}

.footer-particle:nth-child(2){
    width:18px;
    height:18px;
    top:50%;
    right:15%;
}

.footer-particle:nth-child(3){
    width:10px;
    height:10px;
    bottom:25%;
    left:40%;
}

@keyframes particleFloat{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-25px);
    }
}

/* --- Floating Quick Support Action Stack --- */
.floating-actions-group {
    position: fixed;
    bottom: 24px;
    left: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px; 
    z-index: 9999; /* Ensure it stays above everything */
}

.sticky-action-btn {
    width: 43px; /* Slightly larger for better touch */
    height: 43px;
    border-radius: 50%;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    /* Attach the infinite pulse animation */
    animation: pulse-glow 2s infinite;
}

/* The "Breathe" Animation */
@keyframes pulse-glow {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4); }
    70% { transform: scale(1.05); box-shadow: 0 0 0 15px rgba(255, 255, 255, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}

.whatsapp-action { background-color: #25d366; }
.whatsapp-action:hover { background-color: #1ebd58; transform: scale(1.15) rotate(10deg); }

.call-action { background-color: #ff7e15; animation-delay: 0.5s; } /* Offset the pulse */
.call-action:hover { background-color: #e66b05; transform: scale(1.15) rotate(-10deg); }

/* --- Mobile Adjustments --- */
@media (max-width: 640px) {
    .floating-actions-group { bottom: 20px; left: 20px; }
    .sticky-action-btn { width: 50px; height: 50px; }
}


/* --- Premium Branches Slider Layout --- */
.branches-section {
    background: #ad0224;
    padding: 120px 24px;
    width: 100%;
    position: relative;
    overflow: hidden;
}

.branches-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Header UI Elements */
.branches-header {
    text-align: center;
    margin-bottom: 60px;
}

.branches-tagline {
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px;
    display: inline-block;
    margin-bottom: 8px;
}

.branches-header h2 {
    font-size: 38px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.5px;
    margin-bottom: 16px;
}

.header-line {
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #ad0224, #fff);
    margin: 0 auto;
    border-radius: 10px;
}

/* Master Slider Architecture Window Frame */
.branches-slider-wrapper {
    position: relative;
    width: 100%;
    margin: 0 auto;
}

.branches-slider-track {
    position: relative;
    width: 100%;
    min-height: 480px; /* Secure height alignment preventing dynamic layout jumps */
}

/* Slide Card Stack Concept Layout */
.branch-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transform: scale(0.96) translateY(10px);
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.6s;
    z-index: 1;
}

/* Reveal State Layer Active Rules styling overrides */
.branch-slide.active {
    opacity: 1;
    visibility: visible;
    transform: scale(1) translateY(0);
    position: relative; /* Restores height footprint back inside track layout wrapper frame */
    z-index: 2;
}

/* Completely unique horizontal premium split layout card style */
.slide-card-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    background: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(99, 67, 204, 0.06), 0 4px 12px rgba(0, 0, 0, 0.01);
    border: 1px solid rgba(226, 232, 240, 0.8);
}

/* Left Dynamic Photo Module container window panel space */
.slide-image-frame {
    width: 100%;
    height: 480px;
    position: relative;
    background: #0f172a;
    overflow: hidden;
}

.slide-image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 6s cubic-bezier(0.25, 1, 0.5, 1);
}

.branch-slide.active .slide-image-frame img {
    transform: scale(1.04); /* Premium organic micro pan zoom visual dynamic effect built on interaction */
}

/* Info Module Panel Elements on Right side layout column position */
.slide-info-panel {
    padding: 50px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    background-color: #ffffff;
}

.branch-badge {
    background: rgba(99, 67, 204, 0.06);
    color: #ad0224;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 24px;
}

.slide-info-panel h3 {
    font-size: 24px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.3;
    margin-bottom: 18px;
    letter-spacing: -0.3px;
}

.branch-address {
    font-size: 15px;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 30px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.branch-address i {
    color: #ad0224;
    margin-top: 4px;
    font-size: 16px;
}

.branch-map-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #111827;
    color: #ffffff;
    text-decoration: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.branch-map-btn:hover {
    background: #ad0224;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(99, 67, 204, 0.2);
}

/* Floating Directional Controls Navigation Arrows */
.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 1);
    color: #1e293b;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    z-index: 10;
    transition: all 0.3s ease;
}

.slider-arrow:hover {
    background: #ad0224;
    color: #ffffff;
    border-color: #ad0224;
    box-shadow: 0 8px 20px rgba(99, 67, 204, 0.25);
}

.arrow-prev { left: -25px; }
.arrow-next { right: -25px; }

/* Bottom Tracking Dots Row elements layout structure styles */
.slider-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 30px;
}

.dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #cbd5e1;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.dot.active {
    background: #000;
    width: 28px; /* High-end stretched layout active dot indicator mechanic width pill */
    border-radius: 10px;
}

/* --- Complex Responsive Fluid Overrides --- */
@media (max-width: 1024px) {
    .slide-card-grid {
        grid-template-columns: 1fr; /* Stacks vertically elegantly on intermediate tablet view widths */
    }
    .slide-image-frame {
        height: 340px;
    }
    .slide-info-panel {
        padding: 40px 30px;
    }
    .arrow-prev { left: -12px; }
    .arrow-next { right: -12px; }
}

@media (max-width: 640px) {
    .branches-section {
        padding: 60px 16px;
    }
    .branches-header h2 {
        font-size: 30px;
    }
    .slide-image-frame {
        height: 240px;
    }
    .slide-info-panel h3 {
        font-size: 20px;
    }
    .slider-arrow {
        width: 40px;
        height: 40px;
        font-size: 14px;
    }
    .arrow-prev { left: -6px; }
    .arrow-next { right: -6px; }
}
/* ==========================================
   COURSE CARD ENTRY ANIMATIONS
========================================== */

.course-card {
    opacity: 0;
    transform: translateY(80px) scale(.95);
    animation: courseReveal .9s cubic-bezier(.22,1,.36,1) forwards;
}

.course-card:nth-child(1){animation-delay:.15s;}
.course-card:nth-child(2){animation-delay:.3s;}
.course-card:nth-child(3){animation-delay:.45s;}
.course-card:nth-child(4){animation-delay:.6s;}

@keyframes courseReveal{
    0%{
        opacity:0;
        transform:translateY(80px) scale(.95);
    }
    100%{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

/* ==========================================
   FLOATING GLOW EFFECT
========================================== */

.course-card::before{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    background:rgba(255,255,255,.05);
    border-radius:50%;
    top:-100px;
    right:-100px;
    transition:.5s ease;
}

.course-card:hover::before{
    transform:scale(1.4);
}

/* ==========================================
   SHINE SWEEP EFFECT
========================================== */

.course-card::after{
    content:"";
    position:absolute;
    top:-50%;
    left:-150%;
    width:70%;
    height:250%;
    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.18),
        transparent
    );
    transform:rotate(25deg);
    transition:.8s;
}

.course-card:hover::after{
    left:170%;
}

/* ==========================================
   PREMIUM HOVER EFFECT
========================================== */

.course-card:hover{
    transform:translateY(-15px) rotateX(4deg);
    box-shadow:
    0 30px 60px rgba(0,0,0,.35),
    0 0 25px rgba(173,2,36,.25);
}

/* ==========================================
   BADGE PULSE ANIMATION
========================================== */

.course-badge{
    animation:pulseBadge 3s infinite;
}

@keyframes pulseBadge{
    0%,100%{
        transform:scale(1);
    }
    50%{
        transform:scale(1.08);
    }
}

/* ==========================================
   TITLE ANIMATION
========================================== */

.course-title{
    transition:.4s;
}

.course-card:hover .course-title{
    color:#ffd166;
    transform:translateX(8px);
}

/* ==========================================
   META TAG HOVER
========================================== */

.meta-tag{
    transition:.35s;
}

.meta-tag:hover{
    transform:translateY(-4px);
    background:rgba(255,255,255,.12);
}

/* ==========================================
   ICON BOUNCE
========================================== */

.meta-tag i{
    transition:.3s;
}

.course-card:hover .meta-tag i{
    animation:bounceIcon .6s;
}

@keyframes bounceIcon{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-6px);
    }
}

/* ==========================================
   ACCORDION OPEN ANIMATION
========================================== */

.syllabus-content{
    max-height:0;
    overflow:hidden;
    opacity:0;
    transition:
        max-height .5s ease,
        opacity .4s ease;
}

.syllabus-accordion.active .syllabus-content{
    max-height:400px;
    opacity:1;
}

.syllabus-content li{
    opacity:0;
    transform:translateX(-15px);
    transition:.4s;
}

.syllabus-accordion.active .syllabus-content li{
    opacity:1;
    transform:translateX(0);
}

.syllabus-accordion.active .syllabus-content li:nth-child(1){
    transition-delay:.1s;
}

.syllabus-accordion.active .syllabus-content li:nth-child(2){
    transition-delay:.2s;
}

.syllabus-accordion.active .syllabus-content li:nth-child(3){
    transition-delay:.3s;
}

/* ==========================================
   SPECIAL CLASS X CARD
========================================== */

.popular-highlight{
    position:relative;
    overflow:hidden;
}

.popular-highlight::before{
    background:
    radial-gradient(circle,
    rgba(255,159,67,.25),
    transparent 70%);
}

.popular-highlight:hover{
    box-shadow:
    0 35px 70px rgba(255,159,67,.25),
    0 0 35px rgba(255,159,67,.2);
}

/* ==========================================
   FLOATING PARTICLES
========================================== */

.courses-section{
    position:relative;
    overflow:hidden;
}

.courses-section::before{
    content:"";
    position:absolute;
    width:10px;
    height:10px;
    background:#ad0224;
    border-radius:50%;
    top:20%;
    left:10%;
    opacity:.2;
    animation:floatParticle 8s infinite linear;
}

.courses-section::after{
    content:"";
    position:absolute;
    width:15px;
    height:15px;
    background:#ff9f43;
    border-radius:50%;
    right:10%;
    bottom:20%;
    opacity:.2;
    animation:floatParticle 10s infinite linear;
}

@keyframes floatParticle{
    0%{
        transform:translateY(0) rotate(0);
    }
    50%{
        transform:translateY(-40px) rotate(180deg);
    }
    100%{
        transform:translateY(0) rotate(360deg);
    }
}
/* --- Completely Redesigned Popular Courses Section --- */
.courses-section {
    background-color:  #fff;  /* High-contrast premium deep navy/black night sky background */
    padding: 120px 24px;
    width: 100%;
    color: #ffffff;
}

.courses-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Header Design Elements */
.courses-header {
    text-align: center;
    max-width: 650px;
    margin: 0 auto 60px auto;
}

.courses-tagline {
    font-size: 12px;
    font-weight: 700;
    color: #ff9f43; /* Striking warning/gold accent label color */
    text-transform: uppercase;
    letter-spacing: 2px;
    display: inline-block;
    margin-bottom: 12px;
}

.courses-header h2 {
    font-size: 40px;
    font-weight: 800;
    color: #ad0224;
    margin-bottom: 18px;
    letter-spacing: -0.5px;
}

.courses-header p {
    font-size: 15px;
    color: #000;
    line-height: 1.6;
}

/* 2x2 Clean Balanced Layout Grid Box for Cards */
.courses-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

/* Premium Card Base Layout */
.course-card {
    background: #216818;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), 
                box-shadow 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
                border-color 0.4s ease;
    overflow: hidden;
    position: relative;
}

/* Highlight variation for 10th standard card to boost sales conversions */
.course-card.popular-highlight {
    border-color: rgba(255, 159, 67, 0.3);
    background: #216818;
    box-shadow: 0 10px 30px rgba(255, 159, 67, 0.03);
}

.course-card:hover {
    transform: translateY(-5px);
    border-color: rgba(99, 67, 204, 0.4);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.course-card-body {
    padding: 36px;
}

/* High-End Badges */
.course-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    color: #ad0224;
    background-color: #f3efff;
    padding: 4px 12px;
    border-radius: 50px;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.premium-badge {
    color: #030d22;
    background-color: #ff9f43;
}

.course-title {
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 8px;
    letter-spacing: -0.3px;
}

.course-boards {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 24px;
}

/* Structured Meta tags (replacing emojis) */
.course-meta-icons {
    display: flex;
    gap: 14px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}

.meta-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #fff;
    font-weight: 500;
    background: rgba(255, 255, 255, 0.04);
    padding: 6px 14px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.03);
}

.meta-tag i {
    color: #ff9f43;
}

/* Accordion Syllabus Drawer Engine System */
.syllabus-accordion {
    border-top: 1px dashed rgba(255, 255, 255, 0.08);
    padding-top: 20px;
}

.syllabus-toggle-btn {
    width: 100%;
    background: none;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    padding: 4px 0;
    font-family: inherit;
    transition: color 0.3s ease;
}

.syllabus-toggle-btn:hover, .syllabus-accordion.active .syllabus-toggle-btn {
    color: #ffffff;
}

.syllabus-toggle-btn i {
    font-size: 12px;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Rotate indicator arrow when container state shifts to open */
.syllabus-accordion.active .syllabus-toggle-btn i {
    transform: rotate(180deg);
    color: #ff9f43;
}

.syllabus-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.syllabus-content ul {
    list-style: none;
    padding: 16px 0 4px 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.syllabus-content li {
    font-size: 13.5px;
    color: #94a3b8;
    line-height: 1.5;
}

.syllabus-content li strong {
    color: #e2e8f0;
    font-weight: 600;
}

/* --- Responsive Media Viewport Triggers --- */
@media (max-width: 992px) {
    .courses-grid {
        grid-template-columns: 1fr; /* Stacks completely into 1 vertical row track on smaller devices */
        gap: 24px;
    }
    .courses-header h2 {
        font-size: 34px;
    }
}

@media (max-width: 640px) {
    .courses-section {
        padding: 60px 16px;
    }
    .course-card-body {
        padding: 24px;
    }
    .course-title {
        font-size: 20px;
    }
}


/* ==========================
   PREMIUM BLOG SECTION
========================== */

.blog-section{
    padding:120px 20px;
    background:
    radial-gradient(circle at top left,#ffe7ec 0%,transparent 30%),
    radial-gradient(circle at bottom right,#e8fff0 0%,transparent 30%),
    #f8fafc;
}

.blog-container{
    max-width:1200px;
    margin:auto;
}

/* HEADER */

.blog-header{
    text-align:center;
    margin-bottom:70px;
}

.blog-tagline{
    display:inline-block;
    background:rgba(173,2,36,.08);
    color:#ad0224;
    padding:8px 18px;
    border-radius:50px;
    font-size:13px;
    font-weight:700;
    letter-spacing:1px;
    margin-bottom:15px;
}

.blog-header h2{
    font-size:48px;
    font-weight:800;
    color:#172b8c;
    margin-bottom:15px;
}

.blog-header-line{
    width:90px;
    height:5px;
    margin:auto;
    border-radius:50px;
    background:linear-gradient(
    90deg,
    #ad0224,
    #fab722,
    #216818
    );
}

/* GRID */

.blog-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
}

/* CARD */

.blog-card{
    background:rgba(255,255,255,.85);
    backdrop-filter:blur(12px);
    border-radius:24px;
    overflow:hidden;
    position:relative;
    border:1px solid rgba(255,255,255,.4);
    box-shadow:
    0 10px 30px rgba(0,0,0,.06);
    transition:.45s ease;
}

.blog-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:5px;
    background:linear-gradient(
    90deg,
    #ad0224,
    #fab722,
    #216818,
    #172b8c
    );
}

.blog-card:hover{
    transform:translateY(-12px);
    box-shadow:
    0 25px 50px rgba(23,43,140,.15);
}

/* IMAGE */

.blog-image-wrapper{
    position:relative;
    height:240px;
    overflow:hidden;
}

.blog-image-wrapper::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
    to top,
    rgba(0,0,0,.45),
    transparent
    );
}

.blog-image-wrapper img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:1s ease;
}

.blog-card:hover .blog-image-wrapper img{
    transform:scale(1.12);
}

/* CATEGORY */

.blog-category{
    position:absolute;
    top:18px;
    left:18px;
    z-index:2;
    background:#fff;
    color:#ad0224;
    font-weight:700;
    font-size:12px;
    padding:8px 16px;
    border-radius:50px;
    box-shadow:0 5px 15px rgba(0,0,0,.1);
}

/* CONTENT */

.blog-content-body{
    padding:30px;
}

.blog-meta{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    color:#64748b;
    font-size:13px;
    margin-bottom:15px;
}

.blog-title{
    margin-bottom:15px;
}

.blog-title a{
    font-size:22px;
    font-weight:800;
    line-height:1.4;
    text-decoration:none;
    color:#0f172a;
    transition:.3s;
}

.blog-title a:hover{
    color:#ad0224;
}

.blog-excerpt{
    color:#475569;
    line-height:1.8;
    margin-bottom:25px;
}

/* BUTTON */

.blog-read-more{
    display:inline-flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    font-weight:700;
    color:#fff;
    background:linear-gradient(
    135deg,
    #ad0224,
    #d90429
    );
    padding:12px 22px;
    border-radius:50px;
    transition:.35s ease;
    box-shadow:
    0 10px 20px rgba(173,2,36,.25);
}

.blog-read-more:hover{
    transform:translateY(-3px);
    box-shadow:
    0 15px 30px rgba(173,2,36,.35);
}

.blog-read-more i{
    transition:.35s;
}

.blog-read-more:hover i{
    transform:translateX(5px);
}

/* RESPONSIVE */

@media(max-width:1024px){

    .blog-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .blog-header h2{
        font-size:38px;
    }
}

@media(max-width:768px){

    .blog-grid{
        grid-template-columns:1fr;
    }

    .blog-header h2{
        font-size:32px;
    }

    .blog-content-body{
        padding:24px;
    }

    .blog-title a{
        font-size:20px;
    }
}
/* ===================================
   PREMIUM BLOG ANIMATIONS
=================================== */

/* Header Animation */
.blog-header{
    animation: blogHeaderReveal 1s ease;
}

@keyframes blogHeaderReveal{
    from{
        opacity:0;
        transform:translateY(40px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* Animated Gradient Line */
.blog-header-line{
    width:100px;
    height:5px;
    border-radius:50px;
    margin:auto;
    background:linear-gradient(
        90deg,
        #ad0224,
        #fab722,
        #216818,
        #172b8c,
        #ad0224
    );
    background-size:300% 100%;
    animation:gradientMove 5s linear infinite;
}

@keyframes gradientMove{
    from{
        background-position:0% 50%;
    }
    to{
        background-position:100% 50%;
    }
}

/* Card Entrance Animation */
.blog-card{
    opacity:0;
    animation:blogCardEntrance .8s ease forwards;
}

.blog-card:nth-child(1){
    animation-delay:.2s;
}

.blog-card:nth-child(2){
    animation-delay:.5s;
}

.blog-card:nth-child(3){
    animation-delay:.8s;
}

@keyframes blogCardEntrance{
    from{
        opacity:0;
        transform:translateY(80px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* Premium Hover Lift */
.blog-card:hover{
    transform:translateY(-15px) scale(1.02);
}

/* Shine Effect */
.blog-card{
    position:relative;
    overflow:hidden;
}

.blog-card::after{
    content:'';
    position:absolute;
    top:-120%;
    left:-120%;
    width:70%;
    height:300%;
    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.4),
        transparent
    );
    transform:rotate(25deg);
    transition:.9s ease;
}

.blog-card:hover::after{
    left:140%;
}

/* Image Continuous Zoom */
.blog-image-wrapper img{
    animation:imageBreath 8s ease-in-out infinite;
}

@keyframes imageBreath{
    0%{
        transform:scale(1);
    }
    50%{
        transform:scale(1.06);
    }
    100%{
        transform:scale(1);
    }
}

/* Stronger Image Zoom on Hover */
.blog-card:hover .blog-image-wrapper img{
    transform:scale(1.15);
}

/* Category Badge Pulse */
.blog-category{
    animation:pulseBadge 2.5s infinite;
}

@keyframes pulseBadge{
    0%{
        box-shadow:0 0 0 0 rgba(173,2,36,.4);
    }
    70%{
        box-shadow:0 0 0 15px rgba(173,2,36,0);
    }
    100%{
        box-shadow:0 0 0 0 rgba(173,2,36,0);
    }
}

/* Floating Read More Button */
.blog-read-more{
    animation:buttonFloat 3s ease-in-out infinite;
}

@keyframes buttonFloat{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-4px);
    }
}

/* Arrow Movement */
.blog-read-more i{
    transition:.3s ease;
}

.blog-card:hover .blog-read-more i{
    transform:translateX(8px);
}

/* Title Hover Animation */
.blog-title a{
    position:relative;
}

.blog-title a::after{
    content:'';
    position:absolute;
    bottom:-4px;
    left:0;
    width:0;
    height:2px;
    background:#ad0224;
    transition:.4s ease;
}

.blog-title a:hover::after{
    width:100%;
}

/* Floating Background Glow */
.blog-section{
    position:relative;
    overflow:hidden;
}

.blog-section::before{
    content:'';
    position:absolute;
    width:350px;
    height:350px;
    border-radius:50%;
    background:rgba(173,2,36,.05);
    filter:blur(80px);
    top:-120px;
    left:-120px;
    animation:glowMove1 10s infinite alternate ease-in-out;
}

.blog-section::after{
    content:'';
    position:absolute;
    width:350px;
    height:350px;
    border-radius:50%;
    background:rgba(23,43,140,.05);
    filter:blur(80px);
    bottom:-120px;
    right:-120px;
    animation:glowMove2 12s infinite alternate ease-in-out;
}

@keyframes glowMove1{
    from{
        transform:translate(0,0);
    }
    to{
        transform:translate(60px,40px);
    }
}

@keyframes glowMove2{
    from{
        transform:translate(0,0);
    }
    to{
        transform:translate(-60px,-40px);
    }
}

/* --- REUSABLE BANNER SECTION --- */
.isc-banner-section {
    position: relative;
    width: 100%;
    height: 450px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    overflow: hidden;
}
/* --- MOBILE QUERY FIX --- */
@media (max-width: 768px) {
    .isc-banner-section {
        height: 300px; /* Reduced height for better mobile visibility */
        background-position: center;
        background-attachment: scroll; /* Prevents "jumping" on mobile */
    }

    .isc-banner-title {
        font-size: 2rem !important; /* Scale down the title */
        padding-top: 13px;
    }

    .isc-banner-subtitle {
        font-size: 1rem !important; /* Scale down the subtitle */
    }
}
/* Dark/Blue overlay for text readability over the background image */
.isc-banner-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(23, 43, 140, 0.8) 0%, rgba(173, 2, 36, 0.4) 100%);
                
    background-size: cover;
    background-position: center;
    z-index: 1;
}

.isc-banner-section .isc-shell {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    width: 100%;
}

/* --- BANNER TEXT ANIMATION --- */
@keyframes isc-bannerTextIn {
    0% {
        opacity: 0;
        transform: translateY(50px) scale(0.95);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.isc-banner-content {
    opacity: 0;
    animation: isc-bannerTextIn 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s forwards;
}

.isc-banner-title {
    color: #ffffff;
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: 0 4px 10px rgba(0,0,0,0.3);
    transition: color 0.4s ease;
}

/* Highlight accent on hover using your logo's yellow */
.isc-banner-section:hover .isc-banner-title {
    color: #fab722; 
}

.isc-banner-subtitle {
    color: #ffffff;
    font-size: 1.5rem;
    font-style: italic;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3);
    transition: color 0.4s ease;
}

/* Highlight accent on hover using your logo's red */
.isc-banner-section:hover .isc-banner-subtitle {
    color: #e0333c;
}

/* Responsive height adjustment for smaller screens */
@media (max-width: 768px) {
    .isc-banner-section {
        height: 250px;
    }
    .isc-banner-title {
        font-size: 2.5rem;
    }
    .isc-banner-subtitle {
        font-size: 1.2rem;
    }
}

/* --- ABOUT US SECTION BASE --- */
.isc-about-section {
    background: linear-gradient(135deg, #f3f6fc 0%, #fcfdff 100%);
    padding: 120px 0;
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
    position: relative;
    overflow: hidden;
}

.isc-shell {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 25px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 50px;
    position: relative;
    z-index: 2;
}

/* --- AMBIENT BACKGROUND GLOWS --- */
.isc-about-section::before, .isc-about-section::after {
    content: '';
    position: absolute;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    filter: blur(90px);
    z-index: 1;
    opacity: 0.4;
    transition: opacity 0.5s ease;
}

.isc-about-section::before {
    top: -100px;
    left: -150px;
    background-color: #fab722; /* Logo yellow glow */
}

.isc-about-section::after {
    bottom: -100px;
    right: -150px;
    background-color: #172b8c; /* Logo blue glow */
}

/* --- HEAVY FLOATING ENTRANCE ANIMATION --- */
@keyframes isc-aboutEntrance {
    0% {
        opacity: 0;
        transform: translateY(70px) scale(0.95);
    }
    60% {
        opacity: 1;
        transform: translateY(-5px) scale(1.02);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.isc-about-card {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 60px 50px;
    border-top: 8px solid #172b8c;
    position: relative;
    z-index: 2;
    box-shadow: 0 15px 35px rgba(23, 43, 140, 0.04), 0 5px 15px rgba(0,0,0,0.02);
    opacity: 0;
    animation: isc-aboutEntrance 0.9s cubic-bezier(0.25, 1, 0.5, 1) forwards;
    will-change: transform, opacity;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease, border-top-color 0.4s ease, background 0.4s ease;
}

/* Staggered load-in sequence */
.isc-shell > .isc-about-card { animation-delay: 0.1s; }
.isc-sub-grid > .isc-about-card:nth-child(1) { animation-delay: 0.3s; }
.isc-sub-grid > .isc-about-card:nth-child(2) { animation-delay: 0.5s; }

/* --- PREMIUM HOVER EFFECTS (AMBIENT GLOW LIFT) --- */
.isc-about-card:hover {
    background: rgba(255, 255, 255, 1);
    transform: translateY(-15px) scale(1.01);
    box-shadow: 0 30px 60px rgba(23, 43, 140, 0.08), 0 15px 25px rgba(0,0,0,0.03);
}

/* Subtle ambient shadow colors per card */
.isc-blue-glow:hover { border-top-color: #172b8c; box-shadow: 0 30px 60px rgba(23, 43, 140, 0.1); }
.isc-red-glow:hover { border-top-color: #e0333c; box-shadow: 0 30px 60px rgba(224, 51, 60, 0.1); }
.isc-yellow-glow:hover { border-top-color: #fab722; box-shadow: 0 30px 60px rgba(250, 183, 34, 0.1); }

/* Assigning explicit border colors */
.isc-blue-glow { border-top-color: #172b8c; }
.isc-red-glow { border-top-color: #e0333c; }
.isc-yellow-glow { border-top-color: #fab722; }

/* --- TYPOGRAPHY --- */
.isc-section-title {
    color: #172b8c;
    font-size: 2.6rem;
    font-weight: 800;
    margin-bottom: 12px;
    letter-spacing: -0.5px;
    transition: color 0.3s ease;
}

.isc-about-card:hover .isc-section-title {
    color: #e0333c;
}

.isc-sub-grid .isc-section-title {
    font-size: 2.2rem;
}

.isc-title-divider {
    width: 70px;
    height: 6px;
    background-color: #5a5a5a;
    margin-bottom: 35px;
    border-radius: 3px;
    transition: width 0.4s ease, background-color 0.4s ease;
}

.isc-about-card:hover .isc-title-divider {
    width: 100%;
    background-color: #7ca959;
}

.isc-text-block {
    color: #5a5a5a;
    font-size: 1.25rem;
    line-height: 1.9;
    margin-bottom: 25px;
    font-weight: 400;
}

.isc-text-block:last-child {
    margin-bottom: 0;
}

/* --- SUB-GRID (VISION & MISSION) --- */
.isc-sub-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
}

/* --- RESPONSIVE BREAKPOINTS --- */
@media (max-width: 768px) {
    .isc-about-section { padding: 70px 0; }
    .isc-about-card { padding: 40px 30px; }
    .isc-section-title { font-size: 2rem; }
    .isc-title-divider { margin-bottom: 25px; }
    .isc-text-block { font-size: 1.1rem; line-height: 1.7; margin-bottom: 15px; }
    .isc-sub-grid { grid-template-columns: 1fr; gap: 30px; }
}
/* ==========================================
   PREMIUM ABOUT SECTION EFFECTS
========================================== */

/* Floating Background Animation */

.isc-about-section::before{
    animation: glowFloat1 12s ease-in-out infinite;
}

.isc-about-section::after{
    animation: glowFloat2 15s ease-in-out infinite;
}

@keyframes glowFloat1{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-40px);
    }
}

@keyframes glowFloat2{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(40px);
    }
}

/* ==========================================
   GLASSMORPHISM UPGRADE
========================================== */

.isc-about-card{
    overflow:hidden;
    position:relative;
    border:1px solid rgba(255,255,255,0.5);
    backdrop-filter:blur(20px);
}

/* Shine Sweep */

.isc-about-card::before{
    content:'';
    position:absolute;
    top:0;
    left:-120%;
    width:60%;
    height:100%;
    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.45),
        transparent
    );
    transition:.8s;
}

.isc-about-card:hover::before{
    left:150%;
}

/* ==========================================
   PREMIUM CARD HOVER
========================================== */

.isc-about-card:hover{
    transform:
        translateY(-18px)
        scale(1.02);
}

/* ==========================================
   TITLE GRADIENT EFFECT
========================================== */

.isc-section-title-about{
    background:linear-gradient(
        90deg,
        #172b8c,
        #e0333c,
        #fab722
    );

    background-size:200% auto;

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    animation:titleMove 5s linear infinite;
}

@keyframes titleMove{
    to{
        background-position:200% center;
    }
}

/* ==========================================
   DIVIDER GLOW
========================================== */

.isc-title-divider{
    position:relative;
}

.isc-title-divider::after{
    content:'';
    position:absolute;
    inset:0;
    filter:blur(8px);
    background:inherit;
    opacity:.7;
}

/* ==========================================
   CARD FLOATING ANIMATION
========================================== */

.isc-blue-glow{
    animation:
    isc-aboutEntrance .9s forwards,
    floatCard 6s ease-in-out infinite;
}

.isc-red-glow{
    animation:
    isc-aboutEntrance .9s forwards,
    floatCard 7s ease-in-out infinite;
}

.isc-yellow-glow{
    animation:
    isc-aboutEntrance .9s forwards,
    floatCard 8s ease-in-out infinite;
}

@keyframes floatCard{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-10px);
    }
}

/* ==========================================
   TEXT REVEAL EFFECT
========================================== */

.isc-text-block{
    transition:all .4s ease;
}

.isc-about-card:hover .isc-text-block{
    color:#3a3a3a;
}

/* ==========================================
   PARTICLE DOTS
========================================== */

.isc-about-section .particle{
    position:absolute;
    border-radius:50%;
    background:rgba(23,43,140,.12);
    animation:particleMove 10s infinite ease-in-out;
}

@keyframes particleMove{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-25px);
    }
}

/* ==========================================
   SUB GRID CARD STAGGER
========================================== */

.isc-sub-grid .isc-about-card:nth-child(1){
    transform-origin:left center;
}

.isc-sub-grid .isc-about-card:nth-child(2){
    transform-origin:right center;
}

/* ==========================================
   PREMIUM SHADOWS
========================================== */

.isc-blue-glow:hover{
    box-shadow:
    0 30px 60px rgba(23,43,140,.18),
    0 0 30px rgba(23,43,140,.12);
}

.isc-red-glow:hover{
    box-shadow:
    0 30px 60px rgba(224,51,60,.18),
    0 0 30px rgba(224,51,60,.12);
}

.isc-yellow-glow:hover{
    box-shadow:
    0 30px 60px rgba(250,183,34,.18),
    0 0 30px rgba(250,183,34,.12);
}
/* --- CTA SECTION BASE --- */
.isc-cta-section {
    position: relative;
    width: 100%;
    padding: 120px 20px;
    /* Layered background: Deep blue gradient + Cinematic image */
   background: linear-gradient(135deg, rgba(23, 43, 140, 0.6) 0%, rgba(26, 53, 168, 0.5) 100%), 
                url('img/isc-banner-1.png');
    background-size: cover;
    background-position: center;
    background-attachment: fixed; /* Parallax effect */
    overflow: hidden;
    text-align: center;
    box-sizing: border-box;
    font-family: 'Segoe UI', sans-serif;
}

.isc-shell {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    z-index: 10; /* Ensures content stays above background */
}

/* --- ANIMATIONS --- */
@keyframes isc-floatingEntrance {
    0% { opacity: 0; transform: translateY(70px) scale(0.96); }
    60% { opacity: 1; transform: translateY(-8px) scale(1.01); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes floatAnimation {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

.isc-cta-content {
    opacity: 0;
    animation: isc-floatingEntrance 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
/* --- Floating Icon Wrapper Styling --- */
.cta-floating-icon {
    display: inline-block; /* Keeps it centered relative to the text */
    font-size: 80px;      /* Large, bold size */
    color: #fab722;       /* Gold branding color */
    margin-bottom: 25px;
    
    /* Animation: Creates a "breathing" or "floating" effect */
    animation: floatAnimation 3s ease-in-out infinite;
    
    /* Ensure it doesn't overlap text if the screen is tiny */
    max-width: 100%;
}

/* Keyframe for the floating motion */
@keyframes floatAnimation {
    0%, 100% { 
        transform: translateY(0); 
    }
    50% { 
        transform: translateY(-15px); 
    }
}

/* Optional: Add a subtle glow behind the icon for extra "highlighting" */
.cta-floating-icon i {
    text-shadow: 0 0 20px rgba(250, 183, 34, 0.4);
}
/* Floating Icon for visual interest */
.cta-floating-icon {
    font-size: 80px;
    color: #fab722;
    margin-bottom: 25px;
    animation: floatAnimation 3s ease-in-out infinite;
}

/* --- TYPOGRAPHY --- */
.isc-cta-title {
    color: #ffffff !important;
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    transition: all 0.4s ease;
}

.isc-cta-subtitle {
    color: #ffffff !important;
    font-size: 1.4rem;
    font-style: italic;
    margin-bottom: 40px;
    opacity: 0.9;
}

/* --- DYNAMIC BUTTON --- */
.isc-btn-get-started {
    display: inline-block;
    background-color: #e0333c;
    color: #ffffff !important;
    font-size: 1.2rem;
    font-weight: 600;
    padding: 18px 45px;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 8px 25px rgba(224, 51, 60, 0.4);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.isc-btn-get-started:hover {
    background-color: #fab722;
    color: #172b8c !important;
    transform: translateY(-8px) scale(1.05);
    box-shadow: 0 15px 35px rgba(250, 183, 34, 0.5);
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
    .isc-cta-section { padding: 80px 20px; }
    .isc-cta-title { font-size: 2.5rem; }
    .cta-floating-icon { font-size: 60px; }
}

/* =========================
   OUR SKILLS SECTION
========================= */

.isc-skills-section{
    padding:100px 20px;
    background:#f8fafc;
}

.isc-shell{
    max-width:1200px;
    margin:auto;
    text-align:center;
}

.isc-section-title{
    font-size:42px;
    font-weight:800;
    color:#172b8c;
    margin-bottom:10px;
}

.isc-title-divider{
    width:80px;
    height:5px;
    margin:0 auto 30px;
    border-radius:50px;
    background:linear-gradient(
        90deg,
        #ad0224,
        #fab722,
        #216818
    );
}

.isc-skills-header h3{
    font-size:28px;
    color:#374151;
    font-weight:700;
    margin-bottom:50px;
}

/* IMAGE CONTAINER */

.skills-infographic{
    background:#fff;
    border-radius:24px;
    padding:25px;
    box-shadow:
        0 15px 40px rgba(0,0,0,0.08);
    overflow:hidden;
    transition:all .4s ease;
}

.skills-infographic:hover{
    transform:translateY(-8px);
    box-shadow:
        0 25px 60px rgba(0,0,0,0.12);
}

  .skills-infographic img{
        border-radius:10px;
        width: 100%;
        height: 600px;
    }


/* MOBILE */

@media(max-width:768px){

    .isc-skills-section{
        padding:70px 15px;
    }

    .isc-section-title{
        font-size:32px;
    }

    .isc-skills-header h3{
        font-size:20px;
        line-height:1.5;
        margin-bottom:30px;
    }

    .skills-infographic{
        padding:12px;
        border-radius:16px;
    }

    .skills-infographic img{
        border-radius:10px;
        width: 100%;
        height: auto;
    }
}
/* --- GALLERY SECTION BASE --- */
.isc-gallery-section {
    background: linear-gradient(135deg, #f8fafc 0%, #fcfdff 100%);
    padding: 100px 0 140px 0;
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
    position: relative;
}

.isc-shell {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 25px;
    width: 100%;
    text-align: center;
}

.isc-section-title {
    color: #172b8c;
    font-size: 3rem;
    font-weight: 800;
    margin-bottom: 12px;
    letter-spacing: -0.5px;
}

.isc-title-divider {
    width: 70px;
    height: 6px;
    background-color: #5a5a5a;
    margin: 0 auto 60px auto;
    border-radius: 3px;
    transition: width 0.4s ease, background-color 0.4s ease;
}

.isc-gallery-section:hover .isc-title-divider {
    width: 150px;
    background-color: #7ca959;
}

/* --- GRID LAYOUT (3 PER ROW) --- */
.isc-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* --- CASCADING ENTRY ANIMATION --- */
@keyframes isc-galleryEntry {
    0% {
        opacity: 0;
        transform: translateY(50px) scale(0.96);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.isc-gallery-item {
    opacity: 0;
    animation: isc-galleryEntry 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
    will-change: transform, opacity;
}

/* Creating staggered animation delays */
.isc-gallery-item:nth-child(3n + 1) { animation-delay: 0.1s; }
.isc-gallery-item:nth-child(3n + 2) { animation-delay: 0.2s; }
.isc-gallery-item:nth-child(3n + 3) { animation-delay: 0.3s; }

/* --- PREMIUM HOVER CARD EFFECTS --- */
.isc-img-wrapper {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(23, 43, 140, 0.06);
    cursor: pointer;
    border-top: 5px solid #172b8c;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease, border-top-color 0.4s ease;
}

.isc-img-wrapper img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

/* Color-Coded Accent Borders rotating your palette */
.isc-gallery-item:nth-child(4n + 1) .isc-img-wrapper { border-top-color: #e0333c; }
.isc-gallery-item:nth-child(4n + 2) .isc-img-wrapper { border-top-color: #fab722; }
.isc-gallery-item:nth-child(4n + 3) .isc-img-wrapper { border-top-color: #7ca959; }
.isc-gallery-item:nth-child(4n + 4) .isc-img-wrapper { border-top-color: #172b8c; }

.isc-img-wrapper:hover {
    transform: translateY(-10px) scale(1.01);
    box-shadow: 0 20px 45px rgba(23, 43, 140, 0.15);
}

.isc-img-wrapper:hover img {
    transform: scale(1.06);
}

/* Subtle Zoom Overlay */
.isc-zoom-overlay {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(23, 43, 140, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.isc-img-wrapper:hover .isc-zoom-overlay {
    opacity: 1;
}

.isc-zoom-icon {
    color: #ffffff;
    font-size: 2rem;
    transform: scale(0);
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.isc-img-wrapper:hover .isc-zoom-icon {
    transform: scale(1);
}

/* --- FULLSCREEN PREMIUM LIGHTBOX (CORRECTED CENTERING & ENLARGING) --- */
.isc-lightbox {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    background: rgba(10, 15, 35, 0.96);
    backdrop-filter: blur(15px);
    z-index: 9999;
    display: none;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.4s ease;
    box-sizing: border-box;
}

.isc-lightbox.active {
    display: flex;
    opacity: 1;
}

/* Fixed centering and full enlargement box */
.isc-lightbox-content-wrap {
    position: relative;
    max-width: 85%;
    max-height: 85vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.isc-lightbox-content-wrap img {
    max-width: 100%;
    max-height: 85vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
    border: 4px solid rgba(255, 255, 255, 0.15);
    transition: opacity 0.3s ease-in-out;
}

/* --- LIGHTBOX CONTROLS --- */
.isc-close-btn {
    position: absolute;
    top: 30px; right: 40px;
    color: #ffffff;
    font-size: 3.5rem;
    font-weight: 300;
    cursor: pointer;
    transition: color 0.3s ease, transform 0.4s ease;
    z-index: 100;
}

.isc-close-btn:hover {
    color: #e0333c;
    transform: rotate(90deg);
}

.isc-lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    border: 2px solid rgba(255, 255, 255, 0.2);
    width: 65px; height: 65px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 100;
}

.isc-lightbox-nav:hover {
    background: #fab722;
    color: #172b8c;
    border-color: #fab722;
    transform: translateY(-50%) scale(1.1);
}

.isc-prev-btn { left: 40px; }
.isc-next-btn { right: 40px; }

/* --- ADAPTIVE RESPONSIVE BREAKPOINTS --- */
@media (max-width: 992px) {
    .isc-gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .isc-section-title { font-size: 2.4rem; }
}

@media (max-width: 768px) {
    .isc-gallery-section { padding: 60px 0 80px 0; }
    .isc-gallery-grid { grid-template-columns: 1fr; }
    .isc-title-divider { margin-bottom: 35px; }
    .isc-img-wrapper img { height: 230px; }
    .isc-prev-btn { left: 15px; width: 45px; height: 45px; font-size: 1.2rem; }
    .isc-next-btn { right: 15px; width: 45px; height: 45px; font-size: 1.2rem; }
    .isc-close-btn { top: 20px; right: 20px; font-size: 2.5rem; }
    .isc-lightbox-content-wrap { max-width: 95%; }
}

/* --- CONTACT SECTION BASE --- */
.isc-contact-section {
    background: linear-gradient(135deg, #f8fafc 0%, #fcfdff 100%);
    padding: 100px 0;
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
    position: relative;
    overflow: hidden;
}

/* Ambient Section Glows */
.isc-contact-section::before, 
.isc-contact-section::after {
    content: '';
    position: absolute;
    width: 350px;
    height: 350px;
    border-radius: 50%;
    filter: blur(90px);
    z-index: 1;
    opacity: 0.35;
    transition: opacity 0.5s ease;
}

.isc-contact-section::before {
    top: -80px;
    left: -120px;
    background-color: #fab722;
}

.isc-contact-section::after {
    bottom: -80px;
    right: -120px;
    background-color: #172b8c;
}

.isc-shell {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 25px;
    width: 100%;
    position: relative;
    z-index: 2;
}

.isc-contact-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 50px;
    align-items: start;
}

/* --- ANIMATIONS --- */
@keyframes isc-contactEntrance {
    0% {
        opacity: 0;
        transform: translateY(60px) scale(0.96);
    }
    60% {
        opacity: 1;
        transform: translateY(-5px) scale(1.02);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* --- LEFT FORM COLUMN --- */
.isc-contact-main-card {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    border-radius: 18px;
    padding: 50px 40px;
    box-shadow: 0 15px 35px rgba(23, 43, 140, 0.05);
    border-top: 6px solid #172b8c;
    opacity: 0;
    animation: isc-contactEntrance 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}

.isc-contact-main-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 55px rgba(23, 43, 140, 0.1);
    border-top-color: #172b8c;
}

.isc-blue-glow:hover { box-shadow: 0 25px 55px rgba(23, 43, 140, 0.08); }

.isc-section-title {
    color: #172b8c;
    font-size: 2.5rem;
    font-weight: 800;
    letter-spacing: -0.5px;
    margin-bottom: 10px;
    transition: color 0.3s ease;
}

.isc-contact-main-card:hover .isc-section-title {
    color: #e0333c;
}

.isc-title-divider {
    width: 60px;
    height: 5px;
    background-color: #5a5a5a;
    margin-bottom: 30px;
    border-radius: 3px;
    transition: width 0.4s ease, background-color 0.4s ease;
}

.isc-contact-main-card:hover .isc-title-divider {
    width: 100%;
    background-color: #7ca959;
}

.isc-intro-text {
    color: #5a5a5a;
    font-size: 1.05rem;
    line-height: 1.8;
    margin-bottom: 35px;
}

/* Modern Form Styling */
.isc-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.isc-form-group.isc-full-width {
    grid-column: span 2;
}

.g-recaptcha.isc-full-width {
    grid-column: span 2;
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

.isc-form-group {
    display: flex;
    flex-direction: column;
    text-align: left;
}

.isc-form-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: #5a5a5a;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.isc-form-control {
    width: 100%;
    height: 50px;
    padding: 0 18px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
    font-size: 1rem;
    color: #333333;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.isc-form-control:focus {
    border-color: #172b8c;
    box-shadow: 0 0 0 4px rgba(23, 43, 140, 0.1);
}

select.isc-form-control {
    appearance: none;
    cursor: pointer;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235a5a5a'%3e%3cpath d='M7 10l5 5 5-5z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 20px;
}

.isc-textarea {
    height: 180px;
    padding: 18px;
    resize: vertical;
}

.isc-phone-error {
    color: #e0333c;
    font-size: 0.8rem;
    margin-top: 6px;
    font-style: italic;
    display: none;
}

.isc-submit-wrapper {
    text-align: left;
    margin-top: 25px;
}

.isc-btn-submit {
    background: #e0333c;
    color: #ffffff;
    border: none;
    padding: 18px 45px;
    border-radius: 50px;
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(224, 51, 60, 0.3);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), background 0.3s ease, box-shadow 0.3s ease;
}

.isc-btn-submit:hover {
    background: #fab722;
    color: #172b8c;
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 12px 25px rgba(250, 183, 34, 0.4);
}

/* --- RIGHT SIDEBAR INFO CARDS --- */
.isc-sidebar-column {
    display: flex;
    flex-direction: column;
    gap: 25px;
    opacity: 0;
    animation: isc-contactEntrance 0.8s ease-out 0.2s forwards;
}

.isc-sidebar-card {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    padding: 25px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.03);
    border-left: 6px solid #172b8c;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease, border-left-color 0.3s ease;
}

.isc-sidebar-card:hover {
    transform: translateY(-6px) scale(1.01);
    box-shadow: 0 15px 35px rgba(0,0,0,0.08);
}

.isc-red-glow { border:5px solid #e0333c; }
.isc-yellow-glow { border: 5px solid #fab722; }
.isc-green-glow { border: 5px solid #7ca959; }
.isc-blue-glow { border: 5px solid  #172b8c; }

.isc-icon-holder {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    flex-shrink: 0;
    transition: transform 0.4s ease, background 0.3s ease;
}

.isc-sidebar-card:hover .isc-icon-holder {
    transform: rotate(360deg) scale(1.1);
}

.isc-card-details h6 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #5a5a5a;
    margin-bottom: 4px;
}

.isc-card-details a, 
.isc-card-details p {
    font-size: 0.95rem;
    color: #333333;
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.isc-sidebar-card a:hover {
    color: #172b8c;
}

.isc-social-list {
    list-style: none;
    padding: 0; margin: 0;
    display: flex;
    gap: 12px;
    margin-top: 4px;
}

.isc-social-list a {
    width: 34px; height: 34px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #5a5a5a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

.isc-social-list a:hover {
    background: #172b8c;
    color: #ffffff;
    transform: translateY(-3px);
}

/* --- RESPONSIVE BREAKPOINTS --- */
@media (max-width: 992px) {
    .isc-contact-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }
    .isc-form-grid {
        grid-template-columns: 1fr;
    }
    .isc-form-group.isc-full-width {
        grid-column: span 1;
    }
    .g-recaptcha.isc-full-width {
        grid-column: span 1;
    }
}

@media (max-width: 768px) {
    .isc-contact-section { padding: 60px 0; }
    .isc-contact-main-card { padding: 30px 20px; }
    .isc-section-title { font-size: 2rem; }
}

/* --- COURSE PAGE BASE STYLING --- */
.isc-course-page-section {
    background: linear-gradient(135deg, #fcfdff 0%, #f3f6fc 100%);
    padding: 100px 0;
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
    position: relative;
}

.isc-shell {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 25px;
    width: 100%;
}

/* Header Elements */
.isc-page-intro {
    text-align: center;
    margin-bottom: 60px;
}

.isc-section-title-course {
    color: #172b8c;
    font-size: 3rem;
    font-weight: 800;
    letter-spacing: -0.5px;
    margin-bottom: 10px;
}

.isc-title-divider {
    width: 70px;
    height: 6px;
    background-color: #5a5a5a;
    margin: 0 auto 20px auto;
    border-radius: 3px;
    transition: width 0.4s ease, background-color 0.4s ease;
}

.isc-course-page-section:hover .isc-title-divider {
    width: 180px;
    background-color: #7ca959;
}

.isc-subtitle {
    color: #5a5a5a;
    font-size: 1.3rem;
    font-weight: 400;
}

/* Split Grid (Spacious 50/50 Layout) */
.isc-course-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: start;
}

/* Animations */
@keyframes isc-coursePageEntrance {
    0% { opacity: 0; transform: translateY(50px) scale(0.97); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

.isc-left-column, .isc-right-column {
    opacity: 0;
    animation: isc-coursePageEntrance 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.isc-right-column { animation-delay: 0.2s; }

/* --- LEFT COLUMN: COURSE CARD --- */
.isc-course-desc-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 15px 40px rgba(23, 43, 140, 0.06);
    border-top: 8px solid #fab722; /* Premium brand contrast */
    text-align: left;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.isc-course-desc-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 30px 65px rgba(23, 43, 140, 0.12);
}

.isc-media-wrapper {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 35px;
}

.isc-desc-img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.isc-course-desc-card:hover .isc-desc-img {
    transform: scale(1.05);
}

.isc-img-badge {
    position: absolute;
    top: 20px; left: 20px;
    background: rgba(23, 43, 140, 0.85);
    backdrop-filter: blur(5px);
    color: #ffffff;
    padding: 8px 18px;
    border-radius: 50px;
    font-size: 0.9rem;
    font-weight: 700;
}

.isc-card-title {
    font-size: 2rem;
    color: #172b8c;
    font-weight: 800;
    letter-spacing: -0.5px;
    margin-bottom: 8px;
}

.isc-card-divider {
    width: 60px;
    height: 5px;
    background-color: #5a5a5a;
    margin-bottom: 25px;
    border-radius: 2px;
}

.isc-text-block {
    color: #5a5a5a;
    font-size: 1.15rem;
    line-height: 1.8;
    margin-bottom: 20px;
    font-weight: 400;
}

/* Highlights Bullet Box */
.isc-highlights-box {
    background: #f8fafc;
    border-radius: 12px;
    padding: 25px;
    margin: 25px 0;
    border-left: 5px solid #7ca959;
}

.isc-highlights-box h4 {
    color: #172b8c;
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.isc-highlights-box ul {
    list-style: none;
    padding: 0; margin: 0;
}

.isc-highlights-box li {
    color: #5a5a5a;
    font-size: 1.05rem;
    line-height: 1.6;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.isc-highlights-box li i {
    color: #7ca959;
    font-size: 0.95rem;
}

.isc-admission-badge {
    margin-top: 35px;
    padding: 18px 25px;
    background: #e0333c;
    color: #ffffff;
    font-weight: 700;
    text-align: center;
    border-radius: 50px;
    font-size: 1.2rem;
    box-shadow: 0 8px 20px rgba(224, 51, 60, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

/* --- RIGHT COLUMN: UNIQUE CONTACT FORM --- */
.isc-course-form-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(12px);
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 15px 40px rgba(23, 43, 140, 0.05);
    border-top: 8px solid #172b8c;
    text-align: left;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.isc-course-form-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 30px 65px rgba(23, 43, 140, 0.12);
}

.isc-form-intro {
    color: #5a5a5a;
    font-size: 1.15rem;
    line-height: 1.7;
    margin-bottom: 30px;
}

/* Form Grid System Unique Names */
.isc-cf-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.isc-cf-group {
    display: flex;
    flex-direction: column;
}

.isc-cf-group.isc-cf-full-width {
    grid-column: span 2;
}

.g-recaptcha.isc-cf-full-width {
    grid-column: span 2;
    display: flex;
    justify-content: center;
    margin: 10px 0;
}

.isc-cf-label {
    font-size: 0.85rem;
    font-weight: 700;
    color: #5a5a5a;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.isc-cf-control {
    width: 100%;
    height: 52px;
    padding: 0 20px;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    background: #ffffff;
    font-size: 1rem;
    color: #222222;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.isc-cf-control:focus {
    border-color: #172b8c;
    box-shadow: 0 0 0 4px rgba(23, 43, 140, 0.1);
}

select.isc-cf-control {
    appearance: none;
    cursor: pointer;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235a5a5a'%3e%3cpath d='M7 10l5 5 5-5z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 18px center;
    background-size: 20px;
}

.isc-cf-textarea {
    height: 145px;
    padding: 20px;
    resize: vertical;
}

.isc-cf-error {
    color: #e0333c;
    font-size: 0.85rem;
    margin-top: 6px;
    font-style: italic;
    display: none;
}

.isc-cf-submit-wrap {
    text-align: center;
    margin-top: 20px;
}

.isc-cf-btn-submit {
    background: #172b8c;
    color: #ffffff;
    border: none;
    padding: 18px 55px;
    border-radius: 50px;
    font-size: 1.15rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(23, 43, 140, 0.25);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), background 0.3s ease, box-shadow 0.3s ease;
}

.isc-cf-btn-submit:hover {
    background: #fab722;
    color: #172b8c;
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 12px 25px rgba(250, 183, 34, 0.4);
}

/* --- GLOW AMBIENT HIGHLIGHTS --- */
.isc-yellow-glow:hover { box-shadow: 0 30px 65px rgba(250, 183, 34, 0.08); }
.isc-blue-glow:hover { box-shadow: 0 30px 65px rgba(23, 43, 140, 0.1); }

/* --- RESPONSIVE ADAPTIVE BREAKPOINTS --- */
@media (max-width: 992px) {
    .isc-course-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

@media (max-width: 768px) {
    .isc-section-title { font-size: 2.2rem; }
    .isc-course-desc-card, .isc-course-form-card { padding: 25px; }
    .isc-cf-grid { grid-template-columns: 1fr; }
    .isc-cf-group.isc-cf-full-width { grid-column: span 1; }
    .g-recaptcha.isc-cf-full-width { grid-column: span 1; }
}
/* =========================
   SECTION TITLE
========================= */
.isc-title{
    text-align:center;
    color:#0056b3;
    font-size:34px;
    font-weight:700;
    margin:40px 0 30px;
    position:relative;
}

.isc-title::after{
    content:"";
    display:block;
    width:80px;
    height:4px;
    background:#c82333;
    margin:10px auto 0;
    border-radius:10px;
}

/* =========================
   TABLE CONTAINER
========================= */
.table-container{
    width:90%;
    max-width:1000px;
    margin:0 auto 50px;
}

/* =========================
   TABLE DESIGN
========================= */
.isc-custom-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 5px 20px rgba(0,0,0,0.08);
}

/* HEADER */
.isc-custom-table thead{
    background:linear-gradient(135deg,#343a40,#1f252b);
}

.isc-custom-table th{
    color:#fff;
    padding:18px 20px;
    text-transform:uppercase;
    font-size:16px;
    font-weight:700;
    letter-spacing:.5px;
    text-align:center;
}

/* BODY */
.isc-custom-table td{
    padding:18px 20px;
    text-align:center;
    border-bottom:1px solid #e9ecef;
    font-size:16px;
    color:#333;
}

/* COLUMN WIDTH */
.isc-custom-table th:first-child,
.isc-custom-table td:first-child{
    width:70%;
}

.isc-custom-table th:last-child,
.isc-custom-table td:last-child{
    width:30%;
}

/* ALTERNATE ROWS */
.isc-custom-table tbody tr:nth-child(even){
    background:#f8f9fa;
}

/* ROW HOVER */
.isc-custom-table tbody tr:hover{
    background:#edf4ff;
    transition:0.3s;
}

/* =========================
   DOWNLOAD BUTTON
========================= */
.isc-btn-red{
    display:inline-block;
    background:linear-gradient(135deg,#dc3545,#c82333);
    color:#fff !important;
    text-decoration:none;
    font-weight:600;
    padding:10px 24px;
    border-radius:30px;
    transition:all .3s ease;
    box-shadow:0 4px 12px rgba(200,35,51,.25);
}

.isc-btn-red:hover{
    background:linear-gradient(135deg,#b71c2b,#991626);
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(200,35,51,.35);
}

/* =========================
   MOBILE
========================= */
@media (max-width:768px){

    .table-container{
        width:95%;
    }

    .isc-title{
        font-size:26px;
    }

    .isc-custom-table th,
    .isc-custom-table td{
        padding:14px;
        font-size:14px;
    }

    .isc-btn-red{
        padding:8px 16px;
        font-size:13px;
    }
}

/* =====================================
   TESTIMONIAL SECTION
===================================== */

.testimonial-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:30px;
    max-width:1400px;
    margin:40px auto;
    padding:0 20px;
}

/* =====================================
   CARD
===================================== */

.testimonial-card{
    background:#ffffff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s ease;
    position:relative;
    border-top:5px solid #c82333;
}

.testimonial-card:hover{
    transform:translateY(-10px);
    box-shadow:0 18px 45px rgba(0,0,0,.15);
}

/* =====================================
   IMAGE
===================================== */

.testimonial-image{
    text-align:center;
    padding:30px 20px 15px;
}

.testimonial-image img{
    width:120px;
    height:120px;
    object-fit:cover;
    border-radius:50%;
    border:5px solid #0056b3;
    box-shadow:0 8px 20px rgba(0,0,0,.15);
}

/* =====================================
   CONTENT
===================================== */

.testimonial-content{
    padding:20px 25px 30px;
}

.testimonial-content p{
    color:#444;
    font-size:15px;
    line-height:1.8;
    text-align:justify;
    margin-bottom:20px;
}

/* =====================================
   NAME
===================================== */

.testimonial-content h4{
    text-align:center;
    color:#0056b3;
    font-size:20px;
    font-weight:700;
    margin-bottom:12px;
    text-transform:uppercase;
}

/* =====================================
   BADGE
===================================== */

.testimonial-badge{
    display:table;
    margin:0 auto;
    background:linear-gradient(135deg,#c82333,#dc3545);
    color:#fff;
    padding:8px 18px;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
}

/* =====================================
   QUOTE ICON
===================================== */

.testimonial-card::before{
    content:"❝";
    position:absolute;
    top:15px;
    left:20px;
    font-size:60px;
    color:rgba(0,86,179,.08);
    font-family:serif;
}

/* =====================================
   SCROLLABLE LONG CONTENT
===================================== */

.testimonial-content{
    max-height:420px;
    overflow-y:auto;
}

/* Custom Scrollbar */

.testimonial-content::-webkit-scrollbar{
    width:6px;
}

.testimonial-content::-webkit-scrollbar-track{
    background:#f1f1f1;
}

.testimonial-content::-webkit-scrollbar-thumb{
    background:#0056b3;
    border-radius:20px;
}

/* =====================================
   RESPONSIVE
===================================== */

@media(max-width:768px){

    .testimonial-grid{
        grid-template-columns:1fr;
        gap:25px;
    }

    .testimonial-image img{
        width:100px;
        height:100px;
    }

    .testimonial-content{
        max-height:none;
        overflow:visible;
    }

    .testimonial-content p{
        font-size:14px;
    }
}
/* ==========================================
   HERO BACKGROUND ANIMATIONS
========================================== */

.hero-section::before{
    content:'';
    position:absolute;
    width:600px;
    height:600px;
    background:rgba(255,255,255,.04);
    border-radius:50%;
    top:-250px;
    left:-200px;
    animation:floatGlow 10s ease-in-out infinite;
}

.hero-section::after{
    content:'';
    position:absolute;
    width:500px;
    height:500px;
    background:rgba(173,2,36,.12);
    border-radius:50%;
    bottom:-250px;
    right:-200px;
    animation:floatGlow 12s ease-in-out infinite reverse;
}

@keyframes floatGlow{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-40px);
    }
}

/* ==========================================
   HERO CONTENT ENTRANCE
========================================== */

.hero-content{
    animation:heroSlideLeft 1s ease forwards;
}

.hero-form-container{
    animation:heroSlideRight 1s ease forwards;
}

@keyframes heroSlideLeft{
    from{
        opacity:0;
        transform:translateX(-60px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}

@keyframes heroSlideRight{
    from{
        opacity:0;
        transform:translateX(60px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}

/* ==========================================
   TITLE GLOW EFFECT
========================================== */

.hero-title{
    background:linear-gradient(
        90deg,
        #ffffff,
        #ffd7df,
        #ffffff
    );
    background-size:200% auto;

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    animation:titleGlow 4s linear infinite;
}

@keyframes titleGlow{
    to{
        background-position:200% center;
    }
}

/* ==========================================
   BADGE SHIMMER
========================================== */

.badge{
    position:relative;
    overflow:hidden;
}

.badge::after{
    content:'';
    position:absolute;
    top:0;
    left:-120%;
    width:60%;
    height:100%;
    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.5),
        transparent
    );
    transition:.8s;
}

.badge:hover::after{
    left:150%;
}

/* ==========================================
   BUTTON PULSE
========================================== */

.btn-primary{
    animation:pulseBtn 2.5s infinite;
}

@keyframes pulseBtn{
    0%,100%{
        box-shadow:
        0 0 0 0 rgba(255,126,21,.5);
    }
    70%{
        box-shadow:
        0 0 0 18px rgba(255,126,21,0);
    }
}

/* ==========================================
   BUTTON HOVER
========================================== */

.btn{
    transition:all .4s ease;
}

.btn:hover{
    transform:translateY(-4px) scale(1.03);
}

/* ==========================================
   FLOATING FORM CARD
========================================== */

.form-card{
    animation:floatCard 5s ease-in-out infinite;
}

@keyframes floatCard{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-12px);
    }
}

/* ==========================================
   FORM GLOW
========================================== */

.form-card:hover{
    box-shadow:
        0 25px 60px rgba(0,0,0,.25),
        0 0 35px rgba(173,2,36,.18);
}

/* ==========================================
   INPUT ANIMATION
========================================== */

.form-group input{
    transition:all .3s ease;
}

.form-group input:focus{
    transform:translateY(-2px);
}

/* ==========================================
   FLOATING PARTICLES
========================================== */

.hero-particle{
    position:absolute;
    border-radius:50%;
    background:rgba(255,255,255,.15);
    animation:particleFloat linear infinite;
}

.hero-particle:nth-child(1){
    width:12px;
    height:12px;
    top:20%;
    left:15%;
    animation-duration:10s;
}

.hero-particle:nth-child(2){
    width:20px;
    height:20px;
    top:60%;
    left:8%;
    animation-duration:14s;
}

.hero-particle:nth-child(3){
    width:14px;
    height:14px;
    top:30%;
    right:10%;
    animation-duration:12s;
}

.hero-particle:nth-child(4){
    width:18px;
    height:18px;
    top:75%;
    right:15%;
    animation-duration:15s;
}

@keyframes particleFloat{
    0%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-40px);
    }
    100%{
        transform:translateY(0);
    }
}

.results-hero{
    padding:30px 20px 20px;
    background:
    radial-gradient(circle at top left,#21681820,transparent 40%),
    radial-gradient(circle at top right,#ad022420,transparent 40%),
    #f8fafc;
}

.results-card{
    max-width:900px;
    margin:auto;
    background:#fff;
    padding:50px;
    border-radius:30px;
    text-align:center;
    box-shadow:0 25px 60px rgba(0,0,0,.08);
}

.results-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#216818;
    color:#fff;
    padding:10px 18px;
    border-radius:50px;
    font-size:13px;
    font-weight:700;
    margin-bottom:20px;
}

.results-card h1{
    font-size:48px;
    color:#ad0224;
    margin-bottom:15px;
}

.results-card p{
    color:#64748b;
    max-width:650px;
    margin:auto auto 35px;
    line-height:1.7;
}

.result-search-box{
    display:flex;
    gap:15px;
}

.result-search-box select{
    flex:1;
    height:60px;
    border:2px solid #e2e8f0;
    border-radius:14px;
    padding:0 20px;
    font-size:16px;
}

.result-search-box button{
    background:#216818;
    color:#fff;
    border:none;
    border-radius:14px;
    padding:0 35px;
    font-weight:700;
    cursor:pointer;
    transition:.3s;
}

.result-search-box button:hover{
    transform:translateY(-3px);
    background:#1b5714;
}

.results-viewer{
    padding:80px 20px 120px;
    background:#fff;
}

.viewer-header{
    text-align:center;
    margin-bottom:40px;
}

.viewer-header h2{
    font-size:40px;
    color:#0f172a;
    margin-bottom:10px;
}

.viewer-header p{
    color:#64748b;
}

.pdf-wrapper{
    max-width:1200px;
    margin:auto;
    border-radius:24px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 25px 60px rgba(0,0,0,.12);
    animation:fadeUp .6s ease;
}

.pdf-wrapper iframe{
    width:100%;
    height:900px;
    border:none;
}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(40px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@media(max-width:768px){

    .results-card{
        padding:30px 20px;
    }

    .results-card h1{
        font-size:32px;
    }

    .result-search-box{
        flex-direction:column;
    }

    .result-search-box button{
        height:55px;
    }

    .pdf-wrapper iframe{
        height:600px;
    }
}

.results-display-section{
    max-width:1200px;
    margin:60px auto;
    padding:0 20px;
}

#pdfViewer{
    background:#fff;
    padding:30px;
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

#resultTitle{
    text-align:center;
    margin-bottom:25px;
    color:#172b8c;
    font-size:32px;
    font-weight:700;
}

#pdfIframe{
    border:none;
    border-radius:12px;
    min-height:900px;
}
/* ==========================
   RESULT TABLE SECTION
========================== */

.result-table-card{
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    margin:60px auto;
    max-width:1400px;
    box-shadow:0 20px 60px rgba(0,0,0,.08);
    border:1px solid #edf2f7;
    animation:fadeUp .8s ease;
}

.table-header{
    background:linear-gradient(135deg,#172b8c,#0f1e66);
    padding:30px;
    text-align:center;
    color:#fff;
    position:relative;
}

.table-header::after{
    content:'';
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    width:100px;
    height:4px;
    background:#fab722;
    border-radius:50px;
}

.table-header h3{
    margin:0;
    font-size:32px;
    font-weight:800;
    color:#fff;
}

.table-header span{
    display:block;
    margin-top:10px;
    opacity:.8;
    letter-spacing:1px;
}

.table-responsive{
    overflow-x:auto;
    padding:25px;
}

/* TABLE */

.result-table-card table{
    width:100%;
    border-collapse:collapse;
    min-width:800px;
    background:#fff;
}

.result-table-card thead th{
    background:linear-gradient(135deg,#ad0224,#d90429);
    color:#fff;
    padding:18px;
    font-size:15px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.5px;
    border:none;
    position:sticky;
    top:0;
}

.result-table-card tbody td{
    padding:16px;
    border-bottom:1px solid #edf2f7;
    color:#334155;
    font-weight:500;
    transition:.3s;
}

/* Zebra Rows */

.result-table-card tbody tr:nth-child(even){
    background:#f8fafc;
}

/* Hover Effect */

.result-table-card tbody tr:hover{
    background:#eef4ff;
    transform:scale(1.002);
}

.result-table-card tbody tr:hover td{
    color:#172b8c;
}

/* Percentage Highlight */

.result-table-card tbody td:last-child{
    font-weight:800;
    color:#16a34a;
}

/* Rank Column */

.result-table-card tbody td:first-child{
    font-weight:700;
    color:#172b8c;
}

/* Custom Scrollbar */

.table-responsive::-webkit-scrollbar{
    height:8px;
}

.table-responsive::-webkit-scrollbar-thumb{
    background:#172b8c;
    border-radius:20px;
}

/* Animation */

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(40px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* Mobile */

@media(max-width:768px){

    .table-header{
        padding:22px;
    }

    .table-header h3{
        font-size:24px;
    }

    .result-table-card{
        border-radius:18px;
        margin:40px 15px;
    }

    .result-table-card tbody td,
    .result-table-card thead th{
        padding:12px;
        font-size:14px;
    }
}
.result-table-card tbody tr:has(td:last-child:contains("90")){
    background:#ecfdf5;
}




.cb7, .cb7 *{ box-sizing: border-box; }

.cb7{
  --navy:    #111D57;
  --orange:  #FA7E16;
  --red:     #AD0324;
  --green:   #216817;
  --slate:   #475569;
  --white:   #FFFFFF;
  --surface: #F6F7FB;
  --hairline:#E2E5EE;

  --font-display: 'Sora', 'Segoe UI', sans-serif;
  --font-body:    'Inter', 'Segoe UI', sans-serif;
  --font-mono:    'IBM Plex Mono', 'Courier New', monospace;

  font-family: var(--font-body);
  color: var(--slate);
  background: linear-gradient(180deg, #FBFCFE 0%, #FFFFFF 38%);
  -webkit-font-smoothing: antialiased;
  position: relative;
  overflow: hidden;
}

.cb7 a{ text-decoration:none; color:inherit; }
.cb7 ul{ list-style:none; margin:0; padding:0; }
.cb7 h1,.cb7 h2,.cb7 h3{ font-family: var(--font-display); color: var(--navy); margin:0; }
.cb7 img{ max-width:100%; display:block; }

.cb7-container{
  max-width: 1180px;
  margin: 0 auto;
  padding: 56px 24px 88px;
  position: relative;
  z-index: 1;
}

.cb7::before{
  content:''; position:absolute; inset:0;
  background-image: radial-gradient(circle, rgba(17,29,87,.09) 1.4px, transparent 1.4px);
  background-size: 26px 26px; z-index:0; pointer-events:none;
}

/* Reveal animations */
.cb7-reveal{ opacity:0; transform:translateY(22px); }
@media (prefers-reduced-motion: no-preference){
  .cb7-reveal{ transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
  .cb7-reveal.d1{ transition-delay:.1s; }
  .cb7-reveal.d2{ transition-delay:.2s; }
  .cb7-reveal.d3{ transition-delay:.3s; }
}
.cb7-reveal.is-visible{ opacity:1; transform:none; }

/* Floating shape */
@media (prefers-reduced-motion: no-preference){
  .cb7-shape{ animation: cb7Float 7s ease-in-out infinite; }
  .cb7-shape.slow{ animation-duration:10s; }
  .cb7-shape.rev{ animation-direction:alternate-reverse; }
  @keyframes cb7Float{
    0%,100%{ transform:translate(0,0) rotate(0deg); }
    50%{ transform:translate(10px,-16px) rotate(6deg); }
  }
}

/* ── Hero ─────────────────────────────────────────────── */
.cb7-hero{
  position:relative; display:flex; gap:48px; align-items:flex-start;
  flex-wrap:wrap; margin-bottom:64px; padding-bottom:8px;
}
.cb7-hero::before{
  content:''; position:absolute; z-index:-1; border-radius:50%; filter:blur(2px);
  width:280px; height:280px; top:-90px; right:60px;
  background: radial-gradient(circle, rgba(250,126,22,.22), rgba(250,126,22,0) 70%);
}
.cb7-hero::after{
  content:''; position:absolute; z-index:-1; border-radius:50%; filter:blur(2px);
  width:220px; height:220px; bottom:-60px; left:10%;
  background: radial-gradient(circle, rgba(17,29,87,.14), rgba(17,29,87,0) 70%);
}

.cb7-ring{
  position:absolute; top:6px; left:-18px; width:70px; height:70px;
  border:2.5px solid rgba(17,29,87,.14); border-radius:16px; transform:rotate(18deg); z-index:-1;
}
.cb7-dots-cluster{
  position:absolute; top:64px; right:-6px; width:54px; height:54px;
  background-image: radial-gradient(circle, var(--orange) 3px, transparent 3.2px);
  background-size:13px 13px; opacity:.35; z-index:-1;
}

.cb7-hero-text{ flex:1 1 420px; min-width:0; }

.cb7-eyebrow{
  display:inline-flex; align-items:center; gap:9px; font-family:var(--font-mono);
  font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--orange); margin:0 0 14px;
}
.cb7-eyebrow i{ font-size:13px; }

.cb7-hero-heading{
  font-size: clamp(26px, 3.4vw, 38px);
  line-height:1.18; font-weight:800; letter-spacing:-.01em; margin-bottom:16px;
}

.cb7-lede{
  font-size:16.5px; line-height:1.65; color:var(--slate); max-width:480px; margin:0 0 28px;
}

.cb7-hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }

.cb7-btn{
  display:inline-flex; align-items:center; gap:9px; padding:13px 24px; border-radius:8px;
  font-weight:700; font-size:14.5px;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.cb7-btn i{ font-size:13.5px; }
.cb7-btn--primary{ background:var(--orange); color:var(--white); box-shadow:0 10px 24px -10px rgba(250,126,22,.65); }
.cb7-btn--primary:hover{ transform:translateY(-2px); box-shadow:0 14px 28px -10px rgba(250,126,22,.75); }
.cb7-btn--ghost{ border:1.5px solid var(--hairline); color:var(--navy); background:rgba(255,255,255,.6); }
.cb7-btn--ghost:hover{ border-color:var(--navy); background:var(--white); transform:translateY(-2px); }

/* Schedule card */
.cb7-schedule{
  flex:1 1 320px; max-width:380px; position:relative;
  background: linear-gradient(155deg, var(--navy) 0%, #182a73 100%);
  border-radius:18px; padding:30px 30px 26px 38px; color:var(--white);
  box-shadow:0 24px 48px -18px rgba(17,29,87,.45);
}
.cb7-schedule::before{
  content:''; position:absolute; left:-1px; top:0; bottom:0; width:18px;
  background-image: radial-gradient(circle, var(--white) 4px, transparent 4.2px);
  background-size:18px 26px; background-repeat:repeat-y; background-position:left center; opacity:.9;
}
.cb7-schedule::after{
  content:''; position:absolute; left:9px; top:0; bottom:0;
  border-left:1.5px dashed rgba(255,255,255,.28);
}
.cb7-schedule-tag{
  display:inline-block; font-family:var(--font-mono); font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--orange); background:rgba(250,126,22,.16);
  padding:4px 10px; border-radius:100px; margin-bottom:12px;
}
.cb7-schedule h2{ color:var(--white); font-size:20px; font-weight:700; margin-bottom:20px; }
.cb7-schedule-list li{
  display:flex; align-items:baseline; gap:10px; padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.cb7-schedule-list li:last-child{ border-bottom:none; padding-bottom:0; }
.cb7-schedule-list .label{
  font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:rgba(255,255,255,.62); white-space:nowrap;
}
.cb7-schedule-list .dots{ flex:1; border-bottom:1.5px dotted rgba(255,255,255,.28); margin-bottom:4px; }
.cb7-schedule-list .value{
  font-family:var(--font-mono); font-size:13.5px; font-weight:600;
  color:var(--white); text-align:right; white-space:nowrap;
}

/* ── Section common ────────────────────────────────────── */
.cb7-section-head{ margin-bottom:32px; max-width:620px; }
.cb7-section-tag{
  font-family:var(--font-mono); font-size:12px; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--green); margin:0 0 8px;
  display:flex; align-items:center; gap:7px;
}
.cb7-section-title{ font-size: clamp(24px, 2.6vw, 30px); font-weight:800; margin:0 0 10px; }
.cb7-section-sub{ font-size:15.5px; line-height:1.6; color:var(--slate); margin:0; }

/* ── Curriculum pills ──────────────────────────────────── */
.cb7-curriculum{
  position:relative; margin-bottom:56px; background:var(--surface);
  border-radius:24px; padding:44px clamp(20px,4vw,48px) 48px; overflow:hidden;
}
.cb7-curriculum::before{
  content:''; position:absolute; top:-70px; right:-70px; width:220px; height:220px;
  border-radius:50%; border:30px solid rgba(17,29,87,.05); z-index:0;
}
.cb7-curriculum .cb7-section-head,
.cb7-curriculum .cb7-pill-row{ position:relative; z-index:1; }

.cb7-pill-row{ display:flex; gap:14px; flex-wrap:wrap; }

.cb7-pill{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 22px; border-radius:12px; font-weight:700; font-size:15px;
  border:1.5px solid var(--hairline); background:var(--white);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.cb7-pill i{ font-size:16px; }
.cb7-pill:hover{ transform:translateY(-3px); box-shadow:0 14px 28px -14px rgba(17,29,87,.22); border-color:transparent; }
.cb7-pill--math{ color:var(--orange); }
.cb7-pill--math i{ color:var(--orange); }
.cb7-pill--sci{ color:var(--green); }
.cb7-pill--sci i{ color:var(--green); }
.cb7-pill--soc{ color:var(--red); }
.cb7-pill--soc i{ color:var(--red); }

/* ── What We Do ────────────────────────────────────────── */
.cb7-about{
  position:relative; background: linear-gradient(160deg, var(--navy) 0%, #1c2f78 55%, var(--navy) 100%);
  border-radius:24px; padding:48px clamp(20px,4vw,48px); overflow:hidden;
  margin-bottom:56px;
}
.cb7-about::before{
  content:''; position:absolute; inset:0;
  background-image: radial-gradient(circle, rgba(255,255,255,.10) 1.4px, transparent 1.4px);
  background-size:22px 22px; z-index:0;
}
.cb7-about .cb7-shape{ position:absolute; border-radius:50%; z-index:0; pointer-events:none; }
.cb7-about .cb7-shape--a{ width:180px; height:180px; top:-60px; left:-40px; background:radial-gradient(circle, rgba(250,126,22,.30), transparent 70%); }
.cb7-about .cb7-shape--b{ width:220px; height:220px; bottom:-90px; right:-60px; background:radial-gradient(circle, rgba(33,104,23,.28), transparent 70%); }
.cb7-about .cb7-section-head,
.cb7-about .cb7-about-grid{ position:relative; z-index:1; }
.cb7-about .cb7-section-tag{ color:var(--orange); }
.cb7-about .cb7-section-title{ color:var(--white); }
.cb7-about .cb7-section-sub{ color:rgba(255,255,255,.72); }

.cb7-about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }

.cb7-about-card{
  background:var(--white); border-radius:14px 14px 10px 10px;
  border-top:4px solid var(--card-color, var(--orange));
  padding:26px 24px; position:relative; overflow:hidden;
  box-shadow:0 14px 30px -20px rgba(0,0,0,.30);
  transition: transform .2s ease, box-shadow .2s ease;
}
.cb7-about-card::before{
  content:''; position:absolute; top:-24px; right:-24px; width:60px; height:60px;
  border-radius:50%; background:var(--card-color, var(--orange)); opacity:.10;
}
.cb7-about-card:hover{ transform:translateY(-4px); box-shadow:0 22px 40px -18px rgba(0,0,0,.28); }

.cb7-about-card--a{ --card-color: var(--orange); }
.cb7-about-card--b{ --card-color: var(--green); }
.cb7-about-card--c{ --card-color: var(--red); }
.cb7-about-card--d{ --card-color: #6B35C9; }

.cb7-about-card-icon{
  width:44px; height:44px; border-radius:11px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:16px; font-size:18px;
  background: rgba(0,0,0,.06); color:var(--card-color, var(--orange));
}
.cb7-about-card h3{ font-size:17px; font-weight:700; margin-bottom:8px; }
.cb7-about-card p{ font-size:14px; line-height:1.62; color:var(--slate); margin:0; position:relative; z-index:1; }

/* ── Stats table ───────────────────────────────────────── */
.cb7-stats{
  position:relative; margin-bottom:56px; background:var(--surface);
  border-radius:24px; padding:44px clamp(20px,4vw,48px) 48px; overflow:hidden;
}
.cb7-stats::after{
  content:''; position:absolute; bottom:-60px; right:-60px; width:200px; height:200px;
  border-radius:50%; border:28px solid rgba(250,126,22,.07); z-index:0;
}
.cb7-stats .cb7-section-head{ position:relative; z-index:1; }
.cb7-stats-grid{
  position:relative; z-index:1;
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
}

.cb7-stat-card{
  background:var(--white); border-radius:14px; padding:24px 20px;
  border:1.5px solid var(--hairline); text-align:center;
  transition: transform .2s ease, box-shadow .2s ease;
}
.cb7-stat-card:hover{ transform:translateY(-4px); box-shadow:0 16px 32px -18px rgba(17,29,87,.22); border-color:transparent; }
.cb7-stat-card .stat-val{
  font-family:var(--font-mono); font-size:22px; font-weight:700;
  color:var(--navy); margin-bottom:6px; display:block;
}
.cb7-stat-card .stat-val em{ font-style:normal; color:var(--orange); }
.cb7-stat-card .stat-label{
  font-size:12.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  color:var(--slate);
}

/* ── Context paragraphs ────────────────────────────────── */
.cb7-context{
  margin-bottom:56px;
  display:grid; grid-template-columns:1fr 1fr; gap:24px;
}
.cb7-context-card{
  background:var(--surface); border-radius:18px; padding:32px 30px;
  border-left:4px solid var(--orange); position:relative; overflow:hidden;
}
.cb7-context-card::after{
  content:''; position:absolute; top:-40px; right:-40px; width:110px; height:110px;
  border-radius:50%; background:radial-gradient(circle, rgba(250,126,22,.10), transparent 70%);
}
.cb7-context-card p{ font-size:15px; line-height:1.75; margin:0; position:relative; z-index:1; }

/* ── Enquiry Form ──────────────────────────────────────── */
.cb7-enquiry{
  position:relative;
  background: linear-gradient(135deg, #FFF8F1 0%, #FFF3E8 60%, #FEF9F0 100%);
  border:1.5px solid rgba(250,126,22,.15);
  border-radius:24px;
  padding:48px clamp(20px,4vw,48px) 52px;
  overflow:hidden;
}
.cb7-enquiry::before{
  content:''; position:absolute; bottom:-80px; right:-80px; width:240px; height:240px;
  border-radius:50%; border:32px solid rgba(250,126,22,.07); z-index:0;
}
.cb7-enquiry::after{
  content:''; position:absolute; top:-60px; left:-60px; width:180px; height:180px;
  border-radius:50%; background:radial-gradient(circle, rgba(17,29,87,.06), transparent 70%); z-index:0;
}
.cb7-enquiry .cb7-section-head{ position:relative; z-index:1; }
.cb7-enquiry .cb7-section-tag{ color:var(--orange); }

.cb7-form{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr 1fr; gap:18px;
}
.cb7-form-full{ grid-column:1 / -1; }

.cb7-field{ display:flex; flex-direction:column; gap:7px; }
.cb7-field label{
  font-size:12.5px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--navy); font-family:var(--font-mono);
}
.cb7-field label span{ color:var(--orange); margin-left:2px; }

.cb7-field input,
.cb7-field select,
.cb7-field textarea{
  width:100%; padding:12px 16px;
  border:1.5px solid var(--hairline); border-radius:10px;
  font-size:14.5px; font-family:var(--font-body); color:var(--navy);
  background:var(--white); outline:none;
  transition: border-color .18s ease, box-shadow .18s ease;
  appearance:none; -webkit-appearance:none;
}
.cb7-field input::placeholder,
.cb7-field textarea::placeholder{ color:#aab0c0; }
.cb7-field input:focus,
.cb7-field select:focus,
.cb7-field textarea:focus{
  border-color:var(--orange); box-shadow:0 0 0 3px rgba(250,126,22,.13);
}
.cb7-field select{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23475569' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;
  padding-right:38px; cursor:pointer;
}
.cb7-field textarea{ resize:vertical; min-height:110px; }

.cb7-field input.cb7-error,
.cb7-field select.cb7-error{ border-color:var(--red); box-shadow:0 0 0 3px rgba(173,3,36,.10); }

.cb7-form-submit{
  grid-column:1 / -1; display:flex; align-items:center;
  justify-content:space-between; flex-wrap:wrap; gap:14px; padding-top:6px;
}
.cb7-form-note{
  font-size:13px; color:var(--slate); display:flex; align-items:center; gap:7px;
}
.cb7-form-note i{ color:var(--green); font-size:13px; }

.cb7-btn--submit{
  background:var(--navy); color:var(--white); padding:14px 32px;
  border-radius:8px; font-weight:700; font-size:14.5px; border:none; cursor:pointer;
  display:inline-flex; align-items:center; gap:9px; font-family:var(--font-body);
  box-shadow:0 10px 24px -10px rgba(17,29,87,.45);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.cb7-btn--submit:hover{ background:var(--orange); transform:translateY(-2px); box-shadow:0 14px 28px -10px rgba(250,126,22,.65); }
.cb7-btn--submit i{ font-size:13px; }

.cb7-form-success{
  display:none; align-items:center; gap:14px;
  padding:20px 24px;
  background:rgba(33,104,23,.08); border:1.5px solid rgba(33,104,23,.25);
  border-radius:12px; color:var(--green); font-weight:600; font-size:15px;
  position:relative; z-index:1; margin-top:4px;
}
.cb7-form-success i{ font-size:22px; flex-shrink:0; }
.cb7-form-success.show{ display:flex; }

/* ── Responsive ────────────────────────────────────────── */
@media (max-width:900px){
  .cb7-container{ padding:40px 20px 64px; }
  .cb7-hero{ gap:32px; margin-bottom:48px; }
  .cb7-schedule{ max-width:100%; flex-basis:100%; }
  .cb7-about-grid{ grid-template-columns:1fr; }
  .cb7-stats-grid{ grid-template-columns:1fr 1fr; }
  .cb7-context{ grid-template-columns:1fr; }
  .cb7-form{ grid-template-columns:1fr; }
  .cb7-form-full{ grid-column:1; }
  .cb7-form-submit{ grid-column:1; flex-direction:column; align-items:flex-start; }
  .cb7-btn--submit{ width:100%; justify-content:center; }
  .cb7-ring,.cb7-dots-cluster{ display:none; }
}
@media (max-width:560px){
  .cb7-stats-grid{ grid-template-columns:1fr 1fr; }
  .cb7-curriculum{ padding:32px 18px 36px; border-radius:18px; }
  .cb7-about{ padding:36px 18px; border-radius:18px; }
  .cb7-enquiry{ padding:32px 18px 36px; border-radius:18px; }
  .cb7-hero-heading{ font-size:24px; }
  .cb7-btn{ width:100%; justify-content:center; }
  .cb7-hero-actions{ flex-direction:column; }
}

.cb7{
  --navy:    #111D57;
  --orange:  #FA7E16;
  --red:     #AD0324;
  --green:   #216817;
  --slate:   #475569;
  --white:   #FFFFFF;
  --surface: #F6F7FB;   /* <-- here */
  --hairline:#E2E5EE;
}

.cb7-learning-path{
    margin:60px 0;
    position:relative;
}

.cb7-path{
    max-width:900px;
    margin:40px auto 0;
    position:relative;
}

.cb7-path::before{
    content:'';
    position:absolute;
    left:32px;
    top:0;
    bottom:0;
    width:3px;
    background:linear-gradient(
        to bottom,
        var(--orange),
        var(--green),
        var(--red)
    );
}

.cb7-step{
    position:relative;
    display:flex;
    gap:24px;
    margin-bottom:35px;
    align-items:flex-start;
}

.cb7-step-number{
    width:64px;
    height:64px;
    min-width:64px;
    border-radius:50%;
    background:var(--navy);
    color:#fff;
    font-family:var(--font-display);
    font-weight:800;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    position:relative;
    z-index:2;
    box-shadow:0 10px 25px rgba(17,29,87,.2);
}

.cb7-step-content{
    flex:1;
    background:#fff;
    padding:24px 28px;
    border-radius:16px;
    box-shadow:0 15px 35px rgba(0,0,0,.06);
    border:1px solid var(--hairline);
}

.cb7-step-content h3{
    margin:0;
    color:var(--navy);
    font-size:22px;
    font-weight:700;
}

.cb7-step-content p{
    margin:0;
    line-height:1.8;
    color:var(--slate);
    font-size:15px;
}

@media(max-width:768px){

    .cb7-path::before{
        left:24px;
    }

    .cb7-step{
        gap:16px;
    }

    .cb7-step-number{
        width:48px;
        height:48px;
        min-width:48px;
        font-size:14px;
    }

    .cb7-step-content{
        padding:18px;
    }
}

.cb7-learning-path{
    position: relative;
    margin: 60px 0;
    padding: 50px clamp(20px,4vw,48px);
    background: #c0ccfa;
    border-radius: 24px;
    overflow: hidden;
}

/* Decorative elements */
.cb7-learning-path::before{
    content:'';
    position:absolute;
    top:-80px;
    right:-80px;
    width:220px;
    height:220px;
    border-radius:50%;
    border:28px solid rgba(250,126,22,.08);
}

.cb7-learning-path::after{
    content:'';
    position:absolute;
    bottom:-70px;
    left:-70px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:radial-gradient(circle,
        rgba(17,29,87,.08),
        transparent 70%);
}

/* Form Group */
.form-group {
    position: relative;
    margin-bottom: 20px;
}

/* Dropdown Styling */
.form-group select {
    width: 100%;
    height: 54px;
    padding: 0 45px 0 16px;
    font-size: 16px;
    color: #333;
    background: #fff;
    border: 1px solid #dcdcdc;
    border-radius: 10px;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* Hover */
.form-group select:hover {
    border-color: #DF8428;
}

/* Focus */
.form-group select:focus {
    border-color: #DF8428;
    box-shadow: 0 0 0 4px rgba(223, 132, 40, 0.15);
}

/* Placeholder color */
.form-group select:invalid {
    color: #888;
}

.form-group select option {
    color: #333;
}

.form-group:has(select)::after {
    content: "\f107";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #666;
    pointer-events: none;
    transition: color .3s ease;
}

.form-group:has(select):focus-within::after {
    color: #DF8428;
}