.exit-offer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1040;
    display: grid;
    place-items: center;
    padding: 1.5rem;
}
.exit-offer-backdrop::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(16, 37, 35, .34);
    pointer-events: none;
    will-change: opacity;
    animation: exitOfferShadeIn .22s ease-out both;
}
.exit-offer {
    --offer-accent: #167a58;
    --offer-soft: #e8f4ed;
    --offer-border: #d5e8dc;
    position: relative;
    z-index: 1;
    width: min(100%, 33rem);
    max-height: min(85vh, 46rem);
    overflow: auto;
    padding: clamp(1.6rem, 3vw, 2.5rem);
    border: 1px solid var(--offer-border);
    border-radius: 1.3rem;
    background: radial-gradient(circle at 92% 8%, var(--offer-soft), transparent 50%), #fff;
    box-shadow: 0 1.4rem 4rem rgba(17, 47, 37, .2);
    color: #1b3a33;
    will-change: transform, opacity;
    animation: exitOfferIn .34s cubic-bezier(.2,.8,.2,1) both;
}
.exit-offer:focus { outline: none; }
.exit-offer-backdrop.is-cursor-positioned { display: block; padding: 0; }
.exit-offer-backdrop.is-cursor-positioned .exit-offer {
    /* 36px edge gap; 84px height reserve keeps that gap below a popup starting up to 48px from the top. */
    --exit-popup-width: min(33rem, calc(100vw - 72px));
    position: fixed;
    left: clamp(36px, var(--exit-target-left), calc(100vw - var(--exit-popup-width) - 36px));
    top: clamp(36px, var(--exit-target-top), 48px);
    width: var(--exit-popup-width);
    max-height: min(85vh, calc(100vh - 84px));
    visibility: hidden;
}
.exit-offer--ocean { --offer-accent: #176b91; --offer-soft: #e7f5fb; --offer-border: #c6e3ee; }
.exit-offer--amber { --offer-accent: #9b6114; --offer-soft: #fff3df; --offer-border: #ead9b8; }
.exit-offer--slate { --offer-accent: #4f647b; --offer-soft: #edf1f6; --offer-border: #d4dde6; }
.exit-offer--violet { --offer-accent: #7147a4; --offer-soft: #f2ebfb; --offer-border: #dfd1ee; }
.exit-offer--rose { --offer-accent: #a53361; --offer-soft: #fbeaf1; --offer-border: #efd1dd; }
.exit-offer--terracotta { --offer-accent: #a04828; --offer-soft: #fcf0e9; --offer-border: #ebd4c7; }
.exit-offer-backdrop.is-closing::before { animation: exitOfferShadeOut var(--exit-flight-duration, .46s) ease-in both; }
.exit-offer.is-closing { animation: exitOfferFlyToTab var(--exit-flight-duration, .46s) linear both; }
.exit-offer-backdrop.is-dismissing::before { animation: exitOfferShadeOut .22s ease-in both; }
.exit-offer.is-dismissing { animation: exitOfferDismiss .22s ease-in both; }
.exit-offer-backdrop.is-completing::before { animation: exitOfferShadeOut .3s ease-in both; }
.exit-offer.is-completing { animation: exitOfferComplete .3s ease-in-out both; }
.exit-offer-confirmation { display: grid; justify-items: center; align-content: center; min-height: 8rem; padding: .6rem 1rem; text-align: center; color: var(--offer-accent); animation: exitOfferConfirmationIn .25s ease-out both; }
.exit-offer-confirmation i { font-size: 2.2rem; }
.exit-offer-confirmation p { margin: .8rem 0 0; font-size: 1.2rem; font-weight: 650; line-height: 1.4; }
.exit-offer-close {
    position: absolute;
    top: .75rem;
    right: .75rem;
    display: grid;
    place-items: center;
    width: 2.55rem;
    height: 2.55rem;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.75);
    color: #526961;
    font-size: 1.1rem;
}
.exit-offer-close:hover, .exit-offer-close:focus-visible { background: #e8f0eb; color: #163b2f; }
.exit-offer-heading { display: flex; align-items: center; gap: 1rem; min-width: 0; margin-bottom: 1.35rem; padding-right: 2rem; }
.exit-offer-title { min-width: 0; margin: 0; color: var(--offer-accent); font-size: clamp(1.2rem, 2vw, 1.55rem); font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.exit-offer-title :is(h1,h2,h3,h4,h5,h6) { margin: 0; color: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; }
.exit-offer-title h1 { font-size: 1.8rem; }
.exit-offer-title h2 { font-size: 1.6rem; }
.exit-offer-title h3 { font-size: 1.4rem; }
.exit-offer-title h4 { font-size: 1.2rem; }
.exit-offer-title h5 { font-size: 1.05rem; }
.exit-offer-title h6 { font-size: .95rem; }
.exit-offer-symbol {
    display: grid;
    place-items: center;
    width: 3.25rem;
    height: 3.25rem;
    flex: none;
    border-radius: 1rem;
    background: var(--offer-soft);
    color: var(--offer-accent);
    font-size: 1.6rem;
}
.exit-offer-copy h2, .exit-offer-copy h3 { margin: 0 0 1rem; color: var(--offer-accent); font-size: clamp(1.5rem,2.5vw,2rem); line-height: 1.2; }
.exit-offer-copy p { margin: 0 0 1rem; color: #465f56; line-height: 1.58; }
.exit-offer-copy ul, .exit-offer-copy ol { margin: 0 0 1rem; padding-left: 1.35rem; line-height: 1.55; }
.exit-offer-response { display: block; width: 100%; min-height: 5.8rem; padding: .7rem .85rem; border: 1px solid var(--offer-border); border-radius: .7rem; background: #fff; color: #18382f; resize: vertical; }
.exit-offer-response:focus { outline: 2px solid var(--offer-accent); outline-offset: 1px; }
.exit-offer-error { margin: .4rem 0 0; color: #ad3440; font-size: .88rem; }
.exit-offer-actions { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; margin-top: 1rem; }
.exit-offer-content > .exit-offer-action { margin: 1rem .8rem 0 0; }
.exit-offer-content > .exit-offer-dismiss { margin: 1rem .8rem 0 0; }
.exit-offer-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    min-height: 2.8rem;
    border: 0;
    padding: .7rem 1.15rem;
    border-radius: .7rem;
    background: var(--offer-accent);
    color: #fff;
    font-weight: 650;
    text-decoration: none;
}
.exit-offer-action:hover, .exit-offer-action:focus-visible { color: #fff; filter: brightness(.9); }
.exit-offer-action:disabled { opacity: .65; cursor: wait; }
.exit-offer-choice { max-width: 100%; min-width: min(100%, 9rem); white-space: normal; text-align: center; }
.exit-offer-action--text { background: none; color: var(--offer-accent); padding-inline: 0; }
.exit-offer-action--text:hover, .exit-offer-action--text:focus-visible { color: var(--offer-accent); text-decoration: underline; filter: none; }
.exit-offer-dismiss { min-height: 2.8rem; padding: .65rem .9rem; border: 0; background: transparent; color: #536a60; text-decoration: underline; text-underline-offset: .18rem; }
.exit-offer-dismiss:hover, .exit-offer-dismiss:focus-visible { color: #173a31; }
.exit-offer-thanks { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 1045; display: flex; align-items: center; gap: .6rem; max-width: min(90vw, 22rem); padding: .9rem 1rem; border: 1px solid #a5d4b5; border-radius: .8rem; background: #effaf2; color: #24573a; box-shadow: 0 .6rem 2rem rgba(17,47,37,.16); }
.exit-offer-note { margin: 1rem 0 0; color: #6a7f76; font-size: .78rem; line-height: 1.45; }
.exit-offer-tab {
    --tab-background: #f5faf7;
    --tab-border: #b7d7ca;
    --tab-color: #18543c;
    --tab-hover-background: #e5f3eb;
    --tab-hover-color: #0f3f2c;
    position: fixed;
    z-index: 1022;
    top: 50%;
    right: 0;
    translate: 0 -50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    width: max-content;
    height: auto;
    padding: .65rem .45rem;
    border: 1px solid var(--tab-border);
    border-right: 0;
    border-radius: .75rem 0 0 .75rem;
    background: var(--tab-background);
    box-shadow: 0 .2rem .8rem #173e2b24;
    color: var(--tab-color);
    font-size: .82rem;
    line-height: 1.2;
    animation: exitOfferTabIn .36s ease-out both, exitOfferNudge 18s ease-in-out 3s infinite;
}
.exit-offer-tab--ocean { --tab-background: #e7f5fb; --tab-border: #c6e3ee; --tab-color: #176b91; --tab-hover-background: #d8eff8; --tab-hover-color: #145b7a; }
.exit-offer-tab--amber { --tab-background: #fff3df; --tab-border: #ead9b8; --tab-color: #87540e; --tab-hover-background: #ffebc9; --tab-hover-color: #75470a; }
.exit-offer-tab--slate { --tab-background: #edf1f6; --tab-border: #d4dde6; --tab-color: #4f647b; --tab-hover-background: #e0e8f1; --tab-hover-color: #3d536a; }
.exit-offer-tab--violet { --tab-background: #f2ebfb; --tab-border: #dfd1ee; --tab-color: #7147a4; --tab-hover-background: #e8dcf9; --tab-hover-color: #5f388f; }
.exit-offer-tab--rose { --tab-background: #fbeaf1; --tab-border: #efd1dd; --tab-color: #a53361; --tab-hover-background: #f7dbe7; --tab-hover-color: #902650; }
.exit-offer-tab--terracotta { --tab-background: #fcf0e9; --tab-border: #ebd4c7; --tab-color: #a04828; --tab-hover-background: #f8e4d7; --tab-hover-color: #873a1d; }
.exit-offer-tab i { flex: none; font-size: 1.25rem; }
.exit-offer-tab span { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; }
.exit-offer-tab:hover, .exit-offer-tab:focus-visible { background: var(--tab-hover-background); color: var(--tab-hover-color); }
@keyframes exitOfferIn { from { opacity: 0; transform: translateY(1rem) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes exitOfferShadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes exitOfferShadeOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes exitOfferDismiss { to { opacity: 0; transform: scale(.98); } }
@keyframes exitOfferConfirmationIn { from { opacity: 0; transform: translateY(.3rem); } to { opacity: 1; transform: none; } }
@keyframes exitOfferComplete { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(-.5rem) scale(.97); } }
@keyframes exitOfferFlyToTab {
    0% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
    80% { opacity: 1; }
    100% { opacity: 0; transform: translate3d(var(--exit-fly-x), var(--exit-fly-y), 0) scale(.36); }
}
@keyframes exitOfferTabIn { from { opacity: 0; transform: translateX(100%); } to { opacity: 1; transform: none; } }
@keyframes exitOfferNudge { 0%, 91%, 100% { transform: translateX(0); } 94% { transform: translateX(-.35rem); } 97% { transform: translateX(0); } }
@media (max-width: 767px), (hover: none), (pointer: coarse) { .exit-offer-backdrop, .exit-offer-tab { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .exit-offer, .exit-offer-backdrop::before, .exit-offer-tab { animation: none !important; } }
