.relationship-section{position:relative;padding:68px 0 74px;border-block:1px solid rgba(255,255,255,.1);background:#07101c;color:#f4f7fa}
.relationship-section[data-palette=sam]{background:#080b1c}
.relationship-section[data-palette=sonolusso]{background:#100e15}
.relationship-inner{width:min(1200px,calc(100% - 48px));margin:auto}
.relationship-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:20px}
.relationship-eyebrow{display:block;margin-bottom:9px;color:#8ed8f3;font:700 10px/1.4 'Inter',sans-serif;text-transform:uppercase;letter-spacing:0}
[data-palette=sam] .relationship-eyebrow{color:#c4a9ff}
.relationship-head h2{margin:0;color:#f7f9fc;font:700 clamp(25px,3vw,37px)/1.1 'Inter',sans-serif;letter-spacing:0}
.relationship-head p{max-width:460px;margin:0;color:#a9b9c8;font:400 14px/1.6 'Inter',sans-serif}
.relationship-map{--relationship-accent:#79d9ff;position:relative;min-width:0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#07101c,#080f1d)}
.relationship-map[data-palette=sam]{--relationship-accent:#c4a9ff;background:linear-gradient(180deg,#080b1c,#0a1020)}
.relationship-map[data-palette=sonolusso]{--relationship-accent:#c9a6eb;background:linear-gradient(180deg,#100e15,#17111c)}
.relationship-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:45px;padding:5px 2px;color:#a9b9c8;font:600 11px/1.3 'Inter',sans-serif}
.relationship-toolbar strong{color:#edf5fc;font-weight:600}
.relationship-tools{display:flex;align-items:center;gap:7px}
.relationship-tools[hidden]{display:none}
.relationship-tool{min-width:42px;min-height:32px;padding:5px 9px;border:1px solid rgba(255,255,255,.14);border-radius:5px;background:rgba(255,255,255,.025);color:#d1dce7;font:600 11px/1 'Inter',sans-serif;cursor:pointer}
.relationship-tool:hover,.relationship-tool:focus-visible,.relationship-tool[aria-pressed=true]{border-color:var(--relationship-accent);color:#fff;background:color-mix(in srgb,var(--relationship-accent) 12%,transparent)}
.relationship-tool:focus-visible,.relationship-label:focus-visible,.relationship-detail a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.relationship-stage{position:relative;height:320px;overflow:hidden;isolation:isolate}
.relationship-stage canvas,.relationship-labels{position:absolute;inset:0;width:100%;height:100%}
.relationship-stage canvas{display:block;pointer-events:none}
.relationship-labels{pointer-events:none}
.relationship-label{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:84px;min-height:54px;padding:0;border:0;background:none;color:#f0f4f8;transform:translate(-50%,-14px);font:600 12px/1.3 'Inter',sans-serif;letter-spacing:0;text-align:center;cursor:pointer;pointer-events:auto;text-shadow:0 2px 7px #07101c}
.relationship-label[hidden]{display:none}
.relationship-label span:last-child{max-width:126px;overflow-wrap:anywhere}
.relationship-label .relationship-star{display:block;flex:none;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 9px 2px var(--star-color),0 0 22px 5px color-mix(in srgb,var(--star-color) 42%,transparent);transition:transform .2s,box-shadow .2s}
.relationship-label:hover .relationship-star,.relationship-label[aria-pressed=true] .relationship-star{transform:scale(1.45);box-shadow:0 0 13px 3px var(--star-color),0 0 27px 7px color-mix(in srgb,var(--star-color) 52%,transparent)}
.relationship-label[aria-pressed=true]{color:var(--star-color)}
.relationship-hub{z-index:1;color:#b8c5d1;font-size:11px;text-transform:uppercase}
.relationship-hub .relationship-star{width:13px;height:13px}
.relationship-detail{display:grid;grid-template-columns:minmax(100px,.2fr) minmax(0,1fr) auto;align-items:center;gap:24px;min-height:108px;padding:19px 6px;border-top:1px solid rgba(255,255,255,.09)}
.relationship-detail-metric{color:var(--relationship-accent);font:700 clamp(18px,2.1vw,27px)/1.2 'Inter',sans-serif}
.relationship-detail h3{margin:0 0 4px;color:#f3f7fa;font:700 17px/1.3 'Inter',sans-serif}
.relationship-detail p{max-width:760px;margin:0;color:#a9b9c8;font:400 13px/1.5 'Inter',sans-serif}
.relationship-detail a{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--relationship-accent) 45%,transparent);border-radius:5px;color:var(--relationship-accent);font:700 11px/1 'Inter',sans-serif;text-decoration:none;white-space:nowrap}
.relationship-detail a:hover{background:color-mix(in srgb,var(--relationship-accent) 11%,transparent);color:#fff}
.relationship-fallback{display:flex;flex-wrap:wrap;gap:9px;padding:16px 0}
.relationship-fallback a{padding:8px 10px;border:1px solid rgba(255,255,255,.13);border-radius:4px;color:#dce8f3;text-decoration:none;font:600 12px/1.3 'Inter',sans-serif}
.relationship-map[data-ready=true] .relationship-fallback{display:none}
@media(max-width:650px){.relationship-section{padding:48px 0 54px}.relationship-inner{width:min(100% - 28px,1200px)}.relationship-head{display:block}.relationship-head p{margin-top:12px}.relationship-stage{height:285px}.relationship-label{min-width:70px;font-size:10px}.relationship-label span:last-child{max-width:96px}.relationship-detail{grid-template-columns:1fr auto;gap:8px 14px;min-height:0;padding:18px 2px}.relationship-detail-metric{grid-column:1/-1}.relationship-detail h3{font-size:15px}.relationship-detail p{font-size:12px}.relationship-detail a{grid-column:1/-1;justify-self:start;margin-top:4px}}
@media(prefers-reduced-motion:reduce){.relationship-star{transition:none!important}}
