/* 1. Base */
:root{--bleu:#354D76;--bleu2:#657DA6;--ciel:#A4BEDF;--fond:#F8F8FF;--trait:#DDE;--rouge:#800000;--texte:#26303f}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fond);color:var(--texte);font:17px/1.65 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--bleu);text-underline-offset:3px}
a:hover{color:var(--rouge)}
.cadre{width:100%;max-width:1040px;margin:0 auto;padding:0 20px}
/* 2. En-tete */
.entete{background:linear-gradient(180deg,var(--bleu),#2b3f62);color:#fff;border-bottom:4px solid var(--ciel)}
.entete .cadre{display:flex;flex-direction:column;gap:14px;padding-top:22px;padding-bottom:16px}
.marque{color:#fff;text-decoration:none;display:flex;flex-direction:column}
.marque strong{font:700 30px/1.15 Georgia,"Times New Roman",serif;letter-spacing:.3px}
.marque span{color:var(--ciel);font-size:14px;margin-top:4px}
.marque:hover{color:#fff}
.menu{display:flex;flex-wrap:wrap;gap:4px 6px}
.menu a{color:#fff;text-decoration:none;font-size:15px;padding:7px 11px;border-radius:5px;background:rgba(255,255,255,.08)}
.menu a:hover,.menu a[aria-current]{background:var(--ciel);color:#1f2f4d}
/* 3. Contenu */
main{padding-top:30px;padding-bottom:56px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--bleu);line-height:1.25}
h1{font-size:34px;margin:10px 0 22px;padding-bottom:12px;border-bottom:1px solid var(--trait)}
h2{font-size:25px;margin:38px 0 12px}
h3{font-size:20px;margin:28px 0 8px;color:var(--bleu2)}
p{margin:0 0 16px}
ul{margin:0 0 18px;padding-left:22px}
li{margin-bottom:6px}
.chapo{font-size:19px;color:#3d4b61}
figure{margin:24px 0}
figure img{border-radius:6px;box-shadow:0 2px 14px rgba(53,77,118,.18);margin:0 auto}
.sous{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.sous a{font-size:14px;text-decoration:none;padding:5px 12px;border:1px solid var(--ciel);border-radius:20px;background:#fff}
.sous a[aria-current]{background:var(--bleu);border-color:var(--bleu);color:#fff}
/* 4. Accueil */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;margin-bottom:10px}
.hero figure{margin:0}
.cartes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0 8px}
.carte{display:block;background:#fff;border:1px solid var(--trait);border-top:3px solid var(--bleu2);border-radius:6px;padding:16px 18px;text-decoration:none;color:var(--texte)}
.carte strong{display:block;font:700 19px/1.3 Georgia,serif;color:var(--bleu);margin-bottom:4px}
.carte span{font-size:15px;color:#566}
.carte:hover{border-top-color:var(--rouge);color:var(--texte)}
.infos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bloc{background:#fff;border:1px solid var(--trait);border-left:4px solid var(--ciel);border-radius:6px;padding:16px 20px}
.bloc h2,.bloc h3{margin-top:0}
/* 5. Publications, galerie */
.pub{background:#fff;border:1px solid var(--trait);border-radius:6px;padding:16px 20px;margin-bottom:14px}
.pub h2{font-size:21px;margin:0 0 4px}
.pub .meta{font-size:14px;color:var(--bleu2);margin-bottom:8px}
.pub p:last-child{margin-bottom:0}
.liste li{font-size:18px}
.galerie{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.galerie figure{margin:0;background:#101522;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.galerie img{box-shadow:none;border-radius:0;max-height:340px;width:auto}
/* 6. Pied */
.pied{background:var(--bleu);color:#e6ecf7;font-size:15px;padding:26px 0}
.pied .cadre{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 30px}
.pied p{margin:0}
/* 7. Mobile */
@media(max-width:760px){
body{font-size:16px}
h1{font-size:27px}h2{font-size:22px}
.marque strong{font-size:25px}
.hero,.infos{grid-template-columns:1fr}
.cartes,.galerie{grid-template-columns:1fr 1fr}
.menu a{font-size:14px;padding:6px 9px}
}
@media(max-width:420px){.cartes{grid-template-columns:1fr}}
