:root{--vitre:#F8F7F2;--encre:#0D0D0D;--rev:#F5C518;--gris:#6b6a63;--filet:#d9d6c8;--w:1180px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--vitre);color:var(--encre);font:16px/1.5 'DM Sans',system-ui,sans-serif}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--encre);outline-offset:2px}
.skip{position:absolute;left:-999px;top:8px;background:var(--encre);color:#fff;padding:8px 12px;z-index:10}
.skip:focus{left:8px}
.wrap{max-width:var(--w);margin:0 auto;padding:0 16px}
.logo{font:400 64px/1.15 'DM Serif Display',serif;letter-spacing:-.01em;padding-bottom:6px;display:inline-block}
.logo i{font-style:normal;background:linear-gradient(transparent 62%,var(--rev) 62%)}
.logo.sm{font-size:26px}
.verd{display:inline-block;background:var(--rev);color:var(--encre);font:800 11px/1 'DM Sans';text-transform:uppercase;letter-spacing:.08em;padding:5px 8px;border-radius:3px}
.kick{font:700 11px/1.3 'DM Sans';text-transform:uppercase;letter-spacing:.09em;color:var(--gris)}
.meta{color:var(--gris);font-size:13px}
.src{border-left:3px solid var(--rev);padding-left:10px;color:var(--gris);font-size:13px}
.btn{display:inline-block;background:var(--encre);color:#fff;font:700 15px 'DM Sans';padding:12px 20px;border-radius:4px;border:0;cursor:pointer}
.btn:hover{text-decoration:none;opacity:.88}
.btn.y{background:var(--rev);color:var(--encre)}
/* Masthead */
.mast{text-align:center;padding-top:20px;position:relative}
.mast-logo:hover{text-decoration:none}
.slogan{color:var(--gris);font-size:14px;margin-top:2px;padding-bottom:12px}
nav.main{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;padding:12px 0;border-top:3px double var(--encre);border-bottom:1px solid var(--encre);font:500 13px 'DM Sans';text-transform:uppercase;letter-spacing:.07em}
nav.main a.on{font-weight:700;border-bottom:3px solid var(--rev);padding-bottom:2px}
.burger{display:none}
/* Accueil */
.top{display:grid;grid-template-columns:1fr 2fr 1fr}
.top>*{padding:24px 20px;border-right:1px solid var(--filet)}
.top>:first-child{padding-left:0}.top>:last-child{border:0;padding-right:0}
.item{padding:14px 0;border-bottom:1px solid var(--filet)}
.top .col-l{padding-top:24px}
.col-l .item:first-child{padding-top:0}.col-l .item:last-child{border:0}
.item h3{font:400 21px/1.18 'DM Serif Display',serif;margin:6px 0}
.item p{font-size:14px;color:#3b3a36;margin-bottom:8px}
.lead h1{font:400 54px/1.04 'DM Serif Display',serif;margin:10px 0 14px;letter-spacing:-.01em}
.lead .chapo,.art .chapo{font-size:19px;line-height:1.45;margin:14px 0}
.chart{margin:20px 0;padding:18px;background:#fff;border:1px solid var(--filet)}
.chart .row{display:grid;grid-template-columns:150px 1fr 40px;gap:10px;align-items:center;margin:8px 0;font-size:14px}
.chart .bar{height:18px;background:var(--encre)}.chart .bar.k{background:var(--rev)}
.chart b{font-size:18px}
.lead .src{margin-bottom:14px}
h2.side{font:700 12px 'DM Sans';text-transform:uppercase;letter-spacing:.09em;border-bottom:2px solid var(--encre);padding-bottom:6px;margin-bottom:6px}
.objs li{list-style:none;padding:12px 0;border-bottom:1px solid var(--filet);font:400 18px/1.2 'DM Serif Display',serif}
.objs li span{display:block;font:500 12px 'DM Sans';color:var(--gris);margin-top:4px}
.box{background:var(--encre);color:#fff;padding:18px;margin-top:20px}
.box h3{font:400 22px/1.15 'DM Serif Display',serif;margin-bottom:8px}
.box p{font-size:14px;color:#ccc;margin-bottom:12px}
.box .news{display:grid;gap:8px}
.news input{padding:12px;border:1px solid var(--encre);border-radius:4px;font:inherit;background:#fff;width:100%}
.box .btn{width:100%;text-align:center}
.rub{margin-top:40px;border-top:3px solid var(--encre)}
.rub h2{font:700 13px 'DM Sans';text-transform:uppercase;letter-spacing:.1em;padding:10px 0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr)}
.grid3>*{padding:0 20px 20px;border-right:1px solid var(--filet)}
.grid3>:first-child{padding-left:0}.grid3>:nth-child(3n){border:0}
.grid3 h3,.grid3 h2{font:400 24px/1.15 'DM Serif Display',serif;margin:8px 0}
.grid3 .verd{margin-bottom:4px}
/* Rubrique */
.rub-title{font:400 48px/1.05 'DM Serif Display',serif;padding:36px 0 20px;border-bottom:3px solid var(--encre);margin-bottom:24px}
.listing>*{padding-bottom:32px}
.listing p:not(.meta){font-size:15px;color:#3b3a36;margin-bottom:10px}
/* Article */
.art{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;padding-top:36px}
.art h1{font:400 clamp(34px,4.6vw,54px)/1.06 'DM Serif Display',serif;margin:12px 0 16px;letter-spacing:-.01em}
.art .byl{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:18px 0;padding:12px 0;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.art p.t{font-size:18px;line-height:1.65;max-width:38em;margin:16px 0}
.art .note{color:var(--gris);font-style:italic;margin:16px 0}
.art aside{align-self:start;position:sticky;top:20px}
/* Pied */
footer{border-top:3px double var(--encre);margin-top:64px;padding:40px 0;font-size:14px;color:var(--gris)}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}
footer h5{font:700 12px 'DM Sans';text-transform:uppercase;letter-spacing:.08em;color:var(--encre);margin-bottom:8px}
footer li{list-style:none;padding:3px 0}
/* Mobile */
@media(max-width:900px){
 .logo{font-size:46px}
 .top,.grid3,.art{grid-template-columns:1fr}
 .top>*,.grid3>*{border:0;padding:16px 0;border-bottom:1px solid var(--filet)}
 .lead{order:-1}
 .lead h1{font-size:38px}
 .chart .row{grid-template-columns:110px 1fr 36px}
 .art{gap:24px}.art aside{position:static}
 footer .cols{grid-template-columns:1fr 1fr}
 .rub-title{font-size:34px}
 .burger{display:flex;position:absolute;right:16px;top:28px;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer}
 .burger span{width:24px;height:2px;background:var(--encre)}
 nav.main{display:none;flex-direction:column;gap:0;text-align:left;padding:0}
 nav.main.open{display:flex}
 nav.main a{padding:14px 0;border-bottom:1px solid var(--filet)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Analyse des programmes */
.sec-title{font:700 13px 'DM Sans';text-transform:uppercase;letter-spacing:.1em;margin:32px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--encre)}
.cands{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none}
.cands a{display:flex;flex-direction:column;gap:6px;padding:20px;background:#fff;border:1px solid var(--filet);border-top:4px solid var(--rev);min-height:130px}
.cands a:hover{text-decoration:none;border-color:var(--encre);border-top-color:var(--rev)}
.cands b{font:400 24px/1.1 'DM Serif Display',serif}
.cands .meta{margin-top:auto}
.ordre{margin:14px 0 8px}
.axes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none}
.axe{background:#fff;border:1px solid var(--filet);padding:20px;display:flex;flex-direction:column;gap:10px;min-height:150px}
.axe .meta{margin-top:auto}
.synth{background:#fff;border:1px solid var(--filet);padding:24px}
@media(max-width:900px){.cands{grid-template-columns:1fr 1fr}.axes{grid-template-columns:1fr}}
main>.kick:first-child{margin-top:28px}
.rub-title{padding-top:12px}
main>.kick+.rub-title{padding-top:12px}
/* Formulaire d'inscription */
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.box .msg{color:#fff;font-size:14px;margin:8px 0 0;min-height:1.2em}
.box .msg[data-ok="0"]{color:#ffb4a8}
.box .msg[data-ok="1"]{color:var(--rev)}
.box .legal{font-size:12px;color:#aaa;margin:10px 0 0}
.btn[disabled]{opacity:.6;cursor:wait}
