/* ------------------------------
   anim wrapper (shared grid)
   ------------------------------ */
.anim-wrapper {display: grid;grid-template-columns: repeat(3, 1fr);grid-template-rows: repeat(3, 1fr);gap: 10px;aspect-ratio: 1 / 1;}
.grid-item {}
.anim-8 {grid-column: span 2 / span 2;display: flex;justify-content: center;align-items: center;}
.stage { position: relative; width: 100%;aspect-ratio: 1 / 1; display: flex; justify-content: center; align-items: flex-end; }
.stage-inner { width: 100%; height: 100%; position: relative; overflow: hidden; }

/* ------------------------------
   anim-1: Line Net
   ------------------------------ */
.a1-shopping-container, .a4-kid-container, .a6-eating-container { position: absolute; bottom: 0; left: 0; width: 100%; z-index: 2;  }
.a1-shopping-img, .a4-kid-img, .a6-eating-img { width: 100%;}

/* ------------------------------
   anim-2: Flower
   ------------------------------ */
.a3-flower-svg circle { transform-box: fill-box; transform-origin: center; }

/* ------------------------------
   anim-3: Heart
   ------------------------------ */
.a1-heart-svg { width: 100%; height: auto; transform-origin: center center; }
.a1-heart-top { fill: #7b15ff; transform-origin: center; }
.a1-heart-top-opacity-0 { opacity: 0; }
.a1-heart-center { fill: #e91198; transform-origin: center; }
.a1-image-container { position: absolute; bottom: 0; left: 0; width: 100%; mask-image: url('data:image/svg+xml; utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 247.61 272.72"><path d="M247.61,0H0V121.12H0A67.63,67.63,0,0,0,19.83,168h.06l0,0L123.49,272.72,227.76,168l-.23-.23H228a67.61,67.61,0,0,0,19.59-46.66h0Z"/></svg>'); mask-size: contain; mask-repeat: no-repeat; mask-position: bottom; -webkit-mask-image: url('data:image/svg+xml; utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 247.61 272.72"><path d="M247.61,0H0V121.12H0A67.63,67.63,0,0,0,19.83,168h.06l0,0L123.49,272.72,227.76,168l-.23-.23H228a67.61,67.61,0,0,0,19.59-46.66h0Z"/></svg>'); -webkit-mask-size: contain; -webkit-mask-repeat: no-repeat; -webkit-mask-position: bottom; }
.a1-girl-img { width: 94%; display: block; margin: 0 auto; }

/* ------------------------------
   anim-4: Rotating Circles
   ------------------------------ */

/* ------------------------------
   anim-5: Diamond
   ------------------------------ */
.a5-image-container { position: absolute; bottom: 0; left: 0; width: 100%; z-index: 2; mask-image: url('data:image/svg+xml; utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 220 277.03"><polygon points="0 0 0 203.23 36.76 203.51 36.76 240.27 73.56 240.27 73.56 277.03 147.08 277.03 147.08 240.27 220.64 240.27 220.64 0 0 0" fill="black"/></svg>'); mask-size: cover; mask-repeat: no-repeat; mask-position: top; }
.a5-mens-img { width: 107%; display: block; margin: 0 auto -5%; }

/* ------------------------------
   anim-6: Circle Gradient
   ------------------------------ */
/* ------------------------------
   anim-7: Circles + Image
   ------------------------------ */
.a7-middle-star { fill: #488dcb; }
[class*="a7-circle-"] { mix-blend-mode: difference; }
.a7-image-container { position: absolute; bottom: 0; left: 0; width: 141%; z-index: 2; mask-image: url('data:image/svg+xml; utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 319.74 302.61"><path d="M50.19,0H0V270.4H57.47a65.7,65.7,0,0,0,113,0H319.74V0H50.19Z" fill="black"/></svg>'); mask-size: cover; mask-repeat: no-repeat; mask-position: top; pointer-events: none; }
.a7-tennis-girl-img { position: relative; left: 0; bottom: -4px; opacity: 0; width: 100%; }

/* ------------------------------
   anim-8: Text
   ------------------------------ */
.animated-heading {font-family: 'TT Firs Neue', sans-serif;display: flex;flex-direction: column;align-items: end;width: 100%;}
.animated-heading .linewrap {display: flex; align-items: center; gap: 5px; line-height: 1; margin: 0;}
.animated-heading .linewrap.h2 { font-size: 2.5rem; font-weight: 600;}
.animated-heading .linewrap.h3 { font-size: 1.8rem; font-weight: 600;}
.svg-wrapper {width: 20px;height: 20px;transform-origin: center center; display: flex;}
.svg-wrapper.flora-2 {width: 30px;height: 30px;}