
.border-red-500 {
    border-color: rgb(239 68 68 / 1);
}
.text-red-800 {
    color: rgb(153 27 27 / 1);
}
.border-red-400 {
    border-color: rgb(248 113 113 / 1);
}
.bg-red-50 {
    background-color: rgb(254 242 242 / 1);
}
.text-pink-300 {
    color: rgb(249 168 212 / 1);
}
    body {
      font-family: 'Tiro Bangla', sans-serif;
    }


/* Optional: prevent any AOS transformed elements from breaking viewport */
[data-aos] {
  max-width: 100%;
  box-sizing: border-box;
}

    /* Typography */
    body {
      font-family: 'Noto Serif Bengali', serif;
      font-size: 1rem;
      color: #333;
    }

    h1,
    h2,
    h3,
    h4 {
      font-family: 'Noto Serif Bengali', serif;
    }

    /* Notice Marquee */
    @keyframes marquee {
      0% {
        transform: translateX(100%);
      }

      100% {
        transform: translateX(-100%);
      }
    }

    .animate-marquee {
      animation: marquee 100s linear infinite;
    }

    /* Nav Hover Animation */
    nav a {
      position: relative;
      transition: color 0.3s ease;
    }

    nav a::after {
      content: "";
      position: absolute;
      width: 0%;
      height: 2px;
      left: 0;
      bottom: -4px;
      background: #165d36;
      transition: width 0.3s ease;
    }

    nav a:hover::after {
      width: 100%;
    }

    /* Dropdown animation */
    .dropdown-menu {
      transform: translateY(-10px);
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
    }

    .group:hover .dropdown-menu {
      transform: translateY(0);
      opacity: 1;
      visibility: visible;
    }

    /* Mobile menu animation */
    #mobileMenu {
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      max-height: calc(100vh - 72px);
      max-height: calc(100dvh - 72px);
      transition: max-height 0.4s ease;
    }

    /* Prevent page-level horizontal scrolling from wide/transformed content.
       Applied to the root only so body never becomes a second scroller. */
    html {
      overflow-x: hidden;
    }
    @media (max-width: 1024px) {
        .mhide{
            display:none;
        }
        html, body {
          max-width: 100%;
        }
    }
    /* The full menu is ~770px wide, so show it only where it fits and keep
       the hamburger on tablets (same 1024px boundary as .mhide). */
    @media (max-width: 1023.98px) {
      .nav-desktop { display: none !important; }
      .nav-toggle { display: block !important; }
    }
    .top_btn{
        border-radius:3px;
    }
    .top_btn:hover{
        color:rgb(15 118 110 / var(--tw-bg-opacity, 1));
        background:#fff;
        cursor:pointer;
    }
     .head_nav {
        position: relative;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
      }
      .head_nav.sticky {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background: white;
        box-shadow: 0 8px 22px -12px rgba(15,23,42,.55);
        z-index: 999;
        animation: navDrop 0.32s ease;
      }
      /* Add .stop_sticky_nav on <body> to disable the pinned nav */
      body.stop_sticky_nav .head_nav.sticky {
        position: static;
        animation: none;
        box-shadow: none;
      }
      @keyframes navDrop {
        from { transform: translateY(-100%); }
        to   { transform: translateY(0); }
      }
      nav button{
        background: transparent;
      }
  