:root{
  --g:#3E6A2A; --g2:#2F5220; --g3:#E6EEDF; --gd:#1E3517; --red:#B8352B; --mark:#F3E56A; --ink2:#2B4620;
  --paper:#F7F4EC; --sand:#F3E6D0; --sand2:#EAD9BE; --wood:#6B4A2B; --ink:#2B2B2B;
  --fd:'Oswald',Impact,sans-serif; --fb:'Aleo',Georgia,serif; --fm:'Permanent Marker',cursive;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
/* clip et non hidden : hidden sur la racine casserait les blocs collés (le plat 3D) */
html{overflow-x:clip}
body{font-family:var(--fb);font-style:italic;color:var(--ink2);background:#fff;line-height:1.55;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
.wrap{width:min(1210px,calc(100% - 40px));margin:0 auto;position:relative;z-index:1}
.dsp{font-family:var(--fd);font-style:normal;font-weight:500;text-transform:uppercase;line-height:.95;letter-spacing:.02em}
.outl{color:transparent;-webkit-text-stroke:2px var(--g);letter-spacing:.06em}
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--g);color:#fff;font-family:var(--fm);font-style:normal;text-transform:uppercase;font-size:19px;padding:16px 30px;min-height:52px;transition:transform .35s var(--ease),color .3s;isolation:isolate}
.btn::before{content:"";position:absolute;inset:0;background:var(--g2);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);z-index:-1}
.btn:hover::before{transform:none}
.btn:hover{transform:translateY(-2px) rotate(-1deg)}
.btn.ghost{background:#fff;color:var(--g);box-shadow:inset 0 0 0 3px var(--g)}
.btn.red{background:var(--red);box-shadow:0 14px 30px -14px rgba(184,53,43,.6)}
.btn.red::before{background:#96281f}
.btn.ghost::before{background:var(--g)}
.btn.ghost:hover{color:#fff}
.rv{opacity:0;transform:translateY(30px)}
.rv.in{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}
.clip img{clip-path:inset(100% 0 0 0);transform:scale(1.12);transition:clip-path .8s var(--ease),transform 1.6s var(--ease)}
.clip.in img{clip-path:inset(0 0 0 0);transform:scale(1)}
.clip .tag{opacity:0;transform:rotate(-3deg) translateY(10px);transition:opacity .5s .8s,transform .6s var(--ease) .8s}
.clip.in .tag{opacity:1;transform:rotate(-3deg) translateY(0)}
/* split titles */
.sp .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.sp .c{display:inline-block;transform:translateY(110%);transition:transform .9s var(--ease)}
.sp.in .c{transform:none}
/* hand underline */
.ul{position:relative;white-space:nowrap}
.ul svg{position:absolute;left:-2%;bottom:-.18em;width:104%;height:.42em;overflow:visible;pointer-events:none}
.ul svg path{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease) .3s}
.in .ul svg path,.ul.in svg path{stroke-dashoffset:0}
/* grain + cursor + progress */

.prog{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--g);transform:scaleX(0);transform-origin:left;z-index:150}
.cur{position:fixed;left:0;top:0;width:12px;height:12px;border-radius:50%;background:var(--g);pointer-events:none;z-index:300;transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),background .3s,opacity .3s;mix-blend-mode:multiply;opacity:0}
.cur.on{opacity:1}
.cur.big{width:46px;height:46px;background:rgba(74,113,50,.25)}
@media(pointer:coarse){.cur{display:none}}

/* stickers */
.stk{position:absolute;pointer-events:none;mix-blend-mode:multiply;z-index:0;will-change:transform}
.stk img{width:100%;height:auto;animation:sway 7s ease-in-out infinite}
@keyframes sway{0%,100%{transform:rotate(-1.5deg) translateY(0)}50%{transform:rotate(1.5deg) translateY(-8px)}}
.stk:nth-child(2n) img{animation-duration:9s;animation-delay:-3s}

/* tag manuscrit sur photos */
.tag{position:absolute;left:18px;bottom:18px;background:#fff;color:var(--g);font-family:var(--fm);font-style:normal;font-size:17px;padding:6px 14px;transform:rotate(-3deg);box-shadow:0 8px 20px -10px rgba(0,0,0,.5);z-index:2}
.tag::before{content:"";position:absolute;left:50%;top:-7px;width:34px;height:12px;margin-left:-17px;background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.08);transform:rotate(-4deg)}
/* tampon */
.stamp{position:absolute;font-family:var(--fd);font-style:normal;text-transform:uppercase;letter-spacing:.14em;font-weight:600;color:var(--red);border:3px solid var(--red);border-radius:6px;padding:6px 12px;font-size:13px;transform:rotate(-12deg);opacity:.85;mix-blend-mode:multiply;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.6 -.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.6 -.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mask-size:120px;-webkit-mask-size:120px}
.stamp.big{font-size:22px;padding:10px 18px;border-width:4px}
.stamp.pop{transform:rotate(-12deg) scale(2.2);opacity:0}
.stamp.pop.in{transform:rotate(-12deg) scale(1);opacity:.85;transition:transform .35s cubic-bezier(.2,1.6,.4,1),opacity .2s}
/* bord déchiré */
.tear{display:block;width:100%;height:26px}
.tear path{fill:var(--g)}

/* LOADER */
.ldx{position:fixed;inset:0;z-index:1000;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;transition:opacity .6s var(--ease),transform .6s var(--ease)}
.ldx.off{opacity:0;transform:translateY(-2%);pointer-events:none}
.ldx .w{overflow:hidden}.ldx .w span{display:block;font-family:var(--fm);font-size:clamp(46px,9vw,96px);color:var(--g);transform:translateY(110%);animation:ldUp .9s var(--ease) .1s forwards}
.ldx i{width:140px;height:3px;background:var(--g);transform:scaleX(0);transform-origin:left;animation:ldLine .8s var(--ease) .5s forwards}
.ldx .s{font-family:var(--fd);font-style:normal;text-transform:uppercase;letter-spacing:.35em;font-size:13px;color:var(--g);opacity:0;animation:ldFade .6s ease .9s forwards}
.ldx .t{position:absolute;width:130px;right:12%;bottom:14%;mix-blend-mode:multiply;transform:scale(0) rotate(-30deg);animation:ldPop .8s cubic-bezier(.2,1.5,.4,1) .7s forwards}
@keyframes ldUp{to{transform:none}}@keyframes ldLine{to{transform:none}}@keyframes ldFade{to{opacity:1}}@keyframes ldPop{to{transform:scale(1) rotate(6deg)}}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .45s var(--ease)}
.nav.hide{transform:translateY(-100%)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:78px}
.nav-l{display:flex;align-items:center;gap:22px}
.burger{width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:8px}
.burger i{display:block;height:3px;background:var(--g);border-radius:2px;transition:transform .35s,opacity .3s,width .3s}
.burger i:nth-child(2){width:70%}
.burger:hover i:nth-child(2){width:100%}
.burger.on i:nth-child(1){transform:translateY(9px) rotate(45deg)}.burger.on i:nth-child(2){opacity:0}.burger.on i:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
.brand{font-family:var(--fm);font-size:30px;color:var(--g);line-height:1;transform:rotate(-2deg);display:inline-block;transition:transform .4s var(--ease)}
.brand:hover{transform:rotate(2deg) scale(1.04)}
.nav-r{display:flex;align-items:center;gap:14px}
.nav-r a.tel{font-family:var(--fd);font-style:normal;font-weight:500;font-size:18px;letter-spacing:.04em;color:var(--g);display:inline-flex;align-items:center;gap:8px;min-height:44px;position:relative}
.nav-r a.tel::after{content:"";position:absolute;left:26px;right:0;bottom:6px;height:2px;background:var(--g);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav-r a.tel:hover::after{transform:none}
.soc{width:34px;height:34px;background:var(--g);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:transform .3s var(--ease)}
.soc:hover{transform:rotate(-8deg) scale(1.08)}
.soc svg{width:20px;height:20px;fill:currentColor}
.drawer{position:fixed;inset:0;z-index:99;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;transform:translateY(-100%);transition:transform .6s var(--ease);overflow:hidden}
.drawer.on{transform:none}
.drawer a{font-family:var(--fd);font-style:normal;text-transform:uppercase;font-size:clamp(34px,6vw,56px);font-weight:500;color:var(--g);padding:6px 0;position:relative;letter-spacing:.04em;opacity:0;transform:translateY(20px);transition:opacity .5s,transform .6s var(--ease)}
.drawer.on a{opacity:1;transform:none}
.drawer.on a:nth-child(1){transition-delay:.15s}.drawer.on a:nth-child(2){transition-delay:.22s}.drawer.on a:nth-child(3){transition-delay:.29s}.drawer.on a:nth-child(4){transition-delay:.36s}.drawer.on a:nth-child(5){transition-delay:.43s}
.drawer a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:3px;background:var(--g);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.drawer a:hover::after{transform:none}
.drawer .f{margin-top:30px;font-size:16px;color:var(--g);text-align:center}
.drawer .f b{display:block;font-family:var(--fd);font-style:normal;font-weight:500;font-size:22px;letter-spacing:.04em}
.drawer .stk{width:260px;right:-60px;bottom:-40px;opacity:.7}

/* HERO */
.hero{position:relative;padding:150px 0 70px;text-align:center;overflow:hidden}
.hero .over{font-family:var(--fd);font-style:normal;font-weight:400;font-size:clamp(20px,3vw,38px);letter-spacing:.42em;text-transform:uppercase;color:var(--g);margin-left:.42em}
.hero h1{font-family:var(--fd);font-style:normal;font-weight:600;font-size:clamp(76px,14vw,196px);line-height:.9;letter-spacing:.03em;text-transform:uppercase;color:var(--g);margin:10px 0 8px;position:relative;display:inline-block}
.hero h1 .w{display:inline-block;overflow:hidden;vertical-align:top}.hero h1 .w span{display:inline-block;transform:translateY(110%)}
.hero .stamp.big{right:-30px;top:-26px;transform:rotate(12deg) scale(2.2)}
.hero .stamp.big.in{transform:rotate(12deg) scale(1)}
.rule{width:min(560px,80%);height:30px;margin:0 auto;display:block}
.rule path{fill:none;stroke:var(--g);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.3s var(--ease) .4s}
.hero.ready .rule path{stroke-dashoffset:0}
.hero .addr{font-family:var(--fd);font-style:normal;font-weight:400;font-size:clamp(20px,2.6vw,32px);letter-spacing:.06em;color:var(--g);margin:6px 0 16px;line-height:1.25}
.hero .addr .l2{display:inline-flex;align-items:center;gap:16px}
.hero .addr .l2::before,.hero .addr .l2::after{content:"";width:90px;height:3px;background:var(--g)}
.hero p{max-width:720px;margin:44px auto 0;font-size:clamp(17px,1.5vw,21px);line-height:1.6}
.hero .cta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:34px}
.stk-tom{right:-40px;top:120px;width:300px}
.stk-bas{left:-70px;bottom:-20px;width:330px}
.hero .arrow{position:absolute;left:50%;bottom:16px;width:22px;height:40px;margin-left:-11px;opacity:.6}
.hero .arrow svg{width:100%;height:100%;stroke:var(--g);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;animation:arr 1.8s var(--ease) infinite}
@keyframes arr{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

/* PHOTO + CARDS */
.band{position:relative;margin-top:30px}
.band .ph{height:min(72vh,640px);overflow:hidden;position:relative}
.band .ph img{width:100%;height:100%;object-fit:cover;object-position:center 74%;transform:scale(1.06);transform-origin:50% 60%}
.band .ph .tag{left:auto;right:28px;top:22px;bottom:auto;font-size:20px}
.band .green{background:var(--g);padding:0 0 70px;position:relative}
.band .tear{position:absolute;left:0;top:-25px}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,480px));justify-content:center;gap:52px;margin-top:-190px;position:relative;z-index:2}
.card{background:var(--paper);background-image:radial-gradient(rgba(0,0,0,.035) 1px,transparent 1px);background-size:5px 5px;padding:36px 34px 40px;text-align:center;box-shadow:0 30px 60px -30px rgba(0,0,0,.45);color:var(--g);transition:transform .6s var(--ease),box-shadow .6s;position:relative}
.card:nth-child(1){transform:rotate(-.8deg)}.card:nth-child(2){transform:rotate(.7deg)}
.card:hover{transform:rotate(0) translateY(-6px);box-shadow:0 44px 70px -30px rgba(0,0,0,.55)}
.card .pin{width:64px;height:8px;margin:0 auto 14px;background:linear-gradient(90deg,#8a8a8a,#d8d8d8 40%,#8a8a8a);border-radius:4px;box-shadow:0 2px 3px rgba(0,0,0,.35);transform:scale(0);transition:transform .5s cubic-bezier(.2,1.6,.4,1) .6s}
.card.in .pin{transform:scale(1)}
.card .k{font-family:var(--fd);font-style:normal;font-weight:500;font-size:26px;letter-spacing:.08em;text-transform:uppercase;line-height:1.1}
.card .btn{margin:22px auto 22px}
.card p{font-size:16px;line-height:1.55;margin:0 auto 12px;max-width:380px}
.card p b{font-weight:700}
.card .stamp{right:14px;top:14px;transform:rotate(10deg)}
.band .green-txt{color:#fff;text-align:center;max-width:820px;margin:46px auto 0;padding:0 20px;font-size:clamp(17px,1.5vw,21px)}
.band .green-txt b{color:#fff;position:relative}
.band .green-txt b::after{content:"";position:absolute;left:0;right:0;bottom:1px;height:2px;background:rgba(255,255,255,.7)}

/* MENUS */
.menus{padding:120px 0 100px;position:relative;overflow:hidden}
.menus-in{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;perspective:1600px}
.paper{background:var(--paper);border:8px solid #b28a53;outline:1px solid #9a7443;padding:34px 30px;box-shadow:0 30px 60px -30px rgba(0,0,0,.45);transform:rotate(-1.2deg);position:relative;max-width:560px;margin:0 auto;min-height:620px;transform-style:preserve-3d}
.paper::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.018) 0 2px,transparent 2px 4px);pointer-events:none}
.paper::after{content:"";position:absolute;right:-30px;bottom:60px;width:120px;height:120px;border-radius:50%;border:9px solid rgba(120,80,30,.13);pointer-events:none;filter:blur(.5px)}
.paper .ph{text-align:center;font-family:var(--fd);font-style:normal;text-transform:uppercase;letter-spacing:.3em;font-size:12px;color:var(--ink)}
.paper .pt{text-align:center;font-family:var(--fd);font-style:normal;font-weight:600;text-transform:uppercase;font-size:34px;letter-spacing:.08em;color:var(--ink);margin:2px 0 4px}
.paper .pl{width:80px;height:2px;background:var(--ink);margin:8px auto 22px}
.paper h4{font-family:var(--fb);font-style:italic;font-weight:700;font-size:20px;color:var(--ink);margin:18px 0 8px;text-align:center}
.paper .d{position:relative;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:baseline;padding:7px 6px;margin:0 -6px;border-bottom:1px dotted rgba(0,0,0,.25);color:var(--ink);font-size:14.5px;cursor:default}
.paper .d::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:100%;background:var(--mark);mix-blend-mode:multiply;opacity:.75;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);z-index:-1;border-radius:2px}
.paper .d:hover::before{transform:none}
.paper .d b{font-style:normal;font-weight:400;text-transform:uppercase;font-family:var(--fd);letter-spacing:.06em;font-size:14px;display:block}
.paper .d span{display:block;font-size:13px;color:#555;font-style:italic}
.paper .d em{font-style:normal;font-family:var(--fd);font-size:15px;white-space:nowrap}
.paper .note{margin-top:18px;text-align:center;font-size:12.5px;color:#555}
.paper .pg{display:none}.paper .pg.on{display:block}
.paper .stamp{left:-14px;top:70px;transform:rotate(-14deg)}
.menus h2{font-size:clamp(64px,9vw,126px);margin-bottom:34px}
.outl.filled{animation:fillIn 1.2s var(--ease) forwards}
@keyframes fillIn{from{color:transparent}to{color:var(--g)}}
.mlist{list-style:none;display:grid}
.mlist li{border-bottom:3px solid var(--g);position:relative}
.mlist button{display:block;width:100%;text-align:right;font-family:var(--fd);font-style:normal;font-weight:500;text-transform:uppercase;font-size:clamp(24px,2.6vw,34px);letter-spacing:.06em;color:var(--g);padding:14px 6px;transition:padding .3s var(--ease),color .3s;min-height:52px;position:relative}
.mlist button::before{content:"";position:absolute;right:0;top:50%;width:0;height:3px;background:var(--red);transform:translateY(-50%);transition:width .35s var(--ease);opacity:0}
.mlist button:hover,.mlist button.on{padding-right:40px}
.mlist button.on{color:var(--ink)}
.mlist button.on::before{width:26px;opacity:1}
.mlist .sub{display:block;font-family:var(--fb);font-style:italic;text-transform:none;font-weight:400;font-size:15px;letter-spacing:0;color:var(--g);margin-top:-4px}
.mlist .mini{position:absolute;left:0;top:50%;width:70px;transform:translateY(-50%) scale(0) rotate(-20deg);mix-blend-mode:multiply;transition:transform .5s cubic-bezier(.2,1.5,.4,1);pointer-events:none}
.mlist li:hover .mini,.mlist button.on + .mini{transform:translateY(-50%) scale(1) rotate(-6deg)}
.stk-art{left:-60px;top:80px;width:260px;opacity:.9}
.stk-pim{right:-30px;bottom:40px;width:220px}

/* VALUES */
.vals{padding:40px 0 110px}
.vals-in{display:grid;grid-template-columns:1.6fr 1fr;gap:38px;align-items:stretch}
.vals .ph{overflow:hidden;min-height:520px;position:relative}
.vals .ph img{width:100%;height:100%;object-fit:cover}
.gp{background:var(--g);color:#fff;padding:52px 40px;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:22px;position:relative;overflow:hidden}
.gp::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.09;mix-blend-mode:overlay;pointer-events:none}
.gp > *{position:relative}
.gp h3{font-family:var(--fb);font-style:italic;font-weight:700;font-size:clamp(22px,2.2vw,30px);text-transform:uppercase;letter-spacing:.02em;line-height:1.15}
.gp h3.s{font-size:18px}
.gp p{font-size:16.5px;line-height:1.6;max-width:420px;margin:0 auto}
.gp .it{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.gp.in .it{opacity:1;transform:none}
.gp.in .it:nth-child(1){transition-delay:.2s}.gp.in .it:nth-child(2){transition-delay:.35s}.gp.in .it:nth-child(3){transition-delay:.5s}.gp.in .it:nth-child(4){transition-delay:.65s}
.vals2{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:38px}
.vals2 .ph{overflow:hidden;aspect-ratio:4/3;position:relative}
.vals2 .ph img{width:100%;height:100%;object-fit:cover}

/* HORAIRES */
.hours{padding:20px 0 120px;position:relative;overflow:hidden}
.hours-in{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center}
.hours h2{font-size:clamp(60px,8vw,110px);margin-bottom:30px;text-align:center}
.hl{text-align:center;display:grid;gap:18px}
.hl > div{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.hl.in > div{opacity:1;transform:none}
.hl b{display:block;font-weight:700;text-transform:uppercase;font-size:17px;letter-spacing:.02em}
.hl span{display:block;font-size:17px}
.circ{position:relative;display:inline-block;padding:0 6px}
.circ svg{position:absolute;left:-8%;top:-30%;width:116%;height:160%;overflow:visible;pointer-events:none}
.circ svg path{fill:none;stroke:var(--red);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--ease) .6s}
.in .circ svg path{stroke-dashoffset:0}
.hours .ph{overflow:hidden;aspect-ratio:4/4.3;position:relative}
.hours .ph img{width:100%;height:100%;object-fit:cover}
.stk-rad{left:6%;bottom:-10px;width:230px}
.stk-ail{right:-40px;top:10px;width:280px}

/* GALLERY + STORY */
.story{padding:20px 0 110px;position:relative;overflow:hidden}
.story h2{font-size:clamp(46px,7vw,104px);text-align:center;margin-bottom:56px;letter-spacing:.06em}
.sg{display:grid;grid-template-columns:1fr 1.7fr;gap:38px;align-items:start}
.sg .col{display:grid;gap:38px}
.sg .ph{overflow:hidden;position:relative}
.sg .ph img{width:100%;height:100%;object-fit:cover}
.sg .a{aspect-ratio:4/5}.sg .b{aspect-ratio:4/3.4}.sg .c{aspect-ratio:16/13}
.sg .gp{padding:44px 40px}
.stk-chou{left:-50px;top:-10px;width:270px}
.stk-melon{right:-10px;top:120px;width:200px}

/* GOOGLE */
.goo{padding:10px 0 120px;text-align:center}
.goo h3{font-family:var(--fb);font-style:italic;font-weight:700;text-transform:uppercase;font-size:clamp(22px,2.6vw,32px);letter-spacing:.03em;margin-bottom:34px}
.badge{width:230px;height:230px;border-radius:50%;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;transform:rotate(-6deg)}
.badge .ring{position:absolute;inset:0;animation:spin 28s linear infinite}
.badge .ring text{font-family:var(--fd);font-size:13.5px;letter-spacing:.32em;text-transform:uppercase;fill:var(--g)}
.badge .inner{position:absolute;inset:30px;border-radius:50%;border:3px solid var(--g)}
.badge .inner::before{content:"";position:absolute;inset:6px;border-radius:50%;border:1px dashed var(--g)}
@keyframes spin{to{transform:rotate(360deg)}}
.badge .n{font-family:var(--fd);font-style:normal;font-weight:600;font-size:62px;line-height:1;color:var(--g);position:relative}
.badge .st{display:flex;gap:2px;position:relative}.badge .st svg{width:17px;height:17px;fill:#E8B400}
.badge .c{font-family:var(--fd);font-style:normal;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--g);position:relative}
.badge.pop{transform:rotate(-6deg) scale(2.4);opacity:0}
.badge.pop.in{transform:rotate(-6deg) scale(1);opacity:1;transition:transform .45s cubic-bezier(.2,1.5,.4,1),opacity .25s}
.goo p{max-width:640px;margin:28px auto 0;font-size:17px}
.goo .btn{margin-top:26px}

/* FOOTER */
footer{border-top:0;padding:64px 0 40px;color:#EFF3EA;background:var(--gd);text-align:center;position:relative;overflow:hidden}
footer .brand,footer .col b,footer .col a{color:#fff}
footer .legal{color:rgba(255,255,255,.55)}
footer .soc{background:#fff;color:var(--gd)}
footer .stk{opacity:.18;filter:invert(1);mix-blend-mode:screen}
footer .col a::after{background:#fff}
.ft{display:grid;grid-template-columns:1fr auto 1fr;gap:40px;align-items:center}
.ft .col{display:grid;gap:8px;font-size:16px}
.ft .col b{font-weight:700;font-style:italic}
.ft .col a{position:relative}
.ft .col a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1.5px;background:var(--g);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.ft .col a:hover::after{transform:none}
.ft .brand{font-size:44px}
.ft .socs{display:flex;justify-content:center;gap:10px;margin-top:6px}
footer .legal{margin-top:40px;font-size:13px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
footer .stk{width:200px;left:-50px;bottom:-40px;opacity:.6}

/* MOBILE BAR */
.mcall{position:fixed;left:12px;right:12px;bottom:12px;z-index:90;display:none;gap:10px}
.mcall a{flex:1;font-size:17px;box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.mcall a.ghost{box-shadow:inset 0 0 0 3px var(--g),0 20px 40px -20px rgba(0,0,0,.4)}

@media(max-width:1000px){
  .stk{z-index:0;opacity:.5}
  .hero .wrap,.hours .wrap,.story .wrap,.menus .wrap{position:relative;z-index:1}
  .cards{grid-template-columns:1fr;gap:26px;margin-top:-120px;width:min(560px,100%);margin-left:auto;margin-right:auto}
  .menus-in,.vals-in,.hours-in,.sg{grid-template-columns:1fr}
  .paper{transform:rotate(-.6deg);min-height:0}
  .mlist button{text-align:left;padding-left:80px}
  .mlist button::before{right:auto;left:0}
  .mlist button:hover,.mlist button.on{padding-right:6px;padding-left:80px}
  .mlist button.on::before{width:0;opacity:0}
  .mlist .mini{width:56px;left:6px;transform:translateY(-50%) scale(1) rotate(-6deg)}
  .vals .ph{min-height:0;aspect-ratio:4/3}
  .stk-tom{width:170px;right:-30px;top:90px}
  .stk-bas{width:200px;left:-50px;bottom:-30px}
  .stk-art{width:150px;left:-30px;top:20px}
  .stk-pim{width:130px}
  .stk-ail{width:170px;right:-30px;top:-10px}
  .stk-rad{width:150px}
  .stk-chou{width:150px;left:-30px;top:-20px}
  .stk-melon{width:140px}
  .ft{grid-template-columns:1fr;gap:30px}
  .menus,.vals,.hours,.story,.goo{padding-top:30px;padding-bottom:80px}
  .hero .stamp.big{right:-6px;top:-30px;font-size:15px;padding:6px 12px}
  .band .ph .tag{bottom:auto;top:18px;right:18px}
}
@media(max-width:760px){
  .nav-r .tel span{display:none}
  .hero{padding:120px 0 60px}
  .hero .addr .l2::before,.hero .addr .l2::after{width:34px}
  .hero .cta,.hero .arrow{display:none}
  .mcall{display:flex}
  footer{padding-bottom:110px}
  .band .ph{height:60vh}
  .cards{margin-top:-80px}
  .card{padding:28px 22px 30px}
  .paper{border-width:6px;padding:26px 18px}
  .paper .stamp{left:-8px;top:52px;font-size:11px}
  .vals2{grid-template-columns:1fr}
  .hours .ph{aspect-ratio:4/3}
  .badge{width:200px;height:200px}
  .grain{display:none}
}
@media(prefers-reduced-motion:reduce){.rv,.clip,.gp .it,.hl>div{opacity:1;transform:none;clip-path:none}.ldx,.grain,.cur{display:none}.hero h1 .w span,.sp .c{transform:none}.rule path,.ul svg path,.circ svg path{stroke-dashoffset:0}.stk img{animation:none}}

/* ingredients couleur */
.ing{position:absolute;pointer-events:none;z-index:0;will-change:transform}
.ing img{width:100%;height:auto;filter:grayscale(1) contrast(1.28) brightness(1.04) drop-shadow(0 14px 18px rgba(0,0,0,.18))}
.ing.hop img{animation:hop 5.5s cubic-bezier(.3,1.4,.4,1) infinite}
.ing.hop2 img{animation:hop 6.5s cubic-bezier(.3,1.4,.4,1) infinite;animation-delay:-2.7s}
.ing.spin img{animation:spinleaf 9s ease-in-out infinite}
.ing.float img{animation:sway 7s ease-in-out infinite}
@keyframes hop{0%,72%,100%{transform:translateY(0) scale(1,1) rotate(0)}78%{transform:translateY(0) scale(1.08,.9)}86%{transform:translateY(-34px) scale(.96,1.06) rotate(-4deg)}94%{transform:translateY(0) scale(1.06,.94) rotate(2deg)}97%{transform:translateY(-6px) scale(1,1)}}
@keyframes spinleaf{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(10deg) translateY(-10px)}}
.ing.pop{opacity:0;transform:translateY(24px)}
.ing.pop.in{opacity:1;transform:none;transition:opacity 1s ease,transform 1.4s var(--ease)}
/* saliere */
.ing.sel{transform:rotate(-28deg)}
.ing.sel img{filter:grayscale(1) contrast(1.28) brightness(1.04) drop-shadow(0 10px 14px rgba(0,0,0,.2))}
.ing.sel img{animation:shake 4s ease-in-out infinite;transform-origin:50% 80%}
@keyframes shake{0%,60%,100%{transform:rotate(0)}66%{transform:rotate(-7deg)}72%{transform:rotate(6deg)}78%{transform:rotate(-6deg)}84%{transform:rotate(4deg)}90%{transform:rotate(0)}}
.ing.sel i{position:absolute;left:44%;top:2%;width:5px;height:5px;border-radius:50%;background:#d9d6cf;box-shadow:0 0 0 1px rgba(0,0,0,.08);opacity:0;animation:grain 4s linear infinite}
.ing.sel i:nth-child(2){left:52%;animation-delay:.25s;width:4px;height:4px}
.ing.sel i:nth-child(3){left:38%;animation-delay:.5s}
.ing.sel i:nth-child(4){left:48%;animation-delay:.75s;width:3px;height:3px}
.ing.sel i:nth-child(5){left:42%;animation-delay:1s}
.ing.sel i:nth-child(6){left:56%;animation-delay:1.2s;width:4px;height:4px}
@keyframes grain{0%,60%{opacity:0;transform:translate(0,0)}64%{opacity:1}90%{opacity:1;transform:translate(-70px,110px)}100%{opacity:0;transform:translate(-80px,130px)}}

@media(prefers-reduced-motion:reduce){.ing img,.ing.sel i{animation:none}.ing.pop{opacity:1;transform:none}}

.ing.grind img{animation:grind 6s ease-in-out infinite;transform-origin:50% 100%}
@keyframes grind{0%,70%,100%{transform:rotate(0)}74%{transform:rotate(-10deg) translateY(-6px)}78%{transform:rotate(8deg) translateY(-6px)}82%{transform:rotate(-8deg) translateY(-6px)}86%{transform:rotate(6deg) translateY(-6px)}90%{transform:rotate(0)}}
.ing.grind i{position:absolute;left:46%;top:96%;width:4px;height:4px;border-radius:50%;background:#2f2015;opacity:0;animation:pgrain 6s linear infinite}
.ing.grind i:nth-child(2){left:52%;animation-delay:.2s;width:3px;height:3px}
.ing.grind i:nth-child(3){left:41%;animation-delay:.4s}
.ing.grind i:nth-child(4){left:56%;animation-delay:.55s;width:3px;height:3px}
.ing.grind i:nth-child(5){left:49%;animation-delay:.7s}
@keyframes pgrain{0%,72%{opacity:0;transform:translate(0,0)}76%{opacity:1}96%{opacity:1;transform:translate(6px,90px)}100%{opacity:0;transform:translate(8px,100px)}}

/* profondeur */
.ing.far{opacity:.92}
.ing.far img{filter:grayscale(1) contrast(1.28) brightness(1.04) drop-shadow(0 8px 10px rgba(0,0,0,.12)) blur(.6px)}
.ing img{filter:grayscale(1) contrast(1.28) brightness(1.04) drop-shadow(0 12px 16px rgba(0,0,0,.16))}
@media(max-width:1000px){.ing{opacity:.7}}

/* crav */
.ing img{filter:grayscale(1) contrast(1.28) brightness(1.04) drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff) drop-shadow(0 16px 20px rgba(0,0,0,.18))}
.ing.far img{filter:grayscale(1) contrast(1.28) brightness(1.04) drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff) drop-shadow(0 2px 0 #fff) drop-shadow(0 -2px 0 #fff) drop-shadow(0 8px 10px rgba(0,0,0,.12)) blur(.5px)}
.ing.top{z-index:3}
.tbox{position:relative;display:inline-block}
.hero h1{position:relative;z-index:1}
.pola{background:#fff;padding:10px 10px 40px;box-shadow:0 30px 60px -28px rgba(0,0,0,.45);transform:rotate(-2.2deg)}
.pola:nth-child(2n){transform:rotate(1.8deg)}
.pola img{display:block}
.pola .tag{left:14px;bottom:8px;transform:rotate(-1deg);box-shadow:none;background:transparent;padding:0;font-size:18px}
.pola .tag::before{display:none}
.pola.clip .tag{transform:rotate(-1deg) translateY(10px)}
.pola.clip.in .tag{transform:rotate(-1deg) translateY(0)}
.vals2 .ph.pola{aspect-ratio:auto}
.vals2 .ph.pola img{aspect-ratio:4/3;object-fit:cover}
.sg .ph.pola{aspect-ratio:auto}
.sg .ph.pola.a img{aspect-ratio:4/5;object-fit:cover}
.sg .ph.pola.b img{aspect-ratio:4/3.4;object-fit:cover}
.sg .ph.pola.c img{aspect-ratio:16/13;object-fit:cover}
@media(max-width:1000px){.ing.top{opacity:1;z-index:3}.ing.top img{filter:grayscale(1) contrast(1.28) brightness(1.04) drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff) drop-shadow(0 8px 10px rgba(0,0,0,.18))}.tbox .ing{width:92px !important}.tbox .ing.tl{left:-8px !important;right:auto !important;top:-54px !important;bottom:auto !important}.tbox .ing.tr{right:-8px !important;left:auto !important;top:-50px !important;bottom:auto !important;transform:none !important}.tbox .ing.b{top:auto !important;bottom:-46px !important}}

/* hero : GSAP gere l entree, pas de transition CSS concurrente */
.hero .ing.pop,.hero .ing.pop.in{opacity:1;transform:none;transition:none}

/* contraste brasserie */
.tile{height:16px;background:repeating-conic-gradient(var(--g) 0 25%,#fff 0 50%) 0 0/16px 16px;opacity:.9}
.band .tile{margin-top:0}
.menus,.hours{background:#FAF9F5}
.vals,.story,.goo{background:var(--sand)}
.ph img,.pola img,.band .ph img{filter:contrast(1.06) saturate(1.06)}
.hero .over,.phero .over{color:var(--g)}
.hero h1,.phero h1,.dsp{color:var(--g)}
.hl b,.gp h3,.card .k{letter-spacing:.09em}
.paper{border-color:#9c7643;outline-color:#7d5c33;box-shadow:0 40px 70px -32px rgba(20,30,10,.5)}
.card{box-shadow:0 40px 70px -32px rgba(20,30,10,.55)}
.nav{box-shadow:0 1px 0 rgba(62,106,42,.08)}
.outl{-webkit-text-stroke:2px var(--g)}
.mlist button.on{color:var(--gd)}
.paper .d b,.paper .pt,.paper h4{color:#1f2a18}
.band .green,.sec.green,.gp,.pdj{background:var(--g)}
.band .green{background:linear-gradient(180deg,var(--g) 0%,var(--g2) 100%)}

/* sable */
body{background:var(--sand)}
.hero,.phero{background:var(--sand);position:relative}
.hero::before,.phero::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 0%,#fff6e8 0%,rgba(255,246,232,0) 55%),radial-gradient(80% 60% at 100% 100%,var(--sand2) 0%,rgba(234,217,190,0) 60%);pointer-events:none}
.hero .wrap,.phero .wrap{position:relative;z-index:1}
.menus,.hours{background:var(--sand)}
.vals{background:var(--sand)}
.story{background:var(--sand)}
.goo{background:var(--sand)}
.contact,.sec:not(.green){background:var(--sand)}
.carte-grid{background:transparent}
.tile{background:repeating-conic-gradient(var(--g) 0 25%,#fff 0 50%) 0 0/16px 16px}
.band .ph{border-top:6px solid var(--wood);border-bottom:6px solid var(--wood)}
.paper{border-color:var(--wood);outline-color:#4e3620}
.map{border-color:var(--wood);outline-color:#4e3620}
.card{background:#FBF8F1}
.pola{background:#FFFDF9}
.hero .stamp.big,.phero .stamp.big{opacity:.9}
.mcall a.ghost{background:#fff}
.nav{background:rgba(243,230,208,.94)}
.drawer{background:var(--sand)}
.ldx{background:var(--sand)}

.cnav{background:transparent}
@media(max-width:1000px){.cnav{background:rgba(255,255,255,.96)}}
.hero .rule path{stroke:var(--g)}
.ing img{filter:grayscale(1) contrast(1.28) brightness(1.04) drop-shadow(3px 0 0 #fff8ee) drop-shadow(-3px 0 0 #fff8ee) drop-shadow(0 3px 0 #fff8ee) drop-shadow(0 -3px 0 #fff8ee) drop-shadow(0 16px 20px rgba(60,40,10,.22))}

/* live */
.now{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;margin:22px auto 0;font-size:15px;color:var(--ink2)}
.now .dot{width:9px;height:9px;border-radius:50%;background:var(--g);display:inline-block;box-shadow:0 0 0 4px rgba(62,106,42,.15)}
.now .dot.off{background:var(--red);box-shadow:0 0 0 4px rgba(184,53,43,.15)}
.now b{font-family:var(--fd);font-style:normal;font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:14px;color:var(--g)}
.now .meteo{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid rgba(62,106,42,.25);border-radius:999px;padding:6px 12px 6px 8px;font-size:14px;transform:rotate(-1.5deg);opacity:0;transition:opacity .8s}
.now .meteo.on{opacity:1}
.now .meteo svg{width:18px;height:18px;stroke:var(--g);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.now .meteo em{font-style:normal;font-family:var(--fd);font-weight:500;letter-spacing:.04em}

/* PASSE */
.pass{--cream:#F6ECDC;--yel:#F5C518;padding:70px 0 0;background:#fff;color:var(--ink2);overflow:hidden;position:relative}
.pass-head{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:center;max-width:980px;margin:0 auto 60px}
.pass-head .badge{margin:0}
.pass-txt .tbox{display:inline-block;margin-bottom:18px}
.pass-txt h2{font-size:clamp(46px,6vw,84px);color:var(--g)}
.pass-txt p{max-width:520px;font-size:18px}
.pass-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn.yel{background:var(--yel);color:var(--gd);box-shadow:0 14px 30px -14px rgba(245,197,24,.7)}
.btn.yel::before{background:#E4B30E}
.btn.yel:hover{color:var(--gd)}
.pass .ing.top img{filter:grayscale(1) contrast(1.28) brightness(1.04) drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff) drop-shadow(0 18px 22px rgba(0,0,0,.22))}
/* le rail : porte-tickets inox brossé avec sa fente */
.rail-wrap{position:relative;padding:26px 0 110px;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.rail-wrap.grab{cursor:grabbing}
.rail{position:absolute;left:0;right:0;top:24px;height:34px;z-index:2;border-radius:2px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.75) 0,rgba(255,255,255,.15) 14%,rgba(255,255,255,0) 30%,rgba(0,0,0,0) 62%,rgba(0,0,0,.22) 88%,rgba(0,0,0,.4) 100%),
    repeating-linear-gradient(180deg,rgba(255,255,255,.07) 0 1px,rgba(0,0,0,.06) 1px 2px,rgba(255,255,255,0) 2px 3px),
    linear-gradient(180deg,#e9ebee 0%,#cfd2d6 22%,#a9aeb3 46%,#c4c8cc 58%,#959a9f 78%,#686d72 100%);
  box-shadow:0 16px 24px -12px rgba(0,0,0,.55),0 2px 0 rgba(0,0,0,.2),inset 0 1px 0 #fff,inset 0 -1px 0 #3b3f44}
.rail::before{content:"";position:absolute;left:0;right:0;bottom:8px;height:4px;background:linear-gradient(180deg,#1f2226 0,#3a3e43 60%,#5b6066 100%);box-shadow:0 1px 0 rgba(255,255,255,.45),inset 0 1px 1px rgba(0,0,0,.8)}
.rail::after{content:"";position:absolute;left:0;right:0;top:0;height:34px;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.35) 18%,rgba(255,255,255,0) 32%,rgba(255,255,255,0) 60%,rgba(255,255,255,.28) 74%,rgba(255,255,255,0) 90%);mix-blend-mode:screen;pointer-events:none}
.tickets{display:flex;align-items:flex-start;gap:28px;width:max-content;padding-left:28px;will-change:transform;transform:translateZ(0);position:relative;z-index:1}
/* le ticket : papier thermique */
.tk{position:relative;width:300px;flex:0 0 auto;margin-top:calc(-2px - var(--up,8px));background:#FCFBF5;color:#2e2e2e;padding:58px 20px 20px;contain:paint;font-family:'Courier Prime','Courier New',monospace;font-size:13px;line-height:1.45;letter-spacing:.01em;
  box-shadow:0 34px 44px -26px rgba(0,0,0,.5),0 4px 10px -6px rgba(0,0,0,.25);transform-origin:50% 0;transform:rotate(var(--r));transition:box-shadow .45s}
.tickets.live .tk{transition:transform .45s var(--ease),box-shadow .45s}
.tk:hover{transform:rotate(0deg) translateY(-8px) scale(1.02);box-shadow:0 50px 60px -30px rgba(0,0,0,.55),0 8px 16px -8px rgba(0,0,0,.25);z-index:3}
.tk::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.06) 0,rgba(0,0,0,0) 56px),repeating-linear-gradient(180deg,rgba(0,0,0,.016) 0 2px,transparent 2px 4px),linear-gradient(90deg,rgba(0,0,0,.025),transparent 12%,transparent 88%,rgba(0,0,0,.025))}
.tk::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:9px;background:linear-gradient(-45deg,transparent 6px,#FCFBF5 0) 0 0/12px 12px repeat-x,linear-gradient(45deg,transparent 6px,#FCFBF5 0) 6px 0/12px 12px repeat-x}
.tk .th{text-align:center;text-transform:uppercase;font-weight:700;font-size:15px;letter-spacing:.06em;line-height:1.25}
.tk .th small{display:block;font-weight:400;font-size:10.5px;letter-spacing:.04em;color:#555;margin-top:4px;text-transform:none}
.tk .dl{height:0;border-top:1.5px dashed #9a9a9a;margin:10px 0}
.tk .kv{display:flex;justify-content:space-between;gap:10px;text-transform:uppercase;font-size:12px}
.tk .kv span:first-child{color:#666;letter-spacing:.04em}
.tk .kv span:last-child{text-align:right}
.tk .kv + .kv{margin-top:3px}
.tk .st{display:inline-flex;align-items:center;gap:1px}.tk .st svg{width:13px;height:13px;fill:var(--red);filter:drop-shadow(.7px .4px 0 rgba(184,53,43,.45))}
.tk .st em{font-style:normal;margin-left:6px;color:var(--red);font-weight:700}
.tk p{margin:0;font-size:13px;line-height:1.5;color:#2e2e2e;text-shadow:0 0 .35px rgba(0,0,0,.4)}
.tk .sg{margin-top:8px}.tk .sg span:last-child{font-weight:700}
.tk .ty{text-align:center;text-transform:uppercase;font-size:11px;letter-spacing:.12em;color:#444}
.tk .bc{height:30px;margin:12px 6px 4px;background:repeating-linear-gradient(90deg,#1f1f1f 0 2px,transparent 2px 4px,#1f1f1f 4px 5px,transparent 5px 8px,#1f1f1f 8px 11px,transparent 11px 13px,#1f1f1f 13px 14px,transparent 14px 17px);opacity:.8}
.tk .tn{text-align:center;font-size:10px;letter-spacing:.1em;color:#777}
/* tampon de cuisine */
.tk .kst{position:absolute;left:12px;bottom:78px;font-family:var(--fd);font-style:normal;text-transform:uppercase;letter-spacing:.14em;font-weight:600;font-size:12px;color:var(--red);border:2.5px solid var(--red);border-radius:5px;padding:5px 9px;transform:rotate(-12deg);opacity:.7;mix-blend-mode:multiply;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.6 -.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.6 -.25'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mask-size:120px;-webkit-mask-size:120px}
/* la photo du plat, scotchée sur le ticket */
.tk .pho{position:absolute;right:-24px;bottom:6px;width:118px;margin:0;background:#fff;padding:5px 5px 18px;box-shadow:0 14px 22px -12px rgba(0,0,0,.55);transform:rotate(7deg);z-index:2;transition:transform .45s var(--ease)}
.tk:hover .pho{transform:rotate(3deg) translateY(-4px) scale(1.06)}
.tk .pho img{display:block;width:100%;aspect-ratio:1;object-fit:cover;filter:contrast(1.05) saturate(1.05)}
.tk .pho figcaption{font-family:var(--fm);font-style:normal;font-size:10px;color:var(--g);text-align:center;margin-top:4px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk .pho .tape{position:absolute;left:-14px;top:-8px;width:60px;height:18px;background:rgba(255,236,170,.6);box-shadow:0 1px 2px rgba(0,0,0,.15);transform:rotate(-32deg);backdrop-filter:blur(.5px)}
.tk .pho .tape::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0 2px,transparent 2px 5px)}
.pass + .tile{background:repeating-conic-gradient(var(--g) 0 25%,#fff 0 50%) 0 0/16px 16px}
@media(max-width:1000px){
  .pass{padding-top:40px}
  .pass-head{grid-template-columns:1fr;gap:30px;margin-bottom:34px}
  .pass-head .badge{transform:rotate(-6deg) scale(.82);margin:0 auto -20px}
  .pass-head .badge.pop.in{transform:rotate(-6deg) scale(.82)}
  .pass-txt{text-align:center}.pass-txt p{margin:0 auto}.pass-cta{justify-content:center}
  .pass-txt .tbox .ing{width:96px !important;right:-40px !important;top:-40px !important}
  .rail-wrap{padding:20px 0 84px}.rail{top:18px;height:26px}.rail::before{bottom:6px;height:3px}.rail::after{height:26px}
  .tickets{gap:22px;padding-left:22px}
  .tk{width:256px;padding:48px 16px 16px;font-size:12.5px}
  .tk .pho{width:96px;right:-12px;bottom:4px}
  .tk:hover{transform:rotate(var(--r))}
}

/* rideaux */
.ldx.cv{background:transparent}
.ldx .pn,.ptx .pn{position:absolute;inset:0;width:100%;height:100%;display:block}
.ldx>.w,.ldx>i,.ldx>.s,.ldx>.t{position:relative;z-index:4}
.ldx>.t{position:absolute}
.ldx.lift>.w,.ldx.lift>i,.ldx.lift>.s,.ldx.lift>.t{transition:opacity .35s,transform .5s var(--ease);opacity:0;transform:translateY(-40px)}
.ldx.off{opacity:1;transform:none}
.ptx{position:fixed;inset:0;z-index:1001;pointer-events:none;overflow:hidden}
.ptw{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 6vw;font-family:var(--fm);font-style:normal;font-size:clamp(34px,6.5vw,84px);line-height:1.05;color:var(--g);opacity:0;z-index:4}
body.leaving{cursor:progress}
@media(prefers-reduced-motion:reduce){.ptx{display:none}}

/* chute */
.fl{position:absolute;z-index:4;pointer-events:none}
.fl img{display:block;width:100%;height:auto;visibility:hidden;filter:drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff)}
.fl .sh{position:absolute;left:8%;right:8%;bottom:-6px;height:22px;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,rgba(40,25,5,.55) 0,rgba(40,25,5,.25) 45%,rgba(40,25,5,0) 72%);opacity:0;transform-origin:50% 50%}
.fl.fm{left:calc(50% - 360px);top:calc(50% - 20px);width:210px}
.fl.fs{right:calc(50% - 360px);top:calc(50% - 190px);width:150px}
.fly{position:fixed;z-index:1002;pointer-events:none;height:auto;filter:drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff) drop-shadow(0 22px 26px rgba(0,0,0,.35));transform-origin:50% 50%}
.ldx.lift>.fl{transition:opacity .35s,transform .5s var(--ease);opacity:0;transform:translateY(-40px)}
.ldx.lift>.fl.fm{transition:none;opacity:1;transform:none}
.ldx.arr>i,.ldx.arr>.s,.ldx.arr>.t{display:none}
.ldx.arr .w span{animation:none;transform:none}
@media(max-width:720px){
  .fl.fm{left:6%;top:auto;bottom:16%;width:130px}
  .fl.fs{right:6%;top:12%;width:96px}
}

/* enseigne */
.hero h1.sign{font-size:clamp(92px,13vw,200px);line-height:.86;letter-spacing:.05em;white-space:nowrap;margin:14px 0 22px;z-index:1}
.hero h1.sign .w{overflow:visible;padding:.12em .08em 0}
.hero h1.sign .w span{transform:none}
.hero h1.sign .l{display:inline-block;color:var(--g2);paint-order:stroke fill;-webkit-text-stroke:.075em #fff;text-shadow:0 .07em .2em rgba(20,35,12,.38),0 .02em 0 rgba(20,35,12,.25)}
.hero h1.sign .l:nth-child(2n){transform:rotate(-1.2deg)}
.hero h1.sign .l:nth-child(3n){transform:rotate(1deg) translateY(.02em)}
.tbox.sign .ing.back{z-index:0}
.tbox.sign .ing.top{z-index:3}
.tbox.sign .ing img{filter:drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff) drop-shadow(0 22px 26px rgba(50,35,10,.3))}
.hero .stamp.big{z-index:4}
@media(max-width:1000px){
  .hero h1.sign{font-size:clamp(60px,15.5vw,110px);white-space:normal;line-height:.9}
  .hero h1.sign .l{-webkit-text-stroke:.065em #fff;text-shadow:0 .05em .14em rgba(20,35,12,.35)}
  .tbox.sign .ing.x{display:none}
  .tbox.sign .ing.top.tl{left:-14px !important;bottom:-30px !important}
  .tbox.sign .ing.top.tr{right:-20px !important;bottom:-56px !important}
}

/* credit */
footer .credit{position:absolute;right:22px;bottom:14px;display:inline-flex;align-items:center;gap:10px;padding:9px 14px 9px 11px;border-radius:999px;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.28);color:#fff;font-family:var(--fd);font-style:normal;text-transform:uppercase;letter-spacing:.09em;font-size:11px;text-decoration:none;cursor:pointer;transition:background .3s,border-color .3s,transform .35s var(--ease),box-shadow .35s}
footer .credit svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto;transition:transform .35s var(--ease)}
footer .credit .ar{width:14px;height:14px;opacity:.7;transition:transform .35s var(--ease),opacity .3s}
footer .credit b{font-weight:600;color:#fff}
footer .credit span{opacity:.85;transition:opacity .3s}
footer .credit:hover{background:#fff;border-color:#fff;color:var(--gd);transform:translateY(-3px);box-shadow:0 12px 24px -10px rgba(0,0,0,.6)}
footer .credit:hover b{color:var(--gd)}
footer .credit:hover span{opacity:1}
footer .credit:hover svg:first-child{transform:rotate(-12deg) scale(1.12)}
footer .credit:hover .ar{transform:translateX(4px);opacity:1}
footer .credit::after{display:none}
@media(max-width:1000px){footer .credit{position:static;margin-top:24px}}

/* cartes */
.cartes{margin-top:90px;padding-top:70px;border-top:3px solid var(--g);position:relative}
.cartes-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:46px}
.cartes-head .tbox{display:inline-block}
.cartes-head h2{font-size:clamp(44px,5.6vw,78px);color:var(--g)}
.cartes-head p{font-size:18px;max-width:520px;justify-self:end}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;align-items:start;perspective:1200px}
.ccard{position:relative;display:block;text-decoration:none;color:var(--ink2);background:#fff;padding:14px 14px 18px;box-shadow:0 34px 50px -30px rgba(0,0,0,.55),0 4px 10px -6px rgba(0,0,0,.2);transform:rotate(var(--r));transition:transform .5s var(--ease),box-shadow .5s;transform-origin:50% 0}
.ccard:hover{transform:rotate(0) translateY(-12px) scale(1.03);box-shadow:0 60px 70px -34px rgba(0,0,0,.6),0 8px 16px -8px rgba(0,0,0,.2);z-index:2}
.ccard .stamp{right:-14px;top:-16px;transform:rotate(8deg);z-index:3;font-size:12px}
.ccard .pic{display:block;aspect-ratio:210/297;overflow:hidden;background:#eee;border:1px solid rgba(0,0,0,.08)}
.ccard .pic img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.2s var(--ease)}
.ccard:hover .pic img{transform:scale(1.04)}
.ccard .lab{display:block;padding:16px 4px 0}
.ccard .lab b{display:block;font-family:var(--fd);font-style:normal;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:22px;color:var(--g)}
.ccard .lab i{display:block;font-size:15px;line-height:1.45;margin:6px 0 12px}
.ccard .lab em{display:inline-flex;align-items:center;gap:8px;font-family:var(--fm);font-style:normal;font-size:16px;color:#fff;background:var(--red);padding:9px 16px;transition:transform .35s var(--ease)}
.ccard .lab em::after{content:"";width:8px;height:8px;border-right:2px solid #fff;border-top:2px solid #fff;transform:rotate(45deg)}
.ccard:hover .lab em{transform:translateX(4px)}
.ccard.rv{transition-delay:0s}.cgrid .ccard:nth-child(2){transition-delay:.12s}.cgrid .ccard:nth-child(3){transition-delay:.24s}
.clinks{margin-top:40px;display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;font-size:15px}
.clinks span{color:var(--ink2)}
.clinks a{color:var(--g);font-family:var(--fd);font-style:normal;text-transform:uppercase;letter-spacing:.1em;font-size:13px;text-decoration:none;border-bottom:2px solid var(--g);padding-bottom:2px}
@media(max-width:1000px){
  .cartes{margin-top:60px;padding-top:50px}
  .cartes-head{grid-template-columns:1fr;gap:16px;margin-bottom:30px}
  .cartes-head p{justify-self:start;font-size:16px}
  .cartes-head .tbox .ing{width:80px !important;left:auto !important;right:-30px !important;top:-30px !important}
  .cgrid{grid-template-columns:1fr;gap:34px;max-width:360px;margin:0 auto}
  .ccard{transform:rotate(0)}
}

/* cloche */
.cloche{position:relative;width:min(100%,520px);aspect-ratio:1/.86;margin:34px auto 0;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}
.cl-plate{position:absolute;left:9%;right:9%;top:40%;bottom:9%;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 34px 44px -22px rgba(0,0,0,.55),0 2px 4px rgba(0,0,0,.1);transform:translateZ(0)}
.cl-plate::before{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 12px #fff,inset 0 0 0 13px rgba(0,0,0,.08),inset 0 -6px 14px rgba(0,0,0,.12);z-index:2;pointer-events:none}
.cl-plate::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(20,25,15,.22);transition:opacity .9s ease;z-index:1}
.cl-shadow{position:absolute;left:12%;right:12%;top:46%;bottom:14%;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,rgba(0,0,0,.5),rgba(0,0,0,.25) 55%,rgba(0,0,0,0) 72%);filter:blur(6px);z-index:2;transition:transform 1.1s cubic-bezier(.2,.9,.2,1),opacity 1.1s;pointer-events:none}
.cloche.open .cl-shadow,.cloche:hover .cl-shadow{transform:translate(4%,-6%) scale(.72);opacity:.35}
.cl-plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.2s var(--ease)}
.cloche.open .cl-plate::after,.cloche:hover .cl-plate::after{opacity:0}
.cloche.open .cl-plate img,.cloche:hover .cl-plate img{transform:scale(1)}
.cl-dome{position:absolute;left:6%;width:88%;top:15%;z-index:3;transform-origin:50% 100%;transition:transform 1.1s cubic-bezier(.2,.9,.2,1),filter 1.1s;filter:drop-shadow(0 26px 24px rgba(0,0,0,.35)) drop-shadow(0 2px 2px rgba(0,0,0,.2));will-change:transform}
.cloche.open .cl-dome,.cloche:hover .cl-dome{transform:translate(9%,-66%) rotate(-10deg);filter:drop-shadow(0 70px 40px rgba(0,0,0,.28)) drop-shadow(0 4px 4px rgba(0,0,0,.15))}
.cloche.peek .cl-dome{transform:translate(2%,-16%) rotate(-3deg)}
.cl-steam{position:absolute;left:28%;right:28%;top:18%;height:46%;opacity:0;transition:opacity .7s ease .35s;pointer-events:none;z-index:2}
.cloche.open .cl-steam,.cloche:hover .cl-steam{opacity:1}
.cl-steam i{position:absolute;bottom:0;left:50%;width:84px;height:150px;margin-left:-42px;border-radius:50%;background:radial-gradient(ellipse at 50% 55%,rgba(255,255,255,.7) 0,rgba(255,255,255,.3) 30%,rgba(255,255,255,0) 62%);will-change:transform,opacity;animation:steam 3.4s ease-in-out infinite;mix-blend-mode:screen}
.cl-steam i:nth-child(2){left:36%;animation-delay:-1.1s;animation-duration:3.9s;width:60px}
.cl-steam i:nth-child(3){left:64%;animation-delay:-2.2s;animation-duration:3.1s}
.cl-steam i:nth-child(4){left:50%;animation-delay:-.6s;animation-duration:4.4s;width:90px;opacity:.7}
@keyframes steam{0%{transform:translate(0,30px) scale(.55);opacity:0}25%{opacity:.85}100%{transform:translate(18px,-150px) scale(1.5);opacity:0}}
.cl-steam i:nth-child(2n){animation-name:steam2}
@keyframes steam2{0%{transform:translate(0,30px) scale(.5);opacity:0}25%{opacity:.8}100%{transform:translate(-22px,-160px) scale(1.6);opacity:0}}
.cl-cap{position:absolute;left:0;right:0;bottom:-30px;text-align:center;font-size:15px;color:var(--ink2)}
.cl-cap b{display:block;font-family:var(--fd);font-style:normal;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--g)}
.cl-cap span{font-style:italic}
.pdj .cloche{margin-top:10px}
.pdj .cl-cap{color:rgba(255,255,255,.85)}.pdj .cl-cap b{color:#fff}
.pdj .cl-plate{box-shadow:0 40px 50px -24px rgba(0,0,0,.65)}
@media(prefers-reduced-motion:reduce){.cl-steam i{animation:none}.cl-dome,.cl-plate img,.cl-plate::after{transition:none}}
@media(max-width:1000px){.cloche{width:min(100%,380px);margin-top:26px}.cl-cap{bottom:-26px}.menus .cloche{margin-bottom:46px}}

/* vapeur */
.steam{position:absolute;left:18%;right:18%;top:8%;height:56%;pointer-events:none;z-index:2;opacity:0;transition:opacity 1.2s ease}
.steam.on{opacity:1}
.steam i{position:absolute;bottom:0;left:50%;width:30%;aspect-ratio:1/1.7;margin-left:-15%;border-radius:50%;background:radial-gradient(ellipse at 50% 55%,rgba(255,255,255,.75) 0,rgba(255,255,255,.35) 30%,rgba(255,255,255,0) 62%);will-change:transform,opacity;mix-blend-mode:screen;animation:steam 4s ease-in-out infinite;animation-play-state:paused}
.steam.on i{animation-play-state:running}
.steam i:nth-child(2){left:38%;animation-delay:-1.3s;animation-duration:4.6s;animation-name:steam2;width:18%}
.steam i:nth-child(3){left:62%;animation-delay:-2.6s;animation-duration:3.6s;width:20%}
.steam i:nth-child(4){left:50%;animation-delay:-.7s;animation-duration:5.2s;animation-name:steam2;width:28%;opacity:.6}
.pola .steam{top:12%;height:46%}
@media(prefers-reduced-motion:reduce){.steam{display:none}}

/* tampon-table */
.tpn{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;pointer-events:none;background:rgba(30,53,23,0);transition:background .35s}
.tpn.on{background:rgba(30,53,23,.22)}
.tpn .st{position:relative;font-family:var(--fd);font-style:normal;text-transform:uppercase;font-weight:600;color:var(--red);border:6px solid var(--red);border-radius:12px;padding:18px 34px 20px;text-align:center;transform:rotate(-10deg) scale(3);opacity:0;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 -1.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 -1.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mask-size:200px;-webkit-mask-size:200px}
.tpn .st b{display:block;font-size:clamp(40px,7vw,86px);line-height:1;letter-spacing:.06em}
.tpn .st span{display:block;font-family:var(--fm);font-weight:400;text-transform:none;font-size:clamp(20px,3vw,34px);margin-top:6px;letter-spacing:.02em}
.tpn .st i{position:absolute;left:14px;right:14px;top:50%;height:2px;background:var(--red);opacity:.35;transform:translateY(-1px)}
.tpn.on .st{animation:stamp .55s cubic-bezier(.2,1.4,.3,1) forwards}
@keyframes stamp{0%{transform:rotate(-10deg) scale(3);opacity:0}55%{transform:rotate(-12deg) scale(.94);opacity:.97}75%{transform:rotate(-11.5deg) scale(1.02);opacity:.96}100%{transform:rotate(-12deg) scale(1);opacity:.96}}
.tpn.out{background:rgba(30,53,23,0);transition:background .5s}
.tpn.out .st{animation:none;transform:rotate(-12deg) scale(1);opacity:0;transition:opacity .45s}
body.thump{animation:thump .3s ease-out}
@keyframes thump{0%{transform:translateY(0)}35%{transform:translateY(3px)}70%{transform:translateY(-1px)}100%{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.tpn{display:none}}

/* tilt3d */
@media(pointer:fine){
  .pola{transform-style:preserve-3d;--bx:0deg;--by:0deg;--gx:50%;--gy:50%;--gl:0}
  .pola.t3{transition:transform .18s ease-out,box-shadow .4s;transform:perspective(900px) rotate(var(--rz,0deg)) rotateX(var(--bx)) rotateY(var(--by)) scale(var(--sc,1))}
  .pola.t3.hv{box-shadow:0 50px 70px -30px rgba(0,0,0,.55),0 10px 20px -10px rgba(0,0,0,.2);z-index:4}
  .pola .glare{position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--gx) var(--gy),rgba(255,255,255,.55) 0,rgba(255,255,255,.18) 22%,rgba(255,255,255,0) 55%);opacity:var(--gl);transition:opacity .35s;mix-blend-mode:soft-light;z-index:3}
  .pola .glare::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.35) 45%,rgba(255,255,255,0) 60%);background-size:220% 100%;background-position:calc(var(--gx) * 1.2) 0;opacity:.9}
  .pola .tag{transform:translateZ(30px) rotate(-1deg)}
}

/* hero noir & blanc + motif */
.hero::after{content:"";position:absolute;inset:0;background:url("../assets/stickers/motif.webp?t=2") 0 0/560px 560px repeat;opacity:.045;mix-blend-mode:multiply;pointer-events:none;z-index:0}
.hero .wrap{position:relative;z-index:1}
.hero-stk{position:absolute;pointer-events:none;mix-blend-mode:multiply;z-index:0;opacity:.92}
.hero-stk img{width:100%;height:auto;animation:sway 8s ease-in-out infinite}
.hero-stk.a{left:-150px;top:-40px;width:260px;transform:rotate(-8deg)}
.hero-stk.b{right:-190px;top:-20px;width:220px;transform:rotate(10deg)}
.hero-stk.c{right:-40px;bottom:-110px;width:150px;transform:rotate(-6deg)}
.hero-stk.b img{animation-delay:-3s}.hero-stk.c img{animation-delay:-5s;animation-duration:10s}
.story::after{content:"";position:absolute;inset:0;background:url("../assets/stickers/motif.webp?t=2") 0 0/560px 560px repeat;opacity:.04;mix-blend-mode:multiply;pointer-events:none;z-index:0}
.story{position:relative}
@media(max-width:1000px){.hero-stk.a{left:-70px;top:-10px;width:150px}.hero-stk.b{right:-60px;top:-50px;width:130px}.hero-stk.c{display:none}}


/* hirondelle v2 */
/* tout ce qui porte du contenu passe au-dessus de l'oiseau */
.wrap,.rail-wrap,.band .ph,.band .green,.tile,footer,.pdj-in,.carte-grid,.cnav,.paper,.mcall,.nav,.drawer,.ldx,.ptx,.tpn,.hero .tbox,.cartes,.cgrid,.sec.green .wrap,.evc,.steps,.map{position:relative;z-index:2}
.nav{position:fixed;z-index:100}.drawer{position:fixed;z-index:90}.ldx{position:fixed;z-index:1000}.ptx{position:fixed;z-index:1001}.tpn{position:fixed;z-index:1200}.mcall{position:fixed;z-index:80}
@media(max-width:1000px){.hiro{width:120px}}
@media(prefers-reduced-motion:reduce){.hiro{display:none}}

/* hirondelle v3 */
.hiro-track{position:absolute;left:0;top:0;bottom:0;width:100%;z-index:1;pointer-events:none}
.hiro{position:sticky;top:34vh;left:0;width:240px;pointer-events:none;mix-blend-mode:multiply;opacity:.62;will-change:transform}
.hiro img{width:100%;height:auto;display:block}
.menus,.story{position:relative;overflow:clip}
.story .hiro{top:28vh}
@media(max-width:1000px){.hiro{width:130px;top:22vh}.story .hiro{top:20vh}}
@media(prefers-reduced-motion:reduce){.hiro{display:none}}


/* menu krousty */
.burger{width:auto;height:44px;display:inline-flex;align-items:center;gap:12px;padding:8px 6px 8px 8px}
.burger .bi{display:flex;flex-direction:column;gap:6px;width:28px}
.burger .bl{position:relative;height:18px;width:64px;overflow:hidden;font-family:var(--fd);font-style:normal;text-transform:uppercase;letter-spacing:.18em;font-size:13px;color:var(--g);text-align:left}
.burger .bl span{position:absolute;left:0;top:0;line-height:18px;transition:transform .45s var(--ease),opacity .3s}
.burger .bl span:nth-child(2){transform:translateY(120%);opacity:0}
.burger.on .bl span:nth-child(1){transform:translateY(-120%);opacity:0}
.burger.on .bl span:nth-child(2){transform:none;opacity:1}
.drawer{position:fixed;inset:0;z-index:90;background:var(--gd);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:76px 6vw 20px;transform:none;opacity:1;pointer-events:none;clip-path:circle(0px at 60px 40px);transition:clip-path .9s cubic-bezier(.7,0,.2,1);visibility:hidden;overflow:hidden}
.drawer::before{content:"";position:absolute;inset:0;background:url("../assets/stickers/motif.webp?t=2") 0 0/560px 560px repeat;opacity:.06;filter:invert(1);mix-blend-mode:screen;pointer-events:none}
.drawer.on{clip-path:circle(160% at 60px 40px);pointer-events:auto;visibility:visible}
.dr-nav{display:flex;flex-direction:column;align-items:center;gap:0;position:relative;z-index:2}
.mi{position:relative;display:inline-block;text-decoration:none;color:var(--cream,#F3E6D0);padding:0 .5em;opacity:0;transform:translateY(40px);transition:opacity .5s,transform .7s var(--ease)}
.drawer.on .mi{opacity:1;transform:none}
.drawer.on .mi:nth-child(1){transition-delay:.25s}.drawer.on .mi:nth-child(2){transition-delay:.32s}.drawer.on .mi:nth-child(3){transition-delay:.39s}.drawer.on .mi:nth-child(4){transition-delay:.46s}.drawer.on .mi:nth-child(5){transition-delay:.53s}
.w2{position:relative;display:block;font-family:var(--fd);font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(40px,min(8.2vw,12.5vh),118px);line-height:1;color:#F3E6D0;white-space:nowrap;perspective:1400px;perspective-origin:50% 50%}
.w2 .cube{display:block;position:relative;transform-style:preserve-3d;transform:translateZ(-.5em) rotateX(0deg);transition:transform .8s cubic-bezier(.22,.9,.24,1);will-change:transform}
.w2 .fc{display:block;backface-visibility:hidden;text-shadow:.035em .04em 0 #0d1a0b,.07em .08em 0 #0a150a,0 .3em .45em rgba(0,0,0,.3)}
.w2 .fc.a{transform:translateZ(.5em)}
.w2 .fc.b{position:absolute;inset:0;transform:rotateX(-90deg) translateZ(.5em);color:transparent;-webkit-text-stroke:.032em #F3E6D0;text-shadow:none}
.mi:hover .w2 .cube,.mi.go .w2 .cube{transform:translateZ(-.5em) rotateX(90deg)}
.mi.here .w2{color:#F5C518}
.mi.here .w2 .fc.b{-webkit-text-stroke-color:#F5C518}
.tg{position:absolute;left:-.1em;top:-.05em;z-index:3;font-family:var(--fd);font-style:normal;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:clamp(11px,1.15vw,16px);color:#F3E6D0;background:var(--red);padding:.28em .55em;transform:rotate(-8deg);box-shadow:0 6px 14px -6px rgba(0,0,0,.5);transition:transform .4s cubic-bezier(.2,1.4,.3,1)}
.mi:hover .tg{transform:rotate(5deg) scale(1.08)}
.dr-prev{position:absolute;right:5vw;top:50%;width:min(24vw,330px);transform:translateY(-50%) rotate(-4deg) scale(.9);opacity:0;transition:opacity .45s,transform .7s var(--ease);will-change:transform;pointer-events:none;z-index:1}
.dr-prev.on{opacity:1;transform:translateY(-50%) rotate(-3deg) scale(1)}
.dr-prev .dp{background:#fff;padding:10px 10px 40px;box-shadow:0 40px 60px -30px rgba(0,0,0,.7);position:relative}
.dr-prev img{display:block;width:100%;aspect-ratio:4/3.3;object-fit:cover;opacity:1;transform:none;clip-path:none}
.dr-prev .tag{position:absolute;left:16px;bottom:8px;background:transparent;box-shadow:none;padding:0;font-size:16px;color:var(--g);font-family:var(--fm);font-style:normal;transform:rotate(-2deg)}
.dr-foot{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:10px 34px;justify-content:center;align-items:center;margin-top:min(34px,3vh);font-family:var(--fd);font-style:normal;text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:rgba(243,230,208,.75);opacity:0;transform:translateY(16px);transition:opacity .5s .6s,transform .6s .6s var(--ease)}
.drawer.on .dr-foot{opacity:1;transform:none}
.dr-foot a{color:#F3E6D0;text-decoration:none;display:inline-flex;align-items:center}
.dr-foot a svg{width:18px;height:18px;fill:#F3E6D0}
.dr-foot a:hover{color:#F5C518}
@media(max-width:1000px){
  .burger .bl{display:none}
  .drawer{padding:80px 5vw 22px;clip-path:circle(0px at 32px 34px)}
  .drawer.on{clip-path:circle(180% at 32px 34px)}
  .dr-prev{display:none}
  .w2{font-size:clamp(40px,12.5vw,66px);line-height:1.02}
  .tg{font-size:10px;left:-.2em;top:-.1em}
  .dr-foot{gap:8px 18px;font-size:11px;margin-top:26px}
}
@media(prefers-reduced-motion:reduce){.drawer{transition:none}.mi{transition:none}}

/* burger bol v2 */
.burger .bi{width:38px;height:38px;display:block;position:relative;transition:margin .55s cubic-bezier(.3,.9,.25,1)}
.burger.on .bi{margin-right:82px}
.bsvg{width:38px;height:38px;display:block;overflow:visible;transform-origin:0 50%;transition:transform .55s cubic-bezier(.3,.9,.25,1)}
.burger.on .bsvg{transform:scale(2.4) translate(4px,2px)}
.bsvg .bars path{fill:var(--g);stroke:var(--g);stroke-width:0;transform-box:view-box;transform-origin:32px 32px}
.bsvg .splash circle{fill:#E0663F;opacity:0}
.bsvg .scene .shd,.bsvg .scene .body,.bsvg .scene .bodyshade,.bsvg .scene .rim,.bsvg .scene .rimin,.bsvg .scene .soup{opacity:0}
.burger:not(.on):hover .bsvg .bars .b2{transform:scaleX(.78);transition:transform .35s var(--ease)}
.bsvg .scene{transform-origin:32px 36px;transform-box:view-box}
.bsvg .steam path{opacity:0}
.bsvg .spoon{transform-box:view-box;opacity:0}
@media(max-width:1000px){.burger.on .bsvg{transform:scale(1.9) translate(3px,2px)}.burger.on .bi{margin-right:52px}}

/* gravure 3d */
.g3-stick{position:sticky;top:0;height:100vh;overflow:clip}
.g3-stick canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.g3-txt{position:absolute;left:0;right:0;top:11vh;text-align:center;pointer-events:none;z-index:2}
.g3-txt .over{font-family:var(--fd);font-style:normal;font-size:clamp(13px,1.7vw,20px);letter-spacing:.42em;text-transform:uppercase;color:var(--g)}
.g3-note{position:absolute;left:0;right:0;bottom:4.5vh;text-align:center;pointer-events:none;z-index:2;font-family:var(--fb);font-style:italic;color:#4a4335;font-size:clamp(15px,1.5vw,19px);max-width:520px;margin:0 auto;padding:0 20px}
@media(max-width:1000px){.g3{height:280vh}.g3-txt{top:9vh}.g3-note{bottom:15vh}}
.g3{position:relative;height:300vh;background:var(--sand)}
.g3::after{content:"";position:absolute;inset:0;background:url("../assets/stickers/motif.webp?t=2") 0 0/560px 560px repeat;opacity:.04;mix-blend-mode:multiply;pointer-events:none;z-index:0}
.g3-stick{z-index:1}
@media(prefers-reduced-motion:reduce){.g3{height:100vh}}

/* photos autour de la gravure 3d */
.g3-cols{position:absolute;inset:0;z-index:0;pointer-events:none}
.g3-ph{position:absolute;margin:0;width:clamp(180px,17vw,300px);background:#fff;padding:10px;box-shadow:0 26px 44px -26px rgba(40,30,10,.5)}
.g3-ph.l{left:clamp(-30px,3.2vw,86px)}
.g3-ph.r{right:clamp(-30px,3.2vw,86px)}
.g3-ph img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
@media(max-width:1000px){
  .g3-ph{width:clamp(96px,26vw,132px);padding:5px;box-shadow:0 16px 26px -18px rgba(40,30,10,.5)}
  .g3-ph.l{left:-40px}
  .g3-ph.r{right:-40px}
}

/* titre affiche de la section 3d — la police du logo, en relief */
.g3-txt h2{margin:10px 0 0;line-height:.98;font-family:var(--fm);font-style:normal;font-weight:400;text-transform:none;font-size:clamp(44px,7.4vw,120px);letter-spacing:.005em}
.g3-txt h2 span{display:block}
.g3-txt .over{color:#B08B1E}
/* p1 : lettres blanches, relief safran */
.g3-txt.v1 h2{color:#fff;text-shadow:0.018em 0.018em 0 #E3A21B,0.036em 0.036em 0 #E3A21B,0.054em 0.054em 0 #E3A21B,0.072em 0.072em 0 #E3A21B,0.090em 0.090em 0 #E3A21B,0.108em 0.108em 0 #E3A21B,0.126em 0.126em 0 #E3A21B,.14em .14em .22em rgba(90,62,10,.34)}
/* p2 : lettres safran, relief blanc puis ombre */
.g3-txt.v2 h2{color:#E3A21B;text-shadow:0.018em 0.018em 0 #fff,0.036em 0.036em 0 #fff,0.054em 0.054em 0 #fff,0.072em 0.072em 0 #fff,0.090em 0.090em 0 #fff,0.108em 0.108em 0 #fff,.13em .13em .2em rgba(90,62,10,.38)}
/* p3 : lettres vertes comme le logo, relief blanc */
.g3-txt.v3 h2{color:var(--g);text-shadow:0.018em 0.018em 0 #fff,0.036em 0.036em 0 #fff,0.054em 0.054em 0 #fff,0.072em 0.072em 0 #fff,0.090em 0.090em 0 #fff,0.108em 0.108em 0 #fff,.13em .13em .2em rgba(30,53,23,.34)}
@media(max-width:1000px){
  .g3-ph.l{left:-40px}
  .g3-ph.r{right:-40px}
}

/* titres en relief — le même traitement que l'enseigne de l'accueil, partout */
.dsp{color:var(--g2);paint-order:stroke fill;-webkit-text-stroke:.055em #fff;text-shadow:0 .05em .16em rgba(20,35,12,.3),0 .015em 0 rgba(20,35,12,.2)}
/* sur les fonds verts, l'inverse : lettres claires cernées de vert sombre */
.sec.green h2.dsp,.band .green .dsp,.pdj .dsp{color:#fff;-webkit-text-stroke:.05em var(--gd);text-shadow:0 .05em .16em rgba(10,20,6,.4)}
@media(max-width:1000px){
  .dsp{-webkit-text-stroke:.045em #fff;text-shadow:0 .04em .12em rgba(20,35,12,.28)}
}

/* tout au meme trait — les decoupes rejoignent les gravures */
.ing img,.ing svg{filter:grayscale(1) contrast(1.28) brightness(1.04) drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff) drop-shadow(0 16px 20px rgba(50,35,10,.22))}
.tbox.sign .ing img{filter:grayscale(1) contrast(1.28) brightness(1.04) drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff) drop-shadow(0 22px 26px rgba(50,35,10,.3))}
.ing.sel i,.ing.grind i{filter:grayscale(1) contrast(1.2)}

/* le tampon rouge ne sert plus qu'une fois par page : en tete.
   Dans le corps, l'information reste mais sans le cadre qui crie. */
.paper .stamp,.msec .paper .stamp,.card .stamp,.ccard .stamp{
  border:0;padding:0;color:#6F6047;font-size:12px;letter-spacing:.2em;font-weight:500;
  transform:rotate(0deg);opacity:1;background:none;
}
.paper .stamp::before,.msec .paper .stamp::before,.card .stamp::before,.ccard .stamp::before{content:"— "}
.paper .stamp.pop.in,.msec .paper .stamp.pop.in,.card .stamp.pop.in,.ccard .stamp.pop.in{transform:none;opacity:1}
.msec .paper .stamp{right:auto;left:0;top:-26px}
.msec.alt .paper .stamp{left:0;right:auto;transform:none}
.paper .stamp{left:0;top:-26px}
.ccard .stamp{right:auto;left:12px;top:auto;bottom:-26px}
@media(max-width:1000px){
  .paper .stamp,.msec .paper .stamp{left:0;top:-22px;font-size:11px}
}

/* un accent par page — le vert reste la marque, l'accent change d'univers */
body.p-bar{--red:#B8801E}
body.p-soir{--red:#8A2F4A}

/* les tickets s accrochent au rail, un par un */
.tickets.avant .tk{opacity:0;transform:translateY(-70px) rotate(calc(var(--r) * 2.6))}
.tickets.pose .tk{opacity:1;transform:rotate(var(--r));
  transition:opacity .3s ease-out,transform .62s cubic-bezier(.22,1.35,.36,1);
  transition-delay:calc(var(--n) * .055s)}
@media(prefers-reduced-motion:reduce){.tickets.avant .tk{opacity:1;transform:rotate(var(--r))}.tickets.pose .tk{transition:none}}

/* quatre univers : les passerelles vers les autres pages */
.univers{padding:96px 0 100px;background:var(--sand);position:relative;z-index:2}
.univers .over{text-align:center}
.univers h2.dsp{text-align:center;font-size:clamp(40px,6vw,86px);margin:14px 0 52px}
.uni-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.uni{position:relative;display:flex;align-items:stretch;gap:0;overflow:hidden;border-radius:4px;
  background:var(--paper);border:2px solid rgba(62,106,42,.18);text-decoration:none;color:inherit;
  box-shadow:0 26px 48px -34px rgba(60,45,20,.5);transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .4s}
.uni:hover{transform:translateY(-6px);box-shadow:0 40px 66px -34px rgba(60,45,20,.6);border-color:var(--acc,var(--g))}
.uni .ph{flex:0 0 40%;overflow:hidden;position:relative;min-height:210px}
.uni .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.uni:hover .ph img{transform:scale(1.07)}
.uni .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,0))}
.uni .txt{flex:1 1 auto;padding:26px 30px;display:flex;flex-direction:column;justify-content:center;gap:9px}
.uni .txt b{font-family:var(--fd);font-style:normal;font-weight:600;text-transform:uppercase;
  font-size:clamp(24px,2.4vw,34px);line-height:1;letter-spacing:.02em;color:var(--acc,var(--g2))}
.uni .txt em{font-style:italic;font-size:17px;color:var(--ink2);line-height:1.45}
.uni .txt i{font-style:normal;font-family:var(--fd);font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;color:#8A8677}
.uni .fl{position:absolute;right:22px;bottom:22px;width:42px;height:42px;border-radius:50%;
  background:var(--acc,var(--g));display:grid;place-items:center;transition:transform .45s var(--ease)}
.uni .fl svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.uni:hover .fl{transform:translateX(5px)}
.uni.u-carte{--acc:#B8352B}
.uni.u-bar{--acc:#B8801E}
.uni.u-soir{--acc:#8A2F4A}
.uni.u-tel{--acc:#3E6A2A}

/* relance de fin de section */
.relance{text-align:center;margin-top:38px}
.relance a{display:inline-flex;align-items:center;gap:12px;font-family:var(--fm);font-style:normal;
  font-size:21px;color:var(--g);text-decoration:none;border-bottom:2px solid rgba(62,106,42,.3);padding-bottom:5px;
  transition:gap .35s var(--ease),border-color .35s}
.relance a:hover{gap:18px;border-color:var(--g)}
.relance svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:1000px){
  .univers{padding:72px 0 78px}
  .uni-grid{grid-template-columns:1fr;gap:18px}
  .uni .ph{flex:0 0 36%;min-height:158px}
  .uni .txt{padding:20px 22px;gap:7px}
  .uni .txt em{font-size:15.5px}
  .uni .fl{width:36px;height:36px;right:16px;bottom:16px}
}

/* ================= Direction « fiche » (14/09, demande de Salvatore) : fond blanc, feuillages aquarelle, plus de légumes flottants ================= */
:root{--sand:#F7F2E8;--sand2:#EFE4D2;--paper:#FFFFFF;--wood:#5F8A48}
html{background:var(--sand)}
.ldx{background:var(--sand)}
.hero,.phero{background:var(--sand)}
.hero::before,.phero::before{background:radial-gradient(90% 60% at 50% 0%,#FCF8F0 0%,rgba(252,248,240,0) 60%)}
/* les feuillages de la fiche, dans les coins du hero */
.feuille{position:absolute;pointer-events:none;z-index:0;will-change:transform}
.feuille img{width:100%;height:auto;display:block}
.hero .feuille.hg{left:-40px;top:-30px;width:min(34vw,420px)}
.hero .feuille.hd{right:-30px;top:-20px;width:min(34vw,420px)}
.hero .feuille.bg{left:-30px;bottom:-40px;width:min(36vw,440px)}
.hero .feuille.bd{right:-40px;bottom:-60px;width:min(38vw,460px)}
@media(max-width:700px){.hero .feuille.hg{left:-60px;top:-20px;width:58vw}.hero .feuille.hd{right:-60px;top:-10px;width:58vw}.hero .feuille.bg{left:-50px;bottom:-30px;width:56vw}.hero .feuille.bd{right:-60px;bottom:-40px;width:60vw}}
.hero .wrap{z-index:2}
/* le papier devient la fiche : blanc, filet vert fin, coins feuillus */
.paper{background:#fff;border:1.5px solid var(--g);outline:0;border-radius:4px;box-shadow:0 30px 60px -34px rgba(30,53,23,.35);padding:44px 34px 38px}
.paper::before{display:none}
.paper::after{display:none}
.paper .pl{background:var(--g);height:1.5px}
.paper .ph,.paper .pt,.paper h4,.paper .d b{color:var(--gd)}
.paper .pt{color:var(--g)}
.paper .d{border-bottom-color:rgba(62,106,42,.35)}
.paper .stamp{color:var(--g);border-color:var(--g)}
.band .ph{border-top:0;border-bottom:0}
.tile{background:repeating-linear-gradient(90deg,var(--g) 0 24px,#fff 24px 48px);height:6px;opacity:.9}
.menus,.hours,.story,.univers,.g3,.drawer{background:var(--sand)}
.hours{background:#F6F9F3}
.story{background:var(--sand)}
.now .meteo{background:#F6F9F3}
/* fiche : plus de motif de légumes en fond, nav blanche, gravures teintées vert */
.hero::after,.story::after,.g3::after,.drawer::before{display:none}
.nav{background:rgba(255,255,255,.94)}
.mcall{background:#fff}
/* les ingrédients (piment, citron, tomates, basilic) reprennent leur couleur ; les gravures restent noir & blanc */
.ing img{filter:drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff) drop-shadow(0 16px 20px rgba(0,0,0,.18))}
.tbox.sign .ing img{filter:drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff) drop-shadow(0 22px 26px rgba(50,35,10,.3))}
/* dans le hero : le piment passe au-dessus du titre, le citron derrière */
.hero-stk.d{left:13%;top:-100px;width:min(18vw,240px);transform:rotate(-30deg);z-index:3;mix-blend-mode:normal}
.hero-stk.d img{filter:drop-shadow(0 18px 22px rgba(0,0,0,.22));animation-duration:11s}
.hero-stk.e{left:3%;top:290px;width:min(10vw,135px);transform:rotate(14deg);z-index:0;mix-blend-mode:normal}
.hero-stk.e img{filter:drop-shadow(0 14px 18px rgba(0,0,0,.18));animation-delay:-2s;animation-duration:9s}
@media(max-width:700px){.hero-stk.d{left:auto;right:-6%;top:-30px;width:130px;transform:rotate(-24deg)}.hero-stk.e{left:-6%;top:auto;bottom:150px;width:96px}}

/* feuillages dans les sections : discrets, derrière le contenu, ils suivent le scroll */
.feuille.sec{opacity:.85;z-index:0}
.menus,.hours,.story,.univers,.pass{position:relative}
.menus .wrap,.hours .wrap,.story .wrap,.univers .wrap,.pass .wrap{position:relative;z-index:1}
@media(max-width:700px){.feuille.sec{width:44vw!important;opacity:.7}}
/* feuillages : calés aux bords de l'écran (jamais coupés à l'intérieur), plus de mouvement au scroll, balancement continu */
.hero .feuille.hg{left:0;top:0;width:min(30vw,400px)}
.hero .feuille.hd{right:0;top:0;width:min(30vw,400px)}
.hero .feuille.bg{left:0;bottom:0;width:min(30vw,380px)}
.hero .feuille.bd{right:0;bottom:0;width:min(30vw,380px)}
.feuille img{animation:feuilleSway 9s ease-in-out infinite;transform-origin:50% 0}
.feuille.hd img,.feuille.bd img{animation-delay:-3s;animation-duration:11s}
.feuille.bg img{animation-delay:-5s}
@keyframes feuilleSway{0%,100%{transform:rotate(-1.2deg) translateY(0)}50%{transform:rotate(1.2deg) translateY(-6px)}}
@media(max-width:700px){.hero .feuille.hg{left:0;top:0;width:46vw}.hero .feuille.hd{right:0;top:0;width:46vw}.hero .feuille.bg{left:0;bottom:0;width:44vw}.hero .feuille.bd{right:0;bottom:0;width:46vw}}

/* brins au trait dans les sections : discrets, tracés à l'arrivée, ils suivent le scroll et se balancent */
.feuille.brin{opacity:.55;z-index:0}
.feuille.brin svg{width:100%;height:auto;overflow:visible;display:block;animation:feuilleSway 10s ease-in-out infinite;transform-origin:0 50%}
.feuille.brin path{fill:none;stroke:var(--g);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.feuille.brin.in path{transition:stroke-dashoffset 1.1s ease calc(var(--i,0) * .09s);stroke-dashoffset:0}
.menus,.hours,.story,.pass{position:relative}
@media(max-width:700px){.feuille.brin{opacity:.4;width:34vw!important}}


/* le voyage dans les photos : un espace en perspective, on avance dedans au scroll ; chaque photo a sa taille et son inclinaison */
.g3-space{position:absolute;inset:0;perspective:900px;perspective-origin:50% 48%;transform-style:preserve-3d;overflow:hidden;pointer-events:none;z-index:2}
.g3-ph{position:absolute;left:50%;top:50%;margin:0;width:var(--w,240px);background:#fff;padding:8px 8px 24px;box-shadow:0 24px 50px -18px rgba(20,30,10,.45),0 2px 6px rgba(0,0,0,.08);transform:translate(-50%,-50%) translate3d(0,0,-5000px);opacity:0;visibility:hidden;will-change:transform,opacity;backface-visibility:hidden}
.g3-ph img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.g3-stick canvas{z-index:1}
.g3-txt,.g3-note,.relance{z-index:2000}
@media(max-width:700px){.g3-space{perspective:760px}.g3-ph{width:var(--mw,150px);padding:5px 5px 14px}}
@media(max-width:700px){.g3-stick canvas{transform:scale(.7);transform-origin:50% 42%}}

/* tunnel v6 : le monde tourne légèrement avec la souris, flou de profondeur, légendes manuscrites */
.g3-world{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.g3-ph{transition:none}
.g3-ph img.fl{position:absolute;left:8px;top:8px;width:calc(100% - 16px);height:auto;aspect-ratio:4/5;object-fit:cover;opacity:0;pointer-events:none}
.g3-ph figcaption{position:absolute;left:0;right:0;bottom:2px;text-align:center;font-family:var(--fn,'Caveat'),cursive;font-size:17px;line-height:1;color:var(--gd);opacity:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}
.g3-ph.fin{box-shadow:0 40px 80px -30px rgba(20,30,10,.5)}
.g3-stick canvas{transition:none;will-change:filter}
@media(max-width:700px){.g3-ph img.fl{left:5px;top:5px;width:calc(100% - 10px)}.g3-ph figcaption{font-size:13px;bottom:0}}

/* tunnel v7 : poussière lumineuse, halo, chapitres, cadres travaillés, entrée de section */
.g3-halo{position:absolute;left:50%;top:50%;width:min(90vw,900px);aspect-ratio:1;transform:translate(-50%,-52%);border-radius:50%;background:radial-gradient(circle,rgba(243,229,106,.32) 0%,rgba(243,229,106,.12) 32%,rgba(255,255,255,0) 62%);opacity:.35;pointer-events:none;z-index:0;will-change:opacity}
.g3-dust{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}
.g3-dust i{position:absolute;left:50%;top:50%;width:var(--ds,4px);height:var(--ds,4px);margin:-2px 0 0 -2px;border-radius:50%;background:radial-gradient(circle,#fff 0%,rgba(243,229,106,.9) 40%,rgba(243,229,106,0) 100%);opacity:0;visibility:hidden;will-change:transform,opacity}
.g3-ph{--near:0;border-radius:2px;background:#fff linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.025) 100%);box-shadow:0 calc(14px + 30px * var(--near)) calc(30px + 50px * var(--near)) calc(-16px - 10px * var(--near)) rgba(20,30,10,calc(.35 + .25 * var(--near))),0 1px 2px rgba(0,0,0,.08)}
.g3-ph::before{content:"";position:absolute;inset:8px 8px 24px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);pointer-events:none;z-index:2}
.g3-ph img{filter:saturate(1.06) contrast(1.03)}
.g3-ph figcaption{color:var(--gd);letter-spacing:.01em;text-shadow:0 0 1px #fff}
.g3-chaps{position:absolute;inset:0;pointer-events:none;z-index:2000}
.g3-chap{position:absolute;top:50%;width:min(34vw,300px);opacity:0;will-change:transform,opacity}
.g3-chap.g{left:clamp(20px,6vw,90px);text-align:left}.g3-chap.d{right:clamp(20px,6vw,90px);text-align:right}
.g3-chap b{display:block;font-family:var(--fs,'Kaushan Script'),cursive;font-style:normal;font-weight:400;font-size:clamp(30px,3.6vw,48px);line-height:1;color:var(--g)}
.g3-chap span{display:block;font-family:var(--fb);font-style:italic;font-size:clamp(14px,1.25vw,18px);color:var(--ink2);margin-top:8px}
.g3-chap.g::after,.g3-chap.d::after{content:"";display:block;width:70px;height:2px;background:var(--g);margin-top:12px;opacity:.7}
.g3-chap.d::after{margin-left:auto}
.g3-txt{will-change:transform}
.g3-txt .over{transition:letter-spacing 1.6s cubic-bezier(.16,1,.3,1),opacity 1s;letter-spacing:.9em;opacity:0}
.g3.en-scene .g3-txt .over{letter-spacing:.42em;opacity:1}
.g3-txt h2 span{display:block;transform:translateY(24px);opacity:0;transition:transform 1.1s cubic-bezier(.16,1,.3,1),opacity .8s}
.g3-txt h2 span:nth-child(2){transition-delay:.12s}
.g3.en-scene .g3-txt h2 span{transform:none;opacity:1}
@media(max-width:700px){
  .g3-note{display:none}
  .g3-chap{top:auto;bottom:12vh;width:auto;left:20px;right:20px;text-align:center}
  .g3-chap.g,.g3-chap.d{left:20px;right:20px;text-align:center}
  .g3-chap.g::after,.g3-chap.d::after{margin:10px auto 0}
  .g3-chap b{font-size:30px}
  .g3-halo{width:120vw}
  .g3-dust i{--ds:3px}
}

/* le message du chef, sous l'ouverture du jour (fermeture exceptionnelle, nouveauté) */
.annonce{display:inline-block;margin:14px auto 0;background:#FFF6D6;border:1.5px solid #E3C55A;color:#5a4a12;font-family:var(--fb);font-style:italic;font-size:15px;padding:8px 16px;border-radius:999px;max-width:min(92vw,560px)}

/* ---------- Budget téléphone : les effets coûteux ne servent qu'au pointeur fin ---------- */
@media(pointer:coarse){
  .nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(255,255,255,.97)}
  .stk{mix-blend-mode:normal;will-change:auto}
  .ing img,.ing svg,.tbox.sign .ing img{filter:drop-shadow(0 10px 12px rgba(50,35,10,.22))}
  .hero-stk.d img,.hero-stk.e img{filter:none}
  .g3-stick canvas{will-change:auto}
  .ldx .t{mix-blend-mode:normal}
}

/* pied de page (10/10/2026) : la grille prend toute la largeur (elle se tassait à gauche) et l'icône Facebook redevient visible
   (« footer .col a » la passait en blanc sur son fond blanc) */
footer.ft{display:block}
footer .ft{width:100%}
footer .col .soc{color:var(--gd)}
/* téléphone : le crédit passe au-dessus de la barre « Réserver / La carte » au lieu d'être caché dessous */
@media(max-width:760px){footer.ft{padding-bottom:150px}footer .credit{bottom:88px;left:0;right:0;margin:0 auto;width:max-content;max-width:calc(100% - 32px);white-space:nowrap}}
