[hidden]{display:none !important}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:#111;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Noto Sans CJK KR",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;word-break:keep-all}
a{color:inherit}
.top{max-width:560px;margin:0 auto;padding:18px 20px;display:flex;justify-content:space-between;align-items:center}
.brand{font-weight:800;text-decoration:none;font-size:1.05rem;letter-spacing:-.02em}
.top nav a{font-size:.9rem;color:#888;text-decoration:none;margin-left:14px}
main{max-width:560px;margin:0 auto;padding:8px 20px 80px}
h1{font-size:1.7rem;line-height:1.3;margin:18px 0 14px;letter-spacing:-.03em}
h2{font-size:1.1rem;margin:40px 0 12px;letter-spacing:-.02em}
.lead{font-size:1.05rem;color:#444;margin:0 0 22px}
.small{font-size:.8rem;color:#888}
.msg{font-size:.9rem;color:#555;min-height:1.3em;margin-top:10px}
.f{margin-bottom:14px}
.f>label,.lbl{display:block;font-size:.82rem;color:#777;margin-bottom:6px}
.in{display:flex;align-items:center;background:#f4f4f4;border-radius:10px;padding:0 14px}
.in:focus-within{box-shadow:inset 0 0 0 2px #111}
.in input,.in select{flex:1;min-width:0;width:100%;border:0;background:transparent;font:inherit;font-size:16px;padding:13px 0;color:#111;outline:none;-webkit-appearance:none;appearance:none}
textarea{width:100%;border:0;background:#f4f4f4;border-radius:10px;padding:13px 14px;font:inherit;font-size:16px;color:#111;resize:vertical;outline:none;min-height:120px}
textarea:focus{box-shadow:inset 0 0 0 2px #111}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chk{display:flex;align-items:flex-start;gap:8px;font-size:.95rem;margin:4px 0 14px;cursor:pointer}
.chk input{width:18px;height:18px;margin:2px 0 0;accent-color:#111;flex:none}
.btn{display:block;width:100%;padding:15px;border:0;border-radius:10px;background:#111;color:#fff;font:inherit;font-size:1rem;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}
.btn.ghost{background:#f4f4f4;color:#111}
.btn:disabled{opacity:.5}
.link{border:0;background:none;padding:0;font:inherit;font-size:.9rem;color:#777;cursor:pointer;text-decoration:underline}
.steps{counter-reset:s;margin:0;padding:0;list-style:none}
.steps li{position:relative;padding:14px 0 14px 36px;border-top:1px solid #eee}
.steps li:last-child{border-bottom:1px solid #eee}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:14px;width:24px;height:24px;border:1.5px solid #111;border-radius:50%;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.steps b{display:block}
.steps span{font-size:.9rem;color:#666}
.price{margin-top:8px;padding:18px 20px;border:1.5px solid #111;border-radius:12px}
.price .v{font-size:1.6rem;font-weight:800}
.sec{margin-top:34px;padding-top:6px}
.sec h2{margin-top:0}
.card{border:1px solid #e5e5e5;border-radius:12px;padding:16px;margin-bottom:12px}
.thumb{width:100%;max-height:260px;object-fit:contain;background:#f4f4f4;border-radius:8px;display:block;margin-top:8px}
.filebtn{display:inline-block;padding:11px 14px;background:#f4f4f4;border-radius:10px;font-size:.95rem;cursor:pointer}
.filebtn input{display:none}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #eee}
.row .t{font-size:.95rem}
.row small{display:block;color:#888;font-size:.8rem}
.row .a{display:flex;gap:12px;flex:none}
footer{margin-top:56px;font-size:.75rem;color:#aaa}
.warp{position:relative;touch-action:none;user-select:none;margin-top:10px;background:#f4f4f4;border-radius:8px;overflow:hidden}
.warp canvas{display:block;width:100%}
.warp .h{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border:2px solid #111;border-radius:50%;background:rgba(255,255,255,.7)}
