/* Exact elliptical geometry; Relay artwork has one coordinate system. */
#relay.relay-art{position:relative;overflow:hidden;background:#111217;color:#F2F0F7;padding:0;isolation:isolate}
#relay .relay-art-shell{position:relative;display:grid;grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);min-height:800px;padding-block:80px 64px;gap:48px}
#relay .relay-art-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;min-width:0;pointer-events:none}
#relay .relay-art-copy a,#relay .relay-art-copy details{pointer-events:auto}
#relay .relay-art-copy h2{font:500 clamp(64px,6.4vw,96px)/1 var(--tl-font-display);letter-spacing:-.035em;color:#F2F0F7;max-width:none;margin:0 0 72px}
#relay .relay-art-notes{margin-top:auto;max-width:440px}
#relay .relay-art-notes h3{font:500 clamp(22px,2.1vw,30px)/1.2 var(--tl-font-display);letter-spacing:-.02em;color:#F2F0F7;margin:0 0 16px}
#relay .relay-art-notes p{font:400 16px/1.65 var(--tl-font-body);color:#B8BDD0;margin:0 0 32px;max-width:42ch}
#relay .relay-art-cta{display:inline-flex;align-items:center;gap:20px;color:#F2F0F7;min-height:48px;font:500 15px/1.4 var(--tl-font-body);text-decoration:none;border-bottom:1px solid #6E97FF;margin:0 0 24px}
#relay .relay-art-cta svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.3;transition:transform .2s ease}
#relay .relay-art-cta:hover svg{transform:translate(3px,-3px)}
#relay .relay-art-detail{max-width:440px;width:100%;border-top:1px solid #343747}
#relay .relay-art-detail summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:48px;gap:18px;font:400 13px/1.5 var(--tl-font-body);color:#B8BDD0}
#relay .relay-art-detail summary::-webkit-details-marker{display:none}
#relay .relay-art-detail summary::after{content:'+';font-size:20px;color:#9BB8FF}
#relay .relay-art-detail[open] summary::after{content:'−'}
#relay .relay-art-detail p{font-size:14px;margin:0;padding-bottom:16px}
#relay .relay-art-cta:focus-visible,#relay .relay-art-detail summary:focus-visible{outline:2px solid #9BB8FF;outline-offset:6px}
#relay .relay-art-visual{position:relative;min-width:0;min-height:640px;align-self:stretch}
#relay .relay-art-canvas{position:absolute;width:1050px;height:820px;left:50%;top:50%;transform:translate(-40%,-50%);overflow:visible}
#relay .relay-art-drawing{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none}
#relay .relay-art-orbit{vector-effect:non-scaling-stroke;stroke:#8196C9;stroke-width:.65;opacity:.5}
#relay .relay-art-orbit[data-accent]{stroke:#6E97FF;stroke-width:.9;opacity:.75}
#relay .relay-art-guide{stroke:#8196C9;stroke-width:.5;opacity:.15;vector-effect:non-scaling-stroke}
#relay .relay-art-point{fill:#DCE6FF;stroke:none}
#relay .relay-art-hub{position:absolute;left:49.5%;top:48.8%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:11px;color:#DCE6FF;font:500 16px/1.2 var(--tl-font-display);white-space:nowrap}
#relay .relay-art-hub::before{content:'';display:block;width:11px;height:11px;background:#2F6BFF;border-radius:50%}
#relay .relay-art-pill{position:absolute;left:0;top:0;display:flex;align-items:center;gap:11px;white-space:nowrap;color:#F2F0F7;background:#1C1E27;border:1px solid #3C4254;border-radius:100px;padding:11px 17px;font:400 14px/1.25 var(--tl-font-body);will-change:transform}
#relay .relay-art-pill::before{content:'';display:block;flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:#A8BCEB}
#relay .relay-art-pill[data-kind='policy']::before{background:#DCE6FF}
#relay .relay-art-pill[data-kind='write']::before{background:#6E97FF}
#relay .relay-art-sequence{position:relative;z-index:2;grid-column:2;margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 0;align-self:end;color:#B8BDD0;font:400 12px/1.5 var(--tl-font-body)}
#relay .relay-art-sequence li{display:flex;align-items:center}
#relay .relay-art-sequence li+li::before{content:'';width:22px;height:1px;background:#505C79;margin:0 12px}
.relay-art-tech{background:#F2F0F7;color:#111217}
.relay-art-tech .wide{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px;padding-block:24px}
.relay-art-tech p{font:400 13px/1.4 var(--tl-font-body);margin:0;color:#435873}
.relay-art-tech .relay-art-marks{display:flex;align-items:center;gap:40px}
.relay-art-tech img{display:block;width:auto;height:23px;max-width:155px;object-fit:contain}
@media(min-width:1600px){#relay .relay-art-canvas{width:1180px;height:922px}}
@media(max-width:1000px){#relay .relay-art-shell{grid-template-columns:38% minmax(0,1fr);gap:28px;min-height:760px;padding-block:64px}#relay .relay-art-copy h2{font-size:72px}#relay .relay-art-notes h3{font-size:24px}#relay .relay-art-notes p{font-size:15px}#relay .relay-art-canvas{width:870px;height:679px;transform:translate(-37%,-50%)}}
@media(max-width:850px){#relay .relay-art-shell{display:flex;flex-direction:column;gap:0;padding-block:44px 40px;min-height:0}#relay .relay-art-copy{display:contents}#relay .relay-art-copy h2{position:relative;z-index:2;order:0;font-size:64px;margin:0}#relay .relay-art-visual{order:1;min-height:390px;margin:0 -20px}#relay .relay-art-canvas{width:580px;height:453px;left:50%;transform:translate(-48%,-50%)}#relay .relay-art-pill{font-size:12px;gap:8px;padding:9px 11px}#relay .relay-art-hub{font-size:14px}#relay .relay-art-notes{order:3;margin-top:24px;max-width:520px}#relay .relay-art-notes h3{font-size:24px}#relay .relay-art-notes p{max-width:45ch;margin-bottom:24px}#relay .relay-art-sequence{order:2;font-size:12px;line-height:1.6;gap:8px 0}#relay .relay-art-sequence li+li::before{width:12px;margin-inline:8px}.relay-art-tech .wide{flex-wrap:wrap;gap:20px;min-height:0}.relay-art-tech .relay-art-marks{gap:28px}.relay-art-tech img{height:19px;max-width:132px}}
@media(max-width:380px){#relay .relay-art-canvas{width:500px;height:390px}#relay .relay-art-visual{min-height:360px}#relay .relay-art-pill{font-size:11px;padding:9px 10px}.relay-art-tech .relay-art-marks{gap:22px}.relay-art-tech img{max-width:118px;height:18px}}
@media(prefers-reduced-motion:reduce){#relay .relay-art-pill{will-change:auto}#relay .relay-art-cta svg{transition:none}}

@media(max-width:850px){#relay .relay-art-canvas{width:min(100vw,580px);height:auto;aspect-ratio:1050/820;transform:translate(-50%,-50%)}#relay .relay-art-pill{font-size:12px}}
@media(max-width:380px){#relay .relay-art-canvas{width:100vw;height:auto}#relay .relay-art-pill{font-size:11px}}

#panel .sol-metrics__report{background:#DCE6FF;padding:24px}#panel .sol-metrics__report .client-chart-source,#panel .sol-metrics__report .client-chart-source iframe{background:#DCE6FF}#panel .sol-metrics__bar{padding:0 0 22px;margin-bottom:24px;border-color:#ABBADA}#panel .sol-metrics__bar h3{color:#111217}#panel .sol-metrics__bar span{color:#435873}

/* Motion: the section reveals on first view; after that relay-art.js moves only the work, under one physical model (see the note at the top of the script).
   The step list and the matching note follow the orbit story below. relay-art.js adds the classes; nothing moves under reduced motion. */
#relay.motion-ready .relay-art-copy h2,#relay.motion-ready .relay-art-notes>*,#relay.motion-ready .relay-art-sequence li{transition:opacity .9s cubic-bezier(.22,1,.36,1) var(--d,0s),translate 1.1s cubic-bezier(.22,1,.36,1) var(--d,0s),color .6s ease}
#relay.motion-ready:not(.is-in) .relay-art-copy h2,#relay.motion-ready:not(.is-in) .relay-art-notes>*,#relay.motion-ready:not(.is-in) .relay-art-sequence li{opacity:0;translate:0 22px}
#relay.motion-ready .relay-art-orbit,#relay.motion-ready .relay-art-guide{transition:opacity 1.6s ease var(--d,0s)}
#relay.motion-ready:not(.is-in) .relay-art-orbit,#relay.motion-ready:not(.is-in) .relay-art-guide{opacity:0}
#relay.motion-ready .relay-art-hub{transition:opacity .9s ease var(--d,0s),scale 1.1s cubic-bezier(.22,1,.36,1) var(--d,0s)}
#relay.motion-ready:not(.is-in) .relay-art-hub{opacity:0;scale:.6}
#relay.motion-ready .relay-art-pill{transition:opacity 1s ease var(--d,0s),border-color .6s ease,box-shadow .6s ease}
#relay.motion-ready:not(.is-in) .relay-art-pill{opacity:0}
#relay .relay-art-pill::before{transition:transform .6s cubic-bezier(.22,1,.36,1),background-color .6s ease}
#relay .relay-art-pill.is-active{border-color:#6E97FF;box-shadow:0 0 0 6px rgba(47,107,255,.14)}
#relay .relay-art-pill.is-active::before{transform:scale(1.4);background:#DCE6FF}
#relay .relay-art-hub::before{transition:box-shadow .6s ease}
#relay .relay-art-hub.is-active::before{box-shadow:0 0 0 6px rgba(47,107,255,.22)}
#relay .relay-art-sequence li.is-active,#relay .relay-art-sequence li.is-done{color:#F2F0F7}
#relay .relay-art-sequence li+li::before{transition:background-color .6s ease}
#relay .relay-art-sequence li+li.is-active::before,#relay .relay-art-sequence li+li.is-done::before{background:#6E97FF}
#relay .relay-art-notes h3{position:relative}
#relay .relay-art-notes h3::before{content:'';position:absolute;left:-18px;top:.12em;width:2px;height:1em;background:#6E97FF;transform:scaleY(0);transform-origin:top;transition:transform .7s cubic-bezier(.22,1,.36,1)}
#relay .relay-art-notes h3.is-active::before{transform:scaleY(1)}
@media(max-width:850px){#relay .relay-art-notes h3::before{left:-12px}}

/* Orbit story: one request through the drawing per cycle. Trails and dots sit under the pills; the two labels are positioned in canvas units. */
#relay .relay-art-trail{fill:none;stroke:#6E97FF;stroke-linecap:round;opacity:0}
#relay .relay-art-dot{opacity:0}
#relay .relay-art-dot-core{fill:#DCE6FF}
#relay .relay-art-dot-halo{fill:#2F6BFF;opacity:.28}
#relay .relay-art-check{fill:none;stroke:#6E97FF;stroke-linecap:round;stroke-dasharray:0 2;opacity:0}
#relay .relay-art-ripple{fill:none;stroke:#6E97FF;opacity:0}
#relay .relay-art-label{position:absolute;left:0;top:0;z-index:1;white-space:nowrap;pointer-events:none;opacity:0;border-radius:6px;padding:7px 11px;font:400 12px/1.3 var(--tl-font-mono);letter-spacing:.02em;will-change:transform,opacity}
#relay .relay-art-incoming{color:#F2F0F7;background:#1C1E27;border:1px solid #3C4254}
#relay .relay-art-receipt{color:#0a2540;background:#DDE5FF;border:1px solid #DDE5FF}
#relay .relay-art-pill.is-active::before{transform:scale(1.4);background:#DCE6FF}
@media(max-width:850px){#relay .relay-art-label{max-width:calc(100% - 24px);white-space:normal;text-align:center;overflow-wrap:anywhere;font-size:11px;padding:6px 9px}}
@media(prefers-reduced-motion:reduce){#relay .relay-art-story,#relay .relay-art-label{display:none}}
/* Phone labels raised to the 12px floor. */
@media(max-width:850px){#relay .relay-art-label{font-size:12px}}
@media(max-width:380px){#relay .relay-art-pill{font-size:12px}}
