:root{--ink:#171815;--paper:#e9e7df;--sun:#ee9e00;--line:#22251c2b;--serif:'Noto Serif JP',serif;--sans:'Noto Sans JP',Arial,sans-serif;--display:'Archivo Black',Impact,sans-serif;--gutter:clamp(24px,6vw,104px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.85 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure,dl,dd{margin:0}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--sun);outline-offset:6px}::selection{background:var(--sun);color:var(--ink)}.skip-link{position:fixed;top:-70px;left:20px;z-index:100;padding:12px 18px;background:var(--paper);color:var(--ink)}.skip-link:focus{top:12px}.section-wrap{padding:96px var(--gutter);max-width:1680px;margin:auto}.eyebrow{font:500 10px/1.4 var(--sans);letter-spacing:.13em;margin-bottom:23px}h2{font:500 clamp(32px,3.3vw,52px)/1.35 var(--serif);letter-spacing:-.045em}.section-prose{font-size:14px;line-height:2.15}
.site-header{position:relative;z-index:10;height:90px;padding:0 var(--gutter);display:flex;align-items:center;gap:32px;background:var(--paper)}.brand{display:flex;align-items:center;gap:26px;flex-shrink:0}.brand>img{width:200px}.brand-place{border-left:1px solid var(--line);padding:0 0 0 25px;font:700 17px/1.4 var(--serif);letter-spacing:.12em;white-space:nowrap}.brand-place small{display:block;font:500 8px/1.4 var(--sans);letter-spacing:.1em;margin-top:6px}.header-nav{display:flex;gap:26px;margin-left:auto;font-size:11px;white-space:nowrap}.header-nav a{padding:8px 0;border-bottom:1px solid transparent}.header-nav a:hover{border-color:var(--ink)}.language{display:flex;align-items:center;gap:7px;font:10px/1 var(--sans)}.language>span{color:#82857a}.language button{border:0;background:none;padding:10px 0;color:var(--ink);opacity:.45;cursor:pointer;font-size:10px}.language button[aria-pressed=true]{opacity:1;text-decoration:underline;text-underline-offset:6px}
.hero{height:min(830px,calc(100svh - 90px));min-height:550px;position:relative;isolation:isolate;background:#201e1b;overflow:hidden;color:#fff}.hero-photo{position:absolute;inset:0;z-index:-3;overflow:hidden}.hero-photo>img{height:100%;object-fit:cover;object-position:58% 52%;transform:translate3d(0,var(--photo-y,0px),0) scale(1.07);will-change:transform}.hero-photo figcaption{position:absolute;bottom:21px;right:var(--gutter);z-index:5;font:9px/1.4 var(--sans);letter-spacing:.08em;color:#fffd}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#090b09b0 0%,#0b0b0b54 45%,#0b0b0b00 80%),linear-gradient(0deg,#11111170,transparent 28%,transparent 78%,#11111130);pointer-events:none}.hero-content{height:100%;padding:32px var(--gutter) 50px;display:flex;flex-direction:column}.hero-eyebrow{display:flex;align-items:center;gap:13px;font:500 10px/1.4 var(--sans);letter-spacing:.12em}.hero-location-dot{width:4px;height:4px;border-radius:50%;background:var(--sun)}.hero h1{font:400 clamp(48px,7.7vw,138px)/1.08 var(--display);letter-spacing:-.045em;margin:auto 0;max-width:1350px;text-shadow:0 2px 28px #0000001c;transform:translateY(10px)}.copy-line{display:block;width:fit-content;white-space:nowrap;will-change:transform}.copy-line>span{display:block}.copy-line:first-child{font-size:1.45em;transform:translateX(var(--copy-left,0px))}.copy-line:last-child{transform:translateX(var(--copy-right,0px));margin-top:.06em}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px}.hero-bottom>p{font-size:13px;line-height:1.8}.scroll-link{display:flex;gap:24px;align-items:center;font:9px/1 var(--sans);letter-spacing:.1em;padding-bottom:10px;margin-bottom:6px}.scroll-link>span:last-child{font-size:25px;transition:transform .2s}.scroll-link:hover>span:last-child{transform:translateY(4px)}
.motion-enabled .copy-line>span{animation:copy-enter 1.1s cubic-bezier(.18,.7,.24,1) both}.motion-enabled .copy-line:last-child>span{animation-delay:.16s}.motion-enabled .hero-eyebrow,.motion-enabled .hero-bottom{animation:fade-enter 1.2s .15s ease both}@keyframes copy-enter{from{opacity:0;transform:translate3d(0,45px,0)}to{opacity:1;transform:none}}@keyframes fade-enter{from{opacity:0}to{opacity:1}}
.opening-note{display:flex;align-items:center;gap:12px;min-height:64px;padding:16px var(--gutter);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.065em}.opening-dot{width:5px;height:5px;background:var(--ink);border-radius:100%;flex-shrink:0}.opening-place{margin-left:auto;font-size:11px;letter-spacing:.13em}
.breakfast-copy h2{font:400 clamp(30px,4.6vw,70px)/1.16 var(--display);letter-spacing:-.045em}html[lang=ja] .breakfast-copy h2{font:700 clamp(30px,3.6vw,54px)/1.55 var(--sans);letter-spacing:-.055em}.meal-facts{margin-top:42px;padding-top:24px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.meal-facts dt{font-size:9px;line-height:1.5;letter-spacing:.025em;white-space:nowrap}.meal-facts dd{font:500 clamp(24px,2.5vw,36px)/1.5 var(--sans);letter-spacing:-.045em;margin-top:8px;white-space:nowrap}.meal-facts dd span{font:400 9px/1.5 var(--sans);letter-spacing:0;margin-left:5px}.meal-facts dd .yen{font-size:18px;margin:0 2px 0 0}
.ritual{padding-top:0;padding-bottom:92px}.section-heading{border-top:1px solid var(--line);padding-top:36px;display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading h2{font-size:clamp(28px,2.7vw,42px)}.section-heading>p{font-size:11px;white-space:nowrap;margin-bottom:4px}.section-heading .eyebrow{margin-bottom:17px}.ritual-list{list-style:none;padding:0;margin:43px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.ritual-list>li{min-width:0;padding:0 23px 0 20px}.ritual-list>li:first-child{padding-left:0}.ritual-list>li:last-child{padding-right:0}.ritual-list>li+li{border-left:1px solid var(--line)}.ritual-art{position:relative;height:clamp(125px,14vw,220px);margin-bottom:18px}.ritual-art img{width:100%;height:100%;object-fit:contain;padding:4px}.ritual-art>span{position:absolute;top:-13px;left:0;font:10px var(--sans);z-index:1;color:#777c6e;letter-spacing:.08em}.ritual-list h3{font:500 14px/1.6 var(--sans);letter-spacing:-.02em}.ritual-list p{font-size:11px;line-height:1.9;margin-top:6px;color:#606455}
.story{background:#dedfd5;border-block:1px solid var(--line)}.story-inner{display:grid;grid-template-columns:.4fr 1fr 1fr;gap:40px;align-items:center;padding-top:58px;padding-bottom:60px}.story-illustration img{mix-blend-mode:multiply}.story-illustration>span{display:block;text-align:center;font:7px/1.6 var(--sans);letter-spacing:.1em;margin-top:10px;white-space:nowrap}.story-heading h2{font-size:clamp(25px,2.75vw,40px);line-height:1.45}.story-heading .eyebrow{margin-bottom:17px}.story-copy{font-size:12px;line-height:2.15}.story-copy p>span{display:block}.story-last{font-weight:500;margin-top:17px}
.visit{display:grid;grid-template-columns:1fr 1.05fr;gap:9%;align-items:center}.location-photo{position:relative;aspect-ratio:.89;overflow:hidden;background:#918677}.location-photo>img{height:100%;object-fit:cover;object-position:50% 30%}.location-photo figcaption{position:absolute;inset:auto 0 0;padding:35px 17px 15px;display:flex;flex-direction:column;gap:3px;background:linear-gradient(transparent,#1119);color:#fff;font:8px/1.5 var(--sans);letter-spacing:.02em}.location-photo figcaption a{font-size:7px;opacity:.7}.visit-info h2{margin-bottom:24px}.visit-intro{font-size:13px;line-height:2.05}.visit-details{margin-top:22px}.visit-details>div{display:grid;grid-template-columns:80px 1fr;gap:14px;border-top:1px solid var(--line);padding:15px 0;font-size:11px;line-height:1.8}.visit-details dt{font-size:9px;letter-spacing:.04em;color:#6a6e62}.map-link{display:block;width:fit-content;border-bottom:1px solid #17181566;font-size:9px;letter-spacing:.04em;margin-top:10px}.map-link:hover{border-bottom-color:var(--ink)}.reservation{padding-block:23px;margin-bottom:26px;border-block:1px solid var(--line);display:flex;align-items:end;justify-content:space-between;gap:20px}.reservation .eyebrow{font-size:9px;display:block;margin-bottom:10px}.reservation div>p{font-size:19px;letter-spacing:.03em;line-height:1.5}.reservation div>p span{display:block;font-size:8px;letter-spacing:.12em;margin-top:6px;color:#666d5d}.reservation>p{font-size:10px;margin-bottom:3px}.site-footer{background:#1c1e19;color:var(--paper);display:flex;align-items:center;padding:40px var(--gutter);gap:30px}.footer-brand{display:flex;align-items:center;gap:24px}.footer-brand img{width:180px}.footer-brand>span{font:500 14px var(--serif);letter-spacing:.1em;border-left:1px solid #ffffff4d;padding-left:24px}.site-footer>p{font:8px/1.5 var(--sans);letter-spacing:.07em;margin-left:auto;opacity:.6}.back-top{font-size:9px;letter-spacing:.05em}
@media(min-width:1700px){.hero-content{padding-top:44px;padding-bottom:58px}.hero h1{font-size:138px}}
@media(max-width:1100px){.brand>img{width:173px}.brand{gap:20px}.brand-place{padding-left:20px;font-size:15px}.header-nav{gap:18px;font-size:10px}.site-header{gap:23px}.section-wrap{padding-block:74px}.meal-facts{gap:10px}.meal-facts dt{font-size:8px}.ritual{padding-top:0}.section-heading>p{display:none}.ritual-list>li{padding-inline:15px}.ritual-list h3{font-size:12px}.ritual-list p{font-size:10px}.story-inner{gap:27px;padding-block:48px}.visit{gap:6%}.visit-details>div{grid-template-columns:63px 1fr}.reservation{display:block}.reservation>p{margin-top:15px}}
@media(max-width:800px){.site-header{height:78px}.header-nav{display:none}.language{margin-left:auto}.hero{height:calc(100svh - 78px);min-height:520px;max-height:850px}.hero h1{font-size:7.7vw}.hero-photo>img{object-position:59% 51%}.hero-content{padding-top:25px;padding-bottom:44px}.hero-bottom>p{font-size:12px}.opening-note{min-height:57px}.opening-place{font-size:10px}.section-prose{font-size:12px}.meal-facts{margin-top:32px;padding-top:20px}.meal-facts dd{font-size:25px;margin-top:3px}.ritual-list{grid-template-columns:repeat(5,1fr);margin-top:37px}.ritual-list>li{padding-inline:9px}.ritual-list h3{font-size:11px}.ritual-list p{font-size:10px;line-height:1.8}.ritual-art{margin-bottom:14px}.story-inner{grid-template-columns:120px 1fr;gap:22px 36px}.story-copy{grid-column:2}.story-heading h2{font-size:31px}.story-illustration{grid-row:1/3;align-self:center}.story-heading .eyebrow{margin-bottom:12px}.visit{grid-template-columns:.9fr 1.1fr;gap:30px}.visit h2{font-size:31px}.visit-details{margin-top:25px}.visit-details>div{grid-template-columns:1fr;gap:5px;padding:12px 0}.visit-intro{font-size:12px}.location-photo{aspect-ratio:.6}.site-footer{padding-block:32px;gap:20px}.footer-brand img{width:145px}.footer-brand>span{font-size:12px;padding-left:16px}.footer-brand{gap:16px}.back-top{font-size:8px}}
@media(max-width:560px){
 :root{--gutter:24px}.section-wrap{padding-block:57px}.site-header{height:75px;gap:18px;padding-inline:20px}.brand{gap:15px}.brand>img{width:145px}.brand-place{font-size:13px;padding-left:15px;letter-spacing:.1em}.brand-place small{display:none}.language{font-size:9px;gap:5px}.language button{font-size:9px;padding:12px 0}
 .hero{height:calc(90svh - 75px);min-height:540px;max-height:780px}.hero-photo>img{object-fit:cover;object-position:58% 51%;transform:translate3d(0,var(--photo-y,0px),0) scale(1.07)}.hero-shade{background:linear-gradient(90deg,#080a0880,#080a0820 80%),linear-gradient(0deg,#080a08a6,transparent 40%,#080a0826 75%,#080a0859)}.hero-content{padding:25px 24px 45px}.hero-eyebrow{font-size:8px;gap:9px;letter-spacing:.07em}.hero h1{font-size:8.15vw;line-height:1.18;letter-spacing:-.04em;margin:auto 0;transform:translateY(0);width:100%}.copy-line:first-child{font-size:1.85em}.copy-line:first-child>span{white-space:nowrap}.copy-line:last-child{margin-top:.04em}
 .hero-bottom{align-items:end;gap:20px}.hero-bottom>p{font-size:11px;line-height:1.9}.scroll-link{gap:0;font-size:8px;padding:0;margin-bottom:0}.scroll-link>span:first-child{display:none}.scroll-link>span:last-child{display:block;border:1px solid #ffffff70;border-radius:50%;width:35px;height:35px;line-height:32px;text-align:center;font-size:21px}.hero-photo figcaption{bottom:13px;right:24px;font-size:7px;letter-spacing:.05em}
 .opening-note{padding:16px 24px;min-height:58px;gap:9px;font-size:9px;letter-spacing:0}.opening-place{display:none}.opening-dot{width:4px;height:4px}
 .eyebrow{font-size:9px;margin-bottom:20px}.breakfast-copy h2{font-size:6.5vw;line-height:1.2}html[lang=ja] .breakfast-copy h2{font-size:7vw;line-height:1.6}.section-prose{font-size:13px;line-height:2.1}.meal-facts{grid-template-columns:.85fr .85fr 1.25fr;gap:12px;margin-top:28px;padding-top:22px}.meal-facts>div:last-child{grid-column:auto;display:block}.meal-facts dt{font-size:8px}.meal-facts dd{font-size:26px;margin-top:7px}.meal-facts>div:last-child dd{margin-top:7px}.meal-facts dd span{font-size:8px;margin-left:3px}.meal-facts dd .yen{font-size:16px}
 .ritual{padding-top:0;padding-bottom:48px}.section-heading{padding-top:29px}.section-heading h2{font-size:25px;line-height:1.5}.section-heading .eyebrow{margin-bottom:16px}.ritual-list{display:flex;flex-direction:column;margin-top:23px}.ritual-list>li,.ritual-list>li:first-child,.ritual-list>li:last-child{position:relative;padding:18px 0 18px 126px;min-height:117px;display:flex;flex-direction:column;justify-content:center}.ritual-list>li+li{border-left:0;border-top:1px solid var(--line)}.ritual-art{position:absolute;left:0;top:10px;width:103px;height:96px;margin:0;aspect-ratio:auto}.ritual-art img{padding:5px 7px 0 12px}.ritual-art>span{top:0;left:0;font-size:8px}.ritual-list h3{font-size:14px}.ritual-list p{font-size:11px;margin-top:7px;line-height:1.7}
 .story-inner{padding-block:35px;grid-template-columns:75px 1fr;gap:22px;align-items:center}.story-illustration{grid-row:auto}.story-illustration>span{font-size:5px;margin-top:4px}.story-heading h2{font-size:25px;line-height:1.5}.story-heading .eyebrow{font-size:8px;margin-bottom:12px}.story-copy{grid-column:1/-1;font-size:12px;line-height:2.1}.story-copy p>span{display:inline}.story-last{margin-top:17px}
 .visit{display:flex;flex-direction:column-reverse;align-items:stretch;gap:32px}.visit h2{font-size:32px;margin-bottom:21px}.visit-intro{font-size:13px}.visit-details{margin-top:26px}.visit-details>div{grid-template-columns:65px 1fr;gap:13px;padding:15px 0;font-size:12px}.visit-details dt{font-size:9px}.map-link{font-size:9px}.reservation{padding-top:20px;display:flex;align-items:end;gap:14px}.reservation div>p{font-size:20px}.reservation>p{font-size:9px;margin:0 0 3px}.location-photo{aspect-ratio:1.25;width:100%}.location-photo>img{object-position:50% 23%}.location-photo figcaption{font-size:7px;padding:30px 13px 12px}.location-photo figcaption a{font-size:6px}
 .site-footer{padding:32px 24px 25px;display:grid;grid-template-columns:1fr auto;gap:28px 10px}.footer-brand{grid-column:1/-1;gap:19px}.footer-brand img{width:175px}.footer-brand>span{font-size:13px;padding-left:19px}.site-footer>p{margin:0;font-size:8px}.back-top{font-size:8px}
}
@media(max-width:360px){.site-header{padding-inline:16px;gap:12px}.brand>img{width:127px}.brand{gap:12px}.brand-place{font-size:12px;padding-left:12px}.language{gap:4px}.meal-facts{gap:8px}.meal-facts dt{font-size:7px}.meal-facts dd{font-size:23px}.ritual-list>li,.ritual-list>li:first-child,.ritual-list>li:last-child{padding-left:112px}.ritual-art{width:95px}.ritual-list h3{font-size:12px}.ritual-list p{font-size:10px}.story-inner{grid-template-columns:63px 1fr;gap:18px}.story-heading h2{font-size:22px}.reservation{display:block}.reservation>p{margin-top:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-photo>img{transform:scale(1.07);will-change:auto}.copy-line{transform:none!important;will-change:auto}}

/* Keep the supplied printed mark intact and align it to the silver lid plane. */
.ritual-closed{display:block;width:100%;height:100%;padding:4px;overflow:visible;isolation:isolate}.lid-signature{mix-blend-mode:multiply}
@media(max-width:560px){.ritual-closed{padding:5px 7px 0 12px}}

/* Asakusa morning: the copy stays still while daylight rises behind the town. */
.breakfast{position:relative;isolation:isolate;overflow:hidden;background:#cfdad9;margin-bottom:72px}
.breakfast-inner{position:relative;z-index:1;min-height:630px;padding-top:86px;padding-bottom:250px}
.breakfast-copy{position:relative;z-index:1}
.breakfast-product{margin-top:30px;max-width:720px}
.breakfast-product h3{font:400 clamp(21px,2.1vw,28px)/1.4 var(--display);letter-spacing:-.025em}
html[lang=ja] .breakfast-product h3{font:700 clamp(20px,2vw,27px)/1.5 var(--sans);letter-spacing:.02em}
.breakfast-product p{margin-top:5px;font:400 11px/1.6 var(--sans);letter-spacing:.04em;color:#4d5148}
.breakfast .meal-facts{max-width:720px;margin-top:36px;border-color:#343b3438}
.morning-scene{position:absolute;inset:0;pointer-events:none;overflow:hidden;--sun-rise:230px}
.morning-day{position:absolute;inset:0;background:linear-gradient(175deg,#f4efe3 12%,#f4ecda 60%,#f7dfb6 100%)}
.morning-halo{position:absolute;inset:0;background:radial-gradient(ellipse at 81% 70%,#ffd36aa6,transparent 48%);opacity:.85}
.morning-sun{position:absolute;right:16%;bottom:272px;width:130px;aspect-ratio:1;border-radius:50%;background:#eea20b;box-shadow:0 0 75px 22px #f2b84935}
.morning-town{position:absolute;width:min(1100px,86vw);max-width:none;height:auto;right:-18px;bottom:-40px;opacity:1;filter:saturate(.55) brightness(1.2) contrast(.7)}
.sunrise-ready:not(.sunrise-active) .morning-day,.sunrise-ready:not(.sunrise-active) .morning-halo{opacity:0}
.sunrise-ready:not(.sunrise-active) .morning-sun{transform:translateY(var(--sun-rise));opacity:0}
.sunrise-ready:not(.sunrise-active) .morning-town{opacity:1;filter:saturate(.15) brightness(.9) contrast(.65)}
.sunrise-active .morning-day{animation:morning-light 5.2s ease-out both}
.sunrise-active .morning-halo{animation:morning-glow 5.2s ease-out both}
.sunrise-active .morning-sun{animation:morning-rise 5.2s cubic-bezier(.2,.55,.32,1) both}
.sunrise-active .morning-town{animation:morning-warmth 5.2s ease-out both}
@keyframes morning-rise{from{transform:translateY(var(--sun-rise));opacity:0}15%{opacity:1}to{transform:translateY(0);opacity:1}}
@keyframes morning-light{from{opacity:0}to{opacity:1}}
@keyframes morning-glow{from{opacity:0}to{opacity:.85}}
@keyframes morning-warmth{from{opacity:1;filter:saturate(.15) brightness(.9) contrast(.65)}to{opacity:1;filter:saturate(.55) brightness(1.2) contrast(.7)}}
.sunrise-complete .morning-day,.sunrise-complete .morning-halo,.sunrise-complete .morning-sun,.sunrise-complete .morning-town{animation:none!important}
@media(min-width:1700px){.morning-town{right:5%;width:1250px}.morning-sun{right:23%;bottom:290px}}
@media(max-width:1100px){.breakfast-inner{padding-top:72px;min-height:580px;padding-bottom:240px}.breakfast .meal-facts{max-width:620px}.morning-town{width:940px;right:-110px}.morning-sun{right:12%;bottom:255px;width:116px}}
@media(max-width:800px){.breakfast-inner{min-height:570px}.breakfast .meal-facts{max-width:530px}.morning-town{width:830px;right:-105px;bottom:-31px}.morning-sun{right:13%;bottom:228px;width:100px}}
@media(max-width:560px){.breakfast{margin-bottom:43px}.breakfast-inner{padding-top:54px;padding-bottom:258px;min-height:550px}.breakfast .meal-facts{margin-top:28px}.morning-scene{--sun-rise:170px}.morning-town{width:660px;right:-44px;bottom:-23px;opacity:1}.morning-sun{right:17%;bottom:174px;width:84px}.morning-halo{background:radial-gradient(ellipse at 72% 77%,#ffd36a99,transparent 58%)}}
@media(prefers-reduced-motion:reduce){.morning-day,.morning-halo,.morning-sun,.morning-town{animation:none!important;transition:none!important}.sunrise-ready:not(.sunrise-active) .morning-day{opacity:1}.sunrise-ready:not(.sunrise-active) .morning-halo{opacity:.85}.sunrise-ready:not(.sunrise-active) .morning-sun{transform:none;opacity:1}.sunrise-ready:not(.sunrise-active) .morning-town{opacity:1;filter:saturate(.55) brightness(1.2) contrast(.7)}}

/* Edition 24 — distinct typographic roles, with one-time motion on entry. */
.breakfast-inner{padding-top:80px;padding-bottom:280px;min-height:710px}
.breakfast-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.48fr);column-gap:8%;row-gap:28px;align-items:center}
.breakfast-copy>.eyebrow{grid-column:1/-1;margin:0 0 6px}
.breakfast-copy h2{font:400 clamp(32px,4.4vw,70px)/1.05 var(--display);letter-spacing:-.055em}
html[lang=ja] .breakfast-copy h2{font:900 clamp(38px,5vw,78px)/1.2 var(--serif);letter-spacing:-.075em}
.type-line{display:block;width:fit-content;white-space:nowrap}
.type-line+.type-line{margin-top:.16em;margin-left:.45em;font-size:1.42em;letter-spacing:-.075em}
html[lang=en] .type-line+.type-line{font-size:1.9em;margin-left:.34em;margin-top:.04em}
.type-char{display:inline-block;position:relative;white-space:pre}
.typing-ready:not(.typing-active) .type-char{opacity:0}
.typing-active .type-char{animation:type-ink 1ms linear var(--char-delay) both}
.typing-active .type-char:after{content:"";position:absolute;right:-.08em;top:.18em;bottom:.06em;width:2px;background:var(--sun);opacity:0;animation:type-caret var(--type-step) linear var(--char-delay) both}
@keyframes type-ink{from{opacity:0}to{opacity:1}}
@keyframes type-caret{0%,95%{opacity:1}100%{opacity:0}}
.breakfast-product{margin:0 5px;max-width:330px;justify-self:end;width:100%;transform-origin:50% 65%}
.product-lockup{position:relative;text-align:center;padding:28px 24px 23px;border:1px solid #171815;background:#f7f2e8;box-shadow:6px 6px 0 #17181512;transform:rotate(-3deg)}
.product-lockup:before{content:"";position:absolute;left:50%;top:-6px;width:11px;height:11px;background:var(--sun);border-radius:50%;transform:translateX(-50%)}
.breakfast-product h3{font:400 clamp(40px,4.8vw,72px)/.9 var(--display);letter-spacing:-.06em}
html[lang=ja] .breakfast-product h3{font:900 clamp(35px,3.5vw,54px)/1.2 var(--serif);letter-spacing:-.07em}
.product-species{display:block;font:500 12px/1.3 var(--sans);letter-spacing:.3em;margin:0 0 15px .3em}
.product-name{display:block;white-space:nowrap}
.breakfast-product p{margin-top:18px;font:500 9px/1.5 var(--sans);letter-spacing:.055em;color:var(--ink)}
html[lang=ja] .breakfast-product p{font:400 15px/1.3 var(--display);letter-spacing:.08em}
.breakfast .meal-facts{grid-column:1/-1;max-width:720px;width:100%;margin-top:24px;padding-top:22px;gap:40px;grid-template-columns:1fr 1fr 1fr}
.breakfast .meal-facts dt{font-size:10px;letter-spacing:.09em}
.breakfast .meal-facts dd{font-size:clamp(30px,3.3vw,48px);font-weight:500;margin-top:9px}
.breakfast .meal-facts dd span{font-size:11px;margin-left:7px}
.breakfast .meal-facts dd .yen{font-size:.58em;margin-left:0}
.section-heading h2{font-size:clamp(29px,3vw,46px)}
.ritual-list{margin-top:54px}
.ritual-list h3{font-weight:700;font-size:15px}
.ritual-list p{font-size:11px;line-height:1.9}
.story-inner{grid-template-columns:140px 1fr 1fr;gap:4.5%;align-items:start;padding-block:95px}
.story-illustration{align-self:center}
.story-heading h2{font-size:clamp(29px,3vw,45px);line-height:1.55;letter-spacing:-.06em}
.story-copy{font-size:13px;line-height:2.15;padding-top:3px}
.story-copy>p+p{margin-top:12px}
.story-copy .story-last{font:700 15px/2 var(--serif);margin-top:27px;padding-top:20px;border-top:1px solid var(--line)}
.visit{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px 10%;align-items:start;padding-block:105px}
.visit-heading{grid-column:1;grid-row:1}
.visit-heading h2{font:400 clamp(42px,5vw,76px)/1.04 var(--display);letter-spacing:-.06em;margin-bottom:25px}
html[lang=ja] .visit-heading h2{font:900 clamp(38px,4.5vw,66px)/1.3 var(--serif);letter-spacing:.04em}
.visit-intro{font-size:12px;line-height:1.9}
.location-photo{display:none;grid-column:1;grid-row:2;aspect-ratio:1.3;width:100%}
.location-photo.has-photo{display:block}
.visit-info{grid-column:2;grid-row:1/3}
.visit-details{margin-top:0}
.visit-details>div{grid-template-columns:85px 1fr;padding:20px 0;font-size:12px;gap:20px}
.visit-details dt{font-size:9px}
.reservation{margin:27px 0 0;padding:26px 0 0;border-bottom:0;display:block}
.reservation .eyebrow{font-size:10px;margin-bottom:12px;font-weight:500}
.reservation .reservation-status{font:400 clamp(25px,2.4vw,36px)/1.2 var(--display);letter-spacing:-.035em}
.reservation>p{font-size:11px;margin-top:12px}
.reveal-ready:not(.is-visible){opacity:0;transform:translate3d(0,22px,0)}
.reveal-ready.is-visible{animation:reveal-up .75s cubic-bezier(.2,.7,.2,1) both}
.reveal-ready[data-reveal=spring]:not(.is-visible){transform:scale(.86,.8)}
.reveal-ready[data-reveal=spring].is-visible{animation:product-settle .95s .18s both}
@keyframes reveal-up{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
@keyframes product-settle{0%{opacity:0;transform:scale(.86,.8)}35%{opacity:1;transform:scale(1.035,1.08)}62%{transform:scale(.99,.975)}82%{transform:scale(1.008,1.012)}100%{opacity:1;transform:scale(1)}}
@media(max-width:1100px){
 .breakfast-copy{column-gap:5%;grid-template-columns:minmax(0,1fr) minmax(210px,.5fr)}
 .breakfast-inner{padding-bottom:260px}
 .breakfast .meal-facts{max-width:620px}
 .breakfast-product{max-width:270px}
 .ritual-list h3{font-size:12px}
 .story-inner{grid-template-columns:100px 1fr 1fr;gap:30px}
 .story-heading h2{font-size:29px}
 .visit-details>div{grid-template-columns:70px 1fr;gap:15px}
}
@media(max-width:800px){
 .breakfast-inner{padding-top:64px;padding-bottom:260px}
 .breakfast .meal-facts{max-width:530px}
 .breakfast-copy{grid-template-columns:1fr 220px;gap:28px 30px}
 .breakfast-copy h2{font-size:3.9vw}
 html[lang=ja] .breakfast-copy h2{font-size:4.8vw}
 .product-lockup{padding:26px 16px 21px}
 .breakfast-product h3{font-size:48px}
 html[lang=ja] .breakfast-product h3{font-size:35px}
 .story-inner{grid-template-columns:100px 1fr;gap:28px 35px;padding-block:68px}
 .story-illustration{grid-row:1;align-self:center}
 .story-copy{grid-column:2;max-width:530px}
 .story-heading h2{font-size:36px}
 .visit{gap:30px 6%;padding-block:76px}
 .visit-heading h2{font-size:43px}
 html[lang=ja] .visit-heading h2{font-size:38px}
 .visit-details>div{grid-template-columns:1fr;gap:6px;padding:15px 0}
}
@media(max-width:560px){
 .breakfast-inner{padding-top:50px;padding-bottom:252px}
 .breakfast-copy{display:block}
 .breakfast-copy>.eyebrow{margin-bottom:31px}
 .breakfast-copy h2{font-size:7.35vw}
 html[lang=ja] .breakfast-copy h2{font-size:10.8vw;line-height:1.23;letter-spacing:-.075em}
 .type-line+.type-line{font-size:1.3em;margin-left:.43em;margin-top:.18em}
 html[lang=en] .type-line+.type-line{font-size:2.3em;margin-top:.08em;margin-left:.32em}
 .breakfast-product{width:calc(100% - 42px);max-width:330px;margin:36px auto 0}
 .product-lockup{padding:20px 20px 17px;transform:rotate(-2deg);box-shadow:5px 5px 0 #17181512}
 .breakfast-product h3{font-size:38px;line-height:1.1}
 html[lang=en] .product-name br{display:none}
  html[lang=en] .product-name{word-spacing:.05em}
 html[lang=ja] .breakfast-product h3{font-size:36px;line-height:1.25}
 .product-species{font-size:10px;margin-bottom:9px;letter-spacing:.27em}
 .breakfast-product p{margin-top:12px;font-size:9px}
 html[lang=ja] .breakfast-product p{font-size:12px;letter-spacing:.12em;margin-top:10px}
 .breakfast .meal-facts{margin-top:35px;padding-top:22px;gap:10px;grid-template-columns:.85fr .85fr 1.15fr}
 .breakfast .meal-facts dt{font-size:8px;letter-spacing:.04em}
 .breakfast .meal-facts dd{font-size:29px;margin-top:5px}
 .breakfast .meal-facts dd span{font-size:8px;margin-left:4px}
 .breakfast .meal-facts dd .yen{font-size:16px;margin-left:0}
 .section-heading h2{font-size:27px;line-height:1.5}
 .ritual-list{margin-top:26px}
 .ritual-list>li,.ritual-list>li:first-child,.ritual-list>li:last-child{min-height:145px;padding:23px 0 23px 137px}
 .ritual-art{width:117px;height:116px;top:14px}
 .ritual-list h3{font-size:14px}
 .ritual-list p{font-size:11px}
 .story-inner{grid-template-columns:70px 1fr;gap:29px 20px;padding-block:55px}
 .story-heading h2{font-size:27px;line-height:1.55}
 html[lang=en] .story-heading h2{font-size:28px;line-height:1.4}
 .story-heading .eyebrow{font-size:8px;letter-spacing:.13em}
 .story-copy{grid-column:1/-1;font-size:13px;line-height:2.15;padding:0}
 .story-copy>p+p{margin-top:13px}
 .story-copy .story-last{font-size:14px;margin-top:25px;padding-top:21px}
 .visit{display:flex;flex-direction:column;gap:30px;padding-block:62px}
 .visit-heading h2{font-size:46px;margin-bottom:20px}
 html[lang=ja] .visit-heading h2{font-size:40px}
 .visit-heading{width:100%}
 .location-photo{aspect-ratio:1.3}
 .visit-info{width:100%}
 .visit-details>div{grid-template-columns:65px 1fr;gap:15px;padding:18px 0}
 .reservation{margin-top:25px;padding-top:26px}
 .reservation .reservation-status{font-size:30px}
}
@media(max-width:360px){.story-inner{grid-template-columns:57px 1fr;gap:24px 17px}.story-heading h2{font-size:23px}.breakfast .meal-facts dd{font-size:25px}.ritual-list>li,.ritual-list>li:first-child,.ritual-list>li:last-child{padding-left:117px}.ritual-art{width:102px}.ritual-list h3{font-size:12px}.breakfast-product h3{font-size:31px}}
@media(prefers-reduced-motion:reduce){.typing-ready .type-char,.reveal-ready:not(.is-visible){opacity:1;transform:none}.typing-active .type-char:after{display:none}}
@media print{.typing-ready .type-char,.reveal-ready:not(.is-visible){opacity:1;transform:none}.typing-active .type-char:after{display:none}}

.text-motion-complete,.text-motion-complete .type-char{animation:none!important;opacity:1!important;transform:none!important}
.text-motion-complete .type-char:after{display:none}

/* v26: replay small actions while visible, restoring the original artwork between cycles. */
.picto-motion{position:relative;width:100%;height:100%;isolation:isolate}
.picto-motion>.picto-rest,.picto-motion>.picto-layers{display:block;width:100%;height:100%;object-fit:contain;padding:0}
.picto-motion>.picto-layers{position:absolute;inset:0;display:none;overflow:visible}
.ritual-art .picto-motion>.picto-rest,.ritual-art .picto-motion>.picto-layers{padding:4px}
.picto-motion.picto-playing>.picto-rest{opacity:0}
.picto-motion.picto-playing>.picto-layers{display:block}
.story-illustration .picto-motion{aspect-ratio:1;height:auto;mix-blend-mode:multiply}
.story-illustration .picto-rest{mix-blend-mode:normal}
@media(max-width:560px){.ritual-art .picto-motion>.picto-rest,.ritual-art .picto-motion>.picto-layers{padding:5px 7px 0 12px}}

.picto-playing.picto-closed .lid-glint{animation:lid-glint-v25 .9s cubic-bezier(.3,.1,.2,1) both}
@keyframes lid-glint-v25{0%,10%{transform:translateX(0);opacity:0}18%{opacity:1}85%{opacity:1}100%{transform:translateX(1600px);opacity:0}}

.picto-reveal .yolk-wobble{transform-origin:626px 563px}
.picto-playing.picto-reveal .yolk-wobble{animation:yolk-wobble-v25 .9s both}
@keyframes yolk-wobble-v25{0%,12%,100%{transform:scale(1)}30%{transform:scale(1.035,1.18)}48%{transform:scale(1.16,1.025)}66%{transform:scale(1.02,1.105)}82%{transform:scale(1.065,1.015)}}

/* The silver box and all tuna/scallion pixels remain fixed. Only the original chopsticks and golden yolk are clipped into moving layers. */
.picto-yolk .yolk-chopsticks{transform-origin:650px 563px;transform-box:view-box}
.picto-yolk .yolk-gold{transform-origin:610px 510px;transform-box:view-box}
.picto-yolk.picto-playing .yolk-chopsticks{animation:v25-yolk-press .9s cubic-bezier(.3,0,.2,1) both}
.picto-yolk.picto-playing .yolk-gold{animation:v25-yolk-flow .9s cubic-bezier(.25,.05,.2,1) both}
@keyframes v25-yolk-press{
  0%,8%{transform:translate(0,0)}
  36%,58%{transform:translate(-13px,17px)}
  88%,100%{transform:translate(0,0)}
}
@keyframes v25-yolk-flow{
  0%,23%{transform:scale(1,1)}
  53%{transform:scale(1.015,1.105)}
  68%{transform:scale(1.005,1.075)}
  92%,100%{transform:scale(1,1)}
}
@media (prefers-reduced-motion:reduce){
  .picto-yolk .yolk-chopsticks,.picto-yolk .yolk-gold{animation:none!important;transform:none!important}
}

/* 04 — lift only the chopsticks and their tuna slice, then settle to the exact original. */
.picto-eat .eat-v25-bite{transform-box:view-box;transform-origin:920px 260px}
.picto-eat.picto-playing .eat-v25-bite{animation:eat-v25-lift .9s cubic-bezier(.22,.8,.3,1) both}
@keyframes eat-v25-lift{
  0%,12%{transform:translate(0,0)}
  42%,58%{transform:translate(16px,-42px)}
  78%{transform:translate(2px,-4px)}
  100%{transform:translate(0,0)}
}
@media(prefers-reduced-motion:reduce){.picto-eat.picto-playing .eat-v25-bite{animation:none}}

/* The pot rotates around its spout; the box and the food remain pixel-for-pixel still. */
.picto-dashi .dashi-pot{transform-origin:829px 337px;transform-box:view-box}
.picto-dashi .dashi-flow{opacity:0;stroke-dasharray:62 360;stroke-dashoffset:62}
.picto-dashi .dashi-flow-shadow{opacity:0;stroke-dasharray:22 390;stroke-dashoffset:22}
.picto-dashi.picto-playing .dashi-pot{animation:dashi-pour-v25 .9s cubic-bezier(.22,.7,.3,1) both}
.picto-dashi.picto-playing .dashi-flow{animation:dashi-flow-v25 .9s linear both}
.picto-dashi.picto-playing .dashi-flow-shadow{animation:dashi-flow-shadow-v25 .9s linear both}
@keyframes dashi-pour-v25{0%,100%{transform:rotate(0deg)}22%{transform:rotate(-4deg)}66%{transform:rotate(-4deg)}85%{transform:rotate(.6deg)}}
@keyframes dashi-flow-v25{0%,14%{opacity:0;stroke-dashoffset:62}20%{opacity:.82}75%{opacity:.82}88%,100%{opacity:0;stroke-dashoffset:-338}}
@keyframes dashi-flow-shadow-v25{0%,21%{opacity:0;stroke-dashoffset:22}29%{opacity:.48}80%{opacity:.48}94%,100%{opacity:0;stroke-dashoffset:-366}}
@media(prefers-reduced-motion:reduce){.picto-dashi.picto-playing .dashi-pot,.picto-dashi.picto-playing .dashi-flow,.picto-dashi.picto-playing .dashi-flow-shadow{animation:none}.picto-dashi .dashi-flow,.picto-dashi .dashi-flow-shadow{opacity:0}}

.picto-playing.picto-ramen .steam-a{animation:steam-a-v25 .9s ease-in-out both}
.picto-playing.picto-ramen .steam-b{animation:steam-b-v25 .9s ease-in-out both}
@keyframes steam-a-v25{0%,10%{transform:translate(0,0);opacity:1}52%{transform:translate(12px,-76px);opacity:0}55%{transform:translate(-8px,38px);opacity:0}90%,100%{transform:translate(0,0);opacity:1}}
@keyframes steam-b-v25{0%,20%{transform:translate(0,0);opacity:1}64%{transform:translate(-12px,-85px);opacity:0}67%{transform:translate(8px,36px);opacity:0}100%{transform:translate(0,0);opacity:1}}

@media(prefers-reduced-motion:reduce){
 .picto-motion.picto-playing>.picto-rest{opacity:1}
 .picto-motion.picto-playing>.picto-layers{display:none}
}
@media print{.picto-motion.picto-playing>.picto-rest{opacity:1}.picto-motion.picto-playing>.picto-layers{display:none}}

/* v27: a supplied interior concept bridges the origin story and restaurant details. */
.interior.section-wrap{padding-top:0;padding-bottom:0}
.interior-photo{display:none;position:relative;max-width:1000px;margin:68px auto 0;background:#403123;overflow:hidden}
.interior-photo.has-photo{display:block}
.interior-photo>img{width:100%;height:auto;aspect-ratio:1.85;object-fit:cover;object-position:50% 82%}
.interior-photo:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#17130d65);pointer-events:none}
.interior-photo figcaption{position:absolute;left:24px;bottom:20px;z-index:1;color:#fff;font:500 9px/1.5 var(--sans);letter-spacing:.1em}
.story-inner{position:relative}
.kamon-cameo{position:absolute;right:var(--gutter);bottom:-6px;width:52px;height:56px;pointer-events:none}
.picto-kamon .kamon-body{transform-origin:50% 84%;transform-box:view-box}
.picto-kamon.picto-playing .kamon-body{animation:kamon-step-v27 .9s ease-in-out both}
@keyframes kamon-step-v27{0%,100%{transform:translate(0,0) rotate(0deg)}25%{transform:translate(-12px,-16px) rotate(-3deg)}55%{transform:translate(10px,-8px) rotate(2.5deg)}78%{transform:translate(4px,-12px) rotate(-1deg)}}
@media(max-width:560px){
 .interior-photo{margin-top:40px}
 .interior-photo>img{aspect-ratio:4/3;object-position:center}
 .interior-photo figcaption{left:14px;bottom:13px;font-size:8px;letter-spacing:.04em}
 .kamon-cameo{width:44px;height:48px;bottom:-5px}
}
@media(prefers-reduced-motion:reduce){.picto-kamon.picto-playing .kamon-body{animation:none}}

/* v28: product proof and food supervision, placed before the ritual. */
.breakfast{margin-bottom:0}
.product-note{background:var(--paper);border-top:1px solid var(--line)}
.product-note-inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);gap:clamp(42px,8vw,128px);align-items:start;padding-top:105px;padding-bottom:108px}
.product-note-copy{max-width:680px}
.product-note-copy .eyebrow{margin-bottom:18px}
.product-note h2{font:500 clamp(33px,3.8vw,58px)/1.32 var(--serif);letter-spacing:-.06em}
html[lang=en] .product-note h2{font:400 clamp(34px,4vw,62px)/.98 var(--display);letter-spacing:-.06em}
.product-note h2>span{display:block;white-space:nowrap}
.product-note-body{max-width:610px;margin-top:37px;padding-top:24px;border-top:1px solid var(--line)}
.product-note-body p{font-size:14px;line-height:2.08;letter-spacing:.005em}
.product-note-body p+p{margin-top:17px}
.product-note-side{min-width:0;padding-top:8px}
.product-note-portrait{position:relative;margin:0;overflow:hidden;background:#5d3824;border:1px solid var(--ink);box-shadow:7px 7px 0 #1718150d}
.product-note-portrait>img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:36% 51%;filter:saturate(.9) contrast(1.025)}
.product-note-credit{display:grid;grid-template-columns:10px minmax(0,1fr);column-gap:11px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}
.credit-mark{display:block;width:8px;height:8px;margin-top:4px;border-radius:50%;background:var(--sun)}
.credit-role{grid-column:2;font:500 9px/1.5 var(--sans);letter-spacing:.105em}
.credit-name{grid-column:2;margin-top:12px;font:700 25px/1.35 var(--serif);letter-spacing:.05em}
.credit-detail{grid-column:2;margin-top:8px;font:500 9px/1.75 var(--sans);letter-spacing:.045em;color:#56594f}
@media(max-width:800px){
 .product-note-inner{grid-template-columns:minmax(0,1fr) minmax(235px,.72fr);gap:38px;padding-top:78px;padding-bottom:82px}
 .product-note h2{font-size:clamp(29px,4.3vw,42px)}
 html[lang=en] .product-note h2{font-size:clamp(29px,4.2vw,42px)}
 .product-note-body{margin-top:28px;padding-top:20px}
 .product-note-body p{font-size:12px;line-height:2.05}
 .product-note-body p br{display:none}
 .credit-name{font-size:21px}
}
@media(max-width:560px){
 .product-note-inner{display:flex;flex-direction:column;gap:31px;padding-top:60px;padding-bottom:64px}
 .product-note-copy{max-width:none}
 .product-note h2{font-size:clamp(31px,9vw,40px);line-height:1.38}
 html[lang=en] .product-note h2{font-size:clamp(31px,9.4vw,40px);line-height:1.01}
 .product-note h2>span{white-space:normal}
 html[lang=ja] .product-note h2 .mobile-break{display:block}
 .product-note-body{max-width:none;margin-top:27px;padding-top:19px}
 .product-note-body p{font-size:13px;line-height:2.03}
 .product-note-side{width:100%;padding-top:0}
 .product-note-portrait>img{aspect-ratio:4/3;object-position:34% 51%}
 .product-note-credit{margin-top:13px;padding-top:13px}
 .credit-name{font-size:23px}
}

/* v31: photographed product, its cut, and the signature jubako. */
.breakfast .meal-facts .meal-price{width:fit-content}
.breakfast .meal-facts .price-tax{display:block;margin-top:-2px;text-align:right;font:400 10px/1.5 var(--sans);letter-spacing:0}
.hero-photo>img{object-position:50% 54%}
.hero-shade{background:linear-gradient(90deg,#090b09b0 0%,#0b0b0b54 45%,#0b0b0b00 80%),linear-gradient(0deg,#11111170,transparent 28%,transparent 70%,#11111165)}
.product-note-detail{overflow:hidden;background:#f5eee3}
.product-note-detail>img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 55%}
.product-note-supervision{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.product-note-supervision .product-note-portrait{border:0;box-shadow:none}
.product-note-supervision .product-note-portrait>img{aspect-ratio:1;object-position:30% 50%}
.product-note-supervision .product-note-credit{margin:0;padding:0;border:0}
.product-note-supervision .credit-name{margin-top:6px;font-size:22px}
.product-note-supervision .credit-detail{margin-top:5px}
.ritual .section-heading{align-items:center}
.ritual-intro{margin-top:22px;font-size:12px}
.ritual-box-photo{width:clamp(220px,27vw,360px);flex-shrink:0;overflow:hidden;background:#f5eee3}
.ritual-box-photo>img{aspect-ratio:5/4;object-fit:cover;object-position:50% 52%}
@media(max-width:800px){
 .product-note-supervision{grid-template-columns:80px minmax(0,1fr);gap:12px}
 .product-note-supervision .credit-role{font-size:8px;letter-spacing:.04em}
 .product-note-supervision .credit-detail{font-size:8px;letter-spacing:0}
 .product-note-supervision .credit-name{font-size:20px}
 .ritual-box-photo{width:230px}
}
@media(max-width:560px){
 .hero-photo>img{object-position:50% 52%}
 .product-note-detail>img{aspect-ratio:4/5}
 .product-note-supervision{grid-template-columns:94px minmax(0,1fr);gap:18px;margin-top:20px;padding-top:18px}
 .ritual .section-heading{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:18px}
 .ritual .section-heading h2{font-size:clamp(25px,6.6vw,34px)}
 .ritual-box-photo{width:112px;align-self:center}
 .ritual-box-photo>img{aspect-ratio:3/4}
 .ritual-intro{font-size:10px;line-height:1.8;margin-top:15px}
}

/* v33: bright food photography and a quieter editorial rhythm. */
.hero{background:#f5f0e6;color:var(--ink);height:min(820px,calc(100svh - 90px));min-height:600px}
.hero-photo{left:18%}
.hero-photo>img{object-fit:cover;object-position:50% 52%;transform:translate3d(0,var(--photo-y,0px),0) scale(1.025)}
.hero-shade{background:linear-gradient(90deg,#f5f0e6 0%,#f5f0e6cc 17%,#f5f0e600 43%)}
.hero-content{padding-block:36px 42px}
.hero h1{font-size:clamp(46px,4.65vw,88px);line-height:1.1;letter-spacing:-.055em;text-shadow:none;transform:translateY(-12px)}
.copy-line:first-child{font-size:1.48em}
.copy-line:last-child{margin-top:.12em}
.hero-bottom>p{font-size:12px;line-height:1.9}
.hero-signature{mix-blend-mode:multiply;width:clamp(64px,5.5vw,88px)}
.hero-eyebrow{font-size:9px;letter-spacing:.16em}
.opening-note{min-height:58px}
.breakfast-inner{padding-top:118px;padding-bottom:294px;min-height:790px}
.breakfast-copy{max-width:1220px;column-gap:12%}
.breakfast-product{max-width:280px}
.breakfast .meal-facts{margin-top:48px;max-width:760px}
.product-note{border-top:0}
.product-note-inner{grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(48px,7vw,112px);padding-block:140px 148px;align-items:center}
.product-note-copy{max-width:540px}
.product-note-copy .eyebrow{margin-bottom:28px}
.product-note h2{font-size:clamp(32px,3.15vw,50px);line-height:1.5;letter-spacing:-.065em}
html[lang=en] .product-note h2{font-size:clamp(32px,3.15vw,50px);line-height:1.08;letter-spacing:-.05em}
.product-note h2>span{white-space:normal}
.product-note-body{max-width:460px;margin-top:38px;padding-top:0;border-top:0}
.product-note-body p{font-size:15px;line-height:2}
.product-note-body p+p{margin-top:25px}
.product-note-body p br{display:none}
.product-note-side{padding-top:0}
.product-note-detail>img{aspect-ratio:4/5;object-position:50% 53%}
.ritual{max-width:1480px;padding-top:12px;padding-bottom:140px}
.ritual .section-heading{border-top:0;padding-top:0}
.ritual-list{margin-top:76px}
.ritual-art{height:clamp(135px,13vw,195px)}
.ritual-list h3{font-size:14px}
.ritual-list p{font-size:12px;line-height:1.85}
.story-inner{max-width:1480px;grid-template-columns:90px minmax(0,.9fr) minmax(0,1.15fr);gap:6%;align-items:center;padding-block:86px}
.story-heading h2{font-size:clamp(27px,2.45vw,38px);line-height:1.6}
.story-copy{font-size:14px;line-height:2}
.story-copy .story-last{font-size:15px;margin-top:26px}
.interior-photo{margin-top:100px;max-width:960px}
.visit{max-width:1480px;padding-block:130px 122px}
.visit-heading h2{font-size:clamp(40px,4.3vw,64px)}
html[lang=ja] .visit-heading h2{font-size:clamp(38px,4vw,60px)}
.visit-details>div{font-size:13px;padding-block:22px}
@media(min-width:1600px){
 .hero-photo{left:24%}
 .hero-photo>img{object-fit:contain}
}
@media(min-width:561px) and (max-width:900px){
 .hero{height:calc(100svh - 78px);min-height:580px;max-height:800px}
 .hero-photo{left:9%;right:-13%}
 .hero h1{font-size:5.25vw}
 .breakfast-inner{padding-top:90px;padding-bottom:275px;min-height:710px}
 .breakfast-copy{column-gap:6%}
 .breakfast-product{max-width:235px}
 .product-note-inner{gap:40px;padding-block:104px}
 .product-note h2,html[lang=en] .product-note h2{font-size:30px}
 .product-note-body p{font-size:14px;line-height:1.95}
 .ritual{padding-bottom:100px}
 .ritual-list{margin-top:56px}
 .ritual-list h3{font-size:12px}
 .ritual-list p{font-size:11px}
 .story-inner{grid-template-columns:76px minmax(0,1fr);gap:26px 32px;padding-block:76px}
 .story-copy{grid-column:2;max-width:540px}
 .story-heading h2{font-size:32px}
 .visit{padding-block:100px}
}
@media(max-width:560px){
 .hero{height:calc(100svh - 72px);min-height:650px;max-height:850px}
 .hero-photo{left:-44%;right:-44%;top:22%;bottom:7%}
 .hero-photo>img{object-fit:contain;object-position:50% 50%;transform:translate3d(0,var(--photo-y,0px),0)}
 .hero-shade{background:none}
 .hero-content{padding-top:26px;padding-bottom:28px}
 .hero h1{font-size:clamp(28px,7.8vw,43px);margin:44px 0 auto;transform:none}
 .copy-line:first-child{font-size:1.6em}
 .copy-line:last-child{margin-top:.18em}
 .hero-eyebrow{font-size:8px;letter-spacing:.1em}
 .hero-signature{width:48px}
 .hero-bottom>p{font-size:11px;line-height:1.8}
 .opening-note{min-height:54px;font-size:9px}
 .breakfast-inner{padding-top:78px;padding-bottom:260px;min-height:0}
 .breakfast-copy>.eyebrow{margin-bottom:38px}
 .breakfast-copy h2{font-size:7.15vw}
 html[lang=ja] .breakfast-copy h2{font-size:10.2vw}
 .breakfast-product{max-width:280px;margin-top:46px}
 .breakfast .meal-facts{margin-top:43px}
 .product-note-inner{display:flex;gap:45px;padding-block:88px 96px}
 .product-note-copy{max-width:none}
 .product-note-copy .eyebrow{margin-bottom:24px}
 .product-note h2{font-size:clamp(31px,8.8vw,42px);line-height:1.45}
 html[lang=en] .product-note h2{font-size:clamp(30px,9vw,42px);line-height:1.08}
 .product-note-body{max-width:none;margin-top:30px;padding-top:0}
 .product-note-body p{font-size:14px;line-height:2}
 .product-note-body p+p{margin-top:22px}
 .ritual{padding-top:0;padding-bottom:88px}
 .ritual-list{margin-top:40px}
 .ritual-art{height:116px}
 .ritual-list h3{font-size:13px}
 .ritual-list p{font-size:11px}
 .story-inner{grid-template-columns:68px minmax(0,1fr);gap:28px 22px;padding-block:68px}
 .story-heading h2{font-size:27px;line-height:1.65}
 .story-copy{grid-column:1/-1;font-size:14px;line-height:2.05}
 .interior-photo{margin-top:64px}
 .visit{padding-block:80px 88px}
 .visit-heading h2{font-size:44px}
 html[lang=ja] .visit-heading h2{font-size:38px}
 .visit-details>div{font-size:12px;padding-block:18px}
}

/* The supplied white / yellow signature is displayed intact, at its original ratio. */
.hero-signature {
  position: absolute;
  top: 29px;
  right: var(--gutter);
  width: clamp(76px, 7.2vw, 112px);
  height: auto;
  pointer-events: none;
}

.site-footer > .footer-signature {
  width: 56px;
  height: auto;
  flex: 0 0 auto;
  margin-left: 10px;
}

@media (max-width: 800px) {
  .hero-signature { top: 24px; width: 68px; }
  .site-footer > .footer-signature { width: 46px; margin-left: 0; }
}

@media (max-width: 560px) {
  .hero-signature { top: 22px; right: 24px; width: 57px; }
  .hero-eyebrow { padding-right: 63px; }
  .site-footer > .footer-brand {
    grid-column: 1;
    grid-row: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 11px;
  }
  .site-footer > .footer-brand > span { border-left: 0; padding-left: 0; }
  .site-footer > .footer-signature {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    width: 56px;
  }
}

@media (max-width: 360px) {
  .hero-signature { width: 48px; }
  .hero-eyebrow { padding-right: 53px; font-size: 7px; gap: 7px; }
}
