/* =====================================================
   Mido Hasan — FINAL CTA (scoped)
   /assets/css/10__final-cta.css
   Lifted verbatim from 10__Final_CTA.html (section CSS only).
   Excluded duplicate globals: :root, reset, .cbm-shell, .cbm-section,
   .glass-card, .cbm-content-*, the full .cbm-u-btn system, fonts,
   .demo-spacer. Glass card, single CTA, centered layout, and the
   geometric/pulsing ornament keyframes preserved exactly.
   Mobile button-width rule scoped to .cbm-final-cta__actions.
   ===================================================== */

.cbm-final-cta .cbm-shell { width: min(940px, calc(100% - var(--site-gutter))); }
[data-reveal] {
  opacity: 0;
  transform: translateY(22px) scale(.985);
  filter: blur(8px);
  transition:
    opacity 900ms var(--ease-soft),
    transform 900ms var(--ease-soft),
    filter 900ms var(--ease-soft);
  transition-delay: var(--rd, 0ms);
}
[data-reveal].is-visible { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }


/* Final CTA */
.cbm-final-cta {
  position: relative;
  background: transparent;
  overflow: clip;
  isolation: isolate;
}
.cbm-final-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(ellipse 54% 44% at 50% 26%, rgba(142,99,163,.30), transparent 66%),
    radial-gradient(ellipse 40% 30% at 74% 70%, rgba(183,140,255,.16), transparent 70%);
  pointer-events: none;
}
.cbm-final-cta__inner { position: relative; z-index: 1; }
.cbm-final-cta__card {
  /* Locked glass effect */
  backdrop-filter: blur(20px) saturate(200%);
  -webkit-backdrop-filter: blur(20px) saturate(200%);
  background-color: rgba(1, 0, 5, 0.1);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.125);

  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: auto;
  display: grid;
  place-items: center;
  padding: clamp(54px, 6vw, 76px);
}
.cbm-final-cta__card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle 520px at 50% 30%, rgba(142,99,163,.18), transparent 68%),
    radial-gradient(circle 360px at 18% 18%, rgba(197,166,211,.08), transparent 66%),
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.006));
  pointer-events: none;
}
.cbm-final-cta__card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    inset 0 -1px 0 rgba(183,140,255,.08),
    0 3px 8px rgba(0,0,0,.10),
    0 12px 28px rgba(0,0,0,.12),
    0 30px 64px rgba(0,0,0,.14),
    0 56px 120px rgba(0,0,0,.12);
}
.cbm-final-cta__content {
  position: relative;
  z-index: 2;
  width: min(760px, 100%);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cbm-final-cta__kicker {
  justify-content: center;
  margin-bottom: clamp(14px, 1.8vw, 22px);
}
.cbm-final-cta__heading {
  font-size: clamp(2.75rem, 6.2vw, 7rem);
  line-height: .96;
  letter-spacing: -.058em;
  margin-bottom: clamp(22px, 2.8vw, 34px);
  max-width: 860px;
  text-align: center;
}
.cbm-final-cta__heading em {
  padding-bottom: .18em;
}
.cbm-final-cta__copy {
  max-width: 580px;
  margin-inline: auto;
  margin-bottom: clamp(28px, 3.4vw, 42px);
  text-align: center;
}
.cbm-final-cta__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  margin-inline: auto;
}
.cbm-final-cta__details {
  position: relative;
  z-index: 2;
  left: auto;
  right: auto;
  bottom: auto;
  transform: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 0;
  margin-top: clamp(34px, 4vw, 48px);
  color: var(--text-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
}
.cbm-final-cta__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}
.cbm-final-cta__dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--accent-lime);
  box-shadow: 0 0 16px rgba(183,140,255,.38);
  animation: cbm-final-dot 2.4s ease-in-out infinite;
}
@keyframes cbm-final-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .35; transform: scale(.72); }
}

@keyframes cbm-outline-pulse {
  0%, 100% {
    transform: rotate(-14deg) scale(.965);
    opacity: .48;
  }
  50% {
    transform: rotate(-14deg) scale(1.08);
    opacity: .82;
  }
}

@keyframes cbm-capsule-rotate {
  from { transform: rotate(18deg); }
  to { transform: rotate(378deg); }
}

@keyframes cbm-square-inner-pulse {
  0%, 100% { transform: scale(.88); opacity: .38; }
  50% { transform: scale(1.12); opacity: .88; }
}

@keyframes cbm-nested-counter {
  from { transform: rotate(0deg); }
  to { transform: rotate(-360deg); }
}
.cbm-final-cta__ornament {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  opacity: .9;
  will-change: transform, opacity;
}

.cbm-final-cta__ornament--one {
  width: clamp(190px, 24vw, 340px);
  height: clamp(190px, 24vw, 340px);
  top: 8%;
  left: 7%;
  border-radius: 50%;
  border: 1px solid rgba(197,166,211,.18);
  background: radial-gradient(circle, rgba(197,166,211,.06), transparent 62%);
  animation: cbm-pulse-orbit 6.4s var(--ease-soft) infinite;
}

.cbm-final-cta__ornament--one::before,
.cbm-final-cta__ornament--one::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  will-change: transform, opacity;
}

.cbm-final-cta__ornament--one::before {
  inset: 18%;
  border: 1px solid rgba(183,140,255,.18);
  animation: cbm-pulse-ring 6.4s var(--ease-soft) infinite .35s;
}

.cbm-final-cta__ornament--one::after {
  inset: 36%;
  border: 1px solid rgba(142,99,163,.28);
  background: radial-gradient(circle, rgba(142,99,163,.08), transparent 62%);
  animation: cbm-pulse-ring 6.4s var(--ease-soft) infinite .7s;
}

.cbm-final-cta__ornament--two {
  display: none;
}

@keyframes cbm-final-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .35; transform: scale(.72); }
}

@keyframes cbm-pulse-orbit {
  0%, 100% {
    transform: scale(.96);
    opacity: .46;
  }
  50% {
    transform: scale(1.08);
    opacity: .9;
  }
}

@keyframes cbm-pulse-ring {
  0%, 100% {
    transform: scale(.86);
    opacity: .42;
  }
  50% {
    transform: scale(1.16);
    opacity: 1;
  }
}

@media (max-width: 760px) {
  .cbm-final-cta .cbm-shell { width: min(100% - 40px, 940px); }

  .cbm-final-cta__card {
    min-height: auto;
    padding: 36px 22px;
  }

  .cbm-final-cta__content {
    text-align: center;
    align-items: center;
  }

  .cbm-final-cta__kicker {
    justify-content: center;
  }

  .cbm-final-cta__copy {
    margin-inline: auto;
    text-align: center;
  }

  .cbm-final-cta__actions {
    justify-content: center;
    align-items: center;
    width: auto;
  }

  .cbm-final-cta__actions .cbm-u-btn {
    width: auto !important;
    max-width: max-content;
    flex: 0 0 auto;
  }

  .cbm-u-btn {
    width: 100%;
  }

  .cbm-final-cta__actions .cbm-u-btn {
    width: auto !important;
  }

  .cbm-final-cta__details {
    position: relative;
    left: auto;
    transform: none;
    align-items: center;
    flex-direction: row;
  }
  .cbm-final-cta__content { text-align: left; }
  .cbm-final-cta__kicker { justify-content: flex-start; }
  .cbm-final-cta__copy { margin-inline: 0; }
  .cbm-final-cta__actions { justify-content: flex-start; align-items: stretch; flex-direction: column; }
  .cbm-final-cta__actions .cbm-u-btn { width: 100%; }
  .cbm-final-cta__details { left: 50%; transform: translateX(-50%); align-items: center; flex-direction: row; }
}
@media (min-width: 761px) {
  .cbm-final-cta__actions {
    width: auto !important;
  }

  .cbm-final-cta__actions .cbm-u-btn {
    width: auto !important;
    max-width: max-content;
    flex: 0 0 auto;
  }
}

@media (max-width: 420px) {
  :root { --site-gutter: 40px; }
  .cbm-final-cta__heading { font-size: clamp(3rem, 18vw, 4.4rem); }
  .cbm-final-cta__details { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  [data-reveal] { opacity: 1 !important; transform: none !important; filter: none !important; }
}
