/* Genesis merch: original cutouts, open compositions, and a little room to play. */
.merch-page { --merch-gutter: clamp(22px, 5vw, 88px); }
.merch-page main { overflow: hidden; overflow: clip; }
.merch-page main h1, .merch-page main h2 { margin: 0; font-family: var(--display); font-weight: 900; line-height: .98; letter-spacing: -.015em; text-transform: uppercase; }
.merch-page main h1 { font-size: clamp(4.4rem, 7.8vw, 8.5rem); }
.merch-page main h2 { font-size: clamp(3.9rem, 6.6vw, 7.4rem); }
.merch-page main :is(a, button, summary):focus-visible { outline: 3px solid currentColor; outline-offset: 7px; }
.merch-page :is(#hoodie, #cap, #tee, #combo) { scroll-margin-top: 74px; }
.merch-eyebrow { margin: 0 0 25px; font-size: .73rem; font-weight: 700; line-height: 1.5; letter-spacing: .12em; }
.merch-opening { position: relative; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.1fr); align-items: center; gap: 15px; min-height: min(920px, 100svh); padding: 145px var(--merch-gutter) 100px; background: var(--yellow); }
.merch-opening-copy { position: relative; z-index: 2; }
.merch-opening h1 span { color: var(--white); }
.merch-intro { margin: 28px 0 24px; font-size: clamp(1rem, 1.6vw, 1.2rem); line-height: 1.6; }
.merch-jump { display: flex; flex-wrap: wrap; gap: 2px 24px; max-width: 410px; }
.merch-jump a { display: inline-flex; align-items: center; min-height: 44px; font-size: .82rem; font-weight: 700; text-decoration: underline; text-underline-offset: 6px; }
.merch-jump a:hover { text-decoration-thickness: 3px; }
.merch-opening-footer { position: absolute; inset: auto var(--merch-gutter) 30px; display: flex; justify-content: space-between; gap: 20px; align-items: center; font-size: .63rem; font-weight: 700; letter-spacing: .1em; }
.merch-opening-footer a { padding: 12px 0; }
.merch-scene { position: relative; isolation: isolate; width: 100%; min-width: 0; aspect-ratio: 1; --mx: 0px; --my: 0px; --scene-scroll: 0px; }
.merch-shape { position: absolute; z-index: -1; pointer-events: none; transition: scale 1.25s cubic-bezier(.2,.75,.15,1), opacity .85s; }
.merch-mascot { position: absolute; width: clamp(80px, 10vw, 170px); pointer-events: none; }
.merch-object { position: absolute; display: block; transform: translate3d(calc(var(--mx) * var(--depth, 1)), calc(var(--my) + var(--scene-scroll)), 0) rotate(var(--tilt, 0deg)); transition: transform 1s cubic-bezier(.16,1,.3,1), opacity .7s; }
.merch-object img { width: 100%; height: auto; filter: drop-shadow(0 20px 13px #11111126); transition: scale .35s; }
.merch-object:hover img, .merch-object:focus-visible img { scale: 1.055; }
.merch-bob { display: block; transform-origin: 50% 30%; }
.opening-orbit { width: 91%; height: 70%; border: 1px solid #11111166; border-radius: 50%; left: 5%; top: 15%; transform: rotate(-26deg); }
.opening-disc { width: 67%; aspect-ratio: 1; background: #ff685e; border-radius: 50%; top: 16%; left: 19%; }
.opening-mascot { color: var(--white); left: 0; top: 6%; transform: rotate(-10deg); }
.opening-back { width: 47%; left: 4%; top: 21%; --tilt: -13deg; --depth: -.6; }
.opening-tee { width: 48%; left: 49%; top: 27%; --tilt: 14deg; --depth: .8; }
.opening-front { width: 48%; left: 28%; top: 35%; --tilt: 3deg; z-index: 2; --depth: 1.3; }
.opening-cap { width: 31%; left: 47%; top: -2%; --tilt: -8deg; z-index: 3; --depth: -1; }
.opening-back .merch-bob { --bob-time: 6.2s; --bob-delay: -1s; --bob-turn: -2deg; }
.opening-tee .merch-bob { --bob-time: 5.5s; --bob-delay: -3s; --bob-turn: 2deg; }
.opening-front .merch-bob { --bob-time: 7s; --bob-delay: -2s; --bob-turn: -1.5deg; }
.opening-cap .merch-bob { --bob-time: 4.8s; --bob-delay: -1.5s; --bob-turn: 3deg; }
.merch-sold-sticker { position: absolute; z-index: 4; left: 0; bottom: 0; display: grid; place-content: center; width: clamp(115px, 12vw, 178px); aspect-ratio: 1.28; border: 2px solid var(--ink); border-radius: 50%; color: var(--white); background: var(--purple); box-shadow: 5px 5px 0 var(--ink); text-align: center; transform: rotate(-12deg); }
.merch-sold-sticker span { font: 900 clamp(1.6rem, 2.4vw, 2.7rem)/1.1 var(--display); }
.merch-sold-sticker small { margin-top: 7px; font-size: .55rem; font-weight: 700; letter-spacing: .08em; }
.merch-ribbon { position: relative; z-index: 3; overflow: hidden; padding: 19px 0; color: var(--yellow); background: var(--ink); transform: rotate(-2deg) scale(1.025); margin: -18px 0; }
.merch-ribbon > div { width: max-content; font: 900 clamp(1.35rem, 2.6vw, 2.4rem)/1.2 var(--display); letter-spacing: .025em; word-spacing: .2em; }
.merch-ribbon .brand-duck-face { width: 1.3em; margin: 0 24px; vertical-align: middle; }

/* Each product has its own stage; the shop records live in quiet, native disclosures. */
.merch-chapter { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .9fr); gap: clamp(35px, 6vw, 100px); align-items: center; padding: 105px var(--merch-gutter); }
.merch-chapter-copy { position: relative; z-index: 2; min-width: 0; }
.merch-description { max-width: 34ch; margin: 25px 0; font-size: clamp(1rem, 1.4vw, 1.125rem); line-height: 1.75; }
.merch-play-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 56px; padding: 14px 24px; border: 2px solid var(--ink); border-radius: 999px; color: var(--ink); background: var(--white); box-shadow: 4px 4px 0 var(--ink); cursor: pointer; font-size: .9rem; font-weight: 700; transition: transform .22s, box-shadow .22s, background .22s; }
.merch-play-button > span:last-child { font-size: 1.4rem; line-height: 1; }
.merch-play-button:hover { transform: translate(-2px, -2px) rotate(-2deg); box-shadow: 6px 6px 0 var(--ink); }
.merch-play-button:active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--ink); }
.merch-product-entry { position: absolute; z-index: 2; transform: translate3d(var(--mx), calc(var(--my) + var(--scene-scroll)), 0) rotate(var(--rest-turn, -6deg)); transition: transform 1s cubic-bezier(.16,1,.3,1), opacity .7s; }
.merch-garment { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; -webkit-tap-highlight-color: transparent; }
.merch-garment img { width: 100%; height: auto; filter: drop-shadow(0 22px 12px #11111120); }
.merch-scene-word { position: absolute; z-index: -2; color: transparent; -webkit-text-stroke: 1px currentColor; opacity: .24; font: 900 clamp(100px, 15vw, 240px)/1 var(--display); letter-spacing: -.02em; pointer-events: none; }
.merch-handnote { position: absolute; z-index: 3; font: italic clamp(.9rem, 1.4vw, 1.2rem)/1.35 Georgia, serif; pointer-events: none; }
.merch-hoodie { background: #c7b4f5; padding-top: 125px; }
.merch-hoodie h2 span { color: var(--white); }
.hoodie-scene { aspect-ratio: .95; }
.hoodie-scene .merch-scene-word { top: 7%; left: -5%; -webkit-text-stroke-color: var(--ink); transform: rotate(-10deg); }
.hoodie-blob { width: 87%; height: 85%; left: 7%; top: 12%; border-radius: 47% 53% 66% 34% / 38% 48% 52% 62%; background: var(--yellow); transform: rotate(-12deg); }
.hoodie-mascot { bottom: -1%; right: -3%; color: var(--white); transform: rotate(9deg); }
.hoodie-entry { width: 69%; top: 1%; left: 16%; --rest-turn: -9deg; }
.hoodie-entry .merch-bob { --bob-time: 6.5s; --bob-turn: 1.8deg; }
.hoodie-garment { perspective: 1200px; cursor: pointer; }
.hoodie-turn { display: block; position: relative; aspect-ratio: 889 / 1213; transform-style: preserve-3d; transition: transform .85s cubic-bezier(.3,.05,.2,1); }
.hoodie-face { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: contain; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.hoodie-back { transform: rotateY(180deg); }
.hoodie-garment.is-flipped .hoodie-turn { transform: rotateY(180deg); }
.hoodie-note { bottom: 0; left: 5%; transform: rotate(-7deg); }
.merch-cap { background: #ff805b; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.merch-cap h2 span { color: var(--white); }
.cap-scene .merch-scene-word { left: -7%; bottom: 10%; -webkit-text-stroke-color: var(--ink); transform: rotate(8deg); }
.cap-ring { border-radius: 50%; }
.cap-ring-one { width: 85%; height: 82%; left: 7%; top: 8%; background: var(--paper); transform: rotate(14deg); }
.cap-ring-two { width: 98%; height: 72%; left: 1%; top: 13%; border: 2px solid var(--ink); transform: rotate(-28deg); }
.cap-entry { width: 81%; left: 9%; top: 1%; --rest-turn: 12deg; }
.cap-entry .merch-bob { --bob-time: 5.2s; --bob-turn: -3deg; --bob-delay: -2s; }
.merch-round-label { position: absolute; z-index: 3; top: 0; right: 0; display: grid; place-content: center; width: 24%; aspect-ratio: 1; border-radius: 50%; background: var(--yellow); font: 900 clamp(1.35rem, 2.6vw, 2.6rem)/1 var(--display); text-align: center; transform: rotate(15deg); }
.cap-note { right: 9%; bottom: 1%; transform: rotate(8deg); text-align: right; }
.merch-tee { background: var(--paper); }
.merch-tee h2 span { color: #6c4ed2; }
.tee-oval { width: 87%; height: 72%; left: 5%; top: 16%; border-radius: 60% 40% 37% 63% / 57% 58% 42% 43%; background: #c7b4f5; transform: rotate(23deg); }
.tee-orbit { width: 98%; height: 77%; left: 0; top: 8%; border: 1px solid var(--ink); border-radius: 50%; transform: rotate(-24deg); }
.tee-scene .merch-scene-word { left: -5%; bottom: 2%; color: var(--yellow); opacity: 1; -webkit-text-stroke: 0; transform: rotate(-6deg); }
.tee-entry { width: 76%; left: 10%; top: 7%; --rest-turn: -12deg; }
.tee-entry .merch-bob { --bob-time: 5.8s; --bob-turn: 2deg; --bob-delay: -3s; }
.tee-note { right: 0; top: 0; transform: rotate(11deg); }
.merch-record { max-width: 560px; margin-top: 35px; padding-top: 6px; border-top: 1px solid #11111150; }
.merch-record summary { display: flex; gap: 22px; align-items: center; justify-content: space-between; min-height: 52px; cursor: pointer; list-style: none; font-size: .76rem; font-weight: 700; }
.merch-record summary::-webkit-details-marker { display: none; }
.merch-record summary::after { content: '+'; font: 400 1.5rem/1 var(--body); }
.merch-record[open] summary::after { content: '−'; }
.merch-record summary span { font-size: .57rem; letter-spacing: .04em; margin-left: auto; }
.merch-record-body { padding: 8px 0 15px; font-size: .82rem; line-height: 1.8; }
.merch-record-body p { margin: 0 0 16px; }
.merch-record-body .text-link { font-size: .75rem; }
.merch-record-photos { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 24px; }
.merch-record-photos .media-tile { flex: 0 1 calc(33.333% - 7px); width: auto; padding: 5px; background: var(--white); cursor: zoom-in; }
.merch-record-photos img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.merch-record-photos .expand-mark { display: none; }

/* The combo opens like a fan. Each garment remains a real, accessible image. */
.merch-bundle { position: relative; padding: 90px var(--merch-gutter) 70px; color: var(--white); background: var(--ink); text-align: center; }
.merch-bundle-heading { position: relative; z-index: 3; }
.merch-bundle-heading h2 { font-size: clamp(4.5rem, 9vw, 10rem) !important; }
.merch-bundle-heading h2 span { color: var(--yellow); }
.merch-bundle-heading > p:last-child { font-size: 1rem; line-height: 1.7; margin: 25px 0 0; }
.bundle-scene { max-width: 1060px; aspect-ratio: 1.75; margin: 30px auto 0; }
.bundle-halo { width: 62%; height: 78%; left: 19%; top: 13%; border-radius: 50%; background: var(--yellow); transform: rotate(-8deg); }
.bundle-orbit { width: 91%; height: 78%; left: 4%; top: 11%; border: 1px solid #f5f1e85c; border-radius: 50%; transform: rotate(-12deg); }
.bundle-mascot { color: #c7b4f5; top: 1%; left: 7%; transform: rotate(-15deg); width: clamp(60px, 9vw, 130px); }
.bundle-piece { position: absolute; z-index: 2; width: 33%; transform: translate3d(var(--mx), calc(var(--my) + var(--scene-scroll)), 0) rotate(var(--piece-turn, 0deg)); transition: left 1s cubic-bezier(.16,1,.3,1), top 1s cubic-bezier(.16,1,.3,1), width 1s cubic-bezier(.16,1,.3,1), transform 1s cubic-bezier(.16,1,.3,1), opacity .8s; }
.bundle-tee { left: 51%; top: 16%; --piece-turn: 13deg; }
.bundle-hoodie { left: 27%; top: 12%; --piece-turn: -8deg; z-index: 3; }
.bundle-cap { left: 41%; top: -5%; width: 24%; --piece-turn: 7deg; z-index: 4; }
.bundle-tee .merch-bob { --bob-delay: -2s; --bob-time: 6.8s; --bob-turn: 2deg; }
.bundle-cap .merch-bob { --bob-delay: -3s; --bob-time: 5.8s; --bob-turn: -2deg; }
.bundle-label { position: absolute; bottom: -25px; left: 50%; width: max-content; padding: 6px 10px; color: var(--ink); background: var(--white); font-size: .63rem; font-weight: 700; letter-spacing: .05em; transform: translate(-50%, 12px) rotate(calc(0deg - var(--piece-turn, 0deg))); opacity: 0; transition: transform .6s .1s, opacity .4s; }
.is-spread .bundle-hoodie { left: 5%; top: 2%; width: 32%; --piece-turn: -12deg; }
.is-spread .bundle-tee { left: 63%; top: 16%; width: 32%; --piece-turn: 12deg; }
.is-spread .bundle-cap { left: 38%; top: 6%; width: 24%; --piece-turn: 0deg; }
.is-spread .bundle-label { opacity: 1; transform: translate(-50%, 0) rotate(calc(0deg - var(--piece-turn, 0deg))); }
.merch-bundle-bottom { position: relative; z-index: 5; display: flex; flex-direction: column; align-items: center; gap: 15px; padding-top: 25px; }
.merch-bundle .merch-play-button { border-color: var(--yellow); background: var(--yellow); box-shadow: 4px 4px 0 #ffffff55; }
.merch-bundle-bottom p { font-size: .63rem; letter-spacing: .12em; }
.merch-bundle .merch-record { max-width: 650px; margin: 24px auto 0; border-color: #ffffff50; text-align: left; }

/* A tactile, swipeable album, with all twelve original community photographs. */
.merch-life { padding: 95px 0 55px; background: var(--yellow); }
.merch-life-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; padding: 0 var(--merch-gutter); }
.merch-life-heading h2 span { color: var(--white); }
.merch-life-heading > p { max-width: 34ch; margin: 0; font-size: 1rem; line-height: 1.75; }
.merch-photo-strip { display: flex; align-items: center; gap: 30px; width: 100%; overflow-x: auto; padding: 65px var(--merch-gutter) 50px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--ink) transparent; cursor: grab; }
.merch-photo-strip.dragging { cursor: grabbing; scroll-snap-type: none; }
.merch-polaroid { position: relative; flex: 0 0 clamp(220px, 26vw, 340px); min-width: 0; margin: 0; padding: 10px 10px 0; background: var(--white); box-shadow: 3px 8px 15px #11111120; transform: rotate(-5deg); scroll-snap-align: center; transition: transform .35s; }
.merch-polaroid:nth-child(3n + 2) { transform: translateY(16px) rotate(4deg); }
.merch-polaroid:nth-child(3n) { transform: translateY(-9px) rotate(-2deg); }
.merch-polaroid:hover, .merch-polaroid:focus-within { transform: translateY(-8px) rotate(0); z-index: 2; }
.merch-polaroid .media-tile { cursor: zoom-in; }
.merch-polaroid img { aspect-ratio: 4/5; object-fit: cover; }
.merch-polaroid:nth-child(3n + 2) img { aspect-ratio: 1; }
.merch-polaroid figcaption { display: flex; gap: 16px; min-height: 55px; align-items: center; justify-content: space-between; font-size: .7rem; line-height: 1.5; padding: 12px 4px; }
.merch-polaroid figcaption span { font-size: .58rem; opacity: .7; }
.merch-swipe-note { text-align: center; font-size: .62rem; letter-spacing: .14em; font-weight: 700; margin: 28px 22px 0; }
.merch-policies { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; padding: 65px var(--merch-gutter); background: var(--paper); }
.merch-policies h2 { max-width: 10ch; font-size: clamp(2.5rem, 4vw, 4.5rem) !important; }
.merch-policies p { max-width: 54ch; margin: 0 0 20px; font-size: .88rem; line-height: 1.8; }
.merch-policy-links { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.merch-policy-links a { padding: 10px 0; font-size: .75rem; text-decoration: underline; text-underline-offset: 5px; }

/* Only visible scenes animate. Every static state also works without JavaScript. */
.merch-enhanced .merch-bob { animation: merch-float var(--bob-time, 6s) ease-in-out var(--bob-delay, 0s) infinite; animation-play-state: paused; }
.merch-enhanced .scene-is-visible .merch-bob { animation-play-state: running; }
.merch-enhanced [data-merch-scene]:not(.is-inview) :is(.merch-object, .merch-product-entry) { opacity: 0; transform: translate3d(0, 90px, 0) rotate(-18deg) scale(.88); }
.merch-enhanced [data-merch-scene]:not(.is-inview) .merch-shape { opacity: 0; scale: .72; }
.merch-enhanced [data-merch-scene]:not(.is-inview) .bundle-piece { opacity: 0; transform: translate3d(0, 70px, 0) rotate(-16deg); }
.merch-enhanced .is-inview .opening-back { transition-delay: .08s; }
.merch-enhanced .is-inview .opening-tee { transition-delay: .18s; }
.merch-enhanced .is-inview .opening-front { transition-delay: .28s; }
.merch-enhanced .is-inview .opening-cap { transition-delay: .38s; }
.merch-page.merch-tab-hidden .merch-bob { animation-play-state: paused !important; }
@keyframes merch-float { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-13px) rotate(var(--bob-turn, 1.5deg)); } }

@media (max-width: 1000px) {
  .merch-page { --merch-gutter: 30px; }
  .merch-opening { min-height: 760px; grid-template-columns: 1fr 1fr; gap: 0; }
  .merch-page main h1 { font-size: clamp(3.8rem, 8vw, 5rem); }
  .merch-page main h2 { font-size: clamp(3.3rem, 6.8vw, 5rem); }
  .merch-chapter { gap: 35px; padding-block: 85px; }
  .merch-life-heading > p { max-width: 28ch; }
  .merch-handnote { font-size: .9rem; }
}
@media (max-width: 700px) {
  .merch-page { --merch-gutter: 22px; }
  .merch-opening { min-height: 0; display: flex; flex-direction: column; align-items: stretch; padding-top: 122px; padding-bottom: 80px; gap: 14px; }
  .merch-page main h1 { font-size: clamp(3.85rem, 14.2vw, 6.5rem); }
  .merch-eyebrow { margin-bottom: 20px; font-size: .64rem; }
  .merch-intro { font-size: 1rem; margin: 22px 0 10px; }
  .merch-jump { gap: 0 19px; max-width: none; }
  .merch-jump a { font-size: .74rem; }
  .merch-opening-scene { max-width: 500px; margin: 15px auto 8px; aspect-ratio: 1.06; }
  .merch-opening-footer { font-size: .52rem; letter-spacing: .045em; gap: 15px; bottom: 18px; }
  .merch-sold-sticker { width: 29%; bottom: -1%; }
  .merch-sold-sticker span { font-size: clamp(1.3rem, 5vw, 2rem); }
  .merch-sold-sticker small { font-size: .46rem; }
  .merch-ribbon { padding-block: 15px; margin-block: -15px; }
  .merch-ribbon .brand-duck-face { margin-inline: 15px; }
  .merch-chapter { display: flex; flex-direction: column; align-items: stretch; gap: 10px; padding-block: 75px 60px; }
  .merch-chapter-copy { display: contents; }
  .merch-chapter-copy > .merch-eyebrow { order: 0; margin: 0 0 8px; }
  .merch-page main h2 { font-size: clamp(3.5rem, 13vw, 5.8rem); }
  .merch-chapter-copy > h2 { order: 1; }
  .merch-chapter > .merch-scene { order: 2; width: 100%; max-width: 490px; margin: 28px auto 20px; }
  .merch-chapter-copy > .merch-description { order: 3; max-width: 40ch; margin: 16px 0 18px; font-size: 1rem; }
  .merch-chapter-copy > .merch-play-button { order: 4; align-self: flex-start; }
  .merch-chapter-copy > .merch-record { order: 5; width: 100%; margin-top: 24px; }
  .merch-scene-word { font-size: clamp(100px, 25vw, 150px); }
  .merch-handnote { font-size: .88rem; }
  .hoodie-entry { width: 67%; left: 17%; }
  .hoodie-note { bottom: -2%; }
  .merch-round-label { font-size: clamp(1.2rem, 5.5vw, 2rem); }
  .tee-note { right: 2%; }
  .merch-bundle { padding-top: 70px; padding-bottom: 50px; }
  .merch-bundle-heading h2 { font-size: clamp(4rem, 17vw, 7rem) !important; }
  .merch-bundle-heading > p:last-child { font-size: .9rem; }
  .bundle-scene { aspect-ratio: 1.12; width: calc(100% + 20px); margin: 25px -10px 0; }
  .bundle-halo { width: 78%; height: 72%; left: 11%; top: 14%; }
  .bundle-orbit { height: 73%; top: 15%; }
  .bundle-hoodie { width: 48%; left: 17%; top: 25%; }
  .bundle-tee { width: 43%; left: 50%; top: 27%; }
  .bundle-cap { width: 32%; left: 40%; top: 4%; }
  .bundle-mascot { top: 13%; left: 2%; width: 65px; }
  .is-spread .bundle-hoodie { width: 43%; left: 1%; top: 20%; }
  .is-spread .bundle-tee { width: 40%; left: 60%; top: 32%; }
  .is-spread .bundle-cap { width: 29%; left: 36%; top: 0; }
  .bundle-label { font-size: .5rem; padding: 5px 7px; bottom: -22px; }
  .merch-bundle-bottom { padding-top: 25px; }
  .merch-life { padding-top: 65px; }
  .merch-life-heading { display: block; }
  .merch-life-heading > p { max-width: 38ch; margin-top: 25px; font-size: .95rem; }
  .merch-photo-strip { gap: 20px; padding-block: 50px 38px; }
  .merch-polaroid { flex-basis: min(67vw, 320px); }
  .merch-policies { grid-template-columns: 1fr; gap: 25px; padding-block: 50px; }
  .merch-policies h2 { max-width: 13ch; }
}
@media (prefers-reduced-motion: reduce) {
  .merch-page *, .merch-page *::before, .merch-page *::after { animation: none !important; transition-duration: .001ms !important; }
  .merch-enhanced [data-merch-scene]:not(.is-inview) :is(.merch-object, .merch-product-entry, .bundle-piece) { opacity: 1; }
  .merch-enhanced [data-merch-scene]:not(.is-inview) .merch-shape { opacity: 1; scale: 1; }
}

/* Keep white Jackerton lettering legible on Rubber Duckz yellow. */
.merch-opening h1 span,.merch-life-heading h2 span{
 -webkit-text-stroke:clamp(1px,.12vw,2px) var(--ink);
 paint-order:stroke fill;
 text-shadow:3px 3px 0 var(--ink);
}
