.pd-page{--pd-ink:#192a45;--pd-muted:#59677b;--pd-line:#e1e7ef;--pd-surface:#f7f9fc;--pd-selected:#eef4fc;--pd-space:16px;--pd-gap:32px}
.pd-page .pd-purchase-layout{grid-template-areas:"hero purchase" "process purchase" "error purchase" "toc purchase" "content purchase";grid-template-rows:auto auto auto auto 1fr}
.pd-page .pd-hero{grid-area:hero;min-width:0}
.pd-page .pd-process-options{grid-area:process;min-width:0}
.pd-page #pd-error{grid-area:error}
.pd-heading-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;min-width:0}
.pd-page .pd-heading-nav .mc-bc.nav{display:flex;background:none;border:0;padding:0;margin:0;min-height:0;min-width:0}
.pd-page .pd-heading-nav .mc-bc .mc-bc-in{padding:0;gap:8px;font-size:13px;justify-content:flex-start}
.pd-page header.pd-hero .crumb{display:inline-block;vertical-align:middle;background:none;padding:0;border-radius:0}
.pd-page [hidden]{display:none!important}
.pd-page .akd-blk{padding-inline:0}.pd-page .akd-blk::before{display:none}
@media(min-width:981px){
  section.ak-page.pd-page{background:#fff;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
  .pd-page .mc-bc.nav{position:static;z-index:auto}
  .pd-page .pd-wrap{max-width:1440px;padding:20px 32px 64px;box-sizing:border-box;color:#192a45}
  .pd-page header.pd-hero,.pd-page.pd-has-process-options header.pd-hero{background:none;color:var(--pd-ink);border:0;padding:8px 40px 16px 0;border-radius:0;min-height:0;box-sizing:border-box}
  .pd-page header.pd-hero::after{display:none}
  .pd-page .pd-hero h1{font-size:27px;line-height:1.35;color:#192a45;margin:12px 0 8px;word-break:normal;overflow-wrap:anywhere}
  .pd-page .pd-hero h1 .opt{display:block;color:#56647a;font-size:13px;font-weight:400;margin-top:6px}
  .pd-page .pd-hero .crumb{display:inline-block;color:#59677b;background:#f3f5f8;border-radius:20px;padding:4px 10px;opacity:1;font-size:13px;letter-spacing:0}
  .pd-page .favorite-detail{position:absolute;top:16px;inset-inline-end:20px;margin:0}
  .pd-page .pd-purchase-layout,.pd-page.pd-has-process-options .pd-purchase-layout{grid-template-columns:minmax(0,1fr) 340px;gap:0 var(--pd-gap);margin-top:0}
  .pd-page .pd-process-options{margin:0 0 24px}
  .pd-page .pd-process-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-page .pd-process-choice[aria-current]{border:1px solid var(--pd-line);padding:14px 18px;background:var(--pd-selected)}
  .pd-page .pd-process-choice:hover{border-color:var(--pd-line);background:var(--pd-surface)}
  .pd-secondary{display:block;font-size:13px;font-weight:400;line-height:1.4;color:#59677b}
  .pd-page .pd-content>section{margin-top:36px;scroll-margin-top:calc(var(--pd-sticky-top,89px) + 16px)}
  .pd-page .pd-content>section:first-child{margin-top:0}
  .pd-page .pd-content h2{font-size:18px;line-height:1.4;margin:0;font-weight:700;color:#192a45}
  .pd-page .pd-content h2 .kosub{display:inline;font-size:13px;font-weight:400;color:#59677b;margin-inline-start:8px}
  .pd-page .pd-content h2 .pd-secondary{display:inline;margin-inline-start:8px}
  .pd-page .sec-h{margin-bottom:14px}.pd-page .sec-h .bar{display:none}
  .pd-page .desc-band{padding:0;background:#fff;border:0;box-shadow:none}
  .pd-page #sec-desc .akd{padding:0}
  .pd-page .akd-blk{padding:0;margin-bottom:24px;border:0}
  .pd-page .akd-blk::before{display:none}
  .pd-page .akd h3.akd-h{font-size:15px;line-height:1.5;margin-bottom:8px}
  .pd-page .akd-b{font-size:15px;line-height:1.7;white-space:pre-line}
  .pd-page .pd-purchase{background:#fff;border:1px solid var(--pd-line);padding:24px;border-radius:12px;margin:0;top:var(--pd-sticky-top,89px);max-height:none;overflow:visible;box-shadow:none}
  .pd-page .pd-purchase.pd-static{position:static}
  .pd-page .pd-purchase h2{font-size:18px;margin:0 0 6px;line-height:1.4}
  .pd-page .pp-ko,.pd-page .pp-days,.pd-page .pp-note,.pd-page .pp-action .pp-ko{font-size:13px;line-height:1.45;color:#59677b}
  .pd-page .pd-purchase h2 .pp-ko{display:inline;margin-inline-start:6px}
  .pd-page .pp-price{font-size:28px;line-height:1.25;min-height:35px;color:#192a45;font-variant-numeric:tabular-nums}
  .pd-page .pp-action{background:#123d89;border-color:#123d89}
  .pd-page .pp-action.secondary{background:#fff;color:#192a45;border-color:#c6d1df}
  .pd-page .pp-action .pp-ko{color:inherit}
  .pd-page .faq .faq-q{font-size:15px;padding:14px 16px;color:#234b85;align-items:baseline}
  .pd-page .faq .ans{font-size:15px;line-height:1.7;color:#46556c}
  .pd-page #pd-review-context{font-size:13px;color:#706758;margin:0 0 12px}
  .pd-page .rev-band{background:none;padding:0;margin:0}
  .pd-page .rev-grid{display:block}
  .pd-page .rev{background:none;padding:12px 0;border:0;border-bottom:1px solid #e8ded0;border-radius:0}
  .pd-page .rev:last-child{border:0}
  .pd-page .rev::before{display:none}.pd-page .rev .stars{margin:0}
  .pd-page .rev .body{font-size:15px;line-height:1.7;color:#403d38}
  .pd-page .rev .svc{font-size:13px;color:#706758;border-color:#e8ded0}
  .pd-page #episode-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .pd-page .epi{display:block;padding:14px;margin:0;border-radius:10px}
  .pd-page .epi .route{display:inline-block;white-space:normal;background:#f1f3f6;color:#526179;border-radius:4px;padding:3px 6px;font-size:13px;margin:0 0 8px}
  .pd-page .epi .t{font-size:15px;line-height:1.5}.pd-page .epi .sub{font-size:13px}
  .pd-page .linklist{padding:0}
  .pd-page .morebtn,.pd-page .morebtn.small{font-size:13px}
  .pd-page .pd-wrap :focus-visible{outline:2px solid #245dc0;outline-offset:4px}
  .pd-page .pd-content>section:focus{outline:none}
}
@media(max-width:980px){
  .pd-page .pd-purchase-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "process" "error" "purchase" "toc" "content";gap:0}
  .pd-page header.pd-hero,.pd-page.pd-has-process-options header.pd-hero{background:none;border:0;border-radius:0;color:var(--pd-ink);padding:0 32px 0 0}
  .pd-page header.pd-hero::after{display:none}
  .pd-page .pd-hero h1{color:var(--pd-ink);font-size:24px;line-height:1.45}
  .pd-page .pd-hero h1 .opt,.pd-page .pd-hero .crumb{color:var(--pd-muted)}
  .pd-page .pd-purchase{margin:0 0 24px;padding:var(--pd-space);box-shadow:none}
  .pd-page .pd-hero,.pd-page .pd-process-options{margin:0 0 24px}
  .pd-page .favorite-detail{position:absolute;top:0;inset-inline-end:0}
}

/* ── 2026-10-01 모바일·태블릿 가독성/터치 (T09) — 980px 이하만. ── */
@media(max-width:980px){
  body.pd-purchase-page{margin:0}
  .pd-page .pd-heading-nav .mc-bc .mc-bc-in{font-size:14px}
  .pd-page .pd-purchase{font-size:15px;line-height:1.5}
  .pd-page .pd-purchase h2{font-size:21px}
  .pd-page .pp-action .pp-ko,.pd-page .pp-ko{font-size:13px;color:#56667c}
  .pd-page .pp-action .pp-ko{color:inherit}
  .pd-page .pp-days{font-size:13px;color:#56667c}
  .pd-page .pp-note{font-size:13px;line-height:1.55;color:#56657a}
  .pd-page .pp-status{font-size:14px;line-height:1.55}
  .pd-page .pp-action{min-height:48px;font-size:15px}
  .pd-process-more,.pd-process-retry{min-height:44px}
}
/* 태블릿 세로(700~980): 신청 서랍 안 버튼 2칸 */
@media(min-width:700px) and (max-width:980px){
  .pd-page .pd-wrap{padding-inline:24px}
  .pd-page .pd-purchase{padding:24px}
  .pd-page .pd-purchase fieldset>legend{margin-bottom:8px}
  .pd-page .pd-purchase .pp-action{display:inline-block;width:calc(50% - 6px);vertical-align:top}
  .pd-page .pd-purchase .pp-action+.pp-action{margin-inline-start:12px}
  .pd-page .pd-purchase .pp-action[hidden]{display:none}
}
/* 좁은 휴대폰(≤379, 320·360 기종): 카드 안쪽 여백을 줄여 글자 폭 확보 */
@media(max-width:379px){
  .pd-page .pd-purchase{padding:14px}
  .pd-page .pd-hero h1{font-size:22px;word-break:keep-all;overflow-wrap:anywhere}
}
/* ── 2026-10-02 상세 모바일 QA (T34) ── */
/* 상품 없음: 신청 폼 대신 안내 + 홈·전체 상품·상담 문의 링크(product-purchase.js showMissing). 링크는 44px 터치. */
.pd-page #pd-error{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px}
.pd-page #pd-error>p{flex-basis:100%;margin:0 0 4px}
.pd-page #pd-error a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;box-sizing:border-box}
.pd-page #pd-error a.pd-missing-contact{background:#fff;color:#0d2a5c;border:1px solid #c6d1df}
.pd-page #pd-error a .i18n-sub{color:inherit;opacity:.85}
body.pd-product-missing .pd-page .pd-purchase-layout{display:block}
body.pd-product-missing .pd-page .pd-content,body.pd-product-missing .pd-page .pd-toc{display:none}
@media(max-width:1024px){
  /* 후기 「< 더 보기 >」 버튼 터치 높이 44px */
  .pd-page .morebtn{min-height:44px;padding-block:10px;box-sizing:border-box}
  /* 에피소드: 경로 칩(nowrap)이 긴 언어(en 등)에서 카드 밖으로 잘리던 것 — 칩·본문을 카드 폭 안에서 줄바꿈 */
  .pd-page .epi>*{min-width:0;max-width:100%}
  .pd-page .epi .route{white-space:normal;overflow-wrap:anywhere;box-sizing:border-box;border-radius:12px}
}
/* ── 2026-10-06 상세 모바일 2차 (T41) ── */
/* R2: 상품 없음은 pd-purchase-page 대신 pd-product-missing 을 붙인다 — 기본 body 8px 여백(회색 띠) 제거. 제목은 안내 상자 안의 h1. */
body.pd-product-missing{margin:0}
.pd-page #pd-error .pd-missing-title{flex-basis:100%;margin:0 0 4px;font-size:20px;line-height:1.4;color:#192a45;overflow-wrap:anywhere}
.pd-page #pd-error .pd-missing-title .i18n-sub{display:block;margin-top:2px;font-size:14px;font-weight:500;color:#59677b}
@media(max-width:980px){
  /* L16(T07 에서 이동 경로는 머리 밖으로 분리, 「← 뒤로」 삭제)(☆는 그 줄 끝). 제목 오른쪽 32px 예약을 풀어 제목 폭을 넓히고, 옵션명은 제목 아래 줄로. */
  .pd-page header.pd-hero,.pd-page.pd-has-process-options header.pd-hero{padding-inline:0}
  .pd-page .pd-heading-nav{min-height:44px;margin-bottom:8px;box-sizing:border-box}
  .pd-page .pd-hero>.favorite-detail{position:absolute;top:0;inset-inline-end:0;margin:0}
  .pd-page .pd-hero h1{margin-top:4px}
  .pd-page .pd-hero h1 .opt{display:block;margin-top:4px;font-size:15px;font-weight:500;line-height:1.5}
  /* L15: 해시(#sec-faq 등)로 맞출 때 고정 헤더 아래에 오게(product-detail-layout.mjs 가 --pd-sticky-top 측정) */
  .pd-page .pd-content>section,.pd-page #sec-blog,.pd-page #sec-press{scroll-margin-top:calc(var(--pd-sticky-top,77px) + 8px)}
  /* L14: 후기·사례·뉴스 메타 12px 이상 */
  .pd-page .rev .svc,.pd-page .epi .route{font-size:12px}
}
@media(max-width:1024px){
  .pd-page .pp-fixed-badge,.pd-page .pp-fixed-badge .pp-ko{font-size:12px}
}
/* ── 2026-10-15 상세 머리·목차·서비스 구성 안내 (T07) ──
   톤: 홈(home-copy.css)·구매 카드(product-purchase.css 10-15 블록)와 같은 남색 #0A2A5E · 파랑 #1E5BBA · 연한 #eef4ff, 모서리 12~14, 제목 800.
   속도 색은 홈 속도 칸과 같다(일반 남색 · 급행 #b26a00 · 초급행 #d93a3a). 방향은 논리 속성(inline-start/end)이라 RTL 도 그대로. */
/* 머리(header.pd-hero): 연한 블루 카드 · 발급국 배지(국기) · 제목 · [☆] — 이동 경로는 머리 밖 한 줄 */
.pd-page header.pd-hero,.pd-page.pd-has-process-options header.pd-hero{position:relative;overflow:visible;background:linear-gradient(180deg,#f2f7ff 0%,#fbfdff 100%);border:1px solid #dfe8f6;border-radius:14px;padding:16px 20px 18px;color:#0A2A5E;min-height:0;box-sizing:border-box;margin:0 0 20px}
.pd-page header.pd-hero::after{display:none}
/* 이동 경로는 문서와 상관없는 네비 — product-detail-layout.mjs 가 .pd-heading-nav 를 머리 카드 밖(.pd-wrap 맨 앞, 레이아웃 그리드 위)에 만든다. 헤더 바로 아래 얇은 단독 줄. 「← 뒤로」는 원본에서 삭제. */
.pd-page .pd-heading-nav{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:6px 12px;min-height:32px;margin:0 0 10px;padding:0;box-sizing:border-box;min-width:0}
/* ☆ 는 머리 카드(문서 동작) 오른쪽 위, 발급국 배지 줄과 같은 높이 — 배지가 ☆ 밑으로 들어가지 않게 끝 여백 */
.pd-page header.pd-hero .crumb{max-width:calc(100% - 48px)}
.pd-page .pd-heading-nav .mc-bc .mc-bc-in{font-size:12.5px;gap:6px;color:#5b6b84;flex-wrap:wrap}
.pd-page .pd-heading-nav .mc-bc .mc-bc-in a{color:#5b6b84}.pd-page .pd-heading-nav .mc-bc .mc-bc-here{color:#0A2A5E;font-weight:700}
.pd-page .pd-hero>.favorite-detail{position:absolute;top:12px;inset-inline-end:14px;margin:0;z-index:1}
.pd-page .pd-hero .favorite-detail .favorite-button{display:inline-grid;place-items:center;width:36px;height:36px;min-width:0;min-height:0;padding:0;border:1px solid #d6e2f3;border-radius:50%;background:#fff;color:#e0a93a;font-size:19px;line-height:1;box-shadow:0 1px 2px rgba(10,42,94,.05);cursor:pointer}
.pd-page .pd-hero .favorite-detail .favorite-button:hover{background:#fff8e1;border-color:#f0d58a}
.pd-page .pd-hero .favorite-detail .favorite-button[aria-pressed="true"]{background:#fff8e1;border-color:#f0d58a}
.pd-page header.pd-hero .crumb{display:inline-flex;align-items:center;gap:7px;max-width:100%;box-sizing:border-box;padding:4px 12px;border:1px solid #d6e2f3;border-radius:999px;background:#fff;color:#1E5BBA;font-size:12.5px;font-weight:800;line-height:1.4;letter-spacing:0;opacity:1;overflow-wrap:anywhere}
.pd-page header.pd-hero .crumb:empty{display:none}
.pd-page header.pd-hero .crumb.pd-has-flag{padding-inline-start:5px}
.pd-page header.pd-hero .crumb.pd-has-flag::before{content:"";flex:none;width:22px;height:15px;border-radius:3px;background:var(--pd-flag) center/cover no-repeat;box-shadow:0 0 0 1px rgba(10,42,94,.12)}
.pd-page .pd-hero h1{font-size:26px;line-height:1.32;font-weight:800;letter-spacing:-.01em;color:#0A2A5E;margin:10px 0 0;word-break:keep-all;overflow-wrap:anywhere}
.pd-page .pd-hero h1 .opt{display:block;margin-top:4px;font-size:14px;font-weight:600;line-height:1.5;color:#5b6b84}
.pd-page .pd-hero .i18n-sub{color:#5b6b84}
/* 즐겨찾기 알림(favorites.js 의 role=status)이 레이아웃 칸에 빈 채로 16px 를 차지하던 것 — 비었을 때만 여백 0(알림 영역은 그대로 둔다) */
.pd-page .pd-purchase-layout>.favorite-status:empty{padding:0}
/* 목차(nav.pd-toc): 밑줄 탭 → 알약 칩 줄. 현재 위치(aria-current)는 남색 채움. 980 이하는 한 줄 가로 스크롤(넘침은 칩 줄 안에서만). */
.pd-page .pd-toc{grid-area:toc;display:flex;flex-wrap:wrap;gap:8px;align-self:start;min-width:0;margin:0 0 22px;padding:2px;border:0}
.pd-page .pd-toc a{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:36px;box-sizing:border-box;padding:0 15px;border:1px solid #d6e2f3;border-radius:999px;background:#fff;color:#33496b;font-size:13.5px;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s}
.pd-page .pd-toc a:hover{border-color:#8fb1e6;background:#f8fbff;color:#0A2A5E}
.pd-page .pd-toc a[aria-current]{background:#0A2A5E;border-color:#0A2A5E;color:#fff;box-shadow:0 4px 12px rgba(10,42,94,.18)}
.pd-page .pd-toc a:focus-visible{outline:2px solid #1E5BBA;outline-offset:2px}
.pd-page .pd-toc .pd-secondary{display:inline;font-size:12px;font-weight:600;line-height:1.2;color:inherit;opacity:.72}
@media(prefers-reduced-motion:reduce){.pd-page .pd-toc a{transition:none}}
/* 서비스 구성 안내(#sec-composition): 항상 펼친 카드 */
.pd-page .pd-composition{background:#fff;border:1px solid #dfe8f6;border-radius:14px;padding:20px 22px;box-shadow:0 2px 10px rgba(10,42,94,.04);color:#0A2A5E}
.pd-page .pd-composition .pc-head{margin:0 0 12px}
.pd-page .pd-composition .pc-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px}
.pd-page .pd-composition .pc-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0;min-width:0;grid-template-columns:none}
/* 서류 보유 조건 — 미보유는 그리지 않고(JS), 원본/사본/무관만 알약 라벨 하나 */
.pd-page .pd-composition .pc-hold{display:inline-flex;align-items:center;gap:6px;max-width:100%;box-sizing:border-box;padding:4px 12px 4px 8px;border:1px solid #f0d58a;border-radius:999px;background:#fff8e1;color:#7a5200;font-size:12.5px;font-weight:800;line-height:1.45}
.pd-page .pd-composition .pc-hold-ico{font-size:14px;line-height:1}
.pd-page .pd-composition .pc-hold .kosub{display:inline;margin:0;margin-inline-start:4px;font-size:11.5px;font-weight:500;color:#8a6a2a}
.pd-page .pd-composition .pc-chip{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:2px 7px;max-width:100%;min-width:0;box-sizing:border-box;margin:0;padding:5px 12px;border:1px solid #e1e8f3;border-radius:999px;background:#f6f9fd}
.pd-page .pd-composition .pc-chip dt{margin:0;font-size:12px;font-weight:700;line-height:1.45;color:#5b6b84}
.pd-page .pd-composition .pc-chip dd{margin:0;font-size:12.5px;font-weight:800;line-height:1.45;color:#0A2A5E;overflow-wrap:anywhere;min-width:0}
.pd-page .pd-composition .pc-chip .kosub{display:inline;margin:0;margin-inline-start:4px;font-size:11.5px;font-weight:500;color:#7a889c}
.pd-page .pd-composition .pc-flow{background:#f5f9ff;border:1px solid #e6eef9;border-radius:12px;padding:14px 16px 16px}
.pd-page .pd-composition .pc-flow-heading{display:flex;align-items:baseline;justify-content:flex-start;flex-wrap:wrap;gap:4px 10px;margin:0 0 12px}
.pd-page .pd-composition .pc-flow-heading h3{margin:0;font-size:13.5px;font-weight:800;line-height:1.4;color:#0A2A5E}
.pd-page .pd-composition .pc-flow-heading h3 .kosub,.pd-page .pd-composition .pc-stage-count .kosub{display:inline;margin:0;margin-inline-start:6px;font-size:12px;font-weight:500;color:#7a889c}
.pd-page .pd-composition .pc-stage-count{display:inline-flex;align-items:center;padding:1px 9px;border-radius:999px;background:#dbe7fb;color:#1E5BBA;font-size:12px;font-weight:800;line-height:1.6;text-align:start}
/* 단계: 홈 단계 칩(.od-steps .stc)과 같은 번호 원 + 테두리 알약, 마지막 단계는 남색 채움·노랑 번호. 사이는 짧은 연결선. */
.pd-page .pd-composition .pc-workflow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 30px;margin:0;padding:0;list-style:none;grid-template-columns:none}
.pd-page .pd-composition .pc-workflow>li.pc-step{position:relative;display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;box-sizing:border-box;margin:0;padding:5px 14px 5px 5px;border:1.5px solid #bcd0ee;border-radius:999px;background:#fff;box-shadow:none;grid-column:auto}
.pd-page .pd-composition .pc-workflow>li.pc-step:not(:last-child)::after{content:"";position:absolute;top:50%;inset-inline-start:calc(100% + 6px);width:18px;height:2px;margin-top:-1px;border-radius:2px;background:#bcd0ee}
.pd-page .pd-composition .pc-number{flex:none;display:grid;place-items:center;width:26px;height:26px;min-width:0;margin:0;padding:0;border-radius:50%;background:#dbe7fb;color:#1E5BBA;font-size:12.5px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums;text-align:center}
.pd-page .pd-composition .pc-step-body{display:flex;align-items:center;flex-wrap:wrap;gap:3px 8px;min-width:0}
.pd-page .pd-composition .pc-stage-title{margin:0;font-size:14px;font-weight:800;line-height:1.35;color:#0A2A5E;overflow-wrap:anywhere}
.pd-page .pd-composition .pc-stage-title .kosub{display:inline;margin:0;margin-inline-start:5px;font-size:12px;font-weight:500;color:#7a889c}
.pd-page .pd-composition .pc-stage-meta{display:inline-flex;flex-wrap:wrap;gap:4px;font-size:11.5px;color:#5b6b84}
.pd-page .pd-composition .pc-tag{display:inline-flex;align-items:baseline;gap:4px;padding:1px 8px;border-radius:999px;background:#eef4ff;color:#1E5BBA;font-size:11.5px;font-weight:800;line-height:1.55;white-space:nowrap}
.pd-page .pd-composition .pc-tag.is-optional{background:#fff6e6;color:#b26a00}
.pd-page .pd-composition .pc-tag .kosub{display:inline;margin:0;font-size:11px;font-weight:500;color:inherit;opacity:.75}
.pd-page .pd-composition .pc-workflow>li.pc-step:last-child{background:#0A2A5E;border-color:#0A2A5E}
.pd-page .pd-composition .pc-workflow>li.pc-step:last-child .pc-number{background:#ffd166;color:#0A2A5E}
.pd-page .pd-composition .pc-workflow>li.pc-step:last-child .pc-stage-title{color:#fff}
.pd-page .pd-composition .pc-workflow>li.pc-step:last-child .pc-stage-title .kosub{color:#c9d6ee}
.pd-page .pd-composition .pc-workflow>li.pc-step:last-child .pc-tag{background:rgba(255,255,255,.14);color:#fff}
.pd-page .pd-composition .pc-workflow>li.pc-step.is-optional{border-style:dashed}
.pd-page .pd-composition .pc-empty{margin:0;padding:12px 14px;border-radius:10px;background:#fff;border:1px dashed #d6e2f3;font-size:13px;line-height:1.6;color:#5b6b84}
.pd-page .pd-composition .pc-empty .kosub{display:block;margin-top:2px;font-size:12px;color:#7a889c}
.pd-page .pd-composition .pc-foot{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:12px}
.pd-page .pd-composition .pc-notes{min-width:0;max-width:100%}
.pd-page .pd-composition .pc-note{margin:0;font-size:11.5px;line-height:1.55;color:#8a97a9}
.pd-page .pd-composition .pc-note+.pc-note{margin-top:2px}
.pd-page .pd-composition .pc-note .kosub{display:block;margin:0;font-size:11px;color:#9aa6b6}
/* 문의: 글자만한 알약(폭 자동) + 옆 작은 회색 로그인 안내. 줄이 좁으면 안내가 아래로 내려간다. */
.pd-page .pd-composition .pc-ask{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;max-width:100%}
.pd-page .pd-composition .pc-support-ico{font-size:13px;line-height:1}
.pd-page .pd-composition .pc-ask-hint{font-size:12px;line-height:1.5;color:#5b6b84;min-width:0}
.pd-page .pd-composition .pc-ask-hint .kosub{display:inline;margin:0;margin-inline-start:6px;font-size:11.5px;color:#8a97a9}
.pd-page .pd-composition .pc-support{flex:none;width:auto;display:inline-flex;align-items:center;gap:6px;min-height:36px;box-sizing:border-box;margin:0;padding:0 14px;border:1px solid #d6e2f3;border-radius:999px;background:#fff;color:#1E5BBA;font-size:13px;font-weight:800;line-height:1.2;text-decoration:none}
.pd-page .pd-composition .pc-support::after{content:"\203A";font-size:16px;line-height:1;margin-top:-1px}
html[dir="rtl"] .pd-page .pd-composition .pc-support::after{content:"\2039"}
.pd-page .pd-composition .pc-support:hover{background:#eef4ff;border-color:#bcd0ee}
.pd-page .pd-composition .pc-support .kosub{display:inline;margin:0;font-size:12px;font-weight:500;color:#5b6b84}
.pd-page .pd-composition .pc-support:focus-visible{outline:2px solid #1E5BBA;outline-offset:3px}
@media(min-width:981px){
  .pd-page .pd-toc{margin-bottom:24px}
}
@media(max-width:980px){
  .pd-page header.pd-hero,.pd-page.pd-has-process-options header.pd-hero{padding:12px 14px 16px;margin:0 0 20px}
  .pd-page .pd-heading-nav{min-height:32px;margin-bottom:8px}
  .pd-page .pd-hero>.favorite-detail{top:8px;inset-inline-end:10px}
  .pd-page .pd-hero h1{font-size:22px;line-height:1.36}
  .pd-page .pd-hero h1 .opt{font-size:14px}
  /* 목차: 한 줄 가로 스크롤 칩(스크롤 막대는 숨김). 손가락 44px. */
  .pd-page .pd-toc{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 0 20px;padding:2px 2px 4px;scroll-padding-inline:8px}
  .pd-page .pd-toc::-webkit-scrollbar{display:none}
  .pd-page .pd-toc a{min-height:44px;padding:0 16px;font-size:14px}
  .pd-page .pd-composition{padding:16px}
  .pd-page .pd-composition .pc-support{min-height:44px;font-size:14px}
}
/* 휴대폰: 단계는 세로 흐름(번호 원을 잇는 세로선) — 공정 이름이 길어도 줄이 깨지지 않는다 */
@media(max-width:600px){
  .pd-page .pd-hero h1{font-size:21px}
  .pd-page .pd-composition .pc-flow{padding:12px}
  .pd-page .pd-composition .pc-workflow{flex-direction:column;align-items:stretch;gap:10px}
  .pd-page .pd-composition .pc-workflow>li.pc-step{display:flex;border-radius:14px;padding:6px 12px 6px 6px}
  .pd-page .pd-composition .pc-workflow>li.pc-step:not(:last-child)::after{top:auto;bottom:-11px;margin-top:0;inset-inline-start:18px;width:2px;height:10px}
}
/* ── T07 추가(2026-10-15 사용자): 목차 고정 + 섹션 머리·배경 통일 ── */
/* 목차: 헤더 바로 아래 고정(sticky). 헤더 높이는 product-detail-layout.mjs 가 --pd-sticky-top(=헤더+8px)으로 재고,
   목차 자체 높이는 product-composition.js 가 --pd-toc-h 로 잰다. 모든 폭에서 한 줄 가로 스크롤 칩(줄바꿈하면 고정 띠가 두꺼워진다).
   z-index 는 낮게(4) — 휴대폰 신청 창·나라 시트·헤더 메뉴가 늘 그 위. */
.pd-page{--pd-page-bg:#f6f8fc;--pd-gutter:16px}
.pd-page .pd-toc{position:sticky;top:calc(var(--pd-sticky-top,77px) - 8px);z-index:4;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;background:var(--pd-page-bg);box-shadow:0 1px 0 #e3ebf6;padding:8px 2px}
.pd-page .pd-toc::-webkit-scrollbar{display:none}
@media(min-width:981px){
  .pd-page{--pd-page-bg:#fff}
  .pd-page .pd-toc{margin-bottom:24px}
}
@media(max-width:980px){
  /* 화면 끝까지 띠를 깔고(본문 좌우 여백만큼 바깥으로) 칩은 본문 여백에 맞춘다 */
  .pd-page .pd-toc{margin-inline:calc(var(--pd-gutter) * -1);padding:6px var(--pd-gutter);scroll-padding-inline:var(--pd-gutter)}
}
@media(min-width:700px) and (max-width:980px){.pd-page{--pd-gutter:24px}}
@media(max-width:600px){.pd-page.pd-has-process-options{--pd-page-bg:#fff}}
/* 섹션 해시·목차 이동: 헤더 + 고정 목차 높이를 피한다 */
.pd-page .pd-content>section,.pd-page #sec-blog,.pd-page #sec-press{scroll-margin-top:calc(var(--pd-sticky-top,77px) + var(--pd-toc-h,56px) + 4px)}
/* 섹션 = 같은 흰 카드(테두리 #dfe8f6 · 모서리 14 · 같은 안쪽/바깥 간격) */
.pd-page .pd-content>section{margin-top:20px;background:#fff;border:1px solid #dfe8f6;border-radius:14px;padding:20px 22px;box-shadow:0 2px 10px rgba(10,42,94,.04);box-sizing:border-box;min-width:0}
.pd-page .pd-content>section:first-child{margin-top:0}
.pd-page .pd-content>section#sec-desc:has(#desc-body:empty){display:none}
/* 섹션 머리 = 왼쪽 짧은 파란 막대 + 굵은 18px 제목(+ 루트 병기 보조 글자 한 줄 안) */
.pd-page .pd-content .sec-h{display:block;margin:0 0 14px;padding:0;border:0}
.pd-page .pd-content .sec-h::after,.pd-page .pd-content .sec-h .bar{display:none}
.pd-page .pd-content .sec-h h2,.pd-page .pd-content .sec-h.small h2,.pd-page #sec-desc>h2.pd-description-title,.pd-page .pd-composition .pc-head h2{position:relative;display:block;margin:0;padding:0;padding-inline-start:13px;border:0;font-size:18px;line-height:1.4;font-weight:800;letter-spacing:-.01em;color:#0A2A5E}
.pd-page .pd-content .sec-h h2::before,.pd-page #sec-desc>h2.pd-description-title::before,.pd-page .pd-composition .pc-head h2::before{content:"";position:absolute;inset-inline-start:0;top:.28em;width:4px;height:.95em;border-radius:2px;background:#1E5BBA}
.pd-page #sec-desc>h2.pd-description-title::after{display:none}
.pd-page #sec-desc>h2.pd-description-title{display:block!important;margin:0 0 14px!important}
.pd-page .pd-content h2 .kosub,.pd-page .pd-content h2 .pd-secondary{display:inline;margin:0;margin-inline-start:8px;font-size:13px;font-weight:500;color:#5b6b84}
.pd-page .pd-composition .pc-head{margin:0 0 12px}
/* 섹션 안쪽: 색 차이를 줄인 같은 톤(연한 파랑 테두리). FAQ 는 접기 없이 늘 펼친 카드(질문 h3.faq-q · 답 .ans) */
.pd-page .desc-band{background:none;border:0;box-shadow:none;padding:0}
.pd-page #sec-desc .akd{padding:0}
.pd-page .faq .faq-item{background:#f8fbff;border:1px solid #bcd0ee;border-radius:12px;box-shadow:none;margin-bottom:8px}
.pd-page .faq .faq-item:last-child{margin-bottom:0}
.pd-page .faq .faq-q .qm{color:#1E5BBA}
.pd-page #pd-review-context{margin:0 0 10px;font-size:13px;color:#5b6b84}
.pd-page .rev-band{background:none;padding:0;margin:0;border-radius:0}
.pd-page .rev-grid{display:block}
.pd-page .rev{background:none;padding:12px 0;border:0;border-bottom:1px solid #e9eff8;border-radius:0}
.pd-page .rev:last-child{border-bottom:0}
.pd-page .rev::before{display:none}.pd-page .rev .stars{margin:0}
.pd-page .rev .svc{color:#5b6b84;border-color:#e9eff8}
.pd-page .epi{background:#f8fbff;border:1px solid #e3ebf6}
.pd-page .epi .route{background:#eef4ff;color:#1E5BBA}
.pd-page .epi .route b{color:#0A2A5E}
.pd-page #sec-articles .two{gap:20px}
.pd-page #sec-articles .sec-h{margin-bottom:10px}
.pd-page .morebtn{color:#1E5BBA}
@media(max-width:980px){
  .pd-page .pd-content>section{margin-top:16px;padding:16px}
  .pd-page .pd-content .sec-h h2,.pd-page .pd-content .sec-h.small h2,.pd-page #sec-desc>h2.pd-description-title,.pd-page .pd-composition .pc-head h2{font-size:18px}
}
/* PC 상세 — 스크롤하면 헤더 아래 그림자 + 휴대폰처럼 「어디까지 읽었는지」 막대(2026-10-15 사용자 「모바일처럼 헤더에 바텀 효과」).
   html.pd-scrolled 는 product-composition.js 가 단다. 막대(.nav-progress)는 auth.js 가 모든 폭에 붙이고 site-gnb.css 가 ≤1024 에서만 보이게 하므로 여기서 PC 도 켠다. */
body.pd-purchase-page .nav:not(.mc-bc){transition:box-shadow .2s}
html.pd-scrolled body.pd-purchase-page .nav:not(.mc-bc){box-shadow:0 6px 18px rgba(10,42,94,.10)}
@media (min-width:1025px){
  body.pd-purchase-page .nav > .nav-progress{display:block;position:absolute;left:0;right:0;bottom:0;height:3px;pointer-events:none;overflow:hidden;z-index:1}
  body.pd-purchase-page .nav > .nav-progress > span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#0A2A5E,#1E5BBA);transition:transform .12s linear}
  html[dir="rtl"] body.pd-purchase-page .nav > .nav-progress > span{transform-origin:right center;background:linear-gradient(270deg,#0A2A5E,#1E5BBA)}
  body.pd-purchase-page .nav > .nav-progress.is-empty{visibility:hidden}
}
@media (prefers-reduced-motion:reduce){body.pd-purchase-page .nav:not(.mc-bc){transition:none}}

/* 신청 서류 / 서비스 — 홈 서류 찾기 카드처럼 위(서류, 굵게)·아래(그 서류의 서비스, ↳ 들여쓰기)로 나눈 한 상자(2026-10-15 사용자 「둘이 같아 보인다」). 알약 모양을 덮는다. */
.pd-page .pd-composition .pc-tags{display:block}
.pd-page .pd-composition .pc-meta{display:flex;flex-direction:column;gap:0;margin:0 0 14px;border:1px solid #dfe8f6;border-radius:12px;background:#fff;overflow:hidden}
.pd-page .pd-composition .pc-meta .pc-chip{display:flex;flex-direction:column;align-items:stretch;gap:2px;max-width:none;padding:10px 14px;border:0;border-radius:0;background:none}
.pd-page .pd-composition .pc-meta .pc-chip+.pc-chip{border-top:1px dashed #dbe5f3}
.pd-page .pd-composition .pc-meta .pc-chip dt{font-size:11.5px;font-weight:700;color:#6b7c95}
.pd-page .pd-composition .pc-meta .pc-doc{background:#f5f9ff}
.pd-page .pd-composition .pc-meta .pc-doc dd{font-size:16px;font-weight:800;line-height:1.4;color:#0A2A5E}
.pd-page .pd-composition .pc-meta .pc-service,.pd-page .pd-composition .pc-meta .pc-option{position:relative;padding-inline-start:34px}
.pd-page .pd-composition .pc-meta .pc-service::before,.pd-page .pd-composition .pc-meta .pc-option::before{content:"↳";position:absolute;inset-inline-start:14px;top:9px;font-size:15px;font-weight:800;color:#1E5BBA}
html[dir="rtl"] .pd-page .pd-composition .pc-meta .pc-service::before,html[dir="rtl"] .pd-page .pd-composition .pc-meta .pc-option::before{transform:scaleX(-1)}
.pd-page .pd-composition .pc-meta .pc-service dd,.pd-page .pd-composition .pc-meta .pc-option dd{font-size:14px;font-weight:700;line-height:1.45;color:#34465f}
/* 휴대폰(≤980)에서는 구매 카드가 신청 창(product-purchase.js)으로 빠진다 — 스크립트가 준비되기 전(body.pd-purchase-page 전)에 본문에 잠깐 보였다 사라지지 않게 미리 숨긴다(2026-10-15). */
@media (max-width:980px){body:not(.pd-purchase-page) .pd-purchase[data-product-purchase]{display:none}}
/* 영·한 병기판(/) — 제목·라벨·버튼의 한국어는 같은 줄 옆이 아니라 아래 줄에 작게(2026-10-17 전 언어 점검, 사용자 병기 규칙).
   탭·속도 칩·단계 칩·이동 경로처럼 아주 좁은 칩은 예외로 옆에 둔다. */
.pd-wrap h2>.pd-secondary,.pd-wrap h2 .kosub,.pd-wrap h3 .kosub,.pd-wrap dt .kosub,.pd-wrap dt .pp-ko,.pd-wrap h2 .pp-ko,.pd-wrap .pp-sum-title .pp-ko,.pd-wrap .pp-price-label .pp-ko,.pd-wrap .pp-action .pp-ko,.pd-wrap .pc-ask-hint .kosub,
main h2>.pd-secondary,main h2 .kosub,main h3 .kosub,main dt .kosub,main dt .pp-ko,main h2 .pp-ko,main .pp-sum-title .pp-ko,main .pp-price-label .pp-ko,main .pp-action .pp-ko,main .pc-ask-hint .kosub{display:block!important;margin:2px 0 0!important;margin-inline-start:0!important;font-size:max(10.5px,.68em)!important;font-weight:600;opacity:.72;line-height:1.3}
main .pp-action:has(.pp-ko){display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}
/* 휴대폰 터치 영역 44px(2026-10-18 아이폰 점검) — 즐겨찾기 별 */
@media (max-width:900px){main .favorite-button,.pd-wrap .favorite-button{min-width:44px!important;min-height:44px!important}}
/* 영·한 병기판(/) 머리 카드·고정 문구의 한국어 줄(2026-10-20 T01) — 영어 아래 작은 한국어 한 줄. */
.pd-page .pd-hero h1 .pd-title-ko{display:block;margin-top:6px;font-size:.6em;font-weight:600;line-height:1.4;letter-spacing:0;color:#5b6b84}
.pd-page header.pd-hero .crumb .pd-crumb-bi{display:block;line-height:1.3}
.pd-page header.pd-hero .crumb .pd-crumb-ko{display:block;margin-top:1px;font-size:10.5px;font-weight:600;color:#6b7c95}
.pd-page header.pd-hero .crumb:has(.pd-crumb-ko){border-radius:14px}
.pd-page #pd-review-context .pd-sub-ko,.pd-page #review-more .pd-more-ko{display:block;font-size:.8em;font-weight:500;opacity:.75}
.pd-page .pd-composition .pc-stage-title .kosub{display:block;margin:1px 0 0;font-size:11.5px;font-weight:500;color:#7a889c}
.pd-page .pd-composition .pc-workflow>li.pc-step:last-child .pc-stage-title .kosub{color:#c9d6ee}
.pd-page .pd-composition .pc-chip dd .kosub{display:block;margin:2px 0 0;font-size:12px;font-weight:500;color:#6b7c95}
