* { margin: 0; padding: 0; box-sizing: border-box; font-family: Arial, sans-serif; }
body { background: #f9f9f9; color: #333; }
header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 2rem; background: #0055a4; position: relative; }
header .logo { max-height: 50px; }
header .menu-toggle { display: none; font-size: 1.5rem; background: none; border: none; color: #fff; cursor: pointer; }
header nav { display: flex; }
header nav a { color: #fff; margin-left: 1rem; text-decoration: none; font-weight: bold; }
.hero { text-align: center; padding: 4rem 2rem; background: #fff; }
.hero .portrait { width: 200px; max-width: 100%; border-radius: 50%; border: 5px solid #0055a4; }
.hero h1 { margin-top: 1rem; font-size: 2.5rem; }
.hero span { font-size: 1.2rem; color: #777; }
#voteBtn { margin-top: 1rem; padding: 0.8rem 1.2rem; font-size: 1rem; background: #ed2939; color: #fff; border: none; cursor: pointer; border-radius: 5px; }
#voteCount { color: #FFF; }
.programme, .bio, .contact { padding: 2rem; background: #fff; margin: 1rem 2rem; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
.programme h2, .bio h2, .contact h2 { margin-bottom: 1rem; color: #0055a4; }
.programme ul { list-style-type: disc; margin-left: 1.5rem; }
.programme li { margin-bottom: 0.8rem; }
.contact form { display: flex; flex-direction: column; }
.contact label { margin-bottom: 0.5rem; }
.contact input, .contact textarea { padding: 0.5rem; margin-top: 0.2rem; border: 1px solid #ccc; border-radius: 4px; }
.contact button { margin-top: 1rem; padding: 0.6rem 1rem; background: #0055a4; color: #fff; border: none; border-radius: 5px; cursor: pointer; }
footer { text-align: center; padding: 1rem; font-size: 0.9rem; color: #777; }

/* Responsive */
@media (max-width: 768px) {
    header { padding: 1rem; }
    header .menu-toggle { display: block; }
    header nav {
        display: none;
        flex-direction: column;
        background: #0055a4;
        position: absolute;
        top: 100%; left: 0; right: 0;
        padding: 1rem;
    }
    header nav.show { display: flex; }
    header nav a { margin: 0.5rem 0; }

    .hero { padding: 2rem 1rem; }
    .hero h1 { font-size: 2rem; }

    .programme, .bio, .contact { margin: 1rem; padding: 1.5rem; }
}