.hsmt-role-switcher {
  --hsmt-accent-color: #53e6a8;
  --hsmt-glow-color: rgba(83, 230, 168, 0.28);
  --hsmt-transition-duration: 760ms;
  --hsmt-easing: cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  isolation: isolate;
  width: 100%;
  min-width: 0;
}

.hsmt-role-switcher *,
.hsmt-role-switcher *::before,
.hsmt-role-switcher *::after {
  box-sizing: border-box;
}

.hsmt-role-switcher__heading {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.hsmt-role-switcher__fixed {
  display: block;
  width: 100%;
  min-width: 0;
}

.hsmt-role-switcher__stage {
  --hsmt-stage-x: 0px;
  --hsmt-stage-y: 0px;
  position: relative;
  display: grid;
  align-items: center;
  min-width: 0;
  transform: translate3d(var(--hsmt-stage-x), var(--hsmt-stage-y), 0);
  perspective: 1000px;
}

.hsmt-role-switcher__role {
  grid-area: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: var(--hsmt-item-align, center);
  width: 100%;
  min-width: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(var(--hsmt-item-x, 0), var(--hsmt-item-y, 0), 0);
}

.hsmt-role-switcher__role.hsmt-is-active,
.hsmt-role-switcher__role.hsmt-is-exiting {
  visibility: visible;
}

.hsmt-role-switcher__role-inner {
  display: inline-block;
  max-width: 100%;
  backface-visibility: hidden;
  transform-origin: 50% 50%;
  will-change: transform, opacity, filter, clip-path;
}

.hsmt-role-switcher__role-content {
  position: relative;
  display: inline-block;
  max-width: 100%;
}

.hsmt-role-switcher__role.hsmt-is-entering .hsmt-role-switcher__role-inner,
.hsmt-role-switcher__role.hsmt-is-exiting .hsmt-role-switcher__role-inner {
  animation-duration: var(--hsmt-transition-duration);
  animation-fill-mode: both;
  animation-timing-function: var(--hsmt-easing);
}

.hsmt-role-switcher__role.hsmt-is-entering[data-hsmt-enter="fade-up"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsEnterFadeUp; }
.hsmt-role-switcher__role.hsmt-is-entering[data-hsmt-enter="fade-down"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsEnterFadeDown; }
.hsmt-role-switcher__role.hsmt-is-entering[data-hsmt-enter="slide-left"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsEnterSlideLeft; }
.hsmt-role-switcher__role.hsmt-is-entering[data-hsmt-enter="slide-right"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsEnterSlideRight; }
.hsmt-role-switcher__role.hsmt-is-entering[data-hsmt-enter="zoom-in"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsEnterZoom; }
.hsmt-role-switcher__role.hsmt-is-entering[data-hsmt-enter="blur-in"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsEnterBlur; }
.hsmt-role-switcher__role.hsmt-is-entering[data-hsmt-enter="flip-x"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsEnterFlipX; }
.hsmt-role-switcher__role.hsmt-is-entering[data-hsmt-enter="flip-y"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsEnterFlipY; }
.hsmt-role-switcher__role.hsmt-is-entering[data-hsmt-enter="rotate-in"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsEnterRotate; }
.hsmt-role-switcher__role.hsmt-is-entering[data-hsmt-enter="clip-reveal"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsEnterClip; }
.hsmt-role-switcher__role.hsmt-is-entering[data-hsmt-enter="focus-in"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsEnterFocus; }
.hsmt-role-switcher__role.hsmt-is-entering[data-hsmt-enter="spring-in"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsEnterSpring; }

.hsmt-role-switcher__role.hsmt-is-exiting[data-hsmt-exit="fade-up"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsExitFadeUp; }
.hsmt-role-switcher__role.hsmt-is-exiting[data-hsmt-exit="fade-down"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsExitFadeDown; }
.hsmt-role-switcher__role.hsmt-is-exiting[data-hsmt-exit="slide-left"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsExitSlideLeft; }
.hsmt-role-switcher__role.hsmt-is-exiting[data-hsmt-exit="slide-right"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsExitSlideRight; }
.hsmt-role-switcher__role.hsmt-is-exiting[data-hsmt-exit="zoom-out"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsExitZoom; }
.hsmt-role-switcher__role.hsmt-is-exiting[data-hsmt-exit="blur-out"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsExitBlur; }
.hsmt-role-switcher__role.hsmt-is-exiting[data-hsmt-exit="flip-x"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsExitFlipX; }
.hsmt-role-switcher__role.hsmt-is-exiting[data-hsmt-exit="flip-y"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsExitFlipY; }
.hsmt-role-switcher__role.hsmt-is-exiting[data-hsmt-exit="rotate-out"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsExitRotate; }
.hsmt-role-switcher__role.hsmt-is-exiting[data-hsmt-exit="clip-hide"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsExitClip; }
.hsmt-role-switcher__role.hsmt-is-exiting[data-hsmt-exit="focus-out"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsExitFocus; }
.hsmt-role-switcher__role.hsmt-is-exiting[data-hsmt-exit="slide-up"] .hsmt-role-switcher__role-inner { animation-name: hsmtArsExitSlideUp; }

.hsmt-role-switcher__accent-anchor {
  position: absolute;
  z-index: 2;
  top: 100%;
  left: 50%;
  width: var(--hsmt-item-line-width, var(--hsmt-line-default-width, 42%));
  height: var(--hsmt-item-line-height, var(--hsmt-line-default-height, 2px));
  transform: translate3d(calc(-50% + var(--hsmt-item-line-x, 0px)), var(--hsmt-item-line-y, 8px), 0);
  pointer-events: none;
}

.hsmt-role-switcher__accent {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  opacity: 1;
  background: linear-gradient(90deg, transparent, var(--hsmt-item-line-color, var(--hsmt-accent-color)) 22%, var(--hsmt-item-line-color, var(--hsmt-accent-color)) 78%, transparent);
  box-shadow: var(--hsmt-item-line-shadow, 0 0 16px var(--hsmt-item-line-color, var(--hsmt-accent-color)));
  transform: scaleX(1);
  transform-origin: center;
  will-change: transform, opacity, filter;
}

.hsmt-role-switcher__role.hsmt-is-entering .hsmt-role-switcher__accent,
.hsmt-role-switcher__role.hsmt-is-exiting .hsmt-role-switcher__accent {
  animation-duration: var(--hsmt-transition-duration);
  animation-fill-mode: both;
  animation-timing-function: var(--hsmt-easing);
}

.hsmt-role-switcher__role.hsmt-is-entering .hsmt-role-switcher__accent-anchor[data-hsmt-line-animation="soft-expand"] .hsmt-role-switcher__accent {
  animation-name: hsmtArsLineEnterExpand;
}

.hsmt-role-switcher__role.hsmt-is-exiting .hsmt-role-switcher__accent-anchor[data-hsmt-line-animation="soft-expand"] .hsmt-role-switcher__accent {
  animation-name: hsmtArsLineExitExpand;
}

.hsmt-role-switcher__role.hsmt-is-entering .hsmt-role-switcher__accent-anchor[data-hsmt-line-animation="soft-wipe"] .hsmt-role-switcher__accent {
  animation-name: hsmtArsLineEnterWipe;
}

.hsmt-role-switcher__role.hsmt-is-exiting .hsmt-role-switcher__accent-anchor[data-hsmt-line-animation="soft-wipe"] .hsmt-role-switcher__accent {
  animation-name: hsmtArsLineExitWipe;
}

.hsmt-role-switcher__role.hsmt-is-entering .hsmt-role-switcher__accent-anchor[data-hsmt-line-animation="soft-fade"] .hsmt-role-switcher__accent {
  animation-name: hsmtArsLineEnterFade;
}

.hsmt-role-switcher__role.hsmt-is-exiting .hsmt-role-switcher__accent-anchor[data-hsmt-line-animation="soft-fade"] .hsmt-role-switcher__accent {
  animation-name: hsmtArsLineExitFade;
}

.hsmt-role-switcher__accent-anchor[data-hsmt-line-animation="soft-wipe"] .hsmt-role-switcher__accent {
  transform-origin: left center;
}

.hsmt-role-switcher__glow {
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  opacity: 0.75;
  background: var(--hsmt-glow-color);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.hsmt-role-switcher__announcer {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@keyframes hsmtArsEnterFadeUp { from { opacity: 0; transform: translate3d(0, 0.7em, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes hsmtArsEnterFadeDown { from { opacity: 0; transform: translate3d(0, -0.7em, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes hsmtArsEnterSlideLeft { from { opacity: 0; transform: translate3d(1.5em, 0, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes hsmtArsEnterSlideRight { from { opacity: 0; transform: translate3d(-1.5em, 0, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes hsmtArsEnterZoom { from { opacity: 0; transform: scale3d(0.72, 0.72, 1); } to { opacity: 1; transform: scale3d(1, 1, 1); } }
@keyframes hsmtArsEnterBlur { from { opacity: 0; filter: blur(18px); transform: scale(1.08); } to { opacity: 1; filter: blur(0); transform: scale(1); } }
@keyframes hsmtArsEnterFlipX { from { opacity: 0; transform: rotateX(-78deg) translateY(0.35em); } to { opacity: 1; transform: rotateX(0) translateY(0); } }
@keyframes hsmtArsEnterFlipY { from { opacity: 0; transform: rotateY(-78deg) translateX(0.35em); } to { opacity: 1; transform: rotateY(0) translateX(0); } }
@keyframes hsmtArsEnterRotate { from { opacity: 0; transform: rotate(-5deg) translateY(0.65em) scale(0.9); } to { opacity: 1; transform: rotate(0) translateY(0) scale(1); } }
@keyframes hsmtArsEnterClip { from { opacity: 0; clip-path: inset(0 100% 0 0); transform: translateX(-0.5em); } to { opacity: 1; clip-path: inset(0 0 0 0); transform: translateX(0); } }
@keyframes hsmtArsEnterFocus { from { opacity: 0; filter: blur(12px); letter-spacing: 0.22em; } to { opacity: 1; filter: blur(0); letter-spacing: inherit; } }
@keyframes hsmtArsEnterSpring { 0% { opacity: 0; transform: translateY(1em) scale(0.82); } 65% { opacity: 1; transform: translateY(-0.08em) scale(1.025); } 100% { opacity: 1; transform: translateY(0) scale(1); } }

@keyframes hsmtArsExitFadeUp { from { opacity: 1; transform: translate3d(0, 0, 0); } to { opacity: 0; transform: translate3d(0, -0.7em, 0); } }
@keyframes hsmtArsExitFadeDown { from { opacity: 1; transform: translate3d(0, 0, 0); } to { opacity: 0; transform: translate3d(0, 0.7em, 0); } }
@keyframes hsmtArsExitSlideLeft { from { opacity: 1; transform: translate3d(0, 0, 0); } to { opacity: 0; transform: translate3d(-1.5em, 0, 0); } }
@keyframes hsmtArsExitSlideRight { from { opacity: 1; transform: translate3d(0, 0, 0); } to { opacity: 0; transform: translate3d(1.5em, 0, 0); } }
@keyframes hsmtArsExitZoom { from { opacity: 1; transform: scale3d(1, 1, 1); } to { opacity: 0; transform: scale3d(1.25, 1.25, 1); } }
@keyframes hsmtArsExitBlur { from { opacity: 1; filter: blur(0); transform: scale(1); } to { opacity: 0; filter: blur(16px); transform: scale(0.92); } }
@keyframes hsmtArsExitFlipX { from { opacity: 1; transform: rotateX(0); } to { opacity: 0; transform: rotateX(78deg) translateY(-0.35em); } }
@keyframes hsmtArsExitFlipY { from { opacity: 1; transform: rotateY(0); } to { opacity: 0; transform: rotateY(78deg) translateX(0.35em); } }
@keyframes hsmtArsExitRotate { from { opacity: 1; transform: rotate(0) translateY(0) scale(1); } to { opacity: 0; transform: rotate(5deg) translateY(-0.65em) scale(0.9); } }
@keyframes hsmtArsExitClip { from { opacity: 1; clip-path: inset(0 0 0 0); } to { opacity: 0; clip-path: inset(0 0 0 100%); } }
@keyframes hsmtArsExitFocus { from { opacity: 1; filter: blur(0); letter-spacing: inherit; } to { opacity: 0; filter: blur(12px); letter-spacing: 0.22em; } }
@keyframes hsmtArsExitSlideUp { 0% { opacity: 1; transform: translateY(0) scale(1); } 100% { opacity: 0; transform: translateY(-1.2em) scale(0.94); } }
@keyframes hsmtArsLineEnterExpand { 0% { opacity: 0; filter: blur(5px); transform: scaleX(0.04); } 68% { opacity: 1; filter: blur(0); transform: scaleX(1.025); } 100% { opacity: 1; filter: blur(0); transform: scaleX(1); } }
@keyframes hsmtArsLineExitExpand { 0% { opacity: 1; filter: blur(0); transform: scaleX(1); } 100% { opacity: 0; filter: blur(4px); transform: scaleX(0.08); } }
@keyframes hsmtArsLineEnterWipe { 0% { opacity: 0; transform: scaleX(0); } 100% { opacity: 1; transform: scaleX(1); } }
@keyframes hsmtArsLineExitWipe { 0% { opacity: 1; transform: scaleX(1); } 100% { opacity: 0; transform: scaleX(0); } }
@keyframes hsmtArsLineEnterFade { 0% { opacity: 0; filter: blur(6px); } 100% { opacity: 1; filter: blur(0); } }
@keyframes hsmtArsLineExitFade { 0% { opacity: 1; filter: blur(0); } 100% { opacity: 0; filter: blur(6px); } }

@media (prefers-reduced-motion: reduce) {
  .hsmt-role-switcher[data-hsmt-reduced-motion="1"] .hsmt-role-switcher__role-inner,
  .hsmt-role-switcher[data-hsmt-reduced-motion="1"] .hsmt-role-switcher__accent {
    animation: none !important;
    transition: none !important;
  }
}
