/* A — photography and scroll revision, 10 October 2026 */
body{overflow-x:clip}html{scroll-padding-top:24px}.header-inner{min-height:100px}.brand img{width:64px;height:64px}.scroll-progress{position:fixed;left:0;top:0;width:100%;height:3px;background:var(--tomato);transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}.opening{padding-top:35px}.opening-heading{display:flex;justify-content:space-between;align-items:center;color:var(--tomato);padding-bottom:30px}.opening-heading .eyebrow{font-size:11px}.opening-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:3.5%;align-items:center}.opening h1{font-size:clamp(72px,8.8vw,136px);color:var(--tomato);line-height:.91;letter-spacing:-.025em}.opening h1 span{-webkit-text-stroke:1.4px var(--tomato);color:transparent}.opening-copy>p{margin:30px 0 25px;font-size:15px;line-height:1.7}.opening-address{display:block;margin-top:38px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.photo-window{position:relative;overflow:hidden}.photo-window>img{width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--drift,0px),0) scale(1.08)}.opening-photo{aspect-ratio:.94;background:#f3efdf;overflow:visible}.opening-photo>img{object-fit:cover;transform:translate3d(0,var(--drift,0px),0);width:100%;height:100%}.opening-photo figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:15px 20px;color:var(--tomato);background:var(--paper);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.round-note{position:absolute;right:-12px;top:30px;border-radius:50%;width:95px;height:95px;display:grid;place-content:center;text-align:center;background:var(--tomato);color:var(--paper);font:700 24px/.9 var(--display);transform:rotate(12deg);border:4px solid var(--paper)}.opening-bottom{margin:35px 0 24px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.opening-bottom a{min-height:30px}.opening-bottom a span{font-size:19px;margin-left:15px}.scroll-ribbon{overflow:hidden;background:var(--tomato);color:var(--paper);padding:16px 0}.scroll-ribbon>div{width:max-content;font:750 clamp(28px,4vw,55px)/1 var(--display);white-space:nowrap;transform:translate3d(var(--drift-x,0px),0,0)}.scroll-ribbon i{font:normal .75em serif;margin:0 35px}.specialty-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:start;gap:7%}.specialty.small{margin-top:100px}.specialty .photo-window{aspect-ratio:1.1;background:#eee8dc}.specialty.small .photo-window{aspect-ratio:.9}.specialty-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 0;border-bottom:1px solid var(--line)}.specialty-caption h3{font-size:37px;color:var(--tomato)}.specialty-caption span{font-size:11px;max-width:155px}.kitchen-chapter{background:var(--tomato);color:var(--paper);padding:85px 0}.kitchen-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.kitchen-grid h2{margin:28px 0}.kitchen-grid p:not(.eyebrow){font-size:14px;margin-bottom:30px;line-height:1.8}.kitchen-grid .text-link:hover{color:var(--paper)}.kitchen-film{position:relative}.kitchen-film video{display:block;width:100%;aspect-ratio:1;object-fit:cover}.kitchen-film button{position:absolute;bottom:42px;left:20px}.kitchen-film figcaption{margin-top:12px;font-size:10px;opacity:.85}.pantry-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.pantry h2{margin:28px 0;color:var(--tomato)}.pantry h2 span{font-weight:500}.pantry-copy>p:not(.eyebrow){max-width:370px;font-size:15px;margin-bottom:28px;line-height:1.8}.pantry-index{margin-top:40px}.pantry-index a{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:17px 0;font-size:12px}.pantry-photo{height:660px}.pantry-photo figcaption{position:absolute;bottom:0;padding:16px 20px;background:var(--paper);font-size:11px;left:0;right:0}.drinks-section{background:#e9decc;padding:70px 0}.drinks-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:center}.drinks-photo{height:510px;overflow:hidden}.drinks-photo img{width:100%;height:100%;object-fit:cover;object-position:center 56%}.drinks-grid h2{font-size:clamp(50px,6.3vw,98px);color:var(--tomato);margin:25px 0}.drinks-grid p:not(.eyebrow){font-size:15px;max-width:390px;line-height:1.8;margin-bottom:28px}.gathering-photo{height:560px}.gathering-photo img{object-position:center 44%}.gathering-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:22px;font-size:13px}.door-section{padding:0 0 90px}.door-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.door-grid figure{height:540px}.door-grid h2{color:var(--tomato);margin:25px 0}.door-grid p:not(.eyebrow){font-size:15px;line-height:1.8;margin-bottom:28px}.motion-ready [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.motion-ready [data-reveal].is-visible{opacity:1;transform:none}.footer-bottom a{font-size:10px}.epicerie-products{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.epicerie-products .menu-item{display:block}.epicerie-products .menu-item img{width:100%;height:240px;object-fit:contain;margin-top:20px}.epicerie-products .menu-item h3{font-size:29px}
@media(max-width:1000px){.opening h1{font-size:9vw}.opening-grid{gap:5%}.specialty-caption{display:block}.specialty-caption span{display:block;margin-top:9px}.pantry-photo{height:560px}.kitchen-grid{gap:6%}.opening-address{margin-top:25px}.opening-copy>p{font-size:13px}.opening .hero-actions{gap:18px}.opening .btn{gap:20px}}
@media(max-width:760px){.header-inner{min-height:86px}.brand img{width:54px;height:54px}.opening{padding-top:22px}.opening-heading{padding-bottom:24px}.opening-heading .small-label{display:none}.opening-heading .eyebrow{font-size:9px}.opening-grid{grid-template-columns:1fr;gap:30px}.opening h1{font-size:19vw;line-height:.88}.opening-copy>p{margin:24px 0 20px;font-size:14px}.opening-address{display:none}.opening-photo{aspect-ratio:1.13;margin:0 5px 0 0}.round-note{width:78px;height:78px;font-size:21px;right:-12px;top:20px}.opening-photo figcaption{font-size:9px;padding:12px 14px}.opening-bottom{margin:25px 0 15px;font-size:8px;gap:15px}.opening-bottom>span{max-width:125px}.scroll-ribbon{padding:13px 0}.specialty-grid{grid-template-columns:1fr;gap:34px}.specialty.small{margin:0 0 0 15%}.specialty.small .photo-window{aspect-ratio:1.18}.specialty-caption{display:flex;padding:18px 0}.specialty-caption h3{font-size:34px}.specialty-caption span{font-size:10px;margin:0;max-width:120px}.kitchen-chapter{padding:60px 0}.kitchen-grid,.pantry-layout,.drinks-grid,.door-grid{grid-template-columns:1fr;gap:35px}.kitchen-grid h2,.pantry h2,.drinks-grid h2,.door-grid h2{font-size:17vw}.pantry-photo{height:440px}.drinks-section{padding:55px 0}.drinks-photo{height:400px;order:2}.drinks-grid h2{font-size:15.5vw}.gathering-photo{height:390px}.gathering-bottom{display:block}.gathering-bottom .btn{margin-top:20px}.door-section{padding-bottom:55px}.door-grid figure{height:430px;order:2}.epicerie-products{grid-template-columns:1fr 1fr;gap:18px}.epicerie-products .menu-item h3{font-size:25px}.epicerie-products .menu-item img{height:180px}}
@media(prefers-reduced-motion:reduce){.motion-ready [data-reveal]{opacity:1;transform:none;transition:none}.photo-window>img,.scroll-ribbon>div{transform:none!important}.scroll-progress{display:none}}
@media print{[data-reveal]{opacity:1!important;transform:none!important}.scroll-progress,.scroll-ribbon{display:none}}

.round-note{white-space:nowrap;font-size:22px}@media(max-width:760px){.round-note{font-size:18px}}

.kitchen-chapter :focus-visible{outline-color:var(--paper)}

/* Requested edge-to-edge video */
.kitchen-chapter{padding:0}.kitchen-grid{max-width:none;padding:0;gap:0;grid-template-columns:1fr 1fr;align-items:stretch}.kitchen-grid>div{padding:clamp(40px,6vw,100px) max(var(--space),calc((100vw - 1350px)/2));padding-right:6vw;align-self:center}.kitchen-film{min-height:560px;overflow:hidden;opacity:1!important;transform:none!important}.kitchen-film video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;aspect-ratio:auto}.kitchen-film button{bottom:42px;left:22px;z-index:2}.kitchen-film figcaption{position:absolute;bottom:0;left:0;right:0;padding:10px 22px;margin:0;color:white;background:#241b17b8;font-size:10px}.missing-photo{display:grid;place-items:center;min-height:100px;min-width:76px;background:#e7dccb;border:1px dashed var(--line);padding:8px;text-align:center;font-size:11px;color:var(--tomato)}
@media(max-width:760px){.kitchen-grid{grid-template-columns:1fr;gap:0}.kitchen-grid>div{padding:55px var(--space)}.kitchen-film{min-height:100vw}.kitchen-film button{font-size:11px;min-height:44px}.missing-photo{font-size:10px}}

/* Photographic campaign and Marseille chapter */
.life-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:32px;align-items:start}.life-grid figure{margin:0}.life-grid img{width:100%;display:block;object-fit:cover}.life-side{margin-top:100px!important}.life-side figcaption{padding:12px 0;font-size:13px}.bonne-mere{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-top:70px}.bonne-mere img{width:100%;mix-blend-mode:multiply}.bonne-mere p{max-width:410px}.bonne-mere h2{font-size:clamp(60px,7vw,100px)}.categories-editorial{display:block}.grocery-family{padding:45px 0!important;border-bottom:1px solid var(--line)}.grocery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin-top:30px}.grocery-grid img{width:100%;aspect-ratio:1;object-fit:contain}.grocery-grid h4{font-size:16px;margin:14px 0}.missing-photo{font-size:11px;text-align:center;border:1px dashed var(--line);padding:18px 8px;display:grid;place-items:center;min-height:96px}.menu-item>img{width:112px;height:112px;object-fit:cover}.menu-item{grid-template-columns:1fr 112px}
@media(max-width:700px){.life-grid,.bonne-mere{grid-template-columns:1fr;gap:24px}.life-side{margin-top:0!important}.bonne-mere{margin-top:30px}.bonne-mere img{max-width:300px;margin:auto}.grocery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.menu-item>img{width:90px;height:90px}.menu-item{grid-template-columns:1fr 90px}}

.kitchen-film .kitchen-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.contact-visuals{display:grid;grid-template-columns:1fr;gap:12px}.contact-visuals figure{margin:0}.contact-visuals>figure:first-child img{width:100%;height:100%;object-fit:cover}.plaque-visual{background:#f6eedf;padding:12px}.plaque-visual img{width:100%;display:block}.plaque-visual figcaption{font-size:12px;color:var(--ink);padding:6px 0}

/* Compact mobile consultation — 10 October 2026 */
@media(max-width:700px){
.section{padding-top:36px;padding-bottom:36px}.page-intro{padding-top:26px;padding-bottom:24px}.intro-row{gap:14px}.intro-row p{font-size:14px;line-height:1.55}.header-inner{min-height:72px}.brand img{width:46px;height:46px}.opening-grid{gap:20px}.opening-copy>p{margin:18px 0;font-size:14px}.opening-photo{aspect-ratio:1.4}.opening h1{font-size:17vw}.pantry-photo,.drinks-photo,.gathering-photo,.door-grid figure{height:280px}.kitchen-grid>div{padding:32px var(--space)}.kitchen-film{min-height:72vw}.life-grid,.gallery-pair,.specialty-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:12px}.life-grid>figure,.gallery-pair>figure,.specialty-grid>.specialty{flex:0 0 86%;scroll-snap-align:start;margin:0!important}.life-grid img{max-height:320px;object-fit:cover}.grocery-family{padding:24px 0!important}.grocery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-top:18px;padding-bottom:12px}.grocery-grid>*{flex:0 0 66%;min-width:0;scroll-snap-align:start}.grocery-grid img{max-height:190px}.grocery-grid h4{font-size:15px;margin:9px 0}.filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.filter{flex-shrink:0;min-height:44px}.menu-item{padding-top:14px;padding-bottom:14px}.menu-item>img{width:78px;height:78px}.menu-item{grid-template-columns:1fr 78px}.menu-item h3{font-size:23px}.menu-item p{font-size:12px}.internal-banner{gap:20px}.internal-banner figure img{max-height:280px;object-fit:cover}.footer-main{gap:24px}.bonne-mere{gap:18px}.bonne-mere h2{font-size:50px}}

/* Cuisinière accompagnatrice et services — compact, mobile-first */
.services-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.services-strip-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:18px}.services-strip-head h2{font:800 clamp(23px,3vw,36px)/1 var(--display);margin:0;color:var(--tomato)}.services-strip-head>p:last-child{font-size:12px;color:#75695f}.services-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.services-strip-grid a{display:flex;min-height:126px;flex-direction:column;justify-content:space-between;padding:16px;background:#fff9ef;border:1px solid var(--line);text-decoration:none;transition:transform .22s,background .22s}.services-strip-grid a:hover{transform:translateY(-3px);background:#f4eadc}.services-strip-grid span{font-size:10px;color:var(--tomato);letter-spacing:.12em}.services-strip-grid strong{font-size:16px}.services-strip-grid small{font-size:11px;color:#75695f}.scroll-mascot{position:fixed;z-index:8;right:max(12px,calc((100vw - 1320px)/2));top:var(--mascot-y,42vh);width:76px;height:auto;pointer-events:none;opacity:0;transform:translateY(-50%) rotate(var(--mascot-tilt,0deg));mix-blend-mode:multiply;filter:drop-shadow(0 5px 8px #35251b20);transition:top .38s cubic-bezier(.2,.7,.2,1),opacity .35s,transform .3s;animation:mascot-welcome 5s ease-in-out infinite}.scroll-mascot.is-on-page{opacity:.96}.scroll-mascot.is-scrolling{--mascot-tilt:-5deg}.scroll-mascot.is-scrolling[data-direction="down"]{--mascot-tilt:5deg}@keyframes mascot-welcome{0%,100%{margin-top:0}50%{margin-top:-7px}}
@media(max-width:760px){.services-strip{padding-left:0;padding-right:0}.services-strip-head{display:block}.services-strip-head h2{margin:8px 0}.services-strip-head>p:last-child{margin:6px 0}.services-strip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.services-strip-grid a{min-height:104px;padding:12px}.services-strip-grid strong{font-size:14px}.scroll-mascot{width:54px;right:7px}}@media(max-width:360px){.scroll-mascot{width:44px;right:5px}}@media(prefers-reduced-motion:reduce){.services-strip-grid a,.scroll-mascot{transition:none;animation:none}.services-strip-grid a:hover{transform:none}}

/* October review: image variety and compact mobile editorial blocks. */
.editorial-gallery{margin-top:14px}.editorial-gallery-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.editorial-gallery-head .eyebrow{margin:0}.editorial-gallery-head span{font-size:12px;color:var(--muted)}.story-carousel,.scene-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;scrollbar-width:none}.story-carousel::-webkit-scrollbar,.scene-gallery-track::-webkit-scrollbar{display:none}.story-carousel figure{flex:0 0 clamp(230px,28vw,360px);scroll-snap-align:start;margin:0}.story-carousel img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}.story-carousel figcaption,.scene-gallery figcaption{font-size:12px;font-weight:700;padding:9px 1px}.services-bridge{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:30px;padding-bottom:45px}.services-bridge a{display:flex;flex-direction:column;gap:12px;background:#f3e8d8;border:1px solid #d9c4ae;padding:clamp(20px,3vw,36px);min-width:0;transition:background .2s,transform .2s}.services-bridge a:hover{background:#e8d4be;transform:translateY(-3px)}.services-bridge span{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--tomato)}.services-bridge strong{font:600 clamp(24px,3vw,38px)/1.1 Georgia,serif}.services-bridge small{font-size:12px}.scene-gallery{min-width:0}.scene-gallery-track figure{flex:0 0 100%;scroll-snap-align:start;margin:0}.scene-gallery-track img{width:100%;height:480px;object-fit:cover}.scene-gallery-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:13px;font-size:11px}.scene-gallery-nav span{color:var(--muted)}.scene-gallery-nav a{color:var(--tomato);font-weight:800;text-decoration:underline;text-underline-offset:3px}.scene-gallery-wide .scene-gallery-track figure{flex-basis:min(72%,650px)}.scene-gallery-wide .scene-gallery-track img{height:clamp(300px,44vw,520px)}.drinks-grid{grid-template-columns:1fr 1fr;gap:7%}.drinks-grid h2{font-size:clamp(44px,5vw,75px)}
@media(max-width:760px){.editorial-gallery-head{align-items:start;flex-direction:column}.story-carousel figure{flex-basis:75vw}.services-bridge{grid-template-columns:1fr;gap:9px;padding-top:8px;padding-bottom:35px}.services-bridge a{padding:20px}.services-bridge strong{font-size:25px}.drinks-grid{grid-template-columns:1fr;gap:32px}.scene-gallery-track img{height:340px}.scene-gallery-wide .scene-gallery-track figure{flex-basis:88%}.scene-gallery-wide .scene-gallery-track img{height:300px}}

/* Consistent grocery packshot surface; original packaging stays intact. */
.grocery-grid article{background:#f3ebdf}.grocery-grid img{mix-blend-mode:multiply;background:#f3ebdf}.pantry-photo picture,.internal-banner picture{display:block;width:100%}.review-check{width:17px!important;height:17px!important;max-width:17px!important;max-height:17px!important;flex:0 0 17px!important}@media(max-width:600px){.review-check{width:15px!important;height:15px!important;max-width:15px!important;max-height:15px!important;flex-basis:15px!important}}

/* AI studio packshots retain their native tone; only untouched white-background client photos blend into the same warm ground. */
.grocery-grid img{mix-blend-mode:normal}.grocery-grid img[src*="/client-20261014-"]{mix-blend-mode:multiply}

/* 14 October — shared homepage polish and mobile parity */
.opening-photo>picture{display:block;width:100%;height:100%}.opening-photo>picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.header .brand{position:relative;isolation:isolate}.header .brand img{display:block;object-fit:cover;object-position:center;mix-blend-mode:multiply;-webkit-mask-image:radial-gradient(circle,#000 43%,rgba(0,0,0,.9) 58%,transparent 74%);mask-image:radial-gradient(circle,#000 43%,rgba(0,0,0,.9) 58%,transparent 74%)}
.menu-toggle{appearance:none;-webkit-appearance:none;color:var(--tomato);background:transparent;border:1px solid var(--tomato);border-radius:0;align-items:center;gap:14px;min-height:44px;padding:9px 13px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transition:background .25s,color .25s,border-color .25s}.menu-toggle:hover,.menu-toggle[aria-expanded="true"]{background:var(--tomato);color:var(--paper)}.menu-bars{display:grid;gap:5px;width:21px;flex:0 0 21px}.menu-bars i{display:block;width:100%;height:2px;background:currentColor;transition:transform .25s}.menu-toggle[aria-expanded="true"] .menu-bars i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-bars i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.btn,.text-link,.nav-call,.service-card-action{transition:transform .3s cubic-bezier(.2,.8,.2,1),background .25s,color .25s,border-color .25s}.btn:hover,.btn:focus-visible,.nav-call:hover,.nav-call:focus-visible{transform:translateY(-3px)}.btn span:last-child,.text-link span:last-child,.service-card-action span{display:inline-block;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.btn:hover span:last-child,.btn:focus-visible span:last-child,.text-link:hover span:last-child,.text-link:focus-visible span:last-child,.service-card:hover .service-card-action span,.service-card:focus-visible .service-card-action span{transform:translate(3px,-3px)}.text-link:hover,.text-link:focus-visible{transform:translateX(4px)}
.services-bridge .service-card{position:relative;isolation:isolate;overflow:hidden;min-height:270px;justify-content:flex-end;gap:10px;background-color:#4c2a20;color:#fffaf2;border:0;padding:clamp(22px,3vw,40px);box-shadow:inset 0 0 0 1px #ffffff33}.service-card::before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.service-card-grocery::before{background-image:url("../04%20-%20Sites/commun/assets/epicerie-rayons-hero-desktop-20261014.webp")}.service-card-catering::before{background-image:url("../04%20-%20Sites/commun/assets/campagne-12-final.webp");background-position:center 60%}.service-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(32,20,18,.82) 0%,rgba(39,22,17,.42) 62%,rgba(39,22,17,.13) 100%)}.service-card:hover::before,.service-card:focus-visible::before{transform:scale(1.035)}.services-bridge .service-card span,.services-bridge .service-card small{color:#fffaf2}.services-bridge .service-card strong{font-size:clamp(30px,3.4vw,47px);max-width:18ch;text-wrap:balance}.services-bridge .service-card small{font-size:13px}.service-card-action{align-self:flex-start;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;margin-top:12px;border:1px solid #fffaf2;padding:12px 15px;color:#fffaf2;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.service-card:hover .service-card-action,.service-card:focus-visible .service-card-action{background:#fffaf2;color:var(--tomato)}
.bonne-mere{position:relative;left:50%;width:100vw;margin-left:-50vw;margin-top:90px;gap:0;grid-template-columns:minmax(0,57%) minmax(0,43%);background:#e8d7c0}.bonne-mere img{display:block;width:100%;height:clamp(480px,48vw,720px);max-width:none;object-fit:cover;object-position:center;mix-blend-mode:normal}.bonne-mere>div{align-self:center;padding:clamp(28px,5vw,92px)}.bonne-mere p{max-width:35ch}.door-section{padding-bottom:0;background:#eadbc6}.door-grid{width:100%;max-width:none;padding:0;grid-template-columns:minmax(0,57%) minmax(0,43%);gap:0}.door-grid figure{height:clamp(500px,55vw,780px);margin:0}.door-grid figure img{width:100%;height:100%;object-fit:cover;object-position:center}.door-grid>div{align-self:center;padding:clamp(30px,6vw,110px)}
@media(max-width:760px){.header .nav{top:100%;max-height:calc(100dvh - 72px);overflow-y:auto}.opening-grid{min-width:0}.opening-copy,.opening-photo{min-width:0}.opening h1{font-size:clamp(48px,15.5vw,96px);line-height:.92;overflow-wrap:normal}.opening-photo{margin:0;width:100%;aspect-ratio:1.1;overflow:hidden}.opening-photo>img{object-fit:cover;object-position:center}.opening-bottom{align-items:center}.opening-bottom>span{max-width:45%}.services-bridge .service-card{min-height:250px;padding:22px}.services-bridge .service-card strong{font-size:clamp(28px,8vw,42px)}.bonne-mere{display:flex;flex-direction:column;gap:0;margin-top:36px}.bonne-mere img{width:100%;height:auto;max-width:none;aspect-ratio:1/1;object-fit:cover}.bonne-mere>div{width:100%;padding:34px var(--space) 44px}.door-grid{grid-template-columns:1fr}.door-grid figure{width:100%;height:auto;aspect-ratio:4/5;order:0}.door-grid>div{order:1;padding:35px var(--space) 50px}.door-grid h2{font-size:clamp(48px,16vw,100px)}}
@media(max-width:390px){.opening h1{font-size:15.2vw}.opening .hero-actions{flex-wrap:wrap;gap:12px}.opening .hero-actions .btn{min-width:100%}.services-bridge .service-card{min-height:230px}.service-card-action{width:100%}}
@media(prefers-reduced-motion:reduce){.btn,.text-link,.nav-call,.service-card-action,.service-card::before,.menu-bars i{transition:none!important}.btn:hover,.text-link:hover,.nav-call:hover,.service-card:hover::before{transform:none!important}}

/* Mobile photography now runs edge to edge, while captions keep a calm inset. */
@media(max-width:760px){
 .opening-photo{position:relative;left:50%;width:100vw!important;margin-left:-50vw!important;border-radius:0;aspect-ratio:1.1}
 .opening-photo figcaption{padding-inline:var(--space)}.opening-photo .round-note{right:12px}
 .editorial-gallery .story-carousel,.drinks-grid .scene-gallery-track,.scene-gallery-wide .scene-gallery-track{position:relative;left:50%;width:100vw;margin-left:-50vw;padding-left:0;gap:0}
 .editorial-gallery .story-carousel figure,.drinks-grid .scene-gallery-track figure,.scene-gallery-wide .scene-gallery-track figure{flex:0 0 100vw;width:100vw;max-width:100vw;scroll-snap-align:start}
 .editorial-gallery .story-carousel figure img,.drinks-grid .scene-gallery-track figure img,.scene-gallery-wide .scene-gallery-track figure img{display:block;width:100%;max-width:none;border-radius:0;object-fit:cover}
 .editorial-gallery .story-carousel figcaption,.drinks-grid .scene-gallery-track figcaption,.scene-gallery-wide .scene-gallery-track figcaption{padding:12px var(--space)}
 .services-bridge{position:relative;left:50%;width:100vw;max-width:none;margin-left:-50vw;padding-left:0;padding-right:0;gap:0}
 .services-bridge .service-card{width:100%;min-height:260px;border-radius:0;box-shadow:none}
 .pantry-photo{position:relative;left:50%;width:100vw;max-width:none;margin-left:-50vw;height:280px;border-radius:0}
 .pantry-photo img{width:100%;max-width:none;object-fit:cover}
 .drinks-grid .scene-gallery,.scene-gallery-wide{width:100vw;max-width:none;position:relative;left:50%;margin-left:-50vw}
 .drinks-grid .scene-gallery-nav,.scene-gallery-wide .scene-gallery-nav{padding-inline:var(--space)}
}

/* Shared polish after visual asset integration */
.header .brand img{object-fit:contain;mix-blend-mode:normal;-webkit-mask-image:none;mask-image:none}
.intro-action{display:grid;justify-items:start;gap:18px}.intro-action p{margin:0}.intro-action .btn{width:max-content;max-width:100%}
.opening-photo>picture img{object-position:center center}
@media(max-width:760px){.opening-photo>picture img{object-position:center center}.intro-action{gap:16px}.intro-action .btn{min-height:48px}}

.family-scenes{border-top:1px solid var(--line)}.family-scenes h2{color:var(--tomato);font-size:clamp(42px,6vw,76px);line-height:1;margin:12px 0}.family-scenes>p:not(.eyebrow){max-width:630px;font-size:15px}.family-scenes-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:30px}.family-scenes-grid figure{margin:0;min-width:0;overflow:hidden}.family-scenes-grid img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .5s ease}.family-scenes-grid figure:hover img{transform:scale(1.04)}@media(max-width:700px){.family-scenes-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-right:calc(-1 * var(--space));padding-right:var(--space);padding-bottom:12px}.family-scenes-grid figure{flex:0 0 66%;scroll-snap-align:start}.family-scenes-grid img{aspect-ratio:3/4}}@media(prefers-reduced-motion:reduce){.family-scenes-grid img{transition:none}}


/* Mobile carousel clarity and uncropped product photography */
@media(max-width:760px){
 .pantry-photo{height:auto!important;aspect-ratio:1/1}
 .pantry-photo picture,.pantry-photo img{display:block;width:100%;height:auto!important;max-width:none;object-fit:contain!important;transform:none!important}
 .pantry-photo figcaption{position:static;padding:12px var(--space)}
 .editorial-gallery .story-carousel{gap:12px;padding-inline:var(--space)}
 .editorial-gallery .story-carousel figure:first-child{flex:0 0 76vw;width:76vw;max-width:76vw}
 .editorial-gallery .story-carousel figure:first-child img{aspect-ratio:4/3;height:auto;object-fit:cover}
 .drinks-section{padding:42px 0 50px;overflow:hidden}
 .drinks-grid{gap:28px}
 .drinks-grid>div:last-child{order:-1;padding-inline:var(--space)}
 .drinks-grid>div:last-child h2{font-size:clamp(42px,13vw,68px);line-height:.94;margin:18px 0}
 .drinks-grid>div:last-child p:not(.eyebrow){font-size:15px;line-height:1.65;margin-bottom:20px}
 .drinks-grid .scene-gallery-track figure{flex-basis:88vw!important;width:88vw!important;max-width:88vw!important}
 .drinks-grid .scene-gallery-track figure img{height:auto;aspect-ratio:4/3;object-fit:cover}
 .scene-gallery-wide .scene-gallery-track figure img{height:60vw;max-height:380px;object-fit:cover}
 .scene-gallery-wide .scene-gallery-track{scroll-behavior:smooth}
 .marseille-story .life-grid{position:relative;left:50%;width:100vw;margin-left:-50vw;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 var(--space) 8px;scroll-behavior:smooth}
 .marseille-story .life-grid>figure{flex:0 0 88vw;width:88vw;scroll-snap-align:start;margin:0!important}
 .marseille-story .life-grid img{display:block;width:100%;height:62vw;max-height:390px;object-fit:cover}
 .carousel-dots{display:flex;justify-content:center;align-items:center;gap:8px;padding:14px var(--space) 0}
 .carousel-dots button{width:8px;height:8px;min-width:8px;padding:0;border:0;border-radius:999px;background:#b9a697;cursor:pointer;transition:width .25s,background .25s}
 .carousel-dots button[aria-current="true"]{width:22px;background:#813c32}
 .carousel-dots button:focus-visible{outline:2px solid #813c32;outline-offset:4px}
}
@media(prefers-reduced-motion:reduce){.scene-gallery-wide .scene-gallery-track,.marseille-story .life-grid{scroll-behavior:auto!important}.carousel-dots button{transition:none}}

/* Carousel pagination also needs explicit styling on desktop; otherwise the
   browser's native button borders show up as three odd little bars. */
.carousel-dots{display:flex;justify-content:center;align-items:center;gap:8px;padding:14px 0 0}
.carousel-dots button{appearance:none;-webkit-appearance:none;display:block;width:9px;height:9px;min-width:9px;padding:0;border:0;border-radius:999px;background:#b9a697;box-shadow:none;cursor:pointer;transition:width .25s,background .25s}
.carousel-dots button[aria-current="true"]{width:22px;background:#813c32}
.carousel-dots button:focus-visible{outline:2px solid #813c32;outline-offset:4px}


/* Derniers ajustements mobiles des annotations Cucina Mamma */
@media(max-width:760px){
 body:has(.opening) .header .shop-actions{display:none!important}
 .editorial-gallery .story-carousel figure:first-child img{aspect-ratio:9/16!important;object-fit:cover}
 .drinks-grid .scene-gallery-nav span{max-width:28ch;font-size:12px;font-weight:700;color:#51372d}
 .family-scenes-grid figure{flex-basis:76%;scroll-snap-align:start}
 .family-scenes-grid img{aspect-ratio:3/4;object-fit:cover}
 .uber-banner-shop .uber-banner-photo{aspect-ratio:16/6!important;min-height:0!important;height:auto!important}
 .uber-banner-shop .uber-banner-photo img{object-fit:cover;object-position:center 52%}
}
.family-scenes-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(min-width:761px){.uber-banner-shop .uber-banner-photo{aspect-ratio:16/6!important;min-height:0!important}.uber-banner-shop .uber-banner-photo img{object-fit:cover;object-position:center 52%}}

/* Homepage order banner: show the complete 16:9 pizza spread. */
body:has(.opening) .uber-banner-shop .uber-banner-photo{aspect-ratio:16/9!important;min-height:0!important;height:auto!important}
body:has(.opening) .uber-banner-shop .uber-banner-photo img{width:100%;height:100%;object-fit:cover;object-position:center}

/* Desktop spacing: keep the pantry image and copy in a compact shared frame. */
@media (min-width: 761px) {
  .pantry-layout { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(38px, 6vw, 96px); align-items: center; }
  .pantry-copy { max-width: 540px; }
  .pantry-copy h2 { font-size: clamp(58px, 6vw, 92px); line-height: .93; }
  .pantry-photo { height: auto !important; aspect-ratio: 16 / 10; min-height: 0; }
  .pantry-photo picture { position: absolute; inset: 0; width: 100%; height: 100%; }
  .pantry-photo picture img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
}

/* Footer character lockup */
.footer-brand { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
.footer-brand .footer-word { flex: 0 1 auto; margin: 0; font-size: clamp(70px, 8vw, 118px); }
.footer-brand img { flex: 0 0 auto; width: clamp(90px, 11vw, 150px); height: auto; object-fit: contain; }

/* Robust carousel pagination reset for desktop and mobile browser defaults. */
.carousel-dots { display: flex !important; width: 100%; justify-content: center !important; align-items: center; gap: 9px; margin: 0 auto; padding: 14px 0 0; }
.carousel-dots button { appearance: none !important; -webkit-appearance: none !important; display: block !important; flex: 0 0 auto; width: 9px !important; height: 9px !important; min-width: 9px !important; min-height: 9px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: #b9a697 !important; box-shadow: none !important; line-height: 0 !important; font-size: 0 !important; }
.carousel-dots button[aria-current="true"] { width: 22px !important; border-radius: 99px !important; background: #813c32 !important; }
@media (max-width: 760px) {
  .footer-brand { justify-content: flex-start; gap: 12px; }
  .footer-brand .footer-word { font-size: clamp(68px, 22vw, 110px); }
  .footer-brand img { width: clamp(78px, 25vw, 118px); }
  .pantry-layout { gap: 24px; }
  .pantry-photo { height: auto !important; aspect-ratio: 1 / 1; }
  .pantry-photo picture { position: relative; inset: auto; height: auto; }
  .pantry-photo picture img { width: 100%; height: auto; object-fit: contain; }
}

/* Marseille: preserve each photograph's complete, natural proportions. */
@media (min-width: 761px) {
  .marseille-story .life-grid { grid-template-columns: minmax(0, .83fr) minmax(0, 1fr); gap: clamp(16px, 2.6vw, 36px); align-items: start; }
  .marseille-story .life-grid > figure { aspect-ratio: auto; margin: 0 !important; }
  .marseille-story .life-side { margin-top: 0 !important; }
  .marseille-story .life-grid img { display: block; width: 100%; height: auto; object-fit: contain; transform: none; }
  .marseille-story .carousel-dots { display: none !important; }
}
@media (max-width: 760px) {
  .marseille-story .life-grid { align-items: flex-start; }
  .marseille-story .life-grid > figure { aspect-ratio: auto; align-self: flex-start; }
  .marseille-story .life-grid img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; transform: none; }
}

/* Marseille gallery: wide, edge-to-edge presentation without cropping. */
@media (min-width: 761px) {
  .marseille-story .life-grid {
    position: relative;
    left: 50%;
    width: min(100vw, 1520px);
    margin-left: 0;
    transform: translateX(-50%);
    grid-template-columns: minmax(0, .83fr) minmax(0, 1fr);
    gap: clamp(16px, 2vw, 28px);
  }
}
@media (max-width: 760px) {
  .marseille-story .life-grid {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: 0;
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 0;
    overflow: visible;
    scroll-snap-type: none;
  }
  .marseille-story .life-grid > figure {
    width: 100%;
    min-width: 0;
    flex: none;
    scroll-snap-align: none;
  }
  .marseille-story .carousel-dots { display: none !important; }
}

/* Une seule photo dans la section Marseille, sans recadrage. */
.marseille-story .life-grid.life-grid-single{grid-template-columns:minmax(0,1fr);gap:0}.marseille-story .life-grid.life-grid-single>figure{width:100%;min-width:0;margin:0!important}.marseille-story .life-grid.life-grid-single img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}

/* Compositions amies : paysage sur ordinateur, portrait mobile sans coupe. */
.editorial-gallery .story-carousel figure.duo-friends,.editorial-gallery .cm-swiper .swiper-slide.duo-friends{flex-basis: min(80vw,980px);width:min(80vw,980px)!important;max-width:980px!important}
.duo-friends picture{display:block;width:100%}.editorial-gallery .duo-friends picture img{display:block;width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain}
@media(max-width:760px){.editorial-gallery .story-carousel figure.duo-friends,.editorial-gallery .cm-swiper .swiper-slide.duo-friends{flex-basis:82vw;width:82vw!important;max-width:none!important}.editorial-gallery .story-carousel figure img,.editorial-gallery .cm-swiper .swiper-slide img,.editorial-gallery .duo-friends picture img{display:block;width:100%;height:auto!important;aspect-ratio:4/5!important;object-fit:cover}}

/* Accueil : les deux cadrages ont des proportions stables avant chargement. */
.opening .opening-photo{height:auto!important;aspect-ratio:1672/941!important;overflow:hidden}
.opening .opening-photo>picture{display:block;width:100%;height:auto!important;aspect-ratio:1672/941}
.opening .opening-photo>picture img{display:block;width:100%;height:auto!important;aspect-ratio:1672/941!important;object-fit:contain!important;transform:none!important}
@media(max-width:760px){.opening .opening-photo,.opening .opening-photo>picture,.opening .opening-photo>picture img{aspect-ratio:1/1!important}.uber-banner-shop .uber-banner-photo,.uber-banner-shop .uber-banner-photo picture,.uber-banner-shop .uber-banner-photo img{aspect-ratio:1/1!important;height:auto!important;object-fit:contain!important}}

@media(max-width:760px){body:has(.opening) .uber-banner-shop .uber-banner-photo{width:100%;height:auto!important;min-height:0!important;aspect-ratio:1/1!important}body:has(.opening) .uber-banner-shop .uber-banner-photo picture,body:has(.opening) .uber-banner-shop .uber-banner-photo img{display:block;width:100%;height:auto!important;aspect-ratio:1/1!important;object-fit:contain!important}}

/* Client menu corrections: genuine pizza bases and honest missing-photo states. */
.pizza-base-filters{display:flex;flex-wrap:wrap;gap:9px;margin:-12px 0 26px}.pizza-base-filters[hidden]{display:none}.pizza-base-filter{appearance:none;border:1px solid var(--line);background:transparent;color:var(--tomato);padding:11px 15px;min-height:44px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}.pizza-base-filter[aria-pressed="true"],.pizza-base-filter:hover{background:var(--tomato);border-color:var(--tomato);color:var(--paper)}.pizza-base-filter:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.menu-photo-placeholder{display:grid;place-items:center;width:82px;height:102px;padding:8px;border:1px dashed var(--line);color:var(--muted);font-size:10px;line-height:1.3;text-align:center}.menu-item[hidden]{display:none!important}

.menu-item img{object-fit:contain;background:#f5ecdf;border-radius:14px;padding:3px}.menu-item .menu-photo-placeholder{display:grid;place-items:center;min-height:92px;font-size:10px;text-align:center;background:#eee3d4;border:1px dashed #b99a8c;border-radius:12px;color:#74554c;padding:8px}
