@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;500;600&family=Playfair+Display:wght@600;700&display=swap');

:root{
--red:#d62828;
--red-dark:#9b1c1c;
--green:#2e7d32;
--green-dark:#1b5e20;
--gold:#f4c430;
--bg:#fff9e6;
--white:#ffffff;
--shadow:0 8px 25px rgba(0,0,0,0.15);
}

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

body{
font-family:'Be Vietnam Pro',sans-serif;
background:var(--bg);
}

/* NAVBAR */

nav{
background:linear-gradient(90deg,var(--red),var(--green));
padding:18px 0;
position:sticky;
top:0;
z-index:1000;
box-shadow:var(--shadow);
}

.container{
gap:40px;
padding:30px 0;
width:90%;
max-width:1200px;
margin:auto;
}

.nav-content{
display:flex;
justify-content:space-between;
align-items:center;
}

.gioithieu-text{
font-size: 24px;
font-weight: 600;
}

.logo{
color:white;
font-size:26px;
font-weight:bold;
}

.nav-links a{
color:white;
margin-left:20px;
text-decoration:none;
font-weight:500;
}

.nav-links a:hover{
color:var(--gold);
}

/* HERO */

.hero{
padding:80px 0;
}

.hero-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:center;
}

.hero-text h1{
font-family:'Playfair Display',serif;
font-size:55px;
color:var(--red-dark);
}

.hero-text p{
margin:20px 0;
font-size:18px;
}

.hero-image img{
width:100%;
border-radius:20px;
box-shadow:var(--shadow);
}

/* BUTTON */

.btn{
background:linear-gradient(90deg,var(--green),var(--red));
color:white;
padding:15px 30px;
border-radius:30px;
text-decoration:none;
font-weight:bold;
display:inline-block;
transition:0.3s;
}

.btn:hover{
transform:scale(1.05);
}

/* SECTION */

section{
padding:80px 0;
}

.section-header{
text-align:center;
margin-bottom:40px;
}

.section-header span{
color:var(--green);
}

.section-header h2{
font-size:36px;
color:var(--red-dark);
}


/* CARD */

.cards-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,320px));
justify-content:center;
gap:50px;
padding:20px;
}

.card{
background:white;
border-radius:20px;
box-shadow:var(--shadow);
overflow:hidden;

margin:10px;
padding-bottom:10px;

border-bottom:6px solid var(--green);
border:2px solid var(--gold);

/* animation */
opacity:0;
transform:translateY(60px);

animation-name:cardSlideUp;
animation-duration:0.8s;
animation-fill-mode:forwards;
animation-timing-function:ease;
}

/* delay từng card */
.card:nth-child(1){
animation-delay:0.2s;
}

.card:nth-child(2){
animation-delay:0.4s;
}

.card:nth-child(3){
animation-delay:0.6s;
}

@keyframes cardSlideUp{
0%{
opacity:0;
transform:translateY(60px);
}
100%{
opacity:1;
transform:translateY(0);
}
}

.card:hover{
transform:translateY(-12px) scale(1.03);
box-shadow:0 25px 45px rgba(0,0,0,0.25);
border-color:var(--gold);
transition:0.3s;
}

.card img{
width:100%;
height:200px;
object-fit:cover;
}

.card h3{
    text-align: center;
    color: var(--red);
    padding: 15px;
}

.card h4{
    color: var(--red);
    padding: 15px;
}

.card p{
padding:0 15px 20px;
text-align: justify;
}

.card-link{
text-decoration:none;
color:inherit;
display:block;
}

/* FOOTER */

footer{
background:linear-gradient(90deg,var(--green-dark),var(--red-dark));
color:white;
padding:40px 0;
}

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

.footer-logo{
font-size:24px;
font-weight:bold;
}

.footer-links ul{
list-style:none;
}

.footer-links li{
margin:8px 0;
}

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

.footer-links a:hover{
color:var(--gold);
}

.copyright{
text-align:center;
margin-top:20px;
}

/* MOBILE */

@media(max-width:768px){

.hero-grid{
grid-template-columns:1fr;
text-align:center;
}

.nav-links{
display:none;
}

}
.section-title{
text-align:center;
margin-bottom:30px;
}

.section-title h2{
font-size:36px;
color:var(--red-dark);
}

.underline{
width:80px;
height:4px;
background:var(--gold);
margin:10px auto;
border-radius:5px;
}

.video-container{
max-width:800px;
margin:40px auto;
border-radius:20px;
overflow:hidden;
box-shadow:var(--shadow);
border:3px solid var(--gold);
}
.contact-form{
max-width:600px;
margin:auto;
display:flex;
flex-direction:column;
gap:15px;
}

.contact-form input,
.contact-form textarea{
padding:12px;
border-radius:10px;
border:1px solid #ccc;
font-size:16px;
}

.contact-form button{
border:none;
cursor:pointer;
}