/* =====================================================================
   SUSHIKAI — socle graphique commun (refonte 2026-09-24)
   Une seule version du site, responsive (plus de /mobile/).
   Polices auto-hébergées : Shippori Mincho (titres) + Zen Kaku Gothic New.
   ===================================================================== */

@font-face{font-family:"Kaisei Tokumin";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/KaiseiTokumin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Kaisei Tokumin";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/KaiseiTokumin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Kaisei Tokumin";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/KaiseiTokumin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Kaisei Tokumin";font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/KaiseiTokumin-jp.woff2?v=2) format("woff2");unicode-range:U+3000-30FF,U+4E00-9FFF}
@font-face{font-family:"Shippori Mincho";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ShipporiMincho-500.woff2) format("woff2")}
@font-face{font-family:"Shippori Mincho";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/ShipporiMincho-700.woff2) format("woff2")}
@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ZenKakuGothicNew-400.woff2) format("woff2")}
@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ZenKakuGothicNew-500.woff2) format("woff2")}
@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/ZenKakuGothicNew-700.woff2) format("woff2")}

:root{
  --ink:#12100d;          /* encre sumi */
  --ink-2:#1c1915;
  --ink-3:#2a2520;
  --navy:#040a1c;         /* bleu nuit historique du site */
  --washi:#f6f1e8;        /* papier washi */
  --washi-2:#ece3d3;
  --paper:#fbf8f2;
  --shu:#c63a2f;          /* vermillon (torii) */
  --shu-d:#a62d23;
  --gold:#b5945b;         /* or historique du site */
  --gold-l:#d8bf92;
  --gold-d:#8a6d3b;       /* or lisible sur fond clair */
  --moss:#4d5b3a;
  --text:#2b2621;
  --muted:#6b6258;
  --muted-l:#b9b0a3;
  --line:rgba(43,38,33,.12);
  --line-l:rgba(255,255,255,.14);
  --serif:"Kaisei Tokumin","Shippori Mincho","Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",Georgia,serif;
  --sans:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic","Noto Sans JP",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --serif-text:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",Georgia,serif;
  --jp:"Kaisei Tokumin","Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP","MS Mincho",serif;
  --wrap:1200px;
  --gut:clamp(18px,4.5vw,40px);
  --r:14px;
  --r-s:8px;
  --shadow:0 18px 50px -20px rgba(18,16,13,.35);
  --shadow-s:0 6px 20px -8px rgba(18,16,13,.25);
  --hdr:76px;
  --mbar:0px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media (max-width:1023px){:root{--hdr:64px;--mbar:56px}}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;padding-bottom:var(--mbar)}
@media (max-width:600px){body{font-size:16.5px}}
img,video,svg,iframe{max-width:100%;display:block}
figure{margin:0}
img{height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
p{margin:0 0 1em}
h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:700;line-height:1.18;margin:0 0 .5em;color:var(--ink);letter-spacing:-.022em}
h1{font-size:clamp(2.1rem,6.2vw,4.4rem)}
h2{font-size:clamp(1.75rem,4.2vw,3rem)}
h3{font-size:clamp(1.25rem,2.4vw,1.6rem)}
h4{font-size:1.15rem}
ul,ol{margin:0 0 1em;padding-left:1.2em}
strong,b{font-weight:700}
button{font:inherit;color:inherit}
::selection{background:var(--shu);color:#fff}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.sk-skip{position:absolute;left:-9999px;top:8px;z-index:100000;background:var(--ink);color:#fff;padding:10px 16px;border-radius:6px}
.sk-skip:focus{left:8px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- Mise en page ---------- */
.sk-wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.sk-wrap--narrow{max-width:860px}
.sk-wrap--wide{max-width:1400px}
.sk-section{padding:clamp(64px,10vw,128px) 0;position:relative}
.sk-section--tight{padding:clamp(44px,7vw,80px) 0}
.sk-section--dark{background:var(--ink);color:#e9e3d8}
.sk-section--dark h1,.sk-section--dark h2,.sk-section--dark h3,.sk-section--dark h4{color:#fff}
.sk-section--washi{background:var(--washi)}
.sk-section--navy{background:var(--navy);color:#e3e6ee}
.sk-section--navy h2,.sk-section--navy h3{color:#fff}
.sk-center{text-align:center}
.sk-center .sk-lead{margin-left:auto;margin-right:auto}

.sk-grid{display:grid;gap:clamp(18px,3vw,32px)}
.sk-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sk-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sk-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1023px){.sk-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.sk-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.sk-grid--2,.sk-grid--3{grid-template-columns:1fr}}
@media (max-width:420px){.sk-grid--4{grid-template-columns:1fr}}

/* ---------- Typo éditoriale ---------- */
.sk-eyebrow{display:inline-flex;align-items:center;gap:.7em;font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d);margin:0 0 1.1em}
.sk-eyebrow::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.sk-center .sk-eyebrow::after{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.sk-section--dark .sk-eyebrow,.sk-section--navy .sk-eyebrow,.sk-hero .sk-eyebrow{color:var(--gold-l)}
.sk-jp{font-family:var(--jp);font-weight:600;letter-spacing:.08em}
.sk-title{margin-bottom:.45em}
.sk-title em{font-style:normal;color:var(--shu)}
.sk-section--dark .sk-title em,.sk-hero .sk-title em{color:var(--gold-l)}
.sk-lead{font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--muted);max-width:62ch;line-height:1.75}
.sk-section--dark .sk-lead,.sk-section--navy .sk-lead{color:#bfb6a8}
.sk-prose{max-width:70ch}
.sk-prose p{color:var(--text)}
.sk-prose h2{font-size:clamp(1.5rem,3vw,2rem);margin-top:1.6em}
.sk-prose h3{margin-top:1.4em}
.sk-prose a{color:var(--shu-d)}
.sk-muted{color:var(--muted)}
.sk-small{font-size:.9rem}

/* Kanji vertical décoratif */
.sk-vert{position:absolute;writing-mode:vertical-rl;font-family:var(--jp);font-size:clamp(3rem,7vw,6rem);line-height:1;color:var(--ink);opacity:.06;pointer-events:none;user-select:none;letter-spacing:.2em}
.sk-section--dark .sk-vert{color:#fff;opacity:.07}
@media (max-width:760px){.sk-vert{display:none}}

/* Sceau hanko */
.sk-seal{display:inline-grid;place-items:center;width:54px;height:54px;background:var(--shu);color:#fff;font-family:var(--jp);font-size:1.25rem;line-height:1;border-radius:6px;transform:rotate(-4deg);box-shadow:inset 0 0 0 3px rgba(255,255,255,.18);writing-mode:vertical-rl;letter-spacing:.05em}
.sk-seal--s{width:40px;height:40px;font-size:.95rem}

/* Séparateur vagues seigaiha */
.sk-waves{height:28px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28' viewBox='0 0 56 28'%3E%3Cg fill='none' stroke='%23b5945b' stroke-opacity='.55'%3E%3Cpath d='M0 28a28 28 0 0 1 56 0'/%3E%3Cpath d='M8 28a20 20 0 0 1 40 0'/%3E%3Cpath d='M16 28a12 12 0 0 1 24 0'/%3E%3Cpath d='M24 28a4 4 0 0 1 8 0'/%3E%3C/g%3E%3C/svg%3E") repeat-x center bottom/56px 28px;opacity:.9}
.sk-pattern{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40' viewBox='0 0 80 40'%3E%3Cg fill='none' stroke='%23b5945b' stroke-opacity='.13'%3E%3Cpath d='M0 40a40 40 0 0 1 80 0M10 40a30 30 0 0 1 60 0M20 40a20 20 0 0 1 40 0M30 40a10 10 0 0 1 20 0'/%3E%3Cpath d='M-40 20a40 40 0 0 1 80 0M-30 20a30 30 0 0 1 60 0M-20 20a20 20 0 0 1 40 0M-10 20a10 10 0 0 1 20 0M40 20a40 40 0 0 1 80 0M50 20a30 30 0 0 1 60 0M60 20a20 20 0 0 1 40 0M70 20a10 10 0 0 1 20 0'/%3E%3C/g%3E%3C/svg%3E");background-size:80px 40px}

/* ---------- Boutons ---------- */
.sk-btn{--b:var(--ink);--c:#fff;display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:50px;padding:.8em 1.6em;border-radius:999px;border:1.5px solid var(--b);background:var(--b);color:var(--c);font-family:var(--sans);font-weight:700;font-size:.95rem;letter-spacing:.06em;text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s,box-shadow .25s;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.sk-btn svg{width:1.15em;height:1.15em;flex:none}
.sk-btn--shu{--b:var(--shu)}
.sk-btn--gold{--b:var(--gold);--c:var(--ink)}
.sk-btn--ghost{background:transparent;color:var(--b)}
.sk-btn--light{--b:#fff;--c:var(--ink)}
.sk-btn--ghost-light{--b:rgba(255,255,255,.75);background:rgba(255,255,255,.06);color:#fff;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
@media (hover:hover){
  .sk-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-s)}
  .sk-btn--shu:hover{--b:var(--shu-d)}
  .sk-btn--ghost:hover{background:var(--b);color:#fff}
  .sk-btn--ghost-light:hover{background:#fff;color:var(--ink);--b:#fff}
  .sk-btn--light:hover{--b:var(--washi)}
}
.sk-btn:active{transform:translateY(0) scale(.98)}
.sk-btn--block{width:100%}
.sk-btn--s{min-height:42px;padding:.55em 1.2em;font-size:.88rem}
.sk-btns{display:flex;flex-wrap:wrap;gap:12px}
.sk-center .sk-btns{justify-content:center}
@media (max-width:480px){.sk-btns--stack{flex-direction:column}.sk-btns--stack .sk-btn{width:100%}}
.sk-link{display:inline-flex;align-items:center;gap:.5em;color:var(--shu-d);font-weight:700;text-decoration:none;letter-spacing:.03em;border-bottom:1px solid currentColor;padding-bottom:2px}
.sk-link::after{content:"→";transition:transform .25s var(--ease)}
.sk-link:hover::after{transform:translateX(4px)}
.sk-section--dark .sk-link,.sk-section--navy .sk-link{color:var(--gold-l)}

/* ---------- En-tête ---------- */
.sk-header{position:fixed;inset:0 0 auto 0;z-index:1000;height:var(--hdr);display:flex;align-items:center;color:var(--ink);background:rgba(251,248,242,.92);backdrop-filter:saturate(1.3) blur(12px);-webkit-backdrop-filter:saturate(1.3) blur(12px);box-shadow:0 1px 0 var(--line);transition:background .35s,box-shadow .35s,color .35s,transform .35s var(--ease)}
.sk-header__in{display:flex;align-items:center;gap:20px;width:100%;max-width:1400px;margin:0 auto;padding:0 var(--gut)}
.sk-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.sk-logo__mark{width:36px;height:36px;flex:none}
.sk-logo__word{height:30px;width:auto}
.sk-logo__word--light{display:none}
body.has-hero .sk-header:not(.is-solid){background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:#fff}
body.has-hero .sk-header:not(.is-solid) .sk-logo__word--dark{display:none}
body.has-hero .sk-header:not(.is-solid) .sk-logo__word--light{display:block}
body.has-hero .sk-header:not(.is-solid) .sk-logo__mark rect{stroke:#fff}
body.has-hero .sk-header:not(.is-solid)::before{content:"";position:absolute;inset:0 0 -40px 0;background:linear-gradient(to bottom,rgba(10,8,6,.55),transparent);pointer-events:none;z-index:-1}
.sk-header.is-hidden{transform:translateY(-100%)}

.sk-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.sk-nav>ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.sk-nav li{position:relative}
.sk-nav a,.sk-nav .sk-nav__btn{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;text-decoration:none;font-size:.86rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:none;border:0;cursor:pointer;color:inherit;transition:background .2s,color .2s}
.sk-nav .sk-nav__btn svg{width:10px;height:10px;transition:transform .25s}
.sk-nav a[aria-current="page"],.sk-nav .is-active>.sk-nav__btn{color:var(--shu)}
body.has-hero .sk-header:not(.is-solid) .sk-nav a[aria-current="page"],body.has-hero .sk-header:not(.is-solid) .sk-nav .is-active>.sk-nav__btn{color:var(--gold-l)}
@media (hover:hover){.sk-nav a:hover,.sk-nav .sk-nav__btn:hover{background:rgba(127,110,90,.12)}}
.sk-sub{position:absolute;top:calc(100% + 8px);left:50%;min-width:250px;list-style:none;margin:0;padding:10px;background:#fff;color:var(--ink);border-radius:var(--r);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .2s,transform .25s var(--ease),visibility .2s}
.sk-sub::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.sk-sub a{display:block;padding:11px 14px;border-radius:10px;text-transform:none;letter-spacing:.01em;font-size:.97rem;font-weight:500}
.sk-sub a small{display:block;font-size:.8rem;color:var(--muted);font-weight:400;margin-top:2px}
.sk-sub a:hover{background:var(--washi)}
.sk-sub a[aria-current="page"]{color:var(--shu-d);background:var(--washi)}
.sk-nav li:hover>.sk-sub,.sk-nav li.is-open>.sk-sub,.sk-nav li:focus-within>.sk-sub{opacity:1;visibility:visible;transform:translate(-50%,0)}
.sk-nav li:hover>.sk-nav__btn svg,.sk-nav li.is-open>.sk-nav__btn svg{transform:rotate(180deg)}
.sk-header__cta{display:flex;align-items:center;gap:10px;margin-left:10px}
.sk-header__tel{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;font-size:.92rem;letter-spacing:.04em;white-space:nowrap}
.sk-header__tel svg{width:18px;height:18px}
.sk-burger{display:none;margin-left:auto;width:46px;height:46px;border-radius:50%;border:0;background:transparent;color:inherit;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}
.sk-burger span{position:absolute;left:12px;right:12px;height:2px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease),opacity .2s,top .3s var(--ease)}
.sk-burger span:nth-child(1){top:16px}.sk-burger span:nth-child(2){top:22px;right:18px}.sk-burger span:nth-child(3){top:28px}
@media (max-width:1180px){.sk-header__tel span{display:none}}
@media (max-width:1023px){
  .sk-nav,.sk-header__cta{display:none}
  .sk-burger{display:block}
  .sk-logo__word{height:26px}
  .sk-logo__mark{width:32px;height:32px}
}

/* ---------- Tiroir mobile ---------- */
.sk-drawer{position:fixed;inset:0;z-index:1100;background:var(--ink);color:#f3ede3;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.sk-drawer.is-open{opacity:1;visibility:visible}
.sk-drawer::after{content:"寿司";position:absolute;right:-6px;bottom:90px;writing-mode:vertical-rl;font-family:var(--jp);font-size:9rem;line-height:1;color:#fff;opacity:.04;pointer-events:none}
.sk-drawer__top{display:flex;align-items:center;justify-content:space-between;height:var(--hdr);padding:0 var(--gut);flex:none}
.sk-drawer__close{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-l);background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center}
.sk-drawer__close svg{width:20px;height:20px}
.sk-drawer nav{padding:8px var(--gut) 24px;flex:1}
.sk-drawer__group{border-top:1px solid var(--line-l);padding:14px 0}
.sk-drawer__group:first-child{border-top:0}
.sk-drawer__label{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-l);font-weight:700;margin:4px 0 6px}
.sk-drawer ul{list-style:none;margin:0;padding:0}
.sk-drawer nav a{display:flex;align-items:center;justify-content:space-between;padding:9px 0;font-family:var(--serif);font-size:1.45rem;font-weight:500;text-decoration:none;color:#fff;transform:translateY(8px);opacity:0;transition:transform .45s var(--ease),opacity .45s,color .2s}
.sk-drawer.is-open nav a{transform:none;opacity:1}
.sk-drawer nav a[aria-current="page"]{color:var(--gold-l)}
.sk-drawer nav a[aria-current="page"]::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--shu)}
.sk-drawer__foot{padding:18px var(--gut) calc(24px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--line-l);flex:none}
.sk-drawer__foot .sk-btn{min-height:52px;padding:.7em 1em}
.sk-drawer__foot .sk-drawer__hours{grid-column:1/-1;font-size:.9rem;color:var(--muted-l);text-align:center;margin:4px 0 0}
body.sk-lock{overflow:hidden}

/* ---------- Barre d'actions mobile ---------- */
.sk-mbar{display:none}
@media (max-width:1023px){
  .sk-mbar{display:grid;grid-template-columns:1fr 1fr 1.25fr;position:fixed;left:0;right:0;bottom:0;z-index:990;height:calc(var(--mbar) + env(safe-area-inset-bottom));padding:0 0 env(safe-area-inset-bottom);background:rgba(18,16,13,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(181,148,91,.35);transition:transform .35s var(--ease)}
  .sk-mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#efe8dc;text-decoration:none;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;-webkit-tap-highlight-color:transparent}
  .sk-mbar a svg{width:21px;height:21px}
  .sk-mbar a+a{border-left:1px solid rgba(255,255,255,.08)}
  .sk-mbar a.is-primary{background:var(--shu);color:#fff;border-left:0}
  .sk-mbar a:active{background:rgba(255,255,255,.08)}
  .sk-mbar a.is-primary:active{background:var(--shu-d)}
  body.sk-lock .sk-mbar{transform:translateY(110%)}
}

/* ---------- Héros ---------- */
.sk-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--ink);isolation:isolate}
.sk-hero__media{position:absolute;inset:0;z-index:-2}
.sk-hero__media img,.sk-hero__media video{width:100%;height:100%;object-fit:cover}
.sk-hero__media img{animation:sk-kenburns 22s ease-out both}
@keyframes sk-kenburns{from{transform:scale(1.08)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.sk-hero__media img{animation:none}}
.sk-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,8,6,.78) 0%,rgba(10,8,6,.5) 38%,rgba(10,8,6,.08) 70%),linear-gradient(180deg,rgba(10,8,6,.4) 0%,rgba(10,8,6,0) 25%,rgba(10,8,6,.2) 60%,rgba(10,8,6,.75) 100%)}
@media (max-width:760px){.sk-hero::after{background:linear-gradient(180deg,rgba(10,8,6,.45) 0%,rgba(10,8,6,.15) 22%,rgba(10,8,6,.55) 48%,rgba(10,8,6,.9) 100%)}}
.sk-hero__in{width:100%;max-width:1400px;margin:0 auto;padding:calc(var(--hdr) + 40px) var(--gut) clamp(48px,9vh,110px);position:relative}
.sk-hero__kicker{display:flex;align-items:center;gap:14px;margin-bottom:18px;font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-l)}
.sk-hero h1{color:#fff;font-size:clamp(2.5rem,7.6vw,5.6rem);line-height:1.05;max-width:14ch;margin-bottom:.35em;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.sk-hero h1 em{font-style:normal;color:var(--gold-l)}
.sk-hero__lead{font-size:clamp(1.05rem,1.8vw,1.28rem);max-width:46ch;color:rgba(255,255,255,.9);margin-bottom:1.6em;text-shadow:0 1px 14px rgba(0,0,0,.4)}
.sk-hero__jp{position:absolute;right:var(--gut);top:calc(var(--hdr) + 30px);writing-mode:vertical-rl;font-family:var(--jp);font-size:clamp(1.3rem,2.4vw,2rem);letter-spacing:.5em;color:rgba(255,255,255,.85);text-shadow:0 2px 20px rgba(0,0,0,.4)}
.sk-hero__jp::before{content:"";display:block;width:1px;height:60px;background:rgba(255,255,255,.5);margin:0 auto 18px}
.sk-hero__meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;font-size:.92rem;color:rgba(255,255,255,.85)}
.sk-hero__meta span{display:inline-flex;align-items:center;gap:8px}
.sk-hero__meta svg{width:16px;height:16px;color:var(--gold-l)}
.sk-hero__scroll{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:26px;height:42px;border:1.5px solid rgba(255,255,255,.55);border-radius:20px}
.sk-hero__scroll::after{content:"";position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;border-radius:3px;background:#fff;animation:sk-scroll 1.8s infinite}
@keyframes sk-scroll{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(12px)}}
@media (max-width:760px){.sk-hero__scroll{display:none}.sk-hero__jp{display:none}}
/* héros des pages intérieures */
.sk-hero--page{min-height:62vh;min-height:62svh}
.sk-hero--page h1{font-size:clamp(2.2rem,6vw,4.4rem);max-width:18ch}
.sk-hero--short{min-height:48vh;min-height:48svh}
@media (max-width:760px){.sk-hero--page{min-height:70svh}.sk-hero--short{min-height:52svh}}
.sk-crumbs{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:16px}
.sk-crumbs a{text-decoration:none}
.sk-crumbs a:hover{color:#fff}
.sk-crumbs span{margin:0 .6em;opacity:.6}
/* en-tête simple sans image (pages légales) */
.sk-pagehead{padding:calc(var(--hdr) + clamp(40px,8vw,90px)) 0 clamp(30px,5vw,50px);background:var(--washi)}
.sk-pagehead .sk-crumbs{color:var(--muted)}

/* ---------- Blocs image + texte ---------- */
.sk-split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,6vw,90px);align-items:center}
.sk-split--rev>.sk-split__media{order:2}
@media (max-width:900px){.sk-split{grid-template-columns:1fr}.sk-split--rev>.sk-split__media{order:0}}
.sk-split__media{position:relative}
.sk-frame{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);background:var(--washi-2)}
.sk-frame img{width:100%;height:100%;object-fit:cover}
.sk-frame--tall{aspect-ratio:4/5}
.sk-frame--wide{aspect-ratio:3/2}
.sk-frame--sq{aspect-ratio:1}
.sk-stack{position:relative;padding:0 0 clamp(40px,8vw,70px) 0}
.sk-stack .sk-frame:nth-child(2){position:absolute;right:-4%;bottom:0;width:48%;border:6px solid var(--paper);aspect-ratio:1}
.sk-section--washi .sk-stack .sk-frame:nth-child(2){border-color:var(--washi)}
@media (max-width:900px){.sk-stack .sk-frame:nth-child(2){right:0;width:44%}}
.sk-badge{position:absolute;left:-14px;top:22px;background:var(--shu);color:#fff;padding:14px 16px;border-radius:12px;box-shadow:var(--shadow-s);font-family:var(--serif);line-height:1.1;text-align:center}
.sk-badge strong{display:block;font-size:1.8rem}
.sk-badge small{font-family:var(--sans);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
@media (max-width:600px){.sk-badge{left:10px;top:10px;padding:10px 12px}.sk-badge strong{font-size:1.4rem}}

/* ---------- Cartes / atouts ---------- */
.sk-card{background:#fff;border-radius:var(--r);padding:clamp(22px,3vw,32px);box-shadow:0 1px 0 var(--line),var(--shadow-s);position:relative;height:100%}
.sk-section--washi .sk-card{background:var(--paper)}
.sk-section--dark .sk-card{background:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-l);color:#d9d2c6}
.sk-card h3{font-size:1.3rem;margin-bottom:.4em}
.sk-card p:last-child{margin-bottom:0}
.sk-card__ico{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--washi);margin-bottom:16px}
.sk-card__ico img{width:34px;height:34px;object-fit:contain}
.sk-section--dark .sk-card__ico{background:rgba(181,148,91,.14)}
.sk-card__num{font-family:var(--serif);font-size:2.4rem;line-height:1;color:var(--gold);opacity:.55;position:absolute;right:22px;top:18px}
.sk-feature{display:flex;gap:18px;align-items:flex-start}
.sk-feature .sk-card__ico{flex:none;margin:0}
.sk-feature h3{font-size:1.2rem;margin-bottom:.3em}

/* carte-image (liens vers rubriques) */
.sk-tile{position:relative;display:block;border-radius:var(--r);overflow:hidden;color:#fff;text-decoration:none;aspect-ratio:4/5;background:var(--ink);isolation:isolate;box-shadow:var(--shadow-s)}
.sk-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease)}
.sk-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 35%,rgba(10,8,6,.85))}
.sk-tile__body{position:absolute;left:0;right:0;bottom:0;padding:22px}
.sk-tile__body h3{color:#fff;margin:0 0 .2em;font-size:1.45rem}
.sk-tile__body p{margin:0;font-size:.93rem;color:rgba(255,255,255,.85)}
.sk-tile__jp{position:absolute;top:18px;right:18px;writing-mode:vertical-rl;font-family:var(--jp);font-size:1.05rem;letter-spacing:.3em;color:rgba(255,255,255,.9)}
@media (hover:hover){.sk-tile:hover img{transform:scale(1.06)}}
@media (max-width:640px){.sk-tile{aspect-ratio:16/11}}

/* ---------- Rail horizontal (mobile) ---------- */
.sk-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px var(--gut) 18px;margin:0 calc(var(--gut) * -1);scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.sk-rail::-webkit-scrollbar{display:none}
.sk-rail>*{scroll-snap-align:start}
@media (max-width:640px){.sk-rail{grid-auto-columns:82%}}
@media (min-width:1024px){.sk-rail--grid{grid-auto-flow:row;grid-template-columns:repeat(var(--cols,4),1fr);overflow:visible;margin:0;padding:0}}
.sk-rail-nav{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}
.sk-rail-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;display:grid;place-items:center}
.sk-rail-nav button svg{width:18px;height:18px}
.sk-section--dark .sk-rail-nav button{background:transparent;border-color:var(--line-l);color:#fff}

/* ---------- Avis ---------- */
.sk-review{background:#fff;border-radius:var(--r);padding:26px 24px 22px;box-shadow:0 1px 0 var(--line);display:flex;flex-direction:column;height:100%}
.sk-section--dark .sk-review{background:var(--ink-2);color:#ddd5c8;box-shadow:inset 0 0 0 1px var(--line-l)}
.sk-stars{color:var(--gold);letter-spacing:3px;font-size:1rem;margin-bottom:10px}
.sk-review blockquote{margin:0 0 16px;font-family:var(--serif);font-size:1.08rem;line-height:1.6;flex:1}
.sk-review cite{font-style:normal;font-size:.85rem;color:var(--muted);display:flex;align-items:center;gap:8px}
.sk-section--dark .sk-review cite{color:var(--muted-l)}
.sk-review cite b{color:inherit}
.sk-score{display:flex;flex-wrap:wrap;gap:14px 34px;align-items:center;justify-content:center;margin:0 0 34px}
.sk-score__item{display:flex;align-items:center;gap:12px;text-decoration:none}
.sk-score__item strong{font-family:var(--serif);font-size:2.2rem;line-height:1}
.sk-score__item span{font-size:.85rem;line-height:1.35;color:var(--muted)}
.sk-section--dark .sk-score__item span{color:var(--muted-l)}

/* ---------- Galerie ---------- */
.sk-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sk-gallery a,.sk-gallery figure{display:block;margin:0;border-radius:10px;overflow:hidden;aspect-ratio:3/4;background:var(--washi-2);position:relative}
.sk-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease),opacity .4s}
@media (hover:hover){.sk-gallery a:hover img{transform:scale(1.05)}}
@media (max-width:900px){.sk-gallery{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.sk-gallery{grid-template-columns:repeat(2,1fr);gap:8px}}
.sk-gallery--mosaic a:nth-child(7n+1){grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media (max-width:560px){.sk-gallery--mosaic a:nth-child(7n+1){grid-row:span 1;aspect-ratio:3/2}}
.sk-filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0 18px;margin-bottom:6px}
.sk-filters::-webkit-scrollbar{display:none}
.sk-filters button{flex:none;min-height:42px;padding:.5em 1.15em;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:700;font-size:.88rem;letter-spacing:.04em}
.sk-filters button[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}

/* Lightbox */
.sk-lb{position:fixed;inset:0;z-index:5000;background:rgba(8,7,5,.95);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;touch-action:pan-y}
.sk-lb.is-open{opacity:1;visibility:visible}
.sk-lb img{max-width:92vw;max-height:84vh;max-height:84svh;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.sk-lb button{position:absolute;width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.4);color:#fff;cursor:pointer;display:grid;place-items:center}
.sk-lb button svg{width:22px;height:22px}
.sk-lb__close{top:calc(14px + env(safe-area-inset-top));right:14px}
.sk-lb__prev{left:14px;top:50%;transform:translateY(-50%)}
.sk-lb__next{right:14px;top:50%;transform:translateY(-50%)}
.sk-lb__count{position:absolute;bottom:calc(18px + env(safe-area-inset-bottom));left:0;right:0;text-align:center;color:rgba(255,255,255,.75);font-size:.9rem;letter-spacing:.1em}
@media (max-width:640px){.sk-lb__prev,.sk-lb__next{top:auto;bottom:calc(8px + env(safe-area-inset-bottom));transform:none}.sk-lb img{max-width:100vw;border-radius:0}}

/* ---------- Carte / menus ---------- */
.sk-tabs{position:sticky;top:var(--hdr);z-index:50;background:rgba(251,248,242,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:top .35s var(--ease)}
.sk-header.is-hidden~main .sk-tabs,body.hdr-hidden .sk-tabs{top:0}
.sk-tabs__in{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px var(--gut);max-width:var(--wrap);margin:0 auto;scroll-snap-type:x proximity}
.sk-tabs__in::-webkit-scrollbar{display:none}
.sk-tabs a{flex:none;scroll-snap-align:start;padding:.55em 1.1em;border-radius:999px;text-decoration:none;font-weight:700;font-size:.9rem;letter-spacing:.03em;color:var(--muted);border:1px solid transparent;white-space:nowrap}
.sk-tabs a.is-active{background:var(--ink);color:#fff}
@media (hover:hover){.sk-tabs a:not(.is-active):hover{border-color:var(--line);color:var(--ink)}}
.sk-menu-cat{padding-top:clamp(40px,6vw,70px)}
.sk-menu-cat__head{display:flex;align-items:flex-end;gap:16px;margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:14px}
.sk-menu-cat__head h2{margin:0;font-size:clamp(1.6rem,3.4vw,2.3rem)}
.sk-menu-cat__head .sk-jp{margin-left:auto;color:var(--gold-d);font-size:1.1rem}
.sk-menu-cat__note{color:var(--muted);font-size:.95rem;margin:-8px 0 20px}
.sk-dishes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 34px}
@media (max-width:820px){.sk-dishes{grid-template-columns:1fr}}
.sk-dish{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;padding:12px 0;border-bottom:1px dashed var(--line)}
.sk-dish--noimg{grid-template-columns:1fr}
.sk-dish__img{width:96px;height:96px;border-radius:12px;overflow:hidden;background:var(--washi-2);margin:0}
.sk-dish__img img{width:100%;height:100%;object-fit:cover}
button.sk-dish__img{padding:0;border:0;cursor:zoom-in}
.sk-dish__top{display:flex;align-items:baseline;gap:10px}
.sk-dish__name{font-family:var(--serif);font-weight:700;font-size:1.12rem;color:var(--ink);margin:0;line-height:1.3;letter-spacing:-.01em}
.sk-dish__num{display:inline-grid;place-items:center;min-width:30px;height:24px;padding:0 6px;border-radius:6px;background:var(--shu);color:#fff;font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.02em;margin-right:8px;vertical-align:2px}
.sk-dish__dots{flex:1;border-bottom:1px dotted var(--muted-l);transform:translateY(-4px);min-width:16px}
.sk-dish__price{font-family:var(--serif);font-weight:700;color:var(--shu-d);white-space:nowrap;font-size:1.08rem}
.sk-dish__desc{margin:4px 0 0;color:var(--muted);font-size:.93rem;line-height:1.55}
.sk-dish__tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--moss);border:1px solid currentColor;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:2px}
@media (max-width:420px){.sk-dish{grid-template-columns:78px 1fr;gap:12px}.sk-dish__img{width:78px;height:78px}.sk-dish__name{font-size:1.04rem}}

/* ---------- Infos pratiques ---------- */
.sk-info{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.sk-info li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.sk-info__ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--washi);color:var(--shu)}
.sk-section--dark .sk-info__ico,.sk-footer .sk-info__ico{background:rgba(181,148,91,.14);color:var(--gold-l)}
.sk-info__ico svg{width:20px;height:20px}
.sk-info b{display:block;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);margin-bottom:2px}
.sk-section--dark .sk-info b,.sk-footer .sk-info b{color:var(--gold-l)}
.sk-info a{text-decoration:none}
.sk-info a:hover{text-decoration:underline}
.sk-hours{width:100%;border-collapse:collapse;font-size:.97rem}
.sk-hours th,.sk-hours td{text-align:left;padding:10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.sk-hours th{font-weight:700;padding-right:16px;white-space:nowrap}
.sk-section--dark .sk-hours th,.sk-section--dark .sk-hours td{border-color:var(--line-l)}
.sk-status{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;letter-spacing:.04em;padding:6px 12px;border-radius:999px;background:rgba(77,91,58,.12);color:var(--moss)}
.sk-status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 0 currentColor;animation:sk-pulse 2s infinite}
.sk-status.is-closed{background:rgba(198,58,47,.1);color:var(--shu-d)}
.sk-status.is-closed::before{animation:none}
.sk-hero .sk-status,.sk-section--dark .sk-status,.sk-footer .sk-status{background:rgba(255,255,255,.1);color:#bfe3a5}
.sk-hero .sk-status.is-closed,.sk-section--dark .sk-status.is-closed,.sk-footer .sk-status.is-closed{color:#f3b3a9}
@keyframes sk-pulse{0%{box-shadow:0 0 0 0 rgba(120,160,90,.6)}70%{box-shadow:0 0 0 8px rgba(120,160,90,0)}100%{box-shadow:0 0 0 0 rgba(120,160,90,0)}}
.sk-map{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--washi-2);box-shadow:var(--shadow-s);position:relative}
.sk-map iframe{width:100%;height:100%;border:0}
.sk-map__ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;background-color:var(--washi-2)}
.sk-map__ph .sk-btn{box-shadow:var(--shadow)}

/* ---------- Bandeau CTA ---------- */
.sk-cta{position:relative;color:#fff;overflow:hidden;isolation:isolate;padding:clamp(70px,12vw,140px) 0;text-align:center}
.sk-cta__bg{position:absolute;inset:0;z-index:-2}
.sk-cta__bg img{width:100%;height:100%;object-fit:cover}
.sk-cta::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(10,8,6,.55),rgba(10,8,6,.82))}
.sk-cta h2{color:#fff;max-width:18ch;margin-left:auto;margin-right:auto}
.sk-cta p{color:rgba(255,255,255,.88);max-width:52ch;margin:0 auto 1.6em}

/* ---------- Encadrés ---------- */
.sk-note{border-left:3px solid var(--shu);background:#fff;padding:18px 22px;border-radius:0 var(--r-s) var(--r-s) 0;box-shadow:0 1px 0 var(--line)}
.sk-section--washi .sk-note{background:var(--paper)}
.sk-note p:last-child{margin:0}
.sk-note--gold{border-color:var(--gold)}
.sk-callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 30px;background:var(--ink);color:#eee6da;border-radius:var(--r);padding:clamp(22px,4vw,36px);position:relative;overflow:hidden}
.sk-callout h3{color:#fff;margin:0 0 .2em}
.sk-callout p{margin:0;color:#c9bfb0}
.sk-callout::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:var(--shu);opacity:.9;z-index:0}
.sk-callout>*{position:relative;z-index:1}

/* Accordéons */
.sk-acc{border-top:1px solid var(--line)}
.sk-acc details{border-bottom:1px solid var(--line)}
.sk-acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;font-family:var(--serif);font-weight:700;font-size:1.12rem;color:var(--ink)}
.sk-acc summary::-webkit-details-marker{display:none}
.sk-acc summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-family:var(--sans);font-weight:400;font-size:1.3rem;transition:transform .3s var(--ease),background .2s}
.sk-acc details[open] summary::after{transform:rotate(45deg);background:var(--ink);color:#fff;border-color:var(--ink)}
.sk-acc .sk-acc__body{padding:0 0 20px;color:var(--muted)}
.sk-acc .sk-acc__body p:last-child{margin:0}

/* Liste à puces japonaise */
.sk-list{list-style:none;padding:0;margin:0 0 1em}
.sk-list li{position:relative;padding-left:26px;margin-bottom:.55em}
.sk-list li::before{content:"";position:absolute;left:4px;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--shu)}

/* Fournisseurs / chiffres */
.sk-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}
.sk-stats strong{display:block;font-family:var(--serif);font-size:clamp(2rem,4.5vw,3.2rem);line-height:1;color:var(--shu)}
.sk-section--dark .sk-stats strong{color:var(--gold-l)}
.sk-stats span{font-size:.85rem;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.sk-section--dark .sk-stats span{color:var(--muted-l)}
@media (max-width:700px){.sk-stats{grid-template-columns:repeat(2,1fr);gap:26px 12px}}

/* PDF (menu & vins) */
.sk-pdf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:760px){.sk-pdf{grid-template-columns:1fr}}
.sk-pdf__card{display:flex;flex-direction:column;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-s);text-decoration:none;color:inherit}
.sk-pdf__cover{aspect-ratio:16/10;position:relative;overflow:hidden;background:var(--ink)}
.sk-pdf__cover img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:transform .6s var(--ease)}
.sk-pdf__cover .sk-seal{position:absolute;left:18px;bottom:18px}
.sk-pdf__body{padding:20px 22px 24px}
.sk-pdf__body h3{margin:0 0 .25em}
.sk-pdf__body p{margin:0 0 14px;color:var(--muted);font-size:.95rem}
@media (hover:hover){.sk-pdf__card:hover .sk-pdf__cover img{transform:scale(1.05)}}
.sk-pdf-view{margin-top:22px;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-s);background:#fff;height:80vh}
.sk-pdf-view iframe{width:100%;height:100%;border:0}
@media (max-width:1023px){.sk-pdf-view{display:none}}

/* Formulaires (JotForm, resOS) */
.sk-embed{background:#fff;border-radius:var(--r);padding:clamp(14px,3vw,28px);box-shadow:var(--shadow-s)}
.sk-embed iframe{width:100%!important;min-width:0!important}
a#booking-widget-2{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:54px;padding:.8em 2em;border-radius:999px;background:var(--shu);color:#fff!important;font-weight:700;letter-spacing:.06em;text-decoration:none;font-size:1rem;box-shadow:var(--shadow-s)}
a#booking-widget-2:hover{background:var(--shu-d)}
#booking-script-2 a{color:var(--muted)}

/* ---------- Pied de page ---------- */
.sk-footer{background:var(--ink);color:#cfc6b8;padding:clamp(60px,9vw,100px) 0 0;position:relative;overflow:hidden}
.sk-footer::before{content:"";position:absolute;inset:0 0 auto 0;height:28px;opacity:.35;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28' viewBox='0 0 56 28'%3E%3Cg fill='none' stroke='%23b5945b'%3E%3Cpath d='M0 28a28 28 0 0 1 56 0'/%3E%3Cpath d='M8 28a20 20 0 0 1 40 0'/%3E%3Cpath d='M16 28a12 12 0 0 1 24 0'/%3E%3C/g%3E%3C/svg%3E") repeat-x top/56px 28px;transform:scaleY(-1)}
.sk-footer a{text-decoration:none;color:#efe8dc}
.sk-footer a:hover{color:var(--gold-l)}
.sk-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
@media (max-width:1023px){.sk-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.sk-footer__grid{grid-template-columns:1fr;gap:34px}}
.sk-footer h2{font-family:var(--sans);font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-l);margin:0 0 16px}
.sk-footer ul{list-style:none;padding:0;margin:0}
.sk-footer li{margin-bottom:9px}
.sk-footer__brand p{color:#a79e90;max-width:34ch;font-size:.95rem}
.sk-footer__brand .sk-logo{margin-bottom:16px}
.sk-social{display:flex;gap:10px;margin-top:18px}
.sk-social a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-l);transition:background .2s,border-color .2s}
.sk-social a:hover{background:var(--shu);border-color:var(--shu);color:#fff}
.sk-social svg{width:18px;height:18px}
.sk-footer__hours p{margin:0 0 8px;font-size:.95rem}
.sk-footer__hours small{color:#a79e90}
.sk-footer__bottom{margin-top:clamp(40px,6vw,70px);border-top:1px solid var(--line-l);padding:22px 0 26px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:.85rem;color:#91887b}
.sk-footer__bottom a{color:#b9b0a3}
.sk-footer__big{position:absolute;right:-10px;bottom:40px;font-family:var(--jp);writing-mode:vertical-rl;font-size:clamp(5rem,11vw,9rem);line-height:1;color:#fff;opacity:.035;pointer-events:none}

/* ---------- Bulle de langues ---------- */
#sk-lang{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:980;font-family:var(--sans)}
@media (max-width:1023px){#sk-lang{right:12px;bottom:calc(var(--mbar) + 12px + env(safe-area-inset-bottom))}}
.sk-lang__btn{display:flex;align-items:center;gap:8px;height:48px;padding:0 16px 0 12px;border-radius:999px;border:1px solid rgba(181,148,91,.55);background:var(--ink);color:#fff;cursor:pointer;box-shadow:0 10px 30px -8px rgba(0,0,0,.45);font-weight:700;font-size:.85rem;letter-spacing:.08em;-webkit-tap-highlight-color:transparent;transition:transform .25s var(--ease)}
.sk-lang__btn svg{width:22px;height:22px;color:var(--gold-l)}
.sk-lang__btn:hover{transform:translateY(-2px)}
@media (max-width:1023px){.sk-lang__btn{height:44px;padding:0 13px 0 10px}}
.sk-lang__panel{position:absolute;right:0;bottom:calc(100% + 10px);width:250px;max-height:min(70vh,520px);overflow:auto;background:#fff;color:var(--ink);border-radius:16px;box-shadow:var(--shadow);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px) scale(.98);transform-origin:bottom right;transition:opacity .2s,transform .25s var(--ease),visibility .2s}
#sk-lang.is-open .sk-lang__panel{opacity:1;visibility:visible;transform:none}
.sk-lang__title{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding:10px 12px 6px;margin:0}
.sk-lang__panel ul{list-style:none;margin:0;padding:0}
.sk-lang__panel button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:0;background:none;border-radius:10px;cursor:pointer;text-align:left;font-size:.98rem}
.sk-lang__panel button:hover{background:var(--washi)}
.sk-lang__panel button[aria-current="true"]{background:var(--washi);font-weight:700}
.sk-lang__panel button[aria-current="true"]::after{content:"✓";margin-left:auto;color:var(--shu)}
.sk-lang__code{display:inline-grid;place-items:center;width:34px;height:24px;border-radius:5px;background:var(--ink);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.06em;flex:none}
.sk-lang__note{font-size:.75rem;color:var(--muted);padding:8px 12px 6px;margin:0;border-top:1px solid var(--line)}
@media (max-width:600px){
  .sk-lang__panel{position:fixed;left:12px;right:12px;width:auto;bottom:calc(var(--mbar) + 70px + env(safe-area-inset-bottom));max-height:60vh}
  .sk-lang__panel ul{display:grid;grid-template-columns:1fr 1fr}
}
body.sk-lock #sk-lang,body.sk-lb-open #sk-lang{display:none}
/* Google Traduction : masquer la barre et les infobulles */
.goog-te-banner-frame,.skiptranslate iframe,#goog-gt-tt,.goog-te-balloon-frame,.goog-tooltip,.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,.VIpgJd-yAWNEb-L7lbkb{display:none!important}
body{top:0!important;position:static!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}
#google_translate_element{display:none}

/* ---------- Popup vidéo (accueil) ---------- */
.sk-modal{position:fixed;inset:0;z-index:4000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(8,7,5,.82);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.sk-modal.is-open{opacity:1;visibility:visible}
.sk-modal__box{position:relative;width:min(380px,100%);border-radius:18px;overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.6);transform:translateY(14px) scale(.98);transition:transform .35s var(--ease)}
.sk-modal.is-open .sk-modal__box{transform:none}
.sk-modal__box video{width:100%;aspect-ratio:9/16;max-height:78vh;max-height:78svh;object-fit:cover}
.sk-modal__close{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;display:grid;place-items:center;z-index:2}
.sk-modal__close svg{width:20px;height:20px}
.sk-modal__cap{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 16px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;font-size:.9rem}
.sk-modal__cap strong{font-family:var(--serif);font-size:1.1rem;display:block}
.sk-modal--text .sk-modal__box{background:var(--paper);color:var(--text);padding:30px 26px 24px;width:min(460px,100%);text-align:center}
.sk-modal--text h2{font-size:1.6rem}
.sk-modal--text .sk-modal__close{background:var(--washi);color:var(--ink)}
.sk-play{display:inline-flex;align-items:center;gap:12px;background:none;border:0;color:#fff;cursor:pointer;font-weight:700;letter-spacing:.08em;font-size:.88rem;text-transform:uppercase;padding:0}
.sk-play i{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:1.5px solid rgba(255,255,255,.7);position:relative}
.sk-play i::before{content:"";margin-left:4px;border-left:13px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent}
.sk-play i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(255,255,255,.35);animation:sk-ring 2.4s infinite}
@keyframes sk-ring{0%{transform:scale(.9);opacity:1}100%{transform:scale(1.35);opacity:0}}

/* ---------- Apparition au défilement ---------- */
.js .sk-reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .sk-reveal.is-in{opacity:1;transform:none}
.js .sk-reveal[data-delay="1"]{transition-delay:.1s}.js .sk-reveal[data-delay="2"]{transition-delay:.2s}.js .sk-reveal[data-delay="3"]{transition-delay:.3s}
@media (prefers-reduced-motion:reduce){.js .sk-reveal{opacity:1;transform:none;transition:none}}

/* ---------- Bandeau cookies (js/sushikai-consent.js) ---------- */
#sk-consent{font-family:var(--sans)!important;z-index:6000!important;background:var(--ink)!important}
@media (max-width:1023px){#sk-consent{padding-bottom:calc(20px + env(safe-area-inset-bottom))!important}}

/* ---------- Utilitaires ---------- */
.sk-mt-0{margin-top:0}.sk-mb-0{margin-bottom:0}
.sk-mt{margin-top:clamp(28px,4vw,48px)}
.sk-mb{margin-bottom:clamp(28px,4vw,48px)}
.sk-hide-m{}
@media (max-width:760px){.sk-hide-m{display:none!important}}
.sk-only-m{display:none}
@media (max-width:760px){.sk-only-m{display:initial}}
@media print{.sk-header,.sk-mbar,#sk-lang,.sk-drawer,#sk-consent{display:none!important}body{padding:0}}

/* ---------- Héros : réglages petits écrans ---------- */
.sk-hero__kicker{text-shadow:0 1px 10px rgba(0,0,0,.6)}
@media (max-width:760px){
  .sk-hero__in{padding-bottom:28px}
  .sk-hero h1{font-size:clamp(2.1rem,9.4vw,2.8rem);margin-bottom:.3em}
  .sk-hero__lead{font-size:1rem;line-height:1.6;margin-bottom:1.2em}
  .sk-hero__kicker{font-size:.7rem;letter-spacing:.2em;margin-bottom:12px}
  .sk-hero .sk-btns--stack{flex-direction:row}
  .sk-hero .sk-btns--stack .sk-btn{flex:1 1 0;width:auto;padding:.7em .9em;font-size:.88rem;min-height:50px}
  .sk-hero__meta{margin-top:18px;gap:10px 16px;font-size:.85rem}
  .sk-hero__meta>span:not([data-status]){display:none}
  .sk-play i{width:40px;height:40px}
  .sk-play{font-size:.78rem}
}
@media (max-width:360px){.sk-hero .sk-btns--stack{flex-direction:column}}
@media (max-width:1023px){.sk-hero{min-height:calc(100svh - var(--mbar))}.sk-hero--page{min-height:62svh}}
/* rails à 3 colonnes visibles (avis…) */
@media (min-width:641px){.sk-rail--3{grid-auto-columns:calc((100% - 18px)/2)}}
@media (min-width:1024px){.sk-rail--3{grid-auto-columns:calc((100% - 36px)/3)}}
@media (max-width:640px){.sk-score{gap:14px 22px}.sk-score__item strong{font-size:1.6rem}}
.sk-drawer .sk-logo{color:#fff}
.sk-drawer .sk-logo__word--dark{display:none}
.sk-drawer .sk-logo__word--light{display:block}
@media (max-width:1023px){.sk-hero__meta{padding-right:86px}}
a.sk-dish__img{display:block}
@media (max-width:1023px){.sk-hero--short{min-height:52svh}}
.sk-gallery>[hidden],[data-cat][hidden]{display:none!important}
@media (max-width:640px){.sk-callout::after{width:90px;height:90px;right:-30px;top:-30px;opacity:.55}}
@media (min-width:641px) and (max-width:1023px){.sk-grid--3>:nth-child(3):last-child{grid-column:1/-1}}
.sk-hours tr.is-current th,.sk-hours tr.is-current td{color:var(--ink);font-weight:700}
.sk-hours tr.is-current th::after{content:"en ce moment";display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--shu-d);font-weight:700;margin-top:2px}
.sk-section--dark .sk-hours tr.is-current th,.sk-section--dark .sk-hours tr.is-current td{color:#fff}

/* =====================================================================
   Passe responsive 2 (25/09/2026)
   ===================================================================== */
/* Rails : la 1re carte s'aligne sur la marge, plus de carte collée au bord */
.sk-rail{scroll-padding-inline:var(--gut)}
@media (max-width:640px){.sk-rail{grid-auto-columns:84%;gap:14px}}

/* Avis */
.sk-review cite{display:block;line-height:1.5}
.sk-review cite b{display:block;color:var(--ink);font-size:.92rem}
.sk-section--dark .sk-review cite b{color:#fff}
@media (max-width:640px){
  .sk-review{padding:22px 20px 18px}
  .sk-review blockquote{font-size:1rem;line-height:1.6}
  .sk-stars{font-size:.9rem;margin-bottom:8px}
}
/* Notes Tripadvisor / Google / TheFork : trois pastilles alignées */
.sk-score{display:grid;grid-template-columns:repeat(3,minmax(0,max-content));justify-content:center;gap:12px;margin:0 0 30px}
.sk-score__item{flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;background:#fff;border-radius:14px;padding:14px 18px;min-width:120px;box-shadow:0 1px 0 var(--line);transition:transform .2s var(--ease)}
.sk-section--dark .sk-score__item{background:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-l)}
.sk-score__item strong{font-size:1.7rem}
.sk-score__item span{font-size:.78rem}
@media (hover:hover){.sk-score__item:hover{transform:translateY(-2px)}}
@media (max-width:640px){
  .sk-score{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:24px}
  .sk-score__item{min-width:0;padding:12px 6px}
  .sk-score__item strong{font-size:1.25rem}
  .sk-score__item span{font-size:.72rem;line-height:1.3}
}

/* Lisibilité des petits libellés sur mobile */
@media (max-width:760px){
  .sk-hero__kicker{font-size:.76rem;letter-spacing:.14em}
  .sk-eyebrow{font-size:.8rem;letter-spacing:.14em}
  .sk-info b{font-size:.78rem}
}
/* Zones tactiles */
.sk-crumbs a{display:inline-block;padding:10px 0}
.sk-crumbs{margin-bottom:6px}
.sk-link{padding:12px 0 4px;border-bottom:0;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.sk-footer li{margin-bottom:0}
.sk-footer ul:not(.sk-info) a{display:inline-block;padding:7px 0}
.sk-footer__bottom a{display:inline-block;padding:8px 0}
/* grilles : empêcher un contenu trop large d'élargir la colonne */
.sk-split{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
@media (max-width:900px){.sk-split{grid-template-columns:minmax(0,1fr)}}
.sk-review{margin:0}
@media (max-width:760px){.sk-hero__media img{animation:none}}
.sk-section--navy .sk-hours tr.is-current th,.sk-section--navy .sk-hours tr.is-current td{color:#fff}
.sk-title,.sk-hero h1,.sk-cta h2,.sk-tile__body h3,.sk-card h3{text-wrap:balance}
@media (min-width:641px) and (max-width:1023px){.sk-grid--3>.sk-tile:nth-child(3):last-child{aspect-ratio:16/7}}
.sk-lb__count{pointer-events:none}
a[href^="tel:"]{white-space:nowrap}
h1,h2{text-wrap:balance}
.sk-hero .sk-crumbs{color:rgba(255,255,255,.95);text-shadow:0 1px 8px rgba(0,0,0,.55)}
.sk-hero .sk-eyebrow,.sk-hero__kicker{text-shadow:0 1px 10px rgba(0,0,0,.65)}
.sk-hero::before{content:"";position:absolute;inset:0 0 auto 0;height:45%;z-index:-1;background:linear-gradient(180deg,rgba(10,8,6,.35),transparent);pointer-events:none}
.sk-link{display:inline;text-wrap:balance;line-height:2.4}
.sk-link::after{display:inline-block;margin-left:.45em}
.sk-footer__bottom{padding-right:96px}
@media (max-width:1023px){.sk-footer__bottom{padding-right:0;padding-bottom:70px}}
@media (max-width:640px){.sk-score__item span{font-size:.8rem}}
.sk-score{align-items:stretch}

/* =====================================================================
   Passe design 3 (25/09/2026) — « l'élégance d'une maison japonaise »
   Signature : ensō · grain washi · numéros kanji · arche + liseré or ·
   rideau d'image · horizon au lavis · kanji en filigrane · trait de pinceau ·
   pétales (accueil). Mode d'emploi : _src/COMPOSANTS-DESIGN.md
   ===================================================================== */
:root{
  /* grain de papier washi : bruit SVG (≈ 4 % d'opacité), tuile 220 px, aucun fichier */
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .24 0 0 0 0 .19 0 0 0 0 .13 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23g)'/%3E%3C/svg%3E");
  /* trait de pinceau (soulignement au survol) */
  --brush-shu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 10' preserveAspectRatio='none'%3E%3Cpath d='M1 6.4C30 3.6 70 3.2 110 3.6s70 .6 88 1.5c1 .1 1.2 1.1.2 1.3C168 7.8 120 7 80 7.4S20 8.6 3 8.9C.2 9 0 6.6 1 6.4z' fill='%23c63a2f' fill-opacity='.62'/%3E%3C/svg%3E");
  --brush-gold:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 10' preserveAspectRatio='none'%3E%3Cpath d='M1 6.4C30 3.6 70 3.2 110 3.6s70 .6 88 1.5c1 .1 1.2 1.1.2 1.3C168 7.8 120 7 80 7.4S20 8.6 3 8.9C.2 9 0 6.6 1 6.4z' fill='%23d8bf92' fill-opacity='.8'/%3E%3C/svg%3E");
  --horizon-mont:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 80V46c70-6 120-20 190-19 60 1 90 14 150 10 70-5 110-30 180-31 60-1 90 20 150 22 50 2 90-12 140-15 60-3 95 5 130-4 40-10 60-36 88-40 26-4 44 18 64 26 40 16 86 6 136 10 60 5 90 20 140 17 40-2 60-10 72-12V80z' fill-opacity='.28'/%3E%3Cpath d='M0 80V58c90-4 150-15 230-12 80 3 130 17 210 14 90-4 140-20 220-18 70 2 110 16 180 16 80 0 120-18 200-18 70 0 120 14 190 16 80 2 150-8 210-6V80z' fill-opacity='.55'/%3E%3Cpath d='M0 80V70c120-2 220-9 360-8 130 1 220 8 360 7 150-1 230-10 380-9 130 1 220 6 340 6V80z'/%3E%3C/svg%3E");
  --horizon-vague:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 80V40c60 0 90-18 150-18s90 18 150 18 90-18 150-18 90 18 150 18 90-18 150-18 90 18 150 18 90-18 150-18 90 18 150 18 90-18 150-18 90 18 150 18V80z' fill-opacity='.22'/%3E%3Cpath d='M0 80V56c80 0 110-16 190-16s110 16 190 16 110-16 190-16 110 16 190 16 110-16 190-16 110 16 190 16 110-16 190-16 110 16 110 16V80z' fill-opacity='.5'/%3E%3Cpath d='M0 80V70c100 0 140-8 240-8s140 8 240 8 140-8 240-8 140 8 240 8 140-8 240-8 140 8 240 8V80z'/%3E%3C/svg%3E");
}

/* ---------- 1. Grain washi : automatique sur tous les fonds clairs ---------- */
body{background-image:var(--grain)}
.sk-section--washi,.sk-pagehead{background-image:var(--grain)}
.sk-section--washi.sk-pattern{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40' viewBox='0 0 80 40'%3E%3Cg fill='none' stroke='%23b5945b' stroke-opacity='.13'%3E%3Cpath d='M0 40a40 40 0 0 1 80 0M10 40a30 30 0 0 1 60 0M20 40a20 20 0 0 1 40 0M30 40a10 10 0 0 1 20 0'/%3E%3Cpath d='M-40 20a40 40 0 0 1 80 0M-30 20a30 30 0 0 1 60 0M-20 20a20 20 0 0 1 40 0M-10 20a10 10 0 0 1 20 0M40 20a40 40 0 0 1 80 0M50 20a30 30 0 0 1 60 0M60 20a20 20 0 0 1 40 0M70 20a10 10 0 0 1 20 0'/%3E%3C/g%3E%3C/svg%3E"),var(--grain);background-size:80px 40px,auto}
.sk-grain{background-image:var(--grain)}   /* à poser sur un autre bloc clair si besoin */

/* ---------- 2. Numérotation kanji des sections : <span class="sk-kan" aria-hidden="true">一</span> dans .sk-eyebrow ---------- */
.sk-kan{position:relative;display:inline-grid;place-items:center;width:2.25em;height:2.25em;margin-right:calc(.2em + 24px);border:1px solid currentColor;border-radius:3px;font-family:var(--jp);font-weight:600;font-size:1.05em;line-height:1;letter-spacing:0;color:var(--shu);text-transform:none}
.sk-kan::after{content:"";position:absolute;left:calc(100% + .7em);top:50%;width:18px;height:1px;background:var(--gold-d);opacity:.6}
.sk-eyebrow:has(>.sk-kan)::before,.sk-center .sk-eyebrow:has(>.sk-kan)::after{display:none}
.sk-section--dark .sk-kan,.sk-section--navy .sk-kan,.sk-hero .sk-kan,.sk-cta .sk-kan{color:var(--gold-l)}
.sk-section--dark .sk-kan::after,.sk-section--navy .sk-kan::after,.sk-hero .sk-kan::after,.sk-cta .sk-kan::after{background:var(--gold-l)}

/* ---------- 3. Ensō : {{enso}} / {{enso:gold}} ---------- */
.sk-enso{display:block;width:100%;height:auto;aspect-ratio:1;color:var(--shu);pointer-events:none;overflow:visible}
.sk-enso--gold{color:var(--gold)}
.sk-enso__m{stroke-dasharray:1 1;stroke-dashoffset:0;transition:stroke-dashoffset 2.4s cubic-bezier(.55,.1,.25,1) .15s}
.js .sk-enso.sk-reveal{opacity:1;transform:none;transition:none}
.js .sk-enso.sk-reveal:not(.is-in) .sk-enso__m{stroke-dashoffset:1}
/* a) ensō derrière un en-tête de section centré : <div class="sk-center sk-ensohead">{{enso}}…</div> */
.sk-ensohead{position:relative;isolation:isolate}
.sk-ensohead>.sk-enso{position:absolute;z-index:-1;left:50%;top:50%;width:clamp(190px,30vw,280px)}
.sk-ensohead>.sk-enso,.js .sk-ensohead>.sk-enso.sk-reveal{transform:translate(-50%,-52%) rotate(-8deg);opacity:.2}
.sk-ensohead>.sk-enso--gold,.js .sk-ensohead>.sk-enso--gold.sk-reveal{opacity:.4}
/* b) ensō autour d'un kanji, d'un chiffre ou d'une icône : <span class="sk-ensomark">{{enso}}<span>和</span></span> */
.sk-ensomark{position:relative;display:inline-grid;place-items:center;width:var(--size,88px);aspect-ratio:1;flex:none}
.sk-ensomark>.sk-enso{position:absolute;inset:0}
.sk-ensomark>.sk-enso,.js .sk-ensomark>.sk-enso.sk-reveal{transform:rotate(-12deg)}
.sk-ensomark>span{position:relative;font-family:var(--jp);font-size:calc(var(--size,88px) * .38);line-height:1;color:var(--ink)}
.sk-section--dark .sk-ensomark>span{color:#fff}

/* ---------- 4. Formes d'image : arche + liseré or décalé ---------- */
.sk-frame--arch{aspect-ratio:4/5;border-radius:50% 50% var(--r) var(--r)/40% 40% var(--r) var(--r)}
.sk-liseret{position:relative;isolation:isolate;--lx:14px;--ly:14px}
.sk-liseret::before{content:"";position:absolute;inset:0;z-index:-1;border:1px solid var(--gold);border-radius:var(--r);transform:translate(var(--lx),var(--ly));pointer-events:none;opacity:.85}
.sk-liseret--l{--lx:-14px}
.sk-liseret--arch::before{border-radius:50% 50% var(--r) var(--r)/40% 40% var(--r) var(--r)}
.sk-section--dark .sk-liseret::before{border-color:var(--gold-l);opacity:.6}
@media (max-width:640px){.sk-liseret{--lx:10px;--ly:10px}.sk-liseret--l{--lx:-10px}}
/* bloc image empilé (≤ 900 px) : l'arche ne prend pas toute la largeur d'une tablette */
@media (max-width:900px){.sk-split__media>.sk-liseret--arch,.sk-split__media>.sk-frame--arch{max-width:440px;margin-inline:auto}}

/* ---------- 5. Rideau d'image (automatique sur les grandes images des blocs .sk-split) ----------
   sk.js ajoute .sk-curtain + .sk-reveal aux .sk-frame de .sk-split__media (ou à toute
   .sk-frame marquée class="sk-frame sk-curtain") ; ouverture façon shōji, une seule fois.
   Pour l'empêcher : class="sk-split__media sk-no-curtain". */
.js .sk-curtain.sk-reveal{opacity:1;transform:none;clip-path:inset(0 50% 0 50%);transition:clip-path 1.1s cubic-bezier(.65,0,.25,1)}
.js .sk-curtain.sk-reveal.is-in{clip-path:inset(-80px)}
.js .sk-curtain.sk-reveal img{transform:scale(1.14);transition:transform 1.8s var(--ease)}
.js .sk-curtain.sk-reveal.is-in img{transform:none}
.js .sk-stack>.sk-curtain:nth-child(2),.js .sk-stack>.sk-curtain:nth-child(2) img{transition-delay:.35s}
.js .sk-split__media .sk-badge.sk-reveal{transition-delay:.7s}

/* ---------- 6. Horizon au lavis : {{horizon}} (montagnes) / {{horizon:vague}} ----------
   À placer en PREMIER enfant d'une .sk-section : il déborde vers le haut sur la section
   précédente, dans la couleur de la section qui le contient. */
.sk-horizon{position:absolute;left:0;right:0;bottom:100%;height:clamp(38px,5.4vw,72px);margin-bottom:-1px;pointer-events:none;z-index:1;background-color:var(--paper);background-image:var(--grain);-webkit-mask:var(--horizon-mont) 50% 100%/100% 100% no-repeat;mask:var(--horizon-mont) 50% 100%/100% 100% no-repeat}
.sk-horizon--vague{-webkit-mask-image:var(--horizon-vague);mask-image:var(--horizon-vague)}
@media (max-width:760px){.sk-horizon{-webkit-mask-size:980px 100%;mask-size:980px 100%}}
.sk-section--washi>.sk-horizon{background-color:var(--washi);background-image:var(--grain)}
.sk-section--dark>.sk-horizon{background:var(--ink)}
.sk-section--navy>.sk-horizon{background:var(--navy)}

/* ---------- 7. Kanji géant en filigrane derrière un titre de héros ---------- */
.sk-hero__in:has(>.sk-hero__kanji)>*:not(.sk-hero__kanji){position:relative}   /* le texte passe au-dessus du kanji */
.sk-hero__kanji{position:absolute;z-index:0;left:calc(var(--gut) - .08em);top:50%;transform:translateY(-50%);font-family:var(--jp);font-weight:600;font-size:clamp(10rem,24vw,21rem);line-height:1;color:#fff;opacity:.07;pointer-events:none;user-select:none}
@media (max-width:760px){.sk-hero__kanji{font-size:min(62vw,15rem);left:auto;right:-.1em;opacity:.08}}
/* variante section (fond clair ou sombre) : <span class="sk-kanji-bg" aria-hidden="true" style="right:0;top:40px">旬</span> */
.sk-kanji-bg{position:absolute;z-index:0;font-family:var(--jp);font-weight:600;line-height:.9;font-size:clamp(9rem,22vw,18rem);color:var(--ink);opacity:.05;pointer-events:none;user-select:none}
.sk-section--dark .sk-kanji-bg{color:#fff;opacity:.06}
@media (max-width:760px){.sk-kanji-bg{display:none}}

/* ---------- 8. Micro-interactions ---------- */
/* a) trait de pinceau au survol (souris uniquement) : .sk-link, liens de texte, pied de page */
@media (hover:hover) and (pointer:fine){
  .sk-link,.sk-prose a,main p>a:not([class]),.sk-card p a,.sk-footer ul:not(.sk-info) a{background:var(--brush-shu) no-repeat 0 100%/0% .45em;transition:background-size .55s var(--ease),text-decoration-color .3s,color .2s}
  .sk-section--dark .sk-link,.sk-section--navy .sk-link,.sk-section--dark p>a:not([class]),.sk-footer ul:not(.sk-info) a{background-image:var(--brush-gold)}
  .sk-footer ul:not(.sk-info) a{background-position:0 calc(100% - 3px)}
  .sk-link:hover,.sk-prose a:hover,main p>a:not([class]):hover,.sk-card p a:hover,.sk-footer ul:not(.sk-info) a:hover{background-size:100% .45em;text-decoration-color:transparent}
}
/* b) boutons : léger relief et reflet qui passe au survol */
.sk-btn{position:relative;overflow:hidden;isolation:isolate}
.sk-btn:not(.sk-btn--ghost):not(.sk-btn--ghost-light){box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -2px 0 rgba(0,0,0,.14)}
.sk-btn::after{content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.26) 50%,transparent 65%);transform:translateX(-110%);pointer-events:none}
.sk-btn--ghost::after{background:linear-gradient(105deg,transparent 35%,rgba(181,148,91,.22) 50%,transparent 65%)}
@media (hover:hover){
  .sk-btn:hover::after{transform:translateX(110%);transition:transform .8s var(--ease)}
  .sk-btn:not(.sk-btn--ghost):not(.sk-btn--ghost-light):hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -2px 0 rgba(0,0,0,.14),var(--shadow-s)}
}
/* c) cartes qui se soulèvent */
@media (hover:hover){
  .sk-card,.sk-pdf__card{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
  .sk-card:hover,.sk-pdf__card:hover{transform:translateY(-4px);box-shadow:0 1px 0 var(--line),var(--shadow)}
  .sk-section--dark .sk-card:hover{box-shadow:inset 0 0 0 1px rgba(181,148,91,.35),var(--shadow)}
}

/* ---------- 9. Pétales de cerisier (héros de l'accueil UNIQUEMENT) ----------
   <div class="sk-petals" data-petals aria-hidden="true"></div> juste avant .sk-hero__in ;
   sk.js crée 6 (mobile) à 9 pétales, 3 chutes chacun puis arrêt, pause hors écran. */
.sk-petals{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.sk-petals i{position:absolute;top:-24px;left:var(--x);width:var(--s);height:var(--s);opacity:0;will-change:transform;animation:sk-fall var(--d) linear var(--dl) 3 both}
.sk-petals i::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cdefs%3E%3ClinearGradient id='p' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23fde8ea'/%3E%3Cstop offset='1' stop-color='%23eaa9b4'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M10 19C4 15 1.5 10 3 5.5 4 2.6 6.6 1.3 8.6 2.6L10 4.2l1.4-1.6c2-1.3 4.6 0 5.6 2.9 1.5 4.5-1 9.5-7 13.5z' fill='url(%23p)'/%3E%3C/svg%3E") center/contain no-repeat;animation:sk-sway var(--w) ease-in-out infinite alternate}
.sk-petals.is-paused i,.sk-petals.is-paused i::before,.sk-petals.is-done i::before{animation-play-state:paused}
@keyframes sk-fall{0%{opacity:0;transform:translate3d(0,0,0)}8%{opacity:var(--o)}82%{opacity:var(--o)}100%{opacity:0;transform:translate3d(var(--dx),calc(100vh + 60px),0)}}
@keyframes sk-sway{from{transform:translateX(-14px) rotate(-35deg) rotateY(0)}to{transform:translateX(14px) rotate(40deg) rotateY(60deg)}}

/* ---------- Mouvement réduit : tout est coupé, tout est visible ---------- */
@media (prefers-reduced-motion:reduce){
  .sk-petals{display:none}
  .sk-enso__m{transition:none;stroke-dashoffset:0!important}
  .js .sk-curtain.sk-reveal,.js .sk-curtain.sk-reveal.is-in{clip-path:none;transition:none}
  .js .sk-curtain.sk-reveal img{transform:none;transition:none}
  .sk-btn::after{display:none}
  .sk-card,.sk-pdf__card{transition:none}
  .sk-card:hover,.sk-pdf__card:hover{transform:none}
}
@media print{.sk-petals,.sk-horizon{display:none}body{background-image:none}}
/* numéros kanji : chiffres formels (daiji) sans cadre — ne ressemblent plus à des cases */
.sk-kan{width:auto;height:auto;border:0;border-radius:0;font-size:1.5em;font-weight:700;color:var(--shu);margin-right:calc(.35em + 24px);letter-spacing:0;text-transform:none;transform:translateY(-.04em)}

/* =====================================================================
   Police des titres : Kaisei Tokumin (fonderie japonaise Kaisei, 25/09/2026)
   Remplace Yuji Syuku (jugée « trop enfant » par le client). Titres serrés :
   interlettrage -0,02 em, interlignage 1,05 à 1,2. Textes longs en Shippori.
   ===================================================================== */
html{font-synthesis:none}
h1,h2,h3,h4,h5,h6,.sk-dish__price,.sk-stats strong,.sk-score__item strong,.sk-card__num,.sk-acc summary,.sk-drawer nav a,.sk-modal__cap strong{font-weight:700;letter-spacing:-.02em;word-spacing:0}
.sk-hero h1{letter-spacing:-.025em;line-height:1.04}
.sk-title em,.sk-hero h1 em{font-weight:inherit}
h1{line-height:1.05}h2{line-height:1.1}h3,h4,h5,h6{line-height:1.2}
.sk-drawer nav a{font-weight:500}
.sk-review blockquote{font-family:var(--serif-text);font-weight:500}
.sk-prose p,.sk-prose li{font-family:var(--sans)}

/* =====================================================================
   Menu mobile : panneau figé (25/09/2026)
   Le kanji décoratif débordait à droite → le panneau glissait sur le côté.
   ===================================================================== */
.sk-drawer{overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y}
.sk-drawer::after{right:0}
html.sk-lock-html,html.sk-lock-html body{overflow:hidden;overscroll-behavior:none}

/* =====================================================================
   À emporter mis en avant partout (page la plus consultée)
   ===================================================================== */
.sk-btn--takeaway{--b:var(--gold);--c:var(--ink)}
@media (hover:hover){.sk-btn--takeaway:hover{--b:var(--gold-l)}}
.sk-header__cta .sk-btn--takeaway svg{width:16px;height:16px}
@media (max-width:1180px){.sk-header__cta .sk-btn--takeaway{padding-left:.9em;padding-right:.9em}}
/* barre mobile : Appeler | À emporter | Réserver */
@media (max-width:1023px){
  .sk-mbar{grid-template-columns:.85fr 1.2fr 1.1fr}
  .sk-mbar a.is-takeaway{background:var(--gold);color:var(--ink);border-left:0}
  .sk-mbar a.is-takeaway:active{background:var(--gold-l)}
  .sk-mbar a.is-takeaway svg{width:22px;height:22px}
}
/* tiroir : carte « Commander à emporter » en tête */
.sk-drawer__takeaway{display:flex;align-items:center;gap:14px;margin:4px var(--gut) 6px;padding:14px 16px;border-radius:14px;background:var(--gold);color:var(--ink);text-decoration:none;flex:none}
.sk-drawer__takeaway-ico{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(18,16,13,.12);flex:none}
.sk-drawer__takeaway-ico svg{width:22px;height:22px}
.sk-drawer__takeaway strong{display:block;font-family:var(--serif);font-weight:700;font-size:1.2rem;line-height:1.2}
.sk-drawer__takeaway small{display:block;font-size:.82rem;opacity:.8}
.sk-drawer__takeaway>svg{width:20px;height:20px;margin-left:auto;flex:none}
/* héros accueil mobile : Réserver pleine largeur, puis À emporter + Menu */
@media (max-width:760px){
  .page-index .sk-hero .sk-btns--stack{flex-wrap:wrap}
  .page-index .sk-hero .sk-btns--stack .sk-btn--shu{flex:1 1 100%}
}
.sk-drawer nav a{letter-spacing:-.035em}
.sk-dish__price,.sk-stats strong,.sk-score__item strong,.sk-card__num{letter-spacing:-.03em}
.sk-drawer::after{right:34px}
/* En-tête PC : libellés sur une ligne, place pour « À emporter » + « Réserver » */
.sk-nav a,.sk-nav .sk-nav__btn{white-space:nowrap}
.sk-header__cta .sk-btn{white-space:nowrap}
@media (min-width:1024px) and (max-width:1279px){
  .sk-nav>ul>li:first-child{display:none}
  .sk-nav a,.sk-nav .sk-nav__btn{padding:10px 10px;letter-spacing:.06em;font-size:.82rem}
  .sk-header__in{gap:12px}
  .sk-header__cta{margin-left:4px;gap:8px}
}
@media (min-width:1024px) and (max-width:1120px){.sk-header__tel{display:none}}
.sk-nav .sk-nav__btn svg{flex:none}
.sk-enso,svg.sk-enso{max-width:none}
/* carte : noms de plats dans une police de lecture (parcours rapide de ~40 plats) */
.sk-dish__name{font-family:var(--serif);font-weight:700;letter-spacing:-.01em;word-spacing:0}

/* =====================================================================
   Barre d'actions mobile : version discrète (25/09/2026)
   Fond encre translucide, plus de blocs doré/rouge ; seules les icônes
   portent l'accent. Elle s'efface quand on descend, revient quand on
   remonte ou en fin de page.
   ===================================================================== */
@media (max-width:1023px){
  .sk-mbar{grid-template-columns:repeat(3,1fr);background:rgba(18,16,13,.86);border-top:1px solid rgba(255,255,255,.07);box-shadow:none;transition:transform .35s var(--ease)}
  .sk-mbar a,.sk-mbar a.is-primary,.sk-mbar a.is-takeaway{background:transparent;color:#cfc6b8;border-left:0;flex-direction:row;gap:8px;font-size:.74rem;font-weight:500;letter-spacing:.04em;text-transform:none}
  .sk-mbar a+a{border-left:1px solid rgba(255,255,255,.06)}
  .sk-mbar a svg,.sk-mbar a.is-takeaway svg{width:18px;height:18px;opacity:.9}
  .sk-mbar a.is-takeaway svg{color:var(--gold-l)}
  .sk-mbar a.is-primary svg{color:#ef8a7f}
  .sk-mbar a.is-primary{color:#fff}
  .sk-mbar a[aria-current="page"]{color:var(--gold-l)}
  .sk-mbar a:active,.sk-mbar a.is-primary:active,.sk-mbar a.is-takeaway:active{background:rgba(255,255,255,.06)}
  body.hdr-hidden:not(.sk-near-end) .sk-mbar{transform:translateY(calc(100% + 2px))}
  #sk-lang{transition:bottom .35s var(--ease)}
  body.hdr-hidden:not(.sk-near-end) #sk-lang{bottom:calc(12px + env(safe-area-inset-bottom))}
}
