*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--honey:#f5c842;--brand-header:#42169d;--brand-header-text:gold;--honey-dark:#d4a017;--ink:#1a1a1a;--ink-soft:#3d3d3d;--cream:#fffbea;--cream-dark:#fff3c4;--gray:#6b7280;--gray-light:#f3f4f6;--white:#fff;--red:#ef4444;--green:#10b981;--radius:12px;--shadow:0 4px 24px rgba(0,0,0,.08);--shadow-lg:0 8px 40px rgba(0,0,0,.12)}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);min-height:100vh;line-height:1.6}body,h1,h2,h3,h4{font-family:Quicksand,sans-serif}h1,h2,h3,h4{line-height:1.2}button{cursor:pointer;border:none}button,input,select,textarea{font-family:Quicksand,sans-serif}a{color:inherit}.error{font-size:12px;color:var(--red)}.btn-primary{background:var(--honey);color:var(--ink);font-weight:600;padding:12px 28px;border-radius:var(--radius);font-size:15px;transition:background .15s,transform .1s;display:inline-flex;align-items:center;gap:8px}.btn-primary:hover{background:var(--honey-dark);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--ink);color:var(--white);font-weight:600;padding:12px 28px;border-radius:var(--radius);font-size:15px;transition:background .15s}.btn-secondary:hover{background:var(--ink-soft)}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.form-group label{font-size:13px;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group select,.form-group textarea{padding:11px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:15px;color:var(--ink);background:var(--white);transition:border-color .15s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--honey)}.form-group .error{font-size:12px;color:var(--red)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease forwards}@keyframes spin{to{transform:rotate(1turn)}}.spinner{width:20px;height:20px;border:2px solid rgba(0,0,0,.15);border-top:2px solid var(--ink);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}