:root{--wine:#4b0f24;--deep:#2b0715;--ivory:#f8f3ea;--cream:#efe4d5;--gold:#bd9a66;--ink:#261d1d;--white:#fffdf8;--serif:"Iowan Old Style","Baskerville","Times New Roman",serif;--sans:"Avenir Next","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:1rem/1.6 var(--sans)}button,input{font:inherit}.skip-link{position:fixed;top:-5rem;left:1rem;background:var(--white);color:var(--wine);padding:.7rem;z-index:5}.skip-link:focus{top:1rem}.account-header{height:5.5rem;padding:0 clamp(1.2rem,5vw,4rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #4b0f2427;background:#fffdf8ed;position:sticky;top:0;z-index:3;backdrop-filter:blur(15px)}.brand{font:400 1.7rem/1 var(--serif);letter-spacing:.18em;color:var(--deep);text-decoration:none}.account-header>a:last-child,footer>a:last-child{color:var(--wine);font-size:.82rem}
main{width:min(69rem,calc(100% - 2.4rem));margin:auto;padding:clamp(3.5rem,8vw,7rem) 0}.account-intro{max-width:48rem;margin-bottom:2.5rem}.chapter{text-transform:uppercase;letter-spacing:.19em;color:var(--wine);font-size:.68rem;font-weight:700}.account-intro h1{font:400 clamp(4rem,12vw,8rem)/.88 var(--serif);color:var(--deep);margin:.08em 0 .18em}.account-intro>p:last-child{font:1.25rem/1.55 var(--serif);max-width:39rem}.account-notice{min-height:1.5rem;color:var(--wine);font-weight:600}.sign-in-card,.verify-card{display:grid;grid-template-columns:minmax(14rem,1fr) minmax(18rem,1fr);gap:clamp(2rem,6vw,5rem);padding:clamp(1.5rem,5vw,4rem);background:var(--white);border:1px solid #4b0f2430}.sign-in-card h2,.verify-card h2,.reward-terms h2{font:400 clamp(2.3rem,6vw,4.4rem)/1 var(--serif);color:var(--deep);margin:.2em 0}.sign-in-card form,.verify-card form{display:grid;gap:1.2rem;align-content:start}.sign-in-card label:not(.consent),.verify-card label{display:grid;gap:.4rem;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.sign-in-card input[type=email],.verify-card input{width:100%;border:1px solid #4b0f2460;background:var(--ivory);padding:1rem;font:1rem var(--sans);text-transform:none;letter-spacing:0}.verify-card input{font-size:1.5rem;letter-spacing:.35em}.consent{display:grid;grid-template-columns:1.2rem 1fr;gap:.75rem;align-items:start;font-size:.78rem}.consent input{width:1.1rem;height:1.1rem;margin:.2rem 0}.sign-in-card button,.verify-card button,.account-details button{border:1px solid var(--wine);background:var(--wine);color:var(--white);padding:1rem 1.3rem;cursor:pointer}.privacy-note{grid-column:2;font-size:.75rem;color:#6e5d5e;margin:0}.text-button{border:0!important;background:transparent!important;color:var(--wine)!important;text-decoration:underline;padding:.4rem 0!important;cursor:pointer;justify-self:start}
.wallet{display:grid;gap:2rem}.wallet-heading{display:flex;justify-content:space-between;align-items:end}.wallet-heading h2{font:400 clamp(2.5rem,6vw,4.6rem)/1 var(--serif);margin:.1em 0;color:var(--deep)}.wallet-heading p{margin:.2rem 0}.stamp-card{position:relative;overflow:hidden;padding:clamp(2rem,7vw,5rem);background:var(--cream);border:1px solid #4b0f2440;text-align:center;box-shadow:0 1.7rem 4rem #2b071519}.stamp-card:before{content:"S";position:absolute;right:-.05em;top:-.28em;font:20rem var(--serif);color:#4b0f2408;pointer-events:none}.reward-name{position:relative;font:400 clamp(2.2rem,7vw,4.5rem)/1 var(--serif);letter-spacing:.1em;color:var(--wine);margin:0}.reward-line{text-transform:uppercase;letter-spacing:.26em;font-size:.7rem}.stamps{position:relative;display:flex;justify-content:center;gap:clamp(.6rem,2.5vw,1.7rem);margin:2rem 0}.stamp{width:clamp(3rem,10vw,5.6rem);aspect-ratio:1;border:2px solid var(--wine);border-radius:50%;display:grid;place-items:center;color:transparent}.stamp.filled{background:var(--wine);color:var(--gold);font:2rem var(--serif);box-shadow:inset 0 0 0 5px var(--cream),inset 0 0 0 7px var(--wine)}.reward-choice{position:relative;border-top:1px solid #4b0f2440;margin-top:2rem;padding-top:1.5rem;display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center}.reward-choice strong{grid-column:1/-1;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem}.reward-choice span{font:1.15rem var(--serif);color:var(--wine)}.reward-choice em{font-family:var(--serif)}
.earned-rewards,.account-details,.reward-terms{padding:clamp(1.5rem,4vw,3rem);border:1px solid #4b0f2430;background:var(--white)}.earned-rewards h3{font:2rem var(--serif);color:var(--deep);margin-top:0}.reward-item{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #4b0f2424;padding:1rem 0}.reward-item p{margin:0}.reward-item select{padding:.55rem;background:var(--ivory);border:1px solid #4b0f2440}.empty{color:#6e5d5e}.account-details summary{font:1.35rem var(--serif);cursor:pointer;color:var(--deep)}.account-details button{margin:.7rem .7rem 0 0}.account-details .danger{background:transparent;color:#8c1c2b}.reward-terms{margin-top:clamp(4rem,8vw,7rem);display:grid;grid-template-columns:1fr 1.25fr;gap:2rem}.reward-terms .chapter{grid-column:1/-1}.reward-terms h2{margin:0}.reward-terms ul{margin:0;padding-left:1.2rem}.reward-terms li+li{margin-top:.65rem}footer{background:var(--deep);color:var(--cream);min-height:11rem;padding:2.5rem clamp(1.2rem,5vw,4rem);display:flex;align-items:center;justify-content:space-between;gap:1rem}footer .brand{color:var(--white)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}
@media(max-width:700px){.account-header{height:4.7rem}.brand{font-size:1.35rem}.sign-in-card,.verify-card,.reward-terms{grid-template-columns:1fr}.privacy-note{grid-column:1}.wallet-heading{align-items:start;flex-direction:column}.stamps{gap:.45rem}.stamp{width:17vw;max-width:4.4rem}.reward-choice{grid-template-columns:1fr}.reward-choice strong{grid-column:1}.reward-choice em{margin:-.7rem 0}.reward-item{align-items:flex-start;flex-direction:column}footer{align-items:flex-start;flex-direction:column}.account-intro h1{font-size:clamp(3.6rem,19vw,5.5rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
