/* Dongjing Meng Hua Lu — Volume IV / Entries 35–39
   Five pages, one family: the silver tableware standard (35), the restaurant
   order relay (36), the knife-stall formats (37), the bread ovens (38), the
   fish gates (39). All rules are scoped to these entry namespaces. Global site
   CSS is untouched; shared editorial primitives mirror the 31–34 batch. */

.dj35-page,.dj36-page,.dj37-page,.dj38-page,.dj39-page{--reading-ancient-cjk:"Galok Source Han Serif TC","Galok VolumeIV Serif Fallback","Galok HanaMin Reading","Source Han Serif TC","Noto Serif TC","Songti TC",STSong,serif;--reading-display-mixed:"Galok Bagnard","Galok QIJIC Reading","Galok Source Han Serif TC","Galok VolumeIV Serif Fallback","Galok HanaMin Reading","Galok Gambetta",Georgia,"Times New Roman",serif}
.dj35-page :where(:lang(zh-Hans),:lang(zh-Hant)),.dj36-page :where(:lang(zh-Hans),:lang(zh-Hant)),.dj37-page :where(:lang(zh-Hans),:lang(zh-Hant)),.dj38-page :where(:lang(zh-Hans),:lang(zh-Hant)),.dj39-page :where(:lang(zh-Hans),:lang(zh-Hant)){font-family:var(--reading-modern-cjk)!important;font-weight:400!important;font-synthesis:none!important}

/* Reveal state is gated on JS: without JS everything stays fully visible. */
html:not(.djx-js) [data-djx-reveal]{opacity:1!important;transform:none!important}

/* ---- shared editorial primitives ---- */
.dj35-page,.dj36-page,.dj37-page,.dj38-page,.dj39-page{--djv5-ink:#161511;--djv5-paper:#ece5d8;--djv5-red:#b53b25;--djv5-rule:#c9bea6;--djv5-night:#151410;--djv5-gold:#9a8c71}
.dj35-page{--djv5-ink:#161511;--djv5-paper:#eee8db;--djv5-red:#b53b25;--djv5-rule:#cbc0a8;--djv5-night:#141210;--djv5-gold:#a09377;--djv5-silver:#c6bba3}
.dj36-page{--djv5-ink:#1a1814;--djv5-paper:#eee8db;--djv5-red:#a83622;--djv5-rule:#cabfa7;--djv5-night:#1f1c18;--djv5-gold:#9b8e72}
.dj37-page{--djv5-ink:#191714;--djv5-paper:#efe8dc;--djv5-red:#99311f;--djv5-rule:#c6bba3;--djv5-night:#191714;--djv5-gold:#96886d}
.dj38-page{--djv5-ink:#1a1915;--djv5-paper:#f1ebdf;--djv5-red:#b63b25;--djv5-rule:#c9bea6;--djv5-night:#201d19;--djv5-gold:#9f9276}
.dj39-page{--djv5-ink:#201d19;--djv5-paper:#f0eadf;--djv5-red:#b83b26;--djv5-rule:#cbc0a8;--djv5-night:#1a1915;--djv5-gold:#db8e80}

.dj35-page .dj-entry-hero,.dj36-page .dj-entry-hero,.dj37-page .dj-entry-hero,.dj38-page .dj-entry-hero,.dj39-page .dj-entry-hero{border-bottom:1px solid var(--djv5-rule)}
.dj35-page .dj-entry-title h2,.dj36-page .dj-entry-title h2,.dj37-page .dj-entry-title h2,.dj38-page .dj-entry-title h2,.dj39-page .dj-entry-title h2{max-width:11ch;font-size:clamp(2.8rem,7vw,7.4rem);line-height:.86;letter-spacing:-.055em}
.dj35-page .dj-entry-deck,.dj36-page .dj-entry-deck,.dj37-page .dj-entry-deck,.dj38-page .dj-entry-deck,.dj39-page .dj-entry-deck{max-width:70ch}

.dj35-page .dj35-kicker,.dj36-page .dj36-kicker,.dj37-page .dj37-kicker,.dj38-page .dj38-kicker,.dj39-page .dj39-kicker{color:var(--djv5-red);font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}

.dj35-text-unit,.dj36-text-unit,.dj37-text-unit,.dj38-text-unit,.dj39-text-unit{border-top:1px solid var(--djv5-ink);padding-top:16px}
.dj35-text-unit>header,.dj36-text-unit>header,.dj37-text-unit>header,.dj38-text-unit>header,.dj39-text-unit>header{display:flex;justify-content:space-between;gap:20px;color:var(--djv5-red);font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}
.dj35-text-unit blockquote,.dj36-text-unit blockquote,.dj37-text-unit blockquote,.dj38-text-unit blockquote,.dj39-text-unit blockquote{margin:30px 0 0;padding:0;border:0;font-family:var(--reading-ancient-cjk);font-size:clamp(1.45rem,2.7vw,2.5rem);font-weight:400;line-height:1.65}
.dj35-text-unit .dj-translation,.dj35-text-unit .dj-analysis,.dj36-text-unit .dj-translation,.dj36-text-unit .dj-analysis,.dj37-text-unit .dj-translation,.dj37-text-unit .dj-analysis,.dj38-text-unit .dj-translation,.dj38-text-unit .dj-analysis,.dj39-text-unit .dj-translation,.dj39-text-unit .dj-analysis{margin-top:22px}

.dj35-collation,.dj36-collation,.dj37-collation,.dj38-collation,.dj39-collation{margin-top:58px;padding:30px;border:1px solid var(--djv5-ink);background:var(--djv5-paper)}
.dj35-collation h3,.dj36-collation h3,.dj37-collation h3,.dj38-collation h3,.dj39-collation h3{max-width:16ch;margin:12px 0 26px;font-family:var(--reading-display-latin);font-size:clamp(2.4rem,4.6vw,4.8rem);font-weight:400;line-height:.92;letter-spacing:-.04em}
.dj35-collation-grid,.dj36-collation-grid,.dj37-collation-grid,.dj38-collation-grid,.dj39-collation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--djv5-ink);border:1px solid var(--djv5-ink)}
.dj35-collation-grid article,.dj36-collation-grid article,.dj37-collation-grid article,.dj38-collation-grid article,.dj39-collation-grid article{min-height:210px;padding:20px;background:var(--djv5-paper)}
.dj35-collation-grid b,.dj36-collation-grid b,.dj37-collation-grid b,.dj38-collation-grid b,.dj39-collation-grid b{display:block;font-family:var(--reading-modern-cjk);font-size:1.45rem;font-weight:400}
.dj35-collation-grid span,.dj36-collation-grid span,.dj37-collation-grid span,.dj38-collation-grid span,.dj39-collation-grid span{display:block;margin-top:8px;color:var(--djv5-red);font:700 .75rem/1.25 var(--dj-mono);letter-spacing:.08em}
.dj35-collation-grid p,.dj36-collation-grid p,.dj37-collation-grid p,.dj38-collation-grid p,.dj39-collation-grid p{margin:38px 0 0;color:var(--cl-soft);font-family:var(--dj-serif);font-size:.85rem;line-height:1.58}

.dj35-glossary,.dj36-glossary,.dj37-glossary,.dj38-glossary,.dj39-glossary{display:grid;grid-template-columns:repeat(2,1fr);margin-top:56px;border-top:1px solid var(--djv5-ink);border-left:1px solid var(--djv5-rule)}
.dj35-glossary article,.dj36-glossary article,.dj37-glossary article,.dj38-glossary article,.dj39-glossary article{min-height:132px;padding:18px 20px;border-right:1px solid var(--djv5-rule);border-bottom:1px solid var(--djv5-rule)}
.dj35-glossary b,.dj36-glossary b,.dj37-glossary b,.dj38-glossary b,.dj39-glossary b{font-family:var(--reading-modern-cjk);font-size:1.3rem;font-weight:400}
.dj35-glossary small,.dj36-glossary small,.dj37-glossary small,.dj38-glossary small,.dj39-glossary small{display:block;margin-top:6px;color:var(--djv5-red);font:700 .75rem/1.25 var(--dj-mono);letter-spacing:.08em}
.dj35-glossary p,.dj36-glossary p,.dj37-glossary p,.dj38-glossary p,.dj39-glossary p{margin:14px 0 0;color:var(--cl-soft);font-family:var(--dj-serif);font-size:.84rem;line-height:1.55}

.dj35-exit,.dj36-exit,.dj37-exit,.dj38-exit,.dj39-exit{margin:clamp(74px,9vw,126px) calc(50% - 50vw) 0;padding:clamp(78px,10vw,138px) max(24px,calc((100vw - 1180px)/2));background:linear-gradient(140deg,var(--djv5-night),#11100e);color:#ece5d8}
.dj35-exit small,.dj36-exit small,.dj37-exit small,.dj38-exit small,.dj39-exit small{color:#da8b7e;font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj35-exit strong,.dj36-exit strong,.dj37-exit strong,.dj38-exit strong,.dj39-exit strong{display:block;max-width:13ch;margin:22px 0;font-family:var(--reading-display-latin);font-size:clamp(3rem,7vw,7.4rem);font-weight:400;line-height:.87;letter-spacing:-.05em}
.dj35-exit p,.dj36-exit p,.dj37-exit p,.dj38-exit p,.dj39-exit p{max-width:66ch;color:#c4b79f;font-family:var(--dj-serif);line-height:1.7}
.dj35-exit q,.dj36-exit q,.dj37-exit q,.dj38-exit q,.dj39-exit q{display:block;margin-top:30px;font-family:var(--reading-ancient-cjk);font-size:clamp(1.4rem,2.6vw,2.5rem);font-weight:400;color:#f0eadf}
.dj35-page .dj-v3-entry-nav,.dj36-page .dj-v3-entry-nav,.dj37-page .dj-v3-entry-nav,.dj38-page .dj-v3-entry-nav,.dj39-page .dj-v3-entry-nav{margin-top:0}

/* ============ ENTRY 35 — 會仙酒樓 / the silver standard ============ */
.dj35-source{overflow:hidden;background:var(--djv5-night);color:#e9e1d2}
.dj35-manifest{position:absolute;inset:0;display:grid;grid-template-rows:repeat(4,1fr) auto;padding:7% 8% 11%}
.dj35-manifest article{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border-bottom:1px solid rgba(233,225,210,.22)}
.dj35-manifest b{font-family:var(--reading-modern-cjk);font-size:clamp(1.25rem,2.4vw,2.1rem);font-weight:400}
.dj35-manifest i{font-style:normal;color:#a5977c;font:700 .75rem/1 var(--dj-mono);letter-spacing:.09em}
.dj35-manifest .count{color:#d2c7b2;font:700 .75rem/1 var(--dj-mono);letter-spacing:.06em}
.dj35-manifest .total{border-bottom:0;align-items:baseline}
.dj35-manifest .total b{font-size:clamp(1.7rem,3.4vw,3rem);color:#ddd4c0}
.dj35-manifest .total .count{color:#d0c4ae;font-size:clamp(.9rem,1.6vw,1.2rem);letter-spacing:.04em}
.dj35-standard{padding:clamp(70px,9vw,118px) 0;border-bottom:1px solid var(--djv5-rule)}
.dj35-standard header{max-width:820px}
.dj35-standard h2{margin:13px 0 0;font-family:var(--reading-display-latin);font-size:clamp(2.8rem,5.6vw,5.8rem);font-weight:400;line-height:.9;letter-spacing:-.05em}
.dj35-set{display:grid;margin-top:46px;border-top:1px solid var(--djv5-ink);border-left:1px solid var(--djv5-rule)}
.dj35-set article{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1.1fr) auto;gap:16px;align-items:baseline;padding:18px 16px;border-right:1px solid var(--djv5-rule);border-bottom:1px solid var(--djv5-rule);opacity:.62;transform:translateY(6px);transition:opacity 220ms ease,transform 220ms ease}
.dj35-set article.is-active{opacity:1;transform:none}
.dj35-set .num{color:var(--djv5-red);font:700 .75rem/1 var(--dj-mono)}
.dj35-set b{font-family:var(--reading-modern-cjk);font-size:clamp(1.3rem,2.2vw,2rem);font-weight:400}
.dj35-set p{margin:0;color:var(--cl-soft);font-family:var(--dj-serif);font-size:.84rem;line-height:1.55}
.dj35-set .qty{color:var(--djv5-red);font:700 .75rem/1.4 var(--dj-mono);letter-spacing:.06em;white-space:nowrap}
.dj35-out{margin:0 calc(50% - 50vw);padding:clamp(70px,9vw,116px) max(24px,calc((100vw - 1180px)/2));background:var(--djv5-night);color:#e9e1d2}
.dj35-out header{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:36px;align-items:end}
.dj35-out .dj35-kicker{color:#da8b7e}
.dj35-out h2{max-width:13ch;margin:12px 0 0;font-family:var(--reading-display-latin);font-size:clamp(2.6rem,5.4vw,5.6rem);font-weight:400;line-height:.9;letter-spacing:-.05em}
.dj35-out header p{margin:0;color:#b7aa91;font-family:var(--dj-serif);line-height:1.66}
.dj35-out-list{display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;border-top:1px solid #4d483c;border-left:1px solid #4d483c}
.dj35-out-list article{min-height:150px;padding:18px;border-right:1px solid #4d483c;border-bottom:1px solid #4d483c}
.dj35-out-list b{display:block;font-family:var(--reading-modern-cjk);font-size:clamp(1.4rem,2.4vw,2.2rem);font-weight:400}
.dj35-out-list i{display:block;margin-top:12px;font-style:normal;color:#a3957b;font:700 .75rem/1.4 var(--dj-mono);letter-spacing:.08em}
.dj35-out-list .stamp{display:inline-block;margin-top:16px;padding:5px 8px;border:1px solid rgba(208,196,174,.6);color:#d0c4ae;font:700 .75rem/1 var(--dj-mono);letter-spacing:.08em}

/* ============ ENTRY 36 — 食店 / the order relay ============ */
.dj36-source{overflow:hidden;background:var(--djv5-night);color:#e9e1d2}
.dj36-relay{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch;padding:9% 7% 13%}
.dj36-relay article{position:relative;padding:6% 5% 0 5%;border-left:1px solid rgba(233,225,210,.24)}
.dj36-relay article:first-child{border-left:0}
.dj36-relay article::after{content:"→";position:absolute;right:-7px;top:6%;color:#d98172;font:700 .8rem/1 var(--dj-mono)}
.dj36-relay article:last-child::after{content:""}
.dj36-relay small{display:block;color:#dc9589;font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj36-relay b{display:block;margin-top:14px;font-family:var(--reading-modern-cjk);font-size:clamp(1.2rem,2.2vw,2rem);font-weight:400;line-height:1.1}
.dj36-relay i{display:block;margin-top:10px;font-style:normal;color:#a99b81;font:700 .75rem/1.5 var(--dj-mono);letter-spacing:.08em}
.dj36-houses{padding:clamp(70px,9vw,118px) 0;border-bottom:1px solid var(--djv5-rule)}
.dj36-houses header{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:36px;align-items:end}
.dj36-houses h2{max-width:12ch;margin:12px 0 0;font-family:var(--reading-display-latin);font-size:clamp(2.8rem,5.8vw,6rem);font-weight:400;line-height:.9;letter-spacing:-.05em}
.dj36-houses header p{margin:0;color:var(--cl-soft);font-family:var(--dj-serif);line-height:1.66}
.dj36-house-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:46px;border-top:1px solid var(--djv5-ink);border-left:1px solid var(--djv5-rule)}
.dj36-house-grid article{min-height:300px;padding:20px;border-right:1px solid var(--djv5-rule);border-bottom:1px solid var(--djv5-rule);opacity:.62;transform:translateY(6px);transition:opacity 220ms ease,transform 220ms ease}
.dj36-house-grid article.is-active{opacity:1;transform:none}
.dj36-house-grid small{color:var(--djv5-red);font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}
.dj36-house-grid h3{margin:26px 0 10px;font-family:var(--reading-modern-cjk);font-size:clamp(1.5rem,2.6vw,2.5rem);font-weight:400;line-height:1.05}
.dj36-house-grid p{margin:0;color:var(--cl-soft);font-family:var(--dj-serif);font-size:.84rem;line-height:1.55}
.dj36-house-grid .menu{display:block;margin-top:18px;padding-top:12px;border-top:1px solid var(--djv5-rule);color:#615a4a;font:700 .75rem/1.5 var(--dj-mono);letter-spacing:.06em}
.dj36-house-grid .menu i{font-style:normal;font-family:var(--reading-modern-cjk);font-size:.9rem;font-weight:400;letter-spacing:0}
.dj36-house-grid article.is-special{background:var(--djv5-night);color:#dfd5c3}
.dj36-house-grid article.is-special p{color:#afa287}
.dj36-house-grid article.is-special small{color:#da8b7e}
.dj36-house-grid article.is-special .menu{color:#b9ac93;border-top-color:#575143}
.dj36-relayfull{margin:0 calc(50% - 50vw);padding:clamp(70px,9vw,116px) max(24px,calc((100vw - 1180px)/2));background:var(--djv5-night);color:#e9e1d2}
.dj36-relayfull header{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:36px;align-items:end}
.dj36-relayfull .dj36-kicker{color:#dc9589}
.dj36-relayfull h2{max-width:12ch;margin:12px 0 0;font-family:var(--reading-display-latin);font-size:clamp(2.6rem,5.4vw,5.6rem);font-weight:400;line-height:.9;letter-spacing:-.05em}
.dj36-relayfull header p{margin:0;color:#b9ac93;font-family:var(--dj-serif);line-height:1.66}
.dj36-steps{margin-top:46px;border-top:1px solid #575143}
.dj36-steps article{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(240px,.9fr);gap:20px;align-items:baseline;padding:20px 4px;border-bottom:1px solid #575143;opacity:.62;transform:translateY(6px);transition:opacity 220ms ease,transform 220ms ease}
.dj36-steps article.is-active{opacity:1;transform:none}
.dj36-steps .num{color:#de9a8f;font:700 .75rem/1 var(--dj-mono)}
.dj36-steps b{font-family:var(--reading-modern-cjk);font-size:clamp(1.25rem,2.2vw,2rem);font-weight:400}
.dj36-steps small{display:block;margin-top:8px;color:#ad9f85;font:700 .75rem/1.3 var(--dj-mono);letter-spacing:.08em}
.dj36-steps p{margin:0;color:#c1b59c;font-family:var(--dj-serif);font-size:.88rem;line-height:1.6}
.dj36-carry{display:grid;grid-template-columns:repeat(3,1fr);margin-top:44px;border-top:1px solid #575143;border-left:1px solid #575143}
.dj36-carry article{padding:22px 20px 26px;border-right:1px solid #575143;border-bottom:1px solid #575143}
.dj36-carry .big{display:block;font-family:var(--reading-display-latin);font-size:clamp(3.4rem,7vw,6.4rem);font-weight:400;line-height:.8;letter-spacing:-.05em;color:#e5dccc}
.dj36-carry small{display:block;margin-top:12px;color:#dc9589;font:700 .75rem/1.3 var(--dj-mono);letter-spacing:.09em}
.dj36-carry p{margin:12px 0 0;color:#b4a78e;font-family:var(--dj-serif);font-size:.84rem;line-height:1.55}

/* ============ ENTRY 37 — 肉行 / cut to order ============ */
.dj37-source{overflow:hidden;background:var(--djv5-paper);color:var(--djv5-ink)}
.dj37-blades{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);padding:12% 7% 15%}
.dj37-blades article{position:relative;padding:0 8%;border-left:1px solid rgba(22,21,17,.34)}
.dj37-blades article:first-child{border-left:0}
.dj37-blades small{display:block;color:var(--djv5-red);font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj37-blades b{display:block;margin-top:12px;font-family:var(--reading-modern-cjk);font-size:clamp(1.9rem,3.6vw,3.6rem);font-weight:400;line-height:1}
.dj37-blades i{display:block;margin-top:12px;font-style:normal;color:#6e6654;font:700 .75rem/1.5 var(--dj-mono);letter-spacing:.08em}
.dj37-cuts{padding:clamp(70px,9vw,118px) 0;border-bottom:1px solid var(--djv5-rule)}
.dj37-cuts header{max-width:820px}
.dj37-cuts h2{margin:13px 0 0;font-family:var(--reading-display-latin);font-size:clamp(2.8rem,5.6vw,5.8rem);font-weight:400;line-height:.9;letter-spacing:-.05em}
.dj37-specimens{display:grid;grid-template-columns:repeat(4,1fr);margin-top:46px;border-top:1px solid var(--djv5-ink);border-left:1px solid var(--djv5-rule)}
.dj37-specimens article{min-height:280px;padding:22px 20px;border-right:1px solid var(--djv5-rule);border-bottom:1px solid var(--djv5-rule);opacity:.62;transform:translateY(6px);transition:opacity 220ms ease,transform 220ms ease}
.dj37-specimens article.is-active{opacity:1;transform:none}
.dj37-specimens small{color:var(--djv5-red);font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}
.dj37-specimens h3{margin:30px 0 8px;font-family:var(--reading-modern-cjk);font-size:clamp(2rem,3.6vw,3.4rem);font-weight:400;line-height:1}
.dj37-specimens p{margin:0;color:var(--cl-soft);font-family:var(--dj-serif);font-size:.85rem;line-height:1.58}
.dj37-specimens .duty{display:block;margin-top:20px;padding-top:12px;border-top:1px solid var(--djv5-rule);color:#6e6654;font:700 .75rem/1.4 var(--dj-mono);letter-spacing:.07em}
.dj37-stall{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0 calc(50% - 50vw);background:var(--djv5-night);color:#ece6d8}
.dj37-stall article{min-height:250px;padding:clamp(26px,4vw,44px);background:var(--djv5-night)}
.dj37-stall .dj37-kicker{color:#dc9589}
.dj37-stall small{display:block;color:#dc9589;font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj37-stall h3{margin:20px 0 0;font-family:var(--reading-modern-cjk);font-size:clamp(1.7rem,3vw,3rem);font-weight:400}
.dj37-stall p{margin:18px 0 0;max-width:46ch;color:#b6aa90;font-family:var(--dj-serif);font-size:.9rem;line-height:1.62}
.dj37-stall b{display:block;margin-top:26px;color:#d4cab4;font:700 .75rem/1.3 var(--dj-mono);letter-spacing:.09em}

/* ============ ENTRY 38 — 餅店 / fifty ovens ============ */
.dj38-source{overflow:hidden;background:var(--djv5-night);color:#ebe3d5}
.dj38-hearth{position:absolute;inset:0;display:grid;grid-template-rows:1fr auto auto;padding:8% 8% 12%}
.dj38-hearth .classes{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(235,227,213,.3);border:1px solid rgba(235,227,213,.3)}
.dj38-hearth .classes article{background:var(--djv5-night);padding:20px 22px}
.dj38-hearth .classes small{color:#dc9589;font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj38-hearth .classes b{display:block;margin-top:10px;font-family:var(--reading-modern-cjk);font-size:clamp(1.3rem,2.4vw,2.1rem);font-weight:400}
.dj38-hearth .classes i{display:block;margin-top:8px;font-style:normal;color:#a99b81;font:700 .75rem/1.5 var(--dj-mono);letter-spacing:.07em}
.dj38-hearth .line{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:center}
.dj38-hearth .line span{color:#b8ac92;font:700 .75rem/1.4 var(--dj-mono);letter-spacing:.09em}
.dj38-hearth .count{display:block;border-top:1px solid rgba(235,227,213,.24);padding-top:12px}
.dj38-hearth .count b{display:block;font-family:var(--reading-display-latin);font-size:clamp(2.6rem,5.6vw,5rem);font-weight:400;line-height:.85;letter-spacing:-.05em;color:#ddd4c1}
.dj38-hearth .count i{display:block;margin-top:10px;font-style:normal;color:#a99b81;font:700 .75rem/1.4 var(--dj-mono);letter-spacing:.08em}
.dj38-classes{padding:clamp(70px,9vw,118px) 0;border-bottom:1px solid var(--djv5-rule)}
.dj38-classes header{max-width:820px}
.dj38-classes h2{margin:13px 0 0;font-family:var(--reading-display-latin);font-size:clamp(2.8rem,5.6vw,5.8rem);font-weight:400;line-height:.9;letter-spacing:-.05em}
.dj38-class-grid{display:grid;grid-template-columns:1fr 1.4fr;margin-top:46px;border-top:1px solid var(--djv5-ink);border-left:1px solid var(--djv5-rule)}
.dj38-class-grid article{min-height:280px;padding:22px 20px;border-right:1px solid var(--djv5-rule);border-bottom:1px solid var(--djv5-rule)}
.dj38-class-grid small{color:var(--djv5-red);font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}
.dj38-class-grid h3{margin:26px 0 8px;font-family:var(--reading-modern-cjk);font-size:clamp(1.7rem,3vw,2.8rem);font-weight:400;line-height:1.05}
.dj38-class-grid p{margin:0;color:var(--cl-soft);font-family:var(--dj-serif);font-size:.85rem;line-height:1.56}
.dj38-class-grid .goods{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.dj38-class-grid .goods span{padding:8px 12px;border:1px solid var(--djv5-rule);font-family:var(--reading-modern-cjk);font-size:1.02rem}
.dj38-line{margin:0 calc(50% - 50vw);padding:clamp(70px,9vw,116px) max(24px,calc((100vw - 1180px)/2));background:var(--djv5-night);color:#ebe3d5}
.dj38-line header{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:36px;align-items:end}
.dj38-line .dj38-kicker{color:#dc9589}
.dj38-line h2{max-width:13ch;margin:12px 0 0;font-family:var(--reading-display-latin);font-size:clamp(2.6rem,5.4vw,5.6rem);font-weight:400;line-height:.9;letter-spacing:-.05em}
.dj38-line header p{margin:0;color:#b9ac93;font-family:var(--dj-serif);line-height:1.66}
.dj38-steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:46px;border-top:1px solid #575143;border-left:1px solid #575143}
.dj38-steps article{min-height:210px;padding:22px 20px;border-right:1px solid #575143;border-bottom:1px solid #575143;opacity:.62;transform:translateY(6px);transition:opacity 220ms ease,transform 220ms ease}
.dj38-steps article.is-active{opacity:1;transform:none}
.dj38-steps small{color:#dc9589;font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}
.dj38-steps h3{margin:28px 0 8px;font-family:var(--reading-modern-cjk);font-size:clamp(1.7rem,3vw,2.8rem);font-weight:400}
.dj38-steps p{margin:0;color:#b4a78e;font-family:var(--dj-serif);font-size:.86rem;line-height:1.58}
.dj38-band{margin-top:44px;padding:26px 24px;border:1px solid #575143;background:repeating-linear-gradient(90deg,rgba(235,227,213,.13) 0 2px,transparent 2px 26px)}
.dj38-band p{margin:0;max-width:52ch;color:#c6baa1;font-family:var(--dj-serif);font-size:.92rem;line-height:1.6}
.dj38-band b{display:block;margin-top:12px;color:#ddd4c1;font:700 .75rem/1.4 var(--dj-mono);letter-spacing:.09em}
.dj38-champions{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:44px;background:#575143;border:1px solid #575143}
.dj38-champions article{padding:26px 24px;background:var(--djv5-night)}
.dj38-champions small{color:#dc9589;font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}
.dj38-champions h3{margin:16px 0 0;font-family:var(--reading-modern-cjk);font-size:clamp(1.5rem,2.8vw,2.6rem);font-weight:400;line-height:1.1}
.dj38-champions .ovens{display:block;margin-top:18px;font-family:var(--reading-display-latin);font-size:clamp(3.2rem,6.6vw,6rem);font-weight:400;line-height:.82;letter-spacing:-.05em;color:#ddd4c1}
.dj38-champions i{display:block;margin-top:12px;font-style:normal;color:#a99b81;font:700 .75rem/1.4 var(--dj-mono);letter-spacing:.08em}

/* ============ ENTRY 39 — 魚行 / the fish gates ============ */
.dj39-source{overflow:hidden;background:var(--djv5-night);color:#eee7db}
.dj39-gates{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr auto;padding:9% 7% 10%}
.dj39-gates article{position:relative;padding:8% 8% 0;border-left:1px solid rgba(238,231,219,.26)}
.dj39-gates article:first-child{border-left:0}
.dj39-gates article::before{content:"";position:absolute;left:0;right:0;bottom:-10%;height:26%;background:repeating-linear-gradient(180deg,rgba(219,142,128,.35) 0 1px,transparent 1px 12px)}
.dj39-gates small{display:block;color:#e0a399;font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj39-gates b{display:block;margin-top:14px;font-family:var(--reading-modern-cjk);font-size:clamp(1.5rem,3vw,2.8rem);font-weight:400;line-height:1.05}
.dj39-total{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-top:1px solid rgba(238,231,219,.26);margin-top:12%;padding-top:12px}
.dj39-total b{font-family:var(--reading-display-latin);font-size:clamp(2.2rem,4.6vw,4.2rem);font-weight:400;line-height:.9;letter-spacing:-.04em;color:#ebe3d5}
.dj39-total i{font-style:normal;color:#e0a399;font:700 .75rem/1.4 var(--dj-mono);letter-spacing:.08em;text-align:right}
.dj39-morning{padding:clamp(70px,9vw,118px) 0;border-bottom:1px solid var(--djv5-rule)}
.dj39-morning header{max-width:820px}
.dj39-morning h2{margin:13px 0 0;font-family:var(--reading-display-latin);font-size:clamp(2.8rem,5.6vw,5.8rem);font-weight:400;line-height:.9;letter-spacing:-.05em}
.dj39-gate-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:46px;border-top:1px solid var(--djv5-ink);border-left:1px solid var(--djv5-rule)}
.dj39-gate-grid article{min-height:230px;padding:20px;border-right:1px solid var(--djv5-rule);border-bottom:1px solid var(--djv5-rule)}
.dj39-gate-grid small{color:var(--djv5-red);font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}
.dj39-gate-grid h3{margin:28px 0 8px;font-family:var(--reading-modern-cjk);font-size:clamp(1.6rem,2.9vw,2.7rem);font-weight:400;line-height:1.05}
.dj39-gate-grid p{margin:0;color:var(--cl-soft);font-family:var(--dj-serif);font-size:.85rem;line-height:1.56}
.dj39-bucket{margin:0 calc(50% - 50vw);padding:clamp(70px,9vw,116px) max(24px,calc((100vw - 1180px)/2));background:var(--djv5-night);color:#eee7db}
.dj39-bucket header{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:36px;align-items:end}
.dj39-bucket .dj39-kicker{color:#e0a399}
.dj39-bucket h2{max-width:12ch;margin:12px 0 0;font-family:var(--reading-display-latin);font-size:clamp(2.6rem,5.4vw,5.6rem);font-weight:400;line-height:.9;letter-spacing:-.05em}
.dj39-bucket header p{margin:0;color:#bfb39a;font-family:var(--dj-serif);line-height:1.66}
.dj39-bucket-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:46px;border-top:1px solid #534d40;border-left:1px solid #534d40}
.dj39-bucket-grid article{min-height:210px;padding:22px 20px;border-right:1px solid #534d40;border-bottom:1px solid #534d40}
.dj39-bucket-grid small{color:#e0a399;font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}
.dj39-bucket-grid b{display:block;margin-top:22px;font-family:var(--reading-modern-cjk);font-size:clamp(1.5rem,2.8vw,2.6rem);font-weight:400;line-height:1.05}
.dj39-bucket-grid p{margin:14px 0 0;color:#baae94;font-family:var(--dj-serif);font-size:.85rem;line-height:1.56}
.dj39-winter{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:48px;align-items:center;padding:clamp(70px,9vw,116px) 0}
.dj39-winter .price{font-family:var(--reading-display-latin);font-size:clamp(4.6rem,10vw,9.4rem);font-weight:400;line-height:.8;letter-spacing:-.06em;color:var(--djv5-ink)}
.dj39-winter .price small{display:block;margin-top:16px;color:var(--djv5-red);font:700 .75rem/1.3 var(--dj-mono);letter-spacing:.1em}
.dj39-winter h2{margin:0 0 16px;font-family:var(--reading-display-latin);font-size:clamp(2.4rem,4.8vw,4.8rem);font-weight:400;line-height:.9;letter-spacing:-.05em}
.dj39-winter p{max-width:58ch;margin:0;color:var(--cl-soft);font-family:var(--dj-serif);line-height:1.68}

/* ---- responsive ---- */
@media(max-width:980px){
  .dj35-collation-grid,.dj36-collation-grid,.dj37-collation-grid,.dj38-collation-grid,.dj39-collation-grid{grid-template-columns:1fr 1fr}
  .dj35-set article{grid-template-columns:44px minmax(0,1fr) auto}
  .dj35-set p{grid-column:2/-1}
  .dj35-out-list{grid-template-columns:1fr 1fr}
  .dj36-relay{grid-template-columns:1fr 1fr;gap:18px 0}
  .dj36-relay article:nth-child(3){border-left:0}
  .dj36-relay article:nth-child(3)::after{content:"→"}
  .dj36-house-grid{grid-template-columns:1fr 1fr}
  .dj36-carry{grid-template-columns:1fr}
  .dj37-blades{grid-template-columns:1fr 1fr;gap:26px 0}
  .dj37-blades article:nth-child(3){border-left:0}
  .dj37-specimens{grid-template-columns:1fr 1fr}
  .dj37-stall{grid-template-columns:1fr}
  .dj38-hearth .classes{grid-template-columns:1fr}
  .dj38-class-grid{grid-template-columns:1fr}
  .dj38-steps{grid-template-columns:1fr}
  .dj39-winter{grid-template-columns:1fr}
  .dj39-gate-grid{grid-template-columns:1fr}
  .dj39-gates{grid-template-columns:1fr;grid-template-rows:auto auto auto auto}
  .dj39-gates article{padding:9% 8% 6%;border-left:0;border-top:1px solid rgba(238,231,219,.26)}
  .dj39-gates article:first-child{border-top:0}
  .dj39-gates article::before{bottom:auto;top:0;height:4px;background:repeating-linear-gradient(90deg,rgba(219,142,128,.4) 0 1px,transparent 1px 12px)}
  .dj39-total{margin-top:4%}
}
@media(max-width:680px){
  .dj35-text-unit>header,.dj36-text-unit>header,.dj37-text-unit>header,.dj38-text-unit>header,.dj39-text-unit>header{flex-direction:column;gap:5px}
  .dj35-glossary,.dj36-glossary,.dj37-glossary,.dj38-glossary,.dj39-glossary{grid-template-columns:1fr}
  .dj35-collation-grid,.dj36-collation-grid,.dj37-collation-grid,.dj38-collation-grid,.dj39-collation-grid{grid-template-columns:1fr}
  .dj35-manifest{grid-template-rows:repeat(4,1fr) auto;padding:9% 9% 9%}
  .dj35-manifest article{grid-template-columns:1fr}
  .dj35-manifest i{display:none}
  .dj35-manifest .total{align-items:start}
  .dj35-set article{grid-template-columns:44px minmax(0,1fr)}
  .dj35-set .qty{grid-column:2}
  .dj35-out header,.dj36-houses header,.dj36-relayfull header,.dj38-line header,.dj39-bucket header{grid-template-columns:1fr}
  .dj35-out-list{grid-template-columns:1fr}
  .dj36-relay{grid-template-columns:1fr}
  .dj36-relay article{border-left:0;border-top:1px solid rgba(233,225,210,.24);padding:16px 0 4px}
  .dj36-relay article:first-child{border-top:0}
  .dj36-relay article::after{content:"↓";left:0;right:auto;top:auto;bottom:-9px}
  .dj36-house-grid{grid-template-columns:1fr}
  .dj36-steps article{grid-template-columns:36px 1fr;align-items:start}
  .dj36-steps p{grid-column:1/-1}
  .dj37-blades{grid-template-columns:1fr 1fr;padding:10% 8% 12%}
  .dj37-specimens{grid-template-columns:1fr}
  .dj38-hearth .line{grid-template-columns:1fr;gap:8px}
  .dj38-champions{grid-template-columns:1fr}
  .dj39-gates b{font-size:clamp(1.3rem,6vw,1.9rem)}
}
@media(prefers-reduced-motion:reduce){
  .dj35-set article,.dj36-house-grid article,.dj36-steps article,.dj37-specimens article,.dj38-steps article{transition:none!important;opacity:1;transform:none}
}
