/* layout for the public site kit — composes the design-system primitives */
html{overflow-y:scroll}
/* Home : le scroll se cale sur le hero ou sur l'hémicycle (proximity = jamais bloquant, footer accessible). */
html:has(.home-snap){scroll-snap-type:none;scroll-padding-top:var(--header-height,0px)}
.home-snap>section{scroll-snap-align:start}
/* Section = un écran : le titre s'ancre en haut, l'hémicycle se pose en bas ; l'éventuel surplus de hauteur va entre les deux. */
.home-snap>#hemicycle{padding-block:clamp(var(--space-8),4.5vh,var(--space-11)) clamp(var(--space-6),3vh,var(--space-9));min-height:calc(100dvh - var(--header-height));box-sizing:border-box;display:flex;flex-direction:column}
.home-snap>#hemicycle>.hm{width:100%;flex:1;display:flex;flex-direction:column}
.home-snap>#hemicycle .hm__head{margin-bottom:var(--space-9)}
.home-snap>#hemicycle .hm__viz{margin-top:auto}
.home-snap>#hemicycle .hm__svg:not([data-mode="bars"]){padding-bottom:48px}
.home-snap>#hemicycle .hm__next{bottom:3px}
.home-snap>#hemicycle .hm__svg[data-mode="bars"]{padding-bottom:116px}
.home-snap~footer,.site:has(.home-snap) footer{scroll-snap-align:end}
@media (prefers-reduced-motion:reduce){html:has(.home-snap){scroll-snap-type:none}}
.site{min-height:100dvh;min-height:var(--app-vh,100dvh);display:flex;flex-direction:column}
.site>*{width:100%;min-width:0}
.about__lead{float:left;font:var(--weight-light) 2.3em/.95 var(--font-display);color:var(--text-primary);margin:.04em .25em 0 0}
.filters .clarte-check__count{display:none}
html[data-theme-anim] .site{transition:background-color 1.1s cubic-bezier(.45,0,.55,1),color 1.1s cubic-bezier(.45,0,.55,1)}
.site__view{display:flex;flex-direction:column;flex:1}
.site__view[data-hidden]{opacity:0;pointer-events:none;content-visibility:hidden;contain:strict;min-height:var(--app-vh,100dvh)}
.site__view[data-enter]{animation:site-view-in .5s cubic-bezier(.33,0,.2,1) both}
@keyframes site-view-in{from{opacity:0}to{opacity:1}}
html[data-theme-anim] .hdr,html[data-theme-anim] .hdr *,html[data-theme-anim] .ftr,html[data-theme-anim] .ftr *{transition:background-color 1.1s cubic-bezier(.45,0,.55,1),border-color 1.1s cubic-bezier(.45,0,.55,1),color 1.1s steps(2,jump-none),fill 1.1s steps(2,jump-none),stroke 1.1s steps(2,jump-none)}
@media (prefers-reduced-motion:reduce){.site,html[data-theme-anim] .hdr,html[data-theme-anim] .hdr *,html[data-theme-anim] .ftr,html[data-theme-anim] .ftr *{transition:none}.site__view[data-enter]{animation:none}}
.wrap{width:100%;box-sizing:border-box;max-width:var(--max-content);margin:0 auto;padding:0 var(--gutter-page-wide)}
@media (max-width:720px){.wrap{padding:0 var(--gutter-page)}}
/* Breakpoints driven by the DB card grid: 1 col < 960, 2 cols 960–1399, 3 cols ≥ 1400, 4 cols ≥ 1840 — each threshold is where the next column count still leaves a ≈420px card, so card width never shrinks going up. */
@media (min-width:1400px){.wrap{max-width:var(--max-content-wide)}}
@media (min-width:1840px){.wrap{max-width:var(--max-content-xwide)}}

.hdr{position:sticky;top:0;z-index:80;background:var(--surface-page);border-bottom:var(--rule-hairline)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);height:var(--header-height);padding-top:6px}
.hdr__logo{font:var(--weight-medium) var(--size-15)/1 var(--font-sans);letter-spacing:var(--tracking-logo);color:var(--text-primary);background:none;border:0;cursor:pointer;padding:0;transition:opacity 900ms var(--ease-ui)}
.hdr__logo[data-hidden="true"]{transition:opacity 140ms var(--ease-ui)}
.hdr__nav{display:flex;align-items:center;gap:var(--space-9)}
.hdr__link{font:var(--type-body-sm);font-size:13.5px;letter-spacing:.025em;color:var(--text-tertiary);background:none;border:0;padding:var(--space-2) 0;cursor:pointer;border-bottom:1px solid transparent;transition:color var(--dur-state) var(--ease-state),border-color var(--dur-state) var(--ease-state)}
.hdr__link:hover{color:var(--text-primary)}
/* Hover underline (tweak, html[data-nav-underline]), set well below the text: draws in from the left, leaves to the right. */
.hdr__link{position:relative}
/* Drawn with background-size, not a scale transform: a scaled 1px line is composited during the move and re-rasterised crisp at rest, which reads as the line thickening at the end. */
.hdr__link::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;opacity:.55;background:linear-gradient(currentColor,currentColor) no-repeat right center/0% 100%;transition:background-size 260ms cubic-bezier(.2,.6,.3,1)}
html[data-nav-underline] .hdr__link:hover::after{background-position:left center;background-size:100% 100%}
@media (min-resolution:2dppx){.hdr__link::after{height:.5px;opacity:1}}
@media (prefers-reduced-motion:reduce){.hdr__link::after{transition:none}}
.hdr__link[aria-current="page"]{color:var(--text-primary)}
/* Header/footer ink flips at the fade's midpoint instead of blending: a blended ink crosses the background tone and vanishes. */
html[data-theme-anim]:not([data-theme-fade]) .hdr__link{transition:color var(--dur-state) var(--ease-state),border-color var(--dur-state) var(--ease-state)}
@media (max-width:959px){.hdr__nav{display:none}}
.hdr__nav{margin-left:auto}
.hdr__sep{width:1px;height:16px;background:var(--border-hairline);flex:none}
.hdr__end{display:flex;align-items:center;gap:var(--space-4)}
.hdr__end:empty{display:none}
.hdr__theme{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;background:none;cursor:pointer;color:var(--text-tertiary);position:relative;margin-right:calc(-1 * var(--space-3))}
.hdr__theme::before{content:"";position:absolute;left:-4px;top:50%;height:14px;margin-top:-7px;border-left:var(--rule-hairline)}
.hdr__theme:hover,.hdr__theme:focus-visible{color:var(--text-primary)}
.hdr__theme-glyph{width:11px;height:11px;border:1px solid currentColor;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.hdr__theme--text{width:auto;padding-left:var(--space-5);font:var(--type-body-sm);margin-right:0}
.hdr__theme--text::before{left:0}
@media (max-width:959px){.hdr__theme{margin-right:0}.hdr__theme::before{display:none}.hdr__end{gap:var(--space-2)}}
@media (min-width:960px){.hdr__end:not(:has(.hdr__theme)){display:none}}
.hdr__burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-right:calc(-1 * var(--space-4));padding:0;border:0;background:none;color:var(--text-primary);cursor:pointer}
@media (max-width:959px){.hdr__burger{display:inline-flex}}
.navsheet{position:fixed;inset:var(--header-height) 0 0;z-index:79;background:var(--surface-page);display:flex;flex-direction:column;padding-block:var(--space-9) var(--space-9);overflow-y:auto;animation:navsheet-in 220ms var(--ease-ui) both}
.navsheet--closing{animation:navsheet-out 200ms var(--ease-ui) both}
@keyframes navsheet-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes navsheet-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px)}}
.navsheet__links{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);width:100%;max-width:none;margin:0;padding:0 0 0 var(--space-9)}
.navsheet__link{min-height:56px;display:flex;align-items:center;width:100%;padding:var(--space-4) 0;border:0;background:none;text-align:left;cursor:pointer;font:var(--weight-light) clamp(26px,7.5vw,38px)/1.1 var(--font-display);letter-spacing:var(--tracking-title);color:var(--text-tertiary)}
.navsheet__link[aria-current="page"]{color:var(--text-primary)}
@media (prefers-reduced-motion:reduce){.navsheet,.navsheet--closing{animation-duration:1ms}}

.hero{min-height:calc(100dvh - var(--header-height));min-height:calc(var(--app-vh, 100dvh) - var(--header-height));display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:var(--space-11) var(--space-9)}
.hero__stack{margin-block:auto;display:flex;flex-direction:column;align-items:center;padding-bottom:clamp(var(--space-5),4vh,var(--space-10))}
.hero__word{display:block;font:var(--type-display);letter-spacing:var(--tracking-display);color:var(--text-primary);animation:hero-focus var(--dur-hero) var(--ease-focus) var(--dur-hero-hold) both}
.hero__word{font-family:var(--hero-font,var(--font-display));letter-spacing:calc(var(--tracking-display) + var(--hero-tracking,0em));-webkit-text-stroke:var(--hero-stroke,0px) var(--surface-page);paint-order:fill stroke}
.hero__letter{transition:opacity var(--dur-ui) var(--ease-out, ease);cursor:default}
.hero__word .hero__letter:nth-child(2){margin-right:.045em}
.hero__letter[data-dim]{opacity:.34}
.hero__expand{margin-top:var(--space-4);font:var(--weight-light, 300) var(--size-15)/1.3 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);opacity:0;transition:opacity var(--dur-ui) var(--ease-out, ease);max-width:100%}
.hero__expand[data-on]{opacity:1}
.hero__expand-word[data-on]{opacity:1}
.hero__expand--phrase{display:flex;flex-wrap:wrap;justify-content:center;column-gap:.5em;row-gap:.2em}
.hero__expand--phrase .hero__expand-word,.hero__expand--phrase .hero__expand-join{opacity:.3;transition:opacity var(--dur-state) linear}
.hero__expand--phrase .hero__expand-word[data-on]{opacity:1}
.hero__expand--phrase .hero__expand-join{letter-spacing:0}
@keyframes hero-focus{from{filter:blur(var(--blur-hero-start))}to{filter:blur(0)}}
.hero__cta--intro{animation:cue-focus 1300ms cubic-bezier(.22,.61,.24,1) calc(var(--dur-hero) * .38) both}
.hero__cta--intro .clarte-btn{position:relative;background:none;border-color:transparent;font-size:var(--size-17)}
.hero__cta--intro .clarte-btn:hover{background:none;color:var(--text-primary)}
.hero__cta--intro .clarte-icon-svg{transition:transform 140ms cubic-bezier(.2,.6,.3,1)}
.hero__cta--intro .clarte-btn{align-items:baseline}.hero__cta--intro .clarte-icon-svg{position:relative;top:calc(20px * 60 / 256)}
.hero__cta--intro .clarte-btn:hover .clarte-icon-svg{transform:translate(3px,-3px)}
.hero__expand{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3) var(--space-6);margin-top:var(--space-9);font:var(--type-data-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary)}
.hero__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-5);margin-top:var(--space-10)}
.hero__more-row{flex:none;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-5)}
.hero__more span{white-space:nowrap;text-transform:none;font:var(--weight-regular) var(--size-11)/1.4 var(--font-mono);letter-spacing:.04em}
.prose sup.sup{font-size:.62em;vertical-align:.42em;line-height:0}
.hero__more{flex:none;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border:0;background:none;cursor:pointer;color:var(--text-tertiary);font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;animation:cue-focus 1300ms cubic-bezier(.22,.61,.24,1) calc(var(--dur-hero) * .62) both}
.hero__more .clarte-icon-svg{transition:transform var(--dur-ui) var(--ease-ui)}
.hero__more:hover{color:var(--text-primary)}
.hero__more:hover .clarte-icon-svg{transform:translateY(3px)}
.hero__more:focus-visible{outline:var(--stroke-hairline) solid var(--focus-ring);outline-offset:3px}
@keyframes cue-focus{from{filter:blur(9px)}to{filter:blur(0)}}
@media (prefers-reduced-motion:reduce){.hero__more{animation-duration:1ms;animation-delay:0ms}.hero__expand,.hero__cta--intro{animation-duration:1ms;animation-delay:0ms}}
/* Baseline : dit ce qu'est CLARTÉ dès l'ouverture. Largeur calée sur le mot en desktop (JS), phrase raccourcie en mobile. */
.hero__intro{margin:var(--space-5) 0 0;font:var(--weight-light) var(--size-20)/1.42 var(--font-sans);letter-spacing:-.012em;color:var(--text-secondary);text-wrap:balance;animation:cue-focus 1300ms cubic-bezier(.22,.61,.24,1) calc(var(--dur-hero) * .38) both}
.hero__intro sup{font-size:.62em;vertical-align:.42em;line-height:0}
.hero__intro .hero__intro-tail{display:none}
@media (min-width:721px){.hero__intro .hero__intro-tail{display:inline}}
.hero__cta--intro{margin-top:var(--space-10)}
.hero__cta--intro .clarte-btn{font-size:var(--size-17);padding:12px 19px}
@media (prefers-reduced-motion:reduce){.hero__intro{animation-duration:1ms;animation-delay:0ms}}
.hero__stack{flex:1;margin-block:0;width:100%;display:grid;grid-template-rows:minmax(0,1fr) auto minmax(min-content,1fr);justify-items:center;padding-bottom:0}
.hero__stack>.hero__word{grid-row:2;transform:translateY(-8vh)}
.hero__below{grid-row:3;align-self:start;display:flex;flex-direction:column;align-items:center}
@media (min-width:721px){.hero__below{align-self:end;padding-bottom:var(--space-10)}.hero__below .hero__intro{margin-top:0}}
.hdr{transition:border-color var(--dur-state) var(--ease-ui)}
.hdr:has(.hdr__logo[data-hidden="true"]){border-bottom-color:transparent}
html[data-theme-anim] .hdr{border-bottom-color:transparent!important;transition:background-color 1.1s cubic-bezier(.45,0,.55,1)!important}html[data-theme-anim] .hdr__logo{opacity:0!important;transition:none!important}
.hero__more{gap:var(--space-1)}
.hero__more{flex-direction:row;gap:var(--space-2);padding:var(--space-3) var(--space-4);color:rgb(255 255 255 / .45);transition:color var(--dur-state) var(--ease-ui)}
.hero__more span{font:var(--weight-light) 12px/1.4 var(--font-sans);letter-spacing:.08em}
.hero__more:hover{color:rgb(255 255 255 / .9)}
.hero__more .clarte-icon-svg{width:10px;height:10px}
@media (min-width:721px){.hero__below{padding-bottom:var(--space-11)}
}
.hero__more span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero__more{padding:var(--space-4)}
.hero__more .clarte-icon-svg{width:18px;height:18px}
@media (min-width:721px){.hero{position:relative}.hero__more-row{position:absolute;left:0;right:0;bottom:var(--space-7);margin-inline:auto;box-sizing:border-box;max-width:var(--max-content);padding-inline:var(--gutter-page-wide);justify-content:flex-end;pointer-events:none}.hero__more{pointer-events:auto;margin-right:calc(-1 * var(--space-4))}}
@media (min-width:1400px){.hero__more-row{max-width:var(--max-content-wide)}}
@media (min-width:1840px){.hero__more-row{max-width:var(--max-content-xwide)}}
@keyframes hero-nudge{0%,60%,100%{transform:translateY(0)}75%{transform:translateY(4px)}}
@media (prefers-reduced-motion:reduce){.hero__more .clarte-icon-svg{animation:none}}
/* Desktop: 6.46vw ≈ 17vw × .38, floored at 72px so the step down from the 92px phone hero stays small; capped at 99px. heroSize tweak scales it. */
.hero__word{font-size:calc(clamp(72px, 6.46vw, 99px) * var(--hero-scale,.38) / .38);-webkit-text-stroke-width:calc(var(--hero-stroke,0px) * var(--hero-scale,.38))}
.hero__intro{margin-top:clamp(56px,14vh,200px);font-size:var(--size-15);line-height:1.6;font-weight:var(--weight-light);letter-spacing:.06em;color:rgb(255 255 255 / .8)}
.hero__cta--intro .clarte-btn{letter-spacing:.06em;color:rgb(255 255 255 / .8)}
@media (min-width:721px){.hero__cta--intro{margin-top:var(--space-8)}.hero__cta--intro .clarte-btn{font-size:var(--size-15)}}

.section{padding-block:var(--space-12)}
.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;padding-bottom:var(--space-5);border-bottom:var(--rule-hairline);margin-bottom:var(--space-9)}
.section__title{font:var(--type-h2);color:var(--text-primary);min-width:0}
h1.section__title{letter-spacing:var(--tracking-title)}
.section__head--page{display:block}
.section__head--page .section__note{display:block;margin-top:var(--space-4);white-space:normal}
#hemicycle .section__head{border-bottom:none}
.section__note{font:var(--type-data-sm);color:var(--text-tertiary);flex:none;white-space:nowrap}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-9)}
.legend-row{display:flex;align-items:center;gap:var(--space-6);margin-top:var(--space-10);padding-top:var(--space-8);max-width:100%}
.legend-row .kpis--legend{margin:0;padding-top:0;max-width:none;flex:1 1 auto;min-width:0;gap:var(--space-9);grid-template-columns:repeat(4,minmax(0,1fr));justify-content:start}
.legend-row .clarte-kpi__label{white-space:nowrap}
.legend-row>.clarte-btn{flex:0 0 auto;white-space:nowrap;background:none;border-color:transparent;padding-inline:0;font-size:var(--size-17)}
.legend-row>.clarte-btn:hover{background:none;color:var(--text-primary)}
.legend-row>.clarte-btn .clarte-icon-svg{transition:transform 140ms cubic-bezier(.2,.6,.3,1)}
.legend-row>.clarte-btn:hover .clarte-icon-svg{transform:translate(3px,-3px)}
@media (max-width:900px){.legend-row{flex-direction:column;align-items:stretch;gap:var(--space-8)}}
.hm__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4) var(--space-8);flex-wrap:wrap;margin-bottom:var(--space-9)}
.hm__tabs{position:relative;display:flex;flex:none;gap:var(--space-7);flex-wrap:wrap}
.hm__bar{position:absolute;left:0;bottom:0;height:1px;background:var(--text-primary);transition:transform 600ms cubic-bezier(.65,0,.25,1),width 600ms cubic-bezier(.65,0,.25,1);pointer-events:none}
@media (prefers-reduced-motion:reduce){.hm__bar{transition:none}}
.hm__tab{font:var(--type-h2);color:var(--text-tertiary);background:none;border:0;padding:0 0 var(--space-2);cursor:pointer;transition:color 160ms var(--ease-ui)}
.hm__tab:hover{color:var(--text-secondary)}
.hm__tab[data-on="true"]{color:var(--text-primary)}
.hm__tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}
.hm__note{margin:0;flex:1 1 0;min-width:0;max-width:60ch;margin-left:auto;text-wrap:pretty;text-align:right;font:italic var(--weight-regular) var(--size-17)/var(--leading-snug) var(--font-sans);color:var(--text-secondary)}
.hm__stage{position:relative}
.hm__viz .clarte-viz__legenditem{white-space:nowrap}
.hm__svg{display:block;overflow:visible;width:min(100%,calc(72vh * 1.9));height:auto;margin-inline:auto;padding-block:var(--space-6)}
.hm__seat{fill:var(--seat);transition:transform 420ms cubic-bezier(.65,0,.25,1) var(--d,0ms),fill 240ms var(--ease-ui)}
.hm__seat[data-click="true"]{cursor:pointer}
.hm__seat[data-click="true"]:hover{stroke:var(--text-primary);stroke-width:1.5}
.hm__viz[data-dimmed="true"] .hm__seat{fill:var(--grey-300)}
.hm__legend{gap:0;margin-inline:calc(var(--space-3) * -1)}
.hm__legend .clarte-viz__legenditem{font:var(--type-data);font-size:14px;gap:var(--space-3);padding:var(--space-2) var(--space-3);cursor:default;transition:color 240ms var(--ease-ui),background-color 240ms var(--ease-ui)}
.hm__legend .clarte-viz__legenditem{color:var(--text-primary)}
.hm__legend .clarte-viz__swatch{width:11px;height:11px;transition:background 240ms var(--ease-ui)}
.hm__viz[data-dimmed="true"] .hm__legend .clarte-viz__swatch{background:var(--grey-300)}
.hm__viz[data-dimmed="true"] .hm__legend .clarte-viz__legenditem[data-active="true"] .clarte-viz__swatch{background:var(--swatch)}
.hm__viz[data-dimmed="true"] .hm__seat[data-active="true"]:not([data-grey="true"]){fill:var(--seat)}
@media (prefers-reduced-motion:reduce){.hm__seat{transition:none}}
.hm__seat{transition:transform 720ms cubic-bezier(.65,0,.25,1) var(--d,0ms),fill 240ms var(--ease-ui),opacity 0ms linear}
.hm__count{font:var(--type-data-sm);font-size:10px;fill:var(--text-tertiary);opacity:0;transition:opacity 240ms var(--ease-ui),fill 240ms var(--ease-ui);pointer-events:none}
.hm__count[data-on="true"]{opacity:1;transition:opacity 400ms var(--ease-ui) 700ms,fill 240ms var(--ease-ui)}
.hm__count[data-active="true"]{fill:var(--text-primary)}
.hm__svg{transition:padding-bottom 600ms cubic-bezier(.65,0,.25,1)}.hm__svg[data-mode="bars"]{padding-bottom:var(--space-12,72px)}
.hm__axis{font:var(--type-data-sm);font-size:11px;fill:var(--text-secondary);opacity:0;pointer-events:none;cursor:pointer;transition:opacity 240ms var(--ease-ui),fill 240ms var(--ease-ui)}
.hm__axis[data-on="true"]{opacity:1;pointer-events:auto;transition:opacity 400ms var(--ease-ui) 700ms,fill 240ms var(--ease-ui)}
.hm__axis:hover,.hm__axis[data-active="true"]{fill:var(--text-primary)}.hm__axis:focus-visible{outline:2px solid var(--focus-ring)}
@media (min-width:960px){.hm__legend{max-height:240px;overflow:hidden;transition:opacity 320ms var(--ease-ui) 500ms,transform 320ms var(--ease-ui) 500ms,max-height 600ms cubic-bezier(.65,0,.25,1)}.hm__viz[data-mode="bars"] .hm__legend{max-height:0;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity 240ms var(--ease-ui),transform 240ms var(--ease-ui),max-height 600ms cubic-bezier(.65,0,.25,1) 120ms}}
@media (min-width:960px) and (prefers-reduced-motion:reduce){.hm__legend,.hm__viz[data-mode="bars"] .hm__legend{transition:none}}
@media (prefers-reduced-motion:reduce){.hm__seat{transition:fill 240ms var(--ease-ui)}.hm__count,.hm__count[data-on="true"]{transition:none}}
@media (max-width:959px){.hm__stage{display:none}.hm__legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-6);margin-inline:0}.hm__legend .clarte-viz__legenditem{min-height:44px;padding:0;border-bottom:var(--rule-hairline);font-size:15px}.hm__legend .clarte-viz__legenditem>span:last-child{margin-left:auto}}
.hm__tip{position:absolute;transform:translate(-50%,calc(-100% - 14px));pointer-events:none;display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-4);background:var(--surface-inverse);color:var(--text-inverse);white-space:nowrap;z-index:2}
.hm__tip-name{font:var(--type-h3)}
.hm__tip{max-width:340px;width:max-content}
.hm__tip-sub{white-space:normal;text-wrap:pretty}
.hm__tip-sub{font:var(--type-data-sm);opacity:.8}
.hm__tip[data-pinned="true"]{pointer-events:auto;white-space:normal;max-width:260px}
.hm__tip-go{margin-top:var(--space-3);min-height:44px;padding:0;background:none;border:0;border-top:1px solid currentColor;color:inherit;font:var(--type-label);letter-spacing:.08em;text-transform:uppercase;text-align:left;cursor:pointer}
.hm .legend-row .kpis--legend{display:flex;justify-content:space-between;gap:var(--space-8);flex-wrap:wrap}
.hm .legend-row{container-type:inline-size}
.hm .kpis--legend .clarte-kpi__value{font-size:clamp(36px,6.4cqi,56px);line-height:1}
.hm .kpis--legend .clarte-kpi__label{font-size:14px}
/* 5 chiffres (mode « toutes les affaires », avec la période) : une seule ligne de 5 colonnes, chiffres un cran plus petits. */
.hm .legend-row .kpis--legend.kpis--5{display:grid;grid-template-columns:repeat(5,auto);justify-content:space-between;flex-wrap:nowrap;column-gap:var(--space-6)}
.hm .kpis--5 .clarte-kpi__value{font-size:clamp(28px,4.2cqi,56px);white-space:nowrap}
@container (max-width:600px){.hm .legend-row .kpis--legend,.hm .legend-row .kpis--legend.kpis--5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hm .kpis--legend .clarte-kpi__value,.hm .kpis--5 .clarte-kpi__value{font-size:clamp(36px,11cqi,48px)}.hm .kpis--legend .clarte-kpi:nth-child(5){grid-column:1 / -1}}
.kpis--legend{padding-top:var(--space-7);max-width:900px;margin-left:auto;margin-right:auto;width:100%}
.kpis--legend .clarte-kpi{text-align:left;align-items:flex-start}
.kpis--legend .clarte-kpi__value{font-size:var(--size-34)}
@media (max-width:720px){.kpis{grid-template-columns:repeat(2,1fr);gap:var(--space-8)}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-11)}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:var(--space-9)}}
.prose{font:var(--type-body);color:var(--text-secondary);max-width:var(--max-prose);text-wrap:pretty;display:flex;flex-direction:column;gap:var(--space-6)}
.prose li{line-height:var(--leading-body)}
.factlist{display:flex;flex-direction:column;gap:var(--space-7)}
.factlist li{display:flex;gap:var(--space-5);align-items:flex-start}
.factlist h3{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-3)}

.ftr{margin-top:auto;border-top:var(--rule-hairline);padding:var(--space-10) 0 var(--space-9)}
.ftr__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-9)}
@media (min-width:721px){.ftr__cols{display:flex;justify-content:space-between}.ftr__col{flex:0 1 auto;min-width:0}}
.ftr__col>.clarte-theme{align-self:flex-start}
.ftr__l--btn{background:none;border:0;padding:0;text-align:left;font:var(--type-body-sm);cursor:pointer}
.ftr__l--btn[aria-current]{color:var(--text-primary)}
.ftr__theme{display:flex;flex-direction:column;gap:var(--space-4)}
.ftr__theme+.ftr__l{margin-top:var(--space-4)}
.ftr__l--btn[aria-pressed="true"]{color:var(--text-primary);cursor:default}
.ftr__l--btn[aria-pressed="true"]::before{opacity:1}
.ftr__l--btn[aria-pressed="false"]{color:var(--text-tertiary)}
.ftr__l--btn[aria-pressed="false"]:hover{color:var(--text-primary)}
html[data-textsize="lg"]{--size-11:13px;--size-12:14px;--size-13:15px;--size-15:18px;--size-17:20px;--size-20:23px;--size-24:27px;--leading-body:1.6}
html[data-textsize="lg"] .hm__legend .clarte-viz__legenditem,html[data-textsize="lg"] .hm .kpis--legend .clarte-kpi__label{font-size:15px}html[data-textsize="lg"] .ftr__h{font-size:15px}
@media (max-width:720px){.ftr__cols{grid-template-columns:repeat(2,1fr)}}
.ftr__col{display:flex;flex-direction:column;gap:var(--space-4)}
.ftr__h{font:var(--type-label);font-size:13px;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-3)}
.ftr__l{font:var(--type-body-sm);color:var(--text-secondary);text-decoration:none;transition:color var(--dur-state) var(--ease-state)}
.ftr__l:hover{color:var(--text-primary)}
.ftr__l{position:relative}.ftr__l::before{content:"";position:absolute;left:-14px;top:50%;width:6px;height:6px;margin-top:-3px;background:currentColor;opacity:0;pointer-events:none}
.ftr__l:hover::before,.ftr__l:focus-visible::before,.ftr__l[aria-current="page"]::before{opacity:1}
.ftr__l[aria-current="page"]{color:var(--text-primary)}
.ftr__l--muted::before{display:none}
.ftr__l--muted{color:var(--text-tertiary);cursor:default}
.ftr__l--muted:hover{color:var(--text-tertiary)}
.ftr__base{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-6);margin-top:var(--space-10);font:var(--type-data-sm);color:var(--text-tertiary)}
.ftr__end{display:flex;align-items:center;gap:var(--space-7)}

.filters{border:var(--rule-hairline);background:var(--surface-card);padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-6)}
.filters__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}
.filters__grid--3{grid-template-columns:repeat(3,1fr)}
.filters__grid--2{grid-template-columns:repeat(2,1fr);column-gap:var(--space-8);row-gap:var(--space-7);align-items:start}
.filters__severity{align-self:stretch}
.filters__severity .clarte-field{height:100%}
.filters__severity [role=radiogroup]{flex:1;align-items:center}
@media (max-width:900px){.filters__grid,.filters__grid--3{grid-template-columns:repeat(2,1fr)}.filters__grid--2{grid-template-columns:1fr}}
/* At the 4-col palier the selects hold the first three card tracks instead of stretching across four. */
@media (min-width:1840px){.filters__grid--3{grid-template-columns:repeat(3,minmax(0,420px));justify-content:start}}
.filters__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.chip{display:inline-flex;align-items:center;gap:var(--space-3);border:var(--rule-hairline);padding:4px 6px 4px 8px;font:var(--type-data-sm);color:var(--text-secondary);background:var(--surface-card)}
.chip button{background:none;border:0;cursor:pointer;color:var(--text-tertiary);font:200 15px/1 var(--font-sans);padding:0 2px}
.chip button:hover{color:var(--text-primary)}
.chip-party{display:inline-flex;align-items:center;gap:var(--space-3);padding-right:4px}
.chip-party button{background:none;border:0;cursor:pointer;color:var(--text-tertiary);font:200 15px/1 var(--font-sans);padding:0 2px}
.chip-party button:hover{color:var(--text-primary)}

.results__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;margin:var(--space-9) 0 var(--space-6)}
.results__grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}
/* Cards ellipsise internally, so tracks must be free to shrink below the card's content-based minimum. */
.results__grid>*{min-width:0}
@media (min-width:960px){.results__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.results__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1840px){.results__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.results__empty{border:var(--rule-dashed);padding:var(--space-11) var(--space-8);text-align:center;color:var(--text-tertiary);font:var(--type-body-sm)}
.results__foot{display:flex;justify-content:center;padding:var(--space-10) 0 var(--space-12)}
.results__foot:empty{padding-bottom:var(--space-10)}
.perpage{display:inline-flex;align-items:baseline;gap:6px;font:var(--type-body-sm);color:var(--text-tertiary);justify-self:center}
@media (min-width:1100px){.results__head{display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr)}.results__sort{justify-self:end;flex-wrap:nowrap!important}}
.perpage__pick{position:relative;display:inline-flex;align-items:center;color:var(--text-primary);cursor:pointer}
.perpage select{appearance:none;-webkit-appearance:none;background:none;border:0;padding:0 16px 0 0;margin:0;font:inherit;font-weight:var(--weight-medium);color:inherit;cursor:pointer}
.perpage select:focus,.perpage select:focus-visible{outline:none}
.perpage__pick[data-frame="true"]{outline:1px solid currentColor;outline-offset:3px}
.perpage .clarte-icon,.perpage .clarte-icon-svg{position:absolute;right:0;pointer-events:none}
.totop{position:fixed;right:var(--space-7);bottom:calc(var(--space-8) + var(--totop-lift, 0px));z-index:70;display:inline-flex;align-items:center;justify-content:center;width:44px;height:52px;padding:0;border:0;background:none;color:var(--text-tertiary);cursor:pointer;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity var(--dur-ui) var(--ease-ui),transform var(--dur-ui) var(--ease-ui),color var(--dur-state) var(--ease-ui)}
.totop[data-show="true"]{opacity:1;transform:none;pointer-events:auto}
.totop:hover{color:var(--text-primary)}
.totop svg{transition:transform var(--dur-ui) var(--ease-ui)}
.totop:hover svg{transform:translateY(-3px)}
.totop:focus-visible{outline:var(--stroke-hairline) solid var(--focus-ring);outline-offset:2px}
@media (max-width:720px){.totop{right:var(--space-4);bottom:calc(var(--space-5) + var(--totop-lift, 0px))}}

.form{display:flex;flex-direction:column;gap:var(--space-7);max-width:720px}
/* Mentions légales / données personnelles : sommaire collant + texte, mêmes codes que la méthodologie. */
.legal__layout{display:grid;grid-template-columns:200px minmax(0,2fr) minmax(280px,1fr);column-gap:var(--space-10);align-items:start}
.legal__layout>.method__nav{grid-area:auto}
.legal__layout>.prose{max-width:none}
.legal__aside{position:sticky;top:calc(var(--header-height) + var(--space-8));display:flex;flex-direction:column;gap:var(--space-6);justify-self:end;width:100%}
.legal__card{border:var(--rule-hairline);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);font:var(--type-body-sm);color:var(--text-secondary)}
.legal__card p{margin:0}
.legal__mail{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;word-break:break-all}
.legal__meta{font:var(--type-data-sm);color:var(--text-tertiary)}
.legal__other{font:var(--type-body-sm);color:var(--text-secondary);text-decoration:none}
.legal__other:hover{color:var(--text-primary)}
@media (max-width:1279px){.legal__layout{grid-template-columns:200px minmax(0,1fr)}.legal__aside{grid-column:2;position:static;justify-self:start;max-width:var(--max-prose);margin-top:var(--space-10)}}
@media (max-width:959px){.legal__aside{grid-column:1}}
@media (max-width:959px){.legal__layout{grid-template-columns:minmax(0,1fr)}.legal__layout>.method__nav{display:none!important}}
.legal__rows{margin:0;display:flex;flex-direction:column;border-top:var(--rule-hairline)}
.legal__row{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:var(--space-6);padding:var(--space-4) 0;border-bottom:var(--rule-hairline)}
.legal__row dt{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary);padding-top:3px}
.legal__row dd{margin:0;color:var(--text-primary)}
@media (max-width:600px){.legal__row{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}}
/* Soumission : le formulaire prend la largeur restante, le texte d'accompagnement est une colonne fixe calée à droite (comme le rappel de la méthodologie). */
.sub__split{grid-template-columns:minmax(0,1fr) minmax(300px,380px);column-gap:var(--space-10)}
.sub__split>.form{max-width:none}
.sub__split>.prose{max-width:none}
@media (max-width:900px){.sub__split{grid-template-columns:minmax(0,1fr)}}
/* Sommaire | texte | rappel (collant). Plus étroit : le rappel passe en tête du texte. */
.method__layout{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(300px,380px);grid-template-areas:"nav main aside";column-gap:var(--space-10);align-items:start}
.method__nav{grid-area:nav}.method__main{grid-area:main}
.method__aside{grid-area:aside;position:sticky;top:calc(var(--header-height) + var(--space-8));display:flex;flex-direction:column;gap:var(--space-5)}
@media (max-width:1279px){.method__layout{grid-template-columns:200px minmax(0,1fr);grid-template-areas:"nav aside" "nav main";row-gap:var(--space-10)}.method__aside{position:static}}
@media (max-width:900px){.method__layout{grid-template-columns:1fr!important;grid-template-areas:"nav" "aside" "main";row-gap:var(--space-8)!important}.method__nav{position:static!important;top:auto!important}}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
@media (max-width:720px){.form__row{grid-template-columns:1fr}}
.input,.textarea{width:100%;border:var(--stroke-hairline) solid var(--border-hairline);background:var(--surface-card);padding:12px var(--space-5);font:var(--type-body);color:var(--text-primary);outline:none;border-radius:var(--radius-square);transition:border-color var(--dur-state) var(--ease-state)}
.input:focus,.textarea:focus{border-color:var(--border-strong)}
.textarea{min-height:132px;resize:vertical;line-height:1.6}
.input[data-invalid],.textarea[data-invalid]{border-color:var(--border-strong);box-shadow:inset 0 0 0 1px var(--border-strong)}
.sub__combo{position:relative}
.sub__combo .input{padding-right:44px}
.sub__clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;color:var(--icon-default)}
.sub__clear:hover{color:var(--icon-strong)}
.sub__list{position:absolute;z-index:20;left:0;right:0;top:calc(100% - 1px);margin:0;padding:var(--space-2) 0;list-style:none;background:var(--surface-card);border:var(--stroke-hairline) solid var(--border-strong);max-height:320px;overflow-y:auto}
.sub__opt{display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-5);cursor:pointer}
.sub__opt[aria-selected="true"]{background:var(--surface-hover)}
.sub__opt-name{font:var(--type-body);color:var(--text-primary)}
.sub__opt-meta{font:var(--type-data-sm);color:var(--text-tertiary)}
.sub__hint{font:var(--type-body-sm);color:var(--text-tertiary)}
.sub__err{font:var(--type-body-sm);font-weight:var(--weight-medium);color:var(--text-primary)}
.sub__facts{min-height:220px}
.sub__meter{display:flex;justify-content:flex-end}
.sub__count{font:var(--type-data-sm);color:var(--text-tertiary)}
.sub__rm.clarte-iconbtn:hover{background:none}
.sub__send .clarte-icon-svg{transition:transform 220ms cubic-bezier(.2,.7,.2,1)}
.sub__send:not(:disabled):hover .clarte-icon-svg{transform:translateX(3px)}
.sub__send.clarte-btn{transition:color var(--dur-state) var(--ease-state),border-color var(--dur-state) var(--ease-state),background var(--dur-state) var(--ease-state)}
.sub__send.clarte-btn:disabled{background:none;border-color:var(--border-hairline);color:var(--text-tertiary);cursor:not-allowed}
.sub__meter[data-ok] .sub__count{color:var(--text-primary)}
.note{font:var(--type-body-sm);color:var(--text-tertiary)}
.filters__toggle{display:none}
@media (max-width:720px){
.filters{padding:var(--space-6)}
.filters__toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);width:100%;min-height:48px;padding:0;border:0;border-top:var(--rule-hairline);padding-top:var(--space-6);background:none;cursor:pointer;font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-primary)}
.filters__toggle-label{display:inline-flex;align-items:center;gap:var(--space-4)}
.filters__toggle-chev{display:inline-flex;color:var(--text-tertiary);transition:transform var(--dur-ui) var(--ease-ui)}
.filters__toggle-chev[data-open]{transform:rotate(180deg)}
.filters__foot{gap:var(--space-5)}
.filters__foot>div:last-child{width:100%}
.results__head{align-items:flex-start;flex-direction:column;gap:var(--space-6)}
.chip{min-height:40px;padding:6px 8px 6px 10px}
.chip button{min-width:32px;min-height:32px;font-size:19px}
.ftr__base{flex-direction:column;align-items:flex-end;gap:var(--space-6);text-align:right}
.ftr__end{width:100%;justify-content:space-between}
.ftr__l{min-height:40px;display:flex;align-items:center}
.figure__head{padding-top:var(--space-9)}
.section{padding-block:var(--space-10)}
.hero{padding-block:var(--space-8) calc(var(--space-7) + env(safe-area-inset-bottom))}
.hero__stack{padding-bottom:var(--space-7)}
.hero__expand{white-space:normal;font-size:var(--size-13);letter-spacing:.1em}
.hero__cta{gap:var(--space-4);width:100%;margin-top:var(--space-8)}
.hero__more-row{gap:var(--space-2)}
.hero__more{padding-inline:var(--space-4)}
.hero__cta .clarte-btn{flex:1 1 auto}
.form{gap:var(--space-6)}
}
@media (max-width:720px){
.hero__word{font-size:min(21vw,92px)}
.hero__stack{flex:none;width:100%;margin-block:0 auto;padding-top:var(--space-11);padding-bottom:0}
.hero__intro{margin-top:var(--space-5);max-width:22ch;font-size:var(--size-20);line-height:1.35}
.hero__cta--intro{width:auto;margin-top:var(--space-12);flex-direction:column}
.hero__cta--intro .clarte-btn{flex:0 0 auto;font-size:var(--size-17);padding:12px 18px}
.hero__cta--intro .clarte-btn--secondary{display:none}
}
@media (max-width:420px){.kpis{grid-template-columns:1fr;gap:var(--space-7)}.ftr__cols{grid-template-columns:1fr;gap:var(--space-8)}}

.figure__head{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-11) 0 var(--space-9);border-bottom:var(--rule-hairline)}
.figure__name{font:var(--weight-hairline) clamp(52px,8vw,104px)/1.02 var(--font-display);letter-spacing:var(--tracking-display)}
.figure__meta{display:flex;flex-wrap:wrap;gap:var(--space-6);font:var(--type-data-sm);color:var(--text-tertiary)}
.method__list{display:flex;flex-direction:column;gap:var(--space-4);padding:0;margin:0;list-style:none}
.method__list li{display:grid;grid-template-columns:20px 1fr;gap:var(--space-4);font:var(--type-body);color:var(--text-secondary)}
.method__list li::before{content:"—";color:var(--text-tertiary)}
.method__note{border-left:2px solid var(--border-strong);padding-left:var(--space-7);color:var(--text-primary)}
.method__alert{background:var(--surface-inverse);color:var(--text-inverse);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-6);margin-top:var(--space-3)}
/* Dark: true white slab, ink text — the rappel is the one block allowed to be the brightest thing on the page. */
[data-theme="dark"] .method__alert{background:#fff;color:#000;box-shadow:none}
.method__alert-note{margin:0;font:var(--type-body);font-weight:var(--weight-medium);line-height:1.7;color:inherit;text-wrap:pretty}
.toc__link{display:flex;align-items:center;gap:var(--space-4);font:var(--weight-regular) var(--size-13)/1.4 var(--font-mono);text-decoration:none;transition:color var(--dur-state) var(--ease-state)}
.toc__link:hover{color:var(--text-primary)}
html[data-toc="sans"] .toc__link{font:var(--weight-regular) var(--size-13)/1.35 var(--font-sans);letter-spacing:0}
html[data-toc="display"] .toc__link{font:var(--weight-light,300) var(--size-20)/1.3 var(--font-display);letter-spacing:.005em}



.gl__section{display:flex;flex-direction:column;gap:var(--space-7);scroll-margin-top:calc(var(--header-height) + var(--space-9))}
.gl__shead{display:flex;align-items:baseline;gap:var(--space-5)}
.gl__snum{font:var(--type-label);color:var(--text-tertiary)}
.gl__section .gl__shead .gl__snum{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
.gl__stitle{margin:0;font:var(--type-h2);color:var(--text-primary)}
.gl__sintro{margin:var(--space-3) 0 0;font:var(--type-body-sm);color:var(--text-secondary);max-width:62ch;text-wrap:pretty}
.gl__groups{display:flex;flex-direction:column;border-top:var(--rule-strong)}
.gl__group{border-bottom:var(--rule-hairline)}
.gl__ghead{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:var(--space-5);padding:var(--space-5) 0;background:none;border:0;cursor:pointer;text-align:left;color:var(--text-primary);font:inherit}
.gl__ghead:disabled{cursor:default}
.gl__ghead:not(:disabled):hover .gl__caret{color:var(--icon-strong)}
.gl__glabel{font:var(--type-h3)}
.gl__caret{display:flex;justify-content:center;transform:rotate(180deg);transition:transform var(--dur-state) var(--ease-state);color:var(--icon-default)}
.gl__group[data-open] .gl__caret{transform:none}
.gl__body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows 320ms cubic-bezier(.2,.7,.2,1),opacity 220ms ease}
.gl__group[data-open]>.gl__body{grid-template-rows:1fr;opacity:1;transition:grid-template-rows 360ms cubic-bezier(.2,.7,.2,1),opacity 260ms ease 80ms}
.gl__clip{overflow:hidden;min-height:0}
.gl__clip>.gl__list{transform:translateY(-6px);transition:transform 320ms cubic-bezier(.2,.7,.2,1)}
.gl__group[data-open] .gl__clip>.gl__list{transform:none}
@media (prefers-reduced-motion:reduce){.gl__body,.gl__group[data-open]>.gl__body,.gl__clip>.gl__list{transition:none}}
.gl__list{margin:0;padding:0 0 var(--space-7);display:flex;flex-direction:column}
.gl__entry{transition:background-color 900ms ease,box-shadow 900ms ease;scroll-margin-top:calc(var(--header-height) + var(--space-9))}
.gl__focus{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:0;background:color-mix(in srgb,var(--surface-page) 55%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:opacity 1400ms cubic-bezier(.45,0,.25,1)}
.gl__focus--on{opacity:1;transition:none}
.gl__entry--flash{position:relative;z-index:91}
.gl__term{color:var(--text-primary)}
.gl__def{margin:0;display:flex;flex-direction:column;gap:var(--space-4);font:var(--type-body);color:var(--text-secondary);text-wrap:pretty}
.gl__ex{list-style:none;margin:0;padding:0 0 0 var(--space-5);border-left:var(--rule-hairline);display:flex;flex-direction:column;gap:var(--space-2)}
.gl__ex li{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:baseline;font:var(--type-body-sm);color:var(--text-primary)}
.gl__ex-note{font:var(--type-label);color:var(--text-tertiary)}
.gl__toc{display:flex;gap:var(--space-3);align-items:baseline}
.gl__toc-num{font:var(--type-label);color:var(--text-tertiary)}
.gl__all{margin-top:var(--space-2);padding:var(--space-4) 0 0;border:0;border-top:var(--rule-hairline);background:none;text-align:left;font:var(--type-label);color:var(--text-secondary);cursor:pointer}
.gl__all:hover{color:var(--text-primary)}
.gl__all:disabled{opacity:.4;cursor:default}
.gl__entry--registre{display:grid;grid-template-columns:minmax(0,30%) minmax(0,1fr);gap:var(--space-7);padding:var(--space-5) 0;border-top:var(--rule-dashed)}
.gl__list>.gl__entry--registre:first-child{border-top:0;padding-top:0}
.gl__entry--registre .gl__term{font:var(--type-body);font-weight:var(--weight-medium)}
@media (max-width:720px){.gl__entry--registre{grid-template-columns:1fr;gap:var(--space-2)}}
.gl--editorial .gl__section{gap:var(--space-10)}
.gl--editorial .gl__shead{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--space-7);align-items:end}
.gl--editorial .gl__snum{font:var(--weight-hairline) clamp(72px,9vw,128px)/.82 var(--font-display);letter-spacing:var(--tracking-display);color:var(--text-primary)}
.gl--editorial .gl__stitle{font:var(--weight-hairline) clamp(30px,3.4vw,46px)/1.05 var(--font-display);letter-spacing:var(--tracking-display)}
.gl--editorial .gl__sintro{font:var(--type-body);color:var(--text-secondary);margin-top:var(--space-3)}
.gl--editorial .gl__groups{border-top:0;gap:var(--space-6)}
.gl--editorial .gl__group{border-bottom:0;display:flex;flex-direction:column;gap:0}
.gl--editorial .gl__clip>.gl__list{margin-top:var(--space-6)}
.gl--editorial .gl__ghead{padding:0;display:flex;width:100%;justify-content:flex-start;align-items:center;gap:var(--space-4)}
.gl--editorial .gl__ghead:not(:disabled):hover .gl__glabel{color:var(--text-secondary)}
.gl--editorial .gl__ghead .gl__glabel{flex:0 1 auto;min-width:0}
.gl--editorial .gl__ghead .gl__caret{flex:none}
.gl--editorial .gl__glabel{font:var(--weight-light,300) 26px/1.25 var(--font-display);letter-spacing:var(--tracking-display);transition:color var(--dur-state) var(--ease-state)}
.gl--editorial .gl__group+.gl__group{transition:margin-top 320ms cubic-bezier(.2,.7,.2,1)}
.gl--editorial .gl__group[data-open]+.gl__group{margin-top:var(--space-4)}
.gl__peek{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2) 0;font:var(--type-body-sm);color:var(--text-tertiary);max-width:90ch}
.gl__peek button{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
.gl__peek button:hover{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px}
.gl__peek button:not(:last-child)::after{content:"·";display:inline-block;margin:0 var(--space-3);color:var(--text-tertiary);text-decoration:none}
.gl--editorial .gl__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));column-gap:var(--space-9);row-gap:var(--space-8);padding:var(--space-2) 0 var(--space-4) var(--space-7);border-left:var(--rule-hairline)}
.gl__entry--editorial{display:flex;flex-direction:column;gap:var(--space-2);padding:0}
.gl__list>.gl__entry--editorial:first-child{padding-top:0}
.gl__entry--editorial .gl__term{font:var(--type-body);font-weight:var(--weight-medium);color:var(--text-primary)}
.gl__entry--editorial .gl__def{font:var(--type-body-sm);line-height:1.6;color:var(--text-secondary)}
@media (max-width:600px){.gl--editorial .gl__list{padding-left:var(--space-5)}}
@media (max-width:600px){.gl--editorial .gl__shead{grid-template-columns:1fr;row-gap:var(--space-4)}}
.gl--bandeaux .gl__shead{background:var(--surface-inverse);color:var(--text-inverse);padding:var(--space-8);display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-7);align-items:baseline}
.gl--bandeaux .gl__snum{font:var(--weight-hairline) 56px/1 var(--font-display);color:inherit}
.gl--bandeaux .gl__stitle,.gl--bandeaux .gl__sintro{color:inherit}
.gl--bandeaux .gl__groups{border-top:0;gap:var(--space-4)}
.gl--bandeaux .gl__group{border:var(--rule-hairline);background:var(--surface-card);padding:0 var(--space-6)}
.gl--bandeaux .gl__group[data-open]{border-color:var(--border-strong)}
.gl--bandeaux .gl__list{display:block;columns:2 300px;column-gap:var(--space-8)}
.gl__entry--bandeaux{break-inside:avoid;display:flex;flex-direction:column;gap:var(--space-2);padding:0 0 var(--space-6)}
.gl__entry--bandeaux .gl__term{font:var(--type-body);font-weight:var(--weight-medium)}
.gl__entry--bandeaux .gl__def{font:var(--type-body-sm)}
@media (max-width:600px){.gl--bandeaux .gl__shead{grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-7)}}


.hm__play{position:absolute;right:0;top:0;font:var(--type-data-sm);font-size:12px;letter-spacing:.04em;color:var(--text-tertiary);background:none;border:0;padding:var(--space-2) 0;cursor:pointer;opacity:0;animation:hm-play-in 400ms var(--ease-ui) 900ms forwards;transition:color 160ms var(--ease-ui)}
.hm__play:hover{color:var(--text-primary)}.hm__play:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}
@keyframes hm-play-in{to{opacity:1}}
.hm__tt{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:var(--space-8);align-items:start;padding-block:var(--space-6);animation:hm-play-in 320ms var(--ease-ui) both;opacity:0}
.hm__tt-well{position:relative;width:100%}
.hm__tt-svg{display:block;width:100%;height:auto;max-height:74vh;overflow:visible}
.hm__tt-lane{fill:var(--text-primary);opacity:.03}.hm__tt-lane[data-alt="true"]{opacity:.055}
.hm__tt-cell[data-flash="true"]{fill:var(--text-primary)}
.hm__tt-floor{stroke:var(--text-tertiary);stroke-width:.5}
.hm__tt-axis{font:var(--type-data-sm);font-size:4.2px;fill:var(--text-secondary)}
.hm__tt-over{position:absolute;inset:0 0 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);background:color-mix(in oklab,var(--surface-page,#0d0d0d) 82%,transparent);text-align:center}
.hm__tt-title{font:var(--type-h2)}.hm__tt-sub{font:var(--type-data);color:var(--text-secondary)}
.hm__tt-side{display:flex;flex-direction:column;gap:var(--space-6)}
.hm__tt-stat{display:flex;flex-direction:column;gap:var(--space-1)}
.hm__tt-k{font:var(--type-data-sm);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}
.hm__tt-v{font:var(--type-data);font-size:28px;line-height:1;font-variant-numeric:tabular-nums;color:var(--text-primary)}
.hm__tt-keys{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);margin:0;font:var(--type-data-sm);font-size:12px;color:var(--text-secondary)}
.hm__tt-keys dt{color:var(--text-primary)}.hm__tt-keys dd{margin:0}
.hm__tt-btn{align-self:flex-start;font:var(--type-data);font-size:14px;color:var(--surface-page,#0d0d0d);background:var(--text-primary);border:0;padding:var(--space-3) var(--space-5);cursor:pointer}
.hm__tt-btn[data-ghost="true"]{color:var(--text-primary);background:none;border:1px solid var(--border-strong,currentColor)}
.hm__tt-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.hm__play,.hm__tt{animation:none;opacity:1}}
@media (max-width:959px){.hm__play,.hm__tt{display:none}}
/* Titre → onglets → légende, empilés. */
.hm__title{margin:0 0 var(--space-9);font:var(--weight-hairline) clamp(30px,3.4vw,46px)/1.1 var(--font-display);letter-spacing:var(--tracking-display);color:var(--text-primary);text-wrap:balance}
.hm__head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:last baseline;column-gap:var(--space-8);row-gap:var(--space-4);margin-bottom:var(--space-10)}
/* Home : titre + hémicycle + légende tiennent dans un écran — la largeur du graphique se règle sur la hauteur restante. */
.home-snap .hm__svg{width:min(100%,calc((100dvh - var(--header-height) - 215px) * 1.95));padding-block:var(--space-4)}
.hm__head>.hm__title{margin:0}
.hm__head>.hm__tabs{transform:translateY(-9px)}
@media (max-width:720px){.hm__head>.hm__tabs{transform:none}}
.hm__head>.hm__note{grid-column:1/-1}
/* Clé de lecture en tête de légende : forme d'abord, couleurs ensuite. */
.hm__key{position:absolute;left:50%;bottom:calc(var(--space-4) + 2px);transform:translateX(-50%);display:inline-flex;align-items:center;gap:var(--space-4);font:italic var(--weight-regular) var(--size-17)/var(--leading-snug) var(--font-sans);color:var(--text-secondary);white-space:nowrap;pointer-events:none;transition:opacity 300ms var(--ease-ui)}
.hm__key-sq{width:14px;height:14px;flex:none;background:var(--text-primary)}
.hm__key[data-mode="bars"],.hm__key[data-hidden="true"]{opacity:0}
.hm__plabel--in .hm__plabel-n{font-size:15px}
.hm__svg[data-zone="true"]{cursor:pointer}
.hm__plabel{font:var(--weight-regular) 17px/1 var(--font-sans);fill:var(--text-primary);pointer-events:none}
.hm__plabel-n{font:var(--type-data);font-size:13px;fill:var(--text-tertiary)}
.hm{position:relative}
.hm__blabel{position:absolute;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);white-space:nowrap;pointer-events:none;z-index:2}
.hm__blabel-name{font:var(--weight-regular) 30px/1.1 var(--font-sans);color:var(--text-primary)}
.hm__blabel-n{font:var(--type-data);font-size:16px;color:var(--text-tertiary)}
/* Légende des partis : remplacée par le survol sur grand écran ; reste la liste quand le graphique est masqué. */
@media (min-width:960px){.hm__legend{display:none!important}}

@media (max-width:959px){.hm__key{display:none}}
@media (max-width:720px){.hm__head{grid-template-columns:minmax(0,1fr)}}
.hm__note{flex:none;margin-left:0;text-align:left}
/* 404 « Non-lieu. » : la page introuvable rédigée comme une ordonnance. */
.nf{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);column-gap:var(--space-11);row-gap:var(--space-10);align-items:center;padding-block:var(--space-12)}
@media (max-width:1100px){.nf{grid-template-columns:minmax(0,1fr);align-items:start;padding-block:var(--space-10)}.nf__doc{max-width:560px}}
.nf__main{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}
.nf__title{margin:0;font:var(--weight-hairline) clamp(64px,10vw,152px)/.95 var(--font-display);letter-spacing:var(--tracking-display);color:var(--text-primary);white-space:nowrap;animation:hero-focus var(--dur-hero) var(--ease-focus) var(--dur-hero-hold) both}
.nf__lede{margin:0;max-width:46ch;font:var(--type-body);color:var(--text-secondary);text-wrap:pretty}
.nf__search{max-width:520px;margin-top:var(--space-4)}
.nf__cta{display:flex;flex-wrap:wrap;gap:var(--space-4)}
.nf__doc{border:var(--rule-hairline);background:var(--surface-card);padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-6);min-width:0}
.nf__doc-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-5);padding-bottom:var(--space-5);border-bottom:var(--rule-hairline)}
.nf__no{flex:none;white-space:nowrap;font:var(--type-data-sm);color:var(--text-tertiary)}
.nf__rows{display:flex;flex-direction:column;gap:var(--space-4)}
.nf__rows .clarte-fact{overflow-wrap:anywhere}
.nf__reopen{margin:0;font:var(--type-body-sm);color:var(--text-secondary);text-wrap:pretty}
.nf__reopen a{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
@media (prefers-reduced-motion:reduce){.nf__title{animation:none}}
/* Home : une seule flèche sous la baseline, les deux CTA attendent en bas de page, après l'hémicycle. */
.hero__down{margin-top:clamp(var(--space-5),6vh,calc(var(--space-11) * 2));flex:none;display:flex;align-items:center;justify-content:center;width:48px;height:56px;padding:0;border:0;background:none;cursor:pointer;color:var(--text-tertiary);transition:color var(--dur-state) var(--ease-ui);animation:cue-focus 1300ms cubic-bezier(.22,.61,.24,1) calc(var(--dur-hero) * .62) both}
.hero__down svg{animation:hero-down-drift 4.8s cubic-bezier(.45,0,.25,1) calc(var(--dur-hero) * .62 + 1.3s) infinite}
.hero__down:hover{color:var(--text-primary)}
.hero__down:focus-visible{outline:var(--stroke-hairline) solid var(--focus-ring);outline-offset:3px}
.hero__down--next{margin:0;height:44px;animation:none}
/* Flèche « continuer » : dans le cœur de l'hémicycle, au-dessus de la phrase-clé ; s'efface au survol d'un parti. */
.hm__next{position:absolute;left:50%;bottom:calc(var(--space-3) + 5px);transform:translateX(-50%);transition:opacity 300ms var(--ease-ui)}
.hm__next .hero__down--next{color:var(--text-primary)}
.hm__next[data-hidden="true"]{opacity:0;pointer-events:none}
.hero__down--next svg{animation-delay:0s}
@keyframes hero-down-drift{0%,50%,100%{transform:translateY(0)}25%{transform:translateY(5px)}}
/* Troisième écran : les chiffres clés et les deux CTA, seuls, groupés et posés un peu au-dessus du centre optique. Trois mises en page (Tweak « Fin de page »). */
.home-snap>.home-end{scroll-snap-align:start}
.home-end{min-height:calc(100dvh - var(--header-height));box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding-block:var(--space-11) calc(var(--space-11) + 8vh)}
.home-end__body{width:100%;display:flex;flex-direction:column;align-items:center}
.home-end .legend-row{width:100%;margin:0;padding-top:0;container-type:inline-size}
.home-end .kpis--legend .clarte-kpi__value{line-height:1;white-space:nowrap;filter:blur(var(--kb,0px))}
.home-end [data-reveal="out"] .clarte-kpi__value{filter:blur(16px)}
.home-end .kpis--legend .clarte-kpi__label{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary);white-space:nowrap}
.home-end .hero__cta--intro{animation:none}
.home-end .hero__cta--intro .clarte-btn{letter-spacing:.04em;font-size:var(--size-17)}
/* 1 · Bloc centré : une ligne de chiffres, un silence mesuré, les deux liens. */
.home-end[data-layout="bloc"] .kpis--legend{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;column-gap:var(--space-10);max-width:1180px;margin-inline:auto;padding:0}
.home-end[data-layout="bloc"] .clarte-kpi{align-items:center;text-align:center;gap:var(--space-6)}
.home-end[data-layout="bloc"] .clarte-kpi__value{font-size:clamp(40px,5cqi,68px)}
.home-end[data-layout="bloc"] .home-end__cta{margin-top:clamp(var(--space-10),11vh,var(--space-12));gap:var(--space-8)}
@container (max-width:720px){.home-end[data-layout="bloc"] .kpis--legend{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;row-gap:var(--space-10)}}
/* 2 · Registre : un tableau de filets ; libellé en haut, chiffre en bas ; les liens reprennent la grille (2 | 2,5). */
.home-end[data-layout="registre"] .home-end__body{align-items:stretch;max-width:1440px;margin-inline:auto;border-block:var(--rule-hairline)}
.home-end[data-layout="registre"] .kpis--legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.5fr);gap:0;max-width:none;margin:0;padding:0}
.home-end[data-layout="registre"] .kpis__cell{min-width:0;padding:var(--space-7) var(--space-7) var(--space-9);border-left:var(--rule-hairline)}
.home-end[data-layout="registre"] .kpis__cell:first-child{border-left:0;padding-left:0}
.home-end[data-layout="registre"] .clarte-kpi{flex-direction:column-reverse;align-items:flex-start;text-align:left;gap:clamp(var(--space-9),10vh,var(--space-12))}
.home-end[data-layout="registre"] .clarte-kpi__value{font-size:clamp(40px,4.6cqi,68px)}
.home-end[data-layout="registre"] .home-end__cta{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,2.5fr);gap:0;width:100%;margin:0;border-top:var(--rule-hairline)}
.home-end[data-layout="registre"] .home-end__cta .clarte-btn{width:100%;justify-content:space-between;align-items:center;padding:var(--space-8) var(--space-7);border:0;border-radius:0;font-size:var(--size-20)}
.home-end[data-layout="registre"] .home-end__cta .clarte-btn:first-child{padding-left:0}
.home-end[data-layout="registre"] .home-end__cta .clarte-btn+.clarte-btn{border-left:var(--rule-hairline)}
.home-end[data-layout="registre"] .home-end__cta .clarte-icon-svg{top:0}
@container (max-width:720px){.home-end[data-layout="registre"] .kpis--legend{grid-template-columns:repeat(2,minmax(0,1fr))}.home-end[data-layout="registre"] .kpis__cell:nth-child(odd){border-left:0;padding-left:0}.home-end[data-layout="registre"] .kpis__cell:nth-child(n+3){border-top:var(--rule-hairline)}.home-end[data-layout="registre"] .clarte-kpi{gap:var(--space-8)}}
@media (max-width:720px){.home-end[data-layout="registre"] .home-end__cta{grid-template-columns:minmax(0,1fr)}.home-end[data-layout="registre"] .home-end__cta .clarte-btn{padding-inline:0}.home-end[data-layout="registre"] .home-end__cta .clarte-btn+.clarte-btn{border-left:0;border-top:var(--rule-hairline)}}
/* 3 · Phrase : les chiffres dits en une seule phrase, chiffres en blanc, mots en retrait. */
.home-end__phrase{margin:0;max-width:min(100%,1080px);text-align:center;font:var(--weight-light) clamp(26px,3vw,46px)/1.4 var(--font-display);letter-spacing:-.005em;color:var(--text-tertiary);text-wrap:balance}
.home-end__n{display:inline-grid;justify-items:end;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;filter:blur(var(--kb,0px))}
.home-end__n>span{grid-area:1/1}.home-end__n-ghost{visibility:hidden}
.home-end__phrase[data-reveal="out"] .home-end__n{filter:blur(16px)}
.home-end[data-layout="phrase"] .home-end__cta{margin-top:clamp(var(--space-11),14vh,calc(var(--space-12) * 1.4));gap:var(--space-8)}
@media (prefers-reduced-motion:reduce){.hero__down{animation-duration:1ms;animation-delay:0ms}.hero__down svg{animation:none}}
.filters__adv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-8);align-items:start}
.filters__adv-col{display:flex;flex-direction:column;gap:var(--space-7);min-width:0}
@media (max-width:900px){.filters__adv{grid-template-columns:1fr;row-gap:var(--space-7)}}
.filters__adv-col--pie{align-self:stretch;justify-content:center;align-items:center}
.pie{width:100%;display:grid;grid-template-columns:minmax(140px,300px) minmax(0,1fr);gap:var(--space-2) var(--space-7);align-items:center;align-content:center}
.pie__svg{width:100%;height:auto;color:inherit;overflow:visible;grid-row:1/3}
.pie__slice{transition:opacity .2s;cursor:pointer;stroke-linecap:butt}
.pie__slice[data-dim]{opacity:.35}
.pie__cap{grid-column:2;grid-row:1;align-self:end;font-size:var(--text-sm,14px);padding-bottom:var(--space-3)}
.pie__legend{grid-column:2;grid-row:2;align-self:start;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm,14px)}
.pie__legend li{display:flex;align-items:center;gap:var(--space-3)}
.pie__legend i{width:10px;height:10px;display:inline-block}
.pie__legend .note{margin-left:auto}
@media (max-width:900px){.filters__adv-col--pie{align-items:stretch}}
@media (max-width:560px){.pie{grid-template-columns:1fr;max-width:300px;margin:0 auto}.pie__svg{grid-row:auto}.pie__cap,.pie__legend{grid-column:1;grid-row:auto}}
@media (prefers-reduced-motion:reduce){.pie__slice{transition:none}}
