.body {
font-family: 'Outfit', sans-serif;
background: #f8f9fa;
color: #222;
line-height: 1.6;
}

/* .upper with Background Image */
.upper {
position: relative;
height: 50vh;
background: url('../Image/pic3.jpg') center center / cover no-repeat;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
flex-direction: column;
padding: 0 2rem;
z-index: 1;
}

.upper::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.6); /* overlay */
z-index: -1;
}

.upper h1 {
font-size: 3rem;
font-weight: 700;
animation: fadeInDown 1s ease forwards;
}

.upper p {
font-size: 1.3rem;
margin-top: 1rem;
animation: fadeInUp 1s ease 0.3s forwards;
}

/* Mission & Vision Section */
.core-section {
display: flex;
justify-content: center;
align-items: stretch;
gap: 2rem;
padding: 6rem 2rem;
background: #f9f9f9;
flex-wrap: wrap;
height:50vh;
}

.core-card {
flex: 1 1 300px;
background: rgba(255, 255, 255, 0.6);
backdrop-filter: blur(10px);
border-radius: 16px;
padding: 3rem 2rem;
height: 300px;
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
transition: transform 0.3s ease, box-shadow 0.3s ease;
text-align: center;
position: relative;
overflow: hidden;

/* Scroll Animation */
opacity: 0;
animation: fadeIn 1s ease forwards;
}

.core-card:nth-child(1) {
animation-delay: 0.2s;
}
.core-card:nth-child(2) {
animation-delay: 0.4s;
}

.core-card:hover {
transform: translateY(-10px) scale(1.02);
box-shadow: 0 20px 30px rgba(0, 0, 0, 0.15);
}

.core-card h2 {
font-size: 1.8rem;
color: #222;
margin-bottom: 1rem;
}

.core-card p {
font-size: 1.05rem;
color: #555;
line-height: 1.6;
}

.core-card .icon {
font-size: 2.5rem;
margin-bottom: 1rem;
color: #007bff;
}

/* Animations */
@keyframes fadeInDown {
from { opacity: 0; transform: translateY(-30px); }
to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInUp {
from { opacity: 0; transform: translateY(30px); }
to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeIn {
from { opacity: 0; transform: translateY(40px); }
to { opacity: 1; transform: translateY(0); }
}

/* Responsive */
@media (max-width: 768px) {
  .upper h1 {
    font-size: 2.2rem;
  }

  .core-card {
    padding: 2.5rem 1.5rem;
    height: auto;
  }

  .core-section {
    height: auto;  /* allow mission section to grow */
    padding-bottom: 4rem; /* optional extra spacing from footer */
  }
}