/* Base (cadre de page du runtime) */
html,body{height:100%;margin:0}#mz-root,#mz-root>.mz-host{height:100%}
[data-off]{display:none!important}

/* Styles globaux de la maquette */
html{scroll-behavior:smooth}
body{margin:0;background:#FFFFFF;color:#000000;font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased}
a{color:#000000;text-decoration:none}
a:hover{color:#F15C19}
*{box-sizing:border-box}
img{display:block}
/* Animations (même vocabulaire que l'accueil) — actives seulement quand le script a ajouté .mz-anim */
.mz-anim [data-clip].off{clip-path:inset(0 0 0 100%);transition:clip-path 1.2s cubic-bezier(.7,0,.2,1)}
.mz-anim [data-clip="l"].off{clip-path:inset(0 100% 0 0)}
.mz-anim [data-clip].off.on{clip-path:inset(0 0 0 0)}
.mz-anim [data-clip].off img{transform:scale(1.18);transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}
.mz-anim [data-clip].off.on img{transform:scale(1)}
/* Méthode pilotée par le scroll (s'allume en descendant, s'éteint en remontant), comme sur l'accueil */
[data-line]{transition:width .35s cubic-bezier(.2,.7,.2,1)}
.mz-bar{display:none}
.mz-anim [data-anim-steps].off[data-mode="grid"] [data-line]{display:none}
.mz-anim [data-anim-steps].off[data-mode="grid"] .mz-bar{display:block;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.mz-anim [data-anim-steps].off[data-mode="grid"] li.on .mz-bar{transform:scaleX(1)}
.mz-node{transition:transform .6s cubic-bezier(.3,1.6,.5,1),background .4s,color .4s,box-shadow .4s}
.mz-anim [data-anim-steps].off .mz-node{transform:scale(.7);background:#FFFFFF!important;color:#8A8A8A!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.3)}
.mz-anim [data-anim-steps].off li.on .mz-node{transform:scale(1);background:#F15C19!important;color:#FFFFFF!important;box-shadow:none}
.mz-step-t{transition:opacity .7s,transform .7s}
.mz-anim [data-anim-steps].off .mz-step-t{opacity:0;transform:translateY(16px)}
.mz-anim [data-anim-steps].off li.on .mz-step-t{opacity:1;transform:none}
@keyframes mzFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes mzIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes mzPulse{0%{transform:translate(-50%,-50%) scale(.5);opacity:.9}100%{transform:translate(-50%,-50%) scale(4);opacity:0}}
@keyframes mzBounce{0%{transform:translateY(0)}30%{transform:translateY(-16px)}55%{transform:translateY(0)}75%{transform:translateY(-6px)}100%{transform:translateY(0)}}
.mz-cimg{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
article:hover .mz-cimg{transform:scale(1.06)}
input.mz-ba{-webkit-appearance:none;appearance:none;background:transparent}
input.mz-ba::-webkit-slider-thumb{-webkit-appearance:none;width:44px;height:100%;cursor:ew-resize}
.mz-team img{filter:grayscale(1);transition:filter .5s,transform .9s cubic-bezier(.2,.7,.2,1)}
.mz-team:hover img{filter:none;transform:scale(1.04)}
/* Avant / après : le chantier étape par étape (lecteur à défilement automatique) */
.mz-sp{display:grid;grid-template-columns:minmax(280px,500px) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.mz-sp-stage{aspect-ratio:3/4;cursor:grab}
.mz-sp-img{opacity:0;transition:opacity .8s cubic-bezier(.4,0,.2,1)}
.mz-sp-img img{transform:scale(1.07);transition:transform 4.5s cubic-bezier(.2,.7,.2,1)}
.mz-sp-img figcaption{opacity:0;transform:translateY(14px);transition:opacity .6s .25s,transform .7s .25s cubic-bezier(.2,.7,.2,1)}
.mz-sp-img.on{opacity:1}
.mz-sp-img.on img{transform:scale(1)}
.mz-sp-img.on figcaption{opacity:1;transform:none}
[data-steps]:not(.js) .mz-sp-img:first-child{opacity:1}
[data-steps]:not(.js) .mz-sp-img:first-child figcaption{opacity:1;transform:none}
.mz-seg{flex:1;height:3px;background:rgba(255,255,255,.35);overflow:hidden;border-radius:2px}
.mz-seg i{display:block;height:100%;width:0;background:#FFFFFF}
.mz-seg.on i{background:#F15C19}
.mz-sp-btn{width:52px;height:52px;border:1px solid #000000;background:transparent;color:#000000;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;transition:background .3s,color .3s,border-color .3s}
.mz-sp-btn:hover{background:#000000;color:#FFFFFF}
.mz-sp-play{background:#000000;color:#FFFFFF}
.mz-sp-play:hover{background:#F15C19;border-color:#F15C19}
.mz-ic-pause{width:12px;height:14px;border-left:4px solid currentColor;border-right:4px solid currentColor}
.mz-ic-play{display:none;width:0;height:0;border-left:13px solid currentColor;border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:4px}
.mz-sp-play.paused .mz-ic-pause{display:none}
.mz-sp-play.paused .mz-ic-play{display:block}
.mz-sp-hint{margin-left:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#8A8A8A}
.mz-sp-thumbs{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:14px 10px}
.mz-th{display:flex;flex-direction:column;gap:8px;padding:0;border:0;background:none;cursor:pointer;text-align:left;font-family:inherit;color:#595959;opacity:.5;transition:opacity .35s,color .35s}
.mz-th:hover,.mz-th.on{opacity:1}
.mz-th.on{color:#F15C19}
.mz-th-img{display:block;aspect-ratio:3/4;overflow:hidden;background:#DDDDDD;outline:2px solid transparent;outline-offset:3px;transition:outline-color .35s}
.mz-th.on .mz-th-img{outline-color:#F15C19}
.mz-th-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.mz-th:hover .mz-th-img img{transform:scale(1.06)}
.mz-th-l{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;white-space:nowrap}
.mz-th-l b{margin-right:6px;font-weight:700;opacity:.6}
@media (max-width:860px){
  .mz-sp{grid-template-columns:minmax(0,1fr)}
  .mz-sp-stage{aspect-ratio:4/5}
  .mz-sp-hint{display:none}
  .mz-sp-thumbs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 10px;margin:0 -4px;scrollbar-width:thin}
  .mz-th{flex:none;width:84px;scroll-snap-align:start}
}
@media (prefers-reduced-motion:reduce){.mz-sp-img img,.mz-sp-img figcaption{transition:none;transform:none}}
.mz-gal img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.mz-gal:hover img{transform:scale(1.06)}

/* États hover (style-hover de la maquette) */
.mzh0:hover{color:#FFFFFF !important}
.mzh1:hover{background:#FFFFFF !important;color:#000000 !important}
.mzh2:hover{border-color:#FFFFFF !important;background:rgba(255,255,255,.1) !important;color:#FFFFFF !important}
.mzh3:hover{background:#F15C19 !important;color:#FFFFFF !important}
.mzh4:hover{color:#F15C19 !important}
.mzh5:hover{background:#000000 !important;color:#FFFFFF !important}
.mzh6:hover{background:#F15C19 !important;border-color:#F15C19 !important}
.mzh7:hover{color:#F15C19 !important;padding-left:14px !important}

/* Responsive commun */
/* Très petits écrans : en-tête compact, le bouton menu reste entièrement visible */
@media (max-width:359px){
  header[style]{gap:10px!important;padding-left:14px!important;padding-right:14px!important}
  header nav{gap:8px!important}
  header nav>a[href$="contact"]{padding:12px!important;font-size:9.5px!important;letter-spacing:.08em!important}
  header nav>button{width:44px!important;height:44px!important}
}
/* Cartes des communes : sur petit écran, seuls les points ; étiquette pour la ville mise en avant ou survolée (la liste à côté porte les liens) */
@media (max-width:600px){.mz-chip:not(.on){display:none}}
/* Fil d'Ariane : zone tactile confortable */
@media (max-width:767px){nav[aria-label="Fil d'Ariane"] a{display:inline-block;padding:14px 0;margin:-14px 0}}

