.loyalty-page *,.loyalty-page :after,.loyalty-page :before{box-sizing:border-box;margin:0;padding:0}.loyalty-page{--bg:#0a0806;--bg-card:#16120e;--gold:#c9a84c;--gold-light:#e8c870;--gold-dim:rgba(201,168,76,.18);--gold-border:rgba(201,168,76,.35);--text:#f0ede8;--text-muted:#7a7a6a;--text-sub:#a8a090;--font-serif:"Cormorant Garamond",serif;--font-accent:"Cinzel",serif;--font-sans:"DM Sans",sans-serif;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.7;min-height:100vh;min-height:100dvh;overflow-x:hidden;background-image:radial-gradient(ellipse at top,rgba(201,168,76,.05) 0,transparent 60%)}.loyalty-page .page-header{position:fixed;top:0;left:50%;transform:translateX(-50%);width:min(100%,720px);z-index:20;display:flex;align-items:center;justify-content:space-between;padding:max(12px,env(safe-area-inset-top)) 20px max(12px,calc(env(safe-area-inset-top) - 4px));background:linear-gradient(180deg,rgba(13,10,8,.95) 0,rgba(13,10,8,.5) 70%,transparent)}.loyalty-page .header-back{width:44px;height:44px;border-radius:50%;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.1);display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text);font-size:18px;transition:background .2s}.loyalty-page .header-back:hover{background:hsla(0,0%,100%,.12)}.loyalty-page .header-logo{display:flex;align-items:center;gap:9px}.loyalty-page .header-logo-divider{width:1px;height:20px;flex-shrink:0;background:linear-gradient(180deg,transparent,rgba(201,168,76,.38) 30%,rgba(201,168,76,.38) 70%,transparent)}.loyalty-page .header-logo-wordmark{font-family:var(--font-accent);font-size:11px;letter-spacing:.42em;color:var(--gold);font-weight:500;line-height:1}.loyalty-page .header-spacer{width:44px}.loyalty-page .logo-card{width:18px;height:26px;background:linear-gradient(160deg,#1e1a12,#0c0a06);border:1.5px solid rgba(201,168,76,.8);border-radius:3px;position:relative;z-index:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 0 0 2px rgba(201,168,76,.22)}.loyalty-page .logo-card:before{content:"";position:absolute;width:18px;height:26px;border-radius:3px;top:0;left:0;transform:rotate(-12deg) translate(-3px,2px);z-index:-1;background:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(201,168,76,.22) 0,rgba(201,168,76,.22) 2.5px),repeating-linear-gradient(-45deg,transparent,transparent 2px,rgba(201,168,76,.22) 0,rgba(201,168,76,.22) 2.5px),linear-gradient(160deg,#181410,#090806);border:1.5px solid rgba(201,168,76,.5)}.loyalty-page .logo-card:after{content:"✦";color:var(--gold);font-size:10px;line-height:1;text-shadow:0 0 6px rgba(201,168,76,.9),0 0 14px rgba(201,168,76,.45);position:relative;z-index:1}.loyalty-page canvas.bg-stars{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:3}.loyalty-page main{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:78px 24px max(80px,calc(env(safe-area-inset-bottom) + 32px))}.loyalty-page .hero{text-align:center;margin-bottom:36px}.loyalty-page .hero .eyebrow{font-family:var(--font-accent);font-size:10px;letter-spacing:.32em;color:var(--text-muted);text-transform:uppercase;margin-bottom:14px}.loyalty-page .hero h1{font-family:var(--font-serif);font-weight:300;font-size:clamp(34px,9vw,52px);color:var(--gold-light);line-height:1.05;letter-spacing:-.005em}.loyalty-page .hero .tagline{font-family:var(--font-serif);font-style:italic;font-size:clamp(15px,4vw,18px);line-height:1.55;color:var(--text-sub);margin-top:12px;max-width:340px;margin-left:auto;margin-right:auto}.loyalty-page .points{text-align:center;margin:48px 0 40px;padding:0 12px}.loyalty-page .points .num{font-family:var(--font-serif);font-size:clamp(72px,22vw,120px);font-weight:300;line-height:1;color:var(--gold-light);letter-spacing:-.02em;text-shadow:0 4px 32px rgba(201,168,76,.18);display:block}.loyalty-page .points .unit{font-family:var(--font-accent);font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--text-muted);margin-top:12px;display:block}.loyalty-page .points .progress{height:1px;background:rgba(201,168,76,.15);margin:22px auto 10px;max-width:240px;position:relative}.loyalty-page .points .progress-fill{position:absolute;inset:-1px 0 -1px 0;background:linear-gradient(90deg,transparent 0,var(--gold) 30%,var(--gold-light) 60%,var(--gold) 90%,transparent 100%);width:0;height:3px;transition:width .8s cubic-bezier(.4,0,.2,1)}.loyalty-page .points .progress-label{font-family:var(--font-sans);font-size:12px;color:var(--text-sub);letter-spacing:.08em}.loyalty-page .points .reward-ready{display:inline-block;margin-top:16px;padding:8px 16px;border:1px solid var(--gold-border);border-radius:999px;color:var(--gold-light);font-family:var(--font-accent);font-size:10px;letter-spacing:.2em;text-transform:uppercase}.loyalty-page .divider{display:flex;align-items:center;gap:14px;margin:36px 0 24px}.loyalty-page .divider:after,.loyalty-page .divider:before{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,var(--gold-dim) 50%,transparent)}.loyalty-page .divider span{font-family:var(--font-accent);font-size:10px;letter-spacing:.34em;color:var(--gold);text-transform:uppercase;white-space:nowrap}.loyalty-page .earn-list{display:flex;flex-direction:column}.loyalty-page .earn-row{display:flex;align-items:center;gap:18px;padding:16px 4px;border-top:1px solid var(--gold-dim)}.loyalty-page .earn-row:last-child{border-bottom:1px solid var(--gold-dim)}.loyalty-page .earn-row .points-num{flex-shrink:0;font-family:var(--font-serif);font-size:28px;font-weight:400;color:var(--gold-light);line-height:1;min-width:52px;text-align:right}.loyalty-page .earn-row .label{font-family:var(--font-serif);color:var(--text);font-size:16px;line-height:1.4;flex:1;min-width:0}.loyalty-page .earn-row .label small{display:block;font-family:var(--font-sans);font-size:12px;color:var(--text-muted);margin-top:2px;line-height:1.5;letter-spacing:.01em}.loyalty-page .reward-statement{font-family:var(--font-serif);font-style:italic;font-size:clamp(20px,5vw,24px);color:var(--gold-light);text-align:center;margin:24px 0;line-height:1.4}.loyalty-page .reward-statement .equals{font-style:normal;font-family:var(--font-accent);font-size:12px;color:var(--gold);letter-spacing:.3em;display:block;margin:6px 0}.loyalty-page .reward-sub{font-size:13px;color:var(--text-muted);text-align:center;max-width:320px;margin:0 auto;line-height:1.55}.loyalty-page .referral-intro{color:var(--text-sub);font-size:14px;line-height:1.55;text-align:center;margin-bottom:16px;max-width:360px;margin-left:auto;margin-right:auto}.loyalty-page .code-display{width:100%;background:linear-gradient(180deg,rgba(28,24,20,.7),rgba(20,16,12,.7));border:1px solid var(--gold-border);border-radius:14px;padding:18px 14px;color:var(--gold-light);font-family:var(--font-accent);font-size:18px;letter-spacing:.22em;text-align:center;font-weight:500;margin-bottom:14px;text-overflow:ellipsis;overflow:hidden;cursor:text}.loyalty-page .code-display:focus{outline:none;border-color:var(--gold-light);background:linear-gradient(180deg,rgba(40,32,24,.7),rgba(28,22,16,.7))}.loyalty-page .actions{display:flex;flex-direction:column;gap:10px;margin-top:32px}.loyalty-page .btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:12px;cursor:pointer;font-family:var(--font-accent);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;transition:transform .15s,opacity .15s;min-height:48px}.loyalty-page .btn:active{transform:scale(.98)}.loyalty-page .btn-primary{background:linear-gradient(180deg,#c9a84c,#b8973a);color:#0a0a0f;box-shadow:0 6px 22px rgba(201,168,76,.22)}.loyalty-page .btn-secondary{background:transparent;color:var(--gold);border-color:var(--gold-border)}@media (prefers-reduced-motion:reduce){.loyalty-page *{animation-duration:.01ms!important;transition-duration:.01ms!important}}