@font-face{font-family:GrillDisplay;src:url('../assets/fonts/Anton-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:GrillSerif;src:url('../assets/fonts/DMSerifDisplay-Italic.ttf') format('truetype');font-style:italic;font-display:swap}
:root{--tile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath fill='%23163e50' stroke='%238ca19c' stroke-width='.6' d='M60 4L76 22 100 20 98 44 116 60 98 76 100 100 76 98 60 116 44 98 20 100 22 76 4 60 22 44 20 20 44 22Z'/%3E%3Cpath fill='none' stroke='%23c9a76d' stroke-width='.7' d='M60 18L90 30 102 60 90 90 60 102 30 90 18 60 30 30Z'/%3E%3Cpath fill='%230d2a37' stroke='%23c9a76d' stroke-width='.6' d='M60 36L67 47 80 40 73 53 84 60 73 67 80 80 67 73 60 84 53 73 40 80 47 67 36 60 47 53 40 40 53 47Z'/%3E%3C/svg%3E");--coal:#17221e;--cream:#f3eedf;--paper:#e9e1d0;--gold:#eda06e;--orange:#c4572c;--blue:#16475b;--sand:#e3d5bd;--muted:#b9c4b7;--line:#c2cbb530;--display:GrillDisplay,Impact,sans-serif;--serif:GrillSerif,Georgia,serif;--nav-h:88px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 24px)}body{margin:0;background:var(--coal);color:var(--cream);font:15px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:400}h1,h2,h3{font-family:var(--display);line-height:1.05;text-transform:uppercase;letter-spacing:-.015em}h1 em,h2 em{font:italic 1.06em/1 var(--serif);text-transform:none;letter-spacing:-.05em}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,video:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:fixed;top:-100px;z-index:110}.skip:focus{top:0;background:var(--cream);color:var(--coal);padding:20px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}
.nav{position:sticky;top:0;height:var(--nav-h);z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:#17221ef5;border-bottom:1px solid var(--line);backdrop-filter:blur(16px);transition:box-shadow .3s}.nav.scrolled{box-shadow:0 8px 24px #0003}.brand{display:flex;align-items:center;gap:13px}.brand img{width:58px;height:64px;object-fit:contain;mix-blend-mode:lighten}.brand>span{font:23px/1.2 var(--display);letter-spacing:.01em}.brand small{display:block;font:8px/1.5 Arial;letter-spacing:.24em;margin-top:3px;color:var(--gold)}.nav-links{display:flex;align-items:center;gap:32px;font-size:12px}.nav-links>a{position:relative}.nav-links>a:after{content:'';position:absolute;bottom:-7px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav-links>a:hover:after,.nav-links>a[aria-current]:after{transform:scaleX(1)}.cart-open{display:flex;align-items:center;gap:16px;padding:11px 17px;background:var(--cream);border:0;border-radius:30px;color:var(--coal);font-size:12px}.cart-count{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:var(--coal);color:var(--cream);font-size:10px}.language-toggle{width:35px;height:35px;color:var(--cream);background:none;border:1px solid var(--line);border-radius:50%;font-size:10px}.eyebrow,.section-number{font:700 10px/1.5 Arial;letter-spacing:.17em;text-transform:uppercase}.eyebrow{color:var(--gold)}.section-number{display:block;color:#8a998b}
.hero{position:relative;background:var(--cream);color:var(--coal);display:grid;grid-template-columns:48% 52%;min-height:760px;padding:68px 5vw 100px;overflow:hidden;isolation:isolate}.hero: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='.6' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.15' d='M0 0h160v160H0z'/%3E%3C/svg%3E");opacity:.2;pointer-events:none;z-index:-1}.hero-copy{align-self:center;position:relative;z-index:3;padding-right:30px}.hero-kicker{display:flex;gap:10px;align-items:center;font-size:9px;font-weight:bold;letter-spacing:.13em}.status-dot{width:7px;height:7px;background:var(--orange);border-radius:50%;flex-shrink:0}.hero h1{font-size:clamp(66px,7vw,112px);line-height:.97;letter-spacing:-.025em;margin:29px 0 27px}.hero h1 em{color:var(--orange);font-size:1.2em;letter-spacing:-.06em;line-height:1.06}.title-window{display:block;overflow:hidden;padding:0 .04em .09em;margin:0 -.04em -.09em}.title-line{display:block}.hero-copy>p{font-size:13px;color:#5f665b;max-width:340px;line-height:1.8}.actions{display:flex;gap:28px;align-items:center;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:14px 20px;background:var(--orange);border:1px solid var(--orange);color:var(--cream);font-size:12px;font-weight:700;position:relative;overflow:hidden;transition:transform .25s,background .25s}.button:hover{background:#a84321;transform:translateY(-3px)}.button:active{transform:scale(.97)}.button-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid #f3eedf77;border-radius:50%;font-size:21px}.button:before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent,#ffffff25,transparent);transform:translateX(-110%);transition:transform .6s}.button:hover:before{transform:translateX(110%)}.text-link{display:inline-block;border-bottom:1px solid currentColor;font-size:11px;padding-bottom:5px}.hero-proof{display:flex;gap:14px;align-items:center;margin-top:32px}.hero-rating{font:32px/1 var(--display)}.hero-rating>span{font:12px Arial;margin-left:2px}.hero-proof p{font-size:10px;line-height:1.7}.hero-proof strong{display:block;font-weight:700}.hero-proof a{font-size:9px;color:#5a5f53;text-decoration:underline;text-underline-offset:3px}
.hero-art{position:relative;min-width:0;display:flex;align-items:center;justify-content:center;perspective:1200px;padding:0 34px 0 20px}.photo-mat{width:min(100%,410px);padding:12px 12px 0;background:#123b4b;rotate:4deg;box-shadow:16px 25px 40px #2830232b;position:relative;will-change:transform;transform:translate3d(calc(var(--mx,0)*8px),calc(var(--my,0)*8px - var(--hero-scroll,0)*35px),0)}.photo-mat:before{content:'';position:absolute;inset:0;background:var(--tile);opacity:.7;z-index:0}.hero-dish{aspect-ratio:3/4;width:100%;height:auto;object-fit:contain;position:relative}.photo-caption{position:relative;display:flex;justify-content:space-between;align-items:center;padding:12px 3px;color:#f3eedf;font-size:8px;letter-spacing:.13em}.photo-caption>span:last-child{font-size:23px}.hero-stamp{position:absolute;left:-32px;top:18px;background:var(--orange);color:var(--cream);width:116px;height:116px;border-radius:50%;z-index:4;display:flex;align-items:center;justify-content:center;gap:8px;flex-direction:column;rotate:-14deg;box-shadow:0 0 0 5px var(--cream);font-size:8px;font-weight:bold;letter-spacing:.12em}.hero-stamp svg{width:32px;height:32px}.mini-photo{position:absolute;right:-12px;bottom:5px;width:158px;background:var(--cream);padding:7px;rotate:-9deg;box-shadow:0 10px 30px #0003;z-index:3;transform:translateY(calc(var(--hero-scroll,0)*-55px))}.mini-photo img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center}.mini-photo span{display:block;text-align:center;font-size:6px;letter-spacing:.08em;font-weight:bold;padding:10px 0 4px}.hero-handwriting{position:absolute;bottom:-35px;left:32px;font:italic 33px var(--serif);color:var(--orange);rotate:-8deg}.hero-baseline{position:absolute;left:5vw;right:5vw;bottom:24px;display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid #17221e25;font:9px Arial;letter-spacing:.12em}.hero-baseline a span{margin-left:12px;font-size:16px}.flavour-ribbon{background:var(--orange);color:var(--cream);display:flex;align-items:center;justify-content:space-around;gap:20px;padding:18px 24px;overflow:hidden;font:25px/1 var(--display);letter-spacing:.02em;white-space:nowrap}.flavour-ribbon i{width:20px;height:20px;background:var(--cream);clip-path:polygon(50% 0,62% 25%,85% 15%,75% 38%,100% 50%,75% 62%,85% 85%,62% 75%,50% 100%,38% 75%,15% 85%,25% 62%,0 50%,25% 38%,15% 15%,38% 25%);flex-shrink:0}
.specialties{padding:96px 0 65px;overflow:hidden;background:var(--coal)}.section-head{padding:0 5vw;margin-bottom:45px;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}.section-head>.section-number{grid-column:1/-1;margin-bottom:8px}.section-head h2{font-size:clamp(44px,5.4vw,82px);margin-top:15px}.section-head h2 em{color:var(--gold)}.section-head>p{max-width:245px;justify-self:end;color:var(--muted);font-size:13px}.rail{display:flex;gap:25px;overflow:auto;scroll-snap-type:x mandatory;padding:0 5vw 25px;scrollbar-width:thin;scrollbar-color:#53614c transparent;scroll-padding-inline:5vw}.dish-card{flex:0 0 29%;min-width:270px;scroll-snap-align:start}.photo{position:relative;aspect-ratio:3/4;background:#27332b;overflow:hidden}.dish-card img{width:100%;height:100%;object-fit:contain;transition:filter .4s}.dish-card a:hover img{filter:brightness(1.08)}.photo:after{content:'';position:absolute;inset:0;border:1px solid #ffffff20;pointer-events:none;transition:inset .4s,border-color .4s}.dish-card a:hover .photo:after{inset:10px;border-color:var(--cream)}.card-index{position:absolute;top:12px;left:12px;font-size:9px;background:#17221ecc;padding:4px 8px;color:var(--cream)}.dish-card .row{display:flex;align-items:center;justify-content:space-between;margin-top:20px;gap:12px}.dish-card h3{font:28px/1.15 var(--display);text-transform:uppercase}.go{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;border:1px solid #7b897660;flex-shrink:0;font-size:23px;transition:rotate .25s,background .25s}.dish-card a:hover .go{rotate:45deg;background:var(--orange)}.dish-card small{display:block;font-size:11px;margin-top:9px;color:var(--muted)}.rail-controls{padding:20px 5vw 0;display:flex;justify-content:space-between;gap:20px;align-items:center}.rail-controls>p{font-size:11px;color:var(--muted)}.rail-controls>div{display:flex;gap:8px}.rail-controls button{width:44px;height:44px;background:none;color:var(--cream);border:1px solid #7b897660;border-radius:50%;font-size:19px;transition:background .2s}.rail-controls button:hover{background:var(--orange)}.rail-controls .gallery-play{font-size:11px;width:auto;padding:0 18px;border-radius:22px}
.signature{padding:90px 8vw 100px;background:var(--cream);color:var(--coal);display:grid;grid-template-columns:.85fr 1.15fr;gap:40px 70px;position:relative}.signature-heading .eyebrow{color:var(--orange)}.signature h2{font-size:clamp(43px,4.7vw,70px);margin:22px 0}.signature h2 em{color:var(--orange)}.signature-heading>p{font-size:13px;color:#5a5f53;line-height:1.8}.taste-tabs{grid-column:1;display:flex;flex-direction:column;align-self:start}.taste-tabs button{display:flex;gap:24px;align-items:center;padding:22px 0;background:none;border:0;border-top:1px solid #17221e33;color:#5a5f53;font-size:11px;text-align:left;transition:padding .3s,color .3s}.taste-tabs button:last-child{border-bottom:1px solid #17221e33}.taste-tabs button span{font:29px/1.1 var(--display);text-transform:uppercase;flex:1}.taste-tabs button[aria-selected=true]{color:var(--orange);padding-left:16px}.taste-panel{grid-column:2;grid-row:1/3;align-self:center;display:grid;grid-template-columns:1fr;position:relative;background:var(--paper)}.taste-image{position:relative;height:330px;overflow:hidden;background:#ded9cb}.taste-image img{width:100%;height:100%;object-fit:cover;object-position:center 50%}.taste-copy{padding:30px}.taste-copy .eyebrow{color:var(--orange);font-size:9px}.taste-copy h3{font-size:40px;margin:12px 0 15px}.taste-copy h3 br{display:none}.taste-copy>p{font-size:12px;color:#5a5f53;max-width:430px}.taste-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:25px}.taste-bottom>strong{font:28px var(--display)}.taste-bottom small{font:9px Arial;display:block;margin-top:4px;color:#5a5f53}.taste-copy>.text-link{margin-top:20px}.taste-panel.is-changing{animation:taste-switch .5s cubic-bezier(.16,1,.3,1)}
.visit{position:relative;background:#da8958;color:var(--coal);display:grid;grid-template-columns:1fr 1.2fr;gap:9vw;padding:100px 12vw;align-items:center;overflow:hidden}.visit:before{content:'';position:absolute;left:0;top:0;bottom:0;width:35px;background-color:var(--blue);background-image:var(--tile)}.visit-copy .section-number{font-size:9px;color:#523f2d;margin-bottom:32px}.visit-copy>.eyebrow{display:none}.visit h2{font-size:clamp(50px,5.7vw,84px);margin-bottom:27px}.visit h2 em{font-size:.7em;display:block;margin-top:12px}.visit-copy>p{max-width:340px;font-size:13px;line-height:1.85}.visit-copy>.text-link{margin-top:25px}.visit-film{margin:0;width:100%;max-width:315px;justify-self:center;position:relative;padding:11px;background:var(--coal);rotate:-3deg;box-shadow:14px 18px 0 #17221e25;transition:rotate .5s}.visit-film video{width:100%;height:auto;aspect-ratio:480/854;object-fit:contain;background:var(--coal)}.visit-film figcaption{text-align:center;color:var(--cream);font-size:9px;letter-spacing:.1em;padding:13px 0 3px}.visit-film.is-playing{rotate:0deg}
.reviews{background-color:var(--blue);background-image:var(--tile);padding:90px 6vw;position:relative;isolation:isolate}.reviews:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#103140bf,#10314042)}.reviews-heading{text-align:center;max-width:720px;margin:0 auto 50px}.reviews h2{font-size:clamp(48px,5.5vw,82px);margin:20px 0}.reviews h2 em{color:#ded6ba}.reviews-note{font-size:10px;color:#c2d1d0;max-width:480px;margin:auto}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.testimonials figure{margin:0;background:var(--cream);color:var(--coal);padding:30px;display:flex;flex-direction:column;border-radius:2px;box-shadow:0 14px 30px #0002;rotate:-1deg}.testimonials figure:nth-child(2){rotate:2deg}.testimonials figure:before{content:'“';font:70px/.8 var(--serif);color:var(--orange);margin-bottom:10px}.testimonials blockquote{font:italic 24px/1.35 var(--serif);margin:0 0 25px}.testimonials figcaption{border-top:1px solid #17221e33;padding-top:18px;margin-top:auto}.testimonials strong{display:block;font-size:12px}.testimonials a{display:inline-block;margin-top:7px;font-size:9px;color:#5b675b;text-decoration:underline;text-underline-offset:3px}
.contact{padding:90px 6vw 45px;background:var(--cream);color:var(--coal)}.contact-top{display:flex;gap:30px;justify-content:space-between;align-items:center;border-bottom:1px solid #17221e33;padding-bottom:45px}.contact .eyebrow{color:var(--orange)}.contact h2{font-size:clamp(54px,6vw,90px);margin-top:18px}.contact h2 em{font-size:.7em;color:var(--orange)}.contact-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:35px;padding:40px 0}.contact-grid h3{font:700 10px Arial;letter-spacing:.12em;margin-bottom:18px}.contact-grid p,.contact-grid a{font-size:12px;color:#586353}.hours{display:grid;grid-template-columns:125px 1fr;gap:8px;font-size:11px;color:#586353}.socials{display:flex;gap:18px;margin-top:20px}.site-footer{padding:52px 5vw 25px;background:var(--coal);display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-wordmark{font:clamp(38px,5vw,72px)/1 var(--display);letter-spacing:-.02em}.footer-wordmark span{display:block;font:9px Arial;letter-spacing:.17em;margin-top:12px;color:var(--gold)}.footer-links{display:flex;gap:18px 27px;flex-wrap:wrap;justify-content:flex-end;align-content:center;font-size:11px;color:var(--muted)}.site-footer>p{grid-column:1/-1;font-size:10px;border-top:1px solid var(--line);padding-top:22px;color:#9aaa9c}.footer-credit{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:rgba(243,238,223,.7);transition:color .2s}.footer-credit:hover{color:var(--cream)}.footer-credit img{height:44px;width:auto;opacity:.9;transition:opacity .2s}.footer-credit:hover img{opacity:1}.mobile-bar{display:none}.mosaic{height:20px;background:var(--tile)}
.card-page{background:var(--cream);color:var(--coal)}.card-page .nav{color:var(--cream)}.menu-cover{padding:55px 7vw 65px;background:var(--cream);display:flex;gap:40px;align-items:flex-end;justify-content:space-between;position:relative;overflow:hidden}.menu-cover .eyebrow{color:var(--orange)}.menu-cover h1{font-size:clamp(65px,8.8vw,130px);margin-top:20px;line-height:.95}.menu-cover h1 em{color:var(--orange);font-size:1.18em}.menu-cover-copy{padding-bottom:10px;max-width:240px;z-index:1}.menu-cover-copy p{font-size:15px;line-height:1.8;margin-bottom:25px}.menu-cover-seal{position:absolute;right:26%;top:65px;color:#dbd6c7;rotate:15deg;font:72px/.9 var(--display);opacity:.65}.category-nav{position:sticky;top:var(--nav-h);z-index:40;background:#173749f5;color:var(--cream);display:flex;gap:26px;padding:16px 5vw;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin;scrollbar-color:#8aa5a2 #173749;border-bottom:1px solid #8aa5a255;backdrop-filter:blur(15px);font-size:11px}.category-nav a{border-bottom:2px solid transparent;padding:4px 0}.category-nav a.current{color:var(--gold);border-color:var(--gold)}.menu-content{max-width:1350px;margin:auto;padding:0 5vw 60px}.menu-tools{display:flex;align-items:flex-end;gap:15px;margin:35px 0;flex-wrap:wrap}.menu-tools label{flex:1;min-width:210px}.menu-tools label>span{font-size:11px;display:block;margin-bottom:10px;font-weight:bold}.menu-tools input{display:block;width:100%;border:1px solid #17221e38;background:#fff9;padding:15px;color:var(--coal);border-radius:0;font-size:13px}.clear-search{background:var(--coal);color:var(--cream);border:1px solid var(--coal);padding:15px;font-size:13px}.search-status{flex-basis:100%;font-size:12px;min-height:20px;color:#626e5e}.menu-head{display:none}.menu-block{padding:35px 0 45px;border-top:1px solid #17221e35;scroll-margin-top:calc(var(--nav-h) + 95px)}.menu-block h3{font-size:37px;margin-bottom:28px;color:var(--coal)}.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.dish{display:flex;flex-direction:column;position:relative;background:#fff9;border:1px solid #17221e20;padding:28px;transition:box-shadow .3s,translate .3s}.dish:hover{box-shadow:0 16px 25px #26311c12;translate:0 -4px}.dish h4{font:30px/1.1 var(--display);text-transform:uppercase;margin-bottom:19px;color:var(--coal)}.dish-desc{font-size:12px;line-height:1.8;color:#66705f;margin-bottom:22px}.dish-desc span{display:block}.dish-prices{display:flex;gap:22px;margin:0 0 18px}.dish-prices>div{display:flex;flex-direction:column;gap:4px}.dish-prices dt{font-size:10px;color:#6c7762}.dish-prices dd{font:25px var(--display);color:var(--orange);margin:0}.dish-option{font-size:11px;color:#6c7762;margin-bottom:14px}.dish-none{display:none}.add-order{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--coal);color:var(--cream);border:1px solid var(--coal);padding:12px 14px;font-size:11px;margin-top:auto;transition:background .25s}.add-order:hover{background:var(--orange);border-color:var(--orange)}.add-order>span{font-size:20px;line-height:1}.formules-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.formule{padding:24px;background:#174458;color:var(--cream);display:flex;flex-direction:column;gap:15px}.formule .label{font:24px var(--display);text-transform:uppercase}.formule .price{font:32px var(--display);color:var(--gold)}.formule .add-order{border-color:#95a99c;background:none}.grill-includes{font-size:13px;line-height:1.9;color:#5d6b54;margin-top:24px;padding-left:20px}.chip-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:9px 18px;font-size:13px}.chip-list li{border-bottom:1px solid #17221e30;padding:7px 0}.supp{color:var(--orange)}.sauces-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.sauces-grid h4{font:25px var(--display);text-transform:uppercase;margin-bottom:20px}.price-tag{color:var(--orange)}.simple-list{list-style:none;padding:0}.simple-list li{display:grid;grid-template-columns:1fr auto 120px;gap:28px;align-items:center;padding:20px 0;border-top:1px solid #17221e26;font-size:18px}.item-note{display:block;font-size:12px;color:#5a5f53;margin-top:5px}.item-price{font:24px var(--display);color:var(--orange);white-space:nowrap}.supp-table-wrap{overflow-x:auto}.supp-table{border-collapse:collapse;width:100%;font-size:13px}.supp-table td,.supp-table th{text-align:left;padding:17px 10px;border-bottom:1px solid #17221e26}.supp-table th{font-size:11px}.supp-table .price{color:var(--orange);white-space:nowrap}.enfant-card{display:flex;gap:30px;align-items:center;padding:26px;background:var(--coal);color:var(--cream);flex-wrap:wrap}.enfant-card>div:first-child{flex:1;min-width:210px}.enfant-card .price{font:40px var(--display);color:var(--gold)}.enfant-card .add-order{border-color:var(--gold)}.gratin-note,.menu-note{font-size:12px;color:#5a5f53;margin-top:20px}.back-home{display:inline-block;margin-top:30px;font-size:12px}
.intro{position:fixed;inset:0;z-index:90;pointer-events:none;background:var(--coal);color:var(--cream);animation:intro-out .85s 1.25s cubic-bezier(.76,0,.24,1) forwards;display:grid;place-items:center;overflow:hidden}.intro:before,.intro:after{content:'';position:absolute;top:0;bottom:0;width:18vw;background-color:var(--blue);background-image:var(--tile)}.intro:before{left:0}.intro:after{right:0}.intro-brand{text-align:center}.intro-brand img{width:110px;height:110px;object-fit:contain;mix-blend-mode:lighten;margin:0 auto 20px}.intro-brand>span{display:block;font:clamp(65px,10vw,150px)/.97 var(--display);animation:intro-type .9s both}.intro-brand i{display:block;width:150px;height:2px;background:var(--orange);margin:25px auto 0;transform-origin:left;animation:line-in 1.15s both}.intro-bottom{position:absolute;bottom:28px;font-size:9px;letter-spacing:.22em}.intro-skip .intro{display:none}.js:not(.arrived) .title-line{transform:translateY(120%) rotate(3deg)}.js.arrived .title-line{animation:title-in 1s cubic-bezier(.16,1,.3,1) both}.js.arrived .title-window:nth-child(2) .title-line{animation-delay:.12s}.js.arrived .title-window:nth-child(3) .title-line{animation-delay:.24s}.js:not(.arrived) .hero-art{opacity:0}.js.arrived .hero-art{animation:photo-arrive 1.3s .18s cubic-bezier(.16,1,.3,1) both}.js.arrived .hero-stamp{animation:stamp-arrive 1s .7s both}.js.arrived .mini-photo{animation:small-arrive 1.2s .45s both}.motion-ready .reveal:not(.seen){opacity:0;transform:translateY(55px)}.motion-ready .reveal{transition:opacity .85s var(--delay,0s),transform .85s var(--delay,0s) cubic-bezier(.16,1,.3,1)}.motion-ready .testimonials figure.reveal:not(.seen){transform:translateY(70px) rotate(-5deg)}.scroll-progress{position:fixed;top:0;left:0;z-index:60;height:2px;background:var(--gold);width:100%;transform-origin:left;transform:scaleX(0)}#pointer-ring{position:fixed;left:0;top:0;width:35px;height:35px;border:1px solid var(--orange);border-radius:50%;display:grid;place-items:center;font-size:9px;pointer-events:none;z-index:100;opacity:0;transition:width .2s,height .2s,background .2s}.pointer-on #pointer-ring{opacity:1}#pointer-ring.link{width:48px;height:48px;background:#c4572c22}#pointer-ring.view{width:65px;height:65px;background:var(--cream);color:var(--coal)}.gallery-open #pointer-ring,.order-open #pointer-ring{display:none}
@keyframes intro-out{to{clip-path:inset(0 0 100%);visibility:hidden}}@keyframes intro-type{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes title-in{from{transform:translateY(120%) rotate(3deg)}to{transform:none}}@keyframes photo-arrive{from{opacity:0;transform:translate(90px,35px) rotate(12deg)}to{opacity:1;transform:none}}@keyframes stamp-arrive{from{opacity:0;scale:1.8;rotate:45deg}to{opacity:1;scale:1;rotate:-14deg}}@keyframes small-arrive{from{opacity:0;translate:0 80px;rotate:-25deg}to{opacity:1;translate:0 0;rotate:-9deg}}@keyframes line-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes taste-switch{from{opacity:.3;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes dialog-in{from{opacity:0;translate:24px 0}to{opacity:1;translate:0 0}}@keyframes bump{50%{transform:scale(1.08)}}.bump{animation:bump .4s}
.legal-page{max-width:900px;margin:auto;padding:70px 5vw}.legal-page h1{font-size:clamp(50px,8vw,95px);margin:25px 0 40px}.legal-page h2{font:26px/1.2 var(--display);margin:35px 0 16px}.legal-page p{color:var(--muted)}.legal-page a{text-decoration:underline}.legal-status{padding:20px;border:1px solid var(--gold);color:var(--gold)!important;font-size:13px}
dialog{color:var(--cream);border:1px solid var(--line);background:var(--coal)}dialog::backdrop{background:#051311d9;backdrop-filter:blur(6px)}dialog[open]{animation:dialog-in .35s cubic-bezier(.16,1,.3,1)}.gallery-open,.order-open{overflow:hidden}.dish-viewer{width:min(1050px,95vw);max-height:94dvh;padding:22px}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center}.dish-viewer button,.close-dialog{border:1px solid var(--line);background:none;color:var(--cream);width:44px;height:44px;border-radius:50%;font-size:24px}.viewer-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:center;margin:15px 0}.viewer-image{width:100%;height:62dvh;object-fit:contain}.viewer-caption{text-align:center}.viewer-caption h2{font-size:30px;margin-bottom:10px}.viewer-caption p{font-size:13px;color:var(--muted)}.viewer-count{font-size:12px;color:var(--gold)}
.order-panel{margin:0 0 0 auto;width:min(520px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;border:0;border-left:1px solid var(--line);padding:26px;overflow:auto}.order-panel header,.choice-panel header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.order-panel h2,.choice-panel h2{font:36px/1.1 var(--display);text-transform:uppercase}.order-panel .order-explainer{font-size:12px;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line)}.order-row{padding:20px 0;border-bottom:1px solid var(--line)}.order-row h3{font-size:17px}.order-row small{display:block;color:var(--muted);margin:5px 0;overflow-wrap:anywhere}.quantity{display:flex;align-items:center;gap:15px;margin-top:15px}.quantity button{background:none;border:1px solid var(--line);color:var(--cream);min-width:38px;min-height:38px}.quantity .remove{margin-left:auto;font-size:11px;padding:5px 10px}.order-total{display:flex;justify-content:space-between;font-size:20px;margin:25px 0 10px;color:var(--gold)}.order-note{font-size:11px;color:var(--muted);margin-bottom:22px}.order-actions{display:grid;gap:12px}.order-actions .button{width:100%}.quiet-button{padding:12px;border:1px solid var(--line);color:var(--cream);background:none}.order-empty{padding:35px 0}.order-status{font-size:12px;color:var(--gold);margin:12px 0}.choice-panel{width:min(480px,94vw);padding:28px;max-height:90dvh}.choice-panel label{display:block;margin-top:18px;font-size:13px}.choice-panel select,.choice-panel textarea,.choice-panel input{display:block;width:100%;background:#25322b;border:1px solid #899980;color:var(--cream);padding:12px;margin-top:8px;border-radius:2px}.choice-panel textarea{min-height:90px;resize:vertical}.choice-panel .button{margin-top:25px;width:100%}.choice-help{font-size:12px;color:var(--muted);margin:20px 0}.order-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--cream);color:var(--coal);padding:14px 22px;font-size:13px;z-index:80;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.order-toast.show{opacity:1;transform:translate(-50%,0)}

@media(min-width:1600px){.hero,.section-head,.contact,.reviews,.site-footer{padding-inline:max(5vw,calc((100vw - 1500px)/2))}.hero-art{padding-left:40px}.hero h1{font-size:112px}}
@media(max-width:1100px){.hero{min-height:720px;padding-top:45px;padding-bottom:100px}.hero h1{font-size:7.7vw}.hero-art{padding-right:12px}.hero-stamp{left:-12px;top:12px;width:95px;height:95px;font-size:6px}.mini-photo{width:130px;right:-15px;bottom:25px}.hero-handwriting{bottom:0}.nav-links{gap:20px}.hero .actions{gap:18px}.signature{gap:35px;padding-inline:6vw}.taste-image{height:270px}.taste-copy{padding:24px}.dish-grid{grid-template-columns:1fr 1fr}.testimonials blockquote{font-size:22px}.contact-grid{grid-template-columns:1fr 1.4fr}.contact-grid>div:last-child{grid-column:1/-1}.visit{padding-inline:8vw;gap:7vw}}
@media(max-width:800px){.brand>span{font-size:20px}.brand img{width:48px}.nav-links{gap:16px}.place-link{display:none}.hero{grid-template-columns:1fr 1fr;padding-inline:4vw;min-height:690px}.hero-copy{padding-right:5px}.hero-copy>p{font-size:12px}.hero h1{font-size:8.4vw}.hero .actions{flex-direction:column;align-items:flex-start;gap:15px}.hero .button{padding:10px 18px}.hero-art{padding-left:14px}.hero-stamp{top:65px;left:0}.hero-handwriting{font-size:27px;left:10px}.mini-photo{width:115px;bottom:60px}.flavour-ribbon{font-size:20px;padding:16px;gap:15px}.flavour-ribbon span:nth-last-child(-n+2){display:none}.testimonials{grid-template-columns:1fr}.testimonials figure{rotate:0!important;display:grid;grid-template-columns:40px 1fr;gap:14px}.testimonials figure:before{grid-row:1/3}.testimonials blockquote{margin:0}.testimonials figcaption{grid-column:2}.signature{grid-template-columns:1fr;gap:30px}.signature-heading{max-width:520px}.taste-tabs{grid-column:1;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.taste-tabs button{border-bottom:1px solid #17221e33;padding:18px 0;gap:8px}.taste-tabs button[aria-selected=true]{padding-left:0}.taste-tabs button span{font-size:22px}.taste-panel{grid-column:1;grid-row:auto;grid-template-columns:1fr 1fr}.taste-image{height:100%;min-height:320px}.taste-copy h3{font-size:33px}.taste-bottom{align-items:flex-start;flex-direction:column;gap:16px}.visit{padding:65px 6vw;gap:6vw}.visit h2{font-size:55px}.visit-film{max-width:260px}.formules-grid{grid-template-columns:1fr 1fr}.menu-cover-seal{display:none}}
@media(max-width:600px){:root{--nav-h:72px}.nav{padding:0 17px}.brand img{width:43px;height:50px}.brand>span{display:none}.nav-links{gap:15px;font-size:10px}.cart-open{padding:8px 10px;gap:8px;font-size:10px}.cart-count{width:20px;height:20px}.language-toggle{width:30px;height:30px}.hero{display:flex;flex-direction:column;padding:36px 23px 65px;min-height:0;overflow:hidden}.hero-copy{width:100%;padding:0}.hero-kicker{font-size:8px;letter-spacing:.09em}.hero h1{font-size:clamp(65px,17.5vw,94px);margin:20px 0 20px;line-height:.93}.hero h1 em{font-size:1.1em}.hero-copy>p{font-size:12px;max-width:310px}.hero .actions{flex-direction:row;align-items:center;gap:24px;margin-top:22px}.hero .button{gap:24px}.hero .text-link{font-size:10px}.hero-proof{margin-top:23px;gap:12px}.hero-rating{font-size:27px}.hero-proof p{font-size:9px}.hero-proof a{font-size:8px}.hero-art{margin-top:30px;width:100%;padding:0 36px 0 20px;min-height:0}.photo-mat{width:100%;max-width:340px;rotate:3deg;padding:9px 9px 0;transform:translateY(calc(var(--hero-scroll,0)*-12px))}.hero-stamp{top:0;left:0;width:86px;height:86px;box-shadow:0 0 0 4px var(--cream);font-size:6px;gap:6px}.hero-stamp svg{width:25px;height:25px}.hero-stamp{top:-30px;left:auto;right:4px;width:80px;height:80px}.mini-photo{right:-4px;bottom:10px;width:120px}.hero-handwriting{left:5px;bottom:-35px;font-size:30px}.photo-caption{padding:10px 0;font-size:6px}.hero-baseline{position:relative;bottom:auto;left:auto;right:auto;margin-top:65px;padding-top:18px;gap:10px;font-size:7px;width:100%}.hero-baseline>span:last-child{display:none}.hero-baseline a{white-space:nowrap}.flavour-ribbon{justify-content:space-around;font-size:17px;gap:12px}.flavour-ribbon i{width:14px;height:14px}.flavour-ribbon i:last-of-type{display:none}.specialties{padding:60px 0 50px}.section-head{display:block;padding:0 23px;margin-bottom:30px}.section-head>.section-number{margin-bottom:25px;font-size:8px}.section-head h2{font-size:43px}.section-head>p{margin-top:23px;max-width:260px;line-height:1.7;font-size:12px}.rail{padding-inline:23px;scroll-padding-inline:23px;gap:20px}.dish-card{flex:0 0 83%;min-width:0}.dish-card h3{font-size:27px}.rail-controls{padding:18px 23px 0;flex-wrap:wrap}.rail-controls>p{font-size:10px}.rail-controls button{width:40px;height:40px}.signature{padding:60px 23px;gap:25px}.signature h2{font-size:44px;margin:18px 0}.signature-heading>p{font-size:12px}.signature-heading .eyebrow{font-size:8px}.taste-tabs{gap:10px}.taste-tabs button{font-size:8px;display:block}.taste-tabs button span{display:block;font-size:19px;margin:5px 0}.taste-panel{display:block}.taste-image{height:295px;min-height:0}.taste-copy{padding:25px}.taste-copy h3{font-size:35px}.taste-bottom{flex-direction:row;align-items:center;gap:10px}.taste-bottom .button{padding:13px;font-size:10px;gap:14px}.visit{display:flex;flex-direction:column-reverse;padding:60px 27px;gap:35px}.visit:before{width:8px}.visit-copy{width:100%}.visit h2{font-size:57px}.visit h2 em{font-size:.58em}.visit-copy>p{font-size:12px}.visit-copy .section-number{font-size:8px;margin-bottom:20px}.visit-film{width:85%;max-width:300px}.reviews{padding:60px 23px}.reviews-heading{margin-bottom:35px}.reviews h2{font-size:45px}.reviews .eyebrow{font-size:8px}.reviews-note{font-size:9px}.testimonials figure{padding:24px;gap:10px;grid-template-columns:25px 1fr}.testimonials figure:before{font-size:50px}.testimonials blockquote{font-size:22px}.contact{padding:60px 23px 25px}.contact-top{display:block;padding-bottom:30px}.contact h2{font-size:52px}.contact-top .button{margin-top:25px}.contact-grid{grid-template-columns:1fr;gap:30px;padding:30px 0}.contact-grid>div:last-child{grid-column:auto}.hours{grid-template-columns:120px 1fr}.site-footer{grid-template-columns:1fr;padding:35px 23px 95px;gap:30px}.footer-links{justify-content:flex-start;font-size:11px;gap:15px 22px}.footer-wordmark{font-size:43px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:45;justify-content:space-around;background:#17221ef5;color:var(--cream);border-top:1px solid var(--line);padding:17px 10px calc(17px + env(safe-area-inset-bottom));font-size:10px;backdrop-filter:blur(15px)}.mobile-bar a:first-child{color:var(--gold)}.menu-cover{padding:35px 23px 40px;display:block}.menu-cover h1{font-size:80px;line-height:.95;margin-top:18px}.menu-cover-copy{margin-top:28px;padding:0;max-width:none}.menu-cover-copy p{font-size:13px;margin-bottom:18px}.menu-cover .eyebrow{font-size:8px}.category-nav{padding:12px 23px;gap:22px;font-size:10px}.menu-content{padding:0 20px 40px}.menu-tools{margin:28px 0 15px;gap:10px}.menu-tools input,.clear-search{font-size:12px;padding:13px}.menu-tools label{min-width:180px}.dish-grid{grid-template-columns:1fr;gap:18px}.menu-block{padding:28px 0 35px;scroll-margin-top:135px}.menu-block h3{font-size:29px}.dish{padding:25px}.dish h4{font-size:30px}.formules-grid{gap:13px}.formule{padding:18px}.formule .label{font-size:20px}.formule .add-order{font-size:10px;padding:11px 8px;gap:8px}.sauces-grid{grid-template-columns:1fr;gap:25px}.simple-list li{grid-template-columns:1fr auto;gap:14px;font-size:17px}.simple-list .add-order{grid-column:1/-1}.enfant-card{padding:22px;gap:20px}.supp-table{font-size:11px}.supp-table td,.supp-table th{padding:13px 6px}.intro:before,.intro:after{width:10vw}.intro-brand>span{font-size:65px}.intro-brand img{width:88px;height:88px}.intro-bottom{font-size:8px}#pointer-ring{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.intro{display:none}.js:not(.arrived) .title-line{transform:none}.js:not(.arrived) .hero-art{opacity:1}.motion-ready .reveal:not(.seen){opacity:1;transform:none}.photo-mat,.mini-photo{transform:none}#pointer-ring{display:none!important}}

/* Components on small screens */
@media(max-width:600px){.order-panel{padding:22px 20px calc(25px + env(safe-area-inset-bottom))}.order-toast{bottom:80px;width:max-content;max-width:90vw}.viewer-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:4px}.dish-viewer{padding:12px}.dish-viewer button{width:36px;height:36px}.viewer-image{height:55dvh}.viewer-caption h2{font-size:25px}.legal-page{padding:45px 23px}.legal-page h1{font-size:52px}}

.brand>span{font-size:20px;letter-spacing:-.5px}.footer-wordmark{font-size:clamp(36px,5vw,60px)}.motion-toggle{background:transparent;color:inherit;border:1px solid currentColor;border-radius:99px;padding:10px 16px;cursor:pointer;margin-top:20px}.ribbon-track,.ribbon-group{display:flex;align-items:center}.ribbon-track{width:max-content;flex-shrink:0}.ribbon-group{min-width:100vw;justify-content:space-around;gap:40px;padding:0 20px;flex-shrink:0}.flavour-ribbon{overflow:hidden;padding-left:0;padding-right:0}
.mini-photo img{height:auto}

/* Finalisation 12/10 — pages légales, titre contact, navigation étroite, envol vers la sélection. */
.legal-updated{font-size:12px;letter-spacing:.06em;margin:-22px 0 28px}
.legal-list{display:grid;gap:0;margin:0 0 16px;border-top:1px solid #17221e1f}
.legal-list>div{display:grid;grid-template-columns:minmax(150px,240px) 1fr;gap:6px 24px;padding:11px 0;border-bottom:1px solid #17221e1f}
.legal-list dt{font-size:12px;font-weight:bold;letter-spacing:.04em}
.legal-list dd{margin:0;color:var(--muted)}
.legal-todo{color:var(--orange)!important;font-weight:bold}
@media(max-width:600px){.legal-list>div{grid-template-columns:1fr;gap:2px}.legal-updated{margin-top:-18px}}
.contact h2 em{display:block;margin-top:.08em}
.nav-links>a,.cart-open{white-space:nowrap}
@media(max-width:370px){.nav-links>a[href="index.html"]{display:none}.nav-links{gap:12px}}
.cart-fly{position:fixed;left:0;top:0;z-index:300;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;background:var(--orange);color:var(--cream);display:grid;place-items:center;font:15px var(--display);box-shadow:0 8px 18px #17221e40;pointer-events:none}

.category-nav a.current{border-color:transparent}
.category-marker{position:absolute;left:0;bottom:0;height:3px;width:1px;background:var(--gold);transform-origin:left;pointer-events:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .2s}
@media(prefers-reduced-motion:reduce){.category-marker{transition:none}}
.legal-list,.legal-list>div{border-color:#8aa5a238}
.legal-page p+p,.legal-list+p{margin-top:12px}
/* Animations continues (js/live.js) */
.ember-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.specialties{position:relative;isolation:isolate}
.zellige-light{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at var(--lx,30%) var(--ly,40%),#ffd28a 0,#f0a05acc 12%,#f0a05a33 26%,transparent 38%);-webkit-mask:var(--lines);mask:var(--lines);mix-blend-mode:screen}
.flavour-ribbon .ribbon-group{transform:skewX(var(--ribbon-skew,0deg))}
.hero h1 em.sheen{background:linear-gradient(100deg,var(--orange) 0 42%,#f6c27a 50%,var(--orange) 58% 100%) 120% 0/250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;padding-inline:.1em;margin-inline:-.1em}
.menu-formula{font-size:13px;font-weight:bold;color:var(--orange);margin:-6px 0 18px;letter-spacing:.02em}
@media(prefers-reduced-motion:reduce){.zellige-light,.ember-canvas{display:none}}
/* Bandeau défilant : tous les mots visibles et une étoile entre chaque boucle. */
.flavour-ribbon .ribbon-group>span,.flavour-ribbon .ribbon-group>i{display:block}
.not-found h1 em{display:block;color:var(--orange)}.not-found-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px}
.legal-page a.button{text-decoration:none}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Vidéos de la galerie (ajoutées depuis /admin/galeries) */
.card-video{width:100%;height:100%;object-fit:cover;display:block;background:#000}
.video-badge{position:absolute;left:14px;bottom:14px;width:38px;height:38px;border-radius:50%;background:#17221ecc;color:var(--cream);display:grid;place-items:center;font-size:13px;pointer-events:none}
.viewer-video{width:100%;height:62dvh;object-fit:contain;background:#000}
@media(max-width:600px){.viewer-video{height:55dvh}}
/* Choix guidés des plats et détail des lignes (order.js) */
.choice-panel{overflow:auto;overscroll-behavior:contain}
.choice-option{border:0;padding:0;margin:20px 0 0;min-width:0}
.choice-option legend{font-size:13px;padding:0;margin-bottom:8px}
.choice-chips{display:flex;flex-wrap:wrap;gap:8px}
.choice-panel .choice-chips label{margin:0;position:relative}
.choice-panel .choice-chips input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0}
.choice-chips span{display:inline-block;padding:9px 14px;border:1px solid #899980;border-radius:999px;font-size:13px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.choice-chips input:checked+span{background:var(--orange);border-color:var(--orange);color:var(--cream)}
.choice-chips input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.choice-panel .choice-extra{display:flex;align-items:center;gap:10px;margin-top:20px;cursor:pointer}
.choice-panel .choice-extra input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--orange)}
.choice-price{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.choice-price strong{margin-left:auto;color:var(--gold);font-size:17px}
.order-row .order-options{color:var(--cream);opacity:.85}
.order-row .order-extra{color:var(--gold)}
.order-row .order-line-total{display:block;text-align:right;margin-top:10px;color:var(--cream);font-size:15px}
.order-copy{display:block;width:100%;min-height:150px;margin:10px 0;background:#25322b;color:var(--cream);border:1px solid #899980;padding:10px;font:12px/1.5 Arial,sans-serif}
.order-actions .armed{background:#b3261e;border-color:#b3261e}
@media(prefers-reduced-motion:reduce){.choice-chips span{transition:none}}
/* Lisibilité des microtextes : tailles relevées sans toucher aux espacements */
.brand small{font-size:9px}
.eyebrow,.section-number{font-size:11px}
.hero-kicker{font-size:11px}
.hero-proof p{font-size:12px}
.hero-proof a{font-size:11px}
.photo-caption{font-size:9px}
.hero-baseline{font-size:10px}
.taste-copy .eyebrow,.taste-bottom small,.visit-copy .section-number,.visit-film figcaption,.testimonials a{font-size:11px}
.reviews-note{font-size:12px}
.contact-grid h3,.dish-prices dt{font-size:11px}
.footer-wordmark span{font-size:10px}
.site-footer>p{font-size:12px}
@media(max-width:600px){
  .hero-kicker{font-size:10px}
  .hero-proof p{font-size:11px}
  .hero-proof a{font-size:10px}
  .hero .text-link{font-size:12px}
  .photo-caption{font-size:8px}
  .hero-baseline{font-size:9px}
  .section-head>.section-number,.signature-heading .eyebrow,.visit-copy .section-number,.reviews .eyebrow,.menu-cover .eyebrow{font-size:10px}
  .rail-controls>p{font-size:11px}
  .reviews-note{font-size:11px}
  .taste-bottom .button,.formule .add-order{font-size:11px}
  .category-nav{font-size:11px}
  .mobile-bar{font-size:12px}
  /* Zellige adouci derrière le titre des avis, motif conservé autour */
  .reviews-heading{position:relative}
  .reviews-heading::before{content:'';position:absolute;inset:-28px -18px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,#10313fee 0,#10313fd9 48%,#10313f00 78%)}
}
@media(min-width:371px) and (max-width:600px){.nav-links{font-size:11px}}
/* Contraste : orange de marque conservé pour les grands titres et décors ; nuance plus profonde pour les petits textes et le fond des boutons */
:root{--orange-ink:#a8461f}
.signature-heading .eyebrow,.taste-copy .eyebrow,.contact .eyebrow,.menu-cover .eyebrow,.supp,.price-tag,.supp-table .price,.menu-formula,.dish-option span,.taste-tabs button[aria-selected=true]{color:var(--orange-ink)}
.button{background:#ad4a23;border-color:#ad4a23}
.button:hover{background:#8f3a19}
.site-footer{color:var(--cream)}
.reviews-note{max-width:580px}

.menu-rule{font-size:13px;color:#5a5f53;margin:-8px 0 16px;max-width:640px}
.choice-extras .choice-extra-row{margin-top:10px}
.choice-panel .choice-extras .choice-extra{margin-top:0}
.choice-panel .choice-extra-row select{margin-top:8px}
.order-student{display:flex;gap:10px;align-items:flex-start;margin:22px 0 0;font-size:13px;cursor:pointer}
.order-student input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--orange)}
.order-discount{display:flex;justify-content:space-between;margin-top:14px;font-size:15px;color:var(--cream)}
.choice-fixed{margin:0;font-size:14px;color:var(--cream)}

/* ==========================================================================
   Composer un plat + Ma sélection : habillage Nab's (charbon, zellige, orange)
   ========================================================================== */
@keyframes sheet-up{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes step-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
@keyframes glow{0%,100%{box-shadow:0 0 0 0 #c4572c00}50%{box-shadow:0 0 0 6px #c4572c33}}
@keyframes draw{to{stroke-dashoffset:0}}

/* --- Fenêtre « Composez votre plat » --- */
.choice-panel{width:min(640px,96vw);max-height:92dvh;padding:0;overflow:hidden;border:1px solid #ffffff1a;border-radius:22px;background:#141d1a;box-shadow:0 30px 80px #000a}
.choice-panel[open]{display:flex;flex-direction:column;animation:sheet-up .45s cubic-bezier(.16,1,.3,1)}
.choice-hero{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:26px 26px 22px;background:var(--blue) var(--tile) 0 0/120px;isolation:isolate;flex:none}
.choice-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0f2c38cc 0%,#141d1af2 100%)}
.choice-hero::after{content:'';position:absolute;left:26px;right:26px;bottom:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--gold),transparent);border-radius:3px}
.choice-kicker{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}
.choice-panel .choice-hero h2{font:clamp(40px,7vw,60px)/.92 var(--display);text-transform:uppercase;margin:8px 0 4px;letter-spacing:.005em}
.choice-from{margin:0;font:italic 22px var(--serif);color:var(--gold)}
.choice-desc{margin:10px 0 0;font-size:13px;line-height:1.55;color:#d8d2c2;max-width:440px}
.choice-hero .close-dialog{flex:none;background:#0d1b1a99;backdrop-filter:blur(6px)}
.choice-form{display:flex;flex-direction:column;flex:1;min-height:0}
.choice-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:4px 26px 22px;scrollbar-width:thin;scrollbar-color:#3c4a43 transparent}
.choice-step{border:0;margin:0;padding:22px 0 4px;min-width:0;animation:step-in .5s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i,0)*60ms)}
.choice-step+.choice-step{border-top:1px solid #ffffff12}
.choice-step legend{display:flex;align-items:baseline;gap:10px;padding:0;margin-bottom:14px;width:100%}
.step-num{font:italic 17px var(--serif);color:var(--gold)}
.step-title{font:22px/1 var(--display);text-transform:uppercase;letter-spacing:.02em;color:var(--cream)}
.step-hint{margin-left:auto;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#9fb0a4}
.choice-step.missing{animation:shake .45s}
.choice-step.missing .step-title,.choice-step.missing .step-hint{color:#ff9a76}

/* Formule : grandes cartes */
.choice-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.choice-panel .choice-card{position:relative;display:grid;gap:2px;margin:0;padding:16px 18px;border:1px solid #ffffff22;border-radius:16px;background:#ffffff06;cursor:pointer;transition:border-color .25s,background .25s,transform .25s}
.choice-panel .choice-card:hover{border-color:#ffffff44;transform:translateY(-2px)}
.choice-panel .choice-card input,.choice-panel .chip input,.choice-panel .extra-toggle input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;border:0;pointer-events:none}
.card-name{font:24px/1 var(--display);text-transform:uppercase}
.card-price{font:italic 20px var(--serif);color:var(--gold)}
.card-sub{font-size:12px;color:#aab8ad}
.choice-card::after{content:'';position:absolute;top:14px;right:14px;width:22px;height:22px;border-radius:50%;border:1.5px solid #ffffff44;transition:.25s}
.choice-card:has(input:checked){border-color:var(--orange);background:linear-gradient(135deg,#c4572c33,#c4572c0d)}
.choice-card:has(input:checked)::after{background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23f3eedf' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;border-color:var(--orange)}
.choice-card:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:3px}

/* Pastilles : viandes, sauces, accompagnements */
.chip-group{margin:14px 0 8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#9fb0a4}
.chip-group:first-child{margin-top:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.choice-panel .chip{position:relative;display:inline-flex;align-items:center;gap:7px;margin:0;padding:10px 15px;border:1px solid #ffffff26;border-radius:999px;background:#ffffff07;font-size:14px;line-height:1.1;cursor:pointer;user-select:none;transition:background .2s,border-color .2s,color .2s,opacity .2s}
.choice-panel .chip:hover{border-color:#ffffff55}
.chip em{font-style:normal;font-size:11px;font-weight:700;padding:3px 7px;border-radius:999px;background:#eda06e26;color:var(--gold)}
.chip:has(input:checked){background:var(--orange);border-color:var(--orange);color:var(--cream);box-shadow:0 6px 18px #c4572c40}
.chip:has(input:checked) em{background:#ffffff2e;color:var(--cream)}
.chip:has(input:checked)::before{content:'\2713';font-weight:700;font-size:12px}
.chip:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.choice-panel .chip.is-off{opacity:.38;cursor:not-allowed}
.choice-fixed{margin:0;display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:#eda06e1a;border:1px solid #eda06e40;color:var(--cream);font-size:15px}
.choice-fixed::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px #c4572c33}

/* Suppléments : cartes à activer */
.extra-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.extra-card{border:1px dashed #ffffff2e;border-radius:14px;background:#ffffff04;transition:border-color .25s,background .25s}
.extra-card.on{grid-column:1/-1;border-style:solid;border-color:var(--orange);background:#c4572c14}
.extra-card.missing{border-color:#ff9a76;animation:shake .45s}
.choice-panel .extra-toggle{position:relative;display:flex;align-items:center;gap:10px;margin:0;padding:13px 14px;cursor:pointer;font-size:14px}
.extra-name{flex:1}
.extra-price{font:italic 16px var(--serif);color:var(--gold)}
.extra-icon{position:relative;width:26px;height:26px;border-radius:50%;border:1.5px solid #ffffff44;flex:none;transition:.3s}
.extra-icon::before,.extra-icon::after{content:'';position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:var(--cream);translate:-50% -50%;transition:.3s}
.extra-icon::after{rotate:90deg}
.extra-card.on .extra-icon{background:var(--orange);border-color:var(--orange);rotate:135deg}
.extra-toggle:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:-2px;border-radius:14px}
.extra-choices{padding:0 14px 14px}

/* Précision */
.note-hint{margin:0 0 10px;font-size:13px;color:#c9c3b3}
.choice-panel .choice-body textarea{display:block;width:100%;min-height:80px;margin:0;padding:12px 14px;border:1px solid #ffffff26;border-radius:14px;background:#0f1714;color:var(--cream);font:14px/1.5 Arial,sans-serif;resize:vertical}
.choice-panel .choice-body textarea:focus{outline:none;border-color:var(--gold)}
.choice-panel .choice-help{margin:16px 0 0;font-size:12px;color:#8f9e93}

/* Barre fixe : quantité, total, ajout */
.choice-bar{flex:none;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));background:#0e1613;border-top:1px solid #ffffff14;box-shadow:0 -14px 30px #0007}
.stepper{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid #ffffff26;border-radius:999px;background:#ffffff06}
.choice-panel .stepper button,.order-panel .stepper button{width:38px;height:38px;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:none;color:var(--cream);font-size:20px;line-height:1;cursor:pointer;transition:background .2s}
.stepper button:hover:not(:disabled){background:#ffffff14}
.stepper button:disabled{opacity:.3;cursor:not-allowed}
.stepper span{min-width:26px;text-align:center;font:20px var(--display)}
.bar-total{display:grid;line-height:1.15;min-width:0}
.bar-total small{font-size:11px;color:#9fb0a4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-total strong{font:30px/1 var(--display);color:var(--gold);display:inline-block;transform-origin:left center;justify-self:start}
.choice-panel .choice-add{width:auto;margin:0;gap:14px;padding:12px 14px 12px 22px;border-radius:999px;animation:glow 2.4s ease-in-out infinite}
.choice-add .button-icon{width:30px;height:30px;font-size:18px}
.bar-message{grid-column:1/-1;margin:0;font-size:13px;font-weight:700;color:#ff9a76}
.bar-message:empty{display:none}

/* Tampon « C'est noté ! » */
.noted{position:fixed;left:50%;top:50%;z-index:400;width:200px;height:200px;margin:-100px 0 0 -100px;border-radius:50%;background:var(--orange);color:var(--cream);display:grid;place-items:center;text-align:center;box-shadow:0 0 0 7px var(--cream),0 25px 60px #0009;pointer-events:none}
.noted-ring{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);overflow:visible}
.noted-ring text{font:700 10px Arial,sans-serif;letter-spacing:.3em;fill:var(--cream)}
.noted-core{display:grid;justify-items:center;gap:3px;padding:0 34px}
.noted-check{width:44px;height:44px}
.noted-check path{stroke-dasharray:40;stroke-dashoffset:40;animation:draw .45s .25s ease-out forwards}
.noted-title{font:30px/.95 var(--display);text-transform:uppercase}
.noted-dish{font:italic 13px/1.2 var(--serif);opacity:.92;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* --- Panneau « Ma sélection » --- */
.order-panel{padding:0;background:#141d1a}
.order-panel[open]{display:flex;flex-direction:column}
.order-hero{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:26px 26px 24px;background:var(--blue) var(--tile) 0 0/120px;isolation:isolate;flex:none}
.order-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0f2c38cc,#141d1af2)}
.order-hero::after{content:'';position:absolute;left:26px;right:26px;bottom:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--gold),transparent)}
.order-kicker{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700}
.order-panel .order-hero h2{font:clamp(38px,6vw,52px)/.95 var(--display);text-transform:uppercase;margin:8px 0 0}
.order-hero .close-dialog{flex:none;background:#0d1b1a99}
.order-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:6px 22px 20px;scrollbar-width:thin;scrollbar-color:#3c4a43 transparent}
.order-panel .order-explainer{font-size:12px;color:#9fb0a4;border:0;padding:12px 4px 4px;margin:0}
.order-empty-box{margin-top:24px;padding:28px 22px;border:1px dashed #ffffff2e;border-radius:18px;text-align:center;display:grid;gap:10px;justify-items:center;color:#c9c3b3}
.order-empty-box .order-empty{font:26px var(--display);text-transform:uppercase;color:var(--cream);margin:0}
.order-panel .order-row{position:relative;margin-top:12px;padding:16px 16px 14px 20px;border:1px solid #ffffff14;border-radius:18px;background:linear-gradient(135deg,#ffffff0a,#ffffff03);animation:step-in .45s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i,0)*50ms)}
.order-panel .order-row::before{content:'';position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:0 3px 3px 0;background:var(--orange)}
.order-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.order-panel .order-row h3{font:20px/1.05 var(--display);text-transform:uppercase;letter-spacing:.01em}
.order-panel .order-line-total{font:22px var(--display);color:var(--gold);white-space:nowrap;margin:0}
.order-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tag{font-size:12px;line-height:1.3;padding:5px 10px;border-radius:999px;background:#ffffff0f;color:#e6e0cf}
.tag-variant{background:#eda06e24;color:var(--gold);font-weight:700}
.tag-extra{background:#c4572c2e;color:#ffbe9e}
.order-note-line{margin:10px 0 0;font:italic 14px var(--serif);color:#d8d2c2}
.order-panel .quantity{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.order-panel .quantity .remove{margin:0;padding:8px 12px;border:0;border-radius:999px;background:none;color:#d4aea3;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.order-panel .quantity .remove:hover{color:#ff9a76}
.order-summary{margin-top:18px;padding:18px;border:1px solid #ffffff14;border-radius:18px;background:linear-gradient(135deg,#c4572c1f,#16475b38)}
.order-line{display:flex;justify-content:space-between;font-size:14px;color:#d8d2c2;margin-top:6px}
.order-panel .order-discount{color:#9fe0b0}
.order-panel .order-total{display:flex;justify-content:space-between;align-items:baseline;margin:12px 0 8px;padding-top:12px;border-top:1px solid #ffffff1a;color:var(--cream);font-size:16px}
.order-panel .order-total strong{font:36px/1 var(--display);color:var(--gold)}
.order-summary .order-note{margin:0;font-size:12px;color:#9fb0a4}
.order-student{position:relative;display:flex;align-items:center;gap:12px;margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid #ffffff14;cursor:pointer}
.order-student input{position:absolute;opacity:0;width:1px;height:1px}
.switch{position:relative;flex:none;width:46px;height:26px;border-radius:999px;background:#ffffff26;transition:background .25s}
.switch::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--cream);transition:transform .3s cubic-bezier(.3,1.4,.5,1)}
.order-student input:checked+.switch{background:var(--orange)}
.order-student input:checked+.switch::after{transform:translateX(20px)}
.order-student input:focus-visible+.switch{outline:2px solid var(--gold);outline-offset:2px}
.order-student-text{display:grid;gap:2px}
.order-student-text strong{font-size:15px;color:var(--cream)}
.order-student-text small{font-size:12px;color:#9fb0a4}
.order-panel .order-actions{flex:none;display:grid;gap:10px;margin:0;padding:16px 22px calc(16px + env(safe-area-inset-bottom,0px));background:#0e1613;border-top:1px solid #ffffff14;box-shadow:0 -14px 30px #0007}
.order-panel .order-call{justify-content:center;border-radius:999px;padding:16px;font-size:14px;margin:0}
.order-secondary{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.order-secondary .quiet-button{border-radius:999px;padding:11px;font-size:13px}
.order-panel .order-status{margin:0;font-size:12px;color:#9fe0b0}
.order-panel .order-status:empty{display:none}
.order-actions .order-note{margin:0;font-size:11px;color:#8f9e93;text-align:center}

@media(max-width:600px){
  .choice-panel{width:100vw;max-width:100vw;max-height:94dvh;margin:auto 0 0;border-radius:24px 24px 0 0;border-bottom:0}
  .choice-hero{padding:22px 18px 18px}
  .choice-hero::after{left:18px;right:18px}
  .choice-panel .choice-hero h2{font-size:42px}
  .choice-body{padding:0 18px 18px}
  .choice-bar{grid-template-columns:auto 1fr;gap:10px 12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}
  .choice-panel .choice-add{grid-column:1/-1;justify-content:center;padding:14px}
  .bar-total{justify-items:end;text-align:right}
  .bar-total strong{font-size:28px;transform-origin:right center;justify-self:end}
  .extra-grid{grid-template-columns:1fr}
  .order-scroll{padding:4px 16px 18px}
  .order-hero{padding:22px 18px 20px}
  .noted{width:170px;height:170px;margin:-85px 0 0 -85px}
  .noted-title{font-size:26px}
}
@media(prefers-reduced-motion:reduce){
  .choice-panel[open],.choice-step,.order-panel .order-row,.choice-panel .choice-add,.choice-step.missing,.extra-card.missing{animation:none}
  .noted-check path{animation:none;stroke-dashoffset:0}
}
/* Titres d’étape dans le flux (sinon posés sur la bordure du fieldset) */
.choice-step legend{float:left}
.choice-step legend+*{clear:both}
.noted-title{white-space:nowrap;font-size:28px}
.noted-core{padding:0 30px}
@media(max-width:600px){.noted-title{font-size:20px}.noted-check{width:36px;height:36px}.noted-core{padding:0 28px}}

/* ==========================================================================
   Intro « les portes » : deux battants en zellige s'ouvrent sur le site
   ========================================================================== */
body.intro-playing{overflow:hidden}
.intro.intro--doors{position:fixed;inset:0;z-index:95;display:block;background:transparent;animation:none;pointer-events:auto;perspective:1800px;overflow:hidden;cursor:pointer;color:var(--cream)}
.intro.intro--doors::before,.intro.intro--doors::after{content:none}
.intro-door{position:absolute;top:0;bottom:0;width:50.2%;background:var(--blue) var(--tile) center/150px;transform-style:preserve-3d;backface-visibility:hidden;box-shadow:inset 0 0 120px #071a22}
.intro-door::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#08202bdd 0%,#0b2a3700 38%,#0b2a3700 62%,#06161ecc 100%)}
.intro-door-left{left:0;transform-origin:left center}
.intro-door-right{right:0;transform-origin:right center}
.intro-door-left::after,.intro-door-right::after{content:'';position:absolute;top:0;bottom:0;width:10px;background:linear-gradient(90deg,#c9a76d,#7a5a2b)}
.intro-door-left::after{right:0}
.intro-door-right::after{left:0;transform:scaleX(-1)}
.door-panel{position:absolute;inset:7% 12%;border:2px solid #c9a76d99;border-radius:50% 50% 8px 8px/26% 26% 8px 8px;box-shadow:inset 0 0 0 9px #0a2531aa,inset 0 0 0 11px #c9a76d55,0 0 40px #0006}
.door-panel::after{content:'';position:absolute;top:52%;width:34px;height:34px;border-radius:50%;border:4px solid #d9b77a;box-shadow:0 0 0 3px #6b4c22,0 4px 12px #0008,inset 0 0 6px #0007}
.intro-door-left .door-panel::after{right:-6%}
.intro-door-right .door-panel::after{left:-6%}
.door-shade{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none}
.intro-seam{position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;z-index:2;background:linear-gradient(180deg,transparent,#ffcf86 18%,#fff6dc 50%,#ffcf86 82%,transparent);box-shadow:0 0 22px 6px #f0a05aaa,0 0 60px 18px #c4572c55;opacity:0}
.intro-light{position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse 60% 80% at 50% 50%,#fff1d0 0%,#ffbf7acc 22%,#c4572c44 45%,transparent 70%);mix-blend-mode:screen;opacity:0;pointer-events:none}
.intro-center{position:absolute;inset:0;z-index:3;display:grid;place-items:center;pointer-events:none}
.intro-stage{position:relative;display:grid;justify-items:center;align-content:center;width:min(86vw,520px);height:min(78vh,620px);text-align:center}
.intro-arch{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#e2bd7c;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px #f0a05a88);overflow:visible}
.intro-glow{position:absolute;left:50%;top:40%;width:min(70vw,380px);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,#ff9a4acc 0%,#c4572c66 35%,transparent 68%);filter:blur(8px);opacity:0}
.intro-logo{position:relative;width:clamp(120px,19vh,180px);height:auto;margin-top:6%;filter:drop-shadow(0 10px 30px #000a)}
.intro-name{position:relative;margin:18px 0 0;font:clamp(44px,8.5vw,92px)/.9 var(--display);letter-spacing:.01em;perspective:600px;text-shadow:0 6px 30px #000c;white-space:nowrap}
.intro-name span{display:inline-block;transform-origin:50% 100%}
.intro-tagline{position:relative;margin:10px 0 0;font:italic clamp(19px,2.6vw,30px) var(--serif);color:#f1c27f;text-shadow:0 4px 18px #000c}
.intro-sparks{position:absolute;inset:0;z-index:4;width:100%;height:100%;pointer-events:none}
.intro-hint{position:absolute;left:0;right:0;bottom:max(26px,env(safe-area-inset-bottom,0px));z-index:5;margin:0;text-align:center;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#f3eedfcc;opacity:0}
@media(max-width:600px){
  .door-panel{inset:9% 10%}
  .door-panel::after{width:24px;height:24px;border-width:3px}
  .intro-stage{height:min(70vh,520px)}
  .intro-name{font-size:clamp(40px,12vw,58px)}
}
@media(prefers-reduced-motion:reduce){.intro{display:none}}
.intro-logo{mix-blend-mode:lighten}

/* Une seule intro à la fois */
html:not(.intro-doors) .intro--doors,html:not(.intro-quick) .intro--quick{display:none}
@media(prefers-reduced-motion:reduce){.intro{display:none!important}}
/* Logo détouré (fond transparent) : plus besoin de fusion */
.intro-logo,.brand img,.intro-brand img{mix-blend-mode:normal}

/* ==========================================================================
   Barre de navigation animée
   ========================================================================== */
@keyframes nav-drop{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
@keyframes ember-pulse{0%,100%{box-shadow:0 0 0 0 #f0a05a99;opacity:1}50%{box-shadow:0 0 0 5px #f0a05a00;opacity:.75}}
@keyframes border-run{to{background-position:0 0,200% 0}}
@keyframes ring-spin{to{transform:rotate(360deg)}}
@keyframes count-halo{0%{box-shadow:0 0 0 0 #c4572caa}70%{box-shadow:0 0 0 8px #c4572c00}100%{box-shadow:0 0 0 0 #c4572c00}}
@keyframes flip{0%{transform:rotateY(0)}100%{transform:rotateY(360deg)}}

/* Entrée en cascade à l'arrivée sur la page */
.js .nav .brand,.js .nav-links>*{opacity:0}
.js.arrived .nav .brand,.js.arrived .nav-links>*{animation:nav-drop .7s cubic-bezier(.16,1,.3,1) both}
.js.arrived .nav-links>*:nth-child(1){animation-delay:.06s}
.js.arrived .nav-links>*:nth-child(2){animation-delay:.12s}
.js.arrived .nav-links>*:nth-child(3){animation-delay:.18s}
.js.arrived .nav-links>*:nth-child(4){animation-delay:.24s}
.js.arrived .nav-links>*:nth-child(5){animation-delay:.3s}

/* Filet orange qui s'allume au défilement */
.nav::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--orange) 20%,var(--gold) 50%,var(--orange) 80%,transparent);transform:scaleX(0);transition:transform .6s cubic-bezier(.16,1,.3,1)}
.nav.scrolled::after{transform:scaleX(1)}

/* Logo */
.brand img{transition:transform .5s cubic-bezier(.3,1.5,.5,1),filter .4s}
.brand:hover img{transform:rotate(-6deg) scale(1.06);filter:drop-shadow(0 6px 14px #c4572c66)}

/* Liens : texte qui roule vers sa copie dorée */
.nav-links>a{display:inline-flex;align-items:center;gap:8px;overflow:hidden;height:1.6em;line-height:1.6em;padding:0 2px}
.nav-links>a .roll{display:inline-block;text-shadow:0 1.6em 0 var(--gold);transition:transform .5s cubic-bezier(.7,0,.2,1)}
.nav-links>a:hover .roll,.nav-links>a:focus-visible .roll{transform:translateY(-1.6em)}
.nav-links>a::after{bottom:0}
.nav-links>a[aria-current]{color:var(--gold)}
.nav-links>a[aria-current]::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--orange);flex:none;animation:ember-pulse 2s ease-in-out infinite}

/* « Ma sélection » : contour dégradé qui court, sac, survol orange */
.cart-open{position:relative;border:2px solid transparent;background:linear-gradient(var(--cream),var(--cream)) padding-box,linear-gradient(110deg,var(--orange),var(--gold),#fff3d6,var(--gold),var(--orange)) border-box;background-size:100% 100%,200% 100%;animation:border-run 3.5s linear infinite;transition:transform .3s cubic-bezier(.3,1.5,.5,1),box-shadow .3s,color .3s;cursor:pointer}
.cart-open::before{content:'';width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:var(--bag) center/contain no-repeat;mask:var(--bag) center/contain no-repeat;transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.cart-open:hover{transform:translateY(-2px);box-shadow:0 10px 26px #c4572c55;color:var(--cream);background:linear-gradient(var(--orange),var(--orange)) padding-box,linear-gradient(110deg,var(--gold),#fff3d6,var(--gold)) border-box;background-size:100% 100%,200% 100%}
.cart-open:hover::before{transform:rotate(-12deg) scale(1.15)}
.cart-open:hover .cart-count{background:var(--cream);color:var(--orange)}
.cart-open:active{transform:scale(.96)}
.cart-count{transition:background .3s,color .3s,transform .3s}
.cart-open.has-items .cart-count{background:var(--orange);color:var(--cream);animation:count-halo 2.2s ease-out infinite}
:root{--bag:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 8h12l-1 12H7L6 8z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}

/* Langue : anneau qui tourne, pastille qui se retourne */
.language-toggle{position:relative;font-weight:700;letter-spacing:.06em;transition:color .3s,background .3s,border-color .3s;cursor:pointer}
.language-toggle::before{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px dashed var(--gold);opacity:0;transition:opacity .3s}
.language-toggle:hover{background:var(--cream);color:var(--coal);border-color:var(--cream)}
.language-toggle:hover::before{opacity:1;animation:ring-spin 6s linear infinite}
.language-toggle.flip{animation:flip .6s cubic-bezier(.6,0,.3,1)}

/* Barre du bas (mobile) : icônes et appui */
.mobile-bar a{display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .2s,color .2s}
.mobile-bar a::before{content:'';width:20px;height:20px;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.mobile-bar a:nth-child(1){--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 3v8a2 2 0 0 0 4 0V3M9 11v10M17 3c-2 0-3 3-3 6s1 4 3 4v8'/%3E%3C/svg%3E")}
.mobile-bar a:nth-child(2){--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M5 3h4l2 5-2.5 1.5a11 11 0 0 0 6 6L16 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E")}
.mobile-bar a:nth-child(3){--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 21s7-6.1 7-11.5A7 7 0 0 0 5 9.5C5 14.9 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E")}
.mobile-bar a:active{transform:scale(.9);color:var(--gold)}
.mobile-bar a:nth-child(2){color:var(--cream)}
.mobile-bar a:nth-child(2)::before{background:var(--orange)}
@media(max-width:600px){.cart-open::before{width:13px;height:13px}.mobile-bar{padding-top:11px;padding-bottom:calc(11px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){
  .js .nav .brand,.js .nav-links>*{opacity:1}
  .js.arrived .nav .brand,.js.arrived .nav-links>*{animation:none}
  .cart-open,.cart-open.has-items .cart-count,.nav-links>a[aria-current]::before,.language-toggle:hover::before,.language-toggle.flip{animation:none}
  .nav-links>a .roll{transition:none}
}
@media(max-width:440px){.cart-open::before{display:none}.cart-open{padding:7px 10px}.nav-links{gap:12px}}
.brand,.brand img{flex:none}
@media(max-width:440px){.nav-links>a[href="index.html"]{display:none}}
@media(max-width:350px){.nav-links>.place-link{display:none}}
