.promo-page{max-width:1040px;margin:28px auto 64px;padding:0 16px}.promo-stage{border:1px solid var(--line);background:var(--surface);border-radius:24px;overflow:hidden}.promo-heading{isolation:isolate;color:#fff;background:var(--surface);align-items:flex-end;min-height:400px;padding:36px;display:flex;position:relative}.promo-heading-copy{max-width:530px}.promo-scene{z-index:-1;pointer-events:none;position:absolute;inset:0}.promo-scene img,.promo-scene video{object-fit:cover;object-position:center 46%;width:100%;height:100%;position:absolute}.promo-scene:after{content:"";background:linear-gradient(180deg,#0000000f 0%,color-mix(in srgb,var(--surface) 12%,transparent) 28%,color-mix(in srgb,var(--surface) 40%,transparent) 50%,color-mix(in srgb,var(--surface) 72%,transparent) 72%,color-mix(in srgb,var(--surface) 94%,transparent) 90%,var(--surface) 100%);position:absolute;inset:0}.promo-heading h1{letter-spacing:-.025em;margin:0 0 10px;font-size:clamp(28px,4vw,36px);line-height:1.2}.promo-heading p{color:#eee8f5;margin:0;font-size:15px;line-height:1.5}.promo-card{width:100%;max-width:520px;margin:0 auto;padding:30px 32px 32px}.promo-card form{flex-direction:column;gap:10px;display:flex}.promo-card label{margin-top:12px;font-size:14px;font-weight:700}.promo-card label:first-child{margin-top:0}.promo-card input{width:100%;min-height:48px}.promo-card #promo-code{letter-spacing:.04em;font-family:ui-monospace,monospace}.promo-card small{color:var(--muted);line-height:1.5}.promo-card .promo-field-error{color:#ff9b95}.promo-card form button[type=submit]{justify-content:center;min-height:48px;margin-top:14px}.promo-support{text-align:center;color:var(--muted);margin-top:20px;font-size:14px;line-height:1.5;display:block}.promo-receipt{text-align:center}.promo-receipt-icon{color:#9ae7be;background:#65d4a112;border:1px solid #8fe0bc38;border-radius:50%;place-items:center;width:48px;height:48px;margin-bottom:14px;display:inline-grid}.promo-receipt h2{margin:0;font-size:22px;line-height:1.3}.promo-receipt-amount{color:var(--lemon);font-variant-numeric:tabular-nums;margin:18px 0 22px;font-size:clamp(36px,6vw,44px);font-weight:800;line-height:1.15}.promo-receipt-amount span{color:var(--muted);margin-top:6px;font-size:14px;font-weight:500;display:block}.promo-recipient{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;margin:0 0 22px;padding:15px 0;font-size:14px;display:flex}.promo-recipient dt{color:var(--muted)}.promo-recipient dd{overflow-wrap:anywhere;margin:0;font-weight:700}.promo-receipt>button{justify-content:center;width:100%;min-height:46px}.promo-error{background:color-mix(in srgb,#e16a63 12%,var(--surface));color:#ffaaa4;overflow-wrap:anywhere;border-radius:10px;margin:10px 0 0;padding:12px 14px;font-size:14px;line-height:1.5}dialog#promo-confirm-dialog{width:min(460px,100vw - 32px)}.promo-confirm{padding:30px}.promo-confirm-heading{padding-right:24px}.promo-confirm-icon{border:1px solid color-mix(in srgb,var(--lemon) 22%,transparent);background:color-mix(in srgb,var(--lemon) 8%,transparent);width:46px;height:46px;color:var(--lemon);border-radius:14px;place-items:center;display:inline-grid}.promo-confirm h2{letter-spacing:-.02em;margin:16px 0 22px;font-size:24px;line-height:1.3}.promo-confirm-summary{text-align:center;border:1px solid var(--line);background:var(--soft);border-radius:16px;padding:24px 16px}.promo-confirm-summary>span{color:var(--muted);font-size:13px;display:block}.promo-confirm-summary>strong{overflow-wrap:anywhere;margin-top:6px;font-size:20px;display:block}.promo-confirm-amount{color:var(--lemon);font-variant-numeric:tabular-nums;margin:20px 0 0;font-size:clamp(34px,6vw,42px);font-weight:800;line-height:1.2}.promo-confirm-amount span{color:var(--muted);margin-top:4px;font-size:14px;font-weight:500;display:block}.promo-confirm-note{color:var(--muted);align-items:flex-start;gap:9px;margin:18px 0 0;font-size:13px;line-height:1.55;display:flex}.promo-confirm-note svg{flex:none;margin-top:1px}.promo-confirm footer{grid-template-columns:auto 1fr;gap:10px;margin-top:24px;display:grid}.promo-confirm footer>button{justify-content:center;min-height:46px}@media (max-width:700px){.promo-page{max-width:560px;margin-top:24px}.promo-heading{min-height:320px;padding:28px}.promo-stage{border-radius:22px}.promo-scene img,.promo-scene video{object-position:48% center}}@media (max-width:480px){.promo-page{margin-top:20px;padding:0}.promo-heading{min-height:300px;padding:24px}.promo-card{padding:24px 22px}.promo-confirm{padding:24px 20px}.promo-confirm h2{font-size:22px}.promo-confirm footer{grid-template-columns:1fr}.promo-confirm footer>button:first-child{order:2}.promo-confirm footer>button:last-child{order:1}}
