:root{--bg:#f5f2ed;--ink:#1a1a1a;--vermillion:#c41e3a;--bamboo:#7a8a6a;--line:#1a1a1a24;--serif:"Shippori Mincho", serif;--sans:"Inter", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-weight:300;line-height:1.7;overflow-x:hidden}::selection{background:var(--vermillion);color:var(--bg)}.nav{z-index:50;mix-blend-mode:multiply;justify-content:space-between;align-items:center;padding:28px clamp(24px,5vw,72px);display:flex;position:fixed;top:0;left:0;right:0}.nav-mark{font-family:var(--serif);letter-spacing:.35em;font-size:20px;font-weight:600}.nav-links{gap:40px;display:flex}.nav-links a{color:var(--ink);letter-spacing:.25em;text-transform:uppercase;opacity:.65;font-size:11px;text-decoration:none;transition:opacity .5s}.nav-links a:hover{opacity:1}@media (width<=640px){.nav-links{gap:20px}.nav-links a{font-size:10px}}.hero{justify-content:center;align-items:center;height:100vh;min-height:640px;display:flex;position:relative;overflow:hidden}.hero canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hero-caption{text-align:center;opacity:0;transition:opacity 2s .4s;position:absolute;bottom:clamp(48px,9vh,96px);left:50%;transform:translate(-50%)}.hero-caption.on{opacity:1}.hero-caption .jp{font-family:var(--serif);letter-spacing:.5em;color:var(--bamboo);margin-bottom:12px;font-size:13px;display:block}.hero-caption .en{letter-spacing:.4em;text-transform:uppercase;opacity:.55;font-size:10px}.hero-scroll{background:var(--line);width:1px;height:44px;position:absolute;bottom:28px;left:50%;overflow:hidden;transform:translate(-50%)}.hero-scroll:after{content:"";background:var(--ink);width:100%;height:100%;animation:2.8s cubic-bezier(.65,0,.35,1) infinite drip;position:absolute;top:-100%;left:0}@keyframes drip{0%{top:-100%}55%{top:0}to{top:100%}}.section{padding:clamp(120px,18vh,220px) clamp(24px,7vw,96px)}.section-inner{max-width:1040px;margin:0 auto}.kicker{align-items:center;gap:20px;margin-bottom:clamp(48px,8vh,88px);display:flex}.kicker .no{font-family:var(--serif);letter-spacing:.3em;color:var(--vermillion);font-size:12px}.kicker .rule{background:var(--line);flex:0 0 64px;height:1px}.kicker .label{letter-spacing:.45em;text-transform:uppercase;opacity:.6;font-size:10px}.h-display{font-family:var(--serif);letter-spacing:.02em;font-size:clamp(38px,6vw,72px);font-weight:500;line-height:1.15}.rv{opacity:0;will-change:transform, opacity;transform:translateY(36px)}.rv.on{opacity:1;transition:opacity 1.1s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.34,1.3,.64,1);transform:translateY(0)}.omakase-head{max-width:560px;margin-bottom:clamp(64px,10vh,110px)}.omakase-head p{opacity:.7;max-width:42ch;margin-top:28px;font-size:14px}.course{border-top:1px solid var(--line);grid-template-columns:64px 1fr auto;align-items:baseline;gap:clamp(16px,3vw,48px);padding:30px 0;display:grid}.course:last-child{border-bottom:1px solid var(--line)}.course .idx{font-family:var(--serif);color:var(--bamboo);letter-spacing:.2em;font-size:13px}.course .name{font-family:var(--serif);font-size:clamp(20px,2.6vw,30px);font-weight:500}.course .name .jp{color:var(--bamboo);letter-spacing:.3em;margin-top:6px;font-size:12px;font-weight:400;display:block}.course .desc{opacity:.6;grid-column:2;max-width:52ch;margin-top:4px;font-size:13px}.course .price{font-family:var(--serif);opacity:.7;white-space:nowrap;font-size:14px}@media (width<=560px){.course{grid-template-columns:40px 1fr}.course .price{grid-column:2;margin-top:6px}}.omakase-note{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-top:clamp(48px,8vh,80px);display:flex}.omakase-note .whole{font-family:var(--serif);font-size:clamp(20px,2.4vw,28px)}.omakase-note .whole em{color:var(--vermillion);font-style:normal}.omakase-note .fine{letter-spacing:.2em;text-transform:uppercase;opacity:.5;font-size:11px}.chef{background:#efeae2}.chef-grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(48px,8vw,120px);display:grid}@media (width<=820px){.chef-grid{grid-template-columns:1fr}}.chef-portrait{aspect-ratio:3/4;background:var(--ink);position:relative;overflow:hidden}.chef-portrait svg{width:100%;height:100%;position:absolute;inset:0}.chef-name{font-family:var(--serif);margin-top:18px;font-size:clamp(30px,4vw,46px);font-weight:500}.chef-name .jp{color:var(--bamboo);letter-spacing:.4em;margin-top:10px;font-size:14px;display:block}.chef-bio{opacity:.75;max-width:46ch;margin-top:32px;font-size:14px}.chef-bio+.chef-bio{margin-top:20px}.chef-quote{font-family:var(--serif);border-left:2px solid var(--vermillion);margin-top:44px;padding-left:24px;font-size:clamp(18px,2vw,22px);line-height:1.6}.reservation{text-align:center}.reservation .h-display{margin-bottom:24px}.reservation .lead{opacity:.65;max-width:46ch;margin:0 auto clamp(56px,9vh,88px);font-size:13px}.res-form{text-align:left;gap:36px;max-width:560px;margin:0 auto;display:grid}.field{position:relative}.field label{letter-spacing:.35em;text-transform:uppercase;opacity:.55;margin-bottom:10px;font-size:10px;display:block}.field input,.field select{border:none;border-bottom:1px solid var(--line);width:100%;font-family:var(--serif);color:var(--ink);appearance:none;background:0 0;border-radius:0;outline:none;padding:10px 0;font-size:18px;transition:border-color .6s}.field input:focus,.field select:focus{border-color:var(--vermillion)}.field-row{grid-template-columns:1fr 1fr;gap:32px;display:grid}@media (width<=560px){.field-row{grid-template-columns:1fr}}.res-submit{border:1px solid var(--ink);color:var(--ink);font-family:var(--sans);letter-spacing:.4em;text-transform:uppercase;cursor:pointer;background:0 0;justify-self:center;margin-top:12px;padding:20px 64px;font-size:11px;transition:color .5s 50ms;position:relative;overflow:hidden}.res-submit:before{content:"";background:var(--vermillion);transform-origin:0;z-index:-1;transition:transform .6s cubic-bezier(.65,0,.35,1);position:absolute;inset:0;transform:scaleX(0)}.res-submit:hover{color:var(--bg);border-color:var(--vermillion)}.res-submit:hover:before{transform:scaleX(1)}.res-done{font-family:var(--serif);color:var(--bamboo);text-align:center;padding:40px 0;font-size:20px}.footer{border-top:1px solid var(--line);padding:clamp(64px,10vh,110px) clamp(24px,7vw,96px) 48px}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:clamp(40px,6vw,96px);max-width:1040px;margin:0 auto;display:grid}@media (width<=720px){.footer-grid{grid-template-columns:1fr}}.footer .f-mark{font-family:var(--serif);letter-spacing:.3em;font-size:34px;font-weight:600}.footer .f-mark .enso{border:2px solid var(--vermillion);vertical-align:middle;border-top-color:#0000;border-radius:50%;width:14px;height:14px;margin-left:12px;display:inline-block;transform:rotate(-24deg)}.footer h4{letter-spacing:.4em;text-transform:uppercase;opacity:.5;margin-bottom:18px;font-size:10px;font-weight:400}.footer p{opacity:.75;font-size:13px}.footer .f-jp{font-family:var(--serif);color:var(--bamboo);letter-spacing:.25em;margin-top:14px;font-size:12px}.footer-base{border-top:1px solid var(--line);letter-spacing:.25em;text-transform:uppercase;opacity:.4;justify-content:space-between;max-width:1040px;margin:clamp(48px,8vh,80px) auto 0;padding-top:24px;font-size:10px;display:flex}@media (prefers-reduced-motion:reduce){.rv{opacity:1;transition:none;transform:none}.hero-scroll:after{animation:none}}
