:root{--font-body:"Poppins", Arial, sans-serif;--font-heading:"acumin-pro-condensed", "Arial Narrow", Arial, sans-serif;font-family:var(--font-body);color:#20345c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#eeeae3;font-weight:400}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #4283c6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700}h1,h2,p{margin:0}button{border:0}a{color:inherit}#root{min-height:100dvh}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[tabindex="-1"]:focus{outline:none}.app{--navy:#20345c;--red:#dc002b;--cream:#fcf9ef;--blue:#abc9e7;background:var(--cream);width:100%;max-width:480px;min-height:100dvh;margin:auto}.page{flex-direction:column;min-height:100dvh;display:flex}.app>.page,.app>.splash{animation:.42s ease-out page-fade-in}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.app>.page,.app>.splash{animation:none}}.brand-header{background:var(--navy);height:56px;color:var(--cream);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex}.wordmark{letter-spacing:-1px;font-family:Georgia,Times New Roman,serif;font-size:23px;line-height:1}.brand-caption{font-family:"Acumin Pro Condensed", var(--font-heading);text-align:right;font-size:.875rem;font-style:normal;font-weight:400;font-stretch:75%;line-height:.875rem}.brand-header--light{color:var(--navy);background:0 0}.brand-header--light .brand-caption{color:#0e2352}.brand-header--light .wordmark{color:var(--red)}.primary{background:var(--red);width:100%;min-height:54px;color:var(--Monoprix-neutre-blanc,#fff);text-align:center;font-family:var(--font-body);text-transform:uppercase;isolation:isolate;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;justify-content:center;align-items:center;gap:12px;padding:14px 12px;font-size:15px;font-style:normal;font-weight:600;line-height:normal;text-decoration:none;transition:transform .15s,box-shadow .25s,background-color .2s;display:flex;position:relative;overflow:hidden}.primary:before{content:"";z-index:-1;background:var(--navy);transform-origin:100%;transition:transform .35s cubic-bezier(.65,0,.35,1);position:absolute;inset:0;transform:scaleX(0)}.primary .button-icon{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}@media (hover:hover) and (pointer:fine){.primary:hover:not(:disabled):before{transform-origin:0;transform:scaleX(1)}.primary:hover:not(:disabled){box-shadow:0 8px 20px -8px #0e23528c}.primary:hover:not(:disabled) .button-icon{transform:translate(4px)}}.primary:active:not(:disabled){background-color:#b80024;transition-duration:60ms;transform:scale(.97);box-shadow:inset 0 3px 8px #00000040}.primary:active:not(:disabled) .button-icon{transform:translate(2px)scale(.92)}.primary:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.primary:disabled{opacity:.7;cursor:progress}@media (prefers-reduced-motion:reduce){.primary,.primary:before,.primary .button-icon{transition:none}}.primary span{font-size:22px;font-weight:400}.button-icon{object-fit:contain;flex:none;width:20px;height:20px;display:block}.page-footer{padding:18px 24px max(24px, env(safe-area-inset-bottom));flex:none;margin-top:auto}.splash{background:#f7efe4;flex-direction:column;min-height:100dvh;display:flex}.splash__heading{text-align:center;flex:none}.splash__logo{width:100%;height:auto;margin:0 auto;display:block}.splash__title{color:#1f345f;text-align:center;font-family:var(--font-heading);letter-spacing:.065rem;margin:12px 0 0;font-size:1.625rem;font-style:normal;font-weight:400;line-height:normal}.splash__pattern{background:url(../images/pattern-splash.png) bottom/cover no-repeat;flex:1;min-height:320px}.splash{animation:.6s ease-out both sp-fade}.splash__logo{animation:.7s cubic-bezier(.22,1,.36,1) .15s both sp-rise}.splash__title{animation:.7s cubic-bezier(.22,1,.36,1) .3s both sp-rise}@keyframes sp-fade{0%{opacity:0}}@keyframes sp-rise{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.splash,.splash__logo,.splash__title{animation:none}}.intro{background:linear-gradient(#fcf9efdf,#fcf9efdf),url(../targets/monoprix/monoprix-poster.png) 50%/cover}.intro-center{flex:1;align-items:center;padding:30px 24px;display:flex}.intro-card{background:var(--blue);text-align:center;border-radius:16px;width:100%;padding:24px 27px}.intro-card h1{font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.4}.intro-card h1 strong{font-weight:700}.intro-loupe{object-fit:contain;width:132px;height:132px;margin:0 auto 22px;display:block}.scan-pill-icon{object-fit:contain;flex:none;width:22px;height:22px;display:block}.scanner{flex-direction:column;flex:1;display:flex}.camera-view{background:var(--navy);flex:1;min-height:340px;position:relative;overflow:hidden}.camera-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.scan-pill{text-align:center;background:var(--cream);color:#5482b7;white-space:nowrap;border-radius:30px;justify-content:center;align-items:center;gap:12px;padding:14px 24px;font-size:13px;font-weight:700;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.viewfinder{color:#ffffff70;width:200px;height:200px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewfinder i{border:4px solid;width:40px;height:40px;position:absolute}.viewfinder i:first-child{border-bottom:0;border-right:0;top:0;left:0}.viewfinder i:nth-child(2){border-bottom:0;border-left:0;top:0;right:0}.viewfinder i:nth-child(3){border-top:0;border-right:0;bottom:0;left:0}.viewfinder i:nth-child(4){border-top:0;border-left:0;bottom:0;right:0}.is-detecting{color:#fff}.camera-off{object-fit:contain;opacity:.44;width:60px;height:60px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.camera-message{color:#fff;text-align:center;width:100%;font-size:14px;position:absolute;bottom:30px}.scan-footer{background:var(--cream);padding:28px 24px max(24px, env(safe-area-inset-bottom));text-align:center;min-height:174px}.scan-footer>p{margin:6px 4px 28px;font-size:14px;line-height:1.45}.scan-footer .remaining{color:var(--Monoprix-bleu-bleu5,#1f345f);text-align:center;font-family:Poppins, var(--font-body);margin:12px 0 28px;font-size:.875rem;font-style:normal;font-weight:600;line-height:normal}.segments{gap:4px;display:flex}.segments span{background:var(--blue);border-radius:5px;flex:1;height:5px}.segments .found{background:var(--red)}.scan-notice{width:178px;min-height:178px;color:var(--navy);background:#fcf9eff5;border-radius:14px;padding:24px;font-size:15px;line-height:1.45;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scan-notice-icon{object-fit:contain;width:24px;height:28px;margin:0 auto 14px;display:block}.dwell-progress{width:200px;height:5px;accent-color:var(--red);position:absolute;top:calc(50% + 115px);left:50%;transform:translate(-50%)}.offre{--zone:#f0dcc9;--tag:#d0a57d}.experience{--zone:#fad9d2;--tag:#f5a09c}.service{--zone:#c2e5f3;--tag:#78a2d2}.content-page{background:var(--zone)}.zone-content{background:linear-gradient(#495674 0 24px,#0000 24px)}.zone-illustration{aspect-ratio:390/232;object-fit:cover;border-radius:24px 24px 0 0;width:100%;display:block}@media (prefers-reduced-motion:no-preference){.content-page .zone-reveal{opacity:0}.content-page .zone-reveal--visible{opacity:1;animation:.7s cubic-bezier(.22,1,.36,1) backwards sp-rise}.zone-copy>.category.zone-reveal{animation-delay:.1s}.zone-copy>h1.zone-reveal{animation-delay:.18s}}.zone-copy{text-align:center;padding:22px 24px 10px}.category{background:var(--tag);color:var(--Monoprix-bleu-bleu5,#1f345f);text-align:center;font-family:var(--font-heading);letter-spacing:.0425rem;text-transform:uppercase;border-radius:30px;padding:7px 16px;font-size:1.0625rem;font-style:normal;font-weight:900;line-height:normal;display:inline-block}.zone-copy h1,.zone-group h2,.zone-row strong,.completion h1,.completion-kicker{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:-.5px;font-weight:700}.zone-copy h1{margin:18px 0 38px;font-size:29px;font-weight:900;line-height:1.15}.zone-description{font-size:16px;line-height:1.25}.zone-description p+p{margin-top:16px}.zone-description strong:not(.statistic-inline){font-weight:600}.zone-block+.zone-block{margin-top:28px}.zone-block h2{font-family:"Acumin Pro Condensed", var(--font-heading);text-transform:uppercase;margin:0 0 10px;font-size:1.25rem;font-weight:900;line-height:normal}.statistic-inline{color:var(--red);font-size:1.25em;font-weight:700}.editorial-link{isolation:isolate;color:var(--red);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#fff;margin-top:18px;padding:13px;font-size:14px;font-weight:700;text-decoration:none;transition:color .3s,transform .15s,box-shadow .25s;display:block;position:relative;overflow:hidden}.editorial-link:before{content:"";z-index:-1;background:var(--red);transform-origin:bottom;transition:transform .3s cubic-bezier(.65,0,.35,1);position:absolute;inset:0;transform:scaleY(0)}@media (hover:hover) and (pointer:fine){.editorial-link:hover{color:#fff;box-shadow:0 8px 18px -10px #dc002b99}.editorial-link:hover:before{transform:scaleY(1)}}.editorial-link:active{color:#fff;transition-duration:80ms;transform:scale(.97)}.editorial-link:active:before{background:#b80024;transition-duration:.1s;transform:scaleY(1)}.editorial-link:focus-visible{outline:3px solid var(--navy);outline-offset:3px}@media (prefers-reduced-motion:reduce){.editorial-link,.editorial-link:before{transition:none}}.inline-link{color:#5482b7;text-underline-offset:2px;font-weight:700;text-decoration:underline}.text-button{color:var(--navy);background:0 0;margin:14px auto 0;font-size:12px;text-decoration:underline;display:block}.zones-instructions{align-items:flex-start;gap:12px;padding:18px 24px 24px;font-size:13px;line-height:1.4;display:flex}.zones-instructions img{object-fit:contain;flex:none}.zone-list{padding:12px 16px 0}.zone-group{margin-bottom:28px}.zone-group h2{color:var(--navy);margin:0 0 16px;padding-left:26px;font-size:25px;font-weight:900;position:relative}.zone-group h2:before{content:"";background:var(--tag);border-radius:0 14px 14px 0;width:32px;height:24px;position:absolute;top:50%;left:-16px;transform:translateY(-50%)}.zone-group.service h2:before{background:var(--navy)}.zone-row[data-discovered=false]{opacity:.4}.zone-row[data-discovered=true]{opacity:1}.zone-group.offre h2{color:#936e4d}.zone-group.experience h2{color:#ba2541}.zone-row{background:var(--zone);width:100%;color:var(--navy);text-align:left;isolation:isolate;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:0;justify-content:space-between;align-items:center;gap:16px;min-height:78px;margin-bottom:12px;padding:17px 18px;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;display:flex;position:relative;overflow:hidden}.zone-group{--accent:var(--navy)}.zone-group.offre{--accent:#936e4d}.zone-group.experience{--accent:#ba2541}.zone-row:before{content:"";background:var(--accent);transform-origin:bottom;width:5px;transition:transform .3s cubic-bezier(.65,0,.35,1);position:absolute;inset:0 auto 0 0;transform:scaleY(0)}.zone-row:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(105deg,#0000 30%,#ffffff73 50%,#0000 70%);position:absolute;inset:0;transform:translate(-110%)}.zone-row>span:first-child,.zone-row>span:last-child{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}@media (hover:hover) and (pointer:fine){.zone-row:hover{transform:translateY(-3px);box-shadow:0 10px 22px -12px #0e235280}.zone-row:hover:before{transform-origin:top;transform:scaleY(1)}.zone-row:hover:after{transition:transform .7s;transform:translate(110%)}.zone-row:hover>span:first-child{transform:translate(6px)}.zone-row:hover>span:last-child{transform:translate(4px)scale(1.15)}}.zone-row:active{transition-duration:80ms;transform:scale(.975);box-shadow:inset 0 2px 8px #0e23522e}.zone-row:active:before{transition-duration:.12s;transform:scaleY(1)}.zone-row:active>span:last-child{transition-duration:.1s;transform:translate(6px)}.zone-row:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){.zone-row,.zone-row:before,.zone-row:after,.zone-row>span{transition:none!important}.zone-row:after{display:none}}.zone-row strong{font-family:"Acumin Pro Condensed", var(--font-heading);letter-spacing:normal;text-transform:uppercase;margin-bottom:7px;font-size:1.25rem;font-style:normal;font-weight:900;line-height:normal;display:block}.zone-row strong:only-child{margin-bottom:0}.zone-row small{color:#1f345fcc;font-family:Poppins, var(--font-body);font-size:.8125rem;font-style:normal;font-weight:400;line-height:normal;display:block}.zone-row>span:last-child{flex:none}.zone-chevron{object-fit:contain;width:9px;height:16px;display:block}.sticky-footer{background:var(--cream);padding-top:14px;position:sticky;bottom:0}.completion{overflow:hidden}.completion-copy{text-align:center;flex-direction:column;flex:1;justify-content:space-evenly;gap:32px;padding:24px;display:flex}.completion-logo{width:100%;height:auto;display:block}.completion-copy>*{animation:.7s cubic-bezier(.22,1,.36,1) .15s backwards sp-rise}.completion-copy>:nth-child(2){animation-delay:.25s}.completion-copy>:nth-child(3){animation-delay:.35s}.completion-copy>:nth-child(4){animation-delay:.45s}.completion-copy>:nth-child(5){animation-delay:.55s}@media (prefers-reduced-motion:reduce){.completion-copy>*{animation:none}}.completion-kicker{color:#3979c2;letter-spacing:.04em;font-size:16px}.completion h1{font-size:24px;line-height:1.4}.completion-copy>p:not(.completion-kicker){font-size:16px;line-height:1.4}.completion-pattern{background:repeating-linear-gradient(to bottom, var(--navy) 0 18px, transparent 18px 36px);flex:none;height:clamp(100px,17dvh,140px);position:relative;overflow:hidden}.completion-pattern:after{content:"";aspect-ratio:1;background:var(--blue);border-radius:50%;width:52%;position:absolute;bottom:0;right:0}.completion-pattern.bottom{transform:rotate(180deg)}@media (width>=600px){.app{box-shadow:0 0 60px #20345c18}}@media (height<=700px){.zone-copy{padding-top:16px}.zone-copy h1{margin:14px 0 24px}.zone-description{font-size:15px}.zone-description p+p{margin-top:22px}.camera-view{min-height:280px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.brand-logo{filter:brightness(0)invert();width:114px;max-width:45%;height:auto;display:block}.brand-header--light .brand-logo{filter:none}.intro{background-position:48% 65%;background-size:auto 145%}
