:root { color-scheme: dark; font-family: Arial, Helvetica, sans-serif; }
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: #0e0e0e; color: #505050; }
.video-section { min-height: calc(100vh - 260px); padding: 20px 10px clamp(300px, 38vw, 500px); }
.player-shell { width: min(940px, 100%); margin: 0 auto; }
.vsl-video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #000; }
.vsl-checkout { display: none; margin: 18px auto 0; border-radius: 7px; background: #e00; padding: 18px 28px; color: #fff; font-size: 20px; font-weight: 800; text-align: center; text-decoration: none; }
.vsl-checkout.visible { display: block; }
.video-error { color: #fff; text-align: center; }
.route-error { width: min(720px, 100%); margin: 80px auto; text-align: center; color: #fff; }
.route-error a { color: #9c3; }
.thank-you { max-width: 720px; margin: 60px auto; padding: 50px 30px; border: 1px solid #282828; border-radius: 12px; background: #151515; color: #eee; text-align: center; }
.thank-you h1 { margin: 8px 0 14px; font-size: clamp(30px, 5vw, 52px); }
.thank-you p { color: #aaa; font-size: 17px; }
.thank-you .eyebrow { color: #9c3; font-size: 12px; font-weight: 700; letter-spacing: .18em; }
.offer-card { max-width: 760px; margin: 35px auto; padding: clamp(30px, 6vw, 65px); border: 1px solid #292929; border-radius: 14px; background: #151515; color: #fff; text-align: center; box-shadow: 0 24px 80px #0008; }
.offer-card h1 { margin: 10px 0 18px; font-size: clamp(32px, 5vw, 56px); line-height: 1.05; }
.offer-card .eyebrow { color: #9c3; font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.offer-copy { max-width: 600px; margin: 0 auto; color: #bbb; font-size: 18px; line-height: 1.55; }
.offer-price { margin: 25px 0; color: #fff; font-size: 42px; font-weight: 800; }
.accept-button { display: block; padding: 18px 24px; border-radius: 8px; background: #e21b1b; color: #fff; font-size: 19px; font-weight: 800; text-decoration: none; box-shadow: 0 7px 0 #8c0e0e; }
.checkout-email { display: block; width: 100%; margin: 0 0 14px; border: 1px solid #444; border-radius: 7px; background: #0d0d0d; padding: 16px; color: #fff; font-size: 16px; }
.accept-button { width: 100%; border: 0; cursor: pointer; }
.accept-button:disabled { opacity: .65; cursor: wait; }
.accept-button:hover { transform: translateY(1px); box-shadow: 0 6px 0 #8c0e0e; }
.decline-link { display: inline-block; margin-top: 26px; color: #888; font-size: 13px; }
.local-note { margin: 25px 0 0; color: #555; font-size: 11px; }
.vsl-decline { display: block; width: max-content; max-width: 100%; margin: 24px auto 0; color: #777; font-size: 13px; text-align: center; }
footer { padding: 40px max(20px, calc((100% - 1100px) / 2)); font-size: 10px; line-height: 1.45; }
footer > p { margin: 0 0 20px; }
.disclaimer p { margin: 0 0 10px; }
@media (max-width: 600px) {
  .video-section { padding: 20px 5px 70vh; }
  footer { padding: 20px 10px; }
}
