:root {
  --cream:#F5F0E8; --cream-dark:#EDE6D6; --cream-deep:#E2D9C5;
  --ink:#1A1409; --ink-soft:#3D3420; --ink-muted:rgba(26,20,9,0.45);
  --gold:#A8832A; --gold-rich:#C9A84C; --gold-light:#E8C96A;
  --gold-pale:rgba(168,131,42,0.12); --gold-border:rgba(168,131,42,0.3);
  --green:#2E7D32; --red:#C62828;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{width:100%;min-height:100vh;background:var(--cream);font-family:'Jost',sans-serif;color:var(--ink);letter-spacing:.03em}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(168,131,42,.1) 0%,transparent 60%),radial-gradient(ellipse 40% 40% at 100% 100%,rgba(168,131,42,.06) 0%,transparent 50%);pointer-events:none;z-index:0}
.container{max-width:720px;margin:0 auto;padding:40px 24px;position:relative;z-index:1}
.header{text-align:center;margin-bottom:32px}
.header .logo{font-size:10px;font-weight:500;letter-spacing:6px;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.header h1{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,5vw,42px);font-weight:300;color:var(--ink)}
.header .subtitle{font-size:13px;color:var(--ink-muted);margin-top:6px;font-weight:300}
.card{padding:28px;border-radius:12px;border:1px solid var(--gold-border);background:rgba(255,255,255,.5);margin-bottom:20px}
.btn{display:inline-block;padding:14px 32px;background:var(--gold);color:var(--cream);border:none;border-radius:6px;font-family:'Jost',sans-serif;font-size:13px;font-weight:500;letter-spacing:2px;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:background .2s;width:100%;max-width:360px}
.btn:hover{background:var(--gold-rich)}
.btn:disabled{opacity:.5;cursor:wait}
.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--gold-border)}
.btn-outline:hover{background:var(--gold-pale)}
input,textarea{font-family:'Jost',sans-serif;font-size:15px;padding:12px 14px;border-radius:6px;border:1px solid var(--gold-border);background:var(--cream);color:var(--ink);width:100%;letter-spacing:.02em}
input:focus,textarea:focus{outline:none;border-color:var(--gold)}
label{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--ink-muted);display:block;margin-bottom:6px;font-weight:500}
.field{margin-bottom:16px}
.divider-ornament{display:flex;align-items:center;gap:12px;margin:20px 0;width:100%}
.divider-ornament::before,.divider-ornament::after{content:'';flex:1;height:1px;background:var(--gold-border)}
.divider-ornament span{font-size:9px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-weight:600}
.error{color:var(--red);font-size:13px;padding:12px;background:rgba(198,40,40,.08);border-radius:6px;margin-bottom:16px}
.success{color:var(--green);font-size:13px;padding:12px;background:rgba(46,125,50,.08);border-radius:6px;margin-bottom:16px}
.badge{display:inline-block;padding:4px 10px;font-size:10px;text-transform:uppercase;letter-spacing:2px;border-radius:4px;background:var(--gold-pale);color:var(--gold);font-weight:600}
.loader{display:inline-block;width:20px;height:20px;border:2px solid var(--gold-border);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite;margin-right:8px;vertical-align:middle}
@keyframes spin{to{transform:rotate(360deg)}}
.hidden{display:none}
.muted{color:var(--ink-muted);font-size:13px;font-weight:300;line-height:1.6}
