body{overflow-x:clip}
.rolling-heading{position:relative;padding-left:64px}
.heading-bean{position:absolute;left:0;top:.3em;width:44px;height:58px;object-fit:contain;transform-origin:center}
.heading-words{display:block}
.rolling-heading.waiting .heading-bean{transform:translateX(-100vw) rotate(-720deg)}
.rolling-heading.waiting .heading-words{clip-path:inset(0 100% 0 0)}
.rolling-heading.entering .heading-bean{animation:bean-arrival 1.9s cubic-bezier(.2,.65,.3,1) both}
.rolling-heading.entering .heading-words{animation:words-arrival 1.7s .2s ease-out both}
@keyframes bean-arrival{from{transform:translateX(-100vw) rotate(-720deg)}to{transform:translateX(0) rotate(0)}}
@keyframes words-arrival{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.site-curtain{position:fixed;inset:0;z-index:2147483647;margin:0;border:0;width:100%;height:100%;max-width:none;max-height:none;background:#f8f6ef;display:grid;place-content:center;text-align:center;gap:20px;opacity:1;transition:opacity .25s ease}
.site-curtain img{width:min(580px,88vw);height:auto;aspect-ratio:724/241;object-fit:contain;margin:auto}
.site-curtain p{font-size:13px;letter-spacing:.16em;color:#304f41;margin:0}
.site-curtain.leaving{opacity:0;pointer-events:none}
@media(max-width:700px){.rolling-heading{padding-left:46px}.heading-bean{width:32px;height:44px}}
@media(prefers-reduced-motion:reduce){.rolling-heading.waiting .heading-bean,.rolling-heading.entering .heading-bean{animation:none;transform:none}.rolling-heading.waiting .heading-words,.rolling-heading.entering .heading-words{animation:none;clip-path:none}.site-curtain{transition:none}}

html:not(.site-loading) #initial-curtain{display:none}
.site-loading .hand-letter,.site-loading .scroll-cue span{animation-play-state:paused}
