*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--cream:#f8f5f0;--warm-white:#fdfcfa;--ink:#1c1814;--ink-light:#4a4540;--ink-muted:#8a8480;--amber:#c8913a;--amber-light:#e8b86d;--amber-pale:#fdf3e3;--border:#e8e2d9;--border-strong:#d0c8bc;--error:#c0392b;--success:#27ae60;--font-display:"Playfair Display",Georgia,serif;--font-body:"DM Sans",system-ui,sans-serif;--radius:4px;--radius-lg:8px;--shadow-sm:0 1px 3px rgba(28,24,20,.08);--shadow-md:0 4px 16px rgba(28,24,20,.12);--shadow-lg:0 8px 32px rgba(28,24,20,.16)}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--cream);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);line-height:1.2}input,select,textarea{font-family:var(--font-body);font-size:15px;color:var(--ink);background:var(--warm-white);border:1.5px solid var(--border-strong);border-radius:var(--radius);padding:10px 14px;width:100%;transition:border-color .15s,box-shadow .15s;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(200,145,58,.15)}input::placeholder{color:var(--ink-muted)}.btn{font-family:var(--font-body);font-size:15px;font-weight:500;padding:12px 28px;border-radius:var(--radius);border:none;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn-primary{background:var(--ink);color:var(--warm-white)}.btn-primary:hover{background:var(--ink-light);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--border-strong)}.btn-outline:hover{border-color:var(--ink);background:rgba(28,24,20,.04)}.btn-amber{background:var(--amber);color:#fff;font-weight:500}.btn-amber:hover{background:#b8832d;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-vipps{background:#ff5b24;color:#fff;font-weight:600;font-size:16px;padding:14px 32px;border-radius:6px;width:100%;justify-content:center;letter-spacing:.01em}.btn-vipps:hover{background:#e84e1a;transform:translateY(-1px);box-shadow:0 4px 20px rgba(255,91,36,.35)}.container{max-width:900px;margin:0 auto;padding:0 24px}.card{background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-sm)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}.fade-up{animation:fadeUp .4s ease forwards}.spinner{width:20px;height:20px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.steps{gap:0;margin-bottom:48px}.step,.steps{display:flex;align-items:center}.step{gap:10px;font-size:13px;color:var(--ink-muted);font-weight:500;letter-spacing:.05em;text-transform:uppercase}.step.active{color:var(--ink)}.step.done{color:var(--amber)}.step-num{width:28px;height:28px;border-radius:50%;border:1.5px solid;display:flex;align-items:center;justify-content:center;font-size:12px;font-family:var(--font-display);flex-shrink:0}.step.active .step-num{background:var(--ink);color:#fff;border-color:var(--ink)}.step.done .step-num{background:var(--amber);color:#fff;border-color:var(--amber)}.step-connector{flex:1 1;height:1px;background:var(--border-strong);margin:0 12px}