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

body{
font-family:'Poppins', sans-serif;
background:#ffffff;
color:#222;
overflow-x:hidden;
}

/* ================= NAVIGATION ================= */

nav{
position:fixed;
top:0;
left:0;
width:100%;
height:150px;
background:white;
display:flex;
align-items:center;
justify-content:space-between;
padding:0 40px;
box-shadow:0 3px 20px rgba(0,0,0,0.05);
z-index:10000;
animation:slideDown 0.8s ease forwards;
}

nav img{
height:120px;
}

nav ul{
list-style:none;
display:flex;
gap:35px;
align-items:center;
}

nav ul li a{
text-decoration:none;
color:#333;
font-weight:600;
}

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

@keyframes slideDown{
from{transform:translateY(-100%);}
to{transform:translateY(0);}
}

/* MOBILE NAV */

@media(max-width:900px){
nav{height:100px;padding:0 20px;}
nav img{height:80px;}

nav ul{
display:none;
flex-direction:column;
position:absolute;
top:100px;
right:0;
background:white;
width:220px;
padding:20px;
box-shadow:0 10px 30px rgba(0,0,0,0.15);
}

nav ul.active{display:flex;}
.menu-toggle{display:block;}
}

/* ================= FLOATING SHAPES ================= */

.floating-shape{
position:fixed;
border-radius:50%;
opacity:0.18;
pointer-events:none;
z-index:0;
animation:floatMove 12s infinite ease-in-out;
}

@keyframes floatMove{
0%{transform:translateY(0);}
50%{transform:translateY(-40px);}
100%{transform:translateY(0);}
}

.shape1{width:300px;height:300px;background:#ff4f6d;top:220px;left:-150px;}
.shape2{width:380px;height:380px;background:#4cc9f0;bottom:150px;right:-200px;}
.shape3{width:200px;height:200px;background:#a5e22d;top:900px;right:120px;}
.shape4{width:150px;height:150px;background:#ff9f1c;top:1500px;left:160px;}

@media(max-width:600px){
.shape1{width:150px;height:150px;}
.shape2{width:180px;height:180px;}
.shape3{width:120px;height:120px;}
.shape4{width:90px;height:90px;}
}

/* ================= SECTIONS ================= */

section{
padding:90px 60px;
position:relative;
z-index:2;
}

@media(max-width:600px){
section{padding:60px 25px;}
}

/* ================= PROGRAM CARDS ================= */

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
margin-top:40px;
}

.card{
background:white;
padding:35px;
border-radius:25px;
box-shadow:0 20px 50px rgba(0,0,0,0.06);
transition:all 0.3s ease;
}

.card:hover{
transform:translateY(-12px);
box-shadow:0 30px 70px rgba(0,0,0,0.12);
}

.card h3{
margin-bottom:12px;
font-size:1.4rem;
}

.card p{
line-height:1.6;
color:#555;
}

/* HOLIDAY POPUP */
.popup-overlay{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.55);
display:flex;
align-items:center;
justify-content:center;
z-index:50000;
opacity:0;
visibility:hidden;
transition:0.4s ease;
}

.popup-overlay.active{
opacity:1;
visibility:visible;
}

.popup-box{
background:white;
padding:40px;
border-radius:25px;
max-width:420px;
width:90%;
text-align:center;
box-shadow:0 40px 80px rgba(0,0,0,0.25);
position:relative;
animation:popupScale 0.5s ease;
}

@keyframes popupScale{
from{transform:scale(0.8);}
to{transform:scale(1);}
}

.popup-box h2{
margin-bottom:15px;
}

.popup-box p{
margin-bottom:25px;
line-height:1.6;
}

.popup-btn{
display:inline-block;
padding:14px 35px;
background:#ff4f6d;
color:white;
border-radius:35px;
font-weight:700;
text-decoration:none;
}

.popup-close{
position:absolute;
top:15px;
right:18px;
font-size:26px;
cursor:pointer;
font-weight:700;
}

/* FOOTER */
.main-footer{
background:#4cc9f0;
color:white;
padding:70px 40px 30px 40px;
margin-top:100px;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:40px;
margin-bottom:40px;
}

.footer-column h3{
margin-bottom:20px;
}

.footer-column p{
margin-bottom:10px;
}

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

.footer-link{
display:inline-block;
margin-top:10px;
}

.newsletter-form{
margin-top:15px;
}

.newsletter-form input{
width:100%;
padding:12px;
border:none;
border-radius:20px;
margin-bottom:10px;
font-family:'Poppins',sans-serif;
}

.newsletter-form button{
padding:10px 25px;
background:#ff4f6d;
color:white;
border:none;
border-radius:30px;
font-weight:600;
cursor:pointer;
}

.footer-bottom{
text-align:center;
font-size:0.9rem;
opacity:0.8;
}

/* SCROLL REVEAL ANIMATION */

.reveal{
opacity:0;
transform:translateY(60px);
transition:all 0.8s ease;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}

/* Cursor improvement */

body{
cursor:default;
}

a, button{
cursor:pointer;
}
