/* CTA banner — ported from "cta-banner (1).html" (1:1 restore of a 1148×200
   Figma frame, scaled to width). Brand-adapted: Poppins + ReFrame pink→purple.
   Namespaced `cb-`. Scaler in /reframe/cta-banner.js. */
.cb-section{
  display:flex;justify-content:center;
  padding:8px 24px 88px;
  background:#fff;
}
.cb-root{
  --cb-a:#EF0385;   /* brand pink */
  --cb-b:#6E24B2;   /* brand purple */
  font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  width:100%;display:block;direction:ltr;
  -webkit-font-smoothing:antialiased;
}
.cb-root *{box-sizing:border-box;margin:0;padding:0}

.cb-wrap{width:100%;max-width:1148px;margin:0 auto;aspect-ratio:1148/200;position:relative}
.cb-banner{
  position:absolute;top:0;left:0;width:1148px;height:200px;
  transform-origin:top left;transform:scale(var(--cb-s,1));
  border-radius:25px;overflow:hidden;
  background:linear-gradient(90deg,var(--cb-a) 0%,var(--cb-b) 100%);
}
.cb-banner span,.cb-banner p{position:absolute;line-height:1;white-space:nowrap;color:rgba(255,255,255,.92)}
.cb-deco,.cb-sel{position:absolute;inset:0;width:1148px;height:200px;pointer-events:none}

/* -------- copy (exact coords/sizes from source so the selection marquee lines up) -------- */
.cb-l1{left:49.32px;top:35.96px;font-size:35.22px;font-weight:300}
.cb-l2{left:48.54px;top:76.32px;font-size:54.78px;font-weight:600}
.cb-sb{left:52.29px;top:138.8px;font-size:15.87px;font-weight:500;color:rgba(255,255,255,.82)}

/* -------- button -------- */
.cb-btn{
  position:absolute;left:865px;top:71px;width:234px;height:58px;border:0;border-radius:12px;
  background:#fff;box-shadow:0 7px 28px rgba(146,0,59,.28);cursor:pointer;text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease;
}
.cb-btn:hover{transform:translateY(-1px);box-shadow:0 11px 32px rgba(146,0,59,.36)}
.cb-btn:active{transform:translateY(0)}
.cb-btn-txt{
  position:absolute;left:918.47px;top:91.41px;
  font-size:19px;font-weight:600;line-height:1;white-space:nowrap;
  background-image:linear-gradient(90deg,var(--cb-a) 0%,var(--cb-b) 100%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
}

@media (prefers-reduced-motion:reduce){.cb-root *{transition:none!important}}
