/* LPE 2.56 — Refonte premium de la page maires.
   Dominante orange / cuivre, narration avant → après,
   accès direct au PDF, puis parcours détaillé existant. */

body.lpe-v249-mayors,
.lpe-mayor-v256{
  /* `clip` coupe le débordement horizontal sans créer un conteneur de scroll
     parasite : essentiel pour le scroll vertical et la quicknav sticky. */
  overflow-x:clip;
}

/* Le dock ne coupe pas l'ouverture visuelle. */
body.lpe-v249-mayors:not(.lpe-v249-mayor-dock-ready) .lpe-reading-dock{
  opacity:0!important;
  pointer-events:none!important;
  transform:translateY(calc(100% + 12px))!important;
}
body.lpe-v249-mayors .lpe-reading-dock{transition:opacity .28s ease,transform .28s ease}

/* Le PDF reste repérable dans la sous-navigation. */
.lpe-mayor-v249__quick-pdf{background:#13283e!important;color:#fff!important;border-color:#13283e!important}
.lpe-mayor-v249__quick-pdf:hover{background:#df7e2b!important;border-color:#df7e2b!important;color:#fff!important}

/* Caret pour le titre écrit en direct. */
.lpe-mayor-v249__title-line{
  display:block;
  min-height:.95em;
  white-space:nowrap;
}
.lpe-mayor-v249__title-line.is-current::after{
  content:"";
  display:inline-block;
  width:.055em;
  height:.78em;
  margin-left:.06em;
  vertical-align:.02em;
  border-radius:2px;
  background:currentColor;
  opacity:.72;
  animation:lpe249MayorCaret .72s steps(1,end) infinite;
}
@keyframes lpe249MayorCaret{0%,48%{opacity:.72}49%,100%{opacity:.08}}

.lpe-mayor-v256{
  --lpe-orange:#ea8630;
  --lpe-orange-deep:#c7641b;
  --lpe-orange-soft:#fff3e8;
  --lpe-ink:#102033;
  --lpe-ink-soft:#485a6b;
  --lpe-border:rgba(16,32,51,.1);
}

/* ==================== HERO ==================== */
.lpe-mayor-v256__hero{
  position:relative;
  min-height:min(980px,calc(100svh - 44px));
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#09192a;
  isolation:isolate;
}
.lpe-mayor-v256__hero-media,
.lpe-mayor-v256__hero-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.lpe-mayor-v256__hero-media{
  z-index:-3;
  background-image:
    linear-gradient(90deg,rgba(5,16,28,.92) 0%,rgba(5,16,28,.82) 32%,rgba(5,16,28,.36) 60%,rgba(5,16,28,.20) 100%),
    linear-gradient(180deg,rgba(5,16,28,.18),rgba(5,16,28,.45) 56%,rgba(5,16,28,.86) 100%),
    var(--mayor-before);
  background-size:cover;
  background-position:center center;
  transform:scale(1.01);
}
.lpe-mayor-v256__hero-glow{
  z-index:-2;
  background:
    radial-gradient(circle at 80% 18%, rgba(245,161,89,.32), transparent 28%),
    radial-gradient(circle at 30% 72%, rgba(58,124,214,.18), transparent 30%);
}
.lpe-mayor-v256__hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:190px;
  z-index:-1;
  background:linear-gradient(180deg,rgba(9,25,42,0),rgba(9,25,42,.82));
}
.lpe-mayor-v256__hero-grid{
  position:relative;
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.78fr);
  gap:clamp(26px,4vw,54px);
  align-items:end;
  padding-top:clamp(80px,12vh,130px);
  padding-bottom:clamp(48px,7vh,82px);
}
.lpe-mayor-v256__hero-copy{
  max-width:760px;
  color:#fff;
}
.lpe-mayor-v256__hero .lpe-kicker{
  justify-content:flex-start;
  margin:0 0 16px;
  color:#efbf96;
}
.lpe-mayor-v256__hero-title h1{
  margin:0;
  font-size:clamp(3rem,6vw,6.2rem);
  line-height:.90;
  letter-spacing:-.06em;
  font-weight:840;
}
.lpe-mayor-v256__title-block{display:block;width:max-content;max-width:100%}
.lpe-mayor-v256__title-block--accent{
  margin-top:10px;
  margin-left:clamp(18px,2.2vw,42px);
  color:#ffd3aa;
}
.lpe-mayor-v256__intro{
  max-width:670px;
  margin:18px 0 0 clamp(18px,2.2vw,42px);
  color:rgba(236,242,248,.92);
  font-size:1rem;
  line-height:1.64;
}
.lpe-mayor-v256__intro strong{color:#fff}
.lpe-mayor-v256__cta-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}
.lpe-mayor-v256__cta{
  position:relative;
  min-height:84px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:17px 48px 15px 18px;
  border-radius:18px;
  text-decoration:none;
  border:1px solid transparent;
  box-shadow:0 18px 44px rgba(0,0,0,.16);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.lpe-mayor-v256__cta:hover{transform:translateY(-3px);box-shadow:0 24px 50px rgba(0,0,0,.22)}
.lpe-mayor-v256__cta span{font-size:.92rem;font-weight:850;letter-spacing:-.02em}
.lpe-mayor-v256__cta small{margin-top:5px;font-size:.67rem;line-height:1.35;opacity:.86}
.lpe-mayor-v256__cta i{position:absolute;top:50%;right:18px;transform:translateY(-50%);font-style:normal;font-size:1rem}
.lpe-mayor-v256__cta--orange{background:linear-gradient(180deg,#f39a43,#dc7626);color:#fff}
.lpe-mayor-v256__cta--ghost{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.2);backdrop-filter:blur(14px)}
.lpe-mayor-v256__cta--dark{background:#101f30;color:#fff;border-color:rgba(255,255,255,.08)}

.lpe-mayor-v256__hero-panel{
  position:relative;
  max-width:430px;
  justify-self:end;
  padding:26px 24px 22px;
  border-radius:28px;
  background:rgba(255,248,240,.95);
  border:1px solid rgba(237,145,65,.24);
  color:var(--lpe-ink);
  box-shadow:0 34px 78px rgba(3,10,20,.26);
  backdrop-filter:blur(18px);
}
.lpe-mayor-v256__panel-kicker{
  margin:0 0 10px;
  color:#97612d;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.lpe-mayor-v256__hero-panel h2{
  margin:0 0 14px;
  font-size:clamp(1.9rem,2.25vw,2.55rem);
  line-height:.96;
  letter-spacing:-.05em;
}
.lpe-mayor-v256__hero-panel h2 span{color:var(--lpe-orange-deep)}
.lpe-mayor-v256__hero-list{display:grid;gap:11px;margin:0;padding:0;list-style:none}
.lpe-mayor-v256__hero-list li{padding-top:11px;border-top:1px solid #ecd9c6;color:#58626d;font-size:.86rem;line-height:1.52}
.lpe-mayor-v256__hero-list strong{color:#13283e}
.lpe-mayor-v256__hero-mini{
  display:grid;
  gap:10px;
  margin-top:18px;
}
.lpe-mayor-v256__hero-mini div{
  padding:14px 15px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(16,32,51,.08);
}
.lpe-mayor-v256__hero-mini span{display:block;margin-bottom:5px;color:#8e6838;font-size:.63rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.lpe-mayor-v256__hero-mini strong{display:block;font-size:1rem;line-height:1.2;color:#12263b}
.lpe-mayor-v256__hero-mini small{display:block;margin-top:4px;color:#6b7380;font-size:.68rem;line-height:1.35}

.lpe-mayor-v256__scroll{
  position:absolute;
  left:50%;bottom:12px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.68);
  font-size:.6rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
}
.lpe-mayor-v256__scroll span{display:block;width:14px;height:22px;border:1px solid rgba(255,255,255,.48);border-radius:12px;position:relative}
.lpe-mayor-v256__scroll span::after{content:"";position:absolute;top:4px;left:50%;width:2px;height:5px;border-radius:2px;background:#fff;transform:translateX(-50%);animation:lpe256MayorScroll 1.7s ease infinite}
@keyframes lpe256MayorScroll{0%{opacity:0;transform:translate(-50%,0)}35%{opacity:1}100%{opacity:0;transform:translate(-50%,7px)}}

/* ==================== PROMISE STRIP ==================== */
.lpe-mayor-v256__promise{
  padding:clamp(52px,7vw,82px) 0;
  background:linear-gradient(180deg,#fff6ef,#fff);
}
.lpe-mayor-v256__promise-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.56fr) minmax(0,1fr);
  gap:18px;
  align-items:stretch;
}
.lpe-mayor-v256__promise-card,
.lpe-mayor-v256__promise-center{
  border-radius:30px;
  padding:28px 24px;
}
.lpe-mayor-v256__promise-card{
  background:#fff;
  border:1px solid var(--lpe-border);
  box-shadow:0 22px 60px rgba(16,32,51,.08);
}
.lpe-mayor-v256__promise-card .lpe-kicker{justify-content:flex-start;margin:0 0 10px}
.lpe-mayor-v256__promise-card h2{
  margin:0 0 12px;
  font-size:clamp(1.65rem,2.2vw,2.3rem);
  line-height:1.02;
  letter-spacing:-.045em;
  color:#13283e;
}
.lpe-mayor-v256__promise-card h2 em{font-style:normal;color:var(--lpe-orange-deep)}
.lpe-mayor-v256__promise-card p{margin:0;color:#607080;line-height:1.62}
.lpe-mayor-v256__promise-card ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.lpe-mayor-v256__promise-card li{padding-left:16px;position:relative;color:#23384d;font-weight:600}
.lpe-mayor-v256__promise-card li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--lpe-orange)}
.lpe-mayor-v256__promise-card--blue{border-top:3px solid #275f96}
.lpe-mayor-v256__promise-card--orange{border-top:3px solid var(--lpe-orange)}
.lpe-mayor-v256__promise-center{
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  background:linear-gradient(180deg,#15283d,#0c1828);
  color:#fff;
  box-shadow:0 30px 70px rgba(8,18,29,.22);
}
.lpe-mayor-v256__promise-badge{
  width:64px;height:64px;
  margin:0 auto 16px;
  display:grid;place-items:center;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#ffc58c,#e67d27);
  color:#fff;font-weight:900;letter-spacing:.08em
}
.lpe-mayor-v256__promise-center h3{margin:0 0 10px;font-size:clamp(1.55rem,2vw,2.2rem);line-height:1.02;letter-spacing:-.04em}
.lpe-mayor-v256__promise-center p{margin:0;color:#d6e0eb;line-height:1.6}

/* ==================== TURN / AFTER ==================== */
.lpe-mayor-v256__turn{
  padding:clamp(36px,5vw,66px) 0 clamp(72px,8vw,100px);
  background:#fff;
}
.lpe-mayor-v256__turn-grid{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.72fr);
  gap:clamp(18px,3vw,30px);
  align-items:stretch;
}
.lpe-mayor-v256__turn-visual{
  min-height:640px;
  position:relative;
  border-radius:34px;
  overflow:hidden;
  background-image:
    linear-gradient(180deg,rgba(11,25,39,.12),rgba(11,25,39,.44) 66%,rgba(11,25,39,.74) 100%),
    var(--mayor-after);
  background-size:cover;
  background-position:center center;
  box-shadow:0 34px 84px rgba(9,23,39,.18);
}
.lpe-mayor-v256__turn-overlay{
  position:absolute;
  left:24px;right:24px;bottom:24px;
  padding:24px 24px 22px;
  border-radius:26px;
  background:rgba(12,24,38,.72);
  border:1px solid rgba(255,255,255,.10);
  color:#fff;
  backdrop-filter:blur(12px);
}
.lpe-mayor-v256__turn-overlay .lpe-kicker{justify-content:flex-start;margin:0 0 10px;color:#efbf96}
.lpe-mayor-v256__turn-overlay h2{margin:0 0 10px;font-size:clamp(1.9rem,2.8vw,2.9rem);line-height:.98;letter-spacing:-.05em}
.lpe-mayor-v256__turn-overlay p{margin:0;max-width:58ch;color:#e0e8f0;line-height:1.62}

.lpe-mayor-v256__turn-panel{
  padding:26px 22px;
  border-radius:28px;
  background:linear-gradient(180deg,#fff6ee,#fff);
  border:1px solid rgba(225,130,47,.18);
  box-shadow:0 24px 60px rgba(16,32,51,.08);
}
.lpe-mayor-v256__turn-panel .lpe-kicker{justify-content:flex-start;margin:0 0 10px;color:#8c602b}
.lpe-mayor-v256__turn-panel h2{margin:0 0 14px;font-size:clamp(1.8rem,2.25vw,2.45rem);line-height:1.02;letter-spacing:-.05em;color:#13283e}
.lpe-mayor-v256__download-list{display:grid;gap:12px}
.lpe-mayor-v256__download-list a{
  position:relative;
  display:block;
  padding:16px 44px 16px 16px;
  border-radius:18px;
  text-decoration:none;
  background:#fff;
  border:1px solid rgba(16,32,51,.08);
  color:#12263b;
  transition:transform .2s ease, box-shadow .2s ease;
}
.lpe-mayor-v256__download-list a:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(16,32,51,.10)}
.lpe-mayor-v256__download-list span{display:block;font-weight:850;letter-spacing:-.02em}
.lpe-mayor-v256__download-list small{display:block;margin-top:5px;color:#65717e;line-height:1.38}
.lpe-mayor-v256__download-list i{position:absolute;top:50%;right:16px;transform:translateY(-50%);font-style:normal}
.lpe-mayor-v256__note{margin:16px 0 0;color:#5f6c79;line-height:1.62}

/* Animations d'apparition douces pour donner un peu de relief. */
@media (prefers-reduced-motion:no-preference){
  .lpe-mayor-v256__hero-copy,
  .lpe-mayor-v256__hero-panel,
  .lpe-mayor-v256__promise-card,
  .lpe-mayor-v256__promise-center,
  .lpe-mayor-v256__turn-visual,
  .lpe-mayor-v256__turn-panel{
    opacity:0;
    transform:translateY(18px);
    animation:lpe256Rise .74s cubic-bezier(.2,.8,.2,1) forwards;
  }
  .lpe-mayor-v256__hero-panel{animation-delay:.12s}
  .lpe-mayor-v256__promise-card--blue{animation-delay:.08s}
  .lpe-mayor-v256__promise-center{animation-delay:.14s}
  .lpe-mayor-v256__promise-card--orange{animation-delay:.20s}
  .lpe-mayor-v256__turn-visual{animation-delay:.08s}
  .lpe-mayor-v256__turn-panel{animation-delay:.16s}
  @keyframes lpe256Rise{to{opacity:1;transform:none}}
}

/* La sous-navigation apparaît sous le header condensé, pas derrière lui. */
@media (min-width:781px){
  .lpe-mayor-v225__quicknav{top:53px}
  .admin-bar .lpe-mayor-v225__quicknav{top:85px}
}

/* ==================== MOBILE / TABLETTE ==================== */
@media (max-width:1180px){
  .lpe-mayor-v256__hero-grid,
  .lpe-mayor-v256__turn-grid{grid-template-columns:1fr}
  .lpe-mayor-v256__hero-panel{max-width:none;justify-self:stretch}
  .lpe-mayor-v256__promise-grid{grid-template-columns:1fr}
  .lpe-mayor-v256__promise-center{min-height:240px}
}

@media (max-width:780px){
  .lpe-mayor-v256__hero{
    min-height:auto;
    align-items:flex-start;
  }
  .lpe-mayor-v256__hero-media{
    background-image:
      linear-gradient(180deg,rgba(5,16,28,.88) 0%,rgba(5,16,28,.66) 38%,rgba(5,16,28,.86) 100%),
      var(--mayor-before);
    background-position:center center;
  }
  .lpe-mayor-v256__hero-grid{
    padding-top:36px;
    padding-bottom:34px;
    gap:18px;
  }
  .lpe-mayor-v256__hero-title h1{font-size:clamp(2.55rem,12.4vw,4rem)}
  .lpe-mayor-v256__title-block--accent,
  .lpe-mayor-v256__intro{margin-left:14px}
  .lpe-mayor-v256__intro{font-size:.94rem}
  .lpe-mayor-v256__cta-row{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding:2px 16vw 2px 0;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .lpe-mayor-v256__cta-row::-webkit-scrollbar{display:none}
  .lpe-mayor-v256__cta{flex:0 0 78vw;min-width:78vw;scroll-snap-align:start}
  .lpe-mayor-v256__hero-panel{padding:21px 18px 19px;border-radius:24px}
  .lpe-mayor-v256__turn-visual{min-height:480px}
  .lpe-mayor-v256__turn-overlay{left:16px;right:16px;bottom:16px;padding:19px 18px}
  .lpe-mayor-v256__turn-panel{padding:22px 18px}
  .lpe-mayor-v256__scroll{display:none}
  .lpe-mayor-v225__quicknav{top:0}.admin-bar .lpe-mayor-v225__quicknav{top:46px}
}

@media (max-width:430px){
  .lpe-mayor-v256__hero-title h1{font-size:clamp(2.18rem,11vw,3rem)}
  .lpe-mayor-v256__hero-panel h2,
  .lpe-mayor-v256__turn-panel h2,
  .lpe-mayor-v256__promise-card h2{font-size:1.65rem}
}

@media (prefers-reduced-motion:reduce){
  .lpe-mayor-v249__title-line.is-current::after,
  .lpe-mayor-v256__scroll span::after,
  .lpe-mayor-v256__cta,
  .lpe-mayor-v256__download-list a{animation:none;transition:none}
  .lpe-mayor-v256__hero-copy,
  .lpe-mayor-v256__hero-panel,
  .lpe-mayor-v256__promise-card,
  .lpe-mayor-v256__promise-center,
  .lpe-mayor-v256__turn-visual,
  .lpe-mayor-v256__turn-panel{opacity:1;transform:none}
}

/* ==================== STYLES CONSERVÉS POUR LE RESTE DE LA PAGE ==================== */
.lpe-mayor-v249__profile-example{
  margin:18px 0 0;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.16);
  color:#d8e3ef;
  font-size:.86rem;
  line-height:1.5;
}
.lpe-mayor-v249__profile-example strong{color:#f1d591}

.lpe-mayor-v249__choice{padding:clamp(78px,9vw,125px) 0;background:#fff8e7}
.lpe-mayor-v249__choice-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,7vw,92px);align-items:center}
.lpe-mayor-v249__choice .lpe-kicker{color:#8b652a}
.lpe-mayor-v249__choice h2{max-width:13ch;margin:10px 0 18px;font-size:clamp(2.5rem,4.8vw,5rem);line-height:.95;letter-spacing:-.052em;color:#13263a}
.lpe-mayor-v249__choice header>p:last-child{max-width:68ch;color:#5d6875;line-height:1.65}
.lpe-mayor-v249__choice-example{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.lpe-mayor-v249__choice-example article{min-height:188px;padding:20px;border:1px solid #dfd5b9;border-radius:21px;background:#fff;display:flex;flex-direction:column;box-shadow:0 14px 34px rgba(68,49,13,.06)}
.lpe-mayor-v249__choice-example article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#173f69;color:#fff;font-size:.72rem;font-weight:900}
.lpe-mayor-v249__choice-example article>strong{margin:auto 0 9px;font-size:1.08rem;line-height:1.16;color:#15293f}
.lpe-mayor-v249__choice-example article>small{color:#777263;font-size:.68rem;line-height:1.35}
.lpe-mayor-v249__choice-example>p{grid-column:1/-1;margin:6px 0 0;padding:17px 19px;border-radius:18px;background:#153b62;color:#dbe7f3;font-size:.88rem;line-height:1.52}
.lpe-mayor-v249__choice-example>p strong{color:#fff}
.lpe-mayor-v249__choice-rule{display:grid;grid-template-columns:110px 1fr;gap:18px;margin-top:22px;padding:17px 19px;border-top:1px solid #d9cba8;color:#675d49}
.lpe-mayor-v249__choice-rule strong{color:#8b652a}.lpe-mayor-v249__choice-rule p{margin:0;line-height:1.55;font-size:.86rem}
.lpe-mayor-v225__sponsorship .lpe-actions{max-width:980px;margin-left:auto;margin-right:auto}

@media (max-width:900px){
  .lpe-mayor-v249__choice-grid{grid-template-columns:1fr}
  .lpe-mayor-v249__choice h2{max-width:15ch}
}
@media (max-width:700px){
  .lpe-mayor-v249__choice-example{grid-template-columns:1fr}
  .lpe-mayor-v249__choice-example article{min-height:145px}
  .lpe-mayor-v249__choice-rule{grid-template-columns:1fr;gap:5px}
}

/* 2.57 — effets premium déclenchés au scroll, uniquement si JS confirme le support. */
.lpe-mayor-v256__hero-media{
  transform:scale(1.025) translate3d(0,var(--lpe-mayor-depth,0px),0);
  will-change:transform;
}
body.lpe-v257-motion-ready .lpe-v257-reveal{
  opacity:0;
  transform:translate3d(0,24px,0) scale(.992);
  transition:
    opacity .72s cubic-bezier(.2,.8,.2,1) var(--lpe-reveal-delay,0ms),
    transform .72s cubic-bezier(.2,.8,.2,1) var(--lpe-reveal-delay,0ms),
    box-shadow .25s ease;
}
body.lpe-v257-motion-ready .lpe-v257-reveal.is-visible{
  opacity:1;
  transform:none;
}
@media (max-width:960px){
  .lpe-mayor-v256__hero-media{transform:scale(1.012)}
}
@media (prefers-reduced-motion:reduce){
  body.lpe-v257-motion-ready .lpe-v257-reveal{opacity:1;transform:none;transition:none}
}
