/* ══════════  HERO  ══════════ */
.hero-outer { background:#fff; padding:24px 32px 0; }
.hero-card { position:relative; border-radius:24px; overflow:hidden; height:90vh; min-height:500px; max-height:780px; }
.hero-card img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(1,60,28,.45) 0%,rgba(1,77,36,.62) 40%,rgba(1,50,24,.80) 100%); }
.hero-center { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:0 24px; }
.hero-pill { display:inline-flex; align-items:center; gap:8px; background:rgba(243,27,29,.18); border:1px solid rgba(243,27,29,.5); border-radius:100px; padding:7px 20px; margin-bottom:24px; }
.hero-pill .dot { width:7px; height:7px; background:var(--red); border-radius:50%; animation:pulse 1.8s ease-in-out infinite; }
.hero-pill span { font-size:12px; font-weight:700; color:rgba(255,255,255,.9); letter-spacing:.1em; text-transform:uppercase; }
.hero-title { font-size:clamp(38px,6.5vw,82px); font-weight:900; color:#fff; line-height:1.05; text-shadow:0 4px 32px rgba(0,0,0,.35); margin-bottom:8px; }
.hero-title .comma { color:var(--red); }
.hero-bangla { font-family:'Abusayed',serif; font-size:clamp(18px,2.6vw,30px); color:rgba(255,255,255,.78); margin-bottom:38px; }
.hero-btn { display:inline-flex; align-items:center; gap:10px; background:var(--red); color:#fff; padding:17px 44px; border-radius:6px; font-size:15px; font-weight:800; text-decoration:none; letter-spacing:.07em; text-transform:uppercase; border:2px solid var(--red); transition:all .3s; box-shadow:0 10px 32px rgba(243,27,29,.45); }
.hero-btn:hover { background:transparent; color:#fff; transform:translateY(-3px); }
.hero-btn svg { transition:transform .3s; }
.hero-btn:hover svg { transform:translateX(5px); }

/* ══════════  MISSION  ══════════ */
.mission-sec { background:#fff; padding:56px 40px 36px; text-align:center; }
.mission-quote { font-size:clamp(20px,3vw,34px); font-weight:700; color:var(--green); line-height:1.45; max-width:820px; margin:0 auto 36px; }
.mission-quote .qm { color:var(--red); font-size:1.3em; line-height:0; vertical-align:-0.15em; }
.quick-btns { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.qb { display:inline-flex; align-items:center; gap:9px; padding:13px 26px; border-radius:6px; font-size:14px; font-weight:600; text-decoration:none; letter-spacing:.03em; border:2px solid; transition:all .25s; cursor:pointer; }
.qb-green { background:var(--green); color:#fff; border-color:var(--green); box-shadow:0 4px 16px rgba(2,108,51,.2); }
.qb-green:hover { background:var(--green-dk); transform:translateY(-2px); }
.qb-red-out { background:transparent; color:var(--red); border-color:var(--red); }
.qb-red-out:hover { background:var(--red); color:#fff; transform:translateY(-2px); }
.qb-green-out { background:transparent; color:var(--green); border-color:var(--green); }
.qb-green-out:hover { background:var(--green); color:#fff; transform:translateY(-2px); }

/* ══════════  EVENTS SLIDER  ══════════ */
.events-sec { background:var(--off); padding:80px 40px; }
.sec-head { display:flex; align-items:flex-end; justify-content:space-between; max-width:1200px; margin:0 auto 44px; }
.sec-label { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--red); display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.sec-label::before { content:''; width:26px; height:2.5px; background:var(--red); border-radius:2px; display:block; }
.sec-title { font-size:clamp(26px,3.5vw,40px); font-weight:900; color:var(--green-dk); line-height:1.15; }
.arr-grp { display:flex; gap:10px; }
.arr { width:44px; height:44px; border-radius:50%; border:2px solid var(--green); background:transparent; color:var(--green); font-size:18px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .25s; user-select:none; }
.arr:hover { background:var(--green); color:#fff; }
.slider-outer { max-width:1200px; margin:0 auto; overflow:hidden; }
.slider-track { display:flex; gap:24px; transition:transform .45s cubic-bezier(.4,0,.2,1); cursor:grab; }
.slider-track.dragging { cursor:grabbing; transition:none; }
.ev-card { flex:0 0 calc(33.333% - 16px); background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 2px 18px rgba(0,0,0,.07); transition:all .3s; border:1px solid rgba(0,0,0,.05); user-select:none; }
.ev-card:hover { transform:translateY(-6px); box-shadow:0 16px 48px rgba(2,108,51,.13); }
.ev-thumb-wrap { position:relative; }
.ev-thumb { width:100%; height:190px; object-fit:cover; display:block; }
.ev-cat { position:absolute; top:12px; left:12px; background:var(--red); color:#fff; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:5px 12px; border-radius:100px; }
.ev-body { padding:22px; }
.ev-date { font-size:12px; color:var(--green); font-weight:600; letter-spacing:.04em; text-transform:uppercase; margin-bottom:9px; }
.ev-hl { font-family:'Abusayed',serif; font-size:21px; color:var(--green-dk); line-height:1.45; margin-bottom:9px; }
.ev-ex { font-size:13.5px; color:#666; line-height:1.65; margin-bottom:16px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.ev-link { display:inline-flex; align-items:center; gap:6px; color:var(--red); font-size:12px; font-weight:700; text-decoration:none; letter-spacing:.06em; text-transform:uppercase; transition:gap .2s; }
.ev-link:hover { gap:10px; }
.slider-dots { display:flex; justify-content:center; gap:8px; margin-top:28px; }
.dot-item { width:8px; height:8px; border-radius:50%; background:rgba(2,108,51,.2); border:none; cursor:pointer; transition:all .3s; padding:0; }
.dot-item.active { background:var(--green); width:24px; border-radius:4px; }

/* ══════════  PROGRAMS  ══════════ */
.programs-sec { background:#fff; padding:88px 40px; }
.programs-inner { max-width:1200px; margin:0 auto; }
.prog-header { text-align:center; margin-bottom:56px; }
.prog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.prog-card { background:var(--off); border-radius:20px; padding:36px 28px; border:1px solid rgba(2,108,51,.1); transition:all .3s; position:relative; overflow:hidden; }
.prog-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--green); transform:scaleX(0); transform-origin:left; transition:transform .3s; }
.prog-card:hover { transform:translateY(-5px); box-shadow:0 16px 48px rgba(2,108,51,.12); background:#fff; }
.prog-card:hover::before { transform:scaleX(1); }
.prog-icon { width:56px; height:56px; border-radius:14px; background:rgba(2,108,51,.1); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.prog-title { font-size:17px; font-weight:700; color:var(--green-dk); margin-bottom:10px; line-height:1.3; }
.prog-desc { font-size:14px; color:#666; line-height:1.7; margin-bottom:18px; }
.prog-link { font-size:13px; font-weight:700; color:var(--green); text-decoration:none; letter-spacing:.05em; text-transform:uppercase; display:inline-flex; align-items:center; gap:5px; transition:gap .2s; }
.prog-link:hover { gap:9px; }

/* ══════════  MISSION VISION  ══════════ */
.mv-sec { background:#fff; padding:88px 40px; }
.mv-inner { max-width:1200px; margin:0 auto; }
.mv-header { text-align:center; margin-bottom:56px; }
.mv-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px; }
.mv-card { background:var(--green); border-radius:20px; padding:44px; position:relative; overflow:hidden; transition:all .3s; }
.mv-card:hover { transform:translateY(-5px); box-shadow:0 20px 60px rgba(2,108,51,.25); }
.mv-badge { display:inline-block; background:var(--red); color:#fff; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:6px 16px; border-radius:100px; margin-bottom:18px; }
.mv-card-title { font-size:clamp(20px,2.2vw,26px); font-weight:900; color:#fff; margin-bottom:14px; line-height:1.3; }
.mv-card-text { color:rgba(255,255,255,.72); font-size:15px; line-height:1.75; }
.mv-icon { display:block; margin-bottom:16px; }
.values-row { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; padding:28px 0 0; }
.vpill { background:var(--off); border:1.5px solid rgba(2,108,51,.2); color:var(--green-dk); padding:10px 22px; border-radius:100px; font-size:13px; font-weight:600; transition:all .25s; cursor:default; }
.vpill:hover { background:var(--green); border-color:var(--green); color:#fff; transform:translateY(-2px); }

/* ══════════  ABOUT  ══════════ */
.about-sec { background:var(--off); padding:88px 40px; }
.about-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.about-img-wrap { position:relative; }
.about-img { width:100%; height:450px; object-fit:cover; border-radius:20px; display:block; box-shadow:0 20px 60px rgba(0,0,0,.12); }
.about-badge { position:absolute; top:28px; right:-20px; background:var(--green); color:#fff; padding:18px 20px; border-radius:14px; text-align:center; box-shadow:0 8px 28px rgba(2,108,51,.35); font-size:12px; font-weight:600; }
.about-badge .big { font-size:34px; font-weight:900; display:block; line-height:1; margin-bottom:3px; }
.about-text { font-size:16px; line-height:1.8; color:#555; margin-bottom:18px; }
.cities { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 28px; }
.city { background:#fff; color:var(--green-dk); padding:6px 14px; border-radius:100px; font-size:13px; font-weight:600; border:1px solid rgba(2,108,51,.15); }

/* ══════════  RESPONSIVE  ══════════ */
@media(max-width:768px) {
    .hero-outer { padding:14px 14px 0; }
    .hero-card { height:80vh; min-height:420px; border-radius:18px; }
    .mission-sec { padding:40px 20px 28px; }
    .events-sec { padding:56px 0; }
    .sec-head { padding:0 20px; margin-bottom:32px; }
    .sec-head .arr-grp { display:none; }
    .slider-outer { padding:0 20px; }
    .ev-card { flex:0 0 85%; }
    .programs-sec { padding:60px 20px; }
    .prog-grid { grid-template-columns:1fr; }
    .mv-sec { padding:60px 20px; }
    .mv-grid { grid-template-columns:1fr; }
    .about-sec { padding:60px 20px; }
    .about-inner { grid-template-columns:1fr; gap:48px; }
    .about-badge { right:-10px; }
}

.ev-hl-link { text-decoration:none; display:block; }
.ev-hl-link:hover .ev-hl { color:var(--red); }
