/* Direction graphique Kimpulse : portraits, formes ouvertes et contrastes francs.
   Titres bleu du site actuel et fonds très pâles assortis au bleu de la médiation. */
:root {
    --kim-target-blue: #24527a;
    --kim-summer-blue: #0b5a9f;
    --kim-noir: #010101;
    --kim-very-blue: #10547f;
    --kim-right-blue: #2a5b94;
    --kim-tangerine: #de7e4c;
    --kim-tangerine-fonce: #de7e4c;
    --kim-tangerine-tres-fonce: #de7e4c;
    --kim-orange-texte: #c04b00;
    --kim-bleu-titres: #22527a;
    --kim-blue-grey: #7fa1ba;
    --kim-soft-blue: #b8deec;
    --kim-encadre-fond: var(--kim-bleu-pale);
    --kim-lagoon: #96d5d4;
    --kim-baby-skin: #efcacb;
    --kim-nice-yellow: #f7e4aa;
    --kim-blanc: #ffffff;
    --kim-blanc-casse: #ffffff;
    --kim-texte-courant: #1f2a33;
    --kim-papier: #ffffff;
    --kim-ivoire-clair: #ffffff;
    --kim-bleu-pale: #f1f9fb;
    --kim-encre: #163b54;
    --kim-trait: #d6dcd9;
    --kim-titre: "Nunito Sans", "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --kim-texte: "Helvetica Neue", Helvetica, Arial, sans-serif;
    --kim-largeur-page: 1280px;
    --kim-largeur-texte: 46rem;
    --kim-gouttiere: clamp(1.25rem, 4.5vw, 5rem);
}
*, *::before, *::after { box-sizing:border-box; }
html { scroll-padding-top:9rem; }
body { margin:0; color:var(--kim-texte-courant); background:var(--kim-papier); font:1.0625rem/1.75 var(--kim-texte); -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4 { font-family:var(--kim-titre); color:var(--kim-bleu-titres); line-height:1.08; margin:0 0 1.2rem; text-wrap:balance; letter-spacing:-.045em; }
h5,h6 { color:var(--kim-bleu-titres); }
:is(h1,h2,h3,h4,h5,h6) a { color:inherit; }
h1 { font-size:clamp(2.7rem,5.4vw,5.25rem); font-weight:700; }
h2 { font-size:clamp(2rem,3.7vw,3.5rem); font-weight:700; }
h3 { font-size:1.65rem; font-weight:700; }
p { margin:0 0 1.2rem; max-width:var(--kim-largeur-texte); }
a { color:var(--kim-target-blue); text-underline-offset:.24em; text-decoration-thickness:1px; }
a:hover { color:var(--kim-orange-texte); }
:focus-visible { outline:3px solid var(--kim-tangerine-fonce); outline-offset:5px; }
img { max-width:100%; height:auto; }
figure { margin:0; }
button,input,textarea { font:inherit; }
button,a,input,textarea { -webkit-tap-highlight-color:transparent; }
::selection { background:var(--kim-bleu-pale); color:var(--kim-encre); }
.contenu-principal { max-width:calc(var(--kim-largeur-page) + 2 * var(--kim-gouttiere)); margin:0 auto; padding:3.5rem var(--kim-gouttiere) clamp(3.5rem,6vw,5.5rem); }
.screen-reader-text,.kim-piege { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }
.kim-evitement { position:absolute; left:-9999px; top:0; z-index:100; padding:1rem 2rem; background:var(--kim-encre); color:white; }
.kim-evitement:focus { left:0; color:white; }
.kim-bouton { display:inline-flex; justify-content:center; align-items:center; gap:1.6rem; padding:1rem 1.5rem; min-height:3.5rem; border:1px solid transparent; border-radius:3px; background:var(--kim-target-blue); color:white; font:700 .95rem/1.4 var(--kim-titre); text-decoration:none; cursor:pointer; transition:background .18s, transform .18s; }
.kim-bouton span[aria-hidden] { font-size:1.4rem; line-height:1; }
.kim-bouton:hover,.kim-bouton:focus-visible { background:var(--kim-encre); color:white; }
.kim-lien { display:inline-flex; align-items:center; gap:1rem; width:fit-content; padding:.55rem 0; border-bottom:1px solid currentColor; color:var(--kim-encre); font-size:.95rem; font-weight:600; text-decoration:none; }
.kim-lien span[aria-hidden] { font-size:1.35rem; }
.kim-surtitre { color:var(--kim-bleu-titres); font:700 .75rem/1.6 var(--kim-texte); text-transform:uppercase; letter-spacing:.13em; margin-bottom:1.5rem; }
.kim-surtitre a { color:inherit; }
.kim-point { width:8px; height:8px; display:inline-block; margin-right:.6rem; border-radius:50%; background:var(--kim-tangerine); }
/* En-tête à une ligne : identité, navigation et contact arrondi. */
.kim-entete { position:sticky; top:var(--kim-admin-offset,0px); z-index:30; background:var(--kim-ivoire-clair); border-bottom:1px solid #e5e9eb; box-shadow:0 4px 16px #163b5405; }
.admin-bar { --kim-admin-offset:32px; }
.kim-entete__interieur { position:relative; max-width:1440px; margin:auto; padding:0 clamp(1.25rem,3.5vw,3.5rem); display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:clamp(1.25rem,2.5vw,2.5rem); min-height:96px; }
.kim-entete__logo { display:flex; align-items:center; justify-content:center; flex-shrink:0; padding:.5rem; }
.kim-logo { display:block; width:67px; height:auto; margin:.65rem; }
.kim-entete .kim-logo { width:58px; margin:0; }
.kim-entete__contact { display:inline-flex; align-items:center; justify-content:center; gap:.85rem; min-height:46px; padding:.75rem 1.25rem; border:1px solid var(--kim-target-blue); border-radius:999px; background:var(--kim-target-blue); box-shadow:0 0 0 4px #96d5d440; color:white; white-space:nowrap; font:700 .82rem/1.4 var(--kim-titre); text-decoration:none; transition:background .2s,box-shadow .2s; }
.kim-entete__contact > span { font-size:1.2rem; }
.kim-entete__contact:hover { color:white; background:var(--kim-encre); box-shadow:0 0 0 4px #96d5d480; }
.kim-navigation { display:flex; align-items:center; align-self:stretch; justify-content:center; min-width:0; }
.kim-navigation__liste { width:max-content; max-width:100%; display:flex; align-items:stretch; align-self:stretch; justify-content:center; gap:clamp(.8rem,1.6vw,1.6rem); list-style:none; margin:0; padding:0; font:600 .875rem/1.5 var(--kim-titre); }
@media(max-width:782px) { .admin-bar { --kim-admin-offset:46px; } }
@media(max-width:600px) { .admin-bar { --kim-admin-offset:0px; } }
.kim-navigation__liste > li { display:flex; align-items:center; }
.kim-navigation__liste a { display:block; padding:1.2rem .2rem; color:var(--kim-encre); text-decoration:none; }
.kim-navigation__liste > li > a { position:relative; white-space:nowrap; }
.kim-navigation__liste > li > a::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--kim-tangerine); transform:scaleX(0); transform-origin:left; transition:transform .18s; }
.kim-navigation__liste a:hover,.kim-navigation__liste .current-menu-item > a { color:var(--kim-orange-texte); }
.kim-navigation__liste > li > a:hover::after,.kim-navigation__liste > .current-menu-item > a::after,.kim-navigation__liste > .current-menu-ancestor > a::after { transform:scaleX(1); }
.kim-navigation__liste .sub-menu { display:none; position:absolute; top:100%; left:50%; translate:-50% 0; width:min(1040px,calc(100% - 2rem)); grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; margin:0; list-style:none; padding:.85rem; background:var(--kim-ivoire-clair); border:1px solid #e5e9eb; border-radius:0 0 20px 20px; box-shadow:0 20px 40px #163b5414; max-height:calc(100dvh - 104px - var(--kim-admin-offset,0px)); overflow-y:auto; }
.kim-navigation:not(.kim-navigation--interactive) li:hover > .sub-menu,.kim-navigation:not(.kim-navigation--interactive) li:focus-within > .sub-menu,.kim-navigation__liste .sub-menu:not([hidden]).kim-sous-menu--ouvert { display:grid; }
.kim-navigation__liste .sub-menu[hidden] { display:none; }
.kim-navigation__liste .sub-menu li { min-width:0; }
.kim-navigation__liste .sub-menu a { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:180px; height:100%; padding:1.4rem; border-radius:12px; background:var(--kim-bleu-pale); font-size:1.3rem; transition:background .2s; }
.kim-navigation__liste .sub-menu li:nth-child(2) a { background:var(--kim-bleu-pale); }
.kim-navigation__liste .sub-menu li:nth-child(3) a { background:#edf3ed; }
.kim-navigation__liste .sub-menu a:hover { background:var(--kim-bleu-pale); }
.kim-menu-offre__dessin { position:absolute; top:.4rem; right:1.1rem; width:98px; height:92px; }
.kim-menu-offre__dessin .kim-art { width:100%; height:100%; }
.kim-menu-offre__titre { margin-right:1.4rem; }
.kim-menu-offre__intention { display:block; margin-top:.4rem; padding-right:1rem; font:400 .8rem/1.5 var(--kim-texte); color:var(--kim-encre); }
.kim-menu-offre__fleche { position:absolute; right:1.3rem; bottom:3.35rem; font-size:1.4rem; }
.kim-sous-menu-bouton { display:grid; place-items:center; width:44px; height:44px; margin-left:.1rem; padding:0; border:0; background:transparent; color:var(--kim-encre); font-size:1.3rem; cursor:pointer; border-radius:50%; }
.kim-sous-menu-bouton:hover,.kim-sous-menu-bouton[aria-expanded=true] { background:var(--kim-bleu-pale); }
.kim-sous-menu-bouton svg { transition:transform .28s cubic-bezier(.22,1,.36,1); }
.kim-sous-menu-bouton[aria-expanded=true] svg { transform:scaleY(-1); }
@media(min-width:70.001rem) {
    .kim-navigation--interactive .sub-menu { display:grid; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-6px); transition:opacity .22s ease,transform .28s cubic-bezier(.22,1,.36,1),visibility 0s .28s; }
    .kim-navigation--interactive .sub-menu.kim-sous-menu--ouvert { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); transition-delay:0s; }
}
.kim-sous-menu-bouton[hidden],.kim-navigation__contact,.kim-menu-bouton { display:none; }
.kim-menu-bouton { align-items:center; justify-content:center; gap:.65rem; min-height:48px; padding:.7rem .9rem; border:1px solid var(--kim-trait); border-radius:30px; color:var(--kim-encre); background:var(--kim-ivoire-clair); font:600 .8rem/1 var(--kim-titre); cursor:pointer; }
.kim-menu-bouton__icone { position:relative; display:block; width:18px; height:12px; }
.kim-menu-bouton__icone::before,.kim-menu-bouton__icone::after { content:''; position:absolute; left:0; width:18px; height:1.5px; background:currentColor; transition:transform .18s; }
.kim-menu-bouton__icone::before { top:2px; }
.kim-menu-bouton__icone::after { bottom:2px; }
.kim-menu-bouton[aria-expanded=true] .kim-menu-bouton__icone::before { transform:translateY(3.25px) rotate(45deg); }
.kim-menu-bouton[aria-expanded=true] .kim-menu-bouton__icone::after { transform:translateY(-3.25px) rotate(-45deg); }
/* Ouverture : composition asymétrique, portrait et signe d'impulsion. */
.kim-hero { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; padding:1rem 0 4rem; }
.kim-hero--accueil { min-height:650px; gap:clamp(2rem,4vw,4rem); padding-top:0; }
.kim-hero h1 { max-width:13ch; }
.kim-hero--accueil h1 { font-size:clamp(3rem,5.3vw,5.25rem); line-height:1.02; margin-bottom:1.6rem; }
.kim-intro { font-size:1.125rem; line-height:1.7; max-width:33rem; margin:0 0 2rem; color:#425661; }
.kim-actions { display:flex; align-items:center; flex-wrap:wrap; gap:1rem 1.5rem; }
.kim-actions .kim-lien { font-size:.85rem; }
.kim-hero__repere { margin:2.3rem 0 0; font-size:.78rem; color:#526572; }
.kim-hero__repere span { padding:0 .5rem; color:var(--kim-orange-texte); }
.kim-hero__image { position:relative; min-width:0; }
.kim-hero__image > img { display:block; width:100%; aspect-ratio:4/5; max-height:630px; object-fit:cover; object-position:center 38%; border-radius:45% 45% 3px 3px; }
.kim-hero--accueil .kim-hero__image { margin-left:1rem; }
.kim-hero--accueil .kim-hero__image > img { aspect-ratio:4/4.9; object-position:50% 42%; }
.kim-hero__image figcaption { position:absolute; left:-2rem; right:2rem; bottom:1.6rem; padding:1rem 1.5rem; background:var(--kim-encre); color:white; display:grid; gap:.2rem; font-size:.72rem; letter-spacing:.03em; }
.kim-portrait__nom { font:700 1.25rem/1.3 var(--kim-titre); letter-spacing:-.02em; }
.kim-hero__signe { position:absolute; right:-1.5rem; top:0; width:125px; height:125px; border-radius:50%; background:var(--kim-tangerine); color:var(--kim-encre); overflow:hidden; padding:.3rem; }
.kim-art { display:block; width:100%; height:auto; }
.kim-art__plein { fill:currentColor; stroke:none; }
.kim-manifeste { display:flex; justify-content:space-around; align-items:center; gap:1rem; padding:1.7rem 2rem; color:var(--kim-encre); border-top:1px solid var(--kim-trait); border-bottom:1px solid var(--kim-trait); font:600 clamp(1.15rem,2vw,1.8rem)/1.3 var(--kim-titre); letter-spacing:-.025em; }
.kim-manifeste span::before { content:''; display:inline-block; width:1.3rem; height:1.3rem; vertical-align:-.1em; background:var(--kim-tangerine-fonce); margin-right:1.5rem; -webkit-mask:url('../img/icones/etoile.svg') center/contain no-repeat; mask:url('../img/icones/etoile.svg') center/contain no-repeat; }
/* Sections éditoriales : une hiérarchie et un rythme distincts pour chaque contenu. */
.kim-section { margin:6.5rem 0; }
.kim-section__entete { display:flex; align-items:flex-end; justify-content:space-between; gap:3rem; margin-bottom:2.6rem; }
.kim-section__entete h2 { margin:0; }
.kim-section__entete > p { max-width:20rem; margin:0; font-size:1rem; color:#526572; }
.kim-positionnement { display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(2rem,8vw,8rem); }
.kim-positionnement h2 { max-width:12ch; }
.kim-positionnement > div > .kim-art { width:155px; color:var(--kim-tangerine-fonce); margin-top:2rem; }
.kim-positionnement .kim-prose > p:first-child { font-size:1.25rem; line-height:1.6; color:var(--kim-encre); }
.kim-positionnement .kim-prose > p:first-child a { color:inherit; }
.kim-positionnement ul { list-style:none; padding:0; counter-reset:enjeu; }
.kim-positionnement li { display:flex; gap:1.1rem; padding:.8rem 0; margin:0!important; border-top:1px solid var(--kim-trait); }
.kim-positionnement li::before { counter-increment:enjeu; content:'0' counter(enjeu); color:var(--kim-orange-texte); font-size:.8rem; padding-top:.2rem; }
.kim-prose { max-width:49rem; overflow-wrap:anywhere; }
.kim-prose h2 { font-size:clamp(1.8rem,2.5vw,2.6rem); margin-top:3rem; }
.kim-prose h3 { font-size:1.5rem; margin-top:2rem; }
.kim-prose h2:first-child,.kim-prose h3:first-child { margin-top:0; }
.kim-prose p,.kim-prose ul,.kim-prose ol { max-width:none; margin-bottom:1.3rem; }
.kim-prose ul,.kim-prose ol { padding-left:1.2rem; }
.kim-prose li { margin-bottom:.7rem; padding-left:.3rem; }
.kim-prose li::marker { color:var(--kim-orange-texte); }
.kim-prose blockquote { margin:2rem 0; border-left:3px solid var(--kim-tangerine); padding:1rem 1.5rem; font-size:1.3rem; color:var(--kim-target-blue); }
.kim-prose table { display:block; max-width:100%; overflow-x:auto; }
.kim-prose iframe { max-width:100%; }
.kim-grille { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.kim-carte { min-width:0; display:flex; flex-direction:column; }
.kim-carte__texte { padding:1.6rem 0 0; display:flex; flex:1; flex-direction:column; align-items:start; }
.kim-carte h2,.kim-carte h3 { font-size:1.6rem; line-height:1.2; }
.kim-carte h2 a,.kim-carte h3 a { color:var(--kim-bleu-titres); text-decoration:none; }
.kim-carte h2 a:hover,.kim-carte h3 a:hover { text-decoration:underline; }
.kim-carte p { font-size:.98rem; line-height:1.7; }
.kim-carte .kim-lien { margin-top:auto; }
.kim-carte__visuel { position:relative; overflow:hidden; display:grid; place-items:center; height:260px; background:var(--kim-bleu-pale); color:var(--kim-target-blue); border-radius:3px; }
.kim-carte__visuel .kim-art { height:100%; width:auto; transition:transform .35s; }
.kim-carte--service:hover .kim-carte__visuel .kim-art { transform:scale(1.05) rotate(-3deg); }
.kim-numero { position:absolute; top:1rem; left:1.25rem; font:600 .8rem var(--kim-texte); }
.kim-art--collectif .kim-carte__visuel,.kim-article__visuel.kim-art--collectif { background:var(--kim-codeveloppement); color:var(--kim-bleu-titres); }
.kim-art--dialogue .kim-carte__visuel,.kim-article__visuel.kim-art--dialogue { background:var(--kim-bleu-pale); color:var(--kim-encre); }
.kim-art--collectif .kim-numero { color:inherit; }
.kim-portrait { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,6vw,6rem); padding:4rem; background:var(--kim-encre); color:white; border-radius:4px; }
.kim-portrait > img { width:100%; height:100%; max-height:570px; object-fit:cover; object-position:center 35%; border-radius:3px; }
.kim-portrait > div { align-self:center; }
.kim-portrait h2 { font-size:clamp(2.4rem,4vw,4rem); color:white; }
.kim-portrait p { color:#e1e8eb; }
.kim-portrait .kim-surtitre { color:white; }
.kim-portrait .kim-lien { color:white; margin-top:1rem; }
.kim-portrait a:focus-visible { outline-color:var(--kim-nice-yellow); }
.kim-conviction { display:grid; grid-template-columns:.3fr 1fr; gap:2rem; max-width:1050px; margin-inline:auto; align-items:start; }
.kim-guillemet { color:var(--kim-tangerine-fonce); font:12rem/.9 Georgia,serif; text-align:center; }
.kim-conviction .kim-prose > p:first-child { font:600 clamp(1.6rem,3vw,2.7rem)/1.3 var(--kim-titre); letter-spacing:-.03em; color:var(--kim-bleu-titres); }
.kim-articles { padding-top:4rem; border-top:1px solid var(--kim-trait); }
.kim-article__visuel { display:flex; position:relative; align-items:center; justify-content:center; height:auto; aspect-ratio:16/10; border-radius:14px; width:100%; overflow:hidden; background:var(--kim-bleu-pale); color:var(--kim-target-blue); }
.kim-article__visuel img { width:100%; height:100%; object-fit:cover; }
.kim-article__visuel .kim-art { width:70%; height:130%; transform:rotate(-20deg); }
.kim-article__signature { position:absolute; left:1rem; bottom:1rem; font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; }
.kim-carte--article:nth-child(3n+2) .kim-article__visuel { background:var(--kim-encre); color:var(--kim-soft-blue); }
.kim-carte--article:nth-child(3n) .kim-article__visuel { background:var(--kim-bleu-pale); color:var(--kim-encre); }
.kim-date { font-size:.78rem!important; color:#526572; letter-spacing:.04em; margin-bottom:.8rem; }
.kim-appel { position:relative; overflow:hidden; display:flex; justify-content:space-between; gap:3rem; align-items:center; margin:6rem 0 0; padding:4rem 5rem; background:var(--kim-encadre-fond); border-radius:4px 4px 0 0; }
.kim-appel h2 { font-size:clamp(2.3rem,4.5vw,4.2rem); margin-bottom:2rem; }
.kim-appel .kim-surtitre { color:var(--kim-bleu-titres); }
.kim-appel__art { width:30%; color:var(--kim-target-blue); flex-shrink:0; }
/* Palette commune aux encadrés de fin de page. */
:is(.kim-appel,.kim-enjeux-suite,.kim-contact-modalites,.kim-newsletter) .kim-surtitre { color:var(--kim-bleu-titres); }
:is(.kim-appel,.kim-enjeux-suite,.kim-contact-modalites,.kim-newsletter) :focus-visible { outline-color:var(--kim-target-blue); }
:is(.kim-enjeux-suite,.kim-contact-modalites,.kim-newsletter) a:not(.kim-bouton):hover { color:var(--kim-encre); }
/* Pages intérieures et lecture longue. */
.kim-lecture { margin:3rem auto 5rem; }
.kim-lecture > h2 { padding-top:1.5rem; border-top:1px solid var(--kim-trait); }
.kim-lecture > h2:first-child { border:0; padding-top:0; }
.kim-format { max-width:49rem; margin-inline:auto; background:white; border-left:3px solid var(--kim-tangerine); padding:2rem; }
.kim-format h2 { font-size:2rem; }
.kim-page-libre { max-width:49rem; margin-inline:auto; }
.kim-titre-page { padding:2rem 0 3rem; }
.kim-titre-page h1 { font-size:clamp(2.5rem,4.8vw,4.5rem); }
.kim-article-navigation { display:flex; justify-content:space-between; gap:2rem; margin:4rem 0; font-size:1rem; }
.kim-article-navigation a { max-width:45%; }
.kim-contact { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; gap:1.5rem; margin:0 0 4rem; }
.kim-contact h2 { font-size:clamp(1.9rem,2.7vw,2.6rem); }
.kim-coordonnees { background:var(--kim-target-blue); color:white; padding:clamp(1.5rem,3vw,3rem); overflow-wrap:anywhere; border-radius:20px; }
.kim-coordonnees h2 { color:white; }
.kim-coordonnees a { color:white; }
.kim-coordonnees a:hover { color:var(--kim-nice-yellow); }
.kim-coordonnees :focus-visible { outline-color:var(--kim-nice-yellow); }
.kim-contact form label { display:block; font-size:.95rem; font-weight:600; margin-bottom:.4rem; }
.kim-contact input:not([type=checkbox]):not([type=submit]),.kim-contact textarea { width:100%; min-width:0; padding:.85rem 1rem; border:1px solid #bac8d0; background:var(--kim-ivoire-clair); color:var(--kim-texte-courant); border-radius:10px; transition:border-color .2s,background .2s; }
.kim-contact input:not([type=checkbox]):focus,.kim-contact textarea:focus { background:white; border-color:var(--kim-target-blue); outline:2px solid var(--kim-target-blue); outline-offset:2px; }
.kim-contact textarea { min-height:11rem; resize:vertical; }
.kim-formulaire__accord { display:flex; gap:.7rem; align-items:flex-start; }
.kim-formulaire__accord input { flex:0 0 auto; width:1.1rem; height:1.1rem; margin-top:.35rem; accent-color:var(--kim-target-blue); }
.kim-contact .kim-formulaire__accord label { font-size:.875rem; font-weight:400; }
.kim-contact label span { font-size:.8rem; font-weight:400; }
.kim-formulaire__etat { padding:1rem 1.25rem; border:1px solid #e0b99f; border-left:3px solid var(--kim-tangerine); border-radius:8px; background:var(--kim-bleu-pale); font-size:.95rem; }
.kim-formulaire__etat[role=status] { border-color:#91b9ac; background:#edf6f0; }
/* Pied de page en négatif : bleu d’accent et éléments blancs. */
.kim-pied { --kim-largeur-pied:1120px; background:var(--kim-target-blue); color:white; border-top:1px solid var(--kim-target-blue); padding:4rem var(--kim-gouttiere) 2rem; }
.kim-pied__interieur { max-width:var(--kim-largeur-pied); margin:0 auto 3rem; display:grid; grid-template-columns:1.1fr 1fr .7fr; gap:3rem; }
.kim-pied__logo { display:grid; place-items:center; width:82px; min-height:94px; padding:12px; background:white; border-radius:4px; margin-bottom:1rem; }
.kim-pied .kim-logo { width:58px; margin:0; }
.kim-pied__phrase { font-size:.85rem; max-width:16rem; }
.kim-pied__titre { color:white; font:700 .85rem/1.5 var(--kim-titre); letter-spacing:0; margin-bottom:1.1rem; }
.kim-pied a { color:white; }
.kim-pied a:hover { color:white; text-decoration:underline; }
.kim-pied :focus-visible { outline-color:white; }
.kim-pied__contact p { font-size:.9rem; overflow-wrap:anywhere; }
.kim-pied__telephone { display:inline-block; margin-bottom:.6rem; text-decoration:none; font:600 1.15rem/1.4 var(--kim-titre); }
.kim-pied__adresse { max-width:17rem; color:white; margin-top:1.2rem; }
.kim-pied__social { display:inline-flex; gap:1.5rem; font-size:.8rem; }
.kim-pied__liste { display:grid; list-style:none; gap:.6rem; margin:0; padding:0; font-size:.9rem; }
.kim-pied__liste a { text-decoration:none; }
.kim-pied__liste a:hover { text-decoration:underline; }
.kim-pied__bas { max-width:var(--kim-largeur-pied); margin:auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.5rem; padding-top:1.2rem; border-top:1px solid #ffffff40; font-size:.72rem; }
.kim-pied__mentions { margin:0; font-size:.72rem; }
.kim-pied__legal { display:flex; flex-wrap:wrap; gap:1.5rem; list-style:none; padding:0; margin:0; }
.kim-pied__legal a,.kim-pied__haut { text-decoration:none; }
.kim-pied__haut { display:flex; align-items:center; gap:1rem; }
.kim-pied__haut span { font-size:1.2rem; }
@media(min-width:1450px) { .kim-hero--accueil { min-height:710px; } }
@media(max-width:1120px) {
    .kim-hero--accueil { min-height:0; }
    .kim-hero--accueil h1 { font-size:clamp(3rem,5.5vw,4.5rem); }
    .kim-hero__repere { max-width:20rem; }
    .kim-portrait { padding:2.5rem; gap:2.5rem; }
    .kim-carte__visuel { height:220px; }
    .kim-carte h2,.kim-carte h3 { font-size:1.4rem; }
}
@media(max-width:70rem) {
    .kim-entete__interieur { min-height:88px; grid-template-columns:minmax(0,1fr) auto auto; gap:0 1.25rem; padding:0 1.5rem; }
    .kim-entete__logo { justify-self:start; }
    .kim-entete__contact { grid-column:2; grid-row:1; }
    .kim-menu-bouton:not([hidden]) { display:flex; grid-column:3; grid-row:1; }
    .kim-navigation { display:block; grid-column:1/-1; grid-row:2; width:100%; padding:0 0 1.4rem; max-height:var(--kim-menu-hauteur,calc(100dvh - 89px - var(--kim-admin-offset,0px))); overflow-y:auto; overscroll-behavior:contain; }
    .kim-navigation[hidden] { display:none; }
    .kim-navigation__liste { width:100%; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; font-size:1.1rem; counter-reset:rubrique; }
    .kim-navigation__liste > li { flex-wrap:wrap; border-bottom:1px solid var(--kim-trait); counter-increment:rubrique; }
    .kim-navigation__liste > li > a { flex:1; padding:.9rem 0; }
    .kim-navigation__liste > li > a::before { content:counter(rubrique,decimal-leading-zero); display:inline-block; width:2rem; color:var(--kim-orange-texte); font:400 .65rem/1 var(--kim-texte); }
    .kim-navigation__liste > li > a::after { display:none; }
    .kim-navigation__liste .sub-menu { display:grid; flex-basis:100%; position:static; translate:none; width:100%; grid-template-columns:minmax(0,1fr); gap:.5rem; border:0; border-radius:0; padding:0 0 1rem; box-shadow:none; max-height:none; overflow:visible; }
    .kim-navigation__liste .sub-menu a { min-height:96px; padding:1rem 3rem 1rem 1rem; font-size:1rem; justify-content:center; }
    .kim-menu-offre__dessin { width:62px; height:60px; right:.25rem; top:.8rem; opacity:.8; }
    .kim-menu-offre__titre,.kim-menu-offre__intention { padding-right:1rem; position:relative; z-index:1; }
    .kim-menu-offre__intention { font-size:.7rem; }
    .kim-menu-offre__fleche { display:none; }
    .kim-navigation__contact { display:flex; margin:1.3rem 4px .3rem; border-radius:999px; }
}
@media(max-width:40rem) {
    .kim-entete__interieur { grid-template-columns:minmax(0,1fr) auto; padding:0 1.25rem; }
    .kim-entete__contact { display:none; }
    .kim-menu-bouton:not([hidden]) { grid-column:2; }
}
@media(max-width:48rem) {
    .contenu-principal { padding-top:2rem; }
    .kim-hero { grid-template-columns:minmax(0,1fr); gap:2.5rem; padding:0 0 2.5rem; }
    .kim-hero--accueil h1 { font-size:clamp(2.4rem,10vw,4.4rem); max-width:15ch; }
    .kim-hero__image { width:100%; max-width:520px; margin:auto; }
    .kim-hero--accueil .kim-hero__image { width:calc(100% - 1rem); margin:0 0 0 1rem; }
    .kim-hero--accueil .kim-hero__image > img { max-height:510px; aspect-ratio:1/1.13; object-position:center 34%; }
    .kim-hero__signe { width:95px; height:95px; right:-.3rem; }
    .kim-hero__image figcaption { left:-1rem; right:1rem; bottom:1rem; padding:.9rem 1.1rem; }
    .kim-hero__repere { max-width:none; margin-top:1.6rem; font-size:.72rem; }
    .kim-hero__repere span { padding:0 .25rem; }
    .kim-surtitre { font-size:.7rem; letter-spacing:.1em; margin-bottom:1.2rem; }
    .kim-intro { font-size:1.05rem; }
    .kim-actions { gap:.8rem 1.2rem; }
    .kim-manifeste { padding:1.4rem .2rem; align-items:flex-start; gap:.7rem; font-size:1rem; }
    .kim-manifeste span { flex:1; }
    .kim-manifeste span::before { display:block; margin:0 0 .6rem; }
    .kim-section { margin:4rem 0; }
    .kim-section__entete { display:block; margin-bottom:2rem; }
    .kim-section__entete > p,.kim-section__entete > a { margin-top:1.5rem; }
    .kim-positionnement { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
    .kim-positionnement h2 { max-width:18ch; }
    .kim-positionnement > div > .kim-art { display:none; }
    .kim-positionnement .kim-prose > p:first-child { font-size:1.15rem; }
    .kim-grille { grid-template-columns:minmax(0,1fr); gap:2.5rem; }
    .kim-carte__visuel { height:250px; }
    .kim-carte h2,.kim-carte h3 { font-size:1.8rem; }
    .kim-carte__texte { padding-top:1.3rem; }
    .kim-portrait { grid-template-columns:minmax(0,1fr); padding:1.25rem; gap:2rem; }
    .kim-portrait > img { height:auto; aspect-ratio:1/1.05; object-position:center 30%; }
    .kim-portrait .kim-prose { padding:0 .4rem .8rem; }
    .kim-conviction { grid-template-columns:minmax(0,1fr); gap:0; }
    .kim-guillemet { font-size:6rem; text-align:left; height:4.5rem; }
    .kim-articles { padding-top:3rem; }
    .kim-appel { margin-top:4rem; padding:2.5rem 1.5rem; gap:0; }
    .kim-appel__art { display:none; }
    .kim-appel h2 { font-size:2.4rem; }
    .kim-lecture { margin:2.5rem 0 3.5rem; }
    .kim-contact { grid-template-columns:minmax(0,1fr); gap:2.5rem; }
    .kim-coordonnees { padding:1.5rem; }
    .kim-titre-page { padding-top:0; }
    .kim-article-navigation { flex-direction:column; }
    .kim-article-navigation a { max-width:100%; }
    .kim-pied { padding:3rem 1.75rem 2rem; }
    .kim-pied__interieur { grid-template-columns:1fr 1fr; gap:2rem; margin:0 auto 2rem; }
    .kim-pied__marque { grid-column:1/-1; display:flex; align-items:center; gap:1.5rem; }
    .kim-pied__logo { flex-shrink:0; margin:0; }
    .kim-pied__phrase { margin:0; }
    .kim-pied__contact { min-width:0; }
    .kim-pied__telephone { font-size:1.15rem; }
    .kim-pied__contact p,.kim-pied__liste { font-size:.8rem; }
    .kim-pied__bas { gap:1rem 1.5rem; }

}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; scroll-behavior:auto!important; } }

.kim-detail { display:grid; grid-template-columns:15rem minmax(0,1fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.kim-sommaire { position:sticky; top:calc(6rem + var(--kim-admin-offset,0px)); padding-top:2rem; }
.kim-sommaire a { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--kim-trait); font-size:.9rem; text-decoration:none; }
.kim-detail__contenu { min-width:0; }
.kim-detail__contenu > .kim-section:first-child { margin-top:2rem; }
@media(max-width:48rem) {
    .kim-detail { grid-template-columns:minmax(0,1fr); gap:1rem; }
    .kim-sommaire { position:static; padding:0 0 1rem; }
}

.kim-hero__signe .kim-art { transform:rotate(30deg); }

/* Qui suis-je : portrait éditorial, parcours et valeurs à explorer. */
.kim-bio-reperes { display:flex; justify-content:space-between; padding:1.4rem 0; border-block:1px solid var(--kim-trait); gap:2rem; }
.kim-bio-reperes a { display:flex; align-items:center; justify-content:space-between; flex:1; gap:1.5rem; text-decoration:none; font:600 1.05rem var(--kim-titre); }
.kim-bio-reperes a span { color:var(--kim-orange-texte); }
.kim-bio-engagement { position:relative; overflow:hidden; padding:4rem 5rem; margin-top:4rem; background:var(--kim-encre); color:white; border-radius:3px; }
.kim-bio-engagement .kim-surtitre { color:white; }
.kim-bio-engagement h2 { color:white; max-width:20ch; font-size:clamp(2.5rem,4.8vw,4.8rem); margin:0; }
.kim-bio-engagement__trait { position:absolute; width:300px; height:300px; border:1px solid var(--kim-blue-grey); border-radius:50%; top:2rem; right:-5rem; }
.kim-bio-engagement__trait::after { content:''; position:absolute; inset:25px; border:1px solid var(--kim-blue-grey); border-radius:50%; }
.kim-bio-parcours { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(3rem,7vw,7rem); }
.kim-bio-section__titre h2 { max-width:14ch; }
.kim-parcours > p:first-child { font-size:1.22rem; color:var(--kim-encre); }
.kim-parcours > ol { padding:0; list-style:none; counter-reset:parcours; margin-top:2rem; }
.kim-parcours > ol > li { position:relative; border-left:1px solid var(--kim-trait); padding:0 0 2rem 2.5rem; margin:0; }
.kim-parcours > ol > li::before { content:''; position:absolute; width:10px; height:10px; left:-5.5px; top:.6rem; background:var(--kim-tangerine); border-radius:50%; }
.kim-parcours > ol > li:last-child { padding-bottom:0; }
.kim-parcours h3 { margin:0 0 .7rem; font-size:1.5rem; }
.kim-parcours li p { font-size:1rem; }
.kim-bio-formations { padding:3rem; background:white; border:1px solid var(--kim-trait); }
.kim-bio-formations .kim-prose { max-width:none; }
.kim-bio-formations ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; list-style:none; gap:0 2.5rem; margin:0; }
.kim-bio-formations li { padding:1.3rem 0 1.3rem 1.5rem; margin:0; border-top:1px solid var(--kim-trait); font-size:.98rem; position:relative; }
.kim-bio-formations li::before { content:''; position:absolute; left:0; top:calc(1.3rem + .35em); width:1em; height:1em; background:var(--kim-tangerine-fonce); -webkit-mask:url('../img/icones/fleche.svg') center/contain no-repeat; mask:url('../img/icones/fleche.svg') center/contain no-repeat; }
.kim-bio-valeurs { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,7vw,7rem); }
.kim-bio-valeurs > div > p:not(.kim-surtitre) { max-width:22rem; color:#526572; }
.kim-valeurs__intro { font-size:1rem; margin-bottom:2rem; }
.kim-valeur { border-top:1px solid #bbc8cb; }
.kim-valeur:last-child { border-bottom:1px solid #bbc8cb; }
.kim-valeur summary { cursor:pointer; display:flex; align-items:center; gap:1.2rem; padding:1.3rem 0; color:var(--kim-bleu-titres); font:700 clamp(1.25rem,2vw,1.6rem)/1.3 var(--kim-titre); letter-spacing:-.02em; list-style:none; }
.kim-valeur summary::-webkit-details-marker { display:none; }
.kim-valeur__numero { font:400 .8rem var(--kim-texte); color:var(--kim-orange-texte); }
.kim-valeur__signe { margin-left:auto; flex:0 0 30px; width:30px; height:30px; border:1px solid #bbc8cb; border-radius:50%; position:relative; }
.kim-valeur__signe::before,.kim-valeur__signe::after { content:''; position:absolute; width:10px; height:1px; background:var(--kim-encre); left:9px; top:14px; }
.kim-valeur__signe::after { transform:rotate(90deg); }
.kim-valeur[open] .kim-valeur__signe::after { display:none; }
.kim-valeur .kim-prose { padding:0 0 1rem 2.6rem; font-size:1rem; }
.kim-bio-cabinet { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:clamp(2rem,5vw,5rem); }
.kim-bio-cabinet > img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; }
.kim-bio-cabinet .kim-lien { margin-top:.5rem; }
@media(max-width:64rem) {
    .kim-bio-engagement { padding:3rem; }
    .kim-bio-formations { padding:2rem; }
}
@media(max-width:48rem) {
    .kim-bio-parcours,.kim-bio-valeurs,.kim-bio-cabinet { grid-template-columns:minmax(0,1fr); gap:2rem; }
    .kim-bio-reperes { gap:.75rem; }
    .kim-bio-reperes a { font-size:.85rem; gap:.5rem; }
    .kim-bio-engagement { padding:2.5rem 1.5rem; margin-top:3rem; }
    .kim-bio-engagement h2 { font-size:2.4rem; position:relative; z-index:1; }
    .kim-bio-engagement__trait { width:150px; height:150px; top:auto; bottom:-4rem; right:-4rem; }
    .kim-bio-section__titre h2 { max-width:20ch; }
    .kim-bio-formations { padding:1.5rem; }
    .kim-bio-formations ul { grid-template-columns:minmax(0,1fr); }
    .kim-valeur summary { gap:.8rem; }
    .kim-valeur .kim-prose { padding-left:0; }
}

/* Les visuels d'origine des articles : photos cadrées, documents conservés en entier. */
.kim-carte--article .kim-article__visuel.kim-article__visuel--image { background:#f3f5f6; border:1px solid var(--kim-trait); }
.kim-article__visuel--image img { object-position:center 55%; }
.kim-article__visuel--document img { object-fit:contain; padding:.8rem; background:white; }
.kim-article__couverture { margin:0 0 2.5rem; padding:1rem; background:white; border:1px solid var(--kim-trait); }
.kim-article__couverture img { display:block; width:100%; max-height:560px; object-fit:contain; }

@media(max-width:380px) { .kim-pied__interieur { grid-template-columns:minmax(0,1fr); } .kim-pied__marque { grid-column:auto; } }

/* Vos enjeux : une entrée par situation, ancrée dans un véritable atelier. */
.kim-enjeux-reperes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid var(--kim-trait); }
.kim-enjeux-reperes a { display:flex; align-items:center; gap:1rem; padding:1.4rem 1rem; border-right:1px solid var(--kim-trait); color:var(--kim-encre); text-decoration:none; font:600 .85rem/1.4 var(--kim-titre); }
.kim-enjeux-reperes a:last-child { border-right:0; }
.kim-enjeux-reperes a:hover { background:white; }
.kim-enjeux-reperes a > span:last-child { margin-left:auto; color:var(--kim-orange-texte); }
.kim-enjeux-reperes__numero { color:var(--kim-orange-texte); font-size:.65rem; }
.kim-enjeux-grille { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.kim-enjeu { background:white; padding:2.5rem; border:1px solid var(--kim-trait); border-top:3px solid var(--kim-target-blue); }
.kim-enjeu:nth-child(2),.kim-enjeu:nth-child(3) { border-top-color:var(--kim-target-blue); background:var(--kim-bleu-pale); }
.kim-enjeu__entete { display:flex; align-items:center; gap:1.2rem; margin-bottom:1.5rem; }
.kim-enjeu__entete > span { display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--kim-trait); border-radius:50%; color:var(--kim-orange-texte); font-size:.75rem; flex-shrink:0; }
.kim-enjeu h3 { font-size:1.15rem; margin:0; letter-spacing:-.02em; }
.kim-enjeu__texte > p:first-child { font:700 clamp(1.5rem,2.3vw,2.1rem)/1.2 var(--kim-titre); letter-spacing:-.03em; color:var(--kim-bleu-titres); }
.kim-enjeu__texte { font-size:.95rem; }
.kim-enjeu__texte ul { list-style:none; padding:0; margin:1.5rem 0; }
.kim-enjeu__texte li { position:relative; padding:.55rem 0 .55rem 1.3rem; border-bottom:1px solid var(--kim-trait); }
.kim-enjeu__texte li::before { content:''; position:absolute; left:0; top:calc(.55rem + .35em); width:1em; height:1em; background:var(--kim-tangerine-fonce); -webkit-mask:url('../img/icones/fleche.svg') center/contain no-repeat; mask:url('../img/icones/fleche.svg') center/contain no-repeat; }
.kim-enjeu__texte > p:last-child { margin-bottom:0; font-size:.85rem; }
.kim-enjeux-suite { display:grid; grid-template-columns:1fr 1fr; gap:5rem; padding:3.5rem; margin:5rem 0; background:var(--kim-encadre-fond); }
.kim-enjeux-suite h2 { font-size:clamp(2rem,3.4vw,3.2rem); }
.kim-enjeux-suite .kim-prose { font-size:.95rem; margin-bottom:1.5rem; }
.kim-enjeux-solutions a { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1.5rem 0; border-bottom:1px solid #163b5430; text-decoration:none; color:var(--kim-encre); font:700 1.4rem/1.3 var(--kim-titre); }
.kim-enjeux-solutions a:first-child { padding-top:0; }
.kim-enjeux-solutions a:hover { color:var(--kim-target-blue); }
.kim-enjeux-solutions small { display:block; margin-top:.65rem; color:var(--kim-encre); font:400 .85rem/1.6 var(--kim-texte); }
@media(max-width:48rem) {
    .kim-enjeux-reperes { grid-template-columns:1fr 1fr; }
    .kim-enjeux-reperes a { padding:1rem .65rem; gap:.55rem; font-size:.75rem; }
    .kim-enjeux-reperes a:nth-child(2) { border-right:0; }
    .kim-enjeux-reperes a:nth-child(-n+2) { border-bottom:1px solid var(--kim-trait); }
    .kim-enjeux-grille { grid-template-columns:minmax(0,1fr); gap:1rem; }
    .kim-enjeu { padding:1.5rem; }
    .kim-enjeux-suite { grid-template-columns:minmax(0,1fr); gap:2.5rem; padding:2rem 1.5rem; margin:3rem 0; }
}

/* Accompagnements : les trois approches précèdent les informations détaillées. */
.kim-offres { margin:4.5rem 0 6rem; }
.kim-offres .kim-section__entete h2 { font-size:clamp(2rem,3vw,3rem); }
.kim-offres__grille { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.kim-offre { min-width:0; overflow:hidden; display:flex; flex-direction:column; background:white; border:1px solid #d6dcd980; border-radius:18px; transition:box-shadow .25s,border-color .25s; }
.kim-offre:hover { border-color:var(--kim-blue-grey); box-shadow:0 12px 30px #163b540c; }
.kim-offre__visuel { display:flex; align-items:center; justify-content:center; position:relative; height:170px; color:var(--kim-target-blue); background:var(--kim-bleu-pale); }
.kim-offre--collectif .kim-offre__visuel { background:#daebe4; }
.kim-offre--dialogue .kim-offre__visuel { background:var(--kim-mediation); }
.kim-offre__visuel > span { position:absolute; left:1.5rem; top:1.25rem; font:600 .75rem/1 var(--kim-titre); }
.kim-offre__visuel > .kim-art { width:200px; height:180px; }
.kim-offre__texte { display:flex; flex-direction:column; align-items:flex-start; flex:1; padding:1.75rem; }
.kim-offre h3 { font-size:clamp(1.45rem,2.25vw,2.1rem); letter-spacing:-.035em; }
.kim-offre h3 a { color:var(--kim-bleu-titres); text-decoration:none; }
.kim-offre h3 a:hover { color:var(--kim-bleu-titres); text-decoration:underline; }
.kim-offre p { font-size:.95rem; line-height:1.7; margin-bottom:1.75rem; }
.kim-offre .kim-lien { width:100%; justify-content:space-between; margin-top:auto; border-color:var(--kim-trait); font-size:.85rem; }
.kim-offres-rubrique { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:clamp(2rem,5vw,5rem); padding:3rem 0; border-top:1px solid var(--kim-trait); }
.kim-offres-rubrique__titre .kim-surtitre { display:block; margin-bottom:1rem; }
.kim-offres-rubrique h2 { font-size:clamp(2rem,3vw,3rem); }
.kim-offres-rubrique .kim-prose { font-size:.95rem; }
.kim-offres-rubrique .kim-prose > ul { list-style:none; padding:0; }
.kim-offres-rubrique .kim-prose > ul > li { padding:1.2rem 0; margin:0; border-bottom:1px solid var(--kim-trait); }
.kim-offres-rubrique .kim-prose > ul > li:last-child { border-bottom:0; }
.kim-offres-rubrique .kim-prose > :last-child { margin-bottom:0; }
.kim-offres-rubrique--expertises { padding:3rem; margin-bottom:2rem; border:0; border-radius:20px; background:var(--kim-bleu-pale); grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr); }
.kim-offres-rubrique--expertises .kim-prose > ul:first-child { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.kim-offres-rubrique--expertises .kim-prose > ul:first-child > li { padding:.9rem 1rem; margin:0; border:1px solid #ffffff90; background:#ffffffa0; border-radius:10px; font-size:.85rem; line-height:1.5; }
.kim-offres-rubrique--expertises .kim-prose h3 { font-size:1.3rem; line-height:1.35; }
@media(max-width:60rem) {
    .kim-offres__grille { grid-template-columns:minmax(0,1fr); }
    .kim-offre { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1fr); }
    .kim-offre__visuel { height:100%; min-height:210px; }
    .kim-offre__texte { padding:1.75rem; }
    .kim-offres-rubrique--expertises { padding:2rem; }
}
@media(max-width:48rem) {
    .kim-offres { margin:3.5rem 0; }
    .kim-offres__grille { grid-template-columns:minmax(0,1fr); }
    .kim-offre { display:flex; }
    .kim-offre__texte { padding:1.5rem; }
    .kim-offre h3 { font-size:1.8rem; }
    .kim-offre__visuel { height:150px; min-height:0; }
    .kim-offres-rubrique { grid-template-columns:minmax(0,1fr); gap:1rem; padding:2.5rem 0; }
    .kim-offres-rubrique--expertises { padding:1.5rem; }
    .kim-offres-rubrique--expertises .kim-prose > ul:first-child { grid-template-columns:minmax(0,1fr); }
}

/* Contact : formulaire immédiatement accessible et coordonnées à portée de main. */
.kim-contact-formulaire { grid-column:2; grid-row:1; min-width:0; padding:clamp(1.5rem,3vw,3rem); background:white; border:1px solid #d6dcd980; border-radius:20px; }
.kim-contact-formulaire .kim-surtitre { margin-bottom:1rem; }
.kim-contact-formulaire h2 { margin-bottom:.8rem; }
.kim-contact-formulaire__intro { margin-bottom:2rem; font-size:.95rem; color:#526572; }
.kim-contact-formulaire form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1.25rem; }
.kim-contact-formulaire form > p { grid-column:1/-1; min-width:0; max-width:none; margin-bottom:1.4rem; }
.kim-contact-formulaire form > p:nth-of-type(1) { grid-column:1; }
.kim-contact-formulaire form > p:nth-of-type(2) { grid-column:2; }
.kim-contact-formulaire form label { font-size:.85rem; }
.kim-contact-formulaire form label span { font-size:.7rem; color:#526572; }
.kim-contact-formulaire .kim-formulaire__accord label { font-size:.78rem; line-height:1.6; margin:0; }
.kim-contact-formulaire form > button { grid-column:1/-1; justify-self:start; border-radius:999px; padding:.95rem 1.5rem; font-size:.85rem; }
.kim-contact-direct { grid-column:1; grid-row:1; min-width:0; }
.kim-coordonnees .kim-surtitre { color:white; margin-bottom:1rem; font-size:.65rem; }
.kim-coordonnees dl { margin:1.8rem 0 0; }
.kim-coordonnees dl > div { padding:1.1rem 0; border-top:1px solid #ffffff30; }
.kim-coordonnees dt { margin-bottom:.45rem; color:var(--kim-soft-blue); font-size:.7rem; letter-spacing:.04em; }
.kim-coordonnees dd { margin:0; font-size:.95rem; line-height:1.6; }
.kim-coordonnees dd a { display:flex; align-items:center; justify-content:space-between; gap:1rem; text-decoration:none; }
.kim-coordonnees dd a:hover { text-decoration:underline; }
.kim-coordonnees dd a > span { font-size:1.2rem; }
.kim-coordonnees__telephone { font:600 clamp(1.2rem,1.7vw,1.65rem)/1.4 var(--kim-titre); }
.kim-coordonnees__linkedin { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:.5rem; font-size:.75rem; text-decoration:none; }
.kim-contact-modalites { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1fr); gap:clamp(2rem,6vw,6rem); padding:clamp(1.5rem,4vw,4rem); border-radius:20px; background:var(--kim-encadre-fond); }
.kim-contact-modalites h2 { font-size:clamp(2rem,3vw,3rem); }
.kim-contact-modalites__dessin { width:100px; height:90px; color:var(--kim-target-blue); }
.kim-contact-modalites .kim-prose { font-size:.95rem; }
.kim-contact-modalites .kim-prose > ul { padding:0; list-style:none; counter-reset:modalite; }
.kim-contact-modalites .kim-prose > ul > li { position:relative; padding:1.25rem 0 1.25rem 2.5rem; margin:0; border-top:1px solid #bdcdd8; }
.kim-contact-modalites .kim-prose > ul > li::before { counter-increment:modalite; content:counter(modalite,decimal-leading-zero); position:absolute; left:0; top:1.4rem; font-size:.7rem; color:var(--kim-target-blue); }
.kim-contact-modalites .kim-prose > :last-child { margin-bottom:0; }
@media(max-width:60rem) {
    .kim-contact--refonte { grid-template-columns:minmax(0,1fr); gap:2rem; }
    .kim-contact-formulaire,.kim-contact-direct { grid-column:1; grid-row:auto; }
    .kim-contact-direct { display:block; }
}
@media(max-width:40rem) {
    .kim-contact-formulaire form { grid-template-columns:minmax(0,1fr); }
    .kim-contact-formulaire form > p:nth-of-type(2) { grid-column:1; }
    .kim-contact-formulaire form > button { justify-self:stretch; }
    .kim-contact-direct,.kim-contact-modalites { grid-template-columns:minmax(0,1fr); }
    .kim-contact-modalites__dessin { display:none; }
}

/* Hero commun : composition éditoriale inspirée de Qui suis-je et Vos enjeux. */
.kim-page-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:clamp(2rem,5vw,5rem); padding:.5rem 0 3.5rem; margin-bottom:1rem; }
.kim-page-hero__texte { min-width:0; }
.kim-page-hero h1 { font-size:clamp(2.8rem,4.9vw,4.7rem); line-height:1.08; margin-bottom:1.8rem; overflow-wrap:break-word; }
.kim-page-hero--titre-long h1 { font-size:clamp(2rem,4.1vw,3.9rem); }
.kim-page-hero h1 > span { display:block; margin-top:.3em; font-size:.78em; color:var(--kim-bleu-titres); }
.kim-page-hero__fonction { color:var(--kim-bleu-titres); font:600 1.1rem/1.5 var(--kim-titre); }
.kim-page-hero .kim-intro { font-size:1rem; margin-bottom:1.5rem; max-width:35rem; }
.kim-page-hero .kim-intro > :last-child { margin-bottom:0; }
.kim-page-hero .kim-bouton { border-radius:999px; }
.kim-page-hero__visuel { position:relative; min-width:0; margin:0; padding:0 0 1.5rem 1.5rem; }
.kim-page-hero__visuel::before { content:''; position:absolute; bottom:0; left:0; width:65%; height:60%; background:var(--kim-target-blue); border-radius:0 0 0 60px; }
.kim-page-hero__visuel > img,.kim-page-hero__illustration { position:relative; display:block; width:100%; aspect-ratio:1.1; object-fit:cover; object-position:center 15%; border-radius:4px 4px 70px 4px; }
.kim-page-hero__visuel figcaption { position:absolute; left:0; bottom:2.5rem; max-width:85%; background:white; color:var(--kim-encre); padding:.8rem 1rem; font-size:.72rem; line-height:1.5; }
.kim-page-hero__illustration { display:grid; place-items:center; color:var(--kim-target-blue); background:var(--kim-bleu-pale); }
.kim-page-hero__illustration .kim-art { width:78%; height:78%; }
.kim-page-hero__visuel--document > img { object-fit:contain; background:white; padding:1.25rem; }
@media(max-width:48rem) {
    .kim-page-hero { grid-template-columns:minmax(0,1fr); gap:2rem; padding:0 0 2.5rem; }
    .kim-page-hero h1 { font-size:clamp(2.5rem,9vw,4rem); }
    .kim-page-hero--titre-long h1 { font-size:clamp(1.75rem,6.5vw,3rem); }
    .kim-page-hero__visuel { width:100%; max-width:530px; justify-self:center; padding:0 0 1rem 1rem; }
    .kim-page-hero__visuel > img,.kim-page-hero__illustration { aspect-ratio:1.3; }
    .kim-page-hero__visuel figcaption { bottom:1.75rem; padding:.6rem .8rem; }
}

/* Ouverture de session : les anneaux se dessinent, se déploient et révèlent la page. */
.kim-intro-site { position:fixed; inset:0; z-index:100000; display:grid; place-items:center; overflow:hidden; background:var(--kim-papier); cursor:pointer; animation:kim-intro-revelation 1.15s ease 2.05s both; }
.kim-intro-site[hidden] { display:none; }
.kim-intro-site__logo { width:clamp(280px,55vmin,420px); height:clamp(280px,55vmin,420px); overflow:visible; }
.kim-intro-site__cercles { transform-origin:180px 180px; animation:kim-intro-expansion 1.5s cubic-bezier(.6,0,.25,1) 1.45s both; }
.kim-intro-site__cercle { stroke:var(--kim-target-blue); stroke-width:2.4; stroke-dasharray:1; stroke-dashoffset:1; animation:kim-intro-trace 1.25s cubic-bezier(.3,0,.2,1) var(--depart) both; }
.kim-intro-site__cercle:nth-child(even) { stroke:var(--kim-target-blue); stroke-width:1.8; }
.kim-intro-site__k { transform-origin:180px 180px; animation:kim-intro-k 2.6s ease both; }
@keyframes kim-intro-trace { from { stroke-dashoffset:1; opacity:0; } 15% { opacity:1; } to { stroke-dashoffset:0; opacity:1; } }
@keyframes kim-intro-expansion { from { transform:scale(1) rotate(-8deg); opacity:1; } to { transform:scale(9) rotate(12deg); opacity:0; } }
@keyframes kim-intro-k { 0% { opacity:0; transform:scale(.9); } 20%,75% { opacity:1; transform:scale(1); } 100% { opacity:0; transform:scale(1.05); } }
@keyframes kim-intro-revelation { from { opacity:1; } to { opacity:0; visibility:hidden; } }
@media(prefers-reduced-motion:reduce) { .kim-intro-site { display:none!important; animation:none!important; } .kim-intro-site * { animation:none!important; } }

/* Respiration avant le dernier bloc et séparation nette avec le pied de page. */
.contenu-principal > section:last-child:not(:first-child) { margin-top:clamp(5rem,10vw,9rem); }
.contenu-principal > :last-child { margin-bottom:0; }

/* Ressources : vignettes avec durée de lecture. */
.kim-article__media { position:relative; }
.kim-article__temps { position:absolute; bottom:12px; right:12px; padding:.4rem .7rem; border:1px solid #163b5414; border-radius:8px; background:#ffffffed; color:var(--kim-encre); font-size:.7rem; font-weight:600; line-height:1.4; pointer-events:none; }
#articles { row-gap:3.5rem; }

/* Icônes vectorielles : aucun glyphe susceptible de devenir un emoji iOS. */
.kim-icone { display:inline-block; width:1em; height:1em; flex-shrink:0; vertical-align:-.15em; }

/* Le bouton principal de l’accueil reprend la finition du header. */
.kim-hero--accueil .kim-bouton { border-color:var(--kim-target-blue); border-radius:999px; box-shadow:0 0 0 4px #96d5d440; transition:background .2s,box-shadow .2s; }
.kim-hero--accueil .kim-bouton:hover,.kim-hero--accueil .kim-bouton:focus-visible { box-shadow:0 0 0 4px #96d5d480; }
