/* Brand CTA — gradient variant (shared across pages). Homepage keeps its own
   inline copy with custom margins; this flush version is used on all other pages. */
.cta-brand--gradient { background: linear-gradient(135deg, #3161A0 0%, #244a7d 55%, #16304f 100%); padding: 8rem 2rem; margin: 10rem 0; position: relative; overflow: hidden; }
.cta-brand--gradient .cta-brand__ring { position: absolute; right: -15rem; top: 50%; transform: translateY(-50%); width: 70rem; height: 70rem; border-radius: 50%; border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 0 0 40px rgba(255,255,255,0.045), 0 0 0 80px rgba(255,255,255,0.03), 0 0 0 130px rgba(255,255,255,0.015); pointer-events: none; }
.cta-brand--gradient .cta-brand__glow { position: absolute; top: 50%; left: 38%; transform: translate(-50%,-50%); width: 60rem; height: 30rem; background: radial-gradient(ellipse, rgba(139,171,217,0.25) 0%, transparent 70%); pointer-events: none; }
.cta-brand--gradient .cta-brand__inner { max-width: 72rem; margin: 0 auto; text-align: center; position: relative; z-index: 1; }
.cta-brand--gradient .cta-brand__eyebrow { font-size: 1.2rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: #bcd0ec; margin-bottom: 2rem; }
.cta-brand--gradient .cta-brand__heading { font-size: clamp(3rem, 5vw, 5rem); font-weight: 800; color: #fff; line-height: 1.15; margin: 0 0 1.8rem; letter-spacing: -0.025em; }
.cta-brand--gradient .cta-brand__text { font-size: 1.8rem; color: rgba(255,255,255,0.7); line-height: 1.75; margin: 0 auto 3.6rem; max-width: 56rem; }
.cta-brand--gradient .cta-brand__btn { display: inline-flex; align-items: center; gap: 1rem; padding: 1.7rem 4.4rem; background: #fff; color: #14304f; font-size: 1.7rem; font-weight: 700; border-radius: 10px; text-decoration: none; position: relative; overflow: hidden; transition: transform 0.22s ease, box-shadow 0.22s ease; animation: cta-btn-pulse 3s ease-in-out infinite; }
.cta-brand--gradient .cta-brand__btn::before { content: ''; position: absolute; top: 0; left: -160%; width: 55%; height: 100%; background: linear-gradient(115deg, transparent 0%, rgba(49,97,160,0.22) 50%, transparent 100%); transform: skewX(-22deg); animation: cta-btn-shimmer 4.5s ease-in-out infinite; pointer-events: none; }
.cta-brand--gradient .cta-brand__btn:hover { transform: translateY(-4px); box-shadow: 0 20px 48px rgba(0,0,0,0.3); color: #14304f; animation-play-state: paused; }
.cta-brand--gradient .cta-brand__btn svg { transition: transform 0.2s ease; }
.cta-brand--gradient .cta-brand__btn:hover svg { transform: translateX(4px); }
@keyframes cta-btn-shimmer { 0% { left: -160%; } 22%, 100% { left: 160%; } }
@keyframes cta-btn-pulse { 0%, 100% { box-shadow: 0 6px 18px rgba(0,0,0,0.18), 0 0 0 0 rgba(255,255,255,0.35); } 50% { box-shadow: 0 8px 24px rgba(0,0,0,0.22), 0 0 0 8px rgba(255,255,255,0); } }
.cta-brand--gradient .cta-brand__stats { display: flex; justify-content: center; gap: 4rem; margin-top: 5rem; padding-top: 3.6rem; border-top: 1px solid rgba(255,255,255,0.16); flex-wrap: wrap; }
.cta-brand--gradient .cta-brand__stat { text-align: center; }
.cta-brand--gradient .cta-brand__stat-num { font-size: 3rem; font-weight: 800; color: #fff; line-height: 1; }
.cta-brand--gradient .cta-brand__stat:first-child .cta-brand__stat-num { display: inline-block; animation: cta-num-hop 3.2s ease-in-out infinite; }
@keyframes cta-num-hop { 0%, 18%, 100% { transform: translateY(0); } 7% { transform: translateY(-4px); } 12% { transform: translateY(-1px); } }
.cta-brand--gradient .cta-brand__stat-label { font-size: 1.25rem; color: rgba(255,255,255,0.55); margin-top: 0.4rem; font-weight: 500; }
@media (max-width: 749px) { .cta-brand--gradient { padding: 6rem 2rem; margin: 7.5rem 0; } .cta-brand--gradient .cta-brand__stats { gap: 2.4rem; } .cta-brand--gradient .cta-brand__ring { display: none; } }
@media (prefers-reduced-motion: reduce) { .cta-brand--gradient .cta-brand__btn, .cta-brand--gradient .cta-brand__btn svg, .cta-brand--gradient .cta-brand__stat:first-child .cta-brand__stat-num { transition: none !important; animation: none !important; } .cta-brand--gradient .cta-brand__btn::before { display: none; } .cta-brand--gradient .cta-brand__btn:hover { transform: none; } }
