/* Commercial pages only. Existing customer case pages opt in explicitly.
   Original brand assets and customer reference markup remain intact. */
.nx-business {
  --nx-business-rule: #d9d9dd;
  --nx-business-muted: #55565e;
  --nx-business-radius: 12px;
}
.nx-business .site-header { border-bottom: 1px solid rgba(186,176,215,.18); }
.nx-business :is(.hero-actions,.cta-actions) .btn { white-space: normal; line-height: 1.4; }
.nx-business .btn { border-radius: 6px; }
.nx-business .home-hero .lead { max-width: 59ch; }
.nx-business .home-hero .nx-contact-hours { max-width: 56ch; }
.nx-business.nx-coherent main > :is(.nx-section,.section):not(.nx-customer-voices):not(.nx-optional-section) { padding-block: 80px; }
.nx-business.nx-coherent .nx-heading { margin-bottom: 36px; }
.nx-business.nx-coherent main > :is(.nx-section,.section) h2 {
  font-size: clamp(28px,3.3vw,42px) !important;
  line-height: 1.15;
  letter-spacing: -.035em;
}
.nx-business .nx-section-head {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(0,1fr);
  gap: 24px 64px;
  align-items: end;
  max-width: none;
}
.nx-business .nx-section-head > p { margin: 0 0 3px; max-width: 46ch; }
.nx-business .nx-section-head h2 { margin-bottom: 0; max-width: 24ch; }
.nx-business .nx-section-head > * { min-width: 0; }
.nx-business.nx-coherent main > .nx-customer-voices h2 { font-size: clamp(26px,2.8vw,34px) !important; }

/* Three business situations stay balanced across a single desktop row. */
.nx-business .nx-business-needs { grid-template-columns: repeat(3,minmax(0,1fr)); }
.nx-business .nx-business-needs article,
.nx-business .nx-business-needs article:nth-child(even) {
  display: flex; flex-direction: column;
  padding: 30px 28px;
  border-left: 1px solid var(--nx-business-rule);
  border-bottom: 1px solid var(--nx-business-rule);
}
.nx-business .nx-business-needs article:first-child { padding-left: 0; border-left: 0; }
.nx-business .nx-business-needs article:last-child { padding-right: 0; }

.nx-business .nx-business-needs h3 { min-height: 2.5em; }
.nx-business .nx-business-needs .nx-link { margin-top: auto; padding-top: 12px; }
.nx-business .nx-service-scope { grid-template-columns: repeat(3,minmax(0,1fr)); }
.nx-business .nx-service-scope article,
.nx-business .nx-service-scope article:nth-child(even) { padding: 28px; border-left: 1px solid var(--nx-business-rule); }
.nx-business .nx-service-scope article:nth-child(3n+1) { padding-left: 0; border-left: 0; }
.nx-business .nx-service-scope article:nth-child(3n) { padding-right: 0; }

/* Service families: consistent line icons, concise scope, descriptive links. */
.nx-business .nx-portfolio-section { background: #f5f5f3; }
.nx-business .nx-service-portfolio {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 1px solid var(--nx-business-rule);
  border-left: 1px solid var(--nx-business-rule);
}
.nx-business .nx-service-card {
  min-width: 0;
  display: flex; flex-direction: column; align-items: flex-start;
  padding: 28px;
  background: #fff;
  border-right: 1px solid var(--nx-business-rule);
  border-bottom: 1px solid var(--nx-business-rule);
  transition: background-color .18s ease;
}
.nx-business .nx-service-card:hover { background: #f6f4fa; }
.nx-business .nx-service-icon {
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 22px;
  background: #d0d953;
  border-radius: 8px;
  color: #000;
}
.nx-business .nx-service-card:nth-child(2n) .nx-service-icon { background: #bab0d7; }
.nx-business .nx-service-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.nx-business.nx-coherent .nx-service-card h3 { font-size: 23px !important; margin: 0 0 14px; min-height: 2.5em; }
.nx-business .nx-service-card p { font-size: 16px; line-height: 1.6; color: var(--nx-business-muted); margin: 0 0 20px; }
.nx-business .nx-service-card .nx-link { margin-top: auto; font-size: 15px; line-height: 1.45; text-decoration: none; gap: 10px; }
.nx-business .nx-service-card .nx-link:hover { text-decoration: underline; }
.nx-business .nx-service-card .nx-link svg { flex-shrink: 0; }
.nx-business .nx-engagement {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px 32px;
}
.nx-business .nx-engagement-label { grid-column: 1/-1; margin: 0; font-size: 13px; font-weight: 650; color: var(--nx-business-muted); }
.nx-business .nx-engagement > div { min-width: 0; border-left: 3px solid #bab0d7; padding-left: 16px; }
.nx-business .nx-engagement strong { display: block; font-size: 17px; line-height: 1.4; margin-bottom: 5px; }
.nx-business .nx-engagement span { display: block; font-size: 15px; line-height: 1.6; color: var(--nx-business-muted); }

/* Service introductions are specific to the offer, with real named contacts. */
.nx-business .nx-decision-hero .nx-decision-grid { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 56px; }
.nx-business .nx-service-brief {
  min-width: 0;
  padding: 28px;
  background: #19191b;
  border: 1px solid #3e3b45;
  border-top: 3px solid #bab0d7;
  border-radius: 0 0 var(--nx-business-radius) var(--nx-business-radius);
  color: #fff;
}
.nx-business .nx-service-brief > .eyebrow { margin: 0 0 16px; font-size: 12px; color: #bab0d7; }
.nx-business .nx-service-brief .nx-brief-title { margin: 0 0 22px; font-size: 22px; line-height: 1.35; font-weight: 650; letter-spacing: -.02em; color: #fff; }
.nx-business .nx-service-brief dl { margin: 0; }
.nx-business .nx-service-brief dl > div { padding: 17px 0; border-top: 1px solid #3e3b45; }
.nx-business .nx-service-brief dt { display: flex; align-items: baseline; gap: 12px; font-size: 16px; line-height: 1.4; font-weight: 650; }

.nx-business .nx-service-brief dd { margin: 5px 0 0 28px; font-size: 14px; line-height: 1.55; color: #d2ced8; }
.nx-business .nx-brief-contact { display: flex; gap: 12px; align-items: center; padding-top: 20px; margin-top: 6px; border-top: 1px solid #3e3b45; min-height: 64px; color: #fff; text-decoration: none; }
.nx-business .nx-brief-contact > span:nth-child(2) { flex: 1; min-width: 0; }
.nx-business .nx-brief-contact strong { display: block; font-size: 15px; line-height: 1.4; }
.nx-business .nx-brief-contact span span { display: block; font-size: 12px; color: #d2ced8; line-height: 1.5; margin-top: 4px; }
.nx-business .nx-brief-contact:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.nx-business .nx-brief-faces { display: flex; flex: 0 0 64px; }
.nx-business .nx-brief-faces img { display: block; width: 38px; height: 44px; object-fit: cover; border: 2px solid #19191b; border-radius: 6px; background: #d0d953; }
.nx-business .nx-brief-faces img + img { margin-left: -10px; background: #bab0d7; }

/* Documented customer case sections retain their descriptive headings. */

.nx-business .nx-case-stage { border-bottom: 1px solid var(--nx-business-rule); }
.nx-business .nx-case-stage:nth-child(odd) { background: #fff; }
.nx-business .nx-case-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: 64px; }
.nx-business.nx-coherent .nx-case-layout .nx-heading { margin: 0; }
.nx-business .nx-case-detail { min-width: 0; max-width: 66ch; }
.nx-business .nx-case-detail > :first-child { margin-top: 0; }
.nx-business .nx-case-detail > :last-child { margin-bottom: 0; }
.nx-business .nx-case-detail ul { margin: 0 0 20px; padding-left: 20px; }
.nx-business .nx-case-detail li + li { margin-top: 14px; }
.nx-business .nx-case-detail p { color: var(--nx-business-muted); }

/* The form remains short and uses the existing submission/consent handling. */
.nx-business.contact-page .contact-form { border-radius: var(--nx-business-radius); padding: 32px; }
.nx-business.contact-page .contact-form-head h2 { font-size: 32px; }
.nx-business.contact-page .contact-shortcuts a { border-radius: 6px; }
.nx-business.contact-page .contact-next li { border-top: 2px solid #bab0d7; padding-top: 20px; }
.nx-business.contact-page .contact-intro h1 { max-width: 14ch; }
.nx-business :is(.nx-dark,.nx-hero,.page-hero,.home-hero) a:focus-visible { outline-color: #d0d953; }
.nx-business .nx-service-card a:focus-visible { outline: 3px solid #000; outline-offset: 5px; }

@media (max-width: 1100px) {
  .nx-business .nx-section-head { gap: 32px; }
  .nx-business .nx-service-card { padding: 24px; }
  .nx-business .nx-decision-hero .nx-decision-grid { gap: 32px; }
  .nx-business .nx-case-layout { gap: 36px; }
}
@media (max-width: 900px) {
  .nx-business .nx-service-scope { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nx-business .nx-service-scope article,
  .nx-business .nx-service-scope article:nth-child(even),
  .nx-business .nx-service-scope article:nth-child(3n+1),
  .nx-business .nx-service-scope article:nth-child(3n) { padding: 24px; border-left: 1px solid var(--nx-business-rule); }
  .nx-business .nx-service-scope article:nth-child(odd) { padding-left: 0; border-left: 0; }
  .nx-business .nx-service-scope article:nth-child(even) { padding-right: 0; }
  .nx-business .nx-scope-three { grid-template-columns: minmax(0,1fr); }
  .nx-business .nx-scope-three article:nth-child(n) { padding: 24px 0; border-left: 0; }
  .nx-business .nx-service-portfolio { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nx-business .nx-decision-hero .nx-decision-grid { grid-template-columns: minmax(0,1fr); }
  .nx-business .nx-service-brief dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
  .nx-business .nx-service-brief dd { margin-left: 0; }
  .nx-business .nx-service-brief { padding: 24px; }
  .nx-business .nx-brief-contact { max-width: 430px; }
  .nx-business .nx-section-head { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .nx-business .nx-section-head > p { max-width: 62ch; }
  .nx-business .nx-business-needs article,
  .nx-business .nx-business-needs article:nth-child(even) { padding-inline: 20px; }
  .nx-business .nx-business-needs article:first-child { padding-left: 0; }
  .nx-business .nx-business-needs article:last-child { padding-right: 0; }
  
}
@media (max-width: 700px) {
  .nx-business.nx-coherent main > :is(.nx-section,.section):not(.nx-customer-voices):not(.nx-optional-section) { padding-block: 52px; }
  .nx-business .nx-business-needs { grid-template-columns: minmax(0,1fr); }
  .nx-business .nx-business-needs article,
  .nx-business .nx-business-needs article:nth-child(even) { padding: 24px 0; border-left: 0; }
  .nx-business .nx-business-needs h3 { min-height: 0; }
  .nx-business .nx-service-scope { grid-template-columns: minmax(0,1fr); }
  .nx-business .nx-service-scope article,
  .nx-business .nx-service-scope article:nth-child(even),
  .nx-business .nx-service-scope article:nth-child(3n+1),
  .nx-business .nx-service-scope article:nth-child(3n) { padding: 24px 0; border-left: 0; }
  .nx-business .nx-engagement { grid-template-columns: minmax(0,1fr); gap: 20px; }

  .nx-business .nx-case-layout { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .nx-business .nx-case-layout .nx-heading h2 { margin-bottom: 0; }
  .nx-business .nx-service-brief dl { grid-template-columns: minmax(0,1fr); gap: 0; }
  .nx-business .nx-service-brief dl > div { display: grid; grid-template-columns: 104px minmax(0,1fr); gap: 12px; align-items: baseline; }
  .nx-business .nx-service-brief dd { margin: 0; }
  .nx-business .nx-service-brief dt { gap: 8px; font-size: 15px; }
}
@media (max-width: 560px) {
  .nx-business .nx-service-portfolio { grid-template-columns: minmax(0,1fr); }
  .nx-business .nx-service-card { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 14px; padding: 24px; }
  .nx-business .nx-service-icon { width: 38px; height: 38px; margin: 0; }
  .nx-business .nx-service-icon svg { width: 25px; height: 25px; }
  .nx-business.nx-coherent .nx-service-card h3 { min-height: 0; font-size: 22px !important; margin: 0; }
  .nx-business .nx-service-card p { grid-column: 1/-1; margin: 0; }
  .nx-business .nx-service-card .nx-link { grid-column: 1/-1; margin: 0; }
  .nx-business.contact-page .contact-form { padding: 22px 18px; }
  .nx-business.contact-page .contact-form-head h2 { font-size: 28px; }
  .nx-business .nx-service-brief { padding: 22px 18px; }
  .nx-business .nx-service-brief .nx-brief-title { font-size: 20px; }
  .nx-business .nx-service-brief dl > div { grid-template-columns: minmax(0,1fr); gap: 5px; }
  .nx-business .nx-brief-contact { gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .nx-business .nx-service-card { transition: none; }
}

/* Descriptive working notes replace numbered presentation templates.
   The class is opt-in; the protected Putzig project keeps its existing layout. */
.nx-unlisted .nx-work-notes { max-width: 1100px; border-top: 1px solid #d9d9dd; }
.nx-unlisted .nx-work-note {
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.65fr);
  gap: 24px 48px;
  padding: 26px 0;
  border-bottom: 1px solid #d9d9dd;
}
.nx-unlisted.nx-coherent .nx-work-note h3 { font-size: 23px !important; line-height: 1.3; margin: 0; }
.nx-unlisted .nx-work-detail { min-width: 0; }
.nx-unlisted .nx-work-detail p { margin: 0; color: #55565e; max-width: 66ch; }
.nx-unlisted .nx-work-detail p + p { margin-top: 16px; }
.nx-unlisted .nx-work-detail .nx-link { margin-top: 10px; }
.nx-unlisted .nx-working-summary { max-width: 76ch; }
.nx-unlisted .nx-working-summary p { margin: 0; font-size: 18px; line-height: 1.7; color: #55565e; }
.nx-unlisted .nx-service-brief dt { display: block; }
.nx-unlisted .nx-service-brief dd { margin: 6px 0 0; }
.nx-unlisted.contact-page .nx-contact-reply { max-width: 76ch; margin: 0; font-size: 17px; line-height: 1.7; color: #55565e; }
@media (max-width: 760px) {
  .nx-unlisted .nx-work-note { grid-template-columns: minmax(0,1fr); gap: 12px; padding: 24px 0; }
  .nx-unlisted.nx-coherent .nx-work-note h3 { font-size: 22px !important; }
  .nx-unlisted .nx-working-summary p { font-size: 17px; }
}
@media (max-width: 700px) {
  .nx-unlisted .nx-service-brief dd { margin: 0; }
}
