/* guillaumeantier.com — charte du site personnel (Libre Franklin, Public Sans, IBM Plex Mono), polices auto-hébergées */
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/public-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/public-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/public-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Public Sans';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/public-sans-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}


@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/libre-franklin-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/libre-franklin-latin-700-normal.woff2) format('woff2')}

:root{
  --navy:#12213C; --navy-deep:#0C1729; --paper:#FDFCFA; --panel:#F1F3F6;
  --rust:#9C4A2F; --ink:#1A1D22; --muted:#6B7280; --rule:#DEE1E7;
  --serif:'Libre Franklin','Helvetica Neue',Arial,sans-serif;
  --sans:'Public Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --gutter:40px; --max:1240px;
  --t-micro:10px; --t-mono:11px; --t-xs:13.5px; --t-s:15px; --t-base:17px;
  --t-lead:clamp(18px,1.9vw,21px); --t-h3:21px; --t-h2:clamp(25px,2.8vw,32px);
  --t-h2b:clamp(28px,3.2vw,40px); --t-h1:clamp(40px,5.2vw,64px); --t-display:clamp(50px,7vw,78px);
  --ls-caps:.18em; --ls-tight:-.022em;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--t-base);line-height:1.72;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;line-height:1.06;color:var(--navy);letter-spacing:var(--ls-tight)}
h1{font-size:var(--t-h1);letter-spacing:var(--ls-tight);text-wrap:balance}
h2{font-size:var(--t-h2)}
h3{font-size:var(--t-h3);line-height:1.22}
p{margin:0 0 .9em}
p:last-child{margin-bottom:0}
em{font-style:italic}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:12px;top:12px}
.label{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--muted);line-height:1.6}
.kicker{display:block;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--rust);margin-bottom:14px}
.lead{font-size:var(--t-lead);line-height:1.55;color:var(--navy)}
.fine{font-size:var(--t-xs);line-height:1.6;color:var(--muted)}
.rule-sm{width:32px;height:1px;background:var(--rust);margin:0 0 22px}
.golink{display:inline-flex;align-items:center;gap:9px;margin-top:22px;text-decoration:none;font-size:var(--t-xs);letter-spacing:0;color:var(--rust);border-bottom:1px solid rgba(156,74,47,.3);padding-bottom:5px}
.golink::after{content:'';width:15px;height:1px;background:currentColor;transition:width .18s}
.golink:hover::after{width:24px}
.btn{display:inline-block;background:var(--rust);color:#fff;text-decoration:none;font-size:var(--t-xs);padding:13px 22px}
.btn:hover{background:#843D26}
.btn.ghost{background:none;border:1px solid rgba(255,255,255,.26);color:#E7ECF1}
.btn.ghost:hover{border-color:#fff}

/* barre du haut */
header.site{position:sticky;top:0;z-index:40;background:rgba(253,252,250,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.navrow{display:flex;align-items:center;justify-content:space-between;height:66px;gap:20px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-family:var(--serif);font-size:var(--t-h3);color:var(--ink)}
.brand svg{flex:0 0 auto}
nav.tabs{display:flex;gap:2px}
nav.tabs a{font-size:var(--t-xs);color:var(--muted);text-decoration:none;padding:7px 11px;border-bottom:1.5px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
nav.tabs a:hover{color:var(--ink)}
nav.tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--rust)}
@media(max-width:900px){
  nav.tabs{position:fixed;inset:66px 0 auto 0;flex-direction:column;gap:0;background:var(--paper);border-bottom:1px solid var(--rule);display:none;padding:6px 26px 18px;box-shadow:0 18px 30px -24px rgba(18,33,60,.35)}
  body.navopen nav.tabs{display:flex}
  nav.tabs a{font-size:var(--t-base);padding:14px 0;border-bottom:1px solid var(--rule);color:var(--ink)}
  nav.tabs a:last-child{border-bottom:0}
  nav.tabs a[aria-current="page"]{color:var(--rust);border-bottom-color:var(--muted)}
  .navtoggle{display:flex}
}

/* héros d'accueil */
.hero{background:var(--panel);border-bottom:1px solid var(--rule)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:72px;align-items:center;padding-top:76px;padding-bottom:76px}
.hero h1{font-size:var(--t-display);line-height:.94;letter-spacing:var(--ls-tight);margin:0 0 26px}
.hero .lead{max-width:40ch}
.hero .lit{margin:30px 0 0}
.hero figure img{border:1px solid var(--rule);aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;width:100%;background:#070707}
.hero .acts{display:flex;flex-wrap:wrap;gap:18px 26px;align-items:center;margin-top:34px}
.hero .acts .golink{margin-top:0}
@media(max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:32px;padding-top:40px;padding-bottom:48px}
  .hero figure{order:-1;max-width:300px}
  .hero h1{font-size:var(--t-h1)}
}

/* têtes de page */
.pagehead{background:var(--panel);border-bottom:1px solid var(--rule)}
.pagehead .wrap{padding-top:68px;padding-bottom:64px}
.pagehead .lead{margin-top:18px;max-width:52ch}
.pagehead.split .wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:center}
.pagehead figure img{border:1px solid var(--rule);aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;width:100%;background:#070707}
.pagehead .pull{margin-top:26px}
@media(max-width:900px){
  .pagehead .wrap{padding-top:44px;padding-bottom:44px}
  .pagehead.split .wrap{grid-template-columns:1fr;gap:28px}
  .pagehead figure{order:-1;max-width:260px}
}

/* sections : rail + corps */
section.blk{padding:60px 0;border-top:1px solid var(--rule)}
.hero + section.blk,.pagehead + section.blk,.band + section.blk{border-top:0}
.grid{display:grid;grid-template-columns:150px minmax(0,1fr);gap:44px;align-items:start}
.rail{position:sticky;top:92px;padding-top:4px}
.body-col{max-width:66ch}
.blk.wide .body-col{max-width:none}
@media(max-width:820px){.grid{grid-template-columns:1fr;gap:16px}.rail{position:static}section.blk{padding:48px 0}}
@media(max-width:700px){:root{--gutter:26px}section.blk{padding:44px 0}}

.lit{font-family:var(--serif);font-size:var(--t-h2);line-height:1.35;color:var(--navy);max-width:34ch}
.pull{font-family:var(--serif);font-size:var(--t-h2);line-height:1.26;color:var(--navy);max-width:30ch;padding-left:20px;border-left:2px solid var(--rust)}
.sig{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:var(--t-xs);color:var(--muted)}
.sig img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid var(--rule)}

/* chiffres */
.band{background:var(--navy);color:#F4F6FA}
.band .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:32px 24px;border-left:1px solid rgba(244,246,250,.16)}
.stat:first-child{border-left:0;padding-left:0}
.stat .fig{font-family:var(--serif);font-size:var(--t-h2b);line-height:1;margin-bottom:10px}
.stat .cap{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-caps);text-transform:uppercase;color:rgba(244,246,250,.62);line-height:1.7}
@media(max-width:860px){
  .band .wrap{grid-template-columns:1fr 1fr}
  .stat{padding:24px 16px;border-top:1px solid rgba(244,246,250,.16)}
  .stat:nth-child(odd){border-left:0;padding-left:0}
  .stat:nth-child(-n+2){border-top:0}
}

/* listes d'écrits */
.entries{list-style:none}
.entries li{border-bottom:1px solid var(--rule)}
.entries li:last-child{border-bottom:0}
.entry{display:grid;grid-template-columns:150px minmax(0,1fr);gap:44px;padding:28px 0;text-decoration:none}
.edate{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--muted);padding-top:9px;line-height:1.6}
.sched{display:block;margin-top:6px;color:var(--rust)}
.etext{display:flex;flex-direction:column;max-width:62ch}
.etitle{font-family:var(--serif);font-size:var(--t-h2);line-height:1.15;color:var(--navy);transition:color .2s}
.echap{margin-top:8px;color:#3E444D;font-size:var(--t-s);line-height:1.6}
.emin{margin-top:10px;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--muted)}
.entry:hover .etitle{color:var(--rust)}
@media(max-width:820px){.entry{grid-template-columns:1fr;gap:4px;padding:24px 0}.edate{padding-top:0}}

/* repères */
.tl{list-style:none;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.tl li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:26px;padding:17px 0;border-top:1px solid var(--rule)}
.tl li:first-child{border-top:0}
.tl .yr{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:var(--ls-caps);color:var(--rust);padding-top:5px;white-space:nowrap}
.tl h3{font-size:var(--t-h3);margin-bottom:3px}
.tl p{font-size:var(--t-s);color:#3E444D}
.steps{margin:26px 0}
.tl.steps li{grid-template-columns:48px minmax(0,1fr)}
@media(max-width:700px){.tl li{grid-template-columns:78px minmax(0,1fr);gap:16px}.tl.steps li{grid-template-columns:40px minmax(0,1fr)}}
@media(max-width:520px){.tl li{grid-template-columns:1fr;gap:4px}}

.card{display:block;text-decoration:none;border:1px solid var(--rule);background:#fff;padding:24px 26px;transition:border-color .2s}
.card:hover{border-color:var(--rust)}
.ctitle{display:block;font-family:var(--serif);font-size:var(--t-h2);line-height:1.15;color:var(--navy)}
.cdesc{display:block;margin-top:6px;color:var(--muted);font-size:var(--t-xs)}

/* groupe */
.cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.cell{background:var(--paper);padding:24px 22px}
.cell::before{content:'';display:block;width:22px;height:1px;background:var(--rust);margin-bottom:13px}
.cell h3{font-size:var(--t-h3);margin-bottom:7px}
.cell p{font-size:var(--t-xs);color:var(--muted);line-height:1.55}
.rows{list-style:none;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.rows li{display:grid;grid-template-columns:auto 1fr;gap:0 26px;padding:15px 0;border-top:1px solid var(--rule)}
.rows li:first-child{border-top:0}
.rows h3{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--rust);padding-top:5px;min-width:190px}
.rows p{font-size:var(--t-s);color:var(--navy)}
@media(max-width:700px){.rows li{grid-template-columns:1fr}.rows h3{min-width:0}}
.places{font-family:var(--serif);font-size:var(--t-h2);line-height:1.35;color:var(--navy)}
.people{list-style:none;margin-top:14px;border-top:1px solid var(--rule)}
.people li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 24px;padding:13px 0;border-bottom:1px solid var(--rule)}
.pname{font-family:var(--serif);font-size:var(--t-h3);color:var(--navy)}
.prole{color:var(--muted);font-size:var(--t-xs);align-self:center}

/* article */
.notehead{background:var(--navy);color:#EDF1F5}
.notehead .wrap{max-width:860px;padding-top:64px;padding-bottom:60px}
.back{display:inline-block;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-caps);text-transform:uppercase;color:#C08A72;text-decoration:none;margin-bottom:26px}
.back:hover{color:#E3B39D}
.notehead h1{color:#fff;font-size:var(--t-h1);margin:0 0 22px}
.meta{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:var(--ls-caps);text-transform:uppercase;color:rgba(237,241,245,.6);margin-top:26px}
.chapeau{font-size:var(--t-lead);line-height:1.55;color:#C6D2DD;max-width:56ch}
.anote{margin-top:20px;font-size:var(--t-xs);color:#AFC0CE;border-left:2px solid var(--rust);padding-left:14px;max-width:56ch}
.art-body{max-width:860px;margin:0 auto;padding:56px var(--gutter) 10px}
.art-body>*{max-width:66ch}
.art-body p{font-size:var(--t-base);line-height:1.78;margin-bottom:1em;color:#23272E}
.art-body h2{font-size:var(--t-h2);margin:1.9em 0 .6em}
.art-body em{color:var(--navy)}
.art-body .exergue{font-family:var(--serif);font-size:var(--t-h2);line-height:1.28;color:var(--navy);margin:1.4em 0;padding-left:20px;border-left:2px solid var(--rust);max-width:30ch}
.art-sig{max-width:860px;margin:0 auto;padding:30px var(--gutter) 56px;display:flex;align-items:center;gap:14px}
.art-sig img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:1px solid var(--rule)}
.art-sig div{display:flex;flex-direction:column;padding-left:14px;border-left:1px solid var(--rule)}
.art-sig .pname{font-size:var(--t-h3)}
.art-sig .prole{font-size:var(--t-xs);align-self:flex-start}
.next{border-top:1px solid var(--rule);background:var(--panel)}
.next .wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px 40px;padding-top:28px;padding-bottom:28px}
.next a{text-decoration:none}
.next a:last-child{text-align:right}
.next .lbl{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--muted);display:block;margin-bottom:5px}
.next strong{font-family:var(--serif);font-weight:400;font-size:var(--t-h3);color:var(--navy);transition:color .2s}
.next a:hover strong{color:var(--rust)}
@media(max-width:700px){.next .wrap{grid-template-columns:1fr}.next a:last-child{text-align:left}}

/* presse */
.mailto{font-family:var(--serif);font-size:var(--t-h2);color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(156,74,47,.4);word-break:break-all}
.biobox{background:var(--panel);border:1px solid var(--rule);padding:22px 24px;margin-bottom:16px}
.bh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.bh h3{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--rust)}
.biobox p{color:var(--navy);font-size:var(--t-s)}
.copy{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-caps);text-transform:uppercase;background:var(--paper);border:1px solid var(--rule);border-radius:2px;padding:7px 12px;cursor:pointer;color:var(--ink)}
.copy:hover{border-color:var(--ink)}
.copy.done{color:var(--rust);border-color:var(--rust)}
.photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.photos figure{margin:0}
.photos img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--rule);background:var(--panel)}
.photos figcaption{margin-top:10px;font-size:var(--t-xs);line-height:1.5;display:flex;flex-direction:column;gap:3px}
.photos figcaption a{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--rust)}
@media(max-width:860px){.photos{grid-template-columns:1fr 1fr}}

/* mentions */
.legalpage{max-width:70ch}
.legalpage h2{font-size:var(--t-h3);margin:30px 0 8px}
.legalpage h2:first-child{margin-top:0}
.legalpage p{font-size:var(--t-s);color:#3E444D}
.todo{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:var(--ls-caps);color:var(--rust);border:1px solid var(--rust);padding:3px 7px;display:inline-block}

/* avant le pied de page */
.laststep{background:var(--navy-deep);color:#E7ECF1}
.laststep .wrap{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding-top:56px;padding-bottom:56px}
.laststep .kicker{color:#C08A72}
.laststep h2{color:#fff;font-size:var(--t-h2);margin-bottom:12px}
.laststep p{font-size:var(--t-s);color:#AFC0CE;max-width:60ch}
.laststep .acts{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:860px){.laststep .wrap{grid-template-columns:1fr;padding-top:44px;padding-bottom:44px}}

footer.site{background:var(--navy-deep);color:#E7ECF1;padding:0 0 48px}
.foot{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:14px 28px;padding-top:32px;border-top:1px solid rgba(255,255,255,.12)}
.foot .fname{font-family:var(--serif);font-size:var(--t-h3);color:#fff}
.foot .frole{font-size:var(--t-xs);color:#8496A6;margin-left:10px}
.flinks{display:flex;flex-wrap:wrap;gap:6px 20px}
.flinks a{color:#AFC0CE;text-decoration:none;font-size:var(--t-xs)}
.flinks a:hover{color:#fff}
.disc{margin-top:22px;font-size:var(--t-mono);line-height:1.62;color:#8496A6;max-width:1000px}
.disc p{margin-bottom:.7em}
@media(max-width:700px){.foot .frole{display:block;margin:4px 0 0}}
@media(max-width:520px){.flinks{flex-direction:column;gap:6px}}


/* ─────────── ajouts du 10/09 ─────────── */

/* héros : encart d'autorité + motif vectoriel */
.hero .wrap{position:relative;overflow:hidden}
.autorite{margin-top:26px;max-width:52ch;font-size:var(--t-s);line-height:1.65;color:var(--muted);
  border-left:2px solid var(--rust);padding-left:16px}
.hero-motif{position:absolute;right:-150px;top:20px;width:460px;height:460px;opacity:.5;
  pointer-events:none;z-index:0}
.hero .wrap>div,.hero .wrap>figure{position:relative;z-index:1}
@media(max-width:900px){.hero-motif{right:-190px;top:-80px;width:320px;height:320px;opacity:.4}}

/* photographies traitées — duotone, comme sur le site du groupe */
.imgband{position:relative;width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.imgband img{width:100%;height:auto;display:block;filter:url(#duotone);background:var(--navy-deep)}
.imgband .tagpic{position:absolute;left:calc(var(--gutter) + 18px);bottom:14px;font-family:var(--mono);
  font-size:var(--t-micro);letter-spacing:var(--ls-caps);text-transform:uppercase;color:rgba(255,255,255,.62)}
@media(max-width:700px){.imgband{padding:0 20px}.imgband .tagpic{left:38px}}

/* citation avec vignette */
.quotecard{margin:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:30px 0}
.quotecard blockquote{font-family:var(--serif);font-size:var(--t-h2);line-height:1.28;
  color:var(--navy);max-width:32ch;margin:0 0 20px}
.quotecard figcaption{display:flex;align-items:center;gap:14px}
.quotecard figcaption img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid var(--rule)}
.quotecard figcaption span{display:flex;flex-direction:column;font-size:var(--t-xs);color:var(--muted);line-height:1.45}
.quotecard figcaption b{font-weight:500;color:var(--ink)}

/* deux temps qui se répondent */
.duo-contrast{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);
  border:1px solid var(--rule);margin:28px 0}
.dc{padding:26px 24px}
.dc-a{background:var(--paper)}
.dc-b{background:var(--navy);color:#E7ECF1}
.dc .dclab{display:block;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-caps);
  text-transform:uppercase;color:var(--rust);margin-bottom:12px}
.dc-b .dclab{color:#C08A72}
.dc h3{margin-bottom:8px}
.dc-b h3{color:#fff}
.dc p{font-size:var(--t-s);line-height:1.6;color:var(--muted)}
.dc-b p{color:#AFC0CE}
@media(max-width:720px){.duo-contrast{grid-template-columns:1fr}}

/* le parcours d'un dossier, en colonnes */

@media(max-width:1100px){.steps-cols{grid-template-columns:repeat(3,1fr)}
  .steps-cols li:nth-child(4),.steps-cols li:nth-child(5){grid-column:span 1}}
@media(max-width:760px){.steps-cols{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.steps-cols{grid-template-columns:1fr}}
.steps-cols li{background:var(--paper);padding:22px 20px;display:block}
.steps-cols .yr{display:block;font-family:var(--mono);font-size:var(--t-mono);letter-spacing:var(--ls-caps);
  color:var(--rust);margin-bottom:12px}
.steps-cols h3{font-size:var(--t-base);margin-bottom:7px}
.steps-cols p{font-size:var(--t-xs);line-height:1.55;color:var(--muted)}

/* encadrés de définition */
.defs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0 0}
.def{border-left:2px solid var(--rust);padding:2px 0 2px 18px}
.def .dterm{display:block;font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-caps);
  text-transform:uppercase;color:var(--navy);margin-bottom:10px}
.def p{font-size:var(--t-xs);line-height:1.6;color:var(--muted)}
@media(max-width:720px){.defs{grid-template-columns:1fr}}


/* emplacement d'image à trouver — légendé, comme sur le site du groupe */
.phzone{position:relative;max-width:var(--max);margin:34px auto;padding:0 var(--gutter)}
.phzone::before{content:attr(data-ph);display:flex;align-items:center;justify-content:center;
  text-align:center;font-family:var(--sans);font-size:var(--t-xs);line-height:1.65;color:var(--muted);
  padding:26px 12%;background:var(--panel);
  background-image:repeating-linear-gradient(135deg,rgba(216,222,232,.55) 0 10px,transparent 10px 20px);
  border:1px dashed #C3CBD6}
.phzone.wide::before{min-height:clamp(190px,22vw,280px)}
.phzone.tall::before{min-height:clamp(280px,34vw,420px)}
.phzone figcaption{font-family:var(--mono);font-size:var(--t-micro);letter-spacing:var(--ls-caps);text-transform:uppercase;
  color:var(--rust);margin-top:10px;text-align:center}
@media(max-width:700px){.phzone{padding:0 20px}.phzone::before{padding:22px 8%}}


/* héros — reprise exacte du cadrage validé */
.hero .wrap{grid-template-columns:minmax(0,1fr) minmax(300px,420px);align-items:center;
  gap:clamp(40px,7vw,110px);padding-top:clamp(56px,7vw,92px);padding-bottom:clamp(56px,7vw,92px)}
.hero h1{color:var(--ink);font-size:var(--t-h1);line-height:1.06;max-width:14ch;margin:14px 0 0}
.hero .heroname{display:block;color:var(--muted);letter-spacing:var(--ls-caps)}
.hero .lead{margin-top:34px;color:var(--navy);font-weight:400}
.hero .autorite{margin-top:26px}
.hero .acts{margin-top:30px}
.hero figure img{border:1px solid var(--rule);width:100%;height:auto}
@media(max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:34px}
  .hero figure{max-width:320px}
  .hero h1{max-width:none}
}


@media(max-width:900px){
    }


/* portraits des pages intérieures — traités en duotone, cadre conservé */
.pagehead figure.treated img{filter:url(#duotone);background:var(--navy-deep)}


/* emplacement d'image dans un bandeau de page */
.pagehead .phzone.inhead{margin:0;padding:0;max-width:none}
.pagehead .phzone.inhead::before{min-height:clamp(230px,26vw,330px);padding:24px 10%}
.pagehead.split .wrap{align-items:center}
.hero .rule-sm{margin-bottom:20px}


/* les cinq étapes, en lignes larges */
.steps-rows{list-style:none;margin:28px 0;border-top:1px solid var(--rule)}
.steps-rows li{display:grid;grid-template-columns:56px minmax(150px,210px) 1fr;gap:26px;
  align-items:baseline;padding:20px 0;border-bottom:1px solid var(--rule)}
.steps-rows .stnum{font-family:var(--mono);font-size:var(--t-mono);letter-spacing:var(--ls-caps);color:var(--rust)}
.steps-rows h3{font-size:var(--t-h3);margin:0}
.steps-rows p{margin:0;font-size:var(--t-s);line-height:1.6;color:var(--muted);max-width:60ch}
@media(max-width:760px){
  .steps-rows li{grid-template-columns:44px 1fr;gap:8px 16px}
  .steps-rows p{grid-column:2}
}



/* titres fermes — Libre Franklin en 600/700 */
.pull,.lit,blockquote,.quotecard blockquote,.hsfig,.dc h3,.steps-rows h3,.cards h3,
.entry .etitle,.band .fig,.heroB .facts b,.stat .fig{font-family:var(--serif);font-weight:600;
  letter-spacing:var(--ls-tight)}
.pull,.lit,blockquote{line-height:1.22}
.pull,.lit{padding-left:18px;border-left:2px solid var(--rust)}
.quotecard blockquote{padding-left:0;border-left:0}
.hero h1{font-weight:700}
em{font-style:italic}




/* héros — le nom en titre, ce qu'il dirige en chapeau */
.hero h1{font-size:var(--t-h1);margin:14px 0 0}
.hero .fonction{margin-top:20px;font-size:var(--t-lead);color:var(--navy);max-width:46ch}
.hero .quoi{margin-top:16px;font-size:var(--t-s);color:var(--muted);max-width:54ch}
.hero .devise{margin-top:26px;padding-left:16px;border-left:2px solid var(--rust);
  font-family:var(--serif);font-weight:600;font-size:var(--t-h3);letter-spacing:var(--ls-tight);
  color:var(--navy);max-width:34ch}


/* lien sortant vers le site du groupe, dans le fil du texte */
.glink{color:inherit;text-decoration:none;border-bottom:1px solid rgba(156,74,47,.45);
  padding-bottom:1px;transition:border-color .18s,color .18s}
.glink:hover{color:var(--rust);border-bottom-color:var(--rust)}


/* menu mobile : trois traits */
.navtoggle{display:none;width:42px;height:38px;padding:10px 9px;background:none;
  border:1px solid var(--rule);border-radius:2px;cursor:pointer;flex-direction:column;
  justify-content:space-between;align-items:stretch}
.navtoggle span{display:block;height:1.5px;background:var(--ink);transition:transform .22s,opacity .18s}
body.navopen .navtoggle span:nth-child(1){transform:translateY(7.25px) rotate(45deg)}
body.navopen .navtoggle span:nth-child(2){opacity:0}
body.navopen .navtoggle span:nth-child(3){transform:translateY(-7.25px) rotate(-45deg)}


/* le burger s'affiche sous le seuil — déclaré en dernier pour rester prioritaire */
@media(max-width:900px){.navtoggle{display:flex}}
@media(min-width:901px){.navtoggle{display:none}}


/* v8 — bandes photographiques en bandeau : pleine largeur de l’écran, hauteur fine (150 à 220 px) */
.imgband.wide{max-width:none;padding:0;margin:34px 0}
.imgband.wide img{height:clamp(150px,13vw,220px);object-fit:cover}
