/* Cultivera Living Signature · Colour Transfer R3 · every footer page.
   Official full-logo SVG remains the static authority and no-JS fallback.
   A mouse or pen engages it (.cv-footer-signature-engaged, from pointer events,
   not (hover:hover), which touch laptops report as none), keyboards on
   focus-visible; devices with no hover input play it once per page view
   (.cv-footer-signature-playing). Both classes are set by cultivera-shell.js.
   Home and MAVH keep their closing-band refinements in closing-signature-prototype.css. */
.cv-footer-v3 .cv-footer-v3__brand {
  /* Colour Transfer R3 end state: the official colour-logo leaf fills
     (cultivera-logo-primary-nav.svg). The wordmark is never coloured. */
  --cv-leaf-top:#a7e75a;
  --cv-leaf-left:#218653;
  --cv-leaf-right:#78c95c;
  --cv-footer-ease-out:cubic-bezier(.22,.61,.36,1);
  /* Growth front travels at a near-steady pace so it reads at real speed. */
  --cv-grow-ease:cubic-bezier(.3,.15,.45,1);
  /* Whole-pixel 416:120 step (52n × 15n, n=3): fractional sizes make the
     snapped <img> and the live SVG anti-alias differently. */
  width:156px;
  position:relative;
  isolation:isolate;
}
.cv-footer-v3 .cv-footer-v3__brand :is(img,svg) {
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  overflow:visible;
  object-fit:contain;
}
.cv-footer-v3 .cv-footer-v3__brand img[hidden] {
  display:none!important;
}

/* At rest the mark is the exact official reverse SVG; a soft botanical field
   sits behind the three leaves only. Engaging recedes the field while the
   official leaf colours grow up through each leaf from its stem, lower leaves
   first, ending on the actual colour logo; exit draws the colour back to the
   stem. CSS transitions reverse from mid-flight, so a half-way exit resolves
   cleanly to white without a second engine. */
/* A square field centred on the leaf cluster (12.3% / 50% of the mark).
   closest-side reaches transparent at the inscribed circle and the mask
   feathers it again, so no rectangular boundary can ever paint. */
.cv-footer-v3 .cv-footer-v3__brand::before {
  content:"";
  position:absolute;
  z-index:-1;
  pointer-events:none;
  left:12.3%;
  top:50%;
  width:72%;
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(closest-side,rgba(74,138,88,.30),rgba(58,112,72,.15) 45%,rgba(46,92,60,.05) 72%,rgba(46,92,60,0));
  -webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent);
  mask-image:radial-gradient(closest-side,#000 55%,transparent);
  opacity:1;
  transition:opacity 400ms var(--cv-footer-ease-out);
}
/* Rest is the official <img> itself, stacked over the live SVG. Chrome
   re-rasterises repainted inline-SVG edges slightly differently from first
   paint, so the SVG is shown only while the transfer is engaged and handed
   back to the image once the leaves are white again (exit completes <=400ms). */
.cv-footer-v3 .cv-footer-v3__brand.cv-footer-signature-ready img {
  position:absolute;
  left:0;
  top:0;
  transition:visibility 0s linear 420ms;
}
.cv-footer-v3 .cv-footer-v3__brand.cv-footer-signature-ready .cv-footer-signature-svg {
  visibility:hidden;
  transition:visibility 0s linear 420ms;
}
/* Leaf numbers follow source order: 1 = top, 2 = left, 3 = right.
   Each leaf keeps its white source path (base) and gains a colour copy
   masked by a feathered disc centred on the stem (.cv-footer-grow, built in
   cultivera-shell.js). Growing the disc's r is the organic start: colour
   rises from the stem to the tip. The base path takes the same colour the
   instant the disc is fully solid, so the end state has no white fringe.
   On exit the copy fades while it drains, so no speck is left at the stem.
   Enter: 450ms growth, 75ms stagger (left, right, top) = 600ms.
   Exit: 280ms recession (200ms fade), 60ms reverse stagger (top, right, left) = 400ms. */
.cv-footer-v3__brand .cv-footer-signature-svg [data-cv-footer-leaf="1"] {--cv-leaf:var(--cv-leaf-top)}
.cv-footer-v3__brand .cv-footer-signature-svg [data-cv-footer-leaf="2"] {--cv-leaf:var(--cv-leaf-left)}
.cv-footer-v3__brand .cv-footer-signature-svg [data-cv-footer-leaf="3"] {--cv-leaf:var(--cv-leaf-right)}
.cv-footer-v3__brand .cv-footer-signature-svg .cv-footer-leaf-colour path {fill:var(--cv-leaf)}
.cv-footer-v3__brand .cv-footer-signature-svg .cv-footer-leaf-colour {
  opacity:0;
  /* Fades out within 200ms of the 280ms drain: gone before the disc is small. */
  transition:opacity 200ms linear;
}
.cv-footer-v3__brand .cv-footer-signature-svg [data-cv-footer-leaf="1"] .cv-footer-leaf-colour {transition-delay:0ms}
.cv-footer-v3__brand .cv-footer-signature-svg [data-cv-footer-leaf="3"] .cv-footer-leaf-colour {transition-delay:60ms}
.cv-footer-v3__brand .cv-footer-signature-svg [data-cv-footer-leaf="2"] .cv-footer-leaf-colour {transition-delay:120ms}
/* Base path: white at rest; whitens at once on exit, under the still-full colour copy. */
.cv-footer-v3__brand .cv-footer-signature-svg .cv-footer-leaf-base path {
  fill:#ffffff;
  transition:fill 120ms linear;
}
.cv-footer-v3__brand .cv-footer-signature-svg .cv-footer-grow {
  r:0px;
  transition:r 280ms cubic-bezier(.45,.05,.55,.95);
}
.cv-footer-v3__brand .cv-footer-signature-svg .cv-footer-grow[data-cv-footer-grow="1"] {transition-delay:0ms}
.cv-footer-v3__brand .cv-footer-signature-svg .cv-footer-grow[data-cv-footer-grow="3"] {transition-delay:60ms}
.cv-footer-v3__brand .cv-footer-signature-svg .cv-footer-grow[data-cv-footer-grow="2"] {transition-delay:120ms}
/* Engaged: mouse/pen hover, keyboard focus-visible, and the one touch play-through. */
.cv-footer-v3 .cv-footer-v3__brand.cv-footer-signature-ready:is(:focus-visible,.cv-footer-signature-engaged,.cv-footer-signature-playing) img {visibility:hidden;transition-delay:0s}
.cv-footer-v3 .cv-footer-v3__brand.cv-footer-signature-ready:is(:focus-visible,.cv-footer-signature-engaged,.cv-footer-signature-playing) .cv-footer-signature-svg {visibility:visible;transition-delay:0s}
.cv-footer-v3 .cv-footer-v3__brand.cv-footer-signature-ready:is(:focus-visible,.cv-footer-signature-engaged,.cv-footer-signature-playing)::before {
  opacity:.12;
  transition-duration:600ms;
}
.cv-footer-v3__brand.cv-footer-signature-ready:is(:focus-visible,.cv-footer-signature-engaged,.cv-footer-signature-playing) .cv-footer-grow {
  r:var(--cv-grow-r);
  transition-duration:450ms;
  transition-timing-function:var(--cv-grow-ease);
}
.cv-footer-v3__brand.cv-footer-signature-ready:is(:focus-visible,.cv-footer-signature-engaged,.cv-footer-signature-playing) .cv-footer-leaf-colour {opacity:1;transition-duration:0s;transition-delay:0s}
.cv-footer-v3__brand.cv-footer-signature-ready:is(:focus-visible,.cv-footer-signature-engaged,.cv-footer-signature-playing) .cv-footer-grow[data-cv-footer-grow="2"] {transition-delay:0ms}
.cv-footer-v3__brand.cv-footer-signature-ready:is(:focus-visible,.cv-footer-signature-engaged,.cv-footer-signature-playing) .cv-footer-grow[data-cv-footer-grow="3"] {transition-delay:75ms}
.cv-footer-v3__brand.cv-footer-signature-ready:is(:focus-visible,.cv-footer-signature-engaged,.cv-footer-signature-playing) .cv-footer-grow[data-cv-footer-grow="1"] {transition-delay:150ms}
.cv-footer-v3__brand.cv-footer-signature-ready:is(:focus-visible,.cv-footer-signature-engaged,.cv-footer-signature-playing) .cv-footer-leaf-base path {
  fill:var(--cv-leaf);
  transition-duration:0s;
}
.cv-footer-v3__brand.cv-footer-signature-ready:is(:focus-visible,.cv-footer-signature-engaged,.cv-footer-signature-playing) [data-cv-footer-leaf="2"] .cv-footer-leaf-base path {transition-delay:450ms}
.cv-footer-v3__brand.cv-footer-signature-ready:is(:focus-visible,.cv-footer-signature-engaged,.cv-footer-signature-playing) [data-cv-footer-leaf="3"] .cv-footer-leaf-base path {transition-delay:525ms}
.cv-footer-v3__brand.cv-footer-signature-ready:is(:focus-visible,.cv-footer-signature-engaged,.cv-footer-signature-playing) [data-cv-footer-leaf="1"] .cv-footer-leaf-base path {transition-delay:600ms}
@media(prefers-reduced-motion:reduce){
  .cv-footer-v3 .cv-footer-v3__brand::before {transition:none;opacity:1!important}
  .cv-footer-v3 .cv-footer-v3__brand img {visibility:visible!important}
  .cv-footer-v3 .cv-footer-v3__brand .cv-footer-signature-svg {visibility:hidden!important}
  .cv-footer-v3__brand .cv-footer-signature-svg .cv-footer-leaf-base path {transition:none!important;fill:#fff!important}
  .cv-footer-v3__brand .cv-footer-signature-svg .cv-footer-grow {transition:none!important;r:0px!important}
  .cv-footer-v3__brand .cv-footer-signature-svg .cv-footer-leaf-colour {transition:none!important;opacity:0!important}
}
