/* 정적 쪽(가이드·나라별 호텔, tools/lib/content-pages.mjs) 모양. 값은 tokens.css, 체인 색(--ch)은 brands.css.
   가이드 본문은 guide.css(.gd)가 그린다. 장식 카드 없이 글·표·구분선으로만 나눈다. */
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--ko);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;word-break:keep-all}
a{color:inherit}
:lang(ja){font-family:var(--ja);word-break:normal;line-break:strict}
:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.ct-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;padding:14px 24px;border-bottom:3px solid var(--ink);background:var(--card)}
.ct-brand{display:inline-flex}
.ct-brand .brand-logo{height:32px;width:auto}
.ct-tag{font-family:var(--num);font-weight:600;font-size:12px;letter-spacing:.08em;color:var(--muted)}
.ct-nav{display:flex;flex-wrap:wrap;gap:4px 16px;margin-left:auto;font-weight:700;font-size:14px}
.ct-nav a{text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.ct-nav a:hover{text-decoration:underline}
.ct-main{max-width:880px;margin:0 auto;padding:28px 24px 56px}
.ct-wide{max-width:900px}
.ct-main h1{margin:0;font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.3}
.ct-lede{margin:10px 0 0;font-size:16px;color:var(--ink-2);max-width:68ch}
.ct-crumb{margin:0 0 14px;font-size:13px;color:var(--muted)}
.ct-note{margin:12px 0 0;font-size:13px;color:var(--muted);max-width:76ch}
.ct-h2{margin:34px 0 8px;padding-top:14px;border-top:1px solid var(--rule);font-size:18px;font-weight:700}
.ct-count{font-family:var(--num);font-weight:600;font-size:14px;color:var(--muted)}
.ct-more{margin:24px 0 0;font-weight:700}
.ct-guides{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--rule)}
.ct-guides li{border-bottom:1px solid var(--rule)}
.ct-guides a{display:grid;gap:4px;padding:18px 0;text-decoration:none}
.ct-guides a:hover strong{text-decoration:underline}
.ct-eyebrow{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ch,var(--muted))}
.ct-guides strong{font-size:18px;line-height:1.4}
.ct-guides span:not(.ct-eyebrow){color:var(--ink-2)}
.ct-guides small{font-size:12px;color:var(--muted)}
.ct-links{margin:0;padding-left:20px}
.ct-links li{padding:3px 0}
.ct-wrap{overflow-x:auto;margin:16px 0 0}
.ct-table{width:100%;border-collapse:collapse;font-size:14px}
.ct-table th,.ct-table td{padding:7px 10px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.ct-table th{font-size:12px;font-weight:700;color:var(--muted);border-bottom-color:var(--ink);white-space:nowrap}
.ct-table .n{text-align:right;font-family:var(--num);font-variant-numeric:tabular-nums;white-space:nowrap}
/* 요약표(나라·도시별 수)의 이름 칸은 끊지 않는다. 좁은 화면에서는 표가 틀 안에서 가로로 밀린다 */
.ct-sum td:first-child{white-space:nowrap}
.ct-chain{font-weight:700;color:var(--ch,var(--ink))}
.ct-off{font-size:12px;color:var(--muted);white-space:nowrap}
.ct-city{scroll-margin-top:12px}
.ad-slot{margin:28px 0;min-height:100px}
.ct-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;padding:14px 16px;border-top:1px solid var(--rule);background:var(--card);font-size:13px;color:var(--muted)}
.ct-foot a{text-decoration:none;min-height:28px;display:inline-flex;align-items:center}
.ct-foot a:hover{text-decoration:underline}
@media (max-width:560px){
  .ct-top{padding:12px 16px}.ct-nav{margin-left:0;width:100%}
  .ct-main{padding:20px 16px 44px}.ct-main h1{font-size:24px}
  .ct-table{font-size:13px}.ct-table th,.ct-table td{padding:6px 8px}
}
