/* Preserve the source site's design. These rules support its local interactions. */
html { scroll-behavior: smooth; }
body { overflow-x: clip; }
[data-carousel-track] { will-change: transform; }
[data-carousel]:focus-visible, a:focus-visible, button:focus-visible, [role="button"]:focus-visible, summary:focus-visible { outline: 2px solid #d2fc31; outline-offset: 5px; }
[data-carousel] img { -webkit-user-drag: none; }
button, [role="button"] { -webkit-tap-highlight-color: transparent; }
header [role="button"] { cursor: pointer; }
header [role="button"]:hover { background: rgba(255,255,255,.1) !important; }
.navigation-dropdown { position: fixed; z-index: 10000; width: 300px; padding: 14px; border: 1px solid #343434; border-radius: 12px; background: #141414; box-shadow: 0 20px 60px #0008; font: 16px/1.4 Geist, sans-serif; }
.navigation-dropdown[hidden], .mobile-navigation[hidden] { display: none; }
.navigation-dropdown a { display: block; padding: 10px 12px; color: #fff; text-decoration: none; border-radius: 6px; }
.navigation-dropdown a:hover, .navigation-dropdown a:focus-visible { background: #2e2e2e; }
.mobile-navigation { position: fixed; z-index: 20000; inset: 0; overflow-y: auto; background: #111; color: #fff; padding: 76px 24px 32px; font: 18px/1.5 Geist, sans-serif; }
.mobile-navigation > a, .mobile-navigation summary { display: block; padding: 14px 0; color: #fff; text-decoration: none; border-bottom: 1px solid #333; cursor: pointer; }
.mobile-navigation summary::after { content: '+'; float: right; }
.mobile-navigation details[open] summary::after { content: '−'; }
.mobile-navigation details a { display: block; color: #bbb; text-decoration: none; padding: 10px 16px; font-size: 16px; }
.mobile-navigation .mobile-cta { margin-top: 20px; border-radius: 8px; background: #d2fc31; color: #000; text-align: center; font-weight: 600; }
.mobile-close { position: absolute; top: 16px; right: 24px; width: 40px; height: 40px; background: #eee; border: 0; border-radius: 8px; color: #000; font-size: 30px; cursor: pointer; }
body.navigation-open { overflow: hidden; }
.marquee-track { animation: marquee 45s linear infinite; }
.marquee-track:hover { animation-play-state: paused; }
#custom-styles [role="button"] { cursor: pointer; transition: opacity 180ms, box-shadow 180ms; }
#custom-styles [aria-pressed="false"] { opacity: .6 !important; }
#custom-styles [aria-pressed="true"] { opacity: 1 !important; box-shadow: 0 0 0 2px #d2fc31; }
@keyframes marquee { to { transform: translateX(var(--marquee-distance, -50%)); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .marquee-track { animation: none; } *, *::before, *::after { transition-duration: 0s !important; } }
