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

/* ===== Branch landing page (scoped) ===== */
.br-page{
  --br-ink:#0f172a;--br-muted:#475569;--br-teal:#165d36;--br-teal-2:#167b43;--br-teal-3:#239653;
  --br-line:#e2e8f0;--br-bg:#f1f5f9;
  color:var(--br-ink);background:var(--br-bg);
}
.br-page *{box-sizing:border-box;}
.br-container{width:100%;max-width:1080px;margin-inline:auto;padding-inline:18px;}

/* Hero (kept for pages that include it) */
.br-hero{
  position:relative;overflow:hidden;padding:56px 0 46px;
  background:
    radial-gradient(900px 320px at 12% -10%,rgba(35,150,83,.16),transparent 60%),
    radial-gradient(720px 300px at 92% 0%,rgba(22,123,67,.12),transparent 60%),
    linear-gradient(180deg,#f4f9f1 0%,#ffffff 100%);
  border-bottom:1px solid var(--br-line);
}
.br-hero__inner{max-width:820px;margin-inline:auto;text-align:center;}
.br-chip{display:inline-block;padding:7px 16px;border-radius:999px;background:#edf5dd;color:#165d36;font-weight:600;font-size:.85rem;letter-spacing:.02em;margin-bottom:16px;}
.br-hero h1{font-size:clamp(1.8rem,4.6vw,2.6rem);font-weight:800;line-height:1.25;color:#165d36;margin:0 0 12px;}
.br-hero p{color:var(--br-muted);font-size:clamp(1rem,2.2vw,1.1rem);line-height:1.8;margin:0 auto;max-width:640px;}

/* Body */
.br-body{padding:34px 0 72px;}
.br-layout{display:grid;gap:22px;grid-template-columns:1fr;}
@media (min-width:900px){.br-layout{grid-template-columns:1fr 1.15fr;align-items:stretch;}}
.br-block{margin-top:40px;}

/* Section title */
.br-sec-title{display:flex;align-items:center;gap:12px;font-size:1.35rem;font-weight:800;color:#0f172a;margin:0 0 20px;}
.br-sec-title::before{content:"";width:6px;height:26px;border-radius:4px;background:linear-gradient(180deg,var(--br-teal),var(--br-teal-3));}

/* Slider */
.br-slider{margin-bottom:6px;}
.br-slider .swiper{width:100%;height:420px;border-radius:16px;overflow:hidden;box-shadow:0 24px 55px -40px rgba(15,23,42,.9);}
.br-slider .swiper-slide{position:relative;overflow:hidden;}
.br-slider .swiper-slide img{width:100%;height:100%;object-fit:cover;display:block;border-radius:16px;}
.br-slider .swiper-button-prev,.br-slider .swiper-button-next{width:44px;height:44px;border-radius:999px;background:rgba(15,23,42,.5);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;opacity:0;transition:.25s;backdrop-filter:blur(4px);}
.br-slider:hover .swiper-button-prev,.br-slider:hover .swiper-button-next{opacity:1;}
.br-slider .swiper-button-prev:hover,.br-slider .swiper-button-next:hover{background:var(--br-teal-3);}
.br-slider .swiper-button-prev::after,.br-slider .swiper-button-next::after{display:none;}
.br-slider .swiper-button-prev{left:14px;}
.br-slider .swiper-button-next{right:14px;}
.br-slider .swiper-pagination-bullet{background:rgba(255,255,255,.65);opacity:1;width:8px;height:8px;box-shadow:0 0 0 1.5px rgba(15,23,42,.4);}
.br-slider .swiper-pagination-bullet-active{background:var(--br-teal-3);width:22px;border-radius:10px;box-shadow:0 0 0 2px rgba(255,255,255,.9);}
@media (max-width:768px){.br-slider .swiper{height:280px;}}
@media (max-width:480px){.br-slider .swiper{height:200px;}}

/* Info card */
.br-card{background:#fff;border:1px solid var(--br-line);border-radius:16px;padding:24px;box-shadow:0 18px 44px -38px rgba(15,23,42,.65);}
.br-card h2{font-size:1.15rem;font-weight:700;margin:0 0 18px;color:#0f172a;}
.br-list{list-style:none;margin:0;padding:0;display:grid;gap:16px;}
.br-list li{display:flex;gap:13px;align-items:flex-start;}
.br-ic{flex:0 0 auto;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#f4f9f1;color:var(--br-teal);}
.br-ic svg{width:20px;height:20px;}
.br-list .br-label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-weight:700;margin-bottom:2px;}
.br-list .br-value{color:#334155;line-height:1.6;word-break:break-word;}
.br-list a.br-value{color:var(--br-teal);text-decoration:none;font-weight:600;}
.br-list a.br-value:hover{text-decoration:underline;}
.br-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;}
.br-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:11px;font-weight:600;font-size:.98rem;line-height:1;border:1.5px solid transparent;text-decoration:none;transition:.18s;}
.br-btn svg{width:18px;height:18px;}
.br-btn--primary{background:var(--br-teal);color:#fff;box-shadow:0 14px 28px -16px rgba(15,118,110,1);}
.br-btn--primary:hover{background:#10472b;transform:translateY(-2px);}
.br-btn--ghost{background:#fff;color:var(--br-teal);border-color:#99f6e4;}
.br-btn--ghost:hover{background:#f4f9f1;transform:translateY(-2px);}

/* Map */
.br-map{background:#fff;border:1px solid var(--br-line);border-radius:16px;padding:12px;box-shadow:0 18px 44px -38px rgba(15,23,42,.65);}
.br-map iframe{display:block;width:100%;height:100%;min-height:360px;border:0;border-radius:10px;}

/* Classes — cards, 3 per row */
.br-classes__grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:900px){.br-classes__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.br-classes__grid{grid-template-columns:minmax(0,1fr);}}
.br-class-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--br-line);border-left:4px solid var(--br-teal-2);border-radius:14px;padding:16px 18px;box-shadow:0 16px 34px -30px rgba(15,23,42,.6);transition:transform .2s,box-shadow .2s,border-color .2s;}
.br-class-card:hover{transform:translateY(-3px);border-color:#99f6e4;box-shadow:0 26px 46px -38px rgba(15,118,110,.9);}
.br-class-name{flex:1 1 auto;min-width:0;font-weight:700;color:#0f172a;line-height:1.45;}
.br-class-age{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;background:#f4f9f1;color:var(--br-teal);font-weight:700;font-size:.82rem;padding:5px 12px;border-radius:999px;}
.br-class-age svg{width:14px;height:14px;}

/* Gallery — auto-width masonry (columns) */
.br-gallery__grid{column-count:3;column-gap:16px;}
@media (max-width:900px){.br-gallery__grid{column-count:2;}}
@media (max-width:560px){.br-gallery__grid{column-count:1;}}
.br-gallery__item{display:block;position:relative;break-inside:avoid;margin:0 0 16px;border-radius:16px;overflow:hidden;background:#e2e8f0;box-shadow:0 22px 46px -38px rgba(15,23,42,.85);}
.br-gallery__item img{width:100%;height:auto;max-height:460px;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.22,1,.36,1);}
.br-gallery__item::after{content:"";position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .3s;background:linear-gradient(to top,rgba(15,23,42,.65),rgba(15,23,42,0) 60%);}
.br-gallery__icon{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .3s;}
.br-gallery__icon > span{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:999px;background:rgba(15,118,110,.92);box-shadow:0 12px 26px -12px rgba(0,0,0,.7);}
.br-gallery__icon svg{width:24px;height:24px;}
.br-gallery__item:hover img,.br-gallery__item:focus-visible img{transform:scale(1.07);}
.br-gallery__item:hover::after,.br-gallery__item:hover .br-gallery__icon,
.br-gallery__item:focus-visible::after,.br-gallery__item:focus-visible .br-gallery__icon{opacity:1;}

/* Lightbox */
.br-lightbox{position:fixed;inset:0;background:rgba(15,23,42,.92);display:none;align-items:center;justify-content:center;z-index:9999;padding:24px;}
.br-lightbox.open{display:flex;}
.br-lightbox img{max-width:92%;max-height:88%;border-radius:12px;box-shadow:0 30px 70px -30px rgba(0,0,0,.9);}
.br-lightbox__close{position:absolute;top:18px;right:22px;width:44px;height:44px;border-radius:999px;border:none;background:rgba(255,255,255,.16);color:#fff;font-size:26px;line-height:1;cursor:pointer;}
.br-lightbox__close:hover{background:var(--br-teal-2);}

/* Branch switcher */
.br-switch{margin-top:40px;}
.br-switch-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));}
.br-switch-card{display:block;background:#fff;border:1.5px solid var(--br-line);border-radius:14px;padding:18px;text-decoration:none;transition:.18s;}
.br-switch-card:hover{border-color:var(--br-teal-3);box-shadow:0 16px 34px -26px rgba(15,23,42,.7);transform:translateY(-2px);}
.br-switch-card.is-active{border-color:var(--br-teal);background:#f4f9f1;}
.br-switch-name{display:block;font-weight:700;color:#0f172a;margin-bottom:4px;}
.br-switch-addr{display:block;font-size:.88rem;color:var(--br-muted);line-height:1.55;}

@media (max-width:560px){
  .br-hero{padding:42px 0 38px;}
  .br-body{padding:24px 0 56px;}
  .br-card{padding:20px;}
  .br-actions .br-btn{width:100%;}
}


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