.roll-ready{position:relative}
.roll-ready>.roll-source{position:absolute!important;display:block!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.roll-visual{display:block}
.hero h1 .roll-visual>span{display:block;white-space:nowrap}
.roll-word{display:inline-block;white-space:nowrap}
.roll-char{display:inline-block;position:relative;vertical-align:baseline}
.button>.roll-visual,.button .roll-layer{display:inline-flex;align-items:center;justify-content:center;gap:inherit}
.button .roll-word{font:inherit}
.button .roll-visual>svg{position:static}
.roll-tube{position:absolute;display:block;pointer-events:none;transform-style:preserve-3d;perspective-origin:50% 50%;overflow:clip;overflow-clip-margin:.12em}
.roll-layer{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;transform-style:preserve-3d}
.roll-layer .roll-word,.roll-layer em,.roll-layer .roll-label,.roll-layer>span{transform-style:preserve-3d}
.roll-layer .roll-char{transform-origin:50% 50% var(--tube-depth);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.is-rolling>.roll-rest{visibility:hidden}
.is-rolling>.roll-rest svg{visibility:visible}
.reduced-motion .roll-tube{display:none}
.reduced-motion .roll-rest{visibility:visible}
@media(prefers-reduced-motion:reduce){.roll-tube{display:none}.roll-rest{visibility:visible}}
