/* ===============
home page
============== */

 /* Animation Keyframes */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(30px); }
      to { opacity: 1; transform: translateY(0); }
    }
    
    /* Initial states for animation elements */
    .animate-on-scroll {
      opacity: 0;
      transform: translateY(30px);
      transition: opacity 0.8s ease-out, transform 0.8s ease-out;
      will-change: opacity, transform;
    }

    /* Animation classes applied via JS */
    .is-visible {
      animation: fadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }

    /* Staggered Delays */
    .delay-100 { animation-delay: 100ms; }
    .delay-200 { animation-delay: 200ms; }
    .delay-300 { animation-delay: 300ms; }
    .delay-400 { animation-delay: 400ms; }

    /* Hero Banner Background Simulation */
    .hero-bg {
      /* background: linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), 
                  url('https://images.unsplash.com/photo-1503676260728-1c00da094a0b?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80'); */
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
    }

    /* Custom shape for the dark right-side block matching the image exactly */
    .clip-slant {
      clip-path: polygon(8% 0, 100% 0, 100% 100%, 0% 100%);
    }

    @media (prefers-reduced-motion: reduce) {
      .animate-on-scroll {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
      }
    }






    
/* <!-- ========== Stiky SECTION ========== --> */
  /* Highly Realistic Twisted Rope Texture */
  .rope-texture {
    background-color: #b08d6a;
    background-image: repeating-linear-gradient(
      -45deg,
      rgba(0,0,0,0.4) 0px,
      rgba(0,0,0,0.4) 3px,
      transparent 3px,
      transparent 6px,
      rgba(255,255,255,0.15) 6px,
      rgba(255,255,255,0.15) 8px,
      transparent 8px,
      transparent 11px
    );
    box-shadow: 
      inset 2px 0 4px rgba(0,0,0,0.7), 
      inset -2px 0 4px rgba(255,255,255,0.2),
      2px 2px 5px rgba(0,0,0,0.5);
    border-radius: 2px;
  }

  /* Base Sticky Note Style */
  .sticky-note {
    transform-origin: top center;
    backface-visibility: hidden;
    background: transparent;
    margin-top: 20px;
  }

  /* Hover Effect */
  .note-wrapper:hover .sticky-note {
    transform: rotate(0deg) translateY(-10px) scale(1.05) !important;
    z-index: 50;
    animation-play-state: paused;
  }

  /* Natural Wind Sway Animation */
  @keyframes swayWind {
    0% { transform: rotate(var(--rot-base)) translateY(0); }
    50% { transform: rotate(calc(var(--rot-base) + 2.5deg)) translateY(5px); }
    100% { transform: rotate(var(--rot-base)) translateY(0); }
  }

  @keyframes ropeSway {
    0% { transform: rotate(-1.5deg); }
    50% { transform: rotate(1.5deg); }
    100% { transform: rotate(-1.5deg); }
  }

  /* Apply animations */
  .animate-note {
    animation: swayWind 5s ease-in-out infinite;
    animation-delay: var(--delay);
  }

  .animate-rope {
    animation: ropeSway 5s ease-in-out infinite;
    animation-delay: var(--delay);
  }

  .note-wrapper:hover .animate-rope {
    animation-play-state: paused;
  }

  /* Mobile adjustments */
  @media (max-width: 768px) {
    .animate-note, .animate-rope {
      animation: none; 
    }
    .sticky-note {
      transform: rotate(0) !important;
      margin-top: 0 !important;
      height: 14rem !important; 
    }
    .note-wrapper:hover .sticky-note {
      transform: translateY(-5px) scale(1.02) !important;
    }
    /* Hide rope on mobile */
    .note-wrapper > div:first-child {
      display: none !important;
    }
    /* Hide eyelet on mobile */
    .sticky-note > div:first-child {
      display: none !important;
    }
  }
  
  /* Realistic Classroom Wall Background */
.wall-bg {
    background-color: #f3f4f6;
    /* background-image: url('images/wall.png'); */
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.05);
}

  /* Realistic Chalk Text Shadow */
  .chalk-text {
    text-shadow: 
      0px 0px 2px rgba(255,255,255,0.4),
      0px 0px 8px rgba(255,255,255,0.1);
  }
  .chalk-font {
    font-family: 'Caveat', cursive;
  }
  
  /* Chalk Dust Noise Pattern */
  .chalk-dust {
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    opacity: 0.15;
    mix-blend-mode: overlay;
    pointer-events: none;
  }

  /* Realistic Wood Frame Pattern with Heavy Drop Shadow */
  .wood-frame {
    background-color: #4a2c16;
    background-image: 
      repeating-linear-gradient(
        45deg,
        rgba(0, 0, 0, 0.39) 0px,
        rgba(0, 0, 0, 0.47) 2px,
        transparent 2px,
        transparent 8px
      ),
      linear-gradient(
        to right,
        #2c170b 0%,
        #4a2c16 5%,
        #6b3e1b 50%,
        #4a2c16 95%,
        #2c170b 100%
      );
    box-shadow: 
      inset 0 0 15px rgba(0,0,0,0.9),
      0 25px 50px -12px rgba(0, 0, 0, 0.73),
      0 10px 20px -5px rgba(0, 0, 0, 0.65);
  }

  /* Deep Inner Shadow for Board */
  .board-depth {
    box-shadow: inset 0 0 50px rgb(0, 0, 0), inset 0 0 15px rgba(0,0,0,1);
  }








  
/* <!-- ========== STYLES FOR ANIMATION ========== --> */
  /* 3D Flip/Fall Animation for Numbers */
  @keyframes pageFlip {
    0% { transform: rotateX(90deg); opacity: 0; }
    100% { transform: rotateX(0deg); opacity: 1; }
  }
  .animate-flip {
    animation: pageFlip 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
    display: inline-block;
    transform-origin: top center;
  }

/* ===============
admission
============== */






  /* <!-- CSS is used ONLY for animation keyframes and initial states, as requested --> */
    /* Animation Keyframes */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    
    /* Initial states for animation elements */
    .animate-on-scroll {
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.6s ease-out, transform 0.6s ease-out;
      will-change: opacity, transform;
    }

    /* Animation classes applied via JS */
    .is-visible {
      animation: fadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }

    /* Staggered Delays */
    .delay-100 { animation-delay: 100ms; }
    .delay-200 { animation-delay: 200ms; }
    .delay-300 { animation-delay: 300ms; }

    @media (prefers-reduced-motion: reduce) {
      .animate-on-scroll {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
      }
    }






/* ===============
annexure
============== */










/* ===============
annual report
============== */











/* ===============
career 
============== */











/* ===============
certificates
============== */











/* ===============
contact
============== */











/* ===============
events
============== */











/* ===============
founder-msg
============== */












/* ===============
gallery
============== */











/* ===============
learning
============== */










/* ===============
make a donation
============== */












/* ===============
mpd-2
============== */











/* ===============
privacy policy
============== */












/* ===============
school policies
============== */











/* ===============
school
============== */












/* ===============
search foundation
============== */











/* ===============
terms and conditions
============== */








