/*
 * Nanomade — Design System V1
 * Styles des pages .nm-v1 et du footer .nm-site-footer
 */

/* =========================
   TYPOGRAPHY
   ========================= */

.nm-v1 .nm-eyebrow {
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nm-primary, #0D3B6E);
  margin-top: 0;
  margin-bottom: 20px;
}

/* =========================
   HMI BENEFITS / PHYSICAL AI NEEDS
   ========================= */

.nm-v1 .nm-hmi-benefits,
.nm-v1 .nm-physical-needs {
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-hmi-benefits .nm-section__title,
.nm-v1 .nm-physical-needs .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  max-width: 820px;
  margin: 0 0 40px;
}

.nm-v1 .nm-hmi-benefits .nm-benefits__grid,
.nm-v1 .nm-physical-needs .nm-benefits__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  width: 100%;
  align-items: stretch;
}

.nm-v1 .nm-hmi-benefits .nm-benefits__grid > .gb-grid-column,
.nm-v1 .nm-physical-needs .nm-benefits__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
  grid-column: span 2;
}

.nm-v1 .nm-hmi-benefits .nm-benefits__grid > .gb-grid-column:nth-child(n+4),
.nm-v1 .nm-physical-needs .nm-benefits__grid > .gb-grid-column:nth-child(n+4) {
  grid-column: span 3;
}

.nm-v1 .nm-hmi-benefits .nm-benefit-card,
.nm-v1 .nm-physical-needs .nm-benefit-card {
  box-sizing: border-box;
  height: 100%;
  padding: 32px;
  background: var(--nm-white, #FFFFFF);
  border: 1px solid rgba(15, 25, 35, 0.08);
}

.nm-v1 .nm-hmi-benefits .nm-benefit-card__number,
.nm-v1 .nm-physical-needs .nm-benefit-card__number {
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--nm-primary, #0D3B6E);
  margin: 0 0 24px;
}

.nm-v1 .nm-hmi-benefits .nm-benefit-card__title,
.nm-v1 .nm-physical-needs .nm-benefit-card__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 16px;
}

.nm-v1 .nm-hmi-benefits .nm-benefit-card__text,
.nm-v1 .nm-physical-needs .nm-benefit-card__text {
  font-family: "Source Sans 3", sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-hmi-benefits,
  .nm-v1 .nm-physical-needs { padding: 72px 24px; }
  .nm-v1 .nm-hmi-benefits .nm-section__title,
  .nm-v1 .nm-physical-needs .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-hmi-benefits .nm-benefits__grid,
  .nm-v1 .nm-physical-needs .nm-benefits__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nm-v1 .nm-hmi-benefits .nm-benefits__grid > .gb-grid-column,
  .nm-v1 .nm-physical-needs .nm-benefits__grid > .gb-grid-column ,
  .nm-v1 .nm-hmi-benefits .nm-benefits__grid > .gb-grid-column:nth-child(n+4),
  .nm-v1 .nm-physical-needs .nm-benefits__grid > .gb-grid-column:nth-child(n+4) {
    grid-column: auto;
  }
  .nm-v1 .nm-hmi-benefits .nm-benefits__grid > .gb-grid-column:last-child,
  .nm-v1 .nm-physical-needs .nm-benefits__grid > .gb-grid-column:last-child {
    grid-column: 1 / -1;
  }
  .nm-v1 .nm-hmi-benefits .nm-benefit-card,
  .nm-v1 .nm-physical-needs .nm-benefit-card { padding: 28px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-hmi-benefits,
  .nm-v1 .nm-physical-needs { padding: 56px 20px; }
  .nm-v1 .nm-hmi-benefits .nm-section__title,
  .nm-v1 .nm-physical-needs .nm-section__title {
    font-size: 32px !important;
    margin-bottom: 28px;
  }
  .nm-v1 .nm-hmi-benefits .nm-benefits__grid,
  .nm-v1 .nm-physical-needs .nm-benefits__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .nm-v1 .nm-hmi-benefits .nm-benefit-card,
  .nm-v1 .nm-physical-needs .nm-benefit-card { padding: 24px; }
  .nm-v1 .nm-hmi-benefits .nm-benefit-card__number,
  .nm-v1 .nm-physical-needs .nm-benefit-card__number { font-size: 12px !important; }
  .nm-v1 .nm-hmi-benefits .nm-benefit-card__title,
  .nm-v1 .nm-physical-needs .nm-benefit-card__title { font-size: 22px !important; }
  .nm-v1 .nm-hmi-benefits .nm-benefit-card__text,
  .nm-v1 .nm-physical-needs .nm-benefit-card__text { font-size: 16px !important; }
}

.nm-v1 .nm-display {
  font-family: "Source Serif 4", serif;
  font-size: 72px;
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin-top: 0;
  margin-bottom: 24px;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-display {
    font-size: 58px;
  }
}

@media (max-width: 768px) {
  .nm-v1 .nm-display {
    /*
     * !important uniquement pour neutraliser
     * l'ancien override mobile global du site.
     */
    font-size: 44px !important;
    line-height: 0.98;
    font-weight: 600;
  }
}

/* Hero introduction */
.nm-v1 .nm-hero__intro {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--nm-steel, #546E7A);
  max-width: 620px;
  margin-top: 0;
  margin-bottom: 32px;
}

@media (max-width: 768px) {
  .nm-v1 .nm-hero__intro {
    font-size: 18px !important;
  }
}

/* =========================
   HERO ACTIONS
   ========================= */

.nm-v1 .nm-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

/* Base button */
.nm-v1 .nm-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;

  padding: 14px 20px;

  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;

  text-decoration: none;

  border: 1px solid transparent;
  border-radius: 2px;

  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease;
}

/* Primary */
.nm-v1 .nm-button--primary {
  background-color: var(--nm-primary, #0D3B6E);
  color: var(--nm-white, #FFFFFF);
  border-color: var(--nm-primary, #0D3B6E);
}

.nm-v1 .nm-button--primary:hover,
.nm-v1 .nm-button--primary:focus {
  background-color: var(--nm-ink, #0F1923);
  border-color: var(--nm-ink, #0F1923);
  color: var(--nm-white, #FFFFFF);
}

/* Secondary */
.nm-v1 .nm-button--secondary {
  background-color: transparent;
  color: var(--nm-ink, #0F1923);
  border-color: var(--nm-steel, #546E7A);
}

.nm-v1 .nm-button--secondary:hover,
.nm-v1 .nm-button--secondary:focus {
  background-color: var(--nm-surface, #F2F4F6);
  border-color: var(--nm-ink, #0F1923);
  color: var(--nm-ink, #0F1923);
}

@media (max-width: 600px) {
  .nm-v1 .nm-hero__actions {
    align-items: stretch;
  }

  .nm-v1 .nm-button {
    width: 100%;
  }
}

.nm-v1 .nm-hero__image {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  display: block;
}

@media (max-width: 768px) {
  .nm-v1 .nm-hero__image {
    min-height: 380px;
  }
}

/* Standard hero — mobile text gutter, including the action buttons. */
@media (max-width: 768px) {
  .nm-v1 .nm-hero__grid .nm-hero__content {
    box-sizing: border-box;
    min-width: 0;
    padding: 40px 20px 32px;
  }
}

/* =========================
   HOMEPAGE HERO — DARK
   ========================= */

.nm-v1 .nm-home-hero {
  width: 100%;
  position: relative;
  overflow: hidden;
  background-color: #02070B;
  color: var(--nm-white, #FFFFFF);
  padding: 96px 32px;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-home-hero {
    padding: 72px 24px;
  }
}

@media (max-width: 768px) {
  .nm-v1 .nm-home-hero {
    padding: 56px 20px;
  }
}

.nm-v1 .nm-container {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

/* Homepage Hero — content */

.nm-v1 .nm-eyebrow--light {
  color: rgba(255, 255, 255, 0.68);
}

.nm-v1 .nm-home-hero__title {
  font-family: "Source Serif 4", serif;
  font-size: 72px;
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: -0.02em;
  color: #FFFFFF;
  margin: 0 0 28px;
}

.nm-v1 .nm-home-hero__intro {
  max-width: 520px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.72);
  margin: 0;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-home-hero__title {
    font-size: 58px;
  }
}

@media (max-width: 768px) {
  .nm-v1 .nm-home-hero__title {
    font-size: 44px !important;
  }

  .nm-v1 .nm-home-hero__intro {
    font-size: 18px !important;
  }
}

.nm-v1 .nm-home-hero__media {
  position: relative;
  overflow: hidden;
}

.nm-v1 .nm-home-hero__video,
.nm-v1 .nm-home-hero__video video {
  width: 100%;
  height: auto;
  display: block;
}

.nm-v1 .nm-home-hero__video video {
  object-fit: cover;
}

/* Homepage Hero — video */

.nm-v1 .nm-home-hero__media {
  position: relative;
  overflow: hidden;
}

.nm-v1 .nm-home-hero__video,
.nm-v1 .nm-home-hero__video video {
  width: 100%;
  height: auto;
  display: block;
}

.nm-v1 .nm-home-hero__video video {
  object-fit: cover;
}

/* =========================================================
   HOMEPAGE HERO — DARK
   Final adjustments — 2026-10-06
   GenerateBlocks uses .gb-grid-column wrappers.
   Desktop layout remains controlled by the existing blocks.
   ========================================================= */

.nm-v1 .nm-home-hero {
  /* Near-black measured in the supplied video poster. */
  background-color: #010101;
}

.nm-v1 .nm-home-hero__video {
  margin: 0;
}

.nm-v1 .nm-home-hero__video video {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  display: block;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-home-hero__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
    margin-left: 0;
    align-items: center;
  }

  .nm-v1 .nm-home-hero__grid > .gb-grid-column {
    width: 100%;
    min-width: 0;
    padding-left: 0;
  }

  .nm-v1 .nm-home-hero__content,
  .nm-v1 .nm-home-hero__media {
    min-width: 0;
  }
}

@media (max-width: 767px) {
  .nm-v1 .nm-home-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .nm-v1 .nm-home-hero__content,
  .nm-v1 .nm-home-hero__media {
    width: 100%;
    max-width: none;
  }

  .nm-v1 .nm-home-hero__media {
    height: auto;
    min-height: 0;
  }
}

/* =========================
   HOMEPAGE — SOLUTION CARDS
   ========================= */

.nm-v1 .nm-home-solutions {
  padding: 96px 32px;
  background-color: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-home-solutions .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 40px;
}

.nm-v1 .nm-solutions__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  align-items: stretch;
  margin-left: 0;
}

.nm-v1 .nm-solutions__grid > .gb-grid-column {
  width: 100%;
  min-width: 0;
  padding-left: 0;
}

.nm-v1 .nm-solution-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  background-color: var(--nm-white, #FFFFFF);
  border: 1px solid #DFE6EA;
  border-radius: 2px;
}

.nm-v1 .nm-solution-card__media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: #E5EBEF;
}

.nm-v1 .nm-solution-card__media figure {
  margin: 0;
  height: 100%;
}

.nm-v1 .nm-solution-card__media img,
.nm-v1 .nm-solution-card__media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nm-v1 .nm-solution-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 32px;
}

.nm-v1 .nm-solution-card__body .nm-eyebrow {
  margin-bottom: 16px;
}

.nm-v1 .nm-solution-card__title {
  font-family: "Source Serif 4", serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 20px;
}

.nm-v1 .nm-solution-card__text {
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  line-height: 1.5;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 24px;
}

.nm-v1 .nm-solution-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: auto;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-home-solutions {
    padding: 72px 24px;
  }

  .nm-v1 .nm-home-solutions .nm-section__title {
    font-size: 40px;
  }

  .nm-v1 .nm-solutions__grid {
    gap: 24px;
  }

  .nm-v1 .nm-solution-card__body {
    padding: 24px;
  }
}

@media (max-width: 767px) {
  .nm-v1 .nm-home-solutions {
    padding: 56px 20px;
  }

  .nm-v1 .nm-solutions__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  /* Neutralize the legacy site's global mobile typography overrides. */
  .nm-v1 .nm-home-solutions .nm-section__title {
    font-size: 32px !important;
    margin-bottom: 32px;
  }

  .nm-v1 .nm-solution-card__title {
    font-size: 28px !important;
  }

  .nm-v1 .nm-home-solutions .nm-eyebrow {
    font-size: 12px !important;
  }

  .nm-v1 .nm-solution-card__text {
    font-size: 16px !important;
  }
}

/* =========================
   HOMEPAGE — CLIENTS & PARTNERS
   ========================= */

.nm-v1 .nm-home-trust {
  padding: 72px 32px;
  background-color: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-home-trust .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 32px;
}

.nm-v1 .nm-trust__logos {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 24px;
  align-items: center;
  margin-left: 0;
}

.nm-v1 .nm-trust__logos > .gb-grid-column {
  width: 100%;
  min-width: 0;
  padding-left: 0;
}

.nm-v1 .nm-trust__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 104px;
  min-width: 0;
  padding: 16px;
  box-sizing: border-box;
}

.nm-v1 .nm-trust__logo figure {
  margin: 0;
  max-width: 100%;
}

.nm-v1 .nm-trust__logo a {
  display: flex;
  align-items: center;
  justify-content: center;
}

.nm-v1 .nm-trust__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(144px, 100%);
  max-height: 48px;
  object-fit: contain;
}

.nm-v1 .nm-trust__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-home-trust {
    padding: 56px 24px;
  }

  .nm-v1 .nm-home-trust .nm-section__title {
    font-size: 40px;
  }

  .nm-v1 .nm-trust__logos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .nm-v1 .nm-home-trust {
    padding: 40px 20px;
  }

  .nm-v1 .nm-home-trust .nm-section__title {
    font-size: 32px !important;
    margin-bottom: 24px;
  }

  .nm-v1 .nm-home-trust .nm-eyebrow {
    font-size: 12px !important;
  }

  .nm-v1 .nm-trust__logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}

/* =========================
   CLIENTS & PARTNERS — CONTINUOUS LOGO STRIP
   Activated by nanomade-trust-marquee.js only.
   ========================= */

.nm-v1 .nm-trust__marquee {
  --nm-logo-width: 180px;
  --nm-logo-gap: 24px;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.nm-v1 .nm-trust__track {
  display: flex;
  gap: var(--nm-logo-gap);
  width: max-content;
  animation: nm-trust-scroll var(--nm-marquee-duration, 60s) linear infinite;
}

.nm-v1 .nm-trust__marquee .nm-trust__logos {
  display: flex;
  flex-wrap: nowrap;
  flex: 0 0 auto;
  gap: var(--nm-logo-gap);
  width: max-content;
  margin: 0;
  padding: 0;
  align-items: center;
}

.nm-v1 .nm-trust__marquee .nm-trust__logos > .gb-grid-column {
  flex: 0 0 var(--nm-logo-width);
  width: var(--nm-logo-width);
  padding: 0;
}

.nm-v1 .nm-trust__pause {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 8px;
  padding: 8px 12px;
  border: 1px solid #DFE6EA;
  border-radius: 2px;
  background: var(--nm-white, #FFFFFF);
  color: var(--nm-steel, #546E7A);
  font-family: "Source Sans 3", sans-serif;
  font-size: 13px;
  line-height: 1.2;
  cursor: pointer;
}

.nm-v1 .nm-trust__pause:hover {
  background: var(--nm-surface, #F2F4F6);
  color: var(--nm-ink, #0F1923);
}

.nm-v1 .nm-trust__pause:focus-visible,
.nm-v1 .nm-trust__logo a:focus-visible {
  outline: 2px solid var(--nm-primary, #0D3B6E);
  outline-offset: 3px;
}

.nm-v1 .nm-trust__pause[hidden] {
  display: none;
}

@keyframes nm-trust-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-1 * var(--nm-marquee-distance, 0px))); }
}

/* Keyboard users can inspect all original links without moving targets. */
.nm-v1 .nm-trust__marquee.is-focused {
  overflow-x: auto;
}

.nm-v1 .nm-trust__marquee.is-focused .nm-trust__track,
.nm-v1 .nm-trust__marquee.is-reduced-motion .nm-trust__track {
  animation: none;
  transform: none;
}

.nm-v1 .nm-trust__marquee.is-focused .nm-trust__clone,
.nm-v1 .nm-trust__marquee.is-reduced-motion .nm-trust__clone {
  display: none;
}

.nm-v1 .nm-trust__marquee.is-reduced-motion {
  overflow: visible;
}

.nm-v1 .nm-trust__marquee.is-reduced-motion .nm-trust__track {
  display: block;
  width: 100%;
}

.nm-v1 .nm-trust__marquee.is-reduced-motion .nm-trust__logos {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  width: 100%;
}

.nm-v1 .nm-trust__marquee.is-reduced-motion .nm-trust__logos > .gb-grid-column {
  width: 100%;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-trust__marquee { --nm-logo-width: 160px; }
  .nm-v1 .nm-trust__marquee.is-reduced-motion .nm-trust__logos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .nm-v1 .nm-trust__marquee {
    --nm-logo-width: 140px;
    --nm-logo-gap: 16px;
  }
  .nm-v1 .nm-trust__marquee.is-reduced-motion .nm-trust__logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Stops motion immediately, including before the JS preference listener runs. */
@media (prefers-reduced-motion: reduce) {
  .nm-v1 .nm-trust__track { animation: none; }
}

/* =========================
   HOMEPAGE — APPLICATIONS & CASE STUDIES
   ========================= */

.nm-v1 .nm-home-cases {
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-home-cases .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 32px;
}

.nm-v1 .nm-cases__track {
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  align-items: stretch;
  width: 100%;
  margin: 0;
  padding: 2px 0 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: var(--nm-steel, #546E7A) transparent;
}

.nm-v1 .nm-cases__track > .gb-grid-column {
  flex: 0 0 calc((100% - 48px) / 3);
  width: calc((100% - 48px) / 3);
  min-width: 0;
  padding: 0;
  scroll-snap-align: start;
}

.nm-v1 .nm-case-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  border: 1px solid #DFE6EA;
  border-radius: 2px;
  background: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-case-card__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #E5EBEF;
}

.nm-v1 .nm-case-card__media figure {
  margin: 0;
  height: 100%;
}

.nm-v1 .nm-case-card__media img,
.nm-v1 .nm-case-card__media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nm-v1 .nm-case-card__body {
  flex: 1;
  padding: 24px;
}

.nm-v1 .nm-case-card__title {
  font-family: "Source Serif 4", serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.15;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 12px;
}

.nm-v1 .nm-case-card__title a {
  color: inherit;
  text-decoration: none;
}

.nm-v1 .nm-case-card__title a:hover {
  text-decoration: underline;
}

.nm-v1 .nm-case-card__sector {
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

.nm-v1 .nm-cases__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.nm-v1 .nm-cases__controls {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 16px;
}

.nm-v1 .nm-cases__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #DFE6EA;
  border-radius: 2px;
  background: var(--nm-white, #FFFFFF);
  color: var(--nm-primary, #0D3B6E);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.nm-v1 .nm-cases__arrow:hover:not(:disabled) {
  background: var(--nm-primary, #0D3B6E);
  color: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-cases__arrow:disabled {
  opacity: 0.35;
  cursor: default;
}

.nm-v1 .nm-cases__controls[hidden] {
  display: none;
}

.nm-v1 .nm-cases__arrow:focus-visible,
.nm-v1 .nm-cases__track:focus-visible,
.nm-v1 .nm-case-card a:focus-visible {
  outline: 2px solid var(--nm-primary, #0D3B6E);
  outline-offset: 2px;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-home-cases {
    padding: 72px 24px;
  }
  .nm-v1 .nm-home-cases .nm-section__title {
    font-size: 40px;
  }
  .nm-v1 .nm-cases__track > .gb-grid-column {
    flex-basis: calc((100% - 24px) / 2);
    width: calc((100% - 24px) / 2);
  }
}

@media (max-width: 767px) {
  .nm-v1 .nm-home-cases {
    padding: 56px 20px;
  }
  .nm-v1 .nm-home-cases .nm-section__title {
    font-size: 32px !important;
  }
  .nm-v1 .nm-home-cases .nm-eyebrow,
  .nm-v1 .nm-case-card__sector {
    font-size: 12px !important;
  }
  .nm-v1 .nm-case-card__title {
    font-size: 28px !important;
  }
  .nm-v1 .nm-cases__track > .gb-grid-column {
    flex-basis: 100%;
    width: 100%;
  }
}

/* =========================
   CASE STUDIES — IMAGE MOSAIC
   Alternate layout; the Grid uses .nm-cases__mosaic.
   ========================= */

.nm-v1 .nm-cases__mosaic {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: 280px 280px;
  grid-auto-rows: 280px;
  gap: 24px;
  align-items: stretch;
  margin: 0;
  padding: 0;
}

.nm-v1 .nm-cases__mosaic > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-cases__mosaic > .gb-grid-column:nth-child(1) {
  grid-column: 1 / span 2;
  grid-row: 1;
}

.nm-v1 .nm-cases__mosaic > .gb-grid-column:nth-child(2) {
  grid-column: 3;
  grid-row: 1 / span 2;
}

.nm-v1 .nm-cases__mosaic > .gb-grid-column:nth-child(3) {
  grid-column: 1;
  grid-row: 2;
}

.nm-v1 .nm-cases__mosaic > .gb-grid-column:nth-child(4) {
  grid-column: 2;
  grid-row: 2;
}

.nm-v1 .nm-cases__mosaic .nm-case-card {
  position: relative;
  height: 100%;
  overflow: hidden;
  border: 0;
  background: #010101;
}

.nm-v1 .nm-cases__mosaic .nm-case-card__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
}

.nm-v1 .nm-cases__mosaic .nm-case-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, 0.8) 100%);
  pointer-events: none;
}

.nm-v1 .nm-cases__mosaic .nm-case-card__body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  padding: 28px;
  background: transparent;
}

.nm-v1 .nm-cases__mosaic .nm-case-card__title {
  color: #FFFFFF;
  margin-bottom: 10px;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
}

.nm-v1 .nm-cases__mosaic .nm-case-card__sector {
  color: rgba(255, 255, 255, 0.8);
}

@media (max-width: 1024px) {
  .nm-v1 .nm-cases__mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    grid-auto-rows: auto;
  }

  .nm-v1 .nm-cases__mosaic > .gb-grid-column:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
    aspect-ratio: 4 / 3;
  }

  .nm-v1 .nm-cases__mosaic .nm-case-card__body {
    padding: 24px;
  }
}

@media (max-width: 767px) {
  .nm-v1 .nm-cases__mosaic {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .nm-v1 .nm-cases__mosaic > .gb-grid-column:nth-child(n) {
    min-height: 240px;
  }
}

/* Mosaic — links to industry pages over the images. */
.nm-v1 .nm-cases__mosaic .nm-button--on-image {
  margin-top: 16px;
  background-color: transparent;
  color: #FFFFFF;
  border-color: rgba(255, 255, 255, 0.7);
}

.nm-v1 .nm-cases__mosaic .nm-button--on-image:hover,
.nm-v1 .nm-cases__mosaic .nm-button--on-image:focus {
  background-color: #FFFFFF;
  color: var(--nm-ink, #0F1923);
  border-color: #FFFFFF;
}

.nm-v1 .nm-cases__mosaic .nm-button--on-image:focus-visible {
  outline: 2px solid #FFFFFF;
  outline-offset: 3px;
}

/* =========================
   HOMEPAGE — PRESS, AWARDS & RECOGNITION
   ========================= */

.nm-v1 .nm-home-recognition {
  padding: 72px 32px;
  background: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-home-recognition .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 32px;
}

.nm-v1 .nm-recognition__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  align-items: stretch;
}

.nm-v1 .nm-recognition__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-recognition-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 28px;
  border: 1px solid #DFE6EA;
  border-radius: 2px;
  background: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-recognition-card__media {
  display: flex;
  align-items: center;
  min-height: 64px;
  margin-bottom: 24px;
}

.nm-v1 .nm-recognition-card__media figure {
  margin: 0;
  max-width: 100%;
}

.nm-v1 .nm-recognition-card__media img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(160px, 100%);
  max-height: 48px;
  object-fit: contain;
}

.nm-v1 .nm-recognition-card__meta {
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 16px;
}

.nm-v1 .nm-recognition-card__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 24px;
}

.nm-v1 .nm-recognition-card__actions {
  margin-top: auto;
}

.nm-v1 .nm-recognition__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-home-recognition {
    padding: 56px 24px;
  }
  .nm-v1 .nm-home-recognition .nm-section__title {
    font-size: 40px;
  }
  .nm-v1 .nm-recognition-card {
    padding: 24px;
  }
}

@media (max-width: 767px) {
  .nm-v1 .nm-home-recognition {
    padding: 40px 20px;
  }
  .nm-v1 .nm-recognition__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .nm-v1 .nm-home-recognition .nm-section__title {
    font-size: 32px !important;
  }
  .nm-v1 .nm-home-recognition .nm-eyebrow,
  .nm-v1 .nm-recognition-card__meta {
    font-size: 12px !important;
  }
  .nm-v1 .nm-recognition-card__title {
    font-size: 22px !important;
  }
}

/* =========================
   HOMEPAGE — ADVANCED SENSING
   ========================= */

.nm-v1 .nm-home-advanced {
  padding: 72px 32px;
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-home-advanced .nm-section__title {
  max-width: 820px;
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 24px;
}

.nm-v1 .nm-advanced__intro {
  max-width: 720px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  line-height: 1.5;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 32px;
}

.nm-v1 .nm-advanced__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
  margin: 0;
  padding: 0;
}

.nm-v1 .nm-advanced__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-advanced-card {
  height: 100%;
  padding: 28px;
  border: 1px solid #DFE6EA;
  border-radius: 2px;
  background: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-advanced-card__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 16px;
}

.nm-v1 .nm-advanced-card__text {
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  line-height: 1.5;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

.nm-v1 .nm-advanced__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-home-advanced {
    padding: 56px 24px;
  }
  .nm-v1 .nm-home-advanced .nm-section__title {
    font-size: 40px;
  }
  .nm-v1 .nm-advanced-card {
    padding: 24px;
  }
}

@media (max-width: 767px) {
  .nm-v1 .nm-home-advanced {
    padding: 40px 20px;
  }
  .nm-v1 .nm-advanced__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  .nm-v1 .nm-home-advanced .nm-section__title {
    font-size: 32px !important;
  }
  .nm-v1 .nm-home-advanced .nm-eyebrow {
    font-size: 12px !important;
  }
  .nm-v1 .nm-advanced-card__title {
    font-size: 24px !important;
  }
  .nm-v1 .nm-advanced__intro,
  .nm-v1 .nm-advanced-card__text {
    font-size: 16px !important;
  }
}

/* =========================
   HOMEPAGE — FINAL CONTACT CTA
   ========================= */

.nm-v1 .nm-home-contact {
  padding: 96px 32px;
  background: var(--nm-primary, #0D3B6E);
  text-align: center;
}

.nm-v1 .nm-home-contact .nm-section__title {
  max-width: 900px;
  margin: 0 auto 24px;
  font-family: "Source Serif 4", serif;
  font-size: 56px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: #FFFFFF;
}

.nm-v1 .nm-contact__text {
  max-width: 680px;
  margin: 0 auto 32px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.85);
}

.nm-v1 .nm-contact__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}

.nm-v1 .nm-home-contact .nm-button--light {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: var(--nm-primary, #0D3B6E);
}

.nm-v1 .nm-home-contact .nm-button--light:hover,
.nm-v1 .nm-home-contact .nm-button--light:focus {
  background: var(--nm-surface, #F2F4F6);
  border-color: var(--nm-surface, #F2F4F6);
  color: var(--nm-ink, #0F1923);
}

.nm-v1 .nm-home-contact .nm-button:focus-visible {
  outline: 2px solid #FFFFFF;
  outline-offset: 4px;
}

/* =========================
   FOOTER — V1
   ========================= */

.nm-site-footer {
  padding: 64px 32px 24px;
  background: var(--nm-ink, #0F1923);
  color: #FFFFFF;
}

.nm-site-footer .nm-footer__brand {
  margin-bottom: 40px;
}

.nm-site-footer .nm-footer__brand figure {
  margin: 0;
}

.nm-site-footer .nm-footer__brand img {
  display: block;
  width: 170px;
  max-width: 100%;
  height: auto;
}

.nm-site-footer .nm-footer__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 32px;
  margin: 0;
  padding: 0;
}

.nm-site-footer .nm-footer__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-site-footer .nm-footer__column {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.nm-site-footer .nm-footer__title {
  margin: 0 0 8px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  color: #FFFFFF;
}

.nm-site-footer .nm-footer__link,
.nm-site-footer .nm-footer__legal-link,
.nm-site-footer .nm-footer__copyright {
  margin: 0;
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.75);
}

.nm-site-footer a {
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  text-underline-offset: 4px;
  overflow-wrap: anywhere;
}

.nm-site-footer a:hover,
.nm-site-footer a:focus {
  color: #FFFFFF;
  text-decoration: underline;
}

.nm-site-footer a:focus-visible {
  outline: 2px solid #FFFFFF;
  outline-offset: 4px;
}

.nm-site-footer .nm-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 32px;
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.nm-site-footer .nm-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-home-contact {
    padding: 72px 24px;
  }
  .nm-v1 .nm-home-contact .nm-section__title {
    font-size: 44px;
  }
  .nm-site-footer {
    padding: 56px 24px 24px;
  }
  .nm-site-footer .nm-footer__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px 24px;
  }
}

@media (max-width: 767px) {
  .nm-v1 .nm-home-contact {
    padding: 56px 20px;
  }
  .nm-v1 .nm-home-contact .nm-section__title {
    font-size: 36px !important;
  }
  .nm-v1 .nm-contact__text {
    font-size: 18px !important;
  }
  .nm-site-footer {
    padding: 40px 20px 24px;
  }
  .nm-site-footer .nm-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 20px;
  }
  .nm-site-footer .nm-footer__title,
  .nm-site-footer .nm-footer__link {
    font-size: 16px !important;
  }
  .nm-site-footer .nm-footer__copyright,
  .nm-site-footer .nm-footer__legal-link {
    font-size: 14px !important;
  }
  .nm-site-footer .nm-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 40px;
  }
}

@media (max-width: 380px) {
  .nm-site-footer .nm-footer__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Footer menus — native WordPress menus, with top-level section groups. */
.nm-site-footer .nm-container {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.nm-site-footer .nm-footer__nav ul,
.nm-site-footer .nm-footer__legal-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.nm-site-footer .nm-footer__nav .nm-footer__menu {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 32px;
}

.nm-site-footer .nm-footer__nav li,
.nm-site-footer .nm-footer__legal-nav li {
  margin: 0;
  padding: 0;
  min-width: 0;
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

.nm-site-footer .nm-footer__menu > li > a,
.nm-site-footer .nm-footer__heading {
  display: block;
  margin-bottom: 20px;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

.nm-site-footer .nm-footer__menu .sub-menu {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.nm-site-footer .nm-footer__legal-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}

@media (max-width: 1024px) {
  .nm-site-footer .nm-footer__nav .nm-footer__menu {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px 24px;
  }
}

@media (max-width: 767px) {
  .nm-site-footer .nm-footer__nav .nm-footer__menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 20px;
  }
  .nm-site-footer .nm-footer__nav li {
    font-size: 16px;
  }
}

@media (max-width: 380px) {
  .nm-site-footer .nm-footer__nav .nm-footer__menu {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Footer identity, social links and ecosystem logos. */
.nm-site-footer .nm-footer__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 40px;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.nm-site-footer .nm-footer__top .nm-footer__brand {
  margin: 0;
}

.nm-site-footer .nm-footer__top .nm-footer__brand img {
  width: 140px;
}

.nm-site-footer .nm-footer__social {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nm-site-footer .nm-footer__social figure {
  margin: 0;
}

.nm-site-footer .nm-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.nm-site-footer .nm-footer__social a:hover,
.nm-site-footer .nm-footer__social a:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.7);
}

.nm-site-footer .nm-footer__social img {
  display: block;
  width: auto;
  height: auto;
  max-width: 26px;
  max-height: 24px;
}

.nm-site-footer .nm-footer__support {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 32px;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.nm-site-footer .nm-footer__support-label {
  margin: 0;
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.75);
}

.nm-site-footer .nm-footer__support-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
}

.nm-site-footer .nm-footer__partner {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
}

.nm-site-footer .nm-footer__partner figure {
  margin: 0;
}

.nm-site-footer .nm-footer__partner img {
  display: block;
  width: auto;
  height: auto;
  max-width: 56px;
  max-height: 48px;
  object-fit: contain;
}

.nm-site-footer .nm-footer__partner--wide img {
  max-width: 136px;
  max-height: 64px;
}

.nm-site-footer .nm-footer__support + .nm-footer__bottom {
  margin-top: 32px;
}

@media (max-width: 767px) {
  .nm-site-footer .nm-footer__top {
    gap: 20px;
    margin-bottom: 32px;
    padding-bottom: 24px;
  }
  .nm-site-footer .nm-footer__support {
    flex-direction: column;
    align-items: flex-start;
  }
  .nm-site-footer .nm-footer__support-label {
    font-size: 14px !important;
  }
  .nm-site-footer .nm-footer__support-logos {
    gap: 20px;
  }
}

@media (max-width: 380px) {
  .nm-site-footer .nm-footer__top .nm-footer__brand img {
    width: 120px;
  }
}

/* =========================
   HMI — INTERACTION VOCABULARY
   ========================= */

.nm-v1 .nm-hmi-gestures {
  padding: 96px 32px;
  background: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-hmi-gestures .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 20px;
}

.nm-v1 .nm-hmi-gestures .nm-gestures__intro {
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  line-height: 1.5;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 40px;
}

.nm-v1 .nm-hmi-gestures .nm-gestures__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  margin: 0;
}

.nm-v1 .nm-hmi-gestures .nm-gestures__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-hmi-gestures .nm-gesture-card {
  box-sizing: border-box;
  height: 100%;
  padding: 28px 20px;
  text-align: center;
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-hmi-gestures .nm-gesture-card__icon {
  display: block;
  margin: 0 0 20px;
}

.nm-v1 .nm-hmi-gestures .nm-gesture-card__icon img,
.nm-v1 .nm-hmi-gestures img.nm-gesture-card__icon {
  display: block;
  width: 96px;
  height: 96px;
  margin-left: auto;
  margin-right: auto;
  object-fit: contain;
}

.nm-v1 .nm-hmi-gestures .nm-gesture-card__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--nm-ink, #0F1923);
  margin: 0;
}

.nm-v1 .nm-hmi-gestures .nm-gesture-card__caption {
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--nm-steel, #546E7A);
  margin: 8px 0 0;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-hmi-gestures { padding: 72px 24px; }
  .nm-v1 .nm-hmi-gestures .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-hmi-gestures .nm-gestures__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .nm-v1 .nm-hmi-gestures { padding: 56px 20px; }
  .nm-v1 .nm-hmi-gestures .nm-section__title { font-size: 32px !important; }
  .nm-v1 .nm-hmi-gestures .nm-gestures__intro {
    font-size: 18px !important;
    margin-bottom: 28px;
  }
  .nm-v1 .nm-hmi-gestures .nm-gestures__grid { gap: 16px; }
  .nm-v1 .nm-hmi-gestures .nm-gesture-card { padding: 24px 12px; }
  .nm-v1 .nm-hmi-gestures .nm-gesture-card__title { font-size: 18px !important; }
  .nm-v1 .nm-hmi-gestures .nm-gesture-card__caption { font-size: 14px !important; }
}

@media (max-width: 380px) {
  .nm-v1 .nm-hmi-gestures .nm-gestures__grid { grid-template-columns: minmax(0, 1fr); }
}

/* =========================
   HMI — MATERIALS & GEOMETRIES
   ========================= */

.nm-v1 .nm-hmi-materials {
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-hmi-materials .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  max-width: 820px;
  margin: 0 0 20px;
}

.nm-v1 .nm-hmi-materials .nm-materials__intro {
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  line-height: 1.5;
  color: var(--nm-steel, #546E7A);
  max-width: 760px;
  margin: 0 0 40px;
}

.nm-v1 .nm-hmi-materials .nm-materials__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  margin: 0;
}

.nm-v1 .nm-hmi-materials .nm-materials__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-hmi-materials .nm-material-card {
  position: relative;
  box-sizing: border-box;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--nm-ink, #0F1923);
}

.nm-v1 .nm-hmi-materials .nm-material-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.65) 100%);
  pointer-events: none;
  z-index: 1;
}

.nm-v1 .nm-hmi-materials .nm-material-card__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}

.nm-v1 .nm-hmi-materials .nm-material-card__media figure,
.nm-v1 .nm-hmi-materials .nm-material-card__media a {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
}

.nm-v1 .nm-hmi-materials .nm-material-card__media img,
.nm-v1 .nm-hmi-materials img.nm-material-card__media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nm-v1 .nm-hmi-materials .nm-material-card__title {
  position: absolute;
  z-index: 2;
  left: 24px;
  right: 24px;
  bottom: 24px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--nm-white, #FFFFFF);
  margin: 0;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-hmi-materials { padding: 72px 24px; }
  .nm-v1 .nm-hmi-materials .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-hmi-materials .nm-materials__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nm-v1 .nm-hmi-materials .nm-material-card { aspect-ratio: 4 / 3; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-hmi-materials { padding: 56px 20px; }
  .nm-v1 .nm-hmi-materials .nm-section__title { font-size: 32px !important; }
  .nm-v1 .nm-hmi-materials .nm-materials__intro {
    font-size: 18px !important;
    margin-bottom: 28px;
  }
  .nm-v1 .nm-hmi-materials .nm-materials__grid { gap: 16px; }
  .nm-v1 .nm-hmi-materials .nm-material-card__title {
    left: 20px;
    right: 20px;
    bottom: 20px;
    font-size: 20px !important;
  }
}

@media (max-width: 600px) {
  .nm-v1 .nm-hmi-materials .nm-materials__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* =========================
   HMI — PERFORMANCE
   ========================= */

.nm-v1 .nm-hmi-performance {
  padding: 96px 32px;
  background: var(--nm-white, #FFFFFF);
  scroll-margin-top: 120px;
}

.nm-v1 .nm-hmi-performance .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  max-width: 820px;
  margin: 0 0 40px;
}

.nm-v1 .nm-hmi-performance .nm-performance__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  margin: 0;
}

.nm-v1 .nm-hmi-performance .nm-performance__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-hmi-performance .nm-performance-card {
  box-sizing: border-box;
  height: 100%;
  padding: 32px;
  border-top: 2px solid var(--nm-primary, #0D3B6E);
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-hmi-performance .nm-performance-card__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 20px;
}

.nm-v1 .nm-hmi-performance .nm-performance-card__text {
  font-family: "Source Sans 3", sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

.nm-v1 .nm-hmi-performance .nm-performance-card__text strong {
  color: var(--nm-ink, #0F1923);
  font-weight: 600;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-hmi-performance { padding: 72px 24px; }
  .nm-v1 .nm-hmi-performance .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-hmi-performance .nm-performance__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nm-v1 .nm-hmi-performance .nm-performance-card { padding: 28px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-hmi-performance { padding: 56px 20px; }
  .nm-v1 .nm-hmi-performance .nm-section__title {
    font-size: 32px !important;
    margin-bottom: 28px;
  }
  .nm-v1 .nm-hmi-performance .nm-performance__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .nm-v1 .nm-hmi-performance .nm-performance-card { padding: 24px; }
  .nm-v1 .nm-hmi-performance .nm-performance-card__title { font-size: 22px !important; }
  .nm-v1 .nm-hmi-performance .nm-performance-card__text { font-size: 16px !important; }
}

/* HMI performance — three supporting visuals below the six text cards. */
.nm-v1 .nm-hmi-performance .nm-performance__visuals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
  width: 100%;
  margin: 40px 0 0;
  padding: 0;
}

.nm-v1 .nm-hmi-performance .nm-performance__visuals > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-hmi-performance .nm-performance-visual {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  border: 1px solid #DFE6EA;
  border-radius: 2px;
  background: #FFFFFF;
  box-sizing: border-box;
}

.nm-v1 .nm-hmi-performance .nm-performance-visual__media {
  height: 240px;
  flex-shrink: 0;
  padding: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.nm-v1 .nm-hmi-performance .nm-performance-visual__media figure {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0;
}

.nm-v1 .nm-hmi-performance .nm-performance-visual__media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Keep the diagram and its labels complete; photos fill their frame. */
.nm-v1 .nm-hmi-performance .nm-performance-visual__media--diagram {
  padding: 10px;
}

.nm-v1 .nm-hmi-performance .nm-performance-visual__media--diagram img {
  object-fit: contain;
}

.nm-v1 .nm-hmi-performance .nm-performance-visual__caption {
  flex-grow: 1;
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  color: var(--nm-ink, #0F1923);
  background: var(--nm-surface, #F2F4F6);
  border-top: 1px solid #DFE6EA;
  margin: 0;
  padding: 16px 20px;
}

@media (max-width: 767px) {
  .nm-v1 .nm-hmi-performance .nm-performance__visuals {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-top: 32px;
  }
}

/* =========================
   HMI — INTEGRATION ARCHITECTURE
   ========================= */

.nm-v1 .nm-hmi-integration {
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-hmi-integration .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  max-width: 1080px;
  margin: 0 0 48px;
}

.nm-v1 .nm-hmi-integration .nm-integration__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 56px;
  align-items: center;
  width: 100%;
  margin: 0;
}

.nm-v1 .nm-hmi-integration .nm-integration__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-hmi-integration .nm-integration__text {
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

.nm-v1 .nm-hmi-integration .nm-integration__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.nm-v1 .nm-hmi-integration .nm-integration__media {
  box-sizing: border-box;
  padding: 24px;
  background: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-hmi-integration .nm-integration__media figure {
  margin: 0;
}

.nm-v1 .nm-hmi-integration .nm-integration__media img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 560px;
  object-fit: contain;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-hmi-integration { padding: 72px 24px; }
  .nm-v1 .nm-hmi-integration .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-hmi-integration .nm-integration__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }
  .nm-v1 .nm-hmi-integration .nm-integration__text { font-size: 18px; }
  .nm-v1 .nm-hmi-integration .nm-integration__media { padding: 16px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-hmi-integration { padding: 56px 20px; }
  .nm-v1 .nm-hmi-integration .nm-section__title {
    font-size: 32px !important;
    margin-bottom: 28px;
  }
  .nm-v1 .nm-hmi-integration .nm-integration__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  .nm-v1 .nm-hmi-integration .nm-integration__text { font-size: 18px !important; }
}

/* =========================
   HMI — PREMIUM FEEL
   ========================= */

.nm-v1 .nm-hmi-premium {
  padding: 96px 32px;
  background: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-hmi-premium .nm-premium__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 56px;
  align-items: center;
  width: 100%;
  margin: 0;
}

.nm-v1 .nm-hmi-premium .nm-premium__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-hmi-premium .nm-premium__media {
  overflow: hidden;
  background: var(--nm-ink, #0F1923);
}

.nm-v1 .nm-hmi-premium .nm-premium__media figure,
.nm-v1 .nm-hmi-premium .nm-premium__media .wp-block-video {
  margin: 0;
}

.nm-v1 .nm-hmi-premium .nm-premium__media video {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

.nm-v1 .nm-hmi-premium .nm-premium__media img {
  display: block;
  width: 100%;
  height: auto;
}

.nm-v1 .nm-hmi-premium .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 24px;
}

.nm-v1 .nm-hmi-premium .nm-premium__text {
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-hmi-premium { padding: 72px 24px; }
  .nm-v1 .nm-hmi-premium .nm-premium__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }
  .nm-v1 .nm-hmi-premium .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-hmi-premium .nm-premium__text { font-size: 18px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-hmi-premium { padding: 56px 20px; }
  .nm-v1 .nm-hmi-premium .nm-premium__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  .nm-v1 .nm-hmi-premium .nm-premium__grid > .gb-grid-column:first-child {
    order: 2;
  }
  .nm-v1 .nm-hmi-premium .nm-premium__grid > .gb-grid-column:last-child {
    order: 1;
  }
  .nm-v1 .nm-hmi-premium .nm-section__title { font-size: 32px !important; }
  .nm-v1 .nm-hmi-premium .nm-premium__text { font-size: 18px !important; }
}

/* =========================
   HMI — APPLICATION CASES
   ========================= */

.nm-v1 .nm-hmi-cases {
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-hmi-cases .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 48px;
}

.nm-v1 .nm-hmi-cases .nm-hmi-cases__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  margin: 0;
}

.nm-v1 .nm-hmi-cases .nm-hmi-cases__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-hmi-cases .nm-hmi-case-card {
  position: relative;
  display: flex;
  align-items: flex-end;
  aspect-ratio: 4 / 5;
  min-height: 400px;
  overflow: hidden;
  background: var(--nm-ink, #0F1923);
}

.nm-v1 .nm-hmi-cases .nm-hmi-case-card__media {
  position: absolute;
  inset: 0;
  margin: 0;
}

.nm-v1 .nm-hmi-cases .nm-hmi-case-card__media figure {
  width: 100%;
  height: 100%;
  margin: 0;
}

.nm-v1 .nm-hmi-cases .nm-hmi-case-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nm-v1 .nm-hmi-cases .nm-hmi-case-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 20%, rgba(15, 25, 35, 0.35) 50%, rgba(15, 25, 35, 0.96) 100%);
}

.nm-v1 .nm-hmi-cases .nm-hmi-case-card__body {
  position: relative;
  z-index: 2;
  width: 100%;
  box-sizing: border-box;
  padding: 32px;
}

.nm-v1 .nm-hmi-cases .nm-hmi-case-card__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--nm-white, #FFFFFF);
  margin: 0 0 24px;
}

.nm-v1 .nm-hmi-cases .nm-button--on-image {
  color: var(--nm-white, #FFFFFF);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.65);
}

.nm-v1 .nm-hmi-cases .nm-button--on-image:hover,
.nm-v1 .nm-hmi-cases .nm-button--on-image:focus-visible {
  color: var(--nm-ink, #0F1923);
  background: var(--nm-white, #FFFFFF);
  border-color: var(--nm-white, #FFFFFF);
}

@media (max-width: 1024px) {
  .nm-v1 .nm-hmi-cases { padding: 72px 24px; }
  .nm-v1 .nm-hmi-cases .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-hmi-cases .nm-hmi-cases__grid { gap: 16px; }
  .nm-v1 .nm-hmi-cases .nm-hmi-case-card { min-height: 360px; }
  .nm-v1 .nm-hmi-cases .nm-hmi-case-card__body { padding: 24px; }
  .nm-v1 .nm-hmi-cases .nm-hmi-case-card__title { font-size: 24px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-hmi-cases { padding: 56px 20px; }
  .nm-v1 .nm-hmi-cases .nm-section__title {
    font-size: 32px !important;
    margin-bottom: 28px;
  }
  .nm-v1 .nm-hmi-cases .nm-hmi-cases__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .nm-v1 .nm-hmi-cases .nm-hmi-case-card {
    aspect-ratio: 4 / 3;
    min-height: 320px;
  }
  .nm-v1 .nm-hmi-cases .nm-hmi-case-card__title { font-size: 24px !important; }
}

/* =========================
   HMI — INDUSTRY LINKS
   ========================= */

.nm-v1 .nm-hmi-industries {
  padding: 96px 32px;
  background: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-hmi-industries .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 40px;
}

.nm-v1 .nm-hmi-industries .nm-hmi-industries__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  margin: 0;
  align-items: stretch;
}

.nm-v1 .nm-hmi-industries .nm-hmi-industries__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-hmi-industries .nm-hmi-industry-card {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  height: 100%;
  padding: 32px;
  background: var(--nm-surface, #F2F4F6);
  border-top: 2px solid var(--nm-primary, #0D3B6E);
}

.nm-v1 .nm-hmi-industries .nm-hmi-industry-card__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 16px;
}

.nm-v1 .nm-hmi-industries .nm-hmi-industry-card__text {
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 28px;
}

.nm-v1 .nm-hmi-industries .nm-hmi-industry-card > .nm-button {
  box-sizing: border-box;
  align-self: flex-start;
  margin-top: auto;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-hmi-industries { padding: 72px 24px; }
  .nm-v1 .nm-hmi-industries .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-hmi-industries .nm-hmi-industries__grid { gap: 16px; }
  .nm-v1 .nm-hmi-industries .nm-hmi-industry-card { padding: 24px; }
  .nm-v1 .nm-hmi-industries .nm-hmi-industry-card__title { font-size: 24px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-hmi-industries { padding: 56px 20px; }
  .nm-v1 .nm-hmi-industries .nm-section__title {
    font-size: 32px !important;
    margin-bottom: 28px;
  }
  .nm-v1 .nm-hmi-industries .nm-hmi-industries__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .nm-v1 .nm-hmi-industries .nm-hmi-industry-card__title { font-size: 24px !important; }
  .nm-v1 .nm-hmi-industries .nm-hmi-industry-card__text { font-size: 18px !important; }
}

/* =========================
   HMI — TECHNICAL RESOURCES
   ========================= */

.nm-v1 .nm-hmi-resources {
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-hmi-resources .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 40px;
}

.nm-v1 .nm-hmi-resources .nm-resources__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  margin: 0;
  align-items: stretch;
}

.nm-v1 .nm-hmi-resources .nm-resources__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-hmi-resources .nm-resource-card {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  height: 100%;
  padding: 32px;
  background: var(--nm-white, #FFFFFF);
  border: 1px solid rgba(15, 25, 35, 0.08);
}

.nm-v1 .nm-hmi-resources .nm-resource-card__meta {
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--nm-primary, #0D3B6E);
  margin: 0 0 20px;
}

.nm-v1 .nm-hmi-resources .nm-resource-card__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 16px;
}

.nm-v1 .nm-hmi-resources .nm-resource-card__text {
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 28px;
}

.nm-v1 .nm-hmi-resources .nm-resource-card__links {
  display: flex;
  flex-direction: column;
  margin-top: auto;
}

.nm-v1 .nm-hmi-resources .nm-resource-link {
  display: block;
  box-sizing: border-box;
  padding: 12px 0;
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--nm-primary, #0D3B6E);
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(15, 25, 35, 0.15);
  border-radius: 0;
  text-align: left;
  text-decoration: none;
}

.nm-v1 .nm-hmi-resources .nm-resource-link:hover {
  color: var(--nm-ink, #0F1923);
  text-decoration: underline;
}

.nm-v1 .nm-hmi-resources .nm-resource-link:focus-visible {
  outline: 2px solid var(--nm-primary, #0D3B6E);
  outline-offset: 3px;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-hmi-resources { padding: 72px 24px; }
  .nm-v1 .nm-hmi-resources .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-hmi-resources .nm-resources__grid { gap: 16px; }
  .nm-v1 .nm-hmi-resources .nm-resource-card { padding: 24px; }
  .nm-v1 .nm-hmi-resources .nm-resource-card__title { font-size: 24px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-hmi-resources { padding: 56px 20px; }
  .nm-v1 .nm-hmi-resources .nm-section__title {
    font-size: 32px !important;
    margin-bottom: 28px;
  }
  .nm-v1 .nm-hmi-resources .nm-resources__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .nm-v1 .nm-hmi-resources .nm-resource-card__meta { font-size: 12px !important; }
  .nm-v1 .nm-hmi-resources .nm-resource-card__title { font-size: 24px !important; }
  .nm-v1 .nm-hmi-resources .nm-resource-card__text { font-size: 18px !important; }
  .nm-v1 .nm-hmi-resources .nm-resource-link { font-size: 16px !important; }
}

/* Physical AI — client introduction above the five needs cards. */
.nm-v1 .nm-physical-needs .nm-section__title {
  margin-bottom: 24px;
}

.nm-v1 .nm-physical-needs .nm-physical-needs__intro {
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  max-width: 960px;
  margin: 0 0 40px;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-physical-needs .nm-physical-needs__intro { font-size: 18px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-physical-needs .nm-physical-needs__intro {
    font-size: 18px !important;
    margin-bottom: 28px;
  }
}

/* =========================
   PHYSICAL AI — USE CONFIGURATIONS
   ========================= */

.nm-v1 .nm-physical-configurations {
  padding: 96px 32px;
  background: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-physical-configurations .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  max-width: 960px;
  margin: 0 0 40px;
}

.nm-v1 .nm-physical-configurations .nm-configurations__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  margin: 0;
  align-items: stretch;
}

.nm-v1 .nm-physical-configurations .nm-configurations__grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nm-v1 .nm-physical-configurations .nm-configurations__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-physical-configurations .nm-configuration-card {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  height: 100%;
  overflow: hidden;
  background: var(--nm-white, #FFFFFF);
  border: 1px solid rgba(15, 25, 35, 0.08);
}

.nm-v1 .nm-physical-configurations .nm-configuration-card__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  aspect-ratio: 16 / 9;
  padding: 0;
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-physical-configurations .nm-configuration-card__media figure {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  margin: 0;
}

.nm-v1 .nm-physical-configurations .nm-configuration-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nm-v1 .nm-physical-configurations .nm-configuration-card__body {
  box-sizing: border-box;
  padding: 24px;
}

.nm-v1 .nm-physical-configurations .nm-configuration-card__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--nm-ink, #0F1923);
  margin: 0;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-physical-configurations { padding: 72px 24px; }
  .nm-v1 .nm-physical-configurations .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-physical-configurations .nm-configurations__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  .nm-v1 .nm-physical-configurations .nm-configuration-card__title { font-size: 22px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-physical-configurations { padding: 56px 20px; }
  .nm-v1 .nm-physical-configurations .nm-section__title {
    font-size: 32px !important;
    margin-bottom: 28px;
  }
  .nm-v1 .nm-physical-configurations .nm-configuration-card__title { font-size: 22px !important; }
}

@media (max-width: 600px) {
  .nm-v1 .nm-physical-configurations .nm-configurations__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
}

/* =========================
   PHYSICAL AI — INTEGRATION ARCHITECTURE
   ========================= */

.nm-v1 .nm-physical-integration {
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-physical-integration .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  max-width: 1080px;
  margin: 0 0 48px;
}

.nm-v1 .nm-physical-integration .nm-physical-integration__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 56px;
  width: 100%;
  margin: 0;
  align-items: center;
}

.nm-v1 .nm-physical-integration .nm-physical-integration__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-physical-integration .nm-integration__text {
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

.nm-v1 .nm-physical-integration .nm-integration__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.nm-v1 .nm-physical-integration .nm-integration__actions .nm-button {
  box-sizing: border-box;
}

.nm-v1 .nm-physical-integration .nm-physical-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}

.nm-v1 .nm-physical-integration .nm-flow-step {
  position: relative;
  display: flex;
  align-items: center;
  gap: 20px;
  box-sizing: border-box;
  min-width: 0;
  min-height: 84px;
  padding: 20px 24px;
  background: var(--nm-white, #FFFFFF);
  border: 1px solid rgba(15, 25, 35, 0.12);
}

.nm-v1 .nm-physical-integration .nm-flow-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 1px;
  height: 18px;
  background: var(--nm-primary, #0D3B6E);
  pointer-events: none;
}

.nm-v1 .nm-physical-integration .nm-flow-step:not(:last-child)::before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid var(--nm-primary, #0D3B6E);
  pointer-events: none;
}

.nm-v1 .nm-physical-integration .nm-flow-step__number {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  min-height: 40px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--nm-primary, #0D3B6E);
  background: var(--nm-surface, #F2F4F6);
  margin: 0;
}

.nm-v1 .nm-physical-integration .nm-flow-step__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--nm-ink, #0F1923);
  margin: 0;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-physical-integration { padding: 72px 24px; }
  .nm-v1 .nm-physical-integration .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-physical-integration .nm-physical-integration__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }
  .nm-v1 .nm-physical-integration .nm-integration__text { font-size: 18px; }
  .nm-v1 .nm-physical-integration .nm-flow-step {
    gap: 16px;
    padding: 20px;
  }
  .nm-v1 .nm-physical-integration .nm-flow-step__title { font-size: 22px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-physical-integration { padding: 56px 20px; }
  .nm-v1 .nm-physical-integration .nm-section__title {
    font-size: 32px !important;
    margin-bottom: 28px;
  }
  .nm-v1 .nm-physical-integration .nm-physical-integration__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }
  .nm-v1 .nm-physical-integration .nm-integration__text { font-size: 18px !important; }
  .nm-v1 .nm-physical-integration .nm-flow-step__number { font-size: 12px !important; }
  .nm-v1 .nm-physical-integration .nm-flow-step__title { font-size: 22px !important; }
}

/* =========================
   PHYSICAL AI — CUSTOM GEOMETRY & ENGINEERING
   ========================= */

.nm-v1 .nm-physical-geometry {
  padding: 96px 32px;
  background: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-physical-geometry .nm-geometry__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 56px;
  width: 100%;
  margin: 0;
  align-items: center;
}

.nm-v1 .nm-physical-geometry .nm-geometry__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-physical-geometry .nm-geometry__media {
  overflow: hidden;
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-physical-geometry .nm-geometry__media figure {
  margin: 0;
}

.nm-v1 .nm-physical-geometry .nm-geometry__media img {
  display: block;
  width: 100%;
  height: auto;
}

.nm-v1 .nm-physical-geometry .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 24px;
}

.nm-v1 .nm-physical-geometry .nm-geometry__text {
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

.nm-v1 .nm-physical-geometry .nm-geometry__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.nm-v1 .nm-physical-geometry .nm-geometry__actions .nm-button {
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-physical-geometry { padding: 72px 24px; }
  .nm-v1 .nm-physical-geometry .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-physical-geometry .nm-geometry__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }
  .nm-v1 .nm-physical-geometry .nm-geometry__text { font-size: 18px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-physical-geometry { padding: 56px 20px; }
  .nm-v1 .nm-physical-geometry .nm-section__title { font-size: 32px !important; }
  .nm-v1 .nm-physical-geometry .nm-geometry__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  .nm-v1 .nm-physical-geometry .nm-geometry__grid > .gb-grid-column:first-child { order: 2; }
  .nm-v1 .nm-physical-geometry .nm-geometry__grid > .gb-grid-column:last-child { order: 1; }
  .nm-v1 .nm-physical-geometry .nm-geometry__text { font-size: 18px !important; }
}

/* =========================
   ADVANCED SENSING — MONITORING BLOCKS
   ========================= */

.nm-v1 .nm-advanced-pulse,
.nm-v1 .nm-advanced-structure{
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
  scroll-margin-top: 100px;
}

.nm-v1 .nm-advanced-pulse .nm-section__title,
.nm-v1 .nm-advanced-structure .nm-section__title{
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 32px;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__intro-grid,
.nm-v1 .nm-advanced-structure .nm-monitoring__intro-grid,
.nm-v1 .nm-advanced-pulse .nm-monitoring__features,
.nm-v1 .nm-advanced-structure .nm-monitoring__features,
.nm-v1 .nm-advanced-pulse .nm-monitoring__metrics,
.nm-v1 .nm-advanced-structure .nm-monitoring__metrics{
  display: grid;
  width: 100%;
  margin: 0;
  gap: 24px;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__intro-grid,
.nm-v1 .nm-advanced-structure .nm-monitoring__intro-grid{
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 48px;
  align-items: center;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__features,
.nm-v1 .nm-advanced-structure .nm-monitoring__features{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 40px;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__features > .gb-grid-column:last-child,
.nm-v1 .nm-advanced-structure .nm-monitoring__features > .gb-grid-column:last-child{
  grid-column: 1 / -1;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__metrics,
.nm-v1 .nm-advanced-structure .nm-monitoring__metrics{
  grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
  margin-top: 32px;
  align-items: stretch;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__intro-grid > .gb-grid-column,
.nm-v1 .nm-advanced-structure .nm-monitoring__intro-grid > .gb-grid-column,
.nm-v1 .nm-advanced-pulse .nm-monitoring__features > .gb-grid-column,
.nm-v1 .nm-advanced-structure .nm-monitoring__features > .gb-grid-column,
.nm-v1 .nm-advanced-pulse .nm-monitoring__metrics > .gb-grid-column,
.nm-v1 .nm-advanced-structure .nm-monitoring__metrics > .gb-grid-column{
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__content,
.nm-v1 .nm-advanced-structure .nm-monitoring__content,
.nm-v1 .nm-advanced-pulse .nm-monitoring__media,
.nm-v1 .nm-advanced-structure .nm-monitoring__media{
  min-width: 0;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__intro,
.nm-v1 .nm-advanced-structure .nm-monitoring__intro{
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__media figure,
.nm-v1 .nm-advanced-structure .nm-monitoring__media figure,
.nm-v1 .nm-advanced-pulse .nm-monitoring__metric figure,
.nm-v1 .nm-advanced-structure .nm-monitoring__metric figure{
  margin: 0;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__media img,
.nm-v1 .nm-advanced-structure .nm-monitoring__media img{
  display: block;
  width: 100%;
  height: auto;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring-card,
.nm-v1 .nm-advanced-structure .nm-monitoring-card{
  box-sizing: border-box;
  height: 100%;
  padding: 32px;
  background: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-advanced-pulse .nm-monitoring-card__title,
.nm-v1 .nm-advanced-structure .nm-monitoring-card__title{
  font-family: "Source Sans 3", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 16px;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring-card__text,
.nm-v1 .nm-advanced-structure .nm-monitoring-card__text{
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__metric,
.nm-v1 .nm-advanced-structure .nm-monitoring__metric{
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  height: 100%;
  padding: 24px;
  background: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__metric img,
.nm-v1 .nm-advanced-structure .nm-monitoring__metric img{
  display: block;
  max-width: 100%;
  width: 745px;
  height: auto;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__metric--stress img,
.nm-v1 .nm-advanced-structure .nm-monitoring__metric--stress img{
  width: 140px;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__metric-label,
.nm-v1 .nm-advanced-structure .nm-monitoring__metric-label{
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--nm-ink, #0F1923);
  text-align: center;
  margin: 0;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__actions,
.nm-v1 .nm-advanced-structure .nm-monitoring__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__actions .nm-button,
.nm-v1 .nm-advanced-structure .nm-monitoring__actions .nm-button{
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-advanced-pulse,
  .nm-v1 .nm-advanced-structure{ padding: 72px 24px; }
  .nm-v1 .nm-advanced-pulse .nm-section__title,
  .nm-v1 .nm-advanced-structure .nm-section__title{ font-size: 42px; }
  .nm-v1 .nm-advanced-pulse .nm-monitoring__intro-grid,
  .nm-v1 .nm-advanced-structure .nm-monitoring__intro-grid{ gap: 32px; }
  .nm-v1 .nm-advanced-pulse .nm-monitoring__intro,
  .nm-v1 .nm-advanced-structure .nm-monitoring__intro{ font-size: 18px; }
  .nm-v1 .nm-advanced-pulse .nm-monitoring-card,
  .nm-v1 .nm-advanced-structure .nm-monitoring-card{ padding: 24px; }
  .nm-v1 .nm-advanced-pulse .nm-monitoring-card__title,
  .nm-v1 .nm-advanced-structure .nm-monitoring-card__title{ font-size: 22px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-advanced-pulse,
  .nm-v1 .nm-advanced-structure{ padding: 56px 20px; }
  .nm-v1 .nm-advanced-pulse .nm-section__title,
  .nm-v1 .nm-advanced-structure .nm-section__title{ font-size: 32px !important; }
  .nm-v1 .nm-advanced-pulse .nm-monitoring__intro-grid,
  .nm-v1 .nm-advanced-structure .nm-monitoring__intro-grid,
  .nm-v1 .nm-advanced-pulse .nm-monitoring__features,
  .nm-v1 .nm-advanced-structure .nm-monitoring__features,
  .nm-v1 .nm-advanced-pulse .nm-monitoring__metrics,
  .nm-v1 .nm-advanced-structure .nm-monitoring__metrics{
    grid-template-columns: minmax(0, 1fr);
  }
  .nm-v1 .nm-advanced-pulse .nm-monitoring__intro,
  .nm-v1 .nm-advanced-structure .nm-monitoring__intro{ font-size: 18px !important; }
  .nm-v1 .nm-advanced-pulse .nm-monitoring-card__title,
  .nm-v1 .nm-advanced-structure .nm-monitoring-card__title{ font-size: 22px !important; }
  .nm-v1 .nm-advanced-pulse .nm-monitoring-card__text,
  .nm-v1 .nm-advanced-structure .nm-monitoring-card__text{ font-size: 18px !important; }
  .nm-v1 .nm-advanced-pulse .nm-monitoring__metric,
  .nm-v1 .nm-advanced-structure .nm-monitoring__metric{ padding: 20px; }
  .nm-v1 .nm-advanced-pulse .nm-monitoring__metric-label,
  .nm-v1 .nm-advanced-structure .nm-monitoring__metric-label{ font-size: 16px !important; }
}

/* Structural Monitoring — alternate surface and shared component layout. */
.nm-v1 .nm-advanced-structure {
  background: var(--nm-white, #FFFFFF);
}

.nm-v1 .nm-advanced-structure .nm-monitoring-card {
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-advanced-structure .nm-monitoring__metrics {
  grid-template-columns: minmax(0, 1fr);
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.nm-v1 .nm-advanced-structure .nm-monitoring__metric img {
  width: 548px;
}

/* =========================
   HOMEPAGE — TWO NEWS ITEMS & AWARDS
   ========================= */

.nm-v1 .nm-recognition__grid.nm-recognition__grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nm-v1 .nm-home-awards {
  padding: 56px 32px;
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-home-awards .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 28px;
}

.nm-v1 .nm-awards__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
  margin: 0;
  padding: 0;
}

.nm-v1 .nm-awards__grid > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-awards__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 120px;
  padding: 20px 16px;
  border: 1px solid #DFE6EA;
  border-radius: 4px;
  background: #FFFFFF;
  box-sizing: border-box;
}

.nm-v1 .nm-awards__logo figure {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  max-width: 100%;
}

.nm-v1 .nm-awards__logo img {
  display: block;
  margin-inline: auto;
  width: auto;
  height: auto;
  max-width: min(140px, 100%);
  max-height: 76px;
  object-fit: contain;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-home-awards { padding: 48px 24px; }
  .nm-v1 .nm-awards__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .nm-v1 .nm-recognition__grid.nm-recognition__grid--two {
    grid-template-columns: minmax(0, 1fr);
  }
  .nm-v1 .nm-home-awards { padding: 40px 20px; }
  .nm-v1 .nm-home-awards .nm-section__title { font-size: 32px !important; }
  .nm-v1 .nm-awards__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .nm-v1 .nm-awards__logo { height: 112px; padding: 16px 12px; }
}

/* In the news — manual horizontal carousel; supports any number of cards. */
.nm-v1 .nm-recognition__grid.nm-recognition__grid--carousel {
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 48px) / 3);
  gap: 24px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #90A4AE #F2F4F6;
  padding: 0 0 12px;
}

.nm-v1 .nm-recognition__grid--carousel > .gb-grid-column {
  width: auto;
  min-width: 0;
  padding: 0;
  scroll-snap-align: start;
}

.nm-v1 .nm-recognition__grid--carousel .nm-recognition-card {
  box-sizing: border-box;
}

.nm-v1 .nm-news__controls {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 16px;
}

.nm-v1 .nm-news__controls[hidden] { display: none; }

.nm-v1 .nm-news__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #546E7A;
  border-radius: 50%;
  background: #FFFFFF;
  color: #0F1923;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.nm-v1 .nm-news__arrow:hover:not(:disabled) {
  background: #0F1923;
  color: #FFFFFF;
}

.nm-v1 .nm-news__arrow:disabled { opacity: .35; cursor: default; }
.nm-v1 .nm-news__arrow:focus-visible {
  outline: 2px solid #0077B6;
  outline-offset: 3px;
}
.nm-v1 .nm-recognition__grid--carousel:focus-visible {
  outline: 2px solid #0077B6;
  outline-offset: -2px;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-recognition__grid.nm-recognition__grid--carousel {
    grid-auto-columns: calc((100% - 24px) / 2);
  }
}

@media (max-width: 767px) {
  .nm-v1 .nm-recognition__grid.nm-recognition__grid--carousel {
    grid-auto-columns: 88%;
    gap: 16px;
  }
}

/* HOW IT WORKS — physical principle */
.nm-v1 .nm-tech-principle {
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
  scroll-margin-top: 120px;
}

.nm-v1 .nm-tech-principle .nm-tech-principle__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  align-items: center;
  margin: 0;
}

.nm-v1 .nm-tech-principle .nm-tech-principle__grid > .gb-grid-column {
  width: auto !important;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-tech-principle .nm-tech-principle__content,
.nm-v1 .nm-tech-principle .nm-tech-principle__media {
  min-width: 0;
}

.nm-v1 .nm-tech-principle .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 24px;
}

.nm-v1 .nm-tech-principle .nm-tech-principle__text {
  font-size: 18px;
  line-height: 1.65;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 16px;
}

.nm-v1 .nm-tech-principle .nm-tech-principle__text:last-child {
  margin-bottom: 0;
}

.nm-v1 .nm-tech-principle .nm-tech-principle__media {
  background: #FFFFFF;
  border-radius: 4px;
  overflow: hidden;
}

.nm-v1 .nm-tech-principle .nm-tech-principle__media figure {
  margin: 0;
}

.nm-v1 .nm-tech-principle .nm-tech-principle__media video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-tech-principle { padding: 72px 24px; }
  .nm-v1 .nm-tech-principle .nm-tech-principle__grid { gap: 32px; }
  .nm-v1 .nm-tech-principle .nm-section__title { font-size: 42px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-tech-principle { padding: 56px 20px; }
  .nm-v1 .nm-tech-principle .nm-tech-principle__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .nm-v1 .nm-tech-principle .nm-section__title { font-size: 32px !important; }
  .nm-v1 .nm-tech-principle .nm-tech-principle__text { font-size: 18px !important; }
}

/* HOW IT WORKS — ultra-sensitivity */
.nm-v1 .nm-tech-sensitivity {
  padding: 80px 32px;
  background: #FFFFFF;
}

.nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  align-items: center;
  margin: 0;
}

.nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__grid > .gb-grid-column {
  width: auto !important;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__content,
.nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__media {
  min-width: 0;
}

.nm-v1 .nm-tech-sensitivity .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 24px;
}

.nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__value {
  font-family: "Source Serif 4", serif;
  font-size: 72px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--nm-primary, #0D3B6E);
  margin: 0 0 12px;
}

.nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__context {
  font-size: 20px;
  line-height: 1.5;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

.nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__media {
  background: var(--nm-ink, #0F1923);
  border-radius: 4px;
  overflow: hidden;
}

.nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__media figure {
  margin: 0;
}

.nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__media video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-tech-sensitivity { padding: 64px 24px; }
  .nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__grid { gap: 32px; }
  .nm-v1 .nm-tech-sensitivity .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__value { font-size: 64px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-tech-sensitivity { padding: 56px 20px; }
  .nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  /* Video first in the editor; text first on mobile. */
  .nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__grid > .gb-grid-column:first-child { order: 2; }
  .nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__grid > .gb-grid-column:last-child { order: 1; }
  .nm-v1 .nm-tech-sensitivity .nm-section__title { font-size: 32px !important; }
  .nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__value { font-size: 56px !important; }
  .nm-v1 .nm-tech-sensitivity .nm-tech-sensitivity__context { font-size: 18px !important; }
}

/* HOW IT WORKS — sensor structure */
.nm-v1 .nm-tech-structure {
  padding: 96px 32px;
  background: #F2F4F6;
}

.nm-v1 .nm-tech-structure .nm-tech-structure__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  align-items: center;
  margin: 0;
}

.nm-v1 .nm-tech-structure .nm-tech-structure__grid > .gb-grid-column {
  width: auto !important;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-tech-structure .nm-tech-structure__content,
.nm-v1 .nm-tech-structure .nm-tech-structure__media {
  min-width: 0;
}

.nm-v1 .nm-tech-structure .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 24px;
}

.nm-v1 .nm-tech-structure .nm-tech-structure__text {
  font-size: 18px;
  line-height: 1.65;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

.nm-v1 .nm-tech-structure .nm-tech-structure__layers {
  margin-top: 28px;
  display: grid;
  gap: 12px;
}

.nm-v1 .nm-tech-structure .nm-tech-structure__layer {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--nm-ink, #0F1923);
  margin: 0;
}

.nm-v1 .nm-tech-structure .nm-tech-structure__media {
  background: #FFFFFF;
  border-radius: 4px;
  padding: 24px;
}

.nm-v1 .nm-tech-structure .nm-tech-structure__media figure {
  margin: 0;
}

.nm-v1 .nm-tech-structure .nm-tech-structure__media img {
  display: block;
  width: 100%;
  max-width: 480px;
  height: auto;
  margin-inline: auto;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-tech-structure { padding: 72px 24px; }
  .nm-v1 .nm-tech-structure .nm-tech-structure__grid { gap: 32px; }
  .nm-v1 .nm-tech-structure .nm-section__title { font-size: 42px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-tech-structure { padding: 56px 20px; }
  .nm-v1 .nm-tech-structure .nm-tech-structure__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .nm-v1 .nm-tech-structure .nm-section__title { font-size: 32px !important; }
  .nm-v1 .nm-tech-structure .nm-tech-structure__text,
  .nm-v1 .nm-tech-structure .nm-tech-structure__layer { font-size: 18px !important; }
  .nm-v1 .nm-tech-structure .nm-tech-structure__media { padding: 16px; }
}

/* HOW IT WORKS — characteristics and custom sensor design */
.nm-v1 .nm-tech-characteristics {
  padding: 80px 32px;
  background: #FFFFFF;
}

.nm-v1 .nm-tech-characteristics .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 32px;
}

.nm-v1 .nm-tech-characteristics .nm-tech-features__grid,
.nm-v1 .nm-tech-characteristics .nm-tech-custom__grid {
  display: grid;
  gap: 24px;
  margin: 0;
}

.nm-v1 .nm-tech-characteristics .nm-tech-features__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nm-v1 .nm-tech-characteristics .nm-tech-custom__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nm-v1 .nm-tech-characteristics .nm-tech-features__grid > .gb-grid-column,
.nm-v1 .nm-tech-characteristics .nm-tech-custom__grid > .gb-grid-column {
  width: auto !important;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-tech-characteristics .nm-tech-feature {
  box-sizing: border-box;
  height: 100%;
  min-height: 104px;
  padding: 24px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #DCE3E8;
  border-radius: 4px;
}

.nm-v1 .nm-tech-characteristics .nm-tech-feature__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  color: var(--nm-ink, #0F1923);
  margin: 0;
}

.nm-v1 .nm-tech-characteristics .nm-tech-custom {
  margin-top: 56px;
  padding-top: 48px;
  border-top: 1px solid #DCE3E8;
}

.nm-v1 .nm-tech-characteristics .nm-tech-custom .nm-section__title {
  margin-bottom: 24px;
}

.nm-v1 .nm-tech-characteristics .nm-tech-custom__text {
  max-width: 960px;
  font-size: 18px;
  line-height: 1.65;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 32px;
}

.nm-v1 .nm-tech-characteristics .nm-tech-sensor-photo {
  box-sizing: border-box;
  min-width: 0;
  height: 300px;
  padding: 24px;
  background: #F2F4F6;
  border-radius: 4px;
}

.nm-v1 .nm-tech-characteristics .nm-tech-sensor-photo figure {
  height: 100%;
  margin: 0;
}

.nm-v1 .nm-tech-characteristics .nm-tech-sensor-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-tech-characteristics { padding: 64px 24px; }
  .nm-v1 .nm-tech-characteristics .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-tech-characteristics .nm-tech-features__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nm-v1 .nm-tech-characteristics .nm-tech-sensor-photo { height: 260px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-tech-characteristics { padding: 56px 20px; }
  .nm-v1 .nm-tech-characteristics .nm-section__title { font-size: 32px !important; }
  .nm-v1 .nm-tech-characteristics .nm-tech-features__grid { gap: 16px; }
  .nm-v1 .nm-tech-characteristics .nm-tech-feature { padding: 20px 12px; }
  .nm-v1 .nm-tech-characteristics .nm-tech-feature__title { font-size: 18px !important; }
  .nm-v1 .nm-tech-characteristics .nm-tech-custom { margin-top: 40px; padding-top: 40px; }
  .nm-v1 .nm-tech-characteristics .nm-tech-custom__text { font-size: 18px !important; }
  .nm-v1 .nm-tech-characteristics .nm-tech-custom__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .nm-v1 .nm-tech-characteristics .nm-tech-sensor-photo { height: 240px; padding: 20px; }
}

/* HOW IT WORKS — integration principle */
.nm-v1 .nm-tech-integration {
  padding: 96px 32px;
  background: #F2F4F6;
}

.nm-v1 .nm-tech-integration .nm-tech-integration__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  align-items: center;
  margin: 0;
}

.nm-v1 .nm-tech-integration .nm-tech-integration__grid > .gb-grid-column {
  width: auto !important;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-tech-integration .nm-tech-integration__content,
.nm-v1 .nm-tech-integration .nm-tech-integration__media {
  min-width: 0;
}

.nm-v1 .nm-tech-integration .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 24px;
}

.nm-v1 .nm-tech-integration .nm-tech-integration__text {
  font-size: 18px;
  line-height: 1.65;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 16px;
}

.nm-v1 .nm-tech-integration .nm-tech-integration__text:last-child {
  margin-bottom: 0;
}

.nm-v1 .nm-tech-integration .nm-tech-integration__media {
  background: #FFFFFF;
  border-radius: 4px;
  overflow: hidden;
}

.nm-v1 .nm-tech-integration .nm-tech-integration__media figure {
  margin: 0;
}

.nm-v1 .nm-tech-integration .nm-tech-integration__media img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-tech-integration { padding: 72px 24px; }
  .nm-v1 .nm-tech-integration .nm-tech-integration__grid { gap: 32px; }
  .nm-v1 .nm-tech-integration .nm-section__title { font-size: 42px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-tech-integration { padding: 56px 20px; }
  .nm-v1 .nm-tech-integration .nm-tech-integration__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .nm-v1 .nm-tech-integration .nm-tech-integration__grid > .gb-grid-column:first-child { order: 2; }
  .nm-v1 .nm-tech-integration .nm-tech-integration__grid > .gb-grid-column:last-child { order: 1; }
  .nm-v1 .nm-tech-integration .nm-section__title { font-size: 32px !important; }
  .nm-v1 .nm-tech-integration .nm-tech-integration__text { font-size: 18px !important; }
}

/* HOW IT WORKS — electronics and signal */
.nm-v1 .nm-tech-electronics {
  padding: 96px 32px;
  background: #FFFFFF;
}

.nm-v1 .nm-tech-electronics .nm-tech-electronics__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  align-items: center;
  margin: 0;
}

.nm-v1 .nm-tech-electronics .nm-tech-electronics__grid > .gb-grid-column {
  width: auto !important;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-tech-electronics .nm-tech-electronics__content,
.nm-v1 .nm-tech-electronics .nm-tech-signal-flow {
  min-width: 0;
}

.nm-v1 .nm-tech-electronics .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 24px;
}

.nm-v1 .nm-tech-electronics .nm-tech-electronics__text {
  font-size: 18px;
  line-height: 1.65;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

.nm-v1 .nm-tech-electronics .nm-tech-signal-flow {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.nm-v1 .nm-tech-electronics .nm-tech-signal-step {
  position: relative;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 24px;
  background: var(--nm-surface, #F2F4F6);
  border: 1px solid #DCE3E8;
  border-radius: 4px;
}

.nm-v1 .nm-tech-electronics .nm-tech-signal-step:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: -22px;
  left: calc(50% - 4px);
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--nm-primary, #0D3B6E);
  border-bottom: 2px solid var(--nm-primary, #0D3B6E);
  transform: rotate(45deg);
}

.nm-v1 .nm-tech-electronics .nm-tech-signal-step__number {
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--nm-primary, #0D3B6E);
  margin: 0;
}

.nm-v1 .nm-tech-electronics .nm-tech-signal-step__body {
  min-width: 0;
}

.nm-v1 .nm-tech-electronics .nm-tech-signal-step__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
  color: var(--nm-ink, #0F1923);
  margin: 0;
}

.nm-v1 .nm-tech-electronics .nm-tech-signal-step__note {
  font-size: 14px;
  line-height: 1.4;
  color: var(--nm-steel, #546E7A);
  margin: 6px 0 0;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-tech-electronics { padding: 72px 24px; }
  .nm-v1 .nm-tech-electronics .nm-tech-electronics__grid { gap: 32px; }
  .nm-v1 .nm-tech-electronics .nm-section__title { font-size: 42px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-tech-electronics { padding: 56px 20px; }
  .nm-v1 .nm-tech-electronics .nm-tech-electronics__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .nm-v1 .nm-tech-electronics .nm-section__title { font-size: 32px !important; }
  .nm-v1 .nm-tech-electronics .nm-tech-electronics__text { font-size: 18px !important; }
  .nm-v1 .nm-tech-electronics .nm-tech-signal-step { padding: 20px; gap: 12px; }
  .nm-v1 .nm-tech-electronics .nm-tech-signal-step__title { font-size: 20px !important; }
}

/* HOW IT WORKS — AI gesture recognition */
.nm-v1 .nm-tech-ai {
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-tech-ai .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 32px;
}

.nm-v1 .nm-tech-ai .nm-tech-ai__intro-grid,
.nm-v1 .nm-tech-ai .nm-tech-ai__process-grid {
  display: grid;
  gap: 32px;
  margin: 0;
}

.nm-v1 .nm-tech-ai .nm-tech-ai__intro-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  align-items: start;
}

.nm-v1 .nm-tech-ai .nm-tech-ai__process-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.nm-v1 .nm-tech-ai .nm-tech-ai__intro-grid > .gb-grid-column,
.nm-v1 .nm-tech-ai .nm-tech-ai__process-grid > .gb-grid-column {
  width: auto !important;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-tech-ai .nm-tech-ai__content { min-width: 0; }

.nm-v1 .nm-tech-ai .nm-tech-ai__text {
  font-size: 18px;
  line-height: 1.65;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

.nm-v1 .nm-tech-ai .nm-tech-ai__process-intro {
  font-size: 18px;
  line-height: 1.5;
  color: var(--nm-ink, #0F1923);
  margin: 48px 0 24px;
}

.nm-v1 .nm-tech-ai .nm-tech-ai-step {
  box-sizing: border-box;
  height: 100%;
  min-height: 230px;
  padding: 24px;
  background: #FFFFFF;
  border: 1px solid #DCE3E8;
  border-radius: 4px;
}

.nm-v1 .nm-tech-ai .nm-tech-ai-step--nanomade {
  background: #EDF7FA;
  border-color: #CDE8EF;
}

.nm-v1 .nm-tech-ai .nm-tech-ai-step__meta {
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--nm-primary, #0D3B6E);
  margin: 0 0 16px;
}

.nm-v1 .nm-tech-ai .nm-tech-ai-step__owner {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 8px;
}

.nm-v1 .nm-tech-ai .nm-tech-ai-step__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 16px;
}

.nm-v1 .nm-tech-ai .nm-tech-ai-step__text {
  font-size: 16px;
  line-height: 1.5;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-tech-ai { padding: 72px 24px; }
  .nm-v1 .nm-tech-ai .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-tech-ai .nm-tech-ai__intro-grid { gap: 32px; }
  .nm-v1 .nm-tech-ai .nm-tech-ai__process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .nm-v1 .nm-tech-ai { padding: 56px 20px; }
  .nm-v1 .nm-tech-ai .nm-section__title { font-size: 32px !important; }
  .nm-v1 .nm-tech-ai .nm-tech-ai__intro-grid,
  .nm-v1 .nm-tech-ai .nm-tech-ai__process-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .nm-v1 .nm-tech-ai .nm-tech-ai__text { font-size: 18px !important; }
  .nm-v1 .nm-tech-ai .nm-tech-ai__process-intro { margin-top: 36px; }
  .nm-v1 .nm-tech-ai .nm-tech-ai-step { padding: 24px; min-height: 0; }
  .nm-v1 .nm-tech-ai .nm-tech-ai-step__title { font-size: 20px !important; }
}

/* HOW IT WORKS — CapaForce */
.nm-v1 .nm-tech-capaforce {
  padding: 96px 32px;
  background: #FFFFFF;
}

.nm-v1 .nm-tech-capaforce .nm-tech-capaforce__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  align-items: center;
  margin: 0;
}

.nm-v1 .nm-tech-capaforce .nm-tech-capaforce__grid > .gb-grid-column {
  width: auto !important;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-tech-capaforce .nm-tech-capaforce__content,
.nm-v1 .nm-tech-capaforce .nm-tech-capaforce__media {
  min-width: 0;
}

.nm-v1 .nm-tech-capaforce .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 24px;
}

.nm-v1 .nm-tech-capaforce .nm-tech-capaforce__text {
  font-size: 18px;
  line-height: 1.65;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 16px;
}

.nm-v1 .nm-tech-capaforce .nm-tech-capaforce__text:last-child {
  margin-bottom: 0;
}

.nm-v1 .nm-tech-capaforce .nm-tech-capaforce__media {
  background: #FFFFFF;
  border: 1px solid #DCE3E8;
  border-radius: 4px;
  padding: 16px;
}

.nm-v1 .nm-tech-capaforce .nm-tech-capaforce__media figure {
  margin: 0;
}

.nm-v1 .nm-tech-capaforce .nm-tech-capaforce__media img {
  display: block;
  width: 100%;
  height: auto;
}

.nm-v1 .nm-tech-capaforce .nm-tech-capaforce__actions {
  margin-top: 24px;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-tech-capaforce { padding: 72px 24px; }
  .nm-v1 .nm-tech-capaforce .nm-tech-capaforce__grid { gap: 32px; }
  .nm-v1 .nm-tech-capaforce .nm-section__title { font-size: 42px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-tech-capaforce { padding: 56px 20px; }
  .nm-v1 .nm-tech-capaforce .nm-tech-capaforce__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .nm-v1 .nm-tech-capaforce .nm-tech-capaforce__grid > .gb-grid-column:first-child { order: 2; }
  .nm-v1 .nm-tech-capaforce .nm-tech-capaforce__grid > .gb-grid-column:last-child { order: 1; }
  .nm-v1 .nm-tech-capaforce .nm-section__title { font-size: 32px !important; }
  .nm-v1 .nm-tech-capaforce .nm-tech-capaforce__text { font-size: 18px !important; }
}

/* HOW IT WORKS — application pathways */
.nm-v1 .nm-tech-applications {
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
}

.nm-v1 .nm-tech-applications .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 40px;
}

.nm-v1 .nm-tech-applications .nm-tech-applications__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
  margin: 0;
}

.nm-v1 .nm-tech-applications .nm-tech-applications__grid > .gb-grid-column {
  width: auto !important;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-tech-applications .nm-tech-application-card {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  height: 100%;
  min-width: 0;
  padding: 32px;
  background: #FFFFFF;
  border-top: 2px solid var(--nm-primary, #0D3B6E);
}

.nm-v1 .nm-tech-applications .nm-tech-application-card__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 16px;
}

.nm-v1 .nm-tech-applications .nm-tech-application-card__text {
  font-size: 18px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 28px;
}

.nm-v1 .nm-tech-applications .nm-tech-application-card__actions {
  margin-top: auto;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-tech-applications { padding: 72px 24px; }
  .nm-v1 .nm-tech-applications .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-tech-applications .nm-tech-applications__grid { gap: 16px; }
  .nm-v1 .nm-tech-applications .nm-tech-application-card { padding: 24px; }
  .nm-v1 .nm-tech-applications .nm-tech-application-card__title { font-size: 24px; }
}

@media (max-width: 767px) {
  .nm-v1 .nm-tech-applications { padding: 56px 20px; }
  .nm-v1 .nm-tech-applications .nm-section__title { font-size: 32px !important; }
  .nm-v1 .nm-tech-applications .nm-tech-applications__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  .nm-v1 .nm-tech-applications .nm-tech-application-card__title { font-size: 24px !important; }
  .nm-v1 .nm-tech-applications .nm-tech-application-card__text { font-size: 18px !important; }
}

/* ADVANCED SENSING — individual client icons and Pulse interface */
.nm-v1 .nm-monitoring-signals {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  gap: 24px;
  padding: 32px;
  margin: 32px 0 0;
  background: #FFFFFF;
  border: 1px solid #DCE3E8;
  border-radius: 4px;
}

.nm-v1 .nm-monitoring-signals--pulse {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nm-v1 .nm-monitoring-signals--structure {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.nm-v1 .nm-monitoring-signals > .gb-grid-column {
  width: auto !important;
  min-width: 0;
  padding: 0;
}

.nm-v1 .nm-monitoring-signals .nm-monitoring-signal {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  min-width: 0;
  gap: 16px;
  text-align: center;
}

.nm-v1 .nm-monitoring-signals .nm-monitoring-signal__media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  max-width: 100%;
  height: 100px;
  flex-shrink: 0;
}

.nm-v1 .nm-monitoring-signals .nm-monitoring-signal__media figure {
  width: 100%;
  margin: 0;
}

.nm-v1 .nm-monitoring-signals .nm-monitoring-signal__media img {
  display: block;
  width: 100%;
  height: 100px;
  object-fit: contain;
}

.nm-v1 .nm-monitoring-signals .nm-monitoring-signal__label {
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--nm-ink, #0F1923);
  margin: 0;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring__media--portrait {
  width: 100%;
  max-width: 338px;
  margin-left: auto;
  margin-right: auto;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring-studio {
  box-sizing: border-box;
  max-width: 600px;
  margin: 32px auto 0;
  padding: 24px;
  background: #FFFFFF;
  border: 1px solid #DCE3E8;
  border-radius: 4px;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring-studio figure {
  margin: 0;
}

.nm-v1 .nm-advanced-pulse .nm-monitoring-studio img {
  display: block;
  width: 100%;
  max-width: 550px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1024px) {
  .nm-v1 .nm-monitoring-signals--pulse {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 32px;
  }
}

@media (max-width: 767px) {
  .nm-v1 .nm-monitoring-signals { padding: 24px 20px; gap: 24px 20px; }
  .nm-v1 .nm-monitoring-signals .nm-monitoring-signal__label { font-size: 16px !important; }
  .nm-v1 .nm-advanced-pulse .nm-monitoring-studio { padding: 16px; }
}
/* News / Press — migrated page background and article buttons, 2026-10-11. */
.gb-container.nm-v1.nm-news-page {
  box-sizing: border-box;
  background: var(--nm-white, #FFFFFF);
  padding: 0;
}
.nm-news-page .nm-news-hero {
  background: var(--nm-white, #FFFFFF);
}
.nm-news-page .nm-press-list a.gb-button.btn_degrade-bleu {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  max-width: 100%;
  padding: 14px 20px !important;
  background: var(--nm-primary, #0D3B6E) !important;
  color: var(--nm-white, #FFFFFF) !important;
  border: 1px solid var(--nm-primary, #0D3B6E) !important;
  border-radius: 2px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px !important;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  text-align: center;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.nm-news-page .nm-press-list a.gb-button.btn_degrade-bleu:hover,
.nm-news-page .nm-press-list a.gb-button.btn_degrade-bleu:focus {
  background: var(--nm-ink, #0F1923) !important;
  color: var(--nm-white, #FFFFFF) !important;
  border-color: var(--nm-ink, #0F1923) !important;
}
.nm-news-page .nm-press-list a.gb-button.btn_degrade-bleu:focus-visible {
  outline: 2px solid var(--nm-primary, #0D3B6E);
  outline-offset: 3px;
}
.nm-news-page .nm-hero__actions a.nm-button {
  box-sizing: border-box;
  letter-spacing: 0;
  text-transform: none;
}
@media (max-width: 600px) {
  .nm-news-page .nm-press-list a.gb-button.btn_degrade-bleu {
    width: 100%;
  }
}

/* News / Press — integrated press kit, 2026-10-11. */
.nm-v1 .nm-presskit {
  box-sizing: border-box;
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
  scroll-margin-top: 100px;
}
.nm-v1 .nm-presskit .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 40px;
}
.nm-v1 .nm-presskit__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 64px;
  width: 100%;
  margin: 0;
  align-items: start;
}
.nm-v1 .nm-presskit__grid > .gb-grid-column {
  width: auto !important;
  min-width: 0;
  padding: 0;
}
.nm-v1 .nm-presskit__copy,
.nm-v1 .nm-presskit__downloads {
  min-width: 0;
}
.nm-v1 .nm-presskit__subtitle {
  font-family: "Source Sans 3", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 24px;
}
.nm-v1 .nm-presskit__copy p {
  font-family: "Source Sans 3", sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 20px;
}
.nm-v1 .nm-presskit__copy p:last-child {
  margin-bottom: 0;
}
.nm-v1 .nm-presskit-card {
  box-sizing: border-box;
  padding: 24px;
  margin-bottom: 16px;
  background: var(--nm-white, #FFFFFF);
  border: 1px solid #DFE6EA;
  border-radius: 2px;
}
.nm-v1 .nm-presskit-card:last-child {
  margin-bottom: 0;
}
.nm-v1 .nm-presskit-card__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 20px;
}
.nm-v1 .nm-presskit a.nm-button {
  box-sizing: border-box;
  letter-spacing: 0;
  text-transform: none;
}
@media (max-width: 1024px) {
  .nm-v1 .nm-presskit { padding: 72px 24px; }
  .nm-v1 .nm-presskit .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-presskit__grid { gap: 32px; }
}
@media (max-width: 767px) {
  .nm-v1 .nm-presskit { padding: 56px 20px; }
  .nm-v1 .nm-presskit .nm-section__title { font-size: 32px !important; margin-bottom: 32px; }
  .nm-v1 .nm-presskit__grid { grid-template-columns: minmax(0, 1fr); }
  .nm-v1 .nm-presskit__subtitle { font-size: 24px !important; }
  .nm-v1 .nm-presskit__copy p { font-size: 16px !important; }
  .nm-v1 .nm-presskit-card__title { font-size: 20px !important; }
}

/* News & Events — lifting of the existing manual listing, 2026-10-11. */
.gb-container.nm-v1.nm-events-page {
  box-sizing: border-box;
  padding: 0;
  background: var(--nm-white, #FFFFFF);
}
.nm-v1.nm-events-page .nm-events-hero {
  box-sizing: border-box;
  background: var(--nm-white, #FFFFFF);
  padding: 80px 32px;
}
.nm-v1.nm-events-page .nm-events-hero > .gb-container {
  width: 100%;
  max-width: 1280px;
  padding: 0;
  margin: 0 auto;
}
.nm-v1.nm-events-page .nm-events-hero h1 {
  font-family: "Source Serif 4", serif;
  font-size: 72px;
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  text-align: left;
  margin: 0 0 24px;
}
.nm-v1.nm-events-page .nm-events-hero p {
  width: auto;
  max-width: 620px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  line-height: 1.5;
  color: var(--nm-steel, #546E7A);
  text-align: left;
  margin: 0;
}
.nm-v1.nm-events-page .nm-events-feed {
  box-sizing: border-box;
  padding: 64px 32px 80px;
  background: var(--nm-surface, #F2F4F6);
}
.nm-events-feed > .gb-container {
  max-width: 1280px;
  margin: 0 auto;
}
.nm-events-feed .gb-container {
  box-sizing: border-box;
  padding: 0;
}
.nm-events-feed > .gb-container:first-child {
  padding-bottom: 32px;
}
.nm-events-feed .gb-grid-wrapper {
  display: block;
  width: 100%;
  margin: 0;
}
.nm-events-feed .gb-grid-wrapper > .gb-grid-column {
  width: 100%;
  min-width: 0;
  padding: 0;
}
/* Existing rows alternate separator columns and event columns. */
.nm-events-feed .gb-grid-wrapper > .gb-grid-column:nth-child(odd) {
  display: none;
}
.nm-events-feed .gb-grid-column:nth-child(even) > .gb-container {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.65fr);
  align-items: start;
  gap: 40px;
  padding: 32px;
  margin-bottom: 24px;
  background: var(--nm-white, #FFFFFF);
  border: 1px solid #DFE6EA;
  border-radius: 2px;
}
.nm-events-feed .gb-grid-column:nth-child(even) > .gb-container > .gb-container {
  width: 100%;
  min-width: 0;
  padding: 0;
}
.nm-events-feed figure {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 9;
  padding: 0;
  margin: 0;
}
.nm-events-feed figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.nm-events-feed h3 {
  font-family: "Source Sans 3", sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 12px;
}
.nm-events-feed h3 + span {
  display: block;
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px !important;
  font-weight: 500;
  line-height: 1.5;
  color: var(--nm-primary, #0D3B6E);
  margin: 0 0 20px;
}
.nm-events-feed p {
  font-family: "Source Sans 3", sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 16px;
}
.nm-events-feed p:last-child {
  margin-bottom: 0;
}
.nm-events-feed p:empty {
  display: none;
}
.nm-events-feed .gb-grid-column > .gb-container:empty {
  display: none;
}
.nm-events-feed p a {
  color: var(--nm-primary, #0D3B6E);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.nm-events-feed p a:hover {
  color: var(--nm-ink, #0F1923);
}
@media (max-width: 1024px) {
  .nm-v1.nm-events-page .nm-events-hero { padding: 64px 24px; }
  .nm-v1.nm-events-page .nm-events-hero h1 { font-size: 58px; }
  .nm-v1.nm-events-page .nm-events-feed { padding: 48px 24px 64px; }
  .nm-events-feed .gb-grid-column:nth-child(even) > .gb-container {
    gap: 24px;
    padding: 24px;
  }
}
@media (max-width: 767px) {
  .nm-v1.nm-events-page .nm-events-hero { padding: 48px 20px; }
  .nm-v1.nm-events-page .nm-events-hero h1 { font-size: 44px !important; }
  .nm-v1.nm-events-page .nm-events-hero p { font-size: 18px !important; }
  .nm-v1.nm-events-page .nm-events-feed { padding: 40px 20px 56px; }
  .nm-events-feed .gb-grid-column:nth-child(even) > .gb-container {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    padding: 20px;
  }
  .nm-events-feed h3 { font-size: 24px !important; }
  .nm-events-feed p { font-size: 16px !important; }
}

/* Company — client presentation and team photo, 2026-10-11. */
.nm-v1 .nm-company-intro {
  box-sizing: border-box;
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
}
.nm-v1 .nm-company-intro .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 40px;
}
.nm-v1 .nm-company-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 64px;
  align-items: center;
  width: 100%;
  margin: 0;
}
.nm-v1 .nm-company-intro__grid > .gb-grid-column {
  width: auto !important;
  min-width: 0;
  padding: 0;
}
.nm-v1 .nm-company-intro__content {
  min-width: 0;
}
.nm-v1 .nm-company-intro__content p {
  font-family: "Source Sans 3", sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0 0 20px;
}
.nm-v1 .nm-company-intro__content p:last-child {
  margin-bottom: 0;
}
.nm-v1 .nm-company-intro__media {
  box-sizing: border-box;
  width: 100%;
  max-width: 532px;
  padding: 16px;
  margin: 0 auto;
  background: var(--nm-white, #FFFFFF);
  border: 1px solid #DFE6EA;
  border-radius: 2px;
}
.nm-v1 .nm-company-intro__media figure {
  margin: 0;
}
.nm-v1 .nm-company-intro__media img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 1024px) {
  .nm-v1 .nm-company-intro { padding: 72px 24px; }
  .nm-v1 .nm-company-intro .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-company-intro__grid { gap: 32px; }
}
@media (max-width: 767px) {
  .nm-v1 .nm-company-intro { padding: 56px 20px; }
  .nm-v1 .nm-company-intro .nm-section__title { font-size: 32px !important; margin-bottom: 32px; }
  .nm-v1 .nm-company-intro__grid { grid-template-columns: minmax(0, 1fr); }
  .nm-v1 .nm-company-intro__content p { font-size: 16px !important; }
  .nm-v1 .nm-company-intro__media { padding: 12px; }
}

/* Company — five client profiles, 2026-10-11. */
.nm-v1 .nm-company-team {
  box-sizing: border-box;
  padding: 96px 32px;
  background: var(--nm-white, #FFFFFF);
}
.nm-v1 .nm-company-team .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 40px;
}
.nm-v1 .nm-company-team__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
  width: 100%;
  margin: 0;
}
.nm-v1 .nm-company-team__grid > .gb-grid-column {
  display: flex;
  width: auto !important;
  min-width: 0;
  padding: 0;
}
.nm-v1 .nm-company-team-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  padding: 24px 20px;
  background: var(--nm-white, #FFFFFF);
  border: 1px solid #DFE6EA;
  border-radius: 2px;
}
.nm-v1 .nm-company-team-card__media {
  flex: 0 0 auto;
  width: 112px;
  margin: 0 auto 24px;
}
.nm-v1 .nm-company-team-card__media figure {
  margin: 0;
}
.nm-v1 .nm-company-team-card__media img {
  display: block;
  width: 112px;
  height: 112px;
  object-fit: contain;
}
.nm-v1 .nm-company-team-card__name {
  min-height: 48px;
  margin: 0 0 8px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--nm-ink, #0F1923);
  text-align: center;
}
.nm-v1 .nm-company-team-card__role {
  margin: 0 0 20px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--nm-primary, #0076D6);
  text-align: center;
}
.nm-v1 .nm-company-team-card__bio {
  flex: 1 0 auto;
  margin: 0 0 24px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--nm-steel, #546E7A);
}
.nm-v1 .nm-company-team-card__link {
  margin: 0;
  font-family: "Source Sans 3", sans-serif;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
}
.nm-v1 .nm-company-team-card__link a {
  color: var(--nm-primary, #0076D6);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.nm-v1 .nm-company-team-card__link a:hover {
  color: var(--nm-ink, #0F1923);
}
@media (max-width: 1024px) {
  .nm-v1 .nm-company-team { padding: 72px 24px; }
  .nm-v1 .nm-company-team .nm-section__title { font-size: 42px; }
  .nm-v1 .nm-company-team__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .nm-v1 .nm-company-team { padding: 56px 20px; }
  .nm-v1 .nm-company-team .nm-section__title { font-size: 32px !important; margin-bottom: 32px; }
  .nm-v1 .nm-company-team__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nm-v1 .nm-company-team-card__name { font-size: 20px !important; }
  .nm-v1 .nm-company-team-card__role { font-size: 12px !important; }
  .nm-v1 .nm-company-team-card__bio { font-size: 16px !important; }
  .nm-v1 .nm-company-team-card__link { font-size: 14px !important; }
}
@media (max-width: 480px) {
  .nm-v1 .nm-company-team__grid { grid-template-columns: minmax(0, 1fr); }
  .nm-v1 .nm-company-team-card__name { min-height: 0; }
}

/* Company — full-width vertical studio portraits, 2026-10-11. */
.nm-v1 .nm-company-team-card {
  padding: 0 0 24px;
  overflow: hidden;
}
.nm-v1 .nm-company-team-card__media {
  box-sizing: border-box;
  width: 100%;
  padding: 0;
  margin: 0 0 24px;
  background: #080807;
}
.nm-v1 .nm-company-team-card__media figure {
  width: 100%;
  padding: 0;
  margin: 0;
}
.nm-v1 .nm-company-team-card__media img {
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center 25%;
}
.nm-v1 .nm-company-team-card__name {
  margin: 0 20px 8px;
  text-align: left;
}
.nm-v1 .nm-company-team-card__role {
  margin: 0 20px 20px;
  text-align: left;
}
.nm-v1 .nm-company-team-card__bio {
  margin: 0 20px 24px;
}
.nm-v1 .nm-company-team-card__link {
  margin: 0 20px;
  text-align: left;
}

/* Company — eight customer and partner logos, 2026-10-11. */
.nm-v1 .nm-company-partners {
  box-sizing: border-box;
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
}
.nm-v1 .nm-company-partners .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 40px;
}
.nm-v1 .nm-company-partners__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  margin: 0;
}
.nm-v1 .nm-company-partners__grid > .gb-grid-column {
  width: auto !important;
  min-width: 0;
  padding: 0;
}
.nm-v1 .nm-company-partners__logo {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 136px;
  padding: 24px;
  background: var(--nm-white, #FFFFFF);
  border: 1px solid #DFE6EA;
  border-radius: 2px;
}
.nm-v1 .nm-company-partners__logo figure {
  width: 100%;
  max-width: 200px;
  padding: 0;
  margin: 0;
}
.nm-v1 .nm-company-partners__logo img {
  display: block;
  width: 100%;
  max-width: 200px;
  height: 72px;
  margin: 0 auto;
  object-fit: contain;
  object-position: center;
}
/* Use only with the supplied Safran-Logo.png, whose vertical margins are large. */
.nm-v1 .nm-company-partners__logo--safran figure {
  display: flex;
  align-items: center;
  aspect-ratio: 3 / 1;
  overflow: hidden;
}
.nm-v1 .nm-company-partners__logo--safran img {
  flex: 0 0 100%;
  height: auto;
}
@media (max-width: 1024px) {
  .nm-v1 .nm-company-partners { padding: 72px 24px; }
  .nm-v1 .nm-company-partners .nm-section__title { font-size: 42px; }
}
@media (max-width: 767px) {
  .nm-v1 .nm-company-partners { padding: 56px 20px; }
  .nm-v1 .nm-company-partners .nm-section__title { font-size: 32px !important; margin-bottom: 32px; }
  .nm-v1 .nm-company-partners__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .nm-v1 .nm-company-partners__logo { height: 120px; padding: 16px; }
}

/* Company — vertical spacing within and between repeated grids, 2026-10-11. */
.nm-v1 .nm-company-team__grid,
.nm-v1 .nm-company-partners__grid {
  row-gap: 32px;
}
.nm-v1 .nm-company-team__grid + .nm-company-team__grid,
.nm-v1 .nm-company-partners__grid + .nm-company-partners__grid {
  margin-top: 32px;
}
@media (max-width: 767px) {
  .nm-v1 .nm-company-team__grid,
  .nm-v1 .nm-company-partners__grid {
    row-gap: 24px;
  }
  .nm-v1 .nm-company-team__grid + .nm-company-team__grid,
  .nm-v1 .nm-company-partners__grid + .nm-company-partners__grid {
    margin-top: 24px;
  }
}

/* Company — reuse homepage recognition logos on a white section, 2026-10-11. */
.nm-v1 .nm-home-awards.nm-company-recognition {
  box-sizing: border-box;
  padding: 96px 32px;
  background: var(--nm-white, #FFFFFF);
}
.nm-v1 .nm-company-recognition .nm-section__title {
  font-size: 48px;
  line-height: 1.08;
  margin: 0 0 40px;
}
.nm-v1 .nm-company-recognition .nm-awards__grid {
  row-gap: 32px;
}
.nm-v1 .nm-company-recognition .nm-awards__grid > .gb-grid-column {
  width: auto !important;
}
@media (max-width: 1024px) {
  .nm-v1 .nm-home-awards.nm-company-recognition { padding: 72px 24px; }
  .nm-v1 .nm-company-recognition .nm-section__title { font-size: 42px; }
}
@media (max-width: 767px) {
  .nm-v1 .nm-home-awards.nm-company-recognition { padding: 56px 20px; }
  .nm-v1 .nm-company-recognition .nm-section__title { font-size: 32px !important; margin-bottom: 32px; }
  .nm-v1 .nm-company-recognition .nm-awards__grid { row-gap: 24px; }
}

/* Company — three client-selected articles, 2026-10-11. */
.nm-v1 .nm-home-recognition.nm-company-news {
  box-sizing: border-box;
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
}
.nm-v1 .nm-company-news .nm-section__title {
  margin-bottom: 40px;
}
.nm-v1 .nm-company-news .nm-recognition__grid {
  row-gap: 32px;
}
.nm-v1 .nm-company-news .nm-recognition__grid > .gb-grid-column {
  width: auto !important;
}
.nm-v1 .nm-company-news .nm-recognition-card {
  box-sizing: border-box;
}
.nm-v1 .nm-company-news .nm-recognition-card__media {
  justify-content: center;
}
.nm-v1 .nm-company-news .nm-recognition-card__media img {
  margin-inline: auto;
}
@media (max-width: 1024px) {
  .nm-v1 .nm-home-recognition.nm-company-news { padding: 72px 24px; }
  .nm-v1 .nm-company-news .nm-section__title { font-size: 42px; }
}
@media (max-width: 767px) {
  .nm-v1 .nm-home-recognition.nm-company-news { padding: 56px 20px; }
  .nm-v1 .nm-company-news .nm-section__title { font-size: 32px !important; margin-bottom: 32px; }
  .nm-v1 .nm-company-news .nm-recognition__grid { row-gap: 24px; }
}

/* Technical Resources — reuse HMI resource cards in two-column sections, 2026-10-11. */
.nm-v1 .nm-hmi-resources.nm-technical-resources {
  box-sizing: border-box;
}
.nm-v1 .nm-hmi-resources.nm-technical-resources .nm-resources__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px 24px;
}
.nm-v1 .nm-hmi-resources.nm-technical-resources .nm-resources__grid > .gb-grid-column {
  width: auto !important;
}
.nm-v1 .nm-technical-resources .nm-resources__grid + .nm-resources__grid {
  margin-top: 32px;
}
.nm-v1 .nm-hmi-resources.nm-technical-resources--manuals {
  background: var(--nm-white, #FFFFFF);
}
@media (max-width: 767px) {
  .nm-v1 .nm-hmi-resources.nm-technical-resources .nm-resources__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .nm-v1 .nm-technical-resources .nm-resources__grid + .nm-resources__grid {
    margin-top: 24px;
  }
}


/* Contact — page layout and existing Gravity Forms form, 2026-10-11. */
.gb-container.nm-v1.nm-contact-page {
  box-sizing: border-box;
  padding: 0;
  background: var(--nm-white, #FFFFFF);
  background-image: none;
}
.nm-contact-page .nm-news-hero {
  box-sizing: border-box;
  padding: 80px 32px;
  background: var(--nm-white, #FFFFFF);
}
.nm-contact-page .nm-contact-section {
  box-sizing: border-box;
  padding: 80px 32px;
  background: var(--nm-surface, #F2F4F6);
}
.nm-contact-page .nm-contact__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 64px;
  margin: 0;
  width: 100%;
  align-items: start;
}
.nm-contact-page .nm-contact__grid > .gb-grid-column {
  width: auto !important;
  min-width: 0;
  padding: 0;
}
.nm-contact-page .nm-contact__form,
.nm-contact-page .nm-contact__details {
  box-sizing: border-box;
  min-width: 0;
  padding: 32px;
  background: var(--nm-white, #FFFFFF);
  border: 1px solid rgba(15, 25, 35, 0.10);
}
.nm-contact-page .nm-contact__title {
  font-family: "Source Serif 4", serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 28px;
}
.nm-contact-page .nm-contact__label {
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--nm-primary, #0D3B6E);
  margin: 28px 0 10px;
}
.nm-contact-page .nm-contact__text {
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 12px;
  overflow-wrap: anywhere;
}
.nm-contact-page .nm-contact__details a,
.nm-contact-page .nm-contact__form .gfield_html a,
.nm-contact-page .nm-contact__form .gform_confirmation_message a {
  color: var(--nm-primary, #0D3B6E);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.nm-contact-page .nm-contact__form .gform_wrapper {
  --gf-color-primary: var(--nm-primary, #0D3B6E);
  --gf-ctrl-border-color: #CBD3DB;
  --gf-ctrl-radius: 2px;
  font-family: "Source Sans 3", sans-serif;
  color: var(--nm-ink, #0F1923);
}
.nm-contact-page .nm-contact__form .gfield_label {
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}
.nm-contact-page .nm-contact__form input[type="text"],
.nm-contact-page .nm-contact__form input[type="email"],
.nm-contact-page .nm-contact__form input[type="tel"],
.nm-contact-page .nm-contact__form select,
.nm-contact-page .nm-contact__form textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #CBD3DB;
  border-radius: 2px;
  background-color: var(--nm-white, #FFFFFF);
  color: var(--nm-ink, #0F1923);
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-shadow: none;
}
.nm-contact-page .nm-contact__form select {
  padding-right: 36px;
}
.nm-contact-page .nm-contact__form textarea {
  min-height: 180px;
  resize: vertical;
}
.nm-contact-page .nm-contact__form :is(input, select, textarea):focus-visible {
  outline: 2px solid var(--nm-primary, #0D3B6E);
  outline-offset: 2px;
}
.nm-contact-page .nm-contact__form .gfield_error :is(input[type="text"], input[type="email"], select, textarea) {
  border-color: #A52222;
}
.nm-contact-page .nm-contact__form .gfield_html,
.nm-contact-page .nm-contact__form .gfield_description {
  font-size: 14px;
  line-height: 1.6;
}
.nm-contact-page .nm-contact__form .gform_footer .gform_button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  max-width: 100%;
  width: auto;
  padding: 14px 24px !important;
  border: 1px solid var(--nm-primary, #0D3B6E) !important;
  border-radius: 2px;
  background: var(--nm-primary, #0D3B6E) !important;
  color: var(--nm-white, #FFFFFF) !important;
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px !important;
  font-weight: 600;
  line-height: 1.3;
  text-transform: none;
  cursor: pointer;
}
.nm-contact-page .nm-contact__form .gform_footer .gform_button:hover {
  background: var(--nm-ink, #0F1923) !important;
  border-color: var(--nm-ink, #0F1923) !important;
}
.nm-contact-page .nm-contact__form .gform_confirmation_message {
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: var(--nm-ink, #0F1923);
}
@media (max-width: 1024px) {
  .nm-contact-page .nm-news-hero { padding: 64px 24px; }
  .nm-contact-page .nm-contact-section { padding: 64px 24px; }
  .nm-contact-page .nm-contact__grid { gap: 32px; }
  .nm-contact-page .nm-contact__form,
  .nm-contact-page .nm-contact__details { padding: 28px; }
}
@media (max-width: 767px) {
  .nm-contact-page .nm-news-hero { padding: 48px 20px; }
  .nm-contact-page .nm-contact-section { padding: 48px 20px; }
  .nm-contact-page .nm-contact__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .nm-contact-page .nm-contact__form,
  .nm-contact-page .nm-contact__details { padding: 24px; }
  .nm-contact-page .nm-contact__title { font-size: 28px !important; }
  .nm-contact-page .nm-contact__text { font-size: 17px !important; }
}

/* =========================================================
   INTEGRATION & ENGINEERING SUPPORT — V1.0
   Scope: .nm-v1.nm-engineering-page
   Project qualification / Sensor design / Electronics / Validation / Project path
   ========================================================= */
.nm-v1.nm-engineering-page .nm-engineering-qualification,
.nm-v1.nm-engineering-page .nm-engineering-design,
.nm-v1.nm-engineering-page .nm-engineering-electronics,
.nm-v1.nm-engineering-page .nm-engineering-validation {
  box-sizing: border-box;
  padding: 96px 32px;
}
.nm-v1.nm-engineering-page .nm-engineering-qualification,
.nm-v1.nm-engineering-page .nm-engineering-electronics {
  background: var(--nm-surface, #F2F4F6);
}
.nm-v1.nm-engineering-page .nm-engineering-design,
.nm-v1.nm-engineering-page .nm-engineering-validation {
  background: var(--nm-white, #FFFFFF);
}
.nm-v1.nm-engineering-page .nm-engineering__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 56px;
  width: 100%;
  margin: 0;
  padding: 0;
  align-items: center;
}
.nm-v1.nm-engineering-page .nm-engineering__grid > .gb-grid-column {
  box-sizing: border-box;
  width: auto !important;
  min-width: 0;
  padding: 0;
}
.nm-v1.nm-engineering-page .nm-engineering__content,
.nm-v1.nm-engineering-page .nm-engineering__media {
  min-width: 0;
}
.nm-v1.nm-engineering-page .nm-engineering__content .nm-section__title {
  max-width: 760px;
  margin: 0 0 24px;
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
}
.nm-v1.nm-engineering-page .nm-engineering__text {
  max-width: 760px;
  margin: 0;
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
}
.nm-v1.nm-engineering-page .nm-engineering__media {
  box-sizing: border-box;
  overflow: hidden;
  background: #E5EBEF;
}
.nm-v1.nm-engineering-page .nm-engineering__media figure,
.nm-v1.nm-engineering-page .nm-engineering__media .wp-block-image {
  margin: 0;
  width: 100%;
}
.nm-v1.nm-engineering-page .nm-engineering__media img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}
/* Client requests the validation image to focus on the ring and test bench.
   Crop the source asset first if the available photo includes unwanted background. */
.nm-v1.nm-engineering-page .nm-engineering-validation .nm-engineering__media img {
  object-position: center;
}
/* PROJECT PATH */
.nm-v1.nm-engineering-page .nm-engineering-path {
  box-sizing: border-box;
  padding: 96px 32px;
  background: var(--nm-surface, #F2F4F6);
}
.nm-v1.nm-engineering-page .nm-engineering-path .nm-section__title {
  margin: 0 0 40px;
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
}
.nm-v1.nm-engineering-page .nm-engineering-path__media {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}
.nm-v1.nm-engineering-page .nm-engineering-path__media figure,
.nm-v1.nm-engineering-page .nm-engineering-path__media .wp-block-image {
  width: 100%;
  margin: 0;
}
.nm-v1.nm-engineering-page .nm-engineering-path__media img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
@media (max-width: 1024px) {
  .nm-v1.nm-engineering-page .nm-engineering-qualification,
  .nm-v1.nm-engineering-page .nm-engineering-design,
  .nm-v1.nm-engineering-page .nm-engineering-electronics,
  .nm-v1.nm-engineering-page .nm-engineering-validation,
  .nm-v1.nm-engineering-page .nm-engineering-path { padding: 72px 24px; }
  .nm-v1.nm-engineering-page .nm-engineering__grid { gap: 32px; }
  .nm-v1.nm-engineering-page .nm-engineering__content .nm-section__title,
  .nm-v1.nm-engineering-page .nm-engineering-path .nm-section__title { font-size: 42px; }
  .nm-v1.nm-engineering-page .nm-engineering__text { font-size: 18px; }
}
@media (max-width: 767px) {
  .nm-v1.nm-engineering-page .nm-engineering-qualification,
  .nm-v1.nm-engineering-page .nm-engineering-design,
  .nm-v1.nm-engineering-page .nm-engineering-electronics,
  .nm-v1.nm-engineering-page .nm-engineering-validation,
  .nm-v1.nm-engineering-page .nm-engineering-path { padding: 56px 20px; }
  .nm-v1.nm-engineering-page .nm-engineering__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .nm-v1.nm-engineering-page .nm-engineering__content .nm-section__title,
  .nm-v1.nm-engineering-page .nm-engineering-path .nm-section__title {
    font-size: 32px !important;
    margin-bottom: 24px;
  }
  .nm-v1.nm-engineering-page .nm-engineering__text { font-size: 18px !important; }
  .nm-v1.nm-engineering-page .nm-engineering__media img { aspect-ratio: 4 / 3; }
}

/* =========================================================
   MANUFACTURING CAPABILITIES — V1.0
   Scope: .nm-v1.nm-manufacturing-page
   Form: Gravity Forms ID 4 only
   ========================================================= */
.nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities,
.nm-v1.nm-manufacturing-page .nm-manufacturing-footprint,
.nm-v1.nm-manufacturing-page .nm-manufacturing-quality {
  box-sizing: border-box;
  padding: 96px 32px;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities,
.nm-v1.nm-manufacturing-page .nm-manufacturing-quality {
  background: var(--nm-surface, #F2F4F6);
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-footprint {
  background: var(--nm-white, #FFFFFF);
}
.nm-v1.nm-manufacturing-page :is(.nm-manufacturing-capabilities, .nm-manufacturing-footprint, .nm-manufacturing-quality) .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 28px;
}
.nm-v1.nm-manufacturing-page :is(.nm-manufacturing-capabilities__intro, .nm-manufacturing-footprint__text, .nm-manufacturing-quality__intro) {
  font-family: "Source Sans 3", sans-serif;
  font-size: 19px;
  line-height: 1.65;
  color: var(--nm-steel, #546E7A);
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities__intro,
.nm-v1.nm-manufacturing-page .nm-manufacturing-quality__intro { max-width: 900px; margin: 0 0 40px; }
.nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities__media {
  overflow: hidden;
  margin: 0 0 32px;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities__media :is(figure, .wp-block-image) { margin: 0; }
.nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities__media img {
  display: block; width: 100%; height: auto; max-width: 100%;
  aspect-ratio: 16 / 7; object-fit: cover;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities__grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px; align-items: stretch; width: 100%; margin: 0;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities__grid > .gb-grid-column,
.nm-v1.nm-manufacturing-page .nm-manufacturing-footprint__grid > .gb-grid-column {
  box-sizing: border-box; width: auto !important; min-width: 0; padding: 0;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities__card {
  box-sizing: border-box; height: 100%; padding: 36px;
  background: var(--nm-white, #FFFFFF);
  border: 1px solid rgba(15, 25, 35, 0.09);
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities__card-title,
.nm-v1.nm-manufacturing-page .nm-manufacturing-footprint__subtitle,
.nm-v1.nm-manufacturing-page .nm-manufacturing-quality__heading {
  font-family: "Source Sans 3", sans-serif;
  font-size: 26px; font-weight: 600; line-height: 1.25;
  color: var(--nm-ink, #0F1923); margin: 0 0 20px;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities__text {
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px; line-height: 1.65;
  color: var(--nm-steel, #546E7A); margin: 0;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-footprint__grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center; gap: 56px; width: 100%; margin: 0;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-footprint__media,
.nm-v1.nm-manufacturing-page .nm-manufacturing-footprint__content { min-width: 0; }
.nm-v1.nm-manufacturing-page .nm-manufacturing-footprint__media { overflow: hidden; }
.nm-v1.nm-manufacturing-page .nm-manufacturing-footprint__media :is(figure, .wp-block-image) { margin: 0; }
.nm-v1.nm-manufacturing-page .nm-manufacturing-footprint__media img {
  display: block; width: 100%; height: auto; max-width: 100%;
  aspect-ratio: 4 / 5; object-fit: cover;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-footprint__text { margin: 0 0 20px; }
.nm-v1.nm-manufacturing-page .nm-manufacturing-footprint__text:last-child { margin-bottom: 0; }
.nm-v1.nm-manufacturing-page .nm-manufacturing-quality__tables { display: grid; gap: 44px; }
.nm-v1.nm-manufacturing-page .nm-manufacturing-quality__group { min-width: 0; }
.nm-v1.nm-manufacturing-page .nm-manufacturing-quality__heading { margin-bottom: 16px; }
.nm-v1.nm-manufacturing-page .nm-manufacturing-quality__group :is(.wp-block-table, .nm-manufacturing-quality__table) {
  display: block; max-width: 100%; overflow-x: auto; margin: 0;
  -webkit-overflow-scrolling: touch;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-quality__group table {
  width: 100%; min-width: 600px; border-collapse: collapse;
  background: var(--nm-white, #FFFFFF);
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px; line-height: 1.5;
  color: var(--nm-ink, #0F1923);
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-quality__group :is(th, td) {
  padding: 15px 18px; text-align: left; vertical-align: top;
  border: 0; border-bottom: 1px solid #DFE5E9;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-quality__group th {
  background: #E4EAF0; color: var(--nm-ink, #0F1923);
  font-weight: 700;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-quality__group :is(th, td):first-child { width: 64px; }
.nm-v1.nm-manufacturing-page .nm-manufacturing-quality__group :is(th, td):last-child { width: 28%; }

/* Dedicated Manufacturing contact section — Gravity Forms #4 */
.nm-v1.nm-manufacturing-page .nm-manufacturing-contact {
  box-sizing: border-box; padding: 96px 32px;
  background: var(--nm-primary, #0D3B6E);
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-contact__grid {
  display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 64px; align-items: start; margin: 0; width: 100%;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-contact__grid > .gb-grid-column {
  box-sizing: border-box; width: auto !important; min-width: 0; padding: 0;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-contact__content,
.nm-v1.nm-manufacturing-page .nm-manufacturing-contact__form { min-width: 0; }
.nm-v1.nm-manufacturing-page .nm-manufacturing-contact__content .nm-eyebrow {
  color: #BCD2E7; margin-bottom: 24px;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-contact__content .nm-section__title {
  font-family: "Source Serif 4", serif; font-size: 48px;
  font-weight: 600; line-height: 1.08; letter-spacing: -0.02em;
  color: #FFFFFF; margin: 0 0 24px;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-contact__intro {
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px; line-height: 1.6; color: #E1E9F2; margin: 0;
}
.nm-v1.nm-manufacturing-page .nm-manufacturing-contact__form {
  box-sizing: border-box; padding: 36px; background: #FFFFFF;
  color: var(--nm-ink, #0F1923);
}
.nm-v1.nm-manufacturing-page #gform_wrapper_4 {
  --gf-ctrl-border-color: #CBD3DB;
  --gf-ctrl-radius: 2px;
  font-family: "Source Sans 3", sans-serif;
  color: var(--nm-ink, #0F1923);
}
.nm-v1.nm-manufacturing-page #gform_wrapper_4 .gfield_label {
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px; line-height: 1.4; font-weight: 600;
}
.nm-v1.nm-manufacturing-page #gform_wrapper_4 :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
  box-sizing: border-box; width: 100%; max-width: 100%;
  min-height: 48px; padding: 12px 14px;
  border: 1px solid #CBD3DB; border-radius: 2px;
  background: #FFFFFF; color: var(--nm-ink, #0F1923);
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px; line-height: 1.5; box-shadow: none;
}
.nm-v1.nm-manufacturing-page #gform_wrapper_4 select { padding-right: 36px; }
.nm-v1.nm-manufacturing-page #gform_wrapper_4 textarea { min-height: 150px; resize: vertical; }
.nm-v1.nm-manufacturing-page #gform_wrapper_4 :is(input, select, textarea):focus-visible {
  outline: 2px solid var(--nm-primary, #0D3B6E); outline-offset: 2px;
}
.nm-v1.nm-manufacturing-page #gform_wrapper_4 .gfield_error :is(input, select, textarea) { border-color: #A52222; }
.nm-v1.nm-manufacturing-page #gform_wrapper_4 :is(.gfield_description, .gfield_html) { font-size: 14px; line-height: 1.6; }
.nm-v1.nm-manufacturing-page #gform_wrapper_4 .gform_footer .gform_button {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; width: auto; max-width: 100%; padding: 14px 24px !important;
  border: 1px solid var(--nm-primary, #0D3B6E) !important; border-radius: 2px;
  background: var(--nm-primary, #0D3B6E) !important; color: #FFFFFF !important;
  font-family: "Source Sans 3", sans-serif; font-size: 16px !important;
  font-weight: 600; line-height: 1.3; text-transform: none; cursor: pointer;
}
.nm-v1.nm-manufacturing-page #gform_wrapper_4 .gform_footer .gform_button:hover {
  background: var(--nm-ink, #0F1923) !important;
  border-color: var(--nm-ink, #0F1923) !important;
}
.nm-v1.nm-manufacturing-page #gform_wrapper_4 .gform_confirmation_message {
  font-family: "Source Sans 3", sans-serif; font-size: 18px;
  line-height: 1.6; color: var(--nm-ink, #0F1923);
}
@media (max-width: 1024px) {
  .nm-v1.nm-manufacturing-page :is(.nm-manufacturing-capabilities, .nm-manufacturing-footprint, .nm-manufacturing-quality, .nm-manufacturing-contact) { padding: 72px 24px; }
  .nm-v1.nm-manufacturing-page :is(.nm-manufacturing-capabilities, .nm-manufacturing-footprint, .nm-manufacturing-quality) .nm-section__title,
  .nm-v1.nm-manufacturing-page .nm-manufacturing-contact__content .nm-section__title { font-size: 42px; }
  .nm-v1.nm-manufacturing-page .nm-manufacturing-footprint__grid,
  .nm-v1.nm-manufacturing-page .nm-manufacturing-contact__grid { gap: 32px; }
  .nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities__card,
  .nm-v1.nm-manufacturing-page .nm-manufacturing-contact__form { padding: 28px; }
}
@media (max-width: 767px) {
  .nm-v1.nm-manufacturing-page :is(.nm-manufacturing-capabilities, .nm-manufacturing-footprint, .nm-manufacturing-quality, .nm-manufacturing-contact) { padding: 56px 20px; }
  .nm-v1.nm-manufacturing-page :is(.nm-manufacturing-capabilities, .nm-manufacturing-footprint, .nm-manufacturing-quality) .nm-section__title,
  .nm-v1.nm-manufacturing-page .nm-manufacturing-contact__content .nm-section__title { font-size: 32px !important; margin-bottom: 24px; }
  .nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities__grid,
  .nm-v1.nm-manufacturing-page .nm-manufacturing-footprint__grid,
  .nm-v1.nm-manufacturing-page .nm-manufacturing-contact__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities__media img { aspect-ratio: 4 / 3; }
  .nm-v1.nm-manufacturing-page .nm-manufacturing-footprint__media img { aspect-ratio: 4 / 3; }
  .nm-v1.nm-manufacturing-page .nm-manufacturing-capabilities__card,
  .nm-v1.nm-manufacturing-page .nm-manufacturing-contact__form { padding: 24px; }
  .nm-v1.nm-manufacturing-page :is(.nm-manufacturing-capabilities__intro, .nm-manufacturing-footprint__text, .nm-manufacturing-quality__intro, .nm-manufacturing-contact__intro) { font-size: 18px !important; }
  .nm-v1.nm-manufacturing-page .nm-manufacturing-quality__tables { gap: 36px; }
  .nm-v1.nm-manufacturing-page .nm-manufacturing-quality__group :is(th, td) { padding: 12px 14px; }
}

/* ========================================================================== */
/* Consumer electronics — V1.0 (page-scoped additions)                       */
/* The shared Hero Standard and contact CTA keep their existing styles.       */
/* ========================================================================== */
.nm-v1.nm-consumer-page :is(.nm-consumer-constraints, .nm-consumer-products, .nm-consumer-capabilities, .nm-consumer-cases) {
  box-sizing: border-box;
  padding: 96px 32px;
}
.nm-v1.nm-consumer-page :is(.nm-consumer-constraints, .nm-consumer-capabilities) {
  background: var(--nm-surface, #F2F4F6);
}
.nm-v1.nm-consumer-page :is(.nm-consumer-products, .nm-consumer-cases) {
  background: #FFFFFF;
}
.nm-v1.nm-consumer-page :is(.nm-consumer-constraints, .nm-consumer-products, .nm-consumer-capabilities, .nm-consumer-cases) .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 40px;
}
.nm-v1.nm-consumer-page :is(.nm-consumer-constraints__grid, .nm-consumer-products__grid, .nm-consumer-capabilities__grid) {
  display: grid;
  gap: 24px;
  width: 100%;
  margin: 0;
  align-items: stretch;
}
.nm-v1.nm-consumer-page :is(.nm-consumer-constraints__grid, .nm-consumer-capabilities__grid) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.nm-v1.nm-consumer-page .nm-consumer-products__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.nm-v1.nm-consumer-page :is(.nm-consumer-constraints__grid, .nm-consumer-products__grid, .nm-consumer-capabilities__grid) > .gb-grid-column {
  box-sizing: border-box;
  width: auto !important;
  min-width: 0;
  padding: 0;
}
.nm-v1.nm-consumer-page :is(.nm-consumer-constraints__card, .nm-consumer-capabilities__card) {
  box-sizing: border-box;
  min-width: 0;
  height: 100%;
  padding: 36px;
  border: 1px solid rgba(15, 25, 35, 0.08);
  background: #FFFFFF;
}
.nm-v1.nm-consumer-page .nm-consumer-constraints__number {
  font-family: "IBM Plex Mono", monospace;
  color: var(--nm-primary, #0D3B6E);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  margin: 0 0 20px;
}
.nm-v1.nm-consumer-page :is(.nm-consumer-constraints__title, .nm-consumer-capabilities__title, .nm-consumer-products__title) {
  font-family: "Source Sans 3", sans-serif;
  font-size: 25px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 16px;
}
.nm-v1.nm-consumer-page :is(.nm-consumer-constraints__text, .nm-consumer-capabilities__text, .nm-consumer-products__text) {
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}
.nm-v1.nm-consumer-page .nm-consumer-products__card {
  box-sizing: border-box;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--nm-surface, #F2F4F6);
}
.nm-v1.nm-consumer-page .nm-consumer-products__media {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #E5E9EC;
}
.nm-v1.nm-consumer-page .nm-consumer-products__media :is(figure, .wp-block-image) {
  width: 100%;
  height: 100%;
  margin: 0;
}
.nm-v1.nm-consumer-page .nm-consumer-products__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Text is styled with inset space without requiring an extra content wrapper. */
.nm-v1.nm-consumer-page .nm-consumer-products__card > :is(.nm-consumer-products__title, .nm-consumer-products__text) {
  margin-left: 28px;
  margin-right: 28px;
}
.nm-v1.nm-consumer-page .nm-consumer-products__card > .nm-consumer-products__title {
  margin-top: 28px;
}
.nm-v1.nm-consumer-page .nm-consumer-products__card > .nm-consumer-products__text {
  margin-bottom: 30px;
}
/* If GenerateBlocks adds an inner wrapper, use this optional class on it. */
.nm-v1.nm-consumer-page .nm-consumer-products__content { padding: 28px; flex: 1; }
.nm-v1.nm-consumer-page .nm-consumer-products__content .nm-consumer-products__text { margin-bottom: 0; }
.nm-v1.nm-consumer-page .nm-consumer-capabilities__icon {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 64px;
  height: 64px;
  margin: 0 0 24px;
}
.nm-v1.nm-consumer-page .nm-consumer-capabilities__icon :is(figure, .wp-block-image) { margin: 0; }
.nm-v1.nm-consumer-page .nm-consumer-capabilities__icon img {
  display: block;
  max-width: 100%;
  max-height: 64px;
  width: auto;
  height: auto;
  object-fit: contain;
}
/* Case studies: deliberately text-led, not a second photographic product grid. */
.nm-v1.nm-consumer-page .nm-consumer-cases__intro {
  max-width: 820px;
  margin: -14px 0 36px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 19px;
  line-height: 1.65;
  color: var(--nm-steel, #546E7A);
}
.nm-v1.nm-consumer-page .nm-consumer-cases__list {
  display: flex;
  flex-direction: column;
  width: 100%;
  border-top: 1px solid #D7DEE4;
}
.nm-v1.nm-consumer-page .nm-consumer-cases__item {
  box-sizing: border-box;
  min-width: 0;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  column-gap: 24px;
  align-items: center;
  padding: 26px 8px 26px 0;
  border-bottom: 1px solid #D7DEE4;
  transition: background-color 0.2s ease;
}
.nm-v1.nm-consumer-page .nm-consumer-cases__item:has(a:hover) { background: #F7F9FA; }
.nm-v1.nm-consumer-page .nm-consumer-cases__number {
  font-family: "IBM Plex Mono", monospace;
  font-size: 14px;
  color: var(--nm-primary, #0D3B6E);
  margin: 0;
}
.nm-v1.nm-consumer-page .nm-consumer-cases__title {
  font-family: "Source Sans 3", sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.3;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 5px;
}
.nm-v1.nm-consumer-page .nm-consumer-cases__description {
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}
.nm-v1.nm-consumer-page .nm-consumer-cases__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: max-content;
  font-family: "Source Sans 3", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--nm-primary, #0D3B6E);
  text-decoration: none;
}
.nm-v1.nm-consumer-page .nm-consumer-cases__link::after {
  content: "↗";
  font-size: 20px;
  line-height: 1;
  transition: transform 0.2s ease;
}
.nm-v1.nm-consumer-page .nm-consumer-cases__link:hover::after { transform: translate(2px, -2px); }
.nm-v1.nm-consumer-page .nm-consumer-cases__link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
@media (max-width: 1024px) {
  .nm-v1.nm-consumer-page :is(.nm-consumer-constraints, .nm-consumer-products, .nm-consumer-capabilities, .nm-consumer-cases) { padding: 72px 24px; }
  .nm-v1.nm-consumer-page :is(.nm-consumer-constraints, .nm-consumer-products, .nm-consumer-capabilities, .nm-consumer-cases) .nm-section__title { font-size: 42px; }
  .nm-v1.nm-consumer-page .nm-consumer-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nm-v1.nm-consumer-page :is(.nm-consumer-constraints__card, .nm-consumer-capabilities__card) { padding: 28px; }
}
@media (max-width: 767px) {
  .nm-v1.nm-consumer-page :is(.nm-consumer-constraints, .nm-consumer-products, .nm-consumer-capabilities, .nm-consumer-cases) { padding: 56px 20px; }
  .nm-v1.nm-consumer-page :is(.nm-consumer-constraints, .nm-consumer-products, .nm-consumer-capabilities, .nm-consumer-cases) .nm-section__title { font-size: 32px !important; margin-bottom: 28px; }
  .nm-v1.nm-consumer-page :is(.nm-consumer-constraints__grid, .nm-consumer-products__grid, .nm-consumer-capabilities__grid) { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .nm-v1.nm-consumer-page :is(.nm-consumer-constraints__card, .nm-consumer-capabilities__card) { padding: 24px; }
  .nm-v1.nm-consumer-page :is(.nm-consumer-constraints__title, .nm-consumer-capabilities__title, .nm-consumer-products__title) { font-size: 23px; }
  .nm-v1.nm-consumer-page :is(.nm-consumer-constraints__text, .nm-consumer-capabilities__text, .nm-consumer-products__text) { font-size: 17px; }
  .nm-v1.nm-consumer-page .nm-consumer-cases__intro { margin-top: -8px; margin-bottom: 24px; font-size: 17px; }
  .nm-v1.nm-consumer-page .nm-consumer-cases__item { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding: 22px 0; }
  .nm-v1.nm-consumer-page .nm-consumer-cases__title { font-size: 21px; }
  .nm-v1.nm-consumer-page .nm-consumer-cases__description { font-size: 15px; }
  .nm-v1.nm-consumer-page .nm-consumer-cases__link { grid-column: 2; font-size: 14px; margin-top: 8px; }
}


/* =========================================================
   Consumer Electronics — Case studies grid placement fix
   2026-10-11. Keep each item as four direct children:
   number, title, description, link. No GenerateBlocks changes.
   ========================================================= */
.nm-v1.nm-consumer-page .nm-consumer-cases__item {
  grid-template-columns: 52px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  row-gap: 7px;
}
.nm-v1.nm-consumer-page .nm-consumer-cases__item > .nm-consumer-cases__number {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: start;
  padding-top: 5px;
}
.nm-v1.nm-consumer-page .nm-consumer-cases__item > .nm-consumer-cases__title {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  margin: 0;
}
.nm-v1.nm-consumer-page .nm-consumer-cases__item > .nm-consumer-cases__description {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
}
.nm-v1.nm-consumer-page .nm-consumer-cases__item > .nm-consumer-cases__link {
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  max-width: 100%;
  white-space: normal;
  margin: 0;
}
@media (max-width: 767px) {
  .nm-v1.nm-consumer-page .nm-consumer-cases__item {
    grid-template-columns: 32px minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    column-gap: 14px;
    row-gap: 9px;
    align-items: start;
  }
  .nm-v1.nm-consumer-page .nm-consumer-cases__item > .nm-consumer-cases__number {
    grid-column: 1;
    grid-row: 1 / 4;
    padding-top: 4px;
  }
  .nm-v1.nm-consumer-page .nm-consumer-cases__item > .nm-consumer-cases__title {
    grid-column: 2;
    grid-row: 1;
    font-size: clamp(20px, 5.2vw, 23px);
  }
  .nm-v1.nm-consumer-page .nm-consumer-cases__item > .nm-consumer-cases__description {
    grid-column: 2;
    grid-row: 2;
    width: auto;
    max-width: 100%;
    line-height: 1.5;
  }
  .nm-v1.nm-consumer-page .nm-consumer-cases__item > .nm-consumer-cases__link {
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
    align-self: start;
    margin-top: 6px;
  }
}

/* ========================================================================== */
/* Case study V1 — Metal Trackpad + reusable level-3 template                 */
/* Scope: nm-v1 nm-case-study-page only. Shared hero/CTA styles unchanged.    */
/* ========================================================================== */
.nm-v1.nm-case-study-page :is(.nm-case-challenge, .nm-case-benefits, .nm-case-development) {
  box-sizing: border-box;
  padding: 96px 32px;
}
.nm-v1.nm-case-study-page .nm-case-challenge { background: var(--nm-surface, #F2F4F6); }
.nm-v1.nm-case-study-page .nm-case-benefits { background: #fff; }
.nm-v1.nm-case-study-page .nm-case-development { background: var(--nm-surface, #F2F4F6); }
.nm-v1.nm-case-study-page :is(.nm-case-challenge, .nm-case-benefits, .nm-case-development) .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 36px;
}
.nm-v1.nm-case-study-page .nm-case-challenge__text {
  max-width: 900px;
  margin: 0;
  font-family: "Source Sans 3", sans-serif;
  font-size: 20px;
  line-height: 1.7;
  color: var(--nm-muted, #536E7D);
}
.nm-v1.nm-case-study-page :is(.nm-case-benefits__grid, .nm-case-development__grid) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 24px;
  width: 100%;
  margin: 0;
}
.nm-v1.nm-case-study-page :is(.nm-case-benefits__grid, .nm-case-development__grid) > .gb-grid-column {
  box-sizing: border-box;
  width: auto !important;
  min-width: 0;
  padding: 0;
}
.nm-v1.nm-case-study-page .nm-case-benefits__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  box-sizing: border-box;
  background: var(--nm-surface, #F2F4F6);
  padding: 36px;
  min-width: 0;
}
.nm-v1.nm-case-study-page .nm-case-benefits__icon {
  width: 54px;
  height: 54px;
  margin: 0 0 24px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.nm-v1.nm-case-study-page .nm-case-benefits__icon :is(img, svg) {
  width: 48px;
  height: 48px;
  max-width: 100%;
  object-fit: contain;
}
.nm-v1.nm-case-study-page .nm-case-benefits__title,
.nm-v1.nm-case-study-page .nm-case-development__title {
  font-family: "Source Sans 3", sans-serif;
  font-size: 23px;
  line-height: 1.25;
  font-weight: 650;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 16px;
}
.nm-v1.nm-case-study-page .nm-case-benefits__text {
  font-family: "Source Sans 3", sans-serif;
  font-size: 17px;
  line-height: 1.6;
  color: var(--nm-muted, #536E7D);
  margin: 0;
}
.nm-v1.nm-case-study-page .nm-case-development__step {
  min-width: 0;
  height: 100%;
}
.nm-v1.nm-case-study-page .nm-case-development__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  margin: 0 0 20px;
  background: #e3e7e9;
}
.nm-v1.nm-case-study-page .nm-case-development__media :is(figure, .wp-block-image) {
  width: 100%;
  height: 100%;
  margin: 0;
}
.nm-v1.nm-case-study-page .nm-case-development__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nm-v1.nm-case-study-page .nm-case-development__title {
  margin: 0;
}
@media (max-width: 1024px) {
  .nm-v1.nm-case-study-page :is(.nm-case-challenge, .nm-case-benefits, .nm-case-development) { padding: 72px 24px; }
  .nm-v1.nm-case-study-page :is(.nm-case-challenge, .nm-case-benefits, .nm-case-development) .nm-section__title { font-size: 42px; }
  .nm-v1.nm-case-study-page :is(.nm-case-benefits__grid, .nm-case-development__grid) { gap: 18px; }
  .nm-v1.nm-case-study-page .nm-case-benefits__card { padding: 26px; }
}
@media (max-width: 767px) {
  .nm-v1.nm-case-study-page :is(.nm-case-challenge, .nm-case-benefits, .nm-case-development) { padding: 56px 20px; }
  .nm-v1.nm-case-study-page :is(.nm-case-challenge, .nm-case-benefits, .nm-case-development) .nm-section__title { font-size: 32px !important; margin-bottom: 28px; }
  .nm-v1.nm-case-study-page .nm-case-challenge__text { font-size: 17px; line-height: 1.65; }
  .nm-v1.nm-case-study-page :is(.nm-case-benefits__grid, .nm-case-development__grid) { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .nm-v1.nm-case-study-page .nm-case-benefits__card { padding: 26px 24px; }
  .nm-v1.nm-case-study-page .nm-case-benefits__title,
  .nm-v1.nm-case-study-page .nm-case-development__title { font-size: 21px; }
  .nm-v1.nm-case-study-page .nm-case-benefits__text { font-size: 17px; }
  .nm-v1.nm-case-study-page .nm-case-development__media { margin-bottom: 14px; }
}


/* ========================================================================== */
/* Automotive V1 — scoped reuse of Consumer electronics UI components          */
/* Retain nm-consumer-* classes within the copied Automotive page.             */
/* ========================================================================== */
/* ========================================================================== */
/* Automotive — V1.0 (reusing Consumer components) (page-scoped additions)                       */
/* The shared Hero Standard and contact CTA keep their existing styles.       */
/* ========================================================================== */
.nm-v1.nm-automotive-page :is(.nm-consumer-constraints, .nm-consumer-products, .nm-consumer-capabilities, .nm-consumer-cases) {
  box-sizing: border-box;
  padding: 96px 32px;
}
.nm-v1.nm-automotive-page :is(.nm-consumer-constraints, .nm-consumer-capabilities) {
  background: var(--nm-surface, #F2F4F6);
}
.nm-v1.nm-automotive-page :is(.nm-consumer-products, .nm-consumer-cases) {
  background: #FFFFFF;
}
.nm-v1.nm-automotive-page :is(.nm-consumer-constraints, .nm-consumer-products, .nm-consumer-capabilities, .nm-consumer-cases) .nm-section__title {
  font-family: "Source Serif 4", serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 40px;
}
.nm-v1.nm-automotive-page :is(.nm-consumer-constraints__grid, .nm-consumer-products__grid, .nm-consumer-capabilities__grid) {
  display: grid;
  gap: 24px;
  width: 100%;
  margin: 0;
  align-items: stretch;
}
.nm-v1.nm-automotive-page :is(.nm-consumer-constraints__grid, .nm-consumer-capabilities__grid) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.nm-v1.nm-automotive-page .nm-consumer-products__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.nm-v1.nm-automotive-page :is(.nm-consumer-constraints__grid, .nm-consumer-products__grid, .nm-consumer-capabilities__grid) > .gb-grid-column {
  box-sizing: border-box;
  width: auto !important;
  min-width: 0;
  padding: 0;
}
.nm-v1.nm-automotive-page :is(.nm-consumer-constraints__card, .nm-consumer-capabilities__card) {
  box-sizing: border-box;
  min-width: 0;
  height: 100%;
  padding: 36px;
  border: 1px solid rgba(15, 25, 35, 0.08);
  background: #FFFFFF;
}
.nm-v1.nm-automotive-page .nm-consumer-constraints__number {
  font-family: "IBM Plex Mono", monospace;
  color: var(--nm-primary, #0D3B6E);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  margin: 0 0 20px;
}
.nm-v1.nm-automotive-page :is(.nm-consumer-constraints__title, .nm-consumer-capabilities__title, .nm-consumer-products__title) {
  font-family: "Source Sans 3", sans-serif;
  font-size: 25px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 16px;
}
.nm-v1.nm-automotive-page :is(.nm-consumer-constraints__text, .nm-consumer-capabilities__text, .nm-consumer-products__text) {
  font-family: "Source Sans 3", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}
.nm-v1.nm-automotive-page .nm-consumer-products__card {
  box-sizing: border-box;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--nm-surface, #F2F4F6);
}
.nm-v1.nm-automotive-page .nm-consumer-products__media {
  width: 100%;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #E5E9EC;
}
.nm-v1.nm-automotive-page .nm-consumer-products__media :is(figure, .wp-block-image) {
  width: 100%;
  height: 100%;
  margin: 0;
}
.nm-v1.nm-automotive-page .nm-consumer-products__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Text is styled with inset space without requiring an extra content wrapper. */
.nm-v1.nm-automotive-page .nm-consumer-products__card > :is(.nm-consumer-products__title, .nm-consumer-products__text) {
  margin-left: 28px;
  margin-right: 28px;
}
.nm-v1.nm-automotive-page .nm-consumer-products__card > .nm-consumer-products__title {
  margin-top: 28px;
}
.nm-v1.nm-automotive-page .nm-consumer-products__card > .nm-consumer-products__text {
  margin-bottom: 30px;
}
/* If GenerateBlocks adds an inner wrapper, use this optional class on it. */
.nm-v1.nm-automotive-page .nm-consumer-products__content { padding: 28px; flex: 1; }
.nm-v1.nm-automotive-page .nm-consumer-products__content .nm-consumer-products__text { margin-bottom: 0; }
.nm-v1.nm-automotive-page .nm-consumer-capabilities__icon {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 64px;
  height: 64px;
  margin: 0 0 24px;
}
.nm-v1.nm-automotive-page .nm-consumer-capabilities__icon :is(figure, .wp-block-image) { margin: 0; }
.nm-v1.nm-automotive-page .nm-consumer-capabilities__icon img {
  display: block;
  max-width: 100%;
  max-height: 64px;
  width: auto;
  height: auto;
  object-fit: contain;
}
/* Case studies: deliberately text-led, not a second photographic product grid. */
.nm-v1.nm-automotive-page .nm-consumer-cases__intro {
  max-width: 820px;
  margin: -14px 0 36px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 19px;
  line-height: 1.65;
  color: var(--nm-steel, #546E7A);
}
.nm-v1.nm-automotive-page .nm-consumer-cases__list {
  display: flex;
  flex-direction: column;
  width: 100%;
  border-top: 1px solid #D7DEE4;
}
.nm-v1.nm-automotive-page .nm-consumer-cases__item {
  box-sizing: border-box;
  min-width: 0;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  column-gap: 24px;
  align-items: center;
  padding: 26px 8px 26px 0;
  border-bottom: 1px solid #D7DEE4;
  transition: background-color 0.2s ease;
}
.nm-v1.nm-automotive-page .nm-consumer-cases__item:has(a:hover) { background: #F7F9FA; }
.nm-v1.nm-automotive-page .nm-consumer-cases__number {
  font-family: "IBM Plex Mono", monospace;
  font-size: 14px;
  color: var(--nm-primary, #0D3B6E);
  margin: 0;
}
.nm-v1.nm-automotive-page .nm-consumer-cases__title {
  font-family: "Source Sans 3", sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.3;
  color: var(--nm-ink, #0F1923);
  margin: 0 0 5px;
}
.nm-v1.nm-automotive-page .nm-consumer-cases__description {
  font-family: "Source Sans 3", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--nm-steel, #546E7A);
  margin: 0;
}
.nm-v1.nm-automotive-page .nm-consumer-cases__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: max-content;
  font-family: "Source Sans 3", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--nm-primary, #0D3B6E);
  text-decoration: none;
}
.nm-v1.nm-automotive-page .nm-consumer-cases__link::after {
  content: "↗";
  font-size: 20px;
  line-height: 1;
  transition: transform 0.2s ease;
}
.nm-v1.nm-automotive-page .nm-consumer-cases__link:hover::after { transform: translate(2px, -2px); }
.nm-v1.nm-automotive-page .nm-consumer-cases__link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
@media (max-width: 1024px) {
  .nm-v1.nm-automotive-page :is(.nm-consumer-constraints, .nm-consumer-products, .nm-consumer-capabilities, .nm-consumer-cases) { padding: 72px 24px; }
  .nm-v1.nm-automotive-page :is(.nm-consumer-constraints, .nm-consumer-products, .nm-consumer-capabilities, .nm-consumer-cases) .nm-section__title { font-size: 42px; }
  .nm-v1.nm-automotive-page .nm-consumer-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nm-v1.nm-automotive-page :is(.nm-consumer-constraints__card, .nm-consumer-capabilities__card) { padding: 28px; }
}
@media (max-width: 767px) {
  .nm-v1.nm-automotive-page :is(.nm-consumer-constraints, .nm-consumer-products, .nm-consumer-capabilities, .nm-consumer-cases) { padding: 56px 20px; }
  .nm-v1.nm-automotive-page :is(.nm-consumer-constraints, .nm-consumer-products, .nm-consumer-capabilities, .nm-consumer-cases) .nm-section__title { font-size: 32px !important; margin-bottom: 28px; }
  .nm-v1.nm-automotive-page :is(.nm-consumer-constraints__grid, .nm-consumer-products__grid, .nm-consumer-capabilities__grid) { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .nm-v1.nm-automotive-page :is(.nm-consumer-constraints__card, .nm-consumer-capabilities__card) { padding: 24px; }
  .nm-v1.nm-automotive-page :is(.nm-consumer-constraints__title, .nm-consumer-capabilities__title, .nm-consumer-products__title) { font-size: 23px; }
  .nm-v1.nm-automotive-page :is(.nm-consumer-constraints__text, .nm-consumer-capabilities__text, .nm-consumer-products__text) { font-size: 17px; }
  .nm-v1.nm-automotive-page .nm-consumer-cases__intro { margin-top: -8px; margin-bottom: 24px; font-size: 17px; }
  .nm-v1.nm-automotive-page .nm-consumer-cases__item { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding: 22px 0; }
  .nm-v1.nm-automotive-page .nm-consumer-cases__title { font-size: 21px; }
  .nm-v1.nm-automotive-page .nm-consumer-cases__description { font-size: 15px; }
  .nm-v1.nm-automotive-page .nm-consumer-cases__link { grid-column: 2; font-size: 14px; margin-top: 8px; }
}


/* =========================================================
   Automotive — future Case studies list layout
   2026-10-11. Keep each item as four direct children:
   number, title, description, link. No GenerateBlocks changes.
   ========================================================= */
.nm-v1.nm-automotive-page .nm-consumer-cases__item {
  grid-template-columns: 52px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  row-gap: 7px;
}
.nm-v1.nm-automotive-page .nm-consumer-cases__item > .nm-consumer-cases__number {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: start;
  padding-top: 5px;
}
.nm-v1.nm-automotive-page .nm-consumer-cases__item > .nm-consumer-cases__title {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  margin: 0;
}
.nm-v1.nm-automotive-page .nm-consumer-cases__item > .nm-consumer-cases__description {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
}
.nm-v1.nm-automotive-page .nm-consumer-cases__item > .nm-consumer-cases__link {
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  max-width: 100%;
  white-space: normal;
  margin: 0;
}
@media (max-width: 767px) {
  .nm-v1.nm-automotive-page .nm-consumer-cases__item {
    grid-template-columns: 32px minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    column-gap: 14px;
    row-gap: 9px;
    align-items: start;
  }
  .nm-v1.nm-automotive-page .nm-consumer-cases__item > .nm-consumer-cases__number {
    grid-column: 1;
    grid-row: 1 / 4;
    padding-top: 4px;
  }
  .nm-v1.nm-automotive-page .nm-consumer-cases__item > .nm-consumer-cases__title {
    grid-column: 2;
    grid-row: 1;
    font-size: clamp(20px, 5.2vw, 23px);
  }
  .nm-v1.nm-automotive-page .nm-consumer-cases__item > .nm-consumer-cases__description {
    grid-column: 2;
    grid-row: 2;
    width: auto;
    max-width: 100%;
    line-height: 1.5;
  }
  .nm-v1.nm-automotive-page .nm-consumer-cases__item > .nm-consumer-cases__link {
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
    align-self: start;
    margin-top: 6px;
  }
}


/* Automotive-specific introductory paragraph under Sector constraints. */
.nm-v1.nm-automotive-page .nm-automotive-constraints__intro {
  max-width: 880px;
  margin: -12px 0 36px;
  font-family: "Source Sans 3", sans-serif;
  font-size: 19px;
  line-height: 1.65;
  color: var(--nm-steel, #546E7A);
}
@media (max-width: 767px) {
  .nm-v1.nm-automotive-page .nm-automotive-constraints__intro {
    margin: -6px 0 24px;
    font-size: 17px;
  }
}

/* HMI — correction du débordement des cartes sur mobile */
@media (max-width: 767px) {
  .nm-v1 .nm-hmi-cases,
  .nm-v1 .nm-hmi-cases .nm-container {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }

  .nm-v1 .nm-hmi-cases .nm-hmi-cases__grid {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
    grid-template-columns: minmax(0, 1fr);
  }

  .nm-v1 .nm-hmi-cases .nm-hmi-cases__grid > * {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .nm-v1 .nm-hmi-cases .nm-hmi-case-card {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
  }
}

/* Manufacturing — indication de défilement des tableaux */
.nm-v1.nm-manufacturing-page .nm-table-scroll-hint {
  display: none;
}

@media (max-width: 767px) {
  .nm-v1.nm-manufacturing-page .nm-table-scroll-hint {
    display: block;
    margin: 0 0 12px;
    font-family: "Source Sans 3", sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: #546E7A;
  }
}

/* Company — deux dirigeants centrés sur la première ligne */
@media (min-width: 1025px) {
  .nm-v1 .nm-company-team__grid--leadership {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: calc((100% - 80px) / 5 * 2 + 20px);
    margin-inline: auto;
  }

  .nm-v1 .nm-company-team__grid--leadership
  + .nm-company-team__grid {
    margin-top: 48px;
  }
}

/* Pulse — interface entre les deux premiers blocs et le troisième */
.nm-v1 .nm-advanced-pulse
.nm-pulse-features > .gb-grid-column:has(.nm-pulse-interface),
.nm-v1 .nm-advanced-pulse
.nm-pulse-features > .nm-pulse-interface {
  grid-column: 1 / -1;
}

.nm-v1 .nm-advanced-pulse .nm-pulse-interface {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin-inline: auto;
}

.nm-v1 .nm-advanced-pulse .nm-pulse-interface figure {
  width: 100%;
  max-width: none;
  margin: 0;
}

.nm-v1 .nm-advanced-pulse .nm-pulse-interface img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
/* How it works — alternance des fonds */
.nm-v1 .nm-tech-structure,
.nm-v1 .nm-tech-integration {
  background: #FFFFFF;
}

.nm-v1 .nm-tech-characteristics,
.nm-v1 .nm-tech-characteristics .nm-tech-custom,
.nm-v1 .nm-tech-capaforce {
  background: #F2F4F6;
}

/* How it works — schéma AI sur toute la largeur */
.nm-v1 .nm-tech-ai .nm-tech-ai-diagram {
  width: 100%;
  max-width: none;
  margin: 24px auto 0;
}

.nm-v1 .nm-tech-ai .nm-tech-ai-diagram img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
}
