:root{--color-primary:var(--brand);--tiffany:var(--brand);--tiffany-dark:var(--brand-dark);--tiffany-light:oklch(0.70 0.11 195/0.14);--text:var(--ink);--text-muted:var(--muted);--shell-border:var(--line);--error:oklch(0.55 0.15 25);--success:oklch(0.5 0.14 150);--shadow:0 1px 2px oklch(0.20 0.05 195/0.04),0 8px 24px oklch(0.20 0.05 195/0.04);--font:"Manrope",sans-serif;--font-display:"Fraunces",serif;--tap-min:48px;--content-max:1180px;--page-gutter:24px}*,:after,:before{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--text);line-height:1.5}.page,body{min-height:100dvh}.page{padding:0 var(--page-gutter) 2rem;display:flex;flex-direction:column}.page,.page--balance,.page--till{max-width:var(--content-max)}.admin-header,header:not(.marketing-topbar):not(.site){display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--white);margin:0 calc(-1 * var(--page-gutter)) 1.15rem;padding:.9rem var(--page-gutter);border-bottom:1px solid var(--shell-border);box-shadow:0 1px 2px rgba(15,23,42,.04)}.logo[data-merchant-logo],header:not(.site) .logo{font-weight:700;font-size:1.125rem;color:var(--tiffany-dark);display:inline-flex;align-items:center;gap:.45rem;max-width:min(100%,11rem)}.logo[data-merchant-logo]{max-width:min(100%,20rem)}.product-logo-img{display:block;flex-shrink:0;max-height:2.25rem;max-width:min(14rem,58vw);width:auto;height:auto;object-fit:contain}.logo[data-merchant-logo] .product-logo-img{max-width:min(12rem,48vw)}.merchant-logo-img{display:block;flex-shrink:0;max-height:2.5rem;max-width:2.75rem;min-height:1.25rem;width:auto;height:auto;object-fit:contain}.admin-header .product-logo-img{max-height:1.75rem;max-width:10rem}.admin-header .merchant-logo-img{max-height:2rem;max-width:2.5rem}#lang-toggle{background:var(--white);border:1px solid rgba(10,186,181,.35);color:var(--tiffany-dark);border-radius:999px;padding:.35rem .75rem;font-size:.8125rem;font-weight:600;min-height:2.5rem;min-width:2.5rem;cursor:pointer;transition:border-color .15s ease,background .15s ease}#lang-toggle:hover{border-color:var(--tiffany);background:var(--tiffany-light)}main{flex:1 1}.page-hero{margin-bottom:1rem}.page-eyebrow{margin:0 0 .3rem;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tiffany-dark)}h1{font-size:1.5rem;margin:0 0 .5rem;font-weight:700;letter-spacing:-.03em;color:var(--text)}.hint{color:var(--color-muted,#5c6b73);margin:-.25rem 0 .75rem;font-size:.875rem;line-height:1.4}.hint,.subtitle{color:var(--text-muted)}.subtitle{margin:0 0 1.5rem;font-size:.95rem}.captcha-wrap{margin:1rem 0 .5rem;min-height:4rem;display:flex;justify-content:center;align-items:center}.card{background:var(--white);border:1px solid var(--shell-border);border-radius:var(--radius);padding:1.25rem 1.35rem;box-shadow:var(--shadow);margin-bottom:1rem}.card--accent{border-color:rgba(10,186,181,.22);background:linear-gradient(180deg,#fff,#f8fffe)}.card-head{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.card-head-icon{width:2.5rem;height:2.5rem;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--tiffany-light);color:var(--tiffany-dark)}.card-head-icon svg{width:1.25rem;height:1.25rem}.card-head .section-hint{margin-bottom:0}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.35rem}input[type=email],input[type=password],input[type=tel],input[type=text],select,textarea{width:100%;font-size:1rem;padding:.65rem .75rem;border:1px solid #d4d4d4;border-radius:10px;margin-bottom:1rem;min-height:var(--tap-min);font:inherit;line-height:1.45;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--tiffany);box-shadow:0 0 0 3px rgba(10,186,181,.15)}.field-group{margin-bottom:.25rem}.field-group.hidden{display:none}.link-btn{background:none;color:var(--tiffany-dark);text-decoration:underline;font-size:.9rem;padding:.5rem 0;cursor:pointer;text-align:left}.btn-primary,.link-btn{border:none;min-height:var(--tap-min)}.btn-primary{display:block;width:100%;padding:.8rem 1rem;margin-top:.5rem;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}.btn-primary:focus,.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px oklch(.78 .13 85/.55)}.message{padding:.75rem 1rem;border-radius:var(--radius);font-size:.9rem;margin:1rem 0}.message.error{background:#fdecea;color:var(--error)}.message.success{background:#e8f8ef;color:var(--success)}.message.warn{background:#fff8e6;color:#6b4e00}.billing-lock-host{position:relative}.billing-lock-overlay{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:rgba(240,242,245,.88);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.billing-lock-overlay-card{max-width:22rem;padding:1.5rem 1.35rem;background:var(--white);border-radius:var(--radius);border:1px solid #f5b5ad;box-shadow:0 12px 40px rgba(15,23,42,.12);text-align:center}.billing-lock-overlay-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:#7a1f14}.billing-lock-overlay-message{margin:0;font-size:.9rem;line-height:1.5;color:var(--text-muted)}.billing-lock-overlay-pay{margin-top:1rem;padding-top:1rem;border-top:1px solid #f0d5d0;text-align:left}.billing-lock-overlay-amount{margin:0 0 .75rem;font-size:.95rem;color:var(--text)}.billing-lock-overlay-pay-lead{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--text)}.billing-lock-overlay-pay-list{margin:0 0 .85rem;padding-left:1.1rem;font-size:.875rem;line-height:1.45;color:var(--text-muted)}.billing-lock-overlay-pay-label{font-weight:600;color:var(--text)}.billing-lock-overlay-pay-actions{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.65rem}.billing-lock-overlay-email,.billing-lock-overlay-whatsapp{width:100%;text-align:center;text-decoration:none}.billing-lock-overlay-hint{margin:0;font-size:.8rem;line-height:1.45;color:var(--text-muted)}.text-link{display:inline-block;color:var(--tiffany-dark);margin-top:1rem;font-size:.9rem}.merchant-balance-heading{font-size:1.5rem;font-weight:700;margin:0 0 .35rem;color:var(--tiffany-dark);line-height:1.2}.greeting{font-size:1.125rem;margin-bottom:1rem}.stat-big{font-size:2.5rem;font-weight:700;color:var(--tiffany-dark);line-height:1.1}.stat-label{font-size:.875rem;color:var(--text-muted);margin-bottom:1rem}.star-row{display:flex;gap:.35rem;flex-wrap:wrap;margin:.75rem 0 1rem}.star{font-size:1.75rem;color:#ddd}.star.filled{color:var(--tiffany)}.referral-box{background:var(--tiffany-light);border-radius:var(--radius);padding:1rem;text-align:center;margin:1rem 0}.referral-code{font-size:1.5rem;font-weight:700;letter-spacing:.1em;color:var(--tiffany-dark);margin:.5rem 0}.referral-hint{font-size:.8rem;color:var(--text-muted)}.reward-list{list-style:none;padding:0;margin:0}.reward-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #eee}.reward-item:last-child{border-bottom:none}.reward-code{font-family:ui-monospace,monospace;font-weight:700;font-size:1.1rem;color:var(--tiffany-dark)}.reward-offer-message{font-size:1rem;font-weight:600;color:var(--tiffany-dark);margin:.5rem 0 .75rem;line-height:1.4}.rewards-count{font-weight:600;color:var(--success);margin-bottom:.75rem}.till-note{font-size:.85rem;color:var(--text-muted);text-align:center;margin-top:1.5rem;padding:.75rem;background:var(--tiffany-light);border-radius:var(--radius)}footer{text-align:center;padding-top:1rem}footer a{color:var(--tiffany-dark);font-size:.875rem}.merchant-website{margin:.5rem 0 0;font-size:.875rem}.page-hero .merchant-website{margin-top:.35rem;text-align:center}.merchant-website a{color:var(--color-primary,var(--tiffany-dark));text-decoration:none;font-weight:500}.merchant-website a:hover{text-decoration:underline}.admin-header-sub .merchant-website{margin:.2rem 0 0;width:100%;text-align:center}.product-footer{margin:.75rem 0 0;font-size:.75rem;color:var(--text-muted)}.loading-screen{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.admin-header-wrap{margin:0 calc(-1 * var(--page-gutter)) 1rem}.admin-header-wrap .admin-header{margin:0}.admin-header-sub{display:flex;flex-direction:column;gap:.15rem;padding:.55rem var(--page-gutter) .75rem;background:var(--white);border-bottom:1px solid var(--shell-border);box-shadow:0 1px 2px rgba(15,23,42,.04)}.header-actions{display:flex;align-items:center;gap:.35rem;margin-left:auto;flex-shrink:0}.header-link{background:none;border:none;color:var(--tiffany-dark);font-size:.8125rem;font-weight:600;padding:.45rem .65rem;min-height:2.25rem}.header-link:focus,.header-link:hover{background:var(--tiffany-light)}.admin-merchant-name{font-size:1rem;font-weight:700;line-height:1.2;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-header-actions{display:flex;align-items:center;gap:.35rem;margin-left:auto;flex-shrink:0}.admin-header-link{background:none;border:none;color:var(--tiffany-dark);font-size:.8125rem;font-weight:600;text-decoration:none;padding:.45rem .65rem;border-radius:999px;cursor:pointer;min-height:2.25rem;display:inline-flex;align-items:center}.admin-header-link:focus,.admin-header-link:hover{background:var(--tiffany-light)}.admin-header-pill{background:var(--white);border:1px solid rgba(10,186,181,.35);color:var(--tiffany-dark);border-radius:999px;padding:.35rem .75rem;font-size:.8125rem;font-weight:600;min-height:2.25rem;min-width:2.25rem;cursor:pointer;flex-shrink:0}.admin-header-pill:hover{border-color:var(--tiffany);background:var(--tiffany-light)}.admin-header .logo{flex-shrink:0}.admin-header .staff-label{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-header{flex-wrap:nowrap;gap:.75rem}.admin-header .logo{flex:1 1;min-width:0}.staff-label{font-size:.75rem;color:var(--text-muted)}.btn-text{font-size:.875rem;padding:.5rem}.btn-secondary,.btn-text{color:var(--tiffany-dark);min-height:var(--tap-min)}.btn-secondary{display:block;width:100%;background:#fff;border:2px solid rgba(10,186,181,.35);border-radius:999px;padding:.8rem 1rem;font-size:1rem;font-weight:600;cursor:pointer;margin-top:.75rem;transition:background .15s ease,border-color .15s ease}.btn-secondary:focus,.btn-secondary:hover{background:var(--tiffany);color:var(--white)}.admin-footer{margin-top:auto}.section-title{font-size:1.125rem;font-weight:700;margin:0 0 .35rem;color:var(--text)}.section-hint{font-size:.875rem;color:var(--text-muted);margin:0 0 1rem}.till-section{margin-bottom:0}.till-grid{display:grid;grid-gap:.85rem;gap:.85rem}@media (max-width:480px){.admin-header-actions{gap:.2rem}}@media (min-width:720px){.till-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.till-or{text-align:center;font-size:.8125rem;color:var(--text-muted);margin:1rem 0}.till-success .message{margin-top:0}.till-link-btn{display:block;text-decoration:none;margin-top:0}.client-card-qr-panel,.till-link-btn{text-align:center}.client-card-qr-panel .section-hint{margin-bottom:.5rem}.till-form-actions{display:flex;flex-wrap:wrap;gap:.5rem}.till-form-actions .btn-primary{flex:1 1 10rem;margin-top:0}.till-form-actions .btn-secondary{flex:0 0 auto;margin-top:0;width:auto;min-width:7rem}.qr-panel,.qr-wrap{display:flex;justify-content:center;margin:.75rem auto}.qr-wrap canvas,.qr-wrap img{display:block;border-radius:8px}.qr-hint{font-size:.8125rem;color:var(--text-muted);text-align:center;margin:.35rem 0 0}.reward-item-qr{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 0}.reward-item-main{flex-wrap:wrap;gap:.35rem .75rem;width:100%}.reward-item-main,.scan-modal{display:flex;align-items:center;justify-content:center}.scan-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);padding:1rem;z-index:100}.scan-modal[hidden]{display:none}.scan-modal-card{background:var(--white);border:1px solid var(--shell-border);border-radius:var(--radius);padding:1.15rem;width:min(100%,22rem);box-shadow:var(--shadow)}.scan-video-wrap{margin:.75rem 0;border-radius:var(--radius);overflow:hidden;background:#111}.scan-video{display:block;width:100%;max-height:280px;object-fit:cover}.field-hint{font-size:.8125rem;color:var(--text-muted);margin:.35rem 0 0}.field-hint--ok{color:#00754a}.field-hint--error{color:#b42318}.field-hint a{color:var(--tiffany-dark,#00754a)}.staff-list{display:flex;flex-direction:column;gap:.75rem}.staff-row{border:1px solid var(--shell-border);border-radius:12px;padding:.95rem 1rem;background:#f8fafb}.staff-row-main{display:flex;flex-direction:column;gap:.75rem}.staff-row-info strong{display:inline;margin-right:.35rem}.staff-email{font-size:.875rem;color:var(--text-muted);margin-top:.25rem;word-break:break-all}.staff-you{color:var(--tiffany-dark);margin-left:.25rem}.staff-badge,.staff-you{font-size:.75rem;font-weight:600}.staff-badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;margin-left:.35rem;vertical-align:middle}.staff-badge-active{background:#e6f9f8;color:#0a7a76}.staff-badge-disabled{background:#f3f4f6;color:#6b7280}.staff-row-actions{display:flex;flex-wrap:wrap;gap:.25rem .75rem}.staff-row-actions .btn-text{padding:.35rem .25rem;min-height:auto}.staff-row-actions .btn-text:disabled{opacity:.45;cursor:not-allowed}.staff-row-editing .staff-row-actions{margin-top:.5rem}.staff-action-btn{margin-top:0}@media (min-width:480px){.staff-row-main{flex-direction:row;align-items:flex-start;justify-content:space-between}.staff-row-actions{flex-shrink:0;justify-content:flex-end}}.tier-retention-warning{margin:.75rem 0 0;font-size:.92rem;color:#b45309;font-weight:600}.tier-retention-info{margin:.65rem 0 0;font-size:.88rem;line-height:1.45;color:var(--muted,#667)}.tier-retention-info--risk{color:#92400e}.tier-benefits-card{border:1px solid rgba(180,140,40,.25);background:linear-gradient(180deg,rgba(255,250,240,.95),#fff)}.tier-benefit-item{border-color:rgba(180,140,40,.2)}.tier-benefit-kicker{margin:0 0 .45rem;font-size:.82rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#9a6700}.tier-benefit-title{font-weight:700}.tier-benefit-offer{margin:.35rem 0 0;font-size:.9rem;line-height:1.45;color:var(--text,#222)}.tier-benefit-retention{margin:.55rem 0 .75rem;font-size:.88rem;line-height:1.45;color:var(--muted,#667)}.consumer-view-panel--loyalty{gap:.65rem}.loyalty-empty{margin:0;padding:.85rem 1rem;font-size:.9375rem;color:var(--text-muted);background:var(--white);border:1px dashed var(--shell-border);border-radius:10px}.loyalty-toolbar{width:100%}.loyalty-search-input{display:block;width:100%;padding:.65rem .85rem;font:inherit;font-size:.9375rem;color:var(--text);background:var(--white);border:1px solid var(--shell-border);border-radius:10px}.loyalty-search-input::placeholder{color:var(--text-muted)}.loyalty-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.15rem}.loyalty-pagination-btn{width:auto;margin-top:0;padding:.55rem .85rem;font-size:.875rem;min-height:auto}.loyalty-pagination-status{flex:1 1;text-align:center;font-size:.875rem;color:var(--text-muted)}.visually-hidden{padding:0;margin:-1px;clip:rect(0,0,0,0);border:0}.loyalty-programs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));grid-gap:.65rem;gap:.65rem;width:100%}.loyalty-tile{--tile-accent:var(--tiffany);--tile-bg:none;position:relative;display:flex;flex-direction:column;gap:.55rem;padding:.85rem .95rem .75rem;background:var(--white);border:1px solid var(--shell-border);border-left:3px solid var(--tile-accent);border-radius:12px;box-shadow:0 2px 12px rgba(15,23,42,.06);text-align:left;overflow:hidden;isolation:isolate}.loyalty-tile--has-bg{min-height:9.5rem;border-left-color:var(--tile-accent);color:#fff}.loyalty-tile--has-bg:before{content:"";position:absolute;inset:0;background-image:var(--tile-bg);background-size:cover;background-position:50%;background-repeat:no-repeat;transform:scale(1.04);z-index:0}.loyalty-tile--has-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(8,18,28,.82),rgba(8,18,28,.52) 42%,rgba(8,18,28,.78));z-index:1}.loyalty-tile--has-bg .loyalty-tile-foot,.loyalty-tile--has-bg .loyalty-tile-main{position:relative;z-index:2}.loyalty-tile:not(.loyalty-tile--has-bg){background:linear-gradient(135deg,color-mix(in srgb,var(--tile-accent) 10%,#fff) 0,#fff 55%)}.loyalty-tile-main{display:flex;align-items:flex-start;gap:.65rem;min-width:0}.loyalty-tile-mark{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:7px;color:#fff;font-weight:800;font-size:.95rem;letter-spacing:-.02em}.loyalty-tile-body{flex:1 1;min-width:0}.loyalty-tile-name{margin:0;font-size:1rem;font-weight:800;line-height:1.25;letter-spacing:-.02em}.loyalty-tile--has-bg .loyalty-tile-name{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}.loyalty-tile-stars{margin:.2rem 0 0;font-size:.8125rem;font-weight:700;color:var(--text-muted);letter-spacing:.01em}.loyalty-tile--has-bg .loyalty-tile-stars{color:rgba(255,255,255,.82)}.loyalty-tile .star-row{gap:.2rem;margin:.35rem 0 .25rem}.loyalty-tile .star{font-size:1.05rem;line-height:1}.loyalty-tile--has-bg .star{color:rgba(255,255,255,.28);text-shadow:0 1px 2px rgba(0,0,0,.25)}.loyalty-tile--has-bg .star.filled{color:#fbbf24}.loyalty-tile-reward{margin:0;font-size:.8125rem;line-height:1.35;color:var(--text-muted)}.loyalty-tile--has-bg .loyalty-tile-reward{color:rgba(255,255,255,.88)}.loyalty-tile-foot{padding-top:.35rem;border-top:1px solid var(--shell-border)}.loyalty-tile--has-bg .loyalty-tile-foot{border-top-color:rgba(255,255,255,.18)}.loyalty-tile--has-bg .leave-program-btn{color:rgba(255,255,255,.82)}.loyalty-tile--has-bg .leave-program-btn:hover{color:#fff}.loyalty-tile--has-bg .section-hint{color:rgba(255,255,255,.88)}.loyalty-tile--redeem-ready{border-left-width:4px;border-left-color:#fbbf24;min-height:11rem}.loyalty-tile--redeem-ready.loyalty-tile--has-bg:after{background:linear-gradient(155deg,rgba(8,18,28,.88),rgba(8,18,28,.62) 45%,rgba(120,83,10,.55))}.loyalty-tile--redeem-ready:not(.loyalty-tile--has-bg){background:linear-gradient(135deg,color-mix(in srgb,var(--tile-accent) 18%,#fff) 0,#fffbf0 100%);border-left-color:#fbbf24}.loyalty-tile-ready-top{position:relative;z-index:2;display:flex;flex-direction:column;gap:.35rem}.loyalty-tile-ready-badge{align-self:flex-start;padding:.28rem .65rem;border-radius:999px;background:#fbbf24;color:#1a1200;font-size:.6875rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.loyalty-tile-ready-body{position:relative;z-index:2;display:flex;flex-direction:column;gap:.55rem;flex:1 1}.loyalty-tile-ready-stars{margin:0;font-size:.875rem;font-weight:700;color:#92400e;letter-spacing:.01em}.loyalty-tile--has-bg .loyalty-tile-ready-stars{color:rgba(255,255,255,.88);text-shadow:0 1px 6px rgba(0,0,0,.3)}.loyalty-tile--redeem-ready .star.filled{color:#fbbf24}.loyalty-tile-ready-offer{margin:0;font-size:1.35rem;font-weight:800;line-height:1.2;letter-spacing:-.03em}.loyalty-tile--has-bg .loyalty-tile-ready-offer{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}.loyalty-tile-ready-hint{margin:0;font-size:.8125rem;line-height:1.45;color:var(--text-muted)}.loyalty-tile--has-bg .loyalty-tile-ready-hint{color:rgba(255,255,255,.86)}.loyalty-tile-qr-btn{align-self:stretch;margin-top:.15rem;font-size:.875rem;padding:.65rem 1rem}.loyalty-tile--has-bg .loyalty-tile-qr-btn{background:#fff;color:#1a2b3c;border:none}.loyalty-tile--has-bg .loyalty-tile-qr-btn:hover{background:#fbbf24;color:#1a1200}.loyalty-tile-foot .leave-program-btn{margin-top:.35rem;font-size:.8125rem}.loyalty-tile-foot .leave-confirm{margin-top:.35rem}.balance-stat-card{text-align:center;padding:1.35rem 1.25rem}.balance-stat-head{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-bottom:.75rem}.balance-stat-logo{object-fit:contain}.balance-stat-logo,.balance-stat-mark{width:2.5rem;height:2.5rem;border-radius:8px}.balance-stat-mark{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem}.leave-program-btn{margin-top:.75rem}.leave-confirm{margin-top:.85rem;text-align:left}.leave-confirm-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.consumer-account-card{margin-top:1rem;text-align:left}.consumer-view-tabs{display:flex;gap:1.25rem;margin:0 0 .65rem;border-bottom:1px solid var(--shell-border)}.consumer-view-tab{background:none;padding:.5rem 0 .75rem;font:inherit;font-size:.9375rem;font-weight:700;color:var(--text-muted);cursor:pointer;border:none;border-bottom:3px solid transparent;margin-bottom:-1px}.consumer-view-tab:focus{outline:none}.consumer-view-tab:focus-visible{border-radius:6px;box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--tiffany)}.consumer-view-tab--active{color:var(--text);border-bottom-color:var(--tiffany)}.consumer-view-panel{display:flex;flex-direction:column;gap:.65rem}.page--balance .consumer-view-panel,.page--balance .consumer-view-tabs{max-width:26rem;width:100%;margin-left:auto;margin-right:auto}.consumer-view-panel--wallet{gap:0}.passport-identity-card{margin:0;padding:0}.passport-offline-banner{margin:0 0 .75rem;padding:.5rem .75rem;border-radius:10px;background:rgba(180,120,0,.12);color:#8a5a00;font-size:.85rem}.passport-device-mock{background:var(--brand-darker,oklch(.24 .06 200));border-radius:22px;padding:14px;box-shadow:0 24px 48px -28px oklch(.2 .06 200/.55);width:100%;max-width:26rem;margin:0 auto}.passport-device-screen{background:var(--white);border-radius:16px;padding:18px 18px 16px;color:var(--ink,var(--text))}.passport-identity-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.passport-identity-head .brandline{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.9rem}.passport-identity-head .fine{font-size:.82rem;color:var(--text-muted);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42%}.passport-qr-stack{display:flex;flex-direction:column;align-items:center;width:100%;gap:.55rem}.passport-qr-frame{width:min(190px,68vw);margin:0;padding:10px;border-radius:14px;background:#fff;border:1px solid var(--shell-border,rgba(0,0,0,.08))}.passport-qr-frame img{display:block;width:100%;height:auto;border-radius:8px}.passport-qr-frame--empty{min-height:190px;display:grid;place-items:center}.passport-member-code{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:100%;max-width:min(190px,68vw);margin:0;text-align:center}.passport-member-code-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.passport-member-code-value{display:inline-flex;padding:.3rem .7rem;border-radius:999px;background:rgba(10,186,181,.12);color:var(--tiffany-dark);font-weight:700;font-size:.88rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.passport-identity-caption{margin:0;text-align:center;font-size:.85rem;color:var(--text-muted);font-weight:600;max-width:22ch}.passport-identity-hint{margin:.85rem 0 0;text-align:center;color:var(--text-muted);font-size:.88rem}.wallet-panel{display:flex;flex-direction:column;gap:0;padding:0;border:1px solid var(--shell-border);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);overflow:hidden}.wallet-refresh-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:auto;min-height:1.85rem;margin:0;padding:.25rem .65rem;border:1px solid var(--shell-border);border-radius:999px;background:var(--white);color:var(--text-muted);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.wallet-refresh-btn:focus-visible,.wallet-refresh-btn:hover:not(:disabled){border-color:rgba(10,186,181,.45);color:var(--tiffany-dark);background:rgba(10,186,181,.06)}.wallet-refresh-btn:disabled{opacity:.65;cursor:default}.wallet-pull-hint{margin:0;font-size:.82rem}.wallet-empty,.wallet-pull-hint{text-align:center;color:var(--text-muted)}.wallet-empty{margin:0 auto;padding:1rem;max-width:26rem}.wallet-section{display:flex;flex-direction:column;gap:.45rem;padding:.85rem .9rem}.wallet-section+.wallet-section{padding-top:.75rem;border-top:1px solid var(--shell-border)}.wallet-section-head{padding:0}.wallet-section-head--row{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.wallet-section-head--row>div{min-width:0}.wallet-section-title{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.wallet-section-lead{margin:.1rem 0 0;font-size:.8rem;color:var(--text-muted)}.wallet-item-list{display:flex;flex-direction:column;gap:.45rem}.wallet-membership-card{width:100%;border:1px solid rgba(0,0,0,.06);border-left:4px solid var(--wallet-accent,var(--tiffany));border-radius:12px;background:#fff;overflow:hidden;transition:box-shadow .15s ease}.wallet-membership-card:not(.wallet-membership-card--expanded):hover{box-shadow:0 8px 20px rgba(0,0,0,.06)}.wallet-membership-card--expanded{box-shadow:0 10px 24px rgba(0,0,0,.07)}.wallet-membership-card--pulse{animation:wallet-pulse 2s ease}@keyframes wallet-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--wallet-accent,var(--tiffany)) 35%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--wallet-accent,var(--tiffany)) 0%,transparent)}}.wallet-membership-card__summary{display:flex;align-items:center;justify-content:space-between;gap:.65rem;width:100%;padding:.7rem .75rem;border:none;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}.wallet-membership-card__main{display:flex;align-items:center;gap:.6rem;min-width:0;flex:1 1}.wallet-membership-card__copy{min-width:0}.wallet-membership-card__head{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.wallet-membership-card__name{font-weight:700;color:var(--text)}.wallet-membership-card__ready{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .45rem;border-radius:999px;background:rgba(30,132,73,.14);color:#1e8449}.wallet-membership-card__subtitle{margin:.15rem 0 0;font-size:.84rem;color:var(--text-muted)}.wallet-membership-card__cta{display:inline-flex;align-items:center;margin-top:.3rem;font-size:.78rem;font-weight:700;color:var(--tiffany-dark)}.wallet-membership-card--expanded .wallet-membership-card__cta{color:var(--text-muted)}.wallet-membership-card__meta{display:flex;flex-direction:column;align-items:center;gap:.2rem;flex-shrink:0}.wallet-membership-card__chevron{color:var(--text-muted);transition:transform .25s ease,color .15s ease}.wallet-membership-card__chevron--open{transform:rotate(180deg);color:var(--tiffany-dark)}.wallet-membership-card__detail{border-top:1px solid var(--shell-border);background:rgba(0,0,0,.015)}.wallet-membership-card__detail-inner{padding:.7rem .75rem .75rem}.wallet-membership-card__progress-label{margin:0;font-size:.82rem;color:var(--text-muted);line-height:1.35}.wallet-membership-card__detail .star-row{margin:.35rem 0 .25rem;gap:.15rem}.wallet-membership-card__detail .star{font-size:.9rem}.wallet-membership-card__reward{margin:.15rem 0 0;font-size:.86rem;font-weight:700;color:var(--text)}.wallet-membership-card__reward-label{font-weight:600;color:var(--text-muted)}.wallet-membership-card__qr{width:100%;margin:.55rem 0 0;min-height:2.25rem;padding:.45rem .75rem;font-size:.85rem}.wallet-membership-card__foot{margin-top:.55rem;padding-top:.55rem;border-top:1px solid var(--shell-border)}.wallet-membership-card__leave{width:100%;text-align:left;padding:0;font-size:.82rem}.wallet-membership-card__foot .leave-confirm{margin-top:0}.wallet-membership-card__foot .leave-confirm-actions{margin-top:.45rem}.wallet-membership-card__foot .leave-confirm-actions .btn-primary,.wallet-membership-card__foot .leave-confirm-actions .btn-secondary{width:auto;min-height:2rem;margin-top:0;padding:.4rem .75rem;font-size:.82rem}.merchant-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;overflow:hidden;color:#fff;font-weight:700;flex-shrink:0}.merchant-brand-mark--compact{width:36px;height:36px;border-radius:10px;font-size:.9rem}.merchant-brand-mark img{width:100%;height:100%;object-fit:cover}.star-progress-ring{position:relative;flex-shrink:0}.star-progress-ring svg{display:block}.star-progress-ring-track{stroke:rgba(0,0,0,.08)}.star-progress-ring-fill{stroke:var(--ring-accent,var(--tiffany));stroke-linecap:round;transition:stroke-dashoffset .35s ease}.star-progress-ring-label{position:absolute;inset:0;display:grid;place-items:center;font-size:.72rem;font-weight:700;color:var(--text)}.wallet-recent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.wallet-recent-item{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.5rem .6rem;border-radius:10px;border:1px solid var(--shell-border);background:rgba(0,0,0,.02)}.wallet-recent-item strong{display:block;font-size:.92rem}.wallet-recent-date{display:block;margin-top:.15rem;font-size:.78rem;color:var(--text-muted)}.wallet-recent-stars{font-weight:700;color:var(--tiffany-dark);white-space:nowrap}.consumer-account-actions{display:flex;flex-direction:column;gap:.65rem;margin-top:.75rem;padding-top:.85rem;border-top:1px solid rgba(0,0,0,.06)}.consumer-account-delete{margin-top:.5rem}.consumer-account-delete-title{margin:0 0 .35rem;font-size:1rem;font-weight:600}.btn-danger,.btn-primary.btn-danger{background:#b91c1c;border-color:#b91c1c;color:#fff}.btn-danger-outline,.btn-secondary.btn-danger-outline{border-color:#b91c1c;color:#b91c1c}.btn-danger-outline:hover,.btn-secondary.btn-danger-outline:hover{background:rgba(185,28,28,.06)}.consumer-contact-link{display:inline-flex;align-items:center;font-weight:600;color:var(--tiffany-dark);text-decoration:none}.consumer-contact-link:hover{text-decoration:underline}.balance-tier-card{text-align:center;padding:1.15rem 1.25rem 1.25rem}.tier-status-eyebrow{margin:0 0 .65rem;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#667)}.tier-badge-row{display:flex;gap:.65rem;margin-bottom:.5rem}.tier-badge,.tier-badge-row{align-items:center;justify-content:center}.tier-badge{display:inline-flex;width:2.5rem;height:2.5rem;border-radius:999px;font-weight:700;font-size:1rem;color:#fff;background:linear-gradient(135deg,#6b7c86,#4f5d66)}.tier-badge--silver{background:linear-gradient(135deg,#c7d0d8,#8a98a5)}.tier-badge--gold{background:linear-gradient(135deg,#f0c75e,#c9922e)}.tier-badge--regular{background:linear-gradient(135deg,#7aa8a4,var(--tiffany,#0abab5))}.tier-name{font-size:1.2rem;font-weight:700;color:var(--text)}.tier-progress-primary{margin:0;font-size:1rem;color:var(--muted,#556)}.surprise-rewards-card{border:1px solid rgba(138,84,198,.22);background:linear-gradient(180deg,rgba(248,240,255,.95),#fff)}.surprise-head-icon{font-size:1.1rem;line-height:1}.surprise-reward-item{border-color:rgba(138,84,198,.18)}.surprise-expiry{margin:.35rem 0 .5rem;font-size:.85rem;color:#7a4ea8}.balance-remaining-primary{margin:0 0 1rem;font-size:1.75rem;font-weight:700;color:var(--text);line-height:1.2}.balance-progress-bar{width:100%;height:.5rem;margin:0 0 1rem;background:#e8ecec;border-radius:999px;overflow:hidden}.balance-progress-fill{height:100%;width:0;background:var(--tiffany);border-radius:999px;transition:width .25s ease}.balance-stat-card .stat-big{margin:.15rem 0 .5rem}.referral-box{border:1px solid rgba(10,186,181,.15)}@media (max-width:360px){h1{font-size:1.35rem}.stat-big{font-size:2rem}.star{font-size:1.5rem}}.page--till main>.card,.page--till main>.message,.page--till main>.page-hero,.page--till main>.till-grid,.page:not(.page--till) main>.card,.page:not(.page--till) main>.message,.page:not(.page--till) main>.page-hero,.page:not(.page--till) main>.till-note,.page:not(.page--till) main>h2.section-title{max-width:28rem;width:100%;margin-inline:auto}@media (min-width:720px){.page--till main>.till-grid{max-width:56rem}}.event-html-content{font-size:.95rem;line-height:1.55;margin:.35rem 0 .75rem}.event-html-content blockquote,.event-html-content ol,.event-html-content p,.event-html-content ul{margin:.35rem 0}.event-html-content ol,.event-html-content ul{padding-left:1.25rem}.event-html-content h2,.event-html-content h3,.event-html-content h4{margin:.5rem 0 .25rem;font-size:1rem}.event-html-content a{color:var(--color-primary,#0abab5);text-decoration:underline}.pe-hub{margin-bottom:.85rem}.pe-hub--error,.pe-hub--loading{padding:.25rem 0}.pe-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.35rem;gap:.35rem;min-width:0}.pe-tile{min-width:0;padding:.38rem .3rem .42rem;border:1px solid var(--shell-border);border-radius:10px;background:var(--white);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:.12rem;text-align:center;font:inherit}button.pe-tile{cursor:pointer}.pe-tile-label{width:100%;font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.pe-tile-mark{flex-shrink:0;width:1.35rem;height:1.35rem;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;color:#fff}.pe-tile-value{width:100%;font-size:.6875rem;font-weight:800;line-height:1.15;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pe-tile-value--streak{font-size:.8125rem;color:#c2410c}.pe-tile-value--muted{font-weight:600;color:var(--text-muted)}.pe-tile-meta{width:100%;font-size:.5rem;line-height:1.2;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pe-tile-bar{width:100%;height:.22rem;margin-top:.05rem;border-radius:999px;background:rgba(232,160,61,.2);overflow:hidden}.pe-tile-bar-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e8a03d,#fbbf24)}.pe-tile--action.pe-tile--breakage{border-color:rgba(30,132,73,.35);background:linear-gradient(160deg,#f4fbf6,#fff)}.pe-tile--action.pe-tile--progress{border-color:rgba(10,186,181,.3);background:linear-gradient(160deg,var(--tiffany-light),#fff)}.pe-tile--challenge{background:linear-gradient(160deg,#fff8ef,#fff);border-color:rgba(232,160,61,.25)}.pe-tile--streak{background:linear-gradient(160deg,#fff4e8,#fff);border-color:rgba(232,160,61,.2)}.pe-tile--discover{border-color:rgba(10,186,181,.25);background:linear-gradient(160deg,var(--tiffany-light),#fff)}.pe-tile--empty{opacity:.45;pointer-events:none}:root{--brand:oklch(0.70 0.11 195);--brand-btn:oklch(0.50 0.10 196);--brand-dark:oklch(0.40 0.09 197);--brand-darker:oklch(0.24 0.06 200);--gold:oklch(0.78 0.13 85);--gold-ink:oklch(0.32 0.09 85);--ink:oklch(0.20 0.02 195);--muted:oklch(0.38 0.02 195);--bg:oklch(0.985 0.004 195);--surface:oklch(0.955 0.02 195);--line:oklch(0.87 0.02 195);--white:oklch(1 0 0);--radius:14px;--ease:cubic-bezier(0.16,1,0.3,1);--container:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.55}h1,h2,h3{font-family:Fraunces,serif;font-weight:600;line-height:1.08;margin:0 0 .5em;text-wrap:balance;letter-spacing:-.01em}p{margin:0 0 1em;max-width:65ch}a{color:inherit}img,svg{display:block;max-width:100%}button{font-family:inherit}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--delay,0s)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}html{scroll-behavior:auto}}header.site{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:oklch(.985 .004 195/.86);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.nav-row{justify-content:space-between;padding:14px 0;gap:24px}.logo,.nav-row{display:flex;align-items:center}.logo{gap:10px;font-family:Fraunces,serif;font-weight:600;font-size:1.25rem;text-decoration:none;color:var(--ink)}.logo.logo--product{gap:0;font-size:inherit;font-family:inherit;font-weight:inherit;line-height:0}.logo.logo--product .product-logo-img{display:block;height:2.125rem;width:auto;max-width:min(15rem,52vw);object-fit:contain}.logo .mark{width:30px;height:30px;border-radius:9px;background:var(--brand);color:var(--white)}.logo .mark,nav.primary{display:flex;align-items:center;justify-content:center}nav.primary{gap:28px;flex:1 1}nav.primary a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--ink);position:relative;padding:4px 0}nav.primary a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}nav.primary a:hover:after,nav.primary a[aria-current=page]:after{transform:scaleX(1)}nav.primary a[aria-current=page]{color:var(--brand)}.lang-toggle{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px;font-weight:700;font-size:.82rem;background:var(--white);cursor:pointer}.lang-toggle span{padding:4px 10px;border-radius:999px;display:inline-block}.lang-toggle span.active{background:var(--brand);color:var(--white)}header.site .nav-row .lang-toggle{margin-left:auto}.site-header-signout{margin-right:4px}@media (min-width:901px){header.site .nav-row .nav-toggle{display:none}}.hero{position:relative;background:radial-gradient(120% 140% at 85% -10%,oklch(.6 .15 85/.35),transparent 55%),linear-gradient(180deg,var(--brand-darker),var(--brand-dark) 55%,var(--brand-dark));color:var(--white);overflow:hidden;padding:96px 0 84px}.hero-pattern{position:absolute;inset:0;opacity:.15;pointer-events:none;background-image:radial-gradient(circle,oklch(1 0 0/.7) 1.4px,transparent 1.6px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,black,transparent 85%);mask-image:linear-gradient(180deg,black,transparent 85%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;grid-gap:56px;gap:56px;align-items:center}.eyebrow-tag{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;color:var(--white);background:oklch(1 0 0/.14);border:1px solid oklch(1 0 0/.28);padding:7px 14px;border-radius:999px;margin-bottom:22px}.hero h1{font-size:clamp(2.3rem,4.6vw,3.6rem);color:var(--white);max-width:14ch}.hero p.lead{font-size:1.15rem;color:oklch(.95 .01 195/.88);max-width:46ch}.cta-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px}.btn,.cta-row{align-items:center}.btn{display:inline-flex;gap:10px;font-weight:700;font-size:1rem;text-decoration:none;padding:14px 26px;border-radius:999px;transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .3s var(--ease);border:1px solid transparent;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-solid{background:var(--gold);color:var(--brand-darker)}.btn-solid:hover{box-shadow:0 14px 30px -12px oklch(.78 .13 85/.55)}.btn-ghost{background:transparent;border-color:oklch(1 0 0/.4);color:var(--white)}.btn-ghost:hover{background:oklch(1 0 0/.1)}.btn-outline{background:transparent;border:1px solid var(--line);color:var(--ink)}.side-links{margin-top:18px;display:flex;flex-direction:column;gap:8px;font-size:.92rem;color:oklch(.95 .01 195/.8)}.side-links a{font-weight:700;color:var(--white);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:oklch(1 0 0/.4);text-decoration-color:oklch(1 0 0/.4)}.hero-card{position:relative;background:var(--white);color:var(--ink);border-radius:22px;padding:26px;box-shadow:0 30px 60px -25px oklch(.2 .06 200/.55);transform:rotate(2deg)}.hero-card .row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.hero-card .brandline{display:flex;align-items:center;gap:8px;font-weight:800;font-size:.9rem}.stars{display:flex;gap:6px;margin:14px 0}.star{width:26px;height:26px;color:var(--gold)}.qr-code{width:100%;max-width:190px;margin:8px auto 4px;border-radius:14px;border:1px solid var(--line);padding:10px;background:var(--white);display:block}.hero-card .caption{text-align:center;font-size:.85rem;color:var(--muted);font-weight:600}.page-hero{background:linear-gradient(180deg,var(--brand-darker),var(--brand-dark));color:var(--white);padding:64px 0 56px}.page-hero h1{color:var(--white);font-size:clamp(1.9rem,3.6vw,2.6rem);max-width:20ch}.page-hero p.lead{color:oklch(.95 .01 195/.85);font-size:1.05rem;max-width:52ch}section{padding:96px 0}.section-head{max-width:640px;margin:0 0 52px}.section-head h2{font-size:clamp(1.7rem,3vw,2.4rem)}.section-head p{color:var(--muted);font-size:1.05rem}.alt{background:var(--surface)}.card-split{display:grid;grid-template-columns:1fr 1fr;grid-gap:64px;gap:64px;align-items:center}.check-list{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:16px}.check-list li{display:flex;gap:14px;align-items:flex-start;font-weight:600}.check-list svg{flex:none;width:22px;height:22px;color:var(--brand);margin-top:2px}.device-mock{background:var(--brand-darker);border-radius:28px;padding:22px;box-shadow:0 40px 70px -30px oklch(.2 .05 195/.4)}.device-mock .screen{background:var(--white);border-radius:18px;padding:22px;color:var(--ink)}.device-mock .brandline{display:flex;align-items:center;gap:8px;font-weight:800;margin-bottom:18px}.progress-track{height:10px;border-radius:999px;background:var(--line);overflow:hidden;margin:10px 0 6px}.progress-fill{height:100%;width:70%;background:linear-gradient(90deg,var(--brand),var(--gold));border-radius:999px}.fine{font-size:.82rem;color:var(--muted);font-weight:700}.why-grid{display:grid;grid-template-columns:1.05fr 1fr;grid-gap:64px;gap:64px;align-items:start}.why-feature{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.why-feature:first-child{padding-top:0}.why-feature:last-child{border-bottom:none}.why-feature .num{font-family:Fraunces,serif;font-size:1.4rem;color:var(--brand);font-weight:600;width:2ch}.why-feature h3{font-size:1.05rem;margin-bottom:4px}.why-feature p{color:var(--muted);margin:0;font-size:.98rem}.highlight-block{background:var(--brand-darker);color:var(--white);border-radius:24px;padding:44px;position:relative;overflow:hidden}.highlight-block:before{content:"";position:absolute;inset:-40% -20% auto auto;width:280px;height:280px;background:radial-gradient(circle,oklch(.78 .13 85/.5),transparent 70%)}.highlight-block h3{color:var(--white);font-size:1.6rem;position:relative;max-width:16ch}.highlight-block p{color:oklch(.95 .01 195/.85);position:relative}.highlight-block .quote-mark{font-family:Fraunces,serif;font-size:3rem;color:var(--gold);line-height:1;margin-bottom:6px}.steps{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;counter-reset:step}.step{position:relative;padding:0 22px 0 0}.step:not(:last-child):after{content:"";position:absolute;top:26px;left:0;right:-22px;height:2px;background:var(--line)}.step .step-num{width:52px;height:52px;border-radius:50%;background:var(--white);border:2px solid var(--brand);color:var(--brand);font-family:Fraunces,serif;font-weight:600;font-size:1.2rem;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;margin-bottom:20px}.step h3{font-size:1.05rem}.step p{color:var(--muted);font-size:.95rem}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;align-items:stretch}.plan{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:32px;display:flex;flex-direction:column;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.plan:hover{transform:translateY(-6px);box-shadow:0 24px 50px -28px oklch(.2 .05 195/.35)}.plan.popular{background:var(--brand-darker);color:var(--white);border-color:transparent}.plan .tag{align-self:flex-start;font-size:.78rem;font-weight:800;letter-spacing:.02em;background:var(--gold);color:var(--brand-darker);padding:5px 12px;border-radius:999px;margin-bottom:16px}.plan h3{font-size:1.2rem;margin-bottom:4px}.plan .price{font-family:Fraunces,serif;font-size:2rem;font-weight:600;margin-bottom:18px}.plan.popular .price,.plan.popular h3{color:var(--white)}.plan ul{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:12px;flex:1 1}.plan li{display:flex;gap:10px;font-size:.95rem}.plan li svg{flex:none;width:18px;height:18px;margin-top:3px;color:var(--brand)}.plan.popular li svg{color:var(--gold)}.plan .btn{justify-content:center;width:100%}.plan.popular .btn-outline{background:transparent;border:1px solid oklch(1 0 0/.4);color:var(--white)}.plan:not(.popular) .btn-outline{background:transparent;border:1px solid var(--line);color:var(--ink)}.search-bar{display:flex;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 20px 40px -30px oklch(.2 .05 195/.4);flex-wrap:wrap}.search-field{flex:1 1;min-width:180px;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px}.search-field:not(:last-of-type){border-right:1px solid var(--line)}.search-field svg{flex:none;width:18px;height:18px;color:var(--muted)}.search-field input{border:none;outline:none;font:inherit;font-size:.95rem;width:100%;background:transparent;color:var(--ink)}.search-field input::placeholder{color:var(--muted)}.search-bar .btn{padding:12px 22px}.shop-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.shop-row{display:flex;align-items:center;gap:18px;padding:20px 4px;border-bottom:1px solid var(--line);transition:background .3s var(--ease)}.shop-row:hover{background:var(--surface)}.shop-avatar{flex:none;width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-weight:600;font-size:1.1rem;color:var(--white)}.shop-info{flex:1 1;min-width:0}.shop-info h3{font-size:1rem;margin-bottom:2px}.shop-meta{font-size:.9rem;color:var(--muted);margin:0;display:flex;gap:8px;flex-wrap:wrap}.shop-tag{font-size:.75rem;font-weight:700;color:var(--brand-btn);background:oklch(.7 .11 195/.14);padding:3px 10px;border-radius:999px;flex:none}.shop-row .btn{flex:none;padding:10px 18px;font-size:.9rem}.featured-strip{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;margin-bottom:64px}.featured-card{border-radius:20px;overflow:hidden;position:relative;color:var(--white);min-height:200px;display:flex;align-items:flex-end;padding:22px}.featured-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,oklch(.15 .05 195/.85))}.featured-card .content{position:relative}.featured-card .tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.02em;background:var(--gold);color:var(--brand-darker);padding:4px 10px;border-radius:999px;margin-bottom:8px}.featured-card h3{color:var(--white);font-size:1.1rem;margin-bottom:2px}.featured-card p{color:oklch(.95 .01 195/.85);font-size:.85rem;margin:0}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.chip{font-size:.88rem;font-weight:700;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--white);cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}.chip.active,.chip:hover{background:var(--brand-btn);color:var(--white);border-color:var(--brand-btn)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:20px;gap:20px}.shop-card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:22px;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}.shop-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -26px oklch(.2 .05 195/.35)}.shop-card .shop-avatar{margin-bottom:14px}.shop-card h3{font-size:1.02rem;margin-bottom:2px}.auth-wrap{max-width:440px;margin:0 auto}.auth-wrap--merchant{max-width:min(100%,600px)}.auth-card{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:38px;box-shadow:0 30px 60px -34px oklch(.2 .05 195/.45)}.auth-card h2{font-size:1.4rem;margin-bottom:6px}.auth-card .lead-sm{color:var(--muted);font-size:.95rem;margin-bottom:24px}.field{margin-bottom:16px}.field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:6px}.field input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);font:inherit;font-size:.95rem;outline:none;transition:border-color .25s var(--ease);background:var(--white);color:var(--ink)}.field input:focus{border-color:var(--brand)}.auth-card .btn{width:100%;justify-content:center;margin-top:6px}.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--muted);font-size:.85rem}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--line)}.auth-switch{text-align:center;font-size:.9rem;color:var(--muted);margin-top:18px}.auth-switch a{color:var(--brand-btn);font-weight:700;text-decoration:underline;text-underline-offset:3px}.passport-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:20px;gap:20px}.passport-card{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:24px}.passport-card .row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.passport-card .brandline{display:flex;align-items:center;gap:10px;font-weight:800}.reward-banner{margin-top:14px;background:oklch(.78 .13 85/.16);border:1px dashed var(--gold-ink);color:var(--gold-ink);font-weight:700;font-size:.85rem;padding:10px 12px;border-radius:12px;text-align:center}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px;margin-bottom:40px}.stat-tile{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:24px}.stat-tile .value{font-family:Fraunces,serif;font-size:2rem;font-weight:600}.stat-tile .label{color:var(--muted);font-size:.88rem;font-weight:600}.stat-tile .delta{font-size:.8rem;font-weight:700;color:oklch(.5 .14 150)}.table-wrap{background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden}table.data{width:100%;border-collapse:collapse;font-size:.92rem}table.data th{text-align:left;padding:14px 20px;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--surface);font-weight:700}table.data td{padding:14px 20px;border-top:1px solid var(--line)}table.data tr:hover td{background:oklch(.955 .012 195/.6)}.pill{font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:999px}.pill.redeemed{background:oklch(.5 .14 150/.14);color:oklch(.4 .12 150)}.pill.pending{background:oklch(.78 .13 85/.2);color:var(--gold-ink)}footer.site{background:var(--brand-darker);color:oklch(.95 .01 195/.85);padding:56px 0 32px}.footer-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;padding-bottom:32px;border-bottom:1px solid oklch(1 0 0/.15)}footer.site .logo{color:var(--white)}.footer-links{display:flex;gap:28px;flex-wrap:wrap;font-weight:600;font-size:.92rem}footer.site a{text-decoration:none}footer.site a:hover{text-decoration:underline}.footer-bottom{padding-top:24px;font-size:.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-card{transform:none;max-width:360px}.card-split,.why-grid{grid-template-columns:1fr;gap:40px}.steps{grid-template-columns:1fr 1fr;row-gap:36px}.step:nth-child(2):after{display:none}.featured-strip,.pricing-grid{grid-template-columns:1fr}.stat-row{grid-template-columns:1fr 1fr}nav.primary{display:none}.search-field:not(:last-of-type){border-right:none}.search-bar{flex-direction:column}}@media (max-width:560px){.steps{grid-template-columns:1fr}.step:after{display:none}section{padding:64px 0}.stat-row{grid-template-columns:1fr}.shop-row{flex-wrap:wrap}}body.marketing{margin:0;font-family:Manrope,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}.marketing-main{min-height:50vh}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:1rem;text-decoration:none;padding:14px 26px;border-radius:999px;border:1px solid transparent;cursor:pointer;font-family:inherit;background:var(--gold);color:var(--brand-darker);transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .3s var(--ease)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 30px -12px oklch(.78 .13 85/.55)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary--large{padding:16px 30px;font-size:1.05rem}.btn-primary--teal{background:var(--brand-btn);color:var(--white)}.btn-primary--teal:hover{box-shadow:0 14px 30px -12px oklch(.5 .1 196/.45)}.btn-outline.btn-secondary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:1rem;text-decoration:none;padding:14px 26px;border-radius:999px;background:transparent;border:1px solid var(--line);color:var(--ink);cursor:pointer;font-family:inherit;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}.btn-secondary:hover{transform:translateY(-2px)}.btn-text{background:none;border:none;padding:0;font:inherit;cursor:pointer}.btn-link,.btn-text{font-weight:700;color:var(--brand-btn);text-decoration:underline;text-underline-offset:3px}.field-group{margin-bottom:16px}.field-group label{display:block;font-size:.85rem;font-weight:700;margin-bottom:6px}.field-group input,.field-group select,.field-group textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);font:inherit;font-size:.95rem;outline:none;transition:border-color .25s var(--ease);background:var(--white);color:var(--ink)}.field-group input:focus{border-color:var(--brand)}.field-hint,.section-hint{font-size:.85rem;color:var(--muted);margin:6px 0 0}.merchant-panel-card,.signup-card{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:0 30px 60px -34px oklch(.2 .05 195/.45)}.signup-submit{width:100%}.signup-footnote{font-size:.85rem;color:var(--muted);text-align:center;margin:14px 0 0}.signup-message{padding:14px 16px;border-radius:12px;margin-bottom:16px;font-size:.92rem}.signup-message.error{background:oklch(.55 .15 25/.1);color:oklch(.45 .14 25)}.signup-message.info{background:oklch(.7 .11 195/.12);color:var(--brand-dark)}.merchant-mode-switch{display:flex;gap:8px;margin-bottom:24px;padding:6px;background:var(--surface);border-radius:999px}.merchant-mode-tab{flex:1 1;border:none;background:transparent;padding:10px 16px;border-radius:999px;font:inherit;font-weight:700;font-size:.88rem;color:var(--muted);cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease)}.merchant-mode-tab.is-active{background:var(--white);color:var(--ink);box-shadow:0 2px 8px oklch(.2 .05 195/.08)}.merchant-panel-title{font-family:Fraunces,serif;font-size:clamp(1.5rem,3vw,2rem);margin:0 0 8px}.merchant-panel-lead{color:var(--muted);margin:0 0 20px;max-width:52ch}.merchant-panel-eyebrow{font-size:.85rem;font-weight:700;color:var(--brand);margin:0 0 8px}.merchant-feature-list{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px}.merchant-feature-list li{display:flex;gap:10px;font-weight:600;font-size:.95rem}.merchant-feature-list li:before{content:"";flex:none;width:20px;height:20px;margin-top:2px;background:var(--brand);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/contain no-repeat}.merchant-panel-foot,.merchant-panel-hint{text-align:center;font-size:.9rem;color:var(--muted)}.merchant-dev-hint{font-size:.85rem;color:var(--muted);margin-top:12px}.nav-toggle{display:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--white);cursor:pointer;color:var(--ink)}.nav-toggle-icon,.nav-toggle-icon:after,.nav-toggle-icon:before{display:block;width:1.125rem;height:2px;background:currentColor;border-radius:1px;transition:transform .35s var(--ease),opacity .35s var(--ease)}.nav-toggle-icon{position:relative}.nav-toggle-icon:after,.nav-toggle-icon:before{content:"";position:absolute;left:0}.nav-toggle-icon:before{top:-6px}.nav-toggle-icon:after{top:6px}.nav-toggle--open .nav-toggle-icon{background:transparent}.nav-toggle--open .nav-toggle-icon:before{top:0;transform:rotate(45deg)}.nav-toggle--open .nav-toggle-icon:after{top:0;transform:rotate(-45deg)}@media (max-width:900px){.nav-toggle{display:inline-flex}nav.primary{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:oklch(.985 .004 195/.98);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);padding:12px 24px 20px;box-shadow:0 20px 40px -24px oklch(.2 .05 195/.25)}nav.primary.is-open{display:flex}nav.primary a{padding:12px 0}header.site .nav-row{position:relative;flex-wrap:wrap}}.header-link{background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:6px 14px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.legal-main{padding:64px 0}.legal-prose{max-width:720px;margin:0 auto}.legal-prose h1,.legal-prose h2{font-family:Fraunces,serif}.legal-prose h2{font-size:1.25rem;margin-top:2rem}.legal-prose li,.legal-prose p{color:var(--muted);line-height:1.65}.legal-prose__updated{font-size:.9rem;color:var(--muted)}.featured-card .shop-avatar{display:none}.featured-card--has-logo .featured-card-bg{position:absolute;inset:0;background-size:cover;background-position:50%;opacity:.35}.shop-card .shop-avatar{width:48px;height:48px;font-size:1rem;margin-bottom:0}.directory-card-logo{width:48px;height:48px;border-radius:14px;object-fit:cover}.directory-card-mark{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-weight:600;font-size:1rem;color:var(--white)}.page{max-width:var(--container);margin:0 auto;padding:0 24px 64px}main.passport-guest>section{max-width:none;width:100%;margin-inline:0}main.passport-guest>.page-hero{padding-bottom:56px}main.passport-guest>section:has(.auth-wrap){padding-top:0;padding-bottom:72px}main.passport-guest>section.alt{padding-top:80px;padding-bottom:80px}main.passport-guest .page-hero h1{font-family:Fraunces,serif;color:var(--white);font-size:clamp(1.9rem,3.6vw,2.6rem);max-width:20ch}main.passport-guest .page-hero p.lead{color:oklch(.95 .01 195/.88)}main.passport-guest .section-head p{color:var(--muted)}.passport-guest-qr{max-width:280px;margin:56px auto 0;text-align:center}.passport-guest-qr .caption{margin-top:10px;font-size:.85rem;color:var(--muted);font-weight:600}.page--balance .page-hero{padding:1.25rem 0 .75rem;background:none;color:var(--ink)}.page--balance .page-hero .greeting,.page--balance .page-hero h1{color:var(--ink);font-family:Manrope,sans-serif;font-size:1.25rem;font-weight:700;max-width:none}.page--balance .page-hero p.lead,.page--balance .subtitle{color:var(--muted)}.page--balance .auth-card,.page--balance .card{margin-top:0}.section-title{font-family:Fraunces,serif;font-size:1.2rem;margin:0 0 8px}.check-icon{flex:none;width:22px;height:22px;color:var(--brand);margin-top:2px}.plan-feature-icon{flex:none;width:18px;height:18px;margin-top:3px;color:var(--brand)}.plan.popular .plan-feature-icon{color:var(--gold)}