/* CloudINX v47.01 - final visual authority sweep
   Purpose: eliminate legacy-layout collisions, preserve premium spacing, and keep
   every screen readable from compact desktop through mobile without changing the
   approved CloudINX proposition. */

/* Header authority: the logo, navigation and CTA must never compete for the same space. */
body.cx-v4700 .cx-header{height:76px!important;min-height:76px!important}
body.cx-v4700 .cx-nav-shell{
  width:min(1440px,calc(100% - 48px))!important;
  max-width:1440px!important;
  height:100%!important;
  margin-inline:auto!important;
  padding-inline:0!important;
  grid-template-columns:128px minmax(0,1fr) auto auto!important;
  column-gap:clamp(16px,1.7vw,26px)!important;
  align-items:center!important;
}
body.cx-v4700 .cx-brand{
  position:static!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  max-width:128px!important;
  line-height:1!important;
  overflow:visible!important;
}
body.cx-v4700 .cx-brand img{width:118px!important;max-width:118px!important;max-height:38px!important;height:auto!important;object-fit:contain!important}
body.cx-v4700 .cx-brand-tagline{display:none!important}
body.cx-v4700 .cx-nav{min-width:0!important;gap:clamp(12px,1.15vw,19px)!important;justify-content:center!important;overflow:visible!important}
body.cx-v4700 .cx-nav a{font-size:11.5px!important;white-space:nowrap!important;padding:27px 0 24px!important}
body.cx-v4700 .cx-nav-cta{min-width:112px!important;min-height:38px!important;padding:0 16px!important;font-size:11.5px!important;white-space:nowrap!important}
body.cx-v4700 .cx-menu{margin-left:auto!important}

/* Global anti-collision rules for legacy grids/flex rows. */
body.cx-v4700 :is(.container,.cx-wrap,.cx-wrap-wide,.wide-wrap,.page-hero-grid,.editorial-grid,.split,.cards-2,.cards-3,.cards-4,.service-grid,.industry-grid,.cta-grid,.cx47-manifesto-grid,.cx47-closing-inner)>*{min-width:0}
body.cx-v4700 main :is(h1,h2,h3,h4,p,li){overflow-wrap:break-word}
body.cx-v4700 .section-head h2{margin-bottom:20px!important}
body.cx-v4700 .section-head h2+p{margin-top:0!important}
body.cx-v4700 :is(.card,.service-card,.industry-card) h3+p{margin-top:12px!important}
body.cx-v4700 .page-hero-copy h1+.lead{margin-top:24px!important}
body.cx-v4700 .button,body.cx-v4700 .cx-pill{line-height:1.2!important;text-align:center}

/* Homepage purpose: one statement, then a deliberate pause, then the explanation. */
body.cx-v4700[data-page="index"] .v29-purpose{padding:clamp(98px,9vw,148px) 0!important}
body.cx-v4700[data-page="index"] .v29-purpose-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
  align-items:start!important;
}
body.cx-v4700[data-page="index"] .v29-purpose-grid>div:first-child{max-width:940px!important}
body.cx-v4700[data-page="index"] .v29-purpose h2{
  max-width:900px!important;
  margin:0!important;
  font-size:clamp(3.15rem,5.2vw,5.45rem)!important;
  line-height:.98!important;
  letter-spacing:-.052em!important;
}
body.cx-v4700[data-page="index"] .v29-purpose-copy{
  max-width:790px!important;
  margin-top:38px!important;
  padding-top:0!important;
  font-size:18px!important;
  line-height:1.72!important;
}
body.cx-v4700[data-page="index"] .v29-purpose-copy p{margin:0 0 22px!important}
body.cx-v4700[data-page="index"] .v29-purpose-art{
  grid-column:1!important;
  width:100%!important;
  min-height:330px!important;
  margin-top:50px!important;
}

/* Closing area: preserve separation between message and actions at all desktop widths. */
body.cx-v4700 .cx47-closing-inner{grid-template-columns:minmax(0,1fr) minmax(280px,auto)!important;gap:clamp(36px,5vw,72px)!important}
body.cx-v4700 .cx47-closing-actions{max-width:440px!important}

/* Form and workspace readability. */
body.cx-v4700 form :is(input,select,textarea){line-height:1.35!important}
.cxw-body.cx-v4700 .cxw-panel-head{gap:18px!important}
.cxw-body.cx-v4700 .cxw-panel-head>div{min-width:0}
.cxw-body.cx-v4700 .cxw-page-head h1{line-height:1.04!important}
.cxw-body.cx-v4700 :is(.cxw-page-head,.cxw-panel-head) p{line-height:1.58!important}

/* Earlier desktop switch prevents navigation compression before it can happen. */
@media(max-width:1320px){
  body.cx-v4700 .cx-nav,body.cx-v4700 .cx-nav-cta{display:none!important}
  body.cx-v4700 .cx-menu{display:block!important}
  body.cx-v4700 .cx-nav-shell{grid-template-columns:auto 1fr auto!important;width:calc(100% - 40px)!important}
  body.cx-v4700 .cx-brand{max-width:none!important}
  body.cx-v4700 .cx-brand img{width:124px!important;max-width:124px!important}
}
@media(max-width:980px){
  body.cx-v4700 .cx47-closing-inner{grid-template-columns:1fr!important}
  body.cx-v4700 .cx47-closing-actions{max-width:none!important}
}
@media(max-width:720px){
  body.cx-v4700 .cx-header{height:64px!important;min-height:64px!important}
  body.cx-v4700 .cx-nav-shell{width:calc(100% - 28px)!important}
  body.cx-v4700 .cx-brand img{width:112px!important;max-width:112px!important}
  body.cx-v4700[data-page="index"] .v29-purpose{padding:82px 0!important}
  body.cx-v4700[data-page="index"] .v29-purpose h2{font-size:clamp(2.8rem,13vw,4.25rem)!important;line-height:1!important}
  body.cx-v4700[data-page="index"] .v29-purpose-copy{margin-top:28px!important;font-size:17px!important}
  body.cx-v4700[data-page="index"] .v29-purpose-art{margin-top:38px!important;min-height:250px!important}
}
