:root {
  --sun: #FFD200;
  --sun-deep: #F0C400;
  --sun-pale: #FFF7D4;
  --sun-glow: #FFE24D;
  --sun-warm: #FFEC80;
  --rouge: #C0392B;
  --rouge-deep: #A02E22;
  --rouge-light: #E74C3C;
  --rouge-pale: #FCEAE8;
  --blanc: #FFFFFF;
  --blanc-chaud: #FFFDF6;
  --blanc-creme: #FFF9E8;
  --texte: #3A1A0A;
  --texte-soft: #6B4A3A;
  --texte-light: #9A7A6A;
  --border: #F0E8D8;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Instrument Sans',sans-serif;background:var(--blanc-chaud);color:var(--texte);overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--sun);color:var(--texte)}
img{max-width:100%;display:block}

/* ══ CURSOR ══ */
.blob{position:fixed;width:16px;height:16px;background:var(--rouge);border-radius:50%;pointer-events:none;z-index:10000;mix-blend-mode:multiply;transition:transform .15s,width .3s,height .3s;transform:translate(-50%,-50%);opacity:0}
.blob.on{opacity:.6}.blob.big{width:50px;height:50px;background:var(--sun);opacity:.5}

/* ══ NAV ══ */
.topbar{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:72px;background:transparent;transition:all .4s cubic-bezier(.16,1,.3,1)}
.topbar.stuck{background:rgba(255,253,246,.97);backdrop-filter:blur(20px);height:58px;box-shadow:0 2px 20px rgba(192,57,43,.06)}
.topbar-logo{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.topbar-logo img{height:195px;width:auto;border-radius:4px;transition:height .3s}
.topbar.stuck .topbar-logo img{height:120px}
.topbar-links{display:flex;gap:.3rem;align-items:center}
.topbar-links a{text-decoration:none;color:var(--texte);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:.5rem 1rem;border-radius:100px;transition:all .25s}
.topbar-links a:hover{color:var(--rouge);background:var(--rouge-pale)}
.topbar-links .cta{background:var(--rouge);color:var(--blanc)!important;padding:.5rem 1.4rem;margin-left:.6rem}
.topbar-links .cta:hover{background:var(--rouge-light)}
.burger{display:none;background:none;border:none;cursor:pointer;width:30px;height:18px;position:relative;z-index:1000}
.burger span{position:absolute;left:0;height:2px;width:100%;background:var(--rouge);transition:all .35s cubic-bezier(.16,1,.3,1)}
.burger span:nth-child(1){top:0}.burger span:nth-child(2){top:8px;opacity:1}.burger span:nth-child(3){top:16px}
body.menu-open{overflow:hidden}
body.menu-open .burger span:nth-child(1){top:8px;transform:rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0;transform:scaleX(0)}
body.menu-open .burger span:nth-child(3){top:8px;transform:rotate(-45deg)}

/* ══ HERO ══ */
.hero{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:var(--sun);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-10%;right:44%;width:200px;height:140%;background:var(--rouge);transform:skewX(-8deg);opacity:.06;z-index:1}
.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(0deg,var(--blanc-chaud),transparent);z-index:2}

.hero-left{display:flex;flex-direction:column;justify-content:center;padding:8rem 5rem 5rem;position:relative;z-index:3}
.hero-tag{font-family:'Syne',sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--rouge);margin-bottom:2.5rem;display:flex;align-items:center;gap:1rem;animation:sr .7s .2s cubic-bezier(.16,1,.3,1) both}
.hero-tag::before{content:'';width:40px;height:2px;background:var(--rouge)}
.hero h1{font-family:'Libre Baskerville',serif;font-size:clamp(2.6rem,5vw,4.2rem);font-weight:700;line-height:1.08;color:var(--texte);margin-bottom:2rem;animation:sr .7s .35s cubic-bezier(.16,1,.3,1) both}
.hero h1 .accent{color:var(--rouge);font-style:italic;font-weight:400}
.hero-desc{font-size:1rem;line-height:1.8;color:var(--texte-soft);max-width:420px;margin-bottom:3rem;animation:sr .7s .5s cubic-bezier(.16,1,.3,1) both}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;animation:sr .7s .6s cubic-bezier(.16,1,.3,1) both}

.btn-rouge{display:inline-flex;align-items:center;gap:.6rem;background:var(--rouge);color:var(--blanc);padding:.9rem 2rem;border-radius:4px;font-family:'Syne',sans-serif;font-weight:700;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:all .3s;border:none;cursor:pointer}
.btn-rouge:hover{background:var(--rouge-deep);box-shadow:0 8px 30px rgba(192,57,43,.2);transform:translateY(-2px)}
.btn-rouge svg{width:15px;height:15px}
.btn-white{display:inline-flex;align-items:center;gap:.5rem;background:var(--blanc);color:var(--rouge);padding:.9rem 2rem;border-radius:4px;font-family:'Syne',sans-serif;font-weight:600;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:2px solid var(--blanc);transition:all .3s}
.btn-white:hover{border-color:var(--rouge);transform:translateY(-2px)}

.hero-right{position:relative;overflow:hidden;animation:fi 1s .4s ease both}
.hero-photo{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(1.1)}
.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,var(--sun) 0%,transparent 30%),linear-gradient(0deg,rgba(255,210,0,.3) 0%,transparent 30%);z-index:2}
.hero-float-badge{position:absolute;bottom:3rem;left:2rem;z-index:3;background:var(--blanc);color:var(--rouge);padding:.9rem 1.5rem;border-radius:6px;font-family:'Syne',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 15px 40px rgba(0,0,0,.1);animation:fl 5s ease-in-out infinite}
.hero-year{position:absolute;top:2.5rem;right:2.5rem;z-index:3;font-family:'Libre Baskerville',serif;font-size:5.5rem;font-weight:700;color:rgba(192,57,43,.07);line-height:1}

/* ══ MARQUEE ══ */
.marquee{background:var(--rouge);padding:.9rem 0;overflow:hidden;white-space:nowrap}
.marquee-track{display:inline-flex;animation:mq 22s linear infinite}
.mq-item{font-family:'Syne',sans-serif;font-weight:800;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blanc);padding:0 2.2rem;display:flex;align-items:center;gap:.8rem}
.mq-dot{width:5px;height:5px;border-radius:50%;background:var(--sun);flex-shrink:0}

/* ══ ABOUT ══ */
.about{padding:8rem 5rem;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:.35fr 1fr;gap:5rem;align-items:start}
.about-side{position:sticky;top:120px}
.about-big{font-family:'Libre Baskerville',serif;font-size:7rem;font-weight:700;line-height:.85;color:var(--sun);opacity:.35}
.about-vert{font-family:'Syne',sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rouge);writing-mode:vertical-lr;transform:rotate(180deg);margin-top:1.5rem}
.about-main h2{font-family:'Libre Baskerville',serif;font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:700;line-height:1.2;margin-bottom:1.8rem}
.about-main h2 em{font-style:italic;color:var(--rouge)}
.about-text{font-size:1rem;line-height:2;color:var(--texte-soft);max-width:620px;margin-bottom:3rem}

.about-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:3rem}
.mos{border-radius:10px;overflow:hidden;position:relative;border:3px solid var(--sun)}
.mos img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.mos:hover img{transform:scale(1.05)}
.mos.tall{grid-row:span 2}
.mos:not(.tall){aspect-ratio:4/3}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:2px solid var(--sun);border-radius:10px;overflow:hidden;background:var(--blanc)}
.pillar{padding:2.2rem 1.8rem;border-right:2px solid var(--sun);transition:background .4s;position:relative}
.pillar:last-child{border-right:none}
.pillar:hover{background:var(--sun-pale)}
.pillar::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--rouge);transform:scaleX(0);transition:transform .4s cubic-bezier(.16,1,.3,1);transform-origin:left}
.pillar:hover::before{transform:scaleX(1)}
.pillar-icon{font-size:1.8rem;margin-bottom:1rem;display:block}
.pillar h4{font-family:'Syne',sans-serif;font-size:.8rem;font-weight:700;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.04em;color:var(--rouge)}
.pillar p{font-size:.78rem;color:var(--texte-soft);line-height:1.6}

/* ══ PRODUCTS ══ */
.products{background:var(--sun);padding:8rem 0;position:relative;overflow:hidden}
.products::after{content:'PRODUITS';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Syne',sans-serif;font-size:16vw;font-weight:800;color:rgba(255,255,255,.12);white-space:nowrap;pointer-events:none}
.prod-head{max-width:1400px;margin:0 auto;padding:0 5rem 4rem;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;position:relative;z-index:1}
.prod-head h2{font-family:'Libre Baskerville',serif;font-size:clamp(1.9rem,3.2vw,2.8rem);color:var(--texte);font-weight:700;line-height:1.15}
.prod-head h2 em{color:var(--rouge);font-style:italic}
.prod-head p{font-size:.85rem;color:var(--texte-soft);max-width:320px;line-height:1.7;text-align:right}

.prod-gallery{max-width:1400px;margin:0 auto;padding:0 5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;position:relative;z-index:1}
.prod-card{border-radius:12px;overflow:hidden;position:relative;aspect-ratio:3/4;cursor:default;transition:transform .5s cubic-bezier(.16,1,.3,1);box-shadow:0 10px 40px rgba(0,0,0,.1)}
.prod-card:hover{transform:translateY(-8px)}
.prod-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.prod-card:hover img{transform:scale(1.06)}
.prod-card .p-ov{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:linear-gradient(0deg,rgba(192,57,43,.9) 0%,rgba(192,57,43,.4) 50%,transparent 100%);z-index:2}
.prod-card h3{font-family:'Syne',sans-serif;font-size:.78rem;font-weight:700;color:var(--sun);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}
.prod-card p{font-size:.74rem;color:rgba(255,255,255,.8);line-height:1.55}

.prod-text-row{max-width:1400px;margin:1.2rem auto 0;padding:0 5rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;position:relative;z-index:1}
.ptc{background:var(--blanc);border:2px solid rgba(192,57,43,.1);border-radius:12px;padding:2.5rem;display:flex;gap:1.5rem;align-items:center;transition:all .4s;box-shadow:0 4px 20px rgba(0,0,0,.04)}
.ptc:hover{border-color:var(--rouge);transform:translateY(-4px);box-shadow:0 8px 30px rgba(192,57,43,.1)}
.ptc .em{font-size:2.8rem;flex-shrink:0}
.ptc h3{font-family:'Syne',sans-serif;font-size:.78rem;font-weight:700;color:var(--rouge);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem}
.ptc p{font-size:.76rem;color:var(--texte-soft);line-height:1.6}

/* ══ BOUTIQUES ══ */
.boutiques{padding:8rem 5rem;max-width:1400px;margin:0 auto}
.bout-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem;gap:2rem}
.bout-head h2{font-family:'Libre Baskerville',serif;font-size:clamp(1.9rem,3vw,2.5rem);font-weight:700}
.bout-head h2 em{color:var(--rouge);font-style:italic}
.bout-head p{font-size:.85rem;color:var(--texte-soft);max-width:280px;text-align:right;line-height:1.6}

.bout-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:2px solid var(--sun);border-radius:10px;overflow:hidden;background:var(--blanc)}
.shop{padding:1.8rem 1.5rem;border-right:2px solid var(--sun);border-bottom:2px solid var(--sun);transition:all .35s;cursor:default}
.shop:nth-child(4n){border-right:none}
.shop:nth-child(n+5){border-bottom:none}
.shop:hover{background:var(--sun)}
.shop:hover .s-name{color:var(--rouge)}.shop:hover .s-addr{color:var(--texte);opacity:.7}.shop:hover .s-tags span{background:var(--blanc);color:var(--rouge)}
.s-name{font-family:'Syne',sans-serif;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;color:var(--texte);transition:color .3s}
.s-addr{font-size:.74rem;color:var(--texte-soft);line-height:1.5;margin-bottom:.8rem;transition:all .3s}
.s-tags{display:flex;gap:.4rem;flex-wrap:wrap}
.s-tags span{font-size:.62rem;font-weight:600;padding:.2rem .55rem;border-radius:3px;background:var(--sun-pale);color:var(--texte-soft);transition:all .3s}

/* ══ AVIS ══ */
.avis{background:var(--rouge);padding:6rem 5rem;position:relative;overflow:hidden}
.avis::before{content:'"';position:absolute;top:-60px;left:4%;font-family:'Libre Baskerville',serif;font-size:35rem;color:rgba(255,255,255,.06);line-height:1;pointer-events:none}
.avis-in{max-width:1400px;margin:0 auto;position:relative;z-index:1}
.avis-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3.5rem}
.avis-top h2{font-family:'Libre Baskerville',serif;font-size:clamp(1.9rem,3vw,2.5rem);color:var(--blanc);font-weight:700}
.avis-top .stars-big{font-size:1.4rem;color:var(--sun);letter-spacing:3px}
.avis-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.av{background:var(--blanc);border-radius:10px;padding:2.2rem;transition:transform .4s;box-shadow:0 8px 30px rgba(0,0,0,.08)}
.av:hover{transform:translateY(-5px)}
.av .stars{color:var(--sun-deep);font-size:.78rem;letter-spacing:2px;margin-bottom:.8rem}
.av blockquote{font-family:'Libre Baskerville',serif;font-size:.88rem;font-style:italic;color:var(--texte-soft);line-height:1.7;margin-bottom:1.3rem}
.av .who{font-family:'Syne',sans-serif;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--rouge)}
.av .who span{display:block;font-weight:400;color:var(--texte-light);margin-top:.15rem;letter-spacing:.05em}

/* ══ SNACKING ══ */
.snacking{padding:8rem 5rem;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:center}
.snack-h h2{font-family:'Libre Baskerville',serif;font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:700;margin-bottom:1.5rem;line-height:1.2}
.snack-h h2 em{color:var(--rouge);font-style:italic}
.snack-h>p{font-size:.92rem;line-height:1.8;color:var(--texte-soft);max-width:480px;margin-bottom:2.5rem}
.snack-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.si{padding:1.6rem;background:var(--blanc);border-radius:8px;border:2px solid var(--sun-pale);transition:all .3s}
.si:hover{border-color:var(--rouge);background:var(--rouge-pale);transform:translateY(-3px)}
.si .em{font-size:1.6rem;margin-bottom:.6rem;display:block}
.si h4{font-family:'Syne',sans-serif;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem;color:var(--rouge)}
.si p{font-size:.72rem;color:var(--texte-soft);line-height:1.5}
.snack-vis{position:relative}
.snack-img{width:100%;aspect-ratio:4/5;border-radius:12px;overflow:hidden;border:3px solid var(--sun);box-shadow:0 15px 40px rgba(192,57,43,.08)}
.snack-img img{width:100%;height:100%;object-fit:cover}
.uber-tag{position:absolute;bottom:-12px;right:-12px;background:var(--rouge);color:var(--blanc);padding:.7rem 1.3rem;border-radius:6px;font-family:'Syne',sans-serif;font-weight:700;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 10px 25px rgba(192,57,43,.2)}
.btn-ubereats{display:inline-flex;align-items:center;gap:.6rem;background:#06C167;color:#fff;padding:.9rem 2rem;border-radius:4px;font-family:'Syne',sans-serif;font-weight:700;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:all .3s;border:none;cursor:pointer}
.btn-ubereats:hover{background:#05a657;box-shadow:0 8px 30px rgba(6,193,103,.25);transform:translateY(-2px)}

/* ══ CTA ══ */
.cta{background:var(--sun);padding:5rem;text-align:center;position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(-45deg,transparent,transparent 18px,rgba(255,255,255,.08) 18px,rgba(255,255,255,.08) 20px)}
.cta h2{font-family:'Libre Baskerville',serif;font-size:clamp(1.7rem,3vw,2.4rem);color:var(--texte);font-weight:700;margin-bottom:.8rem;position:relative}
.cta>p{color:var(--texte-soft);font-size:.9rem;margin-bottom:2.5rem;position:relative}
.cta-btns{display:flex;flex-direction:column;align-items:center;gap:1rem;position:relative}.cta-row{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.btn-w{display:inline-flex;align-items:center;gap:.5rem;background:var(--blanc);color:var(--rouge);padding:.9rem 2rem;border-radius:4px;font-family:'Syne',sans-serif;font-weight:700;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:all .3s;border:none;cursor:pointer}
.btn-w:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.08)}

/* ══ FOOTER ══ */
footer{background:var(--rouge);padding:5rem 5rem 2rem;color:var(--blanc)}
.ft-top{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2.5fr 1fr 1fr 1.5fr;gap:3rem;padding-bottom:4rem;border-bottom:1px solid rgba(255,255,255,.12)}
.ft-brand{display:flex;flex-direction:column;gap:1rem}
.ft-brand img{width:180px;height:auto;border-radius:4px;background:var(--sun);padding:4px}
.ft-brand p{font-size:.8rem;line-height:1.7;opacity:.6;max-width:260px}
.ft-col h4{font-family:'Syne',sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sun);margin-bottom:1.3rem}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.ft-col a{text-decoration:none;color:var(--blanc);font-size:.8rem;opacity:.6;transition:all .3s}
.ft-col a:hover{opacity:1;color:var(--sun)}
.ft-contact div{display:flex;gap:.5rem;margin-bottom:.7rem;font-size:.78rem;opacity:.6}
.ft-contact div span:first-child{flex-shrink:0}
.ft-bot{max-width:1400px;margin:0 auto;padding-top:2rem;display:flex;justify-content:space-between;align-items:center}
.ft-bot p{font-size:.65rem;opacity:.35}
.ft-links{display:flex;gap:1.3rem}
.ft-links a{font-size:.65rem;text-decoration:none;color:var(--sun);opacity:.7;transition:opacity .3s}
.ft-links a:hover{opacity:1}
.ft-credit{max-width:1400px;margin:.8rem auto 0;text-align:center;font-size:.65rem;color:rgba(255,255,255,.35);font-family:'Instrument Sans',sans-serif}
.zxstudio-link{color:#D5D0BC;font-size:.95rem;font-weight:700;border:none;text-decoration:none;transition:opacity .2s;vertical-align:middle}
.zxstudio-link:hover{opacity:.7}
.zxstudio-link .zx{color:rgb(230,57,70)}
.ml-trigger{background:none;border:none;color:var(--sun);font-size:.65rem;font-family:'Instrument Sans',sans-serif;cursor:pointer;padding:0;opacity:.7;transition:opacity .3s}
.ml-trigger:hover{opacity:1}
.ml-modal{max-width:560px;max-height:80vh;display:flex;flex-direction:column}
.ml-content{overflow-y:auto;padding-right:.5rem;flex:1}
.ml-content h4{font-family:'Syne',sans-serif;font-size:.95rem;font-weight:700;font-style:normal;letter-spacing:.02em;text-transform:none;color:var(--rouge);margin:1.4rem 0 .4rem}
.ml-content h4:first-child{margin-top:0}
.ml-content p{font-size:.82rem;line-height:1.7;opacity:.7;margin-bottom:.5rem}
.ml-content a{color:var(--rouge);text-decoration:none}
.ml-content a:hover{text-decoration:underline}
.ml-update{font-size:.72rem!important;opacity:.4!important;margin-top:1.5rem;font-style:italic}

/* ══ ANIMS ══ */
@keyframes sr{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}
@keyframes fi{from{opacity:0}to{opacity:1}}
@keyframes fl{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes mq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.rv{opacity:0;transform:translateY(45px);transition:all .9s cubic-bezier(.16,1,.3,1)}
.rv.vis{opacity:1;transform:translateY(0)}

/* ══ MOBILE NAV ══ */
.mob-nav{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--sun);z-index:950;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.8rem;opacity:0;pointer-events:none;transition:opacity .3s}
.mob-nav.open{opacity:1;pointer-events:auto}
.mob-nav a{font-family:'Syne',sans-serif;font-size:1.2rem;font-weight:700;text-decoration:none;color:var(--texte);text-transform:uppercase;letter-spacing:.08em;transition:color .3s}
.mob-nav a:hover{color:var(--rouge)}
.mob-nav .x{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:var(--rouge);font-size:2rem;cursor:pointer}

/* ══ RESPONSIVE ══ */
@media(max-width:1100px){
.hero{grid-template-columns:1fr}.hero-right{min-height:50vh}.hero-left{padding:7rem 3rem 4rem}
.about{grid-template-columns:1fr;gap:2rem;padding:6rem 3rem}.about-side{position:static;display:flex;align-items:center;gap:2rem}.about-vert{writing-mode:horizontal-tb;transform:none;margin-top:0}
.prod-gallery{grid-template-columns:repeat(2,1fr);padding:0 3rem}.prod-text-row{padding:0 3rem;grid-template-columns:1fr}
.bout-grid{grid-template-columns:repeat(2,1fr)}.shop:nth-child(2n){border-right:none}.shop{border-bottom:2px solid var(--sun)!important}.shop:nth-last-child(-n+2){border-bottom:none!important}
.avis-row{grid-template-columns:1fr}
.snacking{grid-template-columns:1fr;gap:3rem;padding:6rem 3rem}
.ft-top{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
.topbar{padding:0 1.5rem}.topbar-links{display:none}.burger{display:block}
.hero-left{padding:6rem 1.5rem 3rem}.hero h1{font-size:2.2rem}
.about{padding:5rem 1.5rem}.about-big{font-size:4rem}.about-mosaic{grid-template-columns:1fr}.mos.tall{grid-row:auto}
.pillars{grid-template-columns:1fr}.pillar{border-right:none;border-bottom:2px solid var(--sun)}.pillar:last-child{border-bottom:none}
.prod-head{flex-direction:column;align-items:flex-start;padding:0 1.5rem 3rem}.prod-head p{text-align:left}.prod-gallery{grid-template-columns:1fr;padding:0 1.5rem}.prod-text-row{padding:0 1.5rem}
.boutiques{padding:5rem 1.5rem}.bout-head{flex-direction:column;align-items:flex-start}.bout-head p{text-align:left}.bout-grid{grid-template-columns:1fr}.shop{border-right:none!important}.shop:nth-last-child(-n+2){border-bottom:2px solid var(--sun)!important}.shop:last-child{border-bottom:none!important}
.avis{padding:5rem 1.5rem}.avis-top{flex-direction:column;align-items:flex-start;gap:.8rem}
.snacking{padding:5rem 1.5rem}.snack-grid{grid-template-columns:1fr}
.cta{padding:4rem 1.5rem}.cta-btns{flex-direction:column;align-items:center}
footer{padding:3rem 1.5rem 1.5rem}.ft-top{grid-template-columns:1fr}.ft-bot{flex-direction:column;gap:1rem;text-align:center}
.hero-year{font-size:3rem;top:1.5rem;right:1.5rem}.blob{display:none!important}
}
@media(max-width:480px){.hero-btns{flex-direction:column}.hero-btns a{width:100%;justify-content:center}}

/* ══ SHOP MODAL ══ */
.shop{cursor:pointer}
.shop-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1100;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s}
.shop-overlay.open{opacity:1;pointer-events:auto}
.shop-modal{background:var(--blanc);border-radius:12px;padding:2.5rem;max-width:420px;width:90%;position:relative;transform:translateY(20px);transition:transform .25s}
.shop-overlay.open .shop-modal{transform:translateY(0)}
.shop-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--texte);opacity:.4;transition:opacity .2s}
.shop-close:hover{opacity:1}
.shop-modal-name{font-family:'Syne',sans-serif;font-size:1.4rem;font-weight:800;color:var(--rouge);margin-bottom:.4rem}
.shop-modal-addr{font-size:.85rem;opacity:.55;margin-bottom:1.2rem}
.shop-modal-hours{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;margin-bottom:.6rem;color:var(--texte)}
.shop-modal-phone{font-size:.85rem;opacity:.55;margin-bottom:1.8rem}
.shop-modal-btns{display:flex;gap:.8rem;flex-wrap:wrap}
.shop-modal-btns a{flex:1;justify-content:center;text-align:center}
.shop-dir-btn{color:var(--rouge)!important}
