:root{--paper:#fff;--ink:#202020;--line:#e9e9e9;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Malgun Gothic",sans-serif;font-size:14px;line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
header,main,.bottom{width:100%;max-width:600px;margin:auto;background:#fff}
header{position:sticky;top:0;z-index:5;padding:21px 28px;border-bottom:1px solid var(--line)}
.brand{font-size:20px;font-weight:700;letter-spacing:-.7px}
section{padding:36px 28px;border-bottom:1px solid var(--line)}
h2{font-size:22px;line-height:1.5;letter-spacing:-.7px;font-weight:700;margin:0 0 24px}
p{margin:0;color:#404040;word-break:keep-all}
ul{padding-left:21px;margin:0}
li{padding-left:3px;margin:9px 0;word-break:keep-all}
.price{padding:20px;border:1px solid #e5e5e5;border-radius:5px;background:#fafafa}
.price>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.price strong{font-size:34px;letter-spacing:-1px;line-height:1.4}
.price b{font-size:26px;letter-spacing:-.8px}
.price small{font-size:14px;font-weight:400;margin-left:5px}
.price hr{border:0;border-top:1px solid #e5e5e5;margin:20px 0}
.price p{font-size:13px;margin-top:9px}
.price p b{font-size:14px;letter-spacing:0;margin-left:8px}
.caption{font-size:12px;color:#737373;margin-top:16px;line-height:1.9}
.payment{font-size:13px;margin-top:24px}
.steps{padding-left:23px;margin:0}
.steps li{padding:0 0 8px 3px}
form{margin:0}
label{display:block;font-size:13px;font-weight:500;margin-bottom:20px}
input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #dedede;border-radius:4px;background:#fff;color:#202020;padding:12px;margin-top:8px;font-weight:400;font-family:inherit;font-size:16px;line-height:1.5;transition:border-color .15s}
input:hover,select:hover,textarea:hover{border-color:#aaa}
input:focus,select:focus,textarea:focus{outline:2px solid #555;outline-offset:1px;border-color:#555}
textarea{resize:vertical}
.columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.count{display:block;text-align:right;color:#777;font-size:11px;margin-top:5px;font-weight:400}
.button{display:block;width:100%;border:1px solid #202020;border-radius:4px;background:#202020;color:#fff;padding:14px 18px;font-family:inherit;font-size:14px;font-weight:600;text-align:center;cursor:pointer;margin-top:26px}
.button:hover{background:#404040}
#status{font-size:12px;margin-top:12px;color:#555}
#style>p+p{margin-top:10px}
#style ul{margin-top:20px}
footer{padding:28px 28px 115px}
footer .brand{font-size:14px;color:#777;font-weight:500}
.bottom{position:fixed;bottom:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.bottom a{padding:11px 8px;text-align:center;font-size:13px;border:1px solid #e5e5e5;border-radius:4px}
.bottom a:hover{background:#f5f5f5}
.bottom a:last-child{background:#202020;color:#fff;border-color:#202020}
.bottom a:last-child:hover{background:#404040}
:focus-visible{outline:2px solid #555;outline-offset:3px}
[hidden]{display:none!important}
@media(min-width:700px){header{padding:25px 40px}section{padding:42px 40px}footer{padding-left:40px;padding-right:40px}.bottom{padding-left:40px;padding-right:40px}}
@media(max-width:360px){header{padding-left:22px;padding-right:22px}section{padding:30px 22px}h2{font-size:20px}.price{padding:16px}.price b{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}input,select,textarea{transition:none}}


.price small{font-size:22px}.partner{margin:8px 0 24px;padding:20px 16px 0;border:1px solid #e5e5e5;border-radius:4px;min-width:0}.partner legend{font-size:15px;font-weight:600;padding:0 6px}.partner legend span{font-size:12px;font-weight:400;color:#737373;margin-left:8px}

.consult-type,.personal{border:0;padding:0;margin:0 0 24px;min-width:0}.consult-type legend,.personal legend{font-size:15px;font-weight:600;margin-bottom:16px;padding:0}.type-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.type-options label{position:relative;margin:0;cursor:pointer}.type-options input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.type-options span{display:block;text-align:center;border:1px solid #dedede;border-radius:4px;padding:12px}.type-options input:checked+span{background:#202020;color:#fff;border-color:#202020}.type-options input:focus-visible+span{outline:2px solid #555;outline-offset:3px}.personal{margin-bottom:0}

.field-example{display:inline-block;font-size:11px;font-weight:400;color:#737373;margin-left:6px}

header{display:flex;align-items:center;justify-content:space-between;gap:16px}header>a:not(.brand){font-size:12px;color:#666}

/* Compact consultation guide; application fields retain their spacing. */
.consult-guide{line-height:1.65}
.consult-guide header{padding:14px 24px}
.consult-guide .brand{font-size:19px}
.consult-guide section{padding:22px 24px}
.consult-guide h2{font-size:19px;line-height:1.4;margin-bottom:14px}
.consult-guide .price{padding:14px 16px}
.consult-guide .price strong{font-size:28px}
.consult-guide .price b{font-size:24px}
.consult-guide .price small{font-size:19px}
.consult-guide .price hr{margin:10px 0}
.consult-guide .price p{margin-top:5px;font-size:12px}
.consult-guide .price p b{font-size:13px}
.consult-guide .caption{font-size:12px;line-height:1.65;margin-top:10px}
.consult-guide li{margin:5px 0}
.consult-guide .steps li{padding:0 0 2px 2px}
.consult-guide .payment{font-size:12px;margin-top:12px}
.consult-guide #style ul{margin-top:14px}
.consult-guide .bottom{padding:8px 20px calc(8px + env(safe-area-inset-bottom))}
.consult-guide .bottom a{min-height:44px;padding:10px 8px}
@media(max-width:360px){.consult-guide section{padding:20px}.consult-guide h2{font-size:18px}}
.consult-guide section{padding-top:18px;padding-bottom:18px}
.consult-guide h2{margin-bottom:12px}
.consult-guide main>section:nth-child(2) ul{display:flex;flex-wrap:wrap;gap:4px 28px}
.consult-guide main>section:nth-child(2) li{margin:0}
.consult-guide .steps{line-height:1.5}
.consult-guide .steps li{margin:4px 0;padding-bottom:0}

.nickname-note{display:block;color:#d32f2f;font-size:12px;font-weight:400;margin:0 0 8px;line-height:1.5}
.chat-guidance{margin-top:20px;color:#c62828;font-size:13px;line-height:1.8}.chat-guidance p{color:inherit;margin:10px 0}.kakao-link{margin-top:24px}.button:disabled{opacity:.6;cursor:wait}.application-card{padding:18px 0;border-bottom:1px solid #ddd}.application-card summary{cursor:pointer;font-weight:600}.application-card p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px}#admin-tools{margin:18px 0}#admin-tools button{padding:10px 16px;background:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer}

.privacy-consent{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#555;margin-top:24px}.privacy-consent input{width:18px;height:18px;flex:0 0 18px;margin:3px 0 0}

#submission-complete{color:#202020}#submission-complete .chat-guidance{color:#202020;font-weight:400}#submission-complete .chat-guidance .same-nickname{color:#c62828;font-weight:700}#submission-complete .kakao-link{color:#fff;background:#202020;border-color:#202020}#submission-complete .kakao-link:hover{background:#404040}
