[hidden]{display:none!important}
.registration-step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;animation:step-in .2s ease}
.registration-progress{list-style:none;margin:0 0 .5rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.registration-progress li{min-width:0;font-size:.75rem;color:var(--muted)}
.registration-progress button{display:flex;align-items:center;gap:.6rem;width:100%;height:100%;padding:.8rem .5rem;border:0;border-bottom:2px solid var(--line);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.registration-progress button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.registration-progress b{display:grid;place-items:center;width:27px;height:27px;flex:none;border:1px solid var(--line);border-radius:50%}
.registration-progress [aria-current=step]{border-color:var(--gold);color:var(--brown-dark);font-weight:700}
.registration-progress [aria-current=step] b{background:var(--gold);border-color:var(--gold);color:white}
.step-intro h3{font-family:Georgia,serif;font-size:1.45rem;margin:0 0 .5rem;font-weight:400}
.step-intro p,.step-actions p{font-size:.76rem;line-height:1.5;color:var(--muted);margin:.5rem 0}
.step-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:.25rem}
.button-outline{background:transparent;border:1px solid var(--line);color:var(--brown);margin-bottom:.7rem}
.recovery-consent{font-size:.73rem;line-height:1.55;align-items:flex-start}
.confirmation-consents{display:grid;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,253,248,.8)}
.confirmation-consents .consent{margin:0;align-items:flex-start}
.confirmation-consents .recovery-consent{padding-top:1rem;border-top:1px solid var(--line)}
.consent a{text-decoration:underline;text-underline-offset:3px}
.exit-inline{padding:1rem;border:1px solid var(--line);border-radius:12px;background:#fff8e7;font-size:.8rem;line-height:1.5;animation:step-in .25s ease}
.exit-inline{position:relative}.exit-inline>button:first-child{float:right;border:0;background:transparent;font-size:1.5rem}
.exit-inline .button{font-size:.7rem}
.registration-dialog{width:min(430px,calc(100% - 32px));padding:2.3rem;border:1px solid #d6c395;border-radius:20px;background:#fffdf8;color:#503a22;box-shadow:0 25px 100px #39281040}
.registration-dialog::backdrop{background:#2b1b1266}
.registration-dialog h2{font:400 1.9rem/1.2 Georgia,serif;margin:.5rem 0 1rem}
.registration-dialog p{font-size:.9rem;line-height:1.6}
.dialog-close{position:absolute;top:.7rem;right:.8rem;background:transparent;border:0;font-size:1.8rem;color:inherit;cursor:pointer}
.dialog-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#a46d0b}
.registration-form button:disabled{cursor:wait;opacity:.65}
.registration-form [data-back]:focus-visible,.registration-form [data-continue]:focus-visible{outline:3px solid #715419;outline-offset:4px}
@keyframes step-in{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.registration-step{grid-template-columns:minmax(0,1fr)}.registration-progress{gap:.4rem}.registration-progress li{font-size:.7rem}.registration-progress button{padding:.7rem .1rem;gap:.35rem}.step-actions,.step-actions .button{width:100%}.registration-dialog{padding:1.7rem}.registration-dialog h2{font-size:1.6rem}.registration-step .field-full{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.registration-step,.exit-inline{animation:none!important}html{scroll-behavior:auto!important}}
.privacy-page{max-width:780px;margin:3rem auto;padding:2rem;line-height:1.75;font-size:1rem}.privacy-page h1,.privacy-page h2{font-family:Georgia,serif;font-weight:400;line-height:1.3}.privacy-page h1{font-size:2.5rem}.privacy-page h2{margin-top:2rem;font-size:1.5rem}.privacy-page a{text-decoration:underline}.privacy-page p{color:var(--muted)}
html{overflow-x:clip}
.purchase-summary>div{gap:.7rem}.purchase-summary>div>span{min-width:0;line-height:1.5}.purchase-summary>div>strong{flex:none}
.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}
