/* Homepage sections; shared palette and buttons live in site-presentation.css. */
.nb-confidence { display:grid; grid-template-columns:repeat(3,1fr) .85fr; padding:0 40px; background:#ddebba; }
.nb-confidence>div { display:flex; align-items:center; gap:19px; padding:28px 24px; border-right:1px solid #b8cba0; }
.nb-confidence>div:first-child { padding-left:0; }
.nb-confidence strong { font:600 46px/1 var(--nb-font-display); }
.nb-confidence div span { font-size:11px; line-height:1.6; }
.nb-confidence>a { display:flex; align-items:center; justify-content:flex-end; gap:20px; font-size:11px; font-weight:700; }
.nb-confidence>a span { font-size:25px; }
.nb-home .nb-section { padding:100px 0; }
.nb-home .nb-products-preview { background:#f5f3eb; scroll-margin-top:105px; }
.nb-home .nb-section-heading { align-items:end; }
.nb-home .nb-section-heading h2 { font-size:clamp(42px,4.8vw,68px); text-transform:none; letter-spacing:-.025em; }
.nb-home .nb-product-grid { gap:22px; }
.nb-home .nb-product-grid--outcomes { grid-template-columns:repeat(3,minmax(0,1fr)); }
.nb-home .nb-product-tile { background:#eeeee7; border:1px solid #d9dbce; border-radius:4px; box-shadow:none; }
.nb-home .nb-product-tile:hover { box-shadow:0 15px 35px #26392c12; border-color:#7d9567; }
.nb-home .nb-product-tile__image { background:#eeeee7; }
.nb-home .nb-product-tile__image img { background:transparent; mix-blend-mode:normal; }
.nb-home .nb-product-tile__body { background:#eeeee7; border-top-color:#eeeee7; }
.nb-home .nb-product-tile__body>span { color:#59694d; }
.nb-home .nb-capability { background:#24372e; color:#f5f3eb; }
.nb-home .nb-capability .nb-eyebrow,.nb-home .nb-capability__copy>p:not(.nb-eyebrow),.nb-home .nb-spec-list p { color:#c7d0bd; }
.nb-home .nb-spec-list>div { border-color:#526049; }
.nb-home .nb-capability h2 { text-transform:none; }
.nb-home .nb-industries { background:#f5f3eb; }
.nb-home .nb-industry-card { border-radius:3px; }
.nb-home .nb-standards { background:#eeeee3; }
.nb-home .nb-cta { background:#ddebba; color:#21372e; }
.nb-home .nb-cta .nb-eyebrow { color:#526049; }


.nb-immersive { position:relative; isolation:isolate; min-height:700px; min-height:max(700px,calc(100svh - 84px)); overflow:hidden; color:#fff; background:#21372e; display:flex; flex-direction:column; padding:0 clamp(24px,4vw,72px); }
.nb-immersive__image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% center; }
.nb-immersive__shade { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(13,29,22,.88) 0%,rgba(13,29,22,.74) 28%,rgba(13,29,22,.22) 57%,rgba(13,29,22,.03) 78%),linear-gradient(0deg,rgba(13,29,22,.55),transparent 25%,transparent 85%,rgba(13,29,22,.24)); }
.nb-immersive__topline { display:flex; justify-content:space-between; gap:20px; padding:25px 0; border-bottom:1px solid #ffffff40; font:10px var(--nb-font-mono); letter-spacing:.12em; }
.nb-immersive__content { padding:64px 0 66px; margin-block:auto; position:relative; max-width:600px; }
.nb-immersive .nb-eyebrow { color:#eff4e9; font-size:10px; margin-bottom:28px; }
.nb-immersive h1 { color:#fff; margin:0; font:600 clamp(72px,7.6vw,128px)/.86 var(--nb-font-display); letter-spacing:-.025em; }
.nb-immersive h1 span { color:#c5e77c; }
body.nb-home-page main.nb-home p.nb-immersive__promise { color:#fff; font-size:clamp(18px,1.65vw,25px); font-weight:500; line-height:1.5; margin:28px 0; }
.nb-immersive__actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
body a.nb-immersive__button { display:inline-flex; align-items:center; gap:32px; padding:18px 22px; border-radius:3px; background:#c5e77c; color:#20362a!important; font-size:12px; font-weight:700; transition:background .2s,transform .2s; }
body a.nb-immersive__button:hover { background:#deefa9; transform:translateY(-2px); }
.nb-immersive__button span { font-size:23px; line-height:1; }
body a.nb-immersive__quote { color:#fff!important; padding:13px 0; border-bottom:1px solid #ffffff80; font-size:12px; font-weight:600; }
.nb-immersive__quote span { margin-left:12px; }
body a.nb-immersive__quote:hover { color:#dcf2b0!important; border-color:#dcf2b0; }
.nb-immersive__bottom { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:24px 0; border-top:1px solid #ffffff40; font:10px var(--nb-font-mono); letter-spacing:.1em; }
body .nb-immersive__bottom a { color:#fff; display:flex; align-items:center; gap:16px; text-transform:uppercase; }
.nb-immersive__bottom a span { font-size:24px; }
.nb-immersive__experience { position:absolute; right:clamp(24px,4vw,72px); bottom:115px; display:flex; align-items:center; gap:15px; padding:18px 22px; background:#f5f3eb; color:#21372e; border-radius:3px; }
.nb-immersive__experience strong { font:600 48px/1 var(--nb-font-display); }
.nb-immersive__experience span { font:9px/1.6 var(--nb-font-mono); letter-spacing:.06em; }
.nb-immersive :focus-visible { outline-color:#dcf2b0; }
@media(min-width:1600px){.nb-confidence{padding-inline:max(40px,calc((100vw - 1520px)/2));}}
@media(max-width:900px){.nb-confidence{grid-template-columns:repeat(3,1fr);padding:0 24px}.nb-confidence>div{padding:24px 14px;gap:12px}.nb-confidence>a{grid-column:1/-1;justify-content:center;padding:16px;border-top:1px solid #b8cba0}.nb-confidence>div:last-of-type{border-right:0}.nb-immersive__experience{bottom:108px;padding:14px}.nb-immersive__content{max-width:480px}.nb-immersive{min-height:720px}.nb-immersive__shade{background:linear-gradient(90deg,#0d1d16dd,#0d1d1690 48%,#0d1d1622),linear-gradient(0deg,#0d1d1688,transparent 35%)}.nb-immersive__experience span{font-size:8px}}
@media(max-width:620px){.nb-immersive{padding:0 22px;min-height:790px;min-height:max(790px,calc(100svh - 70px))}.nb-immersive__image{object-position:66% center}.nb-immersive__shade{background:linear-gradient(180deg,#0d1d16c9 0%,#0d1d16b3 40%,#0d1d1633 65%,#0d1d1666 82%,#0d1d16a6),linear-gradient(90deg,#0d1d1633,transparent)}.nb-immersive__topline{font-size:8px;padding:20px 0;letter-spacing:.03em}.nb-immersive__topline span:last-child{max-width:120px;text-align:right}.nb-immersive__content{margin:0;padding:40px 0 240px;max-width:none}.nb-immersive .nb-eyebrow{font-size:9px;margin-bottom:22px}.nb-immersive h1{font-size:clamp(58px,16vw,90px)}body.nb-home-page main.nb-home p.nb-immersive__promise{font-size:18px;margin:24px 0}.nb-immersive__actions{gap:10px 20px}body a.nb-immersive__button{font-size:11px;padding:16px;gap:20px}body a.nb-immersive__quote{font-size:11px}.nb-immersive__bottom{margin-top:auto;padding:18px 0;font-size:8px}.nb-immersive__bottom>span{display:none}.nb-immersive__experience{bottom:88px;right:22px;padding:12px 16px}.nb-immersive__experience strong{font-size:36px}.nb-confidence{padding:0 20px;grid-template-columns:1fr}.nb-confidence>div,.nb-confidence>div:first-child{padding:18px 0;border-right:0;border-bottom:1px solid #b8cba0;gap:23px}.nb-confidence strong{font-size:38px;min-width:48px}.nb-confidence div span{font-size:12px}.nb-confidence div br{display:none}.nb-confidence>a{border-top:0;justify-content:space-between;padding:18px 0}.nb-home .nb-section{padding:64px 0}.nb-home .nb-section-heading h2{font-size:45px}.nb-home .nb-product-grid{gap:16px}.nb-home .nb-product-grid--outcomes{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.nb-home-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.nb-home .nb-reveal{opacity:1!important;transform:none!important}}

/* <picture> must not become a flex item in the hero — the <img> inside is
   absolutely positioned against .nb-immersive and needs to stay that way. */
.nb-immersive picture { display:contents; }

@media(max-width:620px) {
  .nb-immersive__shade { background:linear-gradient(180deg,rgba(13,29,22,.44) 0,rgba(13,29,22,.69) 120px,rgba(13,29,22,.62) 365px,rgba(13,29,22,.12) 530px,rgba(13,29,22,.03) 75%,rgba(13,29,22,.35) 100%); }
  .nb-immersive__content { padding:30px 0 220px; }
  .nb-immersive h1 { font-size:clamp(50px,14vw,66px); line-height:.94; }
  body.nb-home-page main.nb-home p.nb-immersive__promise { font-size:16px; line-height:1.55; margin:20px 0; }
  .nb-immersive .nb-eyebrow { margin-bottom:18px; }
}
