/* Fiche produit — hérite de nextbridge.css */

:root{
  --navy:#0B1F38; --navy-deep:#071627; --blue:#2C5F8D; --steel:#9DB8D2;
  --paper:#F2EFE8; --paper-2:#E9E4DA; --rule:#C9C0B0; --rule-dark:rgba(242,239,232,.20);
  --ink:#0B1F38; --ink-soft:rgba(11,31,56,.78);
  --pos:#2E6B4F; --neg:#9B3B2E; --warn:#8A6D1F; --warn-line:#C9A24A;
  --serif:'Source Serif 4',Georgia,serif;
  --sans:'IBM Plex Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --gut:clamp(20px,4.5vw,64px); --maxw:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}
.mono{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.pending{color:var(--warn)}

.demo-bar{background:var(--warn-line);color:#3A2E08;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:9px var(--gut)}

.bar{background:var(--navy);color:var(--paper);border-bottom:1px solid var(--rule-dark)}
.bar .wrap{display:flex;align-items:center;gap:28px;min-height:70px;flex-wrap:wrap}
.wordmark{font-family:var(--serif);font-size:22px;font-weight:600;white-space:nowrap;
  display:inline-flex;align-items:center;gap:13px}
.wordmark span{font-weight:400;color:var(--steel)}
/* Verrouillage vertical : le monogramme au-dessus du nom, un seul objet
   dessine. Sa hauteur commande celle de la barre. */
.wm-nb{height:62px;width:auto;display:block;opacity:.96}
.bar .wrap{min-height:90px}
@media(max-width:900px){.wm-nb{height:52px}.bar .wrap{min-height:78px}}
@media(max-width:600px){.wm-nb{height:44px}.bar .wrap{min-height:68px}}
/* Cashback est une rubrique parmi les six : plus de filet qui l'isole */
.bar nav .nv-cb::before{display:none}
.bar nav{margin-inline-start:auto;display:flex;gap:24px;flex-wrap:wrap}
.bar nav a{font-size:13.5px;color:rgba(242,239,232,.78);padding-block:5px;border-bottom:1px solid transparent}
.bar nav a:hover{color:#fff;border-bottom-color:var(--steel)}
.bar nav a[aria-current]{color:#fff;border-bottom-color:var(--paper)}

.masthead{background:var(--navy);color:var(--paper);padding-block:clamp(46px,6vw,78px)}
.masthead .grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.9fr);
  gap:clamp(30px,6vw,80px);align-items:start}
.crumb{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);margin-bottom:20px}
.masthead h1{font-family:var(--serif);font-weight:600;font-size:clamp(32px,4.4vw,54px);line-height:1.12;letter-spacing:-.01em}
.masthead .tagline{font-family:var(--serif);font-weight:400;font-size:clamp(17px,1.9vw,21px);
  line-height:1.5;margin-top:16px;color:rgba(242,239,232,.86);max-width:40ch}
.masthead .sub{margin-top:20px;max-width:56ch;font-size:15px;font-weight:400;line-height:1.72;color:rgba(242,239,232,.68)}
.ident{border-top:1px solid var(--rule-dark)}
.ident div{display:flex;justify-content:space-between;gap:16px;padding-block:11px;border-bottom:1px solid var(--rule-dark)}
.ident dt{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.ident dd{font-size:13px;text-align:end;color:rgba(242,239,232,.9)}

.kpis{background:var(--navy-deep);color:var(--paper);border-bottom:1px solid var(--rule-dark)}
.kpis .head{display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding-block:14px;border-bottom:1px solid var(--rule-dark);flex-wrap:wrap}
.kpis .head span{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--steel)}
.switch{display:flex;border:1px solid var(--rule-dark)}
.switch button{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  padding:9px 16px;color:var(--steel);transition:background .15s,color .15s}
.switch button:hover{color:#fff}
.switch button[aria-pressed="true"]{background:var(--paper);color:var(--navy);font-weight:600}
.kpis .row{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--rule-dark)}
.kpi{background:var(--navy-deep);padding:22px 18px}
.kpi .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--steel);display:block;margin-bottom:9px}
.kpi .v{font-family:var(--mono);font-size:clamp(18px,2.2vw,25px);font-weight:500;display:block}
.kpi .n{font-size:11px;color:rgba(242,239,232,.5);font-weight:400;display:block;margin-top:5px}

section.blk{padding-block:clamp(44px,5.5vw,72px);border-bottom:1px solid var(--rule)}
.slabel{color:var(--blue);display:block;margin-bottom:8px}
.stitle{font-family:var(--serif);font-weight:600;font-size:clamp(20px,2.4vw,27px);letter-spacing:-.01em;margin-bottom:12px}
.sintro{font-size:15px;font-weight:400;line-height:1.75;color:var(--ink-soft);max-width:70ch;margin-bottom:30px}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,5vw,68px)}
.two p{font-size:15px;font-weight:400;line-height:1.78;color:var(--ink-soft)}
.two p+p{margin-top:15px}

.spec{border-top:2px solid var(--ink)}
.spec div{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(0,2fr);gap:20px;
  padding-block:13px;border-bottom:1px solid var(--rule);align-items:baseline}
.spec dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.spec dd{font-size:14.5px;font-weight:400}

/* --- chronologie du développement --- */
.timeline{border-top:2px solid var(--ink)}
.tl{display:grid;grid-template-columns:minmax(96px,.5fr) minmax(0,1fr) minmax(0,1.6fr);
  gap:clamp(16px,3vw,40px);padding-block:22px;border-bottom:1px solid var(--rule);align-items:start}
.tl .date{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--blue);padding-top:3px}
.tl h3{font-family:var(--serif);font-size:17px;font-weight:600}
.tl p{font-size:14.5px;font-weight:400;line-height:1.7;color:var(--ink-soft)}

table{width:100%;border-collapse:collapse;font-size:14px}
thead th{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-soft);text-align:start;padding:12px 14px;border-bottom:2px solid var(--ink);font-weight:500}
tbody td{padding:14px;border-bottom:1px solid var(--rule);font-weight:400;vertical-align:top}
tbody th{padding:14px;border-bottom:1px solid var(--rule);text-align:start;font-family:var(--mono);
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}
td.num{font-family:var(--mono);font-size:13px;text-align:end;font-variant-numeric:tabular-nums}
td.hi{background:rgba(44,95,141,.06)}
.colhead{font-family:var(--serif);font-size:17px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink)}
.colhead small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-soft);font-weight:400;margin-top:4px}

.chartbox{border:1px solid var(--rule);background:#FBF9F5;padding:20px 18px 12px}
.chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.chart-head h3{font-family:var(--serif);font-size:16px;font-weight:600}
.chart-head .note{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
svg.plot{display:block;width:100%;height:auto}
.axis{stroke:var(--rule);stroke-width:1}
.grid{stroke:rgba(201,192,176,.5);stroke-width:1;stroke-dasharray:2 4}
.tick{font-family:var(--mono);font-size:9px;fill:rgba(11,31,56,.55)}

.months{font-family:var(--mono);font-size:11.5px;font-variant-numeric:tabular-nums}
.months th,.months td{padding:7px 6px;text-align:end;border-bottom:1px solid var(--rule)}
.months thead th{font-size:9.5px;letter-spacing:.08em;border-bottom:2px solid var(--ink);text-transform:none}
.months tbody th{text-align:start;font-family:var(--mono);font-size:11.5px;font-weight:600;
  letter-spacing:0;text-transform:none;color:var(--ink);padding:7px 6px}
.months td.p{color:var(--pos)} .months td.n{color:var(--neg)} .months td.e{color:rgba(11,31,56,.28)}
.months td.ytd{font-weight:600;border-inline-start:1px solid var(--rule)}

.flagbox{border-inline-start:3px solid var(--warn-line);background:rgba(201,162,74,.10);
  padding:16px 18px;margin-top:20px}
.flagbox b{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--warn);display:block;margin-bottom:7px}
.flagbox span{font-size:14px;font-weight:400;line-height:1.7;color:var(--ink-soft)}

.risk{background:var(--paper-2)}
.risk ul{list-style:none;border-top:2px solid var(--ink)}
.risk li{padding-block:16px;border-bottom:1px solid var(--rule);
  display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,2.3fr);gap:24px}
.risk li b{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:500}
.risk li span{font-size:14.5px;font-weight:400;line-height:1.72;color:var(--ink-soft)}

.todo{margin-top:14px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--warn);border-inline-start:2px solid var(--warn-line);padding-inline-start:10px}

footer{background:var(--navy-deep);color:rgba(242,239,232,.6);padding-block:44px 32px}
.disclosure{font-size:11.5px;font-weight:400;line-height:1.75;color:rgba(242,239,232,.46);max-width:96ch}
.disclosure b{color:rgba(242,239,232,.7);font-weight:500}

@media(max-width:1000px){
  .masthead .grid,.two{grid-template-columns:1fr}
  .kpis .row{grid-template-columns:repeat(3,1fr)}
  .tl{grid-template-columns:minmax(80px,.4fr) minmax(0,1fr);row-gap:8px}
  .tl p{grid-column:2}
}
@media(max-width:700px){
  .kpis .row{grid-template-columns:repeat(2,1fr)}
  .spec div,.risk li{grid-template-columns:1fr;gap:5px}
  .bar nav{margin-inline-start:0;width:100%;overflow-x:auto;gap:16px;border-top:1px solid var(--rule-dark);padding-top:9px}
  .scrollx{overflow-x:auto}
}

/* ---- ajouts : nature de l'historique, concentration ---- */
.nature{display:flex;height:8px;margin:10px 0 6px;border:1px solid var(--rule)}
.nature i{display:block;height:100%}
.nature i.live{background:var(--blue)}
.nature i.simule{background:repeating-linear-gradient(45deg,var(--warn-line),var(--warn-line) 3px,#F2EFE8 3px,#F2EFE8 6px)}
.nature i.mixte{background:repeating-linear-gradient(45deg,var(--blue),var(--blue) 3px,var(--warn-line) 3px,var(--warn-line) 6px)}
.legend{display:flex;gap:20px;flex-wrap:wrap;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.legend span{display:flex;align-items:center;gap:7px}
.legend b{width:14px;height:8px;display:block}
.months td.sim{background:rgba(201,162,74,.16)}
.conc{border-top:2px solid var(--ink)}
.conc div{display:grid;grid-template-columns:minmax(150px,1fr) 1fr minmax(70px,auto);
  gap:18px;align-items:center;padding-block:13px;border-bottom:1px solid var(--rule)}
.conc .lab{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.conc .track{height:9px;background:var(--paper-2);position:relative}
.conc .fill{position:absolute;inset-block:0;inset-inline-start:0;background:var(--blue)}
.conc .fill.over{background:var(--neg)}
.conc .val{font-family:var(--mono);font-size:13px;text-align:end;font-variant-numeric:tabular-nums}
.split{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);
  border:1px solid var(--rule);margin-top:8px}
.split div{background:var(--paper);padding:20px 18px}
.split .h{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--blue);margin-bottom:14px}
.split dl div{display:flex;justify-content:space-between;gap:12px;padding:0;background:none;
  border-bottom:1px solid var(--rule);padding-block:8px}
.split dt{font-size:12.5px;font-weight:400;color:var(--ink-soft)}
.split dd{font-family:var(--mono);font-size:12.5px;font-variant-numeric:tabular-nums}
@media(max-width:800px){.split{grid-template-columns:1fr}}

/* ---- reglage du risque ---- */
.risk-panel{border:1px solid var(--rule);background:#FBF9F5;padding:26px 24px}
.risk-panel.fixed{background:var(--paper-2)}
.risk-panel h3{font-family:var(--serif);font-size:19px;font-weight:600;margin-bottom:6px}
.risk-panel .cap{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--blue);margin-bottom:16px;display:block}
.risk-panel p.d{font-size:14px;font-weight:400;line-height:1.7;color:var(--ink-soft);margin-bottom:20px}
.slider-row{display:flex;align-items:center;gap:16px;margin-bottom:6px}
.slider-row output{font-family:var(--mono);font-size:20px;font-variant-numeric:tabular-nums;
  min-width:96px;text-align:end}
input[type=range]{flex:1;accent-color:var(--blue);height:22px;background:none}
.scale{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;
  letter-spacing:.08em;color:var(--ink-soft);margin-bottom:18px}
.presets{display:flex;gap:0;border:1px solid var(--rule);margin-bottom:22px;flex-wrap:wrap}
.presets button{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  padding:9px 13px;color:var(--ink-soft);border-inline-end:1px solid var(--rule);flex:1;
  transition:background .15s,color .15s;white-space:nowrap}
.presets button:last-child{border-inline-end:none}
.presets button:hover{background:var(--paper-2);color:var(--ink)}
.presets button[aria-pressed="true"]{background:var(--navy);color:var(--paper)}
.readout{border-top:2px solid var(--ink)}
.readout div{display:flex;justify-content:space-between;gap:14px;padding-block:11px;
  border-bottom:1px solid var(--rule)}
.readout dt{font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-soft)}
.readout dd{font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums}
.readout dd.neg{color:var(--neg)} .readout dd.pos{color:var(--pos)}
.alert{border-inline-start:3px solid var(--neg);background:rgba(155,59,46,.09);
  padding:13px 16px;margin-top:16px;font-size:13.5px;font-weight:400;line-height:1.65;color:var(--ink-soft)}
.alert[hidden]{display:none}
.panels{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
@media(max-width:900px){.panels{grid-template-columns:1fr}}
.btn-inst{margin-top:18px;width:100%;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;padding:12px 16px;border:1px solid var(--navy);color:var(--navy);
  transition:background .15s,color .15s}
.btn-inst:hover{background:var(--navy);color:var(--paper)}

/* ---- mise en avant des deux offres ---- */
.panels{gap:0;border:1px solid var(--rule)}
.risk-panel{border:none;padding:34px 30px 32px}
.risk-panel.inst{background:var(--navy);color:var(--paper)}
.risk-panel.inst .cap{color:var(--steel)}
.risk-panel.inst h3{color:var(--paper)}
.risk-panel.inst p.d{color:rgba(242,239,232,.72)}
.risk-panel.inst .readout{border-top-color:var(--paper)}
.risk-panel.inst .readout div{border-bottom-color:var(--rule-dark)}
.risk-panel.inst .readout dt{color:var(--steel)}
.risk-panel.inst .readout dd{color:var(--paper)}
.risk-panel.inst .readout dd.pos{color:#8FCBAA}
.risk-panel.inst .readout dd.neg{color:#E5A196}
.risk-panel.indiv{background:#FBF9F5;border-inline-start:1px solid var(--rule)}
.risk-panel h3{font-size:23px;margin-bottom:14px}
.bignum{display:flex;align-items:baseline;gap:12px;padding-block:14px 18px;margin-bottom:16px;
  border-bottom:1px solid var(--rule)}
.risk-panel.inst .bignum{border-bottom-color:var(--rule-dark)}
.bignum span{font-family:var(--serif);font-size:clamp(38px,5vw,58px);font-weight:600;line-height:1;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.bignum em{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-soft);line-height:1.4}
.risk-panel.inst .bignum em{color:var(--steel)}
.risk-panel.inst .btn-inst{border-color:var(--paper);color:var(--paper)}
.risk-panel.inst .btn-inst:hover{background:var(--paper);color:var(--navy)}
@media(max-width:900px){.risk-panel.indiv{border-inline-start:none;border-top:1px solid var(--rule)}}


/* ---- lisibilite sur fond sombre : taille et graisse relevees ----
   Les contrastes etaient conformes (7,3:1) ; c'est la graisse 300 et les
   corps de 9,5 a 10,5 px qui rendaient la lecture penible sur le navy. ---- */
.crumb{font-size:11px;font-weight:500;letter-spacing:.11em}
.masthead .sub{font-weight:400;font-size:15.5px;color:rgba(242,239,232,.80)}
.masthead .tagline{color:rgba(242,239,232,.94)}
.ident dt,.factsheet dt{font-size:10.5px;font-weight:500;letter-spacing:.10em}
.ident dd,.factsheet dd{font-size:13.5px;font-weight:400;color:rgba(242,239,232,.96)}
.kpis .head span{font-size:10.5px;font-weight:500;letter-spacing:.11em}
.kpi .k{font-size:10.5px;font-weight:500;letter-spacing:.11em}
.kpi .n{font-size:11.5px;font-weight:400;color:rgba(242,239,232,.66)}
.bar nav a,.nav button{font-weight:400;color:rgba(242,239,232,.88)}
.utility{font-size:11px;font-weight:500}
.contact p{font-weight:400;color:rgba(242,239,232,.80)}
.contact-lines span:first-child{font-size:10.5px;font-weight:500}
.contact-lines div{font-size:14px}
footer li{font-weight:400;color:rgba(242,239,232,.72)}
footer h4{font-size:10.5px;letter-spacing:.12em}
.disclosure{font-weight:400;color:rgba(242,239,232,.62);font-size:12px}
.risk-panel.inst p.d{color:rgba(242,239,232,.82);font-weight:400}
.risk-panel.inst .readout dt{font-size:10.5px;font-weight:500}
.risk-panel.inst .readout dd{font-size:14.5px}
.risk-panel.inst .cap{font-weight:500;font-size:10.5px}
.stitle.big{font-size:clamp(26px,3.2vw,38px);margin-bottom:14px}
.panels{margin-top:8px;box-shadow:none}
.kpis{border-top:1px solid var(--rule-dark)}

/* ---- clientele en grand dans les deux panneaux ---- */
.who{display:block;font-family:var(--serif);font-size:clamp(24px,2.9vw,33px);font-weight:600;
  letter-spacing:-.01em;line-height:1.1;margin-bottom:6px}
.risk-panel.inst .who{color:var(--paper)}
.risk-panel.indiv .who{color:var(--navy)}
.risk-panel h3{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:500;margin-bottom:18px}
.risk-panel.inst h3{color:var(--steel)}
.risk-panel.indiv h3{color:var(--blue)}

/* ---- conditions et frais ---- */
.terms{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);
  border:1px solid var(--rule);margin-bottom:52px}
.terms div{background:var(--paper);padding:22px 20px;display:flex;flex-direction:column;gap:12px}
.terms .t{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:500}
.terms .v{font-family:var(--serif);font-size:clamp(20px,2.2vw,26px);font-weight:600;letter-spacing:-.01em}
.sub-h{font-family:var(--serif);font-size:23px;font-weight:600;margin-bottom:10px}

.ref-wrap{display:grid;grid-template-columns:1.15fr .85fr;border:1px solid var(--rule)}
.ref-ctrl{padding:28px 26px;background:#FBF9F5;display:flex;flex-direction:column;justify-content:center}
.ref-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:500;margin-bottom:16px}
.ref-steps{display:flex;border:1px solid var(--rule)}
.ref-steps button{flex:1;font-family:var(--mono);font-size:15px;padding:14px 0;
  border-inline-end:1px solid var(--rule);color:var(--ink-soft);transition:background .15s,color .15s}
.ref-steps button:last-child{border-inline-end:none}
.ref-steps button:hover{background:var(--paper-2);color:var(--ink)}
.ref-steps button[aria-pressed="true"]{background:var(--navy);color:var(--paper);font-weight:600}
.ref-out{background:var(--navy);color:var(--paper);padding:28px 26px;
  display:flex;flex-direction:column;justify-content:center;gap:8px}
.ref-cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--steel);font-weight:500}
.ref-big{font-family:var(--serif);font-size:clamp(42px,5.5vw,64px);font-weight:600;line-height:1;
  letter-spacing:-.02em}
.ref-note{font-size:13px;color:rgba(242,239,232,.78)}
@media(max-width:900px){.terms{grid-template-columns:repeat(2,1fr)}.ref-wrap{grid-template-columns:1fr}}
@media(max-width:560px){.terms{grid-template-columns:1fr}}

/* ---- depositaire et couverture ---- */
.cover{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--rule)}
.cover-fig{background:var(--navy);color:var(--paper);padding:32px 28px;
  display:flex;flex-direction:column;justify-content:center;gap:10px}
.cover-cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--steel);font-weight:500}
.cover-big{font-family:var(--serif);font-size:clamp(40px,5.2vw,62px);font-weight:600;
  line-height:1;letter-spacing:-.02em}
.cover-sub{font-size:13.5px;color:rgba(242,239,232,.80);line-height:1.55;max-width:34ch}
.cover-terms{background:#FBF9F5;padding:8px 26px 10px}
.cover-terms div{display:grid;grid-template-columns:minmax(150px,.85fr) minmax(0,1.6fr);gap:18px;
  padding-block:11px;border-bottom:1px solid var(--rule);align-items:baseline}
.cover-terms div:last-child{border-bottom:none}
.cover-terms dt{font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:500}
.cover-terms dd{font-size:14px}
@media(max-width:900px){.cover{grid-template-columns:1fr}
  .cover-terms div{grid-template-columns:1fr;gap:3px}}

/* Les paragraphes enfants directs de la grille sont des colonnes voisines,
   pas des paragraphes empiles : ils ne prennent pas la marge de separation. */
.cols > p + p,.two > p + p{margin-top:0}
.dl{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--blue);border-bottom:1px solid var(--blue);padding-bottom:2px;
  white-space:nowrap;transition:color .15s,border-color .15s}
.dl:hover{color:var(--navy);border-bottom-color:var(--navy)}

/* ---- entetes des deux offres, centrees ---- */
.risk-panel .who,.risk-panel h3{text-align:center}
.risk-panel .who{margin-bottom:8px}
.risk-panel h3{margin-bottom:0;padding-bottom:22px;border-bottom:1px solid var(--rule)}
.risk-panel.inst h3{border-bottom-color:var(--rule-dark)}
.risk-panel .bignum{padding-top:22px}
.doclink{margin-top:16px}

/* ---- page personnes, societe et objet ---- */
.people{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);
  border:1px solid var(--rule)}
.people article{background:var(--paper);padding:32px 30px 34px}
.p-role{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--blue);font-weight:500;margin-bottom:12px}
.people h3{font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:-.01em;
  margin-bottom:14px}
.people p{font-size:15px;line-height:1.75;color:var(--ink-soft)}
.brandbox{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid var(--rule)}
.brand-fig{background:var(--navy);color:var(--paper);padding:36px 28px;
  display:flex;flex-direction:column;justify-content:center;gap:10px}
.brand-cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--steel);font-weight:500}
.brand-big{font-family:var(--serif);font-size:clamp(34px,4.4vw,52px);font-weight:600;
  line-height:1;letter-spacing:-.02em}
.brand-txt{background:#FBF9F5;padding:32px 30px}
.brand-txt p{font-size:15px;line-height:1.75;color:var(--ink-soft)}
.brand-txt p+p{margin-top:15px}
@media(max-width:900px){.people,.brandbox{grid-template-columns:1fr}}
.terms{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.terms{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.terms{grid-template-columns:1fr}}

/* Les colonnes d'une grille ne s'etirent plus a la hauteur de la plus longue :
   un graphique a proportion fixe laissait un cadre vide sous la courbe. */
.two,.cols{align-items:start}

/* ---- regles d'execution et canaux de communication ---- */
.rules{border-top:2px solid var(--ink)}
.rules div{display:grid;grid-template-columns:minmax(190px,.75fr) minmax(0,2.25fr);gap:26px;
  padding-block:15px;border-bottom:1px solid var(--rule);align-items:baseline}
.rules dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--blue);font-weight:500}
.rules dd{font-size:15px;line-height:1.72;color:var(--ink-soft)}
.channels{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);
  border:1px solid var(--rule)}
.channels article{background:var(--paper);padding:28px 26px 30px}
.ch-cap{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--blue);font-weight:500;margin-bottom:12px}
.channels h3{font-family:var(--serif);font-size:22px;font-weight:600;margin-bottom:12px}
.channels p{font-size:14.5px;line-height:1.72;color:var(--ink-soft)}
@media(max-width:900px){.channels{grid-template-columns:1fr}
  .rules div{grid-template-columns:1fr;gap:4px}}

/* ---- bareme d'apport d'affaires : echelle degressive ---- */
.scale-box{border:1px solid var(--rule);background:#FBF9F5}
.scale-head{display:flex;justify-content:space-between;gap:20px;padding:16px 24px 0}
.scale-lab{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:500}
.scale{display:flex;align-items:flex-end;gap:1px;padding:22px 24px 0;height:210px}
.scale button{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;
  align-items:center;gap:0;padding:0;text-align:center;position:relative}
.s-pct{font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums;
  color:var(--ink-soft);margin-bottom:8px;transition:color .18s,font-weight .18s}
.s-bar{display:block;width:100%;max-width:78px;background:var(--paper-2);
  border:1px solid var(--rule);border-bottom:none;min-height:3px;transition:background .18s,border-color .18s}
.s-n{font-family:var(--mono);font-size:13px;padding:10px 0 14px;color:var(--ink-soft);
  border-top:1px solid var(--rule);width:100%;transition:color .18s}
.scale button:hover .s-bar{background:rgba(44,95,141,.18);border-color:var(--blue)}
.scale button:hover .s-pct,.scale button:hover .s-n{color:var(--ink)}
.scale button[aria-pressed="true"] .s-bar{background:var(--navy);border-color:var(--navy)}
.scale button[aria-pressed="true"] .s-pct{color:var(--navy);font-weight:600}
.scale button[aria-pressed="true"] .s-n{color:var(--navy);font-weight:600;
  box-shadow:inset 0 2px 0 var(--navy)}
.scale-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;
  background:var(--navy);color:var(--paper);padding:20px 24px;flex-wrap:wrap}
.scale-sum{font-size:14px;color:rgba(242,239,232,.82)}
.scale-big{font-family:var(--serif);font-size:clamp(32px,4vw,46px);font-weight:600;
  line-height:1;letter-spacing:-.02em}
@media(max-width:700px){.scale{height:170px;padding-inline:12px}.s-pct{font-size:10.5px}}
/* rail de hauteur fixe : sans lui, la hauteur en % se calcule sur l'espace
   restant apres les libelles et toutes les barres se ressemblent */
.scale{height:auto;align-items:stretch}
.scale button{height:auto}
.s-track{display:flex;align-items:flex-end;justify-content:center;height:132px;width:100%}
.s-bar{height:auto}

/* ---- indicateurs de risque en tuiles ---- */
.m-block{margin-bottom:28px}
.m-head{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;
  padding-bottom:10px;border-bottom:2px solid var(--ink);margin-bottom:0}
.m-cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--blue);font-weight:500}
.m-note{font-size:13px;color:var(--ink-soft)}
.m-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);
  border-inline:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.m-grid.three{grid-template-columns:repeat(3,1fr)}
.m-tile{background:var(--paper);padding:22px 20px 24px;display:flex;flex-direction:column;gap:10px;
  transition:background .15s}
.m-tile:hover{background:#FBF9F5}
.m-k{font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:500}
.m-v{font-family:var(--serif);font-size:clamp(26px,3.1vw,36px);font-weight:600;line-height:1;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.m-v.pos{color:var(--pos)} .m-v.neg{color:var(--neg)}
.m-n{font-size:12.5px;color:var(--ink-soft);line-height:1.45}
@media(max-width:1000px){.m-grid,.m-grid.three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.m-grid,.m-grid.three{grid-template-columns:1fr}}

/* ---- sommaire en tete de fiche ---- */
.toc-block{padding-block:38px 42px;background:var(--paper-2)}
.toc{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(24px,5vw,64px);
  border-top:2px solid var(--ink);margin-top:6px}
.toc li{border-bottom:1px solid var(--rule)}
.toc a{display:flex;align-items:baseline;gap:16px;padding-block:12px;transition:color .15s}
.toc a:hover{color:var(--blue)}
.t-num{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--blue);
  min-width:58px;font-weight:500}
.t-lib{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:-.005em;line-height:1.3}
.toc-more{margin-top:22px}

/* ---- barre de repere au defilement ---- */
.toc-sticky{position:sticky;top:0;z-index:30;background:var(--navy-deep);
  border-bottom:1px solid var(--rule-dark);
  max-height:0;overflow:hidden;opacity:0;transition:max-height .25s,opacity .25s}
.toc-sticky.on{max-height:56px;opacity:1}
.toc-sticky ol{list-style:none;display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.toc-sticky ol::-webkit-scrollbar{display:none}
.toc-sticky a{display:block;white-space:nowrap;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.09em;text-transform:uppercase;color:var(--steel);font-weight:500;
  padding:16px 15px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.toc-sticky a:hover{color:var(--paper)}
.toc-sticky a[aria-current]{color:var(--paper);border-bottom-color:var(--blue)}
@media(max-width:900px){.toc{grid-template-columns:1fr}
  .toc-sticky.on{max-height:50px}.toc-sticky a{padding:14px 12px;font-size:10px}}
/* lecture en colonne : 1-5 a gauche, 6-10 a droite, et non en zigzag */
.toc{grid-auto-flow:column;grid-template-rows:repeat(5,auto)}
@media(max-width:900px){.toc{grid-auto-flow:row;grid-template-rows:none}}

/* ---- AlgoProfits : les deux moteurs ---- */
.engines{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);
  border:1px solid var(--rule)}
.engines article{background:var(--paper);padding:32px 28px 34px}
.en-cap{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--blue);font-weight:500;margin-bottom:10px}
.engines h3{font-family:var(--serif);font-size:28px;font-weight:600;letter-spacing:-.015em;
  margin-bottom:12px}
.en-lead{font-family:var(--serif);font-size:17px;line-height:1.55;color:var(--navy);
  padding-bottom:18px;margin-bottom:6px;border-bottom:2px solid var(--ink)}
.engines dl div{display:grid;grid-template-columns:minmax(110px,.5fr) minmax(0,1.5fr);gap:16px;
  padding-block:11px;border-bottom:1px solid var(--rule);align-items:baseline}
.engines dl div:last-child{border-bottom:none}
.engines dt{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:500}
.engines dd{font-size:14px;line-height:1.55}

/* ---- correlation ---- */
.corr{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);
  border:1px solid var(--rule);border-top:none}
.cr-fig{background:var(--navy);color:var(--paper);padding:32px 28px;
  display:flex;flex-direction:column;justify-content:center;gap:8px}
.cr-cap{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--steel);font-weight:500}
.cr-big{font-family:var(--serif);font-size:clamp(44px,5.5vw,64px);font-weight:600;line-height:1;
  letter-spacing:-.025em}
.cr-sub{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:rgba(242,239,232,.8)}
.cr-txt{background:#FBF9F5;padding:32px 30px;display:flex;flex-direction:column;justify-content:center}
.cr-txt p{font-size:15px;line-height:1.76;color:var(--ink-soft)}
.cr-txt p+p{margin-top:14px}

/* ---- regle de dimensionnement ---- */
.rule-big{background:var(--navy);color:var(--paper);padding:30px 32px;
  display:flex;flex-direction:column;gap:8px;border-inline-start:3px solid var(--blue)}
.rb-txt{font-family:var(--serif);font-size:clamp(22px,2.8vw,32px);font-weight:600;
  letter-spacing:-.015em;line-height:1.2}
.rb-sub{font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--steel)}
tbody tr.hi td,tbody tr.hi th{background:rgba(44,95,141,.08)}

@media(max-width:900px){.engines,.corr{grid-template-columns:1fr}
  .engines dl div{grid-template-columns:1fr;gap:3px}}

/* ---- curseur de risque AlgoProfits ---- */
.risk-ctrl{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);
  border:1px solid var(--rule);margin-bottom:26px}
.rc-left{background:#FBF9F5;padding:26px 26px 22px}
.rc-lab{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin-bottom:16px}
.rc-right{background:var(--navy);color:var(--paper);padding:26px 26px;
  display:flex;flex-direction:column;justify-content:center;gap:8px}
.rc-cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--steel);font-weight:500}
.rc-big{font-family:var(--serif);font-size:clamp(36px,4.4vw,52px);font-weight:600;line-height:1;
  letter-spacing:-.025em;color:#E5A196}
.rc-note{font-size:13px;color:rgba(242,239,232,.82)}
.risk-ctrl .presets{margin-bottom:18px}
.risk-ctrl .slider-row output{font-size:22px}
@media(max-width:900px){.risk-ctrl{grid-template-columns:1fr}}
/* intitules des deux moteurs, centres */
.engines .en-cap,.engines h3,.en-lead{text-align:center}
.en-lead{max-width:44ch;margin-inline:auto}
.rc-lots{margin-top:16px;padding-top:14px;border-top:1px solid var(--rule);
  font-size:13.5px;color:var(--ink-soft)}
.rc-lots strong{font-family:var(--mono);font-size:14px;color:var(--ink);font-weight:600}

/* ---- etapes horizontales et gouvernance ---- */
.steps-h{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--rule);border:1px solid var(--rule)}
/* la grille s'ajuste au nombre reel d'etapes : pas de case vide */
.steps-h:has(li:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
.steps-h:has(li:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}
.steps-h:has(li:only-child){grid-template-columns:1fr}
.steps-h li{background:var(--paper);padding:26px 22px 28px}
.steps-h li:nth-child(odd){background:#FBF9F5}
.sh-n{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  color:var(--blue);font-weight:600;margin-bottom:14px}
.steps-h h3{font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.28;
  margin-bottom:10px;letter-spacing:-.005em}
.steps-h p{font-size:14px;line-height:1.66;color:var(--ink-soft)}
.gov{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);
  border:1px solid var(--rule)}
.gov article{background:var(--paper);padding:28px 26px 30px}
.gov h3{font-family:var(--serif);font-size:21px;font-weight:600;letter-spacing:-.01em;
  padding-bottom:12px;margin-bottom:14px;border-bottom:2px solid var(--blue)}
.gov p{font-size:14.5px;line-height:1.72;color:var(--ink-soft)}
@media(max-width:1000px){.steps-h{grid-template-columns:repeat(2,1fr)}.gov{grid-template-columns:1fr}}
@media(max-width:600px){.steps-h{grid-template-columns:1fr}}

/* ---- selecteur de langue ---- */
.langbar{display:flex;gap:14px;margin-inline-start:22px;padding-inline-start:22px;
  border-inline-start:1px solid var(--rule-dark);align-items:center}
.langbar a,.langbar span{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;
  text-transform:uppercase;font-weight:500;white-space:nowrap}
.langbar a{color:var(--steel);border-bottom:1px solid transparent;padding-block:3px}
.langbar a:hover{color:var(--paper);border-bottom-color:var(--steel)}
.langbar [aria-current]{color:var(--paper);border-bottom:1px solid var(--paper);padding-block:3px}
.langbar .off{color:rgba(126,155,184,.38);cursor:default}
@media(max-width:900px){.langbar{margin-inline-start:0;padding-inline-start:0;border:none;
  width:100%;padding-top:8px;border-top:1px solid var(--rule-dark)}}

/* ---- selecteur de langue, dans le bandeau utilitaire ---- */
.utility .langbar{margin-inline-start:0;padding-inline-start:0;border:none;gap:16px}
.utility .langbar a,.utility .langbar span{font-size:10.5px;letter-spacing:.11em;line-height:1}
.utility .langbar a{color:var(--steel)}
.utility .langbar a:hover{color:var(--paper);border-bottom-color:var(--steel)}
.utility .langbar [aria-current]{color:var(--paper);border-bottom:1px solid var(--paper)}
.utility .langbar .off{color:rgba(126,155,184,.40)}
.bar nav a,.masthead-bar .nav button{white-space:nowrap}

/* ---- alignement des tableaux : l'entete suit la colonne ---- */
thead th.num{text-align:end}
thead th:not(.num){text-align:start}
/* la derniere case seule d'une grille de conditions occupe toute la ligne */
.terms div.pleine{grid-column:1/-1;align-items:center;text-align:center}
/* le tableau mensuel a ses propres regles : on realigne aussi son entete */
.months thead th{text-align:end}
.months thead th:first-child{text-align:start}

/* ---- illustration du partenariat ---- */
.ferrari{margin:0}
.ferrari img{display:block;width:100%;height:auto;border:1px solid var(--rule)}
.ferrari figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-soft);padding-top:10px}

/* ---- conditions : cases et textes centres ---- */
.terms div{align-items:center;text-align:center}
.terms .t,.terms .v{text-align:center}

/* ---- tableaux d'AlgoProfits entierement centres ---- */
.algo table th,.algo table td,
.algo .months th,.algo .months td,
.algo thead th,.algo thead th.num,.algo tbody td.num,.algo tbody th{text-align:center}
.algo .months thead th:first-child,.algo .months tbody th{text-align:center}
.algo table th span{text-align:center}

/* ---- captures d'ecran dans les guides ---- */
.shot{margin:0}
.shot img{display:block;width:100%;height:auto;border:1px solid var(--rule);background:#fff}
.shot figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-soft);padding-top:10px;line-height:1.5}
.toc-block{padding-block:38px 42px;background:var(--paper-2)}
.toc{list-style:none;display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:column;
  grid-template-rows:repeat(4,auto);gap:0 clamp(24px,5vw,64px);
  border-top:2px solid var(--ink);margin-top:6px}
.toc li{border-bottom:1px solid var(--rule)}
.toc a{display:flex;align-items:baseline;gap:16px;padding-block:12px;transition:color .15s}
.toc a:hover{color:var(--blue)}
.t-num{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--blue);
  min-width:28px;font-weight:500}
.t-lib{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:-.005em;line-height:1.3}
@media(max-width:900px){.toc{grid-auto-flow:row;grid-template-columns:1fr;grid-template-rows:none}}

/* ---- rendu papier des guides ---- */
@media print{
  .bar,.utility,.langbar{display:none !important}
  body{background:var(--paper)}

  /* couverture : elle occupe la page, sans blanc en bas */
  .masthead{padding-block:2.8cm 3.6cm;break-after:page}
  .masthead .wrap{width:100%}
  .masthead h1{font-size:52px;line-height:1.04}
  .masthead .tagline{font-size:17px}

  /* densite : on resserre sans tasser */
  .blk{padding-block:16px}
  .blk .wrap{max-width:none}
  .toc-block{padding-block:20px 24px}
  .stitle{break-after:avoid;margin-bottom:8px}
  .stitle.big{font-size:27px}
  .sintro{break-before:avoid;font-size:14px;margin-bottom:14px}
  .sub-h{break-after:avoid;margin-top:24px}
  .slabel{margin-bottom:4px}

  /* rien ne doit se couper en deux */
  .two,.engines,.gov,.steps-h,.corr,.terms{break-inside:avoid}
  .shot,.flagbox,table,.spec,.rules div,.docs li,figure{break-inside:avoid}
  .shot img{max-height:8.6cm;width:auto;margin-inline:auto}
  .two>*{min-width:0}
  p{orphans:3;widows:3}

  a{text-decoration:none}
  footer{break-before:page;padding-block:24px}
}

/* ---- cadre des graphiques ---- */
.plotwrap{padding:6px 0 2px}

/* ---- schemas explicatifs ---- */
.schema{margin:0 0 34px}
.schema svg{display:block;width:100%;height:auto}
.sc-box rect{fill:var(--paper);stroke:var(--rule);stroke-width:1}
.sc-main rect{fill:#FBF9F5;stroke:var(--ink);stroke-width:1.4}
.sc-cap{font-family:var(--mono);font-size:10px;letter-spacing:.13em;
  text-transform:uppercase;fill:var(--blue)}
.sc-t{font-family:var(--serif);font-size:16px;font-weight:600;fill:var(--ink)}
.sc-mt{font-family:var(--serif);font-size:21px;font-weight:600;fill:var(--ink)}
.sc-big{font-family:var(--serif);font-size:34px;font-weight:600;fill:var(--ink)}
.sc-n{font-family:var(--sans);font-size:12.5px;fill:var(--ink-soft)}
.sc-lab{font-family:var(--mono);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;fill:var(--blue)}
.sc-labv{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;
  text-transform:uppercase;fill:var(--pos)}
.sc-line{fill:none;stroke:var(--blue);stroke-width:1.2}
.sc-flow{fill:none;stroke:var(--pos);stroke-width:1.2;stroke-dasharray:5 4}
.sc-rule{stroke:var(--rule);stroke-width:1}
.schema figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-soft);padding-top:12px}
/* le schema garde son sens de lecture : seuls les mots arabes se composent en RTL */
.schema svg{direction:ltr;unicode-bidi:isolate}
.schema svg text{direction:ltr;unicode-bidi:isolate-override}
[dir="rtl"] .schema svg text{unicode-bidi:plaintext}
.sc-mode{font-family:var(--serif);font-size:18px;font-weight:600;fill:var(--ink)}
.sc-ex{font-family:var(--mono);font-size:14px;font-weight:500;fill:var(--ink)}
.sc-eg{font-family:var(--sans);font-size:12.5px;fill:var(--ink-soft)}
.sc-warn{font-family:var(--sans);font-size:12.5px;fill:var(--neg)}
.sc-good{font-family:var(--sans);font-size:12.5px;fill:var(--pos)}

/* ---- carte des juridictions ---- */
.carte svg{background:var(--paper)}
.terre{fill:rgba(11,31,56,.07);stroke:rgba(11,31,56,.28);stroke-width:.6;
  stroke-linejoin:round;fill-rule:evenodd}
.pt circle{fill:var(--blue)}
.pt .halo{fill:none;stroke:var(--blue);stroke-width:1;opacity:.35}
.pt-p{font-family:var(--serif);font-size:15px;font-weight:600;fill:var(--ink)}
.pt-r{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;fill:var(--ink-soft)}
.sc-warn2{font-family:var(--serif);font-size:17px;font-weight:600;fill:var(--neg)}
.sc-good2{font-family:var(--serif);font-size:17px;font-weight:600;fill:var(--pos)}

/* ---- marque en tête de fiche ---- */
h1.marque{display:flex;align-items:flex-end;gap:clamp(14px,1.6vw,24px);
  margin:0 0 6px;line-height:1}
h1.marque img{display:block;width:clamp(230px,30vw,430px);height:auto}
h1.marque span{font-family:var(--serif);font-weight:400;color:var(--steel);
  font-size:clamp(26px,3.4vw,50px);letter-spacing:.02em;line-height:1;
  padding-bottom:clamp(4px,.6vw,10px)}
@media(max-width:620px){
  h1.marque{flex-direction:column;align-items:flex-start;gap:6px}
  h1.marque img{width:min(280px,72vw)}
  h1.marque span{padding-bottom:0}
}

/* ============ filigrane NB sur le bandeau sombre ============
   Meme traitement que la page d'accueil : le monogramme en creme a
   2,8 %, senti mais pas lu, sous le texte qui garde son contraste. */
.masthead{position:relative;isolation:isolate;overflow:clip}
.masthead > .wrap{position:relative;z-index:2}
@media(prefers-reduced-motion:reduce){
  .masthead::before{content:"";position:absolute;z-index:0;pointer-events:none;
    inset-block:7%;inset-inline-end:-8%;aspect-ratio:1.459;
    background:url(../img/logo/nb-monogramme-clair.png) no-repeat center/contain;
    opacity:.026;
    -webkit-mask-image:radial-gradient(closest-side,#000 42%,transparent 92%);
    mask-image:radial-gradient(closest-side,#000 42%,transparent 92%)}
}
