/* =====================================================================
   MAPA DO ORQUESTRADOR · estilos (usa os tokens de deyel.css; na home o
   bundle define --accent/--accent-2 e o resto e declarado aqui com fallback)
   ===================================================================== */
.orq{--orq-empilhado:0;--orq-azul:var(--accent-hi,#7FA5FF);--orq-fio:rgba(127,165,255,.62);
 position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr) minmax(0,1fr);
 gap:clamp(22px,3vw,56px);align-items:center;margin-top:clamp(28px,3.4vw,44px);color:#fff}
.orq-col{display:grid;gap:8px;position:relative;z-index:2}
.orq-lb{font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:#8A92A0;margin-bottom:6px}
.orq-lb span{display:block;color:var(--orq-azul);margin-bottom:2px}
.orq-d .orq-lb{text-align:right}
.orq-no{position:relative;padding:13px 15px;border-radius:12px;border:1px solid rgba(255,255,255,.1);
 background:rgba(255,255,255,.028);transition:border-color .25s,background .25s,transform .35s var(--e,ease);outline:0;cursor:default}
.orq-no:hover,.orq-no:focus-visible,.orq-no.on{border-color:rgba(127,165,255,.55);background:rgba(47,107,255,.12)}
.orq-e .orq-no:hover,.orq-e .orq-no.on{transform:translateX(4px)}
.orq-d .orq-no:hover,.orq-d .orq-no.on{transform:translateX(-4px)}
.orq-no b{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-family:var(--disp,inherit);font-weight:500;font-size:14.5px;letter-spacing:-.005em;color:#fff}
.orq-no b i{font-style:normal;font-size:10.5px;color:#767E8C;font-variant-numeric:tabular-nums;margin-right:9px;letter-spacing:.06em}
.orq-no b em{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8A92A0;white-space:nowrap}
.orq-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.orq-tags span{font-size:11.5px;color:#C9CFD9;padding:3px 7px;border-radius:5px;border:1px solid rgba(255,255,255,.1);background:rgba(11,11,12,.35);white-space:nowrap}
.orq-no p{margin:7px 0 0;font-size:12.5px;line-height:1.5;color:#9AA3B2}
.orq-d .orq-no p,.orq-d .orq-no b{text-align:left}
.orq-foco .orq-no:not(.on){opacity:.45}
.orq-no{transition:border-color .25s,background .25s,transform .35s var(--e,ease),opacity .25s}

/* centro */
.orq-m{gap:14px;align-items:center;justify-items:center}
.orq-cerebro{position:relative;width:100%;max-width:340px;aspect-ratio:1.18;border-radius:20px;overflow:hidden;
 display:grid;place-content:center;text-align:center;gap:6px;padding:26px;
 background:linear-gradient(160deg,#141a2b,#0b0f1c);border:1px solid rgba(127,165,255,.35);
 box-shadow:0 0 0 1px rgba(47,107,255,.15),0 50px 100px -40px rgba(47,107,255,.35),inset 0 0 60px rgba(47,107,255,.08)}
.orq-cerebro .orq-grade{position:absolute;inset:0;opacity:.35;pointer-events:none;
 background-image:linear-gradient(rgba(127,165,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(127,165,255,.18) 1px,transparent 1px);
 background-size:22px 22px;mask-image:radial-gradient(60% 60% at 50% 50%,#000 30%,transparent 100%);-webkit-mask-image:radial-gradient(60% 60% at 50% 50%,#000 30%,transparent 100%)}
.orq-cerebro>*{position:relative}
.orq-cerebro small{font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--orq-azul)}
.orq-cerebro b{font-family:var(--disp,inherit);font-weight:500;font-size:clamp(34px,3.2vw,46px);letter-spacing:-.02em;line-height:1;color:#fff}
.orq-cerebro em{font-style:normal;font-size:12.5px;color:#D7DBE2;letter-spacing:.02em}
.orq-cerebro span{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8A92A0;margin-top:6px}
.orq-ponte{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;max-width:340px}
.orq-ponte small{flex-basis:100%;text-align:center;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#767E8C;margin-bottom:2px}
.orq-ponte span{font-size:11.5px;color:#C9CFD9;padding:4px 9px;border-radius:6px;border:1px solid rgba(127,165,255,.22);background:rgba(47,107,255,.08)}

/* fios */
.orq-fios{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}
.orq-fio{fill:none;stroke:var(--orq-fio);stroke-width:1.4;stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke .3s,stroke-width .3s}
.orq-on .orq-fio{animation:orq-traca 1.6s var(--e,ease) forwards}
.orq-e ~ .orq-fios .orq-fio{animation-delay:.1s}
@keyframes orq-traca{to{stroke-dashoffset:0}}
.orq-fio.on{stroke:#fff;stroke-width:2.2}
.orq-foco .orq-fio:not(.on){stroke:rgba(127,165,255,.14)}
.orq-pt{fill:var(--orq-azul);opacity:.7}
.orq-pulso{fill:#fff;opacity:0;filter:drop-shadow(0 0 6px rgba(127,165,255,.9))}
.orq-on .orq-pulso{opacity:.9}
.orq-foco .orq-pulso:not(.on){opacity:.15}
@media(prefers-reduced-motion:reduce){.orq-fio{stroke-dashoffset:0;animation:none}}

/* compacto (home): so titulos, menos padding */
.orq-c{gap:clamp(18px,2.4vw,40px)}
.orq-c .orq-no{padding:10px 13px}
.orq-c .orq-no b{font-size:13.5px}
.orq-c .orq-ponte{display:none}
.orq-c .orq-cerebro{max-width:300px}

/* empilhado: em telas estreitas, cada coluna vira uma faixa e os fios somem */
@media(max-width:980px){
 .orq{--orq-empilhado:1;grid-template-columns:1fr;gap:26px}
 .orq-fios{display:none}
 .orq-m{order:2}.orq-e{order:1}.orq-d{order:3}
 .orq-d .orq-lb{text-align:left}
 .orq-e .orq-no:hover,.orq-e .orq-no.on,.orq-d .orq-no:hover,.orq-d .orq-no.on{transform:none}
 .orq-col:not(.orq-m){grid-template-columns:repeat(2,minmax(0,1fr))}
 .orq-col:not(.orq-m) .orq-lb{grid-column:1/-1}
 .orq-m{position:relative;padding:18px 0}
 .orq-m:before{content:"";position:absolute;left:50%;top:-26px;bottom:-26px;width:1px;background:linear-gradient(180deg,transparent,var(--orq-fio) 20%,var(--orq-fio) 80%,transparent)}
 .orq-m>*{position:relative;z-index:1}
 .orq-foco .orq-no:not(.on){opacity:1}
}
@media(max-width:560px){.orq-col:not(.orq-m){grid-template-columns:1fr}}

/* setores com pagina propria: o no da direita e link */
a.orq-no{display:block;color:inherit;cursor:pointer}
.orq-ir{display:block;margin-top:6px;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orq-azul);opacity:0;transform:translateX(-4px);transition:opacity .25s,transform .25s}
.orq-no:hover .orq-ir,.orq-no:focus-visible .orq-ir{opacity:1;transform:none}
.orq-c .orq-ir{display:none}
