/* Linaris · diagrama de orquestación del método (Señal v2.0).
   Marca → Voces → firma. Estático y completo sin JS o con movimiento reducido. */
.experience .orc.authority-sculpture.orchestration-diagram{position:relative;aspect-ratio:544/656;filter:none;--orc-ease:cubic-bezier(.2,0,0,1)}
.orc svg{display:block;width:100%;height:100%;overflow:visible;font-family:var(--font-ui)}

.orc pattern circle{fill:#C9C4BD}
.orc-field{opacity:.7}
.orc-orbit{fill:none;stroke:#E7E4E0;stroke-width:1}
.orc-orbit--net{stroke:#D6D2CC;stroke-dasharray:1.5 5.5;animation:orc-spin 240s linear infinite}
.orc-tick{stroke:#D6D2CC;stroke-width:1}
.orc-tick--major{stroke:#AFABA5}
.orc-sweep path{fill:none;stroke:#EA580C;stroke-linecap:round}
.orc-sweep__arc{stroke-width:2.25}
.orc-sweep__tail2{stroke-width:1.75;opacity:.42}
.orc-sweep__tail3{stroke-width:1.25;opacity:.16}
.orc-sweep__head{fill:#EA580C;stroke:#fff;stroke-width:2}
.orc-sweep{opacity:0;transition:opacity .6s var(--orc-ease)}
.orc.is-live .orc-sweep{opacity:1}

.orc-zone{font:500 10.5px var(--font-mono);letter-spacing:.16em;fill:#87837D}
.orc-name{font-size:12.5px;font-weight:500;fill:#454340;text-anchor:middle;paint-order:stroke fill;stroke:#fff;stroke-width:5px;stroke-linejoin:round}
.orc-label{font-size:27px;font-weight:600;letter-spacing:-.02em;fill:#1A1917;text-anchor:middle}
.orc-label tspan{fill:var(--logo-accent,#F97316)}
.orc-caption{font-size:13px;fill:#666360;text-anchor:middle}
.orc-ledger{font:500 11px var(--font-mono);letter-spacing:.14em;fill:#87837D;text-anchor:middle;font-variant-numeric:tabular-nums}
.orc-ledger__n{fill:#1A1917;font-weight:600}

/* Relación: hilo neutro sin flecha. Firma compartida: discontinuo naranja 3 px (5/4). */
.orc-rel{stroke:#D6D2CC;stroke-width:2}
.orc-sig{stroke:#F97316;stroke-width:3;stroke-dasharray:5 4}
.orc-thread.is-flow .orc-sig{animation:orc-flow .6s linear infinite}
.orc-sigmask{stroke:#fff;stroke-width:8}
.orc-pub{stroke:#E7E4E0;stroke-width:1.25}
.orc-pub[data-owner="brand"]{stroke:#D6D2CC}

.orc-brand__disc{fill:#1A1917}
.orc-brand__ring{fill:#fff;stroke:#F97316;stroke-width:1.75;transition:stroke-width .7s var(--orc-ease)}
.orc-brand__halo{fill:none;stroke:#F97316;stroke-opacity:.45;stroke-width:1;stroke-dasharray:2 5;animation:orc-spin 90s linear infinite reverse}
.orc-brand__label{fill:#fff;font:600 12px var(--font-mono);letter-spacing:.16em;text-anchor:middle}
.orc-brand.is-receive .orc-brand__ring{stroke-width:4;transition-duration:.14s}

.orc-voice__hit{fill:transparent}
.orc-voice__seat{fill:#fff;stroke:#F97316;stroke-opacity:.3;stroke-width:1;transition:stroke-opacity .9s var(--orc-ease),stroke-width .9s var(--orc-ease)}
.orc-voice__disc{fill:#F97316}
.orc-voice__glyph{fill:#fff}
.orc-voice.is-active .orc-voice__seat{stroke-opacity:1;stroke-width:1.75;transition-duration:.14s}
.orc-voice{cursor:default}

.orc-badge rect{fill:#fff;stroke:#E7E4E0;stroke-width:1;transition:stroke .9s var(--orc-ease)}
.orc-badge image{opacity:.42;filter:grayscale(1);transition:opacity .9s var(--orc-ease),filter .9s var(--orc-ease)}
.orc-badge.is-lit rect{stroke:#AFABA5;transition-duration:.14s}
.orc-badge.is-lit image{opacity:1;filter:none;transition-duration:.14s}

.orc-packet{fill:#EA580C}
.orc-packet--ink{fill:#1A1917}
.orc-trail{stroke:#F97316;stroke-linecap:round;stroke-width:3;opacity:.45}
.orc-trail--ink{stroke:#454340;stroke-width:2;opacity:.35}

/* Enfoque: una Voz aísla sus hilos y sus redes. */
.orc [data-voice],.orc .orc-badge,.orc .orc-pub,.orc .orc-brand{transition-property:opacity;transition-duration:.24s;transition-timing-function:var(--orc-ease)}
.orc.has-focus [data-voice]:not(.is-focus),.orc.has-focus .orc-badge:not(.is-focus),.orc.has-focus .orc-pub:not(.is-focus){opacity:.16}

.orc-card{position:absolute;z-index:2;left:0;top:0;min-width:168px;padding:10px 12px;background:#fff;border:1px solid #E7E4E0;border-radius:8px;box-shadow:0 8px 24px rgba(26,25,23,.08),0 1px 2px rgba(26,25,23,.06);display:grid;gap:2px;pointer-events:none;transform:translate(-50%,calc(-100% - 14px));opacity:0;transition:opacity .14s var(--orc-ease)}
.orc-card.is-open{opacity:1}
.orc-card strong{font:600 14px/1.3 var(--font-ui);color:#1A1917}
.orc-card__reg{font:500 11px/1.4 var(--font-mono);letter-spacing:.08em;color:#C2410C;font-variant-numeric:tabular-nums}
.orc-card__spec{font:400 13px/1.4 var(--font-ui);color:#666360}

/* Entrada: Marca (320 ms) → Voces (120 ms escalonado) → firma (800 ms). */
.orc.is-armed .orc-brand,.orc.is-armed .orc-voice>*,.orc.is-armed .orc-badge>*{transform-box:fill-box;transform-origin:center}
.orc.is-armed .orc-brand{opacity:0;transform:scale(.82)}
.orc.is-armed .orc-voice>*:not(.orc-voice__hit){opacity:0;transform:scale(.6)}
.orc.is-armed .orc-badge>*{opacity:0;transform:scale(.7)}
.orc.is-armed .orc-orbit--voice{stroke-dasharray:1000;stroke-dashoffset:1000}
.orc.is-armed .orc-orbit--net,.orc.is-armed .orc-dial,.orc.is-armed .orc-zone,.orc.is-armed .orc-field,.orc.is-armed .orc-brand__halo{opacity:0}
.orc.is-armed .orc-rel,.orc.is-armed .orc-sigmask,.orc.is-armed .orc-pub{stroke-dasharray:100;stroke-dashoffset:100}
.orc.is-armed .orc-label,.orc.is-armed .orc-caption,.orc.is-armed .orc-ledger{opacity:0}

.orc.is-in .orc-brand{opacity:1;transform:none;transition:opacity .32s var(--orc-ease),transform .32s var(--orc-ease)}
.orc.is-in .orc-field{opacity:.7;transition:opacity 1.4s var(--orc-ease)}
.orc.is-in .orc-orbit--voice{stroke-dashoffset:0;transition:stroke-dashoffset 1.1s var(--orc-ease) .12s}
.orc.is-in .orc-orbit--net{opacity:1;transition:opacity .9s var(--orc-ease) .9s}
.orc.is-in .orc-dial{opacity:1;transition:opacity .8s var(--orc-ease) .2s}
.orc.is-in .orc-brand__halo{opacity:1;transition:opacity .8s var(--orc-ease) .3s}
.orc.is-in .orc-voice>*:not(.orc-voice__hit){opacity:1;transform:none;transition:opacity .32s var(--orc-ease) var(--d),transform .42s var(--orc-ease) var(--d)}
.orc.is-in .orc-rel{stroke-dashoffset:0;transition:stroke-dashoffset .5s var(--orc-ease) var(--d)}
.orc.is-in .orc-sigmask{stroke-dashoffset:0;transition:stroke-dashoffset .8s var(--orc-ease) var(--d)}
.orc.is-in .orc-pub{stroke-dashoffset:0;transition:stroke-dashoffset .6s var(--orc-ease) var(--d),opacity .24s var(--orc-ease)}
.orc.is-in .orc-badge>*{opacity:1;transform:none;transition:opacity .3s var(--orc-ease) var(--d),transform .4s var(--orc-ease) var(--d)}
.orc.is-in .orc-badge image{opacity:.42;transition:opacity .9s var(--orc-ease) var(--d),filter .9s var(--orc-ease),transform .4s var(--orc-ease) var(--d)}
.orc.is-in .orc-badge rect{transition:opacity .3s var(--orc-ease) var(--d),transform .4s var(--orc-ease) var(--d),stroke .9s var(--orc-ease)}
.orc.is-in .orc-voice .orc-voice__seat{transition:opacity .32s var(--orc-ease) var(--d),transform .42s var(--orc-ease) var(--d),stroke-opacity .9s var(--orc-ease),stroke-width .9s var(--orc-ease)}
.orc.is-in .orc-zone,.orc.is-in .orc-label,.orc.is-in .orc-caption,.orc.is-in .orc-ledger{opacity:1;transition:opacity .6s var(--orc-ease) 1.9s}
/* After the entrance, state changes answer at once (no inherited delays). */
.orc.is-settled .orc-badge>*,.orc.is-settled .orc-voice>*{transition-delay:0s}
.orc .orc-badge.is-lit rect{stroke:#AFABA5;transition-duration:.14s;transition-delay:0s}
.orc .orc-badge.is-lit image{opacity:1;filter:none;transition-duration:.14s;transition-delay:0s}
.orc .orc-voice.is-active .orc-voice__seat{stroke-opacity:1;stroke-width:1.75;transition-duration:.14s;transition-delay:0s}

.orc.is-paused *{animation-play-state:paused!important}

@keyframes orc-spin{to{transform:rotate(360deg)}}
@keyframes orc-flow{to{stroke-dashoffset:-9}}

@media(max-width:760px){
  .orc-name,.orc-zone,.orc-caption{display:none}
  .orc-label{font-size:34px}
  .orc-ledger{font-size:16px;letter-spacing:.1em}
  .orc-card{display:none}
}
@media(prefers-reduced-motion:reduce){
  .orc *,.orc *::before{animation:none!important;transition:none!important}
  .orc-sweep,.orc-packets{display:none}
}
@media(prefers-reduced-motion:reduce){.orc-badge image{opacity:1;filter:none}}
