:root { --navy:#0b2540; --accent:#d9691c; --ink:#1c2733; --muted:#5b6b7a; --bg:#f6f8fa; --line:#dbe2e8; }
* { box-sizing:border-box; }
body { margin:0; font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--ink); background:#fff; }
.wrap { max-width:960px; margin:0 auto; padding:0 20px; }
a { color:var(--accent); }
/* Bandeau image : fondu vers le bleu marine du menu */
.banner { position:relative; background:var(--navy); line-height:0; }
.banner img { display:block; width:100%; height:clamp(140px,24vw,300px); object-fit:cover; object-position:center 45%; }
.banner::after { content:""; position:absolute; inset:auto 0 0 0; height:45%; background:linear-gradient(to bottom, rgba(11,37,64,0), var(--navy)); }
.site-header { background:var(--navy); }
.bar { display:flex; align-items:center; gap:24px; min-height:64px; flex-wrap:wrap; }
.brand { color:#fff; font-weight:800; font-size:1.4rem; letter-spacing:.08em; text-decoration:none; }
.menu { display:flex; gap:20px; flex:1; }
.menu a, .lang a { color:#c9d6e3; text-decoration:none; padding:4px 0; }
.menu a:hover, .lang a:hover { color:#fff; }
.menu a[aria-current], .lang a[aria-current] { color:#fff; border-bottom:2px solid var(--accent); }
.lang { display:flex; gap:12px; font-size:.9rem; font-weight:600; }
main { padding-top:32px; padding-bottom:48px; min-height:60vh; }
h1 { color:var(--navy); line-height:1.2; }
h2 { color:var(--navy); }
.hero { padding:24px 0 8px; }
.hero h1 { font-size:2.2rem; margin:0 0 8px; }
.lead { font-size:1.2rem; color:var(--muted); margin:0; }
.activities { counter-reset:act; margin-top:24px; }
.activities h2 { counter-increment:act; margin-top:36px; padding-top:20px; border-top:3px solid var(--accent); }
.activities h2::before { content:counter(act) ". "; color:var(--accent); }
.card { border:1px solid var(--line); background:var(--bg); border-radius:8px; padding:4px 20px; margin:20px 0; }
.card h2 { margin-bottom:0; }
.meta { color:var(--muted); font-size:.9rem; margin-top:0; }
.back { font-size:.9rem; text-decoration:none; }
img { max-width:100%; height:auto; }
/* Formulaire */
form .form-field { margin:16px 0; }
form label, form .form-label { font-weight:600; display:block; margin-bottom:4px; }
form input[type=text], form input[type=email], form textarea { width:100%; padding:10px; font:inherit; border:1px solid var(--line); border-radius:6px; }
form .buttons button, form button[type=submit] { background:var(--accent); color:#fff; border:0; padding:10px 22px; font:inherit; font-weight:600; border-radius:6px; cursor:pointer; }
.notices { border-left:4px solid #2e9e5b; background:#eef8f2; padding:8px 16px; border-radius:4px; }
.notices.red { border-color:#c0392b; background:#fbeeec; }
/* Piège anti-robot : champ invisible pour les humains */
.form-field.honeypot, .form-field.hidden { display:none; }
.site-footer { background:var(--bg); border-top:1px solid var(--line); padding:20px 0; color:var(--muted); font-size:.9rem; }
@media (max-width:600px) { .bar { padding:10px 20px; } .hero h1 { font-size:1.7rem; } }
