:root{--background:#f7f5ef;--foreground:#272a27;--card:#fffefa;--input:#fff;--muted:#656960;--primary:#31574b;--primary-strong:#234338;--border:#deded4;--danger:#a2352c;--danger-soft:#fff2ef;--success:#31574b;--success-soft:#eef4ed;--info:#3c575c;--info-soft:#eef3f2;--shadow:0 10px 32px #292d2310;--control-radius:6px;--panel-radius:10px;--control-height:48px;--button-padding:0.85rem 1.25rem}*{box-sizing:border-box}html{color-scheme:light;scroll-padding-top:100px}body{margin:0;background:var(--background);color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:15px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #547764;outline-offset:4px}button:disabled{cursor:not-allowed}button:not(:disabled){cursor:pointer}button:hover:not(:disabled){filter:brightness(.96)}input,select{max-width:100%}h1,h2,h3{overflow-wrap:anywhere}p{line-height:1.7}::selection{background:#dbe8df;color:#234338}@keyframes spin{to{transform:rotate(1turn)}}.brand{display:inline-flex;align-items:center;gap:.7rem;font-weight:650;letter-spacing:-.02em}.brand span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #b7c7ba;color:var(--primary);border-radius:50%;font-family:Georgia,serif;font-size:23px;font-weight:400}.home-nav{max-width:1280px;margin:auto;padding:1.1rem clamp(1rem,4vw,3rem);justify-content:space-between;border-bottom:1px solid var(--border);gap:1rem}.home-nav,.home-nav>div{display:flex;align-items:center}.home-nav>div{gap:1.3rem;font-size:13px}.home-nav a{min-height:44px;display:inline-flex;align-items:center}.nav-cta{border:1px solid var(--primary);color:var(--primary);padding:.7rem 1rem;border-radius:6px}.hero{max-width:1280px;margin:auto;padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,3rem);display:grid;grid-template-columns:1.1fr .9fr;grid-gap:clamp(2rem,6vw,5rem);gap:clamp(2rem,6vw,5rem);align-items:center}.auth-intro h1,.hero h1{font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:clamp(2.6rem,5.3vw,4.7rem);line-height:1.08;letter-spacing:-.035em;margin:1rem 0 1.5rem}.auth-intro>p,.hero-copy{font-size:1rem;line-height:1.8;color:var(--muted);max-width:540px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:650;font-size:.7rem;color:var(--primary)}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.75rem}.entry-panel{background:#eeece3;padding:clamp(1.5rem,4vw,3rem);border-radius:8px;border:1px solid #e2e0d5}.entry-panel h2{font-family:Georgia,serif;font-size:2rem;font-weight:400;margin:.6rem 0}.entry-panel form{display:grid;grid-gap:.85rem;gap:.85rem;margin-top:1.5rem}.entry-panel input{width:100%;min-height:48px;background:#fff;border:1px solid var(--border);padding:.8rem;border-radius:6px}.entry-panel label{font-size:13px;display:grid;grid-gap:.5rem;gap:.5rem;font-weight:600}.home-foot{max-width:1184px;margin:1rem auto;padding:1.4rem 0;border-top:1px solid var(--border);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:1rem}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;align-items:center;grid-gap:clamp(2rem,7vw,6rem);gap:clamp(2rem,7vw,6rem);max-width:1140px;margin:auto;padding:clamp(1.25rem,5vw,4rem)}.auth-intro .brand{margin-bottom:2.5rem}.auth-intro h1{font-size:clamp(2.3rem,4vw,3.8rem)}.trust-list{padding:1.3rem 0 0;border-top:1px solid var(--border);display:grid;grid-gap:.8rem;gap:.8rem;list-style:none;color:var(--muted);font-size:13px}.trust-list li:before{content:"—";color:var(--primary);margin-right:.7rem}.auth-card{max-width:460px;width:100%;justify-self:end}.auth-card h1,.auth-card h2{font-family:Georgia,serif;font-weight:400;font-size:2.2rem;margin:0}.auth-card p{font-size:13px}.muted{color:var(--muted);line-height:1.7}.form-stack{display:grid;grid-gap:1.15rem;gap:1.15rem;margin-top:1.5rem;font-size:13px}.form-stack>button{min-height:48px}.auth-switch{text-align:center;color:var(--muted);margin:1.5rem 0 0}.auth-switch a{color:var(--primary);font-weight:650;text-decoration:underline;text-underline-offset:4px}.auth-back{display:inline-flex;margin-top:1rem;min-height:44px;align-items:center;font-size:13px;color:var(--primary)}.auth-setup .auth-card{justify-self:center;grid-column:1/-1;max-width:540px}.auth-card input[type=checkbox]{accent-color:var(--primary);width:18px;height:18px;vertical-align:middle}.auth-card [role=alert]{overflow-wrap:anywhere}@media (max-width:760px){.auth-shell,.hero{grid-template-columns:1fr}.hero{padding-top:2rem}.auth-shell{gap:1.5rem;align-content:start}.auth-intro .brand{margin-bottom:1.5rem}.auth-intro h1{font-size:2.6rem}.auth-card{justify-self:stretch;max-width:none}.trust-list{display:none}.home-nav>div{gap:.8rem}.home-foot{margin:1rem;flex-direction:column}.hero h1{font-size:3.2rem}.auth-intro>p{margin-bottom:0}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition:none!important}}.loyalty-account{max-width:960px;margin:auto;padding:24px}.loyalty-account-head,.loyalty-account-head nav{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.loyalty-account-head{padding:16px 0 28px}.loyalty-account-card{background:#fff;border:1px solid #e3e8e4;border-radius:20px;padding:clamp(20px,5vw,48px)}.loyalty-account-card label{display:grid;grid-gap:8px;gap:8px;margin:24px 0}.loyalty-account-card button,.loyalty-account-card select{min-height:44px;padding:10px 16px;border-radius:9px;border:1px solid #cbd5d1;background:#fff;color:#163d34;max-width:100%}.loyalty-account-card nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.loyalty-balance{display:grid;grid-gap:8px;gap:8px;padding:28px;background:#eff7f2;border-radius:16px;margin:24px 0}.loyalty-balance strong{font-size:clamp(32px,8vw,56px);overflow-wrap:anywhere}.loyalty-transactions{list-style:none;padding:0}.loyalty-transactions li{border-bottom:1px solid #e3e8e4;padding:20px 0;overflow-wrap:anywhere}.loyalty-transactions li>div{display:flex;justify-content:space-between;gap:16px}.loyalty-transactions time{display:block;color:#52665d;font-size:14px;margin-top:8px}.loyalty-account a:focus-visible,.loyalty-account button:focus-visible,.loyalty-account select:focus-visible{outline:3px solid #36785d;outline-offset:3px}@media(max-width:480px){.loyalty-account{padding:12px}.loyalty-transactions li>div{flex-wrap:wrap}}