
/* RAVE+ member experience. Scoped to the member area. */
body.member-ui{--acid:#d9ff43;--bg:#0b0d0d;--card:#121515;--line:#2a2f2e;--text:#f4f2ec;--muted:#a2aaa7;background:var(--bg);font-family:Manrope,Arial,sans-serif;color:var(--text);line-height:1.6;color-scheme:dark}
.member-ui h1,.member-ui h2,.member-ui h3,.member-ui .number,.membership-pass strong{font-family:Bricolage,Arial,sans-serif}
.member-ui button,.member-ui input,.member-ui select,.member-ui textarea{font-family:Manrope,Arial,sans-serif}
.member-ui .topbar{min-height:76px;padding:16px max(28px,calc((100vw - 1400px)/2 + 28px));background:rgba(11,13,13,.96);border-color:var(--line)}
.member-ui .brand img{height:28px;width:112px}
.member-ui .top-actions{gap:24px}
.member-ui .top-actions>a{font-size:11px;letter-spacing:.025em;text-transform:none;color:#b4bcb9}
.member-ui .top-actions>a:hover{color:var(--acid)}
.member-ui .top-actions .member-billing-link{color:var(--text)}
.member-ui .member-chip{padding:7px 12px;font-variant-numeric:tabular-nums;color:var(--acid);border:1px solid #3a4330;background:#d9ff4306}
.member-ui .layout{max-width:1400px;grid-template-columns:230px minmax(0,1fr)}
.member-ui .side{top:76px;min-height:calc(100svh - 76px);height:calc(100svh - 76px);padding:30px 22px;background:#0f1111;border-color:var(--line);display:flex;flex-direction:column}
.side-identity{display:flex;align-items:center;gap:12px;padding:0 0 28px}
.member-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#d9ff4314;border:1px solid #d9ff4330;color:var(--acid);font-size:16px;font-weight:700;flex-shrink:0}
.side-identity>div{min-width:0}.side-identity strong{display:block;font-size:13px;overflow-wrap:anywhere}.side-identity>div>span{display:block;font-size:10px;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}
.member-ui .side-label{font-size:9px;margin:0 10px 12px;color:#77817d;letter-spacing:.15em}
.member-ui .nav{gap:6px}.member-ui .nav button{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px;font-size:12px;font-weight:600;color:#aab3ae;border-radius:10px;border:1px solid transparent;background:transparent;text-align:left}
.member-ui .nav button svg{width:18px;height:18px;flex-shrink:0;opacity:.8}
.member-ui .nav button:hover{background:#1b201d;color:var(--text)}
.member-ui .nav button.active{background:#d9ff430c;color:var(--acid);border-color:#d9ff4325}
.member-ui .nav button.active:before{content:none}
.side-footer{margin-top:auto;padding:28px 10px 0;font-size:10px;color:#b2b9b5}
.membership-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acid);margin-right:8px;flex-shrink:0;vertical-align:middle}
.side-footer a{display:block;margin:14px 0 0;color:#8e9992;text-decoration:none}.side-footer a:hover{color:var(--acid)}
.member-ui .content{padding:42px 40px 80px;min-width:0}
.member-ui .panel{scroll-margin-top:100px}
.member-ui .eyebrow{color:#a4b18e;font-size:10px;letter-spacing:.13em;font-weight:700;text-transform:uppercase}
.member-ui .hero{padding:0}.member-ui .hero h1{font-size:clamp(34px,3.5vw,50px);font-weight:650;line-height:1.08;letter-spacing:-.04em;text-transform:none;margin:16px 0 20px}
.member-ui .hero h1 span{color:#a6afa6}.member-ui .hero p{font-size:13px;line-height:1.8;color:var(--muted);max-width:390px;margin:0}
.member-welcome{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.85fr);align-items:center;gap:36px;padding:8px 0 40px;border-bottom:1px solid var(--line)}
.member-shortcuts{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.member-primary,.member-secondary{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:44px;padding:12px 17px;border-radius:8px;font-size:11px;font-weight:750;text-decoration:none;border:1px solid transparent}
.member-primary{background:var(--acid);color:#10130a}.member-primary:hover{background:#e4ff7a}.member-secondary{border-color:#343c36;color:#d9dfda;background:transparent}.member-secondary:hover{border-color:#748068;background:#171c17}
.membership-pass{position:relative;overflow:hidden;isolation:isolate;padding:26px;border:1px solid #59634b;border-radius:18px;aspect-ratio:1.6;background:radial-gradient(ellipse at 100% 0,#59643760,transparent 65%),linear-gradient(130deg,#242d21,#141b15);box-shadow:0 18px 45px #0003;display:flex;flex-direction:column;justify-content:space-between}
.membership-pass:before{content:"";position:absolute;z-index:-1;inset:-50% -30%;background:repeating-linear-gradient(120deg,transparent,transparent 34px,#d9ff4306 35px,#d9ff4306 36px);transform:rotate(-12deg)}
.pass-top,.pass-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pass-top img{width:100px;height:26px}.pass-top>span{font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:#c0c9b4}
.pass-holder{margin:30px 0}.pass-holder>span{display:block;font-size:12px;color:#d2dacb;margin-bottom:6px}.pass-holder strong{display:block;font-size:31px;font-weight:600;letter-spacing:.015em;line-height:1.2;color:#f1f8e4;font-variant-numeric:tabular-nums}
.pass-bottom{font-size:8px;color:#b9c5af}.pass-bottom>span:first-child{display:flex;align-items:center}
.member-section-heading{margin:30px 0 16px}.member-section-heading h2{font-size:21px;font-weight:600;margin:5px 0 0;letter-spacing:-.025em}
.member-ui .grid{margin-top:16px;gap:16px}
.member-ui .card{background:#121515;border:1px solid var(--line);border-radius:12px;box-shadow:none}
.member-ui .member-overview .stat{grid-column:span 4;min-height:112px;padding:20px}
.member-ui .tiny{font-size:9px;font-weight:650;color:#8e9992;letter-spacing:.1em}
.member-ui .number.compact{font-size:19px;line-height:1.35;margin-top:15px!important;letter-spacing:-.015em;font-weight:550}
.member-ui .number.acid{color:#d0dabe;text-transform:capitalize}
.member-ui .empty{min-height:164px;padding:28px;border-style:solid;background:linear-gradient(115deg,#141b15,#111414)}
.member-ui .empty h3{font-size:22px;letter-spacing:-.025em;font-weight:550;margin:0 0 10px}.member-ui .empty p{font-size:13px;color:var(--muted);line-height:1.8}
.member-ui .section-title,.member-ui .benefit-hero h2{font-size:clamp(30px,3vw,40px);font-weight:600;line-height:1.13;text-transform:none;letter-spacing:-.035em;margin:12px 0 18px}
.member-ui .section-copy{font-size:13px;line-height:1.8;color:var(--muted);max-width:700px;margin-bottom:28px}
.member-ui .giveaway-card{background:linear-gradient(140deg,#20271b,#121515 75%);padding:26px;gap:12px;min-height:230px}
.member-ui .giveaway-card h3{font-size:27px;font-weight:550;text-transform:none;margin:10px 0}
.member-ui .giveaway-card p{font-size:13px;line-height:1.7;margin:0}.member-ui .giveaway-card .tag{font-size:9px;color:var(--acid);background:#d9ff4308;border-color:#d9ff4333}
.member-ui .benefit-hero{gap:24px;padding:0 0 24px;border-color:var(--line)}
.member-ui .benefit-hero h2{max-width:530px}.member-ui .benefit-eyebrow{font-size:10px;color:#a4b18e}
.member-ui .benefit-access{gap:14px;min-width:190px}.member-ui .benefit-status{border-color:#4d5939;color:#d9ff43;font-size:10px;padding:6px 12px}
.member-ui .benefit-access a{font-size:11px;color:#c8d0c3}
.member-ui .benefit-intro{font-size:12px;line-height:1.8;color:var(--muted);margin:24px 0}
.member-ui .benefit-grid{gap:16px}.member-ui .benefit-card{border-color:var(--line);border-radius:12px;background:#121515}
.member-ui .benefit-brand{height:112px;background:radial-gradient(ellipse at center,#282d24,#171c17);border-color:var(--line);padding:24px}
.member-ui .benefit-brand img{height:62px;max-width:150px}.member-ui .benefit-card-content{padding:22px}
.member-ui .benefit-card h3{font-size:18px;font-weight:600}.member-ui .benefit-card .benefit-offer{font-family:Bricolage,Arial,sans-serif;font-size:25px;font-weight:550;color:var(--acid);line-height:1.22;margin:14px 0 22px}
.member-ui .benefit-card .benefit-muted{font-size:11px;line-height:1.7;color:var(--muted)}
.member-ui .benefit-locked,.member-ui .benefit-redemption{padding-top:18px;border-color:var(--line)}
.member-ui .benefit-locked>span{font-size:10px;color:#a4ada3}
.member-ui .benefit-button{border-radius:7px;min-height:42px;font-size:11px;font-family:Manrope,Arial,sans-serif;background:var(--acid);border-color:var(--acid)}
.member-ui .benefit-outline{background:transparent;color:#dce2d5!important;border-color:#3e473a}
.member-ui .benefit-button:hover{filter:brightness(1.08)}.member-ui .benefit-card:hover{border-color:#697255}
.member-ui .account{max-width:900px}
.member-ui #billing{scroll-margin-top:100px;padding:26px;border-color:#3b4532;background:linear-gradient(130deg,#1c251b,#141916)}
.member-ui #billing h3{font-size:21px;font-weight:550;letter-spacing:-.02em;margin:0 0 14px}
.member-ui #billing p{font-size:12px;line-height:1.8;color:#b2bcb0;margin:10px 0}
.member-ui #billing strong{color:var(--text);font-weight:600}
.member-ui .save{min-height:44px;padding:12px 18px;margin-top:16px;font-size:11px;font-weight:750;text-transform:none;letter-spacing:0;border-radius:8px;background:var(--acid);color:#10130a}
.member-ui #billing .save{margin-top:0}
.member-ui .profile-details{margin-top:28px;padding:28px;border:1px solid var(--line);border-radius:12px;background:#111414}
.profile-section-heading h3{font-size:21px;font-weight:550;margin:0 0 8px;letter-spacing:-.02em}.profile-section-heading p{font-size:12px;color:var(--muted);margin:0}
.member-ui .identity-card{margin:24px 0;padding:16px 18px;border:1px solid #36402e;background:#d9ff4305;border-radius:8px;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}
.member-ui .identity-card span{font-size:11px;color:#a6b39e}.member-ui .identity-card strong{font-family:Bricolage,Arial,sans-serif;font-size:20px;font-weight:550;margin:0;color:#d9ff43;grid-column:2;grid-row:1/3}.member-ui .identity-card small{font-size:10px;color:#909d88}
.member-ui .profile-form{margin-top:18px}.member-ui .form-grid{gap:20px}
.member-ui .profile-form label{font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;color:#bcc5bc;margin:0}
.member-ui .profile-form input,.member-ui .profile-form select{font-family:Manrope,Arial,sans-serif;font-size:13px;background:#0c1010;border:1px solid #343d35;border-radius:7px;height:48px;color:#edf0e8;color-scheme:dark}
.member-ui .profile-form label small{font-size:10px;color:#969f94;line-height:1.7}
.member-ui .profile-form .check{margin-top:24px;font-size:11px;line-height:1.7}
.member-ui .profile-form .check input{height:18px;width:18px;min-height:18px}
.member-ui .form-message{font-size:12px}
.member-ui .account-actions{margin-top:26px;border:0}.member-ui .logout{margin-top:0;background:transparent;font-size:11px;min-height:42px;padding:12px 18px;border-color:#3a423a;border-radius:8px;color:#bac4ba}
.member-ui .danger-zone{padding:20px 24px;margin-top:28px;border:1px solid #4c3633;border-radius:12px;background:#171211}
.member-ui .danger-zone h3{font-size:16px;font-weight:550}.member-ui .danger-zone p{font-size:11px;line-height:1.8;color:#ad9d98}
.member-ui .danger-zone button{font-family:Manrope,Arial,sans-serif;font-size:11px;font-weight:600;border-radius:8px;color:#e6ada5;background:transparent;border-color:#75463f;min-height:42px}
.member-ui a:focus-visible,.member-ui button:focus-visible,.member-ui input:focus-visible,.member-ui select:focus-visible{outline:2px solid var(--acid);outline-offset:4px}
@media(max-width:1150px){.member-ui .layout{grid-template-columns:200px minmax(0,1fr)}.member-ui .content{padding:34px 28px 60px}.member-welcome{grid-template-columns:1fr;gap:28px}.membership-pass{max-width:410px;width:100%;aspect-ratio:1.7}.member-ui .benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.member-ui .layout{grid-template-columns:1fr}.member-ui .side{position:sticky;top:76px;z-index:9;height:auto;min-height:0;padding:8px 20px;border-right:0;border-bottom:1px solid var(--line);background:rgba(15,17,17,.97)}.side-identity,.member-ui .side-label,.side-footer{display:none}.member-ui .nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.member-ui .nav button{justify-content:center;padding:10px 8px;gap:7px;font-size:11px;min-height:44px}.member-ui .nav button svg{width:16px;height:16px}.member-ui .content{padding:32px 24px 56px}.member-welcome{grid-template-columns:1fr 1fr;gap:24px}.member-ui .hero h1{font-size:34px}.member-ui .panel,.member-ui #billing{scroll-margin-top:150px}}
@media(max-width:650px){.member-ui .topbar{min-height:66px;padding:16px 18px;gap:12px;flex-wrap:nowrap}.member-ui .brand img{width:96px;height:24px}.member-ui .top-actions{gap:12px}.member-ui .top-actions>a{display:none}.member-ui .top-actions .member-billing-link{display:inline;font-size:10px}.member-ui .member-chip{font-size:9px;padding:6px 8px;letter-spacing:.025em}.member-ui .side{top:66px;padding:8px 14px}.member-ui .nav{gap:4px}.member-ui .nav button{flex-direction:column;gap:4px;min-height:58px;font-size:9px;padding:8px 4px;border-radius:8px}.member-ui .content{padding:28px 20px 48px}.member-welcome{grid-template-columns:1fr;gap:28px;padding-bottom:28px}.member-ui .hero h1{font-size:38px}.member-ui .hero p{font-size:12px;max-width:330px}.member-shortcuts{gap:10px;margin-top:22px}.member-primary,.member-secondary{font-size:10px;padding:12px 14px;gap:14px}.membership-pass{max-width:440px;padding:24px;aspect-ratio:1.7}.member-ui .member-overview .stat{grid-column:span 12;min-height:84px;padding:18px;display:flex;flex-direction:row;gap:18px;align-items:center}.member-ui .member-overview .number{margin:0!important;text-align:right;font-size:17px}.member-ui .tiny{font-size:9px}.member-section-heading{margin-top:28px}.member-ui .benefit-hero{flex-direction:column;gap:8px}.member-ui .benefit-access{align-items:flex-start;flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}.member-ui .benefit-grid{grid-template-columns:1fr}.member-ui .benefit-card-content{padding:22px}.member-ui .benefit-brand{height:120px}.member-ui .empty{padding:22px;min-height:160px}.member-ui .empty h3{font-size:21px}.member-ui .profile-details{padding:22px 18px}.member-ui #billing{padding:22px}.member-ui .form-grid{grid-template-columns:1fr;gap:20px}.member-ui .section-title,.member-ui .benefit-hero h2{font-size:32px}.member-ui .section-copy{font-size:12px}.member-ui .danger-zone{padding:20px;align-items:flex-start;flex-direction:column;gap:18px}.member-ui .danger-zone button{width:100%}.member-ui .panel,.member-ui #billing{scroll-margin-top:155px}}
@media(max-width:360px){.member-ui .top-actions{gap:8px}.member-ui .top-actions .member-billing-link{font-size:9px}.member-ui .member-chip{font-size:8px}.member-ui .content{padding-inline:16px}.member-ui .hero h1{font-size:34px}.membership-pass{padding:20px}.pass-holder{margin:22px 0}.pass-holder strong{font-size:28px}.pass-bottom{font-size:7px}}
@media(prefers-reduced-motion:reduce){.member-ui *, .member-ui *:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Compact benefits: browse offers first, open redemption details on demand. */
.member-ui .benefit-grid{gap:14px;align-items:start}
.member-ui .benefit-card{height:100%;transform:none}
.member-ui .benefit-card:hover{transform:none}
.member-ui .benefit-card-header{display:flex;align-items:center;gap:14px;padding:18px 18px 0}
.member-ui .benefit-card .benefit-brand{height:56px;width:68px;flex:0 0 68px;padding:8px;border:1px solid #2d352a;border-radius:8px;background:#1b211a}
.member-ui .benefit-card .benefit-brand img{width:100%;height:40px;max-width:100%;object-fit:contain}
.member-ui .benefit-brand-name{font-size:11px;line-height:1.2;overflow-wrap:anywhere}
.member-ui .benefit-heading{min-width:0}
.member-ui .benefit-heading .benefit-eyebrow{font-size:8px;line-height:1.5;letter-spacing:.08em;margin:0 0 5px;color:#96a08f}
.member-ui .benefit-card h3{font-size:16px;line-height:1.25;margin:0}
.member-ui .benefit-card-content{padding:16px 18px 18px}
.member-ui .benefit-card .benefit-offer{font-size:22px;line-height:1.25;margin:0 0 14px;font-weight:550}
.member-ui .benefit-card .benefit-muted{font-size:11px;margin:0 0 14px}
.member-ui .benefit-locked{padding-top:12px}
.member-ui .benefit-locked>span{font-size:10px;margin:0;color:#98a18f}
.member-ui .benefit-redemption{padding-top:0;margin-top:auto}
.member-ui .benefit-redemption summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:10px 0 0;font-size:11px;font-weight:650;color:#d6e4c6}
.member-ui .benefit-redemption summary::-webkit-details-marker{display:none}
.member-ui .benefit-redemption summary>span{font-size:18px;line-height:1;color:var(--acid);transition:transform .15s}
.member-ui .benefit-redemption[open] summary>span{transform:rotate(45deg)}
.member-ui .benefit-redemption summary:focus-visible{outline:2px solid var(--acid);outline-offset:4px;border-radius:4px}
.member-ui .benefit-redemption-content{padding-top:16px}
.member-ui .benefit-redemption-content p{font-size:12px;line-height:1.7}
.member-ui .benefit-code{margin:12px 0;padding:11px 12px}
.member-ui .benefit-access{align-items:flex-end;gap:12px}
.member-ui .benefit-access .benefit-button{font-size:11px;min-height:40px;padding:10px 14px;text-decoration:none;color:#dce2d5}
.member-ui .benefit-intro{margin:20px 0}
@media(max-width:650px){.member-ui .benefit-access{align-items:center;gap:12px}.member-ui .benefit-grid{gap:12px}.member-ui .benefit-card-header{padding:16px 16px 0}.member-ui .benefit-card-content{padding:14px 16px 16px}.member-ui .benefit-card .benefit-offer{font-size:22px}}

/* Paid offers reveal on demand, with a short reveal animation. */
.member-ui .benefit-redemption summary{padding:12px 0 0;color:var(--acid);min-height:46px}
.member-ui .benefit-redemption .benefit-reveal-label{font-size:11px;line-height:1.4;color:inherit;transform:none!important}
.member-ui .benefit-redemption .benefit-reveal-symbol{font-size:18px;line-height:1}
.member-ui .reveal-open{display:none}
.member-ui .benefit-redemption[open] .reveal-closed{display:none}
.member-ui .benefit-redemption[open] .reveal-open{display:inline}
.member-ui .reveal-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.member-ui .benefit-redemption[open] .benefit-redemption-content{animation:rave-benefit-reveal .55s cubic-bezier(.2,.7,.2,1) both;transform-origin:top}
.member-ui .benefit-redemption[open] .benefit-code{position:relative;overflow:hidden;animation:rave-code-reveal .75s ease-out both}
.member-ui .benefit-redemption[open] .benefit-code:after{content:"";pointer-events:none;position:absolute;inset:-20% -60%;background:linear-gradient(105deg,transparent 35%,#d9ff4320 49%,transparent 65%);animation:rave-code-shine .9s ease-out both}
@keyframes rave-benefit-reveal{from{opacity:0;transform:translateY(-8px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes rave-code-reveal{0%,20%{opacity:0;transform:translateY(5px);filter:blur(7px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes rave-code-shine{from{transform:translateX(-55%)}to{transform:translateX(55%)}}
/* Reuse the landing page's festival hero with a dark, readable card overlay. */
.member-ui .membership-pass{background:#151c17;isolation:isolate;border-color:#687454}
.pass-hero-image{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:62% 52%;opacity:.85}
.membership-pass:before{inset:0;z-index:-2;background:linear-gradient(100deg,rgba(5,13,9,.88),rgba(7,16,12,.42)),linear-gradient(0deg,rgba(4,10,7,.95),transparent 70%);transform:none}
.membership-pass:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(145deg,#d9ff430a,transparent 70%);pointer-events:none}
.member-ui .pass-top>span,.member-ui .pass-bottom{color:#d4dfc9}
.member-ui .pass-bottom{font-size:10px}
@media(max-width:360px){.member-ui .pass-bottom{font-size:8px}}
@media(prefers-reduced-motion:reduce){.member-ui .benefit-redemption[open] .benefit-redemption-content,.member-ui .benefit-redemption[open] .benefit-code,.member-ui .benefit-redemption[open] .benefit-code:after{animation:none!important;filter:none;transform:none;opacity:1}}
