@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Inter:wght@300;400;500;600;700&display=swap";
*{box-sizing:border-box;margin:0;padding:0}body{color:#111827;-webkit-font-smoothing:antialiased;background-color:#f9f9fb;flex-direction:column;justify-content:flex-start;align-items:center;min-height:100vh;padding:32px 16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.serif-heading{letter-spacing:.18em;text-transform:uppercase;font-family:Cinzel,Georgia,serif}.portal-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;max-width:640px;position:relative;overflow:hidden;box-shadow:0 4px 20px -2px #0000000d}.header-container{text-align:center;background-color:#fff;border-bottom:1px solid #e5e7eb;padding:24px}.header-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.header-center{text-align:center;flex:1}.brand-title{letter-spacing:.2em;color:#000;text-transform:uppercase;font-family:Cinzel,Georgia,serif;font-size:15px;font-weight:700}.brand-subtitle{letter-spacing:.15em;color:#9ca3af;margin-top:2px;font-size:10px;font-weight:700}.stepper-wrapper{justify-content:space-between;align-items:center;max-width:320px;margin:16px auto 0;padding:0 8px;display:flex;position:relative}.stepper-line{z-index:1;background-color:#e5e7eb;height:1px;position:absolute;top:50%;left:20px;right:20px;transform:translateY(-50%)}.stepper-step{z-index:2;flex-direction:column;align-items:center;display:flex;position:relative}.stepper-circle{color:#9ca3af;background-color:#fff;border:1px solid #d1d5db;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:flex}.stepper-circle.active{color:#fff;background-color:#000;border-color:#000;box-shadow:0 0 0 4px #f3f4f6}.stepper-circle.completed{color:#fff;background-color:#000;border-color:#000}.step-content{padding:32px 24px}.step-title{color:#000;margin-bottom:6px;font-size:20px;font-weight:700}.step-subtitle{color:#6b7280;margin-bottom:24px;font-size:13px;line-height:1.5}.form-group{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.form-label{text-transform:uppercase;letter-spacing:.08em;color:#111827;font-size:11px;font-weight:700}.input-field{color:#000;background:#fff;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;padding:14px 16px;font-size:14px;transition:border-color .15s,box-shadow .15s}.input-field:focus{border-color:#000;box-shadow:0 0 0 2px #0000000d}.form-help{color:#9ca3af;margin-top:4px;font-size:11px}.error-banner{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:20px;padding:14px 16px;font-size:13px;line-height:1.4}.item-card{cursor:pointer;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;padding:16px;transition:all .15s}.item-card:hover{border-color:#9ca3af}.item-card.selected{background-color:#f9fafb;border-color:#000;box-shadow:inset 0 0 0 1px #000}.item-flex{align-items:center;gap:16px;display:flex}.checkbox-sq{background:#fff;border:1px solid #d1d5db;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.checkbox-sq.checked{color:#fff;background:#000;border-color:#000}.item-thumb{object-fit:cover;border:1px solid #e5e7eb;border-radius:6px;flex-shrink:0;width:64px;height:64px}.item-details{flex:1}.item-title{color:#000;font-size:14px;font-weight:600}.item-meta{color:#6b7280;margin-top:2px;font-size:12px}.item-price{color:#111827;margin-top:4px;font-size:13px;font-weight:600}.grid-2col{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.grid-pills{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.choice-card{cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:16px;transition:all .15s}.choice-card:hover{border-color:#9ca3af}.choice-card.selected{background:#f9fafb;border-color:#000;box-shadow:inset 0 0 0 1px #000}.choice-title{color:#000;text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:700}.choice-desc{color:#6b7280;margin-top:4px;font-size:12px;line-height:1.4}.pill-btn{color:#000;cursor:pointer;text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:10px 12px;font-size:12px;font-weight:600;transition:all .15s}.pill-btn:hover{border-color:#9ca3af}.pill-btn.selected{color:#fff;background:#000;border-color:#000}.btn-primary{color:#fff;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background-color:#000;border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:16px;padding:16px 24px;font-size:13px;font-weight:700;transition:background-color .15s;display:flex}.btn-primary:hover:not(:disabled){background-color:#1f2937}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{color:#000;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:10px;padding:14px 20px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.btn-secondary:hover{background-color:#f9fafb;border-color:#000}.btn-link{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:12px;text-decoration:underline;display:inline-block}.btn-link:hover{color:#000}.summary-box{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;padding:16px}.summary-grid{grid-template-columns:1fr 1fr;gap:16px;font-size:12px;display:grid}
