/* Gen2 · Final CTA — scoped under .sr-final-cta. Réplica fiel de g2c-final. */
.sr-final-cta { padding: clamp(3rem, 7vw, 5.5rem) 0; background: linear-gradient(180deg, #fff, #eef4fb); }
.sr-final-cta * { box-sizing: border-box; }
.sr-final-cta .wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 clamp(1.25rem, 4vw, 2.5rem); }

.sr-final-cta .final-cta-card { position: relative; overflow: hidden; isolation: isolate; border-radius: clamp(20px, 3vw, 34px); padding: clamp(2.6rem, 6vw, 5rem) clamp(1.4rem, 5vw, 4rem); text-align: center; background: radial-gradient(130% 130% at 12% 0%, #274a86 0%, #16264f 46%, #0e1a38 100%); box-shadow: 0 34px 80px rgba(14,26,56,.4); }
.sr-final-cta .final-cta-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(38% 52% at 84% 14%, rgba(34,211,238,.30), transparent 62%), radial-gradient(44% 58% at 10% 96%, rgba(249,115,22,.22), transparent 62%); }
.sr-final-cta .final-cta-inner { position: relative; max-width: 46em; margin: 0 auto; }
.sr-final-cta .final-cta-eyebrow { display: inline-flex; align-items: center; gap: .6em; margin: 0 0 1rem; font-family: var(--font-display); font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #82d9ec; }
.sr-final-cta .final-cta-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--c-glow); box-shadow: 0 0 10px rgba(34,211,238,.9); }
.sr-final-cta .final-cta-card h2 { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.7rem, 3.2vw, 2.5rem); line-height: 1.12; color: #fff; margin: 0 0 var(--sp-md); }
.sr-final-cta .final-cta-sub { font-size: 1.08rem; line-height: 1.6; color: rgba(223,234,248,.82); margin: 0 auto; max-width: 40em; }

.sr-final-cta .cta-row { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: var(--sp-xl); }
.sr-final-cta .cta-center { justify-content: center; }
.sr-final-cta .btn { display: inline-flex; align-items: center; gap: .55em; font-family: var(--font-display); font-weight: 700; font-size: 1rem; padding: .9em 1.7em; border-radius: var(--r-btn); border: 1px solid transparent; text-decoration: none; cursor: pointer; transition: background var(--t-micro), border-color var(--t-micro), color var(--t-micro), transform var(--t-micro), box-shadow var(--t-micro); white-space: nowrap; }
.sr-final-cta .btn .arr { transition: transform var(--t-micro); }
.sr-final-cta .btn:hover .arr { transform: translateX(3px); }
.sr-final-cta .btn-primary { background: var(--c-accent); color: #fff; box-shadow: 0 10px 26px rgba(249,115,22,.32); }
.sr-final-cta .btn-primary:hover { background: var(--c-accent-hov); box-shadow: 0 14px 32px rgba(249,115,22,.42); transform: translateY(-2px); color: #fff; }
.sr-final-cta .btn-ghost { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.3); color: #fff; }
.sr-final-cta .btn-ghost:hover { background: rgba(255,255,255,.15); border-color: rgba(130,217,236,.85); transform: translateY(-2px); }
.sr-final-cta .cta-dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }

.sr-final-cta .final-cta-reassure { list-style: none; margin: var(--sp-lg) 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem 1.8rem; }
.sr-final-cta .final-cta-reassure li { display: inline-flex; align-items: center; gap: .5em; font-size: .9rem; font-weight: 600; color: rgba(223,234,248,.78); }
.sr-final-cta .final-cta-reassure svg { width: 18px; height: 18px; color: var(--c-glow); flex: none; }

@media (max-width: 720px) { .sr-final-cta .cta-row { flex-direction: column; align-items: stretch; } .sr-final-cta .btn { justify-content: center; } }

/* Label del boton como UN solo flex item: si no, el <sup>® lo parte y el gap lo separa. */
.sr-final-cta .btn-lbl { display: inline; white-space: nowrap; }
