.cm-retention-overlay[hidden]{display:none!important}
.cm-retention-overlay{position:fixed;inset:0;z-index:1000001;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:20px;background:rgba(23, 59, 38,.65);backdrop-filter:blur(4px);font-family:Nunito,Arial,sans-serif;color:#1f5134}
.cm-retention-card{position:relative;box-sizing:border-box;width:min(100%,470px);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #d7f4e3;border-radius:26px;padding:32px 30px 18px;background:linear-gradient(150deg,#fff 55%,#f3fbf6);box-shadow:0 24px 90px rgba(17, 46, 29,.3);text-align:center;animation:cm-retention-in .3s ease-out}
.cm-retention-close{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#528768;font:400 30px/1 Arial,sans-serif;cursor:pointer}
.cm-retention-heart{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(135deg,#58d38b,#2eac62);color:white;font-size:31px;box-shadow:0 8px 20px #32ba6b2b}
.cm-retention-eyebrow{font-size:10px;font-weight:900;letter-spacing:.16em;color:#2daa61}
.cm-retention-card h2{margin:12px 0 14px;font-size:28px;line-height:1.17;font-weight:900;color:#1f5134}
.cm-retention-card p{margin:0;color:#528768;font-size:15px;line-height:1.6}
.cm-retention-card .cm-retention-emphasis{margin:15px 0 22px;color:#289555;font-weight:900;font-size:14px}
.cm-retention-cta{display:block;width:100%;min-height:54px;border:0;border-radius:14px;background:linear-gradient(110deg,#33bf6d,#2a9c59);color:#fff;box-shadow:0 8px 20px #32ba6b2b;font:900 16px Nunito,Arial,sans-serif;padding:12px 14px;cursor:pointer}
.cm-retention-dismiss{min-height:44px;margin:8px 0 0;padding:8px 16px;border:0;border-radius:12px;background:transparent;color:#528768;text-decoration:underline;text-underline-offset:3px;font:700 13px Nunito,Arial,sans-serif;cursor:pointer}
.cm-retention-close:hover,.cm-retention-dismiss:hover{background:#edfaf2}
.cm-retention-cta:hover{filter:brightness(.95)}
.cm-retention-card button:focus-visible{outline:3px solid #25613e;outline-offset:3px}
@keyframes cm-retention-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:767px){.cm-retention-overlay{padding:16px}.cm-retention-card{max-height:calc(100dvh - 32px);padding:28px 22px 14px;border-radius:24px}.cm-retention-card h2{font-size:25px}.cm-retention-card p{font-size:14px}.cm-retention-heart{margin-bottom:12px;width:54px;height:54px}.cm-retention-card .cm-retention-emphasis{margin:13px 0 18px}}
@media(max-width:359px){.cm-retention-card{padding-inline:18px}.cm-retention-card h2{font-size:23px}.cm-retention-cta{font-size:15px}}
@media(prefers-reduced-motion:reduce){.cm-retention-card{animation:none}}
