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

body{
margin:0;
font-family: "Inter","Helvetica Neue",Arial,sans-serif;
line-height:1.6;
background:#e6eaf0;
color:#222;
}

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

.hero{
position:relative;
background:
linear-gradient(rgba(0,0,0,0.45),rgba(0,0,0,0.45)),
url("../images/Budapest-Parliament-0001.jpg");

background-size:cover;
background-position:center;
background-repeat:no-repeat;

color:white;
text-align:center;

padding:140px 20px;
}

.hero-content{
max-width:900px;
margin:auto;
}

.hero h1{
font-size:42px;
margin-bottom:10px;
}


.hero h2{
font-weight:800;
max-width:900px;
margin:0 auto 30px;
font-size:30px;
color:white;
text-shadow:0 3px 8px rgba(0,0,0,0.6);
}

.hero-sub{
font-size:20px;
font-weight:700;
color:white;
margin-bottom:15px;
letter-spacing:0.3px;
}

.hero-sub a,
.hero-sub a:link,
.hero-sub a:visited{
color:white !important;
text-decoration:none;
font-weight:700;
}

.hero-sub a:hover{
color:white !important;
text-decoration:underline;
}

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

.hero-buttons .btn{
margin:6px;
}

.btn{
display:inline-block;
padding:10px 18px;
background:white;
color:#0b5ed7;
border-radius:6px;
text-decoration:none;
font-weight:600;
}

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

.section{
max-width:1000px;
margin:60px auto;
padding:0 20px;
}

.section-inner{

text-align: justify;
background:white;

padding:40px;

border-radius:12px;

box-shadow:
0 2px 6px rgba(0,0,0,0.05),
0 14px 40px rgba(0,0,0,0.08);

}

/* ================= HEADINGS ================= */

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

.section h2::after{
content:"";
display:block;
width:60px;
height:3px;
background:#0b5ed7;
margin:12px auto 0;
border-radius:2px;
}

/* ================= TEXT ================= */

.section p,
.section li{
color:#333;
}

ul{
padding-left:22px;
margin:10px 0;
}

li{
margin-bottom:10px;
}

/* ================= GRID LAYOUT ================= */

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

/* ================= SPEAKER / ORGANIZER CARDS ================= */

.speaker{

text-align:center;

}

.speaker img{

width:120px;
height:120px;

object-fit:cover;

border-radius:50%;

display:block;

margin:0 auto 10px;

}

.speaker h3{
margin:8px 0 4px 0;
font-size:17px;
}

.speaker p{
font-size:14px;
margin:0;
}

/* ================= PROGRAM COMMITTEE ================= */

.pc-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:4px 20px;

}

.pc-grid p{
  margin:4px 0;
  line-height:1.35;
}

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


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

footer{
text-align:center;
padding:25px;
background:#0b5ed7;
color:white;
margin-top:60px;
}


footer a,
footer a:link,
footer a:visited{
color:white !important;
text-decoration:underline;
}

footer a:hover{
color:#e6e6e6 !important;
}
/* ================= MOBILE ================= */

@media(max-width:768px){

.hero{
padding:80px 20px;
}

.hero h1{
font-size:30px;
}


.hero h2{
font-size:20px;
font-weight:800;
}

.hero-sub{
font-size:20px;
font-weight:700;
color:white;
margin-bottom:15px;
letter-spacing:0.3px;
}

.hero-sub a{
color:white;
text-decoration:underline;
font-weight:700;
}

.hero-sub a:hover{
color:white;
text-decoration:underline;
}

.grid{
grid-template-columns:1fr;
}

.pc-grid{
grid-template-columns:1fr;
}

.section-inner{
padding:25px;
}

}
