/* In-scene illustrations preserve their complete frame at every viewport. */
.london-story-visual{width:100%;max-width:38rem;margin:1.7rem auto 2rem;min-width:0}
.london-story-visual img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border:1px solid #bba37255;box-sizing:border-box;filter:none!important;opacity:1!important}
.london-story-visual figcaption{font-size:.875rem;line-height:1.75;color:#d0c09a;margin:.65rem 0 0;letter-spacing:.025em;text-align:center;overflow-wrap:normal;word-break:normal}
.london-evidence-insert{margin:1.8rem 0 2rem;padding:clamp(1rem,3.5vw,1.75rem);background:#e9dfc4;border:1px solid #b6a580;color:#302e26;min-width:0;box-sizing:border-box}
.london-evidence-insert>figcaption{margin:0 0 1.2rem;padding-bottom:.8rem;border-bottom:1px solid #98886a70;color:#514530;font-size:1rem;line-height:1.65;letter-spacing:.03em}
.london-evidence-insert .london-evidence-rows{margin:0;padding:0;list-style:none;display:grid;gap:1rem}
.london-evidence-insert .london-evidence-rows>div,.london-evidence-insert .london-evidence-rows>li{min-width:0}
.london-evidence-insert strong,.london-evidence-insert h3{color:#4d402b!important;font-weight:600;font-size:1rem!important;line-height:1.7!important;margin:0}
.london-evidence-insert p{color:#302e26!important;font-size:1rem!important;line-height:1.85!important;margin:.25rem 0 0!important;overflow-wrap:normal;word-break:normal}
.london-evidence-insert small{color:#5e533f!important;font-size:.875rem!important;line-height:1.75!important;display:block}
.london-evidence-insert.is-timeline .london-evidence-rows{gap:0}
.london-evidence-insert.is-timeline li{position:relative;padding:0 0 1.25rem 1.4rem;border-left:1px solid #9b8b6a;margin-left:.25rem}
.london-evidence-insert.is-timeline li:last-child{padding-bottom:0;border-color:transparent}
.london-evidence-insert.is-timeline li:before{content:'';position:absolute;left:-4px;top:.5rem;width:7px;height:7px;border-radius:50%;background:#63543b}
.london-witness-room{border:2px solid #8b7a5c;padding:1.1rem;text-align:center;background:#f0e7d2}
.london-witness-room>span{font-size:.875rem;color:#67593f}
.london-witness-door{width:54%;margin:auto;text-align:center;line-height:1.8;padding:.65rem 0;border-inline:1px dashed #8b7a5c;font-size:.875rem;color:#5a4a32}
.london-witness-position{text-align:center;display:grid;gap:.35rem;padding:.75rem;background:#ded2b3;border:1px solid #a39373;font-size:1rem;line-height:1.75}
.london-evidence-insert p.london-evidence-foot{margin-top:1rem!important;padding-top:.8rem;border-top:1px solid #98886a70}
.london-seam-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.london-seam-pair>div{min-width:0}.london-seam-pair svg{display:block;width:100%;height:auto;margin:.5rem 0}
@media(max-width:540px){.london-seam-pair{grid-template-columns:1fr}.london-seam-pair>div+div{border-top:1px solid #98886a70;padding-top:1rem}.london-story-visual{margin-block:1.5rem}.london-evidence-insert{padding:1rem}.london-evidence-insert figcaption{letter-spacing:0}.london-witness-door{width:68%}}
/* Concrete spatial/transfer relationships; stacked at phone widths. */
.london-layout-nodes{display:grid;gap:1.7rem;padding:.5rem 0}
.london-layout-node{position:relative;padding:1rem;border:1px solid #8b7654;background:#e8ddc3;color:#302d25}
.london-layout-node strong{display:block;color:#302d25;font-size:1.05rem}
.london-layout-node p{margin:.65rem 0 0!important;line-height:1.7;color:#3b372e!important}
.is-route .london-layout-node+.london-layout-node:before{content:"";position:absolute;left:50%;height:1.7rem;top:-1.7rem;border-left:2px solid #8b7654}
.is-route .london-layout-node+.london-layout-node:after{content:"";position:absolute;left:calc(50% - 4px);top:-8px;width:7px;height:7px;border-right:2px solid #8b7654;border-bottom:2px solid #8b7654;transform:rotate(45deg)}
.is-wards .london-layout-nodes{border-left:double 5px #8b7654;padding-left:1.4rem}
.is-wards .london-layout-node:before{content:"";position:absolute;left:-1.5rem;top:50%;width:1.4rem;border-top:2px solid #8b7654}
.london-memory-insert{margin:2rem 0;padding:1.2rem 0;border-block:1px solid #83734f}
.london-memory-insert .london-memory-caption{margin:0 0 1rem!important;color:#d4bc81!important;font-size:.95rem;letter-spacing:.04em}
.london-memory-insert>p:last-child{margin:1rem 0 0!important}
.london-photo-reference .london-tracing{max-width:28rem;margin:1rem auto}
.london-photo-detail{border-left:2px solid #af9964;padding-left:1rem}
.london-photo-key{font-size:.95rem!important;line-height:1.7!important}
.london-optional-notes>summary{min-height:48px;display:list-item;cursor:pointer;padding:.8rem 0;color:#d5c28c}
@media(min-width:650px){.is-comparison .london-layout-nodes{grid-template-columns:1fr 1fr}}
