body.mpa-cta-open { overflow: hidden; }
.mpa-cta-overlay {
    --mpa-overlay: rgba(12,4,28,.68);
    position: fixed; inset: 0; z-index: 999999;
    display: grid; place-items: center;
    padding: 24px; background: var(--mpa-overlay);
    opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s ease;
    backdrop-filter: blur(4px);
}
.mpa-cta-overlay.is-visible { opacity: 1; visibility: visible; }
.mpa-cta-modal {
    position: relative; width: min(1180px, 96vw); max-height: 92vh; overflow: auto;
    display: grid; grid-template-columns: 1.22fr .88fr; gap: 54px;
    padding: 44px; border-radius: 26px; background: var(--mpa-modal-bg); color: var(--mpa-text);
    box-shadow: 0 30px 90px rgba(0,0,0,.28);
    transform: translateY(18px) scale(.985); transition: transform .22s ease;
}
.mpa-cta-overlay.is-visible .mpa-cta-modal { transform: translateY(0) scale(1); }
.mpa-cta-close {
    position: absolute; right: 16px; top: 12px; z-index: 3;
    width: 42px; height: 42px; border: 0; border-radius: 50%;
    background: rgba(255,255,255,.84); color: #1b0734; font-size: 30px; line-height: 1; cursor: pointer;
}
.mpa-cta-eyebrow, .mpa-cta-card-label { font-size: 12px; font-weight: 800; letter-spacing: .18em; }
.mpa-cta-copy h2 { margin: 12px 0 12px; font-family: Georgia, serif; font-size: clamp(32px, 4vw, 58px); line-height: 1.04; font-weight: 500; }
.mpa-cta-divider { width: 100px; height: 16px; position: relative; margin: 8px 0 22px; }
.mpa-cta-divider:before { content: ''; position: absolute; left: 0; top: 7px; width: 100%; height: 1px; background: currentColor; opacity: .55; }
.mpa-cta-divider:after { content: '→'; position: absolute; right: -2px; top: -2px; font-size: 15px; }
.mpa-cta-divider span { width: 6px; height: 6px; background: currentColor; border-radius: 50%; position: absolute; left: 0; top: 5px; }
.mpa-cta-description { font-size: 18px; line-height: 1.65; }
.mpa-cta-description p { margin: 0 0 14px; }
.mpa-cta-highlight { margin-top: 14px; font-size: 16px; font-weight: 700; }
.mpa-cta-features { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 30px; margin-top: 28px; }
.mpa-cta-feature { font-size: 15px; font-weight: 700; }
.mpa-cta-feature span { margin-right: 7px; font-size: 20px; }
.mpa-cta-actions { display: flex; gap: 16px; margin-top: 38px; flex-wrap: wrap; }
.mpa-cta-primary, .mpa-cta-secondary {
    min-height: 52px; padding: 0 28px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    font-weight: 800; font-size: 14px; text-decoration: none !important; cursor: pointer;
}
.mpa-cta-primary { border: 1px solid var(--mpa-btn-bg); background: var(--mpa-btn-bg); color: var(--mpa-btn-text) !important; min-width: 270px; }
.mpa-cta-secondary { border: 1px solid currentColor; color: var(--mpa-text) !important; background: transparent; min-width: 250px; }
.mpa-cta-primary:disabled { opacity: .65; cursor: wait; }
.mpa-cta-card-wrap { display: flex; align-items: center; }
.mpa-cta-card { position: relative; overflow: hidden; width: 100%; padding: 36px 28px 28px; border-radius: 26px; background: var(--mpa-card-bg); color: white; box-shadow: 0 28px 55px rgba(24,7,50,.2); }
.mpa-cta-card-orb { position: absolute; width: 170px; height: 170px; border-radius: 50%; right: -45px; top: -70px; background: rgba(255,255,255,.08); }
.mpa-cta-card h3 { position: relative; margin: 14px 0 14px; font-family: Georgia, serif; font-size: 31px; line-height: 1.15; font-weight: 500; }
.mpa-cta-card > p { position: relative; font-size: 16px; line-height: 1.65; color: rgba(255,255,255,.88); }
.mpa-cta-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.mpa-cta-mini { border-radius: 14px; padding: 20px 16px; min-height: 164px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.07); }
.mpa-cta-mini strong { display: block; font-size: 28px; line-height: 1; }
.mpa-positive { border-color: color-mix(in srgb, var(--mpa-accent) 36%, transparent); }
.mpa-negative { border-color: color-mix(in srgb, var(--mpa-danger) 40%, transparent); background: rgba(124,18,61,.22); }
.mpa-positive strong { color: var(--mpa-accent); }
.mpa-negative strong { color: var(--mpa-danger); }
.mpa-cta-mini h4 { margin: 12px 0 10px; font-size: 16px; }
.mpa-cta-mini p { margin: 0; font-size: 13px; line-height: 1.55; color: rgba(255,255,255,.82); }
.mpa-cta-price-row { margin-top: 14px; padding: 18px 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.mpa-cta-price-row small { display: block; font-size: 11px; opacity: .8; }
.mpa-cta-price { margin-top: 5px; }
.mpa-cta-price strong { font-size: 27px; }
.mpa-cta-price span { font-size: 13px; font-weight: 700; }
.mpa-cta-update { max-width: 110px; text-align: right; font-size: 12px; font-weight: 700; line-height: 1.45; }
@media (max-width: 900px) {
    .mpa-cta-overlay { padding: 12px; align-items: start; overflow-y: auto; }
    .mpa-cta-modal { grid-template-columns: 1fr; gap: 30px; padding: 34px 20px 24px; max-height: none; margin: 12px 0; }
    .mpa-cta-copy h2 { font-size: 38px; }
    .mpa-cta-card-wrap { order: -1; }
    .mpa-cta-features { grid-template-columns: 1fr; gap: 11px; }
    .mpa-cta-actions { flex-direction: column; }
    .mpa-cta-primary, .mpa-cta-secondary { width: 100%; min-width: 0; }
}
@media (max-width: 520px) {
    .mpa-cta-copy h2 { font-size: 31px; }
    .mpa-cta-description { font-size: 16px; }
    .mpa-cta-mini-grid { grid-template-columns: 1fr; }
    .mpa-cta-price-row { align-items: flex-start; }
}
