.reward-shell{padding:60px 0 140px;max-width:980px}.reward-shell header h1{font:clamp(54px,9vw,96px)/.88 var(--serif);color:var(--plum);margin:9px 0}.reward-shell header h1 em{color:var(--pink)}.reward-shell header p{max-width:650px;color:var(--muted);line-height:1.65}.reward-hero{margin:28px 0 18px;padding:26px;border-radius:28px;border:1px solid var(--border);background:linear-gradient(135deg,#fff0f7,#fff9fc);box-shadow:0 18px 50px rgba(80,24,52,.08)}.reward-hero h2{font:36px/1 var(--serif);color:var(--plum);margin:5px 0}.reward-hero p{color:var(--muted)}.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reward-card{padding:20px;border:1px solid var(--border);border-radius:22px;background:#fff}.reward-card strong{display:block;font:25px/1 var(--serif);color:var(--plum);margin:5px 0}.reward-card small{color:var(--muted)}.reward-card .btn{margin-top:14px}.passport-section{margin-top:54px;padding-top:36px;border-top:1px solid var(--border)}.passport-head{display:flex;justify-content:space-between;gap:24px;align-items:end}.passport-head h2{font:clamp(44px,7vw,72px)/.9 var(--serif);color:var(--plum);margin:7px 0}.passport-head h2 em{color:var(--pink)}.passport-head p{max-width:680px;color:var(--muted);font-size:11px;line-height:1.6}.passport-total{flex:0 0 auto;display:grid;place-items:center;width:105px;height:105px;border:1px solid var(--border);border-radius:30px;background:linear-gradient(145deg,#fff,#fff0f7);transform:rotate(2deg)}.passport-total strong{font:42px/1 var(--serif);color:var(--pink)}.passport-total span{font-size:7px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:900}.passport-families{display:flex;gap:7px;overflow:auto;padding:18px 0 10px;scrollbar-width:none}.passport-families button{flex:0 0 auto;display:flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;background:var(--paper);padding:8px 10px;color:var(--plum);font-size:8px;font-weight:900}.passport-families button small{display:grid;place-items:center;min-width:18px;height:18px;border-radius:50%;background:var(--pink-pale);color:var(--pink)}.passport-families button.active{background:var(--plum);color:#fff;border-color:var(--plum)}.passport-families button.active small{background:#fff;color:var(--plum)}.passport-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.passport-stamp{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:start;padding:17px;border:1px solid var(--border);border-radius:20px;background:var(--paper);box-shadow:0 10px 28px rgba(60,20,40,.05)}.passport-stamp.private{opacity:.7}.passport-seal{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:linear-gradient(145deg,var(--pink-pale),var(--paper));border:1px solid var(--border);font-size:24px}.passport-stamp small,.passport-stamp strong,.passport-stamp p{display:block}.passport-stamp small{font-size:7px;letter-spacing:.1em;text-transform:uppercase;color:var(--pink);font-weight:900}.passport-stamp strong{font:22px/1 var(--serif);color:var(--plum);margin:5px 0}.passport-stamp p{font-size:9px;line-height:1.45;color:var(--muted);margin:0}.passport-stamp a{display:inline-flex;margin-top:8px;color:var(--pink);font-size:8px;font-weight:900}.passport-stamp label{display:flex;align-items:center;gap:5px;font-size:7px;color:var(--muted)}.passport-stamp label input{accent-color:var(--pink)}.passport-empty{grid-column:1/-1;padding:28px;border:1px dashed var(--border);border-radius:20px;text-align:center;color:var(--muted)}.passport-empty b{display:block;font:25px var(--serif);color:var(--plum)}@media(max-width:640px){.reward-shell{padding-top:38px}.reward-grid,.passport-grid{grid-template-columns:1fr}.reward-hero{padding:20px}.passport-head{display:block}.passport-total{margin-top:14px;width:88px;height:88px}.passport-stamp{grid-template-columns:auto 1fr}.passport-stamp label{grid-column:2}}