/* Adapted from dillionverma/interactive-hover-button on 21st.dev.
   Uses a link for navigation, with equivalent hover and keyboard-focus states. */
.hover-cta{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;min-height:56px;min-width:270px;padding:17px 28px;border:1px solid #fe9306;border-radius:999px;background:#fe9306;color:#242424;text-decoration:none;font:600 16px/1.3 Arial,sans-serif;cursor:pointer;box-shadow:0 8px 22px #fe930633;transition:box-shadow 700ms ease,transform 650ms cubic-bezier(.22,1,.36,1)}
.hover-cta .fill{position:absolute;z-index:-1;left:var(--entry-x,50%);top:var(--entry-y,50%);width:var(--fill-size,700px);height:var(--fill-size,700px);border-radius:50%;background:#171717;transform:translate(-50%,-50%) scale(0);transition:transform 1200ms cubic-bezier(.45,0,.2,1)}
.hover-cta .label-rest{display:block;transition:transform 650ms ease,opacity 500ms ease}
.hover-cta .label-hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:18px;color:#fbfaf7;opacity:0;transform:translateX(-24px);transition:transform 750ms cubic-bezier(.22,1,.36,1) 200ms,opacity 600ms ease 200ms}
.hover-cta:is(:hover,:focus-visible) .fill{transform:translate(-50%,-50%) scale(1)}
.hover-cta:is(:hover,:focus-visible) .label-rest{transform:translateX(30px);opacity:0}
.hover-cta:is(:hover,:focus-visible) .label-hover{transform:translateX(0);opacity:1}
.hover-cta:is(:hover,:focus-visible){transform:translateY(-6px);box-shadow:0 14px 30px #fe93064d,0 0 36px #fe930645}
.hover-cta:focus-visible{outline:3px solid #fbfaf7;outline-offset:5px}
.hover-cta:active{transform:translateY(-2px) scale(.98)}
@media(prefers-reduced-motion:reduce){.hover-cta,.hover-cta *{transition:none!important}.hover-cta:active{transform:none}}

@media(prefers-reduced-motion:reduce){.hover-cta:is(:hover,:focus-visible){transform:none}}

.hover-cta.small .fill{left:var(--entry-x,50%)}
.hover-cta.small .label-rest{padding-left:0}
.cursor-system{pointer-events:none}
.cursor-region{position:fixed;inset:0;z-index:2147483647;pointer-events:none;clip-path:inset(100%);mix-blend-mode:difference;opacity:0}
.cursor-system.visible .cursor-region{opacity:1}
.cursor-glyph{position:absolute;width:24px;height:24px;transform:translate(calc(-50% + 5px),calc(-50% + 8px));background:#d5d5d5;border-radius:50%;box-shadow:inset 0 1px #ffffff80,inset 0 -1px #0007,0 0 5px #ffffff25;clip-path:polygon(50% 0,79% 10%,98% 35%,98% 65%,79% 90%,50% 100%,21% 90%,2% 65%,2% 35%,21% 10%);transition:width .28s ease,height .28s ease,border-radius .28s ease,clip-path .28s ease}
.cursor-glyph.star{clip-path:polygon(50% 0,62% 32%,98% 35%,70% 57%,79% 94%,50% 74%,21% 94%,30% 57%,2% 35%,38% 32%)}
.cursor-system.over-control .cursor-glyph{width:28px;height:28px;clip-path:polygon(50% 0,79% 10%,98% 35%,98% 65%,79% 90%,50% 100%,21% 90%,2% 65%,2% 35%,21% 10%)}
.cursor-system.over-text .cursor-glyph{width:6px;height:22px;transform:translate(-50%,-50%);border-radius:2px;clip-path:polygon(50% 0,100% 0,100% 35%,100% 65%,100% 100%,50% 100%,0 100%,0 65%,0 35%,0 0)}
/* Native arrow, hand and text cursor remain visible alongside the effect. */
@media(hover:none),(pointer:coarse),(forced-colors:active){.cursor-region{display:none}html.dot-cursor-on,html.dot-cursor-on *{cursor:auto!important}}
@media(prefers-reduced-motion:reduce){.cursor-glyph{transition:none}}


