/* Shared infrastructure exhibit; geometry derives from the archived Connected artwork. */
.infrastructure {
  --infra-bg:var(--s-bg,#0b1422);--infra-panel:var(--s-panel,#101e2d);--infra-soft:var(--s-alt,#152735);
  --infra-ink:var(--s-ink,#edf3f5);--infra-muted:var(--s-muted,#aabac5);--infra-line:var(--s-line,#2a3a49);
  --infra-accent:var(--s-accent,#a8e9ca);--infra-blue:var(--cn-work,#b2d9e6);
  --infra-route-muted:color-mix(in srgb,var(--infra-blue) 58%,var(--infra-bg));
  --infra-rest-accent:var(--infra-accent);
  --infra-rest-panel:var(--infra-panel);--infra-rest-soft:var(--infra-soft);
  --infra-tone-ai:#bcb1ff;
  --infra-duration:var(--motion-standard,200ms);--infra-ease:var(--motion-ease,cubic-bezier(.4,0,.2,1));
  margin:40px 0 0;padding:0;border-top:1px solid var(--infra-line);color:var(--infra-ink);
  min-width:0;container-type:inline-size;isolation:isolate;
}
.option-connected .infrastructure {
  --infra-bg:#0b1422;--infra-panel:#101e2d;--infra-soft:#152735;
  --infra-ink:var(--cc-ink);--infra-muted:var(--cc-muted);--infra-line:var(--cc-line);
  --infra-accent:var(--cc-mint);--infra-blue:var(--cc-blue);
}
html[data-theme="light"] .option-connected .infrastructure { --infra-bg:#f1f7f6;--infra-panel:#ffffff;--infra-soft:#e4efed;--infra-muted:#3c535d; }
html[data-theme="light"] .infrastructure { --infra-tone-ai:#7350ac; }
.infrastructure .infra-heading { display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:20px 0; }
.infrastructure .infra-heading h3 { margin:0;color:var(--infra-ink);font:400 14px/1.5 var(--font-body);letter-spacing:0; }
.infrastructure .infra-motion { font:400 10px/1.5 var(--font-mono);color:var(--infra-ink);background:transparent;border:1px solid var(--infra-line);border-radius:30px;min-height:38px;min-width:88px;padding:8px 12px;flex-shrink:0; }
.infrastructure .infra-motion[aria-pressed="true"] { border-color:var(--infra-accent); }
.infrastructure .infra-motion:disabled { cursor:default; }
.infrastructure .infra-canvas { width:100%;min-width:0; }
.infrastructure .infra-art { display:block;width:100%;height:auto;max-height:360px;overflow:hidden; }
.infrastructure .infra-operating-console { max-height:none; }
.infrastructure .infra-data-pulse { pointer-events:none; }
.infrastructure .infra-mobile-labels { display:none;font:600 18px/1.4 var(--font-display); }
.infrastructure .infra-art-grid { opacity:.8; }
.infrastructure .infra-art-routes { stroke-width:1.5px; }
.infrastructure .infra-art-layer { transform-box:fill-box;transform-origin:center;transition:transform var(--infra-duration) var(--infra-ease); }
.infrastructure[data-selected="0"] .infra-art-work,.infrastructure[data-selected="2"] .infra-art-intelligence { stroke:var(--infra-accent);stroke-width:1.7px; }
.infrastructure[data-selected="1"] .infra-art-evidence>g { stroke-width:1.7px; }
.infrastructure .infra-operating-console .infra-art-layer { transition:none; }
.infrastructure .infra-operating-console .infra-art-layer {
  --infra-stage-color:var(--infra-tone-ai);
  --infra-signal-strength:0%;
  --infra-blue:color-mix(in srgb,var(--infra-rest-accent),var(--infra-stage-color) calc(var(--infra-signal-strength) * .8));
  --infra-accent:color-mix(in srgb,var(--infra-rest-accent),var(--infra-stage-color) calc(var(--infra-signal-strength) * .8));
  --infra-panel:color-mix(in srgb,var(--infra-rest-panel),var(--infra-stage-color) calc(var(--infra-signal-strength) * .08));
  --infra-soft:color-mix(in srgb,var(--infra-rest-soft),var(--infra-stage-color) calc(var(--infra-signal-strength) * .12));
}
.infrastructure .infra-data-pulse { fill:var(--infra-tone-ai); }
.infrastructure .infra-controls { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;width:90%;margin-inline:auto; }
.infrastructure .infra-control { min-width:0;display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:0 10px 17px;border:0;border-radius:0;background:transparent;color:var(--infra-ink);font-family:var(--font-body);cursor:pointer; }
.infrastructure .infra-control:disabled { cursor:default; }
.infrastructure .infra-product { display:flex;align-items:flex-end;min-height:54px;font:600 clamp(19px,2.1vw,26px)/1.3 var(--font-display);letter-spacing:-0.0175em; }
.infrastructure .infra-control-rule { width:100%;height:1px;flex-shrink:0;background:var(--infra-line);margin-block:17px 12px; }
.infrastructure .infra-control[aria-pressed="true"] .infra-control-rule { height:2px;margin-bottom:11px;background:var(--infra-accent); }
.infrastructure .infra-control:hover .infra-control-rule { background:var(--infra-accent); }
.infrastructure .infra-function { font:400 13px/1.5 var(--font-body);color:var(--infra-muted);min-height:20px; }
.infrastructure .infra-relationship { max-width:92ch;margin:25px auto 0!important;padding:22px 0;border-top:1px solid var(--infra-line);color:var(--infra-muted);font:400 15px/1.65 var(--font-body);text-align:center; }
.infrastructure .infra-details { position:relative;margin-top:0;border-block:1px solid var(--infra-line);background:var(--infra-panel); }
.infrastructure[data-enhanced="true"] .infra-details { min-height:var(--infra-detail-height,180px); }
.infrastructure .infra-panel { display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1.6fr);gap:46px;padding:29px 32px;min-width:0; }
.infrastructure .infra-panel[hidden] { display:none!important; }
.infrastructure:not([data-enhanced="true"]) .infra-panel+.infra-panel { border-top:1px solid var(--infra-line); }
.infrastructure .infra-panel-heading { min-width:0; }
.infrastructure .infra-panel h4 { color:var(--infra-ink);margin:0;max-width:17ch;font:600 25px/1.24 var(--font-display);letter-spacing:-0.0175em; }
.infrastructure .infra-output { margin-top:12px!important;color:var(--infra-accent);font:400 12px/1.6 var(--font-mono); }
.infrastructure .infra-copy { margin:0;max-width:76ch;color:var(--infra-muted);font:400 16px/1.65 var(--font-body); }
.infrastructure .infra-caption { padding-top:15px;margin:0;color:var(--infra-muted);font:400 11px/1.6 var(--font-body); }
.infrastructure :is(.infra-control,.infra-motion):focus-visible { outline:var(--pearl-focus-width) solid var(--pearl-focus);outline-offset:var(--pearl-focus-offset); }
.infrastructure[data-motion="off"] *,.infrastructure[data-motion="off"] *::before,.infrastructure[data-motion="off"] *::after { animation:none!important;transition:none!important; }
@container(max-width:800px) {
  .infrastructure .infra-controls { width:96%;gap:22px; }
  .infrastructure .infra-product { font-size:21px;min-height:55px; }
  .infrastructure .infra-control { padding-inline:7px; }
  .infrastructure .infra-panel { grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:28px;padding:25px 24px; }
  .infrastructure .infra-panel h4 { font-size:23px; }
  .infrastructure .infra-copy { font-size:15px; }
}
@container(max-width:600px) {
  .infrastructure .infra-operating-console[data-layout="stack"] { max-width:360px;margin-inline:auto; }
  .infrastructure .infra-operating-console[data-layout="stack"] .infra-mobile-labels { display:block; }
  .infrastructure .infra-operating-console[data-layout="stack"] .infra-art-work text { display:none; }
  .infrastructure .infra-art-work .infra-art-fine,.infrastructure .infra-art-intelligence .infra-art-fine { display:none; }
  .infrastructure .infra-heading { gap:16px;padding-top:18px; }
  .infrastructure .infra-heading h3 { font-size:13px; }
  .infrastructure .infra-controls { width:100%;gap:16px; }
  .infrastructure .infra-control { padding:0 4px 13px; }
  .infrastructure .infra-product { font-size:17px;min-height:45px; }
  .infrastructure .infra-control-rule { margin-top:14px; }
  .infrastructure .infra-function { font-size:12px;min-height:36px; }
  .infrastructure .infra-relationship { font-size:14px;margin-top:14px!important;padding-block:20px;text-align:left; }
  .infrastructure .infra-panel { grid-template-columns:1fr;gap:17px;padding:24px; }
  .infrastructure .infra-panel h4 { max-width:none;font-size:23px; }
  .infrastructure .infra-output { font-size:11px;margin-top:9px!important; }
  .infrastructure .infra-copy { font-size:15px;line-height:1.65; }
}
@container(max-width:380px) {
  .infrastructure .infra-heading { gap:12px; }
  .infrastructure .infra-heading h3 { font-size:12px; }
  .infrastructure .infra-motion { min-width:78px;font-size:9px;padding-inline:8px; }
  .infrastructure .infra-controls { gap:10px; }
  .infrastructure .infra-control { padding-inline:1px; }
  .infrastructure .infra-product { font-size:14px;min-height:39px;line-height:1.35;letter-spacing:-0.0125em; }
  .infrastructure .infra-function { font-size:11px;min-height:50px; }
  .infrastructure .infra-panel { padding:23px 18px;gap:15px; }
  .infrastructure .infra-panel h4 { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) {
  .infrastructure .infra-data-pulse { display:none; }
  .infrastructure .infra-operating-console .infra-art-layer { --infra-signal-strength:0%!important; }
  .infrastructure *,.infrastructure *::before,.infrastructure *::after { animation:none!important;transition:none!important; }
}
