/*! Vitality Loading Flower 1.0.0 | WDS Creative | page-transition overlay (built by vwc-lf.js) */

.vwc-lf{
  position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;visibility:hidden;pointer-events:none;
  margin:0;padding:0;border:0;background:none;
  font-size:16px;line-height:1.2;text-align:left;letter-spacing:normal;text-transform:none;
  --vwc-sedona:#d3a794;--vwc-sage:#99b4ab;--vwc-agave:#738d94;--vwc-cream:#fcf2eb;
  --vwc-greige:#e1dbd8;--vwc-blush:#e5cdc8;--vwc-navy:#3a4f61;
  --track:rgba(115,141,148,.2);
  /* colour band: the racer's head, the band just behind it, and the settled mark colour */
  --c-head:var(--vwc-sedona);--c-mid:var(--vwc-sage);--c-trail:var(--vwc-agave);
  --s:.6;                                  /* speed multiplier (set from JS) */
  --T:calc(1.9s*var(--s));                 /* length of the race */
  /* the mark sits above centre by half the label block below it, minus the ring's tiny offset in the artwork */
  --lift:calc((53.6px + 1.1*clamp(32px,5.5vw,48px))/2 - min(44vw,236px)*.0038);
  --serif:"Crimson Text",Georgia,"Times New Roman",serif;
  --sans:"TT Norms Pro","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
}
.vwc-lf,.vwc-lf *,.vwc-lf *::before,.vwc-lf *::after{box-sizing:border-box}
.vwc-lf:not([data-phase="idle"]){visibility:visible;pointer-events:all}

/* curtain -------------------------------------------------------------- */
.vwc-lf-curtain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;
  background:radial-gradient(ellipse at 50% 55%,#fff 0%,var(--vwc-cream) 50%,var(--vwc-greige) 100%);
  transition:opacity calc(.45s*var(--s)) ease}
.vwc-lf[data-phase="arrive"] .vwc-lf-curtain{opacity:1;transition:none}
.vwc-lf[data-phase="covering"] .vwc-lf-curtain,
.vwc-lf[data-phase="growing"] .vwc-lf-curtain,
.vwc-lf[data-phase="settled"] .vwc-lf-curtain{opacity:1}
.vwc-lf[data-phase="revealing"] .vwc-lf-curtain{opacity:0;transition-duration:calc(.85s*var(--s));transition-timing-function:cubic-bezier(.6,0,.4,1)}

/* stage ---------------------------------------------------------------- */
.vwc-lf-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  transition:opacity calc(.6s*var(--s)) ease,transform calc(.85s*var(--s)) ease}
.vwc-lf[data-phase="revealing"] .vwc-lf-stage{opacity:0;transform:translateY(-14px) scale(1.04)}

.vwc-lf-glow{position:absolute;left:50%;top:50%;width:min(80vw,620px);height:min(80vw,620px);border-radius:50%;
  transform:translate(-50%,calc(-50% - var(--lift))) scale(.4);opacity:0;
  background:radial-gradient(circle,var(--vwc-blush) 0%,transparent 66%)}
.vwc-lf[data-phase="growing"] .vwc-lf-glow,
.vwc-lf[data-phase="settled"] .vwc-lf-glow{animation:vwc-lf-glow calc(1.9s*var(--s)) ease-out forwards}
.vwc-lf[data-phase="revealing"] .vwc-lf-glow{transform:translate(-50%,calc(-50% - var(--lift))) scale(1);opacity:.9}
@keyframes vwc-lf-glow{to{transform:translate(-50%,calc(-50% - var(--lift))) scale(1);opacity:.9}}

/* finishing ripple: starts exactly on the mark's own ring (centre-line = 92.53% of the mark width) */
.vwc-lf-ring{position:absolute;left:50%;top:50%;width:calc(min(44vw,236px)*.9253);height:calc(min(44vw,236px)*.9253);
  border-radius:50%;border:1.5px solid var(--vwc-sedona);opacity:0;
  transform:translate(-50%,calc(-50% - var(--lift))) scale(1)}
.vwc-lf[data-phase="settled"] .vwc-lf-ring{animation:vwc-lf-ring calc(1.2s*var(--s)) ease-out forwards}
@keyframes vwc-lf-ring{
  0%{opacity:.8;transform:translate(-50%,calc(-50% - var(--lift))) scale(1)}
  100%{opacity:0;transform:translate(-50%,calc(-50% - var(--lift))) scale(1.7)}
}

/* the mark: faint track underneath, colour racing along it ---------------- */
.vwc-lf-mark{position:relative;width:min(44vw,236px);margin:0;padding:0}
.vwc-lf-mark svg{display:block;width:100%;height:auto;max-width:none;margin:0;padding:0}
.vwc-lf-ghost{fill:var(--track)}
.vwc-lf-race .lay{opacity:var(--op,1)}          /* group opacity, so overlapping joints never double-blend */
.vwc-lf-race .lay path{fill:none;stroke:var(--col);stroke-width:53;stroke-linejoin:round;stroke-linecap:round;
  stroke-dasharray:1 3;stroke-dashoffset:1.02}  /* pathLength=1: offset 1.02 = hidden, 0 = drawn */
.vwc-lf[data-phase="growing"] .vwc-lf-race .lay path{animation:vwc-lf-draw calc(var(--d)*var(--T)) linear calc(var(--a)*var(--T)) both}
.vwc-lf[data-phase="settled"] .vwc-lf-race .lay path,
.vwc-lf[data-phase="revealing"] .vwc-lf-race .lay path{stroke-dashoffset:0}
@keyframes vwc-lf-draw{to{stroke-dashoffset:0}}

/* page name under the mark ------------------------------------------------ */
.vwc-lf-page{margin:30px 0 0;padding:0;text-align:center;opacity:0;transform:translateY(8px)}
.vwc-lf-small{display:block;margin:0 0 6px;padding:0 0 0 .5em;font:400 11px/17.6px var(--sans);letter-spacing:.5em;
  text-transform:none;color:var(--vwc-sedona)}
.vwc-lf-label{display:block;margin:0;padding:0;font:400 clamp(32px,5.5vw,48px)/1.1 var(--serif);letter-spacing:.02em;
  text-transform:none;color:var(--vwc-navy);max-width:92vw}
.vwc-lf[data-phase="growing"] .vwc-lf-page,
.vwc-lf[data-phase="settled"] .vwc-lf-page,
.vwc-lf[data-phase="revealing"] .vwc-lf-page{opacity:1;transform:none;
  transition:opacity calc(.7s*var(--s)) ease,transform calc(.7s*var(--s)) ease}

@media print{.vwc-lf{display:none!important}}
@media (prefers-reduced-motion:reduce){.vwc-lf{display:none!important}}
