.redeem-main { max-width:760px; padding-block:2.5rem 4rem; }
.redeem-main h1 { font-size:clamp(1.8rem,4vw,2.8rem); }
.intro { font-size:1.1rem; }
.notice { border-left:3px solid var(--brand); padding:.7rem 1rem; background:var(--wash); }
.step { border:1px solid var(--line); border-radius:12px; padding:clamp(1.2rem,4vw,2rem); margin:1.5rem 0; }
.step h2 { margin:0 0 1rem; }
.step label { display:block; font-weight:700; margin-bottom:.4rem; }
.step input,.step textarea { display:block; width:100%; box-sizing:border-box; font:inherit; padding:.7rem .8rem; margin:0 0 1rem; border:1px solid var(--line); border-radius:6px; color:var(--ink); background:var(--ground); }
#code { text-transform:uppercase; }
#license-key { font-family:monospace; font-size:.82rem; overflow-wrap:anywhere; }
.step .btn { margin:.25rem .3rem .25rem 0; }
.fine { font-size:.9rem; color:var(--muted); }
.success { border-color:var(--brand); }
#message { min-height:1.8em; overflow-wrap:anywhere; }
.help { margin-top:2rem; border-top:1px solid var(--line); padding-top:1rem; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
[hidden] { display:none !important; }
button:disabled { opacity:.55; cursor:wait; }
input:focus-visible,textarea:focus-visible,button:focus-visible,select:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
