@keyframes steam{0%{transform:translateY(1rem) scale(.9);opacity:0}45%{opacity:.3}100%{transform:translateY(-3rem) scale(1.2);opacity:0}}
@keyframes railMove{to{background-position:80px 0}}
.reveal{opacity:1;transform:none}.enhanced .reveal{opacity:0;transform:translateY(2rem);transition:opacity .7s ease,transform .7s ease}.enhanced .reveal.is-visible{opacity:1;transform:none}
.enhanced .home-page .reveal{opacity:1;transform:none}
.hero__steam{position:absolute;inset-inline-end:17%;inset-block-start:24%;inline-size:5rem;block-size:8rem;border-inline-start:3px solid var(--paper);border-radius:50%;opacity:.2;animation:steam 4s ease-out infinite}
.loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;color:var(--paper-light);background:var(--ink);transition:opacity .25s,visibility .25s}.loader[hidden]{display:none}.loader.is-leaving{opacity:0;visibility:hidden}.loader__inner{width:min(80vw,32rem);text-align:center}.loader__track{position:relative;height:4px;margin-block:1.2rem;background:rgba(243,234,216,.2)}.loader__track::before{content:"";display:block;height:100%;background:var(--turmeric);animation:loaderLine .85s ease forwards}.loader__dot{position:absolute;left:58%;top:50%;width:1rem;height:1rem;border:3px solid var(--paper);border-radius:50%;background:var(--mumbai-red);transform:translate(-50%,-50%) scale(0);animation:loaderDot .3s .55s ease forwards}.loader__ingredients{font-family:var(--font-display);font-size:1.25rem;letter-spacing:.5em;text-transform:uppercase;opacity:0;animation:loaderWords .25s .75s forwards}@keyframes loaderLine{from{width:0}to{width:100%}}@keyframes loaderDot{to{transform:translate(-50%,-50%) scale(1)}}@keyframes loaderWords{to{opacity:1}}
.train-pulse{animation:routePulse 2.5s ease-in-out infinite}@keyframes routePulse{50%{r:10;opacity:.5}}
