:root{
  --magenta:#BC3B78; --magenta-d:#A3306A; --pink:#E89BB9; --blush:#FAE6EC; --blush2:#FDF1F5; --cream:#FBF8F6;
  --ink:#3A3531; --body:#4A443E; --mute:#8A8078; --mauve:#A98D94;
  --line:#ECE2DC; --line2:#F0EAE5; --pinkline:#F0C4D5; --err:#B42318;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);font-family:'Montserrat',system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a:focus-visible,button:focus-visible,input:focus-visible,label:focus-within{outline:3px solid var(--pink);outline-offset:3px}
.serif{font-family:'Cormorant Garamond',Georgia,serif}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--magenta)}
.eyebrow.mute{color:var(--mauve)}

/* Top progress strip on upsell pages */
.strip{background:var(--blush);text-align:center;padding:12px 16px;font-size:13px;font-weight:600;color:var(--ink)}
.strip b{color:var(--magenta)}
.steps{display:flex;justify-content:center;gap:6px;margin-top:8px}
.steps i{display:block;width:34px;height:4px;border-radius:4px;background:#fff}
.steps i.on{background:var(--magenta)}

/* Offer card */
.wrap{max-width:640px;margin:0 auto;padding:36px 16px 70px}
.offer{background:#fff;border:1.5px solid var(--line);border-radius:22px;overflow:hidden}
.offer .pic{background:var(--blush2);padding:18px}
.offer .pic img{width:100%;border-radius:14px}
.offer .in{padding:30px 32px 32px}
.offer h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:38px;line-height:1.08;margin:10px 0 0;color:var(--ink)}
.offer .tag{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:600;font-size:22px;color:var(--magenta);margin-top:8px;line-height:1.25}
.offer p{font-size:16px;line-height:1.62;color:var(--body);margin:16px 0 0}
.offer p strong{color:var(--ink)}
.checks{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.5;color:var(--body)}
.checks li:before{content:"";flex:none;width:20px;height:20px;margin-top:1px;border-radius:50%;background:var(--blush) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23BC3B78' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.was{margin-top:22px;padding:14px 18px;border-radius:14px;background:var(--blush2);border:1.5px solid var(--pinkline);font-size:15px;line-height:1.5;color:var(--ink);font-weight:600}
.was s{color:var(--mauve);font-weight:500}
.total{margin-top:24px;border-top:1.5px solid var(--line);padding-top:16px}
.total .row{display:flex;justify-content:space-between;font-size:14px;color:var(--mute);padding:3px 0}
.total .due{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px}
.total .due span:first-child{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:24px;color:var(--ink)}
.total .due span:last-child{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:28px;color:var(--ink)}
.fine{font-size:12.5px;color:var(--mute);margin-top:6px;line-height:1.5}

.btn{display:block;width:100%;border:0;cursor:pointer;background:var(--magenta);color:#fff;text-decoration:none;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:18px 22px;border-radius:999px;text-align:center;line-height:1.3}
.btn:hover{background:var(--magenta-d)}
.btn[disabled]{opacity:.65;cursor:wait}
.yes{margin-top:24px}
.no{display:block;text-align:center;margin-top:16px;font-size:14px;color:var(--mauve);text-decoration:underline;text-underline-offset:3px}
.no:hover{color:var(--ink)}
.msg{display:none;margin-top:14px;padding:12px 14px;border-radius:12px;background:#FEF3F2;color:var(--err);font-size:14px;line-height:1.45}
.msg.show{display:block}
.secure{text-align:center;margin-top:18px;font-size:12px;color:var(--mute)}

footer{text-align:center;padding:0 16px 40px;font-size:12px;color:var(--mauve);line-height:1.7}
footer a{color:var(--mauve)}

@media (max-width:600px){
  .wrap{padding:22px 12px 50px}
  .offer .in{padding:24px 20px 26px}
  .offer h1{font-size:30px}
  .offer .tag{font-size:20px}
  .offer .pic{padding:12px}
}
.pains{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.pains li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.5;color:var(--body)}
.pains li:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--pink);margin-top:8px}
[hidden]{display:none !important}
