/* NexusDPP Ultra Premium v2 — homepage only */
.nx-home{
  --lux-serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --lux-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --lux-ease:cubic-bezier(.22,1,.36,1);
}
.nx-home .nx-hero h1,
.nx-home .nx-final-inner h2{
  font-family:var(--lux-serif)!important;
  font-weight:500!important;
  letter-spacing:-.047em!important;
}
.nx-home .nx-hero h1{
  font-size:clamp(3.65rem,5.1vw,5.9rem)!important;
  line-height:.985!important;
  max-width:14ch!important;
}
.nx-home .nx-hero h1 span{
  font-style:italic;
  font-weight:500!important;
  letter-spacing:-.04em;
}
.nx-home .nx-sec-heading h2,
.nx-home .nx-eco-copy h2,
.nx-home .nx-product-copy h2{
  font-family:var(--lux-sans);
  font-weight:560!important;
  letter-spacing:-.052em!important;
  line-height:1.06!important;
}
.nx-home .nx-eyebrow{
  letter-spacing:.17em!important;
  font-weight:760!important;
}
.nx-home .nx-lead{
  max-width:58ch!important;
}
.nx-home .nx-proof-inner{
  padding-top:31px!important;
  padding-bottom:31px!important;
}
.nx-home .nx-proof-item em{
  opacity:.86;
}
.nx-home .nx-proof-item strong{
  letter-spacing:-.018em;
}
.nx-home .nx-arch-board{
  border-radius:18px!important;
  backdrop-filter:blur(12px);
}
.nx-home .nx-arch-core{
  border-radius:18px!important;
}
.nx-home .nx-sector-card{
  border-radius:14px!important;
}
.nx-home .nx-sector-photo{
  position:relative;
}
.nx-home .nx-sector-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(4,20,35,.34));
  pointer-events:none;
}
.nx-home .nx-sector-content{
  position:relative;
}
.nx-home .nx-sector-content:before{
  content:"";
  position:absolute;
  top:0;left:23px;
  width:34px;height:1px;
  background:#55ddcc;
  opacity:.66;
}
.nx-home .nx-partner-panel,
.nx-home .nx-product-media{
  border-radius:16px!important;
}
.nx-home .nx-btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:
    transform .35s var(--lux-ease),
    box-shadow .35s var(--lux-ease),
    border-color .35s var(--lux-ease)!important;
}
.nx-home .nx-btn:before{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:-1;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 48%,transparent 66%);
  transform:translateX(-130%);
  transition:transform .8s var(--lux-ease);
}
@media(hover:hover){
  .nx-home .nx-btn:hover:before{transform:translateX(130%)}
  .nx-home .nx-btn[data-magnetic]{will-change:transform}
}
.nx-up2-loader{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  background:#061b31;
  color:#fff;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .42s var(--lux-ease),visibility .42s step-end;
}
.nx-up2-loader.is-active{
  opacity:1;
  visibility:visible;
  transition:opacity .2s ease,visibility 0s;
}
.nx-up2-loader.is-leaving{
  opacity:0;
  visibility:hidden;
}
.nx-up2-seal{
  display:grid;
  place-items:center;
  width:118px;
  height:118px;
  border:1px solid rgba(107,235,220,.34);
  border-radius:50%;
  position:relative;
  box-shadow:0 0 0 14px rgba(107,235,220,.025);
}
.nx-up2-seal:before,
.nx-up2-seal:after{
  content:"";
  position:absolute;
  border-radius:50%;
}
.nx-up2-seal:before{
  inset:9px;
  border:1px dashed rgba(126,238,225,.34);
  animation:nxSealSpin 3.4s linear infinite;
}
.nx-up2-seal:after{
  width:7px;height:7px;
  top:8px;
  background:#67e5d3;
  box-shadow:0 0 16px rgba(103,229,211,.8);
}
.nx-up2-seal strong{
  font-family:var(--lux-serif);
  font-size:2.25rem;
  font-weight:500;
  line-height:1;
}
.nx-up2-seal small{
  position:absolute;
  top:calc(100% + 18px);
  width:220px;
  text-align:center;
  font-size:.61rem;
  font-weight:700;
  letter-spacing:.19em;
  text-transform:uppercase;
  color:#91cfc8;
}
@keyframes nxSealSpin{to{transform:rotate(360deg)}}
.nx-home .nx-lux-rule{
  width:58px;height:1px;
  background:linear-gradient(90deg,#73eadc,transparent);
  margin:22px 0 0;
  opacity:.7;
}
@media(max-width:600px){
  .nx-home .nx-hero h1{
    font-size:clamp(2.7rem,11.6vw,3.65rem)!important;
    max-width:100%!important;
    letter-spacing:-.045em!important;
    line-height:1.01!important;
  }
  .nx-home .nx-sector-content:before{left:20px}
}
@media(prefers-reduced-motion:reduce){
  .nx-up2-seal:before{animation:none}
  .nx-home .nx-btn:before{display:none}
}


/* Ultra Premium v2.1 - final overlap corrections */
@media(min-width:721px){
  .cookie-banner{
    justify-content:flex-end!important;
    align-items:flex-end!important;
    padding:14px!important;
  }
  .cookie-banner .cookie-card{
    width:min(720px,calc(100vw - 28px))!important;
    margin:0 0 0 auto!important;
    padding:12px 14px!important;
    gap:14px!important;
  }
  .cookie-banner .cookie-copy h2{
    font-size:1rem!important;
  }
  .cookie-banner .cookie-copy p{
    font-size:.74rem!important;
    line-height:1.32!important;
  }
  .cookie-banner .cookie-actions .button{
    padding:8px 10px!important;
    font-size:.72rem!important;
  }
}
.nx-home .nx-final-cta{
  scroll-margin-top:132px;
}
.nx-home .nx-final-inner{
  padding-top:136px!important;
  padding-bottom:92px!important;
}
@media(max-width:720px){
  .nx-home .nx-final-inner{
    padding-top:128px!important;
    padding-bottom:72px!important;
  }
}
