/* Honeymoon Journal — 하루 한 꼭지 매거진 (page-flip 위에 얹는 지면 디자인)
   지면 안의 모든 크기는 em — 한 쪽의 폭이 31em이 되도록 글자 크기를 잡는다(.pg). */
:root {
  --paper: #f7f1e6; --paper-2: #efe6d6; --ink: #2a211d; --ink-2: #5f524a; --mute: #8b7a6d; --rule: #d9cbb6;
  --accent: #b4532f; --gold: #9a7420;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Noto Sans KR", system-ui, -apple-system, sans-serif;
  --desk: #1c1614;
}
* { box-sizing: border-box; margin: 0; }
html, body { height: 100%; }
body {
  background: radial-gradient(120% 90% at 50% 0%, #3a2b25 0%, var(--desk) 60%) fixed; color: #e9dfd2;
  font-family: var(--sans); word-break: keep-all; overflow-wrap: anywhere;
  display: flex; flex-direction: column; min-height: 100dvh; overflow: hidden;
}

/* 상단 바 */
.mz-bar { display: flex; align-items: center; gap: 12px; padding: 6px 16px; flex: 0 0 auto; }
.mz-back { color: #cbbba9; text-decoration: none; font-size: 13px; padding: 6px 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; }
.mz-back:hover { color: #fff; border-color: rgba(255,255,255,.35); }
.mz-title { flex: 1; text-align: center; line-height: 1.15; }
.mz-title span { font-family: var(--serif); font-style: italic; font-size: 20px; letter-spacing: .02em; color: #f3e7d6; }
.mz-title small { display: block; font-size: 11px; letter-spacing: .14em; color: #a8978a; text-transform: uppercase; }
.mz-nav { display: flex; gap: 6px; }
.mz-nav button { width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); background: transparent; color: #f3e7d6; font-size: 20px; cursor: pointer; line-height: 1; }
.mz-nav button:hover { background: rgba(255,255,255,.08); }
:focus-visible { outline: 2px solid #e0a070; outline-offset: 2px; }

/* 책 */
.mz-stage { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 4px 12px 0; }
.mz-book-wrap { width: min(100%, calc((100dvh - 128px) * 1.3334)); max-width: 1440px; filter: drop-shadow(0 18px 40px rgba(0,0,0,.55)); }
@media (max-width: 760px) { .mz-book-wrap { width: min(100%, calc((100dvh - 128px) * 0.6667)); } }
.mz-hint { position: fixed; bottom: 64px; left: 0; right: 0; text-align: center; pointer-events: none; font-size: 11px; color: #cdbdaf; text-shadow: 0 1px 4px #000; letter-spacing: .04em; transition: opacity .6s; }
.mz-hint.gone { opacity: 0; }

/* 날짜 띠 */
.mz-strip { flex: 0 0 auto; display: flex; gap: 4px; overflow-x: auto; padding: 6px 12px 8px; justify-content: safe center; scrollbar-width: none; }
.mz-strip::-webkit-scrollbar { display: none; }
.mz-strip button { flex: 0 0 auto; min-width: 44px; padding: 5px 8px; border-radius: 10px; border: 1px solid transparent; background: transparent; color: #a8978a; cursor: pointer; font-family: var(--sans); line-height: 1.15; }
.mz-strip button b { display: block; font-family: var(--serif); font-size: 16px; font-weight: 600; color: #d9c9b6; }
.mz-strip button small { font-size: 10px; }
.mz-strip button i { display: block; width: 14px; height: 3px; border-radius: 2px; margin: 3px auto 0; }
.mz-strip button:hover { background: rgba(255,255,255,.06); }
.mz-strip button.on { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.08); }
.mz-strip button.on b { color: #fff; }

/* ── 지면 공통 ── */
.page { background: var(--paper); color: var(--ink); overflow: hidden; container-type: size; }
.pg { font-size: calc(100cqw / 33); height: 100%; position: relative; display: flex; flex-direction: column; line-height: 1.6; }
.pg-paper { padding: 2.6em 2.5em 2em; background:
  linear-gradient(90deg, rgba(60,40,20,.10), transparent 5%) left / 100% 100% no-repeat, var(--paper); }
.page.--left .pg-paper, .pg-paper.left { background:
  linear-gradient(270deg, rgba(60,40,20,.10), transparent 5%) right / 100% 100% no-repeat, var(--paper); }
.kick { font-size: .68em; letter-spacing: .22em; text-transform: uppercase; color: var(--mute); font-weight: 500; }
.folio { position: absolute; bottom: 1.1em; left: 0; right: 0; text-align: center; font-family: var(--serif); font-size: .82em; color: var(--mute); letter-spacing: .08em; }
.serif { font-family: var(--serif); }

/* ── 표지 ── */
.cover { color: #fbeedd; justify-content: space-between; padding: 3em 2.6em 2.6em; text-align: center; }
.cover .art, .hero .art { position: absolute; inset: 0; width: 100%; height: 100%; }
.cover > *:not(.art), .hero > *:not(.art) { position: relative; }
.cover .mast { font-family: var(--serif); font-style: italic; font-size: 1.5em; letter-spacing: .04em; }
.cover .mast small { display: block; font-family: var(--sans); font-style: normal; font-size: .42em; letter-spacing: .32em; margin-top: .5em; opacity: .85; }
.cover h1 { font-family: var(--serif); font-weight: 500; font-size: 5.6em; line-height: .95; letter-spacing: -.01em; text-shadow: 0 .04em .5em rgba(60,20,10,.35); }
.cover h1 em { display: block; font-size: .42em; font-style: italic; margin: .25em 0; opacity: .9; }
.cover .lines { font-size: .84em; line-height: 1.9; letter-spacing: .04em; }
.cover .lines b { font-family: var(--serif); font-size: 1.25em; font-weight: 600; letter-spacing: .08em; }
.cover .issue { font-size: .66em; letter-spacing: .26em; text-transform: uppercase; opacity: .85; }

/* ── 차례 ── */
.toc h2 { font-family: var(--serif); font-weight: 500; font-size: 2.6em; line-height: 1; margin: .2em 0 .5em; }
.toc ol { list-style: none; padding: 0; flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
.toc li button { all: unset; cursor: pointer; display: grid; grid-template-columns: 2.2em 3.6em 1fr auto; gap: .5em; align-items: baseline; width: 100%; padding: .22em 0; border-bottom: 1px dotted var(--rule); }
.toc li button:hover .t { color: var(--accent); }
.toc .n { font-family: var(--serif); font-size: 1.15em; color: var(--accent); font-weight: 600; }
.toc .d { font-size: .74em; color: var(--mute); }
.toc .t { font-size: .92em; font-weight: 500; }
.toc .c { font-size: .64em; letter-spacing: .12em; text-transform: uppercase; color: var(--mute); }

/* ── 여정 요약 ── */
.route h2 { font-family: var(--serif); font-weight: 500; font-size: 2.6em; line-height: 1; margin: .2em 0 .1em; }
.route .lede { font-family: var(--serif); font-style: italic; font-size: 1.12em; color: var(--ink-2); line-height: 1.4; margin-bottom: 1em; }
.route h3 { font-size: .68em; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); margin: 1.2em 0 .5em; font-weight: 700; }
.rt-row { display: grid; grid-template-columns: 4.6em 1fr auto; gap: .7em; align-items: baseline; padding: .42em 0; border-bottom: 1px solid var(--rule); font-size: .86em; }
.rt-row .when { font-family: var(--serif); font-size: 1.2em; font-weight: 600; }
.rt-row small { display: block; color: var(--mute); font-size: .84em; }
.tag { font-size: .7em; padding: .15em .7em; border-radius: 99px; white-space: nowrap; }
.tag.ok { background: rgba(46,125,67,.14); color: #2e6b3c; }
.tag.no { background: rgba(187,59,82,.12); color: #a5334a; }
.route .fine { margin-top: auto; font-size: .7em; color: var(--mute); line-height: 1.6; padding-bottom: 1.4em; }

/* ── 하루: 왼쪽(장면) ── */
.hero { color: #fff8ee; padding: 2.4em 2.5em 2.4em; justify-content: space-between; }
.hero .top { display: flex; justify-content: space-between; align-items: baseline; font-size: .66em; letter-spacing: .22em; text-transform: uppercase; opacity: .92; }
.hero .dayno { font-family: var(--serif); font-size: 6.4em; line-height: .8; font-weight: 500; opacity: .96; margin-top: .25em; }
.hero .dayno small { font-family: var(--sans); font-size: .11em; letter-spacing: .3em; display: block; margin-bottom: 1em; opacity: .9; }
.hero .bottom { background: linear-gradient(180deg, transparent, rgba(20,10,8,.0)); }
.hero .date { font-size: .74em; letter-spacing: .18em; opacity: .92; }
.hero h2 { font-family: var(--sans); font-weight: 700; font-size: 2.35em; line-height: 1.18; margin: .22em 0 .25em; letter-spacing: -.02em; text-shadow: 0 .05em .6em rgba(30,10,5,.35); }
.hero .deck { font-family: var(--serif); font-style: italic; font-size: 1.22em; line-height: 1.35; opacity: .95; }
.hero .deck:lang(ko), .hero .deck { font-family: var(--sans); font-style: normal; font-size: .95em; font-weight: 500; }
.hero .story { margin-top: 1em; padding-top: 1em; border-top: 1px solid rgba(255,255,255,.35); font-size: .86em; line-height: 1.78; text-shadow: 0 0 .8em rgba(30,10,5,.35); }
.hero .story:not(.nodrop)::first-letter { font-size: 2.6em; float: left; line-height: .95; padding: .06em .12em 0 0; font-weight: 700; }
.hero::after { content: ""; position: absolute; inset: 35% 0 0 0; background: linear-gradient(180deg, transparent, rgba(24,12,8,.62) 55%, rgba(24,12,8,.78)); pointer-events: none; }
.hero .bottom { z-index: 1; }

/* ── 하루: 오른쪽(가이드) ── */
.guide .head { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 2px solid var(--ink); padding-bottom: .5em; }
.guide .head .en { font-family: var(--serif); font-style: italic; font-size: 1.5em; line-height: 1; }
.guide .stay { display: flex; justify-content: space-between; align-items: center; gap: .6em; font-size: .8em; padding: .55em 0; border-bottom: 1px solid var(--rule); }
.guide .stay b { font-weight: 700; }
.guide .stay span.lbl { font-size: .82em; letter-spacing: .18em; color: var(--mute); margin-right: .8em; }
.guide h3 { font-size: .64em; letter-spacing: .24em; text-transform: uppercase; color: var(--accent); font-weight: 700; margin: 1.25em 0 .5em; }
.path { display: flex; flex-wrap: wrap; align-items: center; gap: .25em .1em; font-size: .78em; line-height: 1.45; }
.path .stop { font-weight: 700; }
.path .leg { color: var(--mute); font-size: .88em; white-space: nowrap; }
.path .leg::before { content: "—"; margin: 0 .35em; color: var(--rule); }
.path .leg::after { content: "→"; margin: 0 .35em; color: var(--accent); }
.path .leg:empty::before { display: none; }
.sched { list-style: none; padding: 0; }
.sched li { display: grid; grid-template-columns: 3.4em 1fr; gap: .7em; align-items: baseline; padding: .26em 0; font-size: .84em; border-bottom: 1px dotted var(--rule); }
.sched time { font-family: var(--serif); font-size: 1.18em; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.picks { list-style: none; padding: 0; counter-reset: pk; }
.picks li { counter-increment: pk; display: grid; grid-template-columns: 1.7em 1fr; gap: .2em .5em; padding: .32em 0; }
.picks li::before { content: counter(pk); font-family: var(--serif); font-style: italic; font-size: 1.75em; line-height: .95; color: var(--accent); grid-row: span 2; }
.picks .nm { font-size: .9em; font-weight: 700; line-height: 1.3; }
.picks .nm em { font-style: normal; font-weight: 500; font-size: .74em; letter-spacing: .1em; color: var(--gold); margin-left: .6em; }
.picks .why { font-size: .78em; color: var(--ink-2); line-height: 1.5; }
.note { margin-top: 1em; padding: .1em 0 .1em 1em; border-left: 2px solid var(--accent); font-size: .84em; line-height: 1.6; color: var(--ink-2); }
.note::before { content: "Editor’s note"; display: block; font-family: var(--serif); font-style: italic; font-size: 1.05em; color: var(--accent); }
.todo { margin-top: auto; padding: .7em 0 1.5em; font-size: .72em; color: var(--mute); display: flex; flex-wrap: wrap; gap: .2em 1.2em; border-top: 1px solid var(--rule); }
.todo span::before { content: "☐ "; color: var(--accent); }

/* ── 뒤표지 ── */
.back { color: #fbeedd; justify-content: center; align-items: center; text-align: center; gap: 1.2em; padding: 3em; }
.back .fin { font-family: var(--serif); font-style: italic; font-size: 4em; }
.back p { font-size: .84em; line-height: 1.9; opacity: .92; }
.back a { color: inherit; }

@media (prefers-reduced-motion: reduce) { .mz-hint { transition: none; } }

/* ── 사진 지면 ── */
img.art.photo { object-fit: cover; }
.cover::before, .hero::before, .back::before { content: ""; position: absolute; inset: 0 0 62% 0; background: linear-gradient(180deg, rgba(20,10,8,.55), transparent); z-index: 0; pointer-events: none; }
.cover::after, .back::after { content: ""; position: absolute; inset: 0; background: rgba(24,12,8,.28); pointer-events: none; }
.cover > *:not(.art), .back > *:not(.art), .hero > *:not(.art) { z-index: 1; }
.cred { position: absolute !important; right: .9em; bottom: .7em; font-size: .5em; letter-spacing: .04em; color: rgba(255,255,255,.72); z-index: 2 !important; max-width: 80%; text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hero .bottom { padding-bottom: .8em; }

/* ── 하루 계획표: 오전·오후·저녁 × (일정 | 식사) ── */
.plan { margin-top: 1.1em; border-top: 2px solid var(--ink); }
.plan-h, .plan-r { display: grid; grid-template-columns: 2.6em 1fr 10.5em; gap: .9em; }
.plan-h { font-size: .62em; letter-spacing: .22em; color: var(--accent); font-weight: 700; padding: .55em 0 .35em; }
.plan-h span:last-child, .plan-r .meal { padding-left: .9em; border-left: 1px solid var(--rule); }
.plan-r { padding: .5em 0; border-top: 1px dotted var(--rule); font-size: .82em; line-height: 1.5; align-items: start; }
.plan-r b { font-family: var(--serif); font-size: 1.25em; font-weight: 600; line-height: 1.2; }
.plan-r .meal { font-weight: 500; color: var(--ink); }
.plan-r .meal em { display: block; font-style: normal; font-size: .76em; letter-spacing: .14em; color: var(--gold); font-weight: 700; }

/* ── 둘째 펼침면: Editor's Picks 크게 ── */
.picksA { padding-top: 0 !important; }
.picksA .band { position: relative; height: 34%; margin: 0 -2.5em 1.6em; overflow: hidden; flex: 0 0 auto; }
.picksA .band .art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.picksA .band .cred { font-size: .5em; }
.picksA .head, .picksB .head { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 2px solid var(--ink); padding-bottom: .5em; }
.picksA .head .en { font-family: var(--serif); font-style: italic; font-size: 2em; line-height: 1; }
.picksB { padding-top: 3.2em; }
.bigpicks { list-style: none; padding: 0; }
.bigpicks li { display: grid; grid-template-columns: 2.6em 1fr; gap: .4em; padding: 1.15em 0; border-bottom: 1px solid var(--rule); }
.bigpicks li:last-child { border-bottom: 0; }
.bigpicks .no { font-family: var(--serif); font-style: italic; font-size: 3.2em; line-height: .85; color: var(--accent); }
.bigpicks .nm { display: block; font-size: 1.22em; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; }
.bigpicks .nm em { font-style: normal; font-weight: 700; font-size: .56em; letter-spacing: .16em; color: var(--gold); margin-left: .8em; vertical-align: .15em; }
.bigpicks .why { margin-top: .5em; font-size: .93em; line-height: 1.78; color: var(--ink-2); }
.checks { margin-top: auto; padding: 1em 1.2em 1.1em; margin-bottom: 2em; background: var(--paper-2); border-radius: .5em; }
.checks h3 { font-size: .64em; letter-spacing: .22em; color: var(--accent); font-weight: 700; margin-bottom: .5em; }
.checks ul { list-style: none; padding: 0; font-size: .86em; line-height: 1.8; }
.checks li::before { content: "☐"; color: var(--accent); margin-right: .6em; }
/* 계획 쪽은 여유가 생겨 글자를 조금 키운다 */
.guide .plan-r { font-size: .92em; padding: .8em 0; }
.guide .path { font-size: .86em; }
.guide .note { margin-top: auto; margin-bottom: 2.4em; font-size: .92em; }
/* 추천 지면 글자 키움 · 차례/여정 하단 여유 */
.picksA .band { height: 38%; }
.bigpicks li { padding: 1.3em 0; grid-template-columns: 3em 1fr; }
.bigpicks .no { font-size: 3.8em; }
.bigpicks .nm { font-size: 1.5em; }
.bigpicks .why { font-size: 1.1em; line-height: 1.85; margin-top: .6em; }
.checks ul { font-size: 1em; }
.toc ol { padding-bottom: 1.6em; }
.route .fine { padding-bottom: 2em; font-size: .66em; }
.guide .plan-r { font-size: 1.04em; padding: 1.05em 0; line-height: 1.6; }
.guide .plan-h, .guide .plan-r { grid-template-columns: 2.8em 1fr 9.6em; }
.guide .path { font-size: .92em; line-height: 1.7; }
.guide .note { font-size: 1em; line-height: 1.7; }

/* ═══ 2026-10-13 조판 변경: 실제 잡지처럼 작은 글자로 빽빽하게 ═══
   한 쪽의 폭 = 46em (전에는 33em). 위에 있는 크기 지정 중 아래와 겹치는 것은 이 블록이 이긴다. */
.pg { font-size: calc(100cqw / 46); line-height: 1.62; }
.pg-paper { padding: 3.2em 3.4em 2.8em; }
.kick { font-size: .7em; }
.folio { font-size: .85em; bottom: 1.3em; }

/* 표지 · 차례 · 여정 */
.cover { padding: 4.4em 3.6em 3.6em; }
.cover .mast { font-size: 2em; }
.cover h1 { font-size: 8.2em; }
.cover .lines { font-size: 1.05em; }
.cover .issue { font-size: .8em; }
.toc h2, .route h2 { font-size: 3.6em; }
.toc li button { grid-template-columns: 2.6em 4.6em 1fr auto; padding: .5em 0; }
.toc .n { font-size: 1.5em; } .toc .d { font-size: .9em; } .toc .t { font-size: 1.15em; } .toc .c { font-size: .72em; }
.route .lede { font-size: 1.5em; }
.route h3 { font-size: .78em; }
.rt-row { font-size: 1.02em; padding: .6em 0; grid-template-columns: 5em 1fr auto; }
.route .fine { font-size: .82em; line-height: 1.7; padding-bottom: 2.4em; }
.tag { font-size: .78em; }

/* 왼쪽: 사진 + 제목 + 이야기 */
.hero { padding: 3.2em 3.4em 3em; }
.hero .top { font-size: .74em; }
.hero .dayno { font-size: 9em; }
.hero .date { font-size: .9em; }
.hero h2 { font-size: 3.3em; }
.hero .deck { font-size: 1.2em; }
.hero .story { font-size: 1em; line-height: 1.85; column-count: 2; column-gap: 2em; margin-top: 1.2em; padding-top: 1.2em; }
.hero .story:not(.nodrop)::first-letter { font-size: 3em; }
.cred { font-size: .62em; }

/* 오른쪽: 계획 · 추천 */
.guide .head { padding-bottom: .6em; }
.guide .head .en { font-size: 2.1em; }
.guide .stay { font-size: .92em; padding: .6em 0; }
.guide h3 { font-size: .7em; margin: 1.5em 0 .55em; }
.guide .path { font-size: .95em; line-height: 1.65; }
.guide .plan { margin-top: 1.3em; }
.guide .plan-h { font-size: .7em; }
.guide .plan-h, .guide .plan-r { grid-template-columns: 3em 1fr 13.5em; gap: 1.2em; }
.guide .plan-r { font-size: .95em; padding: .62em 0; line-height: 1.6; }
.guide .plan-r b { font-size: 1.35em; }
.picks li { grid-template-columns: 2.2em 1fr; padding: .55em 0; border-bottom: 1px dotted var(--rule); }
.picks li:last-child { border-bottom: 0; }
.picks li::before { font-size: 2.3em; }
.picks .nm { font-size: 1.08em; }
.picks .nm em { font-size: .68em; }
.picks .why { font-size: .93em; line-height: 1.68; }
.guide .note { margin-top: 1em; margin-bottom: 0; font-size: .95em; line-height: 1.65; }
.guide .todo { margin-top: auto; padding: .75em 0 1.6em; font-size: .86em; gap: .2em 1.4em; align-items: baseline; }
.guide .todo b { font-size: .8em; letter-spacing: .18em; color: var(--accent); margin-right: .4em; }
.back .fin { font-size: 6em; } .back p { font-size: 1.1em; }

/* 화면: 책을 조금 더 크게 */
.mz-book-wrap { width: min(100%, calc((100dvh - 118px) * 1.3334)); max-width: 1520px; }

/* ── 폰: 넘김 없이 세로로 이어 읽기 (글자는 화면 폭 기준 고정) ── */
body.mz-scroll { overflow: auto; display: block; }
.mz-scroll .mz-bar { position: sticky; top: 0; z-index: 5; background: rgba(28,22,20,.94); }
.mz-scroll .mz-nav, .mz-scroll .mz-hint { display: none; }
.mz-scroll .mz-stage { display: block; padding: 0; }
.mz-scroll .mz-book-wrap { width: 100%; filter: none; }
.mz-scroll .page { container-type: normal; margin-bottom: 10px; scroll-margin-top: 52px; }
.mz-scroll .pg { font-size: 3.55vw; height: auto; }
.mz-scroll .pg-paper { padding: 2.4em 1.9em 3.4em; background: var(--paper); }
.mz-scroll .cover, .mz-scroll .back { min-height: 150vw; }
.mz-scroll .hero { min-height: 150vw; padding: 2.2em 1.9em 2.6em; }
.mz-scroll .hero .dayno { font-size: 6em; }
.mz-scroll .hero h2 { font-size: 2.3em; }
.mz-scroll .hero .story { column-count: 1; font-size: 1em; }
.mz-scroll .cover h1 { font-size: 5.4em; }
.mz-scroll .toc li button { padding: .7em 0; }
.mz-scroll .guide .plan-h, .mz-scroll .guide .plan-r { grid-template-columns: 2.6em 1fr 9.5em; gap: .8em; }
.mz-scroll .guide .todo { margin-top: 1.2em; }
.mz-scroll .mz-strip { position: sticky; bottom: 0; z-index: 5; background: rgba(28,22,20,.94); justify-content: flex-start; }
.mz-scroll .guide .plan-h, .mz-scroll .guide .plan-r { grid-template-columns: 3.2em 1fr 9.5em; }
.mz-scroll .guide .plan-r b { font-size: 1.15em; white-space: nowrap; }
.mz-scroll .mz-strip { background: #1c1614; }
.mz-scroll .folio { position: static; margin-top: 1.5em; }

/* 검수 1회차: 글자 +7%, 줄 간격·여백을 줄여 자리 확보 */
.pg { font-size: calc(100cqw / 43); }
.pg-paper { padding: 2.8em 3.1em 2.6em; }
.guide h3 { margin: 1.15em 0 .45em; }
.guide .plan { margin-top: 1em; }
.guide .plan-r { padding: .45em 0; line-height: 1.5; }
.picks li { padding: .42em 0; }
.picks .why { line-height: 1.58; }
.guide .note { margin-top: .8em; line-height: 1.55; }
.guide .todo { padding: .6em 0 1.5em; }
.cred { font-size: max(.62em, 9px); }
.route .fine b { color: var(--accent); }
@media (max-height: 1000px) { .hero .story { column-count: 1; } }
.mz-scroll .pg { font-size: 3.55vw; }
.toc li button { padding: .3em 0; }
.toc h2 { margin: .1em 0 .3em; }

/* 검수 4회차(PDF로 본 지면) */
.back .art { position: absolute; inset: 0; width: 100%; height: 100%; }                 /* V1 뒤표지 사진이 지면을 채우게 */
.hero::before { inset: 0 0 55% 0; background: linear-gradient(180deg, rgba(20,10,8,.62), rgba(20,10,8,.22) 60%, transparent); }   /* V2 밝은 하늘 위 라벨 */
.hero .top, .hero .dayno, .hero .date { text-shadow: 0 1px 10px rgba(0,0,0,.45); }
.guide .note { margin-top: auto; }                                                      /* V4 여백은 추천과 노트 사이로 */
.guide .todo { margin-top: .8em; }
.guide .plan-h, .guide .plan-r { grid-template-columns: 3em 1fr 15em; }                 /* V5 식사 칸 넓힘 */
.guide .plan-r b { font-size: 1.15em; }                                                 /* V7 행 라벨이 추천 제목보다 크지 않게 */
.path .stop { white-space: nowrap; } .path { text-wrap: pretty; }                       /* V9 */
.mz-scroll .guide .plan-h, .mz-scroll .guide .plan-r { grid-template-columns: 3.2em 1fr 9.5em; }
.mz-scroll .guide .note { margin-top: 1em; }

.hero .top { font-weight: 700; }   /* 5회차: 밝은 사진 위 상단 라벨 */
.hero::before { background: linear-gradient(180deg, rgba(20,10,8,.72), rgba(20,10,8,.24) 60%, transparent); }

/* 부록: 두바이 더 하기 */
.extras .picks li { padding: .5em 0; }
.extras .picks .when { float: right; font-size: .72em; font-weight: 700; letter-spacing: .04em; color: var(--accent); background: var(--paper-2); padding: .1em .6em; border-radius: 99em; margin-top: .25em; }
.extras .note { margin-top: auto; }

/* 7회차: 부록 사진(밝은 돔 격자) 위 라벨 */
.hero.extras::before { z-index: 1; background: linear-gradient(180deg, rgba(20,10,8,.88), rgba(20,10,8,.4) 60%, transparent); }   /* 사진(img.art)보다 위에 깔리게 */

.path .leg.end::after { content: none; }   /* 9회차: 동선 끝 빈 화살표 */
