/* One focus at a time. Retain the original type, palette, paper and folders. */
header#header{background:var(--surface)}
#service-dock{position:fixed;z-index:70;left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:4px;border:1px solid var(--surface-line);background:var(--surface);border-radius:4px;box-shadow:0 3px 18px #0000000b;max-width:calc(100% - 24px);transition:background var(--mood-duration),border-color var(--mood-duration)}
#service-dock #rhythm{position:static;transform:none;box-shadow:none;border:0;padding:0;background:none;gap:0;flex-shrink:0}
#service-dock #rhythm button{min-width:58px;min-height:44px;padding:10px;color:var(--surface-ink);opacity:.55;border:0;background:none;border-radius:0;font-size:14px}
#service-dock #rhythm button[aria-pressed=true]{opacity:1;box-shadow:inset 0 -1px currentColor}
#service-dock #cart-dock-root:empty{display:none}
#service-dock .cart-dock{position:static;transform:none;min-width:0;width:auto;min-height:44px;max-width:none;display:flex;align-items:center;gap:18px;padding:11px 16px;background:var(--surface-ink);color:var(--surface);border:0;border-radius:2px;box-shadow:none;font-size:14px;text-decoration:none;white-space:nowrap}
#service-dock .cart-dock>span{white-space:nowrap}
body:has(dialog[open]) #service-dock{visibility:hidden}
.journey{height:calc(100svh - 70px);margin-top:70px;background:#dbe3d6}
.journey-viewport{position:relative;height:100%;overflow:hidden;background:#dbe3d6 url('/assets/journey/poster.webp') 42% center/cover no-repeat}
.journey-interactive .journey-viewport{touch-action:pan-x pinch-zoom}
.journey-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:saturate(.92);transition:filter var(--mood-duration),opacity .3s}
.journey-film.has-frame{opacity:1}
.journey-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 48%,#e8eee31a 59%,#e8eee3a6 82%,#e8eee3bf 100%);transition:background var(--mood-duration)}
.journey-copy{position:absolute;left:7%;right:7%;bottom:max(150px,22%);color:#213b2c;pointer-events:none}
.journey-copy h1{font-size:clamp(34px,4.5vw,64px);line-height:1.2;font-weight:400;letter-spacing:-.025em;max-width:850px;margin:0;transition:opacity var(--text-out,.18s),transform var(--text-out,.18s)}
.journey-copy.is-changing h1{opacity:0;transform:translate3d(0,var(--exit-y,-12px),0)}
.journey-line{display:block;overflow:hidden;padding-block:.1em;margin-block:-.1em}
.journey-line-words{display:block;animation:journey-line-arrive var(--line-duration,.75s) cubic-bezier(.2,.65,.3,1) both;animation-delay:calc(var(--line,0)*.1s)}
@keyframes journey-line-arrive{from{opacity:0;transform:translateY(var(--enter-y,105%))}to{opacity:1;transform:translateY(0)}}
.journey-actions{position:absolute;left:7%;right:7%;bottom:calc(78px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:space-between;gap:20px;color:#263f32}
.journey-actions button{padding:10px 0;min-height:44px;background:none;border:0;border-radius:0;color:inherit;font:inherit;font-size:14px;cursor:pointer;text-align:left}
.journey-actions button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.journey-actions button:disabled{cursor:default;opacity:.65}
.journey-play{opacity:.75}
[data-mode=night] .journey-film{filter:brightness(.8) saturate(.78)}
[data-mode=night] .journey-shade{background:linear-gradient(180deg,#201a1b0d 35%,#201a1b1a 48%,#201a1b94 76%,#201a1bd9 100%)}
[data-mode=night] .journey-copy,[data-mode=night] .journey-actions{color:#f5f4f2}
.journey-still{height:calc(100svh - 70px)}
.journey-still .journey-viewport{position:relative;top:0}
.journey-still .journey-line-words{animation:none}
.journey-still .journey-actions{display:none}
.service-story{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;align-items:center;padding:140px 7%;background:var(--surface);color:var(--surface-ink)}
.quiet-label{font-size:12px;letter-spacing:.05em}
.service-words h2{font-size:clamp(30px,4vw,58px);line-height:1.15;font-weight:400;margin:24px 0}
.service-words p{font-size:18px;line-height:1.65;max-width:390px;margin:0}
.service-photo{position:relative;aspect-ratio:4/5;margin:0}
.service-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity var(--mood-duration);filter:none}
.service-photo .night-photo{opacity:0}
[data-mode=night] .service-photo .night-photo{opacity:1}
[data-mode=night] .service-photo .day-photo{opacity:0}
.place-story{padding:90px 7% 120px;background:var(--surface);color:var(--surface-ink)}
.place-heading{text-align:center;margin:0 auto 64px;max-width:600px}
.place-heading h2{font-size:clamp(30px,3.8vw,54px);line-height:1.2;font-weight:400;margin:0 0 20px}
.place-heading p{font-size:16px;line-height:1.6;margin:0}
.place-photos{position:relative;aspect-ratio:1.45;max-width:1040px;margin:auto}
.place-photos figure{position:absolute;margin:0;overflow:hidden}
.place-photos img{width:100%;height:100%;object-fit:cover;display:block;transition:filter var(--mood-duration)}
.place-main{left:0;top:4%;width:65%;aspect-ratio:4/3}
.place-detail{right:0;top:30%;width:27%;aspect-ratio:3/4}
.place-lettering{left:29%;bottom:0;width:36%;aspect-ratio:16/9}
[data-mode=night] .place-photos img{filter:brightness(.8)}
.quiet-link{display:table;margin:48px auto 0;min-height:44px;padding:14px 0;border-bottom:1px solid currentColor;color:inherit;font-size:16px;text-decoration:none}
.quiet-archive{background:var(--surface);color:var(--surface-ink);height:100svh;min-height:650px;max-height:1000px}
.quiet-archive:before,.quiet-archive:after{display:none}
.quiet-archive .archive-title{position:absolute;z-index:3;left:24px;right:24px;top:50px;text-align:center;font-weight:400;font-size:clamp(30px,3.4vw,48px);line-height:1.2;margin:0}
.quiet-archive .globe-stage{top:125px;bottom:170px}
.quiet-archive .globe-footer{bottom:54px;display:flex;flex-direction:column;align-items:center;gap:8px}
.quiet-archive .globe-caption{min-height:42px;max-width:420px;font-size:14px;text-align:center}
.quiet-archive .globe-controls{gap:8px}
.quiet-archive [data-globe-pause]{border:0;min-width:72px}
.site-footer{padding:32px 7%;font-size:14px}
.site-footer a{display:inline-flex;align-items:center;min-height:44px}
.site-footer>span{font-size:12px}
.collection-page{padding:120px 0 110px}
.collection-heading{width:85.66%;margin:auto;display:flex;align-items:baseline;justify-content:space-between;gap:24px}
.collection-heading h1{font-size:clamp(32px,4.5vw,64px);line-height:1.15;font-weight:400;margin:0}
.collection-heading p{font-size:16px}
.collection-page .menu-file-index{margin-top:110px}
.menu-folder:not(.is-peeking) .folder-cover-summary{visibility:hidden}
.menu-folder-page{padding-top:96px}
.menu-folder-page .menu-page-heading h1{font-size:clamp(28px,4vw,44px);line-height:1.2}
.menu-page-heading .service-stamp{font-size:14px}
.menu-folder-paper .menu-paper-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:12px;margin-bottom:0}
.menu-paper-heading>span{font-size:14px;line-height:1.4;margin:0}
.menu-tools{margin-left:auto;flex-shrink:0}
.menu-tools summary,.dish-note summary,.poster-story summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:10px 0;cursor:pointer;font-size:14px}
.menu-tools summary::-webkit-details-marker,.dish-note summary::-webkit-details-marker,.poster-story summary::-webkit-details-marker{display:none}
.menu-tools summary:after,.dish-note summary:after,.poster-story summary:after{content:'+';font-size:18px}
.menu-tools[open]>summary:after,.dish-note[open]>summary:after,.poster-story[open]>summary:after{content:'−'}
.menu-paper-heading:has(.menu-tools[open]){display:block}
.menu-tools[open] summary{justify-content:flex-start}
.menu-tools[open]{width:100%}
.menu-folder-paper .menu-ledger .dish-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:none;gap:20px;padding:24px 0;align-items:center}
.menu-folder-paper .dish-info{display:block;min-width:0}
.menu-folder-paper .dish-name{font-size:clamp(18px,1.8vw,24px);line-height:1.4;grid-area:auto}
.menu-folder-paper .dish-price{display:flex;align-items:center;gap:16px;font-size:16px;white-space:nowrap;grid-area:auto}
.menu-folder-paper .dish-price small{display:inline;margin:0;font-size:18px;text-decoration:none;opacity:.65}
.menu-folder-paper .menu-footnote{margin-top:28px}
.dish-note{margin:24px 0;border-block:1px solid var(--surface-line)}
.dish-note .field{margin:8px 0 20px}
.artifact-back{justify-content:center}
.artifact-back h2{font-size:clamp(26px,3.5vw,40px);margin:0 0 24px;line-height:1.2}
.artifact-back .artifact-poem{font-size:20px;line-height:1.5;margin:0}
.poster-story{margin-top:24px}
.poster-story p{font-size:16px;line-height:1.65}
.artifact-back:has(.poster-story[open]){justify-content:flex-start}
@media(max-width:760px){
 #service-dock #rhythm button{min-width:54px}
 #service-dock .cart-dock{padding:11px 12px;gap:10px}
 .journey-copy{left:24px;right:24px;bottom:max(150px,22%)}
 .journey-copy h1{font-size:clamp(27px,7.65vw,36px);line-height:1.22}
 .journey-actions{left:24px;right:24px;gap:16px}
 .journey-still{height:calc(100svh - 70px)}
 .service-story{grid-template-columns:minmax(0,1fr);gap:38px;padding:76px 24px}
 .service-words h2{font-size:32px;margin:20px 0}
 .service-words p{font-size:16px}
 .service-photo{aspect-ratio:4/3;margin-inline:-24px}
 .place-story{padding:48px 24px 70px}
 .place-heading{text-align:left;margin-bottom:38px}
 .place-heading h2{font-size:30px}
 .place-photos{aspect-ratio:1/1.5}
 .place-main{left:-24px;top:0;width:96%}
 .place-detail{right:-8px;top:39%;width:43%}
 .place-lettering{left:0;bottom:0;width:52%}
 .quiet-link{margin-top:32px}
 .quiet-archive{min-height:580px;height:88svh;max-height:780px}
 .quiet-archive .archive-title{font-size:28px;top:40px}
 .quiet-archive .globe-stage{top:112px;bottom:170px}
 .quiet-archive .globe-footer{bottom:38px}
 .site-footer{flex-wrap:wrap;padding:28px 24px;gap:12px 24px}
 .site-footer>span:first-child{flex-basis:100%}
 .collection-heading{display:block;width:calc(100% - 40px)}
 .collection-page .menu-file-index{margin-top:86px}
 .menu-folder-page .menu-page-heading h1{font-size:25px}
 .menu-folder-page .menu-page-heading .text-button{max-width:92px;font-size:14px}
 .menu-page-heading .service-stamp{max-width:85px;text-align:right;font-size:12px}
 .menu-folder-paper .menu-paper-heading{gap:12px}
 .menu-paper-heading>span{font-size:12px}
 .menu-folder-paper .menu-ledger .dish-row{padding:18px 0;gap:12px}
 .menu-folder-paper .dish-name{font-size:18px}
 .menu-folder-paper .dish-price{font-size:15px;gap:12px}
 .menu-folder-paper .dish-price small{font-size:16px}
 .file-tabs{max-height:calc(100dvh - 174px - env(safe-area-inset-bottom,0px))}
}
@media(max-width:360px){
 .menu-paper-heading>span{max-width:80px}
 .menu-tools summary{font-size:13px}
 .menu-folder-paper .dish-price{gap:8px}
}
@media(prefers-reduced-motion:reduce){
 .journey{height:calc(100svh - 70px)}
 .journey-viewport{position:relative;top:0}
 .journey-film,.journey-actions{display:none}
 .journey-copy{animation:none}
 .journey-copy h1{transition:none}
 .journey-line-words{animation:none}
}

.menu-folder-paper .menu-group-heading{font-size:14px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;padding:32px 0 8px;color:inherit}
.menu-folder-paper .menu-group-heading:first-child{padding-top:16px}
