.relationship-map-page{padding:0 34px 70px}
.map-breadcrumbs{display:flex;align-items:center;gap:9px;max-width:1440px;margin:22px auto 0;color:#715e4b;font:14px/1.3 Arial,sans-serif}
.map-breadcrumbs a{color:var(--red);text-decoration-thickness:1px;text-underline-offset:3px}
.map-intro{max-width:1030px;margin:36px auto 34px;text-align:center}
.map-kicker{margin:0 0 8px;color:var(--red);font:700 15px/1.2 "Magic Narrow","Arial Narrow",Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.map-intro h1{margin:0 0 18px;font-size:clamp(42px,6vw,72px);line-height:.95}
.map-intro>p:not(.map-kicker){max-width:900px;margin:0 auto 14px;font-size:19px;line-height:1.55}
.map-intro .map-instruction{padding:12px 16px;border-top:1px solid #cbb99d;border-bottom:1px solid #cbb99d;color:#604f40;font-size:16px!important}
.map-board{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:74px 112px;max-width:1540px;margin:0 auto;padding:54px 0 60px;isolation:isolate}
.map-lines{position:absolute;z-index:-1;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.map-theme-line{fill:none;stroke:#8e171d;stroke-width:5;stroke-linecap:round;opacity:.38}
.map-relation-line{fill:none;stroke:#826f5a;stroke-width:1.5;stroke-dasharray:5 7;opacity:.19;transition:opacity .18s ease,stroke-width .18s ease,stroke .18s ease}
.map-relation-line.is-active{stroke:#8e171d;stroke-width:3;opacity:.95}
.map-centre{position:absolute;z-index:3;left:50%;top:50%;display:grid;place-items:center;width:164px;height:164px;border:4px solid #7a1117;border-radius:50%;background:var(--red) var(--red-texture) center/320px;color:var(--red-cream);box-shadow:0 14px 28px rgba(72,32,20,.25);text-align:center;transform:translate(-50%,-50%) rotate(-2deg)}
.map-centre span{font:700 15px/1.05 "Magic Narrow","Arial Narrow",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.map-centre strong{margin-top:-30px;font:400 34px/1 "Magic Roman",Georgia,serif;text-transform:uppercase}
.map-cluster{position:relative;z-index:2;padding:20px;border:2px solid #9a8265;border-radius:12px;background:#fff8e9 url("/assets/paper-grain-v5.webp") 0 0/768px 512px repeat;box-shadow:0 10px 24px rgba(58,38,22,.14)}
.map-cluster>header{margin:-20px -20px 18px;padding:18px 20px 17px;border-radius:10px 10px 0 0;color:#fff8e9;background:#8f171d var(--red-texture) center/320px}
.map-cluster>header p{margin:0 0 4px;font:700 13px/1.1 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;opacity:.8}
.map-cluster>header h2{margin:0 0 6px;color:inherit;font:400 31px/1 "Magic Roman",Georgia,serif}
.map-cluster>header span{display:block;font:15px/1.4 Arial,sans-serif}
.cluster-systems>header{background-color:#403b34}
.cluster-execution>header{background-color:#6f4a20}
.cluster-communication>header{background-color:#4f2f35}
.map-node-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.map-node{position:relative;min-width:0;border:1px solid #c7b598;border-radius:8px;background:rgba(255,252,244,.92);box-shadow:0 3px 8px rgba(58,38,22,.09);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease,border-color .18s ease}
.map-node-main{display:block;min-height:104px;padding:14px 15px 12px;color:var(--ink);text-decoration:none}
.map-node-main small{display:block;margin-bottom:7px;color:var(--red);font:700 13px/1 Arial,sans-serif;letter-spacing:.09em}
.map-node-main strong{display:block;font:400 20px/1.13 "Magic Roman",Georgia,serif}
.map-node p{margin:0;padding:10px 14px;border-top:1px solid #dfd1ba;color:#665544;background:rgba(239,226,202,.46);font:13px/1.55 Arial,sans-serif}
.map-node p span{font-weight:700}
.map-node p a{display:inline-block;color:#8f171d;font-weight:700;text-underline-offset:2px}
.map-node:hover,.map-node:focus-within,.map-node.is-active{z-index:4;border-color:#8f171d;box-shadow:0 9px 18px rgba(85,26,23,.2);transform:translateY(-3px)}
.map-node.is-related{border-color:#8f171d;box-shadow:0 5px 14px rgba(85,26,23,.14)}
.map-board.has-focus .map-node:not(.is-active):not(.is-related){opacity:.38}
.map-node:target{animation:map-target 1.3s ease}
@keyframes map-target{0%,100%{box-shadow:0 3px 8px rgba(58,38,22,.09)}50%{box-shadow:0 0 0 5px rgba(143,23,29,.22),0 9px 22px rgba(85,26,23,.2)}}
.map-how{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:44px;max-width:1120px;margin:12px auto 0;padding:34px 38px;border-top:3px solid var(--red);border-bottom:1px solid #bfae92;background:rgba(255,248,233,.7)}
.map-how h2{margin:0;font-size:37px;line-height:1.02}
.map-how>p{margin:0;font-size:18px;line-height:1.6}
@media (prefers-reduced-motion:reduce){.map-node,.map-relation-line{transition:none}.map-node:target{animation:none}}
@media (max-width:1180px){
  .map-board{gap:62px 64px;padding-top:36px}.map-centre{width:132px;height:132px}.map-centre strong{font-size:28px}.map-node-grid{grid-template-columns:1fr}.map-node-main{min-height:0}
}
@media (max-width:860px){
  .relationship-map-page{padding:0 18px 50px}.map-intro{margin-top:28px}.map-intro>p:not(.map-kicker){font-size:17px}.map-instruction strong:first-child{display:none}
  .map-board{display:block;padding:12px 0 24px}.map-lines,.map-centre{display:none}.map-cluster{margin-bottom:22px}.map-node-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-board.has-focus .map-node{opacity:1}.map-node:hover,.map-node:focus-within,.map-node.is-active{transform:none}
  .map-how{grid-template-columns:1fr;gap:16px;padding:28px 24px}.map-how h2{font-size:31px}
}
@media (max-width:570px){
  .map-node-grid{grid-template-columns:1fr}.map-cluster{padding:14px}.map-cluster>header{margin:-14px -14px 14px;padding:16px 15px}.map-cluster>header h2{font-size:27px}.map-node-main strong{font-size:19px}.map-intro h1{font-size:42px}
}
