.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; }
/* Reveal the homepage headline once, preserving word wrapping and the button position. */
.origen-typewriter__word { white-space:nowrap; }
.origen-typewriter__character { animation:origen-typewriter-character 1ms step-end var(--typewriter-delay) both; }
@keyframes origen-typewriter-character {
    from { opacity:0; }
    to { opacity:1; }
}
@media(prefers-reduced-motion:reduce) {
    .origen-typewriter__character { opacity:1; animation:none; }
}
@media print {
    .origen-typewriter__character { opacity:1; animation: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-top:clamp(24px,3vw,40px); 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; }
/* About portrait preserves the full composition and original media proportions. */
.nxb-banner--about-portrait { margin-bottom:clamp(42px,5vw,64px); }
.nxb-banner--about-portrait .nxb-banner__content { display:none; }
.nxb-banner--about-portrait .nxb-banner__media { aspect-ratio:auto; }
.nxb-banner--about-portrait .nxb-banner__media::after { display:none; }
.nxb-banner--about-portrait .nxb-banner__image { width:100%; height:auto; object-fit:contain; }
.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-banner--detail .nxb-banner__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.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:has(.nxb-simple-pods__link:focus-visible) { 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 { position:static; max-width:58%; }
.nxb-simple-pods--services .nxb-simple-pods__link { filter:none; }
.nxb-simple-pods--services .nxb-simple-pods__link::before { content:''; position:absolute; inset:0; }
.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. */
.origen-site:has(.nxb-grid-layout--contact) .nxb-page-heading { padding-block:44px 36px; }
.origen-site:has(.nxb-grid-layout--contact) .nxb-page-heading h1 { font-size:36px; }
.nxb-grid-layout--contact { padding:0 0 64px; --nxb-grid-column-gap:40px; }
.nxb-grid-layout--contact .nxb-grid-layout__inner { width:var(--site-width); }
.nxb-grid-layout--contact .nxb-grid-layout__row > .umb-block-grid__area-container { grid-template-columns:minmax(0,2fr) minmax(0,2.85fr); }
.nxb-grid-layout--contact .nxb-grid-layout__row .umb-block-grid__area { grid-column:auto; }
.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-text-block__intro { margin-bottom:14px; }
.nxb-grid-layout--contact .nxb-text-block__heading { font-size:24px; line-height:1.25; }
.nxb-grid-layout--contact .nxb-text-block__punctuation { font-family:Arial,sans-serif; font-weight:400; }
.nxb-grid-layout--contact .nxb-text-block__content { font-size:14px; line-height:1.55; }
.nxb-grid-layout--contact .nxb-text-block__content > p:first-child { margin-bottom:30px; }
.nxb-grid-layout--contact .nxb-text-block__outro { display:none; }
.nxb-grid-layout--contact .nxb-text-block__content > p:has(a[href^="mailto:"]) { margin:0; }
.nxb-grid-layout--contact .nxb-text-block__content > p:has(a[href^="mailto:"]) > br { display:none; }
.nxb-grid-layout--contact .nxb-text-block__content a:is([href^="mailto:"],[href^="tel:"]) { position:relative; display:block; padding-left:60px; font-family:inherit; font-size:16px; font-weight:400; color:#243f53; text-decoration:none; overflow-wrap:anywhere; }
.nxb-grid-layout--contact .nxb-text-block__content a[href^="mailto:"] { margin-bottom:30px; }
.nxb-grid-layout--contact .nxb-text-block__content a:is([href^="mailto:"],[href^="tel:"]):hover { color:var(--interactive); text-decoration:underline; }
.nxb-grid-layout--contact .nxb-text-block__content a:is([href^="mailto:"],[href^="tel:"])::before,
.nxb-grid-layout--contact .nxb-text-block__content > p:has(a[href^="mailto:"]) + p::before { display:block; margin-bottom:6px; color:var(--brand); font-size:11px; line-height:1.3; font-weight:400; letter-spacing:.15em; text-transform:uppercase; }
.nxb-grid-layout--contact .nxb-text-block__content a[href^="mailto:"]::before { content:'Email'; }
.nxb-grid-layout--contact .nxb-text-block__content a[href^="tel:"]::before { content:'Telephone'; }
.nxb-grid-layout--contact .nxb-text-block__content a:is([href^="mailto:"],[href^="tel:"])::after,
.nxb-grid-layout--contact .nxb-text-block__content > p:has(a[href^="mailto:"]) + p::after { content:''; position:absolute; top:2px; left:0; width:32px; height:32px; background:center/contain no-repeat; pointer-events:none; }
.nxb-grid-layout--contact .nxb-text-block__content a[href^="mailto:"]::after { background-image:url('/media/origen/contact-email.svg'); }
.nxb-grid-layout--contact .nxb-text-block__content a[href^="tel:"]::after { background-image:url('/media/origen/contact-phone.svg'); }
.nxb-grid-layout--contact .nxb-text-block__content > p:has(a[href^="mailto:"]) + p { position:relative; margin:30px 0 0; padding:30px 0 0 60px; border-top:1px solid #dce4e9; font-family:inherit; font-size:16px; font-weight:400; color:#243f53; }
.nxb-grid-layout--contact .nxb-text-block__content > p:has(a[href^="mailto:"]) + p::before { content:'Find us'; }
.nxb-grid-layout--contact .nxb-text-block__content > p:has(a[href^="mailto:"]) + p::after { top:32px; background-image:url('/media/origen/contact-location.svg'); }
.nxb-grid-layout--contact .nxb-contact-form { padding:24px 30px; background:#eaf2f6; border:1px solid #d5e1e9; color:var(--ink); }
.nxb-grid-layout--contact .nxb-contact-form__inner { display:flex; flex-direction:column; }
.nxb-grid-layout--contact .nxb-contact-form__intro { margin-bottom:14px; }
.nxb-grid-layout--contact .nxb-contact-form__heading { font-size:24px; text-transform:uppercase; font-weight:400; }
.nxb-grid-layout--contact .nxb-contact-form__introduction { margin-top:6px; font-size:13px; line-height:1.5; }
.nxb-grid-layout--contact .nxb-contact-form__status { order:1; }
.nxb-grid-layout--contact .nxb-contact-form__status--idle { display:none; }
.nxb-grid-layout--contact .nxb-contact-form__form { order:2; }
.nxb-grid-layout--contact .nxb-contact-form__fields { gap:14px 16px; }
.nxb-grid-layout--contact .nxb-contact-form__field { gap:5px; }
.nxb-grid-layout--contact .nxb-contact-form__field label { font-size:12px; font-weight:400; }
.nxb-grid-layout--contact .nxb-contact-form__field input { min-height:38px; padding:7px 10px; }
.nxb-grid-layout--contact .nxb-contact-form__field :is(input,textarea) { border-color:#b9c6cf; font-size:16px; line-height:1.25; }
.nxb-grid-layout--contact .nxb-contact-form__field textarea { height:96px; min-height:96px; padding:10px; }
.nxb-contact-form__privacy-notice { margin:12px 0 0; font-size:12px; line-height:1.5; }
.nxb-grid-layout--contact .nxb-contact-form__submit { min-height:42px; margin-top:14px; padding:10px 22px; border-radius:0; text-transform:uppercase; letter-spacing:.14em; font-size:11px; }
.nxb-grid-layout--contact .nxb-contact-form__submit::after { content:'→'; position:relative; top:-2px; margin-left:20px; font-size:19px; line-height:1; transition:transform .25s var(--motion-ease); }
.nxb-grid-layout--contact .nxb-contact-form__submit:is(:hover,:focus-visible)::after { transform:translateX(4px); }
.nxb-grid-layout--contact .nxb-contact-form__test-notice { order:3; margin:16px 0 0; padding:10px 0 0; border:0; border-top:1px solid #cbdbe5; background:transparent; color:#435b6b; font-size:11px; }
@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:28px; }
}
@media (max-width:767px) {
    .origen-site:has(.nxb-grid-layout--contact) .nxb-page-heading { padding-block:32px 28px; }
    .origen-site:has(.nxb-grid-layout--contact) .nxb-page-heading h1 { font-size:30px; }
    .nxb-grid-layout--contact .nxb-contact-form { padding:24px; }
}
@media (max-width:600px) {
    .nxb-grid-layout--contact { padding:0 0 48px; }
    .nxb-grid-layout--contact .nxb-text-block__content { font-size:15px; }
    .nxb-grid-layout--contact .nxb-contact-form__field label { font-size:13px; }
}

/* Shared interaction colours and restrained movement across the site. */
.button, .nxb-banner__button, .nxb-text-block__button, .nxb-contact-form__submit { transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s var(--motion-ease); }
.nxb-banner__button::after, .nxb-text-block__button::after, .nxb-simple-pods__link::after, .nxb-text-link span { display:inline-block; position:relative; top:-2px; transition:color .22s ease,transform .25s var(--motion-ease); }
.nxb-text-link, .nxb-simple-pods__link, .nxb-simple-pods__heading, .nxb-footer a, .nxb-footer__legal button { transition:color .22s ease; }
.nxb-simple-pods__image { transition:transform .45s var(--motion-ease); }
.nxb-simple-pods--icons .nxb-simple-pods__media { overflow:visible; }
.nxb-simple-pods--icons .nxb-simple-pods__image { --icon-turn:-4deg; transform-origin:center; }
.nxb-simple-pods--icons .nxb-simple-pods__image[src*="manufacture-icon"] { --icon-turn:28deg; }
.nxb-simple-pods__card { transition:box-shadow .25s ease; }
.nxb-contact-form__field input, .nxb-contact-form__field textarea { transition:border-color .2s ease,box-shadow .2s ease; }
.nxb-contact-form__field :is(input,textarea):focus-visible { border-color:var(--interactive); box-shadow:0 0 0 3px rgba(76,114,142,.12); }
.nxb-simple-pods__card:has(.nxb-simple-pods__link:focus-visible) { outline:3px solid var(--brand); outline-offset:5px; }

.button:focus-visible, .nxb-banner__button:focus-visible, .nxb-text-block__button:focus-visible, .nxb-contact-form__submit:enabled:focus-visible { color:#fff; background:var(--interactive); border-color:var(--interactive); filter:none; box-shadow:0 5px 16px rgba(23,43,58,.16); transform:translateY(-2px); }
.button:focus-visible, .nxb-banner__button:focus-visible, .nxb-text-block__button:focus-visible, .nxb-contact-form__submit:focus-visible { outline:3px solid var(--brand); outline-offset:4px; }
.nxb-banner__button:focus-visible::after, .nxb-text-block__button:focus-visible::after, .nxb-simple-pods__link:focus-visible::after, .nxb-text-link:focus-visible span { transform:translateX(5px); }
.nxb-text-link:focus-visible, .nxb-simple-pods__card:focus-within .nxb-simple-pods__heading { color:var(--interactive); }
.nxb-simple-pods--overlay .nxb-simple-pods__link:focus-visible, .nxb-simple-pods--overlay .nxb-simple-pods__card:focus-within .nxb-simple-pods__heading { color:var(--interactive-light); filter:none; }
.nxb-banner--feature .nxb-banner__button:focus-visible { background:transparent; color:var(--interactive-light); box-shadow:none; transform:none; }
.nxb-simple-pods--standard .nxb-simple-pods__card:focus-within .nxb-simple-pods__image, .nxb-simple-pods--overlay .nxb-simple-pods__card:focus-within .nxb-simple-pods__image { transform:scale(1.035); }
.nxb-simple-pods--icons .nxb-simple-pods__card:focus-within .nxb-simple-pods__image { transform:translateY(-5px) rotate(var(--icon-turn)) scale(1.04); }
.nxb-footer a:focus-visible, .nxb-footer__legal button:focus-visible { color:var(--interactive-light); text-decoration:underline; }
.cookie-consent__banner .cookie-consent__button:focus-visible { background:rgba(255,255,255,.16)!important; }
.cookie-consent__banner .cookie-consent__button[data-cookie-accept-all] { background:#172b3a!important; transition:background-color .22s ease; }
.cookie-consent__banner .cookie-consent__button[data-cookie-accept-all]:is(:hover,:focus-visible) { background:#315b78!important; }
.cookie-consent__banner .cookie-consent__button:focus-visible { outline-color:#fff; }

@media (hover:hover) and (pointer:fine) {
    .button:hover, .nxb-banner__button:hover, .nxb-text-block__button:hover, .nxb-contact-form__submit:enabled:hover { color:#fff; background:var(--interactive); border-color:var(--interactive); filter:none; box-shadow:0 5px 16px rgba(23,43,58,.16); transform:translateY(-2px); }
    .nxb-banner__button:hover::after, .nxb-text-block__button:hover::after, .nxb-simple-pods__link:hover::after, .nxb-text-link:hover span { transform:translateX(5px); }
    .nxb-text-link:hover, .nxb-simple-pods__card:has(.nxb-simple-pods__link):hover .nxb-simple-pods__heading { color:var(--interactive); }
    .nxb-simple-pods--overlay .nxb-simple-pods__link:hover, .nxb-simple-pods--overlay .nxb-simple-pods__card:has(.nxb-simple-pods__link):hover .nxb-simple-pods__heading { color:var(--interactive-light); filter:none; }
    .nxb-banner--feature .nxb-banner__button:hover { background:transparent; color:var(--interactive-light); box-shadow:none; transform:none; }
    .nxb-simple-pods--standard .nxb-simple-pods__card:has(.nxb-simple-pods__link):hover .nxb-simple-pods__image, .nxb-simple-pods--overlay .nxb-simple-pods__card:has(.nxb-simple-pods__link):hover .nxb-simple-pods__image { transform:scale(1.035); }
    .nxb-simple-pods--icons .nxb-simple-pods__card:hover .nxb-simple-pods__image { transform:translateY(-5px) rotate(var(--icon-turn)) scale(1.04); }
    .nxb-simple-pods--icons .nxb-simple-pods__card:hover .nxb-simple-pods__heading { color:var(--interactive); }
    .nxb-footer a:hover, .nxb-footer__legal button:hover { color:var(--interactive-light); text-decoration:underline; }
    .cookie-consent__banner .cookie-consent__button:hover { background:rgba(255,255,255,.16)!important; }
}

.button:active, .nxb-banner__button:active, .nxb-text-block__button:active, .nxb-contact-form__submit:enabled:active { transform:none; box-shadow:none; }
@media (prefers-reduced-motion:reduce) {
    .button, .nxb-banner__button, .nxb-text-block__button, .nxb-contact-form__submit,
    .nxb-banner__button::after, .nxb-text-block__button::after, .nxb-simple-pods__link::after,
    .nxb-text-link span, .nxb-simple-pods__image { transform:none!important; transition:none!important; }
}

/* One-time entrance effects are enabled only after the observer is ready. */
.origen-reveal--pending { opacity:0; }
.origen-reveal--active { animation:origen-content-reveal .65s var(--motion-ease) var(--reveal-delay,0ms) both; }
.origen-reveal--image.origen-reveal--active { animation-name:origen-image-reveal; animation-duration:.85s; }
.origen-reveal--active .nxb-banner__title::after,
.origen-reveal--active.nxb-section-heading h2::after,
.origen-reveal--active .nxb-simple-pods__heading::after { transform-origin:left; animation:origen-line-reveal .5s var(--motion-ease) calc(var(--reveal-delay,0ms) + .12s) both; }
.header-light-sweep { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:-1; }
.header-light-sweep::after { content:''; position:absolute; inset:0 auto 0 0; width:40%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent); animation:origen-metal-sweep 1.5s ease-in-out both; }
@keyframes origen-content-reveal {
    from { opacity:0; translate:0 16px; }
    to { opacity:1; translate:0 0; }
}
@keyframes origen-image-reveal {
    from { opacity:.25; clip-path:inset(0 100% 0 0); }
    to { opacity:1; clip-path:inset(0); }
}
@keyframes origen-line-reveal {
    from { transform:scaleX(0); }
    to { transform:scaleX(1); }
}
@keyframes origen-metal-sweep {
    from { transform:translateX(-120%) skewX(-18deg); }
    to { transform:translateX(370%) skewX(-18deg); }
}

/* A soft reflection complements the existing image and arrow hover effects. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
    .nxb-simple-pods--standard .nxb-simple-pods__media { position:relative; }
    .nxb-simple-pods--services .nxb-simple-pods__media::before,
    .nxb-simple-pods--standard .nxb-simple-pods__media::before { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; opacity:0; background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.12) 50%,transparent 75%); }
    .nxb-simple-pods--services .nxb-simple-pods__card:has(a):hover .nxb-simple-pods__media::before,
    .nxb-simple-pods--standard .nxb-simple-pods__card:has(a):hover .nxb-simple-pods__media::before { animation:origen-card-sheen .8s ease-out; }
}
@keyframes origen-card-sheen {
    0% { opacity:0; transform:translateX(-100%); }
    30% { opacity:1; }
    100% { opacity:0; transform:translateX(100%); }
}

/* Modest mobile type increases retain the existing two-column card layout. */
@media (max-width:600px) {
    body { font-size:16px; }
    .nxb-simple-pods__text,
    .nxb-simple-pods--icons .nxb-simple-pods__text,
    .nxb-simple-pods--overlay .nxb-simple-pods__text { font-size:14px; line-height:1.55; }
    .nxb-simple-pods__heading,
    .nxb-simple-pods--icons .nxb-simple-pods__heading { font-size:13px; line-height:1.4; letter-spacing:.05em; }
    .nxb-section-introduction, .nxb-banner--about .nxb-banner__intro { font-size:16px; line-height:1.55; }
    .nxb-banner--feature .nxb-banner__intro,
    .nxb-banner--contact .nxb-banner__intro,
    .nxb-grid-layout--contact .nxb-contact-form__introduction { font-size:15px; }
    .nxb-banner__button, .nxb-banner--hero .nxb-banner__button,
    .nxb-banner--feature .nxb-banner__button, .nxb-text-block__button,
    .nxb-simple-pods--overlay .nxb-simple-pods__link, .nxb-text-link,
    .header-actions .button { font-size:11px; }
    .navigation-level a { font-size:14px; }
    .nxb-banner__eyebrow, .nxb-banner--feature .nxb-banner__eyebrow { font-size:11px; }
    .nxb-footer { font-size:14px; }
    .nxb-footer h2 { font-size:12px; }
    .nxb-footer__bottom { font-size:11px; }
}

@media (prefers-reduced-motion:reduce) {
    .origen-reveal--pending, .origen-reveal--active { opacity:1; translate:none; clip-path:none; animation:none!important; }
    .nxb-grid-layout--contact .nxb-contact-form__submit::after { transform:none!important; transition:none!important; }
    .origen-reveal--active .nxb-banner__title::after,
    .origen-reveal--active.nxb-section-heading h2::after,
    .origen-reveal--active .nxb-simple-pods__heading::after { transform:none; animation:none!important; }
    .header-light-sweep { display:none; }
}
@media print {
    .origen-reveal--pending, .origen-reveal--active { opacity:1; translate:none; clip-path:none; animation:none; }
    .header-light-sweep { display:none; }
}

/* About and Industries share the same watermark position. The About block reference also preserves styling when an existing editor draft is published. */
:is(.nxb-text-block--about-watermark, [aria-labelledby="text-block-9b3f12e733354d769938697460a2b5a7-heading"]),
.page-content-shell:has(.nxb-simple-pods--industries) { position:relative; isolation:isolate; overflow:hidden; padding-top:0; }
:is(.nxb-text-block--about-watermark, [aria-labelledby="text-block-9b3f12e733354d769938697460a2b5a7-heading"])::before,
.page-content-shell:has(.nxb-simple-pods--industries)::before { content:''; position:absolute; z-index:-1; top:0; right:max(-150px,calc((100% - 1380px) / 2 - 150px)); width:560px; height:560px; background:url('/assets/origen-symbol.svg') center / contain no-repeat; opacity:.07; pointer-events:none; }
:is(.nxb-text-block--about-watermark, [aria-labelledby="text-block-9b3f12e733354d769938697460a2b5a7-heading"]) .nxb-text-block__intro,
:is(.nxb-text-block--about-watermark, [aria-labelledby="text-block-9b3f12e733354d769938697460a2b5a7-heading"]) .nxb-text-block__content { max-width:min(850px,75%); }
@media(max-width:1100px) {
    :is(.nxb-text-block--about-watermark, [aria-labelledby="text-block-9b3f12e733354d769938697460a2b5a7-heading"])::before,
    .page-content-shell:has(.nxb-simple-pods--industries)::before { right:-190px; width:500px; opacity:.06; }
    :is(.nxb-text-block--about-watermark, [aria-labelledby="text-block-9b3f12e733354d769938697460a2b5a7-heading"]) .nxb-text-block__intro,
    :is(.nxb-text-block--about-watermark, [aria-labelledby="text-block-9b3f12e733354d769938697460a2b5a7-heading"]) .nxb-text-block__content { max-width:80%; }
}
@media(max-width:600px) {
    :is(.nxb-text-block--about-watermark, [aria-labelledby="text-block-9b3f12e733354d769938697460a2b5a7-heading"])::before,
    .page-content-shell:has(.nxb-simple-pods--industries)::before { top:24px; right:-150px; width:360px; height:360px; opacity:.035; }
    :is(.nxb-text-block--about-watermark, [aria-labelledby="text-block-9b3f12e733354d769938697460a2b5a7-heading"]) .nxb-text-block__intro,
    :is(.nxb-text-block--about-watermark, [aria-labelledby="text-block-9b3f12e733354d769938697460a2b5a7-heading"]) .nxb-text-block__content { max-width:100%; }
}

/* Temporarily hide Capabilities and Our Work links and related sections; remove this group to restore them. */
.main-navigation li:has(> a:is([href^="/capabilities/"], [href^="/our-work/"])),
.nxb-footer li:has(> a:is([href^="/capabilities/"], [href^="/our-work/"])),
.nxb-footer__column[aria-label="Capabilities"],
.nxb-block:has(> .nxb-simple-pods--icons a[href^="/capabilities/"]),
.nxb-block:has(> .nxb-simple-pods--services),
.nxb-block:has(> .nxb-text-block--feature-heading),
.nxb-block:has(> .nxb-banner-carousel--featured),
.nxb-block:has(> .nxb-banner--feature a[href^="/our-work/"]),
.origen-site a:is([href^="/capabilities/"], [href^="/our-work/"]) { display:none; }
@media(min-width:1101px) {
    .nxb-footer__main { grid-template-columns:1.2fr .8fr .9fr 1.4fr; }
}

/* Industries overview: a compact introduction and consistent image cards. */
.origen-site:has(.nxb-simple-pods--industries) #site-content { font-style:normal; }
.origen-site:has(.nxb-simple-pods--industries) .nxb-page-heading { padding-bottom:12px; }
.page-content-shell:has(.nxb-simple-pods--industries) .nxb-text-block { padding:0 0 48px; background:transparent; }
.page-content-shell:has(.nxb-simple-pods--industries) .nxb-text-block__content { color:#555; }
.nxb-simple-pods--industries { padding-top:0; }
.nxb-simple-pods--industries .nxb-simple-pods__grid { gap:24px; }
:is(.nxb-simple-pods--industries, .nxb-simple-pods--aligned) .nxb-simple-pods__card { background:#fff; border:1px solid #e5e9ec; border-radius:3px; overflow:hidden; box-shadow:0 3px 12px rgba(23,32,41,.05); }
.nxb-simple-pods--industries .nxb-simple-pods__media { aspect-ratio:1.48; }
.nxb-simple-pods--industries .nxb-simple-pods__content { padding:24px; min-height:148px; }
.nxb-simple-pods--industries .nxb-simple-pods__heading { font-size:clamp(20px,1.55vw,26px); line-height:1.3; letter-spacing:.015em; margin:0 0 10px; }
.nxb-simple-pods--industries .nxb-simple-pods__text { margin:0; padding-right:64px; font-size:16px; line-height:1.5; }
:is(.nxb-simple-pods--industries, .nxb-simple-pods--aligned) .nxb-simple-pods__link { --industry-arrow-right:24px; --industry-arrow-bottom:28px; --industry-arrow-size:44px; --industry-arrow-icon-size:20px; opacity:1; font-size:0; letter-spacing:0; color:var(--ink); }
:is(.nxb-simple-pods--industries, .nxb-simple-pods--aligned) .nxb-simple-pods__link::before { content:''; position:absolute; z-index:1; right:calc(var(--industry-arrow-right) + (var(--industry-arrow-size) - var(--industry-arrow-icon-size)) / 2); bottom:calc(var(--industry-arrow-bottom) + (var(--industry-arrow-size) - var(--industry-arrow-icon-size)) / 2); width:var(--industry-arrow-icon-size); height:var(--industry-arrow-icon-size); background:currentColor; mask:url('/assets/arrow-right.svg') center / contain no-repeat; pointer-events:none; transition:background-color .22s ease; }
:is(.nxb-simple-pods--industries, .nxb-simple-pods--aligned) .nxb-simple-pods__link::after { content:''; position:absolute; top:auto; right:var(--industry-arrow-right); bottom:var(--industry-arrow-bottom); width:var(--industry-arrow-size); height:var(--industry-arrow-size); border:1px solid currentColor; border-radius:50%; transform:none; pointer-events:none; transition:color .22s ease,background-color .22s ease; }
:is(.nxb-simple-pods--industries, .nxb-simple-pods--aligned) .nxb-simple-pods__link:focus-visible::before { background:#fff; }
:is(.nxb-simple-pods--industries, .nxb-simple-pods--aligned) .nxb-simple-pods__link:focus-visible::after { color:#fff; background:var(--interactive); border-color:var(--interactive); }
@media(hover:hover) and (pointer:fine) {
    :is(.nxb-simple-pods--industries, .nxb-simple-pods--aligned) .nxb-simple-pods__link:hover::before { background:#fff; }
    :is(.nxb-simple-pods--industries, .nxb-simple-pods--aligned) .nxb-simple-pods__link:hover::after { color:#fff; background:var(--interactive); border-color:var(--interactive); }
}
@media(max-width:600px) {
    .page-content-shell:has(.nxb-simple-pods--industries) .nxb-text-block { padding-bottom:32px; }
    .nxb-simple-pods--industries .nxb-simple-pods__grid { grid-template-columns:minmax(0,1fr); }
    .nxb-simple-pods--industries .nxb-simple-pods__content { padding:20px; min-height:144px; }
    .nxb-simple-pods--industries .nxb-simple-pods__heading { font-size:20px; }
    .nxb-simple-pods--industries .nxb-simple-pods__text { padding-right:60px; font-size:15px; }
    .nxb-simple-pods--industries .nxb-simple-pods__link { --industry-arrow-right:20px; --industry-arrow-bottom:24px; }
}

/* Compact homepage industry cards retain aligned headings and descriptions across each row. */
.nxb-block:has(> .nxb-simple-pods--aligned) { background:#f3f5f6; }
.nxb-simple-pods--aligned { padding:48px 0 56px; }
.nxb-simple-pods--aligned .nxb-section-heading { align-items:center; margin-bottom:24px; }
.nxb-simple-pods--aligned .nxb-section-heading h2::after { content:none; }
.nxb-simple-pods--aligned .nxb-simple-pods__grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
@media(min-width:1600px) {
    .nxb-simple-pods--aligned .nxb-simple-pods__grid:has(> .nxb-simple-pods__card:nth-child(5):last-child) { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
.nxb-simple-pods--aligned .nxb-simple-pods__card { display:grid; grid-template-rows:subgrid; grid-row:span 3; row-gap:0; }
.nxb-simple-pods--aligned .nxb-simple-pods__media { aspect-ratio:1.65; }
.nxb-simple-pods--aligned .nxb-simple-pods__content { display:grid; grid-template-rows:subgrid; grid-row:span 2; row-gap:0; align-items:start; padding:16px; }
.nxb-simple-pods--aligned .nxb-simple-pods__heading { margin:0 0 10px; font-size:14px; line-height:1.35; letter-spacing:.025em; }
.nxb-simple-pods--aligned .nxb-simple-pods__text { margin:0; padding-right:52px; min-height:60px; font-size:13px; line-height:1.5; }
.nxb-simple-pods--aligned .nxb-simple-pods__link { --industry-arrow-right:16px; --industry-arrow-bottom:18px; --industry-arrow-size:40px; --industry-arrow-icon-size:18px; }
/* The homepage switches to a manual carousel below the five-card desktop layout. */
.nxb-simple-pods--aligned.is-industry-carousel .nxb-simple-pods__grid { display:block; margin-inline:-8px; }
.nxb-simple-pods--aligned.is-industry-carousel .slick-list { padding-block:6px 12px; }
.nxb-simple-pods--aligned.is-industry-carousel .slick-track { display:flex; }
.nxb-simple-pods--aligned.is-industry-carousel .nxb-simple-pods__card { display:flex; flex-direction:column; height:auto; margin-inline:8px; }
.nxb-simple-pods--aligned.is-industry-carousel .nxb-simple-pods__media { flex-shrink:0; }
.nxb-simple-pods--aligned.is-industry-carousel .nxb-simple-pods__content { display:flex; flex-direction:column; align-items:stretch; flex:1; }
.nxb-simple-pods--aligned.is-industry-carousel .nxb-simple-pods__heading { min-height:2.7em; }
.origen-industry-carousel__controls { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:18px; }
.origen-industry-carousel__controls[hidden] { display:none; }
.origen-industry-carousel__arrow { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--ink); border-radius:50%; background:transparent; color:var(--ink); cursor:pointer; }
.origen-industry-carousel__arrow::before { content:''; width:20px; height:20px; background:currentColor; mask:url('/assets/arrow-right.svg') center / contain no-repeat; }
.origen-industry-carousel__arrow--previous::before { transform:rotate(180deg); }
.origen-industry-carousel__arrow:disabled { opacity:.3; cursor:default; }
.origen-industry-carousel__arrow:focus-visible { outline:3px solid var(--interactive); outline-offset:3px; }
.origen-industry-carousel__status { min-width:65px; text-align:center; font-size:13px; }
@media(hover:hover) and (pointer:fine) {
    .origen-industry-carousel__arrow:hover:not(:disabled) { background:var(--interactive); border-color:var(--interactive); color:#fff; }
}
@media(min-width:1800px) {
    .nxb-simple-pods--aligned .nxb-simple-pods__heading { font-size:16px; }
    .nxb-simple-pods--aligned .nxb-simple-pods__text { font-size:15px; }
}
@media(max-width:1199px) {
    .nxb-simple-pods--aligned .nxb-simple-pods__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
    .nxb-simple-pods--aligned { padding:36px 0 42px; }
    .nxb-simple-pods--aligned .nxb-simple-pods__grid { grid-template-columns:minmax(0,1fr); }
    .nxb-simple-pods--aligned .nxb-simple-pods__heading { font-size:16px; }
    .nxb-simple-pods--aligned .nxb-simple-pods__text { font-size:14px; }
}
