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

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

body {
    background: linear-gradient(135deg, #103050, #174565);
    color: #ffffff;
    line-height: 1.6;
}


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

.hero {
    padding: 70px 20px;
    text-align: center;
}

.hero h1 {
    font-size: 34px;
    margin-bottom: 15px;
}

.hero p {
    font-size: 16px;
    color: #cbd6e3;
}


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

.speaker-section {
    padding: 60px 20px;
    text-align: center;
}

.speaker-section.light {
    background: rgba(255,255,255,0.03);
}

.speaker-section h2 {
    font-size: 26px;
    margin-bottom: 45px;
    color: #2dd4ff;
}


/* ===============================
   GRID (2 Per Row)
================================= */

.speaker-grid {
    max-width: 900px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 35px 60px;
}


/* Center last card ONLY if row is incomplete */
.speaker-grid .speaker-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: 50%;
    margin: 0 auto;
}


/* ===============================
   SPEAKER CARD
================================= */

.speaker-card {
    padding: 30px 20px;
    border-radius: 16px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    transition: 0.3s ease;
    text-align: center;
}

.speaker-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.4);
}


/* Image */
.speaker-card img {
    width: 110px;
    height: 110px;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 18px;
    border: 3px solid #2dd4ff;
}


/* Name */
.speaker-card h3 {
    font-size: 18px;
    margin-bottom: 8px;
}


/* Title */
.speaker-card .title {
    font-size: 14px;
    color: #cbd6e3;
}


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

@media (max-width: 768px) {

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

    .speaker-grid .speaker-card:last-child:nth-child(odd) {
        width: 100%;
        grid-column: auto;
    }

}
