/* =========================
   HERO SECTION
========================= */

.hero{
background:linear-gradient(135deg,#1e3a8a,#3b82f6);
color:white;
padding:60px 20px;
text-align:center;
border-radius:0 0 18px 18px;
box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

.hero-title{
font-size:34px;
font-weight:700;
margin-bottom:8px;
letter-spacing:1px;
}

.hero-subtitle{
font-size:18px;
opacity:.95;
max-width:800px;
margin:auto;
}

/* =========================
   SECTION SPACING
========================= */

.section{
margin:50px auto;
max-width:1100px;
padding:0 15px;
}

/* =========================
   GRID SYSTEM
========================= */

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:25px;
}

/* =========================
   IMAGE SLIDER
========================= */

.image-slider{
width:100%;
max-height:420px;
overflow:hidden;
margin:40px 0;
border-radius:16px;
box-shadow:0 8px 25px rgba(0,0,0,0.12);
position:relative;
}

.slider-images{
display:flex;
transition:transform .6s ease;
}

.slide{
min-width:100%;
height:100%;
object-fit:cover;
}

/* =========================
   SLIDER DOTS
========================= */

.dots-container{
position:absolute;
bottom:15px;
left:50%;
transform:translateX(-50%);
display:flex;
gap:10px;
}

.dot{
width:12px;
height:12px;
background:rgba(255,255,255,0.5);
border-radius:50%;
cursor:pointer;
transition:.3s;
}

.dot.active,
.dot:hover{
background:white;
transform:scale(1.2);
}

/* =========================
   DESCRIPTION BOX
========================= */

.description-box{
background:white;
padding:35px 30px;
margin:40px auto;
border-radius:16px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
border-left:6px solid #2563eb;
max-width:1100px;
}

.description-title{
font-size:28px;
color:#1e293b;
margin-bottom:20px;
border-bottom:3px solid #2563eb;
padding-bottom:10px;
}

/* =========================
   SEE MORE BUTTON
========================= */

.see-more-button{
display:inline-block;
padding:12px 26px;
background:#2563eb;
color:white;
text-decoration:none;
border-radius:8px;
font-weight:600;
transition:.3s;
}

.see-more-button:hover{
background:#1d4ed8;
transform:translateY(-2px);
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width:1024px){

.hero-title{
font-size:28px;
}

}

@media (max-width:768px){

.hero{
padding:45px 15px;
}

.hero-title{
font-size:24px;
}

.hero-subtitle{
font-size:16px;
}

.image-slider{
max-height:320px;
}

.description-box{
padding:25px 20px;
}

.description-title{
font-size:22px;
}

}

@media (max-width:480px){

.hero-title{
font-size:20px;
}

.image-slider{
max-height:240px;
}

}