/* Inner pages only; the approved homepage does not load this stylesheet. */
body:not(.home-page) .system-figure > svg { max-width:100%; }
body:not(.home-page) .system-figure :is(.connectivity-places,.connectivity-services) svg {
  display:block; flex:none; width:30px; height:30px; max-width:30px; max-height:30px; color:#246579;
}
body:not(.home-page) .system-figure .connectivity-places svg { width:23px; height:23px; }
/* Keep explanatory scenes secondary and avoid a tall stack opposite two short articles. */
body:not(.home-page) .connectivity-explainer { padding:22px; }
body:not(.home-page) .connectivity-explainer .connectivity-scene { max-height:180px; margin-inline:auto; }
body:not(.home-page) .connectivity-explainer .connectivity-title { margin-top:14px; font-size:28px; max-width:none; }
body:not(.home-page) .connectivity-explainer :is(.connectivity-links,.connectivity-services) { margin-top:16px; }
body:not(.home-page) .connectivity-explainer .connectivity-links { padding-top:14px; }
body:not(.home-page) .connectivity-explainer :is(.connectivity-checkpoints,figcaption) { margin-top:14px; padding-top:14px; }
body:not(.home-page) .page-network-background {
  position:relative; isolation:isolate;
  background:#f1f5f5 url('/assets/images/backgrounds/inner-technical-linework.svg?v=2') right top / 1600px 800px repeat-y; background-attachment:fixed;
}
body:not(.home-page) .page-network-background > .section {
  position:relative; z-index:1; background:transparent;
}
/* Section tones remain subtle; the same routes show through all adjacent sections. */
body:not(.home-page) .page-network-background > .soft,
body:not(.home-page) .page-network-background > .handover-strip { background-color:#dce7ea38; }
body:not(.home-page) .inner-network-layer { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
body:not(.home-page) .inner-network-svg { position:absolute; right:0; top:var(--network-phase,0px); width:1600px; max-width:none; }
.inner-network-packet { animation:inner-network-travel var(--duration) linear var(--delay) infinite; animation-direction:var(--direction); }
.inner-network-pulse { fill:none; stroke:#168bff; stroke-width:5; stroke-linecap:round; opacity:.12; }
.inner-network-trail { stroke-width:2.4; opacity:.38; }
.inner-network-beam { stroke:#299cff; stroke-width:2.2; stroke-linecap:butt; opacity:.72; }
.inner-network-core { stroke:#52b5ff; stroke-width:1.8; stroke-linecap:butt; opacity:.95; }
.inner-network-glow { fill:#299cff; opacity:0; animation:inner-network-junction var(--duration) linear var(--delay) infinite; }
.page-network-background:not(.inner-network-running) :is(.inner-network-packet,.inner-network-glow) { animation-play-state:paused; }
.inner-network-control { display:block; margin:0 0 0 auto; min-height:44px; border:0; padding:8px 10px; background:transparent; color:#526168; font:500 11px/1.4 var(--body); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.inner-network-controls { position:relative; z-index:2; }
.inner-network-control:focus-visible { outline:2px solid #a80000; outline-offset:2px; }
@keyframes inner-network-travel { 0% { stroke-dashoffset:0; opacity:0; } 4% { opacity:1; } 90% { stroke-dashoffset:var(--travel); opacity:1; } 96%,100% { stroke-dashoffset:var(--travel); opacity:0; } }
@keyframes inner-network-junction { 0%,5%,100% { opacity:0; } 2% { opacity:.18; } }
@media(max-width:1100px) { .inner-network-layer [data-packet="2"] { display:none; } }
@media(max-width:680px) {
  .inner-network-layer [data-packet="1"] { display:none; }
  body:not(.home-page) .connectivity-explainer { padding:20px 16px; }
}
@media(prefers-reduced-motion:reduce) {
  .inner-network-layer,.inner-network-controls { display:none; }
  .inner-network-packet,.inner-network-glow { animation:none; }
}
@media print, (forced-colors:active) {
  .inner-network-layer,.inner-network-controls { display:none; }
  body:not(.home-page) .page-network-background { background:Canvas; }
}
/* Photography and editorial-only areas are intentional quiet breaks between networks. */
body:not(.home-page) main > .installation-photographs { background:#f1f5f5; }
body:not(.home-page) main > .installation-guidance { background:#fff; }
/* Supporting photography follows the grid and retains the whole approved composition. */
body:not(.home-page) .hero-explainer .installation-figure {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center;
  width:100%; max-width:none; margin:0;
}
body:not(.home-page) .hero-explainer .installation-figure img {
  height:auto; aspect-ratio:3/2; object-fit:contain;
}
body:not(.home-page) .hero-explainer .installation-figure figcaption {
  padding:clamp(24px,3vw,48px); font-size:clamp(18px,1.5vw,26px); line-height:1.5; background:transparent;
}
body:not(.home-page) .hero-explainer .installation-figure figcaption span { margin-top:16px; font-size:12px; }
@media(max-width:980px) {
  body:not(.home-page) .hero-explainer .installation-figure { display:block; }
  body:not(.home-page) .hero-explainer .installation-figure figcaption { padding:14px 18px; font-size:13px; }
  body:not(.home-page) .hero-explainer .installation-figure figcaption span { margin-top:4px; font-size:11px; }
}
/* Galleries are static visual breaks, not separately restarted network tiles. */
body:not(.home-page) main > .section:has(.gallery) { background:#f1f5f5; }
/* Match the legacy four-class wallpaper selector so ungrouped reading areas stay quiet. */
body:not(.home-page) main > .section:not(.immersive):not(.depth-section):not(.technical-sources) {
  background-image:none;
}
