*{box-sizing:border-box;margin:0;padding:0}

@keyframes fadeInUp{
from{opacity:0;transform:translateY(30px)}
to{opacity:1;transform:translateY(0)}
}

@keyframes slideInDown{
from{opacity:0;transform:translateY(-20px)}
to{opacity:1;transform:translateY(0)}
}

@keyframes slideInRight{
from{opacity:0;transform:translateX(30px)}
to{opacity:1;transform:translateX(0)}
}

body{
font-family:'Noto Sans Bengali',sans-serif;
background:#f0f3f7;
color:#2c3e50;
line-height:1.7;
scroll-behavior:smooth;
}

body.embedded-page{
background:transparent;
padding:0;
overflow:hidden;
}

/* header */
header{
background:linear-gradient(135deg,#006a4e 0%,#004d38 100%);
color:white;
padding:45px 15px;
text-align:center;
box-shadow:0 10px 40px rgba(0,0,0,0.2);
animation:slideInDown 0.6s ease-out;
}

header h1{
font-size:36px;
margin-bottom:8px;
font-weight:700;
letter-spacing:0.5px;
}

header p{
opacity:0.95;
font-size:18px;
font-weight:300;
letter-spacing:0.3px;
}

/* nav */
nav{
background:linear-gradient(to right,#c8102e,#a00824);
text-align:center;
padding:16px;
position:sticky;
top:0;
z-index:100;
box-shadow:0 4px 15px rgba(200,16,46,0.3);
}

nav a{
color:white;
margin:0 22px;
text-decoration:none;
font-weight:600;
font-size:16px;
position:relative;
transition:0.3s ease;
}

nav a::after{
content:'';
position:absolute;
bottom:-5px;
left:0;
width:0;
height:2px;
background:white;
transition:width 0.3s ease;
}

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

/* hero */
.hero{
background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),url('https://images.unsplash.com/photo-1529107386315-e1a2ed48a620');
background-size:cover;
background-position:center;
color:white;
padding:140px 20px;
text-align:center;
animation:fadeInUp 0.8s ease-out 0.2s both;
position:relative;
}

.hero::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,0.3) 100%);
}

.hero h2{
font-size:44px;
margin-bottom:20px;
font-weight:700;
text-shadow:0 2px 10px rgba(0,0,0,0.5);
position:relative;
z-index:1;
}

.hero p{
max-width:700px;
margin:auto;
font-size:19px;
position:relative;
z-index:1;
font-weight:300;
line-height:1.8;
}

/* sections */
.section{
padding:80px 20px;
max-width:1100px;
margin:auto;
animation:fadeInUp 0.8s ease-out;
}

.alt{
background:white;
border-radius:16px;
box-shadow:0 10px 40px rgba(0,0,0,0.08);
}

.section h2{
text-align:center;
margin-bottom:50px;
font-size:32px;
color:#006a4e;
font-weight:700;
position:relative;
padding-bottom:15px;
}

.section h2::after{
content:'';
position:absolute;
bottom:0;
left:50%;
transform:translateX(-50%);
width:60px;
height:4px;
background:linear-gradient(90deg,#006a4e,#c8102e);
border-radius:2px;
}

/* about */
.about-wrapper{
display:grid;
grid-template-columns:280px 1fr;
gap:40px;
align-items:center;
}

.about-wrapper img{
width:100%;
border-radius:16px;
box-shadow:0 10px 30px rgba(0,0,0,0.15);
transition:0.4s ease;
border:3px solid #006a4e;
}

.about-wrapper img:hover{
transform:scale(1.03);
}

.about-text{
font-size:16px;
line-height:1.9;
color:#444;
text-align:justify;
}

/* cards */
.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:30px;
}

.activities-frame{
display:block;
width:100%;
height:560px;
border:0;
overflow:hidden;
}

.gallery-frame{
display:block;
width:100%;
height:430px;
border:0;
overflow:hidden;
}

.contact-frame{
display:block;
width:100%;
height:430px;
border:0;
overflow:hidden;
}

.card{
background:white;
border-radius:14px;
box-shadow:0 8px 20px rgba(0,0,0,0.1);
transition:0.4s cubic-bezier(0.23,1,0.320,1);
overflow:hidden;
display:flex;
flex-direction:column;
border:1px solid #f0f0f0;
}

.card img{
width:100%;
height:180px;
object-fit:cover;
transition:0.5s ease;
}

.card:hover img{
transform:scale(1.08);
}

.card-content{
padding:22px;
font-size:15px;
flex-grow:1;
display:flex;
flex-direction:column;
transition:0.3s ease;
}

.card h3{
color:#006a4e;
margin-bottom:10px;
font-size:17px;
}

.card p{
margin:10px 0;
font-size:14px;
color:#666;
flex-grow:1;
}

.read-more{
background:#dff2d8;
color:#173c35;
font-weight:600;
text-decoration:none;
font-size:14px;
margin-top:16px;
padding:10px 16px;
border-radius:22px;
display:inline-flex;
align-items:center;
justify-content:center;
align-self:flex-start;
transition:0.3s ease;
box-shadow:0 6px 14px rgba(0,106,78,0.14);
border:1px solid rgba(0,106,78,0.12);
}

.read-more:hover{
background:#006a4e;
color:white;
transform:translateY(-2px);
}

.detail-page{
max-width:1000px;
margin:0 auto;
padding:55px 20px 20px;
}

.back-link{
display:inline-block;
background:#dff2d8;
color:#173c35;
font-weight:600;
text-decoration:none;
margin-bottom:24px;
padding:10px 16px;
border-radius:22px;
box-shadow:0 6px 14px rgba(0,106,78,0.14);
border:1px solid rgba(0,106,78,0.12);
}

.back-link:hover{
background:#006a4e;
color:white;
}

.detail-article{
background:white;
border-radius:8px;
box-shadow:0 10px 40px rgba(0,0,0,0.08);
overflow:hidden;
}

.detail-image{
width:100%;
max-height:560px;
object-fit:cover;
display:block;
}

.detail-content{
padding:35px;
}

.detail-content h1{
color:#006a4e;
font-size:32px;
line-height:1.4;
margin-bottom:20px;
}

.detail-content p{
font-size:17px;
color:#444;
margin-bottom:18px;
line-height:1.9;
}

.card:hover{
transform:translateY(-10px);
box-shadow:0 20px 40px rgba(0,0,0,0.15);
}

.card:hover .card-content{
background:linear-gradient(135deg,rgba(0,106,78,0.03),rgba(200,16,46,0.03));
}

/* gallery */
.gallery{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
}

.gallery img{
width:100%;
height:200px;
object-fit:cover;
border-radius:12px;
transition:0.4s cubic-bezier(0.23,1,0.320,1);
box-shadow:0 8px 20px rgba(0,0,0,0.1);
border:2px solid #f5f5f5;
}

.gallery img:hover{
transform:scale(1.12) rotate(1deg);
box-shadow:0 15px 40px rgba(0,0,0,0.2);
}

.gallery-slider{
position:relative;
height:420px;
overflow:hidden;
border-radius:8px;
background:#e8eeeb;
box-shadow:0 8px 22px rgba(0,0,0,0.12);
}

.gallery-track{
height:100%;
position:relative;
}

.gallery-slide{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
opacity:0;
transform:scale(1.02);
transition:opacity 0.45s ease,transform 0.45s ease;
}

.gallery-slide.active{
opacity:1;
transform:scale(1);
}

.gallery-control{
position:absolute;
top:50%;
transform:translateY(-50%);
width:42px;
height:42px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
padding:0;
font-size:32px;
line-height:1;
background:rgba(0,106,78,0.9);
box-shadow:0 8px 20px rgba(0,0,0,0.2);
}

.gallery-control.prev{
left:16px;
}

.gallery-control.next{
right:16px;
}

.gallery-dots{
position:absolute;
left:50%;
bottom:16px;
transform:translateX(-50%);
display:flex;
gap:8px;
}

.gallery-dots button{
width:11px;
height:11px;
border-radius:50%;
padding:0;
background:rgba(255,255,255,0.72);
box-shadow:none;
}

.gallery-dots button.active{
background:#c8102e;
}

/* contact */
.contact-wrapper{
max-width:950px;
margin:auto;
display:grid;
grid-template-columns:1fr 1fr;
gap:35px;
}

.contact-info{
background:linear-gradient(135deg,#f8fafb 0%,#f0f3f7 100%);
padding:30px;
border-radius:14px;
box-shadow:0 8px 20px rgba(0,0,0,0.08);
border-left:4px solid #006a4e;
}

.contact-info h3{
margin-bottom:20px;
color:#006a4e;
font-size:18px;
font-weight:700;
}

.contact-item{
margin:14px 0;
font-size:15px;
display:flex;
align-items:center;
transition:0.3s ease;
}

.contact-item:hover{
transform:translateX(5px);
}

.contact-form{
background:linear-gradient(135deg,#f8fafb 0%,#f0f3f7 100%);
padding:30px;
border-radius:14px;
box-shadow:0 8px 20px rgba(0,0,0,0.08);
border-left:4px solid #c8102e;
}

.contact-form h3{
margin-bottom:20px;
color:#c8102e;
font-size:18px;
font-weight:700;
}

form{
display:flex;
flex-direction:column;
gap:14px;
}

input,textarea{
padding:13px;
border:2px solid #ddd;
border-radius:8px;
font-family:inherit;
font-size:14px;
transition:0.3s ease;
background:white;
}

input:focus,textarea:focus{
outline:none;
border-color:#006a4e;
box-shadow:0 0 0 3px rgba(0,106,78,0.1);
}

input::placeholder,textarea::placeholder{
color:#999;
}

button{
background:linear-gradient(135deg,#006a4e,#004d38);
color:white;
border:none;
padding:14px;
border-radius:8px;
font-size:15px;
cursor:pointer;
font-weight:600;
transition:0.4s cubic-bezier(0.23,1,0.320,1);
box-shadow:0 4px 15px rgba(0,106,78,0.2);
}

button:hover{
transform:translateY(-2px);
box-shadow:0 8px 25px rgba(0,106,78,0.3);
}

button:active{
transform:translateY(0);
}

/* homepage structure */
.site-header{
background:white;
color:#173c35;
padding:0;
box-shadow:0 4px 18px rgba(0,0,0,0.08);
position:sticky;
top:0;
z-index:200;
animation:none;
}

.header-inner{
max-width:1180px;
margin:auto;
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
padding:18px 20px;
}

.brand{
color:#006a4e;
text-decoration:none;
display:flex;
flex-direction:column;
line-height:1.35;
font-weight:700;
font-size:22px;
}

.brand small{
color:#67736f;
font-size:13px;
font-weight:600;
}

.main-nav{
background:transparent;
box-shadow:none;
padding:0;
position:static;
display:flex;
align-items:center;
justify-content:flex-end;
gap:18px;
}

.main-nav a{
color:#173c35;
margin:0;
font-size:15px;
white-space:nowrap;
}

.main-nav a::after{
background:#c8102e;
}

.profile-hero{
max-width:1180px;
margin:30px auto 0;
padding:0 20px;
display:grid;
grid-template-columns:minmax(280px,420px) 1fr;
gap:42px;
align-items:center;
}

.hero-media{
background:white;
border-radius:8px;
overflow:hidden;
box-shadow:0 14px 36px rgba(0,0,0,0.12);
border:1px solid rgba(0,106,78,0.16);
}

.hero-media img{
display:block;
width:100%;
height:520px;
object-fit:cover;
object-position:top center;
}

.hero-copy{
padding:30px 0;
}

.eyebrow{
color:#c8102e;
font-weight:700;
font-size:15px;
margin-bottom:10px;
}

.hero-copy h1{
color:#006a4e;
font-size:48px;
line-height:1.2;
margin-bottom:18px;
}

.hero-copy p{
font-size:18px;
color:#3e4b47;
max-width:680px;
text-align:justify;
}

.hero-actions{
display:flex;
flex-wrap:wrap;
gap:14px;
margin-top:26px;
}

.hero-actions a{
background:#006a4e;
color:white;
padding:12px 20px;
border-radius:6px;
text-decoration:none;
font-weight:700;
box-shadow:0 8px 18px rgba(0,106,78,0.18);
}

.hero-actions a{
background:#dff2d8;
color:#173c35;
box-shadow:0 6px 14px rgba(0,106,78,0.16);
}

.hero-actions a:hover{
background:#006a4e;
color:white;
}

.quick-links{
max-width:1180px;
margin:34px auto 0;
padding:0 20px;
display:grid;
grid-template-columns:repeat(5,1fr);
gap:12px;
}

.quick-links a{
background:white;
color:#173c35;
text-decoration:none;
font-weight:700;
text-align:center;
padding:16px 12px;
border-radius:6px;
box-shadow:0 8px 20px rgba(0,0,0,0.08);
border-bottom:3px solid #006a4e;
}

.section-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
margin-bottom:34px;
border-bottom:1px solid #dde6e2;
padding-bottom:14px;
}

.section-head h2{
margin:0;
padding:0;
text-align:left;
font-size:30px;
}

.section-head h2::after{
display:none;
}

.section-head a{
color:#c8102e;
font-weight:700;
text-decoration:none;
white-space:nowrap;
}

.priority-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px;
}

.priority-card{
background:white;
border-radius:8px;
padding:26px;
box-shadow:0 8px 20px rgba(0,0,0,0.08);
border-top:4px solid #006a4e;
}

.priority-card h3{
color:#006a4e;
font-size:19px;
margin-bottom:12px;
}

.priority-card p{
color:#56625f;
font-size:15px;
}

.video-box{
min-height:260px;
background:linear-gradient(rgba(0,0,0,0.48),rgba(0,0,0,0.48)),url('692856942_1643464340318715_2031788969722868090_n.jpg');
background-size:cover;
background-position:center;
border-radius:8px;
display:flex;
align-items:flex-end;
padding:30px;
color:white;
box-shadow:0 10px 28px rgba(0,0,0,0.14);
}

.video-box h3{
font-size:24px;
margin-bottom:8px;
}

.footer-links{
display:flex;
justify-content:center;
gap:18px;
margin:14px 0;
flex-wrap:wrap;
}

.footer-links a{
color:white;
text-decoration:none;
font-weight:600;
}

/* footer */
footer{
background:linear-gradient(135deg,#006a4e 0%,#004d38 100%);
color:white;
text-align:center;
padding:35px 15px;
margin-top:80px;
font-size:14px;
box-shadow:0 -5px 20px rgba(0,0,0,0.1);
}

.social{
margin-top:15px;
font-size:14px;
font-weight:500;
}

/* responsive */
@media(max-width:800px){
.about-wrapper{
grid-template-columns:1fr;
text-align:center;
}

.contact-wrapper{
grid-template-columns:1fr;
}

header h1{
font-size:28px;
}

.hero h2{
font-size:32px;
}

.section h2{
font-size:26px;
}

nav a{
margin:0 12px;
font-size:14px;
}

.header-inner{
align-items:flex-start;
flex-direction:column;
}

.main-nav{
width:100%;
justify-content:flex-start;
overflow-x:auto;
padding-bottom:4px;
}

.profile-hero{
grid-template-columns:1fr;
gap:18px;
margin-top:20px;
}

.hero-media img{
height:420px;
}

.hero-copy h1{
font-size:34px;
}

.quick-links{
grid-template-columns:1fr 1fr;
}

.priority-grid{
grid-template-columns:1fr;
}

.section-head{
align-items:flex-start;
flex-direction:column;
}

.activities-frame{
height:1380px;
}

.gallery-frame{
height:340px;
}

.gallery-slider{
height:330px;
}

.contact-frame{
height:1050px;
}

.detail-content{
padding:24px;
}

.detail-content h1{
font-size:24px;
}
}
