/* Blocs partagés des pages refaites d'après les maquettes validées (Pricing en premier, 5 octobre 2026).
   Couleurs et polices : jetons de public/tokens.css, rien en dur. Filets de 1 px, angles droits, aucune ombre ;
   seuls les dessins au trait ont un contour de 1,5 px et des arrondis, comme le téléphone de l'accueil.
   Sans script, tout est affiché dans son état final : les états de départ ne valent que sous .bk-js, posée par blocks.js. */
/* Largeur et marges alignées sur l'en-tête du site. */
.bk{--bk-out:cubic-bezier(.2,.7,.2,1);--bk-pen:cubic-bezier(.6,.1,.2,1);--bk-pad:40px;overflow-x:clip}
.bk-wrap{max-width:1280px;margin:0 auto;padding:0 var(--bk-pad)}
.bk .bk-label{font:400 var(--gigets-label-size)/1.5 var(--gigets-font-data);letter-spacing:.12em;text-transform:uppercase;color:var(--gigets-mute);max-width:none}
.bk .bk-h2{font:400 clamp(30px,3.6vw,48px)/1.08 var(--gigets-font-display);letter-spacing:-.02em;margin-top:14px;max-width:760px;color:var(--gigets-ink)}
.bk-i{flex:none;fill:none;stroke:var(--gigets-ink);stroke-linecap:round;stroke-linejoin:round}

/* Apparition au défilement */
.bk-js .bk-rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease var(--bk-d,0s),transform .7s var(--bk-out) var(--bk-d,0s)}
.bk-js .bk-rv.bk-in{opacity:1;transform:none}
.bk-d1{--bk-d:.08s}.bk-d2{--bk-d:.16s}.bk-d3{--bk-d:.24s}.bk-d4{--bk-d:.32s}.bk-d5{--bk-d:.5s}

/* Haut de page : petit titre, grande phrase, téléphone au trait */
.bk-hero{padding:72px 0 96px}
.bk-hero .bk-wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center}
.bk .bk-hero h1{margin-bottom:28px}
.bk .bk-big{font:400 clamp(44px,6.6vw,var(--gigets-d1))/.98 var(--gigets-font-display);letter-spacing:-.04em;color:var(--gigets-ink)}
.bk .bk-lede{font-size:21px;line-height:1.5;color:var(--gigets-body);margin-top:32px;max-width:420px}
.bk .bk-more{display:inline-flex;align-items:center;gap:10px;margin-top:40px;font:400 var(--gigets-label-size)/1.5 var(--gigets-font-data);letter-spacing:.12em;text-transform:uppercase;color:var(--gigets-mute)}
.bk-more i{display:block;width:1px;height:34px;background:var(--gigets-ink);transform-origin:top}
/* Le filet se trace une fois : la charte n'admet qu'une animation en boucle, le logo qui tourne. */
.bk-js .bk-more i{transform:scaleY(0);transition:transform .9s var(--bk-pen) 1s}
.bk-js .bk-more.bk-in i{transform:scaleY(1)}

.bk-phone{position:relative;width:300px;aspect-ratio:300/560;margin:0 auto}
.bk-phone-frame{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2;pointer-events:none;fill:none;stroke:var(--gigets-ink);stroke-width:1.5}
.bk-screen{position:absolute;inset:10px;background:var(--gigets-card);border:var(--gigets-hairline);border-radius:33px;padding:64px 22px 22px;display:flex;flex-direction:column}
.bk-line{display:flex;align-items:center;gap:14px;padding:22px 0;border-bottom:var(--gigets-hairline);font:400 25px/1.1 var(--gigets-font-display);color:var(--gigets-ink)}
.bk-line .bk-i{width:26px;height:26px;stroke-width:2.2}
/* Bouton en dégradé, même exception que sur l'accueil. Gras et 19 px : grand texte, seuil de contraste 3. */
.bk-stay{margin-top:auto;background:var(--gigets-gradient);color:var(--gigets-card);font:700 19px/1.3 var(--gigets-font-ui);text-align:center;padding:16px 10px}
.bk-js .bk-trace{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.5s var(--bk-pen)}
.bk-js .bk-phone.bk-in .bk-trace{stroke-dashoffset:0}
.bk-js .bk-screen{opacity:0;transition:opacity .6s ease .9s}
.bk-js .bk-phone.bk-in .bk-screen{opacity:1}
.bk-js .bk-line{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}
.bk-js .bk-line path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .5s ease}
.bk-js .bk-phone.bk-in .bk-line{opacity:1;transform:none}
.bk-js .bk-phone.bk-in .bk-line path{stroke-dashoffset:0}
.bk-js .bk-phone.bk-in .bk-line:nth-of-type(1){transition-delay:1.3s}.bk-js .bk-phone.bk-in .bk-line:nth-of-type(1) path{transition-delay:1.7s}
.bk-js .bk-phone.bk-in .bk-line:nth-of-type(2){transition-delay:1.9s}.bk-js .bk-phone.bk-in .bk-line:nth-of-type(2) path{transition-delay:2.3s}
.bk-js .bk-stay{opacity:0;transform:translateY(10px);transition:opacity .5s ease 2.7s,transform .5s ease 2.7s}
.bk-js .bk-phone.bk-in .bk-stay{opacity:1;transform:none}

/* Phrase qui s'allume mot par mot. Le gris pâle est un état d'animation : sans script, en mouvement réduit
   et une fois la phrase au milieu de l'écran, tous les mots sont en Ink. */
/* Cette bande porte un nom à elle : .bk-why est la liste de raisons d'About, dont la règle, écrite plus bas, lui
   retirait ses marges et la bornait à 760 px (défaut corrigé le 7 octobre 2026). */
.bk-reason{padding:120px 0;border-top:var(--gigets-hairline)}
.bk .bk-say{font:400 clamp(30px,4.4vw,60px)/1.12 var(--gigets-font-display);letter-spacing:-.02em;max-width:1000px;color:var(--gigets-ink)}
.bk-js .bk-say .bk-w{color:var(--gigets-rule);transition:color .25s ease}
.bk-js .bk-say .bk-w.bk-on{color:var(--gigets-ink)}
.bk .bk-then{font-size:20px;line-height:1.5;color:var(--gigets-body);max-width:520px;margin:44px 0 0 auto}

/* Deux états d'un même panneau : la première colonne ne bouge pas, la seconde arrive à côté */
.bk-compare{padding:112px 0;background:var(--gigets-sunken)}
/* Sur fond Sunken, Mute ne fait que 4,11 de contraste : ces étiquettes passent en Body. */
.bk .bk-compare>.bk-wrap>.bk-label,.bk .bk-hint,.bk .bk-empty{color:var(--gigets-body)}
.bk-js .bk-paid:not(.bk-open)>.bk-label{color:var(--gigets-body)}
.bk-switch{margin-top:44px}
.bk-tabs,.bk-hint,.bk-empty{display:none}
.bk-js .bk-tabs{display:inline-flex;border:1px solid var(--gigets-ink);background:var(--gigets-paper)}
.bk-tabs button{appearance:none;border:0;border-radius:0;margin:0;background:none;color:var(--gigets-ink);font:600 15px/1.4 var(--gigets-font-ui);padding:14px 22px;cursor:pointer;position:relative;transition:background-color .25s,color .25s}
.bk-tabs button[aria-selected="true"]{background:var(--gigets-ink);color:var(--gigets-paper)}
.bk-tabs button:focus-visible{outline:2px solid var(--gigets-crimson);outline-offset:3px;z-index:1}
.bk-js .bk-hint{display:inline-block;margin-left:18px;font:400 var(--gigets-label-size)/1.5 var(--gigets-font-data);letter-spacing:.1em;text-transform:uppercase}
.bk-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:28px}
.bk-col{background:var(--gigets-card);border:1px solid var(--gigets-ink);padding:28px 28px 12px;min-height:290px;position:relative}
.bk-items{list-style:none;margin:22px 0 0;padding:0}
.bk-item{display:flex;align-items:center;gap:14px;padding:18px 0;border-top:var(--gigets-hairline);font:600 19px/1.3 var(--gigets-font-ui);color:var(--gigets-ink)}
.bk-item .bk-i{width:22px;height:22px;stroke-width:2.2}
.bk .bk-sub{font-size:15px;line-height:1.5;color:var(--gigets-body);margin:14px 0 10px}
.bk-js .bk-paid{transition:border-color .4s,background-color .4s}
.bk-js .bk-paid .bk-item{transition:opacity .45s ease,transform .45s var(--bk-out),visibility 0s}
.bk-js .bk-paid .bk-sub{transition:opacity .4s,visibility 0s}
.bk-js .bk-paid:not(.bk-open){border-style:dashed;border-color:var(--gigets-mute);background-color:transparent}
.bk-js .bk-paid:not(.bk-open) .bk-item{opacity:0;transform:translateX(28px);visibility:hidden;transition:opacity .45s ease,transform .45s var(--bk-out),visibility 0s .45s}
.bk-js .bk-paid:not(.bk-open) .bk-sub{opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s}
.bk-js .bk-paid.bk-open .bk-item:nth-child(1){transition-delay:.1s}
.bk-js .bk-paid.bk-open .bk-item:nth-child(2){transition-delay:.22s}
.bk-js .bk-paid.bk-open .bk-item:nth-child(3){transition-delay:.34s}
.bk-js .bk-empty{display:grid;position:absolute;inset:0;place-items:center;text-align:center;padding:20px;font:400 var(--gigets-label-size)/1.5 var(--gigets-font-data);letter-spacing:.12em;text-transform:uppercase;transition:opacity .3s,visibility 0s}
.bk-js .bk-paid.bk-open .bk-empty{opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
.bk .bk-keep{display:inline-block;position:relative;font:400 clamp(22px,2.4vw,30px)/1.2 var(--gigets-font-display);margin-top:40px;padding-bottom:10px;color:var(--gigets-ink)}
.bk-keep::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--gigets-ink);transform-origin:left;transition:transform .7s var(--bk-pen) .3s}
.bk-js .bk-compare:not(.bk-after) .bk-keep::after{transform:scaleX(0)}

/* Cartes numérotées, dessin barré de rouge */
.bk-never{padding:120px 0}
.bk-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:52px 0 0;padding:0;list-style:none}
.bk-cards>li{display:flex}
.bk-cards>li:nth-child(2){--bk-d:.12s}.bk-cards>li:nth-child(3){--bk-d:.24s}
.bk-card{width:100%;background:var(--gigets-card);border:var(--gigets-hairline);padding:28px;display:flex;flex-direction:column;min-height:330px;transition:border-color .25s,transform .35s var(--bk-out)}
.bk-card:hover{border-color:var(--gigets-ink);transform:translateY(-6px)}
.bk-ico{width:128px;height:128px;margin:22px 0 auto -6px;overflow:visible}
.bk-s{fill:none;stroke:var(--gigets-ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.bk-ico text{font:400 8px var(--gigets-font-data);letter-spacing:.08em;fill:var(--gigets-ink)}
.bk-x{fill:none;stroke:var(--gigets-crimson);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.bk-js .bk-rv .bk-x{stroke-dashoffset:1;transition:stroke-dashoffset .6s var(--bk-pen) calc(var(--bk-d,0s) + .6s)}
.bk-js .bk-rv.bk-in .bk-x{stroke-dashoffset:0}
.bk-js .bk-card.bk-redo .bk-x{transition:none;stroke-dashoffset:1}
.bk-js .bk-card.bk-again .bk-x{transition-delay:0s}
.bk .bk-card-text{font:400 23px/1.2 var(--gigets-font-display);margin-top:28px;color:var(--gigets-ink)}

/* Réseau qui se relie, texte et lien */
.bk-fund{padding:112px 0;border-top:var(--gigets-hairline)}
.bk-fund .bk-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px;align-items:center}
.bk-org{width:100%;max-width:440px;display:block;overflow:visible}
.bk-tag{fill:var(--gigets-paper)}
.bk-org text{font:400 11px var(--gigets-font-data);letter-spacing:.12em;fill:var(--gigets-mute)}
.bk-lk{fill:none;stroke:var(--gigets-ink);stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:0}
.bk-dot{fill:var(--gigets-ink);stroke:var(--gigets-ink);stroke-width:1.5}
.bk-js .bk-org .bk-lk{stroke-dashoffset:1;transition:stroke-dashoffset .7s ease}
.bk-js .bk-org .bk-dot{fill:var(--gigets-paper);transition:fill .4s ease}
.bk-js .bk-org.bk-in .bk-lk{stroke-dashoffset:0}
.bk-js .bk-org.bk-in .bk-dot{fill:var(--gigets-ink)}
.bk-org .bk-lk:nth-of-type(1),.bk-org .bk-dot:nth-of-type(1){transition-delay:.2s}
.bk-org .bk-lk:nth-of-type(2){transition-delay:.45s}.bk-org .bk-dot:nth-of-type(2){transition-delay:.6s}
.bk-org .bk-lk:nth-of-type(3){transition-delay:.7s}.bk-org .bk-dot:nth-of-type(3){transition-delay:.9s}
.bk-org .bk-lk:nth-of-type(4){transition-delay:.95s}.bk-org .bk-dot:nth-of-type(4){transition-delay:1.1s}
.bk-org .bk-lk:nth-of-type(5){transition-delay:1.2s}.bk-org .bk-dot:nth-of-type(5){transition-delay:1.35s}
.bk-org .bk-lk:nth-of-type(6){transition-delay:1.45s}.bk-org .bk-dot:nth-of-type(6){transition-delay:1.8s}
.bk-org .bk-lk:nth-of-type(7){transition-delay:1.7s}
.bk .bk-fund-text{font-size:20px;line-height:1.5;color:var(--gigets-body);max-width:520px;margin-top:22px}
.bk .bk-go{display:inline-flex;align-items:center;gap:14px;margin-top:34px;font:600 17px/1.4 var(--gigets-font-ui);color:var(--gigets-ink);text-decoration:none;border-bottom:1px solid var(--gigets-ink);padding-bottom:10px}
.bk-go .bk-arrow{width:14px;height:14px;stroke-width:1.6;transition:transform .25s}
.bk-go:hover .bk-arrow{transform:translate(3px,-3px)}

@media(max-width:860px){
 .bk-hero{padding:40px 0 64px}
 .bk-hero .bk-wrap{grid-template-columns:minmax(0,1fr);gap:44px}
 .bk .bk-hero h1{margin-bottom:18px}
 .bk .bk-lede{font-size:19px;margin-top:22px}
 .bk .bk-more{margin-top:26px}
 .bk-phone{width:264px}
 .bk-screen{padding:56px 18px 18px;border-radius:30px}
 .bk-line{font-size:22px;padding:18px 0}
 .bk-reason{padding:72px 0}
 .bk .bk-then{font-size:18px;margin:28px 0 0}
 .bk-compare,.bk-never,.bk-fund{padding:72px 0}
 .bk-js .bk-tabs{display:flex}
 .bk-tabs button{flex:1;text-align:center;padding:14px 8px;font-size:14px}
 .bk-js .bk-hint{display:block;margin:12px 0 0}
 .bk-cols{grid-template-columns:minmax(0,1fr);gap:16px}
 .bk-col{min-height:0;padding:22px 20px 8px}
 .bk-js .bk-paid{min-height:268px}
 .bk-cards{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:32px}
 .bk-card{min-height:0;padding:20px;flex-direction:row;align-items:center;gap:8px 18px;flex-wrap:wrap}
 .bk-card .bk-label{flex:0 0 100%}
 .bk-ico{width:84px;height:84px;margin:0;flex:none}
 .bk .bk-card-text{margin-top:0;font-size:20px;flex:1;min-width:0}
 .bk-fund .bk-wrap{grid-template-columns:minmax(0,1fr);gap:36px}
 .bk .bk-fund-text{font-size:18px}
 .bk-org text{font-size:13px}
}
@media(max-width:760px){.bk{--bk-pad:20px}}
/* Mouvement réduit : aucun mouvement, chaque bloc directement dans son état final. Les onglets restent utilisables. */
@media(prefers-reduced-motion:reduce){
 .bk *,.bk *::before,.bk *::after{transition:none!important;animation:none!important}
 .bk-js .bk-rv,.bk-js .bk-screen,.bk-js .bk-line,.bk-js .bk-stay{opacity:1!important;transform:none!important}
 .bk-js .bk-trace,.bk-js .bk-line path,.bk-js .bk-rv .bk-x,.bk-js .bk-org .bk-lk{stroke-dashoffset:0!important}
 .bk-js .bk-org .bk-dot{fill:var(--gigets-ink)!important}
 .bk-js .bk-say .bk-w{color:var(--gigets-ink)!important}
 .bk-js .bk-more i{transform:none!important}
}

/* ===== Longs documents : sommaire qui suit la lecture et chapitres numérotés (About en premier, 5 octobre 2026) ===== */
.bk-hero-doc{padding:72px 0 88px}
.bk-hero.bk-hero-doc .bk-wrap{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:40px}
.bk .bk-mission{font:400 clamp(38px,4.9vw,70px)/1.02 var(--gigets-font-display);letter-spacing:-.03em;color:var(--gigets-ink)}
.bk-hero-doc .bk-lede{font-size:22px;margin-top:30px;max-width:none}

/* Chemin qui se trace entre deux personnes. Dégradé autorisé ici, même exception que sur l'accueil. */
.bk-path{width:100%;max-width:460px;display:block;margin:0 auto;overflow:visible}
.bk-pn{fill:var(--gigets-paper);stroke:var(--gigets-ink);stroke-width:1.5}
.bk-pl{fill:none;stroke:var(--gigets-rule);stroke-width:1}
.bk-pp{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.bk-pe{fill:var(--gigets-ink);stroke:var(--gigets-ink);stroke-width:1.5}
.bk-g1{stop-color:var(--gigets-ember)}.bk-g2{stop-color:var(--gigets-crimson)}.bk-g3{stop-color:var(--gigets-magenta)}
.bk-js .bk-pp{stroke-dashoffset:1;transition:stroke-dashoffset 2.2s var(--bk-pen) .7s}
.bk-js .bk-path.bk-in .bk-pp{stroke-dashoffset:0}
.bk-js .bk-pe2{transform-box:fill-box;transform-origin:center;transform:scale(.55);transition:transform .5s var(--bk-out) 2.7s}
.bk-js .bk-path.bk-in .bk-pe2{transform:none}

/* Sommaire : colonne qui suit sur ordinateur. Le trait de progression est porté par --bk-p, que pose le script. */
.bk-doc{border-top:var(--gigets-hairline)}
.bk-doc>.bk-wrap{display:grid;grid-template-columns:230px minmax(0,1fr);gap:72px;align-items:start}
.bk-index{position:sticky;top:calc(var(--site-head,0px) + 28px);padding:44px 0 40px}
.bk .bk-index-title{margin-bottom:18px}
.bk-index-bar{display:none}
.bk-index-list{list-style:none;margin:0;padding:0 0 0 18px;position:relative}
.bk-index-list::before,.bk-index-list::after{content:"";position:absolute;left:0;top:4px;bottom:4px;width:1px;background:var(--gigets-rule)}
.bk-index-list::after{background:var(--gigets-ink);transform-origin:top;transform:scaleY(var(--bk-p,0))}
.bk .bk-index-list a{display:block;text-decoration:none;font-size:14.5px;line-height:1.3;color:var(--gigets-mute);padding:7px 0;transition:color .2s,transform .25s}
.bk .bk-index-list a:hover{color:var(--gigets-ink)}
.bk .bk-index-list a[aria-current]{color:var(--gigets-ink);font-weight:600;transform:translateX(4px)}
.bk-chevron{width:12px;height:12px;stroke-width:1.6;transition:transform .25s}

/* Chapitres. L'en-tête du site reste collé en haut de l'écran ; sa hauteur est --site-head, écrite dans site-pages.css.
   Un retrait global en haut des ancres ferait sauter la page dès qu'un élément collé reçoit le focus : il n'y en a pas,
   et chaque chapitre porte sa marge, hauteur de l'en-tête comprise. Tout ce qui se colle se place sous l'en-tête. */
html.bk-js{scroll-padding-top:0}
.bk-ch{padding:96px 0;border-top:var(--gigets-hairline);scroll-margin-top:calc(var(--site-head,0px) + 20px)}
.bk-chapters>.bk-ch:first-child{border-top:0}
.bk-ch-part{scroll-margin-top:calc(var(--site-head,0px) + 80px)}
/* Le chapitre reçoit le focus à l'arrivée d'un lien du sommaire : ce n'est pas une commande, pas de contour autour de tout le chapitre. */
.bk-ch:focus,.bk-ch-part:focus{outline:none}
.bk .bk-ch-title{font:400 clamp(32px,3.6vw,50px)/1.05 var(--gigets-font-display);letter-spacing:-.02em;margin-top:12px;max-width:none;color:var(--gigets-ink)}
.bk .bk-ch-sub{font-size:clamp(26px,2.6vw,36px);margin-top:10px;color:var(--gigets-body)}
.bk .bk-lead{font:400 clamp(24px,2.5vw,32px)/1.2 var(--gigets-font-display);margin-top:36px;max-width:720px;color:var(--gigets-ink)}
.bk-txt{max-width:660px;margin-top:28px}
.bk .bk-txt p{font-size:18px;line-height:1.55;color:var(--gigets-body);margin-bottom:22px}
.bk .bk-txt p:last-child{margin-bottom:0}
.bk dfn.noun{font-style:normal;font-weight:600;color:var(--gigets-ink)}
.bk-long .bk-say{font-size:clamp(28px,3.4vw,46px);margin-top:48px;max-width:800px}
.bk .bk-ch .bk-mission{margin-top:28px}
/* Passage souligné : un filet Ink de 1 px qui se trace sous les mots. */
.bk-hl{color:var(--gigets-ink);padding-bottom:2px;background:linear-gradient(var(--gigets-ink),var(--gigets-ink)) no-repeat 0 100%/100% 1px}
.bk-js .bk-rv .bk-hl{background-size:0% 1px;transition:background-size 1.1s var(--bk-pen) .2s}
.bk-js .bk-rv.bk-in .bk-hl{background-size:100% 1px}

/* Trois tuiles, trois raisons numérotées, trait entre deux dates */
.bk-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 0;padding:0;list-style:none}
.bk-trio>li{border:var(--gigets-hairline);background:var(--gigets-card);padding:22px;font:400 22px/1.2 var(--gigets-font-display);color:var(--gigets-ink);min-height:120px;display:flex;align-items:flex-end;transition:border-color .25s,transform .35s var(--bk-out)}
.bk-why{list-style:none;margin:20px 0 0;padding:0;max-width:760px}
.bk-why>li{display:grid;grid-template-columns:56px minmax(0,1fr);padding:22px 0;border-top:var(--gigets-hairline);font-size:18px;line-height:1.55;color:var(--gigets-body)}
.bk-why>li:last-child{border-bottom:var(--gigets-hairline)}
.bk-why-n{font:400 var(--gigets-data-size)/1.5 var(--gigets-font-data);color:var(--gigets-mute);padding-top:5px}
.bk-years{margin:44px 0 0;max-width:760px}
.bk-years-line{position:relative;height:1px;background:var(--gigets-rule)}
.bk-years-line::after{content:"";position:absolute;inset:0;background:var(--gigets-ink);transform-origin:left}
.bk-js .bk-years-line::after{transform:scaleX(0);transition:transform 1.6s var(--bk-pen) .3s}
.bk-js .bk-years.bk-in .bk-years-line::after{transform:scaleX(1)}
.bk-years-ends{display:flex;justify-content:space-between;margin-top:12px;font:400 15px/1.4 var(--gigets-font-data);color:var(--gigets-ink)}

/* Étapes sur une ligne qui se remplit, petit téléphone qui perd sa couleur */
.bk-steps{position:relative;list-style:none;margin:40px 0 0;padding:0 0 0 44px;max-width:1000px}
.bk-steps::before,.bk-steps::after{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:1px;background:var(--gigets-rule)}
.bk-steps::after{background:var(--gigets-ink);transform-origin:top}
.bk-js .bk-steps::after{transform:scaleY(var(--bk-p,0))}
.bk-step{position:relative;padding:0 0 44px;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:40px;align-items:start}
.bk-step:last-child{padding-bottom:0}
.bk-step::before{content:"";position:absolute;z-index:1;left:-44px;top:6px;width:17px;height:17px;border-radius:50%;background:var(--gigets-ink);border:1.5px solid var(--gigets-ink);transition:background-color .3s}
.bk-js .bk-step:not(.bk-on)::before{background:var(--gigets-paper)}
.bk .bk-step p{font-size:18px;line-height:1.55;color:var(--gigets-body);max-width:600px}
/* --bk-c vaut 1 quand la couleur est là, 0 quand elle est partie. Sans script, elle est partie : c'est l'état final. */
.bk-mini{position:relative;width:200px;aspect-ratio:200/330;justify-self:end;margin-top:-6px;--bk-c:0}
.bk-js .bk-mini{--bk-c:1}
.bk-mini-frame{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;fill:none;stroke:var(--gigets-ink);stroke-width:1.5}
.bk-mini-screen{position:absolute;inset:8px;border:var(--gigets-hairline);border-radius:24px;background:var(--gigets-card);padding:44px 14px 14px;display:flex;flex-direction:column;gap:12px;overflow:hidden}
.bk-mini-band,.bk-mini-cta{position:relative;background:var(--gigets-ink)}
.bk-mini-band{height:74px}
.bk-mini-cta{margin-top:auto;height:38px}
.bk-mini-band i,.bk-mini-cta i{position:absolute;inset:0;background:var(--gigets-gradient);opacity:var(--bk-c)}
.bk-mini-row{display:flex;align-items:center;gap:8px}
.bk-mini-dot{flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--gigets-ink)}
.bk-mini-bar{flex:1;height:8px;background:var(--gigets-sunken)}
.bk-mini-chip{align-self:flex-start;margin-top:2px;border:1px solid var(--gigets-ink);padding:5px 8px;font:400 10px/1.4 var(--gigets-font-data);letter-spacing:.1em;text-transform:uppercase;color:var(--gigets-ink);opacity:calc(1 - var(--bk-c))}

/* Boucle qui se ferme. --bk-o vaut 1 quand elle est ouverte, 0 quand elle est fermée. */
.bk-loopbox{display:grid;grid-template-columns:200px minmax(0,1fr);gap:48px;align-items:center;margin-top:44px}
.bk-loop{width:200px;height:200px;display:block;overflow:visible}
.bk-lbg,.bk-lfg{fill:none;stroke-width:1.5}
.bk-lbg{stroke:var(--gigets-rule)}
.bk-lfg{stroke:var(--gigets-ink);stroke-dasharray:1;stroke-dashoffset:0;transform:rotate(-90deg);transform-origin:center}
.bk-js .bk-lfg{stroke-dashoffset:var(--bk-o,1)}
.bk-ldot{fill:var(--gigets-ink)}
.bk-long .bk-loopbox .bk-say{margin:0}

/* Chiffres qui comptent */
.bk-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:40px 0 0;padding:0;list-style:none}
.bk-nums>li{display:flex}
.bk-nums>li:nth-child(3n+2){--bk-d:.08s}.bk-nums>li:nth-child(3n){--bk-d:.16s}
.bk-num{width:100%;background:var(--gigets-card);border:var(--gigets-hairline);padding:24px;display:flex;flex-direction:column;min-height:230px;transition:border-color .25s,transform .35s var(--bk-out)}
.bk-fig{font:400 64px/1 var(--gigets-font-data);letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--gigets-ink)}
.bk .bk-num p{margin-top:auto;padding-top:24px;font-size:16.5px;line-height:1.4;color:var(--gigets-body)}

/* Refus numérotés. Sur fond Ink, les rôles s'inversent : texte en Paper, étiquette en Mute sur Ink. */
.bk-nos{list-style:none;margin:40px 0 0;padding:0;border-bottom:var(--gigets-hairline)}
.bk .bk-no{display:grid;grid-template-columns:64px minmax(0,5fr) minmax(0,7fr);gap:8px 24px;align-items:baseline;padding:28px 20px;margin:0 -20px;border-top:var(--gigets-hairline);font-size:18px;line-height:1.55;color:var(--gigets-ink);transition:background-color .3s,color .3s}
.bk-no .bk-label,.bk-no-text,.bk-no dfn.noun{transition:color .3s}
.bk-no strong{font:400 27px/1.15 var(--gigets-font-display)}
.bk-no-text{color:var(--gigets-body)}
.bk .bk-no.bk-on{background:var(--gigets-ink);color:var(--gigets-text-on-ink)}
.bk-no.bk-on .bk-no-text,.bk .bk-no.bk-on dfn.noun{color:var(--gigets-text-on-ink)}
.bk .bk-no.bk-on .bk-label{color:var(--gigets-mute-on-ink)}

/* Mot en très grand, deux cartes, liens de fin en boutons */
.bk .bk-huge{font:400 clamp(68px,10.4vw,150px)/.9 var(--gigets-font-display);letter-spacing:-.04em;margin:28px 0 0 -6px;color:var(--gigets-ink)}
.bk-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:20px}
.bk-two>div{display:flex}
.bk .bk-line2{width:100%;border:1px solid var(--gigets-ink);background:var(--gigets-card);padding:28px;min-height:230px;display:flex;flex-direction:column;color:var(--gigets-ink);transition:background-color .3s,color .3s,transform .35s var(--bk-out)}
.bk-line2 strong{font:400 clamp(28px,3vw,40px)/1.05 var(--gigets-font-display);letter-spacing:-.02em}
.bk-line2 span{margin-top:auto;padding-top:28px;font-size:18px;line-height:1.55;color:var(--gigets-body);transition:color .3s}
.bk .bk-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
.bk .bk-links a{display:inline-flex;align-items:center;gap:14px;border:1px solid var(--gigets-ink);padding:16px 20px;text-decoration:none;font:600 16px/1.4 var(--gigets-font-ui);color:var(--gigets-ink);transition:background-color .25s,color .25s}
.bk-links .bk-arrow{width:13px;height:13px;stroke:currentColor;stroke-width:1.6;transition:transform .25s}

/* Survol : seulement là où un pointeur survole vraiment. */
@media(hover:hover){
 .bk-trio>li:hover,.bk-num:hover{border-color:var(--gigets-ink);transform:translateY(-5px)}
 .bk .bk-line2:hover{background:var(--gigets-ink);color:var(--gigets-text-on-ink);transform:translateY(-5px)}
 .bk-line2:hover span{color:var(--gigets-text-on-ink)}
 .bk .bk-links a:hover{background:var(--gigets-ink);color:var(--gigets-text-on-ink)}
 .bk-links a:hover .bk-arrow{transform:translate(3px,-3px)}
}
@media(hover:hover) and (min-width:981px){
 .bk .bk-no:hover{background:var(--gigets-ink);color:var(--gigets-text-on-ink)}
 .bk-no:hover .bk-no-text,.bk .bk-no:hover dfn.noun{color:var(--gigets-text-on-ink)}
 .bk .bk-no:hover .bk-label{color:var(--gigets-mute-on-ink)}
}

@media(max-width:980px){
 .bk-hero-doc{padding:40px 0 56px}
 .bk-hero.bk-hero-doc .bk-wrap{grid-template-columns:minmax(0,1fr);gap:36px}
 .bk-hero-doc .bk-lede{font-size:19px;margin-top:22px}
 .bk-path{max-width:340px}
 .bk-doc>.bk-wrap{display:block}
 .bk-index{position:static;padding:32px 0 0}
 /* Avec le script : barre collée en haut. Sa place dans la page reste d'une ligne ; le panneau passe par-dessus
    quand le titre prend deux lignes ou que la liste se déplie, sans déplacer la page. */
 .bk-js .bk-index{position:sticky;top:var(--site-head,0px);z-index:20;height:50px;padding:0;margin:0 calc(var(--bk-pad) * -1)}
 /* La barre est déjà à sa place, sous l'en-tête : le focus ne doit pas faire bouger la page pour la montrer. */
 .bk-js .bk-index :where(a,button){scroll-margin-top:0}
 .bk-js .bk-index-title{display:none}
 .bk-js .bk-index-panel{position:absolute;left:0;right:0;top:0;background:var(--gigets-paper);border-bottom:var(--gigets-hairline)}
 .bk-js .bk-index-bar{display:flex;align-items:center;gap:12px;width:100%;min-height:49px;margin:0;padding:14px var(--bk-pad);border:0;border-radius:0;background:none;appearance:none;color:var(--gigets-ink);font:600 15px/1.35 var(--gigets-font-ui);text-align:left;cursor:pointer;position:relative}
 .bk-index-bar .bk-label{flex:none}
 .bk-index-now{flex:1;min-width:0}
 .bk-index-bar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--gigets-ink);transform-origin:left;transform:scaleX(var(--bk-p,0))}
 .bk-index-bar[aria-expanded="true"] .bk-chevron{transform:rotate(180deg)}
 .bk-index-bar:focus-visible{outline-offset:-4px}
 .bk-js .bk-index-list{display:none;max-height:70vh;overflow:auto;padding:0 var(--bk-pad) 12px}
 .bk-js .bk-index.bk-open .bk-index-list{display:block}
 .bk-js .bk-index-list::before,.bk-js .bk-index-list::after{display:none}
 .bk-js .bk-index-list a,.bk-js .bk-index-list a[aria-current]{padding:11px 0;border-top:var(--gigets-hairline);font-size:15px;color:var(--gigets-body);transform:none}
 .bk-js .bk-index-list a[aria-current]{color:var(--gigets-ink)}
 .bk-js .bk-index-list a:focus-visible{outline-offset:-2px}
 .bk-ch{padding:64px 0;scroll-margin-top:calc(var(--site-head,0px) + 60px)}
 .bk-txt{margin-top:22px}
 .bk .bk-txt p,.bk-why>li,.bk .bk-step p,.bk .bk-no,.bk-line2 span{font-size:17px}
 .bk-long .bk-say{margin-top:36px}
 .bk-trio{grid-template-columns:minmax(0,1fr);gap:10px}
 .bk-trio>li{min-height:0;padding:18px 20px;font-size:21px}
 .bk-why>li{grid-template-columns:44px minmax(0,1fr);padding:18px 0}
 .bk-steps{padding-left:36px;margin-top:30px}
 .bk-step{grid-template-columns:minmax(0,1fr);gap:22px;padding-bottom:34px}
 .bk-step::before{left:-36px}
 .bk-mini{justify-self:start;width:176px;margin-top:0}
 .bk-loopbox{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:32px}
 .bk-loop{width:140px;height:140px}
 .bk-nums{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:28px}
 .bk-num{min-height:0;flex-direction:row;align-items:center;gap:18px;padding:18px 20px}
 .bk-fig{font-size:44px;flex:0 0 96px}
 .bk .bk-num p{margin-top:0;padding-top:0;font-size:16px}
 .bk .bk-no{grid-template-columns:44px minmax(0,1fr);gap:8px 0;padding:22px var(--bk-pad);margin:0 calc(var(--bk-pad) * -1)}
 .bk-no strong{grid-column:2;font-size:24px}
 .bk-no-text{grid-column:2}
 .bk-two{grid-template-columns:minmax(0,1fr)}
 .bk .bk-line2{min-height:0;padding:22px 20px}
 .bk .bk-links a{width:100%;justify-content:space-between}
}
/* Mouvement réduit : chaque dessin et chaque trait directement dans son état final. Le sommaire continue de suivre la lecture. */
@media(prefers-reduced-motion:reduce){
 .bk-js .bk-pp,.bk-js .bk-lfg{stroke-dashoffset:0!important}
 .bk-js .bk-pe2,.bk-js .bk-years-line::after,.bk-js .bk-steps::after{transform:none!important}
 .bk-js .bk-rv .bk-hl{background-size:100% 1px!important}
 .bk-js .bk-step::before{background:var(--gigets-ink)!important}
 .bk-js .bk-mini{--bk-c:0}
}

/* ===== Familles et exemples (Use cases en premier, 5 octobre 2026) =====
   Couleurs Gigets demandées pour cette page : dessins tracés en dégradé, carrés aux teintes du dégradé, barre en dégradé
   à gauche de chaque demande, soulignés en dégradé. Plusieurs dégradés par vue : accepté ici par Alexandre. */
.bk-defs{position:absolute}
.bk-ic{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.bk-fam-ico{display:block;overflow:visible}

/* Haut de page : quatre dessins qui se tracent, chacun avec son nom */
.bk-hero.bk-hero-four .bk-wrap{gap:64px}
.bk-hero-four .bk-lede{margin-top:30px;max-width:560px}
.bk-four{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px 28px}
.bk-four>div{display:flex;flex-direction:column;gap:16px}
.bk-four>div:nth-child(1){--bk-d:.3s}.bk-four>div:nth-child(2){--bk-d:.75s}.bk-four>div:nth-child(3){--bk-d:1.2s}.bk-four>div:nth-child(4){--bk-d:1.65s}
.bk-four .bk-fam-ico{width:92px;height:92px}
.bk-four .bk-ic{stroke-width:.9}
.bk-four span{font:400 25px/1.1 var(--gigets-font-display);color:var(--gigets-ink)}
.bk-js .bk-four .bk-ic{stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--bk-pen) var(--bk-d,0s)}
.bk-js .bk-four.bk-in .bk-ic{stroke-dashoffset:0}
.bk-js .bk-four span{opacity:0;transform:translateY(8px);transition:opacity .5s ease calc(var(--bk-d,0s) + .7s),transform .5s ease calc(var(--bk-d,0s) + .7s)}
.bk-js .bk-four.bk-in span{opacity:1;transform:none}

/* Douze carrés qui se remplissent pendant que la phrase s'allume */
.bk-twelve{padding:104px 0;background:var(--gigets-sunken)}
.bk-twelve .bk-say,.bk-last .bk-say{font-size:clamp(30px,4.2vw,58px);line-height:1.08;max-width:900px}
/* Sur fond Sunken, Rule ne se voit presque pas : le gris pâle des mots pas encore allumés est Rule assombri d'un peu d'Ink. */
.bk-js .bk-twelve .bk-say .bk-w{color:color-mix(in srgb,var(--gigets-rule) 93%,var(--gigets-ink))}
.bk-js .bk-twelve .bk-say .bk-w.bk-on{color:var(--gigets-ink)}
.bk-dots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:56px 0 0;padding:0;list-style:none;max-width:900px}
.bk .bk-dots a{display:block;text-decoration:none;color:var(--gigets-ink)}
.bk-dots-head{display:flex;align-items:center;gap:10px;padding-bottom:14px;font:600 16px/1.3 var(--gigets-font-ui)}
.bk-dots .bk-fam-ico{flex:none;width:28px;height:28px}
.bk-dots .bk-ic{stroke:var(--gigets-ink);stroke-width:2.2}
.bk-sq{display:flex;gap:8px}
.bk-sq i{display:block;width:20px;height:20px;border:1px solid var(--bk-tint);background:var(--bk-tint);transition:background-color .35s ease,border-color .35s ease,transform .35s var(--bk-out)}
.bk-js .bk-sq i:not(.bk-on){background:transparent;border-color:var(--gigets-ink)}
/* Chaque carré prend un pas du dégradé, calculé à partir de ses trois jetons : aucune couleur en dur. */
.bk-dots>:nth-child(1){--bk-tint:var(--gigets-ember)}.bk-dots>:nth-child(2),.bk-dots>:nth-child(3){--bk-tint:var(--gigets-crimson)}.bk-dots>:nth-child(4){--bk-tint:var(--gigets-magenta)}
@supports (color:color-mix(in srgb,red,blue)){
 [data-bk="squares"]>:nth-child(1) i:nth-child(2){--bk-tint:color-mix(in srgb,var(--gigets-crimson) 17.5%,var(--gigets-ember))}
 [data-bk="squares"]>:nth-child(1) i:nth-child(3){--bk-tint:color-mix(in srgb,var(--gigets-crimson) 35%,var(--gigets-ember))}
 [data-bk="squares"]>:nth-child(2) i:nth-child(1){--bk-tint:color-mix(in srgb,var(--gigets-crimson) 52.4%,var(--gigets-ember))}
 [data-bk="squares"]>:nth-child(2) i:nth-child(2){--bk-tint:color-mix(in srgb,var(--gigets-crimson) 69.9%,var(--gigets-ember))}
 [data-bk="squares"]>:nth-child(2) i:nth-child(3){--bk-tint:color-mix(in srgb,var(--gigets-crimson) 87.4%,var(--gigets-ember))}
 [data-bk="squares"]>:nth-child(3) i:nth-child(1){--bk-tint:color-mix(in srgb,var(--gigets-magenta) 5.3%,var(--gigets-crimson))}
 [data-bk="squares"]>:nth-child(3) i:nth-child(2){--bk-tint:color-mix(in srgb,var(--gigets-magenta) 24.2%,var(--gigets-crimson))}
 [data-bk="squares"]>:nth-child(3) i:nth-child(3){--bk-tint:color-mix(in srgb,var(--gigets-magenta) 43.2%,var(--gigets-crimson))}
 [data-bk="squares"]>:nth-child(4) i:nth-child(1){--bk-tint:color-mix(in srgb,var(--gigets-magenta) 62.1%,var(--gigets-crimson))}
 [data-bk="squares"]>:nth-child(4) i:nth-child(2){--bk-tint:color-mix(in srgb,var(--gigets-magenta) 81.1%,var(--gigets-crimson))}
 [data-bk="squares"]>:nth-child(4) i:nth-child(3){--bk-tint:var(--gigets-magenta)}
 /* En fin de page, un seul carré coloré par groupe : quatre pas du même dégradé. */
 .bk-dots-end>:nth-child(2) i{--bk-tint:color-mix(in srgb,var(--gigets-crimson) 64.1%,var(--gigets-ember))}
 .bk-dots-end>:nth-child(3) i{--bk-tint:color-mix(in srgb,var(--gigets-magenta) 30.6%,var(--gigets-crimson))}
}
.bk-twelve-txt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 56px;margin-top:56px;max-width:900px}
.bk .bk-twelve-txt p{font-size:18px;line-height:1.5;color:var(--gigets-body)}

/* Filtre collé en haut. Il se colle seulement quand le script tourne ; sans lui, c'est une rangée de boutons. */
.bk-filter{background:var(--gigets-paper);border-bottom:var(--gigets-hairline)}
.bk-js .bk-filter{position:sticky;top:var(--site-head,0px);z-index:20}
.bk-js .bk-filter button{scroll-margin-top:0}
.bk-filter .bk-wrap{display:flex;flex-wrap:wrap;gap:0 28px}
.bk-filter button{appearance:none;margin:0;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:18px 0 16px;font:400 15px/1.4 var(--gigets-font-ui);color:var(--gigets-body);cursor:pointer;transition:color .2s}
.bk-filter button[aria-pressed="true"]{color:var(--gigets-ink);font-weight:600;border-image:var(--gigets-gradient) 1}
.bk-filter button:focus-visible{outline-offset:-2px}

/* Une famille par écran, fond alterné */
.bk-fam{padding:104px 0;scroll-margin-top:calc(var(--site-head,0px) + 58px)}
.bk-fam:focus{outline:none}
.bk-alt{background:var(--gigets-sunken)}
.bk-fam>.bk-wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:64px;align-items:center}
.bk-alt .bk-fam-head{order:2}
/* Sur fond Sunken, Mute ne fait que 4,11 de contraste : les étiquettes passent en Body. */
.bk .bk-alt .bk-label{color:var(--gigets-body)}
.bk-fam-head .bk-fam-ico{width:64px;height:64px;margin-bottom:26px}
.bk-fam-head .bk-ic{stroke-width:1.25}
.bk .bk-fam-title{font:400 clamp(40px,5.4vw,80px)/1 var(--gigets-font-display);letter-spacing:-.03em;margin-top:14px;color:var(--gigets-ink)}
/* Un bouton par exemple. Le souligné en dégradé marque le bouton actif ; pendant l'enchaînement, il se remplit. */
.bk-verbs{display:none;--bk-step:3.6s}
.bk-js .bk-verbs{display:inline-flex;margin-top:40px;border:1px solid var(--gigets-ink);background:var(--gigets-paper)}
.bk-verbs button{appearance:none;margin:0;border:0;border-radius:0;background:none;padding:14px 22px;font:600 16px/1.4 var(--gigets-font-ui);color:var(--gigets-ink);white-space:nowrap;cursor:pointer;position:relative;transition:background-color .25s,color .25s}
.bk-verbs button[aria-selected="true"]{background:var(--gigets-ink);color:var(--gigets-paper)}
.bk-verbs button:focus-visible{outline:2px solid var(--gigets-crimson);outline-offset:3px;z-index:1}
.bk-verbs button::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--gigets-gradient);transform:scaleX(0);transform-origin:left}
.bk-verbs button[aria-selected="true"]::after{transform:scaleX(1)}
.bk-verbs.bk-auto button[aria-selected="true"]::after{animation:bk-fill var(--bk-step) linear both}
@keyframes bk-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Un exemple : la demande en grand, puis la réponse avec sa coche. Sans script, les exemples se suivent. */
.bk-stage{width:100%;max-width:560px}
.bk-alt .bk-stage{margin-left:auto}
.bk-ex+.bk-ex{margin-top:56px}
.bk-js .bk-stage{display:grid}
.bk-js .bk-ex{grid-area:1/1;min-height:330px;margin-top:0;visibility:hidden;opacity:0;transition:opacity .3s ease,visibility 0s .3s}
.bk-js .bk-ex.bk-on{visibility:visible;opacity:1;transition:opacity .3s ease,visibility 0s}
.bk .bk-ex .bk-label{margin-bottom:22px}
.bk-ask{margin:0;padding:4px 0 4px 28px;position:relative;font:400 clamp(26px,2.9vw,40px)/1.14 var(--gigets-font-display);letter-spacing:-.015em;color:var(--gigets-ink)}
/* Barre de 4 px, la largeur des marqueurs d'état de la charte. */
.bk-ask::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gigets-gradient)}
.bk .bk-got{display:flex;align-items:flex-start;gap:14px;margin:40px 0 0 28px;padding-top:18px;border-top:1px solid var(--gigets-ink);font-size:20px;line-height:1.4;color:var(--gigets-ink)}
/* Coche verte : l'aide a été rendue. */
.bk-got .bk-i{width:24px;height:24px;margin-top:2px;stroke:var(--gigets-verdigris);stroke-width:2.2}
/* Exemple discret : trait en pointillés, pas de coche, sa note en dessous. */
.bk-quiet .bk-got{border-top-style:dashed}
.bk .bk-aside{margin:18px 0 0 28px;max-width:460px;font-size:15px;line-height:1.5;color:var(--gigets-body)}
.bk-js .bk-ex .bk-ask{opacity:0;transform:translateY(14px)}
.bk-js .bk-ex .bk-got{opacity:0;transform:translateY(18px)}
.bk-js .bk-ex .bk-got path{stroke-dasharray:1;stroke-dashoffset:1}
.bk-js .bk-ex .bk-aside{opacity:0}
.bk-js .bk-fam.bk-in .bk-ex.bk-on .bk-ask{opacity:1;transform:none;transition:opacity .5s ease .15s,transform .5s var(--bk-out) .15s}
.bk-js .bk-fam.bk-in .bk-ex.bk-on .bk-got{opacity:1;transform:none;transition:opacity .5s ease .95s,transform .5s var(--bk-out) .95s}
.bk-js .bk-fam.bk-in .bk-ex.bk-on .bk-got path{stroke-dashoffset:0;transition:stroke-dashoffset .45s ease 1.35s}
.bk-js .bk-fam.bk-in .bk-ex.bk-on .bk-aside{opacity:1;transition:opacity .6s ease 1.5s}

/* Fin : la phrase qui s'allume, et le dernier carré de chaque groupe qui se colore */
.bk-last{padding:120px 0 112px}
.bk-last>.bk-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:72px;align-items:center}
.bk-dots-end{grid-template-columns:repeat(2,auto);gap:22px 34px;justify-content:start;margin:0;max-width:none}
.bk-dots-end i{width:26px;height:26px}
.bk-dots-end i:not(:last-child),.bk-js .bk-dots-end i:not(:last-child){background:transparent;border-color:var(--gigets-ink)}

@media(hover:hover){.bk-dots a:hover i{transform:translateY(-4px)}}
@media(max-width:980px){
 .bk-hero.bk-hero-four .bk-wrap{grid-template-columns:minmax(0,1fr);gap:44px}
 .bk-hero-four .bk-lede{font-size:19px;margin-top:22px}
 .bk-four{gap:34px 20px}
 .bk-four .bk-fam-ico{width:68px;height:68px}
 .bk-four .bk-ic{stroke-width:1}
 .bk-four span{font-size:21px}
 .bk-twelve{padding:72px 0}
 .bk-dots{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px;margin-top:40px}
 .bk-dots-head{font-size:15px}
 .bk-twelve-txt{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:40px}
 .bk .bk-twelve-txt p{font-size:17px}
 .bk-fam{padding:64px 0}
 .bk-fam>.bk-wrap{grid-template-columns:minmax(0,1fr);gap:40px}
 .bk-alt .bk-fam-head{order:0}
 .bk-alt .bk-stage{margin-left:0}
 .bk-fam-head .bk-fam-ico{width:48px;height:48px;margin-bottom:18px}
 .bk-fam-head .bk-ic{stroke-width:1.5}
 .bk-js .bk-verbs{display:flex;margin-top:28px}
 .bk-verbs button{flex:1;padding:14px 6px;font-size:15px;text-align:center}
 .bk-js .bk-ex{min-height:300px}
 .bk-ask{padding:2px 0 2px 20px}
 .bk .bk-got{margin:28px 0 0 20px;padding-top:16px;font-size:17.5px}
 .bk .bk-aside{margin-left:20px}
 .bk-last{padding:72px 0}
 .bk-last>.bk-wrap{grid-template-columns:minmax(0,1fr);gap:36px}
 .bk-dots-end{grid-template-columns:repeat(2,auto)}
}
/* Téléphone : le filtre passe sur deux lignes, plus serré, pour qu'aucun libellé ne soit coupé. */
@media(max-width:600px){
 .bk-filter .bk-wrap{gap:0 14px}
 .bk-filter button{padding:10px 0 8px;font-size:13px}
 .bk-fam{scroll-margin-top:calc(var(--site-head,0px) + 84px)}
}
/* Mouvement réduit : rien ne s'enchaîne tout seul, chaque dessin et chaque exemple affiché est dans son état final. */
@media(prefers-reduced-motion:reduce){
 .bk-js .bk-four .bk-ic,.bk-js .bk-ex.bk-on .bk-got path{stroke-dashoffset:0!important}
 .bk-js .bk-four span,.bk-js .bk-ex.bk-on .bk-ask,.bk-js .bk-ex.bk-on .bk-got,.bk-js .bk-ex.bk-on .bk-aside{opacity:1!important;transform:none!important}
}

/* ===== Lignes à carré de couleur : page d'entrée et documents Legal (5 octobre 2026) =====
   Une teinte du dégradé par ligne, d'Ember à Magenta, posée par la page depuis les jetons (--bk-tint).
   Acceptés ici par Alexandre, d'après les maquettes validées : deux dégradés par vue (le soulignement du grand titre
   et la ligne de progression), des titres plus grands que le D1, un soulignement de 6 px, une ligne de progression
   de 3 px et une barre de couleur de 6 px. Le focus est un contour, jamais une ombre ; les carrés arrivent sans rebond. */
.bk-top{padding:40px 0 64px}
.bk-top-entry{padding:72px 0 56px}
.bk .bk-back{margin-bottom:26px}
.bk .bk-back a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:400 var(--gigets-label-size)/1.5 var(--gigets-font-data);letter-spacing:.12em;text-transform:uppercase;color:var(--gigets-mute);transition:color .2s}
.bk .bk-back a:hover{color:var(--gigets-ink)}
.bk-back-i{width:12px;height:12px;stroke:currentColor;stroke-width:1.5}
/* Très grand titre : la taille de la maquette, ramenée à ce que tient son mot le plus long (--bk-fit, en lettres moyennes),
   pour qu'aucun mot ne soit coupé ni ne sorte de l'écran. Un titre long passe sur deux lignes. */
.bk .bk-giant{display:inline-block;position:relative;max-width:100%;margin:0 0 0 -.03em;padding-bottom:.26em;font:400 var(--bk-size)/.92 var(--gigets-font-display);letter-spacing:-.04em;color:var(--gigets-ink);
 --bk-size:min(128px,max(52px,8.4vw),calc((min(100vw,1280px) - 2 * var(--bk-pad)) / (var(--bk-fit) * .56)))}
.bk .bk-top-entry .bk-giant{margin-left:-.04em;padding-bottom:.3em;line-height:.86;letter-spacing:-.045em;
 --bk-size:min(220px,max(84px,15vw),calc((min(100vw,1280px) - 2 * var(--bk-pad)) / (var(--bk-fit) * .56)))}
.bk-giant::after{content:"";position:absolute;left:.03em;right:0;bottom:0;height:6px;background:var(--gigets-gradient);transform-origin:left}
.bk-js .bk-giant.bk-rv::after{transform:scaleX(0);transition:transform 1.1s var(--bk-pen) .45s}
.bk-js .bk-giant.bk-in::after{transform:scaleX(1)}
/* Sous le titre d'un document : la ligne de version, puis les paragraphes d'ouverture, tels quels. */
.bk-opening{margin-top:36px;max-width:640px}
.bk .bk-version{font:400 var(--gigets-data-size)/1.5 var(--gigets-font-data);color:var(--gigets-mute)}
.bk .bk-opening p+p{margin-top:16px}
.bk .bk-opening p:not(.bk-version){font-size:20px;line-height:1.5;color:var(--gigets-body)}

.bk-rows{list-style:none;margin:0;padding:0}
.bk-mark{display:block;width:14px;height:14px;background:var(--bk-tint)}
/* Le carré grandit sur place. Dans un document il apparaît lui-même, la ligne ne bouge pas : elle est la cible du sommaire. */
.bk-js .bk-rv .bk-mark,.bk-js .bk-mark.bk-rv{opacity:1;transform:scale(0);transition:transform .4s var(--bk-out) calc(var(--bk-d,0s) + .25s)}
.bk-js .bk-rv.bk-in .bk-mark,.bk-js .bk-mark.bk-rv.bk-in{transform:scale(1)}

/* Page d'entrée : une ligne par document, toute la ligne est le lien. Au survol et au focus clavier, la ligne passe
   en Card, une barre de sa teinte descend à gauche, le carré s'efface et la flèche avance. */
.bk-entry{padding-bottom:104px}
.bk-rows-links{border-top:1px solid var(--gigets-ink)}
.bk-rows-links>li{border-bottom:var(--gigets-hairline)}
.bk .bk-rowlink{display:grid;grid-template-columns:22px 56px minmax(0,5fr) minmax(0,5fr) 32px;gap:0 20px;align-items:center;padding:30px 20px 30px 0;position:relative;text-decoration:none;color:var(--gigets-ink);transition:background-color .3s,padding .35s var(--bk-out)}
.bk-rowlink::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--bk-tint);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--bk-out)}
.bk .bk-rowlink .bk-row-title{font:400 clamp(28px,3.4vw,46px)/1.05 var(--gigets-font-display);letter-spacing:-.02em;color:var(--gigets-ink)}
.bk .bk-row-text{font-size:19px;line-height:1.5;color:var(--gigets-body)}
.bk-rowlink .bk-arrow{width:22px;height:22px;justify-self:end;stroke-width:1;transition:transform .3s var(--bk-out),stroke .3s}
.bk .bk-rowlink:focus-visible{background:var(--gigets-card);padding-left:26px;outline:2px solid var(--gigets-crimson);outline-offset:-2px}
.bk-rowlink:focus-visible::before{transform:scaleY(1)}
.bk-rowlink:focus-visible .bk-mark,.bk-js .bk-rv.bk-in .bk-rowlink:focus-visible .bk-mark{transform:scale(0);transition-delay:0s}
.bk-rowlink:focus-visible .bk-arrow{transform:translate(4px,-4px);stroke:var(--bk-tint)}
@media(hover:hover){
 .bk .bk-rowlink:hover{background:var(--gigets-card);padding-left:26px}
 .bk-rowlink:hover::before{transform:scaleY(1)}
 .bk-rowlink:hover .bk-mark,.bk-js .bk-rv.bk-in .bk-rowlink:hover .bk-mark{transform:scale(0);transition-delay:0s}
 .bk-rowlink:hover .bk-arrow{transform:translate(4px,-4px);stroke:var(--bk-tint)}
}

/* Document : sommaire à gauche, articles en lignes. Carré, numéro, titre à gauche, texte à droite. */
.bk-doc-rows{border-top:0;padding-bottom:104px}
.bk-doc.bk-doc-rows>.bk-wrap{display:block}
.bk-lay{display:grid;grid-template-columns:230px minmax(0,1fr);gap:72px;align-items:start;border-top:1px solid var(--gigets-ink)}
.bk-lay-full{grid-template-columns:minmax(0,1fr)}
.bk-row{display:grid;grid-template-columns:22px 44px minmax(0,4fr) minmax(0,7fr);gap:0 18px;padding:40px 0;border-bottom:var(--gigets-hairline);scroll-margin-top:calc(var(--site-head,0px) + 20px);--bk-indent:0px}
/* Document dont les titres portent déjà leur numéro : pas de colonne de numéro. */
.bk-rows-bare .bk-row{grid-template-columns:22px minmax(0,4fr) minmax(0,7fr)}
.bk-row:focus{outline:none}
.bk-row>.bk-mark{margin-top:13px}
.bk .bk-row>.bk-label{margin-top:13px}
.bk .bk-row>.bk-row-title{font:400 clamp(26px,2.6vw,36px)/1.1 var(--gigets-font-display);letter-spacing:-.02em;color:var(--gigets-ink)}
.bk-row-body{min-width:0}
.bk-row-end>.bk-row-body{grid-column:-2/-1}
.bk .bk-row-body p{margin:6px 0 18px;max-width:600px;font-size:18px;line-height:1.55;color:var(--gigets-body)}
.bk .bk-row-body a{color:var(--gigets-ink);text-decoration-thickness:1px;text-underline-offset:4px}
.bk .bk-row-body strong{font-weight:600;color:var(--gigets-ink)}
/* Dans un texte juridique, un terme du produit garde la graisse de sa phrase, comme avant la refonte. */
.bk-legal dfn.noun{font-weight:inherit;color:inherit}
/* Liste : une ligne par élément, un filet entre deux, pas de puce ronde. Le caractère vide garde à la liste son rôle
   pour les lecteurs d'écran qui le retirent aux listes sans puce. */
.bk .bk-row-body ul,.bk .bk-row-body ol{list-style:none;margin:6px 0 18px;padding:0;max-width:600px;border-top:var(--gigets-hairline)}
.bk .bk-row-body li{padding:12px 0;border-bottom:var(--gigets-hairline);font-size:18px;line-height:1.5;color:var(--gigets-body)}
.bk-row-body li::before{content:"\200B"}
/* Tableau : il garde ses colonnes. S'il ne tient pas en largeur, il défile dans son cadre, jamais la page. */
.bk-table{margin:6px 0 18px;max-width:100%;overflow-x:auto}
.bk .bk-table table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.45;color:var(--gigets-body)}
.bk .bk-table th,.bk .bk-table td{padding:12px 16px 12px 0;text-align:left;vertical-align:top;border-bottom:var(--gigets-hairline)}
.bk .bk-table th:last-child,.bk .bk-table td:last-child{padding-right:0}
.bk .bk-table th{font-weight:600;color:var(--gigets-ink);border-bottom:1px solid var(--gigets-ink)}
.bk-table:focus-visible{outline:2px solid var(--gigets-crimson);outline-offset:2px}
.bk .bk-row-body>:last-child{margin-bottom:0}
/* Ligne de progression en dégradé, 3 px, demandée pour Legal. */
.bk-legal .bk-index-list::after{left:-1px;width:3px;background:var(--gigets-gradient)}
/* Sans color-mix, chaque ligne prend la teinte du milieu du dégradé. */
@supports not (color:color-mix(in srgb,red,blue)){.bk-mark,.bk-rowlink::before{background:var(--gigets-crimson)}}

@media(max-width:980px){
 .bk-top{padding:26px 0 40px}
 .bk .bk-back{margin-bottom:18px}
 .bk-opening{margin-top:26px}
 .bk .bk-opening p:not(.bk-version){font-size:18px}
 .bk-doc-rows{padding-bottom:64px}
 .bk-lay{display:block}
 .bk-legal .bk-index-bar::after{height:3px;bottom:-2px;background:var(--gigets-gradient)}
 .bk-row{grid-template-columns:18px 34px minmax(0,1fr);gap:0 12px;padding:30px 0;scroll-margin-top:calc(var(--site-head,0px) + 60px);--bk-indent:76px}
 .bk-rows-bare .bk-row{grid-template-columns:18px minmax(0,1fr);--bk-indent:30px}
 .bk-row>.bk-mark{width:12px;height:12px;margin-top:10px}
 .bk .bk-row>.bk-label{margin-top:9px}
 .bk-row>.bk-row-body{grid-column:-2/-1;margin-top:10px}
 .bk .bk-row-body p,.bk .bk-row-body li{font-size:17px}
 /* Le tableau sort de la colonne de texte et prend toute la largeur de la ligne. */
 .bk-table{width:calc(100% + var(--bk-indent));max-width:none;margin-left:calc(var(--bk-indent) * -1)}
 .bk .bk-table table{font-size:15px}
 .bk .bk-table th,.bk .bk-table td{padding:10px 12px 10px 0}
}
@media(max-width:860px){
 .bk-top-entry{padding:40px 0 36px}
 .bk-top-entry .bk-giant::after{height:5px}
 .bk-entry{padding-bottom:64px}
 .bk .bk-rowlink{grid-template-columns:18px 34px minmax(0,1fr) 22px;gap:4px 12px;align-items:start;padding:22px 8px 22px 0}
 .bk-rowlink .bk-mark{width:12px;height:12px;margin-top:9px}
 .bk .bk-rowlink .bk-label{margin-top:8px}
 .bk .bk-row-text{grid-column:3;font-size:17px}
 .bk-rowlink .bk-arrow{grid-row:1;grid-column:4;width:18px;height:18px;margin-top:6px}
 .bk .bk-rowlink:focus-visible{padding-left:16px}
}
@media(hover:hover) and (max-width:860px){.bk .bk-rowlink:hover{padding-left:16px}}
/* Mouvement réduit : le soulignement et les carrés sont là d'emblée. */
@media(prefers-reduced-motion:reduce){
 .bk-js .bk-giant::after,.bk-js .bk-rv .bk-mark,.bk-js .bk-mark.bk-rv{transform:none!important}
}

/* ===== Personnes et régions (Community en premier, 6 octobre 2026) =====
   Une personne est un point rond : c'est la seule forme ronde que la charte admet, et son rayon vient du jeton prévu
   pour elle. Une teinte du dégradé par région, d'Ember à Magenta, posée par la page depuis les jetons (--bk-tint).
   Acceptés ici par Alexandre, d'après la maquette validée : le soulignement de l'adresse en dégradé de 4 px, la barre
   de couleur de 6 px, et les deux dégradés visibles ensemble en bas de page. Aucun rebond, aucune ombre. */
.bk-intro{padding:72px 0 88px}
.bk .bk-intro h1{margin-bottom:28px}
.bk .bk-intro .bk-big{font-size:clamp(38px,5.6vw,var(--gigets-d1));line-height:1;letter-spacing:-.03em;max-width:1040px}
.bk-intro-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;margin-top:64px}
.bk .bk-intro .bk-say{font-size:clamp(26px,2.9vw,40px);line-height:1.12;max-width:none}
.bk .bk-intro-text p,.bk .bk-intro-solo p{font-size:20px;line-height:1.5;color:var(--gigets-body);max-width:520px}
/* Sans phrase qui s'allume (en français), le paragraphe reste entier, seul sous la grande phrase. */
.bk-intro-solo{margin-top:64px}
.bk .bk-intro-solo p{max-width:640px}

.bk-person{display:block;width:16px;height:16px;border-radius:var(--gigets-radius-avatar);background:var(--bk-tint);position:relative}
.bk-regs-band{background:var(--gigets-sunken);padding:88px 0 96px}
.bk-regs{list-style:none;margin:0;padding:0;border-top:1px solid var(--gigets-ink)}
.bk-reg{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 28px;align-items:start;padding:34px 28px 34px 26px;border-bottom:var(--gigets-hairline);position:relative;transition:background-color .3s}
.bk-reg::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--bk-tint);transform:scaleY(0);transform-origin:top;transition:transform .4s var(--bk-out)}
.bk-people{display:flex;gap:8px;padding-top:15px}
.bk .bk-reg-main{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0 28px;align-items:start;font-size:19px;line-height:1.5;color:var(--gigets-body)}
/* Le nom de la région : du gras en anglais, un titre en français, la même allure. */
.bk .bk-reg-main strong,.bk .bk-reg-main h2{font:400 clamp(28px,3.3vw,46px)/1.04 var(--gigets-font-display);letter-spacing:-.025em;color:var(--gigets-ink)}
.bk .bk-reg-t,.bk .bk-reg-main>p{padding-top:10px;max-width:560px;font-size:19px;line-height:1.5;color:var(--gigets-body)}
/* La ligne active, une seule à la fois, choisie par le script : fond Paper, barre de sa teinte, point un peu plus gros
   avec un anneau qui part une fois. */
.bk-reg.bk-on{background:var(--gigets-paper)}
.bk-reg.bk-on::before{transform:scaleY(1)}
.bk-reg:focus-visible{outline:2px solid var(--gigets-crimson);outline-offset:-2px}
.bk-js .bk-regs .bk-person{transform:scale(0);transition:transform .5s var(--bk-out) var(--bk-d,0s)}
.bk-js .bk-regs.bk-in .bk-person{transform:scale(1)}
.bk-js .bk-regs.bk-in .bk-on .bk-person{transform:scale(1.3);transition-delay:0s}
.bk-regs .bk-person::after{content:"";position:absolute;inset:-2px;border-radius:var(--gigets-radius-avatar);border:1.5px solid var(--bk-tint);opacity:0}
.bk-regs .bk-on .bk-person::after{animation:bk-ring 1.2s ease-out 1}
@keyframes bk-ring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3)}}

/* Phrase de fin, et les huit points repris dessous, chacun de la teinte de sa région. */
.bk-end{padding:112px 0}
.bk .bk-end .bk-say{font-size:clamp(30px,4.2vw,58px);line-height:1.08;max-width:1040px}
.bk-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.bk-chips .bk-person{width:22px;height:22px}
.bk-js .bk-chips .bk-person{transform:scale(0);transition:transform .5s var(--bk-out) var(--bk-d,0s)}
.bk-js .bk-chips.bk-in .bk-person{transform:scale(1)}

/* Dernière phrase : l'adresse soulignée en dégradé, telle qu'elle est dans le texte (lien ou non).
   Le trait de 4 px passe sous les jambages et ne touche pas la ligne suivante : il descend de quelques pixels, et
   l'interligne de la phrase grandit d'une hauteur fixe, la même à toutes les tailles, puisque le trait ne change pas. */
.bk-reach{background:var(--gigets-sunken);padding:104px 0}
.bk .bk-reach-p{font:400 clamp(28px,3.6vw,50px)/1.1 var(--gigets-font-display);line-height:calc(1.1em + 8px);letter-spacing:-.02em;color:var(--gigets-ink);max-width:980px}
.bk-mail{padding-bottom:calc(.06em + 5px);background:var(--gigets-gradient) no-repeat 0 100%/100% 4px}
.bk .bk-mail a{color:inherit;text-decoration:none}
.bk .bk-mail a:focus-visible{outline:2px solid var(--gigets-crimson);outline-offset:6px}
.bk-js .bk-rv .bk-mail{background-size:0% 4px;transition:background-size 1.1s var(--bk-pen) .4s}
.bk-js .bk-rv.bk-in .bk-mail{background-size:100% 4px}

@media(max-width:980px){
 .bk-intro{padding:40px 0 64px}
 .bk .bk-intro h1{margin-bottom:18px}
 .bk-intro-cols{grid-template-columns:minmax(0,1fr);gap:26px;margin-top:40px}
 .bk-intro-solo{margin-top:40px}
 .bk .bk-intro-text p,.bk .bk-intro-solo p{font-size:18px}
 .bk-regs-band{padding:56px 0 64px}
 .bk-reg{grid-template-columns:44px minmax(0,1fr);gap:0 12px;padding:26px 14px 26px 20px}
 .bk-people{gap:5px;padding-top:9px}
 .bk-regs .bk-person{width:12px;height:12px}
 /* Au téléphone, la phrase passe sous le nom. */
 .bk .bk-reg-main{grid-template-columns:minmax(0,1fr)}
 .bk .bk-reg-main,.bk .bk-reg-t,.bk .bk-reg-main>p{font-size:17px}
 .bk-end{padding:72px 0}
 .bk-chips .bk-person{width:18px;height:18px}
 .bk-reach{padding:72px 0}
}
/* Mouvement réduit : tout est là d'emblée. La ligne active reste marquée, d'un coup : fond, barre, point plus gros
   et anneau fixe. */
@media(prefers-reduced-motion:reduce){
 .bk-js .bk-rv .bk-mail{background-size:100% 4px!important}
 .bk-regs .bk-on .bk-person::after{opacity:.9;inset:-5px}
}

/* ===== Chapitres (Events en premier, 6 octobre 2026) =====
   Une grande phrase d'ouverture dont la fin est soulignée en dégradé, puis des chapitres : un carré de couleur devant
   chaque titre, une teinte du dégradé par chapitre, d'Ember à Magenta, posée par la page depuis les jetons (--bk-tint).
   Acceptés ici par Alexandre, d'après la maquette validée, comme pour Legal : deux dégradés visibles en haut de page
   (la marque et le soulignement), une grande phrase plus grande que le D1, des barres de 6 px, des soulignements de
   4 px, et deux chiffres d'habillage dont un en Ember, jamais sous 32 px. Aucune ombre, aucun rebond, angles droits :
   les seuls ronds sont les quatre points des personnes. */
.bk-intro-ev{padding-bottom:104px}
.bk .bk-intro-ev .bk-big{font-size:clamp(46px,7.6vw,116px);line-height:.96;letter-spacing:-.035em;max-width:none}
/* Fin de la grande phrase, soulignée en dégradé. Courte, elle tient sur la dernière ligne : rien ne passe dessous. */
.bk-ug{white-space:nowrap;padding-bottom:.1em;background:var(--gigets-gradient) no-repeat 0 100%/100% 6px}
/* Longue (en français), elle passe à la ligne et chaque ligne est soulignée. Le trait descend sous les jambages et
   l'interligne grandit d'une hauteur fixe, pour qu'il ne touche pas non plus les accents de la ligne suivante. */
.bk .bk-intro-ev .bk-big-loose{line-height:calc(1em + 12px)}
.bk-ug-long{white-space:normal;padding-bottom:9px}
.bk-nb{white-space:nowrap}
.bk-js .bk-rv .bk-ug{background-size:0% 6px;transition:background-size 1.1s var(--bk-pen) .5s}
.bk-js .bk-rv.bk-in .bk-ug{background-size:100% 6px}

/* Titre de chapitre : du gras en anglais, un titre en français, la même allure, et son carré. */
.bk-chap-two{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:72px;align-items:start}
.bk-chap-h{display:flex;gap:16px;align-items:baseline}
.bk .bk-chap-h>p,.bk .bk-chap-h>h2{margin:0;max-width:none;font:400 clamp(30px,3.3vw,46px)/1.05 var(--gigets-font-display);letter-spacing:-.02em;color:var(--gigets-ink)}
.bk .bk-chap-h strong{font-weight:400}
.bk-chap-h>.bk-mark{flex:none;position:relative;top:-3px}
.bk-chap-stick{position:sticky;top:calc(var(--site-head,0px) + 40px)}
.bk .bk-chap-txt>p{margin:0 0 26px;max-width:640px;font-size:20px;line-height:1.5;color:var(--gigets-body)}
.bk .bk-chap-txt>p:last-child{margin-bottom:0}

/* Premier chapitre : la deuxième phrase, en grand, s'allume mot par mot. */
.bk-chap-why{border-top:1px solid var(--gigets-ink);padding:72px 0 112px}
.bk .bk-chap-why .bk-say{margin:14px 0 48px;max-width:none;font-size:clamp(32px,4.6vw,68px);line-height:1.02;letter-spacing:-.03em;color:var(--gigets-ink)}
/* Mots pas encore allumés : un gris entre Mute et Sunken, calculé depuis les jetons. Sans color-mix, ils restent en Rule. */
@supports (color:color-mix(in srgb,red,blue)){.bk-js .bk-events .bk-say .bk-w:not(.bk-on){color:color-mix(in srgb,var(--gigets-mute) 37%,var(--gigets-sunken))}}

/* Deuxième chapitre : une très grande phrase, puis deux phrases côte à côte, chacune sous sa barre de couleur.
   Le chiffre est un habillage, caché aux lecteurs d'écran : il ne porte aucune information que l'ordre ne donne déjà. */
.bk-chap-want,.bk-chap-kinds{background:var(--gigets-sunken);padding:96px 0 104px}
.bk .bk-twothings{margin:28px 0 64px;max-width:none;font:400 clamp(52px,8vw,120px)/.95 var(--gigets-font-display);letter-spacing:-.035em;color:var(--gigets-ink)}
.bk-wants{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
.bk-want{position:relative;min-height:150px;padding:30px clamp(64px,8vw,120px) 0 0}
.bk-want::before{content:"";position:absolute;left:0;top:0;width:100%;height:6px;background:var(--bk-tint);transform-origin:left}
.bk .bk-want p{margin:0;max-width:none;font:400 clamp(24px,2.5vw,34px)/1.16 var(--gigets-font-display);letter-spacing:-.015em;color:var(--gigets-ink)}
.bk-figure{position:absolute;right:0;top:22px;font:400 clamp(64px,7vw,104px)/1 var(--gigets-font-display);letter-spacing:-.04em;color:var(--bk-tint)}
.bk-js .bk-want.bk-rv::before{transform:scaleX(0);transition:transform .9s var(--bk-pen) var(--bk-d,0s)}
.bk-js .bk-want.bk-in::before{transform:scaleX(1)}
.bk-js .bk-rv .bk-figure{opacity:0;transition:opacity .8s ease .3s}
.bk-js .bk-rv.bk-in .bk-figure{opacity:1}

/* Troisième chapitre : quatre lignes, un point rond par ligne. La ligne active passe en Card, avec sa barre et un
   point un peu plus gros. Les points sont là d'emblée, sans anneau. */
.bk-chap-who{padding:104px 0}
.bk-lines{--bk-line:clamp(24px,2.6vw,36px)}
.bk-lines .bk-reg{grid-template-columns:16px minmax(0,1fr);gap:0 20px;padding:34px 24px 34px 26px}
.bk-lines .bk-people{padding-top:calc(var(--bk-line) * .42)}
.bk .bk-lines p{margin:0;max-width:none;font:400 var(--bk-line)/1.14 var(--gigets-font-display);letter-spacing:-.015em;color:var(--gigets-ink)}
.bk-lines .bk-reg.bk-on{background:var(--gigets-card)}
.bk-js .bk-lines.bk-regs .bk-person{transform:none;transition:transform .4s var(--bk-out)}
.bk-js .bk-lines.bk-regs .bk-on .bk-person{transform:scale(1.35)}
.bk-lines .bk-person::after{content:none}

/* Quatrième chapitre : deux cartes sous leur barre de couleur, sans effet au survol. Le début de chaque phrase est
   souligné d'un trait de 4 px qui passe sous les jambages : l'interligne grandit d'une hauteur fixe pour qu'il ne
   touche pas la ligne suivante. */
.bk-kinds{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:48px}
.bk-kind{background:var(--gigets-card);border:var(--gigets-hairline);border-top:6px solid var(--bk-tint);padding:44px 40px 52px}
.bk .bk-kind p{margin:0;max-width:none;font:400 clamp(28px,3.3vw,46px)/1.24 var(--gigets-font-display);line-height:calc(1.24em + 5px);letter-spacing:-.02em;color:var(--gigets-ink)}
.bk-u{text-decoration:underline 4px var(--bk-tint);text-underline-offset:calc(.27em + 3px);text-decoration-skip-ink:none}
.bk-js .bk-rv .bk-u{text-decoration-color:transparent;transition:text-decoration-color .9s ease .4s}
.bk-js .bk-rv.bk-in .bk-u{text-decoration-color:var(--bk-tint)}

/* Dernier chapitre : la première phrase, très grande, s'allume ; la suivante reste en texte courant. */
.bk-chap-when{padding:104px 0 120px}
.bk .bk-chap-when .bk-say{margin:0;max-width:none;font-size:clamp(44px,7.4vw,112px);line-height:.96;letter-spacing:-.035em;color:var(--gigets-ink)}
.bk .bk-chap-when .bk-chap-after{margin-top:40px;max-width:560px}
/* Sans color-mix, chaque barre, chaque point et chaque chiffre prend la teinte du milieu du dégradé. */
@supports not (color:color-mix(in srgb,red,blue)){.bk-want::before,.bk-reg::before,.bk-person{background:var(--gigets-crimson)}.bk-figure{color:var(--gigets-crimson)}.bk-kind{border-top-color:var(--gigets-crimson)}.bk-u{text-decoration-color:var(--gigets-crimson)}}

@media(max-width:980px){
 .bk-intro-ev{padding-bottom:64px}
 .bk-chap-two{grid-template-columns:minmax(0,1fr);gap:28px}
 .bk-chap-h>.bk-mark{width:12px;height:12px;top:-2px}
 .bk-chap-stick{position:static}
 .bk-chap-why{padding:48px 0 72px}
 .bk .bk-chap-txt>p{margin-bottom:22px;font-size:18px}
 .bk .bk-chap-why .bk-say{margin:6px 0 32px}
 .bk-chap-want,.bk-chap-kinds{padding:64px 0 72px}
 .bk .bk-twothings{margin:18px 0 40px}
 .bk-wants{grid-template-columns:minmax(0,1fr);gap:44px}
 .bk-want{min-height:0;padding:24px 64px 0 0}
 .bk-figure{top:18px}
 .bk-chap-who{padding:64px 0 72px}
 .bk-lines .bk-reg{grid-template-columns:13px minmax(0,1fr);gap:0 15px;padding:26px 14px 26px 18px}
 .bk-lines .bk-person{width:13px;height:13px}
 .bk-kinds{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:32px}
 .bk-kind{padding:30px 22px 36px}
 .bk-chap-when{padding:64px 0 80px}
 .bk .bk-chap-when .bk-chap-after{margin-top:28px}
}
/* Mouvement réduit : soulignements, barres et chiffres sont là d'emblée. La ligne active reste marquée, d'un coup. */
@media(prefers-reduced-motion:reduce){
 .bk-js .bk-rv .bk-ug{background-size:100% 6px!important}
 .bk-js .bk-want.bk-rv::before{transform:none!important}
 .bk-js .bk-rv .bk-figure{opacity:1!important}
 .bk-js .bk-rv .bk-u{text-decoration-color:var(--bk-tint)!important}
}

/* ===== Dernières pages (Partners, Careers, Team, Advisory Board, Protocols, 6 octobre 2026) =====
   Bandes, grandes phrases, lignes à carré ou à point rond, tableau, photos rondes, règles d'un protocole.
   Les personnes sont des ronds (points, photos), tout le reste est carré. Une teinte du dégradé par élément,
   d'Ember à Magenta, posée par la page depuis les jetons (--bk-tint). Acceptés par Alexandre comme sur Legal,
   Community et Events : grand titre au-dessus de 84 px, barres de 6 px, soulignements de 4 px, deux dégradés
   visibles par endroits. Aucune ombre, aucun rebond, aucun effet de survol sur les cartes. */
.bk-band{padding:104px 0}
.bk-sunk{background:var(--gigets-sunken)}
.bk-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start}
.bk-split-75{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.bk-split-57{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.bk-split-84{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:64px;align-items:end}
.bk .bk-band .bk-chap-txt>p{margin-bottom:24px;max-width:620px}
.bk .bk-band .bk-chap-txt>p:last-child{margin-bottom:0}
.bk .bk-band .bk-chap-txt-l>p{font-size:22px;line-height:1.7}
/* Un terme du produit garde la graisse de sa phrase, comme avant la refonte. */
.bk-kit dfn.noun{font-weight:inherit;color:inherit}
@supports (color:color-mix(in srgb,red,blue)){.bk-js .bk-kit .bk-say .bk-w:not(.bk-on){color:color-mix(in srgb,var(--gigets-mute) 37%,var(--gigets-sunken))}}

/* Hauts de page. */
.bk-intro-pa,.bk-intro-ca,.bk-intro-ab{padding-bottom:96px}
.bk .bk-intro-pa .bk-big{font-size:clamp(30px,4.1vw,58px);line-height:1.04;max-width:1120px}
.bk .bk-intro-ca .bk-big{margin:0}
.bk .bk-intro-ca .bk-big:not(.bk-big-loose){line-height:.98}
.bk-intro-ca .bk-ug:not(.bk-ug-long){padding-bottom:.12em}
.bk-intro-ab .bk-split{gap:64px}
.bk-top-t{padding:72px 0 56px}
.bk-top-pr{padding:72px 0}
.bk-top-pr .bk-split{margin-top:44px}
/* Grand titre dont le trait passe sous les jambages, même au téléphone. */
.bk .bk-giant-low{padding-bottom:calc(.26em + 4px)}
.bk-meta{border-top:1px solid var(--gigets-ink);padding-top:16px}
.bk .bk-meta .bk-label{margin:0 0 8px;color:var(--gigets-body)}

/* Phrases et titres de bloc. */
.bk .bk-say-xl{font-size:clamp(40px,6.6vw,104px);line-height:.96;letter-spacing:-.035em;max-width:none}
.bk .bk-say-l{font-size:clamp(34px,5vw,76px);line-height:1;letter-spacing:-.035em;max-width:1180px}
.bk .bk-say-gap{font-size:clamp(38px,6.2vw,96px);line-height:.98;letter-spacing:-.035em;max-width:1180px}
.bk .bk-title{margin:0;max-width:none;font:400 clamp(34px,4.4vw,64px)/1 var(--gigets-font-display);letter-spacing:-.035em;color:var(--gigets-ink)}
.bk .bk-mid{margin:0;max-width:none;font:400 clamp(26px,2.9vw,40px)/1.12 var(--gigets-font-display);letter-spacing:-.02em;color:var(--gigets-ink)}
.bk .bk-first{margin:0;max-width:none;font:400 clamp(28px,3.5vw,50px)/1.06 var(--gigets-font-display);letter-spacing:-.025em;color:var(--gigets-ink)}
.bk .bk-first2{margin:0;max-width:none;font:400 clamp(23px,2.5vw,34px)/1.2 var(--gigets-font-display);letter-spacing:-.015em;color:var(--gigets-ink)}
.bk .bk-title strong,.bk .bk-mid strong{font-weight:400}
.bk .bk-second{margin:0;padding-top:26px;border-top:6px solid var(--bk-tint);font-size:20px;line-height:1.5;color:var(--gigets-body)}
.bk .bk-note{padding-top:26px;border-top:6px solid var(--bk-tint)}
.bk .bk-follow{margin:44px 0 0;max-width:640px;font-size:20px;line-height:1.5;color:var(--gigets-body)}
.bk-today{padding-bottom:120px}
.bk-mid2{margin-top:88px}
.bk .bk-mid2 .bk-say-l{max-width:1100px}
/* Adresse en grand, soulignée en dégradé : le trait de 4 px passe sous les jambages. */
.bk .bk-mailline,.bk .bk-band .bk-chap-txt>p.bk-mailline{margin:28px 0 0;max-width:none;font:400 clamp(28px,3.6vw,50px)/1.5 var(--gigets-font-display);letter-spacing:-.02em;color:var(--gigets-ink)}
.bk .bk-band .bk-chap-txt>p.bk-mailline{margin-top:8px}
.bk-chips-top{margin:0 0 26px}

/* Colonnes sous une grande phrase. */
.bk-cols2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;margin-top:64px;align-items:start}
.bk .bk-cols2>p{margin:0;max-width:540px;font-size:20px;line-height:1.5;color:var(--gigets-body)}
.bk .bk-cols2>.bk-next{max-width:none;padding-top:26px;border-top:6px solid var(--bk-tint);font:400 clamp(26px,2.9vw,40px)/1.12 var(--gigets-font-display);letter-spacing:-.02em;color:var(--gigets-ink)}
.bk-cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:64px}
.bk .bk-cols3>p{margin:0;padding-top:22px;border-top:1px solid var(--gigets-ink);font-size:19px;line-height:1.5;color:var(--gigets-body)}
.bk .bk-pairs .bk-mid{margin:32px 0 22px}
.bk-pairs .bk-chap-txt{margin-top:32px}
.bk .bk-pline{margin:0;padding:22px 0;border-top:var(--gigets-hairline);font-size:20px;line-height:1.5;color:var(--gigets-body)}
.bk .bk-pline:first-of-type{margin-top:32px;border-top:1px solid var(--gigets-ink)}

/* Lignes à carré ou à point rond : le début en grand, le texte à droite. La ligne active passe en Card. */
.bk-set{margin-top:48px}
.bk-set .bk-reg{grid-template-columns:44px minmax(0,1fr);padding:36px 28px 36px 26px}
.bk-set .bk-people{padding-top:12px}
.bk-set .bk-people .bk-mark{margin-top:1px}
.bk .bk-set .bk-reg-main strong{font-size:clamp(25px,2.7vw,37px);line-height:1.08;letter-spacing:-.02em}
.bk .bk-set .bk-reg-t{padding-top:6px;max-width:600px}
.bk-set .bk-reg.bk-on{background:var(--gigets-card)}
.bk-js .bk-set.bk-regs .bk-person{transform:none;transition:transform .4s var(--bk-out)}
.bk-js .bk-set.bk-regs .bk-on .bk-person{transform:scale(1.3)}
.bk-set .bk-person::after{content:none}

/* Fondateurs : une photo ronde, le rôle, le nom, l'adresse, puis le texte. */
.bk-folk{margin-top:0}
.bk-set .bk-per{grid-template-columns:176px minmax(0,4fr) minmax(0,7fr);padding:48px 28px 52px 26px}
.bk-face{display:block;width:148px;height:148px;border-radius:var(--gigets-radius-avatar);object-fit:cover}
.bk-who{padding-top:6px}
.bk .bk-who .bk-label{margin:0 0 12px}
.bk .bk-name{margin:0 0 14px;max-width:none;font:400 clamp(32px,3.9vw,56px)/1 var(--gigets-font-display);letter-spacing:-.03em;color:var(--gigets-ink)}
.bk .bk-em{margin:0;font:400 var(--gigets-data-size)/1.5 var(--gigets-font-data);color:var(--gigets-body)}
.bk .bk-em a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
.bk .bk-em a:focus-visible{outline:2px solid var(--gigets-crimson);outline-offset:3px}
.bk .bk-bio{margin:0;padding-top:36px;max-width:640px;font-size:18px;line-height:1.5;color:var(--gigets-body)}
/* Deux petites photos décoratives qui se chevauchent : l'anneau est de la couleur du fond. */
.bk-faces{display:flex;margin:0 0 26px}
.bk-faces img{display:block;width:52px;height:52px;border-radius:var(--gigets-radius-avatar);object-fit:cover;border:3px solid var(--gigets-sunken);margin-right:-12px}
.bk-js .bk-faces.bk-rv img{transform:scale(0);transition:transform .5s var(--bk-out) var(--bk-d,0s)}
.bk-js .bk-faces.bk-in img{transform:scale(1)}

/* Tableau : il reste un tableau. La rangée active passe en Paper, avec sa barre. */
.bk-deny{width:100%;border-collapse:collapse;margin-top:48px;border-top:1px solid var(--gigets-ink)}
.bk .bk-deny th{padding:16px 28px 16px 26px;border-bottom:var(--gigets-hairline);text-align:left;font:400 var(--gigets-label-size)/1.5 var(--gigets-font-data);letter-spacing:.12em;text-transform:uppercase;color:var(--gigets-body)}
.bk .bk-deny td{position:relative;vertical-align:top;padding:30px 28px 30px 26px;border-bottom:var(--gigets-hairline);font-size:19px;line-height:1.5;color:var(--gigets-body);transition:background-color .3s}
.bk .bk-deny td:first-child{width:46%;font:400 clamp(22px,2.3vw,31px)/1.14 var(--gigets-font-display);letter-spacing:-.015em;color:var(--gigets-ink)}
.bk-deny td:first-child::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--bk-tint);transform:scaleY(0);transform-origin:top;transition:transform .4s var(--bk-out)}
.bk-deny tr.bk-on td{background:var(--gigets-paper)}
.bk-deny tr.bk-on td:first-child::before{transform:scaleY(1)}
.bk-deny tr:focus-visible{outline:2px solid var(--gigets-crimson);outline-offset:-2px}

/* Protocols : gabarit d'un document Legal pour le titre, le sommaire et la progression ; dans chaque protocole,
   le titre au-dessus et une règle par ligne, le début en grand à gauche, le texte à droite. */
.bk-protocols .bk-index-list::after{left:-1px;width:3px;background:var(--gigets-gradient)}
.bk-doc-pr .bk-lay{border-top:0;padding-top:24px}
.bk-secs{min-width:0}
.bk-sec{padding:56px 0 64px;border-bottom:var(--gigets-hairline);scroll-margin-top:calc(var(--site-head,0px) + 20px)}
.bk-sec:first-child{border-top:1px solid var(--gigets-ink)}
.bk-sec:focus{outline:none}
.bk-sec-h{display:flex;gap:18px;align-items:baseline;margin:0 0 12px}
.bk .bk-sec-h>h2{margin:0;max-width:none;font:400 clamp(32px,3.9vw,56px)/1 var(--gigets-font-display);letter-spacing:-.03em;color:var(--gigets-ink)}
.bk-sec-h>.bk-mark{flex:none;width:16px;height:16px;position:relative;top:-4px}
.bk .bk-subl{margin:0 0 36px 34px;color:var(--gigets-body)}
.bk .bk-plain{margin:0 0 22px;max-width:680px;font-size:20px;line-height:1.5;color:var(--gigets-body)}
.bk .bk-def{margin:0;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:0 32px;padding:24px 0;border-top:var(--gigets-hairline);font-size:19px;line-height:1.5;color:var(--gigets-body)}
.bk .bk-def strong{font:400 clamp(21px,2.1vw,27px)/1.15 var(--gigets-font-display);letter-spacing:-.015em;color:var(--gigets-ink)}
.bk .bk-sub2{margin:34px 0 22px;max-width:760px}
.bk .bk-plinks{margin:8px 0 22px;font-size:19px;line-height:1.5;color:var(--gigets-body)}
.bk .bk-plinks a,.bk .bk-plain a{color:var(--gigets-ink);text-decoration-thickness:1px;text-underline-offset:4px}
.bk .bk-plinks a:focus-visible,.bk .bk-plain a:focus-visible{outline:2px solid var(--gigets-crimson);outline-offset:3px}
/* Sans color-mix, barres et carrés prennent la teinte du milieu du dégradé. */
@supports not (color:color-mix(in srgb,red,blue)){.bk-deny td:first-child::before{background:var(--gigets-crimson)}.bk .bk-second,.bk .bk-note,.bk .bk-cols2>.bk-next{border-top-color:var(--gigets-crimson)}}

@media(max-width:980px){
 .bk-band{padding:64px 0 72px}
 .bk-split,.bk-split-75,.bk-split-57,.bk-split-84{grid-template-columns:minmax(0,1fr);gap:28px}
 .bk-pairs{gap:56px}
 .bk-intro-pa,.bk-intro-ca,.bk-intro-ab{padding-bottom:64px}
 .bk-intro-ab .bk-split{gap:28px}
 .bk-top-t{padding:40px 0 36px}
 .bk-top-pr{padding:40px 0 48px}
 .bk-top-pr .bk-split{gap:26px;margin-top:28px}
 .bk .bk-second{padding-top:20px;font-size:18px}
 .bk .bk-note{padding-top:20px}
 .bk .bk-follow{margin-top:28px;font-size:18px}
 .bk-today{padding-bottom:80px}
 .bk-mid2{margin-top:56px}
 .bk .bk-band .bk-chap-txt-l>p{font-size:19px}
 .bk-cols2{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:40px}
 .bk .bk-cols2>p{font-size:18px}
 .bk .bk-cols2>.bk-next{padding-top:20px}
 .bk-cols3{grid-template-columns:minmax(0,1fr);gap:0;margin-top:40px}
 .bk .bk-cols3>p{padding:18px 0;font-size:18px}
 .bk .bk-pline{font-size:18px}
 .bk-set,.bk-deny{margin-top:28px}
 .bk-set .bk-reg{grid-template-columns:28px minmax(0,1fr);gap:0 10px;padding:26px 14px 26px 20px}
 .bk-set .bk-people{padding-top:8px}
 .bk-set .bk-person{width:13px;height:13px}
 .bk-set .bk-people .bk-mark{width:12px;height:12px}
 .bk .bk-set .bk-reg-t{padding-top:10px}
 .bk-folk{margin-top:0}
 .bk-set .bk-per{grid-template-columns:minmax(0,1fr);padding:30px 14px 34px 20px}
 .bk-face{width:104px;height:104px;margin-bottom:20px}
 .bk .bk-bio{padding-top:18px;font-size:17px}
 .bk-faces img{width:44px;height:44px}
 /* Au téléphone les cases s'empilent. Les en-têtes sortent de l'écran sans quitter le tableau : les lecteurs
    d'écran les annoncent toujours, grâce aux rôles écrits dans la page. */
 .bk-deny thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .bk-deny,.bk-deny tbody,.bk-deny tr,.bk .bk-deny td{display:block;width:auto}
 .bk-deny tr{position:relative;padding:24px 14px 24px 20px;border-bottom:var(--gigets-hairline);transition:background-color .3s}
 .bk .bk-deny td{position:static;padding:0;border:0;font-size:17px}
 .bk .bk-deny td:first-child{width:auto;margin-bottom:10px}
 .bk-deny tr.bk-on{background:var(--gigets-paper)}
 .bk-deny tr.bk-on td{background:none}
 .bk-protocols .bk-index-bar::after{height:3px;bottom:-2px;background:var(--gigets-gradient)}
 .bk-doc-pr .bk-lay{padding-top:0}
 .bk-sec{padding:40px 0 44px;scroll-margin-top:calc(var(--site-head,0px) + 60px)}
 .bk-sec:first-child{border-top:0}
 .bk-sec-h{gap:12px}
 .bk-sec-h>.bk-mark{width:12px;height:12px;top:-3px}
 .bk .bk-subl{margin:0 0 26px 24px}
 .bk .bk-plain{font-size:18px}
 .bk .bk-def{grid-template-columns:minmax(0,1fr);gap:8px;padding:20px 0;font-size:17px}
}
/* Mouvement réduit : les petites photos sont là d'emblée. */
@media(prefers-reduced-motion:reduce){
 .bk-js .bk-faces.bk-rv img{transform:none!important}
}

.bk-band-flush{padding-top:0}
/* Careers en français : un peu plus d interligne, la ligne suivante commence par une lettre haute. */
.bk .bk-intro-ca .bk-big-loose{line-height:calc(1em + 14px)}

/* Legal : le trait du grand titre descend de 4 px, comme sur Team et Protocols, pour passer sous les jambages au
   telephone. Retouche demandee par Alexandre le 6 octobre 2026. Aucun mot ne change. */
.bk.bk-legal .bk-giant{padding-bottom:calc(.26em + 4px)}
.bk.bk-legal .bk-top-entry .bk-giant{padding-bottom:calc(.3em + 4px)}

/* Team, retouches du 8 octobre 2026 (reunion du 7 octobre). Chaque bio tient en deux paragraphes, un peu plus petits.
   Le paragraphe sur Paris est en grand, 28 px au moins : il porte des mots en degrade dans la lettre. */
.bk .bk-bio{font-size:17px}
.bk .bk-bio>p{margin:0 0 14px;font-size:inherit;line-height:inherit;color:inherit;max-width:none}
.bk .bk-bio>p:last-child{margin-bottom:0}
.bk .bk-paris{margin:0;max-width:none;font:400 clamp(28px,2.5vw,34px)/1.28 var(--gigets-font-display);letter-spacing:-.02em;color:var(--gigets-ink)}
@media(max-width:980px){.bk .bk-bio{font-size:16px}}

/* Investors, page nouvelle du 8 octobre 2026, d'apres la maquette du 7 octobre : une grande phrase, trois lignes, puis
   l'adresse sur fond Sunken. Un seul degrade dans la page, le soulignement de l'adresse. Sur fond Sunken, Mute ne
   fait que 4,11 de contraste : la petite ligne de fin est en Body. */
.bk-inv-top{padding:88px 0 72px}
.bk .bk-inv-top .bk-label{margin:0 0 34px}
.bk .bk-inv-lead{margin:0;max-width:1180px;font:400 clamp(40px,6.3vw,96px)/1 var(--gigets-font-display);letter-spacing:-.035em;color:var(--gigets-ink)}
.bk-inv-facts{padding-top:0}
.bk .bk-inv-facts .bk-set{margin-top:0}
.bk .bk-inv-facts .bk-reg-t{font-size:21px;line-height:1.5}
.bk-inv-reach>.bk-split{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.bk .bk-inv-reply{margin:22px 0 0;max-width:620px;font-size:20px;line-height:1.5;color:var(--gigets-body)}
.bk .bk-inv-mail{margin:0;font:400 clamp(30px,4.4vw,62px)/1.2 var(--gigets-font-display);letter-spacing:-.02em;color:var(--gigets-ink)}
.bk .bk-inv-mail a{color:inherit;text-decoration:none}
.bk .bk-inv-more{display:flex;gap:40px;flex-wrap:wrap;margin:56px 0 0;padding-top:26px;border-top:var(--gigets-hairline)}
.bk .bk-inv-more a{font-size:17px;color:var(--gigets-ink);text-underline-offset:5px;text-decoration-thickness:1px}
.bk .bk-inv-fine{margin:40px 0 0;max-width:560px;font-size:14px;line-height:1.5;color:var(--gigets-body)}
@media(max-width:980px){
 .bk-inv-top{padding:44px 0 44px}
 .bk .bk-inv-top .bk-label{margin-bottom:20px}
 .bk .bk-inv-facts .bk-reg-t{font-size:18px}
 .bk-inv-reach>.bk-split{grid-template-columns:minmax(0,1fr)}
 .bk .bk-inv-reply{margin-top:16px;font-size:18px}
 .bk .bk-inv-mail{margin-top:8px}
 .bk .bk-inv-more{gap:14px 28px;margin-top:48px;flex-direction:column}
 .bk .bk-inv-fine{margin-top:30px}
}
