:root { color-scheme: light; --ink:#182f2b; --muted:#536660; --line:#d4dfda; --green:#25604f; }
* { box-sizing:border-box; letter-spacing:0; }
body { margin:0; color:var(--ink); background:#fff; font-family:Pretendard,"Malgun Gothic",sans-serif; font-size:16px; line-height:1.7; }
a { color:inherit; text-underline-offset:4px; }
button,input,select { font:inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #ba6c2a; outline-offset:4px; }
[hidden] { display:none !important; }
h1,h2,h3,p { margin:0; }
.guide-wrap { width:min(1120px,calc(100% - 48px)); margin-inline:auto; }
.skip-link { position:absolute; top:-80px; left:12px; padding:10px; background:#fff; z-index:5; }
.skip-link:focus { top:10px; }
.guide-header { border-bottom:1px solid var(--line); }
.guide-header>.guide-wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:86px; }
.guide-brand { display:flex; align-items:center; gap:12px; text-decoration:none; line-height:1.3; flex-shrink:0; }
.guide-brand>b { font-family:Georgia,serif; font-size:40px; }
.guide-brand>span { font-weight:700; font-size:14px; }
.guide-brand small { font-size:11px; font-weight:500; }
.guide-header nav { display:flex; flex-wrap:wrap; gap:12px 24px; font-size:14px; }
.guide-header nav a { text-decoration:none; }
.guide-title { padding-block:42px 30px; }
.guide-kicker { color:var(--green); font-size:13px; font-weight:700; margin-bottom:12px; }
h1 { font-size:34px; line-height:1.4; word-break:keep-all; overflow-wrap:anywhere; }
.guide-intro { margin-top:16px; color:var(--muted); }
.guide-meta { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:22px; font-size:13px; color:var(--muted); }
.guide-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:44px; padding-block:30px 55px; border-top:1px solid var(--line); align-items:start; }
h2 { font-size:22px; line-height:1.5; margin-bottom:18px; }
h3 { font-size:19px; line-height:1.5; }
.guide-preview { display:grid; grid-template-columns:minmax(0,190px) minmax(0,1fr); gap:25px; align-items:start; }
.guide-preview img { display:block; width:100%; height:auto; aspect-ratio:596/842; border:1px solid var(--line); box-shadow:0 6px 16px #182f2b0a; }
.guide-preview ol { margin:0; padding-left:22px; }
.guide-preview li { padding-left:3px; margin-bottom:20px; font-size:15px; }
.guide-preview li span { display:block; color:var(--muted); font-size:13px; line-height:1.6; margin-top:4px; }
.guide-disclaimer { font-size:13px; line-height:1.8; color:var(--muted); margin-top:20px; }
.guide-press { border-top:2px solid #b55331; margin-top:32px; padding-top:22px; }
.guide-press .guide-kicker { color:#973c20; }
.guide-press p:not(.guide-kicker) { color:var(--muted); margin-block:10px; font-size:14px; }
.guide-press a { font-weight:650; font-size:14px; }
.guide-request { border:1px solid var(--line); border-top:3px solid var(--green); padding:26px; border-radius:4px; }
.guide-request h2 { margin-bottom:8px; }
.guide-form-intro { color:var(--muted); font-size:14px; margin-bottom:24px; }
#guide-form>label { display:block; font-size:14px; font-weight:650; margin-bottom:8px; }
#guide-form>label span { color:var(--muted); font-size:13px; font-weight:400; }
input[type="tel"],select { display:block; width:100%; min-width:0; min-height:48px; border:1px solid #9eafa7; border-radius:4px; background:#fff; color:var(--ink); padding:10px 12px; }
input:invalid:not(:placeholder-shown) { border-color:#9b372a; }
.guide-help { color:var(--muted); font-size:12px; line-height:1.7; margin-block:7px 18px; overflow-wrap:anywhere; }
.guide-consents { margin-top:24px; border-top:1px solid var(--line); padding-top:20px; }
.guide-check { display:flex; align-items:flex-start; gap:10px; font-size:13px; cursor:pointer; }
.guide-check input { flex:0 0 18px; width:18px; height:18px; margin:3px 0 0; accent-color:var(--green); }
.guide-check small { display:block; font-size:12px; font-weight:400; color:var(--muted); margin-top:7px; }
.guide-consents details { margin:8px 0 20px 28px; font-size:12px; color:var(--muted); }
summary { cursor:pointer; }
.guide-consents details p { margin-top:8px; overflow-wrap:anywhere; }
.guide-submit { display:flex; align-items:center; justify-content:center; width:100%; min-height:50px; padding:12px; margin-top:24px; border:0; border-radius:4px; background:var(--green); color:#fff; text-decoration:none; font-size:15px; font-weight:650; text-align:center; cursor:pointer; white-space:normal; }
.guide-submit:hover { background:#163f33; }
.guide-submit:disabled { opacity:.65; cursor:wait; }
.guide-reconnect { display:block; margin-top:16px; border:0; padding:4px 0; background:none; color:var(--green); text-decoration:underline; text-underline-offset:4px; font-size:13px; cursor:pointer; }
#guide-unavailable>p { font-size:14px; color:var(--muted); }
.guide-status { font-size:13px; color:#963b25; margin-top:12px; overflow-wrap:anywhere; }
.guide-status:empty { display:none; }
.guide-success p { margin-top:12px; font-size:14px; }
.guide-trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.guide-faq { padding-block:40px 60px; border-top:1px solid var(--line); }
.guide-faq details { border-bottom:1px solid var(--line); padding-block:18px; }
.guide-faq summary { font-weight:650; font-size:16px; }
.guide-faq details p { color:var(--muted); margin-top:12px; max-width:850px; }
.guide-sources { font-size:12px; margin-top:28px; color:var(--muted); }
.guide-footer { background:#edf2ef; padding-block:30px; font-size:13px; color:var(--muted); }
.guide-footer p { margin-top:7px; }
@media(max-width:850px) {
 .guide-layout { grid-template-columns:minmax(0,1fr); gap:35px; }
 .guide-request { grid-row:1; }
 .guide-header nav a:not(:last-child) { display:none; }
 .guide-preview { grid-template-columns:180px minmax(0,1fr); }
}
@media(max-width:480px) {
 .guide-wrap { width:calc(100% - 32px); }
 .guide-header>.guide-wrap { gap:10px; min-height:76px; }
 .guide-header nav { font-size:12px; }
 .guide-brand>b { font-size:34px; }
 .guide-brand>span { font-size:12px; }
 .guide-brand small { font-size:10px; }
 .guide-title { padding-top:30px; }
 h1 { font-size:27px; }
 .guide-intro { font-size:14px; }
 .guide-request { padding:20px 16px; }
 h2 { font-size:20px; }
 .guide-preview { grid-template-columns:minmax(0,115px) minmax(0,1fr); gap:17px; }
 .guide-preview li { font-size:14px; margin-bottom:15px; }
 .guide-preview li span { font-size:12px; }
}
