/* CloudINX visual-readability and spacing refinement — staging review */
:root { --cx-content-gap: clamp(1rem,2vw,1.75rem); }
/* Avoid excessive vertical whitespace while retaining breathing room. */
main > section:not(.cx39-hero):not(.page-hero):not(.v34-signal-hero),
main > .section { scroll-margin-top: 6rem; }
@media(min-width:768px){
 main > section.cinx-customer, main > section.cinx-clarity,
 main > section.cx-story, main > section.cx39-section,
 main > section.cx-continuum { padding-top:clamp(2.5rem,4vw,4.5rem);padding-bottom:clamp(2.5rem,4vw,4.5rem); }
}
/* Keep text visible on illustrated nodes and circles: no decorative overlay may sit above content. */
.cx-control-orbit, .fabric-orbit, .ela-orbit, .practice-orbit { isolation:isolate; }
.cx-control-orbit :is(strong,span,p,a),
.fabric-orbit :is(strong,span,p,a),
.ela-orbit :is(strong,span,p,a),
.practice-orbit :is(strong,span,p,a) {
 position:relative;z-index:5;opacity:1;visibility:visible;
 text-shadow:0 1px 5px rgba(0,0,0,.55);
}
.cx-control-orbit:before,.cx-control-orbit:after,
.ela-orbit:before,.ela-orbit:after {pointer-events:none;z-index:0;}
/* Text cards on dark photographic surfaces need an opaque enough backing. */
:is(.cx39-dark,.section-dark,.cinx-clarity.dark) :is(.card,.cx-card,.feature-card) {color:#f4fbff;}
:is(.cx39-dark,.section-dark,.cinx-clarity.dark) :is(.card,.cx-card,.feature-card) p {opacity:1;}
/* Use existing bundled infrastructure photography to enrich broad empty bands. */
body.cx-visual-refined .cx-geometry-statement {
 background-image:linear-gradient(90deg,rgba(5,18,37,.94),rgba(5,18,37,.75)),url('assets/v30-6/data-centre-services-hero.webp');
 background-size:cover;background-position:center; color:#fff;
}
body.cx-visual-refined .cx-geometry-statement :is(h1,h2,h3,p,span) {color:inherit;}
body.cx-visual-refined .cinx-trust {background-image:linear-gradient(120deg,rgba(250,253,255,.97),rgba(250,253,255,.90)),url('assets/cloudinx-connected-geometry-cyan.png');background-size:cover;background-position:center;}
/* Make pill and node labels readable, even when inherited animations change opacity. */
:is([class*="pill"],[class*="node-label"],[class*="orbit-label"]) {overflow-wrap:anywhere;}
@media(max-width:767px){
 .cx-control-orbit :is(strong,span,p),.fabric-orbit :is(strong,span,p),.ela-orbit :is(strong,span,p) {font-size:clamp(.75rem,2.8vw,1rem);line-height:1.35;}
 body.cx-visual-refined .cx-geometry-statement {background-position:65% center;}
}
