
:root{
  --fond:#faf8f4; --encre:#1c2230; --doux:#5a6272; --filet:#d9d4c8;
  --marine:#243a66; --accent:#a8434f;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--fond);color:var(--encre);font-family:var(--serif);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 32px}

/* En-tête */
header{border-bottom:1px solid var(--filet)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}
.marque{display:flex;align-items:center;gap:16px}
.marque img{height:46px;width:auto;display:block}
.marque span{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--doux);border-left:1px solid var(--filet);padding-left:16px;line-height:1.4}
nav{display:flex;gap:36px;font-family:var(--sans);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
nav a{padding:6px 0;border-bottom:1px solid transparent;color:var(--doux);transition:color .2s,border-color .2s}
nav a:hover,nav a.on{color:var(--marine);border-color:var(--marine)}

/* Ouverture */
.ouverture{padding-top:104px;padding-bottom:88px}
.sur{font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:28px}
h1{font-weight:400;font-size:clamp(34px,5.2vw,58px);line-height:1.12;letter-spacing:-.01em;color:var(--marine);max-width:16em}
.chapo{margin-top:32px;max-width:36em;color:var(--doux);font-size:20px}

/* Deux entrées */
.entrees{border-top:1px solid var(--encre);border-bottom:1px solid var(--filet)}
.entrees .wrap{display:grid;grid-template-columns:1fr 1fr}
.entree{padding:56px 48px 60px 0;display:block;position:relative}
.entree + .entree{padding:56px 0 60px 48px;border-left:1px solid var(--filet)}
.num{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--accent);letter-spacing:.04em}
.entree h2{font-weight:400;font-size:32px;line-height:1.2;margin:10px 0 18px;color:var(--marine)}
.entree p{color:var(--doux);font-size:17px;max-width:30em}
.entree .agr{margin-top:18px;font-family:var(--sans);font-size:12.5px;letter-spacing:.04em;color:var(--encre)}
.entree .agr:before{content:"";display:inline-block;width:22px;height:1px;background:var(--accent);vertical-align:middle;margin-right:10px}
.lien{display:inline-block;margin-top:28px;font-family:var(--sans);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--marine);border-bottom:1px solid var(--marine);padding-bottom:3px;transition:letter-spacing .25s}
.entree:hover .lien{letter-spacing:.14em}

/* Repères */
.reperes{padding:76px 0 24px}
.reperes .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.rep{padding:0 24px;border-left:1px solid var(--filet)}
.rep:first-child{padding-left:0;border-left:0}
.rep b{display:block;font-weight:400;font-size:44px;line-height:1;color:var(--marine)}
.rep span{display:block;margin-top:12px;font-family:var(--sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--doux);line-height:1.5}

/* Sections */
section.bloc{padding:88px 0 0}
.titre{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:baseline}
.titre .sur{margin:0}
.titre h3{font-weight:400;font-size:30px;line-height:1.25;color:var(--marine);max-width:22em}
.corps{display:grid;grid-template-columns:200px 1fr;gap:32px;margin-top:28px}
.corps > div{max-width:38em;color:var(--doux)}
.corps p + p{margin-top:1em}

.refs{list-style:none;border-top:1px solid var(--encre)}
.refs li{display:grid;grid-template-columns:1fr auto;padding:18px 0;border-bottom:1px solid var(--filet);align-items:baseline}
.refs li strong{font-weight:400;font-size:21px;color:var(--encre)}
.refs li span{font-family:var(--sans);font-size:13px;letter-spacing:.04em;color:var(--doux)}

/* Contact / pied */
.contact{margin-top:104px;border-top:1px solid var(--encre);padding:56px 0 48px}
.contact .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:48px}
.contact h4{font-family:var(--sans);font-weight:400;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.contact p,.contact a{font-size:16px;color:var(--encre);line-height:1.9}
.contact a:hover{color:var(--marine)}
.contact .phare{font-size:26px;color:var(--marine);line-height:1.35;margin-bottom:14px;display:block}
.mentions{border-top:1px solid var(--filet);padding:22px 0 40px;font-family:var(--sans);font-size:12px;color:var(--doux);letter-spacing:.02em}
.mentions .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.mentions a:hover{color:var(--marine)}


/* Agrément ministériel */
.tri{flex:none;display:block}
.agrement-fort{display:flex;gap:20px;align-items:center;margin-top:40px;padding:20px 0;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);max-width:44em}
.agrement-fort b{display:block;font-weight:400;font-size:21px;line-height:1.3;color:var(--marine)}
.agrement-fort span{display:block;margin-top:5px;font-family:var(--sans);font-size:12.5px;letter-spacing:.03em;color:var(--doux);line-height:1.5}
.agr-fort{display:flex;gap:14px;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--filet);max-width:30em}
.agr-fort b{display:block;font-weight:400;font-size:16px;line-height:1.35;color:var(--marine)}
.agr-fort i{display:block;margin-top:2px;font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.04em;color:var(--doux)}


/* Formation phare */
.modalites{display:grid;grid-template-columns:max-content 1fr;gap:12px 32px;max-width:44em;padding:22px 0;border-top:1px solid var(--encre);border-bottom:1px solid var(--filet);margin-bottom:12px}
.modalites dt{font-family:var(--sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding-top:5px}
.modalites dd{color:var(--encre);font-size:17px}
.sous-titre{margin:48px 0 14px;font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.points{list-style:none;border-top:1px solid var(--encre)}
.points li{padding:14px 0;border-bottom:1px solid var(--filet);color:var(--encre);font-size:17.5px}


/* Parcours du formateur */
.chrono{list-style:none;border-top:1px solid var(--encre);max-width:46em}
.chrono li{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--filet)}
.chrono.sans-date li{grid-template-columns:1fr}
.chrono time{font-style:italic;color:var(--accent);font-size:16px;line-height:1.5}
.chrono b{display:block;font-weight:400;color:var(--encre);font-size:18px;line-height:1.4}
.chrono span{display:block;margin-top:3px;font-family:var(--sans);font-size:13px;color:var(--doux);line-height:1.55}


/* Chiffres et paroles d'élus */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--encre);border-bottom:1px solid var(--filet);padding:28px 0;margin-top:4px}
.stat{padding:0 20px;border-left:1px solid var(--filet)}
.stat:first-child{padding-left:0;border-left:0}
.stat b{display:block;font-weight:400;font-size:38px;line-height:1;color:var(--marine)}
.stat b small{font-size:18px;color:var(--doux)}
.stat span{display:block;margin-top:12px;font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--doux);line-height:1.55}
.note-stats{margin:10px 0 36px;font-family:var(--sans);font-size:12px;color:var(--doux);line-height:1.5}
.paroles{display:grid;grid-template-columns:1fr 1fr;gap:30px 48px;margin-top:8px}
.paroles blockquote{border-left:1px solid var(--accent);padding-left:20px;font-style:italic;font-size:21px;line-height:1.45;color:var(--marine)}

/* Pages intérieures */
.entete-page{padding-top:88px;padding-bottom:72px;background:linear-gradient(var(--encre),var(--encre)) 32px 100%/calc(100% - 64px) 1px no-repeat}
.entete-page h1{font-size:clamp(32px,4.6vw,50px);max-width:18em}
.agrement{display:inline-block;margin-top:32px;font-family:var(--sans);font-size:12.5px;letter-spacing:.04em}
.agrement:before{content:"";display:inline-block;width:22px;height:1px;background:var(--accent);vertical-align:middle;margin-right:10px}
.actions{margin-top:36px;display:flex;gap:36px;flex-wrap:wrap}
.actions .lien{margin-top:0}
.actions .lien.second{color:var(--doux);border-color:var(--filet)}

.liste{list-style:none;border-top:1px solid var(--encre);width:100%}
.liste li{display:grid;grid-template-columns:minmax(0,15em) 1fr;gap:32px;padding:22px 0;border-bottom:1px solid var(--filet)}
.liste h4{font-weight:400;font-size:20px;line-height:1.35;color:var(--marine)}
.duree{display:block;margin-top:6px;font-family:var(--sans);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--doux)}
.liste p{color:var(--doux);font-size:17px;max-width:36em}
.liste .n{font-style:italic;color:var(--accent);font-size:15px;display:block;margin-bottom:4px}

.citation{margin-top:56px;padding-left:28px;border-left:1px solid var(--accent);max-width:34em;font-size:22px;line-height:1.5;color:var(--marine);font-style:italic}
.citation small{display:block;margin-top:14px;font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--doux)}

.formateur{display:grid;grid-template-columns:200px 1fr;gap:32px;margin-top:28px}
.formateur dl{display:grid;grid-template-columns:max-content 1fr;gap:10px 28px;max-width:38em;color:var(--doux)}
.formateur dt{font-family:var(--sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding-top:5px}
.formateur dd{color:var(--encre)}

.cat{list-style:none;border-top:1px solid var(--encre)}
.cat li{display:grid;grid-template-columns:64px 1fr 220px;gap:24px;padding:26px 0;border-bottom:1px solid var(--filet);align-items:baseline}
.cat .code{font-style:italic;color:var(--accent)}
.cat h4{font-weight:400;font-size:21px;line-height:1.35;color:var(--marine)}
.cat p{margin-top:6px;color:var(--doux);font-size:16.5px;max-width:38em}
.cat .meta{font-family:var(--sans);font-size:12px;letter-spacing:.06em;color:var(--doux);text-align:right;line-height:1.7}
.domaine{margin:56px 0 0;font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}

.invitation{margin-top:96px;border-top:1px solid var(--encre);padding:56px 0 0}
.invitation .wrap{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:baseline}
.invitation h3{font-weight:400;font-size:28px;line-height:1.3;color:var(--marine);max-width:20em}
.invitation .lien{margin-top:24px}
.invitation + .contact{margin-top:72px}

@media (max-width:860px){
  body{font-size:17px}
  .wrap{padding:0 22px}
  header .wrap{height:auto;padding-top:18px;padding-bottom:14px;flex-direction:column;align-items:flex-start;gap:14px}
  .marque span{display:none}
  nav{gap:22px;flex-wrap:wrap}
  .ouverture{padding-top:64px;padding-bottom:56px}
  .entrees .wrap{grid-template-columns:1fr}
  .entree,.entree + .entree{padding:40px 0;border-left:0}
  .entree + .entree{border-top:1px solid var(--filet)}
  .reperes .wrap{grid-template-columns:1fr 1fr;row-gap:36px}
  .rep:nth-child(3){padding-left:0;border-left:0}
  .titre,.corps{grid-template-columns:1fr;gap:12px}
  .contact .wrap{grid-template-columns:1fr;gap:32px}

  .entete-page{padding-top:56px;padding-bottom:48px;background-position:22px 100%;background-size:calc(100% - 44px) 1px}
  .liste li{grid-template-columns:1fr;gap:6px}
  .formateur,.invitation .wrap{grid-template-columns:1fr;gap:12px}
  .formateur dl{grid-template-columns:1fr;gap:2px 0}
  .formateur dd{margin-bottom:12px}
  .cat li{grid-template-columns:1fr;gap:6px}
  .cat .meta{text-align:left}
  .modalites{grid-template-columns:1fr;gap:2px 0}
  .modalites dd{margin-bottom:12px}
  .chrono li{grid-template-columns:1fr;gap:2px}
  .stats{grid-template-columns:1fr 1fr;row-gap:28px}
  .stat:nth-child(3){padding-left:0;border-left:0}
  .paroles{grid-template-columns:1fr}
}
