/* GÉNÉRÉ par backend/site_chrome.py depuis site-h3.css et site-page-h3.css : ne pas modifier à la main.
   Régénérer : RS_SITE_CHROME_WRITE=1 python -m pytest tests/test_site_chrome.py -k up_to_date */

/* 1. Les deux enveloppes de l'en-tête et du pied de page communs : jetons et typographie de l'accueil. */
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom){all:initial!important;display:contents!important;-webkit-text-size-adjust:100%!important;--t-display:clamp(40px,1.75rem + 2.6vw,64px);--t-title:clamp(32px,1.5rem + 1.4vw,48px);--t-h2:clamp(28px,1.4rem + .7vw,36px);--t-h3:20px;--t-card:18px;--t-lead:clamp(18px,1rem + .35vw,21px);--t-body:16px;--t-small:14px;--t-note:13px;--t-label:12px;line-height:1.5!important;color-scheme:light!important;--blue:#0065d1;--ink:#202124;--muted:#565960;--surface:#f3f4f7;font-family:Inter,Arial,sans-serif!important;color:var(--ink)!important;background:#f8f9fb!important;padding-bottom:var(--rs-consent-space,0px)!important;--h3-gutter:clamp(16px,4.4vw,64px);--h3-max:1312px;--h3-line:#e3e5e9;--ui-ease:cubic-bezier(.2,.8,.2,1);--ui-fast:120ms;--ui-base:180ms;--ui-slow:320ms;--ui-story:600ms}

/* 2. Rien des feuilles propres à la page n'entre dans ces enveloppes. */
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) *:not(svg,svg *),:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) *::before,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) *::after{all:revert!important;box-sizing:border-box!important}

/* 3. Règles de l'accueil (site-h3.css), portées telles quelles dans les enveloppes. */
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) [hidden]{display:none!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) *{box-sizing:border-box!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) a{color:inherit!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) button,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) input{font:inherit!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) button{cursor:pointer!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) a:focus-visible,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) button:focus-visible,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) input:focus-visible{outline:3px solid #004a9b!important;outline-offset:4px!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .skip{position:absolute!important;top:-80px!important;left:12px!important;z-index:10!important;background:white!important;padding:12px!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .skip:focus{top:8px!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .blue{color:var(--blue)!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .button{display:inline-flex!important;justify-content:center!important;align-items:center!important;border:0!important;border-radius:28px!important;min-height:44px!important;padding:12px 20px!important;font-weight:600!important;font-size:14px!important;text-decoration:none!important;white-space:nowrap!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .primary{background:var(--blue)!important;color:white!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .primary:hover{background:#0052ad!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .secondary{background:#ecedf1!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .measurement-preferences{border:0!important;background:transparent!important;color:inherit!important;text-decoration:underline!important;font:inherit!important;padding:8px!important;cursor:pointer!important}
@media(prefers-reduced-motion:reduce){:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) *,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) *::before,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) p{text-wrap:pretty!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-header{background:#fff!important;border-bottom:1px solid var(--h3-line)!important;position:relative!important;z-index:50!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-bar{width:min(var(--h3-max),calc(100% - 2*var(--h3-gutter)))!important;margin-inline:auto!important;min-height:76px!important;display:flex!important;align-items:center!important;gap:40px!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .brand{display:inline-flex!important;align-items:center!important;gap:10px!important;flex-shrink:0!important;color:var(--ink)!important;text-decoration:none!important;font-size:24px!important;font-weight:600!important;letter-spacing:-.8px!important;line-height:1!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-i{fill:none!important;stroke:currentColor!important;stroke-width:1.75!important;stroke-linecap:round!important;stroke-linejoin:round!important;flex-shrink:0!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-nav>ul{display:flex!important;align-items:center!important;gap:28px!important;margin:0!important;padding:0!important;list-style:none!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-nav li{position:relative!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-nav>ul>li>a,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .sh-nav__trigger{display:inline-flex!important;align-items:center!important;gap:4px!important;min-height:44px!important;padding:0!important;border:0!important;background:none!important;color:var(--ink)!important;font-size:15px!important;font-weight:600!important;line-height:1!important;text-decoration:none!important;white-space:nowrap!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-nav>ul>li>a:hover,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .sh-nav__trigger:hover,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .is-open>.sh-nav__trigger{color:var(--blue)!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .sh-nav__trigger .h3-i{transition:transform .15s ease!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .is-open>.sh-nav__trigger .h3-i{transform:rotate(180deg)!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .sh-panel{position:absolute!important;top:100%!important;left:-18px!important;padding-top:6px!important;display:none!important;z-index:60!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .is-open>.sh-panel,html:not(.sh-js) :is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-nav li:hover>.sh-panel,html:not(.sh-js) :is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-nav li:focus-within>.sh-panel{display:block!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-drop{width:380px!important;margin:0!important;padding:8px!important;list-style:none!important;background:#fff!important;border:1px solid var(--h3-line)!important;border-radius:18px!important;box-shadow:0 14px 34px #27354e1f!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-drop a{display:block!important;padding:12px 14px!important;border-radius:12px!important;color:var(--ink)!important;text-decoration:none!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-drop a:hover{background:#eaf1fb!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-drop strong{display:block!important;font-size:15px!important;font-weight:600!important;line-height:1.35!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-drop span{display:block!important;margin-top:3px!important;font-size:13px!important;line-height:1.45!important;color:var(--muted)!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .account{display:flex!important;align-items:center!important;gap:8px!important;margin-left:auto!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .secondary:hover{background:#e3e5e9!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-burger{display:none!important;width:44px!important;height:44px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#ecedf1!important;color:var(--ink)!important;align-items:center!important;justify-content:center!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-burger:hover{background:#e3e5e9!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-menu{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;border:0!important;background:#fff!important;color:var(--ink)!important;font-family:inherit!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-menu[open]{display:flex!important;flex-direction:column!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-menu::backdrop{background:#2021244d!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-menu__bar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;min-height:64px!important;padding:0 var(--h3-gutter)!important;border-bottom:1px solid var(--h3-line)!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-menu__close{display:inline-flex!important;align-items:center!important;gap:6px!important;min-height:44px!important;padding:0 16px!important;border:0!important;border-radius:28px!important;background:#ecedf1!important;color:var(--ink)!important;font-size:15px!important;font-weight:600!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-menu__body{flex:1!important;overflow:auto!important;padding:8px var(--h3-gutter) 24px!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-menu__title{margin:24px 0 4px!important;font-size:12px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--muted)!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-menu__list{margin:0!important;padding:0!important;list-style:none!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-menu__list a{display:flex!important;align-items:center!important;min-height:52px!important;border-bottom:1px solid #eef0f3!important;color:var(--ink)!important;font-size:18px!important;font-weight:600!important;text-decoration:none!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-menu__actions{display:grid!important;gap:8px!important;padding:16px var(--h3-gutter) 24px!important;border-top:1px solid var(--h3-line)!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-menu__actions .button{font-size:15px!important;min-height:48px!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer{background:#f8f9fb!important;border-top:1px solid var(--h3-line)!important;color:var(--ink)!important;font-size:14px!important;line-height:1.5!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer__inner{width:min(var(--h3-max),calc(100% - 2*var(--h3-gutter)))!important;margin-inline:auto!important;padding:56px 0 36px!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer__grid{display:grid!important;grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(0,1fr))!important;gap:32px!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer__brand .brand{font-size:21px!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer__brand p{margin:16px 0 0!important;max-width:30ch!important;color:var(--muted)!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer__title{margin:0 0 10px!important;font-size:13px!important;font-weight:600!important;line-height:1.4!important;color:var(--ink)!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer ul{margin:0!important;padding:0!important;list-style:none!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer li a,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer .measurement-preferences{display:inline-flex!important;align-items:center!important;min-height:34px!important;padding:0!important;border:0!important;background:none!important;color:#45484e!important;font-size:14px!important;line-height:1.4!important;text-decoration:none!important;text-align:left!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer li a:hover,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer .measurement-preferences:hover{color:var(--blue)!important;text-decoration:underline!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer__bottom{display:grid!important;gap:8px!important;margin-top:40px!important;padding-top:24px!important;border-top:1px solid var(--h3-line)!important;color:var(--muted)!important;font-size:13px!important;line-height:1.6!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer__bottom p{margin:0!important;max-width:96ch!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer__bottom a{color:#45484e!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer__bottom a:hover{color:var(--blue)!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer__countries a{margin-left:10px!important}
@media(max-width:1100px){:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-nav,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-login{display:none!important}:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-burger{display:inline-flex!important}:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-bar{min-height:64px!important;gap:16px!important}:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer__brand{grid-column:1/-1!important}}
@media(max-width:700px){:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .brand{font-size:21px!important;gap:8px!important}:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-bar{gap:10px!important}:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .account{gap:6px!important}:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .account .button{font-size:14px!important;padding:10px 14px!important}:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer__inner{padding:40px 0 28px!important}:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer__grid{gap:24px 16px!important}:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer li a,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-footer .measurement-preferences{min-height:44px!important}}
@media(max-width:400px){:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-bar{width:calc(100% - 32px)!important;gap:8px!important}:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .brand{font-size:19px!important;gap:6px!important;letter-spacing:-.6px!important}:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .brand svg{width:24px!important;height:24px!important}:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .account .primary{padding:10px 12px!important}:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .h3-burger{width:40px!important;height:40px!important}}
@media(max-width:340px){:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) .brand>span{display:none!important}}
@media(prefers-reduced-motion:reduce){:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) *,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) *::before,:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) *::after{animation:none!important;transition:none!important}}
@media(max-width:400px){:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom){--h3-gutter:16px}}

/* 4. Compléments propres aux pages qui ne sont pas l'accueil. */
[data-sh-legacy]{display:none!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) [hidden]{display:none!important}
:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom) #sh-contenu{display:block!important;height:0!important;outline:0!important;box-shadow:none!important;scroll-margin-top:8px!important}
@media print{:is(#sh-top,#sh-bottom):is(#sh-top,#sh-bottom){display:none!important}}

/* 5. Corps des pages publiques : identité de l'accueil (site-page-h3.css), contenu inchangé. */
html:not(#h3) [hidden]{display:none!important}
/* Corps des pages publiques dans l'identité de l'accueil (H3).
   Source de la section 5 de site-chrome.css (backend/site_chrome.py) : chargée par toutes
   les pages placées sous l'en-tête et le pied communs, jamais par l'accueil ni par
   l'application. Habillage seulement : textes, prix, liens et contrôles inchangés.
   Les règles de l'en-tête et du pied communs restent prioritaires :
   elles sont portées par deux identifiants. */

html{
  --h3-blue:#0065d1;--h3-blue-hover:#0052ad;--h3-blue-soft:#eaf1fb;
  --h3-ink:#202124;--h3-ink-2:#45484e;--h3-muted:#565960;
  --h3-canvas:#f8f9fb;--h3-surface:#f3f4f7;--h3-raised:#ffffff;
  --h3-line:#e3e5e9;--h3-line-2:#d6d9df;
  --h3-r-card:22px;--h3-r-small:14px;--h3-shadow:0 2px 3px #18213208;
  --h3-text:"Inter","Inter Repli",system-ui,-apple-system,"Segoe UI",sans-serif;
  --h3-code:ui-monospace,"Cascadia Mono",Consolas,monospace;
  /* Jetons lus par les anciennes feuilles (identity.css, blanc.css, registre-site.css) */
  --accent:#0065d1;--brand-ink:#202124;--brand-paper:#f8f9fb;--brand-line:#e3e5e9;--brand-muted:#565960;
  --font-body:var(--h3-text);--font-display:var(--h3-text);--font-mono:var(--h3-text);
  background:#f8f9fb!important;
  font-synthesis:none;
}

/* (1) Toile, encre et une seule famille : Inter, comme l'accueil. */
html:not(#h3):not([data-theme="dark"]) body{
  background:var(--h3-canvas)!important;color:var(--h3-ink)!important;
  font-family:var(--h3-text)!important;-webkit-font-smoothing:antialiased;
}
html:not(#h3) body *:not(code,pre,kbd,samp,code *,pre *,svg,svg *){font-family:var(--h3-text)!important;letter-spacing:normal!important}
html:not(#h3) body :is(code,pre,kbd,samp){font-family:var(--h3-code)!important;font-size:.92em}
html:not(#h3) body :is(em,i,cite){font-style:normal!important}
html:not(#h3) body :is(p,li,dd,blockquote) :is(em,i,cite){font-style:italic!important}

/* (2) Titres : Inter 600, échelle de l'accueil. */
html:not(#h3) body :is(h1,h2,h3,h4,h5,h6,.hero-title,.section-h,.section-title,.sect-title){
  font-weight:600!important;color:var(--h3-ink)!important;text-transform:none!important;font-style:normal!important;
}
html:not(#h3) body :is(h1,.hero-title){
  font-size:clamp(36px,4.2vw,60px)!important;line-height:1.06!important;letter-spacing:-.035em!important;text-wrap:balance;
}
html:not(#h3) body :is(h2,.section-h,.section-title,.sect-title){
  font-size:clamp(26px,2.4vw,36px)!important;line-height:1.15!important;letter-spacing:-.02em!important;text-wrap:balance;
}
html:not(#h3) body h3{font-size:clamp(17px,1.4vw,20px)!important;line-height:1.3!important;letter-spacing:-.01em!important}
html:not(#h3) body h4{font-size:16px!important;line-height:1.35!important}
html:not(#h3) body :is(h1,h2,h3,h4) :is(em,i){color:inherit!important;font-style:normal!important;font-weight:inherit!important}

/* (3) Surtitres et étiquettes : ce qui était en chasse fixe devient le surtitre de l'accueil. */
html:not(#h3) body :is(.eyebrow,.kicker,.sect-kicker,.label-xs,.toc-label,.source-kicker,.ic-kicker,.hero-kicker,.pe-eyebrow,.pe-mono,.pe-kicker,.pe-label,.rs-eyebrow,.overline,.tag-label){
  font-size:12px!important;font-weight:600!important;letter-spacing:.06em!important;color:var(--h3-muted)!important;
  text-transform:uppercase!important;line-height:1.3!important;
}

/* (4) Liens dans le texte : le bleu de l'accueil. */
html:not(#h3) body :is(p,li,td,dd,figcaption,blockquote) a:not([class]),
html:not(#h3) body .content a:is(:not([class]),.gloss-term){
  color:var(--h3-blue)!important;text-decoration-color:#0065d166!important;text-underline-offset:3px;
  border-bottom-color:transparent!important;
}
html:not(#h3) body :is(p,li,td,dd) a:not([class]):hover,html:not(#h3) body .content a:hover{color:var(--h3-blue-hover)!important;text-decoration-color:currentColor!important}

/* (5) Filets : gris clair, jamais l'encre. Les états choisis gardent leur bordure. */
html:not(#h3) body *:not(input,select,textarea,button,[aria-pressed="true"],[aria-selected="true"],[aria-current],[aria-current] *,.active,.is-active,svg,svg *){
  border-color:var(--h3-line)!important;
}
html:not(#h3) body hr{border:0!important;border-top:1px solid var(--h3-line)!important;background:none!important}
html:not(#h3) body :is(input,select,textarea){border-color:var(--h3-line-2)!important;border-radius:var(--h3-r-small)!important;font-size:16px!important}

/* (6) Boutons : pilule bleue pour l'action, pilule grise pour le reste. */
html:not(#h3) body :is(.nav-cta,.f-btn,.btn-primary,.hero-cta-primary,a.cta:not(.ghost),button.cta:not(.ghost),.btn-cta,.cta-primary,
  .pe-btn:not(.pe-btn--line),.ic-btn,.final-btn,.btn--primary,.button-primary,.wrap > div.cta > a:not(.ghost),.wrap > .final > a:not(.ghost),
  button[type="submit"]:not(.secondary)){
  background:var(--h3-blue)!important;border-color:var(--h3-blue)!important;color:#fff!important;
  border-radius:28px!important;box-shadow:none!important;min-height:44px;font-weight:600!important;text-transform:none!important;
}
html:not(#h3) body :is(.nav-cta,.f-btn,.btn-primary,.hero-cta-primary,a.cta:not(.ghost),button.cta:not(.ghost),.btn-cta,.cta-primary,
  .pe-btn:not(.pe-btn--line),.ic-btn,.final-btn,.btn--primary,.button-primary,.wrap > div.cta > a:not(.ghost),.wrap > .final > a:not(.ghost),
  button[type="submit"]:not(.secondary)):hover{
  background:var(--h3-blue-hover)!important;border-color:var(--h3-blue-hover)!important;color:#fff!important;
}
html:not(#h3) body :is(.pe-btn--line,.btn-secondary,.hero-cta-secondary,.cta-outline,.btn-ghost,.btn-outline,a.cta.ghost,.ghost,.btn--secondary,.nav-signup){
  background:#ecedf1!important;border-color:#ecedf1!important;color:var(--h3-ink)!important;
  border-radius:28px!important;box-shadow:none!important;min-height:44px;font-weight:600!important;text-transform:none!important;
}
html:not(#h3) body :is(.pe-btn--line,.btn-secondary,.hero-cta-secondary,.cta-outline,.btn-ghost,.btn-outline,a.cta.ghost,.ghost,.btn--secondary,.nav-signup):hover{
  background:#e3e5e9!important;border-color:#e3e5e9!important;color:var(--h3-ink)!important;
}
/* La flèche cloisonnée des anciens boutons : sans cloison. */
html:not(#h3) body .pe-btn :is(.pe-btn__arrow,.pe-btn__icon,svg){border:0!important;background:transparent!important}

/* (7) Tableaux lisibles. */
html:not(#h3) body table{border-collapse:separate!important;border-spacing:0!important;background:var(--h3-raised)!important;
  border:1px solid var(--h3-line)!important;border-radius:var(--h3-r-small)!important;overflow:hidden;font-size:15px}
html:not(#h3) body :is(th,td){border-width:0 0 1px!important;border-style:solid!important;padding:12px 16px!important;line-height:1.5!important;vertical-align:top}
html:not(#h3) body tr:last-child > td{border-bottom-width:0!important}
html:not(#h3) body th{background:var(--h3-surface)!important;color:var(--h3-ink)!important;font-size:13px!important;font-weight:600!important;text-transform:none!important;text-align:left}
html:not(#h3) body td{color:var(--h3-ink-2)}
html:not(#h3) body td a{color:var(--h3-blue)!important}
html:not(#h3) body pre{background:var(--h3-surface)!important;border:1px solid var(--h3-line)!important;border-radius:var(--h3-r-small)!important;padding:16px!important;overflow:auto}
html:not(#h3) body :is(p,li,td) code{background:var(--h3-surface)!important;border-radius:6px;padding:.1em .35em;color:var(--h3-ink)!important}

/* (8) Questions dépliables et blocs d'appel : cartes blanches arrondies. */
html:not(#h3) body details{border-radius:var(--h3-r-small)}
html:not(#h3) body summary{cursor:pointer}
html:not(#h3) body :is(.inline-cta,.final-cta){background:var(--h3-raised)!important;border:1px solid var(--h3-line)!important;border-radius:var(--h3-r-card)!important;box-shadow:var(--h3-shadow)!important}
html:not(#h3) body .inline-cta{border-left-width:1px!important}
html:not(#h3) body blockquote{border-left:3px solid var(--h3-blue)!important;background:var(--h3-raised);border-radius:0 var(--h3-r-small) var(--h3-r-small) 0;padding:12px 18px!important;margin-inline:0}

/* (9) Focus clavier : l'anneau de l'accueil. */
html:not(#h3) body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #004a9b!important;outline-offset:3px!important}

/* (10) Article sur téléphone : la colonne ne dépasse jamais l'écran. */
@media (max-width:900px){html:not(#h3) body.rs-identity .layout{grid-template-columns:minmax(0,1fr)}html:not(#h3) body.rs-identity .layout>*{min-width:0}}
html:not(#h3) body nav.toc{overflow-x:hidden}
html:not(#h3) body nav.toc a{white-space:normal;overflow-wrap:anywhere}
html:not(#h3) body nav.toc a:is(:hover,.active){color:var(--h3-blue)!important}
html:not(#h3) body .progress > .progress-bar{background:var(--h3-blue)!important;color:#fff}

/* (11) Bandeau de mesure d'audience : le même que sur l'accueil (site-h3.css). */
html:not(#h3) body .rs-measurement-consent{position:fixed!important;left:50%!important;bottom:16px!important;transform:translateX(-50%)!important;z-index:900!important;
  width:min(900px,calc(100% - 32px))!important;margin:0!important;padding:16px!important;display:flex!important;align-items:center;gap:20px;
  background:#fff!important;color:var(--h3-ink)!important;border:1px solid var(--h3-line-2)!important;border-radius:18px!important;
  box-shadow:0 8px 30px #20212422!important;font-size:13px!important;line-height:1.5!important}
html:not(#h3) body .rs-measurement-consent p{margin:4px 0!important;color:var(--h3-ink-2)!important}
html:not(#h3) body .rs-measurement-consent a{color:var(--h3-blue)!important}
html:not(#h3) body .rs-measurement-actions{display:flex!important;flex:none;gap:8px;flex-wrap:nowrap}
html:not(#h3) body .rs-measurement-actions button{background:#ecedf1!important;color:var(--h3-ink)!important;border:1px solid #c5c8ce!important;border-radius:28px!important;
  padding:10px 16px!important;min-height:44px!important;font-size:14px!important;font-weight:600!important;white-space:nowrap}
html:not(#h3) body .rs-measurement-actions button:hover{background:#e3e5e9!important}
@media (max-width:700px){html:not(#h3) body .rs-measurement-consent{display:block!important;bottom:8px!important;padding:14px!important}
  html:not(#h3) body .rs-measurement-actions{margin-top:12px}html:not(#h3) body .rs-measurement-actions button{flex:1;white-space:normal}}

/* (12) Lecture : le texte courant des pages à colonne unique, à la mesure de l'accueil. */
html:not(#h3) body :is(.wrap,.layout,main) > :is(p,ul,ol) :is(li),html:not(#h3) body :is(.wrap,main,section) > p:not([class]){
  font-size:16px!important;line-height:1.65!important;color:var(--h3-ink-2)!important}
html:not(#h3) body :is(.lead,.lede,.tagline,.intro,.hero p.sub,.hero-sub){font-size:clamp(17px,1.4vw,20px)!important;line-height:1.5!important;color:var(--h3-ink-2)!important}
html:not(#h3) body :is(p,li,td,dd) :is(strong,b){color:var(--h3-ink)!important;font-weight:600!important}
html:not(#h3) body :is(.crumb,.breadcrumb,.bc-meta,.rel-meta,.feat-meta,.art-header .meta,.meta){font-size:13px!important;color:var(--h3-muted)!important}
html:not(#h3) body :is(.crumb,.breadcrumb) :is(a,span){font-size:13px!important;color:var(--h3-muted)!important;text-transform:none!important}
html:not(#h3) body :is(.cta-note,.cta-reassure,.final-sub,.hint,small,.small){font-size:13px!important;line-height:1.5!important;color:var(--h3-muted)!important}

/* (13) Article du blog : mesure de lecture d'environ 68 caractères, 18 px. */
html:not(#h3) body .content{max-width:68ch!important;font-size:18px!important;line-height:1.7!important;color:var(--h3-ink)!important}
html:not(#h3) body .content :is(p,li){font-size:18px!important;line-height:1.7!important;color:var(--h3-ink-2)!important}
html:not(#h3) body .content h2{margin-top:56px!important}
html:not(#h3) body .content table{font-size:15px!important}
@media (max-width:700px){html:not(#h3) body .content,html:not(#h3) body .content :is(p,li){font-size:17px!important}}
html:not(#h3) body :is(.art-hero-image,.feat-img,.bc-img){background:var(--h3-surface)!important;border-radius:var(--h3-r-card)!important;overflow:hidden}
html:not(#h3) body .art-hero-image img{border-radius:var(--h3-r-card)!important}
html:not(#h3) body :is(.cat-pill,.art-cat,.rel-tag,.bc-tag,.feat-tag,.feat-badge,.cat-badge){
  background:var(--h3-blue-soft)!important;color:var(--h3-blue-hover)!important;border:0!important;border-radius:28px!important;
  font-size:12px!important;font-weight:600!important;letter-spacing:.02em!important;padding:5px 10px!important}
html:not(#h3) body :is(.rel-bar,.bc-bar){background:var(--h3-blue)!important;color:#fff;height:3px!important}
html:not(#h3) body :is(.rel-card,.bc,.feat-card,.source-panel,.toc,nav.toc,.related .rel-card,.cat-hero,.stat,.card,.g-card,.term,.cmp-card,.tool-card,.cta-box,.why-card,.founder,.final,.callout:not(.warn),.block:not(.warn),.disclaimer,.explain,.tool,.hero-wrap > .hero-card){
  background:var(--h3-raised)!important;border:1px solid var(--h3-line)!important;border-radius:var(--h3-r-card)!important;box-shadow:var(--h3-shadow)!important}
html:not(#h3) body :is(.rel-card,.bc,.feat-card){overflow:hidden}
html:not(#h3) body .gloss-tip{background:var(--h3-ink)!important;color:#fff!important;border-radius:12px!important}
html:not(#h3) body :is(.final-kicker,.ic-kicker,.sec-kicker,.evidence-kicker,.example-kicker,.k,.lbl,.label,.kpi-lbl){
  font-size:12px!important;font-weight:600!important;color:var(--h3-muted)!important;letter-spacing:.06em!important}
html:not(#h3) body :is(.ic-title,.final-title,.rel-title,.bc-title,.feat-title){color:var(--h3-ink)!important}
html:not(#h3) body :is(.ic-desc,.bc-desc,.feat-desc,.rel-desc){color:var(--h3-ink-2)!important;font-size:14px!important}

/* (14) Pastilles de filtre et puces de navigation : celles de l'accueil. */
html:not(#h3) body :is(.pill,.sector-chip,.other-cat-link,.alpha,.chip,.tag-link,.filter,.filters a,.filters button){
  border-radius:28px!important;min-height:36px;font-size:14px!important;font-weight:500!important}
html:not(#h3) body :is(.pill,.sector-chip,.other-cat-link,.chip,.tag-link,.filters a,.filters button):not(.active):not([aria-pressed="true"]):not([aria-current]){
  background:var(--h3-raised)!important;color:var(--h3-ink)!important;border:1px solid var(--h3-line-2)!important}
html:not(#h3) body :is(.pill,.chip,.filters a,.filters button):is(.active,[aria-pressed="true"],[aria-current]){
  background:var(--h3-blue)!important;color:#fff!important;border-color:var(--h3-blue)!important}
html:not(#h3) body :is(.pill,.chip) :is(span,small){color:inherit!important;opacity:.75}

/* (15) Bandeaux de tête des anciens gabarits : la toile de l'accueil, sans fond crème. */
html:not(#h3) body :is(section.hero,header.hero,div.hero,.hero-wrap,.cat-hero-wrap,.alpha-bar){background:transparent!important}
html:not(#h3) body .alpha-bar{background:#f8f9fbf0!important;border-bottom:1px solid var(--h3-line)!important}
html:not(#h3) body .alpha:not(.off){color:var(--h3-blue)!important;font-weight:600!important}

/* (16) Titres dans une carte : à l'échelle d'une carte, pas d'une section. */
html:not(#h3) body :is(.card,.tool-card,.why-card,.rel-card,.bc,.feat-card,.founder,.cmp-card,.g-card,li,article) :is(h2,h3){
  font-size:clamp(17px,1.4vw,22px)!important;line-height:1.3!important;letter-spacing:-.01em!important}
html:not(#h3) body .content :is(h2){font-size:clamp(24px,2.2vw,30px)!important}

/* (17) Jetons des composants éditoriaux (fonts/brand/encre.css, préfixe pe-) : ceux de l'accueil. */
html:not(#h3){
  --pe-stone:#f8f9fb;--pe-mat:#ffffff;--pe-ink:#202124;--pe-ink-2:#45484e;--pe-grey:#565960;--pe-hair:#e3e5e9;
  --pe-blue:#0065d1;--pe-bone:#f3f4f7;--pe-t-1:12px;
  --pe-display:var(--h3-text);--pe-mono:var(--h3-text);
  --pe-t1:clamp(18px,16px + .4vw,22px);--pe-t2:clamp(26px,22px + 1vw,36px);--pe-t3:clamp(30px,22px + 2.2vw,48px);--pe-t4:clamp(36px,24px + 3vw,60px);
}
html:not(#h3) body :is(.pe-sc,.pe-mono){font-size:12px!important;font-weight:600!important;letter-spacing:.06em!important;color:var(--h3-muted)!important}
html:not(#h3) body :is(.pe-sc,.pe-mono) b{color:var(--h3-ink)!important;font-weight:600!important}
html:not(#h3) body .pe-bl{color:var(--h3-blue)!important}
/* État d'un module : la pastille de l'accueil (En ligne en vert, Bêta en ambre). */
html:not(#h3) body .pe-st{display:inline-flex!important;align-items:center;width:fit-content;padding:4px 10px!important;border-radius:28px!important;
  font-size:12px!important;font-weight:600!important;letter-spacing:.02em!important;text-transform:none!important;line-height:1.3!important;
  background:#e4e5e9!important;color:#4a4d53!important}
html:not(#h3) body .pe-st::before{display:none!important}
html:not(#h3) body .pe-st[data-status="en-ligne"]{background:#e4f1e8!important;color:#216d36!important}
html:not(#h3) body .pe-st:is([data-status="beta"],[data-status="en-construction"],[data-status="Aperçu"]){background:#fff0ce!important;color:#815400!important}
html:not(#h3) body .pe-d{background:var(--h3-blue)!important;color:#fff}
html:not(#h3) body .pe-d--n{background:transparent!important;box-shadow:inset 0 0 0 1.5px var(--h3-muted)!important}
html:not(#h3) body :is(.pe-shot__frame,.st-plate__frame,.pe-scene__plate){border:1px solid var(--h3-line)!important;border-radius:var(--h3-r-card)!important;overflow:hidden;
  background:var(--h3-raised)!important;box-shadow:0 8px 26px #27354e14!important}
html:not(#h3) body :is(.pe-shot__frame,.st-plate__frame) img{border-radius:0!important}
html:not(#h3) body :is(.pe-link,.pe-a){color:var(--h3-ink)!important;text-decoration-color:#0065d166!important}
html:not(#h3) body :is(.pe-link,.pe-a):hover{color:var(--h3-blue)!important}
/* Bouton éditorial : une pilule, flèche comprise, sans cloison. */
html:not(#h3) body .pe-btn{padding:12px 22px!important;gap:10px}
html:not(#h3) body .pe-btn::after,html:not(#h3) body .pe-btn > :last-child{border-left:0!important}

/* (18) /produits : le registre des modules dans une carte blanche, états en pastilles, anneau au bleu de l'accueil. */
html:not(#h3) body.rs-products .ledger{background:var(--h3-raised)!important;border:1px solid var(--h3-line)!important;border-radius:var(--h3-r-card)!important;
  box-shadow:var(--h3-shadow)!important;padding:8px 24px!important}
html:not(#h3) body.rs-products .prod{border-top:1px solid var(--h3-line)!important}
html:not(#h3) body.rs-products .prod:first-child{border-top:0!important}
html:not(#h3) body.rs-products .prod h4{font-size:18px!important;font-weight:600!important;letter-spacing:-.01em!important}
html:not(#h3) body.rs-products .prod .prod-step{font-size:12px!important;letter-spacing:.04em!important}
html:not(#h3) body.rs-products .prod .purpose{font-size:15px!important;line-height:1.5!important;color:var(--h3-ink-2)!important}
html:not(#h3) body.rs-products .prod .more{color:var(--h3-blue)!important;text-transform:none!important;letter-spacing:0!important;font-size:14px!important}
html:not(#h3) body.rs-products .prod .limits{background:var(--h3-surface)!important;border-radius:var(--h3-r-small)!important;padding:14px 16px!important;margin-bottom:16px}
html:not(#h3) body.rs-products .prod summary:hover h4{color:var(--h3-blue)!important}
html:not(#h3) body.rs-products .family-heading{border-bottom:0!important}
html:not(#h3) body .ring{color:var(--h3-blue)}
html:not(#h3) body .ring svg [stroke="#1D3B5A"],html:not(#h3) body .ring svg [stroke="#1d3b5a"]{stroke:var(--h3-blue)!important}
html:not(#h3) body .ring svg [fill="#1D3B5A"],html:not(#h3) body .ring svg [fill="#1d3b5a"]{fill:var(--h3-blue)!important}
html:not(#h3) body .ring svg text,html:not(#h3) body .ring svg tspan{font-family:var(--h3-text)!important;letter-spacing:.06em!important;font-weight:600}
html:not(#h3) body :is(.human-note,.not,.closing){background:var(--h3-raised)!important;border:1px solid var(--h3-line)!important;border-radius:var(--h3-r-card)!important;padding:28px 32px!important}
html:not(#h3) body.rs-products .legend b{font-weight:600!important}

/* (19) Boutons éditoriaux et boutons de /pricing : la pilule de l'accueil (bleue, ou grise pour le second choix). */
html:not(#h3) body :is(.pe-btn:not(.pe-btn--line),body.rs-pricing .cards .cta,body.rs-pricing .pricing-first-actions .cta,body.rs-pricing .guarantee a:not(.ghost)){
  background:var(--h3-blue)!important;color:#fff!important;border-radius:28px!important;box-shadow:none!important;height:auto!important;min-height:48px;
  padding:0 8px 0 24px!important;font-weight:600!important;overflow:hidden}
html:not(#h3) body :is(.pe-btn:not(.pe-btn--line),body.rs-pricing .cards .cta,body.rs-pricing .pricing-first-actions .cta,body.rs-pricing .guarantee a:not(.ghost)):hover{
  background:var(--h3-blue-hover)!important;color:#fff!important}
html:not(#h3) body :is(.pe-btn:not(.pe-btn--line),body.rs-pricing .cards .cta,body.rs-pricing .pricing-first-actions .cta,body.rs-pricing .guarantee a:not(.ghost))::after{
  border-left:0!important;width:40px!important;min-height:44px}
html:not(#h3) body :is(.pe-btn--line,body.rs-pricing .cta-outline,body.rs-pricing .pricing-alternative .cta,body.rs-pricing .guarantee a.ghost){
  background:#ecedf1!important;color:var(--h3-ink)!important;box-shadow:none!important;border-radius:28px!important;height:auto!important;min-height:48px;
  padding:0 22px!important;font-weight:600!important}
html:not(#h3) body :is(.pe-btn--line,body.rs-pricing .cta-outline,body.rs-pricing .pricing-alternative .cta,body.rs-pricing .guarantee a.ghost):hover{
  background:#e3e5e9!important;color:var(--h3-ink)!important}
html:not(#h3) body.rs-pricing .cards .card:not(.featured) .cta{background:var(--h3-blue)!important;color:#fff!important}
html:not(#h3) body.rs-pricing .cards .card:not(.featured) .cta:hover{background:var(--h3-blue-hover)!important;color:#fff!important}

/* (20) /pricing : apparence seulement. Trois cartes blanches séparées, l'offre mise en avant cerclée de bleu. */
html:not(#h3) body.rs-pricing .cards{gap:16px!important;border:0!important;margin-bottom:56px!important}
html:not(#h3) body.rs-pricing .cards .card,html:not(#h3) body.rs-pricing .cards .card:first-child,html:not(#h3) body.rs-pricing .cards .card:last-of-type,
html:not(#h3) body.rs-pricing .cards .card.featured{
  background:var(--h3-raised)!important;border:1px solid var(--h3-line)!important;border-radius:var(--h3-r-card)!important;
  box-shadow:var(--h3-shadow)!important;padding:28px!important;margin:0!important}
html:not(#h3) body.rs-pricing .cards .card.featured{border:2px solid var(--h3-blue)!important;padding:27px!important}
html:not(#h3) body.rs-pricing .tier{font-size:13px!important;font-weight:600!important;letter-spacing:.06em!important;color:var(--h3-muted)!important}
html:not(#h3) body.rs-pricing .card.featured .tier{color:var(--h3-blue)!important}
html:not(#h3) body.rs-pricing .price .amount{font-size:52px!important;font-weight:600!important;letter-spacing:-.035em!important;word-spacing:normal!important;color:var(--h3-ink)!important}
html:not(#h3) body.rs-pricing .price .unit{font-size:13px!important;font-weight:500!important;color:var(--h3-muted)!important}
html:not(#h3) body.rs-pricing .price-sub{font-size:15px!important;color:var(--h3-ink-2)!important}
html:not(#h3) body.rs-pricing .feats{border-top:1px solid var(--h3-line)!important}
html:not(#h3) body.rs-pricing .feats li{font-size:14px!important;color:var(--h3-ink-2)!important}
html:not(#h3) body.rs-pricing .feats li::before{background:var(--h3-blue)!important;color:#fff}
html:not(#h3) body.rs-pricing .pricing-paths{gap:8px;border:0!important;flex-wrap:wrap}
html:not(#h3) body.rs-pricing .pricing-paths a{padding:10px 16px!important;border:1px solid var(--h3-line-2)!important;border-radius:28px!important;background:var(--h3-raised)!important;
  font-size:14px!important;font-weight:600!important;text-transform:none!important;color:var(--h3-ink)!important;min-height:44px;display:inline-flex;align-items:center;gap:8px}
html:not(#h3) body.rs-pricing .pricing-paths a:hover{border-color:var(--h3-blue)!important;color:var(--h3-blue)!important}
html:not(#h3) body.rs-pricing .pricing-paths span{color:var(--h3-blue)!important;font-weight:600!important}
html:not(#h3) body.rs-pricing :is(.pricing-alternative,.pricing-alternative.enterprise){background:var(--h3-raised)!important;border:1px solid var(--h3-line)!important;
  border-radius:var(--h3-r-card)!important;box-shadow:var(--h3-shadow)!important;padding:24px 28px!important;margin:0 0 16px!important}
html:not(#h3) body.rs-pricing .pricing-alternative .alternative-price{font-size:15px!important;font-weight:600!important}
html:not(#h3) body.rs-pricing .pricing-offers-intro{border-top:0!important}
html:not(#h3) body.rs-pricing .pricing-details{background:var(--h3-raised)!important;border:1px solid var(--h3-line)!important;border-radius:var(--h3-r-card)!important;padding:0 24px!important}
html:not(#h3) body.rs-pricing .pricing-details>summary{font-size:18px!important;font-weight:600!important}
html:not(#h3) body.rs-pricing .compare-scroll{border:0!important;background:transparent!important}
html:not(#h3) body.rs-pricing .compare :is(thead th,tbody th[scope=row]){background:var(--h3-surface)!important;font-weight:600!important}
html:not(#h3) body.rs-pricing .compare tbody td{font-size:13px!important}
html:not(#h3) body.rs-pricing .compare tbody tr:hover :is(th,td){background:var(--h3-blue-soft)!important}
html:not(#h3) body.rs-pricing .faq-section{border-top:0!important}
html:not(#h3) body.rs-pricing .faq-item{background:var(--h3-raised)!important;border:1px solid var(--h3-line)!important;border-radius:var(--h3-r-small)!important;margin:0 0 8px!important}
html:not(#h3) body.rs-pricing .faq-q{font-size:17px!important;font-weight:600!important;line-height:1.35!important;padding:16px 48px 16px 20px!important}
html:not(#h3) body.rs-pricing .faq-q:hover{color:var(--h3-blue)!important}
html:not(#h3) body.rs-pricing .faq-a{padding:0 20px!important;font-size:15px!important}
html:not(#h3) body.rs-pricing .faq-a.show{padding:0 20px 18px!important}
html:not(#h3) body.rs-pricing .guarantee{background:var(--h3-raised)!important;border:1px solid var(--h3-line)!important;border-radius:var(--h3-r-card)!important;
  box-shadow:var(--h3-shadow)!important;padding:40px!important;margin-top:64px!important}
html:not(#h3) body.rs-pricing .guarantee h3{font-size:clamp(26px,2.4vw,36px)!important}
html:not(#h3) body.rs-pricing .cta-reassure{font-size:13px!important;color:var(--h3-muted)!important}
html:not(#h3) body.rs-pricing #rsTop{border-radius:28px!important;background:var(--h3-ink)!important}

/* (21) /securite et Solutions : cartes avec leur marge intérieure, listes clé-valeur sur filets clairs. */
html:not(#h3) body.rs-site :is(.card,.kv){padding:24px!important}
html:not(#h3) body.rs-site .kv-list{background:var(--h3-raised)!important;border:1px solid var(--h3-line)!important;border-radius:var(--h3-r-card)!important;padding:4px 24px!important}
html:not(#h3) body.rs-site .kv-list .kv{padding:16px 0!important;background:transparent!important;border-width:0 0 1px!important;border-radius:0!important;box-shadow:none!important}
html:not(#h3) body.rs-site .kv-list .kv:last-child{border-bottom:0!important}
html:not(#h3) body.rs-site .sec{border-top:0!important}
html:not(#h3) body :is(.st-final,.final-cta,.closing,.cta-band){background:var(--h3-raised)!important;border:1px solid var(--h3-line)!important;border-radius:var(--h3-r-card)!important;box-shadow:var(--h3-shadow)!important;padding:32px!important}
html:not(#h3) body.rs-products .closing{margin-bottom:64px!important}
html:not(#h3) body.rs-products .catalog-note{margin:16px 0!important}
html:not(#h3) body :is(.wrap,main,section,article) ul:not([class]) > li{font-size:16px!important;line-height:1.6!important}
html:not(#h3) body.rs-blog .feat-card h2,html:not(#h3) body .feat-card :is(h2,h3){font-size:clamp(22px,2vw,28px)!important}
html:not(#h3) body :is(.cat-pill,.art-cat,.rel-tag,.bc-tag,.feat-tag,.feat-badge,.cat-badge){display:inline-flex!important;width:fit-content!important;align-items:center}
html:not(#h3) body :is(.art-header,.article-header){background:transparent!important}

/* (22) Bandes de section : la toile de l'accueil. Les anciennes bandes sombres deviennent la bande bleue de l'accueil. */
html:not(#h3) body section:not(.cta-section):not(.cta){background-color:transparent!important;background-image:none!important}
html:not(#h3) body :is(section.cta-section,section.cta,.dark-band){background:var(--h3-blue)!important;color:#fff!important;border-radius:var(--h3-r-card)!important;
  border:0!important;margin-inline:auto;width:min(var(--h3-max,1312px),calc(100% - 32px))}
html:not(#h3) body :is(section.cta-section,section.cta,.dark-band) :is(h1,h2,h3,h4,p,li,span,small,strong){color:#fff!important}
html:not(#h3) body :is(section.cta-section,section.cta,.dark-band) a:not([class]){color:#fff!important;text-decoration-color:#ffffff99!important}
html:not(#h3) body :is(section.cta-section,section.cta,.dark-band) :is(a,button):is([class*="btn"],[class*="cta"],[class*="button"]){
  background:#fff!important;color:var(--h3-blue-hover)!important;border-color:#fff!important}
html:not(#h3) body :is(section.cta-section,section.cta,.dark-band) :focus-visible{outline-color:#fff!important}

/* (23) Code : un bloc sombre lisible, comme une console. */
html:not(#h3) body pre{background:#202124!important;color:#e8eaed!important;border:0!important;border-radius:var(--h3-r-small)!important;font-size:13px!important;line-height:1.6!important}
html:not(#h3) body pre *{background:transparent!important}
html:not(#h3) body pre :is(span,code){color:inherit}

/* (24) Boutons pleins restés à l'encre : le bleu de l'accueil ; choix segmentés : celui de l'accueil. */
html:not(#h3) body :is(.btn-check,.example-button,.btn,.rs-copy,button[type="submit"],a[class*="btn"]:not(.ghost):not([class*="ghost"]):not([class*="secondary"]):not([class*="outline"]):not([class*="line"])){
  background:var(--h3-blue)!important;color:#fff!important;border-color:var(--h3-blue)!important;border-radius:28px!important;box-shadow:none!important}
html:not(#h3) body :is(.btn-check,.example-button,.btn,button[type="submit"]):hover{background:var(--h3-blue-hover)!important;color:#fff!important}
html:not(#h3) body .rs-copy{background:#ffffff1f!important;border-radius:20px!important;font-size:12px!important}
html:not(#h3) body :is(.seg-on,[role="tab"][aria-selected="true"],.segmented [aria-pressed="true"],button[aria-pressed="true"]):not(.h3-burger){
  background:var(--h3-blue)!important;color:#fff!important;border-color:var(--h3-blue)!important;border-radius:28px!important}
html:not(#h3) body :is(.example-limits,.method-caution,.disclosure,.note-box,.evidence-note){background:var(--h3-blue-soft)!important;border:0!important;border-radius:var(--h3-r-card)!important}
html:not(#h3) body :is(.cmp-best,td.us,th.us,.us){background:var(--h3-blue-soft)!important}

/* (25) Planchers de lecture : 12 px au moins pour tout libellé (étiquettes d'état, légendes, notes). */
html:not(#h3) body :is(.status,.tag,.version,.stamp,.method-kicker,.method-number,.method-footnote,.scroll-hint,.synth-hint,.fineprint,.note,.logo-meta,.example-small,.example-file-bottom,.chain,.how,.l,.c,.badge,.live-badge,.kpi-lbl){
  font-size:max(12px,1em)!important}
html:not(#h3) body :is(.status,.tag,.version){font-size:12px!important;letter-spacing:.02em!important;border-radius:28px!important;padding:3px 9px!important}
html:not(#h3) body .rs-measurement-consent :is(p,a,strong){font-size:13px!important}
@media (max-width:700px){
  html:not(#h3) body :is(.content,.wrap,main,article) table{display:block!important;max-width:100%!important;overflow-x:auto!important}
}
html:not(#h3) body:has(> .rs-measurement-consent){padding-bottom:var(--rs-consent-space,0px)!important}
/* Sur la bande bleue, l'action pleine est blanche et son texte bleu (après les règles générales des boutons). */
html:not(#h3):not(#h3b) body :is(section.cta-section,section.cta,.dark-band) :is(a,button):is([class*="btn"],[class*="cta"],[class*="button"]):not([class*="ghost"]):not([class*="outline"]){
  background:#fff!important;color:#0052ad!important;border-color:#fff!important}
html:not(#h3):not(#h3b) body :is(section.cta-section,section.cta,.dark-band) :is(a,button):is([class*="ghost"],[class*="outline"]){
  background:transparent!important;color:#fff!important;border:1px solid #ffffffb3!important}
html:not(#h3):not(#h3b) body :is(section.cta-section,section.cta,.dark-band) :is(.cta-actions,.actions,.cta-row) > a:not([class]){
  background:#fff!important;color:#0052ad!important;border-radius:28px!important;text-decoration:none!important}
html:not(#h3) body :is(.crumb,.breadcrumb) *{text-transform:none!important;letter-spacing:normal!important;font-size:13px!important}
html:not(#h3) body .tool-intents a{border-radius:28px!important;border:1px solid var(--h3-line-2)!important;background:var(--h3-raised)!important;
  color:var(--h3-ink)!important;font-size:14px!important;font-weight:600!important;min-height:44px;display:inline-flex!important;align-items:center;justify-content:center;padding:0 18px!important}
html:not(#h3) body .tool-intents{background:transparent!important;border:0!important;gap:8px}
html:not(#h3) body :is(.pricing-paths a span,.filters .pill span,.pill span){font-size:12px!important}

/* B1/B2 — fondation commune, après les anciennes couches des gabarits.
   La grille porte toute la page ; seules les colonnes de lecture sont bornées.
   Les deux exclusions conservent la priorité de cette couche sans entrer dans
   les enveloppes de l'en-tête/pied. Aucun contenu ni contrôle n'est retiré. */
html:not(#h3):not(#h3b){
  --h3-max:1312px;--h3-gutter:clamp(16px,4.4vw,64px);--h3-section-gap:96px;
  --t-display:clamp(40px,1.75rem + 2.6vw,64px);--t-title:clamp(32px,1.5rem + 1.4vw,48px);
  --t-h2:clamp(28px,1.4rem + .7vw,36px);--t-h3:20px;--t-card:18px;--t-lead:clamp(18px,1rem + .35vw,21px);
  --t-body:16px;--t-small:14px;--t-note:13px;--t-label:12px;line-height:1.5;
  --pe-max:var(--h3-max);--pe-gutter:var(--h3-gutter);--pe-section:var(--h3-section-gap);
  --pe-t1:var(--t-lead);--pe-t2:var(--t-h2);--pe-t3:var(--t-title);--pe-t4:var(--t-display);
}
html:not(#h3):not(#h3b) body{font-size:var(--t-body)!important;line-height:1.5!important}
html:not(#h3):not(#h3b) body :is(.wrap,.container,.hero-wrap,.art-header-inner,.layout,.w,.example-main,main.sh-notfound,.section){
  width:min(var(--h3-max),calc(100% - 2*var(--h3-gutter)))!important;
  max-width:none!important;margin-inline:auto!important;padding-inline:0!important;min-width:0;
}
html:not(#h3):not(#h3b) body :is(.wrap,.container,.hero-wrap,.art-header-inner,.layout,.w,.example-main,.section)
  :is(.wrap,.container,.hero-wrap,.art-header-inner,.layout,.w,.example-main,.section){
  width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:0!important;
}
html:not(#h3):not(#h3b) body :is(section.hero,header.hero,section.hero-mkt,header.art-header):has(:is(.wrap,.container,.hero-wrap,.art-header-inner)){
  width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:0!important;
}
html:not(#h3):not(#h3b) body :is(section.hero,div.hero):not(:has(:is(.wrap,.container,.hero-wrap,.art-header-inner))){
  width:min(var(--h3-max),calc(100% - 2*var(--h3-gutter)))!important;
  max-width:none!important;margin-inline:auto!important;padding-inline:0!important;
}
html:not(#h3):not(#h3b) body :is(.wrap,.example-main) :is(div.hero,header.example-hero){
  width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:0!important;text-align:left!important;
}
html:not(#h3):not(#h3b) body main:has(>.title-row){
  width:min(var(--h3-max),calc(100% - 2*var(--h3-gutter)))!important;max-width:none!important;
  margin-inline:auto!important;padding-inline:0!important;
}
html:not(#h3):not(#h3b) body :is(h1,.hero-title){
  font-size:var(--t-display)!important;text-align:left!important;margin-inline:0!important;overflow-wrap:anywhere;
}
html:not(#h3):not(#h3b) body h1 :is(em,span){white-space:normal!important;overflow-wrap:anywhere;max-width:100%}
html:not(#h3):not(#h3b) body :is(h2,.section-h,.section-title,.sect-title):not(:where(.h3-header *,.h3-footer *)){font-size:var(--t-h2)!important}
html:not(#h3):not(#h3b) body h3:not(:where(.h3-header *,.h3-footer *)){font-size:var(--t-h3)!important}
html:not(#h3):not(#h3b) body :is(.card,[class$="-card"],[class*="-card "],.bc,.founder,.method-grid>article):not(:where(.h3-header *,.h3-footer *)) :is(h2,h3){font-size:var(--t-card)!important}
html:not(#h3):not(#h3b) body :is(.lead,.lede,.hero-lead){font-size:var(--t-lead)!important;line-height:1.5!important}
html:not(#h3):not(#h3b) body :is(.eyebrow,.kicker,.sect-kicker,.sec-kicker,.hero-kicker,.source-kicker,.method-kicker,.editorial-kicker,.pe-sc,.pe-kicker,.pe-mono,.ic-kicker,.overline,.final-kicker,.evidence-kicker,.example-kicker,.toc-label){
  font-size:var(--t-label)!important;font-weight:600!important;letter-spacing:.08em!important;
  color:#565960!important;text-transform:uppercase!important;line-height:1.3!important;font-feature-settings:"case"!important;
}
html:not(#h3):not(#h3b) body :is(.eyebrow,.kicker,.pe-sc,.pe-mono,.method-kicker,.editorial-kicker) :is(b,strong,em,.blue,.pe-bl){
  color:inherit!important;font-size:inherit!important;font-weight:inherit!important;font-feature-settings:inherit!important;
}
html:not(#h3):not(#h3b) body :is(.crumb,.breadcrumb,.cr){
  font-size:13px!important;font-weight:500!important;color:#565960!important;
  text-transform:none!important;letter-spacing:normal!important;text-align:left!important;
}
html:not(#h3):not(#h3b) body :is(.crumb,.breadcrumb,.cr) *{font:inherit!important;color:inherit!important;text-transform:none!important}
html:not(#h3):not(#h3b) body :is(.crumb,.breadcrumb,.cr) .sep{color:#9A9DA3!important;margin-inline:8px!important}
html:not(#h3):not(#h3b) body :is(.card,[class$="-card"],[class*="-card "],.bc,.founder,.method-grid>article,.source-panel,.final,.callout,.block,nav.toc):not(:where(.h3-header *,.h3-footer *)){padding:28px!important}
/* Une seule enveloppe de carte, y compris les anciens corps de carte du blog. */
html:not(#h3):not(#h3b) body :is(.feat-card,.bc,.rel-card){gap:24px!important}
html:not(#h3):not(#h3b) body :is(.feat-body,.bc-body,.rel-body){padding:0!important}
html:not(#h3):not(#h3b) body :is(.cat-hero,.cat-hero-text){padding:0!important;text-align:left!important}
html:not(#h3):not(#h3b) body .cat-hero{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}

/* Colonne de lecture : son bord, son fil et son titre restent sur la grille. */
html:not(#h3):not(#h3b) body.rs-faq .w>*{max-width:720px!important;margin-inline:0!important}
html:not(#h3):not(#h3b):has(link[rel="canonical"][href*="/legal/"]) body .wrap>*,
html:not(#h3):not(#h3b):has(link[rel="canonical"][href$="/api/v1/docs"]) body .wrap>*{max-width:720px!important;margin-inline:0!important}
html:not(#h3):not(#h3b) body .art-header h1,
html:not(#h3):not(#h3b) body.rs-faq h1,
html:not(#h3):not(#h3b):has(link[rel="canonical"][href*="/legal/"]) body h1,
html:not(#h3):not(#h3b):has(link[rel="canonical"][href$="/api/v1/docs"]) body h1,
html:not(#h3):not(#h3b):has(link[rel="canonical"][href$="/glossaire"]) body h1,
html:not(#h3):not(#h3b) body main.sh-notfound h1{font-size:var(--t-title)!important;max-width:720px!important}
html:not(#h3):not(#h3b) body .art-header-inner>*{max-width:720px!important;margin-inline:0!important}
html:not(#h3):not(#h3b) body .layout{grid-template-columns:minmax(0,720px) minmax(0,1fr)!important;gap:64px!important;align-items:start}
html:not(#h3):not(#h3b) body .layout>main{grid-column:1;grid-row:1;max-width:720px!important;width:100%!important;min-width:0;margin:0!important;padding:0!important}
html:not(#h3):not(#h3b) body .layout>aside{grid-column:2;grid-row:1;justify-self:end;width:280px;position:sticky;top:96px;min-width:0}
html:not(#h3):not(#h3b) body .layout nav.toc:not([hidden]){display:block!important;position:static;max-height:calc(100vh - 120px);overflow-y:auto}
html:not(#h3):not(#h3b) body .layout nav.toc ol{padding-inline-start:28px!important}
html:not(#h3):not(#h3b) body .layout nav.toc a{display:flex;align-items:center;min-height:44px}
html:not(#h3):not(#h3b) body .content h2{font-size:var(--t-h2)!important;margin-top:var(--h3-section-gap)!important}
html:not(#h3):not(#h3b) body .content>h2:first-child{margin-top:0!important}
html:not(#h3):not(#h3b) body main.sh-notfound{text-align:left!important}
html:not(#h3):not(#h3b) body main.sh-notfound>*{max-width:720px!important;margin-inline:0!important;justify-content:flex-start}

/* Le rythme remplace les marges/paddings des anciens gabarits. */
html:not(#h3):not(#h3b) body :is(section.hero,header.hero,header.art-header,.hero-mkt,.sec,.section,.wrap>div.hero){margin-block:0!important;padding-block:calc(var(--h3-section-gap)/2)!important}
html:not(#h3):not(#h3b) body :is(section.hero,header.hero,header.art-header,.hero-mkt,.sec) :is(.wrap,.container,.hero-wrap,.art-header-inner){padding-block:0!important}
html:not(#h3):not(#h3b) body>.wrap,html:not(#h3):not(#h3b) body>.w,
html:not(#h3):not(#h3b) body>main.wrap,html:not(#h3):not(#h3b) body .layout{padding-block:calc(var(--h3-section-gap)/2)!important}
html:not(#h3):not(#h3b) body :is(.wrap,.example-main):has(>.hero),
html:not(#h3):not(#h3b) body .example-main{padding-block:0!important}
html:not(#h3):not(#h3b) body .example-main>.example-hero{padding-block:calc(var(--h3-section-gap)/2)!important}
html:not(#h3):not(#h3b) body :is(.section-heading,.section-head,.sect-head){margin-bottom:24px!important}
html:not(#h3):not(#h3b) body h2:not(:where(.h3-header *,.h3-footer *)){margin-bottom:24px!important}
html:not(#h3):not(#h3b) body h2:has(+p):not(:where(.h3-header *,.h3-footer *)){margin-bottom:12px!important}
html:not(#h3):not(#h3b) body h2+p:not(:where(.h3-header *,.h3-footer *)){margin-top:0!important}
html:not(#h3):not(#h3b) body.rs-faq .b{margin-block:0 48px!important}
html:not(#h3):not(#h3b) body.rs-faq .b h2{font-size:var(--t-h3)!important}
html:not(#h3):not(#h3b) body.rs-faq .b .c{font-size:13px!important;font-weight:600!important;letter-spacing:normal!important;background:#ecedf1!important;color:#565960!important;border-radius:20px;padding:3px 8px}
html:not(#h3):not(#h3b):has(link[rel="canonical"][href*="/legal/"]) body .wrap h2{margin-top:var(--h3-section-gap)!important}
html:not(#h3):not(#h3b):has(link[rel="canonical"][href$="/legal/mentions"]) body .wrap h2{font-size:var(--t-h3)!important}
html:not(#h3):not(#h3b):has(link[rel="canonical"][href$="/legal/mentions"]) body .wrap{counter-reset:legal-section}
html:not(#h3):not(#h3b):has(link[rel="canonical"][href$="/legal/mentions"]) body .wrap h2::before{
  counter-increment:legal-section;content:counter(legal-section,decimal-leading-zero);display:inline-flex;align-items:center;justify-content:center;
  min-width:24px;height:24px;margin-right:10px;background:#ecedf1;color:#565960;border-radius:20px;font-size:13px;font-weight:600;vertical-align:middle;
}
html:not(#h3):not(#h3b):has(link[rel="canonical"][href*="/legal/"]) body .wrap>:is(.updated,.lead){font-size:14px!important}
@media(max-width:1024px){
  html:not(#h3):not(#h3b){--h3-section-gap:64px}
  html:not(#h3):not(#h3b) body .layout{grid-template-columns:minmax(0,1fr)!important;gap:32px!important}
  html:not(#h3):not(#h3b) body .layout>aside{grid-column:1;grid-row:1;justify-self:stretch;width:auto;position:static}
  html:not(#h3):not(#h3b) body .layout>main{grid-column:1;grid-row:2}
  html:not(#h3):not(#h3b) body .layout nav.toc:not([hidden]){max-height:none;overflow:visible}
}
@media(max-width:700px){
  html:not(#h3):not(#h3b) body :is(.card,[class$="-card"],[class*="-card "],.bc,.founder,.method-grid>article,.source-panel,.final,.callout,.block,nav.toc):not(:where(.h3-header *,.h3-footer *)){padding:20px!important}
}
@media(max-width:400px){html:not(#h3):not(#h3b){--h3-gutter:16px}}
