*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,sans-serif;background:#fdf6f0;min-height:100vh;color:#2d1f17}.warranty-wrap{min-height:100vh;display:flex;flex-direction:column;padding:2.5rem 1.5rem 5rem;max-width:640px;margin:0 auto}.progress-bar{height:3px;background:#e8d5c4;border-radius:2px;margin-bottom:2.5rem}.progress-fill{height:100%;background:#8b6f5e;border-radius:2px;transition:width .4s ease}.step-counter{font-size:.85rem;color:#8b6f5e;margin-bottom:2rem;font-weight:500}.step-counter span{opacity:.5}.step-content{flex:1}.anim-in{animation:slideIn .3s ease forwards}.anim-out{animation:slideOut .25s ease forwards}@keyframes slideIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}.question{font-size:clamp(1.4rem,4vw,2rem);font-weight:500;line-height:1.3;margin-bottom:2rem;color:#1a0f0a}.choices{display:flex;flex-direction:column;gap:.75rem}.choice-btn{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:2px solid #e8d5c4;border-radius:10px;background:#fff;cursor:pointer;font-size:1rem;text-align:left;transition:border-color .15s,background .15s,transform .1s;color:#2d1f17}.choice-btn:hover{border-color:#8b6f5e;background:#fdf0e8;transform:translate(4px)}.choice-btn.selected{border-color:#8b6f5e;background:#fdf0e8}.choice-key{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1.5px solid #c4a08a;border-radius:6px;font-size:.8rem;font-weight:600;color:#8b6f5e;flex-shrink:0}.text-group{display:flex;flex-direction:column;gap:1rem}.text-input{width:100%;padding:.75rem 0;font-size:1.5rem;font-family:inherit;border:none;border-bottom:2px solid #8b6f5e;background:transparent;outline:none;color:#1a0f0a;transition:border-color .2s}.text-input:focus{border-color:#5c3d2e}.text-input::placeholder{color:#c4a08a}.date-input{font-size:1.2rem}.ok-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.4rem;background:#8b6f5e;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .15s,transform .1s}.ok-btn:hover{background:#5c3d2e;transform:translateY(-1px)}.ok-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ok-enter{opacity:.6;font-size:.9rem}.field-error{color:#c0392b;font-size:.875rem;margin-top:.25rem}.nav-row{display:flex;align-items:center;gap:1rem;margin-top:2rem}.nav-btn{background:none;border:none;color:#8b6f5e;font-size:.875rem;cursor:pointer;padding:.25rem 0;opacity:.7;transition:opacity .15s}.nav-btn:hover{opacity:1}.submitting-text{font-size:.875rem;color:#8b6f5e;opacity:.7}.branding{position:fixed;bottom:1.25rem;right:1.25rem;font-size:.75rem;color:#c4a08a;opacity:.7}.warranty-success{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;gap:1rem}.success-checkmark{width:72px;height:72px;border-radius:50%;background:#8b6f5e;color:#fff;font-size:2rem;display:flex;align-items:center;justify-content:center;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.warranty-success h1{font-size:1.8rem;font-weight:600;color:#1a0f0a}.success-sub{color:#8b6f5e;font-size:.95rem}.warranty-card{background:#fff;border:2px solid #e8d5c4;border-radius:16px;padding:1.5rem 2rem;margin-top:.5rem;min-width:280px}.warranty-card-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#c4a08a;font-weight:600}.warranty-card-id{font-size:1.5rem;font-weight:700;color:#8b6f5e;letter-spacing:.05em;margin-top:.25rem}.warranty-card-expiry{font-size:1.1rem;font-weight:500;color:#2d1f17;margin-top:.25rem}.support-note{font-size:.8rem;color:#c4a08a;margin-top:.5rem}
