/* 하위 페이지(개인정보 처리방침 · 접수 완료) — site.css 위에 덧씌운다 */
.sub .hdr { position: sticky; top: 0; background: var(--forest); box-shadow: 0 1px 0 rgba(155, 209, 59, .25); }
.sub .hdr .tel { display: flex; margin-left: auto; }
.sub .hdr .btn { display: inline-flex; }
@media (max-width: 900px) { .sub .hdr .btn { display: none; } .sub .hdr .tel { font-size: 18px; } }
@media (max-width: 420px) { .sub .brand b { font-size: 16px; } .sub .hdr .tel { font-size: 16px; } .sub .hdr .tel .ic { display: none; } }

.doc { padding: clamp(40px, 6vw, 72px) 0 clamp(56px, 8vw, 96px); }
.doc .wrap { width: min(880px, 100% - var(--gut) * 2); }
.doc h1 { font-size: clamp(28px, 3.6vw, 40px); font-weight: 900; letter-spacing: -.035em; color: var(--forest); line-height: 1.25; padding-bottom: 14px; border-bottom: 2px solid var(--forest); }
.doc .meta { margin-top: 10px; font-size: 14px; color: var(--mute); }
.doc .intro { margin-top: 26px; font-size: 16px; line-height: 1.8; }
.doc h2 { margin-top: 44px; font-size: 20px; font-weight: 900; letter-spacing: -.02em; color: var(--forest); scroll-margin-top: calc(var(--hdr) + 16px); }
.doc h2 + * { margin-top: 12px; }
.doc p, .doc li { font-size: 15.5px; line-height: 1.8; }
.doc p + p, .doc p + ol, .doc ol + p, .doc p + .tw, .doc ol + .tw, .doc p + ul { margin-top: 10px; }
.doc .tw + p { margin-top: 14px; }
.doc ol.n { counter-reset: n; }
.doc ol.n > li { counter-increment: n; padding-left: 1.6em; text-indent: -1.6em; }
.doc ol.n > li + li { margin-top: 4px; }
.doc ol.n > li::before { content: counter(n) '. '; font-weight: 800; color: var(--forest); display: inline-block; width: 1.6em; text-indent: 0; }
.doc ul.d > li { padding-left: 1em; text-indent: -1em; }
.doc ul.d > li::before { content: '– '; color: var(--leaf); }
.doc b { font-weight: 800; color: var(--forest); }
.doc table { width: 100%; border-collapse: collapse; font-size: 14.5px; line-height: 1.65; background: #fff; border-bottom: 1.5px solid var(--forest); }
.doc th, .doc td { padding: 11px 14px 9px; text-align: left; vertical-align: top; border-top: 1px solid var(--line); }
.doc thead th { background: var(--forest); color: #fff; font-weight: 800; border-top: 0; }
.doc tbody th { width: 9.5em; font-weight: 800; color: var(--forest); background: var(--sage-l); }
.doc .tw { overflow-x: auto; }
.doc .toc { margin-top: 28px; padding: 18px 22px 16px; background: #fff; border-top: 2px solid var(--forest); display: grid; grid-template-columns: 1fr 1fr; gap: 4px 28px; font-size: 14.5px; }
.doc .toc a { color: var(--ink); font-weight: 600; }
.doc .toc a:hover { color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.doc .glance { margin-top: 26px; }
.doc .glance caption { text-align: left; font-size: 15px; font-weight: 900; color: var(--forest); padding-bottom: 8px; }
.doc .tbd { background: #FFF1BF; color: #7A5600; border-bottom: 1.5px dashed #C9961E; padding: 0 4px; font-weight: 700; }
.doc .fn { margin-top: 10px; font-size: 13.5px; color: var(--mute); }
.doc .back { margin-top: 48px; display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 640px) {
  .doc .toc { grid-template-columns: 1fr; }
  .doc tbody th { width: 6.5em; }
  .doc th, .doc td { padding: 10px 10px 8px; }
}

/* 접수 완료 */
.done { min-height: calc(100vh - var(--hdr) - 160px); display: grid; place-items: center; text-align: center; padding: 72px 0; }
.done .ok { width: 72px; height: 72px; margin: 0 auto 22px; border-radius: 50%; background: var(--lime); color: var(--forest); padding: 18px; }
.done h1 { font-size: clamp(26px, 3.4vw, 36px); font-weight: 900; letter-spacing: -.035em; color: var(--forest); }
.done p { margin-top: 14px; font-size: 16px; line-height: 1.8; color: var(--mute); }
.done .back { margin-top: 30px; display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

.sub .ftr { padding-bottom: 96px; }   /* 오른쪽 아래 Netlify 배지 자리 */
