/* Yunagi · 夕凪 · demo stylesheet. Three inks (shu, kinari, sumi), flat fields, one spring. */
@font-face{font-family:"Archivo Display";src:url("/ornek/japon-restorani/fonts/archivo-display.woff2") format("woff2");font-weight:700 900;font-stretch:62% 100%;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("/ornek/japon-restorani/fonts/hanken-grotesk.woff2") format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Noto Serif JP";src:url("/ornek/japon-restorani/fonts/noto-serif-jp-alt.woff2") format("woff2");font-weight:400 900;font-display:swap;unicode-range:U+3000-30FF,U+4E00-9FFF,U+FF00-FFEF}

:root{
  --shu:#D7361F;--lacquer:#B72A19;--kinari:#F3EADB;--paper:#FBF6EE;--sumi:#1E1713;--sumi-2:#2A211C;--ai:#243C66;--honey:#E3A445;--shu-lt:#F06A4F;
  --display:"Archivo Display","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --text:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --jp:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --spring:linear(0,.05 4%,.17 9%,.314 14%,.454 19%,.577 24%,.68 29%,.762 34%,.824 39%,.872 44%,.909 49%,.935 54%,.955 59%,.968 64%,.978 69%,.985 74%,.99 79%,.994 86%,1);
  --rise-e:linear(0,.04 10%,.2 16%,.41 22%,.63 28%,.75 34%,.82 40%,.87 46%,.91 52%,.94 58%,.96 64%,.98 72%,.99 82%,1);
  --out-sine:cubic-bezier(.61,1,.88,1);--out-cubic:cubic-bezier(.33,1,.68,1);
  --rail:0px;--gut:20px;--max:1122px;
  --frame-k:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='116' height='116'%3E%3Cpath d='M48 16.5H68A31.5 31.5 0 0 0 99.5 48V68A31.5 31.5 0 0 0 68 99.5H48A31.5 31.5 0 0 0 16.5 68V48A31.5 31.5 0 0 0 48 16.5Z' fill='none' stroke='%23F3EADB'/%3E%3C/svg%3E");
  --frame-r:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='116' height='116'%3E%3Cpath d='M48 16.5H68A31.5 31.5 0 0 0 99.5 48V68A31.5 31.5 0 0 0 68 99.5H48A31.5 31.5 0 0 0 16.5 68V48A31.5 31.5 0 0 0 48 16.5Z' fill='none' stroke='%23B72A19'/%3E%3C/svg%3E");
}
@supports not (transition-timing-function:linear(0,1)){:root{--spring:cubic-bezier(.33,1,.68,1);--rise-e:cubic-bezier(.5,0,.2,1)}}
@media (min-width:700px){:root{--gut:32px}}
@media (min-width:1180px){:root{--rail:clamp(52px,calc((100vw - 1210px) / 2),115px);--gut:calc(var(--rail) + 44px)}}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--sumi);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px;scroll-padding-bottom:64px}
body{margin:0;background:var(--kinari);color:var(--sumi);font:400 17px/1.6 var(--text);overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,svg{display:block;max-width:100%}
img,video{height:auto}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{margin:0;font-weight:inherit;text-wrap:balance}
button,input,select,textarea{font:inherit;color:inherit}
[lang=ja]{font-family:var(--jp);font-style:normal}
i{font-style:italic}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:fixed;left:12px;top:-60px;z-index:60;padding:10px 16px;border-radius:999px;background:var(--sumi);color:var(--kinari);font-weight:700;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--sumi);outline-offset:3px}
[data-nav=sumi] :focus-visible,[data-nav=shu] :focus-visible,.nav[data-theme=shu] :focus-visible,.nav[data-theme=sumi] :focus-visible{outline-color:var(--kinari)}
.hero-foot :focus-visible{outline-color:var(--sumi)}
.back :focus-visible,.row.open :focus-visible{outline-color:var(--kinari)}
.row.open .row-b:focus-visible{outline-offset:-6px}
@media (max-width:860px){.row.open .row-b:focus-visible{outline-offset:-4px}}

/* paper grain: one small static noise tile over the page */
body::after{content:"";position:fixed;inset:0;z-index:47;pointer-events:none;background:url("/ornek/japon-restorani/img/grain.webp") 0 0/160px 160px;opacity:.07}

/* section themes */
[data-nav=kinari]{--bg:var(--kinari);--fg:var(--sumi);--head:var(--shu);--acc:var(--lacquer);--hair:rgba(183,42,25,.42);--muted:rgba(30,23,19,.7);--frame:var(--frame-r)}
[data-nav=sumi]{--bg:var(--sumi);--fg:var(--kinari);--head:var(--kinari);--acc:var(--shu-lt);--hair:rgba(243,234,219,.18);--muted:rgba(243,234,219,.7);--frame:var(--frame-k)}
[data-nav=shu]{--bg:var(--shu);--fg:var(--kinari);--head:var(--kinari);--acc:var(--kinari);--hair:rgba(243,234,219,.45);--muted:rgba(243,234,219,.9);--frame:var(--frame-k)}

.sec{position:relative;background:var(--bg);color:var(--fg);padding:clamp(68px,9vw,132px) 0 clamp(68px,8vw,116px)}
.hl::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:var(--hair)}
.wrap{position:relative;width:min(100% - 2 * var(--gut),var(--max));margin-inline:auto}

/* rails: hairline columns with vertical labels, desktop only */
.rails{display:none}
@media (min-width:1180px){
  .rails{position:absolute;inset:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}
  .rails::before,.rails::after{content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--hair)}
  .rails::before{left:var(--rail)}.rails::after{right:var(--rail)}
  .rails>span{position:sticky;top:34vh;display:flex;justify-content:center;align-items:center;width:var(--rail);margin:110px 0 40px;writing-mode:vertical-rl;text-orientation:sideways;font:700 11px/1 var(--text);letter-spacing:.2em;color:var(--acc);white-space:nowrap}
  .rails>span:first-child{transform:rotate(180deg)}
  .rails>span:last-child{text-orientation:mixed}
  .rails i{font-style:normal;font-size:12px;letter-spacing:.12em}
  .rails b{font-weight:inherit}
}

/* ---------- buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:999px;border:1px solid transparent;font:700 15px/1 var(--text);letter-spacing:.01em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .25s,color .25s,border-color .25s,transform .25s}
.btn-red{background:var(--lacquer);color:var(--kinari)}
.btn-red:hover{background:#9E2415}
.btn-line{background:transparent;color:var(--lacquer);border-color:rgba(183,42,25,.5)}
.btn-line:hover{border-color:var(--lacquer);background:rgba(183,42,25,.06)}
.btn-cream{background:var(--kinari);color:var(--lacquer)}
.btn-cream:hover{background:#fff}
.btn-lg{min-height:52px;padding:0 28px;font-size:16px}

/* ---------- nav: floating liquid-glass pill */
.nav{position:fixed;top:12px;left:0;right:0;z-index:50;display:flex;justify-content:center;padding:0 12px;pointer-events:none;transition:transform .65s cubic-bezier(.65,0,.35,1)}
.nav.is-hidden{transform:translateY(-84px)}
.nav[data-theme=shu]{--pill-bg:rgba(30,23,19,.16);--pill-fg:var(--kinari);--pill-line:rgba(243,234,219,.32);--pill-mark:var(--kinari);--cta-bg:var(--kinari);--cta-fg:var(--lacquer)}
.nav[data-theme=kinari]{--pill-bg:rgba(247,240,229,.74);--pill-fg:var(--sumi);--pill-line:rgba(183,42,25,.24);--pill-mark:var(--shu);--cta-bg:var(--lacquer);--cta-fg:var(--kinari)}
.nav[data-theme=sumi]{--pill-bg:rgba(30,23,19,.58);--pill-fg:var(--kinari);--pill-line:rgba(243,234,219,.18);--pill-mark:var(--shu-lt);--cta-bg:var(--kinari);--cta-fg:var(--lacquer)}
html:not(.js) .nav{--pill-bg:rgba(30,23,19,.78);--pill-fg:var(--kinari);--pill-mark:var(--shu-lt)}
html:not(.js) .burger{display:none}
.pill{pointer-events:auto;display:flex;align-items:center;gap:4px;height:54px;padding:0 7px 0 16px;border-radius:999px;background:var(--pill-bg);color:var(--pill-fg);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 1px var(--pill-line),0 12px 32px -16px rgba(30,23,19,.45);
  -webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);transition:background-color .45s,color .45s,box-shadow .45s}
.brand{display:flex;align-items:center;gap:9px;height:44px;padding-right:12px;color:inherit;text-decoration:none;font:900 21px/1 var(--display);font-stretch:80%;letter-spacing:.06em}
.brand svg{width:26px;height:26px;fill:var(--pill-mark);transition:fill .45s}
.links{display:flex;list-style:none;margin:0;padding:0 6px 0 4px}
.links a{position:relative;display:block;padding:12px 11px;color:inherit;text-decoration:none;font:700 12.5px/1 var(--text);letter-spacing:.15em;text-transform:uppercase}
.links a::after{content:"";position:absolute;left:11px;right:11px;bottom:5px;height:2px;border-radius:2px;background:currentColor;transform:scaleX(0);transition:transform .35s var(--out-cubic)}
.links a:hover::after,.links a:focus-visible::after{transform:scaleX(1)}
.cta{display:inline-flex;align-items:center;height:42px;padding:0 20px;border-radius:999px;background:var(--cta-bg);color:var(--cta-fg);text-decoration:none;font:700 12.5px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;transition:background-color .45s,color .45s}
.burger{display:none;position:relative;width:42px;height:42px;margin-left:4px;border:0;border-radius:50%;background:transparent;cursor:pointer}
.burger span{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--pill-fg);transition:transform .45s var(--spring)}
.burger span:first-child{top:16px}.burger span:last-child{top:24px}
html.sheet-open .burger span:first-child{transform:translateY(4px) rotate(45deg)}
html.sheet-open .burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
@media (max-width:980px){
  .links{display:none}
  .burger{display:block}
  .pill{height:50px;padding:0 4px 0 14px}
  .cta{height:40px;padding:0 16px}
}
@media (max-width:370px){.brand{font-size:19px;gap:7px;padding-right:6px}.cta{padding:0 13px;letter-spacing:.1em}}

/* full-screen menu sheet (drops from the top) */
.sheet{position:fixed;inset:0;z-index:46;overflow-y:auto;overscroll-behavior:contain;background:var(--kinari);color:var(--shu);visibility:hidden;transform:translateY(-100%);transition:transform .9s var(--spring),visibility 0s linear .9s}
html.sheet-open{overflow:hidden}
html.sheet-open .sheet{visibility:visible;transform:none;transition:transform .9s var(--spring)}
.sheet-in{display:flex;flex-direction:column;justify-content:center;min-height:100%;width:min(100% - 40px,720px);margin-inline:auto;padding:96px 0 72px}
.sheet-links{list-style:none;margin:0;padding:0;border-top:1px solid rgba(183,42,25,.35)}
.sheet-links a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 2px 8px;border-bottom:1px solid rgba(183,42,25,.35);color:var(--shu);text-decoration:none}
.sw{font:900 clamp(40px,11vw,84px)/.92 var(--display);font-stretch:62%}
.sj{font-size:15px;font-weight:600;color:var(--lacquer)}
.sheet-links a:hover .sw{color:var(--lacquer)}
.sheet-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:22px;font:600 14px/1.4 var(--text);color:var(--sumi)}
.sheet-foot a{display:inline-block;padding:8px 0;margin:-8px 0;color:var(--lacquer);font-weight:700}

/* ---------- hero */
.hero{--hh:max(560px,100vh);--nav-h:88px;--cy:min(calc(var(--hh) * .85),calc(var(--hh) - 134px));
  --art-w:min(100vw,calc((var(--cy) - var(--nav-h)) * 1440 / 850));
  --art-top:calc(var(--cy) - var(--art-w) * 1030 / 1440);
  position:relative;height:var(--hh);overflow:hidden;overflow:clip;background:var(--shu);color:var(--kinari);isolation:isolate}
@supports (height:100svh){.hero{--hh:max(560px,100svh)}}
.hero .rails{--acc:#fff;--hair:rgba(243,234,219,.42)}
.balik-top .rails{--acc:#fff}
.hero .rails::before,.hero .rails::after{background:linear-gradient(var(--hair) 0 var(--cy),rgba(183,42,25,.42) var(--cy))}
.hero .rails>span{position:absolute;top:32%;margin:0}
.hero .rails>span:last-child{right:0}
.hero-band{position:absolute;left:0;right:0;top:var(--cy);bottom:0;z-index:1;background:var(--kinari);pointer-events:none}
.lay{position:absolute;left:50%;top:var(--art-top);width:var(--art-w);aspect-ratio:1440/1100;margin-left:calc(var(--art-w) / -2);pointer-events:none}
.lay>svg,.load>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.load{position:absolute;inset:0}
html.js .hero.on .lay[data-s]:not(.lay-c){will-change:transform}
.lay-w text{fill:var(--kinari);font-family:var(--display);font-weight:900;font-stretch:62%}
.lay-w .kanji text{font-family:var(--jp);font-weight:800}
.w-m{display:none}
.lay-c{z-index:1}
.lay-c+.lay{z-index:2}
/* assembly: hachimaki ties, knife and geta come up; reversible (class from the scroll loop) */
#h-hachimaki-band,#h-hachimaki-knot,#h-knife,#h-geta{transform-box:view-box;transition:transform 1.05s var(--spring)}
#h-hachimaki-band,#h-hachimaki-knot{transform-origin:556px 498px}
@media (prefers-reduced-motion:no-preference){
  html.js:not(.js-late) .hero:not(.is-set) #h-hachimaki-band{transform:scaleX(0)}
  html.js:not(.js-late) .hero:not(.is-set) #h-hachimaki-knot{transform:scale(0) rotate(-120deg)}
  html.js:not(.js-late) .hero:not(.is-set) #h-knife{transform:translate(-40px,190px)}
  html.js:not(.js-late) .hero:not(.is-set) #h-geta{transform:translate(40px,150px)}
  html.js .load{animation:hrise 1.4s var(--rise-e) both}
  html.js .load.l2{animation-delay:.2s}
  .hero.on.is-set #h-lids{animation:blink 4.6s linear 1.4s infinite}
}
@keyframes hrise{from{transform:translate3d(0,30%,0)}}
@keyframes blink{0%,95.5%,100%{visibility:hidden}96%,99%{visibility:visible}}
/* negative-space petals: hero red, visible only where they cross the letters or the chef */
.petals{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.petals svg{position:absolute;top:-9%;left:var(--x);width:var(--s);height:calc(var(--s) * 52 / 44);fill:var(--shu);animation:fall var(--d) linear var(--dl) infinite;animation-play-state:paused}
.hero.on .petals svg{animation-play-state:running}
@keyframes fall{from{transform:translate3d(0,0,0) rotate(0)}to{transform:translate3d(var(--dx),118vh,0) rotate(var(--r))}}
html:not(.js) .petals{display:none}
@media (prefers-reduced-motion:reduce){.petals{display:none}}
.hero-foot{position:absolute;left:0;right:0;top:calc(var(--cy) + var(--art-w) * 68 / 1440);z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px 32px;width:min(100% - 2 * var(--gut),var(--max));margin-inline:auto;color:var(--sumi)}
.lead{font:500 17px/1.35 var(--text)}
.lead b{font:900 25px/1 var(--display);font-stretch:78%;color:var(--shu);letter-spacing:.005em;margin-right:6px}
.info{margin-top:6px;font:700 12.5px/1.3 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--lacquer)}
.hf-cta{display:flex;gap:10px;flex:none}
@media (min-width:701px){.hero-foot{padding-left:max(0px,calc(220px - var(--gut)))}}
@media (max-width:1300px){.lead span{display:none}}

/* phones and portrait screens: two-line word, 2x-wide art, counter higher */
@media (max-width:700px),(max-aspect-ratio:1/1){
  .hero{--nav-h:70px;--cy:min(calc(var(--hh) * .78),calc(var(--hh) - 196px));--art-w:min(200vw,calc((var(--cy) - var(--nav-h)) * 1440 / 1166))}
  .w-d{display:none}.w-m{display:block}
  .lay-w .kanji text{transform:translateY(-322px)}
  #h-geta{translate:-40px 0}
  .hero-foot{top:calc(var(--cy) + var(--art-w) * 66 / 1440);flex-direction:column;align-items:center;text-align:center;gap:12px;padding-left:0}
  .lead{font-size:15px}
  .lead b{display:block;font-size:24px;margin:0 0 4px}
  .lead span{display:none}
  .info{font-size:11px;letter-spacing:.1em}
  .i3{display:none}
}
@media (max-width:700px){.hf-cta .btn{min-height:44px;padding:0 18px;font-size:14px}}
@media (min-width:701px) and (max-aspect-ratio:1/1){.lead span{display:inline}.lead{font-size:17px}}

/* ---------- shared type */
.kick{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 0;margin:0 0 22px;font:600 13px/1.4 var(--text);letter-spacing:.06em;color:var(--acc)}
.kick>*+*::before{content:"·";margin:0 10px;font-style:normal;opacity:.7}
.kick [lang=ja]{font-size:16px;font-weight:700;letter-spacing:.04em}
@media (max-width:480px){.kick>i{display:none}}
.giant{margin-top:.12em;font:900 clamp(74px,16.8vw,248px)/.84 var(--display);font-stretch:62%;letter-spacing:-.004em;color:var(--head)}
.giant .mask{display:block;overflow:hidden;padding:.15em .05em .11em;margin:-.15em -.05em -.11em}
.giant .mask+.mask{padding-left:calc(.05em + .9em)}
.giant .w{display:inline-block;transform-origin:50% 100%}
.giant-s{margin-top:0;font-size:clamp(58px,7.4vw,94px);font-size:clamp(58px,min(7.4vw,38cqi),112px)}
.gh{display:grid;gap:26px 64px;align-items:end}
.gh .intro{margin:0}
@media (min-width:900px){.gh{grid-template-columns:auto minmax(0,1fr)}.gh>:last-child{padding-bottom:.4em}}
.giant-s .mask+.mask{padding-left:.05em}
.intro{max-width:44ch;font:500 clamp(18px,1.5vw,21px)/1.5 var(--text)}
.big{font:500 clamp(19px,1.65vw,23px)/1.5 var(--text);letter-spacing:-.005em}
.note,.photo-note,.foot-note{font-size:13px;color:var(--muted)}
@media (max-width:700px){.giant .mask+.mask{padding-left:.05em}}

/* reveal system: translate only, nothing fades (reference behaviour) */
@media (prefers-reduced-motion:no-preference){
  html.js:not(.js-late) .rise{transition:transform 1s var(--spring)}
  html.js:not(.js-late) .rise:not(.in){transform:translate(0,var(--rd,64px))}
  html.js:not(.js-late) .giant .w{transition:transform 1s var(--spring)}
  html.js:not(.js-late) .giant .mask:not(.in) .w{transform:translateY(150%) rotate(10deg)}
  @supports (animation-timeline:view()){
    html.js:not(.js-late) .giant .mask{view-timeline:--g block}
    html.js:not(.js-late) .giant .mask .w,html.js:not(.js-late) .giant .mask:not(.in) .w{transform:none;transition:none;animation:g-rise var(--out-sine) both;animation-timeline:--g;animation-range:entry 0% cover 42%}
    html.js:not(.js-late) .foot-g .mask .w,html.js:not(.js-late) .foot-g .mask:not(.in) .w{animation-range:entry 0% entry 100%}
  }
}
@media (max-width:700px){:root{--rd:40px}}
@keyframes g-rise{from{transform:translateY(150%) rotate(10deg)}to{transform:none}}

/* notched hanafuda frame drawn over media */
.frame-box{position:relative;overflow:hidden;background:var(--sumi-2)}
.frame-box::after{content:"";position:absolute;inset:0;pointer-events:none;border:52px solid transparent;border-image:var(--frame-k) 52 / 52px stretch;opacity:.85}
.frame-box img,.frame-box video{width:100%;height:100%;object-fit:cover}
.frame-box .v-poster{position:absolute;inset:0}
.frame-box video{position:relative}

/* ---------- künye */
.kunye{padding-top:clamp(72px,9vw,128px)}
.kunye-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:clamp(40px,7vw,110px);align-items:center}
.crest-fig{margin:0;display:grid;justify-items:center;gap:22px;text-align:center}
.lab{font:700 12px/1 var(--text);letter-spacing:.16em;color:var(--acc)}
.lab [lang=ja]{font-size:14px;letter-spacing:.06em}
.crest-big{width:min(100%,400px);height:auto;fill:var(--shu)}
.crest-fig figcaption{max-width:30ch;font-size:15px;color:var(--muted)}
.cb-sun{transition:transform 1.6s var(--spring) .15s}
.cb-bar{transform-box:fill-box;transform-origin:50% 50%;transition:transform 1.1s var(--spring)}
.cb-bar.b2{transition-delay:.12s}.cb-bar.b3{transition-delay:.24s}
@media (prefers-reduced-motion:no-preference){
  html.js:not(.js-late) .crest-fig:not(.in) .cb-sun{transform:translateY(28px)}
  html.js:not(.js-late) .crest-fig:not(.in) .cb-bar{transform:scaleX(0)}
}
.k-title{max-width:22ch;margin-bottom:34px;font:900 clamp(28px,3vw,42px)/1.02 var(--display);font-stretch:74%;color:var(--sumi)}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:30px 40px;margin:0}
.stats dt{margin-bottom:9px;font:700 11.5px/1 var(--text);letter-spacing:.18em;color:var(--acc)}
.stats dd{margin:0;font:900 clamp(24px,2.45vw,35px)/.98 var(--display);font-stretch:70%;color:var(--head)}
.stats dd [lang=ja]{font-size:.72em;font-weight:800}
.crest-parts{display:grid;gap:10px;margin:40px 0 0;padding:26px 0 0;border-top:1px solid var(--hair);list-style:none;font-size:15px;line-height:1.5;color:var(--muted)}
.crest-parts b{color:var(--sumi)}
.crest-parts [lang=ja]{color:var(--lacquer)}
@media (max-width:860px){.kunye-grid{grid-template-columns:1fr}.crest-big{width:min(72vw,320px)}.k-title{margin-inline:auto;text-align:center}}
@media (max-width:420px){.stats{gap:24px 18px}.stats dd{font-size:22px}}

/* ---------- konsept */
.konsept{padding-top:clamp(40px,6vw,80px)}
.konsept .giant{margin-bottom:clamp(40px,5vw,72px)}
.konsept-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,6vw,96px);align-items:start}
.konsept-text{display:grid;gap:22px;max-width:60ch}
.konsept-text>p:not(.big){color:var(--muted)}
.jp-quote{margin:14px 0 0;padding:22px 0 0 22px;border-left:2px solid var(--shu)}
.jq{font-size:clamp(20px,2vw,26px);font-weight:600;color:var(--sumi);line-height:1.5}
.jr{margin-top:6px;font-size:15px;color:var(--muted)}
.jt{margin-top:2px;font-weight:700;color:var(--lacquer)}
.video-fig{margin:0}
.video-fig .frame-box{aspect-ratio:16/10}
.video-fig figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:13px;color:var(--muted)}
.season{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;margin-top:clamp(64px,8vw,112px);border-block:1px solid var(--hair)}
.season-l{padding:0 22px 0 var(--gut);font:700 12px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--acc);max-width:calc(var(--gut) + 170px)}
.season-n{grid-column:1/-1;padding:12px var(--gut);border-top:1px solid var(--hair);font-size:13px;color:var(--muted)}
.marquee{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.mq{display:flex;flex:none;margin:0;padding:0;list-style:none;animation:mq 46s linear infinite;animation-play-state:paused}
.season.on .mq{animation-play-state:running}
.mq li{padding:20px 0 16px;font:900 clamp(34px,4.4vw,64px)/1 var(--display);font-stretch:68%;color:var(--shu);white-space:nowrap}
.mq li::after{content:"";display:inline-block;width:.22em;height:.22em;margin:0 .5em;border-radius:50%;background:var(--lacquer);vertical-align:.22em}
@keyframes mq{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.mq{animation:none;flex-wrap:wrap}.mq[aria-hidden]{display:none}.marquee{display:block;padding:4px var(--gut) 6px;-webkit-mask-image:none;mask-image:none}.mq li{padding:10px 0 8px}}
@media (min-width:1180px) and (prefers-reduced-motion:no-preference){.season .marquee{margin-right:var(--rail)}}
@media (max-width:860px){.konsept-grid{grid-template-columns:1fr}.season{grid-template-columns:1fr}.season-l{padding:16px var(--gut) 0;max-width:none}}

/* ---------- usta (sumi) */
.usta .jp-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;margin-bottom:26px}
.usta .jp-name>[lang=ja]{font-size:clamp(40px,4.6vw,68px);font-weight:800;line-height:1;color:var(--kinari)}
.usta .jp-name small{font-size:14px;color:var(--muted)}
.usta-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(36px,6vw,96px);margin-top:clamp(40px,5vw,72px);align-items:start}
.usta-photo{margin:0}
.usta-photo .frame-box{aspect-ratio:4/5}
.usta-photo figcaption{margin-top:10px;font-size:13px;color:var(--muted)}
.stats-dark dd{color:var(--kinari)}
.stats-dark{margin-bottom:34px;padding-bottom:34px;border-bottom:1px solid var(--hair)}
.bio{max-width:60ch;color:var(--muted)}
.bio+.bio{margin-top:16px}
.usta .note{margin-top:22px}
@media (max-width:860px){.usta-grid{grid-template-columns:1fr}.usta-photo{max-width:420px}}
@media (max-width:600px){.usta-photo .frame-box{aspect-ratio:4/3}}

/* ---------- imza: hanafuda cards, fan out, drift into a cross, flip */

.hint{display:block;margin-top:6px;font-size:15px;color:var(--acc);font-weight:600}
.dishes{--gap:26px;list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.slot{position:relative;perspective:1600px}
.dish{position:relative;height:100%;display:grid}
.face{position:relative;display:flex;flex-direction:column;border:1px solid rgba(183,42,25,.45);background:var(--paper)}
.front{padding:12px 12px 16px}
.ph{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--sumi-2)}
.ph img{width:100%;height:100%;object-fit:cover}
.ph::after{content:"";position:absolute;inset:0;pointer-events:none;border:52px solid transparent;border-image:var(--frame-k) 52 / 52px stretch;opacity:.8}
.dm{display:flex;justify-content:space-between;gap:10px;margin:14px 4px 6px;font:700 11.5px/1.2 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--lacquer)}
.front h3{padding:0 4px;font:900 clamp(26px,2.3vw,34px)/.98 var(--display);font-stretch:74%;color:var(--shu)}
.dj{margin:8px 4px 0;font-size:14px;line-height:1.4;color:var(--muted)}
.dj [lang=ja]{display:block;font-size:15px;font-weight:700;color:var(--sumi)}
.flip{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:16px 4px 0;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(183,42,25,.45);background:transparent;font:700 13px/1 var(--text);letter-spacing:.04em;color:var(--lacquer);cursor:pointer;transition:background-color .25s}
.flip:hover{background:rgba(183,42,25,.07)}
.flip svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.back{margin-top:14px;padding:54px clamp(28px,3vw,40px) 52px;background:var(--lacquer);border-color:var(--lacquer);color:var(--kinari)}
.back::before{content:"";position:absolute;inset:0;pointer-events:none;border:52px solid transparent;border-image:var(--frame-k) 52 / 52px stretch;opacity:.55}
.bn{font:700 11.5px/1 var(--text);letter-spacing:.16em;text-transform:uppercase}
.back h4{margin-top:auto;padding-top:20px;font:900 clamp(30px,2.8vw,40px)/.96 var(--display);font-stretch:70%}
.bj{margin:10px 0 14px;font-size:17px;font-weight:700}
.back p:not(.bn):not(.bj){font-size:16px;line-height:1.55}
.back .flip{margin:22px 0 0;border-color:rgba(243,234,219,.55);color:var(--kinari)}
.back .flip:hover{background:rgba(243,234,219,.1)}
.photo-note{margin-top:22px}
/* 3D flip once the script is running */
html.ready .dish{transition:transform .7s var(--spring),translate 1s var(--spring)}
html.ready .face{grid-area:1/1}
html.ready .back{margin-top:0;visibility:hidden}
html.ready .dish.turn{transform-style:preserve-3d}
html.ready .dish.turn .face{-webkit-backface-visibility:hidden;backface-visibility:hidden}
html.ready .dish.turn .back{visibility:visible;transform:rotateY(180deg)}
html.ready .dish.is-flipped{transform:rotateY(180deg)}
@media (prefers-reduced-motion:reduce){html.ready .dish{transition:none}}
@media (min-width:1100px){
  .dishes{--drift:min(34vw,300px);grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(22px,3vw,40px);row-gap:28px;padding-bottom:0;view-timeline:--dishes block}
  .s1{grid-column:1;grid-row:1;z-index:1}.s2{grid-column:2;grid-row:1;z-index:2}.s3{grid-column:3;grid-row:1;z-index:1}.s4{grid-column:2;grid-row:2;z-index:2}
  .s1,.s3{transform:translateY(var(--drift))}
  @media (prefers-reduced-motion:no-preference){
    @supports (animation-timeline:view()){
      html.js .s1,html.js .s3{animation:drift linear both;animation-timeline:--dishes;animation-range:entry 20% cover 55%}
    }
    html.js:not(.js-late) .dishes:not(.in) .s1 .dish{translate:calc(100% + clamp(22px,3vw,40px)) 0}
    html.js:not(.js-late) .dishes:not(.in) .s3 .dish{translate:calc(-100% - clamp(22px,3vw,40px)) 0}
    html.js:not(.js-late) .dish{transition:transform .7s var(--spring),translate 1s var(--spring)}
  }
}
@keyframes drift{from{transform:none}to{transform:translateY(var(--drift))}}
@media (max-width:699px){
  .dishes{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--gut));padding:4px var(--gut) 14px;scrollbar-width:none}
  .dishes::-webkit-scrollbar{display:none}
  .slot{flex:0 0 min(80vw,330px);scroll-snap-align:center}
  .dishes,.craft{scroll-padding-inline:var(--gut)}
}

/* ---------- zanaat (sumi + tatewaku ground) */
.zanaat{background:var(--sumi) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='84'%3E%3Cpath d='M16,0C17.9,3.5 20.3,7 21.7,10.5C23,14 24,17.5 24,21C24,24.5 23,28 21.7,31.5C20.3,35 17.9,38.5 16,42C14.1,45.5 11.7,49 10.3,52.5C9,56 8,59.5 8,63C8,66.5 9,70 10.3,73.5C11.7,77 14.1,80.5 16,84M48,0C46.1,3.5 43.7,7 42.3,10.5C41,14 40,17.5 40,21C40,24.5 41,28 42.3,31.5C43.7,35 46.1,38.5 48,42C49.9,45.5 52.3,49 53.7,52.5C55,56 56,59.5 56,63C56,66.5 55,70 53.7,73.5C52.3,77 49.9,80.5 48,84' fill='none' stroke='%23F3EADB' stroke-opacity='0.08' stroke-width='1.5'/%3E%3C/svg%3E") 0 0/64px 84px;overflow:hidden;overflow:clip}
.z-title{max-width:18ch;margin-bottom:clamp(40px,5vw,72px);font:900 clamp(34px,4.4vw,64px)/.98 var(--display);font-stretch:70%;color:var(--kinari)}
.z-title span{color:var(--shu-lt)}
.craft{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(22px,2.6vw,38px)}
.cr{container-type:inline-size;display:flex;flex-direction:column;padding-top:22px;border-top:1px solid var(--hair)}
.cr .giant-s{color:var(--kinari)}
.cj{margin:10px 0 18px;font-size:14px;color:var(--muted)}
.cj [lang=ja]{font-size:17px;font-weight:700;color:var(--shu-lt);margin-right:4px}
.cr-ph{aspect-ratio:4/5;overflow:hidden;background:var(--sumi-2);margin-bottom:18px}
.cr-ph img{width:100%;height:100%;object-fit:cover}
.cr p:last-child{font-size:15.5px;line-height:1.6;color:var(--muted)}
@media (max-width:1100px){.craft{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px}}
@media (max-width:699px){
  .craft{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--gut));padding:0 var(--gut) 10px;scrollbar-width:none}
  .craft::-webkit-scrollbar{display:none}
  .cr{flex:0 0 min(78vw,320px);scroll-snap-align:start}
  .cr-ph{aspect-ratio:4/3}
  .cr-ph img.op-low{object-position:50% 80%}
}

/* ---------- balık yolu */
.balik{padding:0;background:var(--kinari)}
.balik-top{position:relative;background:var(--shu);color:var(--kinari);padding-top:clamp(88px,11vw,150px);overflow:hidden;overflow:clip}
.balik-top .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
.balik-top .kick{justify-content:center;padding:7px 16px;border-radius:999px;background:var(--lacquer)}
.balik-word{position:relative}
.balik-word .giant{font-size:clamp(112px,19vw,280px);color:var(--kinari)}
.balik-word .giant .mask+.mask{padding-left:.05em}
.tuna{position:absolute;left:50%;top:52%;width:min(64vw,760px);margin-left:calc(min(64vw,760px) / -2);translate:0 -50%;rotate:-16deg;pointer-events:none}
.tuna svg{width:100%;height:auto;overflow:visible}
html.js .tuna{will-change:transform}
.tuna-line{max-width:40ch;margin-top:clamp(36px,4vw,56px);font:700 clamp(19px,1.6vw,22px)/1.45 var(--text)}
.sea-band{width:100%;height:105px;margin-top:clamp(64px,7vw,104px);color:var(--kinari)}
.balik-body{position:relative;padding:clamp(40px,5vw,72px) 0 clamp(88px,10vw,140px)}
.map-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.map-box{position:relative;margin:0}
.map-box>svg{width:100%;height:auto;overflow:hidden}
.map-box::after{content:"";position:absolute;left:0;right:0;top:0;aspect-ratio:1000/722;pointer-events:none;border:52px solid transparent;border-image:var(--frame-k) 52 / 52px stretch;opacity:.9}
.map-box figcaption{margin-top:12px;font-size:13px;color:var(--muted)}
.land{fill:var(--lacquer);stroke:var(--kinari);stroke-width:1.7;stroke-linejoin:round}
.geo{font:italic 700 21px var(--text);letter-spacing:.18em;fill:var(--kinari)}
.rt{fill:none;stroke:var(--kinari);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.pt circle{fill:var(--kinari);stroke:var(--sumi);stroke-width:2.5}
.pt text{font:800 17px var(--text);fill:var(--sumi);text-anchor:middle}
.pt-in{transform-box:fill-box;transform-origin:50% 50%}
.pl{font:800 22px var(--text);letter-spacing:.12em;fill:var(--kinari)}
.pl-a{font-size:23px}
.pl,.geo{paint-order:stroke;stroke:var(--sumi);stroke-width:5px;stroke-linejoin:round}
.tgt .disc{fill:var(--kinari)}
.tg-crest{fill:var(--shu)}
.tgt .disc,.tg-crest{transform-box:fill-box;transform-origin:50% 50%;transition:transform 1.8s var(--spring) .5s}
.ring{fill:none;stroke:var(--kinari);stroke-width:2.5;transform-box:fill-box;transform-origin:50% 50%;opacity:0}
.map-box.on .ring{animation:sonar 2.6s var(--out-sine) 3}
.map-box.on .ring.r2{animation-delay:1.3s}
@keyframes sonar{0%{transform:scale(1);opacity:.95}100%{transform:scale(2.7);opacity:0}}
@media (prefers-reduced-motion:no-preference){
  html.js:not(.js-late) .map-box:not(.in) .rt{stroke-dashoffset:1}
  html.js .rt{transition:stroke-dashoffset 1.8s var(--out-sine) calc(var(--i) * .16s + .3s)}
  html.js:not(.js-late) .map-box:not(.in) .tgt .disc,html.js:not(.js-late) .map-box:not(.in) .tg-crest{transform:scale(0)}
}
@media (prefers-reduced-motion:reduce){.map-box.on .ring{animation:none}}
.map-text{display:grid;gap:20px}
.mt-h{font:900 clamp(30px,3vw,44px)/1 var(--display);font-stretch:72%;color:var(--shu)}
.map-text>p{color:var(--muted)}
.day{list-style:none;margin:6px 0 0;padding:0;border-top:1px solid var(--hair)}
.day li{display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--hair)}
.day b{font:900 24px/1 var(--display);font-stretch:74%;color:var(--shu)}
.day span{font-size:15.5px}
.rule{padding:16px 18px;border-radius:14px;background:rgba(183,42,25,.07);font-size:15px;line-height:1.55;color:var(--sumi)}
.ports{list-style:none;margin:clamp(48px,6vw,80px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--hair)}
.ports li{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:22px 20px 24px 0;border-bottom:1px solid var(--hair)}
.pn{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--kinari);border:2px solid var(--sumi);font:800 15px/1 var(--text);color:var(--sumi)}
.pn-a{background:var(--shu);border-color:var(--shu)}
.pn-a svg{width:22px;height:22px;fill:var(--kinari)}
.pk{font:700 11.5px/1.2 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.ports h4{margin:6px 0 6px;font:900 clamp(21px,1.9vw,26px)/1 var(--display);font-stretch:74%;color:var(--sumi)}
.ports p:last-child{font-size:15px;line-height:1.5;color:var(--muted)}
@media (max-width:980px){.map-grid{grid-template-columns:1fr}.ports{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){
  .ports{grid-template-columns:1fr}
  .pl,.geo{display:none}
  .pt-in{scale:1.9}
  .tgt{scale:1.5}
  .tuna{top:56%;width:66vw;margin-left:-33vw}
}

/* ---------- omakase flow (numbered accordion) */
.om-head{display:grid;grid-template-columns:minmax(0,1fr);gap:28px 60px;align-items:end;margin-top:clamp(30px,3.4vw,52px)}
.facts{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;justify-self:start;max-width:100%;gap:0;margin:0;border:1px solid var(--hair);border-radius:16px}
@media (min-width:1320px){.om-head{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.facts{justify-self:end}}
.facts div{padding:14px 18px;border-left:1px solid var(--hair)}
.facts div:first-child{border-left:0}
.facts dt{font:700 11px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}
.facts dd{margin:8px 0 0;font:900 22px/1 var(--display);font-stretch:74%;color:var(--sumi);white-space:nowrap}
.flow{list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;border-top:1px solid var(--hair)}
.row{--rd:110px;border-bottom:1px solid var(--hair);transition:background-color .45s var(--out-cubic),transform 1s var(--spring)}
.row-b{display:grid;grid-template-columns:clamp(58px,8vw,118px) minmax(0,1fr) auto 40px;align-items:center;gap:14px;width:100%;margin:0;padding:clamp(18px,2.2vw,30px) clamp(8px,1.6vw,24px);border:0;background:transparent;text-align:left;color:var(--shu);cursor:pointer}
.row-b:hover{background:rgba(183,42,25,.05)}
.no,.nm{font:900 clamp(28px,3.1vw,46px)/.95 var(--display);font-stretch:72%}
.rj{font-size:14px;color:var(--muted);text-align:right}
.rj [lang=ja]{display:inline-block;margin-right:6px;font-size:18px;font-weight:700;color:var(--lacquer)}
.pm{position:relative;width:34px;height:34px;justify-self:end}
.pm::before,.pm::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:currentColor;transition:transform .5s var(--spring)}
.pm::after{transform:rotate(90deg)}
.row.open{background:var(--lacquer)}
.row.open .row-b{color:var(--kinari)}
.row.open .row-b:hover{background:transparent}
.row.open .rj,.row.open .rj [lang=ja]{color:rgba(243,234,219,.9)}
.row.open .pm::after{transform:rotate(0)}
.panel{display:grid;grid-template-rows:1fr}
html.ready .row:not(.open) .panel{grid-template-rows:0fr}
html.ready .flow.armed .panel{transition:grid-template-rows .55s var(--spring)}
.panel-in{min-height:0;overflow:hidden}
.pi{display:grid;grid-template-columns:clamp(58px,8vw,118px) minmax(0,1fr) minmax(0,1fr);gap:14px 28px;align-items:start;padding:0 clamp(8px,1.6vw,24px) clamp(24px,3vw,40px)}
.pi p{grid-column:2;max-width:40ch;font:500 clamp(17px,1.4vw,20px)/1.5 var(--text);color:var(--kinari)}
.pi img{grid-column:3;width:100%;aspect-ratio:3/2;object-fit:cover}
html:not(.ready) .row .panel .pi p,html:not(.ready) .row .pi p{color:var(--sumi)}
.om-foot,.omakase .foot-note{margin-top:24px;max-width:70ch}
.omakase .foot-note{--rd:110px}
@media (max-width:860px){
  .om-head{grid-template-columns:1fr}
  .facts{justify-content:stretch;justify-self:stretch;grid-template-columns:repeat(2,1fr)}
  .facts div:nth-child(3){border-left:0}
  .facts div:nth-child(n+3){border-top:1px solid var(--hair)}
  .row-b{grid-template-columns:44px minmax(0,1fr) 30px;row-gap:4px}
  .rj{grid-column:2;grid-row:2;text-align:left}
  .pm{grid-column:3;grid-row:1/3;width:26px;height:26px}
  .pi{grid-template-columns:44px minmax(0,1fr)}
  .pi img{grid-column:2}
  .row,.omakase .foot-note{--rd:56px}
}

/* ---------- menü (sumi) with tabs */
.menu-head{display:grid;gap:22px}
.legend{display:flex;flex-wrap:wrap;gap:10px 20px;margin:0;padding:0;list-style:none;font-size:14px;color:var(--muted)}
.tg{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;border:1px solid;font:700 11.5px/1 var(--text);letter-spacing:.06em;margin-right:6px}
.t-raw{color:var(--shu-lt);border-color:rgba(240,106,79,.6)}
.t-veg{color:#C9D3A0;border-color:rgba(201,211,160,.5)}
.t-sea{color:var(--honey);border-color:rgba(227,164,69,.55)}
.tabs{margin-top:clamp(32px,4vw,52px)}
.tablist{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 6px;margin:0 0 clamp(20px,2.4vw,32px)}
.tablist::-webkit-scrollbar{display:none}
[role=tab]{flex:none;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--tab-line);background:transparent;color:var(--tab-fg);font:700 14px/1 var(--text);cursor:pointer;transition:background-color .25s,color .25s,border-color .25s}
[role=tab]:hover{border-color:var(--tab-on)}
[role=tab][aria-selected=true]{background:var(--tab-on);border-color:var(--tab-on);color:var(--tab-on-fg)}
.menu{--tab-line:rgba(243,234,219,.26);--tab-fg:var(--kinari);--tab-on:var(--kinari);--tab-on-fg:var(--sumi)}
.rez{--tab-line:rgba(183,42,25,.4);--tab-fg:var(--lacquer);--tab-on:var(--lacquer);--tab-on-fg:var(--kinari)}
@media (max-width:420px){.rez-tabs .tablist{flex-wrap:wrap;gap:6px;overflow:visible}.rez-tabs [role=tab]{flex:1 1 auto;padding:0 10px;font-size:13.5px}}
html:not(.ready) .tablist{display:none}
.tp{outline-offset:6px}
.tp[hidden]{display:none}
html:not(.ready) .tp+.tp{margin-top:56px}
.tp-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:20px;font:900 clamp(26px,2.6vw,36px)/1 var(--display);font-stretch:72%;color:var(--head)}
.tp-h [lang=ja]{font-size:.6em;font-weight:700;color:var(--acc)}
.tp-h i{font:italic 500 15px var(--text);color:var(--muted)}
.items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,4vw,64px);margin:0;padding:0;list-style:none;border-top:1px solid var(--hair)}
.items li{padding:22px 0 24px;border-bottom:1px solid var(--hair)}
.items h4{font:900 clamp(23px,2vw,28px)/1 var(--display);font-stretch:74%;color:var(--kinari)}
.items h4 small{margin-left:8px;font:600 13px var(--text);color:var(--muted)}
.ij{margin:7px 0 9px;font-size:14px;color:var(--muted)}
.ij [lang=ja]{margin-right:6px;font-size:16px;font-weight:700;color:var(--shu-lt)}
.items p:not(.ij):not(.tgs){font-size:15.5px;line-height:1.55;color:rgba(243,234,219,.82)}
.tgs{margin-top:12px}
.notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(56px,6vw,88px)}
.notes>div{padding:22px 24px;border-radius:16px;background:var(--sumi-2);box-shadow:inset 0 0 0 1px var(--hair)}
.notes h3{margin-bottom:10px;font:900 24px/1 var(--display);font-stretch:74%;color:var(--kinari)}
.notes p{font-size:15px;line-height:1.6;color:var(--muted)}
@media (max-width:860px){.items{grid-template-columns:1fr}.notes{grid-template-columns:1fr}}

/* ---------- rezervasyon: noren header + form */
.rez{padding-top:0}
.rez-top{display:grid;gap:clamp(36px,5vw,56px);margin-bottom:clamp(40px,5vw,64px)}
.noren{width:min(100%,560px);margin:0 auto}
.noren svg{width:100%;height:auto;overflow:visible;color:var(--ai)}
.rez .giant{font-size:clamp(74px,12vw,178px)}
.rez .giant .mask+.mask{padding-left:.05em}
@media (min-width:1000px){
  .rez-top{grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:start;gap:48px}
  .rez-side{grid-column:2;grid-row:1}
  .noren{width:100%}
  .rez-title{grid-column:1;grid-row:1;padding-top:clamp(84px,8vw,120px)}
}
.rez-facts{display:grid;margin:clamp(28px,3vw,40px) 0 0;border-top:1px solid var(--hair)}
.rez-facts div{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--hair);font-size:15px}
.rez-facts dt{font:700 11.5px/1.7 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.rez-facts dd{margin:0;font-weight:600}
@media (max-width:999px){.rez-top .noren{width:min(92vw,560px)}.rez-facts{display:none}}
#h-nr-p1,#h-nr-p2,#h-nr-p3,#h-nr-p4{transform-box:fill-box;transform-origin:50% 0;transition:transform 1.05s var(--spring)}
@media (prefers-reduced-motion:no-preference){
  .rez.open #h-nr-p1{transform:skewX(-4deg)}
  .rez.open #h-nr-p2{transform:skewX(-5deg)}
  .rez.open #h-nr-p3{transform:skewX(5deg)}
  .rez.open #h-nr-p4{transform:skewX(4deg)}
}
.rez .intro{margin-top:clamp(24px,2.4vw,36px)}
html.ready .rez-tabs .tp-h{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.card-f{padding:clamp(22px,3.4vw,44px);border-radius:22px;background:var(--paper);box-shadow:inset 0 0 0 1px rgba(183,42,25,.22),0 30px 60px -44px rgba(30,23,19,.45)}
.form{display:grid;gap:22px}
fieldset{margin:0;padding:0;border:0;min-width:0}
legend,.fld label{display:block;margin-bottom:9px;padding:0;font:700 14px/1.3 var(--text);color:var(--sumi)}
.req{color:var(--lacquer)}
.opt{margin-left:6px;font-weight:500;font-size:12.5px;color:var(--muted)}
.f-yer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.f-yer legend{grid-column:1/-1;float:left;width:100%}
.seat{position:relative;display:block;cursor:pointer}
.seat input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.seat-in{display:grid;gap:4px;min-height:72px;padding:14px 16px 14px 44px;border-radius:14px;border:1px solid rgba(30,23,19,.2);background:#FFFCF7;transition:border-color .2s,box-shadow .2s,background-color .2s}
.seat-in::before{content:"";position:absolute;left:16px;top:18px;width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(30,23,19,.56);background:#fff;transition:border .2s}
.seat-in b{font-size:15.5px}
.seat-in small{font-size:13px;color:var(--muted)}
.seat:hover .seat-in{border-color:rgba(183,42,25,.55)}
.seat input:checked+.seat-in{border-color:var(--lacquer);box-shadow:inset 0 0 0 1px var(--lacquer);background:#fff}
.seat input:checked+.seat-in::before{border:5px solid var(--lacquer)}
.seat input:focus-visible+.seat-in{outline:2px solid var(--sumi);outline-offset:3px}
.f-row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.f-row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
input[type=text],input[type=tel],input[type=email],input[type=date],input[type=number],select,textarea{display:block;width:100%;min-height:50px;padding:0 14px;border:1px solid rgba(30,23,19,.52);border-radius:12px;background:#FFFCF7;font:500 16px/1.3 var(--text);color:var(--sumi);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
input[type=date]{padding-right:10px}
textarea{padding:13px 14px;min-height:50px;resize:vertical;line-height:1.45}
select{padding-right:40px;background:#FFFCF7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23B72A19' stroke-width='1.8'/%3E%3C/svg%3E") right 16px center/12px 8px no-repeat}
input:hover,select:hover,textarea:hover{border-color:rgba(183,42,25,.5)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--lacquer);box-shadow:0 0 0 3px rgba(183,42,25,.16)}
::placeholder{color:rgba(30,23,19,.62)}
.fld .hint{margin-top:7px;font-size:13px;line-height:1.45;color:var(--muted);font-weight:400}
.fld .hint a{color:var(--lacquer);font-weight:700}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.5;cursor:pointer}
.check input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--lacquer)}
.check a{color:var(--lacquer);font-weight:700}
.f-send{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.fine{font-size:13px;color:var(--muted)}
.f-err{font-size:14px;font-weight:600;color:var(--lacquer)}
.f-err:empty{display:none}
.done{display:grid;justify-items:start;gap:12px}
.done svg{width:52px;height:52px;fill:var(--shu)}
.done-h{font:900 clamp(30px,3vw,42px)/1 var(--display);font-stretch:72%;color:var(--shu)}
.done-s{font:700 18px/1.4 var(--text)}
.done[hidden]{display:none}
.paket{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,60px)}
.paket>div:first-child{display:grid;gap:16px;align-content:start}
.paket>div:first-child p:not(.big),.davet-text p:not(.big){color:var(--muted)}
.mini{display:grid;gap:0;margin:0 0 22px;border-top:1px solid var(--hair)}
.mini div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--hair);font-size:15px}
.mini dt{font:700 11.5px/1.6 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.mini dd{margin:0}
.paket-cta{display:flex;flex-wrap:wrap;gap:10px}
.davet{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,60px)}
.davet-text{display:grid;gap:16px;align-content:start}
.mailline a{color:var(--lacquer);font-weight:700}
@media (max-width:860px){.f-row3{grid-template-columns:1fr 1fr}.f-row3 .fld:first-child{grid-column:1/-1}.paket,.davet{grid-template-columns:1fr}}
@media (max-width:600px){.f-yer{grid-template-columns:1fr}.seat-in{min-height:60px}.f-row3,.f-row2{grid-template-columns:1fr}.f-row3 .fld:first-child{grid-column:auto}.card-f{border-radius:18px}}

/* ---------- bilgi */
.bilgi{background:var(--kinari) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='76.2'%3E%3Cpath d='M22,-38.1L0,0M0,0L-22,-38.1M0,0L0,-25.4M66,-38.1L44,0M44,0L22,-38.1M44,0L44,-25.4M-44,0L0,0M0,0L-22,38.1M0,0L-22,12.7M0,0L44,0M44,0L22,38.1M22,38.1L0,0M0,0L22,12.7M44,0L22,12.7M22,38.1L22,12.7M44,0L88,0M66,38.1L44,0M44,0L66,12.7M-22,38.1L22,38.1M22,38.1L0,76.2M0,76.2L-22,38.1M-22,38.1L0,50.8M22,38.1L0,50.8M0,76.2L0,50.8M22,38.1L66,38.1M66,38.1L44,76.2M44,76.2L22,38.1M22,38.1L44,50.8M66,38.1L44,50.8M44,76.2L44,50.8M-44,76.2L0,76.2M0,76.2L-22,114.3M0,76.2L-22,88.9M0,76.2L44,76.2M44,76.2L22,114.3M22,114.3L0,76.2M0,76.2L22,88.9M44,76.2L22,88.9M44,76.2L88,76.2M66,114.3L44,76.2M44,76.2L66,88.9M0,0L-22,-12.7M0,0L22,-12.7M44,0L22,-12.7M44,0L66,-12.7M-22,38.1L0,25.4M22,38.1L0,25.4M0,0L0,25.4M22,38.1L44,25.4M66,38.1L44,25.4M44,0L44,25.4M0,76.2L-22,63.5M0,76.2L22,63.5M44,76.2L22,63.5M22,38.1L22,63.5M44,76.2L66,63.5M0,76.2L0,101.6M44,76.2L44,101.6' fill='none' stroke='%23D7361F' stroke-opacity='0.09' stroke-width='1.2'/%3E%3C/svg%3E") 0 0/44px 76.2px}
.bilgi::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:var(--hair)}
.info-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;margin-top:clamp(40px,5vw,72px)}
.ib{grid-column:span 4;padding:24px 24px 26px;border-radius:18px;background:rgba(251,246,238,.92);box-shadow:inset 0 0 0 1px rgba(183,42,25,.2)}
.ib h3{margin-bottom:14px;font:900 25px/1 var(--display);font-stretch:74%;color:var(--shu)}
.ib p{font-size:15px;line-height:1.6;color:var(--muted)}
.hours{width:100%;border-collapse:collapse;margin-bottom:14px}
.hours th,.hours td{padding:9px 0;border-bottom:1px solid var(--hair);font-size:15.5px;text-align:left}
.hours th{font-weight:600}
.hours td{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.ib-big{margin-bottom:10px;font:900 clamp(40px,4vw,56px)/1 var(--display)!important;font-stretch:70%!important;color:var(--shu)!important}
.ib-big span{font:600 18px var(--text);color:var(--muted)}
address{font-style:normal}
address>p:first-child{font-size:17px;font-weight:600;color:var(--sumi)}
.ib .small{margin-top:4px;font-size:13px}
.cl{display:grid;gap:6px;margin-top:16px}
.cl a{color:var(--lacquer);font-weight:700;text-decoration:none;font-size:15.5px}
.cl a:hover{text-decoration:underline}
.ib-rules{grid-column:span 8}
.rules{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin:0;padding:0;list-style:none;counter-reset:r}
.rules li{position:relative;padding:11px 0 11px 34px;border-bottom:1px solid var(--hair);font-size:15px;line-height:1.5;counter-increment:r}
.rules li::before{content:counter(r);position:absolute;left:0;top:12px;font:900 18px/1 var(--display);font-stretch:74%;color:var(--shu)}
.ib-photo{grid-column:9/span 4;grid-row:2/span 2;margin:0;position:relative;overflow:hidden;border-radius:18px;background:var(--sumi-2)}
.ib-photo img{width:100%;height:100%;object-fit:cover}
.ib-photo figcaption{position:absolute;left:14px;bottom:14px;padding:6px 12px;border-radius:999px;background:rgba(30,23,19,.62);color:var(--kinari);font-size:12.5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ib-sm{grid-column:span 4}
.ib-sm:nth-last-child(2),.ib-sm:last-child{grid-column:span 6}
@media (max-width:1060px){
  .info-grid{grid-auto-flow:dense}
  .ib,.ib-sm,.ib-sm:nth-last-child(2){grid-column:span 6}
  .ib-rules,.ib-sm:last-child{grid-column:1/-1}
  .ib-photo{grid-column:1/-1;grid-row:auto;aspect-ratio:2/1}
  .ib-photo img{object-position:50% 58%}
}
@media (max-width:640px){
  .ib,.ib-sm,.ib-sm:nth-last-child(2),.ib-sm:last-child,.ib-photo,.ib-rules{grid-column:1/-1}
  .rules{grid-template-columns:1fr}
  .ib-photo{display:none}
}

/* ---------- footer */
.foot{position:relative;background:var(--sumi);color:var(--kinari);padding:clamp(72px,8vw,112px) 0 84px;overflow:hidden;overflow:clip}
.foot-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px 32px;padding-bottom:40px;border-bottom:1px solid var(--hair)}
.foot-crest{width:72px;height:72px;fill:var(--shu)}
.foot-jp p:first-child{font-size:clamp(20px,2vw,26px);font-weight:600}
.foot-jp p+p{margin-top:4px;font-size:14px;color:var(--muted)}
.foot-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:40px 0}
.foot-cols h3{margin-bottom:12px;font:700 11.5px/1 var(--text);letter-spacing:.18em;text-transform:uppercase;color:var(--shu-lt)}
.foot-cols p,.foot-cols li{font-size:15px;line-height:1.7;color:rgba(243,234,219,.82)}
.foot-cols ul{margin:0;padding:0;list-style:none}
.foot-cols a{display:inline-block;padding:5px 0;line-height:1.5;text-decoration:none}
.foot-cols a:hover{text-decoration:underline}
.foot-g{margin:12px 0 0;font-size:40px;line-height:1}
.foot-g .w{display:block}
.foot-word{width:100%;height:auto;overflow:visible}
.foot-word text{fill:var(--shu);font-family:var(--display);font-weight:900;font-stretch:62%}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;margin-top:28px;padding-top:22px;border-top:1px solid var(--hair);font-size:13px;color:var(--muted)}
.foot-base .ornek-note{max-width:62ch;opacity:1;color:rgba(243,234,219,.74)}
@media (max-width:860px){.foot-top{grid-template-columns:auto minmax(0,1fr)}.foot-top .btn{grid-column:1/-1;justify-self:start}.foot-cols{grid-template-columns:1fr 1fr}}
@media (max-width:340px){.foot-cols{grid-template-columns:1fr}}

/* reduced motion: static, fully readable page */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .lay,.tuna{transform:none!important}
  .nav{transition:none}
  .sheet,html.sheet-open .sheet{transition:none}
  html.ready .flow.armed .panel{transition:none}
}
.nw{white-space:nowrap}
