/* Styles propres à la page /solutions/politiques-internes/ */
a:focus-visible{outline:2px solid #2A63B5;outline-offset:3px;border-radius:8px}
.card{background:#FFFFFF;border:1px solid #ECEBE8;border-radius:16px;box-shadow:0 1px 2px rgba(47,46,43,.04),0 10px 30px rgba(47,46,43,.06)}
a.card{text-decoration:none;color:#2F2E2B;transition:transform .2s ease,box-shadow .2s ease}
a.card:hover{color:#2F2E2B;transform:translateY(-3px);box-shadow:0 18px 40px rgba(47,46,43,.10)}
.kicker{font-size:15px;font-weight:500;color:#6F6E69;margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;box-sizing:border-box;transition:transform .15s ease,background .15s ease}
.btn-dark{background:#2F2E2B;color:#FFFFFF}
.btn-dark:hover{background:#1E1D1B;color:#FFFFFF;transform:translateY(-1px)}
.btn-ghost{background:#FFFFFF;color:#2F2E2B;border:1px solid #E3E2DF}
.btn-ghost:hover{color:#2F2E2B;border-color:#9B9A95}
.btn-light{background:#FFFFFF;color:#2F2E2B}
.btn-light:hover{color:#2F2E2B;transform:translateY(-1px)}
.tile{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;text-decoration:none;color:#2F2E2B}
.sable{background:#ECE8DF}
.ciel{background:#DCE6F2}
.vert{background:#3B7A4E;color:#FFFFFF}
.encre{background:#2F2E2B;color:#FFFFFF}
.demo{font-size:12.5px;color:#6F6E69;margin:0}
.go{margin-top:auto;font-size:14px;font-weight:600;color:#3B7A4E}
.me{align-self:flex-start;max-width:85%;background:#F3F2EF;border-radius:14px 14px 14px 4px;padding:12px 14px;font-size:15px;line-height:1.5}
.ai{border:1px solid #E3E2DF;border-radius:4px 14px 14px 14px;padding:12px 14px;font-size:15px;line-height:1.55}
/* ===== ANIMATIONS ===== */
@keyframes wordIn{from{opacity:0;translate:0 .38em;filter:blur(8px)}to{opacity:1;translate:0 0;filter:blur(0)}}
:is(section:has(h1) :has(> h1),section:has(> h1)) > :not(h1){animation:riseIn .9s cubic-bezier(.2,.7,.2,1) .5s both}
:is(section:has(h1) :has(> h1),section:has(> h1)) > :not(h1):nth-child(1){animation-delay:.05s}
:is(section:has(h1) :has(> h1),section:has(> h1)) > :not(h1):nth-child(3){animation-delay:.6s}
:is(section:has(h1) :has(> h1),section:has(> h1)) > :not(h1):nth-child(4){animation-delay:.72s}
:is(section:has(h1) :has(> h1),section:has(> h1)) > :not(h1):nth-child(n+5){animation-delay:.84s}
section:has(h1) .wrap:not(:has(> h1)) > :not(:has(h1)){animation:tileIn 1.1s cubic-bezier(.2,.7,.2,1) .35s both}
.anim-on [data-r]{transition:opacity .8s ease var(--d,0ms),translate .95s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .25s ease,box-shadow .25s ease,background-color .2s ease,color .2s ease,border-color .2s ease}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
