/* Ink, white and the original Sakazukiya mark. */
:root{--ink:#1b1b1a;--ink2:#292928;--paper:#faf9f6;--ivory:#fff;--copper:#242423;--gold:#e4e1d9;--muted:#c7c7c2;--line:#ffffff35;--header:68px}
body{background:var(--paper)}
.paper{background:var(--paper)}.paper::before{opacity:.025}.section-dark::before{opacity:.025}
.paper .eyebrow{color:var(--ink)}.clip-defs{position:absolute;overflow:hidden;pointer-events:none}
.site-header{background:#fff;color:var(--ink);border-bottom:1px solid #d8d8d4}
.wordmark{display:flex;gap:0}.official-logo{width:176px;height:auto;object-fit:contain}.nav-toggle>span{background:var(--ink)}
.header-reserve{background:var(--ink);color:#fff}.nav-dialog{background:#fff}.nav-dialog .official-logo{width:160px}
.hero{background:var(--ink);color:#fff}.hero-brand{color:#fff}.hero-seal{background:transparent;border-color:#fff}.hero-kicker>span{background:#fff}.hero-hashigo{background:#fff;color:var(--ink);box-shadow:3px 3px 0 #0008}.hero-copy p{text-shadow:0 2px 10px #000a}.hero-caption{color:#fff}
.welcome-bar{background:var(--ink);color:#fff;border-top:1px solid #fff5}
.text-link:hover{color:#666}.text-link.light{color:#fff;border-color:#fff8}.copper:hover{background:#444}.button.copper{background:var(--ink);color:#fff}
.cup-photo img{object-fit:cover;aspect-ratio:1.42}
.cup-photo figcaption{font-family:var(--display);text-align:center;font-size:13px;line-height:1.6}
/* One compact spread, not a stack of text and photographs. */
.story.story-v3{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding:48px var(--gutter) 46px;margin:0;max-width:none}
.story-v3 .story-heading{grid-column:auto;grid-row:auto;padding:0;margin:0}
.story-v3 .story-heading .eyebrow{margin-bottom:11px;font-size:11px}
.story-v3 .story-heading h2{font-size:clamp(29px,8vw,42px);line-height:1.5;letter-spacing:-.06em;transform:none}
.story-v3 .story-heading h2 span{color:var(--ink);font-size:1.15em}
.story-mosaic{position:relative;min-width:0;display:grid;grid-template-columns:1fr}
.story-main-photo{width:88%;transform:rotate(-6deg);margin-left:-4%;position:relative}
.story-main-photo img{object-position:40% 35%;aspect-ratio:1.48;}
.story-main-photo figcaption{margin-top:-4px;font-size:13px}
.story-oden{position:absolute;right:-5px;bottom:6%;width:37%;transform:rotate(7deg);border:4px solid #fff;background:#fff;box-shadow:1px 3px 0 #0002}
.story-oden img{aspect-ratio:1;object-fit:cover;object-position:65% center}.story-oden figcaption{font-family:var(--display);font-size:11px;text-align:center;padding:6px 0 2px;line-height:1.5}
.story-bottom{display:grid;grid-template-columns:1fr 24%;gap:14px;align-items:center;margin-top:4px}
.story-v3 .story-copy{grid-column:auto;grid-row:auto;padding:0;font:12px/1.95 var(--sans);letter-spacing:0}
.story-v3 .story-copy .text-link{font-size:12px;min-width:0;max-width:220px;margin-top:12px;padding:9px 0;color:var(--ink)}
.story-lantern{transform:rotate(-5deg)}.story-lantern img{aspect-ratio:.7;object-fit:cover;object-position:33% center}
/* Different views of the food and hands at work. */
.specialty.specialty-v3{background:var(--ink);color:#fff;padding:46px var(--gutter) 46px}
.specialty-v3 .specialty-intro{display:grid;grid-template-columns:1fr;gap:16px}
.specialty-v3 h2{font-size:32px;line-height:1.55;margin-top:10px}.specialty-v3 h2 span{color:#fff;font-size:1.07em}
.specialty-v3 .specialty-intro>p{margin:0;font:12px/1.9 var(--sans)}
.fire-gallery{position:relative;margin-top:26px;padding-bottom:72px}
.fire-action{width:100%;transform:rotate(-2deg)}.fire-action img{aspect-ratio:1.5;object-fit:cover;object-position:50% 48%}
.fire-action figcaption{font-family:var(--display);font-size:12px;padding-top:8px;line-height:1.7;max-width:58%}
.fire-dish{position:absolute;bottom:-3px;right:-12px;width:49%;transform:rotate(8deg)}.fire-dish img{object-position:52% 32%}.fire-dish figcaption{font-size:12px;margin-top:-3px}
.specialty-tail{display:grid;gap:11px;margin-top:2px}.specialty-tail p{font:12px/2 var(--sans)}.specialty-tail .text-link{font-size:12px;padding:10px 0;min-width:0;width:100%}
.kitchen-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;border-top:1px solid #fff4;padding-top:24px;margin-top:28px}
.kitchen-strip img{aspect-ratio:.86;object-fit:cover}.kitchen-strip figure:nth-child(2){padding-top:17px}.kitchen-strip figure:nth-child(3){padding-top:6px}.kitchen-strip figcaption{font:10px/1.6 var(--sans);padding-top:8px;letter-spacing:-.02em}
/* A cutout in the heading, with the route directly under its destination heading. */
.hashigo.hashigo-v3{background:#fff;color:var(--ink);border-top:0;border-bottom:1px solid #ccc;padding:31px var(--gutter) 40px}
.hashigo-v3 .hashigo-topline{border-bottom:1px solid var(--ink);padding-bottom:13px;font-size:10px;gap:8px}
.hashigo-v3 .hashigo-ticket{display:block;background:var(--ink);color:#fff;border:0;font-size:10px;padding:5px 8px;white-space:nowrap;transform:rotate(3deg)}
.hashigo-hero{display:grid;grid-template-columns:1.1fr 1fr;position:relative;column-gap:0;row-gap:15px;padding-top:30px;align-items:center}
.hashigo-title-block{grid-column:1;grid-row:1;position:relative;z-index:2;align-self:start}
.hashigo-v3 .hashigo-lead{font-size:12px;margin-bottom:13px;padding:0 0 4px;border-width:1px;white-space:nowrap}
.hashigo-v3 h2{font-size:clamp(23px,6vw,34px);line-height:1.55;letter-spacing:-.08em;white-space:nowrap}
.hashigo-v3 h2>span{font-size:1em}.hashigo-v3 h2 strong{font-size:1.48em;color:var(--ink);text-shadow:none;letter-spacing:-.08em}
.tuktuk-cutout{grid-column:2;grid-row:1;position:relative;width:155%;margin-left:-21%;padding-top:20px;transform:rotate(2deg)}
.tuktuk-cutout img{aspect-ratio:1584/993;object-fit:contain;filter:drop-shadow(0 12px 4px #00000012)}
.tuktuk-cutout figcaption{font-family:var(--display);font-size:10px;line-height:1.7;transform:rotate(-5deg);text-align:center;margin-top:5px;margin-right:9%;white-space:nowrap}
.hashigo-description{grid-column:1/-1;margin-top:3px;max-width:520px}
.hashigo-description>p{font:12px/1.95 var(--sans)}.hashigo-description .text-link{font-size:11px;min-width:0;margin-top:6px;padding:10px 0}
.hashigo-description .hashigo-note{font-size:10px;color:#666;line-height:1.8;margin-top:13px;max-width:440px}
.hashigo-v3 .hashigo-destinations{margin-top:30px;padding-top:25px;border-top:1px solid var(--ink)}
.hashigo-v3 .hashigo-destinations h3{font-size:27px;transform:rotate(-2deg);line-height:1.5}
.hashigo-v3 .hashigo-destinations>p{font-size:10px;margin-top:10px}
.hashigo-v3 .hashigo-ride{margin:24px 0 28px}
.hashigo-v3 .ride-scene{height:205px;--vehicle-size:156px}
.hashigo-v3 .road-stop{font-size:17px;color:var(--ink)}.hashigo-v3 .road-stop>span{font-size:8px;border-color:var(--ink)}
.hashigo-v3 .townline{stroke:#6c6c68;height:75px;bottom:42px;opacity:.18}
.hashigo-v3 .road-dash{height:3px;bottom:25px;background:repeating-linear-gradient(90deg,#333 0 18px,transparent 18px 31px)}
.hashigo-v3 .tuktuk-vehicle{bottom:32px}.hashigo-v3 .ride-bubble{background:#fff;font-size:10px;padding:7px 10px}
.hashigo-v3 .ride-controls{border-color:#b7b7b0;padding-top:10px}.hashigo-v3 .ride-controls button{background:#fff;border-color:#333;font-size:9px;padding:8px 10px}.hashigo-v3 .ride-status{font-size:12px}
.destination-cards{display:grid;grid-template-columns:1fr;gap:20px}
.destination-card{display:block;min-width:0;background:#fff;border-bottom:1px solid #202020;transition:transform .2s}
.destination-visual{position:relative;overflow:hidden;aspect-ratio:2.05}
.destination-photo{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.destination-card:hover .destination-photo{transform:scale(1.035)}
.destination-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,#0009)}
.destination-logo{position:absolute;z-index:2;bottom:13px;left:16px;max-width:58%;width:155px}
.destination-logo img{width:100%;height:auto;object-fit:contain;max-height:70px}
.danvino .destination-logo{width:123px}.danvino .destination-logo img{border:1px solid #ffffff55}
.kinboshi .destination-photo{object-position:center 53%}
.kinmokusei .destination-logo{width:45px;padding:6px;background:#fff;bottom:12px;left:18px}
.kinmokusei .destination-logo img{max-height:70px}
.destination-area{position:absolute;right:12px;top:12px;padding:3px 8px;background:#fff;color:var(--ink);font:700 10px/1.7 var(--sans);z-index:2}
.destination-caption{position:relative;padding:12px 35px 15px 2px}.destination-caption strong{font:800 21px/1.5 var(--display);letter-spacing:-.05em}.destination-caption p{font:10px/1.8 var(--sans);margin-top:4px}.destination-caption i{position:absolute;right:3px;top:21px;font:25px var(--sans);font-style:normal}
.hashigo-v3 .hashigo-booking{color:var(--ink);margin-top:24px;gap:12px}.hashigo-v3 .hashigo-booking p{font-size:10px;line-height:1.9}.hashigo-v3 .hashigo-booking strong{font-size:12px}.hashigo-v3 .hashigo-booking a{font-size:10px}
/* Quiet practical sections. */
.menu-section{padding-top:48px;padding-bottom:50px}.menu-tabs button[aria-selected=true]{box-shadow:2px 2px 0 #aaa}.menu-showcase img{border-color:#fff;box-shadow:2px 2px 0 #ccc}.course-card{background:#fff;box-shadow:3px 3px 0 #ccc}
.category-note,.item-note,.menu-notice,.course-meta,.course-options>p,.free-drink-group dd,.drink-intro p{color:#646462}.menu-toolbar{color:#555}
.space.section-dark{background:var(--ink);color:#fff;padding-top:48px;padding-bottom:46px}.space h2 span{color:#fff}.space-grid{gap:18px;margin-top:25px}.space-grid img{border:3px solid #fff}.space-grid figure:last-child{margin-top:0}.space-foot{margin-top:28px;padding-top:20px}.space-main{margin-top:25px}
.access{padding-top:48px;padding-bottom:48px}.shop-details .shop-logo{margin:15px 0 25px}.shop-logo .official-logo{width:245px}.access-images>img{border-width:0}.map-link{border:0;background:var(--ink);color:#fff}.shop-details dt{color:#666}
.reservation{background:var(--ink);color:#fff;border-top:1px solid #fff5;padding-top:45px}.reservation .button.copper{background:#fff;color:var(--ink);border:0;box-shadow:3px 3px 0 #777}.reservation .button small{color:#666}.reservation .button.copper:hover{background:#eee}
.footer{background:#fff;color:var(--ink);border-top:1px solid #ccc}.footer p,.footer>span{color:#666}.footer .official-logo{width:190px}.back-top{border-color:#aaa}
.mobile-booking{background:#fff;color:var(--ink);border-color:#222}.mobile-booking a:last-child{background:var(--ink);color:#fff}
@media(min-width:600px){
 .story.story-v3{padding:60px var(--gutter);gap:25px}.story-v3 .story-heading h2{font-size:45px}.story-mosaic{max-width:650px}.story-bottom{grid-template-columns:1fr 110px;gap:30px}.story-v3 .story-copy{font-size:14px}.story-lantern img{aspect-ratio:1}
 .hashigo-v3 h2{font-size:40px}.hashigo-v3 .hashigo-lead{font-size:17px}.tuktuk-cutout{width:140%;margin-left:-12%}.tuktuk-cutout figcaption{font-size:13px}.hashigo-description>p{font-size:14px}
 .hashigo-v3 .ride-scene{--vehicle-size:190px;height:230px}.hashigo-v3 .road-stop{font-size:22px}.hashigo-v3 .ride-status{font-size:16px}.destination-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.destination-visual{aspect-ratio:1.15}.destination-caption strong{font-size:19px}.destination-caption p{font-size:10px}.destination-logo{left:8px;bottom:12px;max-width:82%}.danvino .destination-logo{width:110px}.kinmokusei .destination-logo{left:12px}
 .kitchen-strip{gap:20px}.kitchen-strip img{aspect-ratio:1.4}.kitchen-strip figcaption{font-size:12px}.specialty-tail{grid-template-columns:1fr 1fr;align-items:center;gap:25px}.specialty-v3 h2{font-size:42px}.fire-dish{width:40%}
}
@media(min-width:900px){
 :root{--header:82px}.official-logo{width:210px}.hero-brand{background:linear-gradient(90deg,transparent,#1b1b1add 22%,#1b1b1a 60%)}.hero-hashigo{right:23%}.site-header .desktop-nav{gap:19px;font-size:11px}
 .story.story-v3{grid-template-columns:45% 55%;grid-template-rows:auto auto;gap:0;padding:65px max(var(--gutter),calc((100% - 1240px)/2)) 62px;align-items:center}
 .story-v3 .story-heading{grid-column:1;grid-row:1;align-self:end;padding-bottom:18px}.story-v3 .story-heading h2{font-size:49px;line-height:1.55}.story-v3 .story-heading .eyebrow{font-size:12px;margin-bottom:16px}
 .story-mosaic{grid-column:2;grid-row:1/3;margin-left:10px;align-self:center}.story-main-photo{width:92%;margin-left:0}.story-main-photo figcaption{font-size:17px}.story-oden{width:31%;bottom:10%;right:-2%}.story-oden figcaption{font-size:13px;padding:8px 0 3px}
 .story-bottom{grid-column:1;grid-row:2;grid-template-columns:1fr 80px;gap:12px;align-self:start;padding-top:4px;padding-right:18px;margin:0}.story-v3 .story-copy{font-size:13px;line-height:2}.story-v3 .story-copy .text-link{font-size:12px;margin-top:12px}.story-lantern img{aspect-ratio:.7}.story-lantern{margin-top:0}
 .specialty.specialty-v3{padding:65px max(var(--gutter),calc((100% - 1240px)/2)) 60px}.specialty-v3 .specialty-intro{grid-template-columns:1.4fr 1fr;align-items:center;gap:40px}.specialty-v3 h2{font-size:48px}.specialty-v3 .specialty-intro>p{font-size:14px;justify-self:end}
 .fire-gallery{display:grid;grid-template-columns:66% 34%;align-items:center;margin-top:35px;padding-bottom:0}.fire-action{width:100%}.fire-action img{aspect-ratio:1.8}.fire-action figcaption{max-width:none;font-size:15px;padding-top:12px}.fire-dish{position:relative;width:115%;right:auto;bottom:auto;margin-left:-6%}.fire-dish figcaption{font-size:17px}.specialty-tail{grid-template-columns:1.4fr 1fr;margin-top:28px;gap:50px}.specialty-tail p{font-size:14px}.specialty-tail .text-link{font-size:14px;max-width:360px;justify-self:end}
 .kitchen-strip{padding-top:30px;margin-top:35px;gap:27px}.kitchen-strip img{aspect-ratio:1.65}.kitchen-strip figcaption{font-size:13px}.kitchen-strip figure:nth-child(2){padding-top:15px}
 .hashigo.hashigo-v3{padding:35px max(var(--gutter),calc((100% - 1240px)/2)) 55px}.hashigo-v3 .hashigo-topline{font-size:12px;padding-bottom:18px}.hashigo-v3 .hashigo-ticket{font-size:12px;padding:6px 13px}
 .hashigo-hero{grid-template-columns:48% 52%;grid-template-rows:auto auto;padding-top:40px;row-gap:15px;align-items:center}.hashigo-title-block{grid-column:1;grid-row:1;align-self:end}.hashigo-v3 .hashigo-lead{font-size:19px;margin-bottom:17px}.hashigo-v3 h2{font-size:47px;line-height:1.5}.hashigo-v3 h2 strong{font-size:1.5em}
 .tuktuk-cutout{grid-column:2;grid-row:1/3;width:126%;margin-left:-12%;padding-top:0;align-self:center}.tuktuk-cutout figcaption{font-size:16px;margin-top:8px}
 .hashigo-description{grid-column:1;grid-row:2;padding-right:30px;align-self:start}.hashigo-description>p{font-size:13px;line-height:2}.hashigo-description .text-link{font-size:12px;margin-top:9px}.hashigo-description .hashigo-note{font-size:10px;margin-top:13px}
 .hashigo-v3 .hashigo-destinations{margin-top:40px;padding-top:30px}.hashigo-v3 .hashigo-destinations h3{font-size:36px}.hashigo-v3 .hashigo-destinations>p{font-size:12px}.hashigo-v3 .hashigo-ride{margin:25px 0 35px}.hashigo-v3 .ride-scene{height:220px;--vehicle-size:220px}.hashigo-v3 .townline{height:100px}.hashigo-v3 .road-stop{font-size:24px}.hashigo-v3 .road-stop>span{font-size:10px}.hashigo-v3 .ride-bubble{font-size:13px}.hashigo-v3 .ride-status{font-size:17px}.hashigo-v3 .ride-controls button{font-size:10px;padding:10px 17px}
 .destination-cards{gap:26px}.destination-visual{aspect-ratio:1.5}.destination-caption strong{font-size:25px}.destination-caption{padding-top:16px;padding-bottom:18px}.destination-caption p{font-size:11px}.destination-logo{width:190px;left:18px;bottom:18px;max-width:65%}.danvino .destination-logo{width:135px}.kinmokusei .destination-logo{width:50px;left:18px;bottom:18px}.destination-area{font-size:10px}.hashigo-v3 .hashigo-booking{margin-top:30px;grid-template-columns:1.5fr 1fr;gap:40px}.hashigo-v3 .hashigo-booking p{font-size:12px}.hashigo-v3 .hashigo-booking strong{font-size:14px}.hashigo-v3 .hashigo-booking a{font-size:11px}
 .menu-section{padding-top:65px;padding-bottom:65px}.space.section-dark{padding-top:65px;padding-bottom:60px}.space-grid{gap:40px;margin-top:35px}.space-grid figure:last-child{margin-top:35px}.space-foot{margin-top:35px;padding-top:25px}.space-main{margin-top:35px}.access{padding-top:65px;padding-bottom:65px}.footer .official-logo{width:185px}
}
@media(max-width:359px){.official-logo{width:155px}.story.story-v3{padding-top:36px}.story-v3 .story-heading h2{font-size:27px}.story-v3 .story-copy{font-size:11px}.story-bottom{grid-template-columns:1fr 21%;gap:8px}.story-main-photo figcaption{font-size:11px}.story-oden figcaption{font-size:9px}.hashigo-v3 h2{font-size:22px}.hashigo-v3 .hashigo-lead{font-size:10px}.hashigo-v3 .hashigo-topline{font-size:9px}.hashigo-v3 .hashigo-ticket{font-size:9px}.tuktuk-cutout figcaption{font-size:9px}.hashigo-description>p{font-size:11px}.hashigo-v3 .hashigo-destinations h3{font-size:24px}.specialty-v3 h2{font-size:29px}.specialty-v3 .specialty-intro>p{font-size:11px}.kitchen-strip figcaption{font-size:9px}.hashigo-v3 .ride-scene{--vehicle-size:140px;height:192px}.hashigo-v3 .ride-status{font-size:11px}}
@media(prefers-reduced-motion:reduce){.destination-photo{transition:none}}

/* Keep food photography in its natural rectangular framing. */
.story-main-photo{width:88%;margin-left:0;transform:rotate(-3deg);padding:6px;background:#fff;box-shadow:2px 3px 0 #0002}.story-main-photo img{aspect-ratio:1.4;object-fit:cover}.story-main-photo figcaption{font:12px/1.6 var(--display);text-align:center;padding:8px 2px 3px;margin:0}.story-oden{bottom:-2%;width:34%}.fire-dish{background:#fff;color:var(--ink);padding:5px;box-shadow:3px 3px 0 #0004}.fire-dish img{aspect-ratio:1.4;object-fit:cover}.fire-dish figcaption{font-family:var(--display);text-align:center;padding:8px 3px 4px;margin:0}.story-bottom{margin-top:10px}
@media(min-width:900px){.story-main-photo{width:88%;padding:9px}.story-main-photo img{aspect-ratio:1.45}.story-main-photo figcaption{font-size:15px;padding-top:11px}.story-oden{width:31%;bottom:-6%;right:-1%}.story.story-v3{padding-top:65px;padding-bottom:85px}.fire-dish{width:105%;margin-left:-8%;padding:7px}.fire-dish img{aspect-ratio:1.15}.fire-dish figcaption{font-size:14px}.story-bottom{margin:0}.fire-gallery{grid-template-columns:69% 31%}}
/* Keep the entire real vehicle and the animation labels clear. */
@media(max-width:599px){.tuktuk-cutout{width:145%;margin-left:-20%}.hashigo-v3 .ride-scene{height:230px}}
@media(min-width:600px){.hashigo-v3 .ride-scene{height:250px}}
@media(min-width:900px){.hashigo-v3 .ride-scene{height:270px}}
/* Three quiet changes of scene in the first view. */
.hero-slideshow .hero-slide{opacity:0;transition:opacity 1.35s ease-in-out;z-index:0;pointer-events:none}
.hero-slideshow .hero-slide.is-active{opacity:1}
.hero-slideshow::after{z-index:1}
.hero-slideshow .hero-copy p{font-size:clamp(27px,7.7vw,34px);line-height:1.7;letter-spacing:0}
.hero-slideshow .hero-copy{bottom:97px}
#hero-slide-1 img{object-position:51% 45%}
#hero-slide-2 img{object-position:47% center}
.hero-slideshow-controls{position:absolute;right:var(--gutter);bottom:16px;z-index:4;display:flex;flex-direction:column;align-items:flex-end;gap:4px;color:#fff}
.hero-slide-label{font:9px/1.6 var(--sans);letter-spacing:.03em;text-shadow:0 1px 7px #000}
.hero-slide-buttons{display:flex;align-items:center;gap:2px}
.slide-dot{position:relative;min-width:39px;height:38px;padding:0;font:11px Georgia,serif;opacity:.6}
.slide-dot::after{content:"";position:absolute;bottom:3px;left:10px;right:10px;height:1px;background:#fff;transform:scaleX(0);transition:transform .3s}
.slide-dot.is-active{opacity:1}.slide-dot.is-active::after{transform:scaleX(1)}
.slideshow-toggle{font:15px var(--sans);width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff65;margin-left:8px;border-radius:50%}
.slide-dot:hover,.slideshow-toggle:hover{background:#ffffff15;opacity:1}
.hero-slideshow .hero-scroll{bottom:24px}
/* A soft charcoal surface, a quiet shop seal and a fine linen grain. */
.section-dark.brand-surface{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 10% 0,#45454088,transparent 65%),linear-gradient(120deg,#30302d,#272725 75%);color:#fff}
.brand-surface::before{opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)' opacity='.38'/%3E%3C/svg%3E")}
.brand-surface::after{content:"";position:absolute;z-index:0;pointer-events:none;right:-115px;top:-75px;width:390px;aspect-ratio:57/61;background:url('assets/sakazukiya-mark.png') center/contain no-repeat;filter:grayscale(1) invert(1);mix-blend-mode:screen;opacity:.16;transform:rotate(-13deg)}
.brand-surface>*{position:relative;z-index:1}
.fresh-fish{padding:42px var(--gutter) 40px;max-width:none}
.fish-intro{display:grid;gap:18px}
.fish-intro h2{font-size:34px!important;line-height:1.5!important;letter-spacing:-.05em!important;margin-top:12px!important}
.fish-intro h2 span{color:#fff;font-size:1.14em}
.fish-intro>p{font:12px/1.9 var(--sans)}
.fish-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}
.fish-card{min-width:0}.fish-card>figure{position:relative}.fish-card img{width:100%;aspect-ratio:.9;object-fit:cover}
.fish-raw img{object-position:45% center}.fish-grill img{object-position:58% center}
.fish-label{position:absolute;left:9px;top:-10px;background:#f8f7f2;color:#222;writing-mode:vertical-rl;padding:10px 7px;font:800 17px/1.1 var(--display);letter-spacing:.12em;transform:rotate(-4deg);box-shadow:2px 2px 0 #0003}
.fish-grill{padding-top:29px}.fish-grill .fish-label{transform:rotate(4deg)}
.fish-card-copy{padding:14px 1px 0}.fish-card h3{font-size:18px;letter-spacing:-.07em;line-height:1.6}.fish-card p{font:10px/1.9 var(--sans);margin-top:9px}
.fish-card .text-link{min-width:0;width:100%;font-size:10px;gap:5px;margin-top:10px;padding:9px 0;border-bottom-width:1px}.fish-card .text-link span{font-size:18px}
.fish-season{font:10px/1.9 var(--sans);margin-top:27px;padding-top:17px;border-top:1px solid #ffffff32;color:#deded9}
/* One-plate food is a feature in its own right, above the complete menu. */
.small-plates-feature{display:grid;grid-template-columns:minmax(0,1fr);position:relative;gap:21px;margin:30px 0 35px;padding-bottom:25px;border-bottom:3px double #333}
.small-plates-heading h3{font:800 31px/1.5 var(--display);letter-spacing:-.05em;margin-top:10px}
.small-plates-heading .eyebrow{font-size:10px}.small-plates-heading>p{font:12px/1.9 var(--sans);margin-top:13px}
.plate-main{position:relative;transform:rotate(-2deg);margin:0 6px 0 0;background:#fff;padding:5px;box-shadow:2px 3px 0 #0002}
.plate-main img{aspect-ratio:1.35;object-fit:cover;object-position:center 48%}
.plate-main figcaption{position:absolute;right:12px;bottom:-12px;background:#fff;padding:10px 15px;box-shadow:2px 3px 0 #0002;transform:rotate(4deg);border:1px solid #ddd;line-height:1.6}
.plate-main small{display:block;font:9px/1.6 var(--sans)}.plate-main strong{font:800 19px/1.6 var(--display);letter-spacing:-.04em}
.plate-pair{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:10px;align-items:start}.plate-pair img{aspect-ratio:1.1;object-fit:cover}.plate-pair figure:first-child{transform:rotate(3deg)}.plate-pair figure:last-child{padding-top:16px;transform:rotate(-3deg)}
.plate-pair figcaption{font:12px/1.8 var(--display);padding-top:9px;letter-spacing:-.04em}.plate-pair strong{font-weight:800}
.plate-feature-foot{display:grid;gap:8px}.plate-feature-foot>p{font:9px/1.8 var(--sans);color:#686864}.plate-feature-foot .text-link{font-size:12px;min-width:0;justify-self:end}
.space.brand-surface{background:linear-gradient(135deg,#44443f,#2c2c29)}.space.brand-surface::after{top:-80px;right:-100px;opacity:.13;transform:rotate(12deg)}
.reservation.brand-surface{background:linear-gradient(115deg,#373733,#252523);border-top:1px solid #aaa3}.reservation.brand-surface::after{top:-60px;left:-105px;right:auto;width:350px;opacity:.12;transform:rotate(-17deg)}
@media(min-width:600px){
 .hero-slideshow .hero-copy p{font-size:43px}.hero-slideshow .hero-copy{bottom:110px}.hero-slideshow-controls{right:42px;bottom:18px;gap:8px}.hero-slide-label{font-size:10px}.slide-dot{width:42px}
 .fresh-fish{padding-top:55px;padding-bottom:50px}.fish-intro{grid-template-columns:1.2fr 1fr;align-items:center;gap:30px}.fish-intro h2{font-size:42px!important}.fish-intro>p{font-size:13px}.fish-pair{gap:28px}.fish-card img{aspect-ratio:1.2}.fish-card h3{font-size:24px}.fish-card p{font-size:12px}.fish-card .text-link{font-size:12px}.fish-season{font-size:11px}
 .small-plates-feature{grid-template-columns:1fr 1.1fr;gap:25px}.small-plates-heading{align-self:center}.small-plates-heading h3{font-size:35px}.plate-main{grid-column:2;grid-row:1}.plate-pair{grid-column:1/3;gap:25px}.plate-pair img{aspect-ratio:1.5}.plate-pair figcaption{font-size:16px}.plate-feature-foot{grid-column:1/3;grid-template-columns:1fr 1fr;align-items:center;gap:20px}
}
@media(min-width:900px){
 .hero-slideshow .hero-copy p{font-size:48px}.hero-slideshow .hero-copy{bottom:107px}.hero-slideshow-controls{right:23%;bottom:18px;flex-direction:row;gap:20px;align-items:center}.hero-slide-label{font-size:11px}.hero-slideshow .hero-hashigo{bottom:100px}.hero-slideshow .hero-scroll{bottom:28px}
 .brand-surface::after{width:680px;right:-110px;top:-175px;opacity:.14}
 .specialty.fresh-fish{padding:65px max(var(--gutter),calc((100% - 1240px)/2)) 55px}.fish-intro{grid-template-columns:1.3fr 1fr}.fish-intro h2{font-size:54px!important}.fish-intro>p{font-size:15px;line-height:2.1;justify-self:end;padding-right:9%}
 .fish-pair{gap:50px;margin-top:35px}.fish-card img{aspect-ratio:1.5}.fish-grill{padding-top:45px}.fish-label{left:17px;top:-17px;padding:17px 11px;font-size:26px}.fish-card-copy{padding-top:20px;display:grid;grid-template-columns:1fr auto;gap:0 20px}.fish-card h3{font-size:30px;grid-column:1}.fish-card p{font-size:13px;grid-column:1;margin-top:11px}.fish-card .text-link{grid-column:2;grid-row:1/3;align-self:end;font-size:12px;min-width:130px;gap:16px}.fish-card .text-link span{font-size:23px}.fish-season{font-size:12px;margin-top:30px;padding-top:20px}.fish-season br{display:none}
 .small-plates-feature{grid-template-columns:45% 1fr;column-gap:7%;row-gap:20px;margin-top:40px;padding-bottom:32px;margin-bottom:40px}.small-plates-heading{grid-column:1;grid-row:1;padding:10px 0 10px}.small-plates-heading h3{font-size:44px}.small-plates-heading .eyebrow{font-size:12px}.small-plates-heading>p{font-size:14px;margin-top:18px}.plate-main{grid-column:2;grid-row:1/3;align-self:center;margin:0;padding:8px}.plate-main img{aspect-ratio:1.1}.plate-main figcaption{right:20px;bottom:-17px;padding:14px 20px}.plate-main small{font-size:10px}.plate-main strong{font-size:28px}.plate-pair{grid-column:1;grid-row:2;gap:22px;margin-top:5px}.plate-pair img{aspect-ratio:1.13}.plate-pair figcaption{font-size:14px;padding-top:11px}.plate-pair figure:last-child{padding-top:18px}.plate-feature-foot{grid-column:1/-1;grid-row:3;padding-top:15px;grid-template-columns:1fr auto}.plate-feature-foot>p{font-size:10px}.plate-feature-foot .text-link{font-size:13px;min-width:240px}
 .space.brand-surface::after{top:-190px;right:-100px;width:700px;opacity:.15}.reservation.brand-surface::after{top:-160px;left:-60px;width:600px;opacity:.11}
}
@media(max-width:359px){.hero-slideshow .hero-seal{display:none}.hero-slideshow .hero-copy p{font-size:25px}.hero-slideshow-controls{right:18px}.hero-slide-label{font-size:8px}.slide-dot{min-width:32px;width:32px}.slideshow-toggle{width:34px;height:34px;margin-left:3px}.hero-slideshow .hero-scroll{gap:6px}.hero-slideshow .hero-scroll i{width:28px}.fish-intro h2{font-size:30px!important}.fish-pair{gap:12px}.fish-card h3{font-size:16px}.fish-card p{font-size:9px}.fish-card .text-link{font-size:9px}.fish-label{font-size:15px;padding:9px 6px}.small-plates-heading h3{font-size:28px}.plate-pair figcaption{font-size:11px}.plate-main strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){.hero-slideshow .hero-slide{transition:none}.slide-dot::after{transition:none}}
@media(max-width:599px){
 .small-plates-feature{grid-template-columns:44% minmax(0,1fr);column-gap:17px;row-gap:18px}
 .small-plates-heading{grid-column:1;grid-row:1;align-self:center}.small-plates-heading h3{font-size:24px;white-space:nowrap;line-height:1.55}.small-plates-heading .eyebrow{font-size:9px;letter-spacing:0}.small-plates-heading>p{font-size:10px;line-height:1.9}.small-plates-heading>p br{display:none}
 .plate-main{grid-column:2;grid-row:1;margin:0;align-self:center;padding:3px}.plate-main img{aspect-ratio:.75;object-position:54% center}.plate-main figcaption{right:-4px;bottom:-8px;left:-10px;padding:7px 8px}.plate-main small{font-size:8px}.plate-main strong{font-size:15px;white-space:nowrap}
 .plate-pair{grid-column:1/-1;margin-top:10px;gap:17px}.plate-pair img{aspect-ratio:1.3}.plate-feature-foot{grid-column:1/-1;gap:2px}.plate-feature-foot .text-link{margin-top:0;padding:8px 0}
}
@media(max-width:359px){.small-plates-feature{column-gap:13px}.small-plates-heading h3{font-size:21px}.small-plates-heading>p{font-size:9px}.small-plates-heading .eyebrow{font-size:8px}.plate-main strong{font-size:13px}.plate-main small{font-size:7px}}

/* Beef tongue, photographed at the grill. */
.tongue-feature{display:grid;grid-template-columns:minmax(0,1fr);gap:21px;padding:0 0 30px;margin:0 0 30px;border-bottom:3px double #333}
.tongue-feature figure{position:relative}.tongue-feature img{aspect-ratio:1.45;object-fit:cover;object-position:48% 62%}.tongue-feature figcaption{font:10px/1.7 var(--sans);color:#666;padding-top:9px}
.tongue-copy .eyebrow{font-size:10px;letter-spacing:.1em}.tongue-copy h3{font:800 36px/1.6 var(--display);letter-spacing:-.04em;margin-top:9px}.tongue-copy>p{font:12px/2 var(--sans);margin-top:12px}
@media(min-width:600px){.tongue-feature{grid-template-columns:55% minmax(0,1fr);gap:30px;align-items:center;padding-bottom:35px;margin-bottom:35px}.tongue-feature img{aspect-ratio:1.3}.tongue-copy h3{font-size:36px}.tongue-copy>p{font-size:12px}.tongue-copy>p br{display:none}}
@media(min-width:900px){.tongue-feature{grid-template-columns:55% minmax(0,1fr);gap:6%;padding-bottom:40px;margin-bottom:40px}.tongue-feature img{aspect-ratio:1.65}.tongue-feature figcaption{font-size:11px}.tongue-copy .eyebrow{font-size:12px}.tongue-copy h3{font-size:44px;margin-top:15px}.tongue-copy>p{font-size:14px;margin-top:18px;line-height:2.15}.tongue-copy>p br{display:block}}
@media(max-width:359px){.tongue-copy h3{font-size:32px}.tongue-copy>p{font-size:11px}}

/* Small, hand-brushed orange accents on selected words. */
.brush-emphasis{position:relative;display:inline-block;isolation:isolate}
.brush-emphasis > .brush-ink{position:absolute;z-index:0;pointer-events:none;left:50%;top:50%;width:112%;height:172%;overflow:visible;opacity:.66;transform:translate(-50%,-50%) rotate(-8deg)}
.brush-about > .brush-ink{width:86%;height:112%;opacity:.3;transform:translate(-50%,-50%) rotate(-9deg)}
.brush-fish > .brush-ink{width:90%;height:119%;opacity:.3;transform:translate(-50%,-50%) rotate(6deg)}
.tongue-copy .tongue-cut{font:800 22px/1.7 var(--display);margin:24px 0 20px;letter-spacing:-.03em}
.brush-cut > .brush-ink{width:119%;height:200%;opacity:.7;transform:translate(-50%,-50%) rotate(-10deg)}
@media(min-width:900px){.tongue-copy .tongue-cut{font-size:26px;margin:28px 0 25px}}
@media(max-width:359px){.tongue-copy .tongue-cut{font-size:20px}}

.brush-label{position:relative;z-index:1}

/* Rounder fish brush mark and a more playful tuk-tuk introduction. */
.brush-fish{margin:12px 0 24px}
.brush-fish > .brush-ink{width:65%;height:auto;aspect-ratio:1.35;top:65%;opacity:.32;transform:translate(-50%,-50%) rotate(6deg)}
.hashigo.hashigo-v3{background:linear-gradient(180deg,#fff9ef 0,#fffdf9 40%,#fff 70%)}
.hashigo-v3 .hashigo-topline{border-color:#dfbc98;color:#675748}
.hashigo-v3 .hashigo-ticket{background:#c66522;color:#fff;transform:rotate(5deg);border:2px dashed #f4bd83;box-shadow:0 0 0 3px #c66522;padding:4px 9px}
.hashigo-v3 .hashigo-lead{position:relative;border:1px solid #c66522;border-radius:50% 45% 49% 40%;color:#a94a12;background:#fff;padding:7px 11px;margin-bottom:16px;transform:rotate(-6deg);font-weight:800}
.hashigo-v3 .hashigo-lead::after{content:"";position:absolute;right:20px;bottom:-6px;width:10px;height:10px;border-right:1px solid #c66522;border-bottom:1px solid #c66522;background:#fff;transform:skewY(25deg) rotate(24deg)}
.hashigo-v3 h2>strong{color:#b95617;transform:rotate(-4deg);text-shadow:2px 3px 0 #edba7b55;letter-spacing:-.09em}
.hashigo-v3 .tuktuk-cutout{isolation:isolate}
.hashigo-v3 .tuktuk-cutout::before{content:"";position:absolute;z-index:-1;width:75%;height:auto;aspect-ratio:1.1;left:9%;top:5%;background:radial-gradient(ellipse,#f3b46044 0,#f5c78628 65%,transparent 70%);border-radius:50%;transform:rotate(-10deg)}
.hashigo-v3 .tuktuk-cutout figcaption{color:#9c4b19;font-weight:800}
.hashigo-description>p>strong{font-weight:600;color:#9c4b19}
.hashigo-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;list-style:none;padding:0;margin:20px 0 18px;text-align:center}
.hashigo-steps li{position:relative;min-width:0}
.hashigo-steps li+li::before{content:"→";position:absolute;left:-13px;top:3px;font:18px var(--sans);color:#c66522}
.hashigo-steps b{display:grid;place-items:center;width:29px;height:29px;border:1px solid #dd8a43;border-radius:47% 52% 43% 50%;margin:0 auto 8px;background:#fce3c6;color:#a34a13;font:italic 18px Georgia,serif;transform:rotate(-8deg)}
.hashigo-steps li:nth-child(2) b{transform:rotate(7deg)}
.hashigo-steps span{font:10px/1.75 var(--sans);display:block;color:#4c4139}
.hashigo-description .text-link{background:#b95617;color:#fff;border:0;border-radius:3px;min-height:45px;padding:11px 15px;gap:18px;margin-top:0;box-shadow:2px 3px 0 #d9a77944}
.hashigo-description .text-link:hover{background:#95420d;color:#fff}
.hashigo-description .hashigo-note{color:#75675d}
.hashigo-v3 .hashigo-destinations{border-top-color:#dfbc98}
.hashigo-v3 .hashigo-destinations h3{color:#914315}
@media(min-width:600px){.hashigo-steps{gap:22px}.hashigo-steps span{font-size:12px}.hashigo-steps b{width:33px;height:33px;font-size:21px}.hashigo-steps li+li::before{left:-18px;top:5px}.hashigo-v3 .hashigo-lead{padding:9px 19px}}
@media(min-width:900px){.hashigo-v3 .hashigo-lead{padding:10px 23px;margin-bottom:25px}.hashigo-v3 .hashigo-ticket{padding:6px 12px}.hashigo-steps{max-width:440px;margin:25px 0 23px;gap:24px}.hashigo-steps span{font-size:11px}.hashigo-steps b{width:34px;height:34px}.hashigo-description .text-link{padding:12px 18px}.hashigo-description .hashigo-note{margin-top:17px}}
@media(max-width:359px){.hashigo-v3 .hashigo-lead{padding:6px 8px;font-size:9px}.hashigo-v3 h2 strong{font-size:1.42em}.hashigo-steps{gap:10px}.hashigo-steps span{font-size:9px}.hashigo-steps li+li::before{font-size:15px;left:-11px}.hashigo-description .text-link{font-size:10px}}

/* Draw the rough brush paths once as the heading arrives in view. */
.brush-emphasis[data-ink="waiting"] .ink-stroke{stroke-dasharray:1;stroke-dashoffset:1;visibility:hidden}
.brush-emphasis[data-ink="drawing"] .ink-stroke{stroke-dasharray:1;animation:brush-write var(--ink-duration) cubic-bezier(.25,.55,.55,1) var(--ink-delay) both}
@keyframes brush-write{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.brush-emphasis .ink-stroke{animation:none!important;stroke-dasharray:none!important;visibility:visible!important}}
@media print{.brush-emphasis .ink-stroke{animation:none!important;stroke-dasharray:none!important;visibility:visible!important}}
