@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/variable/pretendardvariable-dynamic-subset.css');

/* ============================================================
   TourLive — 미술관 블로그 블록 시스템
   모든 값은 tourlive_dg_tokens.json에서 가져왔습니다.
   ============================================================ */
:root{
  --color-primary-default:#FF730D;
  --color-primary-hover:#FF5811;
  --color-primary-light:#FFF3EC;
  --color-primary-deep:#CC4200;
  --color-text-strong:#1A1A1A;
  --color-text-default:#3A3A3A;
  --color-text-subtle:#8A8A8A;
  --color-text-inverse:#FFFFFF;
  --color-bg-page:#FFFFFF;
  --color-bg-subtle:#F9F9F9;
  --color-bg-muted:#F2F4F7;
  --color-bg-placeholder:#E1E1E1;
  --color-bg-outside:#EFEFEF;
  --color-border-default:#D1D1D1;
  --color-border-strong:#A0A0A0;
  --color-star:#FF5811;
  --space-xs:4px; --space-sm:8px; --space-md:12px; --space-lg:16px;
  --space-xl:20px; --space-2xl:24px; --space-3xl:32px; --space-4xl:40px;
  --radius-sm:8px; --radius-md:12px; --radius-lg:16px; --radius-xl:20px; --radius-full:9999px;
  --shadow-card:0px 2px 8px 0px rgba(0,0,0,0.05);
  --shadow-hover:0px 4px 12px 0px rgba(0,0,0,0.30);
  --layout-container:600px;
  --layout-pad-mobile:20px;
  --layout-pad-web:24px;
  --layout-nav-height:56px;
  --layout-touch-min:44px;
  --motion-fast:150ms cubic-bezier(0.4,0,0.2,1);
  --motion-normal:250ms cubic-bezier(0.4,0,0.2,1);
  --font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic',sans-serif;
}

/* 타이포그래피 스케일 */
.t-display     {font-size:34px;font-weight:700;line-height:1.25;letter-spacing:-0.02em;}
.t-h1          {font-size:28px;font-weight:700;line-height:1.30;letter-spacing:-0.01em;}
.t-h2          {font-size:24px;font-weight:700;line-height:1.40;letter-spacing:-0.01em;}
.t-h3          {font-size:20px;font-weight:600;line-height:1.45;letter-spacing:0;}
.t-h4          {font-size:18px;font-weight:600;line-height:1.45;letter-spacing:0;}
.t-body-lg     {font-size:16px;font-weight:400;line-height:1.60;letter-spacing:0;}
.t-body-lg-b   {font-size:16px;font-weight:700;line-height:1.60;letter-spacing:0;}
.t-body        {font-size:15px;font-weight:400;line-height:1.60;letter-spacing:0;}
.t-body-b      {font-size:15px;font-weight:700;line-height:1.60;letter-spacing:0;}
.t-body-sm     {font-size:14px;font-weight:400;line-height:1.55;letter-spacing:0;}
.t-body-sm-b   {font-size:14px;font-weight:700;line-height:1.55;letter-spacing:0;}
.t-caption     {font-size:13px;font-weight:400;line-height:1.50;letter-spacing:0;}
.t-caption-b   {font-size:13px;font-weight:700;line-height:1.50;letter-spacing:0;}
.t-caption-sm  {font-size:12px;font-weight:400;line-height:1.50;letter-spacing:0;}
.t-caption-sm-b{font-size:12px;font-weight:700;line-height:1.50;letter-spacing:0;}
.t-label       {font-size:11px;font-weight:600;line-height:1.50;letter-spacing:0.04em;}

/* 기본 */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--color-bg-outside);color:var(--color-text-default);
  font-family:var(--font-family);font-size:15px;line-height:1.60;-webkit-font-smoothing:antialiased;}
a{color:var(--color-primary-deep);text-underline-offset:3px;}
p{margin:0;} ol,ul{margin:0;padding:0;}
img{max-width:100%;height:auto;display:block;}

.shell{max-width:var(--layout-container);margin:0 auto;padding-left:var(--layout-pad-web);padding-right:var(--layout-pad-web);}
main .shell{background:var(--color-bg-page);padding-bottom:40px;}

/* sr-only */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}

/* Badge */
.badge{display:inline-flex;align-items:center;border-radius:var(--radius-full);padding:var(--space-xs) var(--space-md);}
.badge--outlined{border:1px solid var(--color-border-default);color:var(--color-text-default);}
.badge--filled{border:1px solid transparent;}
.badge--filled.badge--default{background:var(--color-bg-muted);color:var(--color-text-strong);}
.badge--filled.badge--orange{background:var(--color-primary-light);color:var(--color-primary-default);}

/* Button */
.btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);
  min-height:var(--layout-touch-min);width:100%;
  border:1px solid transparent;border-radius:var(--radius-md);
  padding:var(--space-md) var(--space-3xl);text-decoration:none;cursor:pointer;
  transition:background var(--motion-fast),border-color var(--motion-fast);
  font-size:16px;font-weight:700;line-height:1.60;}
.btn--filled{background:var(--color-primary-default);border-color:var(--color-primary-default);color:var(--color-text-inverse);}
.btn--filled:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);}
.btn--outlined{background:var(--color-bg-page);border-color:var(--color-border-strong);color:var(--color-text-strong);}
.btn--outlined:hover{background:var(--color-bg-muted);}
.btn--linepoint{background:var(--color-bg-page);border-color:var(--color-primary-default);color:var(--color-primary-default);}
.btn--linepoint:hover{background:var(--color-primary-light);}
.btn--sm{min-height:34px;height:34px;padding:0 15px;font-size:14px;line-height:1.55;}

/* Divider */
.divider{height:1px;background:var(--color-border-default);border:0;margin:0;}
.divider--thick{height:var(--space-sm);background:var(--color-bg-outside);border:0;margin:0;}
.bleed{margin-left:calc(var(--layout-pad-web) * -1);margin-right:calc(var(--layout-pad-web) * -1);}

/* Topbar */
.topbar{position:sticky;top:0;z-index:50;
  background:var(--color-bg-page);border-bottom:1px solid var(--color-border-default);}
.topbar__inner{display:flex;align-items:center;gap:var(--space-md);height:var(--layout-nav-height);}
/* Topbar 드롭다운 카테고리 */
.topbar__drop{position:relative;}
.topbar__drop-trigger{display:inline-flex;align-items:center;gap:2px;
  background:none;border:none;padding:0;cursor:pointer;white-space:nowrap;
  color:var(--color-text-subtle);font-size:13px;font-weight:500;
  transition:color var(--motion-fast);}
.topbar__drop-trigger:hover{color:var(--color-primary-default);}
.topbar__drop-chevron-wrap{display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:50%;background:var(--color-bg-muted);
  flex:none;margin-left:var(--space-xs);transition:background var(--motion-fast);}
.topbar__drop-trigger:hover .topbar__drop-chevron-wrap{background:var(--color-bg-placeholder);}
.topbar__drop-chevron{width:11px;height:11px;flex:none;color:var(--color-text-subtle);transition:transform var(--motion-fast);}
.topbar__drop-trigger[aria-expanded="true"] .topbar__drop-chevron{transform:rotate(180deg);}
.topbar__drop-menu{display:none;position:absolute;top:calc(100% + 8px);left:0;
  list-style:none;margin:0;padding:var(--space-sm) 0;
  background:var(--color-bg-page);border:1px solid var(--color-border-default);
  border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,.1);width:max-content;z-index:100;}
.topbar__drop-trigger[aria-expanded="true"] + .topbar__drop-menu{display:block;}
.topbar__drop-item{display:block;padding:var(--space-sm) var(--space-lg);
  text-decoration:none;color:var(--color-text-default);white-space:nowrap;
  font-size:13px;transition:background var(--motion-fast);}
.topbar__drop-item:hover{background:var(--color-bg-subtle);}
.topbar__drop-item--active{color:var(--color-primary-default);font-weight:600;}
.topbar__crumb-link{color:var(--color-text-subtle);text-decoration:none;white-space:nowrap;
  transition:color var(--motion-fast);}
.topbar__crumb-link:hover{color:var(--color-primary-default);}
.topbar__home{display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:var(--layout-touch-min);height:var(--layout-touch-min);
  margin-left:calc(var(--space-md) * -1);
  color:var(--color-text-strong);text-decoration:none;transition:color var(--motion-fast);}
.topbar__home:hover{color:var(--color-primary-default);}
.topbar__home svg{width:var(--space-2xl);height:var(--space-2xl);}
.topbar__cta{width:auto;flex:none;margin-left:auto;}

/* Topbar 브레드크럼 */
.topbar__crumb{display:flex;align-items:center;flex:1;min-width:0;overflow:visible;margin-left:var(--space-xs);}
.topbar__crumb a{color:var(--color-text-subtle);text-decoration:none;white-space:nowrap;
  transition:color var(--motion-fast);}
.topbar__crumb a:hover{color:var(--color-primary-default);}
.topbar__sep{color:var(--color-border-strong);padding:0 var(--space-xs);flex:none;}
.topbar__current{color:var(--color-text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}

/* Progress bar */
.progress{position:sticky;top:var(--layout-nav-height);z-index:49;height:3px;background:var(--color-bg-muted);}
.progress__bar{display:block;height:100%;width:100%;background:var(--color-primary-default);
  transform-origin:0 50%;transform:scaleX(0);
  animation:readprog linear both;animation-timeline:scroll(nearest block);}
@keyframes readprog{from{transform:scaleX(0);}to{transform:scaleX(1);}}

/* Phead */
.phead{padding-top:var(--space-2xl);}
.phead__badges{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);}
.phead h1{margin:0 0 var(--space-lg);color:var(--color-text-strong);}
.phead__desc{color:var(--color-text-subtle);margin-top:var(--space-sm);}

/* Hero */
.hero{margin:0 0 var(--space-md);}
.hero img{width:100%;height:auto;display:block;border-radius:var(--radius-lg);}

/* Byline */
.byline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);
  padding-bottom:var(--space-xl);color:var(--color-text-subtle);}
.byline__avatar{width:var(--space-2xl);height:var(--space-2xl);border-radius:var(--radius-full);
  background:var(--color-primary-light);color:var(--color-primary-deep);
  display:flex;align-items:center;justify-content:center;}
.byline b{color:var(--color-text-default);font-weight:700;}

/* TOC */
.toc{margin-top:var(--space-xl);background:var(--color-bg-subtle);border-radius:var(--radius-lg);padding:var(--space-xl);}
.toc__title{color:var(--color-text-subtle);margin-bottom:var(--space-md);}
.toc ol{list-style:none;counter-reset:toc;}
.toc li{counter-increment:toc;}
.toc a{display:flex;align-items:center;gap:var(--space-sm);min-height:var(--layout-touch-min);
  color:var(--color-text-default);text-decoration:none;transition:color var(--motion-fast);}
.toc a::before{content:counter(toc);color:var(--color-primary-default);font-weight:700;}
.toc a:hover{color:var(--color-primary-default);}
.toc summary{display:none;}

/* Section */
.section{padding-top:var(--space-3xl);padding-bottom:var(--space-3xl);}
.section__title{margin:0 0 var(--space-sm);color:var(--color-text-strong);}
.section__desc{color:var(--color-text-subtle);margin-bottom:var(--space-xl);}

/* Footer */
.foot{background:var(--color-bg-outside);padding-top:var(--space-2xl);
  padding-bottom:var(--space-4xl);color:var(--color-text-subtle);}

/* Prose — 시맨틱 본문 영역 */
.prose h2,.prose h3{color:var(--color-text-strong);}
.prose p{margin-bottom:var(--space-lg);}
.prose ul,.prose ol{padding-left:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-sm);}
.prose li{color:var(--color-text-default);}
.prose figure{margin:var(--space-xl) 0;}
.prose figcaption{color:var(--color-text-subtle);margin-top:var(--space-sm);}
.prose img{border-radius:var(--radius-md);}
.prose code{background:var(--color-bg-muted);border-radius:var(--radius-sm);padding:2px 6px;font-size:13px;}
.prose a{color:var(--color-primary-deep);}
.prose strong{color:var(--color-text-strong);}

/* Notice */
.notice{background:var(--color-bg-muted);border-left:3px solid var(--color-primary-default);
  border-radius:0 var(--radius-md) var(--radius-md) 0;
  padding:var(--space-lg) var(--space-xl);color:var(--color-text-default);}
.notice strong{color:var(--color-text-strong);}

/* Sub-nav */
.sub-nav{padding:var(--space-3xl) 0 var(--space-2xl);}
.sub-nav a{color:var(--color-text-subtle);text-decoration:none;}
.sub-nav a:hover{color:var(--color-primary-default);}

/* ============================================================ B01 즉답 박스 ============================================================ */
.b01{background:var(--color-bg-subtle);border-radius:var(--radius-lg);padding:var(--space-xl);
  color:var(--color-text-default);margin-bottom:var(--space-xl);}
.b01 b{color:var(--color-text-strong);font-weight:700;}
.b01__listhead{margin-top:var(--space-lg);padding-top:var(--space-lg);
  border-top:1px solid var(--color-border-default);color:var(--color-text-subtle);margin-bottom:var(--space-md);}
.b01__facts{display:flex;gap:var(--space-md);margin-top:var(--space-lg);}
.b01__fact{flex:1;min-width:0;background:var(--color-bg-page);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);}
.b01__k{color:var(--color-text-subtle);margin-bottom:var(--space-xs);}
.b01__v{color:var(--color-text-strong);}
.b01__chips{display:flex;flex-wrap:wrap;gap:var(--space-sm);counter-reset:chip;list-style:none;}
.b01__chips li{counter-increment:chip;}
.b01__chips a{display:inline-flex;align-items:center;gap:var(--space-sm);
  min-height:var(--layout-touch-min);padding:var(--space-sm) var(--space-lg);
  border:1px solid var(--color-border-default);border-radius:var(--radius-full);
  background:var(--color-bg-page);color:var(--color-text-strong);text-decoration:none;
  transition:border-color var(--motion-fast),background var(--motion-fast),color var(--motion-fast);}
.b01__chips a::before{content:counter(chip);color:var(--color-primary-default);font-weight:700;}
.b01__chips a:hover{border-color:var(--color-primary-default);background:var(--color-primary-light);color:var(--color-primary-deep);}

/* ============================================================ B02 데이터 표 ============================================================ */
.b02__scroll{overflow-x:auto;}
.b02__scroll:focus-visible{outline:2px solid var(--color-primary-default);outline-offset:2px;}
.b02__table{width:100%;border-collapse:collapse;}
.b02__caption{caption-side:top;text-align:left;color:var(--color-text-subtle);padding-bottom:var(--space-sm);}
.b02__table th,.b02__table td{text-align:left;padding:var(--space-md);border-bottom:1px solid var(--color-border-default);vertical-align:top;}
.b02__table thead th{background:var(--color-bg-muted);color:var(--color-text-subtle);white-space:nowrap;}
.b02__table thead th:first-child{border-top-left-radius:var(--radius-sm);}
.b02__table thead th:last-child{border-top-right-radius:var(--radius-sm);}
.b02__k{color:var(--color-text-strong);font-weight:700;white-space:nowrap;}
.b02__v{color:var(--color-text-default);}
.b02__c{color:var(--color-text-subtle);}
.b02__table tr.is-rec .b02__k,.b02__table tr.is-rec .b02__v{color:var(--color-primary-deep);}
.b02__table tr.is-rec td,.b02__table tr.is-rec th{background:var(--color-primary-light);}
.b02--holdings .b02__v{white-space:nowrap;}
.b02__table--pick .b02__c{color:var(--color-text-default);font-weight:600;}
/* 포함 여부 비교표: 권종은 줄바꿈 허용, 포함 칸은 가운데 ✅/—, 첫 열은 가로 스크롤 때 고정 */
.b02__table--matrix th,.b02__table--matrix td{word-break:keep-all;}
.b02__table--matrix .b02__k{white-space:normal;min-width:10em;}
.b02__table--matrix .b02__v{white-space:nowrap;}
.b02__table--matrix .b02__v .b02__mnote{white-space:normal;min-width:6em;}
.b02__table--matrix .b02__sale{white-space:normal;min-width:6.5em;color:var(--color-text-subtle);}
.b02__table--matrix thead th.b02__m{white-space:normal;min-width:4.5em;text-align:center;}
.b02__table--matrix td.b02__m{text-align:center;white-space:nowrap;}
.b02__table--matrix .b02__no{color:var(--color-text-subtle);}
.b02__table--matrix .b02__c{min-width:8em;}
.b02__mnote{display:block;font-size:12px;font-weight:400;color:var(--color-text-subtle);}
.b02__table--matrix tbody th:first-child{position:sticky;left:0;z-index:1;background:var(--color-bg-page);}
.b02__table--matrix tr.is-rec th:first-child{background:var(--color-primary-light);}
.b02__table--matrix thead th:first-child{position:sticky;left:0;z-index:2;}
/* 모바일: 표는 화면 폭에 맞추고 첫 열·머리글도 한글 단어 단위로 줄바꿈, 4열 이상은 좌우 여백을 줄임. matrix 는 칸별 min-width 로 가로 스크롤 유지 */
@media (max-width:701px){
  .b02__table{word-break:keep-all;}
  .b02__table .b02__k,.b02__table thead th{white-space:normal;}
  .b02__table:has(tr > :nth-child(4)) :is(th,td){padding-left:var(--space-sm);padding-right:var(--space-sm);}
  .b02__table--matrix .b02__k{min-width:8.5em;}
}

/* ============================================================ B03 항목 카드 ============================================================ */
main{counter-reset:art;}
.b03-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-md);}
.b03--item{position:relative;counter-increment:art;display:flex;gap:var(--space-lg);
  padding:var(--space-lg);background:var(--color-bg-page);
  border:1px solid var(--color-border-default);border-radius:var(--radius-md);
  transition:box-shadow var(--motion-normal),border-color var(--motion-fast);
  scroll-margin-top:calc(var(--layout-nav-height) + var(--space-lg));}
.b03--item:hover{box-shadow:var(--shadow-card);border-color:var(--color-border-strong);}
.b03__figure{position:relative;width:calc(var(--space-4xl) * 3);flex:none;}
.b03__thumb{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);}
.b03__no{position:absolute;top:var(--space-xs);left:var(--space-xs);
  width:var(--space-2xl);height:var(--space-2xl);border-radius:var(--radius-full);
  background:var(--color-primary-default);color:var(--color-text-inverse);
  display:flex;align-items:center;justify-content:center;}
.b03__no::before{content:counter(art);}
.b03__figw{position:relative;display:block;}
.b03__more{position:absolute;right:var(--space-md);bottom:var(--space-md);
  width:var(--space-2xl);height:var(--space-2xl);border-radius:var(--radius-full);
  background:var(--color-bg-page);color:var(--color-text-strong);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);
  transition:background var(--motion-fast),color var(--motion-fast);}
.b03__more svg{width:var(--space-lg);height:var(--space-lg);}
.b03--grid > li:hover .b03__more,.b03__work:hover .b03__more{background:var(--color-primary-default);color:var(--color-text-inverse);}
.b03--item:not(:has(.b03__links)) .b03__btn::after{content:"";position:absolute;inset:0;border-radius:var(--radius-md);}
.b03__body{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;}
.b03__where{align-self:flex-start;margin-bottom:var(--space-sm);}
.b03__name{margin:0 0 var(--space-xs);color:var(--color-text-strong);}
.b03__en{color:var(--color-text-subtle);margin-bottom:var(--space-sm);}
.b03__meta{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-sm);margin-bottom:var(--space-md);color:var(--color-text-subtle);}
.b03__btn{width:fit-content;align-self:flex-start;margin-top:var(--space-md);}
.b03__btn svg{width:var(--space-lg);height:var(--space-lg);flex:none;}
.b03--item > .b03__btn{align-self:center;flex:none;margin-top:0;
  width:var(--layout-touch-min);height:var(--layout-touch-min);padding:0;
  border-color:transparent;background:transparent;color:var(--color-text-subtle);}
.b03--item > .b03__btn svg{width:var(--space-2xl);height:var(--space-2xl);}
.b03--item:hover > .b03__btn{color:var(--color-primary-default);}
.b03__btn-t{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.b03__links{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-xs);}
.b03__links a{display:inline-flex;align-items:center;min-height:var(--layout-touch-min);color:var(--color-primary-deep);text-decoration:none;}
.b03__links a:hover{text-decoration:underline;}
.b03--grid{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg) var(--space-md);}
.b03--grid > li{display:flex;flex-direction:column;gap:var(--space-sm);}
.b03__gname{color:var(--color-text-strong);margin:0;}
.b03__glink{color:inherit;text-decoration:none;}
.b03__glink:hover{color:var(--color-primary-deep);text-decoration:underline;}
.b03__gmeta{color:var(--color-text-subtle);}
.b03__gwhy{color:var(--color-text-default);}
.b03--brief{list-style:none;}
.b03--brief > li{padding:var(--space-lg) 0;}
.b03--brief > li + li{border-top:1px solid var(--color-border-default);}
.b03__bname{margin:0 0 var(--space-xs);color:var(--color-text-strong);}
.b03__bdesc{color:var(--color-text-default);margin-bottom:var(--space-sm);}
.b03__bworks{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);}
.b03__work{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-xs);text-decoration:none;color:inherit;}
.b03__wthumb{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);}
.b03__wname{color:var(--color-text-subtle);}
.b03__work:hover .b03__wname{color:var(--color-primary-deep);}
.b03--profile{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-card);}
.b03__prof-head{display:flex;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg);}
.b03__prof-ph{width:64px;height:64px;flex:none;border-radius:var(--radius-full);
  background:repeating-linear-gradient(135deg,var(--color-bg-muted) 0 8px,var(--color-bg-placeholder) 8px 16px);}
.b03__prof-name{margin:0 0 var(--space-xs);color:var(--color-text-strong);}
.b03__prof-meta{color:var(--color-text-subtle);}
.b03--profile p + p{margin-top:var(--space-md);}
.b03__prof-more{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);
  margin-top:var(--space-lg);padding-top:var(--space-lg);
  border-top:1px solid var(--color-border-default);min-height:var(--layout-touch-min);
  color:var(--color-text-strong);text-decoration:none;}
.b03__prof-more:hover{color:var(--color-primary-default);}
.b03__group{margin:var(--space-3xl) 0 var(--space-lg);}
.b03__group:first-of-type{margin-top:0;}
.b03__group-k{color:var(--color-primary-deep);margin-bottom:var(--space-xs);}
.b03__group-t{margin:0 0 var(--space-xs);color:var(--color-text-strong);}
.b03__group-d{color:var(--color-text-subtle);}

/* ============================================================ B04 순서 블록 ============================================================ */
.b04{list-style:none;}
.b04 > li{display:flex;gap:var(--space-md);}
.b04__rail{display:flex;flex-direction:column;align-items:center;flex:none;width:var(--space-lg);}
.b04__node{width:var(--space-md);height:var(--space-md);border-radius:var(--radius-full);
  border:3px solid var(--color-primary-default);background:var(--color-bg-page);margin-top:var(--space-xs);}
.b04 > li.is-on .b04__node{background:var(--color-primary-default);}
.b04__bar{width:2px;flex:1;background:var(--color-border-default);margin:var(--space-xs) 0;}
.b04 > li:last-child .b04__bar{display:none;}
.b04__body{flex:1;min-width:0;padding-bottom:var(--space-xl);}
.b04__y{color:var(--color-primary-deep);margin:0 0 var(--space-xs);}
.b04__t{color:var(--color-text-strong);margin:0 0 var(--space-xs);}
.b04__d{color:var(--color-text-default);margin:0;}
.b04__d b{color:var(--color-text-strong);font-weight:700;}
.b04__shot{display:block;width:100%;height:auto;margin-top:var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--color-border-default);cursor:zoom-in;}
.lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:var(--space-lg);background:rgba(0,0,0,.82);cursor:zoom-out;}
.lightbox.is-open{display:flex;}
.lightbox__img{max-width:92vw;max-height:88vh;width:auto;height:auto;border-radius:var(--radius-md);box-shadow:0 10px 40px rgba(0,0,0,.5);cursor:default;}
.lightbox__close{position:absolute;top:var(--space-md);right:var(--space-md);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-full);background:rgba(255,255,255,.92);color:#111;font-size:26px;line-height:1;cursor:pointer;}
.lightbox__cap{position:absolute;left:0;right:0;bottom:var(--space-md);margin:0;padding:0 var(--space-lg);text-align:center;color:rgba(255,255,255,.9);}
body.lightbox-open{overflow:hidden;}
.b04--howto{counter-reset:step;}
.b04--howto > li{counter-increment:step;gap:var(--space-md);}
.b04--howto .b04__rail{width:auto;}
.b04--howto .b04__node{width:var(--space-2xl);height:var(--space-2xl);
  border:0;margin-top:0;background:var(--color-primary-default);
  color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;}
.b04--howto .b04__node::before{content:counter(step);}
.b04--howto .b04__bar{display:none;}
.b04--howto .b04__body{padding-bottom:var(--space-md);}

/* ============================================================ B05 분기 블록 ============================================================ */
.b05{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);}
.b05__item{display:flex;align-items:center;gap:var(--space-md);min-height:var(--layout-touch-min);
  border:1px solid var(--color-border-default);border-left:4px solid var(--color-primary-default);border-radius:0;
  padding:var(--space-lg);text-decoration:none;
  transition:border-color var(--motion-fast),background var(--motion-fast);}
.b05__item:only-child{grid-column:1/-1;}
.b05__item:hover{border-color:var(--color-primary-default);background:var(--color-primary-light);}
.b05__k{color:var(--color-text-strong);font-weight:700;}
.b05__d{color:var(--color-text-subtle);}
.b05__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-xs);}
.b05__arrow{flex:none;width:var(--space-xl);height:var(--space-xl);color:var(--color-primary-default);
  transition:color var(--motion-fast),transform var(--motion-fast);}
.b05__item:hover .b05__arrow{color:var(--color-primary-default);transform:translateX(2px);}

/* ============================================================ B06 대조 블록 ============================================================ */
.b06{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);}
.b06__side{border:1px solid var(--color-border-default);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-page);
  position:relative;transition:border-color var(--motion-fast),box-shadow var(--motion-normal);}
.b06__side:has(.b06__link):hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-card);}
.b06__img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;}
.b06__cap{padding:var(--space-md);}
.b06__tag{display:inline-block;border-radius:var(--radius-full);padding:var(--space-xs) var(--space-sm);margin-bottom:var(--space-sm);}
.b06__tag--a{background:var(--color-bg-muted);color:var(--color-text-subtle);}
.b06__tag--b{background:var(--color-primary-light);color:var(--color-primary-deep);}
.b06__name{color:var(--color-text-strong);margin:0 0 var(--space-xs);}
.b06__meta{color:var(--color-text-subtle);margin:0 0 var(--space-sm);}
.b06__why{color:var(--color-text-default);margin:0;}
.b06__link{color:inherit;text-decoration:none;}
.b06__link::after{content:"";position:absolute;inset:0;}
.b06__side:has(.b06__link):hover .b06__name{color:var(--color-primary-deep);}
.b06__figw{position:relative;display:block;}
.b06__more{position:absolute;right:var(--space-md);bottom:var(--space-md);
  width:var(--space-2xl);height:var(--space-2xl);border-radius:var(--radius-full);
  background:var(--color-bg-page);color:var(--color-text-strong);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);
  transition:background var(--motion-fast),color var(--motion-fast);}
.b06__more svg{width:var(--space-lg);height:var(--space-lg);}
.b06__side:hover .b06__more{background:var(--color-primary-default);color:var(--color-text-inverse);}
.b06__diff{margin-top:var(--space-md);display:flex;gap:var(--space-sm);
  padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--color-bg-subtle);}
.b06__diff p{margin:0;color:var(--color-text-default);}
.b06__diff b{color:var(--color-text-strong);font-weight:700;}

/* ============================================================ B07 콜아웃 ============================================================ */
.b07{display:flex;gap:var(--space-md);border-left:3px solid var(--color-primary-default);
  background:var(--color-bg-subtle);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--space-lg);}
.b07 + .b07{margin-top:var(--space-md);}
.b07__icon{flex:none;}
.b07__body{flex:1;min-width:0;color:var(--color-text-default);}
.b07__body b{color:var(--color-text-strong);font-weight:700;}
.b07__action{display:flex;align-items:center;width:fit-content;min-height:var(--layout-touch-min);color:var(--color-primary-deep);text-decoration:none;}
.b07__action:hover{text-decoration:underline;}

/* ============================================================ B08 현지 가이드 TIP ============================================================ */
.b08--audio{background:var(--color-primary-light);border-radius:var(--radius-lg);padding:var(--space-xl);}
.b08--teaser{background:var(--color-bg-subtle);border-radius:var(--radius-lg);padding:var(--space-xl);}
.b08__h{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--space-md);color:var(--color-text-strong);}
.b08__icon{width:var(--space-xl);height:var(--space-xl);flex:none;color:var(--color-primary-default);}
.b08__label{color:var(--color-primary-deep);margin-bottom:var(--space-sm);}
.b08__desc{color:var(--color-text-default);margin-bottom:var(--space-lg);}
.b08 p{color:var(--color-text-default);}
.b08 p + p{margin-top:var(--space-md);}
.b08__play{display:flex;align-items:center;gap:var(--space-md);min-height:var(--layout-touch-min);
  background:var(--color-bg-page);border:1px solid var(--color-primary-default);
  border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-lg);text-decoration:none;
  transition:border-color var(--motion-fast),box-shadow var(--motion-fast);}
.b08__play:hover{border-color:var(--color-primary-hover);box-shadow:var(--shadow-hover);}
.b08__play-icon{width:var(--layout-touch-min);height:var(--layout-touch-min);flex:none;
  border-radius:var(--radius-full);background:var(--color-primary-default);color:var(--color-text-inverse);
  display:flex;align-items:center;justify-content:center;font-size:16px;transition:background var(--motion-fast);}
.b08__play:hover .b08__play-icon{background:var(--color-primary-hover);}
.b08__play-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-xs);}
.b08__play-track{color:var(--color-text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.b08__play-sub{color:var(--color-text-subtle);}
.b08__arrow{flex:none;width:var(--space-xl);height:var(--space-xl);color:var(--color-text-subtle);transition:color var(--motion-fast),transform var(--motion-fast);}
.b08__play:hover .b08__arrow{color:var(--color-primary-default);transform:translateX(2px);}
/* B08 무료 트랙: 오디오 플레이어형 */
.b08--audio .b08__play{flex-wrap:wrap;background:none;border:0;box-shadow:none;padding:0;}
.b08--audio .b08__play:hover{box-shadow:none;}
.b08--audio .b08__play-icon{width:48px;height:48px;font-size:18px;}
.b08--audio .b08__arrow{display:none;}
.b08--audio .b08__play::after{content:"";flex-basis:100%;height:22px;background:#FFC9A3;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='144' height='22'%3E%3Crect x='0' y='7' width='3' height='8' rx='1.5'/%3E%3Crect x='6' y='4' width='3' height='14' rx='1.5'/%3E%3Crect x='12' y='1' width='3' height='20' rx='1.5'/%3E%3Crect x='18' y='5' width='3' height='12' rx='1.5'/%3E%3Crect x='24' y='2' width='3' height='18' rx='1.5'/%3E%3Crect x='30' y='0' width='3' height='22' rx='1.5'/%3E%3Crect x='36' y='6' width='3' height='10' rx='1.5'/%3E%3Crect x='42' y='3' width='3' height='16' rx='1.5'/%3E%3Crect x='48' y='1' width='3' height='20' rx='1.5'/%3E%3Crect x='54' y='7' width='3' height='8' rx='1.5'/%3E%3Crect x='60' y='4' width='3' height='14' rx='1.5'/%3E%3Crect x='66' y='2' width='3' height='18' rx='1.5'/%3E%3Crect x='72' y='5' width='3' height='12' rx='1.5'/%3E%3Crect x='78' y='1' width='3' height='20' rx='1.5'/%3E%3Crect x='84' y='3' width='3' height='16' rx='1.5'/%3E%3Crect x='90' y='6' width='3' height='10' rx='1.5'/%3E%3Crect x='96' y='0' width='3' height='22' rx='1.5'/%3E%3Crect x='102' y='4' width='3' height='14' rx='1.5'/%3E%3Crect x='108' y='7' width='3' height='8' rx='1.5'/%3E%3Crect x='114' y='2' width='3' height='18' rx='1.5'/%3E%3Crect x='120' y='5' width='3' height='12' rx='1.5'/%3E%3Crect x='126' y='3' width='3' height='16' rx='1.5'/%3E%3Crect x='132' y='1' width='3' height='20' rx='1.5'/%3E%3Crect x='138' y='6' width='3' height='10' rx='1.5'/%3E%3C/svg%3E") repeat-x left center;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='144' height='22'%3E%3Crect x='0' y='7' width='3' height='8' rx='1.5'/%3E%3Crect x='6' y='4' width='3' height='14' rx='1.5'/%3E%3Crect x='12' y='1' width='3' height='20' rx='1.5'/%3E%3Crect x='18' y='5' width='3' height='12' rx='1.5'/%3E%3Crect x='24' y='2' width='3' height='18' rx='1.5'/%3E%3Crect x='30' y='0' width='3' height='22' rx='1.5'/%3E%3Crect x='36' y='6' width='3' height='10' rx='1.5'/%3E%3Crect x='42' y='3' width='3' height='16' rx='1.5'/%3E%3Crect x='48' y='1' width='3' height='20' rx='1.5'/%3E%3Crect x='54' y='7' width='3' height='8' rx='1.5'/%3E%3Crect x='60' y='4' width='3' height='14' rx='1.5'/%3E%3Crect x='66' y='2' width='3' height='18' rx='1.5'/%3E%3Crect x='72' y='5' width='3' height='12' rx='1.5'/%3E%3Crect x='78' y='1' width='3' height='20' rx='1.5'/%3E%3Crect x='84' y='3' width='3' height='16' rx='1.5'/%3E%3Crect x='90' y='6' width='3' height='10' rx='1.5'/%3E%3Crect x='96' y='0' width='3' height='22' rx='1.5'/%3E%3Crect x='102' y='4' width='3' height='14' rx='1.5'/%3E%3Crect x='108' y='7' width='3' height='8' rx='1.5'/%3E%3Crect x='114' y='2' width='3' height='18' rx='1.5'/%3E%3Crect x='120' y='5' width='3' height='12' rx='1.5'/%3E%3Crect x='126' y='3' width='3' height='16' rx='1.5'/%3E%3Crect x='132' y='1' width='3' height='20' rx='1.5'/%3E%3Crect x='138' y='6' width='3' height='10' rx='1.5'/%3E%3C/svg%3E") repeat-x left center;transition:background var(--motion-fast);}
.b08--audio .b08__play:hover::after{background:var(--color-primary-default);}
.b08__teaser{margin-top:var(--space-lg);background:var(--color-bg-page);border-radius:var(--radius-md);padding:var(--space-lg);color:var(--color-text-default);}
.b08__teaser b{color:var(--color-text-strong);font-weight:700;}

/* ============================================================ 본문 맥락 투어 카드(tl-tour) ============================================================ */
/* 큰 사진 + eyebrow 알약 + 투어명·설명 + 트랙 수·버튼. 반응형 기준은 카드 폭(컨테이너 쿼리 560px): 좁으면 사진 위·글 아래, 넓으면 사진 왼쪽 */
.tl-tour{display:block;margin:24px 0 32px;color:var(--color-text-default);text-decoration:none;container-type:inline-size;line-height:1.5;-webkit-tap-highlight-color:transparent;}
.tl-tour:focus-visible{outline:2px solid var(--color-primary-default);outline-offset:3px;border-radius:20px;}
.tl-tour__in{display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:20px;background:linear-gradient(120deg,var(--color-primary-light) 0%,#FFF9F5 55%,#FFFFFF 100%);}
.tl-tour__img{display:block;width:100%;aspect-ratio:4 / 3;margin:0;border-radius:14px;object-fit:cover;background:var(--color-bg-muted);}
.tl-tour__body{display:flex;flex-direction:column;gap:8px;min-width:0;}
.tl-tour__eyebrow{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;max-width:100%;padding:0 12px 0 0;border:1px solid var(--color-primary-default);border-radius:999px;background:var(--color-bg-page);color:var(--color-primary-default);font-size:13px;line-height:1.35;font-weight:700;word-break:keep-all;}
.tl-tour__eyebrow-icon{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin:-1px 0 -1px -1px;border-radius:50%;background:var(--color-primary-default);color:var(--color-text-inverse);}
.tl-tour__eyebrow-icon svg{width:17px;height:17px;}
.tl-tour__name{display:block;font-size:19px;line-height:1.4;font-weight:800;letter-spacing:-0.02em;color:var(--color-text-strong);word-break:keep-all;}
.tl-tour__sub{display:block;margin-top:-4px;font-size:15px;line-height:1.5;font-weight:600;color:var(--color-text-default);word-break:keep-all;}
.tl-tour__desc{display:block;font-size:14px;line-height:1.65;color:var(--color-text-default);word-break:keep-all;}
.tl-tour__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px;margin-top:4px;padding-top:12px;border-top:1px solid #F2DED0;}
.tl-tour__meta{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-subtle);}
.tl-tour__meta svg{flex:none;width:18px;height:18px;color:var(--color-primary-default);}
.tl-tour__btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:44px;margin-left:auto;padding:0 16px 0 18px;border-radius:12px;background:var(--color-primary-default);color:var(--color-text-inverse);font-size:15px;font-weight:700;white-space:nowrap;box-shadow:0 4px 12px rgba(255,115,13,0.25);transition:background-color .15s;}
.tl-tour__btn svg{flex:none;width:18px;height:18px;}
.tl-tour:hover .tl-tour__btn{background:var(--color-primary-hover);}
/* museum 셸은 콘텐츠 폭이 최대 ~552px라 전환 기준을 520px로 둬야 PC(데스크톱)에서 사진 왼쪽 가로배치가 뜬다. 폰 폭(~390px 이하)은 세로배치 유지. */
@container (min-width:520px){
  .tl-tour__in{flex-direction:row;align-items:center;gap:20px;padding:20px;}
  .tl-tour__img{flex:none;width:36%;align-self:stretch;aspect-ratio:auto;min-height:200px;}
}

/* ============================================================ B09 후기 카드 ============================================================ */
.b09-list{display:grid;gap:var(--space-md);}
.b09{margin:0;border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-lg);background:var(--color-bg-page);}
.b09__stars{color:var(--color-star);letter-spacing:0.04em;margin-bottom:var(--space-sm);}
.b09__quote{margin:0 0 var(--space-md);color:var(--color-text-default);}
.b09__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);color:var(--color-text-subtle);}
.b09__author{color:var(--color-text-strong);font-weight:700;}
.b09__product{color:var(--color-primary-deep);text-decoration:none;}
.b09__product:hover{text-decoration:underline;}

/* ============================================================ B10 FAQ ============================================================ */
.b10{background:var(--color-bg-page);}
.b10__item{border-bottom:1px solid var(--color-border-default);interpolate-size:allow-keywords;}
.b10__q{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);
  padding:var(--space-lg) 0;min-height:52px;list-style:none;cursor:pointer;color:var(--color-text-strong);}
.b10__q::-webkit-details-marker{display:none;}
.b10__q::after{content:"+";font-size:24px;line-height:1;color:var(--color-primary-default);flex:none;}
.b10__item[open] .b10__q::after{content:"\2212";}
.b10__a{margin-bottom:var(--space-lg);padding:var(--space-lg) var(--space-xl);
  background:var(--color-bg-subtle);border-radius:var(--radius-md);color:var(--color-text-default);}
.b10__item::details-content{block-size:0;overflow:hidden;
  transition:block-size var(--motion-normal),content-visibility var(--motion-normal) allow-discrete;}
.b10__item[open]::details-content{block-size:auto;}

/* ============================================================ B11 출처 · 확인일 ============================================================ */
.b11{margin-top:var(--space-lg);background:var(--color-bg-muted);border-radius:var(--radius-md);
  padding:var(--space-md) var(--space-lg);color:var(--color-text-subtle);
  display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg);}
.b11__item{display:inline-flex;flex-wrap:wrap;gap:var(--space-xs);}
.b11__date{color:var(--color-text-subtle);}

/* ============================================================ B12 전환 블록 ============================================================ */
.b12--promo{background:var(--color-primary-light);border-radius:var(--radius-lg);padding:var(--space-xl);}
.b12__label{color:var(--color-primary-deep);margin-bottom:var(--space-sm);}
.b12__top{display:flex;gap:var(--space-lg);margin-bottom:var(--space-md);}
.b12__thumb{display:block;width:80px;height:80px;flex:none;border-radius:var(--radius-md);object-fit:cover;background:var(--color-bg-page);}
.b12__info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;}
.b12__title{margin:0 0 var(--space-xs);color:var(--color-text-strong);}
.b12__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-sm);color:var(--color-text-subtle);}
.b12__msep{color:var(--color-border-default);}
.b12__rating{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--color-primary-hover);font-weight:700;}
.b12__rating svg{width:14px;height:14px;}
.b12__desc{color:var(--color-text-default);margin-bottom:var(--space-lg);}
.b12__note{margin-top:var(--space-md);color:var(--color-text-subtle);}
.b12--inline{display:flex;flex-direction:column;gap:var(--space-sm);background:var(--color-primary-light);border-radius:var(--radius-md);padding:var(--space-lg);}
.b12--soft{display:flex;flex-direction:column;gap:var(--space-sm);background:var(--color-bg-subtle);border-radius:var(--radius-md);padding:var(--space-lg);}
.b12__stext{color:var(--color-text-default);}
/* 투어 코스 지도 패널(2026-10 시범, 미술관 동선·대표작 10편) */
.b12--course{background:var(--color-primary-light);border-radius:var(--radius-lg);padding:var(--space-xl);margin:var(--space-xl) 0;}
.b12c__map{display:block;margin:var(--space-md) 0;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-page);}
.b12c__map img{display:block;width:100%;height:auto;}
.b12--course .b12__meta{margin-bottom:var(--space-sm);}
.b12__slink{display:inline-flex;align-items:center;width:fit-content;min-height:var(--layout-touch-min);color:var(--color-primary-deep);text-decoration:none;}
.b12__slink:hover{text-decoration:underline;}
.b12__grouplabel{margin:0 0 var(--space-sm);color:var(--color-text-strong);}
.b12 + .b12__group{margin-top:var(--space-3xl);}
.b12__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);
  min-height:var(--layout-touch-min);padding:var(--space-md) 0;
  color:var(--color-text-strong);text-decoration:none;transition:color var(--motion-fast);}
.b12__item + .b12__item{border-top:1px solid var(--color-border-default);}
.b12__item:hover{color:var(--color-primary-default);}
.b12__itemL{display:flex;align-items:center;gap:var(--space-md);min-width:0;}
.b12__itemT{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.b12__arrow{flex:none;width:var(--space-xl);height:var(--space-xl);color:var(--color-text-subtle);}
.b12__item:hover .b12__arrow{color:var(--color-primary-default);}
.b12--sticky{display:none;}
.b12__stickythumb{width:var(--layout-touch-min);height:var(--layout-touch-min);flex:none;border-radius:var(--radius-sm);object-fit:cover;}
.b12__stickyinfo{flex:1;min-width:0;}
.b12__stickyname{color:var(--color-text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.b12__stickysub{color:var(--color-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.b12__stickysub b{color:var(--color-text-strong);font-weight:700;}
/* 얇은 CTA 바 — 히어로 이미지 하단에 겹쳐 놓는 한 줄 패널(바 전체가 링크) */
.b12--bar{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-md);margin:-48px var(--space-md) var(--space-md);padding:var(--space-sm) var(--space-sm) var(--space-sm) var(--space-md);border-radius:var(--radius-lg);background:rgba(255,255,255,0.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.6);box-shadow:0 6px 20px rgba(0,0,0,0.12);text-decoration:none;color:inherit;}
.b12__baricon{width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;border:1px solid var(--color-border-default);color:var(--color-text-strong);}
.b12__baricon svg{width:18px;height:18px;}
.b12__barinfo{flex:1;min-width:0;}
.b12__bartitle{display:block;color:var(--color-text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.b12__barsub{display:block;color:var(--color-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.b12__barbtn{flex:none;display:inline-flex;align-items:center;gap:2px;padding:var(--space-sm) var(--space-md);border-radius:999px;background:var(--color-text-strong);color:#fff;}
.b12__barbtn svg{width:14px;height:14px;}
.b12--bar:hover .b12__barbtn{background:#000;}
.b12--bar.is-flat{margin:var(--space-lg) 0 0;box-shadow:var(--shadow-card);border-color:var(--color-border-default);background:var(--color-bg-page);}

/* ============================================================ B13 2열 이미지 박스 ============================================================ */
/* 이미지 + 제목 + 메타를 2열로 나란히 — B03 grid variant 와 같은 어휘.
   B03과 달리 ol·counter 없이 div로 사용하고, 링크가 없는 경우도 기본으로 허용한다. */
.b13{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg) var(--space-md);}
.b13__item{display:flex;flex-direction:column;gap:var(--space-sm);}
/* 이미지 래퍼 — 화살표(.b13__more) 절대 배치를 위해 relative */
.b13__figw{position:relative;display:block;}
.b13__img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);}
/* 이미지 없을 때 플레이스홀더 */
.b13__ph{display:block;width:100%;aspect-ratio:4/3;border-radius:var(--radius-sm);
  background:repeating-linear-gradient(135deg,var(--color-bg-muted) 0 8px,var(--color-bg-placeholder) 8px 16px);}
/* 화살표 아이콘 — B03__more 와 동일한 형태·동일한 뜻 */
.b13__more{position:absolute;right:var(--space-md);bottom:var(--space-md);
  width:var(--space-2xl);height:var(--space-2xl);border-radius:var(--radius-full);
  background:var(--color-bg-page);color:var(--color-text-strong);
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);
  transition:background var(--motion-fast),color var(--motion-fast);}
.b13__more svg{width:var(--space-lg);height:var(--space-lg);}
/* 링크 variant — .b13__link 으로 이미지 전체를 클릭 영역으로 */
.b13__link{display:block;text-decoration:none;color:inherit;}
.b13__link:hover .b13__more{background:var(--color-primary-default);color:var(--color-text-inverse);}
.b13__link:hover .b13__title{color:var(--color-primary-deep);}
.b13__title{color:var(--color-text-strong);margin:0;}
.b13__desc{margin:-4px 0 0;color:var(--color-text-subtle);}

/* ============================================================ B14 가로 썸네일 리스트 ============================================================ */
/* 썸네일 | 이름·서브텍스트 | 화살표 버튼 을 한 줄로 — b13(카드 그리드)의 리스트 variant. */
.b14{display:flex;flex-direction:column;}
.b14__item{display:flex;align-items:center;gap:var(--space-md);
  padding:var(--space-md) 0;text-decoration:none;color:inherit;}
/* display:flex 가 UA 의 [hidden]{display:none} 을 덮어쓰므로 명시적으로 숨긴다 */
.b14__item[hidden]{display:none;}
.b14__item + .b14__item{border-top:1px solid var(--color-border-default);}
.b14__thumb{flex:none;width:72px;height:72px;border-radius:var(--radius-md);
  object-fit:cover;background:var(--color-bg-muted);}
.b14__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-xs);}
.b14__name{margin:0;color:var(--color-text-strong);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.b14__desc{margin:0;color:var(--color-text-subtle);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.b14__more{flex:none;width:var(--space-2xl);height:var(--space-2xl);border-radius:var(--radius-full);
  background:var(--color-bg-subtle);color:var(--color-text-strong);
  display:flex;align-items:center;justify-content:center;
  transition:background var(--motion-fast),color var(--motion-fast);}
.b14__more svg{width:var(--space-lg);height:var(--space-lg);}
.b14__item:hover .b14__name{color:var(--color-primary-deep);}
.b14__item:hover .b14__more{background:var(--color-primary-default);color:var(--color-text-inverse);}
/* 로컬 검색 — .b14 리스트를 페이지 내에서 필터링 */
.b14search{display:flex;align-items:center;gap:var(--space-sm);
  margin-bottom:var(--space-sm);padding:0 var(--space-md);
  border:1px solid var(--color-border-default);border-radius:var(--radius-md);
  background:var(--color-bg-page);}
.b14search:focus-within{border-color:var(--color-primary-default);}
.b14search__icon{flex:none;width:var(--space-lg);height:var(--space-lg);color:var(--color-text-subtle);}
.b14search__input{flex:1;min-width:0;border:0;background:transparent;outline:none;
  padding:var(--space-md) 0;color:var(--color-text-strong);font:inherit;}
.b14search__input::placeholder{color:var(--color-text-subtle);}
/* 필터로 숨겨진 뒤 맨 위로 올라온 항목의 상단 구분선 제거 (인접 선택자와 특이도 동률 + 나중 선언으로 우선) */
.b14 .b14__item--firstvis{border-top:0;}
.b14__empty{margin:var(--space-lg) 0;color:var(--color-text-subtle);text-align:center;}

/* ============================================================ Mobile 701px 이하 ============================================================ */
@media (max-width:701px){
  .shell{padding-left:var(--layout-pad-mobile);padding-right:var(--layout-pad-mobile);}
  .topbar__home{display:none;}
  .bleed{margin-left:calc(var(--layout-pad-mobile) * -1);margin-right:calc(var(--layout-pad-mobile) * -1);}
  .toc{padding:0;background:transparent;}
  .toc details{background:var(--color-bg-subtle);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);}
  .toc summary{display:flex;align-items:center;justify-content:space-between;
    min-height:var(--layout-touch-min);list-style:none;cursor:pointer;color:var(--color-text-strong);font-weight:700;}
  .toc summary::-webkit-details-marker{display:none;}
  .toc summary::after{content:"\25BE";color:var(--color-text-subtle);}
  .toc__title{display:none;}
  .b01__facts{flex-direction:column;}
  .b03--item{flex-direction:column;}
  .b03__figure{width:100%;}
  .b03__thumb{aspect-ratio:16/9;}
  .b03__btn{width:100%;}
  .b03--item > .b03__btn{align-self:stretch;width:100%;height:auto;
    padding:var(--space-md) var(--space-3xl);margin-top:var(--space-md);
    border-color:var(--color-border-strong);background:var(--color-bg-page);color:var(--color-text-strong);}
  .b03--item > .b03__btn svg{width:var(--space-lg);height:var(--space-lg);}
  .b03__btn-t{position:static;width:auto;height:auto;margin:0;overflow:visible;clip-path:none;}
  .b03--grid{grid-template-columns:1fr;gap:var(--space-xl);}
  .b05{grid-template-columns:1fr;}
  .b06{grid-template-columns:1fr;}
  .b07{flex-direction:column;gap:var(--space-sm);}
  .b13{grid-template-columns:1fr;}
  .b12__top{gap:var(--space-md);}
  .b12--sticky{display:flex;align-items:center;gap:var(--space-md);
    position:fixed;left:50%;transform:translateX(-50%);bottom:0;z-index:60;
    width:min(600px,100%);background:var(--color-bg-page);
    border-top:1px solid var(--color-border-default);
    padding:var(--space-md) var(--layout-pad-mobile);
    padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom));}
  .b12--sticky .btn{width:auto;flex:none;padding:var(--space-md) var(--space-2xl);}
  .b12__top{flex-direction:column;}
  .b12__thumb{width:100%;height:auto;aspect-ratio:16/9;}
  .foot{padding-bottom:calc(var(--space-4xl) * 2);}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;}
  html{scroll-behavior:auto;}
  .progress__bar{animation:readprog linear both;animation-timeline:scroll(nearest block);}
}

/* 가이드북 메인 허브: 지역 → 나라 카드 → 도시 버튼 (factory/scripts/build_guide_index.py) */
.gdir__search{display:block;margin:0 0 var(--space-xl);}
.gdir__search input{width:100%;height:var(--layout-touch-min);padding:0 var(--space-lg);
  border:1px solid var(--color-border-default);border-radius:var(--radius-md);
  font-family:inherit;font-size:15px;color:var(--color-text-strong);background:var(--color-bg-page);}
.gdir__search input:focus{outline:none;border-color:var(--color-primary-default);}
.gdir__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.gdir__empty{margin:0 0 var(--space-lg);color:var(--color-text-subtle);}
.gdir__pages{margin:0 0 var(--space-2xl);}
.gdir__pages .badge{flex-shrink:0;white-space:nowrap;}
.gdir__region{margin:0 0 var(--space-2xl);}
.gdir__rtitle{margin:0 0 var(--space-md);color:var(--color-text-strong);}
.gdir__grid{display:grid;gap:var(--space-md);}
.gdir__country{border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);background:var(--color-bg-page);}
.gdir__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);
  min-height:32px;color:var(--color-text-strong);text-decoration:none;}
.gdir__head:hover{color:var(--color-primary-default);}
.gdir__meta{display:inline-flex;align-items:center;gap:2px;color:var(--color-text-subtle);}
.gdir__meta svg{width:16px;height:16px;}
.gdir__cities{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-sm);}
.gdir__city{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--space-md);
  border-radius:var(--radius-full);background:var(--color-bg-muted);
  font-size:14px;color:var(--color-text-default);text-decoration:none;transition:background var(--motion-fast),color var(--motion-fast);}
.gdir__city:hover,.gdir__city.is-hit{background:var(--color-primary-light);color:var(--color-primary-default);}
[data-gdir-card][hidden],[data-gdir-region][hidden]{display:none;}
