*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--body);font-synthesis:none}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.05}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}button{color:inherit}img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:var(--paper);color:var(--ink);padding:16px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.demo-strip{text-align:center;padding:7px 16px;font-size:10px;letter-spacing:.06em}.tiny,.eyebrow,.section-index{font-size:11px;letter-spacing:.14em;font-weight:600;display:block}.categories{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:12px 0}.categories button{flex-shrink:0;min-height:46px;border:1px solid var(--line);padding:10px 17px;background:transparent;font-size:14px}.categories button[aria-pressed=true]{color:var(--paper);background:var(--ink)}.search-row{display:flex;gap:24px;align-items:end;margin:20px 0}.search-row>label:first-child{flex:1}.search-row label{font-size:12px}.check{display:flex;align-items:center;gap:10px;min-height:48px}.check input{width:20px;height:20px;min-height:20px;margin:0;accent-color:var(--accent)}input,select{display:block;width:100%;min-width:0;min-height:48px;font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:11px 12px;border-radius:0;margin-top:8px}.menu-count,.allergy-note{font-size:12px;margin:20px 0;line-height:1.6}.group-heading{display:flex;align-items:baseline;gap:20px}.category-number{font-size:12px}.dish-top{display:flex;justify-content:space-between;gap:20px}.dish h4{font-size:17px;font-weight:500;line-height:1.4}.dish h4 small{display:block;margin-top:5px;font-size:12px;font-weight:400}.price{white-space:nowrap;font-size:16px;font-variant-numeric:tabular-nums}.price small{display:block;text-align:right;font-size:11px}.dish>p{margin-top:10px;font-size:14px;line-height:1.7}.allergens{font-size:12px;margin-top:6px}.allergens summary{min-height:38px;padding:9px 0;text-decoration:underline;text-underline-offset:3px}.allergens p{padding:12px;border:1px solid var(--line)}.allergy-note{padding-top:24px;border-top:1px solid var(--line)}.booking-panel{color:var(--ink);background:var(--paper);padding:24px 0}.progress{display:flex;gap:20px;list-style:none;padding:0 0 20px;border-bottom:1px solid var(--line);margin:0 0 25px;font-size:11px}.progress [aria-current]{font-weight:700;text-decoration:underline;text-underline-offset:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.booking-panel label{font-size:13px}.booking-panel fieldset{border:0;padding:0;margin:25px 0}.booking-panel legend{font-size:13px;margin-bottom:14px}.slots{display:flex;flex-wrap:wrap;gap:9px}.slot{position:relative}.slot input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.slot span{display:block;min-width:75px;text-align:center;padding:12px;border:1px solid var(--line);font-size:15px}.slot input:checked+span{background:var(--ink);color:var(--paper)}.slot input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.booking-panel .button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:15px 20px;min-height:52px;display:inline-flex;align-items:center;justify-content:center;font-size:15px}.wide{width:100%}.booking-panel h3{font-size:30px;margin:20px 0}.booking-panel p{font-size:14px;line-height:1.7;margin:15px 0}.booking-panel dl{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;font-size:14px;margin:25px 0}.booking-panel dd{margin:0;text-align:right}.booking-panel .back{background:transparent;border:0;text-decoration:underline;min-height:48px;margin-top:15px}.result-mark{font-size:36px}#booking-error{color:var(--error)}.opening-hours{margin:0}.opening-hours>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:14px 0;font-size:14px}.opening-hours dd{margin:0;text-align:right}.booking-dialog{padding:30px;border:0;max-width:min(600px,calc(100vw - 32px));width:100%;max-height:calc(100dvh - 32px);background:var(--paper);color:var(--ink);overscroll-behavior:contain}.booking-dialog::backdrop{background:#0b100fc4;backdrop-filter:blur(6px)}body:has(dialog[open]){overflow:hidden}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px;font-size:11px;position:sticky;top:-30px;background:var(--paper);z-index:2}.dialog-top button{border:0;background:transparent;padding:10px;min-height:44px}.dialog-intro{margin-top:30px}.dialog-intro h2{font-size:42px;margin:15px 0}.dialog-intro p{font-size:14px;line-height:1.7}.mobile-dock{display:none}button,a{transition:background-color .18s,color .18s}button:hover{filter:brightness(.96)}@media(max-width:760px){html{scroll-padding-top:90px}.demo-strip{font-size:9px}.search-row{display:block}.search-row .check{margin-top:10px}.dish-top{gap:14px}.dish>p{font-size:15px}.allergens summary{min-height:44px}.form-grid{grid-template-columns:1fr}.booking-panel dl{grid-template-columns:1fr 1.1fr}.booking-dialog{padding:23px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.dialog-top{top:-23px}.opening-hours>div{font-size:13px;gap:12px}.opening-hours dd{max-width:65%}.mobile-dock{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:40;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px;background:var(--paper);border-top:1px solid var(--line)}.mobile-dock a,.mobile-dock button{display:grid;place-content:center;min-height:48px;font-size:14px;border:1px solid var(--ink);background:var(--paper);color:var(--ink)}.mobile-dock>:last-child{background:var(--ink);color:var(--paper)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}:root{--paper:#141714;--ink:#e8e8d8;--accent:#e5ee87;--line:#e8e8d82e;--focus:#e5ee87;--error:#ffaaa0;--body:"IBM Plex Sans",sans-serif;--display:"Barlow Condensed",sans-serif}::-moz-selection{background:#e5ee87;color:#141714}::selection{background:#e5ee87;color:#141714}.side-rail{position:fixed;inset:0 auto 0 0;width:154px;border-right:1px solid var(--line);z-index:25;display:flex;flex-direction:column;align-items:center;padding:35px 20px;background:var(--paper)}.rail-logo{background:#d8412b;color:#141714;font-size:45px;padding:0 10px;line-height:1.4}.side-rail nav{margin-top:85px;display:flex;flex-direction:column;gap:28px;width:100%}.side-rail nav a{font:17px var(--display);letter-spacing:.04em;display:flex;gap:15px;align-items:center;min-height:44px}.side-rail nav a span{font:9px var(--body);color:#999d90}.side-rail>button{margin-top:45px;width:100%;min-height:105px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:var(--accent);border:0;color:var(--paper);font:21px var(--display);font-weight:600}.side-rail>button span{font-size:30px}.rail-caption{writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em;margin-top:auto;padding-top:30px;color:#a5a89a}.site-content{margin-left:154px}.demo-strip{text-align:left;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 4%;font-size:9px;color:#a2a699}.tatsu-mobile-header{display:none}.night{padding:35px 4% 25px;overflow:hidden}.night-top{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.15em}.night h1{font:800 clamp(170px,25vw,400px)/.78 var(--display);letter-spacing:-.035em;margin:35px 0 5px;color:var(--accent);width:-moz-max-content;width:max-content}.night-grid{display:grid;grid-template-columns:28% 1fr 45px;align-items:end;gap:25px;position:relative;margin-top:-25px}.night-caption{padding:30px 0 20px}.red-mark{display:none}.night-caption h2{font:600 clamp(30px,3.7vw,55px)/1 var(--display);margin-bottom:20px}.night-caption p{font-size:14px;line-height:1.8;color:#b9bcae;margin-bottom:25px}.acid-button{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;padding:15px 20px;border:1px solid var(--accent);background:var(--accent);color:var(--paper);min-height:52px;font:600 17px var(--display);letter-spacing:.03em}.night-photo{height:440px;position:relative;border-top:7px solid #d8412b}.night-photo img{filter:saturate(.7) contrast(1.1);-o-object-position:45% 60%;object-position:45% 60%}.night-photo figcaption{font-size:9px;letter-spacing:.1em;position:absolute;bottom:12px;left:15px;background:#141714d4;padding:6px 9px}.vertical-jp{writing-mode:vertical-rl;font-size:40px;line-height:1.2;align-self:start;color:#d8412b;letter-spacing:.2em;padding-top:35px}.night-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:23px;margin-top:30px;font-size:9px;letter-spacing:.08em}.night-bottom a{color:var(--accent)}.tatsu-manifesto{border-top:1px solid var(--line);padding:100px 7%;display:grid;grid-template-columns:170px 1fr;gap:35px}.section-index{font-size:9px;letter-spacing:.12em;color:#aaafa0}.tatsu-manifesto h2{font:600 clamp(40px,4.5vw,68px)/1.02 var(--display);letter-spacing:-.025em}.tatsu-manifesto h2 span{color:var(--accent)}.manifesto-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.manifesto-columns p{font-size:14px;color:#b6b9ab;line-height:1.9}.tatsu-menu{padding:75px 7% 90px;background:#e8e8d8;color:#171b17;--paper:#e8e8d8;--ink:#171b17;--line:#171b172c;--focus:#b73020;--accent:#171b17;display:grid;grid-template-columns:260px 1fr;gap:55px;align-items:start}.tatsu-menu-heading{position:sticky;top:30px}.tatsu-menu .section-index{color:#5b6258}.tatsu-menu h2{font:700 clamp(45px,5vw,72px)/.98 var(--display);letter-spacing:-.02em;margin:30px 0}.tatsu-menu h2 span{color:#bc3527}.tatsu-menu-heading p{font-size:13px;line-height:1.8}.tatsu-menu .categories{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.tatsu-menu .categories button{font:500 17px var(--display);border:0;border-bottom:1px solid var(--ink);border-right:1px solid var(--ink);padding:10px;white-space:normal}.tatsu-menu input{background:transparent}.tatsu-menu .search-row{display:block}.tatsu-menu .search-row .check{margin-top:8px}.group-heading{padding:20px 0 15px;border-top:2px solid var(--ink);margin-top:35px}.group-heading h3{font:600 35px var(--display);text-transform:uppercase}.dish{padding:22px 0;border-bottom:1px solid var(--line)}.dish-top h4{font-size:18px;font-weight:500}.dish h4 small{font-size:12px;letter-spacing:.05em;color:#62695e}.dish>p{font-size:14px;color:#50584d}.bar-booking{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding:90px 8%;border-bottom:1px solid var(--line)}.bar-symbol{font-size:260px;line-height:1;color:#d8412b;text-align:center;transform:rotate(-8deg)}.bar-booking h2{font:700 clamp(45px,5vw,75px)/.98 var(--display);margin:25px 0}.bar-booking p{font-size:14px;line-height:1.8;margin-bottom:30px}.tatsu-hours{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:80px 7%}.tatsu-hours h2{font:600 45px/1 var(--display);margin:25px 0}.tatsu-hours p{font-size:12px;color:#aaafa0}.opening-hours>div{font-size:12px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:35px 7%;border-top:1px solid var(--line)}footer>span{font:600 35px var(--display)}footer>a{font-size:10px;color:#aaafa0}.booking-dialog{margin:0 0 0 auto;inset:0 0 0 auto;width:540px;max-width:100vw;max-height:100dvh;height:100dvh;padding:35px;border-left:1px solid var(--line)}.dialog-top{top:-35px;font-size:10px}.dialog-intro h2{font:700 70px/.95 var(--display)}.booking-panel h3{font:600 40px var(--display)}.booking-panel .button{background:var(--accent);color:var(--paper);border-color:var(--accent);font:600 19px var(--display);letter-spacing:.04em}.booking-panel .slot span{color:var(--ink);background:var(--paper)}.booking-panel .slot input:checked+span{background:var(--accent);color:var(--paper)}.booking-panel select,.booking-panel input{color-scheme:dark}.progress [aria-current],.result-mark{color:var(--accent)}@media(min-width:1000px)and (prefers-reduced-motion:no-preference){.night h1{animation:type-rise .7s cubic-bezier(.2,.8,.2,1)}.night-photo{animation:photo-rise 1s ease-out}@keyframes type-rise{0%{transform:translateY(35px);opacity:0}to{transform:none;opacity:1}}@keyframes photo-rise{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}dialog[open]{animation:drawer-in .3s ease-out}@keyframes drawer-in{0%{transform:translate(80px);opacity:0}to{transform:none;opacity:1}}}@media(max-width:1100px){.side-rail{width:120px;padding-inline:12px}.site-content{margin-left:120px}.night-grid{grid-template-columns:31% 1fr 32px;gap:18px}.night-photo{height:370px}.night h1{font-size:25vw}.night-caption h2{font-size:36px}.night-caption .acid-button{font-size:15px;padding:12px}.tatsu-manifesto{grid-template-columns:1fr;gap:25px}.tatsu-menu{grid-template-columns:210px 1fr;gap:35px;padding-inline:5%}.bar-symbol{font-size:200px}}@media(max-width:760px){html{scroll-padding-top:85px}.side-rail{display:none}.site-content{margin:0}.demo-strip{padding:8px 16px;font-size:8px}.demo-strip>span{font-size:7px;text-align:right}.tatsu-mobile-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;height:72px;position:sticky;top:0;background:var(--paper);z-index:25;border-bottom:1px solid var(--line)}.tatsu-mobile-header>a{font:600 28px var(--display);color:var(--accent)}.tatsu-mobile-header button{background:var(--accent);color:var(--paper);border:0;padding:11px 17px;min-height:44px;font:600 17px var(--display)}.night{padding:25px 20px}.night-top{font-size:8px;letter-spacing:.09em}.night h1{font-size:clamp(125px,39vw,250px);margin:28px 0 20px;letter-spacing:-.04em;line-height:.8}.night-grid{display:flex;flex-direction:column;margin:0;gap:0;align-items:stretch}.night-photo{height:280px;order:0;width:100%;border-top-width:4px}.night-caption{order:1;padding:25px 0 10px;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.night-caption h2{font-size:38px;margin:0}.night-caption p{font-size:13px;margin:0}.night-caption .acid-button{grid-column:1/-1;justify-content:space-between;font-size:18px;padding:15px 20px}.vertical-jp{display:none}.night-bottom{font-size:8px;line-height:1.8;gap:25px;margin-top:15px;padding-top:20px}.night-bottom>span{max-width:170px}.night-bottom a{max-width:110px}.tatsu-manifesto{padding:55px 22px;gap:25px}.tatsu-manifesto h2{font-size:44px}.manifesto-columns{grid-template-columns:1fr;gap:20px;margin-top:25px}.manifesto-columns p{font-size:15px}.tatsu-menu{display:block;padding:50px 22px}.tatsu-menu-heading{position:static}.tatsu-menu h2{font-size:60px;margin:25px 0}.tatsu-menu h2 br{display:none}.tatsu-menu h2 span{display:block}.tatsu-menu-heading p{font-size:15px;margin-bottom:30px}.tatsu-menu .categories{grid-template-columns:repeat(3,1fr)}.tatsu-menu .categories button{font-size:17px;min-height:50px}.dish>p{font-size:15px}.bar-booking{padding:55px 22px;grid-template-columns:1fr}.bar-symbol{font-size:100px;text-align:left;transform:none}.bar-booking h2{font-size:54px}.bar-booking .acid-button{width:100%}.tatsu-hours{padding:55px 22px;grid-template-columns:1fr;gap:30px}.tatsu-hours h2{font-size:43px}.opening-hours>div{font-size:13px}footer{padding:25px 22px 110px}footer>a{font-size:8px}.booking-dialog{width:100%;max-width:100%;padding:25px;max-height:100dvh}.dialog-top{top:-25px}.dialog-intro h2{font-size:60px}.mobile-dock>:last-child{background:var(--accent);color:var(--paper);border-color:var(--accent)}.mobile-dock a,.mobile-dock button{font:600 18px var(--display)}}.night-sign{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:35px 7%;background:var(--accent);color:#141714;overflow:hidden}.night-sign>span{font-size:100px;line-height:1}.night-sign strong{font:800 clamp(40px,6vw,90px)/.85 var(--display);letter-spacing:-.02em}.night-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 4px,#0000000e 4px 5px)}.night h1{position:relative;text-shadow:2px 2px 0 #141714,3px 3px 0 #d8412b}.rail-logo{transform:rotate(-4deg)}.bar-symbol{border:1px solid #d8412b;border-radius:50%;aspect-ratio:1;display:grid;place-content:center;font-size:clamp(150px,20vw,260px)}.night-photo{clip-path:polygon(0 0,100% 0,100% 90%,94% 100%,0 100%)}@media(max-width:760px){.night-sign{padding:27px 20px;gap:15px}.night-sign>span{font-size:45px}.night-sign strong{font-size:clamp(28px,8vw,48px)}.tatsu-menu>*{min-width:0}.tatsu-menu .categories{grid-template-columns:repeat(2,minmax(0,1fr))}.bar-symbol{max-width:230px;width:100%;margin:auto}.booking-dialog{scroll-padding-top:70px}.night h1{font-size:29vw!important}.night-top,.night-bottom{flex-wrap:wrap}}@media(prefers-reduced-motion:no-preference){.booking-dialog[open]{animation:drawer-arrive .3s ease-out}@keyframes drawer-arrive{0%{transform:translate(100%)}to{transform:none}}}@supports (animation-timeline:view()){@media(min-width:761px)and (prefers-reduced-motion:no-preference){.bar-symbol{animation:art-arrive linear both;animation-timeline:view();animation-range:entry 0% entry 100%}@keyframes art-arrive{0%{translate:0 30px}to{translate:0 0}}}}.booking-panel [tabindex="-1"]{scroll-margin-block:85px}.booking-panel dd{overflow-wrap:anywhere}.booking-panel{min-width:0}.progress{flex-wrap:wrap;gap:12px}@media(max-width:360px){.dish-top{gap:9px}.dish h4{overflow-wrap:anywhere}.booking-panel dl{grid-template-columns:1fr}.booking-panel dd{text-align:left;margin-bottom:8px}}
