/* Shared display rules for the v278 single-asset adult-animation art pass. */
.fold-art > svg[data-exact-asset-batch3-v271],
.fold-art > svg:has([data-sm273-emergency-vehicle]) {
  shape-rendering: geometricPrecision;
  text-rendering: geometricPrecision;
}

.fold-art image[data-cartoon-asset-batch3-v271],
.fold-art [data-sm273-emergency-vehicle] > image {
  image-rendering: auto;
}

@media (prefers-reduced-motion: reduce) {
  .fold-art [data-sm273-emergency-vehicle] animate,
  .fold-art [data-sm273-emergency-vehicle] animateTransform {
    display: none;
  }
}

/* IKWYDLS: reference-specific cutouts over responsive vector environments. */
.chapter[data-band="ikwydls"] .fold-art[data-ikwydls-exact-v278="1"] {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
  background: #071216 !important;
}

.chapter[data-band="ikwydls"] .fold-art[data-ikwydls-exact-v278="1"] > svg:not(.ikwydls-exact-motion-v271) {
  opacity: 0 !important;
  pointer-events: none !important;
}

.ikwydls-cartoon-layer-v278,
.ikwydls-vector-bg-v278,
.ikwydls-vector-bg-v278 > svg,
.ikwydls-atmosphere-v278 {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.ikwydls-cartoon-layer-v278 { z-index: 2; overflow: hidden; }
.ikwydls-vector-bg-v278 > svg { shape-rendering: geometricPrecision; }
.ikwydls-cutout-v278 {
  position: absolute;
  z-index: 2;
  display: block;
  width: auto;
  height: auto;
  max-width: 94%;
  max-height: 92%;
  object-fit: contain;
  filter: drop-shadow(0 14px 8px rgba(0,0,0,.42));
  transform-origin: 50% 82%;
}
.ikwydls-atmosphere-v278 { z-index: 3; pointer-events: none; }

.ikwydls-cartoon-layer-v278[data-scene="1997"] .ikwydls-cutout-v278 {
  height: 82%; left: 50%; bottom: 5%;
  transform: translateX(-50%);
  animation: ikwydls-car-idle-v278 4.6s ease-in-out infinite alternate;
}
.ikwydls-cartoon-layer-v278[data-scene="1997"] .ikwydls-atmosphere-v278 {
  background: radial-gradient(ellipse at 47% 73%, rgba(255,238,164,.22), transparent 19%);
  animation: ikwydls-light-v278 2.7s ease-in-out infinite alternate;
}
.ikwydls-cartoon-layer-v278[data-scene="1998"] .ikwydls-cutout-v278 {
  height: 91%; right: 3%; bottom: 1%;
  animation: ikwydls-prop-idle-v278 7s ease-in-out infinite alternate;
}
.ikwydls-cartoon-layer-v278[data-scene="1998"] .ikwydls-atmosphere-v278 {
  background: linear-gradient(107deg, transparent 25%, rgba(255,255,255,.14) 48%, transparent 68%);
  background-size: 220% 100%;
  animation: ikwydls-glint-v278 7s ease-in-out infinite;
}
.ikwydls-cartoon-layer-v278[data-scene="2021"] .ikwydls-cutout-v278 {
  height: 91%; left: 7%; bottom: 2%;
  animation: ikwydls-sign-idle-v278 5.5s ease-in-out infinite alternate;
}
.ikwydls-cartoon-layer-v278[data-scene="2021"] .ikwydls-atmosphere-v278 {
  background: linear-gradient(98deg, rgba(255,220,145,.14), transparent 45%);
}
.ikwydls-cartoon-layer-v278[data-scene="2025"] .ikwydls-cutout-v278 {
  height: 85%; left: 50%; bottom: 6%;
  transform: translateX(-50%);
  animation: ikwydls-rock-idle-v278 8s ease-in-out infinite alternate;
}
.ikwydls-cartoon-layer-v278[data-scene="2025"] .ikwydls-atmosphere-v278 {
  background: repeating-linear-gradient(170deg, transparent 0 25px, rgba(213,241,245,.08) 26px 29px, transparent 30px 46px);
  animation: ikwydls-mist-v278 8s linear infinite;
}

@keyframes ikwydls-car-idle-v278 { from { transform: translateX(-50%) translateY(0) rotate(-.15deg); } to { transform: translateX(-50%) translateY(-1.4%) rotate(.15deg); } }
@keyframes ikwydls-prop-idle-v278 { from { transform: translateY(0); } to { transform: translateY(-1%); } }
@keyframes ikwydls-sign-idle-v278 { from { transform: translateY(0) rotate(-.12deg); } to { transform: translateY(-.8%) rotate(.12deg); } }
@keyframes ikwydls-rock-idle-v278 { from { transform: translateX(-50%) translateY(0); } to { transform: translateX(-50%) translateY(.8%); } }
@keyframes ikwydls-light-v278 { from { opacity: .42; } to { opacity: .9; } }
@keyframes ikwydls-glint-v278 { from { background-position: 120% 0; opacity: .25; } to { background-position: -120% 0; opacity: .6; } }
@keyframes ikwydls-mist-v278 { from { background-position: 0 0; opacity: .35; } to { background-position: 120px 28px; opacity: .65; } }

@media (max-width: 760px) {
  .ikwydls-cartoon-layer-v278[data-scene="2021"] .ikwydls-cutout-v278 { left: 3%; }
  .ikwydls-cartoon-layer-v278[data-scene="1998"] .ikwydls-cutout-v278 { right: 1%; }
}

@media (prefers-reduced-motion: reduce) {
  .ikwydls-cutout-v278,
  .ikwydls-atmosphere-v278 { animation: none !important; }
}
