/* 외국어 가이드 페이지 · 홈 FAQ (build-guides.py / build-home-faq.py, 2026-10-07)
   사이트 토큰만 쓴다: 베이지 바탕, 먹색 글자, Noto Serif 제목, Noto Sans 본문. 새 색은 만들지 않는다. */
.gd { text-align: left; }
.gd-col { max-width: 760px; margin: 0 auto; padding: 0 clamp(22px, 4vw, 48px); }
.gd-crumb { font: 13px/1.6 var(--font-family-content); color: var(--color-grey-600); letter-spacing: .01em; }
.gd-crumb a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.gd-crumb a:hover { color: var(--color-grey-900); }
.gd-eyebrow { margin-top: 28px; font: 500 12px/1 var(--font-family-content); letter-spacing: .18em; text-transform: uppercase; color: var(--color-grey-600); }
.gd-h1 { margin-top: 14px; font-family: var(--font-serif-cjk); font-weight: 500; font-size: clamp(27px, 3.6vw, 40px); line-height: 1.3; letter-spacing: -.02em; color: var(--color-grey-900); }
.gd-lead { margin-top: 22px; font: 400 clamp(16px, 1.6vw, 18px)/1.85 var(--font-family-content); color: var(--color-grey-900); }
.gd-meta { margin-top: 18px; font: 13px/1.6 var(--font-family-content); color: var(--color-grey-600); }
.gd-approach { margin-top: 34px; padding: 22px 24px; border-top: 1px solid var(--color-grey-900); border-bottom: 1px solid var(--color-grey-300); }
.gd-approach-k { font: 500 12px/1.4 var(--font-family-content); letter-spacing: .14em; text-transform: uppercase; color: var(--color-grey-600); }
.gd-approach-t { margin-top: 10px; font-family: var(--font-serif-cjk); font-weight: 500; font-size: clamp(18px, 2vw, 21px); line-height: 1.6; color: var(--color-grey-900); }
.gd-approach ol { margin: 14px 0 0; padding-left: 1.3em; font: 15px/1.8 var(--font-family-content); color: var(--color-grey-900); }
.gd-approach-n { margin-top: 12px; font: 13px/1.7 var(--font-family-content) !important; color: var(--color-grey-600) !important; }
.gd-approach a { display: inline-block; margin-top: 12px; font: 14px/1.6 var(--font-family-content); color: var(--color-grey-900); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.gd-sec { margin-top: clamp(44px, 7vh, 64px); }
.gd h2 { font-family: var(--font-serif-cjk); font-weight: 500; font-size: clamp(21px, 2.3vw, 27px); line-height: 1.4; letter-spacing: -.02em; color: var(--color-grey-900); }
.gd h3 { margin-top: 26px; font-family: var(--font-serif-cjk); font-weight: 500; font-size: clamp(17px, 1.8vw, 19px); line-height: 1.5; color: var(--color-grey-900); }
.gd p, .gd li { font: 400 16px/1.9 var(--font-family-content); color: var(--color-grey-900); }
.gd .gd-sec > p, .gd .gd-sec > ul, .gd .gd-sec > ol, .gd .gd-sec > .gd-tbl, .gd .gd-sec > .gd-tip { margin-top: 16px; }
.gd ul, .gd ol { padding-left: 1.3em; }
.gd ul { list-style: disc; }
.gd ol { list-style: decimal; }
.gd li + li { margin-top: 6px; }
.gd-sec a, .gd-faq a, .gd-lead a { color: var(--color-grey-900); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.gd-tip { padding: 16px 18px; background: var(--color-grey-100); border-left: 2px solid var(--color-grey-900); }
.gd-tip p { font-size: 15px; }
.gd-tbl { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.gd-tbl table { width: 100%; min-width: 560px; border-collapse: collapse; font: 14.5px/1.6 var(--font-family-content); color: var(--color-grey-900); }
.gd-tbl table:has(th:nth-child(5)) { min-width: 720px; }   /* 5열 이상 표: 모바일에서 옆으로 밀어 보기 */
.gd-tbl th, .gd-tbl td { min-width: 6.5em; padding: 11px 10px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--color-grey-300); overflow-wrap: normal; word-break: normal; }   /* 영문 기기명이 글자 단위로 끊기지 않게 */
.gd-tbl tbody th { font-weight: 500; }
.gd-tbl thead th { font-weight: 500; border-bottom: 1px solid var(--color-grey-900); }
.gd-price .tgs { margin-top: 10px; }
.gd-price .tg { margin-top: 18px; }
.gd-price-links { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px 22px; }
.gd-faq { margin-top: 8px; border-top: 1px solid var(--color-grey-900); }
.gd-faq .gd-q { margin-top: 0; padding-top: 22px; }
.gd-faq .gd-a { margin-top: 8px; padding-bottom: 22px; border-bottom: 1px solid var(--color-grey-300); }
.gd-cta { margin-top: clamp(44px, 7vh, 64px); padding: 28px 24px; background: var(--color-grey-900); color: var(--color-beige-100); }
.gd-cta p { color: var(--color-beige-100); }
.gd-cta-t { font-family: var(--font-serif-cjk); font-weight: 500; font-size: clamp(19px, 2vw, 23px); line-height: 1.5; }
.gd-cta-s { margin-top: 8px; font-size: 14.5px !important; opacity: .82; }
.gd-cta-row { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 12px; }
.gd-btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; font: 500 15px/1 var(--font-family-content); letter-spacing: .02em; border: 1px solid var(--color-beige-100); color: var(--color-beige-100); }
.gd-btn--fill { background: var(--color-beige-100); color: var(--color-grey-900); }
.gd-btn:hover { opacity: .86; }
.gd-btn:focus-visible { outline: 2px solid var(--color-orange); outline-offset: 3px; }
.gd-rel { margin-top: clamp(44px, 7vh, 64px); }
.gd-rel ul { list-style: none; padding: 0; margin-top: 12px; border-top: 1px solid var(--color-grey-300); }
.gd-rel li { margin: 0; border-bottom: 1px solid var(--color-grey-300); }
.gd-rel li + li { margin-top: 0; }
.gd-rel a { display: block; padding: 15px 2px; font: 15.5px/1.6 var(--font-family-content); color: var(--color-grey-900); }
.gd-rel a:hover { text-decoration: underline; text-underline-offset: 3px; }
.gd .pg-note { margin-top: clamp(40px, 6vh, 56px); }
/* 가이드 목록 */
.gd-hub-grp { margin-top: clamp(40px, 6vh, 56px); }
.gd-hub-list { list-style: none; padding: 0 !important; margin-top: 12px; border-top: 1px solid var(--color-grey-900); }
.gd-hub-list li { margin: 0 !important; border-bottom: 1px solid var(--color-grey-300); }
.gd-hub-list a { display: block; padding: 18px 2px; color: var(--color-grey-900); }
.gd-hub-list b { display: block; font-family: var(--font-serif-cjk); font-weight: 500; font-size: clamp(17px, 1.8vw, 19px); line-height: 1.5; }
.gd-hub-list span { display: block; margin-top: 4px; font: 14.5px/1.7 var(--font-family-content); color: var(--color-grey-600); }
.gd-hub-list a:hover b { text-decoration: underline; text-underline-offset: 3px; }
/* 홈 FAQ·가이드 띠 (build-home-faq.py) */
.hf { padding: clamp(64px, 10vh, 110px) 0; }
.hf-col { max-width: 760px; margin: 0 auto; padding: 0 clamp(22px, 4vw, 48px); text-align: left; }
.hf-k { font: 500 12px/1 var(--font-family-content); letter-spacing: .18em; text-transform: uppercase; color: var(--color-grey-600); }
.hf-h { margin-top: 14px; font-family: var(--font-serif-cjk); font-weight: 500; font-size: clamp(24px, 3vw, 34px); line-height: 1.35; letter-spacing: -.02em; color: var(--color-grey-900); }
.hf-faq { margin-top: 26px; border-top: 1px solid var(--color-grey-900); }
.hf-faq details { border-bottom: 1px solid var(--color-grey-300); }
.hf-faq summary { position: relative; padding: 20px 36px 20px 0; cursor: pointer; list-style: none; font-family: var(--font-serif-cjk); font-weight: 500; font-size: clamp(16px, 1.7vw, 18px); line-height: 1.55; color: var(--color-grey-900); }
.hf-faq summary::-webkit-details-marker { display: none; }
.hf-faq summary::after { content: "+"; position: absolute; right: 4px; top: 18px; font: 300 22px/1 var(--font-family-content); color: var(--color-grey-600); transition: transform .2s; }
.hf-faq details[open] summary::after { transform: rotate(45deg); }
.hf-faq summary:focus-visible { outline: 2px solid var(--color-orange); outline-offset: 2px; }
.hf-faq .hf-a { padding: 0 0 22px; font: 400 15.5px/1.9 var(--font-family-content); color: var(--color-grey-900); }
.hf-faq .hf-a a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.hf-more { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px 22px; font: 15px/1.6 var(--font-family-content); }
.hf-more a { color: var(--color-grey-900); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
@media (max-width: 640px) {
  .gd p, .gd li { font-size: 15.5px; }
  .gd-cta { padding: 24px 20px; }
  .gd-btn { flex: 1 1 100%; justify-content: center; }
}
