/* Shared Call to Action (from home) */
.cta-band{position:relative;overflow:hidden;background:var(--pink);color:#fff;padding:clamp(64px,9vw,110px) clamp(24px,3.5vw,56px);margin-top:0}
.cta-band::before{content:"";position:absolute;width:55vmax;height:55vmax;right:-18%;top:-40%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 65%);pointer-events:none;animation:ctaGlow 10s ease-in-out infinite alternate}
.cta-band::after{content:"";position:absolute;width:40vmax;height:40vmax;left:-12%;bottom:-45%;background:radial-gradient(circle,rgba(0,0,0,.18),transparent 60%);pointer-events:none}
@keyframes ctaGlow{from{transform:translate(0,0) scale(1)}to{transform:translate(-4%,6%) scale(1.08)}}
.cta-band-wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr minmax(220px,380px);gap:clamp(28px,5vw,64px);align-items:center;max-width:1180px}
.cta-band-inner{max-width:640px}
.cta-band .eyebrow{color:rgba(255,255,255,.7)}
.cta-band h2{font-family:var(--font-display);font-size:clamp(40px,7vw,92px);line-height:.92;letter-spacing:-.03em;margin-top:14px;text-transform:none;color:#fff}
.cta-band p{margin-top:18px;font-size:clamp(15px,1.6vw,18px);color:rgba(255,255,255,.82);max-width:460px;line-height:1.55}
.cta-actions{margin-top:34px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px}
.cta-band .btn-cta{background:#0a0a0a;color:#fff;border:1.5px solid #0a0a0a;display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:999px;font-family:var(--font-med);font-size:13px;letter-spacing:.1em;text-transform:uppercase;transition:transform .2s,background .2s,color .2s,border-color .2s}
.cta-band .btn-cta:hover{background:#fff;color:var(--pink);border-color:#fff;transform:translateY(-2px)}
.cta-mail{font-family:var(--font-med);font-size:13px;letter-spacing:.08em;color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:2px;transition:color .2s,border-color .2s}
.cta-mail:hover{color:#fff;border-color:#fff}
.cta-arrow{display:inline-block;transition:transform .3s ease}
.cta-band .btn-cta:hover .cta-arrow{transform:translateX(6px)}
.cta-illu{position:relative;width:100%;aspect-ratio:1;max-width:380px;margin:0 auto;pointer-events:none}
.cta-ring{position:absolute;inset:8%;border:1.5px solid rgba(255,255,255,.22);border-radius:50%;animation:ctaSpin 18s linear infinite}
.cta-ring.r2{inset:18%;border-style:dashed;opacity:.7;animation-direction:reverse;animation-duration:24s}
.cta-ring.r3{inset:28%;border-color:rgba(255,255,255,.12);animation-duration:14s}
@keyframes ctaSpin{to{transform:rotate(360deg)}}
.cta-bubble{position:absolute;background:#fff;color:#0a0a0a;border-radius:22px;box-shadow:0 18px 40px rgba(0,0,0,.18);animation:ctaFloat 3.6s ease-in-out infinite}
.cta-bubble.b1{left:6%;top:18%;width:54%;padding:18px 20px 16px;animation-delay:0s;border-bottom-left-radius:6px}
.cta-bubble.b2{right:4%;bottom:22%;width:48%;padding:16px 18px 14px;animation-delay:1.1s;border-bottom-right-radius:6px;background:rgba(10,10,10,.92);color:#fff}
@keyframes ctaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.cta-dots{display:flex;gap:7px;align-items:center;height:14px}
.cta-dots i{width:8px;height:8px;border-radius:50%;background:#0a0a0a;opacity:.25;animation:ctaDot 1.4s ease-in-out infinite}
.cta-dots i:nth-child(2){animation-delay:.2s}
.cta-dots i:nth-child(3){animation-delay:.4s}
@keyframes ctaDot{0%,80%,100%{opacity:.22;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}
.cta-lines{display:flex;flex-direction:column;gap:7px;margin-top:2px}
.cta-lines span{display:block;height:6px;border-radius:999px;background:rgba(255,255,255,.28);animation:ctaLine 2.8s ease-in-out infinite}
.cta-lines span:nth-child(1){width:88%}
.cta-lines span:nth-child(2){width:64%;animation-delay:.25s}
.cta-lines span:nth-child(3){width:76%;animation-delay:.5s}
@keyframes ctaLine{0%,100%{opacity:.35;transform:scaleX(.92);transform-origin:left}50%{opacity:.9;transform:scaleX(1)}}
.cta-elephant{position:absolute;left:50%;top:50%;width:28%;transform:translate(-50%,-50%);animation:ctaBob 4s ease-in-out infinite;filter:drop-shadow(0 12px 24px rgba(0,0,0,.25))}
.cta-elephant img{width:100%;height:auto;display:block;filter:brightness(0) invert(1)}
@keyframes ctaBob{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 8px))}}
.cta-phone{position:absolute;right:8%;top:8%;width:72px;height:72px;border-radius:50%;background:#0a0a0a;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 32px rgba(0,0,0,.28);animation:ctaPhonePulse 2.4s ease-in-out infinite;z-index:3}
.cta-phone svg{width:30px;height:30px;fill:#fff;animation:ctaPhoneWiggle 2.4s ease-in-out infinite;transform-origin:70% 30%}
.cta-phone::before,.cta-phone::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.55);animation:ctaPhoneRing 2.4s ease-out infinite}
.cta-phone::after{animation-delay:1.2s}
@keyframes ctaPhonePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes ctaPhoneWiggle{0%,100%{transform:rotate(0)}10%{transform:rotate(14deg)}20%{transform:rotate(-12deg)}30%{transform:rotate(10deg)}40%{transform:rotate(-6deg)}50%,100%{transform:rotate(0)}}
@keyframes ctaPhoneRing{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.85);opacity:0}}
.cta-spark{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;opacity:.85;animation:ctaSpark 2.8s ease-in-out infinite}
.cta-spark.s1{left:22%;top:12%}
.cta-spark.s2{right:18%;top:28%;width:7px;height:7px;animation-delay:.7s}
.cta-spark.s3{left:14%;bottom:30%;width:6px;height:6px;animation-delay:1.3s}
@keyframes ctaSpark{0%,100%{transform:scale(.6);opacity:.35}50%{transform:scale(1.15);opacity:1}}
@media(max-width:820px){.cta-band-wrap{grid-template-columns:1fr;gap:36px}.cta-illu{max-width:280px;order:-1}}
@media(prefers-reduced-motion:reduce){.cta-band::before,.cta-ring,.cta-bubble,.cta-dots i,.cta-lines span,.cta-elephant,.cta-spark,.cta-phone,.cta-phone svg,.cta-phone::before,.cta-phone::after{animation:none}}
