:root{--cream:#F6EEDF;--paper:#FBF7EE;--ink:#2A2418;--soft:#6A5F4F;--green:#3F7A5B;--gold:#A8761E;--line:rgba(42,36,24,.16)}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',-apple-system,Helvetica,Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.65}
.wrap{max-width:660px;margin:0 auto;padding:40px 22px 70px}
.brand{font-family:'Fraunces',Georgia,serif;font-size:19px;margin-bottom:34px;display:inline-block;color:inherit;text-decoration:none}
.brand b{color:var(--green);font-weight:500}
h1{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(28px,5vw,38px);line-height:1.15;margin-bottom:10px}
.lede{color:var(--soft);font-size:16px;margin-bottom:34px}
h2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:20px;margin:34px 0 10px}
p{margin-bottom:14px;font-size:16px}
ul{margin:0 0 16px 20px}
li{margin-bottom:8px;font-size:16px}
b{font-weight:600}
a{color:var(--green)}
.box{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin:22px 0}
.box p:last-child,.box ul:last-child{margin-bottom:0}
.foot{margin-top:56px;padding-top:22px;border-top:1px solid var(--line);color:var(--soft);font-size:14px}
.foot a{color:var(--soft)}
label{display:block;font-size:14px;color:var(--soft);margin:14px 0 5px}
input,textarea{width:100%;font:16px/1.5 inherit;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 13px}
textarea{min-height:130px;resize:vertical}
button{margin-top:18px;background:var(--ink);color:var(--cream);border:none;border-radius:40px;padding:14px 30px;font:500 15px/1 inherit;cursor:pointer}
button:disabled{opacity:.5;cursor:default}
.hp{position:absolute;left:-9999px}
.msg{margin-top:16px;font-size:15px;border-radius:10px;padding:12px 14px;display:none}
.ok{background:rgba(63,122,91,.1);color:var(--green)}
.bad{background:rgba(170,51,51,.08);color:#A33}
