@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700;9..40,800&family=Playfair+Display:ital,wght@1,700;1,800&display=swap');
:root{--ink:#242218;--ink2:#2E2C1E;--gold:#D4A017;--gold2:#F0C040;--cream:#FAF7EE;--line:#E2DEC8;--mute:#A89E80;--mute2:#6E6450;--soft:#FFF8E1;--r:16px;--sh:0 1px 2px rgba(36,34,24,.06),0 8px 24px rgba(36,34,24,.08)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:'DM Sans',system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit}
.serif{font-family:'Playfair Display',serif;font-style:italic;font-weight:800}
.wm{font-family:'Playfair Display',serif;font-style:italic;font-weight:800;color:var(--gold);letter-spacing:-.01em}
.demo{position:fixed;top:10px;right:10px;z-index:99;font:700 10px/1 'DM Sans';letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--gold2);padding:6px 9px;border-radius:99px;border:1px solid rgba(240,192,64,.35)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;font:700 15px 'DM Sans';border-radius:12px;padding:14px 20px;text-decoration:none;transition:transform .15s ease,box-shadow .2s ease,background .2s}
.btn:active{transform:scale(.97)}
.btn-gold{background:var(--gold);color:var(--ink);box-shadow:0 6px 18px rgba(212,160,23,.35)}
.btn-gold:hover{background:var(--gold2)}
.btn-ink{background:var(--ink);color:var(--cream)}
.btn-ghost{background:transparent;border:1.5px solid var(--line);color:var(--ink)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}
.fade{animation:fade .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--cream);padding:12px 18px;border-radius:12px;font-weight:600;opacity:0;transition:.3s;z-index:100;pointer-events:none}
.toast.on{opacity:1;transform:translateX(-50%)}
