:root{--w:#6e1f2a;--w2:#4f1520;--bg:#f7f2ed;--card:#fff;--line:#e8ddd3;--tx:#3a2a26;--mu:#8b7b74;--gold:#b48a5a}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--tx);font-family:'Jost',system-ui,sans-serif;font-size:16px;line-height:1.55}
a{color:var(--w)}
button,input,select,textarea{font:inherit;color:inherit}
.script{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;color:var(--w);letter-spacing:.01em}
.logo-mark{font-family:'Cinzel',Georgia,serif;font-weight:500;letter-spacing:.22em;font-size:18px;color:var(--w);text-decoration:none;line-height:1;white-space:nowrap}.logo-mark i{font-style:normal;color:var(--gold);margin:0 .12em}
.serif{font-family:'Cormorant Garamond',Georgia,serif}
.nav{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#fff;border-bottom:1px solid var(--line)}
.nav .logo{font-family:'Cinzel',Georgia,serif;font-weight:500;letter-spacing:.22em;font-size:18px;color:var(--w);text-decoration:none;line-height:1;white-space:nowrap}
.nav .sp{flex:1}
.b{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 20px;cursor:pointer;text-decoration:none;color:var(--tx);white-space:nowrap}
.b.pri{background:var(--w);border-color:var(--w);color:#fff}
.b.sm{padding:7px 13px;font-size:14px}
.b:disabled{opacity:.6;cursor:default}
.wrap{max-width:980px;margin:0 auto;padding:24px 18px 60px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.f{margin-top:14px}.f label{display:block;font-size:13px;color:var(--mu);margin-bottom:6px}
.f input,.f select,.f textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fffdfb;outline:none}
.f input:focus{border-color:var(--w)}
.msg{margin-top:12px;font-size:14px;min-height:1.2em}.msg.err{color:#a3283a}.msg.ok{color:#2f6b3a}
.muted{color:var(--mu)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(90px);background:#2c201d;color:#fff;padding:10px 18px;border-radius:999px;transition:.3s;z-index:300;font-size:14px}
.toast.show{transform:translateX(-50%)}
@media(max-width:440px){.nav{padding:12px 14px;gap:6px}.nav .logo{font-size:15px;letter-spacing:.16em}.nav .b.sm{padding:6px 10px;font-size:13px}}
