/* Dongjing Meng Hua Lu — Volume IV / Entries 31–34
   Four pages, one family: court vehicle ladder (31), funeral/mobility price board (32),
   morning hiring pool (33), banquet service contract (34).
   All rules are scoped to these entry namespaces. Global site CSS is untouched. */

.dj31-page,.dj32-page,.dj33-page,.dj34-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}
.dj31-page :where(:lang(zh-Hans),:lang(zh-Hant)),.dj32-page :where(:lang(zh-Hans),:lang(zh-Hant)),.dj33-page :where(:lang(zh-Hans),:lang(zh-Hant)),.dj34-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 ---- */
.dj31-page,.dj32-page,.dj33-page,.dj34-page{--djv4-ink:#161511;--djv4-paper:#ece5d8;--djv4-red:#b63b25;--djv4-rule:#c9bea6;--djv4-night:#1a1915;--djv4-gold:#93856a}
.dj31-page{--djv4-ink:#161511;--djv4-paper:#ece6d8;--djv4-red:#b53b25;--djv4-rule:#c8bca5;--djv4-night:#1a1915;--djv4-gold:#93856a}
.dj32-page{--djv4-ink:#1b1a16;--djv4-paper:#f1ebdf;--djv4-red:#a83622;--djv4-rule:#c9bea6;--djv4-night:#23201b;--djv4-gold:#9b8d72}
.dj33-page{--djv4-ink:#1e1b17;--djv4-paper:#f0eadd;--djv4-red:#b63b25;--djv4-rule:#cbc0a8;--djv4-night:#191714;--djv4-gold:#9b8e73}
.dj34-page{--djv4-ink:#201d19;--djv4-paper:#ede7d9;--djv4-red:#b83b26;--djv4-rule:#c8bca5;--djv4-night:#191714;--djv4-gold:#9a8c71}

.dj31-page .dj-entry-hero,.dj32-page .dj-entry-hero,.dj33-page .dj-entry-hero,.dj34-page .dj-entry-hero{border-bottom:1px solid var(--djv4-rule)}
.dj31-page .dj-entry-title h2,.dj32-page .dj-entry-title h2,.dj33-page .dj-entry-title h2,.dj34-page .dj-entry-title h2{max-width:11ch;font-size:clamp(2.8rem,7vw,7.4rem);line-height:.86;letter-spacing:-.055em}
.dj31-page .dj-entry-deck,.dj32-page .dj-entry-deck,.dj33-page .dj-entry-deck,.dj34-page .dj-entry-deck{max-width:70ch}

.dj31-page .dj31-kicker,.dj32-page .dj32-kicker,.dj33-page .dj33-kicker,.dj34-page .dj34-kicker{color:var(--djv4-red);font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}

.dj31-text-unit,.dj32-text-unit,.dj33-text-unit,.dj34-text-unit{border-top:1px solid var(--djv4-ink);padding-top:16px}
.dj31-text-unit>header,.dj32-text-unit>header,.dj33-text-unit>header,.dj34-text-unit>header{display:flex;justify-content:space-between;gap:20px;color:var(--djv4-red);font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}
.dj31-text-unit blockquote,.dj32-text-unit blockquote,.dj33-text-unit blockquote,.dj34-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}
.dj31-text-unit .dj-translation,.dj31-text-unit .dj-analysis,.dj32-text-unit .dj-translation,.dj32-text-unit .dj-analysis,.dj33-text-unit .dj-translation,.dj33-text-unit .dj-analysis,.dj34-text-unit .dj-translation,.dj34-text-unit .dj-analysis{margin-top:22px}

.dj31-collation,.dj32-collation,.dj33-collation,.dj34-collation{margin-top:58px;padding:30px;border:1px solid var(--djv4-ink);background:var(--djv4-paper)}
.dj31-collation h3,.dj32-collation h3,.dj33-collation h3,.dj34-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}
.dj31-collation-grid,.dj32-collation-grid,.dj33-collation-grid,.dj34-collation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--djv4-ink);border:1px solid var(--djv4-ink)}
.dj31-collation-grid article,.dj32-collation-grid article,.dj33-collation-grid article,.dj34-collation-grid article{min-height:210px;padding:20px;background:var(--djv4-paper)}
.dj31-collation-grid b,.dj32-collation-grid b,.dj33-collation-grid b,.dj34-collation-grid b{display:block;font-family:var(--reading-modern-cjk);font-size:1.45rem;font-weight:400}
.dj31-collation-grid span,.dj32-collation-grid span,.dj33-collation-grid span,.dj34-collation-grid span{display:block;margin-top:8px;color:var(--djv4-red);font:700 .75rem/1.25 var(--dj-mono);letter-spacing:.08em}
.dj31-collation-grid p,.dj32-collation-grid p,.dj33-collation-grid p,.dj34-collation-grid p{margin:38px 0 0;color:var(--cl-soft);font-family:var(--dj-serif);font-size:.85rem;line-height:1.58}

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

.dj31-exit,.dj32-exit,.dj33-exit,.dj34-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(--djv4-night),#11100e);color:#ece5d8}
.dj31-exit small,.dj32-exit small,.dj33-exit small,.dj34-exit small{color:#da8b7e;font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj31-exit strong,.dj32-exit strong,.dj33-exit strong,.dj34-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}
.dj31-exit p,.dj32-exit p,.dj33-exit p,.dj34-exit p{max-width:66ch;color:#c4b79f;font-family:var(--dj-serif);line-height:1.7}
.dj31-exit q,.dj32-exit q,.dj33-exit q,.dj34-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}
.dj31-page .dj-v3-entry-nav,.dj32-page .dj-v3-entry-nav,.dj33-page .dj-v3-entry-nav,.dj34-page .dj-v3-entry-nav{margin-top:0}

/* ============ ENTRY 31 — 皇后出乘輿 / vehicle ladder ============ */
.dj31-source{overflow:hidden;background:var(--djv4-night);color:#e8e1d1}
.dj31-ladder{position:absolute;inset:0;display:grid;grid-template-rows:repeat(3,1fr);padding:7% 8% 13%}
.dj31-ladder article{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;border-bottom:1px solid rgba(232,225,209,.22)}
.dj31-ladder small{color:#d77b6b;font:700 .75rem/1 var(--dj-mono)}
.dj31-ladder b{font-family:var(--reading-modern-cjk);font-size:clamp(1.3rem,2.4vw,2.2rem);font-weight:400}
.dj31-ladder i{font-style:normal;color:#a3957b;font:700 .75rem/1 var(--dj-mono);letter-spacing:.09em}
.dj31-ladder .t1{background:linear-gradient(90deg,rgba(147,133,106,.16),transparent)}
.dj31-ladder .t2{background:linear-gradient(90deg,rgba(181,59,37,.1),transparent)}
.dj31-ladder .t3{background:linear-gradient(90deg,rgba(117,108,88,.12),transparent)}
.dj31-ladder .rent{border:1px solid rgba(147,133,106,.5);padding:5px 8px;color:#d0c4ae;font:700 .75rem/1 var(--dj-mono);letter-spacing:.08em}
.dj31-rank{padding:clamp(70px,9vw,120px) 0;border-bottom:1px solid var(--djv4-rule)}
.dj31-rank header{max-width:820px}
.dj31-rank 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}
.dj31-tiers{display:grid;grid-template-columns:repeat(3,1fr);margin-top:46px;border-top:1px solid var(--djv4-ink);border-left:1px solid var(--djv4-rule)}
.dj31-tiers article{min-height:300px;padding:20px;border-right:1px solid var(--djv4-rule);border-bottom:1px solid var(--djv4-rule);opacity:.62;transform:translateY(6px);transition:opacity 220ms ease,transform 220ms ease,background-color 220ms ease}
.dj31-tiers article.is-active{opacity:1;transform:none}
.dj31-tiers .is-top{background:var(--djv4-night);color:#ebe4d6}
.dj31-tiers .is-top p,.dj31-tiers .is-top .dj31-tier-row{color:#ccc0a9}
.dj31-tiers small{color:var(--djv4-red);font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}
.dj31-tiers h3{margin:22px 0 4px;font-family:var(--reading-modern-cjk);font-size:clamp(2rem,3.6vw,3.6rem);font-weight:400;line-height:.95}
.dj31-tiers p{margin:0 0 22px;color:var(--cl-soft);font-family:var(--dj-serif);font-size:.86rem;line-height:1.58}
.dj31-tier-row{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:9px 0;border-top:1px solid var(--djv4-rule);font-size:.8rem}
.dj31-tier-row b{color:#9f3320;font:700 .75rem/1.3 var(--dj-mono);letter-spacing:.08em}
.dj31-tier-row span{font-family:var(--reading-modern-cjk);font-size:.92rem}
.dj31-tier-row span i{font-style:normal;font-family:var(--dj-serif);font-size:.78rem;color:#595244}
.dj31-tiers .is-top small{color:#da8b7e}
.dj31-tiers .is-top p{color:#c8bca5}
.dj31-tiers .is-top .dj31-tier-row b{color:#da8b7e}
.dj31-tiers .is-top .dj31-tier-row span i{color:#b7ab91}
.dj31-absence{margin:0 calc(50% - 50vw);padding:clamp(70px,9vw,116px) max(24px,calc((100vw - 1180px)/2));background:#201d19;color:#ebe4d6}
.dj31-absence header{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:36px;align-items:end}
.dj31-absence .dj31-kicker{color:#da8b7e}
.dj31-absence 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}
.dj31-absence header p{margin:0;color:#b6aa90;font-family:var(--dj-serif);line-height:1.66}
.dj31-absence-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:44px;border-top:1px solid #4b463a;border-left:1px solid #4b463a}
.dj31-absence-grid article{min-height:190px;padding:20px;border-right:1px solid #4b463a;border-bottom:1px solid #4b463a}
.dj31-absence-grid b{display:block;font-family:var(--reading-modern-cjk);font-size:clamp(1.7rem,3vw,3rem);font-weight:400}
.dj31-absence-grid small{display:block;margin-top:10px;color:#dc9589;font:700 .75rem/1.25 var(--dj-mono);letter-spacing:.09em}
.dj31-absence-grid p{margin:34px 0 0;color:#b9ad94;font-family:var(--dj-serif);font-size:.86rem;line-height:1.58}

/* ============ ENTRY 32 — 雜賃 / price board ============ */
.dj32-source{overflow:hidden;background:#e4dbca;color:#1b1a16}
.dj32-board{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;padding:8% 7% 14%;gap:1px;background:#c8bda5}
.dj32-board article{background:#f2ede3;padding:9% 8%;display:flex;flex-direction:column}
.dj32-board small{color:var(--djv4-red);font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj32-board h3{margin:16px 0 0;font-family:var(--reading-modern-cjk);font-size:clamp(1.6rem,3vw,2.8rem);font-weight:400}
.dj32-board .rows{display:grid;margin-top:auto;border-top:1px solid #1b1a16}
.dj32-board .rows span{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--djv4-rule);font-family:var(--reading-modern-cjk);font-size:1rem}
.dj32-board .rows i{font-style:normal;color:var(--djv4-red);font:700 .75rem/1 var(--dj-mono);letter-spacing:.08em}
.dj32-board .big{display:block;margin-top:26px;font-family:var(--reading-display-latin);font-size:clamp(5rem,10vw,9rem);font-weight:400;line-height:.8;letter-spacing:-.05em}
.dj32-board .cap{display:block;margin-top:10px;color:#565043;font:700 .75rem/1.3 var(--dj-mono);letter-spacing:.09em}
.dj32-tariff{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:48px;padding:clamp(72px,9vw,120px) 0;border-bottom:1px solid var(--djv4-rule)}
.dj32-tariff h2{max-width:11ch;margin:12px 0 16px;font-family:var(--reading-display-latin);font-size:clamp(2.8rem,5.8vw,6rem);font-weight:400;line-height:.9;letter-spacing:-.05em}
.dj32-tariff p{max-width:55ch;color:var(--cl-soft);font-family:var(--dj-serif);line-height:1.68}
.dj32-tariff-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--djv4-ink);border-left:1px solid var(--djv4-rule)}
.dj32-tariff-grid article{min-height:170px;padding:20px;border-right:1px solid var(--djv4-rule);border-bottom:1px solid var(--djv4-rule)}
.dj32-tariff-grid b{display:block;font-family:var(--reading-modern-cjk);font-size:clamp(1.6rem,3vw,2.8rem);font-weight:400}
.dj32-tariff-grid small{display:block;margin-top:8px;color:var(--djv4-red);font:700 .75rem/1.25 var(--dj-mono);letter-spacing:.08em}
.dj32-tariff-grid p{margin:26px 0 0;color:var(--cl-soft);font-family:var(--dj-serif);font-size:.85rem;line-height:1.56}
.dj32-tariff-grid .stamp{display:inline-block;margin-top:18px;padding:5px 8px;border:1px solid var(--djv4-red);color:var(--djv4-red);font:700 .75rem/1 var(--dj-mono);letter-spacing:.08em}
.dj32-ceiling{margin:0 calc(50% - 50vw);padding:clamp(70px,9vw,118px) max(24px,calc((100vw - 1180px)/2));background:var(--djv4-night);color:#ede7d9}
.dj32-ceiling-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:56px;align-items:center}
.dj32-ceiling .hundred{font-family:var(--reading-display-latin);font-size:clamp(7rem,16vw,15rem);font-weight:400;line-height:.72;letter-spacing:-.07em;color:#e5dccc}
.dj32-ceiling .hundred small{display:block;margin-top:18px;color:#de9a8f;font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj32-ceiling .dj32-kicker{color:#da8b7e}
.dj32-ceiling h2{margin:12px 0 18px;font-family:var(--reading-display-latin);font-size:clamp(2.6rem,5.2vw,5.2rem);font-weight:400;line-height:.9;letter-spacing:-.05em}
.dj32-ceiling p{max-width:60ch;margin:0;color:#bbaf96;font-family:var(--dj-serif);line-height:1.7}
.dj32-ceiling a{color:#d4cab4;text-decoration:underline;text-underline-offset:3px}
.dj32-ceiling a:hover{color:#ebe3d5}

/* ============ ENTRY 33 — 修整雜貨及齋僧請道 / morning pool ============ */
.dj33-source{overflow:hidden;background:linear-gradient(180deg,#2e2a24 0%,#4a4439 55%,#211f1a 100%);color:#e9e1d2}
.dj33-skyline{position:absolute;inset:0}
.dj33-bridge{position:absolute;left:6%;right:6%;bottom:20%;height:34%;border-top:1px solid rgba(233,225,210,.5);border-radius:50% 50% 0 0}
.dj33-stand{position:absolute;bottom:21%;display:grid;grid-template-columns:repeat(12,1fr);gap:5px;left:12%;right:12%}
.dj33-stand span{height:34px;background:rgba(233,225,210,.55)}
.dj33-stand span:nth-child(4n){height:44px}.dj33-stand span:nth-child(7n){background:rgba(217,129,114,.5)}
.dj33-pool-label{position:absolute;left:7%;top:10%;color:#de9c90;font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj33-pool-term{position:absolute;left:7%;bottom:11%;font-family:var(--reading-modern-cjk);font-size:clamp(2.2rem,5.4vw,5.6rem);font-weight:400;color:#eee7da}
.dj33-needs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;padding:clamp(70px,9vw,116px) 0;border-bottom:1px solid var(--djv4-rule);background:var(--djv4-ink)}
.dj33-needs article{min-height:240px;padding:clamp(24px,4vw,40px);background:var(--djv4-paper)}
.dj33-needs small{color:var(--djv4-red);font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj33-needs h3{margin:22px 0 0;font-family:var(--reading-modern-cjk);font-size:clamp(1.9rem,3.4vw,3.4rem);font-weight:400;line-height:1}
.dj33-needs p{margin:22px 0 0;max-width:46ch;color:var(--cl-soft);font-family:var(--dj-serif);font-size:.92rem;line-height:1.62}
.dj33-pool{padding:clamp(72px,9vw,120px) 0;border-bottom:1px solid var(--djv4-rule)}
.dj33-pool header{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:36px;align-items:end}
.dj33-pool h2{max-width:13ch;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}
.dj33-pool header p{margin:0;color:var(--cl-soft);font-family:var(--dj-serif);line-height:1.66}
.dj33-roster{display:grid;grid-template-columns:repeat(4,1fr);margin-top:46px;border-top:1px solid var(--djv4-ink);border-left:1px solid var(--djv4-rule)}
.dj33-roster article{min-height:250px;padding:20px;border-right:1px solid var(--djv4-rule);border-bottom:1px solid var(--djv4-rule)}
.dj33-roster small{color:var(--djv4-red);font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}
.dj33-roster h3{margin:34px 0 10px;font-family:var(--reading-modern-cjk);font-size:clamp(1.5rem,2.6vw,2.5rem);font-weight:400;line-height:1.05}
.dj33-roster p{margin:0;color:var(--cl-soft);font-family:var(--dj-serif);font-size:.85rem;line-height:1.56}
.dj33-roster .hire{margin-top:24px;padding:7px 9px;border:1px solid var(--djv4-rule);color:#615a4a;font:700 .75rem/1.3 var(--dj-mono);letter-spacing:.08em}
.dj33-roster article.is-hire .hire{border-color:var(--djv4-red);color:var(--djv4-red)}
.dj33-channels{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:0 calc(50% - 50vw);background:var(--djv4-night);color:#e9e1d2}
.dj33-channels article{min-height:220px;padding:clamp(26px,4vw,44px);background:var(--djv4-night)}
.dj33-channels small{color:#dc9589;font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.1em}
.dj33-channels .dj33-kicker{color:#dc9589}
.dj33-channels h3{margin:20px 0 0;font-family:var(--reading-modern-cjk);font-size:clamp(1.7rem,3vw,3rem);font-weight:400}
.dj33-channels p{margin:18px 0 0;max-width:46ch;color:#b6aa90;font-family:var(--dj-serif);font-size:.9rem;line-height:1.62}
.dj33-channels b{display:block;margin-top:26px;color:#d4cab4;font:700 .75rem/1.3 var(--dj-mono);letter-spacing:.09em}

/* ============ ENTRY 34 — 筵會假賃 / service contract ============ */
.dj34-source{overflow:hidden;background:var(--djv4-night);color:#e7dfd0}
.dj34-ledger{position:absolute;inset:0;display:grid;grid-template-rows:repeat(5,1fr);padding:7% 8% 13%}
.dj34-ledger article{display:grid;grid-template-columns:1fr minmax(0,1.1fr) auto;gap:14px;align-items:center;border-bottom:1px solid rgba(231,223,208,.2)}
.dj34-ledger b{font-family:var(--reading-modern-cjk);font-size:clamp(1.15rem,2.2vw,2rem);font-weight:400}
.dj34-ledger span{color:#c0b39a;font:700 .75rem/1 var(--dj-mono);letter-spacing:.09em}
.dj34-ledger i{font-style:normal;color:#a5977d;font:700 .75rem/1 var(--dj-mono);letter-spacing:.07em}
.dj34-ledger .blank b{color:#817660}
.dj34-ledger .total{border-bottom:0;padding-top:6px}
.dj34-ledger .total b{font-size:clamp(1.6rem,3vw,2.8rem);color:#e2d8c6}
.dj34-bureaus{padding:clamp(70px,9vw,118px) 0;border-bottom:1px solid var(--djv4-rule)}
.dj34-bureaus header{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:36px;align-items:end}
.dj34-bureaus 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}
.dj34-bureaus header p{margin:0;color:var(--cl-soft);font-family:var(--dj-serif);line-height:1.66}
.dj34-bureau-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:46px;border-top:1px solid var(--djv4-ink);border-left:1px solid var(--djv4-rule)}
.dj34-bureau-grid article{min-height:260px;padding:20px;border-right:1px solid var(--djv4-rule);border-bottom:1px solid var(--djv4-rule)}
.dj34-bureau-grid article.is-gap{background:var(--djv4-night);color:#dbd1be}
.dj34-bureau-grid article.is-gap p{color:#afa287}
.dj34-bureau-grid article.is-gap small{color:#da8b7e}
.dj34-bureau-grid article.is-gap .duty{color:#afa287}
.dj34-bureau-grid small{color:var(--djv4-red);font:700 .75rem/1.2 var(--dj-mono);letter-spacing:.09em}
.dj34-bureau-grid h3{margin:30px 0 12px;font-family:var(--reading-modern-cjk);font-size:clamp(1.7rem,3vw,3rem);font-weight:400}
.dj34-bureau-grid p{margin:0;color:var(--cl-soft);font-family:var(--dj-serif);font-size:.85rem;line-height:1.56}
.dj34-bureau-grid .duty{display:block;margin-top:20px;padding-top:12px;border-top:1px solid var(--djv4-rule);color:#615a4a;font:700 .75rem/1.4 var(--dj-mono);letter-spacing:.07em}
.dj34-contract{margin:0 calc(50% - 50vw);padding:clamp(70px,9vw,118px) max(24px,calc((100vw - 1180px)/2));background:var(--djv4-night);color:#e7dfd0}
.dj34-contract header{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:36px;align-items:end}
.dj34-contract .dj34-kicker{color:#da8b7e}
.dj34-contract h2{max-width:11ch;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}
.dj34-contract header p{margin:0;color:#b9ac92;font-family:var(--dj-serif);line-height:1.66}
.dj34-clauses{margin-top:46px;border-top:1px solid #575143}
.dj34-clauses 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}
.dj34-clauses article.is-active{opacity:1;transform:none}
.dj34-clauses .num{color:#de9a8f;font:700 .75rem/1 var(--dj-mono)}
.dj34-clauses b{font-family:var(--reading-modern-cjk);font-size:clamp(1.3rem,2.2vw,2rem);font-weight:400}
.dj34-clauses small{display:block;margin-top:8px;color:#b9ac93;font:700 .75rem/1.3 var(--dj-mono);letter-spacing:.08em}
.dj34-clauses p{margin:0;color:#c1b59c;font-family:var(--dj-serif);font-size:.88rem;line-height:1.6}

/* ---- responsive ---- */
@media(max-width:980px){
  .dj31-collation-grid,.dj32-collation-grid,.dj33-collation-grid,.dj34-collation-grid{grid-template-columns:1fr 1fr}
  .dj31-tiers{grid-template-columns:1fr}.dj31-tiers article{min-height:0}
  .dj31-absence header,.dj31-absence-grid{grid-template-columns:1fr}
  .dj32-tariff,.dj32-ceiling-grid{grid-template-columns:1fr}
  .dj33-pool header,.dj33-bureaus header,.dj34-contract header{grid-template-columns:1fr}
  .dj33-roster{grid-template-columns:1fr 1fr}
  .dj34-bureau-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .dj31-text-unit>header,.dj32-text-unit>header,.dj33-text-unit>header,.dj34-text-unit>header{flex-direction:column;gap:5px}
  .dj31-glossary,.dj32-glossary,.dj33-glossary,.dj34-glossary{grid-template-columns:1fr}
  .dj31-collation-grid,.dj32-collation-grid,.dj33-collation-grid,.dj34-collation-grid{grid-template-columns:1fr}
  .dj31-ladder article{grid-template-columns:36px 1fr}
  .dj31-ladder i,.dj31-ladder .rent{display:none}
  .dj31-tier-row{grid-template-columns:74px 1fr}
  .dj32-board{grid-template-columns:1fr;grid-template-rows:1fr 1fr}
  .dj32-board .big{font-size:4rem}
  .dj32-tariff-grid{grid-template-columns:1fr}
  .dj33-needs,.dj33-channels{grid-template-columns:1fr}
  .dj33-roster{grid-template-columns:1fr}
  .dj33-stand{grid-template-columns:repeat(6,1fr)}
  .dj33-bridge{bottom:24%;height:30%}
  .dj34-ledger article{grid-template-columns:1fr}
  .dj34-ledger span,.dj34-ledger i{display:none}
  .dj34-bureau-grid{grid-template-columns:1fr}
  .dj34-clauses article{grid-template-columns:36px 1fr;align-items:start}
  .dj34-clauses p{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){
  .dj31-tiers article,.dj34-clauses article{transition:none!important;opacity:1;transform:none}
}
