:root{--bg:#fbf8f2;--ink:#33271f;--muted:#74665b;--line:#e8ddd1;--accent:#c97b51}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,'Noto Sans KR',sans-serif;word-break:keep-all;line-height:1.65}button,input,textarea{font:inherit}a{color:#a55d38}
.wrap{max-width:860px;padding:0 22px;margin:auto}
header{background:white;border-bottom:1px solid var(--line)}.head{display:flex;justify-content:space-between;align-items:center;min-height:76px}.logo{text-decoration:none;font-size:28px;font-weight:900;color:var(--ink)}.logo span{color:var(--accent)}
main{padding-top:45px;padding-bottom:70px}h1{font-size:clamp(32px,5vw,46px);letter-spacing:-1.4px;line-height:1.3;margin:12px 0}h2{font-size:clamp(23px,3.5vw,30px);letter-spacing:-.6px;margin:0 0 10px}
.lead{color:var(--muted);margin:0 0 27px}.kicker{font-size:12px;font-weight:800;letter-spacing:1px;color:#ac6946}
.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(20px,4vw,36px);box-shadow:0 12px 45px #5540290b}
.progress-label{display:flex;justify-content:space-between;font-size:13px;font-weight:800;color:#886c5c}.progress{display:flex;gap:6px;margin:14px 0 34px}.progress i{height:5px;flex:1;border-radius:20px;background:#f3e9de}.progress i.active{background:var(--accent)}
.step[hidden],#success[hidden],#content[hidden]{display:none!important}fieldset{padding:0;margin:0;border:0;min-width:0}legend{font-size:26px;font-weight:800;letter-spacing:-.5px}.hint{font-size:14px;color:var(--muted);margin:5px 0 21px}
.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.opt{display:flex;align-items:center;gap:10px;background:#fffdf9;border:1px solid #e5d9cd;border-radius:13px;min-height:55px;padding:12px;font-weight:700;font-size:14px;cursor:pointer}.opt:has(input:checked){background:#fff0e3;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:17px;height:17px;flex-shrink:0}
.group,.field{margin:25px 0 0}.group>strong,.field label{display:block;font-weight:800;font-size:14px;margin-bottom:10px}.field input,.field textarea{display:block;width:100%;border:1px solid #d8cfc5;border-radius:11px;padding:13px 14px;outline:0;color:var(--ink)}.field textarea{resize:vertical;min-height:105px}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c97b5122}.small{font-size:12px;color:var(--muted);font-weight:400}
.notice{background:#fff6ed;border:1px solid #ecd6c1;border-radius:13px;padding:16px;font-size:13px;line-height:1.8;margin:25px 0}.consent{display:flex;align-items:flex-start;gap:10px;margin:17px 0;font-size:13px}.consent input{margin-top:5px}
.summary{background:#fdf7f0;border-radius:13px;padding:17px;font-size:13px;line-height:1.75;margin:20px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.error{min-height:21px;color:#ad2920;font-weight:700;font-size:13px;margin-top:22px}
.actions{display:flex;justify-content:space-between;gap:10px;padding-top:20px;margin-top:7px;border-top:1px solid var(--line)}.btn{min-height:49px;border:0;border-radius:12px;background:var(--accent);padding:12px 22px;color:#fff;font-size:14px;font-weight:800;cursor:pointer}.btn.ghost{background:#f6ede3;color:#5e483a}.btn:disabled{opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #8f5231;outline-offset:3px}footer{text-align:center;font-size:12px;color:#796d62;border-top:1px solid var(--line);padding:30px 18px;line-height:2}.hiddenfield{position:absolute;left:-9999px;opacity:0}
@media(max-width:600px){.head{min-height:65px}main{padding-top:34px}.options{grid-template-columns:1fr}.actions .btn{flex:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}