
:root{
  --nv-navy:#071f33;--nv-navy2:#0d3452;--nv-navy3:#10243a;
  --nv-red:#d9292f;--nv-red2:#b71e24;--nv-orange:#e6531c;
  --nv-ink:#101820;--nv-body:#46515f;--nv-muted:#6b7682;
  --nv-line:#e1e7ec;--nv-soft:#f5f7f9;--nv-soft2:#eef3f6;
  --nv-white:#fff;--nv-max:1180px;
  --nv-shadow:0 18px 48px rgba(7,31,51,.10);
  --nv-shadow-sm:0 8px 24px rgba(7,31,51,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.nv-page{margin:0;background:#fff;color:var(--nv-ink);font-family:Inter,"Segoe UI",Arial,Helvetica,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
.nv-wrap{width:min(var(--nv-max),calc(100% - 40px));margin-inline:auto}
.nv-breadcrumb{display:none!important}
.nv-section{padding:76px 0}
.nv-section--soft{background:var(--nv-soft)}
.nv-section--navy,.nv-section--ink{background:linear-gradient(135deg,var(--nv-navy),var(--nv-navy2));color:#fff}
.nv-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:var(--nv-orange);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.nv-eyebrow:before{content:"";width:24px;height:3px;border-radius:2px;background:var(--nv-orange)}
.nv-section--navy .nv-eyebrow,.nv-section--ink .nv-eyebrow{color:#ffb08d}
.nv-section--navy .nv-eyebrow:before,.nv-section--ink .nv-eyebrow:before{background:#ffb08d}
.nv-display{max-width:760px;margin:0 0 18px;color:var(--nv-navy);font-size:clamp(44px,5vw,66px);line-height:1.02;letter-spacing:-.05em}
.nv-heading{margin:0 0 14px;color:var(--nv-navy);font-size:clamp(30px,3.2vw,42px);line-height:1.08;letter-spacing:-.035em}
.nv-subheading{margin:0 0 12px;color:var(--nv-navy);font-size:clamp(23px,2.6vw,31px);line-height:1.1;letter-spacing:-.03em}
.nv-head{max-width:790px;margin-bottom:34px}
.nv-head p{margin:0;color:var(--nv-body);font-size:17px;line-height:1.6}
.nv-section--navy .nv-heading,.nv-section--navy .nv-head p,.nv-section--ink .nv-heading,.nv-section--ink .nv-head p{color:#fff}
.nv-section--navy .nv-head p,.nv-section--ink .nv-head p{opacity:.8}
.nv-copy{color:var(--nv-body);font-size:16px;line-height:1.65}

/* IFM-style light hero */
.nv-hero,.nv-hero--dark{
  padding:68px 0 54px;
  border-bottom:1px solid var(--nv-line);
  background:linear-gradient(180deg,#f7fafc 0%,#fff 100%);
  color:var(--nv-ink)
}
.nv-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;min-height:0;padding:0}
.nv-hero p,.nv-hero--dark p{max-width:700px;margin:0;color:var(--nv-body);font-size:19px;line-height:1.58}
.nv-hero--dark .nv-display{color:var(--nv-navy)}
.nv-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}
.nv-btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:0 19px;border:1px solid var(--nv-navy);border-radius:10px;background:#fff;color:var(--nv-navy);font-size:14px;font-weight:800;text-decoration:none;transition:.2s}
.nv-btn:hover{transform:translateY(-1px);box-shadow:var(--nv-shadow-sm)}
.nv-btn--primary{border-color:var(--nv-red);background:var(--nv-red);color:#fff}
.nv-btn--primary:hover{border-color:var(--nv-red2);background:var(--nv-red2)}
.nv-hero--dark .nv-btn:not(.nv-btn--primary){border-color:var(--nv-navy);background:#fff;color:var(--nv-navy)}
.nv-pills{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 0}
.nv-pill{padding:9px 13px;border:1px solid #dbe2e8;border-radius:999px;background:#fff;color:var(--nv-navy);font-size:13px;font-weight:700;box-shadow:0 3px 12px rgba(7,31,51,.04)}
.nv-pill:first-child{border-color:#ffd7c5;background:#fff7f2;color:#9b3c17}
.nv-hero--dark .nv-pill{border-color:#dbe2e8;background:#fff;color:var(--nv-navy)}

.nv-stage{position:relative;display:grid;min-height:390px;place-items:center;padding:34px;border:1px solid var(--nv-line);border-radius:28px;background:linear-gradient(145deg,#fff,#edf2f5);box-shadow:var(--nv-shadow);overflow:hidden}
.nv-stage:before{display:none}
.nv-stage:after{content:attr(data-label);position:absolute;left:18px;bottom:16px;max-width:85%;padding:7px 9px;border-radius:7px;background:rgba(7,31,51,.88);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em}
.nv-stage img{width:100%;height:330px;object-fit:contain;filter:none}
.nv-stage.is-fallback:before{display:grid;content:"Official NOVUS product image";width:76%;height:230px;place-items:center;border:1px dashed #b9c6d0;border-radius:18px;background:#fff;color:#768491;font-weight:700;text-align:center}
.nv-collage{display:grid;min-height:390px;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:12px;padding:18px;border:1px solid var(--nv-line);border-radius:28px;background:linear-gradient(145deg,#fff,#edf2f5);box-shadow:var(--nv-shadow)}
.nv-collage>div{display:grid;place-items:center;padding:18px;border:1px solid var(--nv-line);border-radius:18px;background:#fff;overflow:hidden}
.nv-collage>div:first-child{grid-row:1/span 2}
.nv-collage img{width:100%;max-height:190px;object-fit:contain;filter:none}

/* hero then sticky local nav, same rhythm as IFM */
.nv-local{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--nv-line);background:#fff}
.nv-local__inner{display:flex;gap:22px;overflow:auto;padding:14px 0;scrollbar-width:none}
.nv-local__inner::-webkit-scrollbar{display:none}
.nv-local a{padding:0;border:0;color:#52616e;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}
.nv-local a:hover,.nv-local a[aria-current=location]{color:var(--nv-red)}

/* Separate IFM-style fact band */
.nv-facts-section{padding:34px 0 52px;background:#fff}
.nv-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:0;border-radius:20px;background:#24445b;box-shadow:var(--nv-shadow-sm);overflow:hidden}
.nv-fact{padding:24px 22px;border:0;background:var(--nv-navy);color:#fff}
.nv-fact small{display:block;margin-bottom:7px;color:#9bb0bf;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.nv-fact strong{display:block;color:#fff;font-size:20px;line-height:1.18}

/* Master solution cards: broader, calmer */
.nv-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.nv-route{display:flex;min-height:245px;flex-direction:column;padding:25px;border:1px solid var(--nv-line);border-radius:20px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 2px 0 rgba(7,31,51,.015);transition:.2s}
.nv-route:hover,.nv-product-card:hover{transform:translateY(-3px);box-shadow:var(--nv-shadow-sm)}
.nv-route small,.nv-product-card small{color:var(--nv-orange);font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.nv-route h3{margin:13px 0 10px;color:var(--nv-navy);font-size:21px;line-height:1.18}
.nv-route p{margin:0;color:var(--nv-body);font-size:14px;line-height:1.58}
.nv-route b{align-self:flex-start;margin-top:auto;padding-top:18px;color:var(--nv-red);font-size:13px;font-weight:900}

/* Decision / tables */
.nv-decision{border:1px solid var(--nv-line);border-radius:18px;background:#fff;box-shadow:var(--nv-shadow-sm);overflow:hidden}
.nv-decision__row{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(150px,.45fr) 1fr;gap:22px;align-items:start;padding:18px 20px;border-bottom:1px solid var(--nv-line)}
.nv-decision__row:last-child{border:0}
.nv-decision__row:nth-child(even){background:#fafbfc}
.nv-decision__row strong{color:var(--nv-navy);font-size:13.5px;line-height:1.45}
.nv-decision__row b{color:var(--nv-red);font-size:13.5px}
.nv-decision__row span{color:var(--nv-body);font-size:13px;line-height:1.5}

.nv-architecture{display:flex;align-items:stretch;gap:10px;margin-top:28px;flex-wrap:wrap}
.nv-node{position:relative;flex:1 1 150px;min-height:auto;padding:15px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.06)}
.nv-node:not(:last-child):after{position:absolute;right:-9px;top:42%;z-index:2;color:#ffb08d;content:"›";font-size:20px;font-weight:900}
.nv-node small{display:block;color:#9fb6c5;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.nv-node strong{display:block;margin-top:8px;color:#fff;font-size:14px;line-height:1.4}
.nv-boundary{margin-top:18px;padding:15px 18px;border:1px dashed rgba(255,255,255,.22);border-radius:9px;color:#c8d6df;font-size:13px;line-height:1.6}

.nv-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.nv-product-card{display:flex;flex-direction:column;border:1px solid var(--nv-line);border-radius:21px;background:#fff;color:inherit;text-decoration:none;box-shadow:var(--nv-shadow-sm);overflow:hidden;transition:.2s}
.nv-product-card__media{display:grid;min-height:190px;place-items:center;padding:22px;background:linear-gradient(135deg,#f7f9fb,#eef2f5)}
.nv-product-card__media img{width:100%;height:150px;object-fit:contain;filter:none}
.nv-product-card__body{display:flex;flex:1;flex-direction:column;padding:22px}
.nv-product-card h3{margin:9px 0 8px;color:var(--nv-navy);font-size:21px}
.nv-product-card p{margin:0;color:var(--nv-body);font-size:14px;line-height:1.55}
.nv-product-card b{align-self:flex-start;margin-top:auto;padding-top:16px;color:var(--nv-red);font-size:13px;font-weight:900}
.nv-tagrow{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0}
.nv-tag{padding:6px 8px;border-radius:999px;background:#fff3ed;color:#a4421b;font-size:10px;font-weight:800}

.nv-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:start}
.nv-split p{margin:0;color:var(--nv-body);font-size:16px;line-height:1.68}
.nv-overview-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}
.nv-overview-list>div{padding:17px;border:1px solid var(--nv-line);border-radius:14px;background:#fff}
.nv-overview-list strong{display:block;margin-bottom:5px;color:var(--nv-navy);font-size:14px}
.nv-overview-list span{color:var(--nv-body);font-size:12.5px;line-height:1.5}

.nv-application-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.nv-application{padding:25px;border:1px solid var(--nv-line);border-radius:20px;background:#fff;box-shadow:0 2px 0 rgba(7,31,51,.015)}
.nv-application small{display:grid;width:43px;height:43px;place-items:center;margin-bottom:18px;border-radius:12px;background:#fff1eb;color:#a6401a;font-weight:900}
.nv-application h3{margin:0 0 9px;color:var(--nv-navy);font-size:20px}
.nv-application p{margin:0;color:var(--nv-body);font-size:13px;line-height:1.55}

.nv-tablewrap{overflow:auto;border:1px solid var(--nv-line);border-radius:18px;background:#fff;box-shadow:var(--nv-shadow-sm)}
.nv-table{width:100%;min-width:720px;border-collapse:collapse}
.nv-table th{width:31%;padding:14px 16px;background:var(--nv-navy);color:#fff;text-align:left;font-size:12px}
.nv-table td{padding:14px 16px;border-bottom:1px solid var(--nv-line);color:var(--nv-body);font-size:13px;vertical-align:top}
.nv-table tr:last-child td,.nv-table tr:last-child th{border-bottom:0}
.nv-table tr:nth-child(even) td{background:#fafbfc}

.nv-compare{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.nv-compare-card{display:flex;min-height:220px;flex-direction:column;padding:24px;border:1px solid var(--nv-line);border-radius:20px;background:#fff;color:inherit;text-decoration:none}
.nv-compare-card.is-current{border-color:#f2b6a0;box-shadow:0 0 0 2px #fff1eb inset}
.nv-compare-card small{color:var(--nv-orange);font-size:11px;font-weight:900;text-transform:uppercase}
.nv-compare-card h3{margin:10px 0 8px;color:var(--nv-navy);font-size:21px}
.nv-compare-card p{margin:0;color:var(--nv-body);font-size:13px;line-height:1.55}
.nv-compare-card b{margin-top:auto;padding-top:16px;color:var(--nv-red);font-size:12px}

.nv-system-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}
.nv-system-chain{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.nv-system-step{position:relative;flex:1 1 130px;min-height:115px;padding:15px;border:1px solid var(--nv-line);border-radius:14px;background:#fff}
.nv-system-step:not(:last-child):after{position:absolute;right:-9px;top:42%;z-index:2;color:var(--nv-orange);content:"›";font-size:20px;font-weight:900}
.nv-system-step small{color:#8196a7;font-size:10px;font-weight:800}
.nv-system-step strong{display:block;margin-top:10px;color:var(--nv-navy);font-size:13.5px;line-height:1.35}
.nv-system-aside{padding:24px;border-radius:20px;background:linear-gradient(135deg,var(--nv-navy),var(--nv-navy2));color:#fff}
.nv-system-aside h3{margin:6px 0 10px;font-size:21px}
.nv-system-aside p{margin:0;color:#c8d6df;font-size:13px;line-height:1.55}
.nv-system-aside a{display:block;margin-top:13px;color:#ffb08d;font-size:12.5px;font-weight:800;text-decoration:none}

.nv-requirements{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.nv-req{padding:18px;border:1px solid var(--nv-line);border-radius:14px;background:#fff}
.nv-req b{display:block;margin-bottom:6px;color:var(--nv-navy);font-size:13px}
.nv-req span{color:var(--nv-body);font-size:12.5px;line-height:1.5}

.nv-resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.nv-resource{display:flex;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid var(--nv-line);border-radius:14px;background:#fff;color:inherit;text-decoration:none}
.nv-resource:hover{border-color:#f0a486}
.nv-resource strong{font-size:13.5px}.nv-resource span{color:var(--nv-red);font-size:12px;font-weight:900}

.nv-note{padding:15px 18px;border:1px solid #c7d5de;border-left:4px solid var(--nv-orange);border-radius:10px;background:#fbfcfd;color:#536d82;font-size:12.8px;line-height:1.6}
.nv-portfolio-band{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.nv-portfolio-band div{padding:20px;border:1px solid var(--nv-line);border-radius:16px;background:#fff}
.nv-portfolio-band strong{display:block;color:var(--nv-navy);font-size:14px}
.nv-portfolio-band span{display:block;margin-top:6px;color:var(--nv-body);font-size:12px;line-height:1.5}

.nv-cta{border-bottom:3px solid var(--nv-orange);background:linear-gradient(135deg,var(--nv-navy),var(--nv-navy2));color:#fff}
.nv-cta__grid{display:grid;grid-template-columns:1fr auto;gap:42px;align-items:center;padding:65px 0}
.nv-cta .nv-eyebrow{color:#ffd4c3}.nv-cta .nv-eyebrow:before{background:#ffd4c3}
.nv-cta h2{margin:0 0 13px;color:#fff;font-size:clamp(30px,3.4vw,43px);line-height:1.08;letter-spacing:-.035em}
.nv-cta p{max-width:820px;margin:0;color:#d3dee8;font-size:15px;line-height:1.65}
.nv-cta .nv-btn:not(.nv-btn--primary){border-color:#a6b7c6;background:rgba(255,255,255,.04);color:#fff}

@media(max-width:1000px){
  .nv-route-grid,.nv-product-grid,.nv-application-grid,.nv-compare{grid-template-columns:repeat(2,1fr)}
  .nv-hero__grid{grid-template-columns:1fr 360px;gap:40px}
  .nv-requirements,.nv-portfolio-band{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:780px){
  .nv-wrap{width:min(100% - 32px,var(--nv-max))}
  .nv-section{padding:55px 0}
  .nv-hero,.nv-hero--dark{padding:48px 0 42px}
  .nv-hero__grid,.nv-split,.nv-system-grid,.nv-cta__grid{grid-template-columns:1fr}
  .nv-stage,.nv-collage{order:-1;min-height:260px}
  .nv-stage img{height:230px}
  .nv-route-grid,.nv-product-grid,.nv-application-grid,.nv-compare,.nv-requirements,.nv-resource-grid,.nv-portfolio-band,.nv-overview-list{grid-template-columns:1fr}
  .nv-decision__row{grid-template-columns:1fr;gap:6px}
  .nv-facts{grid-template-columns:repeat(2,1fr)}
  .nv-local__inner{gap:18px}
  .nv-display{font-size:clamp(40px,12vw,58px)}
}
@media(max-width:480px){
  .nv-facts{grid-template-columns:1fr}
  .nv-collage{grid-template-columns:1fr;grid-template-rows:auto}
  .nv-collage>div:first-child{grid-row:auto}
}
