/* Shuffle static overrides: replacements for Squarespace JS-driven components. */

/* Marquee (was an animated SVG textPath) */
.shuffle-marquee .Marquee-display { overflow: hidden; }
.shuffle-marquee .sm-h { margin: 0; padding: 0; white-space: nowrap; line-height: 1.2; }
.shuffle-marquee .sm-link { color: inherit; text-decoration: none; display: block; }
.shuffle-marquee .sm-track { display: flex; width: max-content; animation: sm-scroll var(--sm-dur, 20s) linear infinite; }
.shuffle-marquee .sm-track[data-dir="right"] { animation-direction: reverse; }
.shuffle-marquee .sm-run { display: flex; flex-shrink: 0; }
.shuffle-marquee .sm-item { padding-right: 0.5em; }
@keyframes sm-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .shuffle-marquee .sm-track { animation: none; } }

/* Accordion collapse (Squarespace animates height in JS) */
.accordion-item__dropdown { overflow: hidden; transition: max-height 300ms ease; }
.accordion-item__dropdown:not(.accordion-item__dropdown--open) { max-height: 0; }

/* Forms */
.shuffle-form-error { color: #e65c5c; font-size: 0.85em; margin-top: 0.4em; }
.newsletter-form-success { text-align: center; }

/* Map block */
.sqs-block-map .sqs-block-content { position: relative; }
.shuffle-map { display: block; }

/* Section background images with parallax (Squarespace draws these on a canvas) */
[data-controller="BackgroundImageFXParallax"] { overflow: hidden; }
[data-controller="BackgroundImageFXParallax"] .background-image-fx {
  visibility: visible; position: absolute; left: 0; top: -15%; width: 100%; height: 130%;
  object-fit: cover; will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  [data-controller="BackgroundImageFXParallax"] .background-image-fx { top: 0; height: 100%; transform: none !important; }
}
