/* k107: darker service tiles, no bright blotches behind text */
html body article.art.wk.section,html.flow-splash body article.art.wk.section{background-color:rgba(6,14,13,.88)!important;background-image:linear-gradient(180deg,rgba(6,14,13,.3),rgba(6,14,13,.5))!important;backdrop-filter:blur(22px) saturate(.85) brightness(.7)!important;-webkit-backdrop-filter:blur(22px) saturate(.85) brightness(.7)!important}
html body .story .slot.svc-card,html.flow-splash.frame-on body .story .slot.svc-card,html.flow-splash body .story .slot.svc-card.on{background-color:rgba(6,14,13,.86)!important;background-image:linear-gradient(160deg,rgba(6,14,13,.35),rgba(6,14,13,.1))!important;backdrop-filter:blur(18px) saturate(.85) brightness(.65)!important;-webkit-backdrop-filter:blur(18px) saturate(.85) brightness(.65)!important}
.k107-hint{margin:.9rem auto 0;text-align:center;font:500 .72rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--kgold,#c8a25a);opacity:0;transform:translateY(4px);transition:opacity .5s,transform .5s}
.k107-hint::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#d8443a;margin-right:.6rem;vertical-align:middle;box-shadow:0 0 0 4px rgba(216,68,58,.18)}
.k107-done .k107-hint{opacity:1;transform:none}
html body .k96-rail{} 
/* k107 : vue d'ensemble des services */
.svc-ov{margin-top:1.1rem;text-align:left}
.svc-ov-h{font:500 .62rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--kgold,#c8a25a);margin:0 0 .6rem}
.svc-ov ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.45rem}
.svc-ov a{display:grid;grid-template-columns:auto 1fr;column-gap:.55rem;align-items:baseline;padding:.6rem .75rem;border:1px solid rgba(200,162,90,.38);background:rgba(6,14,13,.6);color:#f7efe1;text-decoration:none;border-radius:2px;transition:border-color .2s,background .2s;pointer-events:auto}
.svc-ov a:hover,.svc-ov a:focus-visible{border-color:#c8a25a;background:rgba(200,162,90,.12);outline:none}
.svc-ov-n{font:500 .6rem/1 var(--sans);letter-spacing:.15em;color:#d8b36e;grid-row:span 2}
.svc-ov b{font:500 .95rem/1.2 var(--serif)}
.svc-ov-d{grid-column:2;font-size:.74rem;line-height:1.35;color:#d9cfbf;margin-top:.15rem}
@media (max-width:560px),(orientation:portrait){.svc-ov ul{grid-template-columns:1fr}.svc-ov a{padding:.45rem .65rem}.svc-ov-d{font-size:.7rem}.s-intent .card-d{display:none}}
html.enso-compact body .story .s-intent nav.svc-ov,html body .story .s-intent nav.svc-ov{display:block!important}
html body .story .s-intent nav.svc-ov,html body .story .s-intent nav.svc-ov *{text-transform:none!important;letter-spacing:normal!important;text-shadow:none!important}
html body .story .s-intent nav.svc-ov .svc-ov-h{letter-spacing:.3em!important;text-transform:uppercase!important}
html body .story .s-intent nav.svc-ov b{font-size:.95rem!important;line-height:1.2!important}
html body .story .s-intent nav.svc-ov .svc-ov-d{font-size:.74rem!important}
html body .story .s-intent:has(nav.k109-tiles) .card-n.ess{display:none!important}
@media (max-width:560px),(orientation:portrait){html body .story .s-intent nav.svc-ov ul{grid-template-columns:1fr 1fr!important;gap:.4rem!important}
 html body .story .s-intent nav.svc-ov a{grid-template-columns:1fr!important;padding:.5rem .6rem!important}
 html body .story .s-intent nav.svc-ov .svc-ov-n{grid-row:auto!important;margin-bottom:.25rem}
 html body .story .s-intent nav.svc-ov .svc-ov-d{grid-column:1!important;font-size:.68rem!important}
 html body .story .s-intent nav.svc-ov b{font-size:.86rem!important}}
html body .story .s-intent nav.svc-ov a{background:rgba(6,14,13,.82)!important}
html body .story .slot.s-intent{background:radial-gradient(ellipse 75% 60% at 50% 50%,rgba(4,10,10,.62),rgba(4,10,10,.35) 60%,transparent 100%)!important}
html body .story .s-intent nav.svc-ov a{background:rgba(5,12,11,.9)!important}
html body .story .s-intent nav.svc-ov .svc-ov-d{color:#ece4d6!important}
html body .story .s-intent .ai-tag{text-shadow:0 1px 12px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.9)!important}
.k107-hint{margin:.9rem auto 1rem!important}
/* k108 : Methode pilotee par le defilement */
html body #methode .mt-steps.k108{display:flex;flex-direction:column;gap:clamp(1rem,4vh,2.4rem);position:relative;max-width:46rem;margin:0 auto;padding:0 0 0 3.4rem}
#methode .k108-rail{position:absolute;left:1.15rem;top:1.6rem;bottom:1.6rem;width:2px;margin-left:-1px;background:rgba(200,162,90,.22);list-style:none;pointer-events:none;border:0;padding:0}
#methode .k108-rail>i{position:absolute;inset:0;background:linear-gradient(#e0473b,#c8202a);box-shadow:0 0 10px rgba(224,71,59,.6);transform-origin:top;transform:scaleY(var(--k108p,0));will-change:transform}
#methode .k108-rm .k108-rail>i{transform:none}
html body #methode .k108>.mt-step{position:relative;opacity:.55;transition:opacity .35s ease,border-color .35s ease,box-shadow .35s ease!important;transform:none!important;filter:none!important}
html body #methode .k108>.mt-step.k108-past{opacity:.78}
html body #methode .k108>.mt-step.k108-on,html body #methode .k108.k108-rm>.mt-step{opacity:1;border-color:rgba(224,71,59,.85);box-shadow:0 0 0 1px rgba(224,71,59,.35),0 10px 40px rgba(0,0,0,.45)}
#methode .k108 .mt-step h3{min-height:0}
#methode .k108 .mt-line{display:none}
#methode .k108 button.mt-n{position:absolute;left:-3.4rem;top:1rem;width:2.3rem;height:2.3rem;border-radius:50%;display:grid;place-items:center;padding:0;font:600 .72rem/1 inherit;letter-spacing:.05em;color:var(--kgold,#c8a25a);background:#081312;border:1.5px solid rgba(200,162,90,.55);cursor:pointer;transition:background .35s,color .35s,border-color .35s}
#methode .k108 .k108-past button.mt-n{border-color:#c8202a;color:#f1d9c2}
#methode .k108 .k108-on button.mt-n,#methode .k108-rm button.mt-n{background:#c8202a;border-color:#e0473b;color:#fff}
#methode .k108 button.mt-n:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (max-width:560px){html body #methode .mt-steps.k108{padding-left:2.9rem}#methode .k108 button.mt-n{left:-2.9rem;width:2.1rem;height:2.1rem}#methode .k108-rail{left:1.05rem}}
html body #methode .k108>.mt-step{display:block!important;opacity:.72}
html body #methode .k108>.mt-step.k108-past{opacity:.85}
html body #methode .k108>.mt-step>h3{margin:0 0 .5rem!important;position:static!important}
html body #methode .k108>.mt-step>p{position:static!important;margin:0!important}
/* k109 : tuiles services (option A) */
html body .story .s-intent nav.k109-tiles{display:block!important;margin:1.4rem 0 0;text-transform:none;letter-spacing:normal}
.k109-tiles ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.k109-tiles a{display:flex;flex-direction:column;gap:.35rem;padding:.75rem .85rem;min-height:4.4rem;background:rgba(5,12,11,.82);border:1px solid rgba(200,162,90,.38);border-radius:2px;color:#f3ebdd;text-decoration:none;transition:border-color .3s,background .3s,transform .3s;backdrop-filter:blur(6px)}
.k109-tiles a span{font-size:.66rem;letter-spacing:.28em;color:var(--kgold,#c8a25a)}
.k109-tiles a b{font-family:var(--serif);font-weight:500;font-size:.98rem;line-height:1.2}
.k109-tiles a:hover,.k109-tiles a:focus-visible{border-color:#e0473b;background:rgba(14,10,10,.9);transform:translateY(-2px)}
.k109-tiles a:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (min-width:961px) and (orientation:landscape){
 html body .story .s-intent nav.k109-tiles{position:absolute;right:calc(clamp(2rem,6vw,7rem) - var(--k109r,0px));top:50%;transform:translateY(-50%);width:clamp(17rem,22vw,21rem);margin:0;z-index:3}
 .k109-tiles ul{grid-template-columns:1fr;gap:.6rem}
 .k109-tiles a{flex-direction:row;align-items:baseline;gap:1rem;min-height:0;padding:.95rem 1.2rem}
 .k109-tiles a:hover,.k109-tiles a:focus-visible{transform:translateX(-4px)}}
/* k109 : panneaux services enrichis */
.svc-card .k109-facts{margin:.7rem 0 .2rem;display:grid;gap:.35rem;font-size:.82rem;line-height:1.45;text-transform:none;letter-spacing:normal}
.svc-card .k109-facts div{display:grid;grid-template-columns:5.6rem 1fr;gap:.6rem}
.svc-card .k109-facts dt{color:var(--kgold,#c8a25a);font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;padding-top:.2em}
.svc-card .k109-facts dd{margin:0;color:#ece4d6}
.svc-card .k109-facts{text-align:left;margin:.8rem auto .9rem;max-width:30rem}
@media (min-width:961px){html body #methode .mt-steps.k108{gap:.85rem}#methode .k108 .mt-step{padding-top:.9rem;padding-bottom:.9rem}}
/* k113 : navigateur de services = 4 carrés séparés ; survol/focus -> un seul carré s'étend ; côté opposé à la tuile visible */
html body nav.k110-nav{display:block!important;background:none!important;padding:0!important;border:0!important;box-shadow:none!important;height:auto!important;min-height:0!important;backdrop-filter:none!important;text-transform:none!important}
html body nav.k110-nav a,html body nav.k110-nav span{text-transform:none!important}
html body nav.k110-nav a::before,html body nav.k110-nav a::after{display:none!important;content:none!important}
.k110-nav{--sq:2.6rem;position:fixed;z-index:60;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s,left .7s cubic-bezier(.65,0,.25,1)}
.k110-nav.on{opacity:1;visibility:visible;transition:opacity .35s ease,left .7s cubic-bezier(.65,0,.25,1)}
.k110-nav ol{list-style:none;margin:0;padding:0;display:flex;gap:.5rem}
.k110-nav li{display:flex}
.k110-nav a{display:flex;align-items:center;height:var(--sq);min-width:var(--sq);max-width:var(--sq);overflow:hidden;box-sizing:border-box;text-decoration:none;background:#0b1413;border:1px solid rgba(200,162,90,.32);border-radius:2px;box-shadow:0 6px 18px rgba(0,0,0,.35);color:#cfc4b4;transition:max-width .45s cubic-bezier(.2,.7,.2,1),border-color .3s,background .3s;-webkit-tap-highlight-color:transparent}
.k110-nav .k110-n{flex:0 0 calc(var(--sq) - 2px);display:grid;place-items:center;height:100%;font-size:.72rem;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:#cfc4b4;transition:color .3s}
.k110-nav .k110-t{white-space:nowrap;font-family:var(--serif);font-size:.92rem;letter-spacing:.02em;color:#f3ebdd;opacity:0;padding:0 .9rem 0 .1rem;transition:opacity .25s}
.k110-nav a.cur{border-color:#c8a25a;box-shadow:0 0 0 1px rgba(200,162,90,.35),0 6px 18px rgba(0,0,0,.35)}
.k110-nav a.cur .k110-n{color:#e6c07a}
.k110-nav a.x{max-width:20rem;border-color:rgba(230,192,122,.85);background:#101b1a}
.k110-nav a.x .k110-t{opacity:1;transition:opacity .3s .12s}
.k110-nav a:focus-visible{outline:2px solid #f3ebdd;outline-offset:3px}
/* côté droit : le carré s'étend vers la gauche (intérieur) */
.k110-nav.k113-r ol{align-items:flex-end}
.k110-nav.k113-r a{flex-direction:row-reverse}
.k110-nav.k113-r .k110-t{padding:0 .1rem 0 .9rem}
@media (hover:hover) and (pointer:fine){
 .k110-nav{top:50%;transform:translateY(-50%);left:var(--k113x,1.4rem)}
 .k110-nav ol{flex-direction:column;align-items:flex-start}
}
@media not ((hover:hover) and (pointer:fine)){
 .k110-nav{--sq:2.75rem;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + var(--k113b,5.2rem));transition:opacity .35s ease,visibility 0s linear .35s}
 .k110-nav.on{transition:opacity .35s ease}
 .k110-nav ol{justify-content:center;align-items:center}
 .k110-nav.k113-r ol{align-items:center}
 .k110-nav a.x{max-width:min(15rem,62vw)}
 .k110-nav .k110-t{font-size:.85rem}
}
@media (prefers-reduced-motion:reduce){.k110-nav,.k110-nav *{transition:none!important}}
/* k113b : carrés en position absolue dans un emplacement fixe -> l'extension ne déplace jamais le groupe et part vers l'intérieur */
.k110-nav li{position:relative;width:var(--sq);height:var(--sq)}
.k110-nav li>a{position:absolute;top:0;left:0}
.k110-nav.k113-r li>a{left:auto;right:0}
@media not ((hover:hover) and (pointer:fine)){.k110-nav li{transition:width .45s cubic-bezier(.2,.7,.2,1)}.k110-nav li:has(a.x){width:min(13rem,calc(100vw - 12.5rem))}.k110-nav li>a{position:static}.k110-nav li:has(a.x)>a{max-width:none;width:100%}}
@media (prefers-reduced-motion:reduce){.k110-nav li{transition:none!important}}
@media not ((hover:hover) and (pointer:fine)){html body nav.k110-nav{top:auto!important;width:auto!important;transform:none!important}}
.k110-nav{pointer-events:none}.k110-nav.on a{pointer-events:auto}
/* k116 : MOBILE (hors desktop paysage) - tuiles du hero « intention » sans conteneur noir, fines et longues, empilées, centrées */
@media not ((min-width:961px) and (orientation:landscape)){
 html body .story .s-intent nav.k109-tiles{position:static!important;display:block!important;background:none!important;border:0!important;padding:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;width:auto!important;max-width:21rem;margin:1rem auto 0!important;transform:none!important;flex-direction:initial}
 html body .story .s-intent .k109-tiles ul{grid-template-columns:1fr;gap:.5rem}
 html body .story .s-intent .k109-tiles a{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:.9rem;min-height:0;padding:.72rem 1.1rem;text-align:left}
 html body .story .s-intent .k109-tiles a b{font-size:.95rem}
 html body .story .s-intent .k109-tiles a::after{content:none!important;display:none!important}
}
@media not ((hover:hover) and (pointer:fine)){html body nav.k110-nav{bottom:auto!important;top:var(--k116t,5rem)!important}}
/* k117 : Méthode tactile = 1 geste par étape ; seule l'étape active déplie son texte -> les 4 étapes tiennent à l'écran (04 au-dessus de la barre « Démarrer ») */
@media (hover:none),(pointer:coarse){
 #methode .mt-steps.k108 .mt-step p{max-height:12rem;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.7,.2,1),opacity .35s,margin .45s}
 #methode .mt-steps.k108 .mt-step:not(.k108-on) p{max-height:0;opacity:0;margin-top:0;margin-bottom:0}
 html body #methode .mt-steps.k108{gap:.7rem}
 #methode .k108 .mt-step{padding-top:.85rem;padding-bottom:.85rem;transition:padding .45s}
 html body #methode .k108>.mt-step:not(.k108-on)>h3{margin-bottom:0!important}
}
@media (prefers-reduced-motion:reduce){#methode .mt-steps.k108 .mt-step p{transition:none}}
