:root{--burgundy: #A51A33;--burgundy-dark: #7A0F23;--amber: #E8A15A;--amber-dark: #C8853E;--cream: #FAF7F2;--ink: #1A1410;--ink-soft: #4A3F36;--ink-muted: #8B7E6E;--line: #E8E0D4;--line-soft: #F2EBE0;--bg: #FFFFFF;--bg-soft: var(--cream);--font-heading: "Playfair Display", Georgia, serif;--font-body: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius: 12px;--shadow-sm: 0 1px 2px rgba(26, 20, 16, .04);--shadow-md: 0 4px 12px rgba(26, 20, 16, .08);--shadow-lg: 0 16px 48px rgba(165, 26, 51, .12)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;font-family:var(--font-body);font-size:15px;line-height:1.55;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;letter-spacing:-.01em;color:var(--ink)}h1{font-size:32px;line-height:1.15}h2{font-size:24px;line-height:1.2}a{color:var(--burgundy);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-body);cursor:pointer}input,button,select,textarea{font:inherit}button:disabled,input:disabled{opacity:.5;cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:var(--burgundy);color:#fff;border:0;border-radius:var(--radius);font-weight:500;font-size:14px;letter-spacing:.01em;transition:background-color .12s ease,transform .12s ease}.btn-primary:hover:not(:disabled){background:var(--burgundy-dark)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;color:var(--ink-muted);border:0;border-radius:8px;font-size:13px}.btn-ghost:hover:not(:disabled){color:var(--burgundy);background:var(--bg-soft)}.field-input{width:100%;padding:12px 14px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);font-size:15px;color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}.field-input:focus{outline:0;border-color:var(--amber);box-shadow:0 0 0 3px #e8a15a2e}.field-input::placeholder{color:var(--ink-muted)}.field-label{display:block;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:6px}
