/* yarn.family static copy - keep everything visible without Squarespace's JS runtime.
   Squarespace primes content at opacity:0 and reveals it with JS (scroll
   animations, BlogImageLoader, lazy-load). With the runtime removed we force
   those primed states to their final, visible state. Galleries / slideshows /
   video / product UIs are intentionally left alone (their opacity:0 is real). */

img { opacity: 1 !important; visibility: visible !important; }
[data-loader] img, .sqs-image-fluid, .summary-thumbnail img, .sqs-block-image img { opacity: 1 !important; }

/* generic block + scroll-in animation primers */
[data-animation-role], [data-controller-animation], .sqs-block, .fe-block,
.fade, .sqs-animation, section[data-section-id],
.preFade, .preScale, .preSlide, .preFlex, .preRotate, .preClip,
.lazy-load, .image-block-v2 {
  opacity: 1 !important;
  transform: none !important;
}

/* blog collection lists (Squarespace's BlogImageLoader fades these in via JS) */
.blog-item, .summary-item,
.blog-side-by-side .blog-item, .blog-alternating-side-by-side .blog-item,
.blog-masonry .entry,
.blog-basic-grid .blog-basic-grid--container,
.blog-single-column .blog-single-column--container {
  opacity: 1 !important;
  transform: none !important;
}

body, #siteWrapper, .sqs-announcement-bar-dropzone { opacity: 1 !important; }

/* audio: hide the non-functional Squarespace JS player; show the native one */
.sqs-audio-embed .sqs-widgets-audio-player { display: none !important; }
audio.static-audio-fallback { opacity: 1 !important; }
