/* These layers share the PDF coordinate system; no responsive reflow of the artwork. */
#mog-exact .mog-motion-root{position:absolute;inset:0;z-index:2;pointer-events:none;isolation:isolate;overflow:clip}
#mog-exact .mog-motion-root.is-static{visibility:hidden}
#mog-exact .mog-motion-piece,#mog-exact .mog-motion-stack,#mog-exact .mog-motion-marker,#mog-exact .mog-counter-frame,#mog-exact .mog-project-motion-caption,#mog-exact .mog-event-fireworks,#mog-exact .mog-event-orbit,#mog-exact .mog-event-live-clock,#mog-exact .mog-story-replacement,#mog-exact .mog-story-second-photo{position:absolute;box-sizing:border-box}
#mog-exact .mog-live-dots,#mog-exact .mog-project-live-line{position:absolute;box-sizing:border-box}
#mog-exact:is([data-motion="ready"],[data-motion="paused"]) #mog-zone-actualite-encombrants[aria-pressed="true"]:after{content:'';position:absolute;inset:0;border:1px solid #f1399b;border-radius:99px;background:#f1399b09;pointer-events:none}
#mog-exact .mog-motion-piece>canvas,#mog-exact .mog-motion-piece>img,#mog-exact .mog-counter-frame>svg{display:block;width:100%;height:100%;max-width:none}
#mog-exact .mog-motion-root [hidden]{display:none!important}
#mog-exact .mog-motion-marker{pointer-events:none;visibility:hidden}
#mog-exact .mog-photo-frame{overflow:hidden;mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}
#mog-exact .mog-carousel-image,#mog-exact .mog-service-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}
#mog-exact .mog-hover-photo>canvas{transition:transform .5s ease}
#mog-exact .mog-hover-photo.is-hovered>canvas{transform:scale(1.045)}
#mog-exact .mog-hover-button{transition:transform .25s ease,filter .25s ease}
#mog-exact .mog-hover-button.is-hovered{transform:translateY(calc(-5px * var(--mog-scale)));filter:drop-shadow(0 calc(5px * var(--mog-scale)) calc(6px * var(--mog-scale)) #174a1d20)}
#mog-exact .mog-service-video{opacity:0;object-position:center top;transition:opacity .4s ease}
#mog-exact .mog-project-motion-caption{color:#fff;font-family:var(--mog-typeface);display:flex;flex-direction:column;justify-content:center;gap:calc(14px * var(--mog-scale));font-size:calc(18px * var(--mog-scale));line-height:1.3;text-shadow:0 1px 6px #0008}
#mog-exact .mog-project-motion-caption strong{font-size:calc(28px * var(--mog-scale));font-weight:600}
#mog-exact .mog-event-fireworks>svg,#mog-exact .mog-event-orbit>svg{width:100%;height:100%;display:block}
#mog-exact .mog-event-logo{position:absolute;z-index:3;display:block;object-fit:contain;background:#fff;border-radius:50%;padding:calc(6px * var(--mog-scale,1));box-shadow:0 3px 14px #27453021;pointer-events:none}
#mog-exact .mog-civic-burst{transform-box:fill-box;transform-origin:center;animation:mog-civic-burst 6.8s ease-out infinite}
@keyframes mog-civic-burst{0%,12%{transform:scale(.08);opacity:0}18%{opacity:.85}42%{transform:scale(1);opacity:.8}62%,100%{transform:scale(1.25);opacity:0}}
#mog-exact .mog-event-live-clock{background:linear-gradient(110deg,#ecd3ca,#6adc84);border-radius:50%;display:grid;place-items:center;font:600 calc(28px * var(--mog-scale))/1.2 var(--mog-typeface);color:#0c2711;text-align:center}
/* The side insets leave room for the corners of the tilted photos as they travel. */
#mog-exact .mog-rose-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.55vw,24px)}
#mog-exact .mog-rose-gallery-dock{position:absolute;z-index:2;pointer-events:none}
#mog-exact .mog-rose-gallery--native{position:absolute;inset:8% 4.25% 8% 43.5%;z-index:500;pointer-events:none}
#mog-exact .mog-rose-column{
 position:relative;min-width:0;transform:rotate(-13deg);
 --rose-cycle:18s;
 --rose-offset:0;
}
#mog-exact .mog-rose-column:nth-child(2){--rose-cycle:15.65s;--rose-offset:.007}
#mog-exact .mog-rose-photo{
 position:absolute;inset:0 0 auto;width:100%;height:45%;margin:0;padding:0;border:0;background:transparent;
 display:grid;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;
 --rose-phase:.08;
 transform:translateY(122.22%);
 animation:mog-rose-full var(--rose-cycle) linear infinite paused;
 animation-delay:calc(-1 * var(--rose-cycle) * (var(--rose-phase) + var(--rose-offset)));
}
#mog-exact .mog-rose-photo:nth-child(2){--rose-phase:.413333333;transform:none}
#mog-exact .mog-rose-photo:nth-child(3){--rose-phase:.746666667;opacity:0}
#mog-exact[data-editor-preview=false] .mog-rose-gallery--native .mog-rose-photo{
 height:62%;
 transform:translateY(30.65%);
 animation-name:mog-rose-large;
}
#mog-exact[data-editor-preview=false] .mog-rose-gallery--native .mog-rose-photo:nth-child(n+2){opacity:0}
#mog-exact .mog-rose-photo>img{
 display:block;width:auto;height:auto;max-width:100%;max-height:100%;
 object-fit:contain;border:0;border-radius:clamp(11px,1.4vw,22px);
}
body:not(.mog-motion-paused) #mog-exact .mog-rose-gallery.is-playing .mog-rose-photo{animation-play-state:running}
/* Each photo drifts in both rows and slides up between them. The previous
   photo fades at the top before the next one arrives there. */
@keyframes mog-rose-full{
 0%{transform:translateY(122.22%);opacity:0}
 3%,58%{opacity:1}
 26%{transform:translateY(113%);animation-timing-function:cubic-bezier(.52,0,.37,1)}
 35%{transform:translateY(8%)}
 61%{opacity:0}
 63%,100%{transform:translateY(0);opacity:0}
}
/* On desktop, one full photo per lane leaves room for a much larger frame. */
@keyframes mog-rose-large{
 0%{transform:translateY(61.29%);opacity:0}
 3%,30.333333%{opacity:1}
 33.333333%,100%{transform:translateY(0);opacity:0}
}
@media(prefers-reduced-motion:reduce){body:not(.mog-motion-opt-in) #mog-exact .mog-rose-photo{animation:none!important}}
#mog-exact[data-editor-preview=true] .mog-rose-column{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:8px;transform:none}
#mog-exact[data-editor-preview=true] .mog-rose-photo{position:relative;inset:auto;height:100%;min-height:0;opacity:1;transform:none;animation:none;pointer-events:auto;cursor:pointer}
#mog-exact[data-editor-preview=true] .mog-rose-photo:is(:hover,:focus-visible){outline:2px solid #176d30;outline-offset:2px}
#mog-exact .mog-story-surface{overflow:hidden;border-radius:calc(30px * var(--mog-scale))}
#mog-exact .mog-story-face{position:absolute;inset:0;overflow:hidden}
#mog-exact .mog-story-clean-face{display:grid;grid-template-columns:1.05fr 1fr;background:linear-gradient(115deg,#f0f5e8,#d5e8cb);color:#173c24;font-family:var(--mog-typeface);line-height:1.6}
#mog-exact .mog-story-clean-copy{padding:calc(70px * var(--mog-scale)) calc(62px * var(--mog-scale)) calc(55px * var(--mog-scale)) calc(110px * var(--mog-scale));display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:calc(22px * var(--mog-scale))}
#mog-exact .mog-story-clean-eyebrow{font-size:calc(16px * var(--mog-scale));letter-spacing:.05em;color:#296e38}
#mog-exact .mog-story-clean-copy h3{font:500 calc(44px * var(--mog-scale))/1.2 var(--mog-typeface);letter-spacing:-.04em;margin:0;color:#193f26}
#mog-exact .mog-story-clean-copy p{font:400 calc(18px * var(--mog-scale))/1.7 var(--mog-typeface);margin:0;white-space:pre-line}
#mog-exact .mog-story-clean-copy a{pointer-events:auto;display:inline-flex;align-items:center;border-radius:99px;background:#173f27;color:#fff;text-decoration:none;padding:calc(16px * var(--mog-scale)) calc(26px * var(--mog-scale));font:400 calc(16px * var(--mog-scale))/1.5 var(--mog-typeface);min-height:32px}
#mog-exact .mog-story-clean-copy a:focus-visible{outline:3px solid #e79034;outline-offset:4px}
#mog-exact .mog-story-clean-photo{position:relative;overflow:hidden}
#mog-exact .mog-story-clean-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
#mog-exact .mog-story-clean-symbol{position:absolute;right:calc(35px * var(--mog-scale));bottom:calc(35px * var(--mog-scale));display:grid;place-items:center;width:calc(75px * var(--mog-scale));height:calc(75px * var(--mog-scale));background:#fff;color:#1c7940;border-radius:50%;font:calc(48px * var(--mog-scale))/1 var(--mog-typeface)}
@media(min-width:1101px){#mog-exact .mog-anchor{scroll-margin-top:var(--mog-pc-content-offset,110px)}}
#mog-exact[data-story=encombrants] #mog-zone-actualite-encombrants[aria-pressed=true]:after,#mog-exact[data-story=encombrants] #mog-zone-actualite-encombrants-bis[aria-pressed=true]:after{content:'';position:absolute;inset:0;border:1px solid #448e4a;border-radius:99px;background:#e6f0df70;pointer-events:none}
#mog-exact .mog-story-replacement{font:400 calc(17px * var(--mog-scale))/1.5 var(--mog-typeface);color:#171717;overflow:hidden}
#mog-exact .mog-story-replacement strong{font-size:calc(34px * var(--mog-scale));line-height:1.25;font-weight:500}
#mog-exact .mog-story-replacement p{margin:calc(20px * var(--mog-scale)) 0 0}
#mog-exact .mog-story-second-photo{overflow:hidden;border-radius:0 calc(30px * var(--mog-scale)) calc(30px * var(--mog-scale)) 0}
#mog-exact .mog-story-second-photo>img{width:100%;height:100%;object-fit:cover}
@media(prefers-reduced-motion:reduce){body:not(.mog-motion-opt-in) #mog-exact .mog-motion-root{visibility:hidden}body:not(.mog-motion-opt-in) #mog-exact .mog-motion-root *{animation:none!important;transition:none!important}}
