.nxb-banner { --nxb-banner-accent:var(--brand); background:#fff; margin:0 auto; color:var(--ink); }
.nxb-banner--width-full-screen { width:100%; margin-inline:0; }
.nxb-banner--width-contained { width:var(--site-width); }
.nxb-banner__title { text-transform:uppercase; white-space:pre-line; font-size:clamp(24px,2.05vw,39px); font-weight:400; line-height:1.12; letter-spacing:.015em; }
.nxb-banner__intro { font-size:16px; line-height:1.55; margin-top:26px; }
.nxb-banner__content-inner { width:100%; }
.nxb-banner__eyebrow { text-transform:uppercase; font-size:10px; letter-spacing:.23em; margin:0 0 24px; }
.nxb-banner__button, .nxb-text-block__button { border:1px solid var(--ink); border-radius:0; min-height:40px; padding:10px 22px; font-size:10px; text-transform:uppercase; letter-spacing:.09em; font-weight:600; background:transparent; color:var(--ink); box-shadow:none; }
.nxb-banner__button::after, .nxb-text-block__button::after { content:'→'; margin-left:20px; font-size:18px; line-height:1; }
.nxb-banner--hero { aspect-ratio:1920 / 709; }
.nxb-banner--hero .nxb-banner__layout { height:100%; }
.nxb-banner--hero .nxb-banner__media, .nxb-banner--contact .nxb-banner__media { grid-area:1 / 1; position:absolute; inset:0; }
.nxb-banner--hero .nxb-banner__content { grid-area:1 / 1; align-items:center; padding:0 var(--site-gutter); }
.nxb-banner--hero .nxb-banner__content-inner { max-width:550px; }
.nxb-banner--hero .nxb-banner__title { font-family:"Origen Display",Arial,sans-serif; font-size:clamp(32px,3.08vw,59px); line-height:1.27; letter-spacing:0; }
.nxb-banner--hero .nxb-banner__buttons { gap:16px; margin-top:32px; }
.nxb-banner--hero .nxb-banner__button { min-width:163px; color:white; background:#172b3a; border-color:#172b3a; padding:10px 18px; font-family:"Origen Display",Arial,sans-serif; font-size:10px; }
.nxb-banner--hero .nxb-banner__button--primary { background:var(--brand); border-color:var(--brand); }
.nxb-banner--hero .nxb-banner__button::after { content:none; }
.nxb-banner--presentation-split .nxb-banner__layout { display:grid; grid-template-columns:1fr 1fr; }
.nxb-banner--presentation-split .nxb-banner__content { padding:40px; background:var(--dark); color:#fff; }
.nxb-banner--presentation-split .nxb-banner__content::before { display:none; }
.nxb-banner--presentation-split .nxb-banner__media { height:auto; position:relative; grid-column:2; grid-row:1; }
.nxb-banner--about { padding-bottom:80px; }
.nxb-banner--about .nxb-banner__content { padding:44px 95px 10px 6px; background:#fff; color:var(--ink); align-items:center; }
.nxb-banner--about .nxb-banner__media { aspect-ratio:1.33; }
.nxb-banner--about .nxb-banner__title::after { content:''; display:block; width:30px; border-top:1px solid; margin-top:20px; }
.nxb-banner--detail { margin-bottom:64px; }.nxb-banner--detail .nxb-banner__button { color:#fff; border-color:#fff; }.nxb-banner--detail .nxb-banner__media { min-height:330px; }
.nxb-simple-pods { width:var(--site-width); margin:0 auto; padding:64px 0 74px; }
.nxb-simple-pods__grid { gap:16px; grid-template-columns:repeat(var(--nxb-simple-pods-columns),minmax(0,1fr)); }
.nxb-simple-pods__card { border:0; border-radius:0; background:transparent; box-shadow:none; position:relative; min-width:0; overflow:visible; }
.nxb-simple-pods__media { aspect-ratio:1.28; border-radius:0; }
.nxb-simple-pods__image { display:block; width:100%; height:100%; object-fit:cover; border-radius:0; }
.nxb-simple-pods__content { padding:12px 0 0; }
.nxb-simple-pods__heading { font-size:15px; text-transform:uppercase; letter-spacing:.1em; font-weight:400; line-height:1.3; margin:0 0 6px; }
.nxb-simple-pods__text { font-size:13px; line-height:1.45; }.nxb-simple-pods__text p { margin:0; }
.nxb-simple-pods__link { font-size:10px; text-transform:uppercase; letter-spacing:.1em; text-decoration:none; margin-top:18px; display:inline-flex; align-items:center; gap:16px; }
.nxb-simple-pods__link::after { content:'→'; font-size:20px; }
.nxb-simple-pods--standard .nxb-simple-pods__link { position:absolute; inset:0; opacity:0; margin:0; z-index:2; }
.nxb-simple-pods--standard .nxb-simple-pods__card:focus-within { outline:3px solid var(--brand); outline-offset:5px; }
.nxb-section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:34px; }
.nxb-section-heading h2 { font-size:clamp(22px,1.7vw,32px); text-transform:uppercase; letter-spacing:.035em; margin:0; }
.nxb-section-heading h2::after { content:''; display:block; width:28px; border-top:1px solid; margin:14px 0; }
.nxb-section-introduction { max-width:450px; font-size:16px; line-height:1.4; }
.nxb-text-link { display:inline-flex; align-items:center; gap:25px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; padding-top:7px; white-space:nowrap; }.nxb-text-link span { font-size:26px; line-height:1; }
.nxb-simple-pods--services { padding:24px 0 76px; }
.nxb-simple-pods--overlay .nxb-simple-pods__grid { gap:7px; }
.nxb-simple-pods--overlay .nxb-simple-pods__card { min-height:clamp(170px,12vw,230px); overflow:hidden; color:#fff; background:#141b1f; }
.nxb-simple-pods--overlay .nxb-simple-pods__media { position:absolute; inset:0 0 0 25%; aspect-ratio:auto; }
.nxb-simple-pods--overlay .nxb-simple-pods__media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#141b1f,transparent 85%); }
.nxb-simple-pods--overlay .nxb-simple-pods__content { position:relative; z-index:1; padding:24px 32px; max-width:62%; }
.nxb-simple-pods--overlay .nxb-simple-pods__heading { font-size:23px; letter-spacing:.16em; color:#fff; }
.nxb-simple-pods--overlay .nxb-simple-pods__heading::after { content:''; display:block; width:24px; border-top:1px solid; margin:12px 0 9px; }
.nxb-simple-pods--overlay .nxb-simple-pods__text { font-size:12px; letter-spacing:.025em; }
.nxb-simple-pods--overlay .nxb-simple-pods__link { font-size:9px; letter-spacing:.14em; color:#fff; }
.nxb-simple-pods--icons { width:100%; padding:60px var(--site-gutter) 65px; background:#f2f5f6; }
.nxb-simple-pods--icons .nxb-simple-pods__grid { gap:0; padding-top:12px; }
.nxb-simple-pods--icons .nxb-simple-pods__card { text-align:center; padding:0 36px; border-right:1px solid #cbd1d5; }.nxb-simple-pods--icons .nxb-simple-pods__card:last-child { border:0; }
.nxb-simple-pods--icons .nxb-simple-pods__media { width:72px; height:78px; margin:0 auto 20px; aspect-ratio:auto; background:transparent; }.nxb-simple-pods--icons .nxb-simple-pods__image { object-fit:contain; }
.nxb-simple-pods--icons .nxb-simple-pods__content { padding:0; }.nxb-simple-pods--icons .nxb-simple-pods__heading { font-size:14px; max-width:190px; margin:0 auto 12px; }.nxb-simple-pods--icons .nxb-simple-pods__text { max-width:210px; margin:auto; font-size:14px; }
.nxb-simple-pods--icons .nxb-simple-pods__link { position:absolute; inset:0; opacity:0; margin:0; }
.nxb-text-block { --text-block-accent:var(--brand); }.nxb-text-block__inner { width:var(--site-width); }.nxb-text-block__heading { font-size:clamp(24px,2vw,36px); text-transform:uppercase; }.nxb-text-block__content { max-width:850px; }.nxb-text-block__button { color:var(--ink); background:transparent; border:1px solid; }
.nxb-text-block--feature-heading { padding:55px 0 24px; background:#eee url('/media/origen/brushed-metal.webp') center/cover; background-blend-mode:screen; }.nxb-text-block--feature-heading .nxb-text-block__intro { margin:0; }.nxb-text-block--feature-heading h2 { font-size:23px; letter-spacing:.09em; }
.nxb-banner-carousel--featured { padding:0 var(--site-gutter) 66px; background:#eee url('/media/origen/brushed-metal.webp') center/cover; background-blend-mode:screen; }.nxb-banner-carousel--featured .nxb-banner { width:100%; }.nxb-banner--feature .nxb-banner__layout { grid-template-columns:37% 63%; min-height:clamp(300px,18.3vw,350px); }
.nxb-banner--feature .nxb-banner__media { position:relative; }
.nxb-banner--feature .nxb-banner__image { position:absolute; inset:0; height:100%; object-fit:cover; }.nxb-banner--feature .nxb-banner__content { padding:35px 40px; }.nxb-banner--feature .nxb-banner__title { font-size:24px; }.nxb-banner--feature .nxb-banner__intro { font-size:14px; margin-top:20px; }.nxb-banner--feature .nxb-banner__button { color:#fff; padding:0; border:0; min-height:20px; font-size:9px; }.nxb-banner--feature .nxb-banner__eyebrow { font-size:9px; margin-bottom:22px; }
.nxb-banner--contact { min-height:clamp(320px,20vw,385px); }.nxb-banner--contact .nxb-banner__layout { min-height:inherit; }.nxb-banner--contact .nxb-banner__content { padding:60px var(--site-gutter); align-items:center; }.nxb-banner--contact .nxb-banner__content-inner { position:relative; padding-right:220px; max-width:none; }.nxb-banner--contact .nxb-banner__title { font-size:clamp(23px,2vw,36px); }.nxb-banner--contact .nxb-banner__eyebrow { margin-bottom:35px; }.nxb-banner--contact .nxb-banner__intro { margin-top:18px; }.nxb-banner--contact .nxb-banner__image { object-fit:cover; object-position:center bottom; }.nxb-banner--contact .nxb-banner__buttons { position:absolute; right:0; top:50%; margin:0; }.nxb-banner--contact .nxb-banner__button { background:#162329; color:#fff; border-color:#162329; }
.nxb-simple-pods--projects .nxb-simple-pods__card { max-width:700px; }
.cookie-consent__banner { background:var(--brand)!important; border-color:#fff!important; border-radius:0!important; }.cookie-consent__banner * { color:#fff!important; }.cookie-consent__banner .cookie-consent__button, .cookie-consent__banner .cookie-consent__button:hover, .cookie-consent__banner .cookie-consent__button:focus { background:transparent!important; border-color:#fff!important; }.cookie-consent__banner .cookie-consent__button--strong { border-width:2px; font-weight:700; }
@media(min-width:1800px) { body { font-size:18px; }.nxb-banner__intro { font-size:18px; }.nxb-simple-pods__text { font-size:15px; }.nxb-simple-pods__heading { font-size:18px; } }
@media(max-width:1100px) { .nxb-banner--about .nxb-banner__content { padding:20px 40px 20px 0; }.nxb-simple-pods--overlay .nxb-simple-pods__content { padding:22px; max-width:70%; }.nxb-simple-pods--overlay .nxb-simple-pods__heading { font-size:20px; }.nxb-simple-pods--icons .nxb-simple-pods__card { padding:0 20px; }.nxb-banner--feature .nxb-banner__content { padding:28px; }.nxb-banner--feature .nxb-banner__title { font-size:22px; } }
@media(max-width:800px) { .nxb-banner--hero { aspect-ratio:auto; min-height:430px; }.nxb-banner--hero .nxb-banner__layout { min-height:430px; }.nxb-banner--hero .nxb-banner__image { object-position:60% center; }.nxb-banner--hero .nxb-banner__content { background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,.4) 50%,transparent); }.nxb-banner--hero .nxb-banner__content-inner { max-width:400px; }.nxb-banner--hero .nxb-banner__title { font-size:36px; }.nxb-banner--hero .nxb-banner__buttons { gap:10px; }.nxb-banner--hero .nxb-banner__button { min-width:135px; }.nxb-simple-pods__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.nxb-simple-pods--icons .nxb-simple-pods__grid { row-gap:32px; }.nxb-simple-pods--icons .nxb-simple-pods__card:nth-child(2) { border:0; }.nxb-banner--about .nxb-banner__intro { font-size:14px; }.nxb-banner--about .nxb-banner__content { padding:0 28px 0 0; }.nxb-section-heading { flex-wrap:wrap; gap:12px; }.nxb-banner--contact .nxb-banner__content-inner { padding-right:0; }.nxb-banner--contact .nxb-banner__buttons { position:static; margin-top:20px; }.nxb-banner--feature .nxb-banner__layout { grid-template-columns:1fr 1fr; } }
@media(max-width:600px) { .nxb-banner--hero .nxb-banner__title { font-size:30px; }.nxb-banner--hero { min-height:460px; }.nxb-banner--hero .nxb-banner__layout { min-height:460px; }.nxb-banner--hero .nxb-banner__image { object-position:66% center; }.nxb-banner--hero .nxb-banner__content { background:linear-gradient(90deg,rgba(255,255,255,.93),rgba(255,255,255,.4)); }.nxb-simple-pods--services { padding-bottom:42px; }.nxb-simple-pods--overlay .nxb-simple-pods__grid { grid-template-columns:1fr; gap:10px; }.nxb-simple-pods--overlay .nxb-simple-pods__card { min-height:180px; }.nxb-simple-pods--overlay .nxb-simple-pods__content { max-width:63%; }.nxb-banner--presentation-split .nxb-banner__layout { grid-template-columns:1fr; }.nxb-banner--presentation-split .nxb-banner__media { grid-column:1; grid-row:2; min-height:250px; }.nxb-banner--about { padding-bottom:42px; }.nxb-banner--about .nxb-banner__content { padding:0 0 28px; }.nxb-banner--about .nxb-banner__intro { font-size:15px; }.nxb-banner--about .nxb-banner__title { font-size:26px; }.nxb-simple-pods { padding-block:42px; }.nxb-simple-pods--icons { padding-inline:20px; }.nxb-simple-pods--icons .nxb-simple-pods__card { padding-inline:12px; }.nxb-simple-pods--icons .nxb-simple-pods__heading { font-size:12px; }.nxb-simple-pods--icons .nxb-simple-pods__text { font-size:12px; }.nxb-simple-pods--icons .nxb-simple-pods__media { width:58px; height:62px; }.nxb-simple-pods__heading { font-size:12px; letter-spacing:.06em; }.nxb-simple-pods__text { font-size:12px; }.nxb-simple-pods__grid { gap:24px 14px; }.nxb-section-heading h2 { font-size:23px; }.nxb-text-link { white-space:normal; font-size:9px; }.nxb-section-introduction { font-size:15px; }.nxb-banner-carousel--featured { padding-bottom:42px; }.nxb-banner--feature .nxb-banner__content { padding:28px; }.nxb-banner--feature .nxb-banner__media { aspect-ratio:1.7; }.nxb-banner--contact .nxb-banner__content { padding-block:42px; }.nxb-banner--contact .nxb-banner__intro { font-size:14px; } }

.nxb-simple-pods--overlay .nxb-simple-pods__text { color:#fff; }
.nxb-simple-pods__link { border:0; border-radius:0; padding:0; min-height:24px; background:transparent; font-weight:400; }
.nxb-simple-pods--overlay .nxb-simple-pods__text { max-width:200px; }
.nxb-simple-pods--icons .nxb-simple-pods__content { align-items:center; }
.nxb-simple-pods--services .nxb-simple-pods__content { max-width:58%; }
.nxb-banner--hero .nxb-banner__image { height:100%; object-fit:cover; }
.nxb-banner--contact .nxb-banner__image { height:100%; object-fit:cover; object-position:center bottom; }

/* Contact content and its reusable form share a responsive CMS grid. */
.nxb-grid-layout--contact { padding:32px 0 80px; --nxb-grid-column-gap:5rem; }
.nxb-grid-layout--contact .nxb-grid-layout__inner { width:var(--site-width); }
.nxb-grid-layout--contact .nxb-text-block { width:100%; padding:0; }
.nxb-grid-layout--contact .nxb-text-block__inner { width:100%; }
.nxb-grid-layout--contact .nxb-contact-form { padding:0; }
.nxb-grid-layout--contact .nxb-contact-form__heading { font-size:28px; text-transform:uppercase; font-weight:400; }
.nxb-grid-layout--contact .nxb-contact-form__introduction { font-size:14px; }
.nxb-grid-layout--contact .nxb-contact-form__submit { border-radius:0; text-transform:uppercase; letter-spacing:.08em; font-size:12px; }
@media (max-width:800px) {
    .nxb-banner--feature .nxb-banner__layout { grid-template-columns:1fr; min-height:0; }
    .nxb-banner--feature .nxb-banner__media { grid-column:1; grid-row:2; width:100%; min-height:0; aspect-ratio:1.7; }
    .nxb-grid-layout--contact { --nxb-grid-column-gap:2rem; }
}
@media (max-width:600px) {
    .nxb-grid-layout--contact { padding:18px 0 48px; }
}
