/* NexusDPP Ultra Premium v1 - home only */
.nx-home{
  --up-ease:cubic-bezier(.22,1,.36,1);
  --up-shadow:0 28px 80px rgba(3,24,44,.16);
}
.nx-home .nx-section{padding:clamp(88px,8vw,142px) 0}
.nx-home .nx-sec-heading{margin-bottom:clamp(34px,4vw,62px)}
.nx-home .nx-sec-heading h2,
.nx-home .nx-eco-copy h2,
.nx-home .nx-product-copy h2{
  text-wrap:balance;
}
.nx-home .nx-hero-grid{padding-top:clamp(74px,8vw,118px);padding-bottom:clamp(78px,8vw,126px)}
.nx-home .nx-hero-copy,
.nx-home .nx-hero-art,
.nx-home .nx-proof-strip{
  will-change:transform,opacity;
}
.nx-home:not(.up-ready) .nx-hero-copy .nx-eyebrow,
.nx-home:not(.up-ready) .nx-hero-copy h1,
.nx-home:not(.up-ready) .nx-hero-copy .nx-lead,
.nx-home:not(.up-ready) .nx-hero-actions,
.nx-home:not(.up-ready) .nx-hero-meta,
.nx-home:not(.up-ready) .nx-hero-art{
  opacity:0;
  transform:translateY(22px);
}
.nx-home.up-ready .nx-hero-copy .nx-eyebrow,
.nx-home.up-ready .nx-hero-copy h1,
.nx-home.up-ready .nx-hero-copy .nx-lead,
.nx-home.up-ready .nx-hero-actions,
.nx-home.up-ready .nx-hero-meta,
.nx-home.up-ready .nx-hero-art{
  opacity:1;
  transform:none;
  transition:opacity .8s var(--up-ease),transform .8s var(--up-ease);
}
.nx-home.up-ready .nx-hero-copy h1{transition-delay:.08s}
.nx-home.up-ready .nx-hero-copy .nx-lead{transition-delay:.16s}
.nx-home.up-ready .nx-hero-actions{transition-delay:.24s}
.nx-home.up-ready .nx-hero-meta{transition-delay:.31s}
.nx-home.up-ready .nx-hero-art{transition-delay:.12s}
.nx-home .nx-hero-photo{
  transition:transform .9s var(--up-ease),box-shadow .9s var(--up-ease);
}
@media (hover:hover){
  .nx-home .nx-hero-art:hover .nx-hero-photo{transform:translateY(-4px) scale(1.008);box-shadow:0 42px 96px rgba(1,16,42,.42)!important}
}
.nx-home .nx-proof-strip{position:relative}
.nx-home .nx-proof-strip:before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(40,214,208,.8),transparent);
}
.nx-home .nx-proof-item strong{font-size:15.5px}
.nx-home .nx-architecture{overflow:hidden}
.nx-home .nx-arch-board{transition:box-shadow .5s var(--up-ease),border-color .5s var(--up-ease)}
.nx-home .nx-arch-mini,
.nx-home .nx-arch-core,
.nx-home .nx-arch-steps span{
  transition:opacity .45s var(--up-ease),transform .45s var(--up-ease),border-color .45s var(--up-ease),background .45s var(--up-ease),box-shadow .45s var(--up-ease);
}
.nx-home .nx-arch-board[data-stage="0"] .nx-arch-mini[data-stage="0"],
.nx-home .nx-arch-board[data-stage="1"] .nx-arch-mini[data-stage="1"],
.nx-home .nx-arch-board[data-stage="2"] .nx-arch-mini[data-stage="2"],
.nx-home .nx-arch-board[data-stage="3"] .nx-arch-mini[data-stage="3"]{
  transform:translateY(-4px);
  border-color:#7ddfd4;
  box-shadow:0 16px 40px rgba(5,98,113,.12);
}
.nx-home .nx-arch-board[data-stage="1"] .nx-arch-core,
.nx-home .nx-arch-board[data-stage="2"] .nx-arch-core{
  transform:scale(1.018);
  box-shadow:0 30px 70px rgba(5,35,59,.3);
}
.nx-home .nx-arch-board[data-stage="0"] .nx-arch-steps span:nth-child(1),
.nx-home .nx-arch-board[data-stage="1"] .nx-arch-steps span:nth-child(2),
.nx-home .nx-arch-board[data-stage="2"] .nx-arch-steps span:nth-child(3),
.nx-home .nx-arch-board[data-stage="3"] .nx-arch-steps span:nth-child(4){
  color:#0a6f84;
  transform:translateY(-2px);
  font-weight:700;
}
.nx-home .nx-sector-card{
  position:relative;
  transition:transform .55s var(--up-ease),border-color .55s var(--up-ease),box-shadow .55s var(--up-ease);
}
.nx-home .nx-sector-card:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,#4ce0ce,transparent);
  transform:scaleX(0);transform-origin:left;
  transition:transform .6s var(--up-ease);
}
@media (hover:hover){
  .nx-home .nx-sector-card:hover{
    transform:translateY(-5px);
    border-color:rgba(89,220,208,.5);
    box-shadow:0 22px 46px rgba(0,0,0,.16);
  }
  .nx-home .nx-sector-card:hover:after{transform:scaleX(1)}
  .nx-home .nx-sector-card:hover img{transform:scale(1.035)}
}
.nx-home .nx-sector-photo img{transition:transform .7s var(--up-ease)}
.nx-home .nx-partner-panel{
  background:linear-gradient(180deg,#fff,#fbfdfe);
}
.nx-home .nx-partner-panel-top small{
  color:#496878;
  letter-spacing:.09em;
}
.nx-home .nx-product-media{
  transition:transform .65s var(--up-ease),box-shadow .65s var(--up-ease);
}
@media (hover:hover){
  .nx-home .nx-product-media:hover{transform:translateY(-4px);box-shadow:var(--up-shadow)}
}
.nx-home .nx-final-cta .nx-btn{transition:transform .35s var(--up-ease),box-shadow .35s var(--up-ease),background .35s}
.nx-home .nx-final-cta .nx-btn:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.24)}
.nx-home [data-up-reveal]{
  opacity:0;
  transform:translateY(26px);
}
.nx-home [data-up-reveal].is-visible{
  opacity:1;
  transform:none;
  transition:opacity .8s var(--up-ease),transform .8s var(--up-ease);
}
@media(max-width:600px){
  .nx-home .nx-section{padding:76px 0}
  .nx-home .nx-hero-grid{padding-top:58px;padding-bottom:54px}
  .nx-home .nx-hero h1{hyphens:none!important;overflow-wrap:normal!important;word-break:normal!important}
}
@media(prefers-reduced-motion:reduce){
  .nx-home *{scroll-behavior:auto!important}
  .nx-home .nx-hero-copy .nx-eyebrow,
  .nx-home .nx-hero-copy h1,
  .nx-home .nx-hero-copy .nx-lead,
  .nx-home .nx-hero-actions,
  .nx-home .nx-hero-meta,
  .nx-home .nx-hero-art,
  .nx-home [data-up-reveal]{
    opacity:1!important;transform:none!important;transition:none!important
  }
}


/* Ultra Premium v1.1 - cookie/widget collision fix */
body:has(.cookie-banner:not([hidden])) .nexus-ai{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
@media(max-width:720px){
  .cookie-banner .cookie-card{
    padding:8px 10px!important;
    gap:6px!important;
  }
  .cookie-banner .cookie-copy h2{
    font-size:.9rem!important;
    margin-bottom:2px!important;
  }
  .cookie-banner .cookie-copy p{
    font-size:.68rem!important;
    line-height:1.24!important;
    margin-bottom:1px!important;
  }
  .cookie-banner .cookie-copy a{
    font-size:.66rem!important;
  }
  .cookie-banner .cookie-actions .button{
    padding:7px 4px!important;
    font-size:.68rem!important;
  }
}


/* Ultra Premium v1.2 - final stacking polish */
.cookie-banner,
.cookie-modal{
  z-index:3000!important;
}
.nexus-ai{
  z-index:1900!important;
}
@media(max-width:720px){
  .cookie-banner{
    padding:5px 5px 2px!important;
  }
}
