/* VELORA v6 — verified moving, crisp chocolate & gold field.
   This file replaces the conflicting v4/v5 particle rules. It intentionally
   overrides legacy reduced-motion rules for the explicitly enabled demo mode.
   Visitors can pause the entire background instantly with the header toggle. */
.velora-sky {
  position: fixed !important; inset: 0 !important;
  z-index: 0 !important; contain: paint !important;
  isolation: isolate; overflow: hidden; pointer-events: none;
}
body > header, body > main, body > footer, body > .toast {position:relative;z-index:1}
.velora-sky .v-life {
  position: absolute; left: var(--x); top: var(--y);
  width: var(--sz); height: var(--sz); display: block;
  pointer-events: none; border-radius: 0;
  opacity: .65; transform: translate3d(0,0,0);
  will-change: transform, opacity;
}
.velora-sky .v-life-dust {border-radius:50%;background:#f5bf83;box-shadow:0 0 0 1px #af714450}
.velora-sky .v-life-glint::after {content:'✦';position:absolute;inset:0;color:#f4bc85;font-size:var(--sz);line-height:1;text-shadow:0 0 4px #edb67d5e}
.velora-sky .v-life-petal {width:calc(var(--sz)*.62);height:var(--sz);border:1px solid #cc9769c0;border-radius:70% 0 70% 0}
.velora-sky .v-life-diamond {width:calc(var(--sz)*.8);height:calc(var(--sz)*.8);border:1px solid #dbab7dd6}
.velora-sky .v-life-cross::before, .velora-sky .v-life-cross::after {content:'';position:absolute;background:#dfad7ac8;left:50%;top:50%;transform:translate(-50%,-50%)}
.velora-sky .v-life-cross::before {width:100%;height:1px}
.velora-sky .v-life-cross::after {width:1px;height:100%}
/* Speeds 10–18s, each symbol has its own three non-collinear waypoints.
   Position is identical at loop seam, so there is never a teleport. */
@keyframes veloraWanderV6 {
  0%,100% {transform:translate3d(0px,0px,0) rotate(-12deg) scale(.88);opacity:calc(var(--alpha)*.7)}
  24% {transform:translate3d(var(--a),var(--b),0) rotate(21deg) scale(1.11);opacity:var(--alpha)}
  51% {transform:translate3d(var(--c),var(--d),0) rotate(-22deg) scale(.9);opacity:calc(var(--alpha)*.87)}
  76% {transform:translate3d(var(--e),var(--f),0) rotate(15deg) scale(1.07);opacity:var(--alpha)}
}
/* Explicit ON overrides the old global reduce-motion reset as well as
   the old `.velora-sky * {animation:none!important}` specificity. */
html[data-velora-motion="on"] body .velora-sky .v-life {
  animation-name: veloraWanderV6 !important;
  animation-duration: var(--dur) !important;
  animation-timing-function: cubic-bezier(.42,.02,.58,.98) !important;
  animation-delay: var(--delay) !important;
  animation-iteration-count: infinite !important;
  animation-direction: normal !important;
  animation-fill-mode: both !important;
  animation-play-state: running !important;
}
/* Inherit the original crisp large-ring animations. */
html[data-velora-motion="on"] body .velora-sky .v-ring {animation:vDrift 24s ease-in-out infinite alternate !important}
html[data-velora-motion="on"] body .velora-sky .v-diamond {animation:vDiamond 17s ease-in-out infinite alternate !important}
html[data-velora-motion="on"] body .velora-sky .v-star {animation:vStar 7s ease-in-out infinite !important}
html[data-velora-motion="on"] body .velora-sky .v-dot {animation:vStar 6s ease-in-out infinite !important}
html[data-velora-motion="off"] body .velora-sky .v-shape,
html[data-velora-motion="off"] body .velora-sky .v-life {animation:none !important;will-change:auto!important}
html[data-velora-motion="off"] body .velora-sky .v-life {opacity: .28 !important;transform:none!important}
/* Visible, interactive and entirely separate from decorative field. */
.velora-motion-toggle{flex:0 0 auto;display:inline-flex;gap:9px;align-items:center;padding:9px 13px;background:#2b1b14;border:1px solid #795032;border-radius:100px;color:#f2cf9f;font:600 10px/1.4 'DM Sans',sans-serif;white-space:nowrap;transition:background .2s,border-color .2s;cursor:pointer}
.velora-motion-toggle:hover{background:#443023;border-color:#c08c5c}
.velora-motion-toggle:focus-visible{outline:2px solid #edbe83;outline-offset:3px}
.velora-motion-toggle-icon{font-size:14px;color:#edb977}
.velora-motion-toggle-dot{width:6px;height:6px;background:#b2d19e;border-radius:50%;box-shadow:0 0 0 3px #b2d19e23}
html[data-velora-motion="off"] .velora-motion-toggle{color:#b5a18d;border-color:#544033}
html[data-velora-motion="off"] .velora-motion-toggle-dot{background:#7a6a60;box-shadow:none}
@media(max-width:1050px){.velora-motion-toggle-text{display:none}.velora-motion-toggle{padding:8px 12px}}
@media(max-width:850px){.velora-sky .v-life:nth-child(n+63){display:none}}
@media(max-width:600px){.velora-sky .v-life:nth-child(n+45){display:none}}
