/* Modelena Style Marquee — smooth infinite text slider.
   The track holds two identical halves; animating to -50% loops seamlessly
   with no visible cut. Edge fade is a mask on the viewport, so names softly
   fade in/out at both ends instead of popping. */
.modelena-marquee-7d3f9a {
    overflow: hidden;
    width: 100%;
}
.modelena-marquee-7d3f9a.msm-fade {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 var(--msm-fade, 12%), #000 calc(100% - var(--msm-fade, 12%)), transparent);
    mask-image: linear-gradient(to right, transparent, #000 var(--msm-fade, 12%), #000 calc(100% - var(--msm-fade, 12%)), transparent);
}
.modelena-marquee-track-7d3f9a {
    display: flex;
    width: max-content;
    animation: modelena-marquee-scroll-7d3f9a var(--msm-duration, 45s) linear infinite;
    will-change: transform;
}
.modelena-marquee-7d3f9a.msm-reverse .modelena-marquee-track-7d3f9a {
    animation-direction: reverse;
}
.modelena-marquee-7d3f9a.msm-pause-hover:hover .modelena-marquee-track-7d3f9a {
    animation-play-state: paused;
}
.modelena-marquee-half-7d3f9a {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: var(--msm-gap, 56px);
    padding-right: var(--msm-gap, 56px);
}
.modelena-marquee-item-7d3f9a {
    white-space: nowrap;
    text-decoration: none;
    transition: color 0.25s ease;
}
.modelena-marquee-sep-7d3f9a {
    white-space: nowrap;
    user-select: none;
}
@keyframes modelena-marquee-scroll-7d3f9a {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
    .modelena-marquee-track-7d3f9a { animation: none; }
}