/* Motion layers remain ornamental and never intercept interaction. */
#flight-layer {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 35;
  contain: strict;
  transition: opacity .8s ease;
}
#ink-dust {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 5;
  opacity: .65;
  transition: opacity .8s ease;
}
.ink-butterfly {
  position: absolute;
  top: 0;
  left: 0;
  width: 148px;
  height: 98.6667px;
  perspective: 420px;
  transform-style: preserve-3d;
  will-change: transform;
  --wing-bright: #c29359;
  --wing-light: #efcf94;
  --wing-mid: #8a542d;
  --wing-dark: #2c1d15;
  filter: drop-shadow(2px 8px 8px #0007);
}
.ink-butterfly--ivory {
  --wing-bright: #d4c3a1;
  --wing-light: #f3e5cb;
  --wing-mid: #9b8360;
  --wing-dark: #3b3025;
}
.ink-butterfly-wing {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  backface-visibility: visible;
}
.ink-butterfly-wing img, .ink-butterfly-body img { width: 100%; height: 100%; display: block; }
.ink-butterfly--ivory img { filter: saturate(.32) brightness(1.3); }
.ink-butterfly-wing--left {
  left: 0;
  clip-path: inset(0 50% 0 0);
  transform-origin: 50% 48%;
  animation: ink-wing-left var(--flap, .54s) ease-in-out infinite;
}
.ink-butterfly-wing--right {
  right: 0;
  clip-path: inset(0 0 0 50%);
  transform-origin: 50% 48%;
  animation: ink-wing-right var(--flap, .54s) ease-in-out infinite;
}
.ink-butterfly-body {
  position: absolute;
  inset: 0;
  clip-path: inset(29% 47% 14% 47%);
}
@keyframes ink-wing-left {
  0%, 100% { transform: rotateY(-12deg) rotateZ(-2deg); }
  48% { transform: rotateY(-74deg) rotateZ(3deg); }
}
@keyframes ink-wing-right {
  0%, 100% { transform: rotateY(12deg) rotateZ(2deg); }
  48% { transform: rotateY(74deg) rotateZ(-3deg); }
}
.hero-scene [data-depth] {
  translate: var(--px, 0px) var(--py, 0px);
  will-change: translate;
}
html.motion-ready .reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .85s ease, transform .85s cubic-bezier(.2,.7,.2,1);
  transition-delay: var(--reveal-delay, 0ms);
}
html.motion-ready .reveal.is-visible { opacity: 1; transform: translateY(0); }
html[data-motion="paused"] #flight-layer,
html[data-motion="paused"] #ink-dust { opacity: 0; }
html[data-motion="paused"] *,
html[data-motion="paused"] *::before,
html[data-motion="paused"] *::after { animation-play-state: paused !important; }
html[data-motion="paused"] .hero-scene [data-depth] { translate: none; }
html[data-motion="paused"] .reveal { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  html:not([data-motion="active"]) #flight-layer, html:not([data-motion="active"]) #ink-dust { display: none; }
  html:not([data-motion="active"]) .hero-scene [data-depth] { translate: none !important; }
  html.motion-ready .reveal { opacity: 1; transform: none; transition: none; }
}
