/* ==========================================================================
   NMTEH (New Machinery) - site stylesheet on top of the SiteLab sections platform.
   Design: industrial datasheet. Graphite + steel neutrals, one signal-orange accent,
   condensed Instrument Sans headings, JetBrains Mono for figures, 3px corners everywhere.
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root {
  --nm-ink: #11181F;
  --nm-ink-2: #26313B;
  --nm-steel: #56626C;
  --nm-steel-2: #86929B;
  --nm-line: #D8DEE2;
  --nm-line-2: #E7EBEE;
  --nm-paper: #F2F4F5;
  --nm-paper-2: #E9EDEF;
  --nm-white: #FCFCFD;
  --nm-accent: #F26A21;
  --nm-accent-ink: #B4460F;
  --nm-accent-soft: #FDEEE4;
  --nm-night: #0E1419;
  --nm-night-2: #17202A;
  --nm-night-line: #2A3642;
  --nm-on-night: #EEF1F3;
  --nm-on-night-2: #A9B4BD;
  --nm-radius: 3px;
  --nm-max: 1240px;
  --nm-font: 'Instrument Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --nm-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --nm-ease: cubic-bezier(.16, 1, .3, 1);
  --nm-shadow: 0 1px 2px rgba(17, 24, 31, .06), 0 8px 24px -12px rgba(17, 24, 31, .18);
  --nm-header-h: 72px;

  --sl-primary: var(--nm-accent);
  --sl-primary-contrast: var(--nm-ink);
  --sl-bg: var(--nm-white);
  --sl-surface: var(--nm-paper);
  --sl-text: var(--nm-ink);
  --sl-muted: var(--nm-steel);
  --sl-border: var(--nm-line);
  --sl-font-heading: var(--nm-font);
  --sl-font-body: var(--nm-font);
  --sl-radius: var(--nm-radius);
  --sl-btn-radius: var(--nm-radius);
  --sl-max-w: var(--nm-max);
  --sl-section-pad: 92px;
}

/* ---------- 2. Base ---------- */
html { scroll-padding-top: calc(var(--nm-header-h) + 16px); -webkit-text-size-adjust: 100%; }
html.nm-lock { overflow: hidden; }
.sl-body {
  font-family: var(--nm-font);
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--nm-ink);
  background: var(--nm-white);
  font-feature-settings: "ss01", "cv11";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.sl-body h1, .sl-body h2, .sl-body h3, .sl-body h4 {
  font-family: var(--nm-font);
  color: var(--nm-ink);
  font-weight: 650;
  letter-spacing: -0.012em;
  text-wrap: balance;
}
.sl-body h1, .sl-body h2 { font-stretch: 80%; line-height: 1.04; }
.sl-body h3 { font-stretch: 92%; line-height: 1.2; }
.sl-body p { text-wrap: pretty; }
.sl-body a { color: var(--nm-accent-ink); text-underline-offset: .18em; text-decoration-thickness: 1px; }
.sl-body a:hover { color: var(--nm-ink); }
.sl-body :focus-visible { outline: 2px solid var(--nm-accent); outline-offset: 2px; border-radius: 2px; }
::selection { background: var(--nm-accent); color: var(--nm-ink); }
.sl-container { padding-inline: clamp(16px, 4vw, 32px); }
.sl-heading, .nm-h2, .sl-band-header h2, .sl-rich-text__heading {
  font-size: clamp(1.85rem, 1.25rem + 2vw, 2.85rem);
  font-stretch: 80%;
  font-weight: 650;
  line-height: 1.04;
  letter-spacing: -0.014em;
  margin: 0 0 .55em;
  color: var(--nm-ink);
}
.sl-subheading { color: var(--nm-steel); font-size: 1.08rem; max-width: 62ch; margin: 0 0 2.2rem; }
.nm-mono { font-family: var(--nm-mono); font-size: .92em; letter-spacing: -.01em; }
.nm-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nm-skip { position: absolute; left: 12px; top: -48px; z-index: 1000; background: var(--nm-ink); color: #fff !important; padding: 10px 16px; border-radius: var(--nm-radius); text-decoration: none; }
.nm-skip:focus { top: 12px; }
main:focus { outline: none; }
/* No eyebrow labels above headings anywhere on the site (house rule): platform sections print them, so hide them */
.sl-eyebrow, .sl-hero__overline, .sl-feature__overline { display: none !important; }

/* ---------- 3. Buttons ---------- */
.sl-body .sl-btn, .sl-body .nm-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .55em;
  min-height: 46px; padding: 11px 22px;
  font-family: var(--nm-font); font-size: .98rem; font-weight: 600; line-height: 1.1; letter-spacing: .005em;
  border: 1px solid transparent; border-radius: var(--nm-radius);
  text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: background-color .2s var(--nm-ease), color .2s var(--nm-ease), border-color .2s var(--nm-ease), transform .12s var(--nm-ease);
}
.sl-body .sl-btn:active, .sl-body .nm-btn:active { transform: translateY(1px); }
.sl-body a.sl-btn.sl-btn--primary, .sl-body .sl-btn.sl-btn--primary, .sl-body .nm-btn--primary, .sl-body a.nm-btn--primary {
  background: var(--nm-accent); color: var(--nm-ink); border-color: var(--nm-accent); filter: none;
}
.sl-body a.sl-btn.sl-btn--primary:hover, .sl-body .sl-btn.sl-btn--primary:hover, .sl-body .nm-btn--primary:hover, .sl-body a.nm-btn--primary:hover {
  background: var(--nm-ink); color: var(--nm-white); border-color: var(--nm-ink); filter: none;
}
.sl-body a.sl-btn.sl-btn--ghost, .sl-body .sl-btn.sl-btn--ghost, .sl-body .nm-btn--ghost, .sl-body a.nm-btn--ghost {
  background: transparent; color: var(--nm-ink); border-color: var(--nm-ink-2);
}
.sl-body a.sl-btn.sl-btn--ghost:hover, .sl-body .sl-btn.sl-btn--ghost:hover, .sl-body .nm-btn--ghost:hover, .sl-body a.nm-btn--ghost:hover {
  background: var(--nm-ink); color: var(--nm-white); border-color: var(--nm-ink);
}
.sl-body .nm-btn--lg { min-height: 52px; padding: 14px 26px; font-size: 1.02rem; }
.sl-body .nm-btn--sm { min-height: 38px; padding: 8px 14px; font-size: .9rem; }
.sl-body .nm-btn--block { width: 100%; }
.sl-body .nm-btn--quote {
  width: 100%; min-height: 42px; padding: 9px 14px; font-size: .92rem;
  background: transparent; color: var(--nm-ink); border-color: var(--nm-ink-2);
}
.sl-body .nm-btn--quote:hover { background: var(--nm-accent); color: var(--nm-ink); border-color: var(--nm-accent); }
.nm-card:hover .nm-btn--quote { background: var(--nm-ink); color: var(--nm-white); border-color: var(--nm-ink); }
.sl-body .nm-card .nm-btn--quote:hover { background: var(--nm-accent); color: var(--nm-ink); border-color: var(--nm-accent); }
.sl-body .sl-btn i[class*="bi"], .sl-body .nm-btn i { font-size: 1.05em; line-height: 1; }
.sl-body .nm-link-arrow, .sl-body .sl-band-cta-row a.sl-band-cta {
  display: inline-flex; align-items: center; gap: .45em; background: none;
  font-weight: 600; color: var(--nm-ink); text-decoration: none;
  border: 0; border-bottom: 1px solid var(--nm-accent); border-radius: 0; padding: 0 0 2px;
}
.sl-body .nm-link-arrow:hover, .sl-body .sl-band-cta-row a.sl-band-cta:hover { color: var(--nm-accent-ink); background: none; }
.sl-body .sl-band-cta-row { text-align: left; }
.sl-body .sl-band-cta-row a.sl-band-cta::after { content: "\2192"; font-weight: 400; }

/* ---------- 4. Header ---------- */
.sl-header.nm-header {
  position: sticky; top: 0; z-index: 60;
  background: rgba(252, 252, 253, .94);
  -webkit-backdrop-filter: saturate(160%) blur(10px); backdrop-filter: saturate(160%) blur(10px);
  border-bottom: 1px solid var(--nm-line);
  padding-block: 0;
  transition: box-shadow .25s var(--nm-ease);
}
html.nm-scrolled .sl-header.nm-header { box-shadow: 0 6px 24px -18px rgba(17, 24, 31, .45); }
.nm-header .sl-header__inner { min-height: var(--nm-header-h); gap: clamp(12px, 2vw, 28px); }
.nm-header .sl-header__brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--nm-ink); flex: none; }
.nm-brand__mark { width: 44px; height: auto; display: block; }
.nm-brand__word { display: flex; flex-direction: column; line-height: 1; }
.nm-brand__name { font-weight: 700; font-stretch: 85%; font-size: 1.32rem; letter-spacing: .04em; color: var(--nm-ink); }
.nm-brand__tag { font-family: var(--nm-mono); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--nm-steel); margin-top: 5px; }
.nm-header .sl-header__nav { gap: 2px; }
.nm-header .sl-header__nav a {
  position: relative; padding: 9px 12px; border-radius: var(--nm-radius);
  font-size: .97rem; font-weight: 550; color: var(--nm-ink-2); background: none;
}
.nm-header .sl-header__nav a::after {
  content: ""; position: absolute; left: 12px; right: 12px; bottom: 3px; height: 2px;
  background: var(--nm-accent); transform: scaleX(0); transform-origin: left; transition: transform .25s var(--nm-ease);
}
.nm-header .sl-header__nav a:hover { color: var(--nm-ink); background: none; }
.nm-header .sl-header__nav a:hover::after, .nm-header .sl-header__nav a.is-active::after, .nm-header .sl-header__nav a[aria-current="page"]::after { transform: scaleX(1); }
.nm-header .sl-header__nav a.is-active, .nm-header .sl-header__nav a[aria-current="page"] { color: var(--nm-ink); }
.nm-header .sl-header__actions { display: flex; align-items: center; gap: 10px; }
.nm-header .sl-header__tel {
  font-family: var(--nm-mono); font-size: .86rem; font-weight: 500; letter-spacing: -.01em;
  color: var(--nm-ink-2); text-decoration: none; white-space: nowrap; padding: 6px 4px;
}
.nm-header .sl-header__tel:hover { color: var(--nm-accent-ink); }
.nm-header .sl-header__cta.sl-btn { min-height: 42px; padding: 9px 16px; font-size: .93rem; }
.nm-header .sl-lang > summary {
  list-style: none; cursor: pointer; font-family: var(--nm-mono); font-size: .82rem; font-weight: 600;
  padding: 8px 10px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); color: var(--nm-ink-2);
}
.nm-header .sl-lang > summary::-webkit-details-marker { display: none; }
.nm-header .sl-lang > summary::after { content: "\25BE"; margin-left: 6px; color: var(--nm-steel); }
.nm-header .sl-lang__menu {
  background: var(--nm-white); border: 1px solid var(--nm-line); border-radius: var(--nm-radius);
  box-shadow: var(--nm-shadow); padding: 6px; min-width: 150px;
}
.nm-header .sl-lang__menu a { display: block; padding: 8px 10px; border-radius: 2px; color: var(--nm-ink); text-decoration: none; font-size: .95rem; }
.nm-header .sl-lang__menu a:hover { background: var(--nm-paper); }
.nm-header .sl-lang__menu a.is-current { font-weight: 650; }

/* ---------- 5. Sections: shared rhythm ---------- */
.sl-section { padding-block: var(--sl-section-pad); }
.sl-section + .sl-section { border-top: 0; }
.nm-supply, .nm-process, .nm-partners--home, .nm-partners--about, .nm-offer, .nm-news, .nm-richsplit, .nm-company--about { background: var(--nm-white); }
.nm-stats, .nm-feature-line, .nm-benefits, .nm-services, .nm-faq, .nm-products--catalog, .nm-soro { background: var(--nm-paper); }
.nm-products--home, .nm-products--export, .nm-products--related { background: var(--nm-white); }

/* ---------- 6. Hero ---------- */
.sl-section--hero.nm-hero { padding-block: 0; background: var(--nm-paper); border-bottom: 1px solid var(--nm-line); overflow: hidden; }
.nm-hero .sl-hero { min-height: 0; padding-block: clamp(40px, 6vw, 88px) clamp(48px, 7vw, 96px); }
.nm-hero .sl-hero--split .sl-hero__inner { grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.nm-hero .sl-hero__content { max-width: 640px; }
.nm-hero .sl-hero__heading {
  font-size: clamp(2.5rem, 1.4rem + 3.6vw, 4.25rem);
  font-stretch: 76%; font-weight: 650; line-height: .98; letter-spacing: -0.018em;
  margin: 0 0 24px; color: var(--nm-ink);
}
.nm-hero .sl-hero__subheading { font-size: clamp(1.05rem, .98rem + .3vw, 1.22rem); line-height: 1.55; color: var(--nm-ink-2); max-width: 46ch; margin: 0 0 34px; }
.nm-hero .sl-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.nm-hero .sl-hero__actions .sl-btn { min-height: 52px; padding: 14px 24px; font-size: 1.02rem; }
.nm-hero .sl-hero__media { position: relative; }
.nm-hero .sl-hero__media img {
  width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--nm-radius);
  box-shadow: 0 30px 60px -36px rgba(17, 24, 31, .55);
}
.nm-hero .sl-hero__media::after {
  content: ""; position: absolute; left: -14px; bottom: -14px; width: 38%; height: 38%;
  border-left: 2px solid var(--nm-accent); border-bottom: 2px solid var(--nm-accent); pointer-events: none;
}


/* ---------- 6b. Hero with photo slider (sections/nm-hero) ---------- */
.sl-section--nm-hero.nm-hero { padding-block: 0; background: var(--nm-paper); border-bottom: 1px solid var(--nm-line); overflow: hidden; }
.nm-herox { padding-block: clamp(40px, 6vw, 88px) clamp(48px, 7vw, 96px); }
.nm-herox__inner { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.nm-herox__content { max-width: 640px; }
.sl-body .nm-herox__title { font-size: clamp(2.5rem, 1.4rem + 3.6vw, 4.25rem); font-stretch: 76%; font-weight: 650; line-height: .98; letter-spacing: -0.018em; margin: 0 0 24px; color: var(--nm-ink); }
.nm-herox__lead { font-size: clamp(1.05rem, .98rem + .3vw, 1.22rem); line-height: 1.55; color: var(--nm-ink-2); max-width: 46ch; margin: 0 0 34px; }
.nm-herox__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.sl-body .nm-herox__actions .sl-btn { min-height: 52px; padding: 14px 24px; font-size: 1.02rem; }
.nm-herox__media { position: relative; }
.nm-herox__media::after { content: ""; position: absolute; left: -14px; bottom: 28px; width: 38%; height: 38%; border-left: 2px solid var(--nm-accent); border-bottom: 2px solid var(--nm-accent); pointer-events: none; }
.nm-herox__frame { position: relative; aspect-ratio: 16 / 10; border-radius: var(--nm-radius); overflow: hidden; background: var(--nm-paper-2); box-shadow: 0 30px 60px -36px rgba(17, 24, 31, .55); touch-action: pan-y; -webkit-user-select: none; user-select: none; }
.nm-herox__frame.is-live { cursor: grab; }
.nm-herox__frame.is-dragging { cursor: grabbing; }
.nm-herox__track { display: flex; height: 100%; transition: transform .8s var(--nm-ease); will-change: transform; }
.nm-herox__track.no-anim, .nm-herox__frame.is-dragging .nm-herox__track { transition: none; }
.nm-herox__slide { position: relative; flex: 0 0 100%; height: 100%; margin: 0; }
.nm-herox__slide img { width: 100%; height: 100%; object-fit: cover; display: block; -webkit-user-drag: none; }
.nm-herox__controls { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-top: 14px; min-height: 28px; }
.nm-herox__dots { display: flex; gap: 6px; }
.nm-herox__dot { width: 26px; height: 4px; padding: 0; border: 0; border-radius: 2px; background: var(--nm-line); cursor: pointer; transition: background-color .25s, width .25s var(--nm-ease); }
.nm-herox__dot:hover { background: var(--nm-steel-2); }
.nm-herox__dot.is-active { width: 40px; background: var(--nm-accent); }
@media (prefers-reduced-motion: no-preference) {
  .nm-herox__content > * { animation: nm-rise .9s var(--nm-ease) both; }
  .nm-herox__content > *:nth-child(2) { animation-delay: .05s; }
  .nm-herox__content > *:nth-child(3) { animation-delay: .1s; }
  .nm-herox__content > *:nth-child(4) { animation-delay: .15s; }
}
@media (max-width: 900px) {
  .nm-herox { padding-block: 32px 44px; }
  .nm-herox__inner { grid-template-columns: minmax(0, 1fr); }
  .nm-herox__media::after { display: none; }
  .nm-herox__frame { aspect-ratio: 16 / 10; }
}
/* Phones: the two hero buttons side by side on one line (narrower letters, less padding, no arrow) */
@media (max-width: 600px) {
  .nm-herox__actions { gap: 8px; }
  .sl-body .nm-herox__actions .sl-btn { flex: 1 1 auto; justify-content: center; min-height: 48px; padding: 12px; font-size: .94rem; font-stretch: 88%; white-space: nowrap; }
  .nm-herox__actions .sl-btn .bi { display: none; }
}

/* ---------- 7. Stats ---------- */
.nm-stats { padding-block: clamp(40px, 5vw, 64px); border-bottom: 1px solid var(--nm-line); }
.nm-stats .sl-stats { display: grid; gap: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nm-stats--plain .sl-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nm-stats .sl-stat { padding: 6px clamp(14px, 2vw, 28px) 6px; border-left: 1px solid var(--nm-line); }
.nm-stats .sl-stat:first-child { border-left: 0; padding-left: 0; }
.nm-stats .sl-stat__value {
  font-family: var(--nm-font); font-stretch: 75%; font-weight: 650;
  font-size: clamp(2.1rem, 1.4rem + 2.3vw, 3.3rem); line-height: 1; letter-spacing: -.01em; color: var(--nm-ink);
  margin-bottom: 12px;
}
.nm-stats .sl-stat__label { color: var(--nm-steel); font-size: .95rem; line-height: 1.45; max-width: 28ch; text-transform: none; letter-spacing: 0; opacity: 1; margin-top: 0; }

/* ---------- 8. Supply index (feature-grid as a bordered datasheet index) ---------- */
.nm-supply .sl-heading { max-width: 18ch; }
.nm-supply .sl-features {
  display: grid; gap: 0; grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--nm-line); border-left: 1px solid var(--nm-line);
}
.nm-supply .sl-card.sl-feature {
  position: relative; display: grid; grid-template-columns: 44px 1fr; column-gap: 16px; align-content: start;
  padding: 24px 26px 26px; background: var(--nm-white); border: 0;
  border-right: 1px solid var(--nm-line); border-bottom: 1px solid var(--nm-line); border-radius: 0; box-shadow: none;
  color: var(--nm-ink); text-decoration: none; transition: background-color .2s var(--nm-ease);
}
.nm-supply .sl-feature__icon {
  grid-row: span 2; width: 44px; height: 44px; margin: 0; border-radius: var(--nm-radius);
  background: var(--nm-paper); color: var(--nm-ink); font-size: 1.25rem; border: 1px solid var(--nm-line);
  transition: background-color .2s var(--nm-ease), color .2s var(--nm-ease), border-color .2s var(--nm-ease);
}
.nm-supply .sl-feature h3 { padding-right: 22px; font-size: 1.08rem; font-stretch: 94%; font-weight: 620; margin: 2px 0 6px; color: var(--nm-ink); }
.nm-supply .sl-feature p { font-size: .93rem; line-height: 1.5; color: var(--nm-steel); }
.nm-supply a.sl-feature--link::after {
  content: "\2197"; position: absolute; top: 18px; right: 20px; font-size: 1rem; color: var(--nm-steel-2);
  transition: transform .25s var(--nm-ease), color .2s;
}
.nm-supply a.sl-feature--link:hover { background: var(--nm-paper); }
.nm-supply a.sl-feature--link:hover .sl-feature__icon { background: var(--nm-accent); border-color: var(--nm-accent); color: var(--nm-ink); }
.nm-supply a.sl-feature--link:hover::after { transform: translate(2px, -2px); color: var(--nm-accent-ink); }
/* ---------- supply icons (Material Design Icons, @mdi/svg 7.4.47, Apache 2.0) ---------- */
.sl-feature__icon i[class*="bi-nmi-"] { display: inline-block; width: 1.2em; height: 1.2em; background-color: currentColor; -webkit-mask: var(--nmi) center / contain no-repeat; mask: var(--nmi) center / contain no-repeat; }
.sl-feature__icon i[class*="bi-nmi-"]::before { content: none; }
.bi-nmi-pot-steam { --nmi: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M19%2019C19%2020.11%2018.11%2021%2017%2021H7C5.9%2021%205%2020.11%205%2019V12H3V10H21V12H19M8%201.5C6.15%201.5%204.65%203%204.65%204.85C4.65%206.7%206.15%208.2%208%208.2H9.53C9.92%208.2%2010.29%208.3%2010.61%208.5H12.63C12.05%207.45%2010.86%206.75%209.53%206.75H8C7%206.75%206.15%205.77%206.15%204.75C6.15%203.73%207%203%208%203M12.85%202C12.85%203%2012%203.85%2011%203.85V5.35C12.92%205.35%2014.5%206.7%2014.89%208.5H16.42C16.12%206.67%2014.96%205.15%2013.35%204.38C13.97%203.77%2014.35%202.93%2014.35%202Z%22%2F%3E%3C%2Fsvg%3E"); }
.bi-nmi-fish { --nmi: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%2C20L12.76%2C17C9.5%2C16.79%206.59%2C15.4%205.75%2C13.58C5.66%2C14.06%205.53%2C14.5%205.33%2C14.83C4.67%2C16%203.33%2C16%202%2C16C3.1%2C16%203.5%2C14.43%203.5%2C12.5C3.5%2C10.57%203.1%2C9%202%2C9C3.33%2C9%204.67%2C9%205.33%2C10.17C5.53%2C10.5%205.66%2C10.94%205.75%2C11.42C6.4%2C10%208.32%2C8.85%2010.66%2C8.32L9%2C5C11%2C5%2013%2C5%2014.33%2C5.67C15.46%2C6.23%2016.11%2C7.27%2016.69%2C8.38C19.61%2C9.08%2022%2C10.66%2022%2C12.5C22%2C14.38%2019.5%2C16%2016.5%2C16.66C15.67%2C17.76%2014.86%2C18.78%2014.17%2C19.33C13.33%2C20%2012.67%2C20%2012%2C20M17%2C11A1%2C1%200%200%2C0%2016%2C12A1%2C1%200%200%2C0%2017%2C13A1%2C1%200%200%2C0%2018%2C12A1%2C1%200%200%2C0%2017%2C11Z%22%2F%3E%3C%2Fsvg%3E"); }
.bi-nmi-transfer-right { --nmi: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M3%2C8H5V16H3V8M7%2C8H9V16H7V8M11%2C8H13V16H11V8M15%2C19.25V4.75L22.25%2C12L15%2C19.25Z%22%2F%3E%3C%2Fsvg%3E"); }
.bi-nmi-package-variant-closed { --nmi: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M21%2C16.5C21%2C16.88%2020.79%2C17.21%2020.47%2C17.38L12.57%2C21.82C12.41%2C21.94%2012.21%2C22%2012%2C22C11.79%2C22%2011.59%2C21.94%2011.43%2C21.82L3.53%2C17.38C3.21%2C17.21%203%2C16.88%203%2C16.5V7.5C3%2C7.12%203.21%2C6.79%203.53%2C6.62L11.43%2C2.18C11.59%2C2.06%2011.79%2C2%2012%2C2C12.21%2C2%2012.41%2C2.06%2012.57%2C2.18L20.47%2C6.62C20.79%2C6.79%2021%2C7.12%2021%2C7.5V16.5M12%2C4.15L10.11%2C5.22L16%2C8.61L17.96%2C7.5L12%2C4.15M6.04%2C7.5L12%2C10.85L13.96%2C9.75L8.08%2C6.35L6.04%2C7.5M5%2C15.91L11%2C19.29V12.58L5%2C9.21V15.91M19%2C15.91V9.21L13%2C12.58V19.29L19%2C15.91Z%22%2F%3E%3C%2Fsvg%3E"); }
.bi-nmi-robot-industrial { --nmi: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M18.41%2C4L16%2C6.41V6.59L18.41%2C9H22V11H17.59L16%2C9.41V12H15A2%2C2%200%200%2C1%2013%2C10V7.5H9.86C9.77%2C7.87%209.62%2C8.22%209.42%2C8.55L15.18%2C19H20A2%2C2%200%200%2C1%2022%2C21V22H2V21A2%2C2%200%200%2C1%204%2C19H10.61L5.92%2C10.5C4.12%2C10.47%202.56%2C9.24%202.11%2C7.5C1.56%2C5.36%202.85%2C3.18%205%2C2.63C7.13%2C2.08%209.31%2C3.36%209.86%2C5.5H13V3A2%2C2%200%200%2C1%2015%2C1H16V3.59L17.59%2C2H22V4H18.41M6%2C4.5A2%2C2%200%200%2C0%204%2C6.5A2%2C2%200%200%2C0%206%2C8.5A2%2C2%200%200%2C0%208%2C6.5A2%2C2%200%200%2C0%206%2C4.5Z%22%2F%3E%3C%2Fsvg%3E"); }
.bi-nmi-warehouse { --nmi: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M6%2019H8V21H6V19M12%203L2%208V21H4V13H20V21H22V8L12%203M8%2011H4V9H8V11M14%2011H10V9H14V11M20%2011H16V9H20V11M6%2015H8V17H6V15M10%2015H12V17H10V15M10%2019H12V21H10V19M14%2019H16V21H14V19Z%22%2F%3E%3C%2Fsvg%3E"); }
.bi-nmi-scale { --nmi: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M8.46%2C15.06L7.05%2C16.47L5.68%2C15.1C4.82%2C16.21%204.24%2C17.54%204.06%2C19H6V21H2V20C2%2C15.16%205.44%2C11.13%2010%2C10.2V8.2L2%2C5V3H22V5L14%2C8.2V10.2C18.56%2C11.13%2022%2C15.16%2022%2C20V21H18V19H19.94C19.76%2C17.54%2019.18%2C16.21%2018.32%2C15.1L16.95%2C16.47L15.54%2C15.06L16.91%2C13.68C15.8%2C12.82%2014.46%2C12.24%2013%2C12.06V14H11V12.06C9.54%2C12.24%208.2%2C12.82%207.09%2C13.68L8.46%2C15.06M12%2C18A2%2C2%200%200%2C1%2014%2C20A2%2C2%200%200%2C1%2012%2C22C11.68%2C22%2011.38%2C21.93%2011.12%2C21.79L7.27%2C20L11.12%2C18.21C11.38%2C18.07%2011.68%2C18%2012%2C18Z%22%2F%3E%3C%2Fsvg%3E"); }
.bi-nmi-package-variant { --nmi: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M2%2C10.96C1.5%2C10.68%201.35%2C10.07%201.63%2C9.59L3.13%2C7C3.24%2C6.8%203.41%2C6.66%203.6%2C6.58L11.43%2C2.18C11.59%2C2.06%2011.79%2C2%2012%2C2C12.21%2C2%2012.41%2C2.06%2012.57%2C2.18L20.47%2C6.62C20.66%2C6.72%2020.82%2C6.88%2020.91%2C7.08L22.36%2C9.6C22.64%2C10.08%2022.47%2C10.69%2022%2C10.96L21%2C11.54V16.5C21%2C16.88%2020.79%2C17.21%2020.47%2C17.38L12.57%2C21.82C12.41%2C21.94%2012.21%2C22%2012%2C22C11.79%2C22%2011.59%2C21.94%2011.43%2C21.82L3.53%2C17.38C3.21%2C17.21%203%2C16.88%203%2C16.5V10.96C2.7%2C11.13%202.32%2C11.14%202%2C10.96M12%2C4.15V4.15L12%2C10.85V10.85L17.96%2C7.5L12%2C4.15M5%2C15.91L11%2C19.29V12.58L5%2C9.21V15.91M19%2C15.91V12.69L14%2C15.59C13.67%2C15.77%2013.3%2C15.76%2013%2C15.6V19.29L19%2C15.91M13.85%2C13.36L20.13%2C9.73L19.55%2C8.72L13.27%2C12.35L13.85%2C13.36Z%22%2F%3E%3C%2Fsvg%3E"); }
.bi-nmi-rotate-360 { --nmi: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%207C6.5%207%202%209.2%202%2012C2%2014.2%204.9%2016.1%209%2016.8V20L13%2016L9%2012V14.7C5.8%2014.1%204%2012.8%204%2012C4%2010.9%207%209%2012%209S20%2010.9%2020%2012C20%2012.7%2018.5%2013.9%2016%2014.5V16.6C19.5%2015.8%2022%2014.1%2022%2012C22%209.2%2017.5%207%2012%207Z%22%2F%3E%3C%2Fsvg%3E"); }
.bi-nmi-forklift { --nmi: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M6%2C4V11H4C2.89%2C11%202%2C11.89%202%2C13V17A3%2C3%200%200%2C0%205%2C20A3%2C3%200%200%2C0%208%2C17H10A3%2C3%200%200%2C0%2013%2C20A3%2C3%200%200%2C0%2016%2C17V13L12%2C4H6M17%2C5V19H22V17.5H18.5V5H17M7.5%2C5.5H11.2L14.5%2C13H7.5V5.5M5%2C15.5A1.5%2C1.5%200%200%2C1%206.5%2C17A1.5%2C1.5%200%200%2C1%205%2C18.5A1.5%2C1.5%200%200%2C1%203.5%2C17A1.5%2C1.5%200%200%2C1%205%2C15.5M13%2C15.5A1.5%2C1.5%200%200%2C1%2014.5%2C17A1.5%2C1.5%200%200%2C1%2013%2C18.5A1.5%2C1.5%200%200%2C1%2011.5%2C17A1.5%2C1.5%200%200%2C1%2013%2C15.5Z%22%2F%3E%3C%2Fsvg%3E"); }
.bi-nmi-pot-mix { --nmi: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M14.6%209L18%203.1L19.7%204.1L16.9%209H14.6M14%2010H3V12H5V19C5%2020.1%205.9%2021%207%2021H17C18.1%2021%2019%2020.1%2019%2019V12H21V10H14Z%22%2F%3E%3C%2Fsvg%3E"); }
.bi-nmi-shoe-formal { --nmi: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M21.5%2C9V8H20.5L19.5%2C9H15L14%2C8H13L7%2C12H4A2%2C2%200%200%2C0%202%2C14V16H10L13%2C15H15V16H21.5V14C21.5%2C14%2022%2C13%2022%2C11.5C22%2C10%2021.5%2C9%2021.5%2C9Z%22%2F%3E%3C%2Fsvg%3E"); }
.nm-supply--catalog { border-top: 1px solid var(--nm-line); }

/* ---------- 9. Featured line (image-with-text) ---------- */
.nm-feature-line .sl-media-text { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.nm-feature-line .sl-media-text__media img { aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--nm-radius); }
.nm-feature-line .sl-media-text__body { display: flex; flex-direction: column; align-items: flex-start; }
.nm-feature-line .sl-heading { font-size: clamp(1.7rem, 1.2rem + 1.7vw, 2.5rem); }
.nm-feature-line .sl-media-text__body > p { color: var(--nm-ink-2); max-width: 54ch; }
.nm-feature-line .sl-media-text__body ul { list-style: none; padding: 0; margin: 6px 0 26px; display: grid; gap: 10px; }
.nm-feature-line .sl-media-text__body li { position: relative; padding-left: 26px; color: var(--nm-ink-2); }
.nm-feature-line .sl-media-text__body li::before { content: ""; position: absolute; left: 0; top: .62em; width: 12px; height: 2px; background: var(--nm-accent); }

/* ---------- 10. Equipment grid + cards + filters ---------- */
.nm-products__head { margin-bottom: 30px; max-width: 760px; }
.nm-products__head .nm-h2 { margin-bottom: .35em; }
.nm-products__intro { color: var(--nm-steel); margin: 0; }
.nm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.nm-card {
  display: flex; flex-direction: column; background: var(--nm-white);
  border: 1px solid var(--nm-line); border-radius: var(--nm-radius); overflow: hidden;
  transition: border-color .25s var(--nm-ease), box-shadow .25s var(--nm-ease), transform .25s var(--nm-ease);
}
.nm-card:hover { border-color: var(--nm-steel-2); box-shadow: var(--nm-shadow); transform: translateY(-2px); }
.nm-card[hidden] { display: none; }
.nm-card__media { display: block; aspect-ratio: 4 / 3; background: var(--nm-paper); border-bottom: 1px solid var(--nm-line-2); overflow: hidden; }
.nm-card__media img { width: 100%; height: 100%; object-fit: contain; padding: 10px; transition: transform .5s var(--nm-ease); }
.nm-card:hover .nm-card__media img { transform: scale(1.03); }
.nm-card__body { display: flex; flex-direction: column; flex: 1; padding: 18px 20px 20px; gap: 10px; }
.nm-card__title { margin: 0; font-size: 1.16rem; font-stretch: 90%; font-weight: 640; line-height: 1.22; }
.sl-body .nm-card__title a { color: var(--nm-ink); text-decoration: none; }
.sl-body .nm-card__title a::after { content: ""; position: absolute; inset: 0; }
.nm-card__body { position: relative; }
.sl-body .nm-card__title a:hover { color: var(--nm-accent-ink); }
.nm-card__specs { margin: 2px 0 4px; display: grid; gap: 6px; }
.nm-card__specs > div { display: flex; justify-content: space-between; gap: 12px; font-size: .88rem; padding-top: 6px; border-top: 1px dashed var(--nm-line); }
.nm-card__specs dt { color: var(--nm-steel); }
.nm-card__specs dd { margin: 0; font-family: var(--nm-mono); font-size: .84rem; font-weight: 500; color: var(--nm-ink); text-align: right; }
.nm-card__foot { margin-top: auto; display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding-top: 14px; }
.nm-card__price { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; line-height: 1.2; }
.nm-price { font-family: var(--nm-mono); font-size: 1.08rem; font-weight: 600; color: var(--nm-ink); letter-spacing: -.02em; }
.nm-price__was { font-family: var(--nm-mono); font-size: .84rem; color: var(--nm-steel); }
.nm-price__vat { font-size: .78rem; color: var(--nm-steel); }
.nm-price__ask { font-size: .9rem; font-weight: 600; color: var(--nm-ink-2); }
.nm-card__foot .nm-btn--quote { position: relative; z-index: 2; }
.nm-products__more { margin: 34px 0 0; }

.nm-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 320px); gap: 14px 24px; align-items: center; margin: 0 0 30px; }
.nm-filters__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.nm-chip {
  display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px;
  font-family: var(--nm-font); font-size: .93rem; font-weight: 550; color: var(--nm-ink-2);
  background: var(--nm-white); border: 1px solid var(--nm-line); border-radius: var(--nm-radius); cursor: pointer;
  transition: background-color .2s, border-color .2s, color .2s;
}
.nm-chip span { font-family: var(--nm-mono); font-size: .76rem; color: var(--nm-steel); }
.nm-chip:hover { border-color: var(--nm-ink-2); color: var(--nm-ink); }
.nm-chip.is-active { background: var(--nm-ink); border-color: var(--nm-ink); color: var(--nm-white); }
.nm-chip.is-active span { color: var(--nm-accent); }
.nm-search { position: relative; display: block; }
.nm-search i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--nm-steel); }
.nm-search input {
  width: 100%; min-height: 44px; padding: 10px 14px 10px 40px; font: inherit; font-size: .95rem; color: var(--nm-ink);
  background: var(--nm-white); border: 1px solid var(--nm-line); border-radius: var(--nm-radius);
}
.nm-search input:focus { outline: 2px solid var(--nm-accent); outline-offset: 0; border-color: var(--nm-accent); }
.nm-filters__count { grid-column: 1 / -1; margin: 0; font-family: var(--nm-mono); font-size: .8rem; color: var(--nm-steel); min-height: 1em; }
.nm-groups { display: grid; gap: 56px; }
.nm-group[hidden] { display: none; }
.nm-group__head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 18px; padding-bottom: 12px; border-bottom: 2px solid var(--nm-ink); }
.nm-group__title { margin: 0; font-size: clamp(1.35rem, 1.1rem + .8vw, 1.75rem); font-stretch: 82%; }
.nm-group__count { font-family: var(--nm-mono); font-size: .8rem; color: var(--nm-steel); }
.nm-empty { margin-top: 24px; padding: 28px; background: var(--nm-white); border: 1px dashed var(--nm-steel-2); border-radius: var(--nm-radius); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.nm-empty[hidden] { display: none; }
.nm-empty p { margin: 0; max-width: 60ch; color: var(--nm-ink-2); }

/* ---------- 11. Process steps ---------- */
.nm-process .sl-band-header { text-align: left; margin-bottom: 40px; }
.nm-process .sl-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; counter-reset: none; }
.nm-process .sl-step { position: relative; text-align: left; padding: 22px 26px 6px 0; border-top: 2px solid var(--nm-ink); }
.nm-process .sl-step + .sl-step { padding-left: 26px; border-left: 1px solid var(--nm-line); }
.nm-process .sl-step::before { content: ""; position: absolute; top: -2px; left: 0; width: 46px; height: 2px; background: var(--nm-accent); }
.nm-process .sl-step + .sl-step::before { left: 26px; }
.nm-process .sl-step__number { display: none; }
.nm-process .sl-step h3 { font-size: 1.22rem; margin: 0 0 8px; }
.nm-process .sl-step p { color: var(--nm-steel); font-size: .97rem; margin: 0; }

/* ---------- 12. Benefits (2-column technical list) ---------- */
.nm-benefits .sl-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(28px, 4vw, 64px); }
.nm-benefits .sl-card.sl-feature {
  display: grid; grid-template-columns: 40px 1fr; column-gap: 16px;
  padding: 22px 0; background: none; border: 0; border-top: 1px solid var(--nm-line); border-radius: 0; box-shadow: none;
}
.nm-benefits .sl-feature__icon { grid-row: span 2; width: 40px; height: 40px; margin: 0; border-radius: var(--nm-radius); background: var(--nm-white); border: 1px solid var(--nm-line); color: var(--nm-accent-ink); font-size: 1.1rem; }
.nm-benefits .sl-feature h3 { font-size: 1.1rem; margin: 0 0 4px; }
.nm-benefits .sl-feature p { color: var(--nm-ink-2); font-size: .96rem; line-height: 1.55; }

/* ---------- 13. Rich text: split + article ---------- */
.nm-cost, .nm-richsplit { background: var(--nm-white); }
.nm-cost .sl-rich-text, .nm-richsplit .sl-rich-text, .nm-article .sl-rich-text { padding-inline: 0; }
.sl-rich-text--split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: 16px clamp(28px, 5vw, 80px); align-items: start; }
.sl-rich-text--split .sl-rich-text__head { position: sticky; top: calc(var(--nm-header-h) + 24px); }
.sl-rich-text--split .sl-band-cta-row { grid-column: 2; margin: 8px 0 0; }
.sl-rich-text__body { color: var(--nm-ink-2); font-size: 1.06rem; }
.sl-rich-text__body p { margin: 0 0 1.05em; }
.sl-rich-text__body strong { color: var(--nm-ink); font-weight: 650; }
.nm-cost .sl-rich-text__body { border-left: 2px solid var(--nm-accent); padding-left: clamp(18px, 2.5vw, 32px); }
.nm-article .sl-rich-text { max-width: 760px; }
.nm-article .sl-rich-text__body h2 { font-size: clamp(1.4rem, 1.15rem + .8vw, 1.85rem); margin: 1.6em 0 .5em; }
.nm-article .sl-rich-text__body h2:first-child { margin-top: 0; }
.nm-article .sl-rich-text__body a { color: var(--nm-accent-ink); }

/* ---------- 14. Partners + EU funding ---------- */
.nm-partners__head { margin-bottom: 30px; }
.nm-partners__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.nm-partner { background: var(--nm-paper); border: 1px solid var(--nm-line); border-radius: var(--nm-radius); padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.nm-partner--cert { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(140px, 230px) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); align-items: center; background: var(--nm-white); padding: clamp(22px, 3vw, 34px); }
.nm-partner--cert .nm-partner__body { max-width: 68ch; }
.nm-partner--cert .nm-partner__title { font-size: clamp(1.35rem, 1.15rem + .7vw, 1.75rem); }
.nm-partner__cert { display: block; border: 1px solid var(--nm-line); border-radius: 2px; background: #fff; box-shadow: 0 14px 30px -24px rgba(17, 24, 31, .6); transition: transform .3s var(--nm-ease); }
.nm-partner__cert:hover { transform: translateY(-3px) rotate(-.6deg); }
.nm-partner__cert img { display: block; width: 100%; height: auto; }
.nm-partner__title { margin: 0 0 4px; font-size: 1.25rem; }
.nm-partner .nm-prose--sm { color: var(--nm-ink-2); font-size: .95rem; line-height: 1.55; }
.nm-partner .nm-prose--sm p { margin: 0 0 .7em; }
.nm-partner .nm-link-arrow { margin-top: auto; align-self: flex-start; font-size: .93rem; }
.nm-partner .nm-link-arrow + .nm-link-arrow { margin-top: 4px; }
.nm-partner--funding { background: var(--nm-white); }
.nm-partner__logos { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; padding-bottom: 14px; border-bottom: 1px solid var(--nm-line-2); margin-bottom: 4px; }
.nm-partner__logos img { height: 52px; width: auto; }
.nm-partner__logos img + img { height: 34px; }

/* ---------- 15. CTA band (dark end block, flows into the footer) ---------- */
.sl-section--cta-band.nm-cta { background: var(--nm-night); color: var(--nm-on-night); padding-block: clamp(64px, 8vw, 104px); position: relative; overflow: hidden; }
.nm-cta .sl-container { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 40px; align-items: end; text-align: left; }
.nm-cta .sl-container > h2 { grid-column: 1; margin: 0; color: var(--nm-on-night); font-size: clamp(2rem, 1.3rem + 2.6vw, 3.4rem); max-width: 18ch; }
.nm-cta .sl-container > p { grid-column: 1; margin: 0; color: var(--nm-on-night-2); max-width: 56ch; font-size: 1.08rem; }
.nm-cta .sl-container > a.sl-btn { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
.nm-cta .sl-container > a.sl-btn + a.sl-btn { grid-row: auto; }
.nm-cta .sl-container:has(> a.sl-btn + a.sl-btn) { grid-template-columns: minmax(0, 1fr) auto auto; }
.nm-cta .sl-container:has(> a.sl-btn + a.sl-btn) > a.sl-btn + a.sl-btn { grid-column: 3; grid-row: 1 / span 3; }
.sl-body .nm-cta a.sl-btn.sl-btn--ghost { color: var(--nm-on-night); border-color: var(--nm-night-line); }
.sl-body .nm-cta a.sl-btn.sl-btn--ghost:hover { background: var(--nm-on-night); color: var(--nm-ink); border-color: var(--nm-on-night); }
.sl-body .nm-cta a.sl-btn.sl-btn--primary:hover { background: var(--nm-white); color: var(--nm-ink); border-color: var(--nm-white); }
.nm-cta::before { content: ""; position: absolute; left: 0; top: 0; height: 3px; width: min(220px, 30vw); background: var(--nm-accent); }
.nm-cta--support .sl-container > h2 { max-width: 22ch; }
.sl-section--cta-band.nm-cta--light { background: var(--nm-paper); color: var(--nm-ink); border-top: 1px solid var(--nm-line); }
.nm-cta--light .sl-container > h2 { color: var(--nm-ink); }
.nm-cta--light .sl-container > p { color: var(--nm-steel); }

/* ---------- 16. Footer ---------- */
.sl-footer.nm-footer { margin-top: 0; background: var(--nm-night); color: var(--nm-on-night-2); padding-block: 0; border-top: 1px solid var(--nm-night-line); }
.nm-footer .sl-footer__inner { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 40px; padding-block: 64px 40px; }
.nm-footer .sl-footer__brand { font-weight: 700; font-stretch: 85%; font-size: 1.5rem; letter-spacing: .05em; color: var(--nm-on-night); margin-bottom: 14px; }
.nm-footer .sl-footer__about { font-size: .95rem; line-height: 1.6; max-width: 46ch; color: var(--nm-on-night-2); }
.sl-body .nm-footer h4 { font-family: inherit; font-size: 1rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--nm-on-night); margin: 0 0 16px; opacity: 1; }
.nm-footer .sl-footer__links { display: flex; flex-direction: column; gap: 10px; }
.sl-body .nm-footer .sl-footer__links a { color: var(--nm-on-night); text-decoration: none; font-size: .96rem; }
.sl-body .nm-footer .sl-footer__links a:hover { color: var(--nm-accent); }
.nm-footer .sl-footer__links span { color: var(--nm-on-night-2); font-size: .95rem; }
.nm-footer .sl-footer__group { padding: 26px 0; border-top: 1px solid var(--nm-night-line); display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; }
.nm-footer .sl-footer__group h4 { margin: 0; }
.nm-footer .sl-footer__links--inline { flex-direction: row; flex-wrap: wrap; gap: 8px 22px; }
.nm-footer .sl-footer__bottom { padding: 22px 0 6px; border-top: 1px solid var(--nm-night-line); font-family: var(--nm-mono); font-size: .8rem; color: var(--nm-on-night-2); }
.nm-footer .sl-footer__note { margin: 0; padding: 0 0 32px; font-family: var(--nm-mono); font-size: .78rem; line-height: 1.7; color: var(--nm-on-night-2); opacity: .85; }

/* ---------- 17. Inner page header ---------- */
.sl-section--page-header.nm-ph { text-align: left; background: var(--nm-paper); padding: clamp(14px, 1.6vw, 22px) 0 clamp(30px, 3.4vw, 46px); border-bottom: 1px solid var(--nm-line); }
.nm-ph .sl-crumbs, .nm-crumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 14px; font-family: var(--nm-mono); font-size: .78rem; color: var(--nm-steel); }
.sl-body .nm-ph .sl-crumbs a, .sl-body .nm-crumbs a { color: var(--nm-steel); text-decoration: none; }
.sl-body .nm-ph .sl-crumbs a:hover, .sl-body .nm-crumbs a:hover { color: var(--nm-accent-ink); }
.nm-ph h1 { font-size: clamp(2.3rem, 1.4rem + 3.2vw, 4rem); font-stretch: 76%; line-height: 1; margin: 0 0 .35em; max-width: 20ch; }
.nm-ph p { max-width: 62ch; color: var(--nm-ink-2); font-size: 1.12rem; margin: 0; }

/* ---------- 18. Services + offer grids ---------- */
.nm-services .sl-features, .nm-offer .sl-features { gap: 18px; }
.nm-services .sl-card.sl-feature, .nm-offer .sl-card.sl-feature {
  display: grid; grid-template-columns: 44px 1fr; column-gap: 18px; align-content: start;
  background: var(--nm-white); border: 1px solid var(--nm-line); border-radius: var(--nm-radius); padding: 24px; box-shadow: none;
}
.nm-services .sl-feature__icon, .nm-offer .sl-feature__icon { grid-row: span 2; width: 44px; height: 44px; margin: 0; border-radius: var(--nm-radius); background: var(--nm-ink); color: var(--nm-accent); font-size: 1.2rem; }
.nm-services .sl-feature h3, .nm-offer .sl-feature h3 { font-size: 1.12rem; margin: 2px 0 6px; }
.nm-services .sl-feature p, .nm-offer .sl-feature p { color: var(--nm-ink-2); font-size: .96rem; }
.nm-offer .sl-features { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nm-offer .sl-card.sl-feature:first-child { background: var(--nm-ink); border-color: var(--nm-ink); }
.nm-offer .sl-card.sl-feature:first-child h3 { color: var(--nm-on-night); }
.nm-offer .sl-card.sl-feature:first-child p { color: var(--nm-on-night-2); }
.nm-offer .sl-card.sl-feature:first-child .sl-feature__icon { background: var(--nm-accent); color: var(--nm-ink); }

/* ---------- 19. FAQ ---------- */
.nm-faq .sl-heading { text-align: left; }
.nm-faq .sl-faq__list { display: grid; gap: 10px; max-width: 900px; }
.nm-faq .sl-faq__item { background: var(--nm-white); border: 1px solid var(--nm-line); border-radius: var(--nm-radius); padding: 0 24px; }
.nm-faq .sl-faq__item summary { font-size: 1.08rem; font-weight: 620; padding: 20px 0; }
.nm-faq .sl-faq__item summary::after { content: "+"; font-family: var(--nm-mono); font-weight: 400; color: var(--nm-accent-ink); font-size: 1.4rem; }
.nm-faq .sl-faq__item[open] summary::after { content: "\2212"; }
.nm-faq .sl-faq__answer { color: var(--nm-ink-2); padding-bottom: 22px; max-width: 70ch; }

/* ---------- 20. News ---------- */
.nm-news .sl-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.nm-news .sl-post-card { display: flex; flex-direction: column; background: var(--nm-white); border: 1px solid var(--nm-line); border-radius: var(--nm-radius); overflow: hidden; text-decoration: none; color: var(--nm-ink); transition: box-shadow .25s var(--nm-ease), transform .25s var(--nm-ease); }
.nm-news .sl-post-card:hover { box-shadow: var(--nm-shadow); transform: translateY(-2px); }
.nm-news .sl-post-media { aspect-ratio: 16 / 10; background: var(--nm-paper); overflow: hidden; }
.nm-news .sl-post-media img { width: 100%; height: 100%; object-fit: cover; }
.nm-news .sl-post-body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 10px; }
.nm-news .sl-post-title { font-size: 1.15rem; font-stretch: 90%; margin: 0; color: var(--nm-ink); }
.nm-news .sl-post-excerpt { color: var(--nm-ink-2); font-size: .95rem; line-height: 1.55; }
.nm-news .sl-post-excerpt strong { font-family: var(--nm-mono); font-size: .82rem; font-weight: 600; color: var(--nm-accent-ink); display: block; margin-bottom: 4px; }

/* ---------- 21. Machine page ---------- */
.sl-section--nm-product { padding-block: clamp(14px, 1.6vw, 22px) clamp(56px, 7vw, 96px); background: var(--nm-white); }
.nm-pdp__top { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: start; margin-top: 10px; }
.nm-gallery__main { margin: 0; background: var(--nm-paper); border: 1px solid var(--nm-line); border-radius: var(--nm-radius); overflow: hidden; }
.nm-gallery__zoom { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.nm-gallery__main img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; padding: 14px; }
.nm-gallery__thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 10px; margin-top: 12px; }
.nm-gallery__thumb { padding: 0; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); background: var(--nm-paper); cursor: pointer; overflow: hidden; aspect-ratio: 4 / 3; transition: border-color .2s; }
.nm-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nm-gallery__thumb:hover { border-color: var(--nm-steel); }
.nm-gallery__thumb.is-active { border-color: var(--nm-accent); box-shadow: 0 0 0 1px var(--nm-accent); }
.nm-pdp__info { position: sticky; top: calc(var(--nm-header-h) + 20px); }
.nm-pdp__title { font-size: clamp(2rem, 1.3rem + 2.4vw, 3.15rem); font-stretch: 78%; line-height: 1.02; margin: 0 0 10px; }
.nm-pdp__code { margin: 0 0 18px; font-family: var(--nm-mono); font-size: .86rem; color: var(--nm-steel); }
.nm-keyfigs { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0; margin: 18px 0 22px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); background: var(--nm-paper); }
.nm-keyfigs > div { padding: 14px 16px; border-left: 1px solid var(--nm-line); }
.nm-keyfigs > div:first-child { border-left: 0; }
.nm-keyfigs dt { font-size: .8rem; color: var(--nm-steel); margin-bottom: 4px; }
.nm-keyfigs dd { margin: 0; font-family: var(--nm-mono); font-size: .98rem; font-weight: 600; color: var(--nm-ink); line-height: 1.3; }
.nm-pricebox { border-top: 2px solid var(--nm-ink); padding-top: 18px; }
.nm-pricebox__price { margin: 0 0 6px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
.nm-pricebox__price strong { font-family: var(--nm-mono); font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); font-weight: 600; letter-spacing: -.03em; color: var(--nm-ink); }
.nm-pricebox__price strong.nm-price__ask { font-family: var(--nm-font); font-size: 1.35rem; font-stretch: 90%; letter-spacing: 0; }
.nm-pricebox__note { margin: 0 0 20px; font-size: .9rem; color: var(--nm-steel); max-width: 52ch; }
.nm-pricebox__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.nm-pdp__body { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(28px, 5vw, 72px); margin-top: clamp(48px, 6vw, 80px); padding-top: clamp(32px, 4vw, 48px); border-top: 1px solid var(--nm-line); }
.nm-datasheet__title { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin: 0 0 22px; }
.nm-prose { color: var(--nm-ink-2); font-size: 1.04rem; line-height: 1.65; }
.nm-prose > :first-child { margin-top: 0; }
.nm-prose p { margin: 0 0 1em; }
.nm-prose h3 { font-size: 1.2rem; font-stretch: 88%; margin: 2em 0 .7em; padding-top: 14px; border-top: 1px solid var(--nm-line); color: var(--nm-ink); }
.nm-prose ul { padding-left: 0; list-style: none; display: grid; gap: 8px; margin: 0 0 1.2em; }
.nm-prose ul li { position: relative; padding-left: 24px; }
.nm-prose ul li::before { content: ""; position: absolute; left: 0; top: .72em; width: 12px; height: 2px; background: var(--nm-accent); }
.nm-table-scroll { overflow-x: auto; margin: 0 0 1.4em; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); }
.nm-prose table { width: 100%; border-collapse: collapse; font-size: .96rem; }
.nm-prose th, .nm-prose td { text-align: left; vertical-align: top; padding: 11px 16px; }
.nm-prose th { width: 38%; font-weight: 500; color: var(--nm-steel); }
.nm-prose td { color: var(--nm-ink); font-weight: 500; }
.nm-prose tr:nth-child(odd) { background: var(--nm-paper); }
.nm-video-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin: 0 0 1.2em; }
.nm-video { margin: 0 0 1.2em; }
.nm-video-row .nm-video { margin: 0; }
.nm-video__play { position: relative; display: block; width: 100%; padding: 0; border: 0; cursor: pointer; background: var(--nm-night); border-radius: var(--nm-radius); overflow: hidden; aspect-ratio: 16 / 9; }
.nm-video__play img { width: 100%; height: 100%; object-fit: cover; opacity: .82; transition: opacity .25s, transform .5s var(--nm-ease); }
.nm-video__play:hover img { opacity: 1; transform: scale(1.03); }
.nm-video__icon { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; display: grid; place-items: center; border-radius: 50%; background: var(--nm-accent); color: var(--nm-ink); font-size: 2rem; box-shadow: 0 10px 30px -10px rgba(0, 0, 0, .6); }
.nm-video iframe, .nm-video video { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--nm-radius); background: var(--nm-night); }
.nm-video figcaption { margin-top: 8px; font-size: .88rem; color: var(--nm-steel); }
.nm-pdp__aside { align-self: start; position: sticky; top: calc(var(--nm-header-h) + 20px); }
.nm-askcard { display: flex; flex-direction: column; gap: 12px; padding: 22px; background: var(--nm-paper); border: 1px solid var(--nm-line); border-radius: var(--nm-radius); }
.nm-askcard__title { margin: 0 0 4px; font-weight: 650; font-size: 1.1rem; font-stretch: 90%; }
.sl-body .nm-askcard__row { display: flex; align-items: center; gap: 10px; color: var(--nm-ink); text-decoration: none; font-size: .95rem; word-break: break-word; }
.sl-body .nm-askcard__row:hover { color: var(--nm-accent-ink); }
.nm-askcard__row i { color: var(--nm-accent-ink); }
.nm-askcard .nm-link-arrow { margin-top: 6px; align-self: flex-start; font-size: .9rem; }
.nm-pdp--missing { padding-block: 40px; }

/* ---------- 22. Quote form, dialog, contact page ---------- */
.nm-rfq { display: grid; gap: 18px; }
.nm-rfq[hidden] { display: none; }
.nm-rfq__machine { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; padding: 12px 14px; background: var(--nm-accent-soft); border-left: 3px solid var(--nm-accent); border-radius: 2px; }
.nm-rfq__machine[hidden] { display: none; }
.nm-rfq__machine-label { font-size: .92rem; color: var(--nm-ink-2); }
.nm-rfq__machine strong { font-weight: 650; color: var(--nm-ink); }
.nm-rfq__types { border: 0; margin: 0; padding: 0; min-width: 0; }
.nm-rfq__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.nm-pick { position: relative; cursor: pointer; }
.nm-pick input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.nm-pick span { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 14px; font-size: .93rem; font-weight: 550; color: var(--nm-ink-2); background: var(--nm-white); border: 1px solid var(--nm-line); border-radius: var(--nm-radius); transition: background-color .2s, border-color .2s, color .2s; }
.nm-pick:hover span { border-color: var(--nm-ink-2); }
.nm-pick input:checked + span { background: var(--nm-ink); border-color: var(--nm-ink); color: var(--nm-white); }
.nm-pick input:focus-visible + span { outline: 2px solid var(--nm-accent); outline-offset: 2px; }
.nm-rfq__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.nm-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.nm-field--full { grid-column: 1 / -1; }
.nm-field__label { font-size: .88rem; font-weight: 600; color: var(--nm-ink-2); }
.nm-field__label b { color: var(--nm-accent-ink); font-weight: 600; }
.nm-field__opt { font-style: normal; font-weight: 400; color: var(--nm-steel); }
.nm-input {
  width: 100%; min-height: 46px; padding: 11px 13px; font: inherit; font-size: 1rem; color: var(--nm-ink);
  background: #fff; border: 1px solid #BFC8CE; border-radius: var(--nm-radius); transition: border-color .2s, box-shadow .2s;
}
textarea.nm-input { min-height: 120px; resize: vertical; line-height: 1.5; }
.nm-input::placeholder { color: #6C7882; }
.nm-input:hover { border-color: var(--nm-steel); }
.nm-input:focus { outline: none; border-color: var(--nm-accent); box-shadow: 0 0 0 3px rgba(242, 106, 33, .22); }
.nm-field--file .nm-input { padding: 10px; font-size: .92rem; background: var(--nm-paper); border-style: dashed; }
.nm-rfq__privacy { margin: 0; font-size: .86rem; color: var(--nm-steel); }
.nm-rfq__privacy a { color: var(--nm-ink-2); }
.nm-rfq__status { margin: 0; padding: 12px 14px; font-size: .95rem; color: #8A1F11; background: #FDECEA; border-left: 3px solid #C0392B; border-radius: 2px; }
.nm-rfq__status[hidden] { display: none; }
.nm-rfq__submit .nm-btn { min-width: 220px; }
.nm-rfq__done { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 26px; background: var(--nm-paper); border: 1px solid var(--nm-line); border-left: 3px solid #1E8E5A; border-radius: var(--nm-radius); }
.nm-rfq__done[hidden] { display: none; }
.nm-rfq__done i { font-size: 2rem; color: #1E8E5A; }
.nm-rfq__done-title { margin: 0; font-size: 1.3rem; font-weight: 650; font-stretch: 88%; color: var(--nm-ink); }
.nm-rfq__done p { margin: 0; color: var(--nm-ink-2); }

.nm-modal { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 20px; }
.nm-modal[hidden] { display: none; }
.nm-modal__overlay { position: absolute; inset: 0; background: rgba(14, 20, 25, .62); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; transition: opacity .2s var(--nm-ease); }
.nm-modal__panel {
  position: relative; width: min(780px, 100%); max-height: calc(100dvh - 40px); overflow: auto; overscroll-behavior: contain;
  background: var(--nm-white); border-radius: var(--nm-radius); border-top: 4px solid var(--nm-accent);
  padding: clamp(22px, 3.5vw, 40px); box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .55);
  opacity: 0; transform: translateY(14px) scale(.985); transition: opacity .22s var(--nm-ease), transform .3s var(--nm-ease);
}
.nm-modal.is-open .nm-modal__overlay, .nm-modal.is-open .nm-modal__panel { opacity: 1; transform: none; }
.nm-modal__close { position: absolute; top: 12px; right: 12px; width: 42px; height: 42px; display: grid; place-items: center; border: 0; background: none; color: var(--nm-ink); font-size: 1.2rem; cursor: pointer; border-radius: var(--nm-radius); }
.nm-modal__close:hover { background: var(--nm-paper); }
.nm-modal__head { margin: 0 0 20px; padding-right: 44px; }
.nm-modal__title { margin: 0 0 6px; font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); font-stretch: 80%; }
.nm-modal__intro { margin: 0; color: var(--nm-steel); }
.nm-modal__direct { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--nm-line); font-size: .9rem; color: var(--nm-steel); }
.sl-body .nm-modal__direct a { color: var(--nm-ink); text-decoration: none; display: inline-flex; gap: 6px; align-items: center; }
.sl-body .nm-modal__direct a:hover { color: var(--nm-accent-ink); }

.sl-section--nm-rfq { background: var(--nm-white); }
.nm-rfqpage { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.nm-rfqpage__intro { color: var(--nm-steel); margin: -6px 0 24px; max-width: 60ch; }
.nm-rfqpage__info { display: grid; gap: 18px; position: sticky; top: calc(var(--nm-header-h) + 20px); }
.nm-contactcard { padding: 24px; background: var(--nm-paper); border: 1px solid var(--nm-line); border-radius: var(--nm-radius); }
.nm-contactcard__title { margin: 0 0 10px; font-size: 1rem; font-weight: 600; color: var(--nm-ink); }
.sl-body .nm-contactcard__phone { display: block; font-family: var(--nm-mono); font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-weight: 600; letter-spacing: -.03em; color: var(--nm-ink); text-decoration: none; margin-bottom: 12px; }
.sl-body .nm-contactcard__phone:hover { color: var(--nm-accent-ink); }
.nm-contactcard__links { display: flex; flex-direction: column; gap: 8px; }
.sl-body .nm-contactcard__links a { display: inline-flex; align-items: center; gap: 8px; color: var(--nm-ink); text-decoration: none; word-break: break-word; }
.sl-body .nm-contactcard__links a:hover { color: var(--nm-accent-ink); }

/* ---------- 23. Company details ---------- */
.sl-section--nm-company { background: var(--nm-paper); }
.nm-reqs { margin: 0; display: grid; gap: 0; }
.nm-reqs > div { display: grid; grid-template-columns: minmax(110px, 38%) 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid var(--nm-line); font-size: .95rem; }
.nm-reqs > div:first-child { border-top: 0; }
.nm-reqs dt { color: var(--nm-steel); }
.nm-reqs dd { margin: 0; color: var(--nm-ink); word-break: break-word; }
.nm-reqs dd a { color: var(--nm-ink); }
.nm-reqs__bank { color: var(--nm-steel); font-family: var(--nm-font); }
.nm-company .nm-reqs { max-width: 760px; background: var(--nm-white); border: 1px solid var(--nm-line); border-radius: var(--nm-radius); padding: 6px 24px; }

/* ---------- 24. Soro blog feed ---------- */
.nm-soro__wrap { max-width: 900px; }
.nm-soro__note { display: inline-flex; gap: 8px; align-items: center; margin: 0 0 18px; font-size: .9rem; color: var(--nm-steel); }
.nm-soro__feed { min-height: 240px; }
.sl-body .soro-blog { font-family: var(--nm-font) !important; color: var(--nm-ink) !important; max-width: none !important; }
.sl-body .soro-blog-list { gap: 14px !important; }
.sl-body .soro-blog-card { background: var(--nm-white) !important; border: 1px solid var(--nm-line) !important; border-radius: var(--nm-radius) !important; padding: 18px !important; transition: border-color .2s, box-shadow .25s !important; }
.sl-body .soro-blog-card:hover { border-color: var(--nm-steel-2) !important; box-shadow: var(--nm-shadow) !important; }
.sl-body .soro-blog-card-image { border-radius: 2px !important; width: 150px !important; height: 104px !important; }
.sl-body .soro-blog-card-title { font-family: var(--nm-font) !important; font-stretch: 90%; font-size: 1.14rem !important; font-weight: 650 !important; color: var(--nm-ink) !important; }
.sl-body .soro-blog-card-excerpt { color: var(--nm-ink-2) !important; font-size: .94rem !important; }
.sl-body .soro-blog-card-date { font-family: var(--nm-mono) !important; color: var(--nm-steel) !important; font-size: .76rem !important; }
.sl-body .soro-blog-back { border-radius: var(--nm-radius) !important; color: var(--nm-ink) !important; border-color: var(--nm-line) !important; background: var(--nm-white) !important; }
.sl-body .soro-blog-article { font-family: var(--nm-font) !important; color: var(--nm-ink-2) !important; line-height: 1.7 !important; background: var(--nm-white); border: 1px solid var(--nm-line); border-radius: var(--nm-radius); padding: clamp(18px, 3vw, 40px) !important; }
.sl-body .soro-blog-article h1, .sl-body .soro-blog-article h2, .sl-body .soro-blog-article h3 { font-family: var(--nm-font) !important; color: var(--nm-ink) !important; font-stretch: 85%; }
.sl-body .soro-blog-article a { color: var(--nm-accent-ink) !important; }

/* ---------- 25. Lightbox ---------- */
.nm-lightbox { position: fixed; inset: 0; z-index: 300; display: none; place-items: center; background: rgba(10, 14, 18, .92); padding: 56px 64px; }
.nm-lightbox.is-open { display: grid; }
.nm-lightbox img { max-width: 100%; max-height: calc(100dvh - 112px); object-fit: contain; background: #fff; border-radius: 2px; }
.nm-lightbox__close, .nm-lightbox__nav { position: absolute; display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .06); color: #fff; border-radius: var(--nm-radius); cursor: pointer; font-size: 1.2rem; }
.nm-lightbox__close { top: 14px; right: 14px; }
.nm-lightbox__nav--prev { left: 12px; top: 50%; transform: translateY(-50%); }
.nm-lightbox__nav--next { right: 12px; top: 50%; transform: translateY(-50%); }
.nm-lightbox.is-single .nm-lightbox__nav { display: none; }
.nm-lightbox__close:hover, .nm-lightbox__nav:hover { background: var(--nm-accent); color: var(--nm-ink); border-color: var(--nm-accent); }

/* ---------- 26. Mobile action bar + consent ---------- */
.nm-mbar { display: none; }
.nm-consent { position: fixed; left: 16px; bottom: 16px; z-index: 150; width: min(420px, calc(100% - 32px)); padding: 18px; background: var(--nm-white); border: 1px solid var(--nm-line); border-top: 3px solid var(--nm-accent); border-radius: var(--nm-radius); box-shadow: var(--nm-shadow); font-size: .92rem; }
.nm-consent[hidden] { display: none; }
.nm-consent p { margin: 0 0 12px; color: var(--nm-ink-2); }
.nm-consent__actions { display: flex; gap: 8px; justify-content: flex-end; }

/* ---------- 27. 404 ---------- */
.nm-404 { background: var(--nm-paper); }
.nm-404__code { margin: 0 0 6px; font-family: var(--nm-mono); font-size: .9rem; color: var(--nm-accent-ink); letter-spacing: .1em; }
.nm-404__title { font-size: clamp(2.2rem, 1.4rem + 3vw, 3.6rem); font-stretch: 78%; margin: 0 0 .3em; }
.nm-404__text { color: var(--nm-ink-2); max-width: 56ch; margin: 0 0 24px; }
.nm-404__actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* ---------- 28. Motion ---------- */
.nm-sentinel { position: absolute; top: 0; left: 0; width: 1px; height: 8px; pointer-events: none; }
@media (prefers-reduced-motion: no-preference) {
  .nm-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--nm-ease), transform .7s var(--nm-ease); }
  .nm-reveal.is-in { opacity: 1; transform: none; }
  .nm-hero .sl-hero__content > * { animation: nm-rise .9s var(--nm-ease) both; }
  .nm-hero .sl-hero__content > *:nth-child(2) { animation-delay: .05s; }
  .nm-hero .sl-hero__content > *:nth-child(3) { animation-delay: .1s; }
  .nm-hero .sl-hero__content > *:nth-child(4) { animation-delay: .15s; }
}
@keyframes nm-rise { from { transform: translateY(14px); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ---------- 29. Responsive ---------- */
@media (max-width: 1180px) {
  .nm-header .sl-header__tel { display: none; }
}
@media (max-width: 1040px) {
  .nm-header .sl-header__nav a { padding: 9px 9px; font-size: .94rem; }
  .nm-header .sl-header__nav a::after { left: 9px; right: 9px; }
  .nm-grid, .nm-news .sl-post-grid, .nm-offer .sl-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nm-supply .sl-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nm-process .sl-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
  .nm-process .sl-step:nth-child(3) { padding-left: 0; border-left: 0; }
  .nm-process .sl-step:nth-child(3)::before { left: 0; }
  .nm-pdp__body { grid-template-columns: minmax(0, 1fr); }
  .nm-pdp__aside { position: static; }
  .nm-footer .sl-footer__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .nm-footer .sl-footer__inner > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  :root { --nm-header-h: 64px; --sl-section-pad: 64px; }
  .nm-hero .sl-hero--split .sl-hero__inner { grid-template-columns: minmax(0, 1fr); }
  .nm-hero .sl-hero__media::after { display: none; }
  .nm-hero .sl-hero__media img { aspect-ratio: 16 / 10; }
  .nm-hero .sl-hero { padding-block: 32px 44px; }
  .nm-stats .sl-stats, .nm-stats--plain .sl-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
  .nm-stats .sl-stat:nth-child(3) { border-left: 0; padding-left: 0; }
  .nm-feature-line .sl-media-text { grid-template-columns: minmax(0, 1fr); }
  .sl-rich-text--split { grid-template-columns: minmax(0, 1fr); }
  .sl-rich-text--split .sl-rich-text__head { position: static; }
  .sl-rich-text--split .sl-band-cta-row { grid-column: 1; }
  .nm-pdp__top { grid-template-columns: minmax(0, 1fr); }
  .nm-pdp__info { position: static; }
  .nm-rfqpage { grid-template-columns: minmax(0, 1fr); }
  .nm-rfqpage__info { position: static; }
  .nm-cta .sl-container, .nm-cta .sl-container:has(> a.sl-btn + a.sl-btn) { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .nm-cta .sl-container > a.sl-btn, .nm-cta .sl-container:has(> a.sl-btn + a.sl-btn) > a.sl-btn + a.sl-btn { grid-column: 1; grid-row: auto; justify-self: start; }
  .nm-filters { grid-template-columns: minmax(0, 1fr); }
  .nm-mbar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: grid; grid-template-columns: 1fr 1fr 1.3fr;
    background: var(--nm-night); border-top: 1px solid var(--nm-night-line); padding-bottom: env(safe-area-inset-bottom);
  }
  .sl-body .nm-mbar__item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 58px; padding: 6px; color: var(--nm-on-night); text-decoration: none; font: 600 .74rem/1.1 var(--nm-font); background: none; border: 0; border-left: 1px solid var(--nm-night-line); cursor: pointer; }
  .sl-body .nm-mbar__item:first-child { border-left: 0; }
  .nm-mbar__item i { font-size: 1.15rem; }
  .sl-body .nm-mbar__item--primary { background: var(--nm-accent); color: var(--nm-ink); border-left: 0; }
  .sl-body { padding-bottom: calc(58px + env(safe-area-inset-bottom)); }
  .nm-consent { bottom: calc(70px + env(safe-area-inset-bottom)); }
}
@media (max-width: 720px) {
  .nm-header .sl-header__cta { display: none; }
  .nm-header .sl-header__nav { padding: 10px clamp(16px, 4vw, 32px) 18px; box-shadow: 0 18px 30px -24px rgba(17, 24, 31, .5); }
  .nm-header .sl-header__nav a { padding: 13px 4px; border-bottom: 1px solid var(--nm-line-2); font-size: 1.05rem; border-radius: 0; }
  .nm-header .sl-header__nav a::after { display: none; }
  .nm-header .sl-header__toggle summary { font-size: 1.5rem; color: var(--nm-ink); }
  .nm-grid, .nm-news .sl-post-grid, .nm-offer .sl-features { grid-template-columns: minmax(0, 1fr); }
  .nm-supply .sl-features { grid-template-columns: minmax(0, 1fr); }
  .nm-benefits .sl-features { grid-template-columns: minmax(0, 1fr); }
  .nm-process .sl-steps { grid-template-columns: minmax(0, 1fr); }
  .nm-process .sl-step + .sl-step { padding-left: 0; border-left: 0; }
  .nm-process .sl-step + .sl-step::before { left: 0; }
  .nm-partners__grid { grid-template-columns: minmax(0, 1fr); }
  .nm-partner--cert { grid-template-columns: minmax(0, 1fr); }
  .nm-partner__cert { max-width: 220px; }
  .nm-rfq__grid { grid-template-columns: minmax(0, 1fr); }
  .nm-rfq__submit .nm-btn { width: 100%; }
  .nm-footer .sl-footer__inner { grid-template-columns: minmax(0, 1fr); }
  .nm-keyfigs > div { border-left: 0; border-top: 1px solid var(--nm-line); }
  .nm-keyfigs > div:first-child { border-top: 0; }
  .nm-pricebox__actions .nm-btn { flex: 1 1 auto; }
  .sl-body .soro-blog-card { flex-direction: column !important; }
  .sl-body .soro-blog-card-image { width: 100% !important; height: 170px !important; }
  .nm-lightbox { padding: 56px 12px; }
}
@media (max-width: 420px) {
  .nm-brand__tag { display: none; }
  .nm-brand__mark { width: 38px; }
  .nm-stats .sl-stats, .nm-stats--plain .sl-stats { grid-template-columns: minmax(0, 1fr); }
  .nm-stats .sl-stat { border-left: 0; padding-left: 0; }
}

/* ---------- 30. Phones: one-line rows ---------- */
/* A rail is one row that scrolls sideways: swipe on a phone, drag with a mouse (site.js). */
.nm-rail { scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.nm-rail::-webkit-scrollbar { display: none; }
.nm-rail.is-dragging { cursor: grabbing; scroll-snap-type: none !important; -webkit-user-select: none; user-select: none; }
.nm-rail.is-dragging * { pointer-events: none; }

/* quote form choices: one row on phones and tablets, it slides when the choices do not fit */
@media (max-width: 900px) {
  .nm-rfq__chips { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; }
  .nm-pick { flex: 0 0 auto; scroll-snap-align: start; }
  .nm-pick span { white-space: nowrap; }
}

@media (max-width: 600px) {
  /* stats: one swipeable row instead of four stacked blocks */
  .nm-stats .sl-stats, .nm-stats--plain .sl-stats { display: flex; gap: 0; row-gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: -16px; padding-inline: 16px; scroll-padding-inline: 16px; }
  .nm-stats .sl-stat, .nm-stats .sl-stat:nth-child(3) { flex: 0 0 44%; scroll-snap-align: start; padding: 4px 14px; border-left: 1px solid var(--nm-line); }
  .nm-stats .sl-stat:first-child { padding-left: 0; border-left: 0; }
  .nm-stats .sl-stat__value { font-size: 2rem; margin-bottom: 8px; }
  .nm-stats .sl-stat__label { font-size: .88rem; }

  /* home page machines: a one-row carousel (moves on by itself, swipe to browse) */
  .nm-products--home .nm-grid { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: -16px; padding-inline: 16px; scroll-padding-inline: 16px; }
  .nm-products--home .nm-card { flex: 0 0 84%; scroll-snap-align: start; }

  /* closing band: the two buttons side by side */
  .nm-cta .sl-container, .nm-cta .sl-container:has(> a.sl-btn + a.sl-btn) { grid-template-columns: auto minmax(0, 1fr); column-gap: 8px; }
  .nm-cta .sl-container > h2, .nm-cta .sl-container > p { grid-column: 1 / -1; }
  .nm-cta .sl-container > a.sl-btn { grid-column: 1; grid-row: auto; }
  .nm-cta .sl-container > a.sl-btn + a.sl-btn, .nm-cta .sl-container:has(> a.sl-btn + a.sl-btn) > a.sl-btn + a.sl-btn { grid-column: 2; grid-row: auto; }
  .sl-body .nm-cta a.sl-btn { justify-self: stretch; justify-content: center; min-height: 48px; padding: 12px; font-size: .94rem; font-stretch: 88%; white-space: nowrap; }
  .nm-cta a.sl-btn--primary .bi { display: none; }
}
/* phones: compact footer, Katalogs left and Kontakti right */
@media (max-width: 720px) {
  .nm-footer .sl-footer__inner { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 22px 14px; padding-block: 36px 24px; }
  .nm-footer .sl-footer__inner > div:first-child { grid-column: 1 / -1; }
  .nm-footer .sl-footer__brand { font-size: 1.25rem; margin-bottom: 8px; }
  .nm-footer .sl-footer__about { font-size: .88rem; line-height: 1.55; }
  .sl-body .nm-footer h4 { font-size: .95rem; margin-bottom: 10px; }
  .nm-footer .sl-footer__links { gap: 7px; }
  .sl-body .nm-footer .sl-footer__links a, .nm-footer .sl-footer__links span { font-size: .86rem; overflow-wrap: anywhere; }
  .nm-footer .sl-footer__group { padding: 18px 0; gap: 8px 18px; }
  .nm-footer .sl-footer__links--inline { gap: 6px 16px; }
  .nm-footer .sl-footer__bottom { padding-top: 16px; }
  .nm-footer .sl-footer__note { padding-bottom: 20px; }
}
/* catalog filters: one row on phones and tablets that slides when the categories do not fit */
@media (max-width: 900px) {
  .nm-filters__chips { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; }
  .nm-chip { flex: 0 0 auto; scroll-snap-align: start; white-space: nowrap; }
}
@media (max-width: 600px) {
  .nm-filters__chips { margin-inline: -16px; padding-inline: 16px; scroll-padding-inline: 16px; }
}
/* phones: catalog cards two per row and compact (catalog page, related machines, export page) */
@media (max-width: 720px) {
  :is(.nm-products--catalog, .nm-products--related, .nm-products--export) .nm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  :is(.nm-products--catalog, .nm-products--related, .nm-products--export) .nm-card__media img { padding: 6px; }
  :is(.nm-products--catalog, .nm-products--related, .nm-products--export) .nm-card__body { padding: 10px 10px 12px; gap: 6px; }
  :is(.nm-products--catalog, .nm-products--related, .nm-products--export) .nm-card__title { font-size: .92rem; line-height: 1.25; }
  :is(.nm-products--catalog, .nm-products--related, .nm-products--export) .nm-card__specs { display: none; }
  :is(.nm-products--catalog, .nm-products--related, .nm-products--export) .nm-card__foot { gap: 8px; padding-top: 6px; }
  :is(.nm-products--catalog, .nm-products--related, .nm-products--export) .nm-price__ask { font-size: .74rem; font-weight: 550; }
  .sl-body :is(.nm-products--catalog, .nm-products--related, .nm-products--export) .nm-btn--quote { min-height: 0; padding: 8px 6px; font-size: .78rem; line-height: 1.2; white-space: normal; text-align: center; }
  .nm-products--catalog .nm-groups { gap: 36px; }
  .nm-products--catalog .nm-group__head { margin-bottom: 12px; }
}

/* ---------- 31. Phones: half the empty space between and inside sections ---------- */
@media (max-width: 720px) {
  main .sl-section:not(.sl-section--page-header):not(.sl-section--nm-hero):not(.sl-section--nm-product):not(.sl-section--stats-band) { padding-block: 32px; }
  .sl-section--stats-band.nm-stats { padding-block: 20px; }
  .sl-section--page-header.nm-ph { padding-bottom: 18px; }
  .sl-section--nm-product.nm-pdp-section { padding-bottom: 28px; }
  .nm-herox { padding-block: 20px 28px; }
  .nm-herox__inner { gap: 18px; }
  .sl-body .nm-herox__title { margin-bottom: 14px; }
  .nm-herox__lead { margin-bottom: 20px; }
  main .sl-section .sl-subheading { margin-bottom: 18px; }
  .nm-products__head { margin-bottom: 16px; }
  .nm-products__more { margin-top: 18px; }
  .nm-process .sl-band-header { margin-bottom: 20px; }
  .nm-process .sl-steps { row-gap: 18px; }
  main .sl-section .sl-media-text { gap: 16px; }
  .nm-feature-line ul { margin-bottom: 14px; }
  .nm-filters { margin-bottom: 16px; }
  .nm-products--catalog .nm-groups { gap: 28px; }
  .nm-pdp__top { gap: 16px; }
  .nm-pdp__body { margin-top: 24px; padding-top: 20px; gap: 20px; }
  .nm-pdp__body h3 { margin-top: 22px; }
  .nm-rfqpage { gap: 18px; }
  .nm-rfqpage__intro { margin-bottom: 14px; }
  .nm-article h2 { margin-top: 22px; }
  /* footer bottom: company links on the left, company details on the right */
  .nm-footer .sl-container { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); column-gap: 14px; }
  .nm-footer .sl-footer__inner { grid-column: 1 / -1; }
  .nm-footer .sl-footer__group { grid-column: 1; grid-row: 2 / span 2; align-self: start; margin: 0; padding: 16px 0 20px; flex-direction: column; align-items: flex-start; gap: 8px; }
  .nm-footer .sl-footer__links--inline { gap: 6px 12px; }
  .nm-footer .sl-footer__bottom { grid-column: 2; grid-row: 2; margin: 0; padding: 16px 0 6px; }
  .nm-footer .sl-footer__note { grid-column: 2; grid-row: 3; padding-bottom: 20px; }
}
/* phones: less padding inside repeated blocks */
@media (max-width: 720px) {
  .nm-supply .sl-card.sl-feature { padding: 14px 16px 16px; }
  .nm-products--home .nm-card__body { padding: 14px 16px 16px; }
  .nm-benefits .sl-card.sl-feature { padding-block: 14px; }
  main .nm-partner { padding: 16px; }
  .nm-offer .sl-card.sl-feature, .nm-services .sl-card.sl-feature { padding: 16px; }
  main .sl-section details > summary { padding-block: 14px; }
  .nm-contactcard { padding: 16px; }
}
/* footer: the SiteLab credit link, and phone FAQ rows */
.sl-body .nm-footer .sl-footer__note a { color: var(--nm-on-night); text-decoration: underline; text-underline-offset: 3px; }
.sl-body .nm-footer .sl-footer__note a:hover { color: var(--nm-accent); }
@media (max-width: 720px) {
  .nm-faq .sl-faq__item summary { padding-block: 14px; }
}

/* ---------- 32. Desktop and tablet: about half the empty space ---------- */
@media (min-width: 721px) {
  main .sl-section:not(.sl-section--page-header):not(.sl-section--nm-hero):not(.sl-section--nm-product):not(.sl-section--stats-band) { padding-block: clamp(36px, 3.8vw, 48px); }
  .sl-section--stats-band.nm-stats { padding-block: clamp(26px, 2.8vw, 36px); }
  .sl-section--page-header.nm-ph { padding-bottom: clamp(20px, 2vw, 26px); }
  .sl-section--nm-product.nm-pdp-section { padding-bottom: clamp(32px, 3.4vw, 44px); }
  .nm-herox { padding-block: clamp(28px, 3.2vw, 44px) clamp(32px, 3.6vw, 48px); }
  .nm-herox__inner { gap: clamp(28px, 3.2vw, 40px); }
  .nm-herox__lead { margin-bottom: 24px; }
  main .sl-section .sl-subheading { margin-bottom: 22px; }
  .nm-process .sl-band-header { margin-bottom: 24px; }
  .nm-products__head { margin-bottom: 20px; }
  .nm-products__more { margin-top: 22px; }
  .nm-products--catalog .nm-groups { gap: 36px; }
  main .sl-section .sl-media-text { gap: clamp(28px, 3.2vw, 40px); }
  .nm-pdp__top { gap: clamp(24px, 2.8vw, 36px); }
  .nm-pdp__body { margin-top: clamp(28px, 3vw, 40px); padding-top: 24px; gap: clamp(28px, 3.2vw, 40px); }
  .nm-pdp__body h3 { margin-top: 26px; }
  main .nm-partner { padding: 20px; }
  main .nm-partner--cert { gap: 24px; }
  .nm-article h2 { margin-top: 30px; }
  .nm-rfqpage { gap: clamp(24px, 2.8vw, 36px); }
}

/* ---------- 33. Machines from page content (no shop, 2026-10-20) ---------- */
/* An empty picture strip, key-figure list or catalogue group stays out of sight for visitors. The live editor marks
   its lists .sl-pe-list, so there they stay on screen and can be filled with "+". */
.nm-gallery__thumbs.is-empty:not(.sl-pe-list), .nm-keyfigs.is-empty:not(.sl-pe-list), .nm-group.is-empty:not(:has(.sl-pe-list)) { display: none; }
.nm-keyfigs dd p { margin: 0; }
.nm-card__text { margin: 6px 0 0; color: var(--nm-steel); font-size: .92rem; line-height: 1.45; }
.nm-card__text p { margin: 0 0 6px; }
.nm-card__text p:last-child { margin-bottom: 0; }
