/* Dongjing Meng Hua Lu — Entry 08 / city corridor */
.dj08-page{--dj08-cream:#f2ede2;--dj08-ink:#181613;--dj08-muted:#746a57;--dj08-rule:#cbc0a8;--dj08-red:#9d3320;--dj08-soft:#e7dfd0}
.dj08-page .dj-entry-title h1{font-size:clamp(4.3rem,7.8vw,8.6rem);letter-spacing:.04em;max-width:9em}
.dj08-page .dj-entry-title h2{max-width:10ch}

.dj08-corridor{padding:clamp(70px,8vw,118px) 0;border-bottom:1px solid var(--dj08-ink)}
.dj08-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.52fr);gap:54px;align-items:end;margin-bottom:42px}
.dj08-section-head small{display:block;margin-bottom:20px;color:var(--dj08-red);font:760 .75rem/1.2 var(--dj-mono);letter-spacing:.12em}
.dj08-section-head h2{margin:0;max-width:860px;font-size:clamp(3rem,5.3vw,6.1rem);font-weight:590;line-height:.88;letter-spacing:-.055em}
.dj08-section-head>p{max-width:56ch;margin:0;color:var(--dj08-muted);font-family:var(--dj-serif);font-size:1rem;line-height:1.62}
.dj08-corridor-track{position:relative;display:grid;grid-template-columns:repeat(12,minmax(150px,1fr));gap:0;border-top:1px solid var(--dj08-ink);border-bottom:1px solid var(--dj08-ink);overflow-x:auto;scrollbar-width:thin}
.dj08-corridor-track:before{content:"";position:absolute;left:0;right:0;top:36px;height:1px;background:var(--dj08-rule);pointer-events:none}
.dj08-node{position:relative;min-height:190px;padding:58px 16px 20px;border-right:1px solid var(--dj08-rule);background:transparent;transition:background-color .2s ease,color .2s ease}
.dj08-node:first-child{border-left:1px solid var(--dj08-rule)}
.dj08-node:before{content:"";position:absolute;top:31px;left:16px;width:10px;height:10px;border:1px solid var(--dj08-ink);background:var(--dj08-cream);border-radius:50%;z-index:2;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}
.dj08-node small{display:block;margin-bottom:30px;color:var(--dj08-red);font:760 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj08-node b{display:block;margin-bottom:8px;font-family:var(--dj-song);font-size:1.12rem;font-weight:500;line-height:1.25}
.dj08-node span{display:block;color:var(--dj08-muted);font-family:var(--dj-serif);font-size:.78rem;line-height:1.45}
.dj08-node.is-active{background:rgba(157,51,32,.065)}
.dj08-node.is-active:before{background:var(--dj08-red);border-color:var(--dj08-red);transform:scale(1.24)}
.dj08-corridor-key{display:grid;grid-template-columns:auto 1fr auto 1fr auto;gap:14px;align-items:center;padding-top:16px;color:var(--dj08-muted);font:760 .75rem/1 var(--dj-mono);letter-spacing:.09em}
.dj08-corridor-key i{height:1px;background:var(--dj08-rule)}

.dj08-body{padding-top:clamp(82px,8vw,126px)}
.dj08-reading-section{scroll-margin-top:120px}
.dj08-source-line{margin:28px 0 20px;border-top:1px solid var(--dj08-ink);border-bottom:1px solid var(--dj08-rule);padding:14px 0 18px}
.dj08-source-line small{display:block;margin-bottom:18px;color:var(--dj08-red);font:760 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj08-source-line blockquote{margin:0 0 16px;font-family:var(--dj-song);font-size:clamp(1.7rem,2.8vw,2.7rem);font-weight:400;line-height:1.5;letter-spacing:.045em}
.dj08-source-line a{color:var(--dj08-muted);font:700 .75rem/1.3 var(--dj-mono);letter-spacing:.07em;text-decoration:none}
.dj08-source-line a:hover{color:var(--dj08-red)}

.dj08-eight-seats{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;margin:34px 0 10px;padding:28px 0;border-top:1px solid var(--dj08-rule);border-bottom:1px solid var(--dj08-rule)}
.dj08-eight-seats>div{display:grid;grid-template-columns:auto repeat(4,1fr);gap:8px;align-items:center}
.dj08-eight-seats span,.dj08-eight-seats>b{font:760 .75rem/1.2 var(--dj-mono);letter-spacing:.08em}
.dj08-eight-seats>b{writing-mode:vertical-rl;color:var(--dj08-red);font-weight:800}
.dj08-eight-seats i{display:block;height:34px;border:1px solid var(--dj08-ink);background:rgba(255,255,255,.16)}

.dj08-variant{margin:22px 0;border-top:1px solid var(--dj08-rule);border-bottom:1px solid var(--dj08-rule)}
.dj08-variant summary{cursor:pointer;padding:14px 0;color:var(--dj08-red);font:760 .75rem/1.3 var(--dj-mono);letter-spacing:.09em;list-style:none}
.dj08-variant summary::-webkit-details-marker{display:none}
.dj08-variant summary:after{content:"+";float:right;color:var(--dj08-ink);font-size:.9rem}
.dj08-variant[open] summary:after{content:"−"}
.dj08-variant p{margin:0;padding:0 0 16px;color:var(--dj08-muted);font-family:var(--dj-serif);font-size:.92rem;line-height:1.62}
.dj08-variant p span{color:var(--dj08-ink);font-family:var(--dj-song)}
.dj08-variant>div{display:flex;gap:18px;flex-wrap:wrap;padding:0 0 18px}
.dj08-variant a{color:var(--dj08-ink);font:700 .75rem/1.3 var(--dj-mono);letter-spacing:.06em;text-decoration:none;border-bottom:1px solid var(--dj08-rule)}
.dj08-variant a:hover{color:var(--dj08-red);border-color:var(--dj08-red)}

.dj08-menu-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border-top:1px solid var(--dj08-ink);border-left:1px solid var(--dj08-rule)}
.dj08-menu-strip span{min-height:104px;padding:20px;border-right:1px solid var(--dj08-rule);border-bottom:1px solid var(--dj08-rule);font-family:var(--dj-song);font-size:1.08rem}
.dj08-menu-strip small{display:block;margin-top:22px;color:var(--dj08-red);font:760 .75rem/1.2 var(--dj-mono);letter-spacing:.08em}

.dj08-ending{display:grid;grid-template-columns:180px minmax(0,1fr);gap:48px;padding:clamp(70px,8vw,118px) 0;border-bottom:1px solid var(--dj08-ink)}
.dj08-ending small{color:var(--dj08-red);font:760 .75rem/1.3 var(--dj-mono);letter-spacing:.1em}
.dj08-ending p{max-width:920px;margin:0;font-size:clamp(2.8rem,5vw,5.8rem);font-weight:590;line-height:.92;letter-spacing:-.05em}
.dj08-ending p span{color:var(--dj08-red)}

@media (max-width:1000px){
  .dj08-section-head{grid-template-columns:1fr;gap:22px}
  .dj08-corridor-track{grid-template-columns:repeat(12,190px)}
  .dj08-ending{grid-template-columns:1fr;gap:24px}
}
@media (max-width:760px){
  .dj08-page .dj-entry-title h1{font-size:clamp(3rem,14vw,5.5rem);line-height:.9}
  .dj08-corridor{padding:64px 0}
  .dj08-corridor-track{margin-right:calc((100vw - 100%) / -2);grid-template-columns:repeat(12,168px)}
  .dj08-corridor-key{grid-template-columns:auto 1fr auto;overflow:hidden}.dj08-corridor-key i:nth-of-type(2),.dj08-corridor-key span:last-child{display:none}
  .dj08-eight-seats{grid-template-columns:1fr;gap:12px}.dj08-eight-seats>b{writing-mode:horizontal-tb;text-align:center}.dj08-eight-seats>div{grid-template-columns:58px repeat(4,1fr)}
  .dj08-menu-strip{grid-template-columns:repeat(2,1fr)}
  .dj08-ending p{font-size:clamp(2.4rem,11vw,4.4rem)}
}
@media (prefers-reduced-motion:reduce){.dj08-node,.dj08-node:before{transition:none}}
