/* LPE 2.24 — Impact global hors ministères */
.lpe-v224-active{
  --v224-accent:#176bff;
  --v224-accent-2:#7fc7ff;
  --v224-ink:#07101d;
  --v224-soft:#f2f5fa;
}
.lpe-v224-tone-red{--v224-accent:#ef2345;--v224-accent-2:#ff8a9d}
.lpe-v224-tone-white{--v224-accent:#2d3e57;--v224-accent-2:#b8c7d9}
.lpe-v224-tone-tricolor{--v224-accent:#176bff;--v224-accent-2:#ef2345}
.lpe-v224-tone-proof{--v224-accent:#0a55d9;--v224-accent-2:#4fe3b1}
.lpe-v224-tone-human{--v224-accent:#d6425b;--v224-accent-2:#f0ad68}
.lpe-v224-tone-game{--v224-accent:#854dff;--v224-accent-2:#2ee6ff}
.lpe-v224-tone-movement{--v224-accent:#ef2345;--v224-accent-2:#176bff}
.lpe-v224-tone-mayor{--v224-accent:#143f78;--v224-accent-2:#d7b965}

.lpe-v224-active .lpe-site-main{overflow:clip}
.lpe-v224-active .lpe-site-main>.lpe-section:first-of-type{position:relative;isolation:isolate;overflow:hidden}
.lpe-v224-active .lpe-site-main>.lpe-section:first-of-type::after{
  content:"";position:absolute;z-index:-1;width:min(48vw,620px);aspect-ratio:1;border-radius:50%;right:-16vw;top:-22%;
  background:radial-gradient(circle, color-mix(in srgb,var(--v224-accent) 22%, transparent), transparent 68%);
  filter:blur(8px);pointer-events:none
}
.lpe-v224-active .lpe-site-main>.lpe-section:first-of-type h1{letter-spacing:-.055em;line-height:.93;text-wrap:balance}
.lpe-v224-active .lpe-site-main>.lpe-section:first-of-type h1,
.lpe-v224-active .lpe-site-main>.lpe-section:first-of-type h2{max-width:18ch}

/* Le moment mémorable propre à chaque page. */
.lpe-v224-impact{position:relative;padding:clamp(38px,7vw,94px) 0;background:linear-gradient(180deg,#f8fafc 0%,#eef3f9 100%);color:var(--v224-ink);overflow:hidden}
.lpe-v224-impact::before{content:"";position:absolute;inset:0;background:
 radial-gradient(circle at 8% 20%,color-mix(in srgb,var(--v224-accent) 10%, transparent),transparent 23%),
 radial-gradient(circle at 92% 78%,color-mix(in srgb,var(--v224-accent-2) 12%, transparent),transparent 20%);pointer-events:none}
.lpe-v224-impact__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.13fr) minmax(260px,.87fr);gap:clamp(24px,5vw,72px);align-items:center}
.lpe-v224-impact__copy{position:relative;z-index:2}
.lpe-v224-impact__copy .lpe-kicker{color:var(--v224-accent);font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.lpe-v224-impact__copy h2{margin:12px 0 18px;max-width:15ch;font-size:clamp(2rem,5vw,4.8rem);line-height:.94;letter-spacing:-.055em;text-wrap:balance;color:#07101d}
.lpe-v224-impact__copy>p:not(.lpe-kicker){max-width:64ch;margin:0 0 18px;color:#4c5b70;font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.58}
.lpe-v224-impact__chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.lpe-v224-impact__chips span{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid rgba(7,16,29,.1);box-shadow:0 8px 20px rgba(16,34,61,.05);font-size:.75rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#26364d}
.lpe-v224-impact .lpe-button--primary{background:var(--v224-accent);border-color:var(--v224-accent);color:#fff}
.lpe-v224-impact .lpe-button--ghost{background:rgba(255,255,255,.72);border-color:rgba(7,16,29,.14);color:#07101d}

.lpe-v224-impact__media{position:relative;min-height:clamp(300px,38vw,500px);border-radius:36px;overflow:hidden;isolation:isolate;transform-style:preserve-3d;box-shadow:0 36px 75px rgba(12,32,61,.19);border:1px solid rgba(255,255,255,.65);background:#0a1424}
.lpe-v224-impact__media::before{content:"";position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(2,7,16,.02),rgba(2,7,16,.58)),var(--v224-image);background-position:center;background-size:cover;transform:scale(1.045);z-index:-4}
.lpe-v224-impact__media::after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,color-mix(in srgb,var(--v224-accent) 24%, transparent),transparent 37%,transparent 66%,color-mix(in srgb,var(--v224-accent-2) 20%, transparent));z-index:-3}
.lpe-v224-impact__depth{position:absolute;pointer-events:none;transition:transform .24s ease}
.lpe-v224-impact__depth--back{width:62%;height:62%;right:-12%;top:-10%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 66%);filter:blur(10px)}
.lpe-v224-impact__depth--mid{left:8%;right:8%;bottom:9%;height:30%;border:1px solid rgba(255,255,255,.24);border-radius:26px;transform:perspective(800px) rotateX(64deg);background:linear-gradient(180deg,rgba(255,255,255,.1),transparent)}
.lpe-v224-impact__depth--front{width:44%;height:44%;left:-10%;bottom:-9%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--v224-accent) 52%, transparent),transparent 68%);filter:blur(8px)}
.lpe-v224-impact__media>span{position:absolute;left:22px;bottom:22px;z-index:3;max-width:8ch;color:#fff;font-size:clamp(1.45rem,3.1vw,3rem);line-height:.87;letter-spacing:-.055em;font-weight:950;text-shadow:0 12px 28px rgba(0,0,0,.55)}

/* Les pages longues doivent se parcourir comme des chapitres. */
.lpe-v224-progress{position:fixed;right:14px;top:50%;z-index:88;transform:translateY(-50%);display:flex;flex-direction:column;gap:5px;padding:8px;border:1px solid rgba(7,16,29,.08);border-radius:18px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);box-shadow:0 16px 42px rgba(9,27,53,.1)}
.lpe-v224-progress button{appearance:none;border:0;background:transparent;padding:6px;cursor:pointer;display:grid;grid-template-columns:auto;align-items:center;color:#53647c;font:inherit;border-radius:12px}
.lpe-v224-progress button i{display:block;width:7px;height:7px;border-radius:50%;background:#b9c4d3;transition:.2s ease}
.lpe-v224-progress button span{display:none}
.lpe-v224-progress button.is-active{background:color-mix(in srgb,var(--v224-accent) 9%, transparent)}
.lpe-v224-progress button.is-active i{width:10px;height:10px;background:var(--v224-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--v224-accent) 12%, transparent)}

/* Plus de respiration, plus de hiérarchie, sans refaire tous les templates. */
.lpe-v224-active .lpe-section-heading h2,
.lpe-v224-active .lpe-content-block>h2,
.lpe-v224-active .lpe-content-block>header h2{letter-spacing:-.045em;line-height:.98;text-wrap:balance}
.lpe-v224-active .lpe-content-block{scroll-margin-top:100px}
.lpe-v224-active .lpe-three-cards>a,
.lpe-v224-active .lpe-three-cards>button,
.lpe-v224-active .lpe-module-grid>a,
.lpe-v224-active .lpe-ministry-products>a,
.lpe-v224-active .lpe-participate-choices>a,
.lpe-v224-active .lpe-discover-doors>a,
.lpe-v224-active .lpe-game-card,
.lpe-v224-active .lpe-principles-grid>article,
.lpe-v224-active .lpe-identity-principles article{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;transform-style:preserve-3d
}
.lpe-v224-active .lpe-three-cards>a:hover,
.lpe-v224-active .lpe-three-cards>button:hover,
.lpe-v224-active .lpe-module-grid>a:hover,
.lpe-v224-active .lpe-ministry-products>a:hover,
.lpe-v224-active .lpe-participate-choices>a:hover,
.lpe-v224-active .lpe-discover-doors>a:hover,
.lpe-v224-active .lpe-game-card:hover,
.lpe-v224-active .lpe-principles-grid>article:hover,
.lpe-v224-active .lpe-identity-principles article:hover{transform:translateY(-4px);box-shadow:0 24px 48px rgba(9,27,53,.12);border-color:color-mix(in srgb,var(--v224-accent) 30%, #d8dee8)}

.lpe-v224-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.2,1)}
.lpe-v224-reveal.is-visible{opacity:1;transform:none}

/* Quelques signatures : une même famille, pas un site monotone. */
.lpe-v224-page-manifeste .lpe-v224-impact,
.lpe-v224-page-theatre .lpe-v224-impact{background:linear-gradient(180deg,#10131a,#171b23);color:#fff}
.lpe-v224-page-manifeste .lpe-v224-impact__copy h2,
.lpe-v224-page-theatre .lpe-v224-impact__copy h2{color:#fff}
.lpe-v224-page-manifeste .lpe-v224-impact__copy>p:not(.lpe-kicker),
.lpe-v224-page-theatre .lpe-v224-impact__copy>p:not(.lpe-kicker){color:#cbd3df}
.lpe-v224-page-manifeste .lpe-v224-impact__chips span,
.lpe-v224-page-theatre .lpe-v224-impact__chips span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#fff}
.lpe-v224-page-quiz .lpe-v224-impact{background:linear-gradient(180deg,#080b16,#121229);color:#fff}
.lpe-v224-page-quiz .lpe-v224-impact__copy h2{color:#fff}
.lpe-v224-page-quiz .lpe-v224-impact__copy>p:not(.lpe-kicker){color:#c5cee1}
.lpe-v224-page-quiz .lpe-v224-impact__chips span{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.12)}
.lpe-v224-page-parrainages .lpe-v224-impact{background:linear-gradient(180deg,#f6f2e7,#eef5fa)}
.lpe-v224-page-terrain .lpe-v224-impact,
.lpe-v224-page-france-interieur .lpe-v224-impact,
.lpe-v224-page-pour-moi .lpe-v224-impact{background:linear-gradient(180deg,#fff8f1,#f4f6fb)}

@media(min-width:1180px){
 .lpe-v224-progress button:hover{grid-template-columns:auto max-content;gap:8px}
 .lpe-v224-progress button:hover span{display:block;max-width:150px;font-size:.7rem;font-weight:800;white-space:nowrap}
}
@media(max-width:1050px){.lpe-v224-progress{display:none}}
@media(max-width:780px){
 .lpe-v224-impact{padding:38px 0 46px}
 .lpe-v224-impact__grid{grid-template-columns:1fr;gap:22px}
 .lpe-v224-impact__copy h2{font-size:clamp(2rem,10vw,3.3rem);max-width:18ch}
 .lpe-v224-impact__media{min-height:310px;border-radius:28px;order:-1}
 .lpe-v224-impact__media>span{font-size:2rem}
 .lpe-v224-impact .lpe-actions{display:grid;grid-template-columns:1fr}
 .lpe-v224-impact .lpe-button{justify-content:center;text-align:center}
 .lpe-v224-active .lpe-site-main>.lpe-section:first-of-type h1{font-size:clamp(2.5rem,13vw,5rem)}
}
@media(max-width:480px){
 .lpe-v224-impact__chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .lpe-v224-impact__chips span{text-align:center;padding:8px 5px;font-size:.64rem}
 .lpe-v224-impact__media{min-height:270px}
}
@media(prefers-reduced-motion:reduce){
 .lpe-v224-reveal{opacity:1!important;transform:none!important;transition:none!important}
 .lpe-v224-active *{scroll-behavior:auto!important}
 .lpe-v224-impact__depth{transition:none!important}
}
