@layer site{.relationship-diagram{color:var(--text-diagram);--node-width:24%;--node-max:184px;margin:0;container:diagram/inline-size}.relationship-canvas{aspect-ratio:var(--canvas-ratio,1000 / 600);position:relative}.relationship-canvas>svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.relationship-stop-a{stop-color:var(--svc-a)}.relationship-stop-b{stop-color:var(--svc-b)}.relationship-line,.relationship-glow,.scene-ring,.scene-faint{vector-effect:non-scaling-stroke}.relationship-line{fill:none;stroke-width:1.6px;stroke-linecap:round;opacity:.55;transition:opacity var(--dur-2), stroke-width var(--dur-2)}.relationship-glow{fill:none;stroke:var(--svc-a);stroke-width:7px;stroke-linecap:round;opacity:.05;transition:opacity var(--dur-3)}.relationship-arrowhead{fill:none;stroke:var(--svc-b);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.relationship-edge--supplied .relationship-line{stroke-dasharray:9 7}.relationship-edge--verify .relationship-line{stroke-dasharray:1.5 7;stroke-width:2.2px}.has-focus .relationship-edge:not(.relationship-active) .relationship-line{opacity:.28}.relationship-active .relationship-line{opacity:1;stroke-width:2px}.relationship-active .relationship-glow{opacity:.18}.relationship-pulse{fill:var(--accent-2-strong);offset-rotate:0deg;stroke:var(--svc-b);stroke-opacity:.3;stroke-width:6px;display:none}@media (prefers-reduced-motion:no-preference){.relationship-pulse{animation:3.6s cubic-bezier(.45,0,.55,1) infinite relationship-travel;display:block}}@keyframes relationship-travel{0%{offset-distance:0%;opacity:0}12%{opacity:1}70%{opacity:1}86%,to{offset-distance:100%;opacity:0}}.relationship-decoration{color:var(--svc-a)}.relationship-nodes{margin:0;padding:0;list-style:none}.relationship-nodes li{left:var(--node-x);top:var(--node-y);width:var(--node-width);max-width:var(--node-max);position:absolute;transform:translate(-50%,-50%)}.relationship-nodes :is(button,a,li>div){text-align:left;width:100%;min-height:74px;padding:var(--space-3) 14px;background:linear-gradient(180deg, #ffffff0d, transparent 55%), color-mix(in srgb, var(--surface-card) 82%, transparent);border:1px solid var(--border-lit);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-body);font:inherit;transition:border-color var(--dur-2), background-color var(--dur-2), box-shadow var(--dur-3) var(--ease-out), transform var(--dur-3) var(--ease-out);flex-direction:column;align-items:start;gap:6px;text-decoration:none;display:flex;position:relative;box-shadow:0 10px 30px -18px #000,inset 0 1px #ffffff12}.relationship-nodes strong{font-size:var(--fs-ui-lg);color:var(--text-display);font-weight:600;line-height:1.3}.relationship-nodes li>:is(button,a,div)>span:last-child:not(.relationship-index){font-size:var(--fs-sm);color:var(--text-muted);line-height:1.45}.relationship-nodes li.is-lit>:is(button,a,div){border-color:color-mix(in srgb, var(--svc-a) 70%, var(--border-lit));box-shadow:var(--shadow-glow)}.relationship-nodes li>:is(button,a):hover{transform:translateY(-2px)}.relationship-nodes [aria-current=step]{border-color:var(--svc-a);background-color:color-mix(in srgb, var(--surface-selected) 90%, transparent);box-shadow:0 0 0 1px var(--svc-a), var(--shadow-glow)}.relationship-index{font:var(--type-mono-sm);font-size:var(--fs-xs);color:var(--text-faint);align-items:center;gap:6px;display:inline-flex}.relationship-index:before{content:"";background:var(--svc-a);width:6px;height:6px;box-shadow:0 0 8px var(--svc-a);opacity:.75;border-radius:50%}.relationship-diagram figcaption{margin-top:var(--space-5);color:var(--text-muted);font-size:var(--fs-sm);line-height:1.65}.relationship-diagram--hierarchy{--node-width:28%}.relationship-diagram--system{--node-width:25%;--node-max:172px}.relationship-diagram--system .relationship-nodes :is(a,div){min-height:0;padding:10px var(--space-3);gap:var(--space-1)}.relationship-diagram--system .relationship-nodes strong{font-size:var(--fs-sm)}.diagram-detail{border-left:2px solid var(--svc-a);padding-left:var(--space-5)}.diagram-frame,.architecture-art,.service-illustration{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:radial-gradient(120% 90% at 85% 0%, color-mix(in srgb, var(--svc-a) 7%, transparent), transparent 60%), linear-gradient(165deg, color-mix(in srgb, var(--surface-overlay) 80%, transparent), color-mix(in srgb, var(--surface-page) 70%, transparent));min-width:0;box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:26px;position:relative}.architecture-art:before,.service-illustration:before{content:"";border-radius:inherit;background:linear-gradient(150deg, color-mix(in srgb, var(--svc-a) 45%, transparent), transparent 35%, transparent 70%, color-mix(in srgb, var(--svc-b) 35%, transparent));pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.architecture-art .hero-graph-title,.service-illustration>.section-kicker{margin:0 0 var(--space-3);font:500 var(--fs-lead) / 1.4 var(--font-display);letter-spacing:var(--site-track-snug);text-transform:none;color:var(--text-display);align-items:center;gap:10px;display:flex}.frame-tag{padding:var(--space-1) var(--space-2);border:1px solid var(--border-soft);border-radius:var(--radius-pill);font:500 var(--fs-xs) / 1.4 var(--font-mono);letter-spacing:var(--site-track-label);text-transform:uppercase;color:var(--text-faint);white-space:nowrap;margin-left:auto}.service-illustration .relationship-diagram--hierarchy{--node-width:30%}.service-illustration .relationship-nodes strong,.architecture-art .relationship-nodes strong{font-size:var(--fs-ui)}.architecture-art .relationship-index{display:none}.architecture-art .relationship-nodes li:last-child>div{text-align:center;border-color:color-mix(in srgb, var(--svc-a) 65%, transparent);background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--svc-a) 22%, transparent), transparent 70%), var(--surface-card);box-shadow:0 0 0 6px color-mix(in srgb, var(--svc-a) 7%, transparent), 0 0 40px -6px color-mix(in srgb, var(--svc-a) 45%, transparent);align-items:center}.scene-ring{fill:none;stroke:currentColor;stroke-width:1px;opacity:.26}.scene-ring--dashed{stroke-dasharray:2 7;opacity:.5}.scene-faint{fill:none;stroke:currentColor;stroke-width:1px;opacity:.18}.scene-label{fill:currentColor;font:500 var(--fs-ui-lg) var(--font-mono);letter-spacing:var(--site-track-caps);text-transform:uppercase;opacity:.5}.scene-dot{fill:currentColor;opacity:.45}.scene-spin{transform-box:view-box;transform-origin:var(--spin-origin,50% 50%)}.scene-satellite{fill:var(--accent-2-strong);stroke:var(--svc-b);stroke-opacity:.3;stroke-width:5px;display:none}@media (prefers-reduced-motion:no-preference){.scene-spin{animation:120s linear infinite scene-spin}.scene-satellite{animation:14s linear infinite relationship-travel;display:block}.scene-wave{animation:6s linear infinite scene-wave}}@keyframes scene-spin{to{transform:rotate(360deg)}}@keyframes scene-wave{to{stroke-dashoffset:-240px}}@container diagram (width<=440px){.relationship-canvas{aspect-ratio:auto}.relationship-canvas>svg{display:none}.relationship-nodes{gap:14px;padding-left:22px;display:grid;position:relative}.relationship-nodes:before{content:"";background:linear-gradient(var(--svc-a), var(--svc-b));opacity:.6;width:1px;position:absolute;top:18px;bottom:18px;left:5px}.relationship-nodes li{width:100%;max-width:none;position:relative;top:auto;left:auto;transform:none}.relationship-nodes li:before{content:"";background:var(--surface-page);border:1.5px solid var(--svc-a);width:9px;height:9px;box-shadow:0 0 8px color-mix(in srgb, var(--svc-a) 60%, transparent);border-radius:50%;margin-top:-4.5px;position:absolute;top:50%;left:-21px}.relationship-nodes :is(button,a,li>div){min-height:64px;padding:var(--space-3) var(--space-4);grid-template-columns:30px 1fr;align-items:center;display:grid}.relationship-nodes strong{font-size:var(--fs-body)}.relationship-nodes li>:is(button,a,div)>span:last-child:not(.relationship-index){grid-column:2}.architecture-art .relationship-nodes{gap:var(--space-3);grid-template-columns:1fr 1fr;padding-left:0}.architecture-art .relationship-nodes:before,.architecture-art .relationship-nodes li:before{display:none}.architecture-art .relationship-nodes li:last-child{grid-area:1/1/auto/-1}.architecture-art .relationship-nodes li>:is(a,div){align-items:flex-start;gap:6px;min-height:92px;display:flex}.architecture-art .relationship-nodes li:last-child>div{align-items:center;min-height:64px}}@media (width<=650px){.diagram-frame,.architecture-art,.service-illustration{padding:var(--space-5)}}@media print{.relationship-canvas{aspect-ratio:var(--canvas-ratio,1000 / 600)}.relationship-nodes :is(button,a,li>div){color:#222;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-color:#777}.relationship-nodes strong{color:#111}.relationship-index{color:#555}.relationship-index:before,.relationship-glow,.relationship-pulse,.relationship-decoration,.architecture-art:before,.service-illustration:before{display:none}.relationship-line,.relationship-arrowhead{opacity:1;stroke:#555!important}.relationship-diagram figcaption{color:#333}.relationship-nodes button{display:flex}.relationship-nodes li{break-inside:avoid}.diagram-frame,.architecture-art,.service-illustration{box-shadow:none;background:0 0;border-color:#bbb}}}
