/* NIV ART DIRECTION 01: Product-led, restrained marketing refinement.
   Content, routes, mobile menu, and product capabilities are unchanged.
   A distinctive cool-paper / graphite rhythm; avoid oversized generic cards. */
body#niv-marketing-site.ns-public{
  --ns-bg:#090909;--ns-panel:#171717;--ns-raised:#282828;
  --ns-ink:#eef2f3;--ns-muted:#bcbcb8;--ns-border:#393939;
}
#niv-marketing-site.ns-public .ns-home{background:#090909;color:#eef2f3}
#niv-marketing-site.ns-public #ns-title{
  font-size:clamp(40px,4.8vw,70px)!important;
  line-height:1.075!important;letter-spacing:-.052em!important;
}
#niv-marketing-site.ns-public .ns-hero{padding-top:56px}
#niv-marketing-site.ns-public .ns-hero .ns-lead{
  font-size:clamp(15px,1.35vw,17px);line-height:1.7;
  max-width:620px;color:#c5cdd1;margin-top:23px;
}
#niv-marketing-site.ns-public .ns-home :is(.ns-scope,.ns-products,.ns-directory,.ns-trust,.ns-impact,.ns-close) h2{
  font-size:clamp(29px,3.2vw,45px)!important;line-height:1.12!important;
  letter-spacing:-.045em!important;
}
#niv-marketing-site.ns-public .ns-home :is(.ns-scope,.ns-products,.ns-directory,.ns-trust) p{
  font-size:clamp(14px,1.2vw,16px);
}
#niv-marketing-site.ns-public .ns-scope{
  padding-top:78px;padding-bottom:84px;border-top:1px solid #323232;
}
#niv-marketing-site.ns-public .ns-heading-row{
  gap:clamp(22px,4vw,52px);margin-bottom:32px;align-items:start;
}
#niv-marketing-site.ns-public .ns-number-grid{gap:12px}
#niv-marketing-site.ns-public .ns-number-grid>a{
  min-height:206px;padding:22px 21px 25px;
  background:#191919!important;border:1px solid #393939;
  border-radius:7px;transition:background-color .15s ease-out;
}
#niv-marketing-site.ns-public .ns-number-grid>a:nth-child(even){background:#202020!important}
#niv-marketing-site.ns-public .ns-number-grid>a:hover{background:#292929!important;transform:none}
#niv-marketing-site.ns-public .ns-number-grid strong{
  font-size:clamp(39px,4vw,54px);margin-bottom:20px;letter-spacing:-.045em;
}
#niv-marketing-site.ns-public .ns-number-grid h3{
  font-size:16px;line-height:1.32;margin-bottom:9px;
}
#niv-marketing-site.ns-public .ns-number-grid p{
  font-size:13px;line-height:1.58;color:#c6c6c3;
}
#niv-marketing-site.ns-public .ns-products{padding-bottom:86px}
#niv-marketing-site.ns-public .ns-product-panel{
  background:#13191d;border:1px solid #393939;
  border-radius:8px;padding:34px;gap:30px;
}
#niv-marketing-site.ns-public .ns-product-copy h3{
  font-size:clamp(22px,2.3vw,29px);letter-spacing:-.035em;line-height:1.2;
}
#niv-marketing-site.ns-public .ns-workspace{
  border-radius:9px;margin-top:42px;border-color:#424242;box-shadow:none;
}
/* The two consecutive light sections have intentionally different surfaces. */
#niv-marketing-site.ns-public .ns-home .ns-production{
  background:#f2f2ef!important;padding-top:74px;padding-bottom:72px;
  border-block:1px solid #d8d8d4;
}
#niv-marketing-site.ns-public .ns-home .ns-production #ns-production-title{
  font-size:clamp(34px,4vw,58px)!important;line-height:1.09!important;
}
#niv-marketing-site.ns-public .ns-production .nsp-console{
  border-radius:8px;box-shadow:none;border-color:#414141;
}
#niv-marketing-site.ns-public .ns-home .np-showcase{
  background:#efefed!important;--np-line:#d0d0cc;
  padding-top:72px;padding-bottom:62px;
}
#niv-marketing-site.ns-public .ns-home .np-showcase #np-title{
  font-size:clamp(32px,3.6vw,51px)!important;line-height:1.1!important;
}
#niv-marketing-site.ns-public .ns-home .np-heading{padding-bottom:36px}
#niv-marketing-site.ns-public .ns-home .np-sequence{
  column-gap:clamp(25px,4vw,55px);padding-top:40px;
}
#niv-marketing-site.ns-public .ns-home .np-preview{
  border-radius:8px;box-shadow:none;border-color:#414141;
}
#niv-marketing-site.ns-public .ns-impact{
  background:#fafaf8!important;padding:72px 0 62px;
  border-top:1px solid #d4d4ce;
}
#niv-marketing-site.ns-public .ns-directory{padding-bottom:81px}
#niv-marketing-site.ns-public .ns-directory-grid{gap:12px}
#niv-marketing-site.ns-public .ns-directory-grid a{
  background:#191919;border:1px solid #393939;
  border-radius:7px;min-height:132px;
}
#niv-marketing-site.ns-public .ns-trust{padding-bottom:80px}
#niv-marketing-site.ns-public .ns-close{
  background:#171d21;border:1px solid #393939;
  border-radius:9px;padding:clamp(30px,4vw,52px);
  gap:clamp(24px,4vw,52px);margin-bottom:86px;
}
/* Product pages get neutral white surfaces instead of wall-to-wall beige.
   Product story and proof panels retain their own dark presentation. */
#niv-marketing-site.ns-public main.ni-detail{
  background:#f8f8f6!important;--nd-line:#d6d6d0;--nd-text:#4b555b;
}
#niv-marketing-site.ns-public main.ni-detail :is(.hero,.nc-product-hero,.niv-vision-page,.niv-vision-page-hero,.section.soft){
  background:#f3f3f0!important;border-color:#d6d6d0!important;
}
#niv-marketing-site.ns-public main.ni-detail :is(.section,.nc-product-steps,.niv-vision-section){
  background:#fafaf9!important;border-color:#d6d6d0!important;
}
#niv-marketing-site.ns-public main.ni-detail .niv-vision-section:nth-of-type(2n){background:#fff!important}
#niv-marketing-site.ns-public main.ni-detail .hero h1{
  font-size:clamp(34px,4.2vw,56px)!important;line-height:1.12!important;
  letter-spacing:-.045em!important;
}
#niv-marketing-site.ns-public main.ni-detail .niv-vision-page-hero h1{
  font-size:clamp(32px,4.1vw,53px)!important;line-height:1.1!important;
}
#niv-marketing-site.ns-public main.ni-detail .section h2{
  font-size:clamp(27px,3vw,41px)!important;line-height:1.16!important;
}
#niv-marketing-site.ns-public main.ni-detail .niv-vision-heading h2{
  font-size:clamp(28px,2.9vw,40px)!important;line-height:1.17!important;
}
#niv-marketing-site.ns-public main.ni-detail .niv-vision-track li{
  min-height:180px;padding:20px 19px 23px;
}
#niv-marketing-site.ns-public main.ni-detail .niv-vision-area{
  padding:24px 0;
}
#niv-marketing-site.ns-public main.ni-detail :is(.card,.plan,.niv-feature){
  border-radius:7px!important;border-color:#d5d5d0!important;box-shadow:none!important;
}
#niv-marketing-site.ns-public main.ni-detail .niv-price-card h2{
  font-size:22px!important;
}
/* A little restraint in the top-level navigation, never alter its positioning. */
#niv-marketing-site.ns-public .navlinks>a,
#niv-marketing-site.ns-public .niv-mega>summary{font-size:13px!important}
@media(max-width:920px){
 #niv-marketing-site.ns-public .ns-number-grid{gap:10px}
 #niv-marketing-site.ns-public .ns-number-grid>a{min-height:190px}
 #niv-marketing-site.ns-public .ns-product-panel{gap:22px}
}
@media(max-width:640px){
 #niv-marketing-site.ns-public #ns-title{
   font-size:clamp(34px,9.1vw,43px)!important;
   line-height:1.1!important;
 }
 #niv-marketing-site.ns-public .ns-hero{padding-top:38px}
 #niv-marketing-site.ns-public .ns-scope{padding-top:60px;padding-bottom:66px}
 #niv-marketing-site.ns-public .ns-home .ns-production{padding:55px 0 59px}
 #niv-marketing-site.ns-public .ns-home .ns-production #ns-production-title{
   font-size:clamp(31px,8vw,38px)!important;
 }
 #niv-marketing-site.ns-public .ns-home .np-showcase{
   padding-top:55px;padding-bottom:49px;
 }
 #niv-marketing-site.ns-public .ns-home .np-showcase #np-title{
   font-size:clamp(29px,7.3vw,38px)!important;
 }
 #niv-marketing-site.ns-public .ns-number-grid>a{
   padding:20px 17px;min-height:178px;
 }
 #niv-marketing-site.ns-public .ns-number-grid strong{
   font-size:39px;margin-bottom:14px;
 }
 #niv-marketing-site.ns-public .ns-product-panel{padding:22px}
 #niv-marketing-site.ns-public main.ni-detail .hero h1{
   font-size:clamp(30px,8vw,40px)!important;
 }
 #niv-marketing-site.ns-public main.ni-detail .niv-vision-page-hero h1{
   font-size:clamp(23px,6.8vw,31px)!important;
 }
}
@media(prefers-reduced-motion:reduce){
 #niv-marketing-site.ns-public .ns-number-grid>a{transition:none!important}
}