.map-page{max-width:1180px;margin:auto;padding:40px 32px 60px}.map-intro{max-width:850px;margin:32px 0}.map-intro h1{font-size:clamp(36px,4.5vw,57px);line-height:1.12;margin-bottom:20px}.map-intro>p:last-child{color:#555b64;max-width:720px}.map-layout{display:grid;grid-template-columns:1.6fr 1fr;border:1px solid #e4e2dc;border-radius:7px;overflow:hidden;margin:30px 0}.map-canvas{position:relative;min-height:440px;background:#f8f6ef}.map-canvas svg{position:absolute;width:100%;height:100%;inset:0}.map-canvas path{fill:none;stroke:#b8b7b0;stroke-width:2;transition:stroke .2s}.map-canvas path.active{stroke:#ac8435;stroke-width:4}.map-node{position:absolute;transform:translate(-50%,-50%);width:148px;min-height:75px;padding:13px 10px;background:#fff;border:1px solid #bfc1c4;border-radius:5px;color:#263445;cursor:pointer;font:inherit;font-size:13px;font-weight:800;box-shadow:0 3px 10px #26344508}.map-node span{display:block;font-size:10px;font-weight:500;color:#666;margin-top:4px}.map-node[data-actor="central"]{left:50%;top:16%}.map-node[data-actor="banks"]{left:50%;top:49%}.map-node[data-actor="families"]{left:19%;top:82%}.map-node[data-actor="firms"]{left:81%;top:82%}.map-node.in-flow{border-color:#b49350;box-shadow:0 0 0 3px #c3a15b32}.map-node[aria-pressed="true"]{background:#263445;color:white;border-color:#263445}.map-node[aria-pressed="true"] span{color:#dfc27e}.actor-detail{padding:30px;background:#263445;color:white}.actor-detail .eyebrow{color:#dfc27e}.actor-detail h2{font-size:27px;margin:12px 0 18px}.actor-detail p{font-size:13px;line-height:1.85;color:#e0e4e9}.actor-detail .actor-note{border-top:1px solid #ffffff30;padding-top:18px;color:#c8d0da}.actor-detail a{font-size:12px;color:#dfc27e}.map-key{font-size:12px;color:#65696f;margin:0 0 30px}.map-key b{display:inline-block;width:9px;height:9px;border-radius:50%;background:#c3a15b;margin-right:5px}.flow-heading h2{font-size:34px;margin:10px 0}.scenario-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.scenario-buttons button{font:inherit;font-size:13px;background:white;border:1px solid #bcb9af;border-radius:25px;padding:11px 20px;cursor:pointer}.scenario-buttons button[aria-pressed="true"]{background:#263445;border-color:#263445;color:#fff}.flow-card{padding:30px 36px;background:#f8f6ef;border-left:4px solid #c3a15b;border-radius:3px}.flow-card h3{font-size:26px;line-height:1.35}.flow-card p{font-size:14px;max-width:850px}.flow-card #step-note{background:#fff;border:1px solid #e4e2dc;padding:15px;font-weight:700;font-size:13px}.flow-card #flow-actors{font-size:12px;color:#655c47}.flow-navigation{display:flex;align-items:center;gap:15px;margin-top:24px}.flow-navigation button{cursor:pointer}.flow-navigation button:disabled{opacity:.4;cursor:default}.flow-navigation span{font-size:12px;color:#62656a;margin-right:auto}.map-reading{max-width:850px;margin:45px 0}.map-reading h2{font-size:30px}.map-reading p,.map-reading li{font-size:14px;line-height:1.9}.map-reading details{border-top:1px solid #e4e2dc;padding:20px 0}.map-reading summary{cursor:pointer;font-weight:700}.map-reading h3{font-size:19px}.map-teaser{background:#f8f6ef;border-bottom:1px solid #e4e2dc}.map-teaser>div{max-width:1124px;margin:auto;padding:38px 32px;display:flex;align-items:center;justify-content:space-between;gap:30px}.map-teaser h2{font-size:30px;margin:8px 0}.map-teaser p{font-size:14px;max-width:610px}.map-teaser .button{white-space:nowrap}.map-page button:focus-visible{outline:3px solid #b99a5a;outline-offset:4px}@media(max-width:850px){.map-layout{grid-template-columns:1fr}.map-node{width:155px}.actor-detail{padding:25px}.map-canvas{min-height:400px}}@media(max-width:600px){.map-page{padding:25px 22px 45px}.map-canvas{min-height:290px;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:22px}.map-canvas svg{display:none}.map-node{position:static;transform:none;width:auto;min-height:100px;font-size:12px}.map-node[data-actor="central"]{grid-column:1}.flow-card{padding:24px}.flow-card h3{font-size:23px}.scenario-buttons{gap:8px}.scenario-buttons button{padding:9px 12px;font-size:12px}.flow-navigation{flex-wrap:wrap}.flow-navigation span{width:100%}.map-teaser>div{display:block;padding:30px 22px}}
