* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    :root {
      --primary-green: #2b6e4f;
      --primary-dark: #1d503a;
      --accent-orange: #f39c12;
      --accent-coral: #ff8c42;
      --soft-bg: #fef9ef;
      --white: #ffffff;
      --gray-light: #f0f7ee;
      --text-dark: #1e2f2c;
      --shadow-sm: 0 12px 28px rgba(0, 0, 0, 0.05), 0 2px 4px rgba(0, 0, 0, 0.02);
      --shadow-hover: 0 25px 35px -12px rgba(0, 0, 0, 0.15);
      --border-radius-card: 1.75rem;
      --transition-default: all 0.25s ease;
    }

    [data-theme="dark"] {
      --soft-bg: #121d1a;
      --white: #1e2e28;
      --gray-light: #263b34;
      --text-dark: #eef3f0;
      --shadow-sm: 0 12px 28px rgba(0, 0, 0, 0.4);
    }

    body {
      font-family: 'Inter', sans-serif;
      background: var(--soft-bg);
      color: var(--text-dark);
      transition: background 0.25s ease, color 0.2s;
      scroll-behavior: smooth;
    }

    /* navbar premium */
    .navbar {
      background: var(--white);
      backdrop-filter: blur(0px);
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.03), 0 2px 4px rgba(0, 0, 0, 0.02);
      padding: 0.8rem 1rem;
      transition: var(--transition-default);
    }

    .navbar-brand {
      font-weight: 800;
      font-size: 1.25rem;
      letter-spacing: -0.3px;
      background: linear-gradient(135deg, var(--primary-green), var(--accent-orange));
      background-clip: text;
      -webkit-background-clip: text;
      color: transparent;
    }

    .navbar-logo {
      height: 60px;
      width: auto;
      filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
    }
    .bsm-logo-container{
        display:flex;
        justify-content:center;
        align-items:center;
    }
    
    .bsm-logo-animated{
        animation:
            floatLogo 4s ease-in-out infinite,
            glowLogo 3s ease-in-out infinite;
    
        transition:.4s;
    }
    
    .bsm-logo-animated:hover{
        transform:scale(1.08);
    }
    
     /*Soft glow */
    @keyframes glowLogo{
        0%{
            filter:drop-shadow(0 0 0 rgba(243,156,18,.3));
        }
        50%{
            filter:
                drop-shadow(0 0 15px rgba(243,156,18,.5))
                drop-shadow(0 0 30px rgba(243,156,18,.3));
        }
        100%{
            filter:drop-shadow(0 0 0 rgba(243,156,18,.3));
        }
    }

    .nav-link {
      font-weight: 600;
      margin: 0 0.25rem;
      color: var(--text-dark) !important;
      border-radius: 40px;
      transition: var(--transition-default);
    }

    .nav-link:hover, .nav-link.active {
      color: var(--accent-orange) !important;
      background: rgba(243, 156, 18, 0.08);
    }

    /* Theme Toggle */
    .theme-toggle {
      background: var(--gray-light);
      border: none;
      border-radius: 50px;
      width: 42px;
      height: 42px;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: 0.2s;
      color: var(--text-dark);
    }

    /* Notice badge styling */
    .notice-badge {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        background-color: #dc3545;
        color: white;
        font-size: 0.7rem;
        font-weight: bold;
        padding: 2px 8px;
        border-radius: 20px;
        margin-left: 6px;
        vertical-align: middle;
    }
    .blink-star {
        color: #ffc107;
        animation: blink 1.2s infinite;
        font-size: 0.7rem;
    }
    @keyframes blink {
        0%, 100% { opacity: 1; transform: scale(1); }
        50% { opacity: 0.4; transform: scale(1.1); }
    }
    /* Optional: adjust nav-link to accommodate badge */
    .navbar-nav .nav-link {
        display: inline-flex;
        align-items: center;
    }




    .section-title{
        font-size: clamp(1.62rem, 3.2vw, 2.3rem);
        font-weight: 600;
        color: var(--primary-green);
        margin-bottom: .75rem;
    }
    
    .section-subtitle{
        font-size: 1.1rem;
        color: #6c757d;
        max-width: 700px;
        margin: 0 auto;
    }



    /* Hero carousel – responsive height fix */
    .carousel-item {
      height: 580px;
      background: #1e2f2c;
    }

    .carousel-item img {
      object-fit: cover;
      height: 100%;
      width: 100%;
    }

    .carousel-item::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.3) 100%);
      z-index: 1;
    }

    .carousel-caption {
        z-index: 2;
        bottom: 25%;
        text-align: center;
        max-width: 550px;
        backdrop-filter: blur(3px);
        background: rgba(0, 0, 0, 0.35);
        padding: 1.5rem 2rem;
        border-radius: 2rem;
    
        left: 50%;
        transform: translateX(-50%);
    }

    .carousel-caption h2 {
      font-size: 1.34rem;
      font-weight: 500;
      letter-spacing: -0.5px;
    }

    .carousel-control-prev-icon, .carousel-control-next-icon {
      background-color: rgba(0,0,0,0.5);
      border-radius: 50%;
      padding: 1.2rem;
      background-size: 50%;
    }

/* Brainy Brain Section */
    .brainy-bear-section{
        background: linear-gradient(
            135deg,
            rgba(243,156,18,.08),
            rgba(43,110,79,.08)
        );
        /*border-radius:3rem;*/
    }
    
    .brainy-bear-img{
        max-height:350px;
        animation:bounceBear 4s infinite;
    }
    
    @keyframes bounceBear{
        0%,100%{transform:translateY(0);}
        50%{transform:translateY(-15px);}
    }
    
    /* Explore pre school button */    
    
    .explore-preschool-wrapper{
        display:flex;
        align-items:center;
        gap:15px;
        margin-top:25px;
        flex-wrap:wrap;
    }
    
    .explore-kid{
        width:110px;
        height:auto;
        animation:kidWalk 3s ease-in-out infinite;
    }
    
    .explore-btn{
        background:linear-gradient(
            135deg,
            var(--accent-orange),
            #ffb347
        );
        color:#fff;
        text-decoration:none;
        padding:14px 28px;
        border-radius:50px;
        font-weight:700;
        box-shadow:0 10px 25px rgba(243,156,18,.25);
        transition:.3s;
    }
    
    .explore-btn:hover{
        transform:translateY(-3px);
        color:#fff;
    }
    
    @keyframes kidWalk{
        0%,100%{
            transform:translateX(0);
        }
        50%{
            transform:translateX(10px);
        }
    }
    
    
    .tutorial-icon-wrapper {
            width: 220px;
            height: 220px;
            background: linear-gradient(145deg, #fff8e7, #fef3d6);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 20px 35px -10px rgba(0,0,0,0.1);
            margin-bottom: 1rem;
            transition: all 0.3s ease;
        }
        .tutorial-icon-wrapper i {
            font-size: 6rem;
            color: #2b7a3e;
            filter: drop-shadow(2px 6px 12px rgba(0,0,0,0.1));
        }
        .tutorial-icon-wrapper:hover {
            transform: scale(1.02);
            box-shadow: 0 25px 40px -12px rgba(0,0,0,0.15);
        }
        
        /* Ensure mini-feature uses same green accent */
        .mini-feature i {
            color: #e67e22;
            width: 24px;
        }
    
    
    
    
    
    .mini-feature{
        background:white;
        padding:1rem;
        border-radius:1rem;
        text-align:center;
        font-weight:600;
        box-shadow:var(--shadow-sm);
    }
    
    .age-card{
        background:white;
        border-radius:1.5rem;
        padding:1.5rem;
        height:100%;
        box-shadow:var(--shadow-sm);
        transition:.3s;
    }
    
    .age-card:hover{
        transform:translateY(-8px);
    }
    
    .floating-shape{
        position:absolute;
        font-size:2rem;
        animation:floatShape 4s ease-in-out infinite;
    }
    
    .shape1{top:10%;left:10%;}
    .shape2{top:20%;right:15%;}
    .shape3{bottom:20%;left:12%;}
    .shape4{bottom:15%;right:10%;}
    .shape5{top:50%;right:5%;}
    
    @keyframes floatShape{
        0%,100%{transform:translateY(0);}
        50%{transform:translateY(-15px);}
    }
    
    
    
    
    


.btn-primary {
  background: var(--primary-green);
  border-color: var(--primary-green);
}
.btn-primary:hover {
  background: var(--primary-dark);
}
/* stats cards modern */
    .stat-card {
      background: var(--white);
      border-radius: 2rem;
      padding: 1.8rem 1rem;
      transition: var(--transition-default);
      box-shadow: var(--shadow-sm);
      border: 1px solid rgba(0,0,0,0.03);
    }
    .stat-card:hover {
      transform: translateY(-8px);
      box-shadow: var(--shadow-hover);
    }
    .stat-number {
      font-size: 3rem;
      font-weight: 800;
      color: var(--accent-orange);
      line-height: 1.2;
    }
    /* why choose card grid */
    .feature-badge {
      background: var(--white);
      border-radius: 2rem;
      padding: 1rem 1rem;
      text-align: center;
      transition: all 0.2s;
      box-shadow: var(--shadow-sm);
      height: 100%;
      font-weight: 600;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      font-size: 1rem;
    }
    .feature-badge i {
      font-size: 1.8rem;
      color: var(--accent-orange);
    }
    .feature-badge:hover {
      background: var(--primary-green);
      color: white;
      transform: scale(1.02);
    }
    .feature-badge:hover i {
      color: white;
    }

    /* program cards modern */
    .program-card {
      background: var(--white);
      border-radius: 1.75rem;
      padding: 1.8rem;
      transition: all 0.3s cubic-bezier(0.2, 0.9, 0.4, 1.1);
      height: 100%;
      border: none;
      box-shadow: var(--shadow-sm);
    }
    .program-card:hover {
      transform: translateY(-12px);
      box-shadow: 0 25px 40px -12px rgba(0,0,0,0.2);
    }
    .program-icon {
      font-size: 3rem;
      color: var(--accent-orange);
      margin-bottom: 1rem;
    }
    /* testimonial & updates */
    .testimonial-card {
      background: var(--white);
      border-radius: 1.5rem;
      padding: 1.5rem;
      margin-bottom: 1.2rem;
      box-shadow: var(--shadow-sm);
      transition: 0.2s;
    }
    .testimonial-card i.fa-quote-left {
      color: var(--accent-orange);
      opacity: 0.4;
      font-size: 1.8rem;
    }
    .news-item {
      background: var(--white);
      border-radius: 1.25rem;
      padding: 1rem 1.2rem;
      margin-bottom: 0.9rem;
      transition: 0.2s;
      display: flex;
      align-items: center;
      gap: 1rem;
      border-left: 4px solid var(--accent-orange);
    }
    .news-badge {
      background: var(--primary-green);
      color: white;
      font-size: 0.7rem;
      padding: 0.2rem 0.6rem;
      border-radius: 50px;
    }

/* -- GAllery At a Glance -- */

    .glance-section{
        position:relative;
        overflow:hidden;
    }
    
    .glance-badge{
        background:#ffe082;
        color:#333;
        padding:10px 25px;
        border-radius:50px;
        font-weight:700;
        font-size:1rem;
    }
    
    .glance-card{
        background:white;
        border-radius:25px;
        padding:10px;
        box-shadow:var(--shadow-sm);
        transition:.4s;
        position:relative;
        overflow:hidden;
    }
    
    .glance-card img{
        width:100%;
        height:250px;
        object-fit:cover;
        border-radius:20px;
    }
    
    .glance-card:hover{
        transform:translateY(-10px) scale(1.03);
        box-shadow:var(--shadow-hover);
    }
    
    .rotate-left{
        transform:rotate(-2deg);
    }
    
    .rotate-right{
        transform:rotate(2deg);
    }
    
    .glance-card:hover.rotate-left{
        transform:rotate(-1deg) translateY(-10px);
    }
    
    .glance-card:hover.rotate-right{
        transform:rotate(1deg) translateY(-10px);
    }
    
    .glance-caption{
        text-align:center;
        padding:12px;
        font-weight:700;
        color:var(--primary-green);
    }
    
    /* cute sticker effect */
    .glance-card::before{
        content:"⭐";
        position:absolute;
        top:8px;
        right:12px;
        font-size:1.4rem;
        z-index:2;
    }
    
    /* floating decorations */
    .glance-section::before{
        content:"☁️";
        position:absolute;
        left:3%;
        top:10%;
        font-size:3rem;
        opacity:.3;
    }
    
    .glance-section::after{
        content:"🌈";
        position:absolute;
        right:3%;
        top:5%;
        font-size:4rem;
        opacity:.3;
    }

/* -- Faculty Strength Section -- */
.faculty-family-section{
    background: linear-gradient(
        135deg,
        rgba(243,156,18,.06),
        rgba(43,110,79,.06)
    );
    border-radius: 3rem;
}

.faculty-badge{
    background: #ffe082;
    color: #333;
    padding: 10px 25px;
    border-radius: 50px;
    font-weight: 700;
}

.faculty-stat{
    background: var(--white);
    padding: 2rem 1rem;
    border-radius: 1.5rem;
    box-shadow: var(--shadow-sm);
    transition: .3s;
    height: 100%;
}

.faculty-stat:hover{
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
}

.faculty-stat h4{
    color: var(--primary-green);
    font-weight: 800;
    margin: 10px 0;
}

.faculty-stat p{
    margin-bottom: 0;
}

.faculty-btn{
    display: inline-block;
    background: var(--primary-green);
    color: white;
    text-decoration: none;
    padding: 14px 32px;
    border-radius: 50px;
    font-weight: 700;
    transition: .3s;
}

.faculty-btn:hover{
    color: white;
    transform: translateY(-3px);
}



    /*==================== ABOUT =============== */
    .about-hero{
        background: linear-gradient(
            115deg,
            rgba(33,170,59,.75),
            rgba(243,166,18,.9)
        );
        color:#fff;
        border-radius:0 0 2rem 2rem;
    }
    
    .principal-card{
        background: var(--white);
        border-radius: 2rem;
        box-shadow: var(--shadow-sm);
    }
    
    .mv-card{
        background: var(--white);
        padding:2rem;
        border-radius:2rem;
        text-align:center;
        height:100%;
        transition:.3s;
        box-shadow:var(--shadow-sm);
    }
    
    .mv-card:hover{
        transform:translateY(-10px);
        box-shadow:var(--shadow-hover);
    }
    
    .mv-card .icon{
        width:80px;
        height:80px;
        margin:auto;
        border-radius:50%;
        background:rgba(243,156,18,.1);
        display:flex;
        align-items:center;
        justify-content:center;
        margin-bottom:20px;
    }
    
    .mv-card i{
        font-size:2rem;
        color:var(--accent-orange);
    }
    
    .principal-card img{
        border:8px solid rgba(243,156,18,.15);
    }
    
    blockquote{
        border-left:5px solid var(--accent-orange);
        padding-left:20px;
    }
    
    .fruit-card{
        background:var(--white);
        border-radius:2rem;
        padding:2rem;
        text-align:center;
        height:100%;
        position:relative;
        box-shadow:var(--shadow-sm);
        transition:.3s;
    }
    
    .fruit-card:hover{
        transform:translateY(-8px);
        box-shadow:var(--shadow-hover);
    }
    
    .fruit-card i{
        font-size:2.8rem;
        color:var(--accent-orange);
        margin-bottom:15px;
    }
    
    .year-badge{
        position:absolute;
        top:15px;
        right:15px;
        background:var(--accent-orange);
        color:white;
        padding:5px 12px;
        border-radius:50px;
        font-size:.85rem;
        font-weight:700;
    }

    .read-more-content {
        display: none;
    }
    .read-more-content.show {
        display: block;
    }
    .btn-readmore {
        background: var(--primary);
        border-radius: 30px;
        padding: 8px 24px;
        font-weight: 500;
        transition: 0.2s;
        border: none;
    }
    .btn-readmore:hover {
        background: var(--primary-dark);
        transform: scale(1.02);
    }
    .core-value-card, .approach-card {
        background: white;
        border-radius: 1.5rem;
        padding: 2rem;
        text-align: center;
        box-shadow: 0 10px 20px -5px rgba(0,0,0,0.05);
        height: 100%;
        transition: 0.2s;
    }
    .core-value-card:hover, .approach-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 20px 30px -10px rgba(0,0,0,0.1);
    }
    .core-value-icon {
        font-size: 2.5rem;
        color: var(--primary);
        margin-bottom: 1rem;
    }

    /* ===== PREMIUM BSM AT A GLANCE STYLES ===== */
    .glance-premium {
        background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
        border-radius: 2rem;
        padding: 2rem;
        box-shadow: 0 20px 35px -10px rgba(0,0,0,0.08);
        transition: transform 0.2s;
    }
    .glance-premium:hover {
        transform: translateY(-4px);
    }
    .glance-header {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 1.5rem;
        border-bottom: 2px solid rgba(43,122,62,0.15);
        padding-bottom: 0.75rem;
    }
    .glance-header i {
        font-size: 2rem;
        background: linear-gradient(135deg, var(--primary), var(--primary-dark));
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }
    .glance-header h5 {
        font-size: 1.5rem;
        font-weight: 700;
        margin: 0;
        color: #1e293b;
    }
    .facility-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
    }
    .facility-chip {
        background: white;
        border-radius: 50px;
        padding: 8px 18px;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        font-weight: 500;
        color: #1e293b;
        box-shadow: 0 2px 6px rgba(0,0,0,0.05);
        transition: all 0.2s ease;
        border: 1px solid #e2e8f0;
    }
    .facility-chip i {
        color: var(--primary);
        font-size: 1.1rem;
    }
    .facility-chip:hover {
        background: var(--primary);
        color: white;
        transform: translateY(-2px);
        border-color: var(--primary);
    }
    .facility-chip:hover i {
        color: white;
    }
    .achievement-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    .achievement-list li {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 1.2rem;
        padding: 0.5rem;
        border-radius: 1rem;
        transition: 0.2s;
    }
    .achievement-list li:hover {
        background: rgba(43,122,62,0.05);
        transform: translateX(5px);
    }
    .achievement-list li i {
        font-size: 1.3rem;
        color: var(--primary);
        margin-top: 2px;
        flex-shrink: 0;
    }
    .achievement-list li span {
        color: #334155;
        line-height: 1.4;
    }
    
    
    
    
    
    



.whatsapp-float, .scroll-top-float {
    position: fixed;
    bottom: 30px;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
    z-index: 1000;
    cursor: pointer;
    border: none;
  }
  .whatsapp-float {
    right: 30px;
    background: #25D366;
  }
  .whatsapp-float i {
    font-size: 32px;
    color: white;
  }
  .scroll-top-float {
    right: 30px;
    bottom: 100px;  /* above WhatsApp */
    background: var(--primary-green);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
  }
  .scroll-top-float i {
    font-size: 28px;
    color: white;
  }
  .scroll-top-float.show {
    opacity: 1;
    visibility: visible;
  }
  .scroll-top-float:hover, .whatsapp-float:hover {
    transform: scale(1.08);
  }
  

    footer {
      background: var(--primary-dark);
      color: #cfdfda;
    }
    
    .logo-showcase{
        position:relative;
        width:80px;
        height:80px;
        margin:auto;
        display:flex;
        align-items:center;
        justify-content:center;
    }
    
    .logo-showcase img{
        width:80px;
        position:relative;
        z-index:5;
    }
    
    .ring{
        position:absolute;
        border-radius:50%;
    }
    
    .ring-1{
        width:100px;
        height:100px;
        border:3px dashed rgba(243,156,18,.4);
        animation:spinClock 20s linear infinite;
    }
    
    .ring-2{
        width:120px;
        height:120px;
        border:3px dashed rgba(76,118,34,.25);
        animation:spinAnti 25s linear infinite;
    }
    
    @keyframes spinClock{
        from{
            transform:rotate(0deg);
        }
        to{
            transform:rotate(360deg);
        }
    }
    
    @keyframes spinAnti{
        from{
            transform:rotate(360deg);
        }
        to{
            transform:rotate(0deg);
        }
    }

    
    .bg-soft-custom {
      background: rgba(43, 110, 79, 0.04);
      border-radius: 2.5rem;
    }

    .counter {
      font-size: 2.8rem;
      font-weight: 800;
       color: var(--accent-orange);
    }
    .btn-pulse {
      background: var(--primary-green);
      transition: 0.2s;
    }
    .btn-pulse:hover {
      background: var(--primary-dark);
      transform: scale(1.02);
    }


    /* ================= ACADEMICS ================= */
    
    .academic-hero{
        background:linear-gradient(
            115deg,
            rgba(33,170,59,.85),
            rgba(243,166,18,.95)
        );
        color:#fff;
        border-radius:0 0 40px 40px;
    }
    
    /* Tabs */
    .academic-tabs{
        gap:12px;
    }
    
    .academic-tabs .nav-link{
        border:none;
        border-radius:50px;
        padding:12px 28px;
        background:#fff;
        color:#444;
        font-weight:600;
        box-shadow:0 5px 20px rgba(0,0,0,.08);
        transition:.3s;
    }
    
    .academic-tabs .nav-link:hover{
        transform:translateY(-3px);
    }
    
    .academic-tabs .nav-link.active{
        background:linear-gradient(
            135deg,
            var(--primary-green),
            #28a745
        );
        color:#fff !important;
    }
    
    /* Content Card */
    .academic-card{
        background:#fff;
        border-radius:25px;
        padding:40px;
        box-shadow:0 10px 35px rgba(0,0,0,.08);
        border-top:5px solid var(--primary-green);
        overflow:hidden;
    }
    
    /* Heading */
    .academic-card h3{
        color:var(--primary-green);
        font-weight:700;
        margin-bottom:20px;
        position:relative;
        padding-bottom:10px;
    }
    
    /*.academic-card h3::after{*/
    /*    content:"";*/
    /*    width:70px;*/
    /*    height:4px;*/
    /*    background:#f3a612;*/
    /*    position:absolute;*/
    /*    left:0;*/
    /*    bottom:0;*/
    /*    border-radius:20px;*/
    /*}*/
    
    /* Table */
    .academic-card .table{
        margin-top:20px;
        border-radius:15px;
        overflow:hidden;
    }
    
    .academic-card .table thead{
        background:var(--primary-green);
        color:#fff;
    }
    
    .academic-card .table th{
        border:none;
    }
    
    .academic-card .table td{
        vertical-align:middle;
    }
    
    /* Feature Box */
    .feature-box{
        background:#f8f9fa;
        /*border-left:5px solid var(--primary-green);*/
        padding:20px;
        border-radius:15px;
        margin-top:25px;
    }
    
    /* Activity list */
    .academic-card ul{
        list-style:none;
        padding-left:0;
    }
    
    .academic-card ul li{
        background:#f8f9fa;
        margin-bottom:12px;
        padding:12px 15px;
        border-radius:12px;
        transition:.3s;
    }
    
    .academic-card ul li:hover{
        background:#eaf8ee;
        transform:translateX(5px);
    }
    
    .academic-card ul li::before{
        content:"✓";
        color:var(--primary-green);
        font-weight:bold;
        margin-right:10px;
    }
    
    /* Timings */
    .academic-timing{
        display:inline-block;
        background:#fff8e8;
        color:#b77a00;
        padding:12px 20px;
        border-radius:50px;
        font-weight:600;
        margin-top:20px;
    }
    
    /* Animation */
    .tab-pane{
        animation:fadeIn .4s ease;
    }
    
    @keyframes fadeIn{
        from{
            opacity:0;
            transform:translateY(15px);
        }
        to{
            opacity:1;
            transform:translateY(0);
        }
    }
    
    /*  Activity Club */
    .program-badge{
        display:inline-block;
        background:#eaf8ee;
        color:var(--primary-green);
        padding:8px 18px;
        border-radius:50px;
        font-weight:600;
        margin-bottom:15px;
    }
    
    .program-box{
        background:#fff;
        border-radius:20px;
        padding:30px;
        text-align:center;
        height:100%;
        border:1px solid #eee;
        transition:.3s;
    }
    
    .program-box:hover{
        transform:translateY(-8px);
        box-shadow:0 15px 35px rgba(0,0,0,.08);
    }
    
    .program-icon{
        font-size:45px;
        margin-bottom:15px;
    }
    
    .program-box h5{
        color:var(--primary-green);
        font-weight:700;
        margin-bottom:15px;
    }
    
    .facility-card{
        background:#f8f9fa;
        border-radius:15px;
        padding:18px;
        text-align:center;
        font-weight:600;
        transition:.3s;
    }
    
    .facility-card:hover{
        background:#eaf8ee;
        transform:translateY(-3px);
    }
    
    .timing-badge{
        background:linear-gradient(
            135deg,
            var(--primary-green),
            #2dbd55
        );
        color:#fff;
        padding:20px 25px;
        border-radius:20px;
        min-width:220px;
        box-shadow:0 10px 25px rgba(33,170,59,.25);
    }
    
    .program-header .lead{
        max-width:750px;
        margin:auto;
        color:#666;
    }
    
    /* football tab */
    .football-banner{
        height:260px;
        border-radius:25px;
        overflow:hidden;
        background:
            linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
            url('assets/images/football-academy.jpg') center/cover;
    }
    
    .football-overlay{
        height:100%;
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        color:#fff;
        text-align:center;
    }
    
    .football-overlay h2{
        font-weight:700;
        margin-bottom:10px;
    }
    
    .football-overlay p{
        font-size:1.1rem;
    }
    
    
    .academy-values{
        margin-top:50px;
    }
    
    .value-box{
        background:#f8f9fa;
        border-radius:20px;
        padding:25px 15px;
        text-align:center;
        transition:.3s;
        height:100%;
    }
    
    .value-box:hover{
        background:#eaf8ee;
        transform:translateY(-5px);
    }
    
    .value-box span{
        display:block;
        font-size:42px;
        margin-bottom:10px;
    }
    
    .value-box h6{
        font-weight:700;
        color:var(--primary-green);
        margin:0;
    }
        
    
    /* ======================= FACULTY PAGE ================= */

    .faculty-hero{
        background:linear-gradient(
            135deg,
            rgba(33,170,59,.9),
            rgba(243,166,18,.95)
        );
        color:#fff;
        padding:80px 0;
        border-radius:0 0 40px 40px;
        margin-bottom:60px;
    }
    
    .faculty-stat{
        background:rgba(255,255,255,.15);
        backdrop-filter:blur(10px);
        border-radius:20px;
        padding:25px;
    }
    
    .faculty-stat h2{
        font-weight:700;
        margin-bottom:5px;
    }
    
    .faculty-card{
        background:#fff;
        border-radius:25px;
        overflow:hidden;
        box-shadow:0 10px 30px rgba(0,0,0,.08);
        transition:.35s;
        text-align:center;
        position:relative;
        height:100%;
    }
    
    .faculty-card:hover{
        transform:translateY(-10px);
        box-shadow:0 20px 45px rgba(0,0,0,.15);
    }
    
    .faculty-image{
        background:linear-gradient(
            135deg,
            var(--primary-green),
            #f3a612
        );
        padding:35px 0;
    }
    
    .faculty-image img{
        width:110px;
        height:110px;
        object-fit:cover;
        border-radius:50%;
        border:5px solid #fff;
    }
    
    .faculty-content{
        padding:25px;
    }
    
    .faculty-content h5{
        font-weight:700;
        margin-bottom:10px;
    }
    
    .faculty-degree{
        color:#666;
        min-height:45px;
    }
    
    .faculty-exp{
        display:inline-block;
        margin-top:15px;
        padding:8px 18px;
        background:#eaf8ee;
        color:var(--primary-green);
        border-radius:50px;
        font-weight:600;
    }
        
    .faculty-founder{
        display:inline-block;
        background:linear-gradient(
            135deg,
            #f3a612,
            #ffcc4d
        );
        color:#fff;
        padding:8px 18px;
        border-radius:50px;
        font-weight:700;
    }
    
    /* ====================== Gallery ======================= */
    .gallery-item img{
        width:100%;
        height:260px;
        object-fit:cover;
        border-radius:15px;
        transition:.4s;
    }
    
    .gallery-item{
        overflow:hidden;
    }
    
    .gallery-item img:hover{
        transform:scale(1.05);
    }
    
    .gallery-item p{
        font-weight:600;
        text-align:center;
        margin-top:10px;
    }
    
    .gallery-modal-body{
        text-align:center;
        overflow:auto;
        max-height:80vh;
    }
    
    #galleryImage{
        max-width:100%;
        height:auto;
        object-fit:contain;
    }
    
    .gallery-item img {
        width: 100%;
        height: 250px;
        object-fit: cover;
        transition: transform 0.3s ease, opacity 0.2s;
        cursor: pointer;
    }
    .gallery-item img:hover {
        transform: scale(1.02);
        opacity: 0.9;
    }
    .gallery-modal-body {
        overflow: auto;
        text-align: center;
        padding: 0;
        min-height: 300px;
    }
    .gallery-modal-body img {
        display: block;
        max-width: none;
        width: auto;
        height: auto;
        margin: 0 auto;
    }
    
    #modalSpinner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        text-align: center;
    }
    .modal-body {
        position: relative;
        min-height: 400px;
    }
    .filter-btn.active {
        background-color: #0d6efd;
        color: white;
    }
    

    /* ================ CONTACT ==================== */
    .contact-hero{
        background:linear-gradient(
            135deg,
            rgba(33,170,59,.9),
            rgba(243,166,18,.95)
        );
        color:#fff;
        padding:80px 0;
        border-radius:0 0 40px 40px;
        margin-bottom:60px;
    }
    .glass-card {
        background: rgba(255,255,255,0.96);
        backdrop-filter: blur(2px);
        border-radius: 2rem;
        box-shadow: 0 25px 45px -12px rgba(0,0,0,0.2);
        border: 1px solid rgba(255,255,255,0.6);
        padding: 2rem;
        transition: transform 0.2s ease;
        height: 100%;
    }
    .glass-card:hover {
        transform: translateY(-5px);
    }
    .info-item {
        display: flex;
        align-items: center;
        gap: 1rem;
        margin-bottom: 1.5rem;
    }
    .info-icon {
        width: 48px;
        height: 48px;
        background: rgba(43,122,62,0.1);
        border-radius: 1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.4rem;
        color: var(--primary);
        transition: 0.2s;
    }
    .info-item:hover .info-icon {
        background: var(--primary);
        color: white;
        transform: scale(1.05);
    }
    .info-content h6 {
        margin: 0;
        font-weight: 600;
        color: #1e293b;
    }
    .info-content p {
        margin: 0;
        color: #475569;
    }
    .social-icons a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        background: #f1f5f9;
        border-radius: 50%;
        margin-right: 0.75rem;
        transition: all 0.2s;
        color: var(--primary);
        font-size: 1.2rem;
    }
    .social-icons a:hover {
        background: var(--primary);
        color: white;
        transform: translateY(-3px);
    }
    .contact-form .form-control, .contact-form .form-select {
        border-radius: 1rem;
        border: 1px solid #e2e8f0;
        padding: 0.75rem 1rem;
        transition: all 0.2s;
    }
    .contact-form .form-control:focus, .contact-form .form-select:focus {
        border-color: var(--primary);
        box-shadow: 0 0 0 3px var(--primary-glow);
    }
    .btn-premium {
        background: linear-gradient(100deg, var(--primary), var(--primary-dark));
        padding: 0.8rem 2rem;
        font-weight: 600;
        border-radius: 2rem;
        color: blue;
        transition: 0.2s;
        width: 100%;
    }
    .btn-premium:hover {
        transform: scale(1.02);
        background: linear-gradient(100deg, var(--primary-dark), var(--primary));
        box-shadow: 0 8px 16px rgba(0,0,0,0.1);
    }
    .map-container {
        border-radius: 1.5rem;
        overflow: hidden;
        margin-top: 1.5rem;
        box-shadow: 0 10px 20px -5px rgba(0,0,0,0.1);
    }
    .map-container iframe {
        width: 100%;
        height: 250px;
        border: 0;
        display: block;
    }

    /* ================ NOTICE ==================== */
    .notice-hero {
        background:linear-gradient(
            135deg,
            rgba(33,170,59,.9),
            rgba(243,166,18,.95)
        );
        color:#fff;
        padding:80px 0;
        border-radius:0 0 40px 40px;
        margin-bottom:60px;
        text-align: center;
    }
    .notice-hero h1, .notice-hero p { color: white; text-shadow: 0 1px 2px rgba(0,0,0,0.1); }
    .notice-card {
        background: white;
        border-radius: 1.5rem;
        overflow: hidden;
        box-shadow: 0 10px 20px -5px rgba(0,0,0,0.1);
        transition: transform 0.2s;
        height: 100%;
        display: flex;
        flex-direction: column;
    }
    .notice-card:hover { transform: translateY(-5px); }
    .notice-img {
        width: 100%;
        height: 200px;
        object-fit: cover;
        cursor: pointer;
    }
    .notice-pdf-icon {
        background: #f8f9fa;
        text-align: center;
        padding: 2rem;
        cursor: pointer;
    }
    .notice-pdf-icon i { font-size: 4rem; color: #dc3545; }
    .notice-body { padding: 1.5rem; flex: 1; }
    .notice-title { font-size: 1.25rem; font-weight: 700; color: var(--primary-dark); margin-bottom: 0.5rem; }
    .notice-subtitle { font-size: 0.9rem; color: #6c757d; margin-bottom: 1rem; }
    .notice-text { color: #334155; margin-bottom: 1rem; line-height: 1.5; }
    .notice-date {
        font-size: 0.8rem;
        color: #94a3b8;
        margin-bottom: 1rem;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        flex-wrap: wrap;
    }
    .btn-icon {
        background: #f1f5f9;
        border-radius: 2rem;
        padding: 0.3rem 1rem;
        font-size: 0.8rem;
        color: var(--primary);
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        transition: 0.2s;
        border: none;
        margin-right: 0.5rem;
    }
    .btn-icon:hover {
        background: var(--primary);
        color: white;
    }
    .pagination .page-link {
        border-radius: 2rem;
        margin: 0 0.2rem;
        color: var(--primary);
    }
    .pagination .active .page-link {
        background: var(--primary);
        border-color: var(--primary);
        color: white;
    }
    .image-modal-img {
        max-width: 100%;
        max-height: 80vh;
        display: block;
        margin: 0 auto;
    }
    


    @media (max-width: 992px) {
      .carousel-item { height: 480px; }
      .carousel-caption h2 { font-size: 1.33rem; }
      .carousel-caption { bottom: 20%; padding: 1rem 1.5rem; }
    } 

    @media (max-width: 768px) {
        .navbar-logo {
            height: 55px;
        }
        .navbar-brand {
          font-weight: 700;
          font-size: 1rem;
        }
        
        .section-title{
            font-size: clamp(1.5rem, 3vw, 2rem);
            font-weight: 700;
            color: var(--primary-green);
            margin-bottom: .75rem;
        }
        
        .carousel-item { height: 380px; }
        .carousel-caption{
            width:90%;
            left:50%;
            transform:translateX(-50%);
            bottom:15%;
        }
        .carousel-caption h2 { font-size: 0.98rem; }
        .carousel-caption p { font-size: 0.85rem; }
    
        .explore-preschool-wrapper{
            flex-direction:column;
            justify-content:center;
            text-align:center;
        }
        
        .tutorial-icon-wrapper {
                width: 160px;
                height: 160px;
                margin-left: auto;
                margin-right: auto;
        }
        .tutorial-icon-wrapper i {
                font-size: 4.2rem;
        }
    
        .explore-kid{
            width:90px;
        }
    
        .explore-btn{
            width:100%;
            max-width:280px;
            text-align:center;
        }
        /* About */
        .glance-premium { padding: 1.5rem; }
        .glance-header h5 { font-size: 1.2rem; }
        .facility-chip { padding: 6px 12px; font-size: 0.85rem; }
        
        /* Gallery Card Rotation */
        .rotate-left,
        .rotate-right{
            transform:none;
        }
     
        .glance-card:hover{
            transform:translateY(-6px);
        }
         .gallery-modal-body img {
            max-width: 100%;
            height: auto;
        }
        .gallery-modal-body {
            overflow-x: auto;
        }
        
        /*  contact */
        .glass-card { padding: 1.5rem; }
        .info-item { margin-bottom: 1rem; }
        .info-icon { width: 40px; height: 40px; font-size: 1.2rem; }
        
        /* Notice */
        .notice-img { height: 160px; }
        .notice-body { padding: 1rem; }
    }

    @media (max-width: 576px) {
        .carousel-item { height: 330px; }
        .carousel-caption { backdrop-filter: blur(5px); background: rgba(0, 0, 0, 0.6); }
        .carousel-caption h2 { font-size: 0.78rem; }
        .carousel-caption p { font-size: 0.55rem; }
        .stat-number,
        .counter{
            font-size:2rem;
        }
        .whatsapp-float, .scroll-top-float { width: 48px; height: 48px; }
        .whatsapp-float i { font-size: 28px; }
        .scroll-top-float i { font-size: 24px; }
        .scroll-top-float { bottom: 90px; right: 20px; }
        .whatsapp-float { right: 20px; }
    }