
@font-face{
  font-family:"Archivo";
  src:url("https://autemps-sushi.com/wp-content/themes/au-temps-sushi/assets/css/../fonts/archivo-subset.woff2") format("woff2-variations");
  font-weight:600 900;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Noto Serif JP";
  src:url("https://autemps-sushi.com/wp-content/themes/au-temps-sushi/assets/css/../fonts/noto-serif-jp-subset.woff2") format("woff2-variations");
  font-weight:700 900;
  font-style:normal;
  font-display:swap;
}
:root{
  --washi:#f4eede; --washi-2:#ece3cf;
  --sumi:#17130f; --sumi-2:#2a241d;
  --shu:#d8402a; --shu-dk:#b22e1b;
  --ai:#1f3d5c; --ai-2:#16314c;
  --kin:#b08a43;
  --ico-eau:#dde5ec; --ico-riz:#fbf6ea; --ico-chair:#eda184;
  --belt:#211c16;
  --muted:#5d5648;
  --line:rgba(23,19,15,.16);
  --line-fort:rgba(23,19,15,.45);
  --kin-dk:#7d5f24;
  --header-h:68px;
  --disp:"Archivo", system-ui, sans-serif;
  --jp:"Noto Serif JP", serif;
  --ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", sans-serif;
  --wrap:min(1200px,92%);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto;overflow-x:clip}
[id]{scroll-margin-top:calc(var(--header-h) + 16px)}
body{background:var(--washi);color:var(--sumi);font-family:var(--ui);line-height:1.62;overflow-x:clip;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.45;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012 0.05' numOctaves='3' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 0.55 0 0 0 0 0.48 0 0 0 0 0.38 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23p)'/%3E%3C/svg%3E")}
[hidden]{display:none!important}
img{max-width:100%;display:block}
.lien-fort{color:var(--shu-dk);border-bottom:2px solid var(--shu-dk);font-weight:700}
.note-douce{color:var(--muted)}
.note-douce .lien-fort{color:var(--shu-dk)}
.lien-fort:hover{color:var(--sumi);border-bottom-color:var(--sumi)}
a[href^="tel:"]{display:inline-flex;align-items:center;min-height:24px}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
ul{list-style:none}
:focus-visible{outline:3px solid var(--shu);outline-offset:3px}
::selection{background:var(--shu);color:var(--washi)}
.avis :focus-visible,.shun :focus-visible,.local :focus-visible,footer.site :focus-visible,.buy-bar :focus-visible,.sticky-bar :focus-visible,#stamp :focus-visible{outline-color:var(--washi)}
.wrap{width:var(--wrap);margin-inline:auto}
.jpf{font-family:var(--jp)}
.giant{font-family:var(--disp);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:.94}
.kick{display:inline-flex;align-items:center;gap:10px;font-size:.74rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--shu-dk)}
.kick::before{content:"";width:26px;height:2px;background:currentColor}
.rv{opacity:1;transform:none}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .rv{animation:ats-monter linear both;
        animation-timeline:view();
        animation-range:cover 0% cover 62%}
    @keyframes ats-monter{
      from{translate:var(--ats-x,0) 78px}
      to  {translate:none}
    }
    .etapes-list li,.ticket-row .ticket{--ats-x:-54px}
    .journal-grid .journal-card{--ats-x:-20px}
    .etapes-list li:nth-child(2n),.ticket-row .ticket:nth-child(2n),
    .journal-grid .journal-card:nth-child(2n){--ats-x:20px}
    .etapes-list li:nth-child(2),.ticket-row .ticket:nth-child(2),
    .journal-grid .journal-card:nth-child(2),.local-grid > *:nth-child(2){
        animation-range:cover 8% cover 70%}
    .etapes-list li:nth-child(3),.ticket-row .ticket:nth-child(3),
    .journal-grid .journal-card:nth-child(3),.local-grid > *:nth-child(3){
        animation-range:cover 16% cover 78%}
    .journal-grid .journal-card:nth-child(4){
        animation-range:cover 24% cover 86%}
    .rv h2,h2.rv{animation-range:cover 0% cover 56%}
    .hero h1 .ligne{display:inline-block;animation:ats-ligne .5s cubic-bezier(.2,.7,.3,1) both}
    .hero h1 .ligne:nth-child(1){animation-delay:0s}
    .hero h1 .ligne:nth-child(3){animation-delay:.08s}
    .hero h1 .ligne:nth-child(5){animation-delay:.16s}
    @keyframes ats-ligne{
      from{clip-path:inset(0 0 105% 0);transform:translateY(.22em)}
      to  {clip-path:inset(0 0 -25% 0);transform:none}
    }
    .hero .kick,.hero .lead,.hero-ctas,.hero-meta{animation:ats-monte .45s ease both}
    .hero .kick{animation-delay:0s}
    .hero .lead{animation-delay:.26s}
    .hero-ctas{animation-delay:.34s}
    .hero-meta{animation-delay:.42s}
    @keyframes ats-monte{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
    .page-hero .bg{animation:ats-fond-pose 1.1s cubic-bezier(.2,.7,.3,1) both}
    @keyframes ats-fond-pose{from{scale:1.06}to{scale:1}}
    .page-hero h1{clip-path:inset(0 0 -25% 0);animation:ats-ligne .58s cubic-bezier(.2,.7,.3,1) .06s both}
    .page-hero .kick{animation:ats-monte .45s ease both}
    .page-hero .inner p{animation:ats-monte .45s ease .3s both}
    .page-hero .hero-ctas{animation:ats-monte .45s ease .38s both}
    .page-hero .hero-reassure{animation:ats-monte .45s ease .46s both}
    .page-hero .hero-kanji{animation:ats-monte .9s ease .12s both}
  }
}
.section{padding:96px 0;position:relative;z-index:2}
.center{text-align:center}
.cta{display:inline-flex;align-items:center;gap:12px;font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  background:var(--sumi);color:var(--washi);padding:16px 28px;border:none;font-size:.96rem;transition:transform .2s,background .2s;position:relative}
.cta:hover{background:var(--shu-dk);transform:translate(-2px,-2px)}
.cta::after{content:"";position:absolute;inset:0;border:2px solid var(--sumi);transform:translate(6px,6px);z-index:-1;transition:transform .2s}
.cta:hover::after{transform:translate(9px,9px)}
.cta.ghost{background:transparent;color:var(--sumi);border:2px solid var(--sumi)}
.cta.ghost::after{display:none}
.cta.ghost:hover{background:var(--sumi);color:var(--washi);transform:none}
.cta[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}
.btn-mini{background:var(--sumi);color:var(--washi);font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  font-size:.78rem;padding:9px 18px;border:none;transition:background .2s;display:inline-block}
.btn-mini:hover{background:var(--shu-dk)}
.hanko{width:42px;height:42px;background:var(--shu);color:var(--washi);font-family:var(--jp);font-weight:900;font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;border-radius:7px;transform:rotate(-4deg);box-shadow:0 2px 0 rgba(0,0,0,.2);line-height:1}
#noren{position:fixed;inset:0;z-index:200;display:flex;pointer-events:none;
  animation:norenFin 0s linear 1.35s forwards}
@keyframes norenFin{to{visibility:hidden}}
.sans-noren #noren{display:none}
#noren span{flex:1;background:var(--ai);border-right:1px solid rgba(255,255,255,.07);
  transform-origin:top;animation:norenLift .6s cubic-bezier(.7,0,.2,1) .35s both;
  box-shadow:0 8px 16px rgba(0,0,0,.18)}
#noren span:nth-child(2){animation-delay:.41s}#noren span:nth-child(3){animation-delay:.47s}
#noren span:nth-child(4){animation-delay:.53s}#noren span:nth-child(5){animation-delay:.59s}
#noren .noren-mark{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:12px;color:var(--washi);
  animation:norenMarque .62s ease both}
#noren .noren-mark img{filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
#noren .noren-mark b{font-family:var(--jp);font-weight:900;font-size:1.9rem;
  color:#ffb9ab;line-height:1}
#noren .noren-mark em{font-style:normal;font-family:var(--disp);font-weight:800;
  text-transform:uppercase;letter-spacing:.22em;font-size:.74rem;color:#cdd6e0}
@keyframes norenMarque{
  0%{opacity:0;transform:translateY(10px) scale(.96)}
  38%{opacity:1;transform:none}
  70%{opacity:1;transform:none}
  100%{opacity:0;transform:translateY(-8px)}
}
@keyframes norenLift{to{transform:translateY(-110%)}}
.topline{position:fixed;top:0;left:0;right:0;z-index:90;display:flex;justify-content:space-between;align-items:center;
  padding:13px 22px;transition:background .3s,box-shadow .3s}
.topline.stuck{background:#f2ece0;background:color-mix(in srgb,var(--washi) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.marque{width:42px;height:42px;flex:0 0 auto}
.marque-washi{display:none}
.logo-lockup{display:block;width:175px;height:35px}
footer.site .logo-lockup{margin-bottom:12px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--disp);font-weight:800;letter-spacing:.04em;font-size:.92rem;text-transform:uppercase}
.topnav{display:flex;gap:22px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.topnav a{display:inline-flex;align-items:center;min-height:29px;padding:5px 0 3px;
    border-bottom:2px solid transparent;transition:border-color .2s,color .2s;white-space:nowrap}
.topnav a:hover,.topnav a.active{border-color:var(--shu);color:var(--shu-dk)}
.top-actions{display:flex;align-items:center;gap:16px}
.tel{font-size:.82rem;font-weight:700;border-bottom:2px solid var(--sumi);white-space:nowrap}
@media(max-width:980px){
  .topline{flex-wrap:wrap;row-gap:8px;background:#f2ece0;background:color-mix(in srgb,var(--washi) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .tel{display:none}
  .topnav{order:3;width:100%;overflow-x:auto;gap:18px;font-size:.74rem;padding-bottom:2px;scrollbar-width:none}
  .topnav::-webkit-scrollbar{display:none}
}
.page-hero{position:relative;min-height:clamp(330px,46vh,520px);display:flex;align-items:flex-end;padding:140px 0 44px;overflow:hidden;z-index:2;background:var(--sumi)}
.page-hero .hero-kanji{position:absolute;top:50%;right:2vw;transform:translateY(-50%);
  font-family:var(--jp);font-weight:900;font-size:clamp(11rem,30vw,26rem);line-height:1;
  color:rgba(255,255,255,.09);pointer-events:none;user-select:none;z-index:0}
@supports (-webkit-text-stroke: 1px #000){
  .page-hero .hero-kanji{color:transparent;-webkit-text-stroke:2px rgba(244,238,222,.22)}
}
.page-hero.sans-image{min-height:clamp(290px,36vh,400px)}
.page-hero.sans-image::before{background:linear-gradient(180deg,rgba(31,61,92,.55),rgba(23,19,15,.9))}
.page-hero .inner p{max-width:64ch;color:#ded5c4;margin-top:6px;line-height:1.62}
.page-hero .hero-reassure{font-size:.84rem;color:#b6ab97;margin-top:14px}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,19,15,.25),rgba(23,19,15,.78))}
.page-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.page-hero .inner{position:relative;color:var(--washi)}
.page-hero .kick{color:#ffd9cf}
.page-hero h1{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(2.2rem,6vw,4.6rem);line-height:.95;margin:14px 0 12px}
.page-hero h1 em{font-style:normal;color:var(--kin)}
.page-hero p{max-width:60ch;color:#e7ddca;font-size:1.02rem}
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;position:relative;padding:120px 0 50px;z-index:2;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding-inline:4vw}
.hero h1{font-family:var(--disp);font-weight:900;text-transform:uppercase;line-height:.9;letter-spacing:-.015em;font-size:clamp(2.7rem,7.4vw,6.6rem)}
.hero h1 .outline{color:transparent;-webkit-text-stroke:2px var(--sumi)}
.hero h1 .shu{color:var(--shu)}
.hero h1 em{font-style:normal;font-family:var(--jp);font-weight:900;font-size:.34em;vertical-align:.45em;letter-spacing:.08em;color:var(--ai)}
.hero p.lead{margin:28px 0 32px;max-width:46ch;font-size:1.04rem;color:#352f25}
.hero p.lead strong{font-weight:700;background:linear-gradient(transparent 60%,rgba(216,64,42,.26) 60%)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero-meta{display:flex;flex-wrap:wrap;gap:26px;margin-top:38px}
.hero-meta div{font-size:.86rem;color:var(--muted)}
.hero-meta strong{display:block;font-family:var(--disp);font-weight:800;font-size:1.05rem;color:var(--sumi);text-transform:uppercase}
.hero-visual{position:relative}
.hero-visual .frame{position:relative;aspect-ratio:4/5;border:3px solid var(--sumi);box-shadow:14px 14px 0 var(--ai);overflow:hidden;background:#0e0c0a}
.hero-visual .frame img{width:100%;height:100%;object-fit:cover}
.hero-visual .tate{position:absolute;top:-14px;right:-26px;writing-mode:vertical-rl;font-family:var(--jp);font-weight:700;font-size:clamp(.85rem,1.5vw,1.1rem);letter-spacing:.4em;color:var(--ai);background:var(--washi);padding:14px 4px}
.hero-visual .seal{position:absolute;bottom:-22px;left:-22px;width:96px;height:96px;background:var(--shu-dk);color:var(--washi);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(-8deg);box-shadow:0 8px 18px rgba(0,0,0,.3)}
.hero-visual .seal b{font-family:var(--jp);font-weight:900;font-size:1.5rem;line-height:1}
.hero-visual .seal small{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;margin-top:3px}
.etape-lien{display:block;color:inherit;height:100%}
.etapes-list li:has(.etape-lien:hover){box-shadow:inset 0 -4px 0 var(--shu)}
.etapes-list li:has(.etape-lien:focus-visible){outline:3px solid var(--ai);outline-offset:-3px}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:54px}.hero-visual{max-width:380px}.hero-visual .tate{display:none}}
.ticker{background:var(--sumi);color:var(--washi);overflow:hidden;padding:12px 0;position:relative;z-index:2;transform:rotate(-1deg) scale(1.02);margin-block:34px 0}
.ticker-track{display:flex;gap:42px;width:max-content;animation:tick 30s linear infinite;font-family:var(--jp);font-weight:700;font-size:1.02rem;letter-spacing:.24em;white-space:nowrap}
.ticker-track i{font-style:normal;color:var(--shu)}
@keyframes tick{to{transform:translateX(-50%)}}
#kaiten{position:relative;z-index:2;padding:90px 0 60px}
.kaiten-head{padding-inline:4vw;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:34px}
.kaiten-head h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,5.4vw,4.4rem);line-height:.95}
.kaiten-head h2 span{color:var(--shu)}
.kaiten-head .rule{font-size:.94rem;max-width:36ch;border-left:4px solid var(--shu);padding-left:14px;color:#3c352b}
.kaiten-head .rule b{color:var(--sumi)}
.belt-zone{position:relative}
.belt{background:var(--belt);padding:30px 0 32px;position:relative;overflow:hidden;box-shadow:inset 0 14px 24px rgba(0,0,0,.5),inset 0 -14px 24px rgba(0,0,0,.5)}
.belt::before{content:"";position:absolute;top:0;bottom:0;left:0;right:-66px;
  background:repeating-linear-gradient(90deg,transparent 0 64px,rgba(255,255,255,.05) 64px 66px);
  animation:beltMove 1.1s linear infinite;will-change:transform}
@keyframes beltMove{to{transform:translateX(-66px)}}
.belt-track{display:flex;gap:38px;width:max-content;animation:belt 40s linear infinite;padding-inline:20px}
.belt-zone:hover .belt-track,.belt-zone:hover .belt::before{animation-play-state:paused}
@keyframes belt{to{transform:translateX(-50%)}}
.plate{position:relative;width:146px;flex-shrink:0;border:none;background:none;padding:0;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.plate:hover{transform:translateY(-12px) rotate(2deg)}
.plate.taken{opacity:.28;filter:grayscale(1);pointer-events:none}
.plate .dish{display:block;width:146px;height:146px;border-radius:50%;overflow:hidden;position:relative;border:7px solid var(--plate,#cfc5b2);box-shadow:0 12px 18px rgba(0,0,0,.45),inset 0 0 0 3px rgba(255,255,255,.25);background:#0e0c0a}
.plate .dish img{width:100%;height:100%;object-fit:cover}
.plate .dish .kanji-fill{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--jp);font-weight:900;font-size:2.6rem;color:var(--plate,#cfc5b2);background:radial-gradient(circle at 35% 30%,#3a322a,#15110d)}
.plate .tag{margin-top:11px;text-align:center;color:var(--washi)}
.plate .tag strong{display:block;font-size:.84rem;font-weight:700;line-height:1.3}
.plate .tag small{font-size:.7rem;color:#b8ac96;letter-spacing:.07em;text-transform:uppercase}
.belt-hint{display:none;text-align:center;font-size:.86rem;color:var(--muted);padding:12px 4vw 0;font-weight:500}
.belt-zone.paused .belt-track,.belt-zone.paused .belt::before{animation-play-state:paused}
.tray-wrap{padding:54px 4vw 0;display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:start}
.tray-side h3{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(1.5rem,3vw,2.3rem);margin-bottom:6px}
.tray-side .price-big{font-family:var(--disp);font-weight:900;font-size:clamp(2.3rem,5vw,3.8rem);color:var(--shu);line-height:1}
.tray-side .price-big small{font-size:.32em;color:var(--sumi);font-weight:700;letter-spacing:.1em}
.tray-side p.note{margin-top:14px;font-size:.94rem;max-width:42ch;color:#3c352b}
.tray-count{font-family:var(--jp);font-weight:900;font-size:1.05rem;margin-top:20px}
.tray-count b{color:var(--shu);font-size:1.5rem}
.tray{background:var(--washi-2);border:3px solid var(--sumi);padding:22px;position:relative;box-shadow:8px 8px 0 var(--ai)}
.tray::before{content:"御盆 · VOTRE PLATEAU";position:absolute;top:-15px;left:18px;background:var(--sumi);color:var(--washi);font-size:.66rem;font-weight:700;letter-spacing:.18em;padding:5px 12px}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.slot{aspect-ratio:1;border:2px dashed rgba(23,19,15,.35);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;font-family:var(--jp);color:rgba(23,19,15,.3);font-size:.85rem;font-weight:700;transition:border-color .3s;background:rgba(255,255,255,.25)}
.slot.filled{border-style:solid;border-color:var(--sumi)}
.slot img{width:100%;height:100%;object-fit:cover;border-radius:50%;animation:plop .45s cubic-bezier(.34,1.56,.64,1)}
.slot .kanji-fill{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:900;background:radial-gradient(circle at 35% 30%,#3a322a,#15110d);color:#cfc5b2;animation:plop .45s cubic-bezier(.34,1.56,.64,1)}
@keyframes plop{0%{transform:scale(.2)}70%{transform:scale(1.12)}100%{transform:scale(1)}}
.slot .rm{position:absolute;top:-6px;right:-6px;width:26px;height:26px;border-radius:50%;background:var(--sumi);color:var(--washi);border:none;font-size:.8rem;line-height:1;opacity:0;transition:opacity .2s}
.slot.filled:hover .rm,.slot.filled:focus-within .rm{opacity:1}
@media(hover:none){.slot.filled .rm{opacity:1}}
.slot .slot-name{position:absolute;left:50%;top:-6px;transform:translate(-50%,-100%);background:var(--sumi);color:var(--washi);
  font-family:var(--ui);font-size:.72rem;font-weight:600;white-space:nowrap;padding:5px 10px;border-radius:6px;
  opacity:0;pointer-events:none;transition:opacity .18s;z-index:6;box-shadow:0 6px 16px rgba(0,0,0,.32);max-width:180px;overflow:hidden;text-overflow:ellipsis}
.slot .slot-name::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--sumi)}
.slot.filled:hover .slot-name,.slot.filled:focus-within .slot-name{opacity:1}
.order-cta{margin-top:22px;width:100%;padding:19px;border:3px solid var(--sumi);background:transparent;font-family:var(--disp);font-weight:900;text-transform:uppercase;letter-spacing:.07em;font-size:1.02rem;color:var(--sumi);position:relative;overflow:hidden;transition:all .25s}
.order-cta[disabled]{opacity:.35;cursor:not-allowed}
.order-cta:not([disabled]){background:var(--shu-dk);border-color:var(--shu-dk);color:var(--washi);position:relative}
.order-cta:not([disabled])::after,.cta.is-ready::after{content:"";position:absolute;inset:0;border-radius:inherit;
  border:2px solid rgba(216,64,42,.5);pointer-events:none;animation:pulse 1.7s ease infinite}
.order-cta:not([disabled]):hover{background:var(--sumi)}
@keyframes pulse{
  0%   {transform:scale(1);   opacity:.45}
  100% {transform:scale(1.9); opacity:0}
}
.fly{position:fixed;z-index:400;width:90px;height:90px;border-radius:50%;object-fit:cover;pointer-events:none;border:5px solid var(--washi);box-shadow:0 10px 24px rgba(0,0,0,.4);transition:all .7s cubic-bezier(.3,.7,.3,1)}
.shun{position:relative;z-index:2;background:var(--ai);color:var(--washi);padding:104px 4vw;overflow:hidden}
.shun .bigkanji{position:absolute;top:42%;right:3vw;transform:translateY(-50%);font-family:var(--jp);font-weight:900;font-size:clamp(14rem,34vw,32rem);color:rgba(255,255,255,.08);line-height:1;pointer-events:none;user-select:none}
.shun .inner{position:relative;max-width:760px}
.shun .kick{color:#ffd9cf}
.shun h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,5.2vw,4rem);line-height:1.02;margin:18px 0 24px;max-width:18ch}
.shun h2 .u{color:transparent;-webkit-text-stroke:1.5px var(--washi)}
.shun p{max-width:60ch;font-size:1.04rem;color:#dfe6ee;margin-bottom:16px}
.shun p b{color:var(--washi);background:linear-gradient(transparent 60%,rgba(216,64,42,.5) 60%)}
.shun-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:58px;
    background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.22)}
.shun-facts .f{padding:30px 26px;background:var(--ai);border:none}
.shun-facts .num{font-family:var(--disp);font-weight:900;font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1;color:transparent;-webkit-text-stroke:2px #ffb9ab;font-variant-numeric:tabular-nums}
.shun-facts .lab{margin-top:9px;font-size:.92rem;color:#cdd6e0}.shun-facts .lab b{color:var(--washi)}
.carte-preview{padding:104px 4vw;position:relative;z-index:2;background:var(--washi-2)}
.carte-preview h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,5.4vw,4.2rem);line-height:.96;margin:10px 0 14px}
.carte-preview h2 span{color:var(--shu)}
.carte-preview .intro{max-width:68ch;font-size:1.01rem;margin-bottom:54px;color:#3c352b}
.carte-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:0;border:2px solid var(--sumi)}
.carte-cell{display:block;padding:30px 26px 46px;border:1px solid var(--line);position:relative;
  background:var(--washi);color:inherit;transition:background .25s,box-shadow .25s}
.carte-cell:hover{background:#fffdf6;box-shadow:inset 0 -4px 0 var(--shu)}
.carte-cell:focus-visible{outline:3px solid var(--ai);outline-offset:-3px}
.carte-cell-voir{position:absolute;left:26px;bottom:22px;font-family:var(--disp);font-weight:800;
  text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:#5a5142;
  transition:color .25s,transform .25s}
.carte-cell:hover .carte-cell-voir{color:var(--shu-dk);transform:translateX(4px)}
.carte-cell .kjj{position:absolute;top:16px;right:16px;font-family:var(--jp);font-weight:900;font-size:1.9rem;color:rgba(31,61,92,.22)}
.carte-cell h2,.carte-cell h3{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:1.2rem;margin-bottom:4px}
.carte-cell .pr{font-size:.78rem;font-weight:700;letter-spacing:.09em;color:var(--shu-dk);text-transform:uppercase;margin-bottom:13px}
.carte-cell p{font-size:.93rem;color:#463e33}
.carte-foot{margin-top:44px;display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.carte-foot small{font-size:.84rem;color:#5a5142;max-width:46ch}
.savoir{padding:104px 4vw;position:relative;z-index:2;display:grid;grid-template-columns:auto minmax(0,1.15fr) minmax(0,.85fr);gap:5vw;align-items:start}
.savoir .tate-title{writing-mode:vertical-rl;font-family:var(--jp);font-weight:900;font-size:clamp(1.5rem,3.2vw,2.6rem);letter-spacing:.3em;color:var(--shu);border-left:3px solid var(--sumi);padding-left:20px;height:fit-content}
.savoir .prose h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,4.4vw,3.4rem);line-height:1.02;margin-bottom:26px;max-width:20ch}
.savoir .prose h3{font-family:var(--disp);font-weight:800;text-transform:uppercase;font-size:1.1rem;margin:32px 0 9px;color:var(--shu)}
.savoir .prose p{max-width:66ch;font-size:1rem;color:#3c352c;margin-bottom:15px}
.savoir .prose p b{background:linear-gradient(transparent 60%,rgba(216,64,42,.25) 60%)}
@media(max-width:760px){.savoir{grid-template-columns:1fr}.savoir .tate-title{writing-mode:horizontal-tb;border-left:none;border-bottom:3px solid var(--sumi);padding:0 0 12px;letter-spacing:.18em}}
.avis{padding:100px 4vw;position:relative;z-index:2;background:var(--sumi);color:var(--washi)}
.avis .head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:46px}
.avis h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,4.6vw,3.4rem);line-height:1}
.avis h2 span{color:var(--shu)}
.avis .gnote{font-size:.86rem;color:#b6ab97}.avis .gnote b{color:var(--washi);font-size:1.3rem}
.avis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.avis-card{border:1px solid rgba(243,236,221,.18);padding:26px 24px;background:var(--sumi-2)}
.avis-card .stars{color:var(--kin);letter-spacing:.1em;margin-bottom:12px}
.avis-card p{font-size:.96rem;color:#e7ddca;margin-bottom:16px}
.avis-card cite{font-style:normal;font-weight:700;font-size:.86rem;color:#b6ab97}
.avis .demo{margin-top:26px;font-size:.78rem;color:#8a8070}
.tickets{padding:104px 4vw;position:relative;z-index:2}
.tickets h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,5.4vw,4.2rem);margin-bottom:48px}
.tickets h2 span{color:var(--shu)}
.ticket-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:34px}
.ticket{background:#fffdf6;border:1px solid #d8cdb5;border-top:none;border-bottom:none;
    padding:36px 28px 26px;position:relative;box-shadow:0 10px 26px rgba(23,19,15,.13);
    font-variant-numeric:tabular-nums}
.ticket::before,.ticket::after{content:"";position:absolute;left:-1px;right:-1px;height:10px;
    background:radial-gradient(circle at 7px 0,var(--washi) 6.4px,#0000 6.8px) repeat-x 0 0/14px 10px;
    pointer-events:none}
.ticket::before{top:-1px}
.ticket::after{bottom:-1px;transform:scaleY(-1)}
.ticket:nth-child(1){transform:rotate(-2.1deg)}
.ticket:nth-child(2){transform:rotate(1.5deg)}
.ticket:nth-child(3){transform:rotate(-1deg)}
.ticket .jp-side{position:absolute;top:18px;right:14px;writing-mode:vertical-rl;font-family:var(--jp);font-weight:700;font-size:.78rem;letter-spacing:.3em;color:var(--ai)}
.ticket h3{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:1.45rem}
.ticket .sub{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#6e6354;margin-bottom:18px}
.ticket ul{margin-bottom:70px}
.ticket li{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px dotted #d8cdb5;font-size:.89rem}
.ticket li span:last-child{font-weight:700;text-align:right}
.ticket .total{position:absolute;bottom:18px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center}
.ticket .total::before{content:"";position:absolute;top:-18px;left:-8px;right:-8px;
    border-top:2px dashed #d8cdb5}
.ticket .total a{font-weight:700;color:var(--shu-dk);border-bottom:2px solid var(--shu-dk);font-size:.88rem}
.ticket .total .jp{font-family:var(--jp);font-weight:900;color:var(--ai)}
.local{background:var(--ai-2);color:#cdd6e0;padding:96px 4vw;position:relative;z-index:2}
.local h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;color:var(--washi);font-size:clamp(1.8rem,4.4vw,3.4rem);line-height:1;margin-bottom:48px}
.local h2 span{color:#ffb9ab}
.local-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:38px}
.local-grid h3{font-family:var(--disp);font-weight:800;text-transform:uppercase;color:var(--washi);font-size:1.05rem;margin-bottom:12px;padding-top:14px;border-top:3px solid var(--shu)}
.local-grid p{font-size:.94rem;line-height:1.74}
.local-grid a{color:var(--washi);border-bottom:1px solid var(--shu)}
.faq{padding:104px 4vw;position:relative;z-index:2}
.faq h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,5.4vw,4.2rem);margin-bottom:48px}
.faq h2 span{color:var(--shu)}
.faq details{border-top:1px solid var(--line-fort);max-width:880px}
.faq details:first-of-type{border-top:2px solid var(--sumi)}
.faq details:last-of-type{border-bottom:2px solid var(--sumi)}
.faq details[open]{background:var(--washi-2)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 16px;font-family:var(--disp);font-weight:800;font-size:1.02rem;text-transform:uppercase;letter-spacing:.02em;transition:background .18s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{background:rgba(23,19,15,.05)}
.faq summary::after{content:"+";display:flex;align-items:center;justify-content:center;
    width:34px;height:34px;flex-shrink:0;border:1.5px solid var(--line-fort);
    color:var(--shu-dk);font-size:1.5rem;font-weight:400;line-height:1;
    transition:transform .25s,background .2s,border-color .2s,color .2s}
.faq summary:hover::after{border-color:var(--shu-dk)}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--shu-dk);color:var(--washi);border-color:var(--shu-dk)}
.faq details p{padding:0 16px 26px 22px;max-width:62ch;color:#3c352c;font-size:.95rem;
    margin-left:16px;border-left:3px solid var(--shu-dk)}
@supports (interpolate-size: allow-keywords) {
  :root{interpolate-size:allow-keywords}
  .faq details::details-content{height:0;overflow:clip;opacity:0;
      transition:height .28s ease, content-visibility .28s allow-discrete, opacity .22s ease}
  .faq details[open]::details-content{height:auto;opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .faq details::details-content{transition:none}
}
.faq details p b{color:var(--shu)}
footer.site{background:var(--sumi);color:#b6ab97;position:relative;z-index:2;padding:70px 4vw 52px;font-size:.9rem}
body:has(.sticky-bar) footer.site{padding-bottom:120px}
body:has(.buy-bar) footer.site{padding-bottom:210px}
footer.site .giant-foot{font-family:var(--jp);font-weight:900;font-size:clamp(2rem,8vw,7rem);line-height:.9;color:transparent;-webkit-text-stroke:1.4px rgba(243,236,221,.4);margin-bottom:38px;white-space:nowrap}
footer.site .cols{display:grid;grid-template-columns:minmax(210px,1.25fr) repeat(3,minmax(150px,1fr));gap:38px 46px;align-items:start}
footer.site .foot-stands{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:30px 52px;padding-bottom:34px;margin-bottom:32px;
  border-bottom:1px solid rgba(244,238,222,.15);
}
footer.site .foot-stand-nom{
  font-family:var(--disp);font-weight:900;font-size:clamp(1.3rem,3vw,1.65rem);
  text-transform:uppercase;letter-spacing:.015em;line-height:1;
  color:var(--washi);margin:0 0 10px;
}
footer.site .foot-stand-lieu{margin:0 0 7px;line-height:1.5;color:#cdc2ad}
footer.site .foot-stand-h{margin:0 0 13px;font-size:.85rem;color:#9c9282}
footer.site .foot-stand-lien{
  font-family:var(--disp);font-weight:800;font-size:.74rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--washi);
  border-bottom:2px solid var(--shu-dk);padding-bottom:3px;
  display:inline-block;min-height:24px;
}
footer.site .foot-stand-lien:hover,footer.site .foot-stand-lien:focus-visible{border-bottom-color:var(--washi)}
footer.site .cols ul a{border-bottom-color:transparent;transition:border-bottom-color .15s}
footer.site .cols ul a:hover,footer.site .cols ul a:focus-visible{border-bottom-color:rgba(243,236,221,.55)}
footer.site .foot-titre{font-family:var(--disp);font-weight:800;font-size:.7rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--washi);margin:0 0 13px}
footer.site .cols ul{list-style:none;margin:0;padding:0}
footer.site .cols li{margin-bottom:6px;line-height:1.45}
footer.site .foot-marque{line-height:1.6}
@media(max-width:860px){footer.site .cols{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:520px){footer.site .cols{grid-template-columns:1fr;gap:28px}}
footer.site a{border-bottom:1px solid rgba(243,236,221,.3)}
footer.site a:hover{color:var(--washi)}
footer.site .demo{margin-top:38px;font-size:.78rem;opacity:.85}
.sticky-bar{position:fixed;bottom:0;left:0;right:0;z-index:80;background:var(--sumi);color:var(--washi);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 4vw calc(12px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .4s cubic-bezier(.2,.8,.2,1);border-top:3px solid var(--shu)}
.sticky-bar.show{transform:none}
.sticky-bar .mini{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.94rem}
.sticky-bar .mini .dot{width:34px;height:34px;border-radius:50%;background:var(--shu-dk);display:flex;align-items:center;justify-content:center;font-family:var(--jp);font-weight:900}
.sticky-bar button,.sticky-bar a.cta-s{background:var(--shu-dk);color:var(--washi);border:none;padding:12px 24px;font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.86rem;display:inline-block}
.sticky-bar button:hover,.sticky-bar a.cta-s:hover{background:var(--shu-dk)}
#stamp{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;background:rgba(23,19,15,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
#stamp.show{display:flex}
#stamp .seal{width:min(320px,80vw);aspect-ratio:1;background:var(--shu-dk);color:var(--washi);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:24px;transform:rotate(-6deg);animation:stampIn .5s cubic-bezier(.34,1.56,.64,1);box-shadow:0 30px 60px rgba(0,0,0,.5);text-align:center;padding:20px}
#stamp .seal .jp{font-family:var(--jp);font-weight:900;font-size:3.2rem;line-height:1.1}
#stamp .seal p{font-weight:700;font-size:.94rem}#stamp .seal small{font-size:.76rem}
@keyframes stampIn{0%{transform:rotate(-6deg) scale(2.4);opacity:0}60%{transform:rotate(-6deg) scale(.95);opacity:1}100%{transform:rotate(-6deg) scale(1)}}
.filters{position:sticky;top:calc(var(--header-h) + 8px);z-index:60;background:#f2ece0;background:color-mix(in srgb,var(--washi) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-block:1px solid var(--line);padding:14px 0}
@media(max-width:600px){
  .filters{backdrop-filter:none;padding:10px 0}
  .filters .row{flex-wrap:wrap;overflow-x:visible;gap:7px;row-gap:7px}
  .filters .filter-btn{flex:0 0 auto}
}
.filters .row{display:flex;gap:10px;overflow-x:auto;padding-inline:4vw;scrollbar-width:none}
.filters .row::-webkit-scrollbar{display:none}
.filter-btn{flex-shrink:0;background:transparent;border:1.5px solid var(--line);color:var(--sumi);font-weight:700;font-size:.82rem;padding:9px 16px;border-radius:40px;transition:all .2s;white-space:nowrap}
.filter-btn:hover{border-color:var(--sumi)}
.filter-btn.active{background:var(--sumi);color:var(--washi);border-color:var(--sumi)}
.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;padding:54px 0}
.product-card{display:flex;flex-direction:column;background:#fffdf6;border:1px solid var(--line);overflow:hidden;transition:transform .25s,box-shadow .25s;position:relative}
.product-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(23,19,15,.16)}
.product-card .img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--belt)}
.product-card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.product-card:hover .img-wrap img{transform:scale(1.05)}
.product-card .img-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--jp);font-weight:900;font-size:3rem;color:#cfc5b2;background:radial-gradient(circle at 35% 30%,#3a322a,#15110d)}
.product-card .badge{position:absolute;top:12px;left:12px;background:var(--sumi);color:var(--washi);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;z-index:2}
.product-card .badge.red{background:var(--shu-dk)}
.product-card .body{padding:18px 18px 16px;display:flex;flex-direction:column;flex:1}
.product-card h3{font-family:var(--disp);font-weight:800;text-transform:uppercase;font-size:1.04rem;margin-bottom:6px}
.product-card .desc{font-size:.88rem;color:#5a5142;flex:1;margin-bottom:14px}
.product-card .foot{display:flex;align-items:center;justify-content:space-between}
.product-card .price{font-family:var(--disp);font-weight:800;font-size:1.05rem;color:var(--shu-dk)}
.empty-state{padding:80px 4vw;text-align:center;color:var(--muted)}
.composer-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start;padding:130px 0 60px}
.composer-layout>*{min-width:0}
.gallery{position:sticky;top:calc(var(--header-h) + 22px)}
.gallery .main-img{aspect-ratio:1;border:3px solid var(--sumi);overflow:hidden;box-shadow:10px 10px 0 var(--ai);background:var(--belt)}
.gallery .main-img img{width:100%;height:100%;object-fit:cover}
.gallery .thumbs{display:flex;gap:10px;margin-top:14px;overflow-x:auto;scrollbar-width:none}
.gallery .thumbs::-webkit-scrollbar{display:none}
.gallery .thumbs button{flex-shrink:0;width:64px;height:64px;border:2px solid transparent;overflow:hidden;background:var(--belt);padding:0;opacity:.65;transition:opacity .2s,border-color .2s}
.gallery .thumbs button img{width:100%;height:100%;object-fit:cover}
.gallery .thumbs button.active,.gallery .thumbs button:hover{opacity:1;border-color:var(--shu)}
.reassure{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.reassure div{font-size:.84rem;color:#3c352b}
.reassure strong{display:block;font-family:var(--disp);font-weight:700;font-size:.92rem;text-transform:uppercase;margin-bottom:2px}
.ico{width:1em;height:1em;display:inline-block;vertical-align:-.16em;flex:none}
.reassure .ico{width:28px;height:28px;display:block;margin-bottom:7px}
.belt-hint .ico{width:1.2em;height:1.2em;vertical-align:-.26em;margin-right:2px}
.fulfillment-ctx .opt .ico{width:1.1em;height:1.1em;vertical-align:-.2em;margin-right:3px}
.composer h1{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,4vw,3.2rem);line-height:.96;margin:8px 0 12px}
.price-line{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.price-line .price{font-family:var(--disp);font-weight:900;font-size:2.2rem;color:var(--shu)}
.price-line .price small{font-size:.4em;color:var(--sumi)}
.price-line .per-piece{font-size:.86rem;color:var(--muted)}
.composer .intro{font-size:.98rem;color:#3c352b;margin-bottom:26px;max-width:54ch}
.progress-wrap{background:var(--washi-2);border:2px solid var(--sumi);padding:16px 18px;margin-bottom:30px;position:sticky;top:calc(var(--header-h) + 8px);z-index:40}
.progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.9rem}
.progress-label strong{font-family:var(--disp);font-weight:800;text-transform:uppercase}
.progress-bar{height:12px;background:rgba(23,19,15,.12);overflow:hidden}
.progress-fill{height:100%;width:0;background:var(--shu);transition:width .35s cubic-bezier(.34,1.4,.64,1)}
.progress-wrap.complete .progress-fill{background:var(--ai)}
.progress-wrap.complete strong{color:var(--ai)}
.group-title{font-family:var(--disp);font-weight:800;text-transform:uppercase;font-size:1.15rem;margin:28px 0 14px;display:flex;align-items:baseline;gap:10px;border-bottom:2px solid var(--sumi);padding-bottom:8px}
.choice-list{display:flex;flex-direction:column;gap:10px}
.choice{display:flex;align-items:center;gap:14px;padding:10px;border:1.5px solid var(--line);background:#fffdf6;transition:border-color .2s,background .2s}
.choice.selected{border-color:var(--shu);background:#fff}
.choice .thumb{width:58px;height:58px;flex-shrink:0;overflow:hidden;border-radius:6px;background:var(--belt)}
.choice .thumb img{width:100%;height:100%;object-fit:cover}
.choice .thumb .img-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--jp);font-weight:900;font-size:1.6rem;color:#cfc5b2}
.choice .label{flex:1}
.choice .label strong{display:block;font-size:.95rem}
.choice .label small{font-size:.78rem;color:var(--muted)}
.stepper{display:flex;align-items:center;gap:6px}
.stepper button{width:34px;height:34px;border:2px solid var(--sumi);background:transparent;font-size:1.2rem;line-height:1;font-weight:700;color:var(--sumi);transition:all .15s}
.stepper button:hover:not(:disabled){background:var(--sumi);color:var(--washi)}
.stepper button:disabled{opacity:.3;cursor:not-allowed}
.stepper .count{min-width:26px;text-align:center;font-family:var(--disp);font-weight:800;font-size:1.05rem}
.buy-bar{position:fixed;bottom:0;left:0;right:0;z-index:70;background:var(--sumi);color:var(--washi);border-top:3px solid var(--shu)}
.buy-bar .inner{width:var(--wrap);margin-inline:auto;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:14px 0 calc(14px + env(safe-area-inset-bottom))}
.buy-bar .total{display:flex;flex-direction:column;line-height:1.1}
.buy-bar .total small{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#b6ab97}
.buy-bar .total .price{font-family:var(--disp);font-weight:900;font-size:1.5rem;color:var(--washi)}
.buy-bar .status{flex:1;font-size:.86rem;color:#cdc2ad}
.buy-bar .status.ok{color:#9fd6a0}
.buy-bar .cta{background-color:transparent;background-image:none;border:2px solid rgba(244,238,222,.42);color:#cdc2ad}
.buy-bar .cta:not(.is-ready)::after{display:none}
.buy-bar .cta[aria-disabled="true"]{opacity:1;cursor:not-allowed}
.buy-bar .cta[aria-disabled="true"]:hover{background-color:transparent;border-color:rgba(244,238,222,.78);color:var(--washi);transform:none}
.buy-bar .cta.is-ready{background-color:var(--shu-dk);border-color:var(--shu-dk);color:var(--washi)}
.buy-bar .cta.is-ready:hover{background-color:var(--sumi);border-color:var(--washi);color:var(--washi)}
.fulfillment label{flex:1;border:1.5px solid var(--line);padding:12px;display:flex;gap:10px;align-items:center;cursor:pointer;font-size:.9rem;transition:border-color .2s,background .2s}
.fulfillment input{accent-color:var(--shu)}
.fulfillment label:has(input:checked){border-color:var(--shu);background:#fff}
.toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,30px);background:var(--ai);color:var(--washi);padding:14px 24px;font-weight:700;box-shadow:0 14px 34px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:90;border-left:4px solid var(--shu)}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){
  .composer-layout{grid-template-columns:1fr;gap:30px}
  .gallery{position:static}
  .buy-bar .inner{flex-wrap:wrap;gap:10px 14px}
  .buy-bar .status{flex:1 0 100%;order:-1;font-size:.8rem}
}
.map-embed{aspect-ratio:16/7;border:3px solid var(--sumi);background:var(--washi-2) repeating-linear-gradient(45deg,transparent 0 18px,rgba(23,19,15,.04) 18px 36px);display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:600;margin-top:20px;box-shadow:8px 8px 0 var(--ai)}
.fil-ariane{background:var(--washi-2);border-bottom:1px solid var(--line);position:relative;z-index:2}
.fil-ariane ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;list-style:none;
  padding:12px 0;margin:0;font-size:.82rem;color:#5a5142}
.fil-ariane li{display:flex;align-items:center;gap:6px}
.fil-ariane a{color:#5a5142;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.fil-ariane a:hover{color:var(--sumi);border-bottom-color:var(--sumi)}
.fil-ariane .sep{color:#a89e8c}
.fil-ariane [aria-current="page"]{color:var(--sumi);font-weight:700}
.traiteur-intro{max-width:62ch;margin-bottom:44px}
.traiteur-intro h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;
  font-size:clamp(1.8rem,4.4vw,3rem);line-height:.98;margin-bottom:18px}
.traiteur-intro h2 span{color:var(--shu)}
.traiteur-etapes{margin-bottom:52px}
.traiteur-ouverture{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,330px);gap:52px;align-items:center;margin-bottom:44px}
.traiteur-ouverture .traiteur-intro{margin-bottom:0}
.traiteur-figure{margin:0}
.plateau-anime{width:100%;max-width:330px;height:auto;display:block;margin-inline:auto}
.plateau-anime .pl-fond{fill:var(--washi);stroke:var(--sumi);stroke-width:3}
.plateau-anime .pl-rim{fill:none;stroke:var(--sumi);stroke-opacity:.25;stroke-width:1.5}
.plateau-anime .nori{fill:var(--sumi)}
.plateau-anime .riz{fill:var(--washi)}
.plateau-anime .chair{fill:var(--ico-chair)}
.plateau-anime .oeuf{fill:var(--kin)}
.plateau-anime .socle{fill:var(--washi);stroke:var(--sumi);stroke-width:2.5}
.plateau-anime .pl-piece{transform-box:fill-box;transform-origin:50% 50%}
@media(max-width:820px){.traiteur-ouverture{grid-template-columns:1fr;gap:34px}.plateau-anime{max-width:270px}}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .plateau-anime .pl-piece{animation:ats-poser linear both;animation-timeline:view()}
    .plateau-anime .pl-piece:nth-child(1){animation-range:cover 6% cover 26%}
    .plateau-anime .pl-piece:nth-child(2){animation-range:cover 10% cover 30%}
    .plateau-anime .pl-piece:nth-child(3){animation-range:cover 14% cover 34%}
    .plateau-anime .pl-piece:nth-child(4){animation-range:cover 18% cover 38%}
    .plateau-anime .pl-piece:nth-child(5){animation-range:cover 22% cover 42%}
    .plateau-anime .pl-piece:nth-child(6){animation-range:cover 26% cover 46%}
    .plateau-anime .pl-piece:nth-child(7){animation-range:cover 30% cover 50%}
    .plateau-anime .pl-piece:nth-child(8){animation-range:cover 34% cover 54%}
    .plateau-anime .pl-piece:nth-child(9){animation-range:cover 38% cover 58%}
  }
}
@keyframes ats-poser{from{scale:0}to{scale:1}}
.traiteur-grid{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:52px;align-items:start}
.traiteur-cal{border:none;padding:0;margin:0;min-width:0}
.traiteur-cal legend{font-family:var(--disp);font-weight:800;text-transform:uppercase;
  letter-spacing:.06em;font-size:.8rem;color:#5a5142;margin-bottom:12px;padding:0}
.traiteur-champs{display:grid;gap:16px}
.traiteur-form{max-width:none;gap:0}
@media(max-width:900px){ .traiteur-grid{grid-template-columns:1fr;gap:40px} }
.calendrier{background:var(--washi-2);border:2px solid var(--sumi);padding:18px;
  box-shadow:6px 6px 0 rgba(23,19,15,.1)}
.cal-tete{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.cal-tete strong{font-family:var(--disp);font-weight:900;text-transform:uppercase;
  letter-spacing:.04em;font-size:1rem}
.cal-nav{display:grid;place-items:center;width:40px;height:40px;border:2px solid var(--sumi);
  font-size:1.1rem;line-height:1;transition:background .15s,color .15s}
.cal-nav:hover{background:var(--sumi);color:var(--washi)}
.cal-nav.vide{border-color:transparent}
.cal-jours,.cal-grille{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cal-jours{margin-bottom:6px;font-family:var(--disp);font-weight:800;font-size:.72rem;
  text-transform:uppercase;letter-spacing:.06em;color:#8a8071;text-align:center}
.cal-vide{aspect-ratio:1}
.cal-jour{position:relative;display:grid;place-items:center;aspect-ratio:1;
  font-family:var(--disp);font-weight:800;font-size:.95rem;border:1px solid var(--line)}
.cal-jour.bloque{color:#a89e8c;background:repeating-linear-gradient(-45deg,
  transparent,transparent 4px,rgba(23,19,15,.07) 4px,rgba(23,19,15,.07) 5px)}
.cal-jour.libre{cursor:pointer;background:var(--washi);color:var(--sumi);
  transition:background .15s,color .15s}
.cal-jour.libre:hover{background:var(--sumi);color:var(--washi)}
.cal-jour.libre input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.cal-jour.libre:has(input:checked){background:var(--shu-dk);color:var(--washi);
  box-shadow:inset 0 0 0 2px var(--sumi)}
.cal-jour.libre:has(input:focus-visible){outline:3px solid var(--ai);outline-offset:2px;z-index:1}
.cal-legende{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:14px;
  font-size:.78rem;color:#5a5142}
.cal-puce{display:inline-block;width:14px;height:14px;border:1px solid var(--line);vertical-align:-2px}
.cal-puce.libre{background:var(--washi)}
.cal-puce.bloque{background:repeating-linear-gradient(-45deg,
  transparent,transparent 3px,rgba(23,19,15,.25) 3px,rgba(23,19,15,.25) 4px)}
@media(max-width:430px){
  .calendrier{padding:10px}
  .cal-jours,.cal-grille{gap:3px}
  .cal-nav{width:44px;height:44px}
  .cal-tete{margin-bottom:10px}
}
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:56px;align-items:start}
.contact-direct{background:var(--washi-2);border:2px solid var(--sumi);padding:34px 30px;
  box-shadow:6px 6px 0 rgba(23,19,15,.1)}
.contact-direct h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;
  font-size:clamp(1.5rem,3vw,2.1rem);line-height:1;margin:10px 0 16px}
.contact-direct .tel-big{display:block;width:fit-content;font-family:var(--disp);font-weight:900;
  font-size:clamp(1.6rem,3.4vw,2.3rem);letter-spacing:.01em;color:var(--sumi);
  border-bottom:3px solid var(--shu);padding-bottom:4px;margin-bottom:20px}
.contact-direct .tel-big:hover{color:var(--shu-dk);border-bottom-color:var(--sumi)}
.contact-horaires{font-size:.9rem;color:#3c352b;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}
.contact-horaires b{display:block;font-family:var(--disp);font-weight:800;text-transform:uppercase;
  letter-spacing:.06em;font-size:.76rem;color:#5a5142;margin-bottom:4px}
.contact-ecrire h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;
  font-size:clamp(1.5rem,3vw,2.1rem);line-height:1;margin:0 0 22px}
.contact-ecrire .contact-form{max-width:none}
@media(max-width:900px){ .contact-grid{grid-template-columns:1fr;gap:40px} }
.contact-form{display:grid;gap:16px;max-width:560px}
.contact-form .field{display:flex;flex-direction:column;gap:6px}
.contact-form label{font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.contact-form input,.contact-form textarea,.contact-form select{font-family:inherit;font-size:1rem;padding:13px 14px;border:1.5px solid var(--line);background:#fffdf6;color:var(--sumi);transition:border-color .2s}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--shu)}
.contact-form textarea{min-height:120px;resize:vertical}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.two-col{grid-template-columns:1fr}}
@media(min-width:981px){
  .topline.on-hero:not(.stuck){background:linear-gradient(180deg,rgba(23,19,15,.55),transparent)}
  .topline.on-hero:not(.stuck) .brand,
  .topline.on-hero:not(.stuck) .topnav a,
  .topline.on-hero:not(.stuck) .tel{color:var(--washi)}
  .topline.on-hero:not(.stuck) .tel{border-color:var(--washi)}
  .topline.on-hero:not(.stuck) .topnav a:hover,
  .topline.on-hero:not(.stuck) .topnav a.active{color:#ffb9ab;border-color:#ffb9ab}
  .topline.on-hero:not(.stuck) .marque-encre{display:none}
  .topline.on-hero:not(.stuck) .marque-washi{display:inline-block}
}
@media(max-width:900px){.shun-facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.shun-facts{grid-template-columns:1fr}}
.savoir-col{grid-column:2;min-width:0}
.savoir-ctas{margin-top:38px}
.cta-lg{font-size:1.06rem;padding:22px 38px;letter-spacing:.06em}
.savoir-lien{margin-top:16px;font-size:.92rem;color:#5a5142}
.savoir .savoir-visual{grid-column:3;grid-row:1}
@media(max-width:760px){ .savoir-col{grid-column:1} }
.ticket-ctas{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:34px}
.savoir-visual{position:sticky;top:calc(var(--header-h) + 22px)}
.savoir-visual img{width:100%;aspect-ratio:3/4;object-fit:cover;border:3px solid var(--sumi);box-shadow:-12px 12px 0 var(--ai);background:var(--belt)}
@media(max-width:1100px){.savoir{grid-template-columns:auto 1fr}.savoir-visual{display:none}}
@media(max-width:760px){.savoir{grid-template-columns:1fr}}
.faq-grid{display:grid;grid-template-columns:1.55fr .45fr;gap:48px;align-items:start}
.faq-grid .faq-list details{max-width:none}
.faq-aside{position:sticky;top:calc(var(--header-h) + 22px);background:var(--sumi);color:var(--washi);padding:34px 30px}
.faq-aside .jpf{display:block;color:#ffb9ab;font-size:1.5rem;margin-bottom:8px}
.faq-aside h3{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:1.6rem;line-height:1;margin-bottom:14px}
.faq-aside p{color:#cdc2ad;font-size:.94rem;margin-bottom:22px}
.faq-aside .tel-big{display:block;font-family:var(--disp);font-weight:800;font-size:1.45rem;color:var(--washi);margin-bottom:18px;border-bottom:2px solid var(--shu);padding-bottom:6px;width:fit-content}
.faq-aside .cta{width:100%;justify-content:center}
@media(max-width:960px){.faq-grid{grid-template-columns:1fr;gap:28px}.faq-aside{position:static}}
@media(max-width:900px){.tray-wrap{grid-template-columns:1fr}}
@media(max-width:600px){
  .plate{width:118px}.plate .dish{width:118px;height:118px;border-width:5px}
  .slots{gap:9px}.belt-hint{display:block}.belt-track{animation-duration:66s}
  .products-grid{grid-template-columns:1fr 1fr;gap:14px}
  .product-card h3{font-size:.92rem}
  footer.site{padding-bottom:140px}.shun .bigkanji{opacity:.6}
  .section{padding:64px 0}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  #noren{display:none}
  .belt{overflow-x:auto}.belt-track{width:max-content}
  .rv{opacity:1;transform:none}
}
@media(max-width:1060px){ :root{ --header-h:74px } }
@media(max-width:998px){ :root{ --header-h:98px } }
@media(max-width:980px){ :root{ --header-h:107px } }
@media(max-width:463px){ :root{ --header-h:153px } }
.belt-zone:focus-within .belt-track,
.belt-zone:focus-within .belt::before{ animation-play-state:paused }
.contact-form input,.contact-form textarea,.contact-form select,
.filter-btn,.choice,.stand-choice label{ border-color:var(--line-fort) }
.slot{ border-color:rgba(23,19,15,.5) }
.plateau-upsell a{ color:var(--kin-dk);border-bottom-color:var(--kin-dk) }
footer.site .cols a{ display:inline-block;min-height:24px;padding-block:5px }
.stand-choice label{ position:relative;padding-left:44px }
.stand-choice label::before{ content:"";position:absolute;left:16px;top:50%;
  transform:translateY(-50%);width:18px;height:18px;border-radius:50%;
  border:2px solid var(--line-fort);background:#fff }
.stand-choice input:checked + label::before{ border-color:var(--shu);
  background:var(--shu);box-shadow:inset 0 0 0 3px #fffdf6 }
.recap-total b,.recap-lines li b{ white-space:nowrap }
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--sumi);
  color:var(--washi);padding:14px 22px;font-family:var(--disp);font-weight:800;
  text-transform:uppercase;letter-spacing:.05em;font-size:.85rem}
.skip-link:focus{left:8px;top:8px}
.btn-mini.active,.btn-mini[aria-current="page"]{ background:var(--shu-dk) }
.slot.pending{border-style:solid;border-color:var(--shu);background:rgba(216,64,42,.08)}
.stepper button[aria-disabled="true"]{opacity:.35;cursor:not-allowed}
.faq details p b,
.savoir .prose h3,
.carte-foot small a,
.tray-side .note a{ color:var(--shu-dk) }
.carte-foot small a{ border-bottom:1px solid var(--shu-dk) }
.tray-side .note a{ border-bottom-color:var(--shu-dk) }
.ticket-ferme{background:var(--shu-dk);color:var(--washi);font-family:var(--disp);font-weight:800;
  text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;padding:7px 12px;margin:10px 0 4px;
  display:inline-block}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap-block{padding:96px 0;position:relative;z-index:2}
.wrap-block + .wrap-block{padding-top:0}
.block-head{margin-bottom:14px}
.block-head h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,4.6vw,3.2rem);line-height:1}
.block-head h2 span{color:var(--shu)}
.block-head p.lead-sub{margin-top:12px;max-width:60ch;color:#3c352b;font-size:1rem}
.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start;margin-top:24px}
.coord-list{list-style:none;display:grid;gap:18px}
.coord-list li{border-top:3px solid var(--shu);padding-top:12px}
.coord-list .lab{display:block;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.coord-list a{font-family:var(--disp);font-weight:800;font-size:1.1rem;border-bottom:2px solid var(--sumi);display:inline-block;min-height:44px;line-height:44px}
.coord-list a:hover{color:var(--shu);border-color:var(--shu)}
.coord-list .coord-static{font-family:var(--disp);font-weight:800;font-size:1.05rem;display:inline-block;color:var(--sumi)}
.form-note{font-size:.82rem;color:var(--muted)}
.contact-form .req{color:var(--shu-dk);font-weight:700}
.contact-form [aria-invalid="true"]{border-color:var(--shu);background:#fff6f3}
.page-hero .hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.page-hero .cta.ghost{color:var(--washi);border-color:var(--washi)}
.page-hero .cta.ghost:hover{background:var(--washi);color:var(--sumi)}
.page-hero .hero-reassure{margin-top:18px;max-width:none;font-size:.92rem;font-weight:600;color:#f4eede;letter-spacing:.01em}
a.map-embed{text-decoration:none;transition:transform .2s,box-shadow .2s}
a.map-embed:hover{transform:translate(-2px,-2px);box-shadow:10px 10px 0 var(--ai);color:var(--sumi)}
a.map-embed .map-cta{display:block;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--shu-dk);margin-top:6px}
.map-embed{position:relative;overflow:hidden}
.map-embed>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.map-embed>span{position:relative;z-index:1}
.map-embed.a-plan{align-items:flex-end;justify-content:flex-start;text-align:left}
.map-embed.a-plan>span{background:var(--sumi);color:var(--washi);padding:11px 17px;font-weight:700}
.map-embed.a-plan .map-cta{color:#cdc2ad;margin-top:3px}
a.map-embed.a-plan:hover .map-cta{color:var(--washi)}
.ticket .total a.t-order{margin-left:auto}
.ticket-reassure{margin-top:26px;font-size:.92rem;font-weight:600;color:#3c352b}
.avis-inline{margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.avis-inline .stars{color:var(--kin);letter-spacing:.12em;font-size:1.1rem}
.avis-inline .gnote{font-size:.9rem;color:var(--muted)}
.avis-inline .gnote b{color:var(--sumi);font-size:1.1rem}
.sticky-bar .sticky-actions{display:flex;align-items:center;gap:10px}
.sticky-bar a.cta-s.ghost-s{background:transparent;border:2px solid var(--washi);color:var(--washi);padding:10px 16px}
.sticky-bar a.cta-s.ghost-s:hover{background:var(--washi);color:var(--sumi)}
@media(max-width:720px){.sticky-bar{display:flex}}
.group-note{font-size:.72rem;color:var(--muted);letter-spacing:.05em;font-weight:600;text-transform:none}
.plateau-upsell{margin-top:34px;font-size:.9rem;color:#3c352b}
.cta[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.cta.is-ready{background:var(--shu);position:relative}
.cta.is-ready:hover{background:var(--shu-dk)}
.fulfillment-ctx{flex:1 0 100%;order:99;font-size:.8rem;color:#cdc2ad;line-height:1.5;padding-top:2px}
.fulfillment-ctx[hidden]{display:none}
.fulfillment-ctx b{color:var(--washi)}
.fulfillment-ctx .opt{display:inline-block;background:rgba(255,255,255,.08);padding:2px 9px;border-radius:30px;margin:2px 4px 2px 0}
.hours-note{flex:1 0 100%;order:100;font-size:.74rem;color:#b6ab97;padding-top:2px}
.pay-note{margin-top:10px;font-size:.86rem;line-height:1.5;color:#3c352b;border-left:3px solid var(--ai);padding-left:12px}
.pay-note b{color:var(--sumi)}
@media(max-width:900px){.composer-layout{padding-bottom:300px}}
.resa-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:start;
      width:var(--wrap);margin-inline:auto;padding:70px 0 110px}
.resa-recap{background:#fffdf6;border:1.5px solid #d8cdb5;padding:28px 26px 24px;position:sticky;top:96px}
.resa-recap h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:1.25rem;margin:8px 0 4px}
.resa-recap .sub{font-size:.86rem;color:var(--muted);margin-bottom:18px}
.recap-lines{list-style:none;display:grid;gap:9px;border-top:2px solid var(--sumi);padding-top:14px;margin-bottom:16px}
.recap-lines li{display:flex;justify-content:space-between;gap:14px;font-size:.93rem;
      border-bottom:1px dotted #cfc4ac;padding-bottom:8px}
.recap-total{display:flex;justify-content:space-between;align-items:baseline;
      border-top:3px solid var(--sumi);padding-top:12px;margin-top:4px}
.recap-total span{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.recap-total b{font-family:var(--disp);font-weight:900;font-size:1.7rem}
.recap-edit{display:inline-block;margin-top:14px;font-size:.84rem;font-weight:700;
      color:var(--shu-dk);border-bottom:2px solid var(--shu)}
.recap-empty{font-size:.94rem;line-height:1.6;color:#3c352b}
.recap-empty .cta{margin-top:16px}
.no-pay{background:var(--ai);color:var(--washi);padding:18px 20px;margin-top:20px;
      border-left:5px solid var(--shu)}
.no-pay b{display:block;font-family:var(--disp);font-weight:800;text-transform:uppercase;
      letter-spacing:.04em;font-size:.92rem;margin-bottom:5px}
.no-pay p{font-size:.87rem;line-height:1.55;color:#dcd3c0}
.resa-form h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;
      font-size:clamp(1.5rem,3.4vw,2.2rem);line-height:1;margin:10px 0 10px}
.resa-form h2 span{color:var(--shu)}
.resa-form .intro{color:#3c352b;font-size:.98rem;max-width:56ch;margin-bottom:26px}
.contact-form[hidden]{display:none}
fieldset{border:0;padding:0;margin:0}
legend{font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
      color:var(--muted);margin-bottom:8px;padding:0}
.stand-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.stand-choice{grid-template-columns:1fr}}
.stand-choice label{display:block;border:1.5px solid var(--line);background:#fffdf6;
  padding:14px 16px 14px 44px;cursor:pointer;text-transform:none;letter-spacing:0;
  font-size:.95rem;color:var(--sumi);font-weight:600;
  transition:border-color .18s,box-shadow .18s}
.stand-choice label b{display:block;font-family:var(--disp);font-weight:800;text-transform:uppercase;
      font-size:.95rem;letter-spacing:.03em;margin-bottom:2px}
.stand-choice label small{color:var(--muted);font-size:.82rem;font-weight:400}
.stand-choice input{position:absolute;opacity:0;width:1px;height:1px}
.stand-choice input:checked + label{border-color:var(--shu);box-shadow:inset 0 0 0 1.5px var(--shu)}
.stand-choice input:focus-visible + label{outline:3px solid var(--shu);outline-offset:2px}
.stand-opt{position:relative}
.consent{display:flex;gap:11px;align-items:flex-start;font-size:.88rem;line-height:1.5;color:#3c352b}
.consent input{margin-top:1px;width:24px;height:24px;flex:0 0 auto;accent-color:var(--shu-dk)}
.consent label{text-transform:none;letter-spacing:0;font-size:.88rem;font-weight:400;color:#3c352b}
.field-error{font-size:.82rem;font-weight:700;color:var(--shu-dk);margin-top:4px}
.field-error[hidden]{display:none}
.error-summary{border:2px solid var(--shu);background:#fff6f3;padding:16px 18px;font-size:.9rem}
.error-summary[hidden]{display:none}
.error-summary b{display:block;font-family:var(--disp);font-weight:800;text-transform:uppercase;
      font-size:.9rem;margin-bottom:6px;color:var(--shu-dk)}
.error-summary ul{margin:0;padding-left:18px}
.resa-done{border:1.5px solid #d8cdb5;background:#fffdf6;padding:36px 30px;text-align:center}
.resa-done .jp{font-family:var(--jp);font-size:2.6rem;font-weight:900;color:var(--shu);line-height:1}
.resa-done h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;
      font-size:1.5rem;margin:12px 0 10px}
.resa-done p{font-size:.96rem;line-height:1.65;color:#3c352b;max-width:52ch;margin-inline:auto}
.resa-done .done-lines{list-style:none;display:grid;gap:8px;margin:22px auto 0;max-width:400px;text-align:left}
.resa-done .done-lines li{display:flex;justify-content:space-between;gap:14px;
      border-bottom:1px dotted #cfc4ac;padding-bottom:7px;font-size:.92rem}
.resa-done .done-lines b{font-family:var(--disp);font-weight:800}
.resa-done .cta{margin-top:26px}
.resa-done[hidden]{display:none}
@media(max-width:900px){.resa-layout{grid-template-columns:1fr;gap:38px;padding:48px 0 80px}}
@media(max-width:900px){.resa-recap{position:static}}
.product-card .foot .btn-mini{padding:8px 14px}
.product-card .on-stand{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
      color:var(--muted);border:1.5px solid var(--line);padding:7px 12px;white-space:nowrap}
.reassure-band{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;justify-content:center;
      padding:14px 4vw;font-size:.84rem;color:var(--muted);border-bottom:1px solid var(--line);background:var(--washi-2)}
.reassure-band span{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.reassure-band span::before{content:"旬";font-family:var(--jp);color:var(--shu-dk);font-size:.9em}
.stamp-close{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:50%;
    background:rgba(23,19,15,.22);color:var(--washi);border:none;font-size:1.4rem;line-height:1;display:flex;align-items:center;justify-content:center}
.stamp-close:hover{background:rgba(23,19,15,.4)}
.stamp-cta{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:6px}
#stamp .cta-s{display:inline-block;text-align:center;background:var(--washi);color:var(--shu-dk);
    font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.84rem;padding:13px 18px;border:2px solid var(--washi)}
#stamp .cta-s:hover{background:transparent;color:var(--washi)}
#stamp .cta-s.ghost-s{background:transparent;color:var(--washi);border-color:rgba(244,238,222,.6)}
#stamp .cta-s.ghost-s:hover{background:var(--washi);color:var(--shu-dk)}
.etapes{padding:96px 6vw;background:var(--washi-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.etapes-head{max-width:62ch;margin-bottom:44px}
.etapes-head h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;
    font-size:clamp(1.9rem,5vw,3.4rem);line-height:.98;margin:10px 0 14px}
.etapes-head h2 span{color:var(--shu)}
.etapes-head p{color:#3c352b;font-size:1.02rem;line-height:1.65}
.etapes-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:etape}
.etapes-list li{position:relative;background:var(--washi);border:1.5px solid var(--line);
    border-top:4px solid var(--ai);padding:40px 24px 26px}
.etapes-list .num{position:absolute;top:-17px;left:22px;width:38px;height:38px;
    display:flex;align-items:center;justify-content:center;
    background:var(--shu-dk);color:var(--washi);
    font-family:var(--jp);font-size:1.15rem;font-weight:900;line-height:1;
    border-radius:6px;transform:rotate(-4deg);box-shadow:0 2px 0 rgba(0,0,0,.22)}
.etapes-list h3{font-family:var(--disp);font-weight:800;text-transform:uppercase;
    letter-spacing:.03em;font-size:1.05rem;margin-bottom:8px}
.etapes-list p{font-size:.93rem;line-height:1.6;color:#3c352b}
.etapes-foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;
    margin-top:44px;padding-top:30px;border-top:1px solid var(--line)}
@media(max-width:900px){
  .etapes{padding:72px 6vw}
  .etapes-list{grid-template-columns:1fr;gap:26px}
  .etapes-head{margin-bottom:34px}
  .etapes-foot{margin-top:34px;padding-top:24px}
  .etapes-foot .cta{width:100%;justify-content:center}
}
.hero h1 .ligne-fin{white-space:nowrap}
body.admin-bar{ --header-h:100px }
@media(max-width:980px){ body.admin-bar{ --header-h:153px } }
.menu-bouton,.menu-pied{display:none}
@supports selector(:popover-open){
  @media(min-width:1121px){
    .topnav[popover]{position:static;inset:auto;width:auto;height:auto;margin:0;padding:0;
      border:0;background:none;color:inherit;overflow:visible}
  }
  @media(max-width:1120px){
    :root{--header-h:68px}
    body.admin-bar{--header-h:100px}
    .topline{flex-wrap:nowrap;gap:10px;background:#f2ece0;
      background:color-mix(in srgb,var(--washi) 94%,transparent);
      -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
    .top-actions{margin-left:auto}
    .menu-bouton{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
      width:42px;height:42px;padding:0;border:2px solid var(--sumi);border-radius:0;
      background:transparent;color:var(--sumi);cursor:pointer}
    .menu-icone,.menu-icone::before,.menu-icone::after{display:block;width:18px;height:2px;
      background:currentColor;transition:transform .2s ease,background-color .2s ease}
    .menu-icone{position:relative}
    .menu-icone::before,.menu-icone::after{content:"";position:absolute;left:0}
    .menu-icone::before{top:-6px}
    .menu-icone::after{top:6px}
    .topline:has(.topnav:popover-open) .menu-icone{background:transparent}
    .topline:has(.topnav:popover-open) .menu-icone::before{transform:translateY(6px) rotate(45deg)}
    .topline:has(.topnav:popover-open) .menu-icone::after{transform:translateY(-6px) rotate(-45deg)}
    .topnav[popover]:not(:popover-open){display:none}
    .topnav[popover]{position:fixed;inset:var(--header-h) 0 auto;width:auto;height:auto;
      max-height:calc(100dvh - var(--header-h));margin:0;padding:6px 22px 26px;
      overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
      flex-direction:column;gap:0;order:0;
      border:0;border-top:1px solid var(--line);background:var(--washi);color:var(--sumi);
      box-shadow:0 24px 40px rgba(23,19,15,.2);font-size:1rem;
      transition:opacity .18s ease,transform .18s ease}
    @starting-style{.topnav[popover]:popover-open{opacity:0;transform:translateY(-8px)}}
    .topnav[popover]::backdrop{top:var(--header-h,68px);background:rgba(23,19,15,.35)}
    .topnav[popover] a{display:flex;min-height:54px;padding:0;white-space:normal;
      border-bottom:1px solid var(--line);font-family:var(--disp);font-weight:800;letter-spacing:.06em}
    .topnav[popover] a:hover,.topnav[popover] a.active{color:var(--shu-dk);border-bottom-color:var(--line)}
    .menu-pied{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:20px 0 0}
    .topnav[popover] .menu-tel{min-height:44px;border-bottom:2px solid var(--sumi);font-size:1.05rem;letter-spacing:.03em}
    .menu-horaires{font-size:.82rem;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--muted)}
    @media(min-width:981px){
      .topline.on-hero:not(.stuck){background:#f2ece0;background:color-mix(in srgb,var(--washi) 94%,transparent)}
      .topline.on-hero:not(.stuck) .brand,
      .topline.on-hero:not(.stuck) .topnav a,
      .topline.on-hero:not(.stuck) .tel{color:var(--sumi)}
      .topline.on-hero:not(.stuck) .tel,
      .topline.on-hero:not(.stuck) .topnav .menu-tel{border-color:var(--sumi)}
      .topline.on-hero:not(.stuck) .topnav a:hover,
      .topline.on-hero:not(.stuck) .topnav a.active{color:var(--shu-dk);border-color:var(--line)}
      .topline.on-hero:not(.stuck) .marque-encre{display:block}
      .topline.on-hero:not(.stuck) .marque-washi{display:none}
    }
  }
  @media(max-width:1120px) and (hover:hover){
    .menu-bouton:hover{background:var(--sumi);color:var(--washi)}
  }
  @media(min-width:600px) and (max-width:1120px){
    .top-actions .tel{display:inline-flex}
    .topnav[popover]{left:auto;width:360px;border-left:1px solid var(--line)}
  }
  @media(max-width:599px){
    .topline{padding-inline:16px;gap:8px}
    .brand{gap:9px;font-size:.8rem}
    .marque{width:38px;height:38px}
    .top-actions .tel{display:none}
    .top-actions .btn-mini{padding-inline:14px}
    .topnav[popover]{padding-inline:16px}
  }
  @media(max-width:359px){
    .brand-nom{position:absolute;width:1px;height:1px;overflow:hidden;
      clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  }
  @media(max-width:782px){ body.admin-bar{--header-h:114px} }
  @media(prefers-reduced-motion:reduce){
    .topnav[popover],.menu-icone,.menu-icone::before,.menu-icone::after{transition:none}
  }
}
@media(max-width:600px){
  .filters{padding:8px 0}
  .filters .row{flex-wrap:nowrap;overflow-x:auto;gap:7px;padding-inline:16px 44px;
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent);
            mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent)}
  .filters .filter-btn{padding:8px 13px;font-size:.8rem}
  .product-card .body{padding:14px 12px}
  .product-card .foot{flex-wrap:wrap;gap:8px 10px}
  .product-card .foot .btn-mini{flex:1 0 100%;text-align:center;padding-block:10px}
  .buy-bar .inner{flex-wrap:nowrap;gap:12px;padding:10px 0 calc(10px + env(safe-area-inset-bottom))}
  .buy-bar .status{position:absolute;width:1px;height:1px;overflow:hidden;
    clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  .buy-bar .fulfillment-ctx,.buy-bar .hours-note{display:none}
  .buy-bar .total .price{font-size:1.3rem}
  .buy-bar .cta{margin-left:auto;padding:12px 16px;font-size:.8rem;white-space:nowrap}
  body:has(.buy-bar) footer.site{padding-bottom:100px}
  .progress-wrap{padding:10px 14px;margin-bottom:20px}
  .sticky-bar{gap:10px;padding:8px 16px calc(8px + env(safe-area-inset-bottom))}
  .sticky-bar .mini{gap:8px;font-size:.84rem;line-height:1.2}
  .sticky-bar .mini .dot{width:30px;height:30px;flex:0 0 auto}
  .sticky-bar button,.sticky-bar a.cta-s{padding:11px 14px;font-size:.76rem;white-space:nowrap;flex:0 0 auto}
  body:has(.sticky-bar) footer.site{padding-bottom:84px}
}
@media(max-width:359px){
  .sticky-bar button,.sticky-bar a.cta-s,.buy-bar .cta{white-space:normal;padding-inline:12px;text-align:center}
  .sticky-bar button,.sticky-bar a.cta-s{flex:0 1 auto}
  .sticky-bar .mini{min-width:0}
}
.fil-ariane a{display:inline-flex;align-items:center;min-height:24px}
.resa-confirmation{width:var(--wrap);max-width:760px;margin-inline:auto;padding:70px 0 110px}
.resa-confirmation .form-note a{color:var(--ai);font-weight:600}
.journal{padding:64px 0 96px}
.journal-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}
@media(min-width:700px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.journal-card{background:#fffdf6;border:1.5px solid var(--line);position:relative;transition:transform .2s,box-shadow .2s}
.journal-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--ai)}
.journal-card.journal-une{grid-column:1/-1}
.journal-une .journal-lien{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch}
.journal-une .journal-img{height:100%;min-height:300px}
.journal-une .journal-img img{width:100%;height:100%;object-fit:cover}
.journal-une .journal-corps{padding:34px 38px;display:flex;flex-direction:column;justify-content:center}
.journal-une .journal-corps h2{font-size:1.75rem;line-height:1.12}
.journal-une .journal-extrait{font-size:.98rem}
.journal-une-tag{display:inline-block;background:var(--shu-dk);color:var(--washi);
  font-family:var(--disp);font-weight:800;font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;padding:4px 9px;margin-right:9px;vertical-align:1px}
@media(max-width:820px){
  .journal-une .journal-lien{grid-template-columns:1fr}
  .journal-une .journal-img{min-height:0}
  .journal-une .journal-corps{padding:24px 22px}
  .journal-une .journal-corps h2{font-size:1.4rem}
}
.journal-lien{display:flex;flex-direction:column;height:100%;color:inherit}
.journal-img{aspect-ratio:4/3;overflow:hidden;background:var(--belt);border-bottom:1.5px solid var(--line)}
.journal-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.journal-card:hover .journal-img img{transform:scale(1.04)}
.journal-corps{padding:22px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.journal-meta{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.journal-corps h2,.journal-corps h3{font-family:var(--disp);font-weight:900;text-transform:uppercase;
    letter-spacing:.01em;font-size:1.12rem;line-height:1.18}
.journal-extrait{font-size:.93rem;line-height:1.6;color:#3c352b}
.journal-suite{margin-top:auto;padding-top:12px;font-family:var(--disp);font-weight:800;
    text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;color:var(--shu-dk)}
.journal-vide{font-size:1.02rem;color:#3c352b;margin-bottom:22px}
.journal .navigation.pagination{margin-top:48px}
.journal .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.journal .page-numbers{display:inline-flex;align-items:center;justify-content:center;
    min-width:44px;min-height:44px;padding:0 12px;border:1.5px solid var(--line);
    font-family:var(--disp);font-weight:800;font-size:.88rem;background:#fffdf6}
.journal .page-numbers:hover{border-color:var(--sumi)}
.journal .page-numbers.current{background:var(--sumi);color:var(--washi);border-color:var(--sumi)}
.article-layout{display:grid;grid-template-columns:minmax(0,1.6fr) .4fr;gap:52px;
    align-items:start;padding:62px 0 90px}
.article-prose{max-width:68ch}
.article-aside .faq-aside{position:sticky;top:calc(var(--header-h) + 22px)}
.journal-suivants{background:var(--washi-2);border-top:1px solid var(--line);padding:78px 0 92px}
.journal-suivants h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;
    font-size:clamp(1.6rem,3.6vw,2.6rem);margin-bottom:34px}
.journal-suivants h2 span{color:var(--shu)}
@media(max-width:900px){
  .article-layout{grid-template-columns:1fr;gap:38px;padding:48px 0 72px}
  .article-aside .faq-aside{position:static}
}
.erreur-404{padding:58px 0 92px}
.erreur-404 .carte-cell h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;
    font-size:1.12rem;line-height:1.2;margin-bottom:8px;
    padding-right:calc(1.9rem * 2)}
.erreur-404 .carte-cell h2 a{color:inherit;border-bottom:2px solid var(--shu-dk)}
.erreur-404 .carte-cell h2 a:hover{color:var(--shu-dk)}
.erreur-404-tel{margin-top:34px;font-size:1rem;color:#3c352b}
.erreur-404-tel a{font-weight:700;color:var(--shu-dk);border-bottom:2px solid var(--shu-dk)}
.page-legale{padding:56px 0 92px}
.page-legale .prose{max-width:70ch}
.page-legale .prose h2{margin-top:38px}
.page-legale .prose h3{margin-top:26px}
.page-legale .prose ul{margin:14px 0 0;padding-left:20px;display:grid;gap:8px}
.page-legale .prose li{font-size:.96rem;line-height:1.6;color:#3c352b}
.page-legale .maj{margin-top:44px;padding-top:18px;border-top:1px solid var(--line);
    font-size:.86rem;color:var(--muted)}
.faq-aside .cta:not(.ghost),
.page-hero .cta:not(.ghost){background:var(--shu-dk);color:var(--washi)}
.faq-aside .cta:not(.ghost)::after,
.page-hero .cta:not(.ghost)::after{border-color:rgba(244,238,222,.5)}
.faq-aside .cta:not(.ghost):hover,
.page-hero .cta:not(.ghost):hover{background:var(--washi);color:var(--sumi)}
@media(min-width:981px){
  .topline.on-hero:not(.stuck) .btn-mini{background:var(--shu-dk);color:var(--washi)}
  .topline.on-hero:not(.stuck) .btn-mini:hover{background:var(--washi);color:var(--sumi)}
}
@media(max-width:900px){
  .composer-layout{padding-top:88px;gap:22px}
  .gallery{display:contents}
  .gallery .main-img{order:1;aspect-ratio:16/10;box-shadow:6px 6px 0 var(--ai)}
  .gallery .thumbs{display:none}
  .composer{order:2}
  .reassure,.reassure-ligne{order:3;margin-top:0}
  .stepper button{width:42px;height:42px}
}
.ticket .total a,.foot-stand-lien{position:relative}
.ticket .total a::after,.foot-stand-lien::after{content:"";position:absolute;inset:-10px -6px}
@media(max-width:600px){
  .carte-preview,.savoir,.local{padding-top:64px;padding-bottom:64px}
  .carte-preview .intro{margin-bottom:32px}
  .carte-cell{padding:22px 20px 42px}
  .carte-cell-voir{left:20px;bottom:18px}
}
.plateau-seo{background:var(--washi-2);border-top:1px solid var(--line);padding:96px 0 110px;position:relative;z-index:2;overflow:hidden}
.ps-filigrane{position:absolute;right:-1vw;top:48px;writing-mode:vertical-rl;font-family:var(--jp);font-weight:900;
  font-size:clamp(7rem,16vw,15rem);line-height:1;color:rgba(31,61,92,.07);pointer-events:none;user-select:none}
.ps-tete{max-width:760px;margin-bottom:44px;position:relative}
.plateau-seo h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,4.6vw,3.6rem);line-height:.98;margin:0 0 18px}
.plateau-seo h2 span{color:var(--shu)}
.plateau-seo .lead{max-width:64ch;color:#3c352b}
.ps-formats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:26px;margin-bottom:64px;position:relative}
.ps-format{display:grid;grid-template-columns:auto 1fr;gap:10px 26px;align-items:center;padding:28px 30px 22px;
  background:var(--washi);border:3px solid var(--sumi);box-shadow:8px 8px 0 var(--ai);color:inherit;
  transition:translate .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.ps-format:hover{translate:-3px -3px;box-shadow:11px 11px 0 var(--ai)}
.ps-format:focus-visible{outline:3px solid var(--ai);outline-offset:4px}
.ps-pieces{grid-row:1/3;font-family:var(--disp);font-weight:900;font-size:clamp(4.2rem,8vw,6.2rem);line-height:.8;
  color:transparent;-webkit-text-stroke:2px var(--sumi);font-variant-numeric:tabular-nums;
  background:linear-gradient(var(--ai),var(--ai)) 0 100%/100% var(--encre) no-repeat;-webkit-background-clip:text;background-clip:text;
  transition:--encre .5s ease}
.ps-format:hover .ps-pieces{--encre:100%}
.ps-corps{display:flex;flex-direction:column;gap:3px}
.ps-nom{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:1.12rem;letter-spacing:.01em}
.ps-detail{font-size:.9rem;color:#3c352b}
.ps-prix{font-family:var(--disp);font-weight:900;font-size:1.9rem;color:var(--shu-dk);line-height:1.1;margin-top:6px}
.ps-go{grid-column:2;font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:.07em;font-size:.78rem;
  border-top:1px dashed var(--line-fort);padding-top:12px;transition:color .2s}
.ps-format:hover .ps-go{color:var(--shu-dk)}
.ps-familles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px;margin-bottom:72px;position:relative}
.ps-famille{background:rgba(255,253,246,.7);border:1.5px solid var(--line-fort);padding:22px 20px 20px}
.ps-famille h3{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-family:var(--disp);font-weight:900;
  text-transform:uppercase;font-size:1.05rem;border-bottom:2px solid var(--sumi);padding-bottom:10px;margin:0 0 16px}
.ps-famille h3 small{font-family:var(--ui);font-weight:600;text-transform:none;font-size:.78rem;color:var(--muted)}
.ps-famille ul{display:grid;gap:11px;list-style:none;margin:0;padding:0}
.ps-famille li{display:flex;align-items:center;gap:12px;font-size:.92rem;line-height:1.35;color:var(--sumi-2)}
.ps-assiette{flex:0 0 auto;width:48px;height:48px;border-radius:50%;overflow:hidden;border:4px solid var(--plate,#cfc5b2);
  background:#0e0c0a;box-shadow:0 6px 10px -6px rgba(23,19,15,.7),inset 0 0 0 2px rgba(255,255,255,.25)}
.ps-assiette img{display:block;width:100%;height:100%;object-fit:cover}
.ps-assiette .kanji-fill{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:var(--jp);
  font-weight:900;font-size:1.05rem;color:var(--plate,#cfc5b2);background:radial-gradient(circle at 35% 30%,#3a322a,#15110d)}
.ps-etapes{margin-bottom:40px;position:relative}
.ps-etapes .lien-fort{white-space:nowrap}
.ps-carte{font-size:.95rem;color:#3c352b;position:relative}
@media(max-width:900px){
  .composer-layout{padding-bottom:40px}
  .plateau-seo{padding:64px 0 72px}
  .ps-format{padding:22px 20px 18px;gap:8px 18px}
  .ps-prix{font-size:1.6rem}
}
.composer-h1 #composerTitle{display:block}
.composer-h1-suite{display:block;font-family:var(--ui);font-weight:400;text-transform:none;letter-spacing:0;font-size:1.05rem;line-height:1.4;color:var(--muted);margin-top:8px}
.composer .pay-note{margin:0 0 16px}
.composer .intro{margin-bottom:24px}
.choice-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:14px}
.choice{position:relative;flex-direction:column;justify-content:flex-start;text-align:center;gap:12px;
  padding:22px 12px 12px;transition:border-color .2s,background-color .2s,box-shadow .25s}
.choice:hover{box-shadow:0 14px 26px -18px rgba(23,19,15,.55)}
.choice.selected{box-shadow:inset 0 0 0 1px var(--shu)}
.choice .thumb{width:112px;height:112px;overflow:visible;border-radius:50%;background:none;position:relative;
  transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.choice .thumb img,.choice .thumb .img-fallback{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;
  border:6px solid var(--plate,#cfc5b2);background:#0e0c0a;
  box-shadow:0 10px 16px -8px rgba(23,19,15,.55),inset 0 0 0 3px rgba(255,255,255,.25)}
.choice .thumb .img-fallback{display:flex;align-items:center;justify-content:center;font-size:2.4rem;
  color:var(--plate,#cfc5b2);background:radial-gradient(circle at 35% 30%,#3a322a,#15110d)}
@media(hover:hover){.choice:hover .thumb{transform:translateY(-6px) rotate(5deg)}}
.choice .thumb::after{content:attr(data-n);position:absolute;top:-6px;right:-10px;min-width:36px;height:34px;padding:0 7px;
  display:flex;align-items:center;justify-content:center;background:var(--shu-dk);color:var(--washi);
  font-family:var(--disp);font-weight:900;font-size:.92rem;border-radius:7px;box-shadow:0 2px 0 rgba(0,0,0,.2);
  transform:rotate(-8deg) scale(0);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.choice.selected .thumb::after{transform:rotate(-8deg) scale(1)}
.choice .label{flex:1;display:flex;align-items:center;justify-content:center}
.choice .label strong{font-size:.9rem;line-height:1.3}
.choice .label small{display:none}
.choice .stepper{width:100%;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:0;
  border:2px solid var(--sumi);border-radius:999px;overflow:hidden;background:var(--washi)}
.choice .stepper button{width:100%;height:40px;border:0;border-radius:0;font-size:1.25rem}
.choice .stepper button[data-act="plus"]{background:var(--sumi);color:var(--washi)}
.choice .stepper button[data-act="minus"]:hover:not(:disabled){background:transparent;color:var(--sumi)}
@media(hover:hover){
  .choice .stepper button[data-act="plus"]:hover:not([aria-disabled="true"]){background:var(--shu-dk);color:var(--washi)}
  .choice .stepper button[data-act="minus"]:hover:not(:disabled){background:var(--washi-2)}
}
.choice .stepper .count{min-width:0}
.progress-wrap{box-shadow:6px 6px 0 var(--ai);padding:14px 16px 16px}
.progress-wrap:has(.mp) .progress-bar{display:none}
.mp{display:grid;grid-template-columns:repeat(var(--n,8),minmax(0,1fr));gap:clamp(4px,1vw,10px);max-width:calc(var(--n,8) * 58px)}
.mp-case{aspect-ratio:1;border-radius:50%;border:2px dashed rgba(23,19,15,.3);display:flex;align-items:center;justify-content:center;
  font-family:var(--jp);font-weight:700;font-size:.7rem;line-height:1;color:rgba(23,19,15,.42);background:rgba(255,255,255,.4);
  overflow:hidden;transition:border-color .3s}
.mp-case.plein{border:3px solid var(--plate,#cfc5b2);background:#0e0c0a;box-shadow:0 4px 8px -4px rgba(23,19,15,.6)}
.mp-case img,.mp-case .kanji-fill,.mp-vol img,.mp-vol .kanji-fill{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.mp-case .kanji-fill,.mp-vol .kanji-fill{display:flex;align-items:center;justify-content:center;font-family:var(--jp);font-weight:900;
  color:var(--plate,#cfc5b2);background:radial-gradient(circle at 35% 30%,#3a322a,#15110d)}
.mp-case .kanji-fill{font-size:.9rem}
.mp-vol .kanji-fill{font-size:2.4rem}
.mp-case.plein > *{animation:plop .45s cubic-bezier(.2,.8,.2,1)}
.mp-vol{position:fixed;z-index:95;border-radius:50%;overflow:hidden;border:6px solid var(--plate,#cfc5b2);background:#0e0c0a;
  pointer-events:none;box-shadow:0 22px 34px -12px rgba(0,0,0,.5);will-change:transform}
.progress-wrap.complete .progress-label{padding-right:46px}
.progress-wrap.complete::after{content:"完";position:absolute;top:-16px;right:-12px;width:50px;height:50px;
  display:flex;align-items:center;justify-content:center;background:var(--shu-dk);color:var(--washi);
  font-family:var(--jp);font-weight:900;font-size:1.5rem;border-radius:9px;box-shadow:0 3px 0 rgba(0,0,0,.2);transform:rotate(-10deg)}
@media (prefers-reduced-motion:no-preference){
  .choice{animation:ats-assiette .55s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--i,0) * 45ms)}
  @keyframes ats-assiette{from{opacity:0;translate:0 26px}to{opacity:1;translate:none}}
  .choice.pop .stepper .count{animation:ats-compte .4s cubic-bezier(.2,.8,.2,1)}
  @keyframes ats-compte{0%{scale:1}40%{scale:1.6}100%{scale:1}}
  .choice.pop.selected .thumb::after{animation:ats-pastille .4s cubic-bezier(.2,.8,.2,1)}
  @keyframes ats-pastille{0%{scale:1}40%{scale:1.35}100%{scale:1}}
  .progress-wrap.complete::after{animation:ats-tampon .55s cubic-bezier(.3,1.5,.5,1) both}
  @keyframes ats-tampon{0%{transform:rotate(-10deg) scale(2.4);opacity:0}55%{transform:rotate(-10deg) scale(.9);opacity:1}100%{transform:rotate(-10deg) scale(1)}}
}
@media(max-width:600px){
  .choice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .choice{padding:18px 10px 10px;gap:10px}
  .choice .thumb{width:96px;height:96px}
  .choice .label strong{font-size:.86rem}
  .choice .stepper{grid-template-columns:40px 1fr 40px}
  .mp{gap:5px}
  .mp-case{font-size:.6rem}
}
@media(min-width:901px){
  .buy-bar .inner{gap:6px 22px;padding:10px 0 calc(10px + env(safe-area-inset-bottom))}
  .buy-bar .hours-note{display:none}
  .buy-bar .fulfillment-ctx{font-size:.74rem;padding-top:0}
  .buy-bar .fulfillment-ctx .opt{padding:1px 8px}
  body:has(.buy-bar) footer.site{padding-bottom:140px}
}
.shun-facts{background:none;border:0;gap:0}
.shun-facts .f{background:transparent;border:1px solid rgba(255,255,255,.2);margin:0 -1px -1px 0}
@media(min-width:1024px){
  .shun{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);column-gap:clamp(40px,6vw,96px);
    align-items:center;padding-block:120px}
  .shun .inner{max-width:none}
  .shun h2{font-size:clamp(2.6rem,4.2vw,4.2rem);max-width:none}
  .shun p{max-width:58ch;font-size:1.08rem}
  .shun-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
  .shun-facts .f{padding:36px 30px}
  .shun-facts .num{font-size:clamp(2.6rem,3.8vw,3.9rem)}
  .shun .bigkanji{right:2vw;top:50%;font-size:clamp(20rem,34vw,34rem)}
}
@media(max-width:1023px){
  .shun-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:40px}
}
@media(max-width:600px){
  .shun-facts .f{padding:20px 16px}
  .shun-facts .num{font-size:clamp(1.9rem,8.4vw,2.6rem)}
  .shun-facts .lab{font-size:.84rem;line-height:1.45}
}
.shun-facts .f:first-child{grid-column:1/-1}
@media(min-width:601px) and (max-width:1023px){
  .shun-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shun-facts .f:first-child{grid-column:auto}
}
@media(min-width:1024px){
  .shun-facts .f:first-child .num{font-size:clamp(3.4rem,5.4vw,5.4rem)}
}
@property --encre{syntax:"<percentage>";inherits:true;initial-value:0%}
.shun-facts .num{position:relative}
.shun-facts .num::after{content:attr(data-n);content:attr(data-n) / "";position:absolute;left:0;top:0;
  color:var(--washi);-webkit-text-stroke:0;white-space:nowrap;pointer-events:none;
  clip-path:inset(calc(100% - var(--encre)) 0 0 0)}
@media(max-width:600px){.shun-facts .num{-webkit-text-stroke-width:1.5px}}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    .shun-facts .num{animation:ats-encre linear both;animation-timeline:view();animation-range:cover 12% cover 52%}
    @keyframes ats-encre{from{--encre:0%}to{--encre:100%}}
    .shun .bigkanji{animation:ats-kanji linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
    @keyframes ats-kanji{from{translate:0 16%;rotate:-4deg}to{translate:0 -16%;rotate:3deg}}
  }
}
.plateau-upsell{margin-top:30px;padding:16px 18px;border:2px dashed var(--line-fort);background:rgba(255,255,255,.4);line-height:1.6}
.plateau-upsell a{font-weight:700;border-bottom:2px solid currentColor}
.tickets h2,.faq h2,.journal-suivants h2{line-height:.98}
.tray-side h3,.ticket h3{line-height:1.05}
h2,h3,summary,.cta,.btn-mini{text-wrap:balance}
p,li{text-wrap:pretty}
.product-card h2{font-family:var(--disp);font-weight:800;text-transform:uppercase;
  font-size:1.04rem;line-height:1.15;letter-spacing:.01em;margin-bottom:6px}
@media(max-width:600px){.product-card h2{font-size:.9rem}}
@media(max-width:700px){
  .map-grid{grid-template-columns:1fr;gap:22px}
  .map-embed{aspect-ratio:3/2}
}
.filters{top:var(--header-h);background:var(--washi)}
:root{--kin-clair:#d9b770}
.page-hero:not(.sans-image)::before{background:linear-gradient(180deg,rgba(23,19,15,.5) 0%,rgba(23,19,15,.74) 42%,rgba(23,19,15,.92) 100%)}
.page-hero:not(.sans-image) h1 em{color:var(--kin-clair)}
:root{--wrap:min(1440px,92%);--gouttiere:max(4vw,calc((100% - 1440px) / 2))}
.hero-grid,.kaiten-head,.tray-wrap,.belt-hint,.shun,.carte-preview,.savoir,.avis,.faq,.etapes,
footer.site,.reassure-band{padding-inline:var(--gouttiere)}
@media(min-width:601px){.filters .row{padding-inline:var(--gouttiere)}}
.tickets,.local,.wrap .faq{padding-inline:0}
@media(max-width:600px){
  #kaiten{padding-block:56px 44px}
  .etapes,.shun,.carte-preview,.savoir,.tickets,.local,.faq,.wrap-block,.journal-suivants{padding-block:60px}
  .tickets h2,.faq h2,.local h2,.journal-suivants h2{margin-bottom:28px}
  .savoir + .tickets{padding-top:4px}
  .page-hero,.page-hero.sans-image{min-height:0;padding:calc(var(--header-h) + 40px) 0 32px}
  .hero-ctas .cta,.ticket-ctas .cta,.carte-foot .cta,.savoir-ctas .cta,.page-hero .hero-ctas .cta,.recap-empty .cta{width:100%;justify-content:center}
  .cta-lg{padding:20px 24px;font-size:1rem}
}
@media(max-width:600px){footer.site{padding-bottom:calc(36px + env(safe-area-inset-bottom))}}
@media(max-width:520px){
  footer.site .cols{grid-template-columns:1fr 1fr;gap:26px 18px}
  footer.site .foot-marque{grid-column:1/-1}
  footer.site .cols > :nth-child(2){grid-row:span 2}
}
@media(max-width:1100px){
  .savoir .savoir-visual{display:block;position:static;grid-column:1/-1;grid-row:auto;order:-1;margin-bottom:6px}
  .savoir-visual img{height:auto;aspect-ratio:16/10;box-shadow:8px 8px 0 var(--ai)}
}
:where(.article-prose,.page-legale .prose) > * + *{margin-top:1em}
.article-prose h2,.page-legale .prose h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;
  font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.04;margin-top:1.7em}
.article-prose h3,.page-legale .prose h3{font-family:var(--disp);font-weight:800;text-transform:uppercase;
  font-size:1.05rem;line-height:1.2;letter-spacing:.02em;color:var(--ai);margin-top:1.5em}
.article-prose :is(h2,h3) + *,.page-legale .prose :is(h2,h3) + *{margin-top:.5em}
.article-prose p,.article-prose li{font-size:1.06rem;line-height:1.72;color:var(--sumi-2)}
.article-prose > p:first-child{font-size:1.16rem;line-height:1.6;color:var(--sumi)}
.article-prose ul,.article-prose ol{padding-left:1.3em;list-style:revert}
.article-prose a{color:var(--shu-dk);border-bottom:2px solid currentColor;font-weight:600}
.article-layout{grid-template-columns:minmax(0,68ch) 300px;justify-content:center;gap:64px}
@media(max-width:900px){.article-layout{grid-template-columns:1fr}}
@media(max-width:820px){.journal-une .journal-img{aspect-ratio:16/10}}
@media(max-width:600px){
  .carte-row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;gap:12px;border:0;
    overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:4vw;
    margin-inline:-4vw;padding:4px 4vw 16px;scrollbar-width:none}
  .carte-row::-webkit-scrollbar{display:none}
  .carte-cell{scroll-snap-align:start;border:2px solid var(--sumi);box-shadow:5px 5px 0 var(--ai)}
}
@media(min-width:601px) and (max-width:1099px){
  .carte-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .carte-row > .carte-cell:last-child:nth-child(odd){grid-column:1/-1}
}
@media(min-width:1100px){
  .carte-row{grid-template-columns:repeat(4,minmax(0,1fr))}
  .carte-row > .carte-cell:last-child:nth-child(4n+3){grid-column:span 2}
  .carte-row > .carte-cell:last-child:nth-child(4n+2){grid-column:span 3}
  .carte-row > .carte-cell:last-child:nth-child(4n+1){grid-column:1/-1}
}
.order-cta[disabled]{opacity:1;color:var(--muted);border:2px dashed var(--line-fort)}
@media(max-width:600px){
  .etapes-list{gap:14px}
  .etapes-list li{padding:18px 18px 20px 70px;border-top-width:1.5px;border-left:4px solid var(--ai)}
  .etapes-list .num{top:18px;left:16px}
  .reassure-band{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;justify-items:start;font-size:.8rem;padding:10px 4vw}
}
.product-card .on-stand{border:0;padding:0;letter-spacing:.06em}
.product-card .on-stand::before{content:"旬 " / "";font-family:var(--jp);color:var(--ai)}
@media(max-width:900px){.resa-layout:has(#recapEmpty:not([hidden])) .resa-recap{order:2}}
.erreur-404 .carte-cell h2 a::after{content:"";position:absolute;inset:0}
.erreur-404 .carte-cell:hover{background:#fffdf6;box-shadow:inset 0 -4px 0 var(--shu)}
.page-hero .hero-kanji{animation-name:ats-kanji-entre}
@keyframes ats-kanji-entre{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
.contact-form.traiteur-form{max-width:calc(400px + 52px + 560px)}
.tray-count{font-family:"Archivo","Noto Serif JP",serif}
html{-webkit-tap-highlight-color:rgba(31,61,92,.14)}
.cta:active{translate:3px 3px}
.cta:active::after{translate:-3px -3px}
.btn-mini:active,.filter-btn:active,.sticky-bar .cta-s:active,.order-cta:active,.stepper button:active{scale:.96}
.plate:active .dish{scale:.93}
.carte-cell:active,.journal-card:active,.etape-lien:active{translate:0 2px}
@media(hover:none){
  .cta:hover,.plate:hover,.product-card:hover,.journal-card:hover,a.map-embed:hover{transform:none}
  .cta:hover::after{transform:translate(6px,6px)}
  .product-card:hover,.journal-card:hover{box-shadow:none}
}
@media (prefers-reduced-motion:no-preference){
  .hero-visual .seal{animation:ats-sceau-c .5s cubic-bezier(.2,.8,.2,1) .5s both}
  @keyframes ats-sceau-c{from{opacity:0;scale:1.8;rotate:-14deg}to{opacity:1;scale:1;rotate:0deg}}
  .hero-visual .frame img{animation:ats-pose-photo 1.1s cubic-bezier(.2,.7,.3,1) both}
  @keyframes ats-pose-photo{from{scale:1.06}to{scale:1}}
  @media(max-width:1120px){
    .topnav[popover]:popover-open > a{animation:ats-menu .32s cubic-bezier(.2,.7,.3,1) both}
    .topnav[popover]:popover-open > a:nth-of-type(2){animation-delay:.03s}
    .topnav[popover]:popover-open > a:nth-of-type(3){animation-delay:.06s}
    .topnav[popover]:popover-open > a:nth-of-type(4){animation-delay:.09s}
    .topnav[popover]:popover-open > a:nth-of-type(5){animation-delay:.12s}
    .topnav[popover]:popover-open > a:nth-of-type(6){animation-delay:.15s}
    .topnav[popover]:popover-open .menu-pied{animation:ats-menu .32s .18s both}
  }
  @keyframes ats-menu{from{opacity:0;translate:0 -8px}to{opacity:1;translate:none}}
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    .journal-img{position:relative}
    .journal-img::after,.product-card .img-wrap::after,.map-embed.a-plan::after{content:"";position:absolute;inset:0;z-index:1;
      pointer-events:none;background:var(--ai);animation:ats-noren linear both;animation-timeline:view();animation-range:cover 5% cover 30%}
    .map-embed.a-plan::after{z-index:0}
    @keyframes ats-noren{to{translate:0 -101%}}
    h2.rv{animation:ats-monter linear both,ats-pinceau linear both;animation-timeline:view(),view();
      animation-range:cover 0% cover 56%,cover 6% cover 36%}
    @keyframes ats-pinceau{from{clip-path:inset(-12% 100% -30% -2%)}to{clip-path:inset(-12% -2% -30% -2%)}}
    .etapes-list .num{animation:ats-sceau linear both;animation-timeline:view();animation-range:cover 14% cover 30%}
    @keyframes ats-sceau{from{scale:1.8;rotate:-14deg}to{scale:1;rotate:0deg}}
    .ticket-row .ticket.rv{animation:ats-imprimer linear both;animation-timeline:view();animation-range:cover 4% cover 34%}
    .ticket-row .ticket.rv:nth-child(2){animation-range:cover 10% cover 40%}
    @keyframes ats-imprimer{from{clip-path:inset(-40px -40px 100% -40px);translate:0 -16px}to{clip-path:inset(-40px);translate:none}}
    @media(max-width:600px){.carte-cell{animation:ats-eventail linear both;animation-timeline:view(inline)}}
    @keyframes ats-eventail{0%{rotate:2.5deg;translate:0 12px}40%,65%{rotate:0deg;translate:0 0}100%{rotate:-2.5deg;translate:0 12px}}
    body.single .topline::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--ai);
      transform-origin:0 50%;animation:ats-lecture linear both;animation-timeline:scroll(root)}
    @keyframes ats-lecture{from{scale:0 1}to{scale:1 1}}
  }
}
.traiteur-intro .intro + .intro{margin-top:14px}
@media(min-width:901px){
  .etapes-list li,.etapes-list li:nth-child(2n){--ats-x:-18px}
}
.mp-case{white-space:nowrap}
.mp-case[data-long]{letter-spacing:-.14em}
@media(max-width:600px){.mp-case[data-long]{font-size:.5rem}}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    .rv{animation-range:cover 0% cover 32%;animation-timing-function:cubic-bezier(.2,.75,.25,1)}
    @keyframes ats-monter{from{translate:var(--ats-x,0px) 34px}to{translate:none}}
    .etapes-list li,.etapes-list li:nth-child(2n),
    .journal-grid .journal-card,.journal-grid .journal-card:nth-child(2n){--ats-x:0px}
    .etapes-list li:nth-child(2),.journal-grid .journal-card:nth-child(2),.local-grid > *:nth-child(2){animation-range:cover 4% cover 36%}
    .etapes-list li:nth-child(3),.journal-grid .journal-card:nth-child(3),.local-grid > *:nth-child(3){animation-range:cover 8% cover 40%}
    .journal-grid .journal-card:nth-child(4){animation-range:cover 12% cover 44%}
    h2.rv{animation-range:cover 0% cover 30%,cover 2% cover 26%}
  }
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    .ps-pieces{animation:ats-encre linear both;animation-timeline:view();animation-range:cover 12% cover 42%}
    .ps-famille .ps-assiette{animation:ats-assiette-pose linear both;animation-timeline:view();
      animation-range:cover calc(2% + var(--i,0) * 1.5%) cover calc(13% + var(--i,0) * 1.5%)}
    @keyframes ats-assiette-pose{from{scale:.35;rotate:-140deg}to{scale:1;rotate:0deg}}
    .ps-filigrane{animation:ats-kanji linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  }
}
.plateau-seo h2 span{display:block}
.ps-famille h3{display:block}
.ps-famille h3 small{display:block;margin-top:5px}
@media(max-width:600px){
  .ps-familles{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;gap:12px;align-items:start;
    overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:4vw;
    margin-inline:-4vw;padding:4px 4vw 16px;scrollbar-width:none}
  .ps-familles::-webkit-scrollbar{display:none}
  .ps-famille{scroll-snap-align:start}
}
.stands-fiches{padding:24px 0 8px}
.stand-fiche{width:var(--wrap);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(32px,5vw,80px);align-items:center;padding:80px 0;position:relative}
.stand-fiche + .stand-fiche{border-top:1px solid var(--line)}
.stand-fiche.inverse .sf-plan{order:-1}
.sf-texte{position:relative;min-width:0}
.sf-kana{position:absolute;top:-6px;right:0;writing-mode:vertical-rl;font-family:var(--jp);font-weight:900;
  font-size:clamp(2rem,3.6vw,3.2rem);letter-spacing:.14em;color:rgba(31,61,92,.16);pointer-events:none;line-height:1}
.sf-kana::before{content:attr(data-kana)}
.sf-texte:has(> .sf-kana) > :is(h2,h3,.sf-adresse,.sf-page){padding-right:calc(clamp(2rem,3.6vw,3.2rem) + 12px)}
.stand-fiche.compact > .sf-texte:has(> .sf-kana) > :is(h3,.sf-adresse){padding-right:calc(1.9rem + 12px)}
.stand-fiche > .sf-texte > h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(3rem,7.4vw,6rem);
  line-height:.88;margin:0 0 18px;letter-spacing:-.01em}
.sf-adresse{font-size:1.02rem;line-height:1.55;color:#3c352b;margin-bottom:24px}
.sf-semaine{border-collapse:separate;border-spacing:6px;margin:0 0 22px -6px;font-size:.82rem}
.sf-semaine caption{caption-side:top;text-align:left;padding:0 6px 10px;font-family:var(--disp);font-weight:800;
  text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;color:var(--sumi)}
.sf-auj{display:inline-block;margin-left:10px;font-family:var(--ui);font-weight:700;text-transform:none;letter-spacing:0;
  font-size:.82rem;color:var(--ai);background:rgba(31,61,92,.09);padding:3px 11px;border-radius:30px;vertical-align:1px}
.sf-auj.ferme{color:var(--muted);background:rgba(23,19,15,.06)}
.sf-semaine thead th{position:relative;width:36px;padding:14px 0 2px;text-align:center;font-family:var(--disp);font-weight:800}
.sf-semaine abbr{text-decoration:none;cursor:default}
.sf-semaine tbody th{text-align:left;font-weight:700;padding-right:12px;white-space:nowrap;line-height:1.2}
.sf-semaine tbody th small{display:block;font-weight:500;font-size:.76rem;color:var(--muted)}
.sf-semaine td{width:36px;height:34px;border-radius:7px;padding:0}
.sf-semaine td.o{background:var(--ai);box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}
.sf-semaine td.f{background:repeating-linear-gradient(45deg,transparent 0 4px,rgba(23,19,15,.13) 4px 5px);border:1px solid var(--line)}
.sf-semaine td.auj{outline:3px solid var(--shu-dk);outline-offset:2px}
.sf-semaine thead th.auj{color:var(--shu-dk)}
.sf-semaine thead th.auj::after{content:"本日";position:absolute;left:50%;top:-14px;translate:-50% 0;rotate:-6deg;
  background:var(--shu-dk);color:var(--washi);font-family:var(--jp);font-weight:900;font-size:.66rem;line-height:1;
  padding:4px 5px;border-radius:4px;white-space:nowrap;box-shadow:0 2px 0 rgba(0,0,0,.2)}
.sf-recit p{font-size:.98rem;line-height:1.65;color:#3c352b;max-width:56ch;margin-bottom:12px}
.sf-actions{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center;margin-top:26px}
.sf-tel{font-family:var(--disp);font-weight:800;font-size:1.05rem;border-bottom:2px solid var(--shu);white-space:nowrap;position:relative}
.sf-tel::after{content:"";position:absolute;inset:-10px -6px}
.sf-plan{aspect-ratio:4/3;margin-top:0}
.sf-plan img{transition:scale .6s cubic-bezier(.2,.7,.3,1)}
@media(hover:hover){a.sf-plan:hover img{scale:1.04}}
body:has(.stand-fiche) footer.site .foot-stands{display:none}
.stand-vitrine{background:var(--washi-2);border-top:1px solid var(--line);padding:88px 0 96px;position:relative;z-index:2}
.stand-vitrine .wrap > h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,4.6vw,3.4rem);line-height:.98;margin:0 0 14px}
.stand-vitrine .wrap > h2 span{color:var(--shu)}
.stand-vitrine .lead{max-width:60ch;color:#3c352b}
.stand-vitrine .products-grid{padding:40px 0 34px}
.sv-suite{margin:0}
.stand-fiche > .sf-texte > h2 a,.stand-fiche > .sf-texte > h3 a{transition:color .2s}
@media(hover:hover){.stand-fiche > .sf-texte > h2 a:hover,.stand-fiche > .sf-texte > h3 a:hover{color:var(--shu-dk)}}
.sf-page{margin:-12px 0 24px}
.sf-page a{font-weight:700;border-bottom:2px solid var(--shu);padding-bottom:2px}
.sf-page a:hover{border-bottom-color:var(--sumi)}
.stand-fiche.seul > .sf-texte > h2{font-size:clamp(1.9rem,3.8vw,2.8rem);line-height:1;margin-bottom:16px}
.stand-autres{padding:72px 0 92px;position:relative;z-index:2}
.stand-autres h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1;margin:0 0 28px}
.sa-liste{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:22px}
.sa-liste li{background:var(--washi);border:1.5px solid var(--line);border-top:4px solid var(--ai);transition:box-shadow .2s}
.sa-liste li:has(a:hover){box-shadow:inset 0 -4px 0 var(--shu)}
.sa-liste a{display:block;padding:26px 26px 24px}
.sa-liste a:focus-visible{outline:3px solid var(--ai);outline-offset:-3px}
.sa-nom{display:block;font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(1.8rem,4vw,2.6rem);line-height:.95;margin-bottom:10px}
.sa-nom span{color:var(--shu-dk);margin-left:.12em}
.sa-lieu{display:block;color:#3c352b;line-height:1.5}
footer.site .foot-stand-nom a{border-bottom-color:transparent;transition:border-bottom-color .15s}
footer.site .foot-stand-nom a:hover,footer.site .foot-stand-nom a:focus-visible{border-bottom-color:rgba(243,236,221,.55)}
@media(max-width:900px){
  .stand-fiche{grid-template-columns:1fr;padding:56px 0;gap:30px}
  .stand-fiche.inverse .sf-plan{order:0}
  .sf-plan{aspect-ratio:3/2}
}
@media(max-width:600px){
  .stand-fiche > .sf-texte > h2{font-size:clamp(2.6rem,13vw,3.6rem)}
  .sf-semaine{border-spacing:4px;margin-left:-4px;font-size:.78rem}
  .sf-semaine thead th,.sf-semaine td{width:29px}
  .sf-semaine td{height:28px;border-radius:6px}
  .sf-semaine tbody th{padding-right:6px;font-size:.78rem}
  .sf-auj{display:table;margin:8px 0 0}
  .sf-actions .cta{flex:1 1 100%;justify-content:center}
  .stand-vitrine{padding:64px 0 72px}
  .stand-autres{padding:56px 0 72px}
}
@media (prefers-reduced-motion:no-preference){
  .sf-semaine thead th.auj::after{animation:ats-sceau-c .5s cubic-bezier(.2,.8,.2,1) .25s both}
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    .sf-semaine td{animation:ats-case linear both;animation-timeline:view();
      animation-range:cover calc(6% + var(--c,1) * 2%) cover calc(16% + var(--c,1) * 2%)}
    @keyframes ats-case{from{scale:.2;opacity:0}to{scale:1;opacity:1}}
    .sf-kana{animation:ats-kana linear both;animation-timeline:view();animation-range:cover 0% cover 45%}
    @keyframes ats-kana{from{translate:0 60px}to{translate:none}}
    .sf-plan img{animation:ats-plan linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
    @keyframes ats-plan{from{translate:0 -3%;scale:1.1}to{translate:0 3%;scale:1.1}}
  }
}
.stands-contact{background:var(--washi-2);border-top:1px solid var(--line);padding:88px 0 96px;position:relative;z-index:2}
.stands-contact .wrap > h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,5.4vw,4.2rem);line-height:.98;margin:0 0 36px}
.stands-contact .wrap > h2 span{color:var(--shu)}
.sc-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:30px}
.stand-fiche.compact{width:auto;margin:0;grid-template-columns:1fr;gap:22px;align-items:start;padding:30px 28px 28px;
  background:var(--washi);border:2px solid var(--sumi);box-shadow:8px 8px 0 var(--ai)}
.stand-fiche.compact + .stand-fiche.compact{border-top:2px solid var(--sumi)}
.stand-fiche.compact > .sf-texte > h3{font-family:var(--disp);font-weight:900;text-transform:uppercase;
  font-size:clamp(2.2rem,4.4vw,3rem);line-height:.9;margin:0 0 12px}
.stand-fiche.compact .sf-kana{font-size:1.9rem}
.stand-fiche.compact .sf-adresse{margin-bottom:18px}
.stand-fiche.compact .sf-semaine{margin-bottom:6px}
.stand-fiche.compact .sf-actions{margin-top:14px}
.stand-fiche.compact .sf-plan{aspect-ratio:16/8}
@media(max-width:600px){.stand-fiche.compact{padding:24px 18px 22px}}
.contact-form input,.contact-form textarea,.contact-form select{transition:border-color .2s,box-shadow .25s}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{box-shadow:0 0 0 4px rgba(216,64,42,.14)}
.contact-form .field label{transition:color .2s}
.contact-form .field:focus-within label{color:var(--shu-dk)}
@media (prefers-reduced-motion:no-preference){
  .cal-jour.libre:has(input:checked){animation:ats-sceau-c .45s cubic-bezier(.2,.8,.2,1) both}
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    .cal-jour{animation:ats-jour linear both;animation-timeline:view();
      animation-range:cover calc(2% + var(--d,1) * .35%) cover calc(12% + var(--d,1) * .35%)}
    @keyframes ats-jour{from{scale:.55}to{scale:1}}
    .page-hero .bg{top:-6%;height:112%;
      animation:ats-fond-pose 1.1s cubic-bezier(.2,.7,.3,1) both,ats-hero-derive linear both;
      animation-timeline:auto,scroll(root);animation-range:normal,0px 80vh}
    @keyframes ats-hero-derive{from{translate:0 0}to{translate:0 5%}}
  }
}
.tray::before{content:"盆 · VOTRE PLATEAU";font-family:"Noto Serif JP",var(--ui)}
@media(max-width:600px){
  .hero-visual .seal{left:-8px;bottom:-16px;width:86px;height:86px}
  .hero-visual .seal b{font-size:1.35rem}
}
.resa-etape{display:grid;gap:16px;min-inline-size:0;padding-top:26px;border-top:1.5px solid var(--line)}
.resa-etape:first-of-type{padding-top:6px;border-top:0}
.resa-etape > legend{float:left;width:100%;display:flex;align-items:center;gap:12px;margin:0 0 2px;
  font-family:var(--disp);font-weight:900;font-size:1.02rem;letter-spacing:.04em;color:var(--sumi)}
.resa-etape > legend .req{margin-left:-7px}
.etape-sceau{flex:0 0 auto;display:grid;place-items:center;width:32px;height:32px;border-radius:6px;
  background:var(--shu-dk);color:var(--washi);font-size:1rem;font-weight:900;line-height:1;
  rotate:-4deg;box-shadow:0 2px 0 rgba(0,0,0,.22)}
.stand-choice label::before{top:17px;transform:none}
.stand-choice .so-auj{display:block;margin-top:9px;font-size:.78rem;font-weight:700;color:var(--ai)}
.stand-choice .so-auj::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;
  vertical-align:1px;border-radius:50%;background:currentColor}
.stand-choice .so-auj.ferme{color:var(--muted)}
.stand-choice .so-auj[hidden]{display:none}
.two-col.empile{grid-template-columns:minmax(0,1fr);gap:24px}
.field.avec-pastilles > select,
.field.avec-pastilles:not(.autre-date-ouverte) > input[type="date"]{display:none}
.pastilles{display:flex;flex-wrap:wrap;gap:8px}
.pastille{font:inherit;cursor:pointer;border:1.5px solid var(--line-fort);background:#fffdf6;color:var(--sumi);
  transition:border-color .18s,background-color .18s,color .18s}
.pastille:hover:not(:disabled){border-color:var(--sumi)}
.pastille:focus-visible{outline:3px solid var(--ai);outline-offset:2px}
.pastille[aria-checked="true"]{background:var(--shu-dk);border-color:var(--shu-dk);color:var(--washi)}
.pastille:disabled{cursor:not-allowed;color:#857c6c;border-color:var(--line);
  background:repeating-linear-gradient(-45deg,transparent 0 5px,rgba(23,19,15,.08) 5px 6px) #f0e8d6}
.field:has(> [aria-invalid="true"]) .pastille:not(:disabled){border-color:var(--shu)}
.pastille.jour{display:grid;justify-items:center;align-content:center;gap:2px;
  width:62px;min-height:76px;padding:8px 2px;line-height:1.1}
.pastille.jour small{font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pastille.jour b{font-family:var(--disp);font-weight:900;font-size:1.5rem;line-height:1}
.pastille.jour[aria-checked="true"] small{color:var(--washi)}
.pastille.jour:disabled small{color:#857c6c}
.autre-date{align-self:flex-start;margin-top:4px;padding:4px 0;background:none;border:0;
  border-bottom:2px solid rgba(31,61,92,.35);font:inherit;font-size:.84rem;font-weight:700;color:var(--ai);cursor:pointer}
.autre-date:hover{border-bottom-color:var(--ai)}
.autre-date:focus-visible{outline:3px solid var(--ai);outline-offset:3px}
.autre-date-ouverte > .autre-date{display:none}
.pastilles-creneaux{display:grid;gap:16px}
.service-titre{font-size:.8rem;color:var(--muted);margin-bottom:8px}
.service-titre b{font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  color:var(--sumi);margin-right:4px}
.service-fini{font-size:.88rem;color:var(--muted);font-style:italic}
.pastille.creneau{min-width:68px;min-height:44px;padding:8px 10px;
  font-family:var(--disp);font-weight:800;font-size:.92rem;letter-spacing:.02em}
@media(max-width:600px){
  .pastilles-jours{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;
    margin:-6px;padding:6px 42px 8px 6px;
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent);
            mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent)}
  .pastilles-jours::-webkit-scrollbar{display:none}
  .pastille.jour{flex:0 0 auto;scroll-snap-align:start}
  .pastilles-creneaux .pastilles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
  .pastille.creneau{min-width:0}
}
.qte{display:flex;align-items:stretch;max-width:210px;border:1.5px solid var(--line-fort);background:#fffdf6;
  transition:border-color .2s,box-shadow .25s}
.qte:focus-within{border-color:var(--shu);box-shadow:0 0 0 4px rgba(216,64,42,.14)}
.contact-form .qte input{flex:1;min-width:0;border:0;background:none;text-align:center;
  font-family:var(--disp);font-weight:800;font-size:1.1rem;-moz-appearance:textfield;appearance:textfield}
.contact-form .qte input:focus{box-shadow:none}
.qte input::-webkit-inner-spin-button,.qte input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.qte-btn{flex:0 0 50px;min-height:48px;border:0;background:none;font:inherit;font-size:1.35rem;font-weight:700;
  line-height:1;color:var(--sumi);cursor:pointer;transition:background-color .15s}
.qte-btn:hover:not(:disabled){background:var(--washi-2)}
.qte-btn:disabled{color:#b0a795;cursor:not-allowed}
.qte-btn:focus-visible{outline:3px solid var(--ai);outline-offset:-3px}
.resa-resume{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:13px 16px 14px;
  border:1.5px dashed var(--line-fort);background:#fffdf6;font-size:.98rem;line-height:1.35}
.resa-resume small{flex-basis:100%;font-size:.68rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.resa-resume b{font-family:var(--disp);font-weight:800}
.resa-resume[hidden]{display:none}
.recap-plateau{max-width:none;margin:0 0 18px}
.recap-plateau .mp-case{font-size:.8rem}
.recap-plateau.vide{margin:2px 0 18px}
.rl-puce{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:9px;
  background:var(--plate,#cfc5b2);box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.recap-qte{margin-top:6px;text-align:right;font-size:.84rem;color:var(--muted)}
.recap-qte[hidden]{display:none}
@media (prefers-reduced-motion:no-preference){
  .recap-plateau .mp-case.plein > *{animation:plop .45s cubic-bezier(.2,.8,.2,1) calc(.2s + var(--i,0) * 70ms) both}
  .pastille.jour{animation:ats-jour-arrive .5s cubic-bezier(.2,.7,.3,1) calc(var(--d,0) * 35ms) both}
  @keyframes ats-jour-arrive{from{scale:.6}to{scale:1}}
  .pastille.jour[aria-checked="true"] b,
  .pastille.creneau[aria-checked="true"]{animation:ats-sceau-c .4s cubic-bezier(.2,.8,.2,1) both}
}
.stands-accueil .ticket-reassure{margin:34px 0 0;max-width:62ch}
.stands-plus{margin-top:14px}
.stands-plus a{font-size:.9rem;font-weight:700;color:var(--ai);border-bottom:2px solid rgba(31,61,92,.35);padding-bottom:2px}
.stands-plus a:hover{border-bottom-color:var(--ai)}
.product-card .img-fallback{display:grid;place-items:center;font-size:inherit;
  background:radial-gradient(ellipse at 50% 42%,#fff 0 38%,#f1ece2 100%)}
.product-card{--plate-famille:#cfc5b2}
.product-card[data-cat="sushi"]{--plate-famille:#d98c6c}
.product-card[data-cat="crispy-chicken"]{--plate-famille:#c8a45d}
.product-card[data-cat="poke"]{--plate-famille:#8ea3b8}
.product-card[data-cat="bento"]{--plate-famille:#9aa86e}
.product-card[data-cat="accompagnements"]{--plate-famille:#d2b8a3}
.product-card[data-cat="boissons"]{--plate-famille:#d6b3ad}
.assiette-repli{display:grid;place-items:center;height:68%;aspect-ratio:1;border-radius:50%;
  border:clamp(5px,1.5vw,7px) solid var(--plate,var(--plate-famille));
  background:radial-gradient(circle at 35% 30%,#3a322a,#15110d);
  box-shadow:0 16px 22px -8px rgba(23,19,15,.45),0 3px 6px rgba(23,19,15,.18),inset 0 0 0 3px rgba(255,255,255,.22);
  font-weight:900;line-height:1;font-size:clamp(1.5rem,4.2vw,2.5rem);letter-spacing:-.04em;
  color:var(--plate,var(--plate-famille));
  transition:translate .3s cubic-bezier(.2,.8,.2,1),rotate .3s cubic-bezier(.2,.8,.2,1)}
@media(hover:hover){
  .product-card:hover .assiette-repli{translate:0 -6px;rotate:6deg}
}
.fly{transition:transform .7s cubic-bezier(.3,.7,.3,1),opacity .7s cubic-bezier(.3,.7,.3,1);will-change:transform}
.faq-aside .faq-embleme{display:block;width:48px;height:48px;margin-bottom:14px}
.traiteur-accueil{position:relative;z-index:2;color:var(--washi);padding:132px 4vw 140px;margin-block:26px;
  background:
    radial-gradient(ellipse 70% 90% at 22% 50%,rgba(23,19,15,.94) 0 38%,rgba(23,19,15,0) 72%),
    var(--sumi) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28'%3E%3Cdefs%3E%3Cg id='e'%3E%3Ccircle r='28'/%3E%3Ccircle r='21' fill='none'/%3E%3Ccircle r='14' fill='none'/%3E%3Ccircle r='7' fill='none'/%3E%3C/g%3E%3C/defs%3E%3Cg fill='%2317130f' stroke='%23b08a43' stroke-opacity='0.3' stroke-width='1.2'%3E%3Cuse href='%23e' x='0' y='0'/%3E%3Cuse href='%23e' x='56' y='0'/%3E%3Cuse href='%23e' x='28' y='14'/%3E%3Cuse href='%23e' x='0' y='28'/%3E%3Cuse href='%23e' x='56' y='28'/%3E%3C/g%3E%3C/svg%3E") 0 0/56px 28px}
.traiteur-accueil::before,.traiteur-accueil::after{content:"";position:absolute;left:0;right:0;height:26px;pointer-events:none;
  background:radial-gradient(circle at 26px 26px,var(--sumi) 25.5px,transparent 26px) 0 0/52px 26px repeat-x}
.traiteur-accueil::before{top:-25px}
.traiteur-accueil::after{bottom:-25px;rotate:180deg}
.ta-grille{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:5vw;align-items:center;max-width:1240px;margin-inline:auto}
.traiteur-accueil h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(2.3rem,5.2vw,4.4rem);line-height:.95;margin:0 0 22px}
.traiteur-accueil h2 span{display:block;color:var(--kin)}
.ta-lead{font-size:1.08rem;line-height:1.65;color:#ddd3c1;max-width:52ch;margin:0 0 34px}
.ta-etapes{list-style:none;margin:0 0 38px;padding:0;display:grid;gap:18px;position:relative}
.ta-etapes::before{content:"";position:absolute;left:20px;top:22px;bottom:22px;border-left:1px dashed rgba(176,138,67,.55)}
.ta-etapes li{display:grid;grid-template-columns:42px 1fr;column-gap:16px;align-items:center;position:relative}
.ta-etapes .ta-num{grid-row:1/3;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  border:1.5px solid var(--kin);background:var(--sumi);color:var(--kin);font-weight:900;font-size:1.3rem;line-height:1}
.ta-etapes b{font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:1rem;color:var(--washi)}
.ta-etapes li > span:last-child{font-size:.92rem;color:#b6ab97}
.traiteur-accueil-ctas{display:flex;flex-wrap:wrap;gap:16px 20px}
.traiteur-accueil .cta:not(.ghost){background:var(--shu-dk);color:var(--washi)}
.traiteur-accueil .cta:not(.ghost)::after{border-color:var(--kin)}
.traiteur-accueil .cta:not(.ghost):hover{background:var(--washi);color:var(--sumi)}
.traiteur-accueil .cta.ghost{color:var(--washi);border-color:rgba(244,238,222,.7)}
.traiteur-accueil .cta.ghost:hover{background:var(--washi);color:var(--sumi);border-color:var(--washi)}
.ta-visuel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;min-height:380px}
.ta-kanji{order:2;pointer-events:none}
.ta-kanji::before{content:attr(data-k);display:block;writing-mode:vertical-rl;font-family:var(--jp);font-weight:900;line-height:1;
  font-size:clamp(6rem,12vw,11rem);letter-spacing:.06em;color:transparent;-webkit-text-stroke:1.5px rgba(176,138,67,.5)}
.traiteur-accueil .traiteur-figure{position:relative;margin:0;width:100%;max-width:620px;justify-self:center;
  aspect-ratio:760/560;content-visibility:auto;contain-intrinsic-size:auto 620px auto 457px}
.traiteur-figure .illu{width:100%;height:100%;overflow:visible}
@media(min-width:901px){
  .ta-visuel{grid-template-columns:minmax(0,1fr);position:relative}
  .ta-kanji{position:absolute;right:-4vw;top:50%;translate:0 -50%;z-index:0}
  .traiteur-accueil .traiteur-figure{z-index:1}
  .ta-page .ta-grille{align-items:start}
  .ta-page .ta-visuel{position:sticky;top:calc(var(--header-h,101px) + 48px)}
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .traiteur-figure{view-timeline:--fiche block}
    .traiteur-figure .illu .i-p{animation-range:cover calc(3% + var(--i,0) * 2.4%) cover calc(14% + var(--i,0) * 2.4%)}
  }
}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline: view()){
    .ta-kanji::before{animation:ats-ta-kanji linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
    @keyframes ats-ta-kanji{from{translate:0 14%}to{translate:0 -14%}}
  }
}
@media(max-width:900px){
  .ta-grille{grid-template-columns:1fr;gap:10px}
  .ta-visuel{order:-1;min-height:0;grid-template-columns:1fr;justify-items:center;gap:4px}
  .ta-kanji{order:-1}
  .ta-kanji::before{writing-mode:horizontal-tb;font-size:clamp(3.6rem,17vw,5.4rem);letter-spacing:.1em}
  .traiteur-accueil{background:var(--sumi) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28'%3E%3Cdefs%3E%3Cg id='e'%3E%3Ccircle r='28'/%3E%3Ccircle r='21' fill='none'/%3E%3Ccircle r='14' fill='none'/%3E%3Ccircle r='7' fill='none'/%3E%3C/g%3E%3C/defs%3E%3Cg fill='%2317130f' stroke='%23b08a43' stroke-opacity='0.3' stroke-width='1.2'%3E%3Cuse href='%23e' x='0' y='0'/%3E%3Cuse href='%23e' x='56' y='0'/%3E%3Cuse href='%23e' x='28' y='14'/%3E%3Cuse href='%23e' x='0' y='28'/%3E%3Cuse href='%23e' x='56' y='28'/%3E%3C/g%3E%3C/svg%3E") 0 0/56px 28px}
  .ta-texte{background:rgba(23,19,15,.9);padding:26px 22px;margin-inline:-6px;box-shadow:0 0 0 1px rgba(176,138,67,.25)}
}
.traiteur-accueil.ta-page{margin-block:58px 64px}
.ta-page .ta-lead + .ta-lead{margin-top:-20px}
.ta-page .ta-etapes li{align-items:start}
.ta-page .ta-etapes b{padding-top:3px}
.ta-page .ta-etapes li > span:last-child{line-height:1.55;max-width:48ch;margin-top:4px}
.traiteur-demande{padding-top:34px}
.td-tete{max-width:60ch;margin-bottom:40px}
.td-tete h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;
  font-size:clamp(1.9rem,4.4vw,3.2rem);line-height:.98;margin:0 0 14px}
.td-tete h2 span{color:var(--shu)}
.td-tete p{margin:0;font-size:1.02rem;line-height:1.6;color:#4a4236}
.traiteur-champs{gap:30px}
.traiteur-champs .resa-etape{gap:16px}
.traiteur-champs > .cta{justify-self:start}
.form-note .plage{white-space:nowrap}
.traiteur-cal.resa-etape{gap:14px}
@media(min-width:901px){
  .traiteur-cal{position:sticky;top:calc(var(--header-h,101px) + 24px)}
}
@media(max-width:600px){
  .traiteur-accueil{padding:80px 4vw 92px}
  .traiteur-accueil::before,.traiteur-accueil::after{height:16px;
    background:radial-gradient(circle at 16px 16px,var(--sumi) 15.5px,transparent 16px) 0 0/32px 16px repeat-x}
  .traiteur-accueil::before{top:-15px}
  .traiteur-accueil::after{bottom:-15px}
  .traiteur-accueil-ctas .cta{flex:1 1 100%;justify-content:center}
}
.belt-zone.tapis-js{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}
.belt-zone.tapis-js.glisse{cursor:grabbing}
.belt-zone.tapis-js .belt-track{animation:none;will-change:transform}
.belt-zone.tapis-js .belt::before{animation:none;transform:translate3d(var(--decal,0px),0,0)}
.belt-zone.tapis-js .plate img{-webkit-user-drag:none}
.belt-zone.tapis-js.glisse .plate{pointer-events:none}
footer.site{background:var(--sumi) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28'%3E%3Cdefs%3E%3Cg id='e'%3E%3Ccircle r='28'/%3E%3Ccircle r='21' fill='none'/%3E%3Ccircle r='14' fill='none'/%3E%3Ccircle r='7' fill='none'/%3E%3C/g%3E%3C/defs%3E%3Cg fill='%2317130f' stroke='%23b08a43' stroke-opacity='0.1' stroke-width='1.2'%3E%3Cuse href='%23e' x='0' y='0'/%3E%3Cuse href='%23e' x='56' y='0'/%3E%3Cuse href='%23e' x='28' y='14'/%3E%3Cuse href='%23e' x='0' y='28'/%3E%3Cuse href='%23e' x='56' y='28'/%3E%3C/g%3E%3C/svg%3E") 0 0/56px 28px;padding-top:96px;margin-top:26px;color:#c3b8a3}
footer.site::before{content:"";position:absolute;left:0;right:0;top:-25px;height:26px;pointer-events:none;
  background:radial-gradient(circle at 26px 26px,var(--sumi) 25.5px,transparent 26px) 0 0/52px 26px repeat-x}
.foot-signature{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px 60px;align-items:end;
  padding-bottom:46px;margin-bottom:46px;border-bottom:1px solid rgba(176,138,67,.4)}
footer.site .foot-marque .logo-lockup{width:min(330px,80vw);height:auto;margin-bottom:16px}
footer.site .foot-marque p{margin:0;line-height:1.6;font-size:1rem;color:#cdc2ad}
.foot-appel{text-align:right}
.foot-appel-titre{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.4rem);
  line-height:1;color:var(--washi);margin:0 0 20px}
.foot-appel-titre span{display:block;color:var(--kin)}
.foot-appel-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px 26px}
footer.site .foot-appel .cta{background:var(--shu-dk);color:var(--washi);border-bottom:0}
footer.site .foot-appel .cta::after{border-color:var(--kin)}
footer.site .foot-appel .cta:hover{background:var(--washi);color:var(--sumi)}
footer.site .foot-tel{font-family:var(--disp);font-weight:800;font-size:1.4rem;letter-spacing:.02em;color:var(--washi);
  border-bottom:2px solid var(--kin);padding-bottom:3px}
footer.site .foot-tel:hover{border-bottom-color:var(--washi)}
@media(min-width:861px){footer.site .cols{grid-template-columns:repeat(3,minmax(150px,1fr))}}
footer.site .foot-titre{color:var(--kin);font-size:.74rem}
footer.site .cols ul a:hover,footer.site .cols ul a:focus-visible{color:var(--washi);border-bottom-color:var(--kin)}
footer.site .foot-stands{border-bottom-color:rgba(176,138,67,.4)}
.foot-bas{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:52px;padding-top:24px;
  border-top:1px solid rgba(176,138,67,.4)}
footer.site .foot-bas .demo{margin:0}
.foot-sceau{display:grid;place-items:center;width:46px;height:46px;background:var(--shu-dk);color:var(--washi);
  font-weight:900;font-size:1.5rem;line-height:1;border-radius:6px;rotate:-6deg;box-shadow:0 3px 0 rgba(0,0,0,.35)}
footer.site .foot-haut{font-family:var(--disp);font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--washi);border-bottom-color:transparent}
footer.site .foot-haut:hover{border-bottom-color:var(--kin)}
@media(max-width:860px){
  .foot-signature{grid-template-columns:1fr;align-items:start}
  .foot-appel{text-align:left}
  .foot-appel-actions{justify-content:flex-start}
}
@media(max-width:600px){
  footer.site{padding-top:72px}
  footer.site::before{top:-15px;height:16px;
    background:radial-gradient(circle at 16px 16px,var(--sumi) 15.5px,transparent 16px) 0 0/32px 16px repeat-x}
  .foot-appel-actions .cta{flex:1 1 100%;justify-content:center}
  .foot-signature{padding-bottom:36px;margin-bottom:36px}
}
@media(max-width:520px){
  footer.site .cols > :nth-child(2){grid-row:auto}
  footer.site .cols > :first-child{grid-row:span 2}
}
.illu{display:block;width:100%;height:100%}
.illu .i-o{stroke:var(--sumi);stroke-width:var(--t,1.4px);stroke-linejoin:round;stroke-linecap:round}
.illu .i-s{stroke-width:calc(var(--t,1.4px)*1.75)}
.illu .i-p,.illu .i-k{transform-box:fill-box;transform-origin:center}
.illu .i-c{transform-origin:50% 100%}
.product-card .img-wrap:has(.illu){content-visibility:auto;contain-intrinsic-size:auto 260px auto 195px;background:var(--washi)}
.product-card .img-wrap .illu{transition:transform .4s}
.product-card:hover .img-wrap .illu{transform:scale(1.04)}
.carte-cell .cc-assiette{position:absolute;top:16px;right:16px;width:86px;height:86px;border-radius:50%;overflow:hidden;
  border:5px solid var(--plate,#cfc5b2);box-shadow:4px 4px 0 var(--ai);background:var(--washi);
  transition:rotate .6s cubic-bezier(.3,.7,.3,1)}
.carte-cell .cc-assiette img{display:block;width:100%;height:100%;object-fit:cover}
.carte-cell:hover .cc-assiette{rotate:24deg}
.carte-cell.a-assiette h3,.carte-cell.a-assiette .pr{padding-right:94px}
@media(max-width:600px){
  .carte-cell .cc-assiette{width:70px;height:70px;border-width:4px;top:14px;right:14px}
  .carte-cell.a-assiette h3,.carte-cell.a-assiette .pr{padding-right:76px}
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .product-card:has(.illu){view-timeline:--fiche block}
    .illu .i-p{animation:ats-poser linear both;animation-timeline:--fiche;
      animation-range:cover calc(2% + min(var(--i,0), 8) * 3%) cover calc(18% + min(var(--i,0), 8) * 3%)}
    .illu .i-c{animation-name:ats-chuter}
    .illu .i-l{stroke-dasharray:1;animation:ats-tracer linear both;animation-timeline:--fiche;
      animation-range:cover calc(12% + var(--i,0) * 2.5%) cover calc(22% + var(--i,0) * 2.5%)}
    .illu .i-k{animation:ats-poser linear both;animation-timeline:--fiche;
      animation-range:cover calc(15% + var(--i,0) * 2.5%) cover calc(25% + var(--i,0) * 2.5%)}
    .illu .i-v{animation:ats-vapeur linear both;animation-timeline:--fiche;
      animation-range:cover calc(8% + var(--i,0) * 6%) cover calc(48% + var(--i,0) * 6%)}
  }
}
@keyframes ats-chuter{
  0%  {translate:0 -90px;scale:.9 1.08;opacity:0}
  45% {opacity:1}
  62% {translate:0 0;scale:1.07 .9}
  80% {scale:.97 1.03}
  100%{translate:none;scale:1}
}
@keyframes ats-tracer{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes ats-vapeur{from{opacity:0;translate:0 22px}to{opacity:.8;translate:0 -6px}}
.embleme{display:block;overflow:visible}
.embleme .e-p,.embleme .e-o{transform-box:fill-box;transform-origin:center}
.topline .marque{color:var(--sumi)}
@media(min-width:1121px){.topline.on-hero:not(.stuck) .marque{color:var(--washi)}}
.faq-aside .faq-embleme{color:var(--washi)}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .brand .marque .e-p{transition:translate .45s cubic-bezier(.3,1.6,.5,1)}
  .brand .marque .e-o{transition:scale .45s cubic-bezier(.3,1.8,.5,1)}
  .brand:hover .marque .e-p,.brand:focus-visible .marque .e-p{translate:calc(var(--ex) * 10px) calc(var(--ey) * 10px)}
  .brand:hover .marque .e-o,.brand:focus-visible .marque .e-o{scale:1.22}
}
#entree{position:fixed;inset:0;z-index:200;display:flex;pointer-events:none;overflow:hidden;
  --em:118px;--cy:calc(50% - 25px);   
  animation:ats-entree-fin 0s linear var(--fin,1.45s) forwards}
@media(min-width:900px){#entree{--em:164px;--cy:calc(50% - 31px)}}
@keyframes ats-entree-fin{to{visibility:hidden}}
.sans-noren #entree{display:none}
#entree .entree-marque{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
#entree .entree-embleme{width:var(--em);height:var(--em);color:var(--washi)}
#entree .entree-nom{display:block;width:calc(var(--em) * 1.27);color:var(--washi)}
#entree .entree-nom svg{display:block;width:100%;height:auto;overflow:visible}
@keyframes ats-e-arrive{from{translate:calc(var(--ex) * 48px) calc(var(--ey) * 48px);rotate:calc(var(--ex) * 14deg);opacity:0}}
@keyframes ats-e-disque{from{scale:0}}
@keyframes ats-e-nom{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@property --ats-r{syntax:"<length>";inherits:false;initial-value:0px}
@keyframes ats-iris{to{--ats-r:120vmax}}
#entree .entree-soleil{position:absolute;left:50%;top:var(--cy);width:calc(var(--em) * .26);height:calc(var(--em) * .26);
  translate:-50% -50%;border-radius:50%;background:#ab132b;scale:0;z-index:1}
@keyframes ats-soleil{from{scale:1}to{scale:75}}
#entree.entree-soleil-levant,#entree.entree-encre-soleil{
  -webkit-mask:radial-gradient(circle at 50% var(--cy),transparent var(--ats-r),#000 calc(var(--ats-r) + 1px));
          mask:radial-gradient(circle at 50% var(--cy),transparent var(--ats-r),#000 calc(var(--ats-r) + 1px))}
#entree.entree-soleil-levant{background:var(--ai) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28'%3E%3Cdefs%3E%3Cg id='e'%3E%3Ccircle r='28'/%3E%3Ccircle r='21' fill='none'/%3E%3Ccircle r='14' fill='none'/%3E%3Ccircle r='7' fill='none'/%3E%3C/g%3E%3C/defs%3E%3Cg fill='%231f3d5c' stroke='%23b08a43' stroke-opacity='0.22' stroke-width='1.2'%3E%3Cuse href='%23e' x='0' y='0'/%3E%3Cuse href='%23e' x='56' y='0'/%3E%3Cuse href='%23e' x='28' y='14'/%3E%3Cuse href='%23e' x='0' y='28'/%3E%3Cuse href='%23e' x='56' y='28'/%3E%3C/g%3E%3C/svg%3E") 0 0/56px 28px;
  animation:ats-iris .55s cubic-bezier(.7,0,.2,1) .86s both,ats-entree-fin 0s linear 1.45s forwards}
.entree-soleil-levant .entree-embleme{filter:drop-shadow(0 3px 0 rgba(10,24,38,.45))}
.entree-soleil-levant .e-p{animation:ats-e-pose .36s cubic-bezier(.2,.9,.3,1.2) both}
.entree-soleil-levant .e-l{animation-delay:.02s}.entree-soleil-levant .e-d{animation-delay:.07s}
.entree-soleil-levant .e-b{animation-delay:.12s}.entree-soleil-levant .e-c{animation-delay:.17s}
@keyframes ats-e-pose{from{scale:.3;opacity:0}}
.entree-soleil-levant .e-o{animation:ats-e-bat .5s ease-in-out .22s both}
@keyframes ats-e-bat{0%{scale:0}40%{scale:1.25}70%{scale:.95}100%{scale:1.1}}
.entree-soleil-levant .entree-nom{animation:ats-e-nom .3s cubic-bezier(.6,0,.3,1) .26s both}
.entree-soleil-levant .entree-marque{animation:ats-e-souffle .3s cubic-bezier(.6,0,.4,1) .58s both}
@keyframes ats-e-souffle{to{scale:1.5;opacity:0}}
.entree-soleil-levant .entree-soleil{animation:ats-soleil .34s cubic-bezier(.6,0,.35,1) .56s forwards}
#entree.entree-encre,#entree.entree-encre-soleil{background:var(--washi)}
#entree.entree-encre .entree-embleme,#entree.entree-encre-soleil .entree-embleme,
#entree.entree-encre .entree-nom,#entree.entree-encre-soleil .entree-nom{color:var(--sumi)}
.entree-encre .e-p,.entree-encre-soleil .e-p{stroke:currentColor;stroke-width:3;stroke-dasharray:1}
@keyframes ats-e-trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes ats-e-remplit{from{fill-opacity:0}to{fill-opacity:1}}
@keyframes ats-e-goutte{0%{scale:0;translate:0 -60px}60%{scale:1.2 .8;translate:0 0}100%{scale:1}}
@keyframes ats-e-pinceau{from{clip-path:polygon(0 0,0 0,-14% 100%,-14% 100%)}to{clip-path:polygon(0 0,114% 0,100% 100%,-14% 100%)}}
#entree .tache{position:absolute;border-radius:50%;background:#ab132b;scale:0;translate:-50% -50%}
#entree .t1{width:calc(var(--em) * .09);height:calc(var(--em) * .09);left:calc(50% + var(--em) * .62);top:calc(var(--cy) - var(--em) * .38)}
#entree .t2{width:calc(var(--em) * .06);height:calc(var(--em) * .06);left:calc(50% - var(--em) * .7);top:calc(var(--cy) + var(--em) * .42);background:var(--sumi)}
#entree .t3{width:calc(var(--em) * .045);height:calc(var(--em) * .045);left:calc(50% + var(--em) * .78);top:calc(var(--cy) + var(--em) * .5)}
.entree-encre{--fin:1.5s}
.entree-encre .e-p{animation:ats-e-trace .42s ease-in-out var(--d) both,ats-e-remplit .26s ease calc(var(--d) + .3s) both}
.entree-encre .e-l{--d:.02s}.entree-encre .e-d{--d:.1s}.entree-encre .e-b{--d:.18s}.entree-encre .e-c{--d:.26s}
.entree-encre .e-o{animation:ats-e-goutte .42s cubic-bezier(.3,1.7,.5,1) .56s both}
.entree-encre .tache{animation:ats-e-disque .3s cubic-bezier(.3,1.9,.5,1) .66s both}
.entree-encre .entree-nom{animation:ats-e-pinceau .36s cubic-bezier(.6,0,.3,1) .62s both}
#entree.entree-encre{animation:ats-e-efface .5s cubic-bezier(.7,0,.3,1) .96s both,ats-entree-fin 0s linear 1.5s forwards}
@keyframes ats-e-efface{from{clip-path:polygon(-18% 0,100% 0,100% 100%,0 100%)}to{clip-path:polygon(100% 0,100% 0,118% 100%,118% 100%)}}
:root{--ats-pause:.9s}
.entree-encre-soleil{--fin:calc(1.62s + var(--ats-pause))}
.entree-encre-soleil .e-p{animation:ats-e-trace .36s ease-in-out var(--d) both,ats-e-remplit .22s ease calc(var(--d) + .26s) both}
.entree-encre-soleil .e-l{--d:.02s}.entree-encre-soleil .e-d{--d:.08s}.entree-encre-soleil .e-b{--d:.14s}.entree-encre-soleil .e-c{--d:.2s}
.entree-encre-soleil .e-o{animation:ats-e-goutte .4s cubic-bezier(.3,1.7,.5,1) .46s both,
  ats-e-pouls .5s ease-in-out calc(.36s + var(--ats-pause)) none}
@keyframes ats-e-pouls{0%,100%{scale:1}45%{scale:1.16}}
.entree-encre-soleil .tache{animation:ats-e-disque .3s cubic-bezier(.3,1.9,.5,1) .56s both}
.entree-encre-soleil .entree-nom{animation:ats-e-pinceau .32s cubic-bezier(.6,0,.3,1) .44s both}
.entree-encre-soleil .entree-soleil{animation:ats-soleil .32s cubic-bezier(.6,0,.35,1) calc(.86s + var(--ats-pause)) forwards}
#entree.entree-encre-soleil{animation:ats-iris .5s cubic-bezier(.7,0,.2,1) calc(1.1s + var(--ats-pause)) both,
  ats-entree-fin 0s linear calc(1.62s + var(--ats-pause)) forwards}
.entree-montage .pan{flex:1;background:var(--ai) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28'%3E%3Cdefs%3E%3Cg id='e'%3E%3Ccircle r='28'/%3E%3Ccircle r='21' fill='none'/%3E%3Ccircle r='14' fill='none'/%3E%3Ccircle r='7' fill='none'/%3E%3C/g%3E%3C/defs%3E%3Cg fill='%231f3d5c' stroke='%23b08a43' stroke-opacity='0.22' stroke-width='1.2'%3E%3Cuse href='%23e' x='0' y='0'/%3E%3Cuse href='%23e' x='56' y='0'/%3E%3Cuse href='%23e' x='28' y='14'/%3E%3Cuse href='%23e' x='0' y='28'/%3E%3Cuse href='%23e' x='56' y='28'/%3E%3C/g%3E%3C/svg%3E") 0 0/56px 28px;
  border-right:1px solid rgba(176,138,67,.2);transform-origin:50% 0;box-shadow:inset 0 -16px 0 rgba(10,24,38,.35)}
.entree-montage .pan:nth-child(-n+3){animation:ats-pan-g .52s cubic-bezier(.7,0,.25,1) both}
.entree-montage .pan:nth-child(n+4){animation:ats-pan-d .52s cubic-bezier(.7,0,.25,1) both}
.entree-montage .pan:nth-child(3),.entree-montage .pan:nth-child(4){animation-delay:.82s}
.entree-montage .pan:nth-child(2),.entree-montage .pan:nth-child(5){animation-delay:.87s}
.entree-montage .pan:nth-child(1),.entree-montage .pan:nth-child(6){animation-delay:.92s}
@keyframes ats-pan-g{0%{translate:0 0;rotate:0deg}30%{rotate:2.5deg}100%{translate:-340% 0;rotate:-5deg}}
@keyframes ats-pan-d{0%{translate:0 0;rotate:0deg}30%{rotate:-2.5deg}100%{translate:340% 0;rotate:5deg}}
.entree-montage .entree-marque{animation:ats-entree-marque .16s ease-in .76s both}
@keyframes ats-entree-marque{to{opacity:0;scale:1.06}}
.entree-montage .entree-embleme{filter:drop-shadow(0 3px 0 rgba(10,24,38,.45))}
.entree-montage .e-p{animation:ats-e-arrive .42s cubic-bezier(.2,.9,.3,1.25) both}
.entree-montage .e-l{animation-delay:.03s}.entree-montage .e-d{animation-delay:.09s}
.entree-montage .e-b{animation-delay:.15s}.entree-montage .e-c{animation-delay:.21s}
.entree-montage .e-o{animation:ats-e-disque .38s cubic-bezier(.3,1.8,.5,1) .3s both}
.entree-montage .entree-nom{animation:ats-e-nom .3s cubic-bezier(.6,0,.3,1) .34s both}
html:not(.sans-noren) .topline .marque .e-p{animation:ats-e-arrive .5s cubic-bezier(.2,.9,.3,1.25) both}
html:not(.sans-noren) .topline .marque .e-l{animation-delay:calc(var(--hd,.95s))}
html:not(.sans-noren) .topline .marque .e-d{animation-delay:calc(var(--hd,.95s) + .07s)}
html:not(.sans-noren) .topline .marque .e-b{animation-delay:calc(var(--hd,.95s) + .14s)}
html:not(.sans-noren) .topline .marque .e-c{animation-delay:calc(var(--hd,.95s) + .21s)}
html:not(.sans-noren) .topline .marque .e-o{animation:ats-e-disque .42s cubic-bezier(.3,1.8,.5,1) calc(var(--hd,.95s) + .29s) both}
#entree.entree-encre-soleil ~ .topline{--hd:calc(1.2s + var(--ats-pause))}
#entree.entree-encre ~ .topline{--hd:1.05s}
@media(prefers-reduced-motion:reduce){#entree{display:none}}
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  .topline{view-transition-name:entete}
  .topline .marque{view-transition-name:embleme}
  .sticky-bar{view-transition-name:barre}
  ::view-transition{background:var(--ai)}
  ::view-transition-old(root){animation:ats-vt-sortie .24s cubic-bezier(.4,0,1,1) both}
  ::view-transition-new(root){animation:ats-vt-entree .5s cubic-bezier(.65,0,.2,1) .1s both}
  ::view-transition-old(embleme){animation:none;opacity:0}
  ::view-transition-new(embleme){animation:ats-vt-embleme .6s cubic-bezier(.55,0,.25,1.25) both}
}
@keyframes ats-vt-sortie{to{opacity:0;scale:.985}}
@keyframes ats-vt-entree{from{clip-path:inset(0 50% 0 50%)}to{clip-path:inset(0 0 0 0)}}
@keyframes ats-vt-embleme{from{rotate:-90deg}to{rotate:0deg}}
.product-card .portion{font-family:var(--disp);font-weight:800;font-size:.86rem;letter-spacing:.02em;color:var(--sumi-2)}
.article-prose table{width:100%;border-collapse:collapse;font-size:.98rem;line-height:1.45;margin-block:1.4em}
.article-prose caption{caption-side:top;text-align:left;font-weight:700;color:var(--sumi);padding-bottom:.6em}
.article-prose th,.article-prose td{text-align:left;vertical-align:top;padding:.62em .7em .62em 0;border-bottom:1px solid var(--line)}
.article-prose thead th{font-family:var(--disp);font-weight:800;color:var(--sumi);border-bottom:2px solid var(--sumi)}
.article-prose tbody th{font-weight:700;color:var(--sumi)}
.article-prose td{color:var(--sumi-2);font-variant-numeric:tabular-nums}
@media(max-width:480px){.article-prose table{font-size:.92rem}.article-prose th,.article-prose td{padding-right:.45em}}
.foot-bas-fin{display:flex;align-items:center;gap:22px}
footer.site .foot-reseaux{display:flex;gap:10px;list-style:none;margin:0;padding:0}
footer.site .foot-reseaux a{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(176,138,67,.55);
  border-radius:6px;color:var(--washi);transition:background-color .15s,color .15s,border-color .15s}
footer.site .foot-reseaux a:hover,footer.site .foot-reseaux a:focus-visible{background:var(--washi);color:var(--sumi);border-color:var(--washi)}
footer.site .foot-reseaux .ico{width:22px;height:22px}
@media(max-width:600px){
  .foot-bas{flex-wrap:wrap;row-gap:22px}
  .foot-bas-fin{display:contents}
  footer.site .foot-reseaux{order:-1;flex:1 1 100%}
}
.journal-meta{font-size:.86rem;letter-spacing:0;text-transform:none;color:var(--muted)}
.journal-card .journal-meta{margin:.2em 0 .9em}
@media(max-width:760px){
  .savoir{grid-template-columns:minmax(0,1fr) auto;column-gap:14px}
  .savoir .tate-title{grid-column:2;grid-row:2;align-self:start;writing-mode:vertical-rl;border:0;
    border-left:2px solid var(--sumi);padding:0 0 0 8px;font-size:1.05rem;letter-spacing:.3em}
  .savoir > .savoir-col,.savoir > .prose{grid-column:1;grid-row:2}
}
@media(max-width:860px){
  .hero-grid{gap:0}
  .hero-copy{display:contents}
  .hero-copy > h1{order:1}
  .hero-visual{order:2;margin:24px 0 30px}
  .hero-copy > .lead{order:3;margin-top:0}
  .hero-copy > .hero-ctas{order:4}
}
h2 > span:not([lang="ja"]):not(.u):not(.screen-reader-text){color:inherit}
.hero-visual .frame,.tray,.gallery .main-img{box-shadow:8px 8px 0 var(--ai)}
.map-embed,a.map-embed:hover,.journal-card:hover,.savoir-visual img,.ps-format,.ps-format:hover,
.progress-wrap,.carte-cell,.stand-fiche.compact,.carte-cell .cc-assiette,.cookies{box-shadow:none}
.tray-side .price-big,.carte-cell .pr,.product-card .price,.price-line .price,.ps-prix{color:var(--sumi)}
.savoir .prose h3{color:var(--ai)}
.savoir .tate-title{color:var(--ai)}
.tray-side .note a,.ticket .total a,.erreur-404-tel a{color:var(--sumi);border-bottom-color:var(--kin)}
.hero .lead,.hero-ctas{animation:none}
.order-cta:not([disabled])::after,.cta.is-ready::after{animation:none}
.plate{transition-timing-function:cubic-bezier(.2,.8,.2,1)}
.slot img,.slot .kanji-fill{animation-timing-function:cubic-bezier(.2,.8,.2,1)}
.shun-facts .num{-webkit-text-stroke-color:var(--kin)}
.etapes-list .num{width:48px;height:48px;font-size:1.75rem}
.etape-sceau{width:40px;height:40px;font-size:1.45rem}
.ta-etapes .ta-num{width:48px;height:48px;font-size:1.6rem}
@supports selector(:popover-open){
  @media(max-width:1120px){
    .topnav[popover]{background:var(--sumi) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28'%3E%3Cdefs%3E%3Cg id='e'%3E%3Ccircle r='28'/%3E%3Ccircle r='21' fill='none'/%3E%3Ccircle r='14' fill='none'/%3E%3Ccircle r='7' fill='none'/%3E%3C/g%3E%3C/defs%3E%3Cg fill='%2317130f' stroke='%23b08a43' stroke-opacity='0.1' stroke-width='1.2'%3E%3Cuse href='%23e' x='0' y='0'/%3E%3Cuse href='%23e' x='56' y='0'/%3E%3Cuse href='%23e' x='28' y='14'/%3E%3Cuse href='%23e' x='0' y='28'/%3E%3Cuse href='%23e' x='56' y='28'/%3E%3C/g%3E%3C/svg%3E") 0 0/56px 28px;color:var(--washi);border-top:1px solid rgba(176,138,67,.4)}
    .topnav[popover] a{color:var(--washi);border-bottom-color:rgba(176,138,67,.3)}
    .topnav[popover] a:hover,.topnav[popover] a.active{color:var(--kin);border-bottom-color:rgba(176,138,67,.3)}
    .topnav[popover] .menu-tel{color:var(--washi);border-bottom-color:var(--kin)}
    .menu-horaires{color:#c3b8a3}
  }
}
.cookies{position:fixed;left:16px;bottom:16px;z-index:85;max-width:440px;padding:18px 20px;
  background:var(--washi);color:var(--sumi);border:1px solid var(--sumi);box-shadow:6px 6px 0 var(--ai);
  font-size:.92rem;line-height:1.5}
.cookies[hidden]{display:none}
.cookies p{margin:0 0 14px}
.cookies a{color:var(--sumi);text-decoration:underline;text-underline-offset:2px}
.cookies-choix{display:flex;gap:10px}
.cookies-choix button{flex:1;min-height:44px;padding:10px 14px;cursor:pointer;
  font-family:var(--disp);font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
  background:var(--sumi);color:var(--washi);border:1px solid var(--sumi);transition:background-color .15s,color .15s}
.cookies-choix button:hover,.cookies-choix button:focus-visible{background:var(--washi);color:var(--sumi)}
@media(max-width:520px){.cookies{left:12px;right:12px;max-width:none}}
footer.site .lien-cookies{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;
  border-bottom:1px solid transparent;transition:border-bottom-color .15s}
footer.site .lien-cookies:hover,footer.site .lien-cookies:focus-visible{color:var(--washi);border-bottom-color:var(--kin)}
.insecable{white-space:nowrap}
.reassure-ligne{margin:22px 0 0;font-size:.92rem;line-height:1.55;color:var(--sumi-2);max-width:52ch}
.insta{padding:96px 4vw 40px;position:relative;z-index:2}
.insta-tete{max-width:68ch;margin-bottom:34px}
.insta-tete h2{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,5.4vw,4.2rem);line-height:.96;margin:10px 0 14px}
.insta-tete p{margin:0;font-size:1.01rem;color:#3c352b}
.insta-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
.insta-vignette{position:relative;display:block;aspect-ratio:1;overflow:hidden;border:1.5px solid var(--line);background:var(--washi-2)}
.insta-vignette img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.insta-vignette:hover img,.insta-vignette:focus-visible img{transform:scale(1.04)}
.insta-vignette:focus-visible{outline:3px solid var(--ai);outline-offset:3px}
.insta-lecture{position:absolute;right:12px;bottom:12px;width:40px;height:40px;border-radius:50%;background:var(--sumi);
  display:grid;place-items:center}
.insta-lecture::before{content:"";margin-left:3px;border-left:12px solid var(--washi);border-block:8px solid transparent}
.insta-pied{margin-top:28px}
.insta-pied .cta{gap:10px}
.insta-pied .ico{width:20px;height:20px}
@media(max-width:600px){
  .insta{padding:72px 16px 24px}
  .insta-grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .insta-lecture{width:34px;height:34px;right:8px;bottom:8px}
}
.faq summary .faq-q{flex:1;min-width:0}
.faq-grid > *{min-width:0}
.faq details.faq-suite{border-top:1px solid var(--line-fort);border-bottom:2px solid var(--sumi);background:none;max-width:880px}
.faq details.faq-suite > summary{font-family:var(--ui);font-weight:700;font-size:.98rem;text-transform:none;letter-spacing:0;color:var(--ai)}
.faq details.faq-suite[open] > summary{display:none}
.faq details.faq-suite > details:first-of-type{border-top:0}
.faq details.faq-suite > details:last-of-type{border-bottom:0}
.insta-pied{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.insta-compte{font-size:.9rem;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:600px){
  .insta{padding-bottom:8px}
  .insta-pied .cta{width:100%;justify-content:center}
  .stands-contact{padding:52px 0 60px}
  .stands-contact .wrap > h2{margin-bottom:22px}
  .stands-contact .stand-fiche.compact{gap:0;padding:22px 18px 20px}
  .stands-contact .stand-fiche.compact > .sf-texte > h3{font-size:1.75rem;line-height:.95}
  .stands-contact .stand-fiche.compact .sf-adresse{margin-bottom:4px}
  .stands-contact .sf-semaine,.stands-contact .sf-plan,.stands-contact .ticket-ferme + .sf-semaine{display:none}
  .stands-contact .sf-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
  .stands-contact .sf-actions .cta{width:100%;padding-inline:10px;justify-content:center;text-align:center}
  .stands-contact .sf-actions .sf-tel{grid-column:1 / -1;justify-self:start}
  .stands-contact .sc-grille{gap:18px}
  .stands-plus{margin-top:24px}
}
.hero-tapis{display:none}
@media(max-width:700px){
  .hero{min-height:0;padding:calc(var(--header-h) + 30px) 0 34px}
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-visual,.hero-copy > *{min-width:0}
  .hero-visual{order:2;max-width:none;margin:22px calc(-4vw) 0}
  .hero-visual .frame{aspect-ratio:3/2;border:0;box-shadow:none}
  .hero-visual .frame img{object-position:50% 70%}
  .hero-visual .seal{left:auto;right:16px;bottom:auto;top:-26px;width:78px;height:78px;transform:rotate(8deg);z-index:3}
  .hero-visual .seal b{font-size:1.25rem}
  .hero-copy > .hero-ctas{order:3;margin-top:24px}
  .hero-copy > .lead{order:4;margin:22px 0 0}
  .hero-tapis{display:block;position:relative;z-index:2;margin-top:-30px;overflow:hidden;background:var(--belt);
    box-shadow:inset 0 9px 14px rgba(0,0,0,.55),inset 0 -9px 14px rgba(0,0,0,.55);border-block:2px solid var(--sumi)}
  .hero-tapis::before{content:"";position:absolute;inset:0;pointer-events:none;
    background:repeating-linear-gradient(90deg,transparent 0 40px,rgba(255,255,255,.05) 40px 42px)}
  .hero-tapis-piste{display:flex;width:max-content;padding-block:10px}
  .ht-assiette{flex:none;width:60px;height:60px;margin-right:20px;border-radius:50%;overflow:hidden;border:4px solid var(--plate,#cfc5b2);
    background:#0e0c0a;box-shadow:0 7px 10px rgba(0,0,0,.5),inset 0 0 0 2px rgba(255,255,255,.22)}
  .ht-assiette img{display:block;width:100%;height:100%;object-fit:cover}
  @media(prefers-reduced-motion:no-preference){
    .hero-tapis-piste{animation:ht-defile 28s linear infinite}
    .hero-tapis::before{animation:ht-rails 1.1s linear infinite}
  }
}
@keyframes ht-defile{to{transform:translateX(-50%)}}
@keyframes ht-rails{to{background-position:-42px 0}}
.page-hero > .fil-ariane.dans-bandeau{position:absolute;top:calc(var(--header-h) + 18px);left:0;right:0;z-index:2;background:none;border:0}
.fil-ariane.dans-bandeau ol{padding:0;font-size:.78rem;color:rgba(244,238,222,.75)}
.fil-ariane.dans-bandeau a{color:rgba(244,238,222,.82)}
.fil-ariane.dans-bandeau a:hover{color:var(--washi);border-bottom-color:var(--washi)}
.fil-ariane.dans-bandeau .sep{color:rgba(244,238,222,.42)}
.fil-ariane.dans-bandeau [aria-current="page"]{color:var(--washi);font-weight:600}
@media(max-width:600px){
  .page-hero,.page-hero.sans-image{padding-top:calc(var(--header-h) + 62px)}
}
@media(max-width:600px){
  .page-hero h1{font-size:clamp(1.85rem,8.4vw,2.2rem);line-height:.98}
  .page-hero .inner p{font-size:.95rem;line-height:1.55}
  .page-hero .hero-ctas{gap:12px 22px;align-items:center}
  .page-hero .hero-ctas .cta{width:auto;flex:0 1 auto}
  .page-hero .hero-ctas .cta.ghost{border:0;padding:6px 0;background:none;box-shadow:none;color:var(--washi);
    text-decoration:underline;text-decoration-color:var(--shu);text-underline-offset:6px;text-decoration-thickness:2px}
  .page-hero .hero-ctas .cta.ghost::after{display:none}
  .stands-fiches .stand-fiche{width:auto;padding:46px 4vw 50px}
  .stands-fiches .stand-fiche + .stand-fiche{border-top:3px solid var(--sumi);background:var(--washi-2)}
  .stands-fiches .stand-fiche > .sf-texte > h2{font-size:clamp(2.2rem,11vw,2.7rem)}
  .stands-fiches .sf-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
  .stands-fiches .sf-actions .cta{width:100%;padding-inline:10px;justify-content:center;text-align:center}
  .stands-fiches .sf-actions .sf-tel{grid-column:1 / -1;justify-self:start}
}
.format-choix{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));margin:16px 0 20px;border:2px solid var(--sumi);max-width:440px}
.fc-option{display:flex;flex-direction:column;gap:2px;padding:11px 14px 12px;color:var(--sumi);background:var(--washi);transition:background .2s,color .2s}
.fc-option + .fc-option{border-left:2px solid var(--sumi)}
.fc-option b{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:1.02rem;letter-spacing:.01em;line-height:1.1}
.fc-option small{font-size:.8rem;color:var(--muted)}
.fc-option:hover{background:var(--washi-2)}
.fc-option.actif{background:var(--sumi);color:var(--washi)}
.fc-option.actif small{color:#cfc5b2}
.fc-option:focus-visible{outline:3px solid var(--ai);outline-offset:2px}
@supports (animation-timeline: view()){
  .etapes-list .num{animation-range:entry 0% entry 70%}
}
.contact-direct{background:
    radial-gradient(ellipse 90% 80% at 30% 40%,rgba(23,19,15,.95) 0 40%,rgba(23,19,15,.55) 100%),
    var(--sumi) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28'%3E%3Cdefs%3E%3Cg id='e'%3E%3Ccircle r='28'/%3E%3Ccircle r='21' fill='none'/%3E%3Ccircle r='14' fill='none'/%3E%3Ccircle r='7' fill='none'/%3E%3C/g%3E%3C/defs%3E%3Cg fill='%2317130f' stroke='%23b08a43' stroke-opacity='0.3' stroke-width='1.2'%3E%3Cuse href='%23e' x='0' y='0'/%3E%3Cuse href='%23e' x='56' y='0'/%3E%3Cuse href='%23e' x='28' y='14'/%3E%3Cuse href='%23e' x='0' y='28'/%3E%3Cuse href='%23e' x='56' y='28'/%3E%3C/g%3E%3C/svg%3E") 0 0/56px 28px}
.traiteur-accueil::before,.traiteur-accueil::after{content:"";
  color:var(--washi);border:0;box-shadow:8px 8px 0 var(--kin)}
.contact-direct h2{color:var(--kin)}
.contact-direct .tel-big{color:var(--washi)}
.contact-direct .tel-big:hover{color:var(--kin);border-bottom-color:var(--kin)}
.contact-direct .note-douce,.contact-direct .form-note{color:#d9cfbd}
.contact-direct .lien-fort{color:var(--washi);text-decoration-color:var(--shu)}
.contact-direct .contact-horaires{color:var(--washi);border-top-color:rgba(176,138,67,.4);font-weight:600}
.contact-messages{margin-top:22px}
.contact-messages p{margin:0 0 10px;font-size:.92rem;color:#d9cfbd}
.cm-liens{display:flex;flex-wrap:wrap;gap:10px}
.cm-lien{display:inline-flex;align-items:center;gap:9px;padding:10px 16px 10px 13px;border:1.5px solid var(--kin);
  color:var(--washi);font-weight:700;font-size:.95rem;transition:background .2s,color .2s}
.cm-lien .ico{width:20px;height:20px}
.cm-lien:hover{background:var(--kin);color:var(--sumi)}
.cm-lien:focus-visible{outline:3px solid var(--washi);outline-offset:2px}
.cf-reponse{border:0;margin:0;padding:0;min-width:0;display:grid;gap:10px}
.cf-reponse legend{padding:0;font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--sumi);margin-bottom:4px}
.cf-reponse .form-note{margin:0}
.article-prose .info-reperes{margin:32px 0 36px;padding:24px 20px 26px;background:var(--washi-2);border:2px solid var(--sumi);box-shadow:6px 6px 0 var(--ai)}
.article-prose .ir-titre{margin:0 0 18px;font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:1.05rem;line-height:1.1;color:var(--sumi)}
.article-prose .info-reperes ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:22px 14px}
.article-prose .info-reperes li{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0;padding:0;text-align:center}
.article-prose .info-reperes b{display:flex;flex-direction:column;align-items:center;justify-content:center;width:104px;height:104px;border-radius:50%;
  background:#fffdf6;border:7px solid var(--plate,#cfc5b2);box-shadow:0 10px 16px -8px rgba(23,19,15,.5),inset 0 0 0 3px rgba(255,255,255,.7);
  font-family:var(--disp);font-weight:900;font-size:1.65rem;line-height:.95;color:var(--sumi)}
.article-prose .info-reperes b small{font-family:var(--ui);font-weight:600;font-size:.72rem;line-height:1.2;color:var(--muted);text-transform:none}
.article-prose .info-reperes b.ir-mot{font-size:1.15rem;text-transform:uppercase}
.article-prose .info-reperes span{font-size:.88rem;line-height:1.4;color:#3c352b;max-width:17ch}
.article-prose .info-reperes em{font-style:normal;font-size:.74rem;line-height:1.3;color:var(--muted)}
.article-prose .ir-note{margin:20px 0 0;font-size:.86rem;line-height:1.55;color:#3c352b}
.ir-1{--plate:var(--ai)}.ir-2{--plate:var(--kin)}.ir-3{--plate:#7f9a62}.ir-4{--plate:#c97b5c}
.article-prose .info-pieces{margin:28px 0 32px}
.article-prose .info-pieces ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.article-prose .info-pieces li{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0;text-align:center}
.article-prose .info-pieces img{width:100%;max-width:124px;height:auto;aspect-ratio:1;border-radius:50%;border:6px solid var(--washi-2);background:#fffdf6;
  box-shadow:0 10px 16px -10px rgba(23,19,15,.55);margin-bottom:6px}
.article-prose .info-pieces b{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:.92rem;color:var(--sumi)}
.article-prose .info-pieces span{font-size:.8rem;line-height:1.35;color:var(--muted)}
.article-prose .info-pieces figcaption{margin-top:16px;text-align:center;font-size:.9rem;color:#3c352b}
.article-prose .info-kanji{margin:30px 0 34px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center;padding:24px 24px 24px 20px;
  color:var(--washi);background:radial-gradient(ellipse 80% 90% at 25% 50%,rgba(23,19,15,.94) 0 40%,rgba(23,19,15,.6) 100%),var(--sumi) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28'%3E%3Cdefs%3E%3Cg id='e'%3E%3Ccircle r='28'/%3E%3Ccircle r='21' fill='none'/%3E%3Ccircle r='14' fill='none'/%3E%3Ccircle r='7' fill='none'/%3E%3C/g%3E%3C/defs%3E%3Cg fill='%2317130f' stroke='%23b08a43' stroke-opacity='0.3' stroke-width='1.2'%3E%3Cuse href='%23e' x='0' y='0'/%3E%3Cuse href='%23e' x='56' y='0'/%3E%3Cuse href='%23e' x='28' y='14'/%3E%3Cuse href='%23e' x='0' y='28'/%3E%3Cuse href='%23e' x='56' y='28'/%3E%3C/g%3E%3C/svg%3E") 0 0/56px 28px}
.traiteur-accueil::before,.traiteur-accueil::after{content:""}
.article-prose .info-kanji > span{font-family:var(--jp);font-weight:900;font-size:clamp(4.2rem,16vw,6rem);line-height:1;color:var(--kin)}
.article-prose .info-kanji figcaption{font-size:1rem;line-height:1.55;color:#e7ddca}
.article-prose .info-kanji figcaption{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:1.5rem;line-height:1.05;color:var(--washi)}
.article-prose .info-kanji figcaption b{display:block;font-family:var(--ui);font-weight:600;text-transform:none;font-size:1.1rem;color:var(--kin);margin-bottom:6px}
@media(max-width:600px){
  .journal-suivants .journal-grid{gap:12px}
  .journal-suivants .journal-lien{display:grid;grid-template-columns:108px minmax(0,1fr);align-items:stretch}
  .journal-suivants .journal-img{aspect-ratio:auto;height:100%;min-height:108px;border-bottom:0;border-right:1.5px solid var(--line)}
  .journal-suivants .journal-corps{padding:14px 14px 14px 16px;justify-content:center;gap:6px}
  .journal-suivants .journal-corps h3{font-size:.95rem;line-height:1.15}
  .journal-suivants .journal-corps h3::after{content:" ▸";color:var(--shu-dk)}
}
.sf-plan img{object-position:100% 50%}
a[href^="tel:"],.tel-big,.sf-tel{white-space:nowrap}
p,li,figcaption,dd{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
.fil-ariane.sans-courant li:last-child{display:none}
.fil-ariane.sans-courant li:nth-last-child(2) .sep{display:none}
.fc-option small{display:block}
.fc-option .fc-prix{font-weight:700;color:var(--sumi)}
.fc-option.actif .fc-prix{color:var(--washi)}
.contact-form .cta{justify-content:center;text-align:center}
@media(max-width:600px){
  .cta{max-width:calc(100% - 6px)}
  .stands-fiches .sf-actions,.stands-contact .sf-actions{align-items:stretch}
  .stands-fiches .sf-actions .cta,.stands-contact .sf-actions .cta{display:flex;align-items:center;justify-content:center;min-height:54px;line-height:1.25}
  .kaiten-head .rule{display:none}
  .ps-familles{display:none}
  .article-prose table{font-size:.84rem}
  .article-prose th,.article-prose td{padding:9px 8px 9px 0}
  .article-prose td:nth-child(2),.article-prose td:nth-child(3){white-space:nowrap}
}
@media(max-width:760px){
  .savoir{grid-template-columns:minmax(0,1fr)}
  .savoir .tate-title{display:none}
  .savoir > .savoir-col,.savoir > .prose{grid-column:1}
}
@media(max-width:420px){
  .sticky-bar{gap:10px}
  .sticky-bar .mini{min-width:0;font-size:.84rem;line-height:1.2}
  .sticky-bar .mini .dot{display:none}
  .sticky-bar button,.sticky-bar a.cta-s{flex:none;padding:11px 14px;font-size:.78rem;letter-spacing:.03em}
  .hero h1{font-size:clamp(2.2rem,10.4vw,2.7rem)}
}
@media(max-width:389px){
  .brand{gap:7px;font-size:.72rem;letter-spacing:.02em}
  .brand-nom{white-space:nowrap}
}
.faq details:not([open]) > summary::after{transform:none;background:none;color:var(--shu-dk);border-color:var(--line-fort)}
.faq details[open] > summary::after{transform:rotate(45deg);background:var(--shu-dk);color:var(--washi);border-color:var(--shu-dk)}
.progress-wrap.complete::after{content:"完成";font-size:.95rem;letter-spacing:.02em;line-height:1}
@media(max-width:900px){.article-aside{display:none}}
footer.site .cols{grid-template-columns:repeat(2,minmax(0,260px))}
@media(max-width:860px){footer.site .cols{grid-template-columns:1fr 1fr}}
h2 > span[lang="ja"]{color:var(--ai)}
.reassure-band span::before{color:var(--ai)}
.kaiten-head .rule{border-left-color:var(--ai)}
.faq details p{border-left-color:var(--ai)}
.faq details:not([open]) > summary::after{color:var(--ai)}
.article-prose a{color:var(--ai)}
.article-prose a:hover{color:var(--sumi)}
.journal-suite{color:var(--ai)}
.journal-suivants .journal-corps h3::after{color:var(--ai)}
footer.site .foot-stand-lien{border-bottom-color:var(--kin)}
@media(max-width:600px){
  .choice-list > .choice:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:calc(50% - 5px)}
}
.resa-sans-plateau{display:none}
@media(max-width:900px){
  .resa-layout:has(#recapEmpty:not([hidden])) .resa-sans-plateau{display:block;margin:0 0 22px;padding:14px 16px;background:var(--washi-2);border-left:3px solid var(--ai);font-size:.93rem;line-height:1.55}
  .resa-layout:has(#recapEmpty:not([hidden])) .resa-recap{display:none}
}
.page-hero .hero-kanji{white-space:nowrap;font-size:min(clamp(11rem,30vw,26rem),calc(92vw / var(--n,2)))}
.centre{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.2em .45em;font-weight:700}
.centre-plaque{display:inline-flex;align-items:center;background:#fff;border-radius:3px;padding:.24em .45em;box-shadow:0 0 0 1px rgba(23,19,15,.1);line-height:0}
.centre-logo{display:block;height:1.05em;width:calc(1.05em * 404 / 95)}
.sf-adresse .centre,.foot-stand-lieu .centre,.sa-centre .centre,.ticket .sub .centre{display:flex;width:fit-content;margin-bottom:.4em}
.sf-adresse .centre{font-size:1.06rem;color:var(--sumi)}
.sf-adresse .centre-logo{height:1.3em;width:calc(1.3em * 404 / 95)}
@media(min-width:900px){
  .sf-adresse .centre{font-size:1.2rem}
  .sf-adresse .centre-logo{height:1.4em;width:calc(1.4em * 404 / 95)}
}
.foot-stand-lieu .centre{color:var(--washi)}
.foot-stand-lieu .centre-plaque{box-shadow:none}
.ticket .sub .centre{letter-spacing:.08em;color:var(--sumi)}
.ticket .sub .centre-logo{height:1.45em;width:calc(1.45em * 404 / 95)}
.sa-centre{display:block;margin-bottom:2px}
.so-centre{display:block;margin:2px 0 3px}
.so-centre .centre{font-weight:600}
.so-centre .centre-logo{height:1.3em;width:calc(1.3em * 404 / 95)}
.fulfillment-ctx .opt .centre{display:inline-flex;font-weight:600}
.fulfillment-ctx .opt .centre-plaque{padding:.18em .38em;box-shadow:none}
.hero-centre{margin:0 0 .5em}
.hero-centre .centre{font-size:1.05rem}
.hero-centre .centre-logo{height:1.25em;width:calc(1.25em * 404 / 95)}
