:root{--bg:#f6f4ef;--ink:#211f1c;--mute:#7a746a;--line:#cfc9bd}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
main{max-width:30rem;margin:0 auto;padding:18vh 1.5rem 6rem}
h1{font-weight:600;font-size:1.15rem;letter-spacing:.35em;margin:0 0 2.6rem}
p{font-size:1.05rem;line-height:1.95;margin:0 0 2.2rem;word-break:keep-all}
.mute{color:var(--mute)}
.btn{display:inline-block;border:1px solid var(--ink);padding:.7rem 1.7rem;color:var(--ink);text-decoration:none;font-size:.95rem;letter-spacing:.2em}
.btn:hover,.btn:focus-visible{background:var(--ink);color:var(--bg);outline:none}
form{display:grid;gap:1.4rem}
label{display:grid;gap:.45rem;font-size:.92rem;color:var(--mute)}
input,select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid var(--line);padding:.6rem .7rem;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink)}
textarea{resize:vertical;line-height:1.7}
.checks{display:grid;gap:.6rem;padding-top:.4rem}
.checks label{grid-template-columns:auto 1fr;align-items:start;color:var(--ink);font-size:.95rem;line-height:1.6}
.checks input{width:auto;margin:.3rem .1rem 0 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
button{font:inherit;font-size:.95rem;letter-spacing:.2em;border:1px solid var(--ink);background:var(--ink);color:var(--bg);padding:.8rem 1.7rem;cursor:pointer;justify-self:start}
button:hover,button:focus-visible{background:transparent;color:var(--ink);outline:none}
form .mute{font-size:.92rem;margin:0}
