:root{--text:#182b32;--muted:#62737a;--forest:#176959;--forest-dark:#105243;--line:#dfe8e6;--soft:#f7f8f5;--mint:#e5f1eb;--radius:20px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--soft);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text)}a{color:var(--forest)}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.65;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #c17d2c;outline-offset:3px}.purchase-head{max-width:1200px;margin:auto;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px}.purchase-head>span{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:13px}.purchase-brand{text-decoration:none;font-size:30px;color:#153b33;font-weight:850;letter-spacing:-1.8px}.purchase-brand span{color:#e4aa45}.purchase-wrap{width:min(1160px,calc(100% - 48px));margin:34px auto 50px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.8fr);gap:28px;align-items:start}.purchase-main{background:#fff;border:1px solid var(--line);box-shadow:0 22px 70px #13382b10;border-radius:27px;padding:45px}.purchase-topline,.step-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.6px;color:var(--forest)}h1{font-size:clamp(30px,3.5vw,46px);letter-spacing:-1.65px;line-height:1.12;margin:14px 0}h2{font-size:24px;letter-spacing:-.7px;line-height:1.2;margin:10px 0}.purchase-lead,.purchase-step-head p{color:var(--muted);margin:12px 0 20px}.stepper{display:flex;border-bottom:1px solid var(--line);gap:10px;margin:26px 0 29px;padding-bottom:25px}.step{flex:1;display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);font-weight:680}.step i{display:grid;place-items:center;font-style:normal;flex:0 0 27px;height:27px;border-radius:50%;background:#edf2f0;color:#536e66;font-weight:800}.purchase-screen[data-step=payment] .step:nth-child(1) i,.purchase-screen[data-step=account] .step:nth-child(2) i,.purchase-screen[data-step=otp] .step:nth-child(3) i{background:var(--forest);color:#fff}.purchase-step{display:none}.purchase-screen[data-step=payment] [data-panel=payment],.purchase-screen[data-step=account] [data-panel=account],.purchase-screen[data-step=otp] [data-panel=otp],.purchase-screen[data-step=complete] [data-panel=complete]{display:block}.payment-total{display:flex;justify-content:space-between;gap:16px;background:#f0f7f3;padding:18px 20px;border-radius:14px;margin:20px 0;align-items:center}.payment-total strong:last-child{font-size:27px;letter-spacing:-1px;color:var(--forest)}.payment-total small{display:block;margin-top:3px;color:var(--muted)}.payment-total div strong{font-size:15px}.primary-action{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;padding:16px 24px;text-align:center;border:0;border-radius:12px;background:var(--forest);color:#fff;text-decoration:none;font-weight:790;font-size:16px;transition:background .2s,transform .2s}.primary-action:hover{background:var(--forest-dark);transform:translateY(-1px)}.subtle-action{background:transparent;border:0;color:var(--forest);text-decoration:underline;display:block;margin:18px auto;font-weight:650;padding:5px}.micro{font-size:12px;color:var(--muted);line-height:1.65}.micro a{font-weight:650}.status{margin:14px 0;padding:13px 16px;border-radius:12px;font-size:14px;line-height:1.4}.status.warning{background:#fff3e8;color:#72421c}.status.okay{background:#e8f5eb;color:#185b3e}.payment-verified{color:#176346;background:#e4f5e9;border:1px solid #c2e6d2;font-weight:780;padding:14px 16px;border-radius:12px;font-size:13px;margin-bottom:20px}.purchase-form{display:grid;gap:15px}.purchase-form label{display:block;font-weight:680;font-size:13px;color:#273c42}.purchase-form label small{color:#839092;font-weight:500}.purchase-form input:not([type=checkbox]){width:100%;border:1px solid #cfdad7;background:#fff;border-radius:10px;padding:13px 14px;margin-top:7px;color:var(--text);font-size:15px;min-width:0}.two-inputs{display:grid;grid-template-columns:1fr 1fr;gap:13px}.purchase-form .check-line{display:flex;gap:10px;font-size:12px;font-weight:480;align-items:start;line-height:1.4}.check-line input{margin-top:2px;accent-color:var(--forest)}.check-line a{font-weight:650}.purchase-form .primary-action{margin-top:6px}.already-user{border-top:1px solid var(--line);margin-top:25px;padding-top:18px}.already-user strong{font-size:14px}.already-user p{font-size:13px;color:var(--muted);margin:6px 0}.help-foot{font-size:13px;margin:30px 0 0;color:var(--muted);padding-top:20px;border-top:1px dashed var(--line)}.purchase-aside{border:1px solid var(--line);background:#fff;border-radius:25px;overflow:hidden;box-shadow:0 18px 55px #13382b09}.mini-art{height:210px;background:#c6e9de}.mini-art img{width:100%;height:100%;object-fit:cover}.aside-pad{padding:30px}.aside-pad h2{font-size:26px}.aside-pad ul{padding:0;list-style:none;margin:25px 0}.aside-pad li{position:relative;padding:0 0 14px 27px;font-size:14px}.aside-pad li:before{content:'✓';position:absolute;left:0;top:0;color:var(--forest);font-weight:900}.aside-seal{border-radius:13px;background:var(--mint);padding:14px 12px;font-size:12px;font-weight:800;color:#19573f}.purchase-footer{display:flex;gap:10px;justify-content:space-between;color:#71807c;max-width:1160px;margin:0 auto 32px;padding:0 24px;font-size:12px}.purchase-footer a{color:inherit}.recovery-card{background:#fff;border:1px solid var(--line);border-radius:24px;max-width:550px;margin:45px auto 80px;padding:40px;box-shadow:0 18px 60px #13382b12}.recovery-card>p{color:var(--muted)}.recovery-card #purchase-recovery-otp{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}[hidden]{display:none!important}@media(max-width:870px){.purchase-wrap{grid-template-columns:1fr;max-width:620px}.purchase-main{padding:30px}.purchase-aside{display:none}}@media(max-width:540px){.purchase-head{padding:16px}.purchase-head>span{font-size:11px}.purchase-wrap{width:calc(100% - 20px);margin:8px auto 32px}.purchase-main{padding:24px 19px;border-radius:20px}h1{font-size:30px}.stepper{gap:5px}.step{gap:5px;font-size:10px}.step i{flex-basis:22px;height:22px}.two-inputs{grid-template-columns:1fr}.purchase-footer{flex-direction:column;align-items:center}.recovery-card{margin:10px;padding:24px;border-radius:18px}}

/* Email-first checkout / simple password setup. */
#purchase-email-form{gap:3px;margin:15px 0 6px}#purchase-email-form label{font-size:14px}#purchase-email-form input{font-size:16px;min-height:49px}.email-help{color:var(--muted);font-size:12px;line-height:1.6;margin:5px 0 13px}.fixed-purchase-email{border:1px solid #b8ddca;background:#edf7f1;border-radius:12px;padding:17px 19px;margin:8px 0 22px;overflow-wrap:anywhere}.fixed-purchase-email span,.fixed-purchase-email strong,.fixed-purchase-email small{display:block}.fixed-purchase-email span{font-size:10px;letter-spacing:1.2px;font-weight:800;color:#447a66}.fixed-purchase-email strong{font-size:17px;color:#174d3d;margin:4px 0}.fixed-purchase-email small{font-size:11px;color:#557768}

.purchase-screen[data-step=complete] .step:nth-child(3) i{background:var(--forest);color:#fff}

/* Full-screen verification state, shown only after checkout or an explicit status check. */
.payment-progress{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:24px;background:#f7f8f5;color:var(--text);overflow:auto;z-index:2147483647}
.payment-progress[open]{display:grid;place-items:center}
.payment-progress::backdrop{background:#f7f8f5}
body.payment-progress-open{overflow:hidden}
.payment-progress-card{width:min(100%,430px);margin:auto;text-align:center;padding:38px 25px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 22px 70px #13382b10}
.payment-progress-brand{display:block;font-size:32px;font-weight:850;letter-spacing:-1.8px;color:#153b33;margin-bottom:30px}
.payment-progress-brand span{color:#e4aa45}
.payment-progress-spinner{width:54px;height:54px;margin:0 auto 26px;border:4px solid #e0ede6;border-top-color:var(--forest);border-radius:50%;animation:payment-progress-spin .85s linear infinite}
.payment-progress-card h2{font-size:25px;line-height:1.25;margin:0 0 14px}
.payment-progress-card p{color:var(--muted);font-size:15px;line-height:1.65;margin:0 0 18px;overflow-wrap:anywhere}
.payment-progress-card .payment-progress-note{font-size:12px;margin:22px 0 0}
.payment-progress-card .primary-action{margin-top:24px}
.payment-progress-help{font-size:12px;line-height:1.6;margin-top:22px}
.payment-progress[aria-busy=false] .payment-progress-card{border-color:#c9ded2}
@keyframes payment-progress-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.payment-progress-spinner{animation:none;border-top-color:var(--forest);border-right-color:var(--forest)}}
@media(max-width:420px){.payment-progress{padding:16px}.payment-progress-card{padding:30px 20px}.payment-progress-card h2{font-size:23px}}

/* Keep verified account setup focused on password creation. */
.purchase-screen[data-step=account] .purchase-topline,
.purchase-screen[data-step=account] #purchase-heading,
.purchase-screen[data-step=account] .purchase-lead,
.purchase-screen[data-step=account] .purchase-aside,
.purchase-screen[data-step=account] .help-foot{display:none}
.purchase-screen[data-step=account] .purchase-wrap{grid-template-columns:minmax(0,1fr);max-width:620px}
.purchase-screen[data-step=account] .stepper{margin-top:0;margin-bottom:24px;padding-bottom:22px}
.purchase-screen[data-step=account] .step:first-child i{background:var(--mint);color:var(--forest)}
.account-success{font-size:20px;line-height:1.35;letter-spacing:-.3px;margin:0 0 22px;padding:16px}
.account-signin{text-align:center;font-size:12px;color:var(--muted);margin:20px 0 0}
.account-signin a{font-weight:650}
.purchase-screen[data-step=account] .purchase-form input:not([type=checkbox]){font-size:16px}
@media(max-width:540px){.purchase-screen[data-step=account] .step{flex-direction:column;text-align:center;font-size:11px;gap:7px}.purchase-screen[data-step=account] .step i{flex-basis:auto;width:26px;height:26px}.account-success{font-size:18px}.purchase-screen[data-step=account] .fixed-purchase-email strong{font-size:16px}}
