/* ===============================
GLOBAL RESET
================================ */

*{
box-sizing:border-box;
margin:0;
padding:0;
font-family:'Segoe UI',Arial,sans-serif;
}

html{
scroll-behavior:smooth;
}

body{
line-height:1.6;
background:linear-gradient(135deg,#f4f7fb,#e3f2fd);
color:#333;
animation:fadeIn .6s ease-in;
}

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

/* ===============================
HEADER
================================ */

header{

background:linear-gradient(135deg,#0b3d91,#1565c0);

color:white;

padding:15px 20px;

display:flex;

justify-content:space-between;

align-items:center;

position:sticky;

top:0;

z-index:1000;

box-shadow:0 6px 20px rgba(0,0,0,.15);

}

.logo{

display:flex;

align-items:center;

gap:10px;

}

.logo img{

height:45px;

}

.logo_text{

font-size:22px;

font-weight:700;

}

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

nav{

display:flex;

gap:20px;

align-items:center;

}

nav a{

color:white;

text-decoration:none;

font-weight:600;

padding:6px 10px;

transition:.3s;

}

nav a:hover{

color:#bbdefb;

transform:translateY(-2px);

}

/* ===============================
MENU BUTTON
================================ */

.menu-toggle{

display:none;

background:none;

border:none;

color:white;

font-size:26px;

cursor:pointer;

}

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

.site-header{

position:relative;

background:linear-gradient(-45deg,#0b3d91,#1e88e5,#1565c0,#1976d2);

background-size:400% 400%;

animation:gradientMove 12s ease infinite;

color:white;

padding:100px 20px 140px;

text-align:center;

overflow:hidden;

}

@keyframes gradientMove{

0%{background-position:0% 50%;}

50%{background-position:100% 50%;}

100%{background-position:0% 50%;}

}

.header-content{

position:relative;

z-index:10;

}

.site-header h1{

font-size:40px;

font-weight:700;

margin-bottom:10px;

}

.site-header p{

font-size:16px;

opacity:.9;

}

/* ===============================
SVG WAVE
================================ */

.animated-wave{

position:absolute;

bottom:-2px;

left:0;

width:100%;

height:120px;

}

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

.hero-buttons{

margin-top:25px;

display:flex;

justify-content:center;

gap:15px;

flex-wrap:wrap;

}

.btn-primary{

background:white;

color:#0d47a1;

padding:12px 22px;

border-radius:30px;

font-weight:bold;

text-decoration:none;

transition:.3s;

box-shadow:0 8px 20px rgba(0,0,0,.25);

}

.btn-primary:hover{

transform:translateY(-4px);

}

.btn-outline{

border:2px solid white;

color:white;

padding:12px 22px;

border-radius:30px;

text-decoration:none;

transition:.3s;

}

.btn-outline:hover{

background:white;

color:#0d47a1;

}

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

.container{

padding:70px 20px;

max-width:1100px;

margin:auto;

}

.section-title{

text-align:center;

margin-bottom:30px;

font-size:28px;

color:#0d47a1;

}

.section-title::after{

content:"";

display:block;

width:60px;

height:4px;

background:#1565c0;

margin:10px auto;

border-radius:4px;

}

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

#about{

background:white;

margin-top:-2px;

}

.about-grid{

display:flex;

gap:30px;

flex-wrap:wrap;

align-items:center;

}

.about-photo img{

width:260px;

border-radius:18px;

box-shadow:0 10px 25px rgba(0,0,0,.25);

transition:.3s;

}

.about-photo img:hover{

transform:scale(1.05);

}

.about-text{

flex:1;

background:white;

padding:25px;

border-radius:15px;

box-shadow:0 8px 20px rgba(0,0,0,.1);

}

/* ===============================
COURSES
================================ */

.courses-section{

background:#f9fbff;

padding:80px 20px;

}

.courses-container{

max-width:1100px;

margin:auto;

}

.courses-title{

text-align:center;

font-size:30px;

margin-bottom:10px;

color:#0d47a1;

}

.courses-subtitle{

text-align:center;

margin-bottom:40px;

color:#555;

}

.courses-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:30px;

}

.course-card{

background:white;

padding:30px;

border-radius:18px;

box-shadow:0 10px 25px rgba(0,0,0,.1);

transition:.3s;

text-align:center;

}

.course-card:hover{

transform:translateY(-10px);

box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.course-icon{

font-size:40px;

color:#1976d2;

margin-bottom:15px;

}

.enroll-btn{

display:inline-block;

padding:10px 22px;

background:#0d47a1;

color:white;

border-radius:25px;

text-decoration:none;

margin-top:10px;

transition:.3s;

}

.enroll-btn:hover{

background:#1565c0;

}

/* ===============================
GALLERY
================================ */

.gallery{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:20px;

}

.gallery img{

width:100%;

height:200px;

object-fit:cover;

border-radius:10px;

transition:.3s;

}

.gallery img:hover{

transform:scale(1.05);

}

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

#contact{

background:#f7f9fc;

text-align:center;

}

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

.main-footer{

background:linear-gradient(135deg,#0b3d91,#1976d2);

color:white;

text-align:center;

padding:40px 20px;

}

.footer-links{

margin-top:15px;

}

.footer-links a{

color:white;

margin:0 10px;

text-decoration:none;

}

/* ===============================
MAP
================================ */

.map-section iframe{

border-radius:10px;

}

/* ===============================
WHATSAPP FLOAT
================================ */

.whatsapp-float{

position:fixed;

bottom:25px;

right:25px;

background:#25D366;

color:white;

font-size:26px;

padding:14px 16px;

border-radius:50%;

z-index:999;

box-shadow:0 5px 15px rgba(0,0,0,.3);

}

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

@media(max-width:768px){

.menu-toggle{

display:block;

}

nav{

display:none;

flex-direction:column;

width:100%;

background:#0b3d91;

margin-top:10px;

}

nav.show{

display:flex;

}

nav a{

padding:12px;

border-top:1px solid rgba(255,255,255,.2);

}

.about-grid{

flex-direction:column;

text-align:center;

}

.about-photo img{

width:180px;

height:180px;

border-radius:50%;

}

.site-header{

padding:80px 20px 120px;

}

.site-header h1{

font-size:28px;

}

.hero-buttons{

flex-direction:column;

gap:10px;

}

}
nav a.active{

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

border-radius:6px;

}
.footer-links{

margin:12px 0;

}

.footer-links a{

color:white;

margin:0 10px;

text-decoration:none;

}

.footer-links a:hover{

text-decoration:underline;

}

@media(max-width:768px){

.footer-links{

display:flex;

flex-direction:column;

gap:8px;

}

}
/* LOGO LINK FIX */

.logo{
display:flex;
align-items:center;
gap:10px;
text-decoration:none;
}

.logo_text{
color:white;
font-size:22px;
font-weight:700;
text-decoration:none;
}

.logo:visited,
.logo:active{
color:white;
text-decoration:none;
}
/* LOGO FIX */

.logo{
display:flex;
align-items:center;
gap:10px;
text-decoration:none;
white-space:nowrap;
}

.logo img{
height:42px;
}

.logo_text{
color:#ffffff;
font-size:20px;
font-weight:700;
text-decoration:none;
white-space:nowrap;
}

.logo:link,
.logo:visited{
color:white;
text-decoration:none;
}
header{
display:flex;
align-items:center;
justify-content:space-between;
padding:14px 20px;
background:linear-gradient(135deg,#0b3d91,#1e88e5);
}

.menu-toggle{
font-size:26px;
background:none;
border:none;
color:white;
cursor:pointer;
display:none;
}
@media(max-width:768px){

.menu-toggle{
display:block;
}

nav{
position:absolute;
top:70px;
right:20px;
background:#1e4fa5;
width:200px;
border-radius:10px;
box-shadow:0 10px 25px rgba(0,0,0,0.2);
display:none;
flex-direction:column;
padding:10px 0;
}

nav a{
padding:12px 20px;
border-bottom:1px solid rgba(255,255,255,0.2);
}

nav.show{
display:flex;
}

.logo_text{
font-size:18px;
}

}
/* MOBILE MENU */

.menu-toggle{
display:none;
font-size:26px;
background:none;
border:none;
color:white;
cursor:pointer;
}

/* mobile */

@media(max-width:768px){

.menu-toggle{
display:block;
z-index:1001;
}

nav{

position:fixed;
top:0;
right:-260px;
width:250px;
height:100%;
background:linear-gradient(180deg,#0b3d91,#1e4fa5);

display:flex;
flex-direction:column;

padding-top:90px;

transition:0.35s ease;

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

}

nav a{

padding:16px 30px;
color:white;
text-decoration:none;
font-size:18px;

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

transition:0.25s;

}

nav a:hover{

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

}

nav.show{

right:0;

}

/* overlay */

.menu-overlay{

position:fixed;
top:0;
left:0;
width:100%;
height:100%;

background:rgba(0,0,0,0.4);
backdrop-filter:blur(4px);

opacity:0;
pointer-events:none;

transition:0.3s;

}

.menu-overlay.active{

opacity:1;
pointer-events:auto;

}

}
nav{
transition: right 0.35s ease, opacity 0.3s ease;
}
.menu-toggle{
display:none;
font-size:26px;
background:none;
border:none;
color:white;
cursor:pointer;
}

@media(max-width:768px){

.menu-toggle{
display:block;
z-index:1001;
}

nav{

position:fixed;
top:0;
right:-260px;

width:250px;
height:100%;

background:linear-gradient(180deg,#0b3d91,#1e4fa5);

display:flex;
flex-direction:column;

padding-top:90px;

transition:0.35s ease;

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

}

nav a{

padding:16px 30px;
color:white;
text-decoration:none;
font-size:18px;

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

}

nav.show{
right:0;
}

/* overlay */

.menu-overlay{

position:fixed;
top:0;
left:0;
width:100%;
height:100%;

background:rgba(0,0,0,0.4);

opacity:0;
pointer-events:none;

transition:0.3s;

}

.menu-overlay.active{
opacity:1;
pointer-events:auto;
}

}
.contact-info{
display:flex;
justify-content:center;
gap:20px;
flex-wrap:wrap;
font-size:16px;
margin-top:10px;
}

.contact-info a{
color:#333;
text-decoration:none;
font-weight:500;
transition:0.3s;
}

.contact-info a:hover{
color:#1e73be;
}