@font-face{font-family:Fraunces;src:url('/pickup-assets/fonts/fraunces-900.woff2') format('woff2');font-weight:900;font-display:swap}
@font-face{font-family:Fraunces;src:url('/pickup-assets/fonts/fraunces-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Nunito;src:url('/pickup-assets/fonts/nunito-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Nunito;src:url('/pickup-assets/fonts/nunito-700.woff2') format('woff2');font-weight:700;font-display:swap}
html{scroll-behavior:smooth;scroll-padding-top:112px}
.rewards-page{font:400 17px/1.65 Nunito,Arial,sans-serif;color:var(--brown);background:var(--cream)}
.rewards-page main,.rewards-page footer{width:min(1180px,calc(100% - 64px));max-width:none;padding-left:0;padding-right:0}
.rewards-page h1,.rewards-page h2,.rewards-page h3{font-family:Fraunces,Georgia,serif}
.rewards-page h1,.rewards-page h2{font-weight:900;letter-spacing:-.045em}
.rewards-page h1{line-height:1.04;letter-spacing:-.055em}
.rewards-page h2{font-size:clamp(28px,4vw,42px);line-height:1.12}
.rewards-page h3{font-weight:600;letter-spacing:-.025em}
.rewards-page .site-header{max-width:none;padding:0}
.rewards-page .site-header nav{flex-wrap:nowrap;max-width:none}
.rewards-page .site-header .brand img{width:102px;height:65px}
.rewards-page a{color:inherit}
.rewards-page a.order-choice{color:var(--paper)}
.rewards-page .site-nav a.account-choice{background:#00b14f;border-color:#00b14f;color:#102b1a}
.rewards-page .site-nav a.account-choice:hover{background:#00a449;border-color:#00a449}
.rewards-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:center;padding:36px 0 40px}
.rewards-hero h1{font-size:clamp(42px,5.3vw,72px);margin:14px 0 20px}
.rewards-hero em{font-style:normal;color:var(--caramel)}
.rewards-hero .eyebrow{color:var(--caramel);font-size:.78rem;font-weight:700;letter-spacing:.17em}
.rewards-hero .lead{font-size:1.12rem;color:var(--muted);max-width:430px;margin:0 0 24px}
.hero-art{min-width:0}.hero-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:84% center;border-radius:28px}
.hero-signin{max-width:430px}.hero-signin label{font-size:14px}.hero-signin button{width:100%;margin-top:12px}.hero-signin .small{margin:10px 0 0;font-size:12px}
.section-space{padding:28px 0}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-top:1px solid var(--line)}
.steps h2{font-size:27px;margin:12px 0}.steps p{font-size:15px;color:var(--muted);margin:0}
.rewards-page .card{background:var(--paper);border-color:var(--line);border-radius:19px}
.rewards-page .balance-card{background:var(--tan)}.rewards-page .green{background:#f0dfc6}
.rewards-page button,.rewards-page .button{font-weight:700;background:var(--brown);color:var(--paper);border-color:var(--brown);border-radius:100px;min-height:48px;padding:12px 22px}
.rewards-page button:hover:not(:disabled),.rewards-page .button:hover{background:#67402a}
.rewards-page button.secondary{background:var(--paper);color:var(--brown)}
.rewards-page a.button{color:var(--paper)}
.rewards-page input,.rewards-page select{border-color:var(--line);color:var(--brown);background:var(--paper)}
.rewards-page .small,.rewards-page small{color:var(--muted)}
.member-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0}
.member-heading h1{font-size:clamp(38px,6vw,58px)}#member-email{overflow-wrap:anywhere}
.account-tabs{display:flex;gap:10px;margin:0 0 26px;flex-wrap:wrap}
.account-tabs a{padding:8px 16px;border:1px solid var(--line);border-radius:25px;background:var(--paper);text-decoration:none;font-size:14px;font-weight:700}
.balance{font-size:80px}.member-guide summary{font-size:16px}.member-guide .grid{margin-top:24px}.member-guide h3{font-size:24px}.member-guide p{font-size:15px}
.reward-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:22px;align-items:stretch}
.rewards-page .reward-card{padding:0;overflow:hidden;display:flex;flex-direction:column;margin:0;min-width:0}
.reward-card > img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;flex:none;background:var(--tan)}
.reward-body{padding:22px;display:flex;flex-direction:column;flex:1}.reward-body h3{font-size:24px}.reward-body button{margin-top:auto;width:100%}.reward-body .small{margin-bottom:15px}
.claim-panel{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:28px}#claim-code{text-transform:uppercase;letter-spacing:.14em}
#vouchers .row{border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--paper)}
#activity .row{display:grid;grid-template-columns:100px 1fr;gap:8px 20px}#activity small{grid-column:2}
.rewards-page footer{display:block;text-align:center;border-color:var(--line);color:var(--muted);font-size:13px;padding-block:28px}.rewards-page footer p{margin:8px 0 0}.rewards-page footer a{text-underline-offset:3px}
.terms-page{max-width:850px!important}.terms-page h1{font-size:clamp(38px,6vw,64px)}.terms-page .card{background:transparent;border-width:0 0 1px;border-radius:0;padding:25px 0}
#redeem-dialog{background:var(--paper);color:var(--brown);border:1px solid var(--line);border-radius:24px;padding:30px;max-width:440px;width:calc(100% - 36px)}#redeem-dialog::backdrop{background:#482b1c99}.dialog-close{float:right;padding:4px 12px!important}
.rewards-page :focus-visible{outline:3px solid var(--caramel);outline-offset:4px}button:disabled{cursor:not-allowed}
@media(max-width:850px){.rewards-page .site-header .brand img{width:82px;height:52px}.rewards-page .site-header nav{gap:10px}.rewards-page main,.rewards-page footer{width:calc(100% - 36px)}html{scroll-padding-top:96px}.rewards-hero{gap:28px}}
@media(max-width:700px){.rewards-page{font-size:16px}.rewards-hero{grid-template-columns:1fr;gap:28px;padding:18px 0 30px}.rewards-hero h1{font-size:clamp(38px,9vw,58px)}.rewards-hero .lead{max-width:430px}.hero-art{width:100%;max-width:430px;margin:auto}.hero-art img{aspect-ratio:1.2;border-radius:22px}.hero-signin{max-width:none}.steps{grid-template-columns:1fr;gap:22px}.steps h2{font-size:27px}.member-heading{align-items:start;flex-direction:column}.claim-panel{grid-template-columns:1fr;gap:18px}.reward-body{padding:20px}.rewards-page .site-header nav{gap:8px}.rewards-page .site-header nav .order-choice{font-size:12px;padding:12px 14px}}
@media(max-width:480px){.rewards-page .site-header .brand img{width:69px;height:45px}.rewards-page .site-header nav .order-choice{font-size:11px;padding:11px 10px}#activity .row{grid-template-columns:75px 1fr;gap:8px 12px}}
@media(max-width:350px){.rewards-page .site-header nav .order-choice{font-size:10px;padding:10px 7px}.rewards-page .site-header .brand img{width:58px;height:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* A focused member wallet: balance, claim, gifts. Help stays in its dialog. */
.member-heading{padding:4px 0 20px}.member-heading .eyebrow{margin-bottom:6px}#member-email{font-size:13px;margin:0;color:var(--muted)}.member-heading button{min-height:42px;font-size:13px;padding:8px 16px}
.balance-card{padding:30px!important}.balance-top{display:flex;align-items:start;justify-content:space-between;gap:18px}.balance-top h1{font-size:28px;margin:0 0 8px}.balance{font-size:clamp(66px,9vw,90px);letter-spacing:-.05em}.balance .beans-icon{width:.48em;height:.48em;vertical-align:0;letter-spacing:0}.bean-amount{white-space:nowrap}.rewards-page #account-nav{text-transform:none}.rewards-page .icon-button,.rewards-page .info-button{width:40px;height:40px;min-height:40px;flex:none;padding:0!important;display:grid;place-items:center;font-size:22px;line-height:1}.rewards-page .info-button{font-family:Arial,sans-serif;font-size:24px;border-color:var(--line);background:transparent}
.reward-progress{max-width:600px;margin:22px 0}.reward-progress label{font-size:16px;margin:0 0 10px}.reward-progress progress{display:block;width:100%;height:9px;border:0;border-radius:20px;overflow:hidden;appearance:none;background:#fffaf2}.reward-progress progress::-webkit-progress-bar{background:#fffaf2;border-radius:20px}.reward-progress progress::-webkit-progress-value{background:var(--brown);border-radius:20px}.reward-progress progress::-moz-progress-bar{background:var(--brown);border-radius:20px}.reward-progress p{font-size:13px;margin:8px 0;color:var(--muted)}
.member-primary-actions{display:flex;gap:10px;flex-wrap:wrap}.rewards-page a.button.secondary-link{background:var(--paper);color:var(--brown);border:1px solid var(--brown)}.rewards-page a.button.secondary-link:hover{background:var(--cream)}.earning-strip{margin-top:24px;border-top:1px solid #482b1c25;padding-top:14px;display:flex;flex-wrap:wrap;gap:6px 24px;font-size:13px;color:var(--muted)}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-title h2{margin:0;font-size:30px}.claim-panel{align-items:center;margin-top:22px}.claim-panel form label{font-size:13px;margin-top:0}.claim-fields{display:flex;gap:10px}.claim-fields input{min-width:0}.claim-fields button{margin:0;white-space:nowrap;font-size:14px;padding:10px 18px}.gift-code-card{border:1px dashed var(--caramel);border-radius:18px;padding:24px;background:var(--paper)}.gift-code-card h3{font-size:26px;margin:12px 0}.gift-state{display:inline-block;border-radius:20px;padding:4px 10px;background:#dcebd8;color:#274822;font-size:12px;font-weight:700}.gift-code-card .code{font-size:29px}.gift-code-card button{font-size:13px;min-height:40px;padding:8px 16px}.activity-panel{margin-top:28px}.activity-panel summary{font-size:15px}.activity-panel[open] summary{margin-bottom:16px}
#rewards-help{background:var(--paper);color:var(--brown);border:1px solid var(--line);border-radius:24px;padding:28px;width:min(700px,calc(100% - 32px));max-height:85dvh;overflow:auto}#rewards-help::backdrop{background:#482b1c99}#rewards-help h2{font-size:34px;margin:12px 0 24px}#rewards-help h3{font-size:23px;margin:24px 0 8px}#rewards-help p{font-size:15px;margin:8px 0}#rewards-help>a{font-size:14px;display:inline-block;margin-top:16px}
@media(max-width:700px){.balance-card{padding:24px!important}.member-heading{gap:12px;flex-direction:row;align-items:center}.member-heading .actions{gap:8px}.member-heading .eyebrow{font-size:10px}#member-email{font-size:12px;max-width:210px}.member-primary-actions{display:grid;grid-template-columns:1fr 1fr}.member-primary-actions .button{font-size:14px;padding:12px 10px;text-align:center}.claim-panel{gap:18px}.section-title h2{font-size:29px}.claim-fields button{font-size:13px;padding:10px 14px}.reward-progress label{font-size:15px}.earning-strip{display:grid;font-size:12px}}

#progress-label{font-weight:700;font-size:16px;margin-bottom:10px}.bean-progress{width:100%;height:9px;border-radius:20px;overflow:hidden;background:var(--paper)}#bean-progress-fill{display:block;height:100%;border-radius:inherit;background:var(--brown);width:0}
@media(min-width:701px){.balance-card{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:16px 40px}.balance-top{grid-row:1/3}.balance-card .reward-progress{margin:6px 0 0;align-self:end}.balance-card .earning-strip{grid-column:1/-1;margin-top:6px}.balance-card .member-primary-actions{align-self:start}}

.multiplier-guide figure{margin:20px 0}.multiplier-guide figure>img{display:block;width:100%;height:auto;max-width:400px;margin-inline:auto}.multiplier-guide figcaption{font-size:12px;color:var(--muted);margin-top:10px}.reward-body .beans-icon{width:1em;height:1em;aspect-ratio:1;display:inline;object-fit:contain;background:transparent}.reward-body button .beans-icon{background:var(--paper);border-radius:50%}

@media(max-width:480px){#rewards-help{padding:18px;width:calc(100% - 24px)}#rewards-help h2{font-size:28px;margin-top:6px;margin-bottom:16px}.multiplier-guide figure{margin:0 0 20px}}

#rewards-help>form .dialog-close{position:absolute;right:18px;top:18px;float:none}#rewards-help h2{padding-right:48px}

.help-dismiss{margin-top:20px}.help-dismiss button{width:100%}

.tier-summary{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:12px}.tier-badge{display:inline-flex;align-items:center;min-height:32px;padding:5px 16px;border:1px solid #765436;border-radius:30px;color:#352217;font-size:14px;font-weight:700;letter-spacing:0;box-shadow:inset 0 1px 0 #fff9,0 2px 5px #482b1c12}.tier-bronze{background:linear-gradient(125deg,#f7e5d4,#dcb58d);border-color:#b68556;color:#482b1c}.tier-silver{background:linear-gradient(125deg,#f4f4f3,#d2d5d8);border-color:#a9adb4;color:#482b1c}.tier-gold{background:linear-gradient(125deg,#faf0c9,#e4cb79);border-color:#b89939;color:#482b1c}.tier-titanium{background:linear-gradient(125deg,#e8edf2,#a8b3c1);border-color:#778796;color:#482b1c}#tier-boost{font-size:12px;color:var(--brown);letter-spacing:0}.reward-body button:disabled{opacity:1;background:#ead9c5;color:#654b39;border-color:#c8ad91}.terms-page table{width:100%;font-size:14px}.terms-page th,.terms-page td{overflow-wrap:anywhere}

.bonus-offer{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap;font-size:13px;line-height:1.5}.bonus-offer[hidden]{display:none}.bonus-offer strong{color:var(--brown)}#first-claim-offer{display:block;margin:10px 0 0;color:var(--muted)}#first-claim-offer[hidden]{display:none}#first-claim-offer strong,#first-claim-offer>span{display:block}.flash-offer{grid-column:1/-1;border:1px solid #aec3a0;border-radius:12px;background:#edf3e3;padding:10px 14px}.bonus-label{font-size:12px;white-space:nowrap;letter-spacing:.04em}.bonus-example{background:var(--tan);padding:12px 14px;border-radius:10px}.claim-intro{min-width:0}

/* Compact signed-in wallet and claim flow. */
.member-heading .eyebrow{font:900 30px/1.12 Fraunces,Georgia,serif;letter-spacing:-.035em;text-transform:none;color:var(--brown)}
.member-overview{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:22px;align-items:stretch}
.rewards-page .balance-card,.rewards-page .claim-panel{margin:0;background:var(--paper);border-radius:20px}
.balance-card{display:block!important;padding:24px!important}.balance-card .balance-top{align-items:flex-start}.balance-card .reward-progress{margin:22px 0 0;max-width:none}.balance-card .flash-offer{margin-top:18px}
.balance-top h1{font-size:30px}.balance{font-size:clamp(58px,7vw,76px)}
.bean-progress{background:var(--tan)}
.tier-summary{font-size:13px;font-weight:700}.rewards-page button.tier-badge{width:auto;height:auto;min-height:34px;margin:0;padding:5px 15px;border-radius:999px;font:700 14px/1.3 Nunito,Arial,sans-serif;cursor:pointer}
.rewards-page button.tier-bronze{background:linear-gradient(145deg,#f4d5b5 0%,#b87333 48%,#e4ae78 72%,#8d4f24 100%);border-color:#8d4f24;color:#3a2115;box-shadow:inset 0 1px 0 #fff9,0 3px 8px #6b351e33}
.rewards-page button.tier-silver{background:linear-gradient(145deg,#fff 0%,#b8bdc3 45%,#eef0f2 70%,#8d949c 100%);border-color:#8d949c;color:#272b30;box-shadow:inset 0 1px 0 #fff,0 3px 8px #4b515833}
.rewards-page button.tier-gold{background:linear-gradient(145deg,#fff2a8 0%,#d6a72d 46%,#f4dc75 70%,#9d7414 100%);border-color:#9d7414;color:#3c2a08;box-shadow:inset 0 1px 0 #fff9,0 3px 8px #6c4c1238}
.rewards-page button.tier-titanium{background-image:linear-gradient(110deg,transparent 0 33%,#ffffff40 43%,transparent 54%),linear-gradient(180deg,#3f4246 0%,#090a0b 36%,#000 70%,#1b1d20 100%);border-color:#000;color:#fff;text-shadow:0 1px 1px #000;box-shadow:inset 0 1px 0 #ffffff80,inset 0 -1px 0 #000,0 4px 10px #0005}
.rewards-page .info-button{display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0!important;border:1px solid var(--line)!important;border-radius:50%!important;background:var(--paper)!important;box-shadow:none;color:var(--brown);font:700 18px/1 Arial,sans-serif}
.rewards-page .info-button:hover{background:var(--cream)!important;border-color:var(--brown)!important;color:var(--brown)}
.rewards-page main :is(input,select,button:not(.dialog-close):not(.info-button):not(.icon-button):not(.tier-badge)){border-radius:20px}
.claim-panel{padding:26px!important;grid-template-columns:minmax(0,.85fr) minmax(260px,1.15fr);align-items:center}
.claim-fields :is(input,button){border-radius:20px}
.section-title h2,#catalogue-section>h2,#codes-section h2{font-size:30px}
.activity-panel{margin:30px 0 0;padding:0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.activity-panel summary{padding:25px 0;font:900 30px/1.12 Fraunces,Georgia,serif;letter-spacing:-.035em;list-style-position:inside}.activity-panel[open] summary{margin:0}
.rewards-page .notice.success{background:#e4f1e7;border-color:#88b492;color:#1f5c33}
.rewards-page button.dialog-close{display:grid;place-items:center;float:none;position:absolute;right:16px;top:16px;width:40px;height:40px;min-height:40px;padding:0!important;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--brown);font:400 26px/1 Arial,sans-serif;box-shadow:none}
#redeem-dialog,#rewards-help{position:fixed;inset:0;margin:auto;border-radius:20px;max-height:calc(100dvh - 32px);overflow:auto}

@media(max-width:700px){.member-overview{grid-template-columns:1fr}.claim-panel{grid-template-columns:1fr}.member-heading .eyebrow{font-size:29px}.activity-panel summary{font-size:29px}.rewards-page .site-header nav .order-choice{font-size:9px;padding:9px 8px}.rewards-page .site-header .brand img{width:82px;height:52px}#redeem-dialog{max-height:calc(100dvh - 24px);width:calc(100% - 24px);padding:26px 22px}}
