body.modalOpen{overflow:hidden}
.upgradeModal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.upgradeModal.isOpen{opacity:1;visibility:visible}
.upgradeBackdrop{position:absolute;inset:0;border:0;background:rgba(3,6,4,.86);backdrop-filter:blur(9px);cursor:pointer}
.upgradeDialog{position:relative;width:min(920px,100%);max-height:calc(100vh - 44px);overflow:auto;background:#f2f0e8;color:#111713;box-shadow:0 36px 100px rgba(0,0,0,.58);transform:translateY(24px) scale(.98);transition:transform .3s ease}
.upgradeModal.isOpen .upgradeDialog{transform:none}
.upgradeClose{position:absolute;right:14px;top:13px;z-index:3;width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(0,0,0,.2);color:#fff;font-size:25px;line-height:1;cursor:pointer}
.upgradeRibbon{background:#a8d94c;color:#0a100c;padding:14px 58px;text-align:center;font-size:9px;font-weight:950;letter-spacing:.15em}
.upgradeBody{position:relative;padding:42px 58px 34px;overflow:hidden}
.upgradeBody:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;right:-210px;top:-180px;border:1px solid rgba(117,154,48,.18);pointer-events:none}
.upgradeBadge{position:absolute;right:55px;top:37px;display:flex;align-items:center;gap:10px}
.upgradeBadge span{font-size:7px;line-height:1.3;font-weight:950;letter-spacing:.11em;text-align:right}
.upgradeBadge strong{font-size:48px;line-height:1;letter-spacing:-.08em}
.upgradeBadge em{color:#759a30;font-size:18px;font-style:normal;vertical-align:top;margin-left:5px}
.upgradeKicker{margin:0 0 13px;color:#759a30;font-size:8px;font-weight:950;letter-spacing:.14em}
.upgradeBody h2{max-width:650px;margin:0;font-size:clamp(38px,4.3vw,58px);line-height:.96;letter-spacing:-.055em}
.upgradeBody h2 strong{color:#759a30}
.upgradeCopy{max-width:690px;margin:19px 0;color:#626a64;font-size:13px;line-height:1.65}
.upgradeMiniBooks{height:105px;display:flex;align-items:flex-end;margin:23px 0 20px;padding-left:6px;overflow:hidden}
.upgradeMiniBooks img{width:68px;height:101px;object-fit:contain;background:#deded4;margin-left:-10px;border:2px solid #f2f0e8;filter:drop-shadow(0 9px 7px rgba(0,0,0,.2));transform:rotate(-3deg)}
.upgradeMiniBooks img:nth-child(even){transform:rotate(3deg) translateY(-3px)}
.upgradeMiniBooks img:first-child{margin-left:0}
.upgradePrice{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:18px 0;border-top:1px solid rgba(17,23,19,.15);border-bottom:1px solid rgba(17,23,19,.15)}
.upgradePrice>div{display:flex;flex-direction:column}.upgradePrice small{font-size:7px;font-weight:950;letter-spacing:.12em;color:#737b75}.upgradePrice del{font-size:22px;margin-top:4px;text-decoration-color:#759a30}.upgradePrice>span{font-size:8px;color:#759a30;font-weight:950}.upgradePrice>div:last-child{align-items:flex-end}.upgradePrice strong{display:flex;align-items:flex-start;gap:2px;font-size:51px;line-height:.9;letter-spacing:-.07em}.upgradePrice sup{font-size:14px;line-height:1;margin-top:6px;letter-spacing:0}.upgradePrice sub{font-size:21px;line-height:1;margin-top:23px}
.upgradeAccept{margin-top:20px;min-height:72px;background:#a8d94c;color:#0a100c;padding:13px 22px;display:flex;align-items:center;justify-content:space-between;gap:25px;box-shadow:0 15px 32px rgba(117,154,48,.2);transition:.2s transform,.2s box-shadow}
.upgradeAccept:hover{transform:translateY(-2px);box-shadow:0 19px 38px rgba(117,154,48,.3)}
.upgradeAccept span{font-size:9px;font-weight:950;letter-spacing:.1em}.upgradeAccept b{font-size:12px;text-align:right}.upgradeTrust{display:flex;justify-content:center;gap:20px;margin:15px 0;color:#687069;font-size:8px}.upgradeDecline{display:block;text-align:center;color:#737a75;font-size:9px;text-decoration:underline;text-underline-offset:4px;padding:7px;transition:.2s color}.upgradeDecline:hover{color:#111713}
@media(max-width:640px){.upgradeModal{padding:10px}.upgradeDialog{max-height:calc(100vh - 20px)}.upgradeRibbon{padding:12px 45px 12px 14px;font-size:7px;text-align:left}.upgradeClose{right:8px;top:7px;width:34px;height:34px}.upgradeBody{padding:28px 18px 22px}.upgradeBadge{position:static;justify-content:flex-end;margin-bottom:13px}.upgradeBadge strong{font-size:39px}.upgradeKicker{max-width:270px}.upgradeBody h2{font-size:36px}.upgradeCopy{font-size:11px;margin:15px 0}.upgradeMiniBooks{height:82px;margin:16px 0}.upgradeMiniBooks img{width:51px;height:78px;margin-left:-8px}.upgradePrice{gap:10px}.upgradePrice del{font-size:17px}.upgradePrice strong{font-size:42px}.upgradePrice sub{margin-top:19px}.upgradeAccept{min-height:76px;align-items:flex-start;flex-direction:column;gap:5px}.upgradeAccept b{text-align:left;font-size:10px}.upgradeTrust{gap:9px;flex-wrap:wrap}.upgradeDecline{font-size:8px;line-height:1.5}}
