html,
body{
    overflow-x:hidden;
}
*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

:root{
--primary:#0F6D3C;
--primary-dark:#0b4f2c;
--accent:#1F8F4E;
--light:#f6fbf8;
--soft:#eef7f1;
--text:#333;
--muted:#666;
}

body{
font-family:Arial,sans-serif;
background:#fff;
color:#222;
overflow-x:hidden;
line-height:1.7;
}

/* =========================================
   CONTAINER
========================================= */

.container{
max-width:1200px;
margin:auto;
padding:0 20px;
}

/* =========================================
   NAVBAR
========================================= */

.navbar{
position:sticky;
top:0;
z-index:2000;

display:flex;
justify-content:space-between;
align-items:center;

padding:14px 5%;

background:rgba(255,255,255,0.96);

backdrop-filter:blur(12px);

box-shadow:0 4px 20px rgba(0,0,0,0.06);
}

.logo-area{
display:flex;
align-items:center;
gap:12px;
}

.logo{
width:58px;
height:58px;
object-fit:contain;
}

.logo-area h1{
font-size:28px;
font-weight:800;
color:var(--primary);
}

.menu{
display:flex;
align-items:center;
gap:28px;
}

.menu a{
text-decoration:none;
color:#333;
font-weight:600;
font-size:15px;
transition:0.3s ease;
position:relative;
}

.menu a::after{
content:"";
position:absolute;
left:0;
bottom:-6px;
width:0;
height:2px;
background:var(--primary);
transition:0.3s;
}

.menu a:hover::after{
width:100%;
}

.menu a:hover{
color:var(--primary);
}

/* =========================================
   DROPDOWN
========================================= */

.dropdown{
position:relative;
}

.dropdown-menu{
display:none;

position:absolute;

top:45px;
left:0;

background:white;

min-width:240px;

border-radius:14px;

padding:10px 0;

box-shadow:0 15px 40px rgba(0,0,0,0.12);

overflow:hidden;

z-index:999;
}

.dropdown-menu a{
display:block;
padding:14px 20px;
}

.dropdown-menu a:hover{
background:#f5f5f5;
}

/* =========================================
   MOBILE NAV
========================================= */

.menu-toggle{
display:none;
font-size:28px;
cursor:pointer;
}

/* =========================================
   HERO
========================================= */

.institute-hero{

position:relative;

min-height:100vh;

display:flex;
align-items:center;
justify-content:center;

overflow:hidden;

padding:120px 20px 140px;

background:
linear-gradient(
90deg,
rgba(0,30,12,0.84),
rgba(0,30,12,0.68)
),
url("main.webp");

background-size:cover;
background-position:center;
background-repeat:no-repeat;
}

.hero-overlay{

position:absolute;
inset:0;

background:
radial-gradient(
circle at top right,
rgba(31,143,78,0.28),
transparent 35%
);

z-index:1;
}

.hero-content-box{

position:relative;
z-index:2;

max-width:1000px;

text-align:center;

color:white;
}

.hero-badge{

display:inline-block;

padding:12px 22px;

border-radius:40px;

background:rgba(255,255,255,0.12);

backdrop-filter:blur(12px);

border:1px solid rgba(255,255,255,0.15);

font-size:14px;
font-weight:600;

margin-bottom:28px;
}

.hero-content-box h1{

font-size:78px;
line-height:1.05;

margin-bottom:28px;

font-weight:800;

letter-spacing:-2px;
}

.hero-content-box p{

font-size:21px;
line-height:1.9;

max-width:760px;

margin:auto auto 40px;

color:rgba(255,255,255,0.92);
}

/* =========================================
   HERO BUTTONS
========================================= */

.hero-buttons{
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
}

.hero-btn{

padding:16px 34px;

border-radius:40px;

font-weight:700;

text-decoration:none;

transition:0.3s ease;

font-size:15px;
}

.primary-btn{
background:var(--accent);
color:white;
}

.primary-btn:hover{

transform:translateY(-5px);

background:#15703c;

box-shadow:0 15px 35px rgba(0,0,0,0.25);
}

.secondary-btn{

background:rgba(255,255,255,0.12);

border:1px solid rgba(255,255,255,0.20);

color:white;

backdrop-filter:blur(8px);
}

.secondary-btn:hover{

background:white;
color:var(--primary);

transform:translateY(-5px);
}

/* =========================================
   HERO STATS
========================================= */

.hero-stats{

margin-top:70px;

display:grid;
grid-template-columns:repeat(4,1fr);

gap:22px;
}

.hero-stat{

background:rgba(255,255,255,0.10);

backdrop-filter:blur(12px);

padding:28px 20px;

border-radius:22px;

border:1px solid rgba(255,255,255,0.10);

transition:0.3s ease;
}

.hero-stat:hover{

transform:translateY(-6px);

background:rgba(255,255,255,0.15);
}

.hero-stat h3{

font-size:40px;
margin-bottom:10px;
}

.hero-stat span{

font-size:15px;
color:rgba(255,255,255,0.85);
}

/* =========================================
   SECTION TAG
========================================= */

.section-tag{

display:inline-block;

background:#e8f5ee;
color:var(--primary);

padding:8px 18px;

border-radius:30px;

font-size:13px;
font-weight:700;

margin-bottom:20px;
}

/* =========================================
   INTRO
========================================= */

.institute-intro{
padding:110px 20px;
background:#f8faf8;
}

.intro-grid{

display:grid;
grid-template-columns:1.2fr 0.8fr;
gap:50px;
align-items:center;
}

.intro-text h2{

font-size:48px;
line-height:1.2;

margin-bottom:25px;
}

.intro-text p{

font-size:17px;
line-height:1.9;
color:#555;

margin-bottom:22px;
}

.intro-buttons{
display:flex;
gap:18px;
margin-top:30px;
flex-wrap:wrap;
}

.intro-btn{

background:var(--accent);
color:white;

padding:14px 28px;

border-radius:35px;

text-decoration:none;
font-weight:600;

transition:0.3s ease;
}

.intro-btn:hover{

transform:translateY(-4px);

box-shadow:0 12px 25px rgba(0,0,0,0.12);
}

.outline-btn{

background:white;
color:var(--primary);

border:2px solid var(--accent);
}

/* =========================================
   STATS
========================================= */

.intro-stats{

display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
}

.stat-card{

background:white;

padding:35px 25px;

border-radius:18px;

text-align:center;

box-shadow:0 10px 30px rgba(0,0,0,0.06);

transition:0.3s ease;
}

.stat-card:hover{
transform:translateY(-6px);
}

.stat-card h3{

font-size:42px;
margin-bottom:10px;

color:var(--primary);
}

.stat-card p{
color:#666;
font-weight:500;
}

/* =========================================
   ABOUT
========================================= */

.about-section{
padding:110px 20px;
}

.about-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
}

.about-image img{

width:100%;

border-radius:24px;

box-shadow:0 20px 50px rgba(0,0,0,0.12);
}

.about-content h2{

font-size:42px;
margin-bottom:25px;
}

.about-content p{

font-size:16px;
line-height:1.9;
color:#555;

margin-bottom:20px;
}

.about-highlight{

display:grid;
grid-template-columns:1fr 1fr;
gap:15px;

margin-top:35px;
}

.highlight-box{

background:#f7f7f7;

padding:18px;

border-radius:14px;

font-weight:600;

border-left:4px solid var(--accent);

transition:0.3s ease;
}

.highlight-box:hover{

transform:translateY(-4px);

background:#eef8f1;
}

/* =========================================
   SERVICES
========================================= */

.services-section{

background:#f9fbf9;
padding:110px 20px;
}

.services-header{

text-align:center;
max-width:800px;

margin:auto auto 60px;
}

.services-header h2{

font-size:46px;
margin-bottom:20px;
}

.services-header p{

font-size:17px;
line-height:1.8;
color:#666;
}

.services-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:30px;
}

.service-card{

background:white;

padding:35px 30px;

border-radius:24px;

box-shadow:0 12px 35px rgba(0,0,0,0.06);

transition:0.35s ease;

position:relative;
overflow:hidden;
}

.service-card::before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:5px;

background:linear-gradient(
90deg,
var(--accent),
#38b46a
);
}

.service-card:hover{

transform:translateY(-10px);

box-shadow:0 20px 45px rgba(0,0,0,0.12);
}

.service-icon{

width:75px;
height:75px;

border-radius:20px;

display:flex;
align-items:center;
justify-content:center;

font-size:34px;

background:#eef8f1;

margin-bottom:25px;
}

.service-card h3{

font-size:24px;
margin-bottom:20px;
}

.service-card ul{
list-style:none;
}

.service-card ul li{

position:relative;

padding-left:28px;

margin-bottom:14px;

font-size:15px;
line-height:1.7;

color:#555;
}

.service-card ul li::before{

content:"✔";

position:absolute;

left:0;
top:0;

color:var(--accent);
font-weight:bold;
}

/* =========================================
   BENEFICIARIES
========================================= */

.beneficiaries-section{
padding:110px 20px;
}

.beneficiaries-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;
}

.section-description{

font-size:17px;
line-height:1.8;
color:#666;

margin-bottom:35px;
}

.beneficiary-list{

display:flex;
flex-direction:column;
gap:22px;
}

.beneficiary-item{

display:flex;
gap:20px;

padding:22px;

background:#f9faf9;

border-radius:18px;

transition:0.3s ease;
}

.beneficiary-item:hover{

transform:translateX(8px);

background:#eef8f1;
}

.beneficiary-icon{

width:65px;
height:65px;

border-radius:18px;

background:#e7f5ec;

display:flex;
align-items:center;
justify-content:center;

font-size:28px;

flex-shrink:0;
}

.beneficiary-item h3{

margin-bottom:8px;
font-size:20px;
}

.beneficiary-item p{

font-size:15px;
line-height:1.7;
color:#666;
}

.beneficiaries-image img{

width:100%;

border-radius:28px;

box-shadow:0 20px 50px rgba(0,0,0,0.12);
}

/* =========================================
   CONTACT
========================================= */

.contact-section{

padding:120px 20px;

background:
linear-gradient(
135deg,
#f7faf8,
#eef7f1
);
}

.contact-header{

text-align:center;

max-width:800px;

margin:auto auto 70px;
}

.contact-header h2{

font-size:48px;
margin-bottom:20px;
}

.contact-header p{

font-size:17px;
line-height:1.8;
color:#666;
}

.contact-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
align-items:start;
}

.contact-info-wrapper{

display:flex;
flex-direction:column;
gap:20px;
}

.contact-card{

display:flex;
gap:20px;

align-items:flex-start;

background:white;

padding:25px;

border-radius:20px;

box-shadow:0 12px 35px rgba(0,0,0,0.06);

transition:0.3s ease;
}

.contact-card:hover{
transform:translateY(-5px);
}

.contact-icon{

width:60px;
height:60px;

border-radius:18px;

background:#eef8f1;

display:flex;
align-items:center;
justify-content:center;

font-size:26px;

flex-shrink:0;
}

.contact-card h3{

font-size:20px;
margin-bottom:8px;
}

.contact-card p{

font-size:15px;
line-height:1.7;
color:#666;
}

.map-wrapper{

background:white;

padding:20px;

border-radius:28px;

box-shadow:0 15px 40px rgba(0,0,0,0.08);
}

.map-wrapper iframe{

width:100%;
height:650px;

border:none;

border-radius:20px;
}

.map-button-wrap{

display:flex;
justify-content:center;

margin-top:25px;
}

.map-btn{

display:inline-flex;
align-items:center;
justify-content:center;

padding:16px 34px;

background:var(--accent);

color:white;

border-radius:40px;

text-decoration:none;

font-weight:700;

transition:0.3s ease;
}

.map-btn:hover{

transform:translateY(-4px);

background:#15703c;
}

/* =========================================
   FOOTER
========================================= */

footer{

background:#0d3f22;

color:white;

text-align:center;

padding:30px 20px;
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:950px){

.menu-toggle{
display:block;
}

.menu{

position:fixed;

top:85px;
right:-100%;

width:280px;
height:calc(100vh - 85px);

background:white;

flex-direction:column;
align-items:flex-start;

padding:30px 25px;

transition:0.4s ease;

box-shadow:-10px 0 30px rgba(0,0,0,0.08);
}

.menu.active{
right:0;
}

.hero-content-box h1{
font-size:54px;
}

.hero-content-box p{
font-size:18px;
}

.hero-stats{
grid-template-columns:1fr 1fr;
}

.intro-grid,
.about-grid,
.beneficiaries-grid,
.contact-grid{

grid-template-columns:1fr;
}

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

.contact-header h2,
.services-header h2{

font-size:38px;
}

}

@media(max-width:600px){

.hero-content-box h1{
font-size:40px;
}

.hero-content-box p{
font-size:16px;
}

.hero-buttons{
flex-direction:column;
align-items:center;
}

.hero-btn{
width:100%;
max-width:320px;
}

.hero-stats{
grid-template-columns:1fr;
}

.intro-text h2,
.about-content h2{

font-size:32px;
}

.intro-stats{
grid-template-columns:1fr;
}

.about-highlight{
grid-template-columns:1fr;
}

.map-wrapper iframe{
height:350px;
}

}

