:root{--encre:#26215c;--encre2:#3b3489;--corail:#ef5b3b;--corail2:#c9431f;--miel:#ffd166;--fond:#faf8f4;--carte:#fff;--texte:#1f1d2b;--doux:#5d5a6e;--ligne:#e6e1d6;--ecole:#dff1ea;--ecole-t:#17624a;--salon:#e7e5fb;--salon-t:#3b3489;--sport:#fde6df;--sport-t:#a2361a;--festival:#fff2cf;--festival-t:#7a5600;--civique:#e2eefb;--civique-t:#1f4f86}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--fond);color:var(--texte);font:17px/1.62 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--encre2)}a:hover{color:var(--corail2)}img,svg{max-width:100%}
.w{max-width:1080px;margin:0 auto;padding:0 20px}
.saut{position:absolute;left:-999px}.saut:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:9}
header.site{background:var(--fond);border-bottom:1px solid var(--ligne);position:sticky;top:0;z-index:5}
header.site .w{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:64px;flex-wrap:wrap}
header.site .logo svg{height:30px;width:auto;display:block}
.droite{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
nav.menu{display:flex;gap:16px;flex-wrap:wrap;font-size:15px}nav.menu a{text-decoration:none;color:var(--texte)}nav.menu a:hover,nav.menu a[aria-current]{color:var(--corail2)}
.langues{display:flex;gap:4px;font-size:13px}.langues a{text-decoration:none;color:var(--doux);border:1px solid var(--ligne);border-radius:6px;padding:2px 8px}.langues a[aria-current]{background:var(--encre);color:#fff;border-color:var(--encre)}
h1,h2,h3{font-family:"Space Grotesk",system-ui,sans-serif;color:var(--encre);line-height:1.2;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(28px,4.4vw,44px);margin:.4em 0 .3em}h2{font-size:clamp(21px,2.8vw,28px);margin:1.6em 0 .5em}h3{font-size:19px;margin:1.1em 0 .4em}
.chapo{font-size:18.5px;color:var(--doux);max-width:780px}
.fil{font-size:14px;color:var(--doux);margin-top:22px}.fil a{color:var(--doux)}
.hero{padding:24px 0 6px}
.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:18px 0}
.carte{background:var(--carte);border:1px solid var(--ligne);border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--texte);display:block;border-top:4px solid var(--encre)}
.carte:hover{border-top-color:var(--corail)}.carte b{font-family:"Space Grotesk",system-ui,sans-serif;color:var(--encre);font-size:18px;display:block;margin-bottom:4px}.carte span{font-size:14px;color:var(--doux)}
.principes{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:16px 0}
.principes div{background:var(--carte);border:1px solid var(--ligne);border-radius:12px;padding:16px 18px}.principes b{display:block;color:var(--encre);margin-bottom:4px}.principes p{margin:0;font-size:15px;color:var(--doux)}
.bouton{display:inline-block;background:var(--encre);color:#fff!important;text-decoration:none;padding:11px 20px;border-radius:8px;font-weight:600;margin:10px 8px 10px 0}
.bouton:hover{background:var(--encre2)}.bouton.corail{background:var(--corail)}.bouton.corail:hover{background:var(--corail2)}
article p,article li,main>p,.prose p,.prose li{max-width:780px}
.note{font-size:14px;color:var(--doux)}
table{width:100%;border-collapse:collapse;background:var(--carte);border:1px solid var(--ligne);font-size:15px}
caption{text-align:left;font-weight:600;padding:8px 0;color:var(--encre)}
th,td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--ligne);vertical-align:top}th{background:#efece4;color:var(--encre);font-weight:600}
td.n,th.n{text-align:right;white-space:nowrap}.tab{overflow-x:auto;margin:12px 0}
td.quand{white-space:nowrap;font-weight:600}td .src{font-size:13px;color:var(--doux)}
.tag{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:1px 9px;white-space:nowrap}
.t-ecole{background:var(--ecole);color:var(--ecole-t)}.t-salon{background:var(--salon);color:var(--salon-t)}.t-sport{background:var(--sport);color:var(--sport-t)}.t-festival{background:var(--festival);color:var(--festival-t)}.t-civique{background:var(--civique);color:var(--civique-t)}
.sansdate{color:var(--doux);font-weight:400;font-style:italic}
.barres{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;align-items:end;height:150px;margin:24px 0 4px;padding:0 2px}
.barres div{background:var(--encre2);border-radius:5px 5px 2px 2px;position:relative;min-height:4px}.barres div.haut{background:var(--corail)}
.barres div span{position:absolute;top:-20px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--doux);white-space:nowrap}
.mois{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;font-size:12px;color:var(--doux);text-align:center}
.annee td{min-width:92px;font-size:13px}.annee td .tag{display:block;margin:2px 0;white-space:normal;line-height:1.3;padding:2px 7px;border-radius:6px}.annee th.v{white-space:nowrap}
.legende{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
details{margin:10px 0}summary{cursor:pointer;color:var(--encre2);font-size:15px}
.encart{background:var(--carte);border-left:4px solid var(--corail);padding:14px 18px;margin:18px 0;border-radius:0 10px 10px 0}
footer.site{margin-top:60px;background:var(--encre);color:#dcd9f0;font-size:14px}footer.site .w{padding-top:26px;padding-bottom:26px}
footer.site a{color:#fff}footer.site .liens{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0}
@media (max-width:640px){header.site{position:static}body{font-size:16px}nav.menu{gap:10px;font-size:14px}.barres{gap:3px;height:120px}.barres div span{display:none}}
