.signal{overflow:hidden;position:relative}.signal__inner{align-items:center;display:flex;flex-direction:column;gap:var(--space-12)}.signal__content{margin:0 auto;max-width:72ch;text-align:center;width:100%}.signal__heading{font-size:clamp(2rem,3.2vw,2.75rem);letter-spacing:-.025em;margin-bottom:var(--space-5);text-wrap:balance}.signal__body p{font-size:1.0625rem;margin-bottom:var(--space-4);text-wrap:pretty}.signal__body p:last-child{margin-bottom:0}.signal__diagram{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);position:relative;width:100%}.flow{--core-size:clamp(148px,15vw,196px);--chip-gap:var(--space-4);--line-w:2px;--dash-c:var(--color-primary);--dash-len:14px;--dash-speed:1.15s;--wave:5.5s;align-items:stretch;display:grid;grid-template-columns:minmax(0,1fr) minmax(24px,.24fr) minmax(24px,.24fr) auto minmax(24px,.24fr) minmax(24px,.24fr) minmax(0,1fr);grid-template-rows:auto 1fr;row-gap:var(--space-4)}.flow__label{align-self:end;color:var(--color-muted);font-family:var(--font-body);font-size:.75rem;font-weight:700;grid-row:1;letter-spacing:.1em;padding-bottom:var(--space-2);text-transform:uppercase}.flow__label--in{grid-column:1}.flow__label--out{grid-column:7;text-align:right}.flow__chips{display:grid;gap:var(--chip-gap);grid-auto-rows:1fr;grid-row:2;list-style:none;margin:0;padding:0}.flow__chips--in{grid-column:1}.flow__chips--out{grid-column:7}.chip{align-items:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--space-3);isolation:isolate;margin:0;overflow:hidden;padding:var(--space-3) var(--space-4);position:relative}.chip__icon{background:var(--color-primary-faint);border-radius:var(--radius-sm);color:var(--color-primary);display:grid;flex:none;height:34px;place-items:center;width:34px}.chip__icon svg{display:block;height:19px;width:19px}.chip__text{display:flex;flex-direction:column;gap:2px;min-width:0}.chip__title{color:var(--color-ink);font-family:var(--font-display);font-size:.9375rem;font-weight:600;letter-spacing:-.01em;line-height:1.25}.chip__detail{color:var(--color-muted);font-family:var(--font-body);font-size:.8125rem;line-height:1.35}.chip:after{background:linear-gradient(90deg,transparent 0,var(--color-primary-tint) 50%,transparent 100%);content:"";inset:0;opacity:0;position:absolute;transform:translateX(-100%);z-index:-1}.flow__chips--in .chip:after{animation:chip-sweep-in var(--wave) linear infinite}.flow__chips--out .chip:after{animation:chip-sweep-out var(--wave) linear infinite}.flow__chips--out .chip__icon{background:var(--color-primary);color:var(--color-on-primary)}.flow__chips--out .chip__title{color:var(--color-primary-dark)}.rail{grid-row:2;position:relative}.rail--in{grid-column:2/4}.rail--out{grid-column:5/7}.wires{height:calc(100% - (100% - (var(--n) - 1)*var(--chip-gap))/var(--n));left:0;overflow:visible;position:absolute;top:calc((100% - (var(--n) - 1)*var(--chip-gap))/(var(--n)*2));width:100%}.wire{animation:wire-flow var(--dash-speed) linear infinite;fill:none;stroke:var(--dash-c);stroke-dasharray:6 8;stroke-linecap:round;stroke-width:var(--line-w);vector-effect:non-scaling-stroke}.rail--in .wire{animation-name:wire-flow-rev}.wire-pulse{animation:wire-pulse var(--wave) linear infinite;fill:none;opacity:0;stroke:var(--color-primary-light);stroke-dasharray:9 91;stroke-linecap:round;stroke-width:4;vector-effect:non-scaling-stroke}.flow__core{align-self:center;grid-column:4;grid-row:2}.core{background:var(--color-primary);border-radius:50%;box-shadow:0 0 0 10px var(--color-primary-faint),var(--shadow-md);color:var(--color-on-primary);display:grid;height:var(--core-size);padding:var(--space-4);place-content:center;position:relative;text-align:center;width:var(--core-size)}.core__mark{display:block;font-family:var(--font-display);font-size:clamp(1.125rem,1.9vw,1.5rem);font-weight:800;letter-spacing:-.02em;line-height:1}.core__label{display:block;font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:.1em;line-height:1.35;margin-top:var(--space-2);text-transform:uppercase}.core__halo{animation:core-halo var(--wave) var(--ease-out) infinite;border:var(--line-w) solid var(--color-primary);border-radius:50%;inset:0;position:absolute}.flow__link{display:none}@keyframes wire-flow{to{stroke-dashoffset:-14}}@keyframes wire-flow-rev{to{stroke-dashoffset:14}}@keyframes flow-y{to{background-position:0 var(--dash-len)}}@keyframes chip-sweep-in{0%{opacity:0;transform:translateX(-100%)}2%{opacity:1}28%{opacity:1}30%,to{opacity:0;transform:translateX(100%)}}@keyframes chip-sweep-out{0%,30%{opacity:0;transform:translateX(-100%)}32%{opacity:1}58%{opacity:1}60%,to{opacity:0;transform:translateX(100%)}}@keyframes wire-pulse{0%,6%{opacity:0;stroke-dashoffset:-100}11%{opacity:.55}26%{opacity:.55}30%,to{opacity:0;stroke-dashoffset:0}}@keyframes core-halo{0%,28%{opacity:0;transform:scale(1)}31%{opacity:.5;transform:scale(1.05)}50%,to{opacity:0;transform:scale(1.3)}}@media (max-width:1023px){.signal__inner{gap:var(--space-10)}.flow{--chip-gap:var(--space-3)}.chip{padding:var(--space-3)}.chip__detail{font-size:.78125rem}}@media (max-width:959px){.flow{grid-template-columns:minmax(0,1fr);grid-template-rows:none;justify-items:stretch;row-gap:var(--space-3)}.flow__chips,.flow__core,.flow__label,.flow__link{grid-column:1;grid-row:auto}.flow__label{align-self:auto;padding-bottom:0}.flow__label--out{text-align:left}.flow__chips{grid-auto-rows:auto}.rail{display:none}.flow__core{justify-self:center;padding:0}.core{--core-size:160px}.flow__link{animation:flow-y var(--dash-speed) linear infinite;background-image:repeating-linear-gradient(to bottom,var(--dash-c) 0 6px,transparent 6px var(--dash-len));background-size:var(--line-w) var(--dash-len);display:block;height:var(--space-10);justify-self:center;width:var(--line-w)}}@media (min-width:560px) and (max-width:959px){.flow__chips{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.signal__diagram{padding:var(--space-5)}}@media (prefers-reduced-motion:reduce){.chip:after,.core__halo,.flow__link,.rail--in .wire,.wire,.wire-pulse{animation:none}.core__halo{opacity:.5}}