/* v6 — finite, purposeful motion; no hidden content or animated booking targets. */
.motion-word{display:inline-block;white-space:nowrap}
.motion-enhanced .poster-composition h2>span:first-child{transform:translateX(var(--poster-word-shift,0px))}
.motion-enhanced .poster-composition h2>span:last-child{transform:translateX(calc(-1 * var(--poster-word-shift,0px)))}
.motion-enhanced .button,.motion-enhanced .header-book{position:relative;isolation:isolate}
.motion-enhanced .button:hover,.motion-enhanced .header-book:hover{transform:none}
.motion-enhanced .button:before,.motion-enhanced .header-book:before{content:'';position:absolute;inset:0;background:var(--hover);z-index:-1;transform:scaleX(0);transform-origin:left;transition:transform .32s var(--ease);pointer-events:none}
.motion-enhanced .button-arrow{overflow:hidden}
.motion-enhanced .button:focus-visible:before,.motion-enhanced .header-book:focus-visible:before{transform:scaleX(1)}
.motion-enhanced .button:focus-visible .button-arrow svg,.motion-enhanced .header-book:focus-visible .button-arrow svg{animation:ssc-arrow-pass .42s var(--ease)}
.motion-enhanced .text-link>span{transition:transform .3s var(--ease)}
.motion-enhanced .text-link:focus-visible>span{transform:translate(3px,-3px)}
.motion-enhanced summary:after{transition:transform .25s var(--ease)}
.motion-enhanced details[open] summary:after{transform:rotate(180deg)}
.type-site.motion-paused .final-cta .button{background:var(--accent)}
.type-site .final-cta .button:before{background:#fff}
@keyframes ssc-arrow-pass{0%{transform:translateX(0)}48%{transform:translateX(28px)}49%{transform:translateX(-28px)}100%{transform:translateX(0)}}
@media(hover:hover){
 .motion-enhanced .button:hover,.motion-enhanced .header-book:hover{background:var(--ink)}
 .motion-enhanced .button:hover:before,.motion-enhanced .header-book:hover:before{transform:scaleX(1)}
 .motion-enhanced .button:hover .button-arrow svg,.motion-enhanced .header-book:hover .button-arrow svg{animation:ssc-arrow-pass .42s var(--ease)}
 .motion-enhanced .text-link:hover>span{transform:translate(3px,-3px)}
 .type-site.motion-enhanced .final-cta .button:hover{background:var(--accent)}
}
body.motion-paused .poster-composition h2>span,body.motion-paused .text-link>span{transform:none!important}
body.motion-paused .button:before,body.motion-paused .header-book:before{transition:none!important}
body.motion-paused .motion-word{clip-path:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){
 .motion-enhanced .poster-composition h2>span,.motion-enhanced .text-link>span,.motion-enhanced summary:after{transform:none!important}
 .motion-word{clip-path:none!important;transform:none!important}
 .button:before,.header-book:before{transition:none!important}
}
/* v8 — making scenes: a sheet of nori becomes a hand roll as the poster scrolls past. Static markup is the finished roll. */
.temaki-build,.hero-roll{display:block;overflow:visible}
.temaki-build{width:100%;height:auto}
.temaki-build .build-nori-back,.temaki-build .build-nori-front,.hero-roll .build-nori-back,.hero-roll .build-nori-front{fill:#22302a;stroke:#151515;stroke-width:4;stroke-linejoin:round}
.temaki-build .build-nori-front,.hero-roll .build-nori-front{fill:#1b2621}
.temaki-build .build-rice,.hero-roll .build-rice{fill:#fff;stroke:#151515;stroke-width:4;stroke-linejoin:round}
.temaki-build .build-grains{fill:none;stroke:#c9c3b6;stroke-width:3;stroke-linecap:round}
.temaki-build .build-salmon,.hero-roll .build-salmon{fill:#ff8a4c;stroke:#151515;stroke-width:4}
.temaki-build .build-salmon-fat{fill:none;stroke:#ffd5bd;stroke-width:5;stroke-linecap:round}
.temaki-build .build-cucumber,.hero-roll .build-cucumber{fill:#2f8a47;stroke:#151515;stroke-width:4}
.temaki-build .build-cucumber-in{fill:#c8ee9e}
.temaki-build .build-seam{fill:none;stroke:#3f5247;stroke-width:3;stroke-linecap:round}
.hero-roll *{vector-effect:non-scaling-stroke}
.hero-roll .build-nori-back,.hero-roll .build-nori-front,.hero-roll .build-rice,.hero-roll .build-salmon,.hero-roll .build-cucumber{stroke-width:2}
.experience-hero .hero-make{position:relative;display:inline-block}
.hero-roll{position:absolute;left:calc(100% + .08em);bottom:0;width:.8em;height:1.03em}
.hero-roll-flat,.hero-roll-cone{transform-box:fill-box}
.hero-roll-flat{opacity:0;transform-origin:0 100%}
.hero-roll-cone{transform-origin:20% 90%}
/* Each ingredient label marks its own step while the roll is being made; every label stays readable. */
.ingredient-labels>div{transition:border-color .25s var(--ease)}
.ingredient-labels dt span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:50%;transition:background .25s var(--ease),color .25s var(--ease)}
[data-build-step=nori] .label-nori,[data-build-step=rice] .label-rice,[data-build-step=fillings] .label-fillings{border-top:3px solid var(--poster-ink);margin-top:-2px}
[data-build-step=nori] .label-nori dt span,[data-build-step=rice] .label-rice dt span,[data-build-step=fillings] .label-fillings dt span{background:var(--poster-ink);color:var(--poster)}
@media(max-width:760px){
 .experience-hero .hero-make{display:block;width:fit-content}
 .ingredient-labels dt span{display:grid;width:22px;margin:0 0 7px}
}
