/* CloudINX V44 — unified experience polish */
:root{
  --v44-ink:#07192d;
  --v44-navy:#06182b;
  --v44-blue:#00aeea;
  --v44-blue-2:#008fcb;
  --v44-line:rgba(7,25,45,.12);
  --v44-soft:#f4f8fb;
  --v44-red:#b42318;
  --v44-shadow:0 24px 70px rgba(2,19,36,.11);
}
html{scroll-behavior:smooth}
body{font-synthesis:none;text-rendering:optimizeLegibility}
body.v44 main{overflow:clip}
body.v44 .container,body.v44 .cx-wrap{max-width:1240px}
body.v44 h1,body.v44 h2,body.v44 h3{letter-spacing:-.035em;text-wrap:balance}
body.v44 p{line-height:1.65}
body.v44 .lead{max-width:760px}
body.v44 .page-hero,body.v44 .cx-hero{isolation:isolate}
body.v44 .button,body.v44 .cx-pill,body.v44 .cx-nav-cta{transition:transform .24s ease,box-shadow .24s ease,background .24s ease,border-color .24s ease}
body.v44 .button:hover,body.v44 .cx-pill:hover,body.v44 .cx-nav-cta:hover{transform:translateY(-1px)}
body.v44 input,body.v44 select,body.v44 textarea{transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
body.v44 input:focus,body.v44 select:focus,body.v44 textarea:focus{outline:none;border-color:rgba(0,174,234,.8)!important;box-shadow:0 0 0 4px rgba(0,174,234,.12)!important}
body.v44 article,body.v44 .card,body.v44 .portal-card,body.v44 .portal-action{backface-visibility:hidden}
body.v44 .portal-card,body.v44 .portal-action{border:1px solid var(--v44-line);box-shadow:0 16px 50px rgba(2,19,36,.06)}
body.v44 .portal-card:hover,body.v44 .portal-action:hover{transform:translateY(-2px);box-shadow:var(--v44-shadow)}

/* Returning visitor surface */
.cx-return-toast{position:fixed;right:24px;bottom:24px;z-index:9999;max-width:min(420px,calc(100vw - 32px));padding:13px 17px;border-radius:999px;background:rgba(6,24,43,.94);color:#fff;box-shadow:0 18px 55px rgba(0,0,0,.22);font-size:13px;line-height:1.3;letter-spacing:.01em;opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease;pointer-events:none;backdrop-filter:blur(18px)}
.cx-return-toast.is-visible{opacity:1;transform:translateY(0)}
.cx-return-toast strong{font-weight:700}

/* Demo visitor intelligence bar */
.cx-visitor-intel{position:relative;z-index:10000;width:100%;padding:10px 18px;background:linear-gradient(90deg,#8f1713,#b42318,#8f1713);color:#fff;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;font-size:12px;letter-spacing:.055em;text-transform:uppercase;box-shadow:0 6px 20px rgba(93,13,10,.22)}
.cx-visitor-intel b{font-weight:800}
.cx-visitor-intel .cx-ip{font-variant-numeric:tabular-nums}
.cx-visitor-intel .cx-welcome{font-weight:800}
.cx-visitor-intel .cx-intel-dim{opacity:.8}

/* V44 configurator intro: customer-first and less defensive */
body.v44 .sourcing-intro{padding-top:clamp(28px,4vw,58px)}
body.v44 .sourcing-intro h2{max-width:860px}
body.v44 .sourcing-intro>p{max-width:820px}

/* Demo workspace simplified proof system */
body.v44 .portal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
body.v44 .portal-card{min-height:150px;border-radius:22px;padding:28px;background:linear-gradient(180deg,#fff,#f8fbfd)}
body.v44 .portal-card strong{font-size:clamp(38px,5vw,66px);letter-spacing:-.055em;color:var(--v44-navy)}
body.v44 .portal-card span{display:block;margin-top:8px;color:#526477;font-size:14px}
body.v44 .portal-top{padding-top:34px}
body.v44 .portal-demo-banner{border-radius:16px;padding:15px 18px}
body.v44 .portal-analytics{margin-top:30px;padding:28px;border:1px solid var(--v44-line);border-radius:24px;background:#fff;box-shadow:0 16px 50px rgba(2,19,36,.05)}
body.v44 .portal-analytics-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}
body.v44 .portal-analytics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
body.v44 .portal-analytics-metric{padding:18px;border-radius:16px;background:var(--v44-soft)}
body.v44 .portal-analytics-metric strong{display:block;font-size:28px;color:var(--v44-navy);letter-spacing:-.04em}
body.v44 .portal-analytics-metric span{font-size:12px;color:#607184}
body.v44 .portal-recent-pages{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:8px}
body.v44 .portal-recent-pages li{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid rgba(7,25,45,.08);font-size:13px}
body.v44 .portal-recent-pages code{color:#607184}

@media(max-width:900px){
  body.v44 .portal-grid,body.v44 .portal-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cx-return-toast{right:16px;bottom:16px}
}
@media(max-width:620px){
  .cx-visitor-intel{justify-content:flex-start;gap:8px 14px;padding:10px 14px;font-size:10px}
  body.v44 .portal-grid,body.v44 .portal-analytics-grid{grid-template-columns:1fr}
  body.v44 .portal-card{min-height:auto}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .cx-return-toast,body.v44 .button,body.v44 .cx-pill,body.v44 .cx-nav-cta{transition:none!important}
}

/* V44.1 configurator overlap repair */
body.v44 .sourcing-layout{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.7fr);
  grid-template-rows:auto 1fr;
  column-gap:clamp(34px,5vw,72px);
  row-gap:18px;
  align-items:start;
}
body.v44 .sourcing-intro{
  grid-column:1;
  grid-row:1 / span 2;
  position:sticky;
  top:112px;
  min-width:0;
  align-self:start;
}
body.v44 .config-progress-shell{
  grid-column:2;
  grid-row:1;
  position:sticky;
  top:76px;
  width:100%;
  min-width:0;
  margin:0 0 8px;
  box-sizing:border-box;
}
body.v44 .sourcing-form{
  grid-column:2;
  grid-row:2;
  min-width:0;
  width:100%;
}
body.v44 .config-summary{
  position:static !important;
  top:auto !important;
  max-height:none;
  overflow:visible;
  margin-top:1.75rem;
  padding:1.45rem 1.5rem;
  border-radius:14px;
}
body.v44 .config-summary>span,
body.v44 .config-summary strong,
body.v44 .config-summary ul{
  display:block;
  width:100%;
}
body.v44 .config-summary strong{
  margin:.65rem 0 .8rem;
  line-height:1.25;
  overflow-wrap:anywhere;
}
body.v44 .config-summary ul{
  margin:.2rem 0 0;
  padding-left:1.2rem;
}
body.v44 .config-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem .9rem;
  align-items:center;
  margin-top:1rem;
}
body.v44 .config-actions .text-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:.45rem .75rem;
  border-radius:999px;
  line-height:1.2;
  white-space:nowrap;
}
body.v44 .config-actions .text-button:hover,
body.v44 .config-actions .text-button:focus-visible{
  background:#eef8fc;
  outline:none;
}
body.v44 .config-progress-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px 20px;
}
body.v44 .config-progress-label,
body.v44 .config-progress-title{
  min-width:0;
  line-height:1.25;
}
body.v44 .config-progress-title{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  text-align:right;
}
body.v44 .config-section legend{
  display:flex;
  align-items:center;
  gap:10px;
  max-width:100%;
  line-height:1.25;
}
body.v44 .config-section legend span{
  flex:0 0 auto;
  margin-right:0;
}
body.v44 .field-row label,
body.v44 .config-section>label{
  min-width:0;
  overflow-wrap:anywhere;
}
body.v44 .field-row input,
body.v44 .field-row select,
body.v44 .field-row textarea,
body.v44 .config-section>label input,
body.v44 .config-section>label select,
body.v44 .config-section>label textarea{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
@media(max-width:1100px){
  body.v44 .sourcing-layout{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    row-gap:20px;
  }
  body.v44 .sourcing-intro,
  body.v44 .config-progress-shell,
  body.v44 .sourcing-form{
    grid-column:1;
    grid-row:auto;
  }
  body.v44 .sourcing-intro{
    position:static;
  }
  body.v44 .config-progress-shell{
    top:68px;
    margin-bottom:0;
  }
}
@media(max-width:620px){
  body.v44 .config-progress-shell{
    padding:12px 14px;
    border-radius:14px;
  }
  body.v44 .config-progress-row{
    grid-template-columns:1fr;
    gap:4px;
  }
  body.v44 .config-progress-title{
    text-align:left;
  }
  body.v44 .config-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:.5rem;
  }
  body.v44 .config-actions .text-button{
    width:100%;
    justify-content:flex-start;
    white-space:normal;
  }
  body.v44 .config-summary{
    padding:1.2rem;
  }
}

/* V44.2 definitive configurator flow repair: no overlapping sticky columns */
body.v44 #configure .sourcing-layout{
  display:block !important;
}
body.v44 #configure .sourcing-intro{
  display:block !important;
  position:static !important;
  top:auto !important;
  width:100% !important;
  max-width:980px;
  margin:0 0 clamp(28px,4vw,48px) !important;
  padding:0 !important;
}
body.v44 #configure .sourcing-intro .kicker{
  margin-bottom:12px;
}
body.v44 #configure .sourcing-intro h2{
  position:static !important;
  display:block !important;
  max-width:900px;
  margin:0 0 18px !important;
  line-height:1.08 !important;
  overflow:visible !important;
}
body.v44 #configure .sourcing-intro>p{
  position:static !important;
  display:block !important;
  max-width:820px;
  margin:0 0 24px !important;
  line-height:1.65 !important;
}
body.v44 #configure .config-summary{
  position:static !important;
  display:block !important;
  width:100% !important;
  max-width:760px;
  margin:28px 0 0 !important;
  clear:both;
}
body.v44 #configure .config-actions{
  position:static !important;
  margin:16px 0 0 !important;
  clear:both;
}
body.v44 #configure .config-progress-shell{
  position:static !important;
  top:auto !important;
  display:block !important;
  width:100% !important;
  margin:0 0 28px !important;
  clear:both;
}
body.v44 #configure .sourcing-form{
  position:static !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  clear:both;
}
body.v44 #configure .config-section:first-of-type{
  margin-top:0 !important;
}
@media(max-width:620px){
  body.v44 #configure .sourcing-intro{
    margin-bottom:28px !important;
  }
  body.v44 #configure .sourcing-intro h2{
    font-size:clamp(2rem,10vw,3rem) !important;
  }
}
\n\n/* V44.3 isolated configurator layout — intentionally detached from legacy sourcing grid/sticky rules */\nbody.v44 #configure{\n  position:relative !important;\n  isolation:isolate;\n  overflow:visible !important;\n}\nbody.v44 #configure .cx-config-stack{\n  display:flex !important;\n  flex-direction:column !important;\n  align-items:stretch !important;\n  gap:0 !important;\n  position:relative !important;\n  overflow:visible !important;\n}\nbody.v44 #configure .cx-config-intro{\n  position:relative !important;\n  inset:auto !important;\n  transform:none !important;\n  float:none !important;\n  display:block !important;\n  width:100% !important;\n  max-width:980px !important;\n  min-height:0 !important;\n  height:auto !important;\n  margin:0 0 48px !important;\n  padding:0 !important;\n  overflow:visible !important;\n  z-index:auto !important;\n}\nbody.v44 #configure .cx-config-intro .kicker{\n  display:block !important;\n  position:relative !important;\n  margin:0 0 14px !important;\n}\nbody.v44 #configure #cx-config-title{\n  display:block !important;\n  position:relative !important;\n  inset:auto !important;\n  float:none !important;\n  width:auto !important;\n  max-width:900px !important;\n  min-height:0 !important;\n  height:auto !important;\n  margin:0 0 20px !important;\n  padding:0 !important;\n  line-height:1.08 !important;\n  overflow:visible !important;\n  white-space:normal !important;\n  z-index:auto !important;\n}\nbody.v44 #configure .cx-config-lead{\n  display:block !important;\n  position:relative !important;\n  width:auto !important;\n  max-width:820px !important;\n  margin:0 0 30px !important;\n  padding:0 !important;\n  line-height:1.65 !important;\n  overflow:visible !important;\n}\nbody.v44 #configure .cx-config-intro .config-summary{\n  display:block !important;\n  position:relative !important;\n  inset:auto !important;\n  transform:none !important;\n  float:none !important;\n  clear:both !important;\n  width:100% !important;\n  max-width:760px !important;\n  min-height:0 !important;\n  height:auto !important;\n  margin:0 !important;\n  overflow:visible !important;\n  z-index:auto !important;\n}\nbody.v44 #configure .cx-config-intro .config-actions{\n  display:flex !important;\n  flex-wrap:wrap !important;\n  position:relative !important;\n  float:none !important;\n  clear:both !important;\n  width:100% !important;\n  margin:18px 0 0 !important;\n  gap:12px !important;\n  z-index:auto !important;\n}\nbody.v44 #configure .config-progress-shell{\n  order:2 !important;\n  display:block !important;\n  position:relative !important;\n  inset:auto !important;\n  transform:none !important;\n  float:none !important;\n  clear:both !important;\n  width:100% !important;\n  min-height:0 !important;\n  height:auto !important;\n  margin:0 0 30px !important;\n  z-index:auto !important;\n}\nbody.v44 #configure #cloudinx-infrastructure-quote-configurator{\n  order:3 !important;\n  display:block !important;\n  position:relative !important;\n  inset:auto !important;\n  transform:none !important;\n  float:none !important;\n  clear:both !important;\n  width:100% !important;\n  max-width:none !important;\n  min-height:0 !important;\n  height:auto !important;\n  margin:0 !important;\n  z-index:auto !important;\n}\n@media (max-width:820px){\n  body.v44 #configure .cx-config-intro{margin-bottom:34px !important}\n  body.v44 #configure #cx-config-title{font-size:clamp(2rem,9vw,3rem) !important}\n  body.v44 #configure .cx-config-intro .config-actions{display:grid !important;grid-template-columns:1fr !important}\n  body.v44 #configure .cx-config-intro .config-actions .text-button{width:100% !important;text-align:left !important}\n}\n