:root{--forest-950:#12362f;--forest-900:#18473d;--forest-800:#245d50;--forest-650:#3f7c68;--mint-100:#dceae3;--cream-50:#fbf8f0;--cream-100:#f3ecde;--coffee-700:#7b5034;--gold-500:#c6a15b;--ink:#17312b;--muted:#60736d;--danger:#a13d38;--line:#17312b26;--shadow:0 28px 90px #051c1742}*{box-sizing:border-box}html{background:var(--forest-950);min-height:100%}body{background:var(--cream-50);min-height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--forest-800)}.auth-page{background:radial-gradient(circle at 10% 15%, #ffffff1a, transparent 26%), radial-gradient(circle at 92% 82%, #c6a15b2e, transparent 24%), var(--forest-950);place-items:center;min-height:100vh;padding:32px;display:grid}.auth-shell{background:var(--cream-50);width:min(100%,1060px);min-height:690px;box-shadow:var(--shadow);border:1px solid #ffffff24;border-radius:30px;grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);display:grid;overflow:hidden}.brand-panel{background:linear-gradient(140deg, #12362ff5, #245d50e6), var(--forest-900);color:#fffdf7;flex-direction:column;padding:56px 58px 48px;display:flex;position:relative;overflow:hidden}.brand-panel:before,.brand-panel:after{content:"";border:1px solid #ffffff1f;border-radius:50%;position:absolute}.brand-panel:before{width:430px;height:430px;top:-190px;right:-260px}.brand-panel:after{width:260px;height:260px;bottom:-120px;left:-155px}.brand-lockup{z-index:1;letter-spacing:.22em;align-items:center;gap:13px;font-size:13px;font-weight:800;display:flex;position:relative}.brand-seal{letter-spacing:0;border:1px solid #ffffffb3;border-radius:50%;place-items:center;width:42px;height:42px;font-family:Georgia,Times New Roman,serif;font-size:25px;display:grid}.brand-kicker{z-index:1;color:#fffdf7ad;letter-spacing:.16em;margin:92px 0 20px;font-size:11px;font-weight:800;position:relative}.brand-panel h1{z-index:1;letter-spacing:-.045em;max-width:440px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,5.2vw,72px);font-weight:400;line-height:.98;position:relative}.brand-copy{z-index:1;color:#fffdf7c7;max-width:390px;margin:28px 0 0;font-size:17px;line-height:1.55;position:relative}.coffee-route{z-index:1;align-items:center;width:min(100%,390px);margin-top:auto;padding-top:46px;display:flex;position:relative}.route-stamp{color:#fffdf7d1;border:1px dashed #fffdf77a;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-family:Georgia,Times New Roman,serif;font-size:15px;display:grid}.route-line{background:repeating-linear-gradient(90deg,#ffffff4d 0 5px,#0000 5px 10px);flex:1;height:1px}.brand-signature{z-index:1;color:#fffdf794;margin:28px 0 0;font-family:Georgia,Times New Roman,serif;font-size:15px;font-style:italic;position:relative}.form-panel{background:linear-gradient(#17312b06 1px, transparent 1px), var(--cream-50);background-size:100% 36px;flex-direction:column;padding:50px 58px 46px;display:flex}.step-marker{align-items:center;gap:8px;margin:0 0 72px;padding:0;list-style:none;display:flex}.step-dot{color:#17312b57;align-items:center;gap:8px;font-size:10px;font-weight:800;display:flex}.step-dot:not(:last-child):after{background:var(--line);content:"";width:24px;height:1px}.step-dot span{border:1px solid var(--line);border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.step-dot.is-active span{border-color:var(--forest-800);background:var(--forest-800);color:#fff}.auth-form{width:100%;max-width:390px;margin:auto}.form-eyebrow{color:var(--forest-650);letter-spacing:.16em;margin:0 0 13px;font-size:11px;font-weight:800}.auth-form h2{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:500;line-height:1.08}.form-intro{color:var(--muted);margin:17px 0 32px;font-size:15px;line-height:1.55}.form-intro strong{color:var(--ink);overflow-wrap:anywhere}.field-label{color:var(--ink);margin:18px 0 8px;font-size:13px;font-weight:700;display:block}.text-field{width:100%;height:54px;color:var(--ink);background:#ffffffad;border:1px solid #17312b38;border-radius:12px;outline:none;padding:0 16px;transition:border-color .16s,box-shadow .16s,background .16s}.text-field:focus{border-color:var(--forest-650);background:#fff;box-shadow:0 0 0 4px #3f7c681f}.text-field::placeholder{color:#17312b6b}.otp-field{text-align:center;letter-spacing:.28em;text-indent:.28em;height:66px;font-family:Courier New,monospace;font-size:30px;font-weight:700}.primary-button{background:var(--forest-900);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:54px;margin-top:22px;padding:14px 20px;font-size:15px;font-weight:800;transition:transform .15s,background .15s,opacity .15s;display:inline-flex}.primary-button:hover:not(:disabled){background:var(--forest-800);transform:translateY(-1px)}.primary-button:disabled,.text-button:disabled{cursor:not-allowed;opacity:.52}.privacy-note{color:#17312b8f;text-align:center;margin:16px auto 0;font-size:12px;line-height:1.45}.form-error{border-left:3px solid var(--danger);color:var(--danger);background:#a13d3814;margin:14px 0 0;padding:11px 13px;font-size:13px;line-height:1.4}.form-actions{justify-content:space-between;gap:16px;margin-top:20px;display:flex}.text-button{color:var(--forest-800);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:13px;font-weight:700;-webkit-text-decoration:underline #245d5047;text-decoration:underline #245d5047}.text-button.centered{margin:18px auto 0;display:block}.check-row{color:var(--muted);cursor:pointer;grid-template-columns:20px 1fr;align-items:start;gap:10px;margin-top:17px;font-size:13px;line-height:1.45;display:grid}.check-row input{width:18px;height:18px;accent-color:var(--forest-800);margin:0}.check-row a{font-weight:700}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:17px;height:17px;animation:.7s linear infinite spin;display:inline-block}.form-loading{min-height:380px;color:var(--muted);justify-content:center;align-items:center;gap:12px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.passport-page,.legal-page{background:radial-gradient(circle at 100% 0, #3f7c6821, transparent 30%), var(--cream-50);min-height:100vh;padding:28px}.passport-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;max-width:980px;margin:0 auto 58px;padding-bottom:22px;display:flex}.passport-brand{color:var(--forest-900);letter-spacing:.18em;align-items:center;gap:11px;font-size:12px;font-weight:800;text-decoration:none;display:flex}.claim-page{background:radial-gradient(circle at 50% 0, #c6a15b2e, transparent 34%), var(--cream-50)}.claim-shell{place-items:center;width:min(100%,620px);margin:76px auto 0;display:grid}.claim-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:24px;width:100%;padding:48px;box-shadow:0 22px 65px #17312b1a}.claim-symbol{background:var(--forest-800);color:#fff;border-radius:50%;place-items:center;width:82px;height:82px;margin:0 auto 28px;font-family:Georgia,Times New Roman,serif;font-size:40px;display:grid}.claim-symbol.is-pending{border:2px dashed var(--forest-650);background:var(--mint-100);color:var(--forest-800)}.claim-symbol.is-invalid{color:var(--danger);background:#a13d381c}.claim-card h1{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,7vw,46px);font-weight:500;line-height:1.08}.claim-copy{max-width:430px;color:var(--muted);margin:18px auto 28px;line-height:1.55}.claim-card .primary-button{margin-top:26px}.claim-link{text-decoration:none;display:flex}.claim-cancel{margin-top:22px;display:inline-block}.claim-progress{border:2px solid var(--forest-650);background:var(--mint-100);width:126px;height:126px;color:var(--forest-900);border-radius:50%;align-content:center;place-items:center;margin:30px auto 8px;display:grid}.claim-progress strong{font-family:Georgia,Times New Roman,serif;font-size:31px}.claim-progress span{letter-spacing:.06em;text-transform:uppercase;max-width:82px;font-size:10px;font-weight:800;line-height:1.3}.claim-next-step{color:var(--forest-800);margin:18px 0 0;font-size:14px;font-weight:800}.passport-brand .brand-seal{border-color:var(--forest-800);width:36px;height:36px;font-size:21px}.sign-out-button{border:1px solid var(--line);color:var(--forest-800);cursor:pointer;background:0 0;border-radius:9px;padding:9px 13px;font-size:13px;font-weight:700}.passport-content{max-width:980px;margin:0 auto}.passport-welcome{justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.passport-welcome p{color:var(--forest-650);letter-spacing:.14em;margin:0 0 10px;font-size:12px;font-weight:800}.passport-welcome h1{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,6vw,58px);font-weight:500}.edition-phase{background:var(--mint-100);color:var(--forest-800);border-radius:999px;align-items:center;gap:8px;padding:9px 12px;font-size:12px;font-weight:800;display:inline-flex}.edition-phase:before{background:var(--forest-650);content:"";border-radius:50%;width:7px;height:7px}.edition-card{border:1px solid var(--line);background:#fff;border-radius:22px;grid-template-columns:1fr auto;gap:40px;padding:36px;display:grid;box-shadow:0 18px 50px #17312b14}.edition-label{color:var(--coffee-700);letter-spacing:.14em;margin:0 0 12px;font-size:11px;font-weight:800}.edition-card h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:500}.edition-copy{max-width:560px;color:var(--muted);margin:14px 0 0;line-height:1.55}.edition-summary{min-width:0}.progress-track{background:var(--cream-100);border-radius:999px;height:8px;margin-top:26px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--forest-650);height:100%;display:block}.progress-copy{color:var(--muted);margin:10px 0 0;font-size:13px}.progress-copy strong{color:var(--forest-900)}.progress-seal{border:2px dashed var(--forest-650);width:122px;height:122px;color:var(--forest-800);text-align:center;border-radius:50%;align-content:center;place-items:center;display:grid;transform:rotate(-4deg)}.progress-seal strong{font-family:Georgia,Times New Roman,serif;font-size:28px}.progress-seal span{letter-spacing:.08em;max-width:76px;font-size:10px;font-weight:800;line-height:1.3}.progress-seal.is-complete{background:var(--mint-100);border-style:solid}.partners-section{margin-top:64px}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}.section-heading h2{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,5vw,42px);font-weight:500}.section-heading>p{color:var(--muted);margin:0 0 4px;font-size:13px}.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.partner-card{border:1px solid var(--line);min-width:0;color:inherit;background:#ffffffbd;border-radius:18px;padding:24px;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s}.partner-card:hover{border-color:color-mix(in srgb, var(--edition-primary) 45%, var(--line));transform:translateY(-2px);box-shadow:0 14px 34px #17312b17}.partner-card:focus-visible{outline:3px solid color-mix(in srgb, var(--edition-accent) 65%, white);outline-offset:3px}.partner-card.is-stamped{background:linear-gradient(145deg, #fff 45%, var(--mint-100));border-color:#3f7c688c}.partner-card-topline,.partner-identity,.stamp-rule{align-items:center;display:flex}.partner-card-topline{justify-content:space-between;gap:16px;margin-bottom:20px}.partner-number{color:var(--coffee-700);font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:700}.stamp-state{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.is-stamped .stamp-state{color:var(--forest-800)}.partner-identity{gap:14px;min-height:64px}.partner-monogram{border:1px solid var(--line);background:var(--cream-50);width:52px;height:52px;color:var(--coffee-700);border-radius:50%;flex:none;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:25px;display:grid}.partner-identity h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:600;line-height:1.15}.partner-identity p{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.45}.stamp-rule{border-top:1px solid var(--line);justify-content:space-between;gap:16px;margin-top:20px;padding-top:16px}.stamp-rule span{color:var(--muted);letter-spacing:.08em;font-size:10px;font-weight:800}.stamp-rule strong{color:var(--forest-900);font-size:14px}.stamp-date{color:var(--forest-800);margin:14px 0 0;font-size:12px;font-weight:700}.partner-card-action{color:var(--edition-primary);letter-spacing:.06em;text-transform:uppercase;margin-top:18px;font-size:11px;font-weight:900;display:inline-flex}.partner-detail-shell{max-width:900px}.partner-detail-breadcrumb{color:var(--edition-primary);margin-bottom:18px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.partner-detail-breadcrumb:hover,.partner-detail-back:hover{text-decoration:underline}.partner-detail-card{border:1px solid var(--edition-line);background:repeating-linear-gradient(112deg, #503a1d05 0 1px, transparent 1px 7px), color-mix(in srgb, var(--edition-paper) 72%, white);border-radius:24px;grid-template-columns:minmax(250px,.82fr) minmax(0,1.35fr);display:grid;overflow:hidden;box-shadow:0 22px 60px #43311c21}.partner-detail-visual{background:radial-gradient(circle at 28% 22%, color-mix(in srgb, var(--edition-accent) 25%, transparent), transparent 32%), linear-gradient(155deg, var(--edition-primary-deep), var(--edition-primary));align-content:center;place-items:center;gap:28px;min-height:430px;padding:42px 30px;display:grid;position:relative}.partner-detail-visual:before{color:#ffffff1a;content:"CURITIBANDO";letter-spacing:.13em;border:8px double #ffffff1a;border-radius:50%;place-items:center;width:230px;height:230px;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:800;display:grid;position:absolute;bottom:-60px;right:-82px;transform:rotate(-17deg)}.partner-detail-visual>*{z-index:1;position:relative}.partner-detail-visual img,.partner-detail-symbol{border:5px solid var(--edition-accent);background:var(--cream-50);border-radius:50%;place-items:center;width:174px;height:174px;display:grid;box-shadow:0 18px 42px #00000038}.partner-detail-visual img{object-fit:contain;padding:20px}.partner-detail-symbol{color:var(--coffee-700);font-size:72px}.partner-detail-state{color:#ffffffe0;letter-spacing:.04em;text-transform:uppercase;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-size:11px;font-weight:800;display:inline-flex}.partner-detail-state.is-stamped{border-color:var(--edition-accent);background:color-mix(in srgb, var(--edition-accent) 18%, transparent);color:#fff}.partner-detail-content{padding:44px 42px}.partner-detail-content h1{color:var(--forest-950);letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,6vw,54px);font-weight:500;line-height:.98}.partner-detail-description{color:var(--muted);margin:20px 0 0;font-size:16px;line-height:1.65}.partner-detail-facts{gap:16px;margin:30px 0 0;display:grid}.partner-detail-facts div{border-bottom:1px solid var(--edition-line);grid-template-columns:90px 1fr;gap:16px;padding-bottom:15px;display:grid}.partner-detail-facts dt{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:900}.partner-detail-facts dd{color:var(--forest-900);margin:0;font-size:14px;line-height:1.5}.partner-detail-facts a{color:var(--edition-primary);font-weight:800}.partner-stamp-instructions{margin-top:30px}.partner-stamp-instructions h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:600}.partner-stamp-instructions>p:last-child{color:var(--muted);margin:10px 0 0;font-size:15px;line-height:1.6}.partner-stamp-status{border:1px dashed color-mix(in srgb, var(--edition-accent) 56%, var(--line));background:repeating-linear-gradient(112deg, #503a1d05 0 1px, transparent 1px 7px), var(--edition-paper-deep);border-radius:16px;align-items:center;gap:16px;margin-top:26px;padding:18px;display:flex}.partner-stamp-status.is-stamped{border-style:solid;border-color:color-mix(in srgb, var(--edition-stamp) 50%, var(--line));background:color-mix(in srgb, var(--edition-stamp) 8%, white)}.partner-stamp-status-symbol{border:1px solid var(--line);width:50px;height:50px;color:var(--edition-stamp);background:#fff;border-radius:50%;flex:none;place-items:center;font-size:23px;display:grid}.partner-stamp-status strong{color:var(--forest-950);font-size:14px}.partner-stamp-status p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.45}.partner-detail-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:30px;display:flex}.partner-detail-actions .edition-action{margin:0}.partner-detail-back{color:var(--edition-primary);font-size:13px;font-weight:800;text-decoration:none}.reward-card{background:var(--cream-100);border:1px dashed #7b50345c;border-radius:18px;align-items:center;gap:24px;margin-top:24px;padding:28px 32px;display:flex}.reward-card.is-unlocked{background:linear-gradient(120deg,#c6a15b30,#fff);border-style:solid;border-color:#c6a15b94}.reward-icon{width:58px;height:58px;color:var(--coffee-700);border:1px solid #7b503447;border-radius:50%;flex:none;place-items:center;font-size:26px;display:grid}.reward-card h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:600}.reward-card p:last-child{color:var(--muted);margin:7px 0 0;font-size:13px;line-height:1.5}.passport-empty-state{border:1px solid var(--line);background:#fff;border-radius:22px;padding:48px}.passport-empty-state h1{margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:500}.passport-empty-state>p:last-child{color:var(--muted)}.edition-status{background:var(--mint-100);color:var(--forest-800);border-radius:999px;align-items:center;gap:8px;margin-top:24px;padding:9px 12px;font-size:12px;font-weight:800;display:inline-flex}.edition-status:before{background:var(--forest-650);content:"";border-radius:50%;width:7px;height:7px}.passport-experience{--edition-primary:var(--forest-800);--edition-primary-deep:var(--forest-950);--edition-accent:var(--gold-500);--edition-stamp:var(--forest-650);--edition-stamp-secondary:var(--coffee-700);--edition-stamp-tertiary:var(--forest-800);--edition-paper:var(--cream-50);--edition-paper-deep:var(--cream-100);--edition-line:#d8d0c1;background:radial-gradient(circle at 100% 0, color-mix(in srgb, var(--edition-primary) 10%, transparent), transparent 30%), radial-gradient(circle at 12% 24%, #7a5b3209 0 1px, transparent 1.5px), repeating-linear-gradient(103deg, #5c452705 0 1px, transparent 1px 8px), var(--edition-paper);background-size:auto,19px 19px,auto,auto}.passport-experience .passport-header{margin-bottom:30px}.edition-hero{background:radial-gradient(circle at 88% 18%, #ffffff1f, transparent 26%), linear-gradient(135deg, var(--edition-primary-deep), var(--edition-primary));min-height:230px;filter:drop-shadow(0 20px 28px color-mix(in srgb, var(--edition-primary-deep) 22%, transparent));clip-path:polygon(0 0,100% 0,100% 96%,98.8% 98%,97.2% 96.7%,95.8% 99%,94.2% 96.8%,92.5% 98.8%,90.8% 96.6%,89.2% 99%,87.4% 96.7%,85.8% 98.8%,84.1% 96.8%,82.4% 99%,80.7% 96.7%,79% 98.8%,77.2% 96.8%,75.5% 99%,73.8% 96.7%,72.1% 98.8%,70.4% 96.8%,68.7% 99%,67% 96.7%,65.3% 98.8%,63.6% 96.8%,61.9% 99%,60.2% 96.7%,58.5% 98.8%,56.8% 96.8%,55.1% 99%,53.4% 96.7%,51.7% 98.8%,50% 96.8%,48.3% 99%,46.6% 96.7%,44.9% 98.8%,43.2% 96.8%,41.5% 99%,39.8% 96.7%,38.1% 98.8%,36.4% 96.8%,34.7% 99%,33% 96.7%,31.3% 98.8%,29.6% 96.8%,27.9% 99%,26.2% 96.7%,24.5% 98.8%,22.8% 96.8%,21.1% 99%,19.4% 96.7%,17.7% 98.8%,16% 96.8%,14.3% 99%,12.6% 96.7%,10.9% 98.8%,9.2% 96.8%,7.5% 99%,5.8% 96.7%,4.1% 98.8%,2.4% 96.8%,0 99%);color:#fff;border-radius:26px 26px 10px 10px;align-items:center;gap:24px;padding:42px 48px;display:flex;position:relative;overflow:hidden}.edition-hero:after{color:#ffffff17;content:"CURITIBANDO";letter-spacing:.13em;border:8px double #ffffff17;border-radius:50%;place-items:center;width:250px;height:250px;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:800;display:grid;position:absolute;bottom:-92px;right:-70px;transform:rotate(-17deg)}.edition-hero>*{z-index:1;position:relative}.edition-hero-icon{border:4px solid var(--edition-accent);background:var(--cream-50);width:92px;height:92px;color:var(--coffee-700);border-radius:50%;flex:none;place-items:center;font-size:42px;display:grid;box-shadow:0 12px 28px #0000002e}.edition-hero p{color:#ffffffbd;letter-spacing:.16em;margin:0 0 10px;font-size:12px;font-weight:800}.edition-hero h1{letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,7vw,62px);font-weight:500;line-height:.98}.edition-hero div>span{color:#ffffffe6;border:1px solid #ffffff47;border-radius:999px;margin-top:18px;padding:7px 11px;font-size:11px;font-weight:800;display:inline-flex}.passport-greeting{padding:22px 8px 10px}.passport-greeting p{color:var(--muted);margin:0;font-size:14px}.passport-progress-card{border:1px solid color-mix(in srgb, var(--edition-accent) 32%, var(--edition-line));background:repeating-linear-gradient(112deg, #503a1d05 0 1px, transparent 1px 7px), color-mix(in srgb, var(--edition-paper) 68%, white);border-radius:18px;grid-template-columns:1fr auto;align-items:center;gap:28px;padding:28px 32px;display:grid;box-shadow:0 14px 36px #43311c17}.passport-progress-title{color:var(--edition-primary-deep);letter-spacing:.03em;margin:0;font-size:16px;font-weight:900}.passport-progress-message{color:var(--muted);margin:8px 0 0;line-height:1.45}.collection-progress-track{background:var(--edition-paper-deep);border-radius:999px;height:7px;margin-top:18px;overflow:hidden}.collection-progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--edition-primary), var(--edition-stamp));height:100%;display:block}.collection-progress-copy{color:var(--muted);margin:8px 0 0;font-size:11px;font-weight:700}.passport-gift{background:color-mix(in srgb, var(--edition-accent) 22%, white);width:64px;height:64px;color:var(--edition-primary);border-radius:50%;place-items:center;font-size:30px;display:grid}.stamp-collection{border:1px solid var(--edition-line);background:repeating-linear-gradient(112deg, #503a1d05 0 1px, transparent 1px 7px), color-mix(in srgb, var(--edition-paper) 70%, white);border-radius:18px;margin-top:22px;padding:34px 32px 30px;box-shadow:0 12px 32px #43311c0f}.stamp-collection-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.stamp-collection-heading h2{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(29px,5vw,40px);font-weight:500}.stamp-collection-heading>p{color:var(--muted);margin:0 0 5px;font-size:13px}.passport-stamp-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 18px;margin-top:30px;display:grid}.passport-stamp{--stamp-ink:var(--edition-stamp);border:1px solid color-mix(in srgb, var(--edition-line) 82%, transparent);background:color-mix(in srgb, var(--edition-paper) 74%, white);min-width:0;min-height:150px;color:color-mix(in srgb, var(--muted) 43%, transparent);text-align:center;border-radius:18px;align-content:center;place-items:center;gap:7px;padding:14px 10px;display:grid;position:relative}.passport-stamp:before{border:1.5px dashed color-mix(in srgb, var(--muted) 30%, transparent);content:"";border-radius:50%;position:absolute;inset:10px}.passport-stamp>*{z-index:1;position:relative}.passport-stamp:nth-child(3n+2){--stamp-ink:var(--edition-stamp-secondary)}.passport-stamp:nth-child(3n){--stamp-ink:var(--edition-stamp-tertiary)}.passport-stamp.is-stamped{border-color:color-mix(in srgb, var(--stamp-ink) 24%, var(--edition-line));background:color-mix(in srgb, var(--stamp-ink) 5%, var(--edition-paper));color:var(--stamp-ink);transform:rotate(-2deg);box-shadow:0 8px 22px #43311c14}.passport-stamp.is-stamped:before{border-style:solid;border-color:color-mix(in srgb, var(--stamp-ink) 85%, transparent);box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--edition-paper) 86%, white)}.passport-stamp:nth-child(2n).is-stamped{transform:rotate(2deg)}.passport-stamp:nth-child(4n).is-stamped{opacity:.88}.passport-stamp:nth-child(5n).is-stamped{transform:rotate(-1deg)}.passport-stamp-symbol{font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:700}.passport-stamp strong{overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;font-size:14px;line-height:1.05}.passport-stamp small{letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:800}.edition-action{background:var(--edition-primary);color:#fff;letter-spacing:.06em;text-align:center;border-radius:10px;justify-content:center;width:fit-content;margin:32px auto 0;padding:14px 24px;font-size:12px;font-weight:900;text-decoration:none;display:flex}.passport-experience .reward-card{border-color:color-mix(in srgb, var(--edition-accent) 46%, var(--line))}.passport-experience .reward-card.is-unlocked{background:linear-gradient(120deg, color-mix(in srgb, var(--edition-accent) 20%, white), white)}.passport-experience .reward-icon,.passport-experience .edition-label,.passport-experience .partner-number{color:var(--edition-primary)}.partner-directory{scroll-margin-top:24px}.legal-card{border:1px solid var(--line);background:#fff;border-radius:22px;max-width:760px;margin:24px auto;padding:44px;box-shadow:0 18px 50px #17312b12}.legal-card h1{letter-spacing:-.035em;margin:28px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,6vw,48px);font-weight:500}.legal-card h2{margin:30px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:500}.legal-card p,.legal-card li{color:var(--muted);line-height:1.65}.draft-notice{border-left:3px solid var(--gold-500);color:#6f572b;background:#c6a15b1f;padding:12px 14px;font-size:13px;line-height:1.5}.legal-back{font-size:13px;font-weight:700;display:inline-block}@media (max-width:900px){.auth-page{padding:20px}.auth-shell{grid-template-columns:1fr;max-width:600px}.brand-panel{min-height:340px;padding:40px}.brand-kicker{margin-top:54px}.brand-panel h1{max-width:500px;font-size:50px}.brand-copy{margin-top:18px}.coffee-route{display:none}.brand-signature{margin-top:auto;padding-top:32px}.form-panel{min-height:620px}}@media (max-width:560px){.auth-page{background:var(--cream-50);padding:0;display:block}.auth-shell{min-height:100vh;box-shadow:none;border:0;border-radius:0}.brand-panel{min-height:270px;padding:28px 26px 32px}.brand-lockup{font-size:11px}.brand-seal{width:36px;height:36px;font-size:22px}.brand-kicker{margin:36px 0 12px;font-size:9px}.brand-panel h1{max-width:330px;font-size:38px;line-height:1}.brand-copy{max-width:330px;margin-top:14px;font-size:14px}.brand-signature{display:none}.form-panel{min-height:600px;padding:34px 26px 46px}.step-marker{margin-bottom:44px}.auth-form h2{font-size:34px}.form-intro{margin-bottom:26px}.passport-page,.legal-page{padding:20px}.passport-header{margin-bottom:40px}.passport-brand>span:last-child{display:none}.passport-experience{padding:0 0 36px}.passport-experience .passport-header{border:0;margin:0;padding:18px 20px}.passport-experience .passport-content{width:100%}.edition-hero{border-radius:0;gap:16px;min-height:210px;padding:34px 24px}.edition-hero-icon{border-width:3px;width:70px;height:70px;font-size:31px}.edition-hero h1{font-size:clamp(31px,10vw,42px)}.edition-hero p{font-size:9px}.passport-greeting{padding:19px 22px 9px}.passport-progress-card{gap:14px;margin:0 18px;padding:22px 20px}.passport-progress-title{font-size:14px}.passport-progress-message{font-size:13px}.passport-gift{width:50px;height:50px;font-size:23px}.stamp-collection{margin:18px;padding:26px 16px 24px}.stamp-collection-heading{flex-direction:column;align-items:start;gap:6px}.passport-stamp-grid{gap:14px 6px;margin-top:24px}.passport-stamp{border-width:1.5px;min-height:104px;padding:9px 4px}.passport-stamp-symbol{font-size:17px}.passport-stamp strong,.passport-stamp small{font-size:10px}.edition-action{width:100%;margin-top:26px}.passport-experience .reward-card,.passport-experience .partner-directory{margin-left:18px;margin-right:18px}.passport-welcome{flex-direction:column;align-items:start}.edition-card{grid-template-columns:1fr;padding:26px}.progress-seal{grid-row:1;width:94px;height:94px}.partners-section{margin-top:46px}.section-heading{flex-direction:column;align-items:start;gap:8px}.partner-grid{grid-template-columns:1fr}.partner-card{padding:21px}.reward-card{align-items:start;padding:24px}.reward-icon{width:48px;height:48px}.passport-empty-state{padding:30px 24px}.claim-shell{margin-top:36px}.claim-card{padding:36px 24px}.claim-page .passport-header{margin-bottom:0}.partner-detail-page .passport-header{margin-bottom:22px}.partner-detail-shell{padding:0 16px}.partner-detail-card{border-radius:18px;grid-template-columns:1fr}.partner-detail-visual{min-height:265px;padding:34px 24px}.partner-detail-visual img,.partner-detail-symbol{width:126px;height:126px}.partner-detail-symbol{font-size:52px}.partner-detail-content{padding:30px 22px}.partner-detail-content h1{font-size:clamp(34px,11vw,44px)}.partner-detail-facts div{grid-template-columns:1fr;gap:6px}.partner-detail-actions{flex-direction:column;align-items:stretch}.partner-detail-actions .edition-action{width:100%}.partner-detail-back{text-align:center;padding:8px 0}.legal-card{border-radius:16px;margin:0 auto;padding:28px 24px}}@media (max-width:460px){.passport-stamp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.passport-stamp{aspect-ratio:1;min-height:0}.passport-stamp strong{font-size:11px}.passport-stamp small{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
