
.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;
      }
  

body {
  background: oklch(98.5% .002 247.839);
}
/* ===== Mission & Vision Section ===== */
.mission-section {
  max-width: 1000px;
  margin: 60px auto;
  padding: 20px;
}

.mission-container {
  display: grid;
  gap: 25px;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
}

/* Card Design */
.mission-card {
  background: #ffffff;
  padding: 25px;
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.mission-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

.card-title {
  display: flex;
  align-items: center;
  font-size: 20px;
  font-weight: 700;
  color: #165d36;
  margin-bottom: 15px;
}

.card-title .dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 10px;
}

.mission-card p {
  font-size: 15.5px;
  line-height: 1.7;
  color: #1f2937;
}

/* Responsive */
@media (max-width: 768px) {
  .mission-card {
    padding: 20px;
  }
  .card-title {
    font-size: 18px;
  }
  .mission-card p {
    font-size: 15px;
  }
}


.site-footer{
  --ft-panel:#122036;--ft-line:rgba(255,255,255,.10);
  --ft-text:#a9b8c9;--ft-head:#ffffff;--ft-teal:#2dd4bf;
  position:relative;
  background:linear-gradient(180deg,#0b1a2b 0%,#0a1420 100%);
  color:var(--ft-text);
  font-family:'Noto Serif Bengali',serif;
}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#165d36,#2dd4bf);}
.site-footer *{box-sizing:border-box;}
.ft-container{width:100%;max-width:1120px;margin-inline:auto;padding-inline:22px;}

/* Logo | links | contact | Facebook (small box), spaced across the row */
.ft-main{display:grid;grid-template-columns:minmax(0,345px) minmax(0,160px) minmax(0,190px) minmax(0,235px);justify-content:space-between;gap:34px;align-items:start;padding:58px 0 44px;}
@media (max-width:980px){
  .ft-main{grid-template-columns:1fr 1fr;justify-content:start;gap:34px;padding:46px 0 36px;}
  .ft-fb-col{grid-column:1 / -1;}
}
@media (max-width:560px){
  .ft-main{grid-template-columns:1fr;gap:30px;padding:40px 0 30px;}
  .ft-fb-col{grid-column:auto;}
}

.ft-brand .ft-logo{height:72px;width:auto;margin-bottom:16px;display:block;}
.ft-about{line-height:1.9;font-size:.9rem;color:var(--ft-text);margin:0;}

.ft-title{font-size:1rem;font-weight:700;color:var(--ft-head);margin:0 0 20px;position:relative;padding-bottom:12px;}
.ft-title::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--ft-teal),#165d36);}

.ft-links{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.ft-links a{color:var(--ft-text);text-decoration:none;font-size:.94rem;transition:color .18s,padding-left .18s;}
.ft-links a:hover{color:var(--ft-teal);padding-left:5px;}
.ft-contact{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.ft-contact li{display:flex;gap:10px;align-items:flex-start;line-height:1.6;font-size:.9rem;}
.ft-contact svg{width:18px;height:18px;flex:0 0 auto;margin-top:2px;color:var(--ft-teal);}
.ft-contact a{color:var(--ft-text);text-decoration:none;word-break:break-word;transition:color .18s;}
.ft-contact a:hover{color:var(--ft-teal);}

.ft-fb{border:1px solid var(--ft-line);border-radius:14px;overflow:hidden;background:var(--ft-panel);}
.fb-frame-wrapper{position:relative;height:210px;overflow:hidden;}
.fb-frame-wrapper > *{position:absolute;inset:0;width:100%;height:100%;border:0;}
.fb-placeholder{display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.9rem;}
@media (max-width:560px){.fb-frame-wrapper{height:200px;}}

.ft-bottom{border-top:1px solid var(--ft-line);padding:24px 0;}
.ft-bottom__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.ft-bottom p{margin:0;font-size:.88rem;color:var(--ft-text);}
.ft-bottom__links{display:flex;gap:24px;flex-wrap:wrap;}
.ft-bottom__links a{color:var(--ft-text);text-decoration:none;font-size:.88rem;transition:.18s;}
.ft-bottom__links a:hover{color:var(--ft-teal);}
@media (max-width:560px){.ft-bottom__inner{flex-direction:column;align-items:flex-start;}}
