@font-face {
  font-family: 'NwpPersian';
  src: url('/public/fonts/KamranB-web.ttf') format('truetype');
  font-display: swap;
}

:root {
  --nwp-ink: #24183d;
  --nwp-ink-2: #342356;
  --nwp-blue: #695aa6;
  --nwp-blue-dark: #50438b;
  --nwp-sky: #efe3ff;
  --nwp-paper: #fff9ff;
  --nwp-cloud: #f7efff;
  --nwp-line: #e2dced;
  --nwp-text: #302641;
  --nwp-muted: #6f6480;
  --nwp-teal: #7e57c2;
  --nwp-radius: 1.1rem;
  --nwp-shadow: 0 1.25rem 3.5rem rgba(57, 33, 99, .12);
  --nwp-shell: 72rem;
  --nwp-font: 'NwpPersian', Tahoma, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--nwp-paper); color: var(--nwp-text); font-family: var(--nwp-font); font-size: 1.075rem; line-height: 1.8; text-align: right; }
body, input, textarea, select, button { font-family: var(--nwp-font); }
a { color: inherit; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font-size: 1rem; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #a78bfa; outline-offset: 3px; }

.nwp-shell { width: min(calc(100% - 2.5rem), var(--nwp-shell)); margin-inline: auto; }
.nwp-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.nwp-skip-link { position: fixed; inset: 1rem auto auto 1rem; z-index: 99; padding: .7rem 1rem; background: #fff; color: var(--nwp-ink); transform: translateY(-200%); text-decoration: none; border-radius: .6rem; box-shadow: var(--nwp-shadow); }
.nwp-skip-link:focus { transform: translateY(0); }

.nwp-site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid rgba(220, 229, 240, .9); background: rgba(255, 253, 250, .94); backdrop-filter: blur(14px); }
.nwp-nav-wrap { min-height: 5rem; display: flex; align-items: center; gap: 1.4rem; }
.nwp-brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--nwp-ink); font-size: 1.25rem; font-weight: 800; line-height: 1; text-decoration: none; white-space: nowrap; }
.nwp-brand-mark { display: inline-grid; place-items: center; width: 2.35rem; height: 2.35rem; color: #fff; background: var(--nwp-ink); border-radius: .72rem; font-family: Arial, sans-serif; font-size: 1.05rem; font-weight: 800; }
.nwp-primary-nav { display: flex; align-items: center; justify-content: flex-start; flex: 1; gap: .1rem; }
.nwp-primary-nav > a { min-height: 2.75rem; display: inline-flex; align-items: center; padding: .55rem .62rem; color: #354b67; font-size: .93rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.nwp-primary-nav > a:hover { color: var(--nwp-blue); }
.nwp-primary-nav .nwp-nav-cta { min-height: 2.75rem; margin-right: auto; padding-inline: .95rem; border-radius: .68rem; background: var(--nwp-blue); color: #fff; }
.nwp-primary-nav .nwp-nav-cta:hover { background: var(--nwp-blue-dark); color: #fff; }
.nwp-menu-button { display: none; position: relative; width: 2.35rem; height: 2.35rem; margin-right: auto; padding: 0; border: 1px solid rgba(105, 90, 166, .22); border-radius: .72rem; background: rgba(255, 255, 255, .96); box-shadow: 0 .45rem 1rem rgba(36, 24, 61, .1); cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.nwp-menu-button:hover { border-color: rgba(105, 90, 166, .55); box-shadow: 0 .6rem 1.25rem rgba(36, 24, 61, .15); transform: translateY(-1px); }
.nwp-menu-button:active { transform: translateY(0); }
.nwp-menu-button > span:not(.nwp-visually-hidden) { position: absolute; top: 50%; left: 50%; display: block; width: 1.05rem; height: 2px; margin: 0; border-radius: 999px; background: var(--nwp-ink); transform: translate(-50%, calc(-50% - .34rem)); transition: transform .3s cubic-bezier(.22, 1, .36, 1), opacity .2s ease, width .25s ease; }
.nwp-menu-button > span:nth-of-type(3) { transform: translate(-50%, -50%); }
.nwp-menu-button > span:nth-of-type(4) { transform: translate(-50%, calc(-50% + .34rem)); }
.nwp-menu-button[aria-expanded='true'] > span:nth-of-type(2) { transform: translate(-50%, -50%) rotate(45deg); }
.nwp-menu-button[aria-expanded='true'] > span:nth-of-type(3) { opacity: 0; }
.nwp-menu-button[aria-expanded='true'] > span:nth-of-type(4) { transform: translate(-50%, -50%) rotate(-45deg); }

.nwp-eyebrow { display: flex; align-items: center; gap: .55rem; margin: 0 0 .85rem; color: var(--nwp-blue); font-size: .88rem; font-weight: 800; letter-spacing: .02em; }
.nwp-eyebrow > span { width: .55rem; height: .55rem; background: var(--nwp-teal); border-radius: 50%; }
.nwp-eyebrow--light { color: #d6e9ff; }
.nwp-eyebrow--light > span { background: #7ae0cf; }
.nwp-hero { padding: clamp(4.5rem, 8vw, 8rem) 0 5rem; background: radial-gradient(circle at 82% 18%, #dcecff 0, transparent 31rem), var(--nwp-paper); overflow: hidden; }
.nwp-hero-grid { display: grid; grid-template-columns: 1fr; align-items: center; }
.nwp-hero h1, .nwp-page-hero h1 { max-width: 100%; margin: 0; color: var(--nwp-ink); font-size: clamp(2.35rem, 5vw, 4.65rem); font-weight: 800; line-height: 1.28; letter-spacing: -.035em; }
.nwp-hero-lead, .nwp-page-hero > div > p:not(.nwp-eyebrow) { max-width: 46rem; margin: 1.7rem 0 0; color: var(--nwp-muted); font-size: 1.22rem; line-height: 2.05; }
.nwp-action-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.nwp-button { min-height: 3.1rem; display: inline-flex; align-items: center; justify-content: center; gap: .6rem; padding: .72rem 1.1rem; border: 1px solid transparent; border-radius: .72rem; font-weight: 800; line-height: 1.25; text-align: center; text-decoration: none; cursor: pointer; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
.nwp-button:hover { transform: translateY(-2px); }
.nwp-button--primary { color: #fff; background: var(--nwp-blue); box-shadow: 0 .65rem 1.6rem rgba(36, 107, 219, .2); }
.nwp-button--primary:hover { background: var(--nwp-blue-dark); color: #fff; }
.nwp-button--secondary { border-color: #b9c9dc; background: transparent; color: var(--nwp-ink); }
.nwp-button--secondary:hover { border-color: var(--nwp-blue); color: var(--nwp-blue); }
.nwp-button--light { color: var(--nwp-ink); background: #fff; }
.nwp-hero-qualifier { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; margin: 1.5rem 0 0; color: #4e6180; font-size: .9rem; font-weight: 700; }
.nwp-hero-qualifier i { width: .28rem; height: .28rem; background: var(--nwp-teal); border-radius: 50%; }

/* Hide the removed hero card if an older compiled template is still cached. */
.nwp-hero-panel, .nwp-panel-top, .nwp-panel-flow, .nwp-panel-metrics { display: none !important; }

.nwp-tech-strip { border-block: 1px solid #d5e1ee; background: #f6f9fd; }
.nwp-tech-strip > div { min-height: 4.3rem; display: flex; align-items: center; justify-content: center; gap: 1.25rem; color: #536983; font-size: .88rem; font-weight: 800; }
.nwp-tech-strip i { width: .3rem; height: .3rem; background: #9db4ce; border-radius: 50%; }
.nwp-section { padding: clamp(4rem, 7vw, 7.2rem) 0; }
.nwp-section--muted { background: var(--nwp-cloud); }
.nwp-section--ink { color: #eff7ff; background: var(--nwp-ink); }
.nwp-section--ink h2, .nwp-section--ink h3 { color: #fff; }
.nwp-section-heading { max-width: 45rem; margin-bottom: 2.6rem; }
.nwp-section-heading h2, .nwp-detail-lead h2, .nwp-review-offer h2, .nwp-final-cta h2 { margin: 0; color: var(--nwp-ink); font-size: clamp(1.9rem, 3.5vw, 3rem); font-weight: 800; line-height: 1.35; letter-spacing: -.02em; }
.nwp-section-heading > p:last-child { margin: 1rem 0 0; color: var(--nwp-muted); }
.nwp-section--ink .nwp-section-heading > p:last-child { color: #c5d6eb; }
.nwp-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.nwp-service-card { min-height: 17rem; display: flex; flex-direction: column; padding: 1.45rem; border: 1px solid var(--nwp-line); border-radius: var(--nwp-radius); background: #fff; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.nwp-service-card:hover { border-color: #9bc0ee; box-shadow: var(--nwp-shadow); transform: translateY(-4px); }
.nwp-card-index { color: var(--nwp-blue); font-family: Arial, sans-serif; font-size: .85rem; font-weight: 800; }
.nwp-service-card h3, .nwp-service-card h2 { margin: .8rem 0 .45rem; color: var(--nwp-ink); font-size: 1.42rem; line-height: 1.45; }
.nwp-service-card p { margin: 0; color: var(--nwp-muted); font-size: .98rem; line-height: 1.8; }
.nwp-service-card a, .nwp-text-link, .nwp-insights-grid a { display: inline-flex; align-items: center; gap: .4rem; margin-top: auto; padding-top: 1rem; color: var(--nwp-blue); font-size: .93rem; font-weight: 800; text-decoration: none; }
.nwp-service-card a:hover, .nwp-text-link:hover, .nwp-insights-grid a:hover { color: var(--nwp-blue-dark); text-decoration: underline; }
.nwp-text-link { margin-top: 1.45rem; }

.nwp-split-grid, .nwp-two-column { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.nwp-split-grid h2 { margin: 0; font-size: clamp(2rem, 3.7vw, 3.1rem); line-height: 1.35; }
.nwp-split-grid > div > p:last-child { color: #c5d6eb; }
.nwp-number-list { display: grid; gap: 1.15rem; margin: 0; padding: 0; list-style: none; }
.nwp-number-list li { display: grid; grid-template-columns: 3.2rem 1fr; gap: 1rem; padding-bottom: 1.15rem; border-bottom: 1px solid rgba(204, 225, 247, .22); }
.nwp-number-list b { color: #7ae0cf; font-family: Arial, sans-serif; }
.nwp-number-list h3 { margin: 0; font-size: 1.15rem; }
.nwp-number-list p { margin: .25rem 0 0; color: #c5d6eb; font-size: .95rem; }

.nwp-evidence-grid, .nwp-pricing-grid, .nwp-values-grid, .nwp-case-framework { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.nwp-evidence-grid article { padding: 1.5rem; border-top: 3px solid var(--nwp-teal); background: var(--nwp-cloud); }
.nwp-evidence-grid span { color: var(--nwp-blue); font-family: Arial, sans-serif; font-size: 1.8rem; font-weight: 800; }
.nwp-evidence-grid h3 { margin: .55rem 0 .2rem; color: var(--nwp-ink); font-size: 1.25rem; }
.nwp-evidence-grid p { margin: 0; color: var(--nwp-muted); }
.nwp-process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .9rem; }
.nwp-process-grid article { padding: 1.3rem; border-radius: .9rem; background: #fff; border: 1px solid var(--nwp-line); }
.nwp-process-grid b { color: var(--nwp-teal); font-family: Arial, sans-serif; }
.nwp-process-grid h3 { margin: .7rem 0 .2rem; color: var(--nwp-ink); font-size: 1.18rem; }
.nwp-process-grid p { margin: 0; color: var(--nwp-muted); font-size: .95rem; }
.nwp-review-offer { display: grid; grid-template-columns: 1.25fr .8fr auto; gap: 2.2rem; align-items: center; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid #bad4f4; border-radius: 1.35rem; background: #eff6ff; }
.nwp-review-offer > div > p:last-child { margin-bottom: 0; color: var(--nwp-muted); }
.nwp-review-offer ul { margin: 0; padding: 0; list-style: none; }
.nwp-review-offer li { position: relative; padding: .35rem 1.35rem .35rem 0; color: #395774; font-size: .92rem; }
.nwp-review-offer li::before { content: '✓'; position: absolute; right: 0; color: var(--nwp-teal); font-family: Arial, sans-serif; font-weight: 800; }
.nwp-pricing-grid article { min-height: 17rem; padding: 1.5rem; border: 1px solid rgba(167, 202, 239, .25); border-radius: var(--nwp-radius); background: var(--nwp-ink-2); }
.nwp-pricing-grid article:nth-child(2) { border-color: #4b86c7; background: #204b7d; }
.nwp-pricing-grid p { margin: 0; color: #82dfcf; font-size: .85rem; font-weight: 800; }
.nwp-pricing-grid h3 { margin: .7rem 0 1rem; font-size: 1.55rem; }
.nwp-pricing-grid ul { margin: 0; padding: 0; list-style: none; }
.nwp-pricing-grid li { position: relative; padding: .28rem 1.15rem .28rem 0; color: #dbe8f7; font-size: .92rem; }
.nwp-pricing-grid li::before { content: '•'; position: absolute; right: 0; color: #82dfcf; }
.nwp-insights-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.nwp-insights-grid article { display: flex; flex-direction: column; min-height: 15rem; padding: 1.4rem; border: 1px solid var(--nwp-line); border-radius: var(--nwp-radius); background: #fff; }
.nwp-insights-grid article > p:first-child { margin: 0; color: var(--nwp-blue); font-size: .8rem; font-weight: 800; }
.nwp-insights-grid h3, .nwp-insights-grid h2 { margin: .7rem 0; color: var(--nwp-ink); font-size: 1.27rem; line-height: 1.5; }
.nwp-insights-grid article > p:not(:first-child) { margin: 0; color: var(--nwp-muted); font-size: .94rem; }
.nwp-faq-list { display: grid; gap: .75rem; }
.nwp-faq-list details { border: 1px solid var(--nwp-line); border-radius: .8rem; background: #fff; }
.nwp-faq-list summary { min-height: 3.9rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.15rem; color: var(--nwp-ink); font-weight: 800; cursor: pointer; list-style: none; }
.nwp-faq-list summary::-webkit-details-marker { display: none; }
.nwp-faq-list summary span { color: var(--nwp-blue); font-family: Arial, sans-serif; font-size: 1.5rem; transition: transform .2s ease; }
.nwp-faq-list details[open] summary span { transform: rotate(45deg); }
.nwp-faq-list details p { margin: 0; padding: 0 1.15rem 1.1rem; color: var(--nwp-muted); }
.nwp-final-cta { padding: clamp(3.5rem, 7vw, 6rem) 0; background: var(--nwp-blue); color: #fff; }
.nwp-final-cta > div { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.nwp-final-cta h2 { color: #fff; max-width: 27ch; }
.nwp-final-cta p:not(.nwp-eyebrow) { color: #d9e9ff; }

.nwp-page-hero { padding: clamp(4.5rem, 8vw, 7.2rem) 0; background: var(--nwp-sky); }
.nwp-page-hero--compact { padding-block: 4rem; }
.nwp-page-hero--service { background: radial-gradient(circle at 12% 25%, #d7ecff, transparent 25rem), var(--nwp-sky); }
.nwp-breadcrumb { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1.8rem; color: #5d7190; font-size: .88rem; }
.nwp-breadcrumb a { color: var(--nwp-blue); text-decoration: none; }
.nwp-breadcrumb a:hover { text-decoration: underline; }
.nwp-service-grid--full .nwp-service-card { min-height: 15rem; }
.nwp-detail-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(2rem, 8vw, 8rem); align-items: start; }
.nwp-detail-lead h2 { max-width: 100%; }
.nwp-detail-lead p { max-width: 42rem; color: var(--nwp-muted); }
.nwp-detail-aside { padding: 1.5rem; border-right: 3px solid var(--nwp-teal); background: var(--nwp-cloud); }
.nwp-detail-aside h2 { margin: 0 0 .8rem; color: var(--nwp-ink); font-size: 1.3rem; }
.nwp-detail-aside ul, .nwp-check-list { margin: 0; padding: 0; list-style: none; }
.nwp-detail-aside li, .nwp-check-list li { position: relative; padding: .45rem 1.35rem .45rem 0; color: var(--nwp-muted); }
.nwp-detail-aside li::before, .nwp-check-list li::before { content: '✓'; position: absolute; right: 0; color: var(--nwp-teal); font-family: Arial, sans-serif; font-weight: 800; }
.nwp-two-column h2 { margin: 0 0 1rem; color: var(--nwp-ink); font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1.4; }
.nwp-value-card { padding: 1.7rem; border-radius: 1rem; background: var(--nwp-ink); color: #fff; }
.nwp-value-card > p { margin: 0; color: #82dfcf; font-size: .85rem; font-weight: 800; }
.nwp-value-card h2 { color: #fff; font-size: 1.8rem; }
.nwp-value-card p:last-child { margin-bottom: 0; color: #d5e5f7; font-size: .95rem; }
.nwp-process-grid--four { grid-template-columns: repeat(4, 1fr); }
.nwp-tech-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.nwp-tech-list li { padding: .85rem; border: 1px solid rgba(201, 226, 251, .24); border-radius: .65rem; background: rgba(255, 255, 255, .05); color: #e2effd; font-weight: 800; }
.nwp-section--ink .nwp-two-column p { color: #c7daf0; }
.nwp-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.nwp-related-grid a { position: relative; min-height: 13rem; display: flex; flex-direction: column; padding: 1.3rem; border: 1px solid var(--nwp-line); border-radius: 1rem; text-decoration: none; }
.nwp-related-grid h3 { margin: 0; color: var(--nwp-ink); font-size: 1.25rem; }
.nwp-related-grid p { margin: .65rem 0; color: var(--nwp-muted); font-size: .94rem; }
.nwp-related-grid span { margin-top: auto; color: var(--nwp-blue); }
.nwp-related-grid a:hover { border-color: #9cc3ee; box-shadow: var(--nwp-shadow); }

.nwp-case-framework { grid-template-columns: repeat(4, 1fr); }
.nwp-case-framework article { padding: 1.4rem; border-top: 3px solid var(--nwp-blue); background: #fff; box-shadow: 0 .6rem 1.5rem rgba(18, 47, 84, .05); }
.nwp-case-framework b { color: var(--nwp-blue); font-family: Arial, sans-serif; }
.nwp-case-framework h2 { margin: .7rem 0 .35rem; color: var(--nwp-ink); font-size: 1.3rem; }
.nwp-case-framework p { margin: 0; color: var(--nwp-muted); font-size: .95rem; }
.nwp-work-note { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.nwp-work-note h2 { margin: 0; color: var(--nwp-ink); font-size: 2rem; line-height: 1.4; }
.nwp-work-note > p { margin: 0; color: var(--nwp-muted); }
.nwp-process-timeline { display: grid; gap: 0; max-width: 54rem; margin: 0; padding: 0; list-style: none; }
.nwp-process-timeline li { position: relative; display: grid; grid-template-columns: 4rem 1fr; gap: 1.25rem; min-height: 8.5rem; }
.nwp-process-timeline li:not(:last-child)::before { content: ''; position: absolute; right: 1.35rem; top: 2.8rem; bottom: -.2rem; width: 1px; background: #bfd1e5; }
.nwp-process-timeline b { z-index: 1; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--nwp-ink); color: #fff; font-family: Arial, sans-serif; font-size: .8rem; }
.nwp-process-timeline h2 { margin: .2rem 0 .2rem; color: var(--nwp-ink); font-size: 1.45rem; }
.nwp-process-timeline p { margin: 0; color: var(--nwp-muted); }
.nwp-values-grid { grid-template-columns: repeat(4, 1fr); }
.nwp-values-grid article { padding: 1.4rem; border-radius: 1rem; background: #fff; }
.nwp-values-grid h2 { margin: 0 0 .55rem; color: var(--nwp-ink); font-size: 1.25rem; }
.nwp-values-grid p { margin: 0; color: var(--nwp-muted); font-size: .95rem; }
.nwp-category-list { display: flex; flex-wrap: wrap; gap: .55rem; margin: -1.3rem 0 2.2rem; }
.nwp-category-list span { padding: .4rem .75rem; border: 1px solid #c7d8e9; border-radius: 999px; color: #536d89; font-size: .88rem; font-weight: 700; }
.nwp-insights-grid--large { grid-template-columns: repeat(2, 1fr); }
.nwp-empty-state { padding: 2.5rem; border: 1px dashed #afc5dd; text-align: center; }
.nwp-empty-state h2 { margin: 0; color: var(--nwp-ink); font-size: 1.5rem; }
.nwp-empty-state p { margin-bottom: 0; color: var(--nwp-muted); }
.nwp-article { max-width: 51rem; padding-block: 4rem 6rem; }
.nwp-article h1 { margin: 0; color: var(--nwp-ink); font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.35; }
.nwp-article-lead { color: var(--nwp-muted); font-size: 1.2rem; }
.nwp-article img { width: 100%; max-height: 32rem; margin: 2rem 0; border-radius: 1rem; object-fit: cover; }
.nwp-article-content { margin: 2rem 0; color: #314863; white-space: pre-wrap; }
.nwp-legal { max-width: 51rem; padding-block: 4rem 6rem; }
.nwp-legal section { padding: 1.5rem 0; border-bottom: 1px solid var(--nwp-line); }
.nwp-legal h2 { margin: 0 0 .6rem; color: var(--nwp-ink); font-size: 1.5rem; }
.nwp-legal p { margin: 0; color: var(--nwp-muted); }

.nwp-review-page { padding: clamp(3rem, 6vw, 6rem) 0; background: radial-gradient(circle at 82% 5%, #ead8ff 0, transparent 26rem), var(--nwp-paper); }
.nwp-review-page-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.nwp-review-intro { padding-top: 2rem; }
.nwp-review-intro h1 { max-width: 100%; margin: 0; color: var(--nwp-ink); font-size: clamp(2.2rem, 4.2vw, 3.8rem); line-height: 1.28; }
.nwp-review-intro > p:not(.nwp-eyebrow) { color: var(--nwp-muted); }
.nwp-review-benefits { display: grid; gap: .7rem; margin-top: 2rem; }
.nwp-review-benefits div { display: grid; grid-template-columns: 2rem 1fr; gap: .7rem; align-items: center; color: #425d7a; font-weight: 700; }
.nwp-review-benefits b { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; color: var(--nwp-blue); background: var(--nwp-sky); font-family: Arial, sans-serif; font-size: .78rem; }
.nwp-multistep-card { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #c6d9ef; border-radius: 1.1rem; background: #fff; box-shadow: var(--nwp-shadow); }
.nwp-form-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.nwp-form-head p { margin: 0; color: var(--nwp-muted); font-size: .85rem; }
.nwp-form-head h2 { margin: 0; color: var(--nwp-ink); font-size: 1.65rem; }
.nwp-form-head > span { color: var(--nwp-blue); font-size: .9rem; font-weight: 800; }
.nwp-stepper { display: flex; gap: .35rem; margin: 1.2rem 0 0; padding: 0; overflow-x: auto; list-style: none; scrollbar-width: thin; }
.nwp-stepper li { flex: 1 0 auto; min-width: 4.2rem; padding: .45rem .55rem; border-bottom: 2px solid #d6e2ef; color: #73869c; font-size: .76rem; font-weight: 800; text-align: center; white-space: nowrap; }
.nwp-stepper li.is-active { border-color: var(--nwp-blue); color: var(--nwp-blue); }
.nwp-stepper li.is-complete { border-color: var(--nwp-teal); color: #168b7a; }
.nwp-progress { height: .35rem; margin: 1.25rem 0 1.6rem; overflow: hidden; border-radius: 99px; background: #e3ebf4; }
.nwp-progress span { display: block; width: 20%; height: 100%; border-radius: inherit; background: var(--nwp-teal); transition: width .2s ease; }
.nwp-multistep-card fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.nwp-multistep-card fieldset[hidden], .nwp-multistep-card [hidden] { display: none !important; }
.nwp-multistep-card legend { padding: 0; color: var(--nwp-ink); font-size: 1.32rem; font-weight: 800; }
.nwp-multistep-card fieldset > p { margin: .2rem 0 1.25rem; color: var(--nwp-muted); font-size: .93rem; }
.nwp-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.nwp-field-grid label { display: grid; gap: .35rem; color: #334f70; font-size: .92rem; font-weight: 800; }
.nwp-form-group { display: grid; gap: .55rem; }
.nwp-question { color: #334f70; font-size: .92rem; font-weight: 800; line-height: 1.8; }
.nwp-multistep-card .nwp-field-grid { grid-template-columns: 1fr; }
.nwp-multistep-card .nwp-field-full { grid-column: auto; }
.nwp-field-full { grid-column: 1 / -1; }
.nwp-field-grid input, .nwp-field-grid textarea, .nwp-field-grid select { width: 100%; min-height: 3rem; padding: .65rem .75rem; border: 1px solid #b8cae0; border-radius: .62rem; background: #fff; color: var(--nwp-ink); line-height: 1.5; }
.nwp-field-grid textarea { min-height: auto; resize: vertical; }
.nwp-field-grid input:invalid:not(:placeholder-shown), .nwp-field-grid textarea:invalid:not(:placeholder-shown) { border-color: #b94040; }
.nwp-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.nwp-choice-grid label { position: relative; min-height: 4.2rem; display: flex; align-items: center; padding: .75rem; border: 1px solid #c3d2e3; border-radius: .7rem; color: #3c5573; cursor: pointer; }
.nwp-choice-grid input { position: absolute; opacity: 0; }
.nwp-choice-grid label:has(input:checked) { border-color: var(--nwp-blue); background: var(--nwp-sky); color: var(--nwp-ink); box-shadow: inset 0 0 0 1px var(--nwp-blue); }
.nwp-choice-grid label:has(input:disabled) { cursor: default; opacity: .65; }
.nwp-final-question { padding: 1rem; border: 1px solid #a9c8eb; border-right: 3px solid var(--nwp-blue); border-radius: .75rem; background: #f5f9ff; }
.nwp-consent { display: flex; gap: .7rem; align-items: flex-start; color: #45607d; font-size: .95rem; }
.nwp-consent input { width: 1.15rem; height: 1.15rem; margin-top: .33rem; flex: 0 0 auto; }
.nwp-consent a { color: var(--nwp-blue); }
.nwp-honeypot { position: absolute !important; right: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.nwp-form-actions { display: flex; gap: .7rem; margin-top: 1.6rem; }
.nwp-form-actions [data-form-prev] { margin-left: auto; }
.nwp-form-status { margin: 0 0 1rem; padding: .75rem .9rem; border-right: 3px solid #b94040; background: #fff1f1; color: #8d2525; font-size: .92rem; }
.nwp-form-status[data-state='success'] { border-color: var(--nwp-teal); background: #e9fbf7; color: #106d5e; }
.nwp-form-success { text-align: center; }
.nwp-form-success > span { display: grid; place-items: center; width: 3.75rem; height: 3.75rem; margin: 1.2rem auto; border-radius: 50%; background: #e3faf4; color: #07836f; font-family: Arial, sans-serif; font-size: 2rem; font-weight: 800; }
.nwp-form-success > p:first-of-type { margin: 0; color: var(--nwp-teal); font-size: .9rem; font-weight: 800; }
.nwp-form-success h3 { margin: .5rem 0; color: var(--nwp-ink); font-size: 1.45rem; }
.nwp-form-success p { color: var(--nwp-muted); }

.nwp-footer { padding: 3.8rem 0 1.2rem; color: #c8d7e9; background: #0c1d34; }
.nwp-footer-grid { display: grid; grid-template-columns: 1.4fr .8fr .8fr; gap: 3rem; }
.nwp-brand--footer { color: #fff; }
.nwp-brand--footer .nwp-brand-mark { background: #2d73de; }
.nwp-footer p { margin: 1rem 0 0; color: #b2c4d9; font-size: .94rem; }
.nwp-footer h2 { margin: 0 0 .7rem; color: #fff; font-size: 1.05rem; }
.nwp-footer-grid > div:not(:first-child) { display: grid; align-content: start; }
.nwp-footer-grid a:not(.nwp-brand) { width: fit-content; min-height: 2rem; color: #c8d7e9; font-size: .92rem; text-decoration: none; }
.nwp-footer-grid a:not(.nwp-brand):hover { color: #fff; text-decoration: underline; }
.nwp-footer-bottom { display: flex; justify-content: space-between; margin-top: 3rem; padding-top: 1.2rem; border-top: 1px solid rgba(196, 219, 244, .16); color: #9db3ca; font-family: Arial, sans-serif; font-size: .78rem; }
.nwp-footer-bottom a { color: #a8d7ff; }

@media (max-width: 1040px) {
  .nwp-primary-nav > a { padding-inline: .42rem; font-size: .85rem; }
  .nwp-primary-nav .nwp-nav-cta { padding-inline: .65rem; }
  .nwp-service-grid, .nwp-values-grid { grid-template-columns: repeat(2, 1fr); }
  .nwp-case-framework { grid-template-columns: repeat(2, 1fr); }
  .nwp-process-grid--four { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .nwp-shell { width: min(calc(100% - 2rem), var(--nwp-shell)); }
  .nwp-menu-button { display: inline-grid; place-items: center; }
  .nwp-primary-nav { position: absolute; top: calc(100% + 1px); left: 0; width: min(9.5rem, calc(100vw - 2rem)); display: grid; max-height: calc(100vh - 5rem); overflow-y: auto; overflow-x: hidden; padding: .75rem 1rem; border: 1px solid var(--nwp-line); border-top: 0; border-radius: 0 0 .9rem 0; background: var(--nwp-paper); box-shadow: 0 .9rem 2rem rgba(36, 24, 61, .16); opacity: 0; transform: translateX(-105%); visibility: hidden; pointer-events: none; transition: transform .35s cubic-bezier(.22, 1, .36, 1), opacity .2s ease, visibility 0s linear .35s; }
  .nwp-primary-nav[data-open='true'] { opacity: 1; transform: translateX(0); visibility: visible; pointer-events: auto; transition-delay: 0s; }
  .nwp-primary-nav > a, .nwp-primary-nav .nwp-nav-cta { min-height: 2.8rem; margin: 0; padding-inline: .7rem; white-space: normal; line-height: 1.45; }
  .nwp-primary-nav .nwp-nav-cta { justify-content: center; margin-top: .3rem; }
  .nwp-hero-grid, .nwp-review-page-grid, .nwp-detail-grid, .nwp-split-grid, .nwp-two-column, .nwp-work-note { grid-template-columns: 1fr; }
  .nwp-hero h1 { max-width: 100%; }
  .nwp-review-intro { padding-top: 0; }
  .nwp-review-offer { grid-template-columns: 1fr; gap: 1.3rem; }
  .nwp-review-offer .nwp-button { width: fit-content; }
  .nwp-footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .nwp-footer-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  body { font-size: 1rem; }
  .nwp-site-header .nwp-shell { width: min(calc(100% - 1.4rem), var(--nwp-shell)); }
  .nwp-brand { font-size: 1.05rem; }
  .nwp-brand-mark { width: 2.1rem; height: 2.1rem; }
  .nwp-hero { padding-top: 3.5rem; }
  .nwp-hero h1, .nwp-page-hero h1, .nwp-review-intro h1 { font-size: 2.25rem; }
  .nwp-hero-lead, .nwp-page-hero > div > p:not(.nwp-eyebrow) { font-size: 1.06rem; }
  .nwp-tech-strip > div { justify-content: flex-start; gap: .65rem; overflow-x: auto; white-space: nowrap; font-size: .79rem; }
  .nwp-service-grid, .nwp-evidence-grid, .nwp-pricing-grid, .nwp-insights-grid, .nwp-process-grid, .nwp-process-grid--four, .nwp-related-grid, .nwp-case-framework, .nwp-values-grid { grid-template-columns: 1fr; }
  .nwp-service-card { min-height: 0; }
  .nwp-final-cta > div { display: grid; }
  .nwp-final-cta .nwp-button { width: 100%; }
  .nwp-tech-list, .nwp-field-grid, .nwp-choice-grid { grid-template-columns: 1fr; }
  .nwp-field-full { grid-column: auto; }
  .nwp-form-actions { flex-wrap: wrap; }
  .nwp-form-actions .nwp-button { flex: 1; }
  .nwp-form-actions [data-form-prev] { margin-left: 0; }
  .nwp-footer-grid { grid-template-columns: 1fr; }
  .nwp-footer-grid > div:first-child { grid-column: auto; }
  .nwp-footer-bottom { gap: .8rem; align-items: center; }
  .nwp-process-timeline li { grid-template-columns: 3.25rem 1fr; gap: .75rem; }
  .nwp-process-timeline li:not(:last-child)::before { right: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* More colorful purple backgrounds for the main surfaces. */
.nwp-hero { background: radial-gradient(circle at 82% 18%, #d8b4fe 0, transparent 31rem), linear-gradient(125deg, #fffbff 0%, #f6eaff 58%, #eadbff 100%); }
.nwp-hero::before { border-color: rgba(124, 58, 237, .2); background: radial-gradient(circle at 38% 45%, rgba(192, 38, 211, .2), transparent 11rem), repeating-radial-gradient(circle at center, transparent 0 2rem, rgba(124, 58, 237, .08) 2.1rem 2.16rem); }
.nwp-review-offer { border-color: #d6b6ff; background: linear-gradient(135deg, #fbf4ff, #f2e3ff); }
.nwp-pricing-grid article:nth-child(2) { border-color: #927bc5; background: #45316d; }
.nwp-final-question { border-color: #d7baff; background: #f4e8ff; }
.nwp-conditional-section { background: #fdf8ff; }

.nwp-page-hero { background: radial-gradient(circle at 88% 5%, rgba(192, 38, 211, .22), transparent 25rem), linear-gradient(135deg, #ebddff 0%, #fbf4ff 52%, #e2d0ff 100%); }
.nwp-page-hero::before { background-image: linear-gradient(rgba(124, 58, 237, .14) 1px, transparent 1px), linear-gradient(90deg, rgba(124, 58, 237, .14) 1px, transparent 1px); }
.nwp-page-hero::after { border-color: rgba(124, 58, 237, .25); box-shadow: 0 0 0 3rem rgba(192, 38, 211, .06), 0 0 0 6rem rgba(124, 58, 237, .04); }
.nwp-page-hero .nwp-eyebrow { color: #5a438e; }
.nwp-page-hero h1 { color: #2c1c4a; }
.nwp-page-hero--service { background: radial-gradient(circle at 12% 25%, rgba(168, 85, 247, .24), transparent 25rem), linear-gradient(135deg, #ebddff 0%, #fbf4ff 52%, #e2d0ff 100%); }
.nwp-page-hero-visual { border-color: rgba(207, 184, 244, .52); background: linear-gradient(145deg, #21133c 0%, #4c2d79 58%, #7353a5 100%); box-shadow: 0 1.65rem 3.7rem rgba(57, 33, 99, .26); }
.nwp-page-hero-visual::before { border-color: rgba(220, 201, 255, .26); box-shadow: 0 0 0 2.2rem rgba(185, 150, 235, .06), 0 0 0 4.4rem rgba(185, 150, 235, .045); }
.nwp-page-hero-visual__canvas { border-color: rgba(220, 201, 255, .3); background: linear-gradient(rgba(190, 163, 238, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(190, 163, 238, .12) 1px, transparent 1px), rgba(25, 13, 50, .28); }
.nwp-page-hero-visual__orb { background: radial-gradient(circle at 35% 30%, #eadcff, #9767d0 42%, #3b2168 70%); box-shadow: 0 0 0 1rem rgba(169, 118, 225, .13), 0 0 2.5rem rgba(183, 132, 240, .55); }
.nwp-page-hero-visual__line { background: linear-gradient(90deg, transparent, #c8a8f1); }
.nwp-page-hero-visual__card { border-color: rgba(225, 207, 255, .34); background: rgba(34, 17, 68, .78); }
.nwp-page-hero-visual__card--accent { background: rgba(104, 69, 157, .88); }
.nwp-page-hero-visual__footer i { background: linear-gradient(90deg, transparent, rgba(223, 207, 255, .58), transparent); }
.nwp-architecture-card { padding: clamp(1.25rem, 3vw, 1.8rem); border-color: #d6b6ff; background: linear-gradient(145deg, #fdf8ff, #f0ddff); box-shadow: 0 1.2rem 2.5rem rgba(50, 24, 91, .14); }
.nwp-architecture-card h3 { margin: 0 0 1.25rem; color: var(--nwp-ink); font-size: clamp(1.3rem, 2vw, 1.55rem); line-height: 1.45; }
.nwp-architecture-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.nwp-architecture-item { min-height: 8.1rem; display: flex; align-items: flex-start; gap: .8rem; padding: 1rem; border: 1px solid rgba(126, 87, 194, .22); border-radius: .9rem; background: rgba(255, 255, 255, .7); box-shadow: 0 .45rem 1rem rgba(75, 42, 119, .06); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.nwp-architecture-item:hover { border-color: rgba(105, 90, 166, .58); box-shadow: 0 .75rem 1.4rem rgba(75, 42, 119, .12); transform: translateY(-2px); }
.nwp-architecture-item__index { display: grid; flex: 0 0 2.15rem; place-items: center; width: 2.15rem; height: 2.15rem; border-radius: .65rem; background: var(--nwp-blue); color: #fff; font-family: Arial, sans-serif; font-size: .72rem; font-weight: 800; line-height: 1; }
.nwp-architecture-item h4 { margin: 0; color: var(--nwp-ink); font-size: 1rem; line-height: 1.5; }
.nwp-architecture-item p { margin: .25rem 0 0; color: var(--nwp-muted); font-size: .86rem; line-height: 1.75; }
.nwp-dark-card-grid article { border-color: rgba(214, 191, 248, .24); background: #342356; }
.nwp-dark-card-grid a { color: #d2b8f4; }

.nwp-contact-section { background: radial-gradient(circle at 8% 0, #ead8ff 0, transparent 24rem), var(--nwp-paper); }.nwp-contact-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(24rem, 1.14fr); gap: clamp(2rem, 8vw, 7rem); align-items: start; }.nwp-contact-intro { padding-top: 1.5rem; }.nwp-contact-intro h2 { max-width: 15ch; margin: 0; color: var(--nwp-ink); font-size: clamp(2rem, 3.8vw, 3.3rem); line-height: 1.35; }.nwp-contact-intro > p:not(.nwp-eyebrow) { max-width: 37rem; color: var(--nwp-muted); }.nwp-contact-intro .nwp-check-list { display: grid; gap: .45rem; margin-top: 1.7rem; }.nwp-contact-card { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #c6d9ef; border-radius: 1.1rem; background: #fff; box-shadow: var(--nwp-shadow); }.nwp-contact-card__head { margin-bottom: 1.5rem; }.nwp-contact-card__head p { margin: 0; color: var(--nwp-muted); font-size: .85rem; }.nwp-contact-card__head h2 { margin: .2rem 0 0; color: var(--nwp-ink); font-size: 1.65rem; }.nwp-contact-form { display: grid; gap: 1.25rem; }.nwp-contact-form .nwp-button { width: fit-content; }.nwp-contact-form .nwp-button[disabled] { cursor: wait; opacity: .78; }.nwp-button-spinner { width: 1rem; height: 1rem; border: 2px solid rgba(255, 255, 255, .45); border-top-color: #fff; border-radius: 50%; animation: nwp-button-spin .7s linear infinite; }@keyframes nwp-button-spin { to { transform: rotate(360deg); } }.nwp-contact-note { margin: -.35rem 0 0; color: var(--nwp-muted); font-size: .85rem; line-height: 1.75; }.nwp-contact-status { margin: 0 0 1rem; padding: .75rem .9rem; border-right: 3px solid #b94040; background: #fff1f1; color: #8d2525; font-size: .92rem; }.nwp-contact-status[data-state='success'] { display: flex; gap: .55rem; align-items: flex-start; border-color: var(--nwp-teal); background: #e9fbf7; color: #106d5e; font-weight: 700; }.nwp-contact-status[data-state='success']::before { content: '✓'; display: grid; flex: 0 0 auto; place-items: center; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: #0d9b83; color: #fff; font-family: Arial, sans-serif; font-size: .8rem; }@media (max-width: 820px) { .nwp-contact-grid { grid-template-columns: 1fr; } }

/* Problem-led architecture sections. Keep the visual language calm and let the copy carry the hierarchy. */
.nwp-problem-grid, .nwp-capability-grid, .nwp-quality-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.nwp-problem-card, .nwp-capability-card, .nwp-quality-grid article { min-height: 15rem; padding: 1.35rem; border: 1px solid var(--nwp-line); border-radius: var(--nwp-radius); background: #fff; }
.nwp-problem-card { border-top: 3px solid var(--nwp-blue); }
.nwp-card-index { display: block; color: var(--nwp-blue); font-family: Arial, sans-serif; font-size: .8rem; font-weight: 800; }
.nwp-problem-card h3, .nwp-capability-card h3, .nwp-quality-grid h3 { margin: .65rem 0 .45rem; color: var(--nwp-ink); font-size: 1.25rem; line-height: 1.5; }
.nwp-problem-card p, .nwp-capability-card p, .nwp-quality-grid p { margin: 0; color: var(--nwp-muted); font-size: .95rem; }
.nwp-problem-card a, .nwp-quality-grid a { display: inline-flex; gap: .4rem; margin-top: 1.2rem; color: var(--nwp-blue); font-weight: 800; text-decoration: none; }
.nwp-problem-card a:hover, .nwp-quality-grid a:hover { text-decoration: underline; }
.nwp-capability-grid { grid-template-columns: repeat(2, 1fr); }
.nwp-capability-card { min-height: 13rem; background: linear-gradient(145deg, #fff, #f3e6ff); }
.nwp-card-links { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; }
.nwp-card-links a { padding: .3rem .55rem; border: 1px solid #d8cbed; border-radius: 999px; color: #5c438e; font-size: .82rem; font-weight: 800; text-decoration: none; }
.nwp-card-links a:hover { border-color: var(--nwp-blue); background: #fff; }
.nwp-quality-grid { grid-template-columns: repeat(4, 1fr); }
.nwp-quality-grid article { min-height: 14rem; }
.nwp-dark-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.nwp-dark-card-grid article { min-height: 16rem; padding: 1.45rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: var(--nwp-radius); background: #342356; color: #fff; }
.nwp-dark-card-grid article > p { margin: 0; color: #d2b8f4; font-size: .85rem; font-weight: 800; }
.nwp-dark-card-grid h3 { margin: .75rem 0 1.25rem; color: #fff; font-size: 1.35rem; line-height: 1.55; }
.nwp-dark-card-grid a { display: block; margin-top: .65rem; color: #d2b8f4; font-size: .92rem; font-weight: 800; text-decoration: none; }
.nwp-dark-card-grid a:hover { color: #fff; text-decoration: underline; }
.nwp-fit-list { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.nwp-fit-list li { display: grid; gap: .15rem; padding: .85rem 1rem; border: 1px solid rgba(214, 191, 248, .24); border-radius: .7rem; background: rgba(255, 255, 255, .05); }
.nwp-fit-list strong { color: #fff; }
.nwp-fit-list span { color: #c7b9df; font-size: .9rem; }
.nwp-outcome-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.nwp-service-category { margin: .5rem 0 0; color: var(--nwp-blue); font-size: .8rem; font-weight: 800; }
.nwp-service-outcomes { display: grid; gap: .25rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.nwp-service-outcomes li { position: relative; padding-right: 1rem; color: #48627e; font-size: .9rem; }
.nwp-service-outcomes li::before { content: '·'; position: absolute; right: 0; color: var(--nwp-teal); font-weight: 900; }
.nwp-service-tech-tags { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.2rem; }
.nwp-service-tech-tags span { padding: .32rem .6rem; border: 1px solid #d5c5ec; border-radius: 999px; color: #5c438e; font-size: .82rem; font-weight: 800; }
.nwp-section--ink h2, .nwp-section--ink h3 { color: #fff; }
.nwp-section--ink .nwp-architecture-card h3 { color: var(--nwp-ink); }
.nwp-section--ink .nwp-architecture-card li { color: var(--nwp-muted); }

@media (max-width: 1040px) {
  .nwp-quality-grid { grid-template-columns: repeat(2, 1fr); }
  .nwp-dark-card-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
  .nwp-problem-grid, .nwp-capability-grid, .nwp-outcome-layout { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .nwp-problem-grid, .nwp-capability-grid, .nwp-quality-grid, .nwp-dark-card-grid { grid-template-columns: 1fr; }
  .nwp-architecture-grid { grid-template-columns: 1fr; }
}

.nwp-footer-grid { grid-template-columns: 1.35fr repeat(3, .85fr); }
.nwp-article-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid var(--nwp-line); }
@media (max-width: 820px) { .nwp-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .nwp-footer-grid { grid-template-columns: 1fr; } .nwp-article-links { align-items: stretch; flex-direction: column; } }

/* 2026 brand refinement: off-white surfaces, charcoal type, orange signal. */
:root {
  --nwp-ink: #20201e;
  --nwp-ink-2: #2b2b28;
  --nwp-blue: #e4572e;
  --nwp-blue-dark: #bf3c1d;
  --nwp-sky: #fff0e9;
  --nwp-paper: #fbfbf8;
  --nwp-cloud: #f1f1ed;
  --nwp-line: #deded7;
  --nwp-text: #282825;
  --nwp-muted: #6c6c66;
  --nwp-teal: #f2a51a;
  --nwp-shadow: 0 1.25rem 3.5rem rgba(32, 32, 30, .11);
}

body { background: var(--nwp-paper); color: var(--nwp-text); }
.nwp-site-header { border-bottom-color: rgba(32, 32, 30, .1); background: rgba(251, 251, 248, .9); }
.nwp-primary-nav > a { color: #484842; }
.nwp-primary-nav > a:hover { color: var(--nwp-blue); }
.nwp-primary-nav .nwp-nav-cta { background: var(--nwp-blue); }
.nwp-primary-nav .nwp-nav-cta:hover { background: var(--nwp-blue-dark); }
.nwp-menu-button { border-color: var(--nwp-line); background: var(--nwp-paper); }
.nwp-menu-button > span:not(.nwp-visually-hidden) { background: var(--nwp-ink); }
.nwp-hero { position: relative; padding-bottom: clamp(4rem, 7vw, 6.5rem); background: radial-gradient(circle at 75% 16%, rgba(228, 87, 46, .14), transparent 27rem), linear-gradient(135deg, #fbfbf8 0%, #fff5ef 62%, #f7e4dc 100%); }
.nwp-hero::before { content: ''; position: absolute; inset: 2rem auto auto 4%; width: 18rem; height: 18rem; border: 1px solid rgba(228, 87, 46, .16); border-radius: 50%; background: repeating-radial-gradient(circle at center, transparent 0 1.6rem, rgba(228, 87, 46, .05) 1.7rem 1.75rem); pointer-events: none; }
.nwp-hero-grid { position: relative; z-index: 1; grid-template-columns: minmax(0, 1.03fr) minmax(26rem, .97fr); gap: clamp(2.5rem, 7vw, 7.5rem); }
.nwp-hero h1, .nwp-page-hero h1 { color: var(--nwp-ink); }
.nwp-hero-lead { color: #5f5f59; }
.nwp-eyebrow { color: var(--nwp-blue); }
.nwp-eyebrow > span { background: var(--nwp-blue); }
.nwp-eyebrow--light { color: #ffc9b8; }
.nwp-eyebrow--light > span { background: #f5ae2d; }
.nwp-button--primary { background: var(--nwp-blue); box-shadow: 0 .65rem 1.6rem rgba(228, 87, 46, .2); }
.nwp-button--primary:hover { background: var(--nwp-blue-dark); }
.nwp-button--secondary { border-color: #c9c9c1; }
.nwp-button--secondary:hover { border-color: var(--nwp-blue); color: var(--nwp-blue); }
.nwp-tech-strip { border-block-color: #deded7; background: #f2f2ed; }
.nwp-tech-strip > div { color: #5d5d57; }
.nwp-tech-strip i { background: var(--nwp-blue); }
.nwp-section--muted { background: var(--nwp-cloud); }
.nwp-section--ink { background: var(--nwp-ink); }
.nwp-final-cta { background: var(--nwp-blue); }
.nwp-footer { background: #171716; }
.nwp-page-hero { background: radial-gradient(circle at 88% 5%, rgba(228, 87, 46, .14), transparent 25rem), linear-gradient(135deg, #ffe8df 0%, #fff8f4 52%, #f8ded3 100%); }
.nwp-page-hero::before { background-image: linear-gradient(rgba(228, 87, 46, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(228, 87, 46, .12) 1px, transparent 1px); }
.nwp-page-hero::after { border-color: rgba(228, 87, 46, .25); box-shadow: 0 0 0 3rem rgba(228, 87, 46, .06), 0 0 0 6rem rgba(242, 165, 26, .05); }
.nwp-page-hero .nwp-eyebrow { color: #a6452d; }
.nwp-page-hero--service { background: radial-gradient(circle at 12% 25%, rgba(242, 165, 26, .18), transparent 25rem), linear-gradient(135deg, #ffe8df 0%, #fff8f4 52%, #f8ded3 100%); }
.nwp-page-hero-visual { border-color: rgba(239, 170, 66, .5); background: linear-gradient(145deg, #272724 0%, #34342f 58%, #49443b 100%); box-shadow: 0 1.65rem 3.7rem rgba(32, 32, 30, .22); }
.nwp-page-hero-visual::before { border-color: rgba(255, 207, 153, .24); box-shadow: 0 0 0 2.2rem rgba(239, 170, 66, .06), 0 0 0 4.4rem rgba(228, 87, 46, .04); }
.nwp-page-hero-visual__canvas { border-color: rgba(255, 211, 161, .26); background: linear-gradient(rgba(240, 180, 80, .1) 1px, transparent 1px), linear-gradient(90deg, rgba(240, 180, 80, .1) 1px, transparent 1px), rgba(32, 32, 30, .28); }
.nwp-page-hero-visual__orb { background: radial-gradient(circle at 35% 30%, #ffe5c2, #e4572e 42%, #542619 70%); box-shadow: 0 0 0 1rem rgba(239, 170, 66, .13), 0 0 2.5rem rgba(228, 87, 46, .45); }
.nwp-page-hero-visual__line { background: linear-gradient(90deg, transparent, #f2a51a); }
.nwp-page-hero-visual__card { border-color: rgba(255, 211, 161, .28); background: rgba(39, 39, 36, .78); }
.nwp-page-hero-visual__card--accent { background: rgba(167, 64, 35, .88); }
.nwp-review-offer { border-color: #efc7bb; background: linear-gradient(135deg, #fff8f4, #ffece4); }
.nwp-final-question { border-color: #efc7bb; background: #fff1eb; }
.nwp-conditional-section { background: #fffaf7; }
.nwp-contact-section { background: radial-gradient(circle at 8% 0, #ffe3d8 0, transparent 24rem), var(--nwp-paper); }

.nwp-nav-menu { position: relative; display: inline-block; }
.nwp-nav-menu summary { min-height: 2.75rem; display: inline-flex; align-items: center; gap: .28rem; padding: .55rem .62rem; color: #484842; font-size: .93rem; font-weight: 700; cursor: pointer; list-style: none; white-space: nowrap; }
.nwp-nav-menu summary::-webkit-details-marker { display: none; }
.nwp-nav-menu summary span { color: var(--nwp-blue); font-family: Arial, sans-serif; font-size: .95rem; transition: transform .2s ease; }
.nwp-nav-menu[open] summary span { transform: rotate(180deg); }
.nwp-mega-menu { position: absolute; top: calc(100% + .7rem); right: 0; z-index: 5; display: grid; grid-template-columns: repeat(3, minmax(11rem, 1fr)); gap: 1.35rem; width: min(45rem, 80vw); padding: 1.25rem; border: 1px solid var(--nwp-line); border-radius: 1rem; background: var(--nwp-paper); box-shadow: var(--nwp-shadow); }
.nwp-mega-menu::before { content: ''; position: absolute; top: -.4rem; right: 2rem; width: .75rem; height: .75rem; border-top: 1px solid var(--nwp-line); border-right: 1px solid var(--nwp-line); background: var(--nwp-paper); transform: rotate(-45deg); }
.nwp-mega-menu > div { display: grid; align-content: start; gap: .35rem; }
.nwp-mega-menu p { margin: 0 0 .35rem; color: var(--nwp-blue); font-size: .8rem; font-weight: 800; }
.nwp-mega-menu a { padding: .25rem 0; color: #4f4f49; font-size: .86rem; text-decoration: none; }
.nwp-mega-menu a:hover { color: var(--nwp-blue); }

.nwp-system-visual { min-height: 31rem; padding: clamp(1rem, 2.4vw, 1.5rem); border: 1px solid rgba(255, 255, 255, .16); border-radius: 1.35rem; background: linear-gradient(145deg, #242422 0%, #1c1c1b 65%, #30302c 100%); color: #fff; box-shadow: 0 1.5rem 3.5rem rgba(32, 32, 30, .2); overflow: hidden; }
.nwp-system-visual::before { content: ''; display: block; height: 1px; margin: 0 -1.5rem 1.1rem; background: linear-gradient(90deg, transparent, rgba(245, 174, 45, .65), transparent); }
.nwp-system-visual__top, .nwp-system-visual__note { display: flex; align-items: center; justify-content: space-between; color: #bfbfb7; font-size: .78rem; font-weight: 800; }
.nwp-live-label { display: inline-flex; align-items: center; gap: .35rem; color: #eeb24b; }
.nwp-live-label i { width: .42rem; height: .42rem; border-radius: 50%; background: #eeb24b; box-shadow: 0 0 0 .25rem rgba(238, 178, 75, .12); }
.nwp-flow-map { position: relative; display: grid; gap: .35rem; padding: 1.6rem .4rem 1.2rem; }
.nwp-flow-row { display: grid; grid-template-columns: minmax(8rem, 1fr) 1.7rem minmax(8rem, 1fr); align-items: center; gap: .35rem; }
.nwp-flow-node { position: relative; min-height: 3.2rem; padding: .65rem .8rem; border: 1px solid rgba(255, 255, 255, .16); border-radius: .7rem; background: rgba(255, 255, 255, .07); color: #f4f4ee; font: inherit; font-size: .86rem; font-weight: 800; text-align: center; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.nwp-flow-node:hover, .nwp-flow-node:focus-visible, .nwp-flow-node.is-active { border-color: #efaa42; background: rgba(239, 170, 66, .16); transform: translateY(-2px); }
.nwp-flow-node--accent { border-color: #e4572e; background: rgba(228, 87, 46, .2); }
.nwp-flow-node--wide { width: 72%; margin: 0 auto; }
.nwp-flow-arrow { color: #f0b450; font: 1.2rem/1 Arial, sans-serif; text-align: center; }
.nwp-flow-branch { display: grid; grid-template-columns: .5fr repeat(3, 1fr) .5fr; gap: .4rem; align-items: center; padding: .4rem 0; }
.nwp-flow-branch::before, .nwp-flow-branch::after { content: ''; height: 1px; background: linear-gradient(90deg, transparent, rgba(240, 180, 80, .6)); }
.nwp-flow-branch::after { background: linear-gradient(90deg, rgba(240, 180, 80, .6), transparent); }
.nwp-flow-branch > span { display: none; }
.nwp-system-visual__note { justify-content: flex-start; min-height: 2.8rem; padding: .7rem .85rem; border-right: 2px solid #e4572e; background: rgba(255, 255, 255, .05); font-weight: 500; }

/* Animated network visual: the system is the hero, not a stack of generic cards. */
.nwp-network-visual { min-height: 0; }
.nwp-network-canvas { position: relative; height: 27rem; margin: .85rem -.2rem .55rem; border: 1px solid rgba(255, 255, 255, .1); border-radius: 1rem; background: radial-gradient(circle at center, rgba(228, 87, 46, .16), transparent 9rem), linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px), #1d1d1b; background-size: auto, 2rem 2rem, 2rem 2rem, auto; overflow: hidden; }
.nwp-network-canvas::after { content: ''; position: absolute; inset: -30%; background: conic-gradient(from 0deg, transparent 0deg 300deg, rgba(242, 165, 26, .12) 320deg, transparent 340deg); animation: nwp-network-spin 14s linear infinite; pointer-events: none; }
.nwp-network-ring { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(242, 165, 26, .19); border-radius: 50%; transform: translate(-50%, -50%); pointer-events: none; }
.nwp-network-ring--outer { width: 16rem; height: 16rem; border-style: dashed; animation: nwp-network-spin 18s linear infinite; }
.nwp-network-ring--inner { width: 10.8rem; height: 10.8rem; border-color: rgba(228, 87, 46, .25); box-shadow: 0 0 0 1.4rem rgba(228, 87, 46, .025), inset 0 0 2rem rgba(228, 87, 46, .08); animation: nwp-network-spin-reverse 11s linear infinite; }
.nwp-network-edge { position: absolute; z-index: 1; height: 1px; transform-origin: left center; background: linear-gradient(90deg, transparent 0 9%, rgba(242, 165, 26, .16) 20%, rgba(228, 87, 46, .8) 48%, rgba(242, 165, 26, .18) 76%, transparent 100%); background-size: 220% 100%; animation: nwp-network-line 3.2s linear infinite; pointer-events: none; }
.nwp-network-edge--website { top: 50%; left: 14%; width: 37%; }
.nwp-network-edge--lead { top: 38%; left: 38%; width: 22%; transform: rotate(28deg); animation-delay: -.6s; }
.nwp-network-edge--crm { top: 39%; left: 53%; width: 21%; transform: rotate(-35deg); animation-delay: -1.2s; }
.nwp-network-edge--automation { top: 53%; left: 48%; width: 26%; transform: rotate(35deg); animation-delay: -1.8s; }
.nwp-network-edge--ai { top: 50%; left: 50%; width: 34%; transform: rotate(1deg); animation-delay: -2.4s; }
.nwp-network-edge--data { top: 58%; left: 38%; width: 22%; transform: rotate(-35deg); animation-delay: -1s; }
.nwp-network-edge--infra { top: 58%; left: 47%; width: 26%; transform: rotate(31deg); animation-delay: -2s; }
.nwp-network-signal { position: absolute; z-index: 2; width: .42rem; height: .42rem; border-radius: 50%; background: #ffc15c; box-shadow: 0 0 .7rem .2rem rgba(255, 193, 92, .65); animation: nwp-signal-float 3.8s ease-in-out infinite; pointer-events: none; }
.nwp-network-signal--one { top: 24%; left: 27%; animation-delay: -.7s; }
.nwp-network-signal--two { top: 68%; left: 69%; animation-delay: -2.2s; }
.nwp-network-signal--three { top: 72%; left: 31%; animation-delay: -3.1s; }
.nwp-network-core, .nwp-network-node { font-family: var(--nwp-font); cursor: pointer; }
.nwp-network-core { position: absolute; z-index: 3; top: 50%; left: 50%; display: grid; place-items: center; width: 8.6rem; height: 8.6rem; padding: 1rem; border: 1px solid #f2a51a; border-radius: 50%; background: radial-gradient(circle at 35% 25%, #f58b54 0, #e4572e 42%, #662a20 100%); color: #fff; box-shadow: 0 0 0 .7rem rgba(228, 87, 46, .08), 0 0 2.8rem rgba(228, 87, 46, .4); transform: translate(-50%, -50%); transition: transform .25s ease, box-shadow .25s ease; }
.nwp-network-core::before { content: ''; position: absolute; inset: -.7rem; border: 1px solid rgba(242, 165, 26, .48); border-radius: 50%; animation: nwp-core-pulse 2.8s ease-out infinite; }
.nwp-network-core:hover, .nwp-network-core:focus-visible, .nwp-network-core.is-active { box-shadow: 0 0 0 1rem rgba(228, 87, 46, .1), 0 0 3.8rem rgba(228, 87, 46, .6); transform: translate(-50%, -50%) scale(1.04); }
.nwp-network-core span { font: 800 1.5rem/1 Arial, sans-serif; letter-spacing: .08em; }
.nwp-network-core strong { font-size: .78rem; line-height: 1.2; }
.nwp-network-core small { color: #ffe0c9; font-size: .63rem; }
.nwp-network-node { position: absolute; z-index: 4; display: flex; align-items: center; gap: .38rem; min-width: 6.4rem; min-height: 2.45rem; padding: .48rem .58rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: .65rem; background: rgba(47, 47, 43, .9); color: #f6f6ee; font-size: .73rem; font-weight: 800; box-shadow: 0 .55rem 1.25rem rgba(0, 0, 0, .16); transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
.nwp-network-node span { color: #f2a51a; font: 700 .6rem/1 Arial, sans-serif; }
.nwp-network-node:hover, .nwp-network-node:focus-visible, .nwp-network-node.is-active { border-color: #f2a51a; background: #e4572e; box-shadow: 0 .7rem 1.5rem rgba(0, 0, 0, .25); transform: translateY(-3px); }
.nwp-network-node--website { top: 45%; left: 3%; }
.nwp-network-node--lead { top: 9%; left: 26%; }
.nwp-network-node--crm { top: 9%; right: 9%; }
.nwp-network-node--automation { bottom: 9%; left: 4%; }
.nwp-network-node--ai { top: 45%; right: 3%; }
.nwp-network-node--data { right: 20%; bottom: 9%; }
.nwp-network-node--infra { right: 2%; bottom: 9%; }
@keyframes nwp-network-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes nwp-network-spin-reverse { to { transform: translate(-50%, -50%) rotate(-360deg); } }
@keyframes nwp-network-line { to { background-position: -220% 0; } }
@keyframes nwp-signal-float { 0%, 100% { opacity: .3; transform: scale(.7); } 50% { opacity: 1; transform: scale(1.35); } }
@keyframes nwp-core-pulse { 0% { opacity: .8; transform: scale(.92); } 70%, 100% { opacity: 0; transform: scale(1.22); } }

/* Alternate hero motion: a moving workflow board with layered process tiles. */
.nwp-control-visual { position: relative; min-height: 0; padding: clamp(1rem, 2.4vw, 1.5rem); border: 1px solid rgba(255, 255, 255, .14); border-radius: 1.35rem; background: linear-gradient(145deg, #272724 0%, #1b1b1a 64%, #34332e 100%); color: #fff; box-shadow: 0 1.5rem 3.5rem rgba(32, 32, 30, .22); overflow: hidden; }
.nwp-control-visual::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 18% 20%, rgba(242, 165, 26, .11), transparent 12rem), linear-gradient(135deg, transparent 40%, rgba(228, 87, 46, .05) 50%, transparent 60%); pointer-events: none; }
.nwp-control-visual__top, .nwp-control-visual__note { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; color: #c7c7bf; font-size: .76rem; font-weight: 800; }
.nwp-control-board { position: relative; height: 28rem; margin: .85rem -.25rem .55rem; border: 1px solid rgba(255, 255, 255, .1); border-radius: 1rem; background: linear-gradient(135deg, rgba(255, 255, 255, .045), transparent 50%), repeating-linear-gradient(0deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 2rem); overflow: hidden; }
.nwp-control-board::before { content: ''; position: absolute; inset: 8% 7%; border: 1px solid rgba(242, 165, 26, .14); clip-path: polygon(0 0, 100% 0, 100% 72%, 72% 100%, 0 100%); }
.nwp-control-board::after { content: 'BUILD / CONNECT / IMPROVE'; position: absolute; right: 1rem; bottom: .8rem; color: rgba(255, 255, 255, .25); font: 700 .58rem/1 Arial, sans-serif; letter-spacing: .12em; }
.nwp-control-scan { position: absolute; z-index: 1; top: -20%; left: 16%; width: 1px; height: 140%; background: linear-gradient(180deg, transparent, rgba(242, 165, 26, .95) 45%, transparent 80%); box-shadow: 0 0 1.2rem .15rem rgba(242, 165, 26, .35); transform: rotate(32deg); animation: nwp-board-scan 5.5s ease-in-out infinite; }
.nwp-control-glow { position: absolute; z-index: 0; top: 38%; left: 42%; width: 7rem; height: 7rem; border-radius: 50%; background: rgba(228, 87, 46, .24); filter: blur(1.4rem); animation: nwp-board-breathe 3.4s ease-in-out infinite; }
.nwp-control-track { position: absolute; z-index: 1; height: 1px; background: rgba(242, 165, 26, .24); transform-origin: left center; }
.nwp-control-track::before { content: ''; position: absolute; inset: -.25rem 0; background: repeating-linear-gradient(90deg, transparent 0 1rem, rgba(255, 255, 255, .16) 1rem 1.15rem); }
.nwp-control-track i { position: absolute; top: -.22rem; left: 0; width: .45rem; height: .45rem; border-radius: 50%; background: #f5ae2d; box-shadow: 0 0 .8rem .18rem rgba(245, 174, 45, .65); animation: nwp-track-run 3.5s linear infinite; }
.nwp-control-track--one { top: 31%; left: 21%; width: 59%; transform: rotate(16deg); }
.nwp-control-track--two { top: 67%; left: 21%; width: 59%; transform: rotate(-13deg); animation-delay: -.8s; }
.nwp-control-track--three { top: 50%; left: 18%; width: 65%; transform: rotate(0); animation-delay: -1.6s; }
.nwp-control-track--four { top: 21%; left: 46%; width: 47%; transform: rotate(90deg); animation-delay: -2.2s; }
.nwp-control-core { position: absolute; z-index: 3; top: 50%; left: 50%; display: grid; place-items: center; width: 9rem; height: 9rem; padding: 1rem; border: 1px solid rgba(255, 214, 141, .7); border-radius: 1.25rem; background: linear-gradient(145deg, #f16b3d, #a63e28); box-shadow: 1rem 1rem 0 rgba(255, 255, 255, .035), 0 1rem 2rem rgba(0, 0, 0, .25); transform: translate(-50%, -50%) rotate(-3deg); animation: nwp-core-float 4.4s ease-in-out infinite; }
.nwp-control-core::before { content: ''; position: absolute; inset: -.65rem; border: 1px solid rgba(242, 165, 26, .28); border-radius: 1.5rem; transform: rotate(7deg); }
.nwp-control-core small { color: #ffe7c9; font-size: .72rem; }
.nwp-control-core strong { font-size: 1.2rem; line-height: 1.2; }
.nwp-control-core span { color: #ffe0ce; font-size: .66rem; }
.nwp-control-tile { position: absolute; z-index: 4; display: grid; gap: .22rem; min-width: 9.8rem; min-height: 4.6rem; padding: .72rem .82rem; border: 1px solid rgba(255, 255, 255, .14); border-radius: .8rem; background: rgba(47, 47, 43, .92); color: #f4f4ee; font-family: var(--nwp-font); text-align: right; cursor: pointer; box-shadow: 0 .65rem 1.3rem rgba(0, 0, 0, .16); transition: border-color .22s ease, background .22s ease, transform .22s ease, box-shadow .22s ease; }
.nwp-control-tile span { color: #f2a51a; font: 700 .57rem/1 Arial, sans-serif; letter-spacing: .04em; }
.nwp-control-tile strong { font-size: .83rem; line-height: 1.3; }
.nwp-control-tile small { color: #bcbcb4; font: .57rem/1.35 Arial, sans-serif; direction: ltr; text-align: right; }
.nwp-control-tile:hover, .nwp-control-tile:focus-visible, .nwp-control-tile.is-active { border-color: #f2a51a; background: #3d3028; box-shadow: 0 .9rem 1.8rem rgba(0, 0, 0, .25), 0 0 .9rem rgba(228, 87, 46, .18); transform: translateY(-4px) rotate(0); }
.nwp-control-tile--entry { top: 6%; right: 6%; transform: rotate(2deg); }
.nwp-control-tile--crm { top: 6%; left: 6%; transform: rotate(-2deg); }
.nwp-control-tile--automation { top: 42%; left: 3%; transform: rotate(-2deg); }
.nwp-control-tile--data { top: 42%; right: 3%; transform: rotate(2deg); }
.nwp-control-tile--ai { bottom: 6%; right: 7%; transform: rotate(2deg); }
.nwp-control-tile--infra { bottom: 6%; left: 7%; transform: rotate(-2deg); }
.nwp-control-visual__note { justify-content: flex-start; min-height: 2.8rem; padding: .7rem .85rem; border-right: 2px solid #e4572e; background: rgba(255, 255, 255, .05); font-weight: 500; }
@keyframes nwp-board-scan { 0%, 12% { transform: translateX(-8rem) rotate(32deg); opacity: 0; } 25%, 75% { opacity: 1; } 88%, 100% { transform: translateX(26rem) rotate(32deg); opacity: 0; } }
@keyframes nwp-board-breathe { 0%, 100% { opacity: .55; transform: scale(.75); } 50% { opacity: 1; transform: scale(1.25); } }
@keyframes nwp-track-run { to { left: calc(100% - .45rem); } }
@keyframes nwp-core-float { 0%, 100% { margin-top: 0; } 50% { margin-top: -.45rem; } }

/* Fresh hero direction: an animated product interface instead of a diagram. */
.nwp-product-showcase { position: relative; min-height: 0; padding: clamp(1rem, 2.4vw, 1.45rem); border: 1px solid rgba(255, 255, 255, .14); border-radius: 1.35rem; background: linear-gradient(145deg, #282826 0%, #1b1b1a 72%, #34332e 100%); color: #fff; box-shadow: 0 1.5rem 3.5rem rgba(32, 32, 30, .22); overflow: hidden; }
.nwp-product-showcase::before { content: ''; position: absolute; top: 10%; right: -10%; width: 16rem; height: 16rem; border: 1px solid rgba(242, 165, 26, .18); border-radius: 50%; box-shadow: 0 0 0 2rem rgba(242, 165, 26, .03), 0 0 0 4rem rgba(228, 87, 46, .025); animation: nwp-showcase-orbit 12s linear infinite; }
.nwp-product-showcase__top, .nwp-product-showcase__note { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; color: #c7c7bf; font-size: .76rem; font-weight: 800; }
.nwp-product-window { position: relative; z-index: 1; margin: 1rem .1rem .65rem; border: 1px solid rgba(255, 255, 255, .16); border-radius: .9rem; background: #f9f9f5; color: var(--nwp-ink); box-shadow: .9rem 1.2rem 0 rgba(0, 0, 0, .14), 0 1.5rem 2.5rem rgba(0, 0, 0, .18); transform: rotate(-1.5deg); animation: nwp-window-hover 5.5s ease-in-out infinite; overflow: hidden; }
.nwp-product-window::after { content: ''; position: absolute; top: -30%; left: -22%; width: 18%; height: 160%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .55), transparent); transform: rotate(18deg); animation: nwp-window-shine 6.5s ease-in-out infinite; pointer-events: none; }
.nwp-product-window__bar { display: flex; align-items: center; gap: .6rem; min-height: 2.5rem; padding: .55rem .7rem; border-bottom: 1px solid #e4e4de; background: #fff; }
.nwp-window-dots { display: inline-flex; gap: .22rem; direction: ltr; }
.nwp-window-dots i { width: .38rem; height: .38rem; border-radius: 50%; background: #e4572e; }
.nwp-window-dots i:nth-child(2) { background: #f2a51a; }
.nwp-window-dots i:nth-child(3) { background: #b9b9b0; }
.nwp-window-path { flex: 1; color: #9a9a91; font: .58rem/1 Arial, sans-serif; direction: ltr; text-align: center; }
.nwp-window-badge { padding: .28rem .42rem; border-radius: .35rem; background: #fff0e9; color: #b54d32; font: 700 .52rem/1 Arial, sans-serif; }
.nwp-product-window__body { display: grid; grid-template-columns: 3.7rem 1fr; min-height: 20rem; direction: ltr; }
.nwp-product-sidebar { display: grid; align-content: start; justify-items: center; gap: .65rem; padding: .8rem .4rem; border-right: 1px solid #e4e4de; background: #f2f2ed; }
.nwp-sidebar-mark { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: .5rem; background: #e4572e; color: #fff; font: 1.2rem/1 Arial, sans-serif; }
.nwp-product-sidebar button { width: 100%; min-height: 2.2rem; padding: .3rem .15rem; border: 0; border-radius: .45rem; background: transparent; color: #77776f; font: 700 .62rem/1 var(--nwp-font); cursor: pointer; transition: .2s ease; }
.nwp-product-sidebar button:hover, .nwp-product-sidebar button:focus-visible, .nwp-product-sidebar button.is-active { background: #fff; color: #c8492b; box-shadow: 0 .25rem .7rem rgba(32, 32, 30, .08); }
.nwp-product-dashboard { position: relative; padding: 1rem .9rem .8rem; direction: rtl; background: linear-gradient(135deg, #fff 0%, #fffaf7 100%); }
.nwp-product-dashboard__heading { display: grid; gap: .22rem; }
.nwp-product-dashboard__heading span { color: #a1a19a; font-size: .6rem; font-weight: 800; }
.nwp-product-dashboard__heading strong { color: #2c2c28; font-size: 1rem; line-height: 1.4; }
.nwp-product-status-row { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .75rem; padding-bottom: .65rem; border-bottom: 1px solid #edede7; color: #6c6c64; font-size: .62rem; }
.nwp-product-status-row span { display: inline-flex; align-items: center; gap: .3rem; color: #438269; font-weight: 800; }
.nwp-product-status-row i { width: .38rem; height: .38rem; border-radius: 50%; background: #54b47c; box-shadow: 0 0 0 .25rem rgba(84, 180, 124, .11); animation: nwp-status-blink 2s ease-in-out infinite; }
.nwp-product-status-row small { color: #a1a19a; font-size: .57rem; }
.nwp-product-chart { position: relative; height: 6.8rem; margin-top: .75rem; border-bottom: 1px solid #dadad3; background: repeating-linear-gradient(0deg, transparent 0 1.55rem, #edede7 1.55rem 1.6rem); overflow: hidden; }
.nwp-product-chart::before { content: ''; position: absolute; inset: 12% 0; background: linear-gradient(135deg, transparent 0 8%, rgba(228, 87, 46, .08) 8% 10%, transparent 10% 24%, rgba(242, 165, 26, .08) 24% 26%, transparent 26%); animation: nwp-chart-sweep 4s linear infinite; }
.nwp-product-chart > i { position: absolute; bottom: 0; width: 11%; border-radius: .22rem .22rem 0 0; background: linear-gradient(180deg, #f2a51a, #e4572e); transform-origin: bottom; animation: nwp-bar-rise 2.8s ease-in-out infinite alternate; }
.nwp-product-chart > i:nth-of-type(1) { right: 8%; height: 35%; }
.nwp-product-chart > i:nth-of-type(2) { right: 24%; height: 58%; animation-delay: -.8s; }
.nwp-product-chart > i:nth-of-type(3) { right: 40%; height: 43%; animation-delay: -1.2s; }
.nwp-product-chart > i:nth-of-type(4) { right: 56%; height: 75%; animation-delay: -1.9s; }
.nwp-product-chart > i:nth-of-type(5) { right: 72%; height: 52%; animation-delay: -.35s; }
.nwp-product-chart > b { position: absolute; right: 10%; bottom: 36%; width: 77%; height: 2px; background: #e4572e; transform: rotate(-7deg); transform-origin: right center; opacity: .68; }
.nwp-chart-label { position: absolute; top: .2rem; z-index: 1; color: #aaa9a1; font-size: .55rem; }
.nwp-chart-label--one { right: 8%; }
.nwp-chart-label--two { right: 39%; }
.nwp-chart-label--three { left: 7%; }
.nwp-product-lower { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin-top: .75rem; }
.nwp-product-list, .nwp-product-progress { display: grid; align-content: start; gap: .38rem; padding: .62rem; border: 1px solid #ecece6; border-radius: .6rem; background: rgba(255, 255, 255, .8); }
.nwp-product-list > span, .nwp-product-progress > span { color: #a1a19a; font-size: .57rem; font-weight: 800; }
.nwp-product-list strong { display: flex; align-items: center; gap: .3rem; color: #55554f; font-size: .6rem; }
.nwp-product-list strong i { width: .3rem; height: .3rem; border-radius: 50%; background: #e4572e; }
.nwp-product-list strong:nth-child(3) i { background: #f2a51a; }
.nwp-product-list strong:nth-child(4) i { background: #7db793; }
.nwp-product-progress b { position: relative; display: block; height: .35rem; margin-top: .25rem; border-radius: 999px; background: #ebeae4; overflow: hidden; }
.nwp-product-progress b i { position: absolute; inset: 0 auto 0 0; width: 64%; border-radius: inherit; background: linear-gradient(90deg, #e4572e, #f2a51a); animation: nwp-progress-move 2.6s ease-in-out infinite alternate; }
.nwp-product-progress small { color: #85857d; font-size: .54rem; line-height: 1.5; }
.nwp-product-showcase__note { justify-content: flex-start; min-height: 2.8rem; padding: .7rem .85rem; border-right: 2px solid #e4572e; background: rgba(255, 255, 255, .05); font-weight: 500; }
@keyframes nwp-showcase-orbit { to { transform: rotate(360deg) translateX(.7rem) rotate(-360deg); } }
@keyframes nwp-window-hover { 0%, 100% { transform: rotate(-1.5deg) translateY(0); } 50% { transform: rotate(0deg) translateY(-.45rem); } }
@keyframes nwp-window-shine { 0%, 12% { left: -22%; opacity: 0; } 25%, 68% { opacity: .7; } 86%, 100% { left: 118%; opacity: 0; } }
@keyframes nwp-chart-sweep { to { transform: translateX(-2rem); } }
@keyframes nwp-bar-rise { from { transform: scaleY(.82); } to { transform: scaleY(1.08); } }
@keyframes nwp-status-blink { 0%, 100% { opacity: .65; } 50% { opacity: 1; } }
@keyframes nwp-progress-move { from { width: 46%; } to { width: 78%; } }

.nwp-diagnostic-layout { display: grid; grid-template-columns: minmax(16rem, .75fr) minmax(0, 1.25fr); gap: 1rem; align-items: stretch; }
.nwp-diagnostic-options { display: grid; gap: .5rem; }
.nwp-diagnostic-trigger { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.5rem; padding: .75rem 1rem; border: 1px solid var(--nwp-line); border-radius: .7rem; background: var(--nwp-paper); color: #4b4b45; font: inherit; font-size: .9rem; font-weight: 800; text-align: right; cursor: pointer; transition: .2s ease; }
.nwp-diagnostic-trigger span { color: var(--nwp-blue); font-family: Arial, sans-serif; }
.nwp-diagnostic-trigger:hover, .nwp-diagnostic-trigger.is-active { border-color: var(--nwp-blue); background: #fff; color: var(--nwp-ink); box-shadow: 0 .45rem 1rem rgba(228, 87, 46, .08); }
.nwp-diagnostic-result { display: flex; flex-direction: column; justify-content: center; min-height: 100%; padding: clamp(1.4rem, 4vw, 2.5rem); border: 1px solid #efc7bb; border-radius: 1rem; background: linear-gradient(145deg, #fffdfa, #fff1eb); }
.nwp-diagnostic-result h3 { margin: 0; color: var(--nwp-ink); font-size: clamp(1.45rem, 2.4vw, 2.1rem); line-height: 1.45; }
.nwp-diagnostic-result__problem { min-height: 3.4rem; margin: .9rem 0 1.2rem; color: var(--nwp-muted); }
.nwp-diagnostic-route { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-bottom: 1.4rem; color: #7c4d3e; font-size: .88rem; }
.nwp-diagnostic-route b { color: var(--nwp-blue); font-family: Arial, sans-serif; }
.nwp-diagnostic-route strong { padding: .45rem .65rem; border-radius: .5rem; background: #fbe0d5; color: var(--nwp-ink); }
.nwp-diagnostic-result .nwp-button { align-self: flex-start; }

.nwp-service-grid--home { grid-template-columns: repeat(4, 1fr); }
.nwp-service-grid--home .nwp-service-card { min-height: 19rem; }
.nwp-service-card { border-color: var(--nwp-line); }
.nwp-service-card:hover { border-color: #efab96; box-shadow: 0 1rem 2rem rgba(228, 87, 46, .1); }
.nwp-service-category { color: var(--nwp-blue); }
.nwp-card-links a, .nwp-service-tech-tags span { border-color: #efc7bb; color: #a6452d; }
.nwp-capability-card { background: linear-gradient(145deg, #fff, #fff4ef); }
.nwp-dark-card-grid article { background: #2b2b28; border-color: rgba(255, 255, 255, .14); }
.nwp-dark-card-grid article > p, .nwp-dark-card-grid a { color: #ffc1ad; }
.nwp-architecture-card {
  position: relative;
  padding: clamp(1.35rem, 3vw, 2rem);
  border: 1px solid rgba(228, 87, 46, .16);
  border-radius: 1.15rem;
  background: linear-gradient(145deg, #fffdfa 0%, #fff7f3 100%);
  box-shadow: 0 1.2rem 2.8rem rgba(32, 32, 30, .1), inset 0 1px 0 rgba(255, 255, 255, .9);
  overflow: hidden;
}
.nwp-architecture-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, #e4572e, #f2a51a);
}
.nwp-architecture-card h3 {
  position: relative;
  margin-bottom: 1.35rem;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  letter-spacing: -.015em;
}
.nwp-architecture-card > .nwp-check-list {
  display: grid;
  gap: .55rem;
}
.nwp-architecture-card > .nwp-check-list li {
  min-height: 2.8rem;
  display: flex;
  align-items: center;
  padding: .65rem 2.2rem .65rem .85rem;
  border: 1px solid rgba(228, 87, 46, .1);
  border-radius: .7rem;
  background: rgba(255, 255, 255, .64);
  color: #55554f;
  font-size: .94rem;
  line-height: 1.65;
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.nwp-architecture-card > .nwp-check-list li::before {
  top: 50%;
  right: .8rem;
  display: grid;
  place-items: center;
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 50%;
  background: #fff0e9;
  color: var(--nwp-blue);
  font-size: .72rem;
  line-height: 1;
  transform: translateY(-50%);
}
.nwp-architecture-card > .nwp-check-list li:hover,
.nwp-architecture-card > .nwp-check-list li:focus-within {
  border-color: rgba(228, 87, 46, .28);
  background: #fff;
  box-shadow: 0 .4rem 1rem rgba(228, 87, 46, .07);
  transform: translateY(-1px);
}
.nwp-architecture-item { border-color: rgba(228, 87, 46, .18); background: rgba(255, 255, 255, .72); }
.nwp-architecture-item:hover { border-color: rgba(228, 87, 46, .5); }
.nwp-architecture-item__index { background: var(--nwp-blue); }
.nwp-fit-list li { border-color: rgba(255, 255, 255, .16); }
.nwp-fit-list span { color: #d8d8d0; }

.nwp-case-study-empty { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(1.5rem, 4vw, 3rem); border: 1px dashed #d7a18f; border-radius: 1rem; background: #fffaf7; }
.nwp-case-study-empty h3 { margin: .7rem 0 .35rem; color: var(--nwp-ink); font-size: clamp(1.35rem, 2.5vw, 2rem); }
.nwp-case-study-empty p { margin: 0; color: var(--nwp-muted); }
.nwp-stack-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.nwp-stack-grid article { min-height: 12rem; padding: 1.4rem; border: 1px solid var(--nwp-line); border-radius: 1rem; background: var(--nwp-paper); }
.nwp-stack-grid article > span { color: var(--nwp-blue); font: 800 .75rem/1 Arial, sans-serif; letter-spacing: .08em; }
.nwp-stack-grid h3 { margin: .8rem 0 .45rem; color: var(--nwp-ink); font-size: 1.08rem; line-height: 1.5; }
.nwp-stack-grid p { margin: 0; color: var(--nwp-muted); font-size: .9rem; }

.nwp-js [data-reveal] { opacity: 0; transform: translateY(1rem); transition: opacity .55s ease, transform .55s ease; }
.nwp-js [data-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1040px) {
  .nwp-hero-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .nwp-service-grid--home { grid-template-columns: repeat(3, 1fr); }
  .nwp-stack-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
  .nwp-nav-menu { display: block; }
  .nwp-nav-menu summary { width: 100%; justify-content: space-between; padding-inline: .7rem; }
  .nwp-mega-menu { position: static; grid-template-columns: 1fr 1fr; width: auto; margin: .35rem 0 .5rem; padding: .85rem; box-shadow: none; }
  .nwp-mega-menu::before { display: none; }
  .nwp-hero-grid, .nwp-diagnostic-layout { grid-template-columns: 1fr; }
  .nwp-system-visual { min-height: 0; }
  .nwp-service-grid--home { grid-template-columns: repeat(2, 1fr); }
  .nwp-case-study-empty { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 600px) {
  .nwp-hero-grid { gap: 1.4rem; }
  .nwp-system-visual { padding: .9rem; border-radius: 1rem; }
  .nwp-flow-row { grid-template-columns: minmax(0, 1fr) 1.1rem minmax(0, 1fr); }
  .nwp-flow-branch { grid-template-columns: 1fr; gap: .4rem; }
  .nwp-flow-branch::before, .nwp-flow-branch::after { display: none; }
  .nwp-flow-node--wide { width: 100%; }
  .nwp-service-grid--home, .nwp-stack-grid { grid-template-columns: 1fr; }
  .nwp-mega-menu { grid-template-columns: 1fr; }
  .nwp-diagnostic-trigger { min-height: 3.2rem; }
  .nwp-diagnostic-result .nwp-button { width: 100%; }
  .nwp-network-canvas { height: 24rem; }
  .nwp-network-ring--outer { width: 13rem; height: 13rem; }
  .nwp-network-ring--inner { width: 8.7rem; height: 8.7rem; }
  .nwp-network-core { width: 6.5rem; height: 6.5rem; padding: .7rem; }
  .nwp-network-core span { font-size: 1.15rem; }
  .nwp-network-core strong { font-size: .65rem; }
  .nwp-network-core small { font-size: .52rem; }
  .nwp-network-node { min-width: 5.25rem; min-height: 2.2rem; padding: .38rem .42rem; font-size: .62rem; }
  .nwp-network-node span { font-size: .52rem; }
  .nwp-network-node--website { left: 1%; }
  .nwp-network-node--lead { left: 18%; }
  .nwp-network-node--crm { right: 3%; }
  .nwp-network-node--automation { left: 1%; }
  .nwp-network-node--data { right: 17%; }
  .nwp-network-node--infra { right: 0; }
  .nwp-control-board { height: 25rem; }
  .nwp-control-tile { min-width: 7.7rem; min-height: 4rem; padding: .56rem .62rem; }
  .nwp-control-tile strong { font-size: .7rem; }
  .nwp-control-tile small { font-size: .5rem; }
  .nwp-control-tile--entry { top: 5%; right: 2%; }
  .nwp-control-tile--crm { top: 5%; left: 2%; }
  .nwp-control-tile--automation { top: 43%; left: 1%; }
  .nwp-control-tile--data { top: 43%; right: 1%; }
  .nwp-control-tile--ai { bottom: 5%; right: 2%; }
  .nwp-control-tile--infra { bottom: 5%; left: 2%; }
  .nwp-control-core { width: 7.3rem; height: 7.3rem; padding: .7rem; }
  .nwp-control-core strong { font-size: .95rem; }
  .nwp-control-core small { font-size: .6rem; }
  .nwp-control-core span { font-size: .55rem; }
  .nwp-product-showcase { padding: .9rem; border-radius: 1rem; }
  .nwp-product-window { margin-top: .8rem; }
  .nwp-product-window__body { grid-template-columns: 3.1rem 1fr; min-height: 18rem; }
  .nwp-product-sidebar { gap: .42rem; padding-inline: .25rem; }
  .nwp-product-sidebar button { font-size: .55rem; }
  .nwp-product-dashboard { padding: .8rem .65rem .65rem; }
  .nwp-product-dashboard__heading strong { font-size: .82rem; }
  .nwp-product-lower { gap: .45rem; }
  .nwp-product-list, .nwp-product-progress { padding: .48rem; }
  .nwp-product-list strong { font-size: .52rem; }
  .nwp-product-progress small { font-size: .48rem; }
  .nwp-product-showcase__note { font-size: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .nwp-js [data-reveal] { opacity: 1; transform: none; transition: none; }
  .nwp-network-canvas::after, .nwp-network-ring, .nwp-network-edge, .nwp-network-signal, .nwp-network-core::before { animation: none; }
  .nwp-control-scan, .nwp-control-glow, .nwp-control-track i, .nwp-control-core { animation: none; }
  .nwp-product-showcase::before, .nwp-product-window, .nwp-product-window::after, .nwp-product-status-row i, .nwp-product-chart::before, .nwp-product-chart > i, .nwp-product-progress b i { animation: none; }
}

/* Purple theme restoration. Keep the current layout and motion while returning the brand accents to purple. */
:root {
  --nwp-ink: #24183d;
  --nwp-ink-2: #342356;
  --nwp-blue: #695aa6;
  --nwp-blue-dark: #50438b;
  --nwp-sky: #efe3ff;
  --nwp-paper: #fff9ff;
  --nwp-cloud: #f7efff;
  --nwp-line: #e2dced;
  --nwp-text: #302641;
  --nwp-muted: #6f6480;
  --nwp-teal: #7e57c2;
  --nwp-shadow: 0 1.25rem 3.5rem rgba(57, 33, 99, .12);
}

body { background: var(--nwp-paper); color: var(--nwp-text); }
.nwp-site-header { border-bottom-color: rgba(220, 229, 240, .9); background: rgba(255, 249, 255, .94); }
.nwp-primary-nav > a, .nwp-nav-menu summary { color: #4f4569; }
.nwp-primary-nav > a:hover, .nwp-nav-menu summary:hover { color: var(--nwp-blue); }
.nwp-primary-nav .nwp-nav-cta, .nwp-button--primary { background: var(--nwp-blue); box-shadow: 0 .65rem 1.6rem rgba(105, 90, 166, .2); }
.nwp-primary-nav .nwp-nav-cta:hover, .nwp-button--primary:hover { background: var(--nwp-blue-dark); }
.nwp-hero { background: radial-gradient(circle at 75% 16%, rgba(192, 38, 211, .14), transparent 27rem), linear-gradient(135deg, #fff9ff 0%, #f6eaff 62%, #eadbff 100%); }
.nwp-hero::before { border-color: rgba(124, 58, 237, .16); background: repeating-radial-gradient(circle at center, transparent 0 1.6rem, rgba(124, 58, 237, .05) 1.7rem 1.75rem); }
.nwp-hero-lead { color: #5e5571; }
.nwp-eyebrow, .nwp-card-index, .nwp-service-category { color: var(--nwp-blue); }
.nwp-eyebrow > span, .nwp-tech-strip i, .nwp-hero-qualifier i { background: var(--nwp-teal); }
.nwp-eyebrow--light { color: #d6c5fa; }
.nwp-eyebrow--light > span { background: #a78bfa; }
.nwp-button--secondary { border-color: #c9bfda; }
.nwp-button--secondary:hover { border-color: var(--nwp-blue); color: var(--nwp-blue); }
.nwp-tech-strip { border-block-color: var(--nwp-line); background: var(--nwp-cloud); }
.nwp-tech-strip > div { color: #655b78; }
.nwp-final-cta { background: var(--nwp-blue); }
.nwp-footer { background: #24183d; }
.nwp-page-hero { background: radial-gradient(circle at 88% 5%, rgba(192, 38, 211, .22), transparent 25rem), linear-gradient(135deg, #ebddff 0%, #fbf4ff 52%, #e2d0ff 100%); }
.nwp-page-hero::before { background-image: linear-gradient(rgba(124, 58, 237, .14) 1px, transparent 1px), linear-gradient(90deg, rgba(124, 58, 237, .14) 1px, transparent 1px); }
.nwp-page-hero::after { border-color: rgba(124, 58, 237, .25); box-shadow: 0 0 0 3rem rgba(192, 38, 211, .06), 0 0 0 6rem rgba(124, 58, 237, .04); }
.nwp-page-hero .nwp-eyebrow { color: #5a438e; }
.nwp-page-hero--service { background: radial-gradient(circle at 12% 25%, rgba(168, 85, 247, .24), transparent 25rem), linear-gradient(135deg, #ebddff 0%, #fbf4ff 52%, #e2d0ff 100%); }
.nwp-page-hero-visual { border-color: rgba(207, 184, 244, .52); background: linear-gradient(145deg, #21133c 0%, #4c2d79 58%, #7353a5 100%); box-shadow: 0 1.65rem 3.7rem rgba(57, 33, 99, .26); }
.nwp-page-hero-visual::before { border-color: rgba(220, 201, 255, .26); box-shadow: 0 0 0 2.2rem rgba(185, 150, 235, .06), 0 0 0 4.4rem rgba(185, 150, 235, .045); }
.nwp-page-hero-visual__canvas { border-color: rgba(220, 201, 255, .3); background: linear-gradient(rgba(190, 163, 238, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(190, 163, 238, .12) 1px, transparent 1px), rgba(25, 13, 50, .28); }
.nwp-page-hero-visual__orb { background: radial-gradient(circle at 35% 30%, #eadcff, #9767d0 42%, #3b2168 70%); box-shadow: 0 0 0 1rem rgba(169, 118, 225, .13), 0 0 2.5rem rgba(183, 132, 240, .55); }
.nwp-page-hero-visual__line { background: linear-gradient(90deg, transparent, #c8a8f1); }
.nwp-page-hero-visual__card { border-color: rgba(225, 207, 255, .34); background: rgba(34, 17, 68, .78); }
.nwp-page-hero-visual__card--accent { background: rgba(104, 69, 157, .88); }
.nwp-review-offer { border-color: #d6b6ff; background: linear-gradient(135deg, #fbf4ff, #f2e3ff); }
.nwp-final-question { border-color: #d7baff; background: #f4e8ff; }
.nwp-conditional-section { background: #fdf8ff; }
.nwp-contact-section { background: radial-gradient(circle at 8% 0, #ead8ff 0, transparent 24rem), var(--nwp-paper); }

.nwp-system-visual, .nwp-control-visual, .nwp-product-showcase { background: linear-gradient(145deg, #21133c 0%, #1b102f 66%, #342356 100%); box-shadow: 0 1.5rem 3.5rem rgba(57, 33, 99, .24); }
.nwp-system-visual::before { background: linear-gradient(90deg, transparent, rgba(200, 168, 241, .65), transparent); }
.nwp-live-label { color: #c8a8f1; }
.nwp-live-label i { background: #a78bfa; box-shadow: 0 0 0 .25rem rgba(167, 139, 250, .12); }
.nwp-flow-node:hover, .nwp-flow-node:focus-visible, .nwp-flow-node.is-active { border-color: #c8a8f1; background: rgba(126, 87, 194, .16); }
.nwp-flow-node--accent { border-color: var(--nwp-blue); background: rgba(105, 90, 166, .2); }
.nwp-flow-arrow { color: #c8a8f1; }
.nwp-flow-branch::before, .nwp-flow-branch::after { background: linear-gradient(90deg, transparent, rgba(200, 168, 241, .6)); }
.nwp-flow-branch::after { background: linear-gradient(90deg, rgba(200, 168, 241, .6), transparent); }
.nwp-system-visual__note, .nwp-control-visual__note, .nwp-product-showcase__note { border-right-color: var(--nwp-blue); }
.nwp-network-canvas { background: radial-gradient(circle at center, rgba(105, 90, 166, .16), transparent 9rem), linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px), #1b102f; }
.nwp-network-canvas::after { background: conic-gradient(from 0deg, transparent 0deg 300deg, rgba(192, 38, 211, .12) 320deg, transparent 340deg); }
.nwp-network-ring { border-color: rgba(126, 87, 194, .19); }
.nwp-network-ring--inner { border-color: rgba(105, 90, 166, .25); box-shadow: 0 0 0 1.4rem rgba(105, 90, 166, .025), inset 0 0 2rem rgba(105, 90, 166, .08); }
.nwp-network-edge { background: linear-gradient(90deg, transparent 0 9%, rgba(126, 87, 194, .16) 20%, rgba(192, 38, 211, .8) 48%, rgba(126, 87, 194, .18) 76%, transparent 100%); }
.nwp-network-signal { background: #d8b4fe; box-shadow: 0 0 .7rem .2rem rgba(216, 180, 254, .65); }
.nwp-network-core { border-color: #c8a8f1; background: radial-gradient(circle at 35% 25%, #eadcff 0, #9767d0 42%, #3b2168 100%); box-shadow: 0 0 0 .7rem rgba(105, 90, 166, .08), 0 0 2.8rem rgba(183, 132, 240, .4); }
.nwp-network-core::before { border-color: rgba(200, 168, 241, .48); }
.nwp-network-core:hover, .nwp-network-core:focus-visible, .nwp-network-core.is-active { box-shadow: 0 0 0 1rem rgba(105, 90, 166, .1), 0 0 3.8rem rgba(183, 132, 240, .6); }
.nwp-network-core small { color: #eadcff; }
.nwp-network-node span, .nwp-control-tile span { color: #c8a8f1; }
.nwp-network-node:hover, .nwp-network-node:focus-visible, .nwp-network-node.is-active { border-color: #c8a8f1; background: var(--nwp-blue); }
.nwp-control-visual::before { background: radial-gradient(circle at 18% 20%, rgba(126, 87, 194, .11), transparent 12rem), linear-gradient(135deg, transparent 40%, rgba(192, 38, 211, .05) 50%, transparent 60%); }
.nwp-control-board::before { border-color: rgba(126, 87, 194, .14); }
.nwp-control-scan { background: linear-gradient(180deg, transparent, rgba(126, 87, 194, .95) 45%, transparent 80%); box-shadow: 0 0 1.2rem .15rem rgba(126, 87, 194, .35); }
.nwp-control-glow { background: rgba(105, 90, 166, .24); }
.nwp-control-track { background: rgba(126, 87, 194, .24); }
.nwp-control-track i { background: #a78bfa; box-shadow: 0 0 .8rem .18rem rgba(167, 139, 250, .65); }
.nwp-control-core { border-color: rgba(220, 201, 255, .7); background: linear-gradient(145deg, #7e57c2, #4c2d79); }
.nwp-control-core::before { border-color: rgba(126, 87, 194, .28); }
.nwp-control-tile:hover, .nwp-control-tile:focus-visible, .nwp-control-tile.is-active { border-color: #c8a8f1; background: #45316d; box-shadow: 0 .9rem 1.8rem rgba(0, 0, 0, .25), 0 0 .9rem rgba(105, 90, 166, .18); }
.nwp-product-showcase::before { border-color: rgba(126, 87, 194, .18); box-shadow: 0 0 0 2rem rgba(126, 87, 194, .03), 0 0 0 4rem rgba(105, 90, 166, .025); }
.nwp-window-dots i { background: var(--nwp-blue); }
.nwp-window-dots i:nth-child(2) { background: var(--nwp-teal); }
.nwp-window-badge { background: var(--nwp-sky); color: #5c438e; }
.nwp-sidebar-mark { background: var(--nwp-blue); }
.nwp-product-sidebar button:hover, .nwp-product-sidebar button:focus-visible, .nwp-product-sidebar button.is-active { color: var(--nwp-blue-dark); }
.nwp-product-dashboard { background: linear-gradient(135deg, #fff 0%, #fbf4ff 100%); }
.nwp-product-chart::before { background: linear-gradient(135deg, transparent 0 8%, rgba(105, 90, 166, .08) 8% 10%, transparent 10% 24%, rgba(126, 87, 194, .08) 24% 26%, transparent 26%); }
.nwp-product-chart > i { background: linear-gradient(180deg, #7e57c2, #695aa6); }

/* Final 2026/27 brand pass: off-white surfaces, charcoal type, one orange signal. */
:root {
  --nwp-ink: #20201e;
  --nwp-ink-2: #2b2b28;
  --nwp-blue: #e4572e;
  --nwp-blue-dark: #bd3b1e;
  --nwp-sky: #fff0e9;
  --nwp-paper: #fbfbf8;
  --nwp-cloud: #f1f1ed;
  --nwp-line: #deded7;
  --nwp-text: #282825;
  --nwp-muted: #6c6c66;
  --nwp-teal: #f2a51a;
  --nwp-shadow: 0 1.25rem 3.5rem rgba(32, 32, 30, .11);
}

body { background: var(--nwp-paper); color: var(--nwp-text); }
.nwp-site-header { border-bottom-color: rgba(32, 32, 30, .1); background: rgba(251, 251, 248, .92); }
.nwp-primary-nav > a, .nwp-nav-menu summary { color: #484842; }
.nwp-primary-nav > a:hover, .nwp-nav-menu summary:hover { color: var(--nwp-blue); }
.nwp-primary-nav .nwp-nav-cta, .nwp-button--primary { background: var(--nwp-blue); }
.nwp-primary-nav .nwp-nav-cta:hover, .nwp-button--primary:hover { background: var(--nwp-blue-dark); }
.nwp-hero { background: radial-gradient(circle at 75% 16%, rgba(228, 87, 46, .14), transparent 27rem), linear-gradient(135deg, #fbfbf8 0%, #fff5ef 62%, #f7e4dc 100%); }
.nwp-hero::before { border-color: rgba(228, 87, 46, .16); background: repeating-radial-gradient(circle at center, transparent 0 1.6rem, rgba(228, 87, 46, .05) 1.7rem 1.75rem); }
.nwp-eyebrow, .nwp-card-index, .nwp-service-category { color: var(--nwp-blue); }
.nwp-eyebrow > span, .nwp-tech-strip i, .nwp-hero-qualifier i { background: var(--nwp-blue); }
.nwp-eyebrow--light { color: #ffc9b8; }
.nwp-eyebrow--light > span { background: #f5ae2d; }
.nwp-tech-strip { border-block-color: var(--nwp-line); background: #f2f2ed; }
.nwp-final-cta { background: var(--nwp-blue); }
.nwp-footer { background: #171716; }
.nwp-page-hero { background: radial-gradient(circle at 88% 5%, rgba(228, 87, 46, .14), transparent 25rem), linear-gradient(135deg, #ffe8df 0%, #fff8f4 52%, #f8ded3 100%); }
.nwp-page-hero::before { background-image: linear-gradient(rgba(228, 87, 46, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(228, 87, 46, .12) 1px, transparent 1px); }
.nwp-page-hero::after { border-color: rgba(228, 87, 46, .25); box-shadow: 0 0 0 3rem rgba(228, 87, 46, .06), 0 0 0 6rem rgba(242, 165, 26, .05); }
.nwp-page-hero .nwp-eyebrow { color: #a6452d; }
.nwp-page-hero--service { background: radial-gradient(circle at 12% 25%, rgba(242, 165, 26, .18), transparent 25rem), linear-gradient(135deg, #ffe8df 0%, #fff8f4 52%, #f8ded3 100%); }
.nwp-system-visual, .nwp-control-visual, .nwp-product-showcase { background: linear-gradient(145deg, #272724 0%, #1b1b1a 66%, #34332e 100%); }
.nwp-network-canvas { background: radial-gradient(circle at center, rgba(228, 87, 46, .16), transparent 9rem), linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px), #1d1d1b; }
.nwp-network-canvas::after { background: conic-gradient(from 0deg, transparent 0deg 300deg, rgba(242, 165, 26, .12) 320deg, transparent 340deg); }
.nwp-network-ring { border-color: rgba(242, 165, 26, .19); }
.nwp-network-ring--inner { border-color: rgba(228, 87, 46, .25); }
.nwp-network-edge { background: linear-gradient(90deg, transparent 0 9%, rgba(242, 165, 26, .16) 20%, rgba(228, 87, 46, .8) 48%, rgba(242, 165, 26, .18) 76%, transparent 100%); }
.nwp-network-signal { background: #ffc15c; box-shadow: 0 0 .7rem .2rem rgba(255, 193, 92, .65); }
.nwp-network-core { border-color: #f2a51a; background: radial-gradient(circle at 35% 25%, #f58b54 0, #e4572e 42%, #662a20 100%); }
.nwp-network-core::before { border-color: rgba(242, 165, 26, .48); }
.nwp-network-node span { color: #f2a51a; }
.nwp-network-node:hover, .nwp-network-node:focus-visible, .nwp-network-node.is-active { border-color: #f2a51a; background: var(--nwp-blue); }
.nwp-product-window { background: #f9f9f5; }
.nwp-window-dots i, .nwp-sidebar-mark { background: var(--nwp-blue); }
.nwp-window-dots i:nth-child(2) { background: var(--nwp-teal); }
.nwp-window-badge { background: var(--nwp-sky); color: #a6452d; }
.nwp-product-dashboard { background: linear-gradient(135deg, #fff 0%, #fffaf7 100%); }
.nwp-product-chart > i { background: linear-gradient(180deg, #f2a51a, #e4572e); }
.nwp-architecture-card { border-color: rgba(228, 87, 46, .22); background: linear-gradient(145deg, #fffdfa, #fff0e9); }
.nwp-architecture-card::before { background: linear-gradient(90deg, var(--nwp-blue), var(--nwp-teal)); }
.nwp-capability-card { background: linear-gradient(145deg, #fff, #fff0e9); }
.nwp-card-links a { border-color: #efc7bb; color: #a6452d; }
.nwp-diagnostic-result { border-color: #efc7bb; background: linear-gradient(145deg, #fffdfa, #fff1eb); }
.nwp-diagnostic-route strong { background: #fbe0d5; }
.nwp-dark-card-grid article { background: #2b2b28; border-color: rgba(242, 165, 26, .22); }
.nwp-dark-card-grid article > p, .nwp-dark-card-grid a { color: #ffc9b8; }
.nwp-review-offer { border-color: #efc7bb; background: linear-gradient(135deg, #fff8f4, #ffece4); }

.nwp-quiet-link { align-self: center; color: #8b4a37; font-size: .92rem; font-weight: 800; text-decoration: none; }
.nwp-quiet-link:hover { color: var(--nwp-blue); text-decoration: underline; }
.nwp-business-system > div:first-child { padding-top: 1.5rem; }
.nwp-system-instruction { color: #ffc9b8 !important; font-size: .9rem; }

/* Dedicated service/SEO landing system. */
.nwp-landing-hero__grid { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(25rem, .97fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.nwp-landing-hero h1 { max-width: 19ch; }
.nwp-landing-hero__grid > div > p:not(.nwp-eyebrow) { max-width: 43rem; margin: 1.4rem 0 0; color: #5f5f59; font-size: 1.12rem; line-height: 2; }
.nwp-answer-block { max-width: 42rem; margin-top: 1.4rem; padding: .8rem 1rem; border-right: 3px solid var(--nwp-teal); background: rgba(255, 255, 255, .56); }
.nwp-answer-block span { display: block; color: #a6452d; font: 800 .68rem/1 Arial, sans-serif; letter-spacing: .12em; }
.nwp-answer-block p { margin: .3rem 0 0; color: #55554f; font-size: .92rem; line-height: 1.8; }
.nwp-landing-visual { position: relative; min-height: 24rem; padding: 1.2rem; border: 1px solid rgba(239, 170, 66, .42); border-radius: 1.35rem; background: linear-gradient(145deg, #272724 0%, #1b1b1a 66%, #34332e 100%); color: #fff; box-shadow: 0 1.5rem 3.5rem rgba(32, 32, 30, .2); overflow: hidden; }
.nwp-landing-visual__label { position: relative; z-index: 2; color: #f5ae2d; font: 800 .66rem/1 Arial, sans-serif; letter-spacing: .12em; }
.nwp-landing-visual > p { position: absolute; right: 1.2rem; bottom: .9rem; left: 1.2rem; margin: 0; padding-top: .7rem; border-top: 1px solid rgba(255, 255, 255, .12); color: #c7c7bf; font-size: .78rem; }
.nwp-landing-visual__grid { position: absolute; inset: 3rem 1.2rem 3.2rem; background: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px); background-size: 2rem 2rem; }
.nwp-landing-visual__core { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 9.5rem; height: 9.5rem; border: 1px solid #f2a51a; border-radius: 1.15rem; background: radial-gradient(circle at 35% 25%, #f58b54, #e4572e 52%, #662a20); transform: translate(-50%, -50%) rotate(-4deg); box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .3); }
.nwp-landing-visual__core small, .nwp-landing-visual__core span { color: #ffe0c9; font-size: .65rem; }
.nwp-landing-visual__core strong { font: 800 1.35rem/1 Arial, sans-serif; letter-spacing: .08em; }
.nwp-landing-chip { position: absolute; display: grid; place-items: center; min-width: 5.7rem; padding: .65rem .8rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: .7rem; background: rgba(47, 47, 43, .92); color: #f6f6ee; font: 800 .7rem/1 Arial, sans-serif; box-shadow: 0 .6rem 1.2rem rgba(0, 0, 0, .18); }
.nwp-landing-chip--one { top: 25%; right: 9%; }
.nwp-landing-chip--two { top: 25%; left: 9%; }
.nwp-landing-chip--three { bottom: 22%; right: 10%; }
.nwp-landing-chip--four { bottom: 22%; left: 10%; }
.nwp-landing-visual--workflow { display: grid; place-items: center; }
.nwp-workflow-orb { position: relative; z-index: 2; display: grid; place-items: center; width: 9rem; height: 9rem; border: 1px solid #f2a51a; border-radius: 50%; background: radial-gradient(circle at 35% 25%, #f58b54, #e4572e 52%, #662a20); box-shadow: 0 0 0 1rem rgba(228, 87, 46, .1), 0 1.2rem 2rem rgba(0, 0, 0, .25); }
.nwp-workflow-orb strong { font: 800 1rem/1 Arial, sans-serif; letter-spacing: .05em; }
.nwp-workflow-orb small { color: #ffe0c9; font-size: .65rem; }
.nwp-workflow-orbit { position: absolute; display: flex; align-items: center; gap: .55rem; color: #f4f4ee; font: 700 .62rem/1 Arial, sans-serif; }
.nwp-workflow-orbit b { padding: .58rem .7rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: .6rem; background: rgba(47, 47, 43, .92); }
.nwp-workflow-orbit i { width: 3rem; height: 1px; background: linear-gradient(90deg, transparent, #f2a51a); }
.nwp-workflow-orbit--one { top: 29%; right: 5%; }
.nwp-workflow-orbit--two { top: 47%; left: 5%; }
.nwp-workflow-orbit--three { bottom: 28%; right: 10%; }
.nwp-landing-visual--infra { padding: 1.2rem 1.35rem; }
.nwp-infra-stack { display: grid; gap: .7rem; margin: 2rem 1rem 1rem; }
.nwp-infra-stack div { display: flex; justify-content: space-between; gap: .8rem; padding: .75rem .85rem; border: 1px solid rgba(255, 255, 255, .15); border-radius: .65rem; background: rgba(255, 255, 255, .06); }
.nwp-infra-stack b { color: #fff; font: 800 .72rem/1 Arial, sans-serif; letter-spacing: .08em; }
.nwp-infra-stack span { color: #f5ae2d; font: .68rem/1 Arial, sans-serif; direction: ltr; }
.nwp-landing-visual--infra > p { display: flex; align-items: center; gap: .45rem; }
.nwp-landing-visual--infra > p i { width: .42rem; height: .42rem; border-radius: 50%; background: #63c491; }

.nwp-answer-grid, .nwp-workflow-grid, .nwp-module-grid, .nwp-industry-grid, .nwp-build-grid { display: grid; gap: 1rem; }
.nwp-answer-grid { grid-template-columns: repeat(3, 1fr); }
.nwp-answer-grid article { min-height: 15rem; padding: 1.4rem; border: 1px solid var(--nwp-line); border-top: 3px solid var(--nwp-blue); background: #fff; }
.nwp-answer-grid article > span { color: var(--nwp-blue); font: 800 .68rem/1 Arial, sans-serif; letter-spacing: .12em; }
.nwp-answer-grid h3 { margin: .8rem 0 .45rem; color: var(--nwp-ink); font-size: 1.25rem; }
.nwp-answer-grid p, .nwp-answer-grid li { color: var(--nwp-muted); font-size: .92rem; }
.nwp-answer-grid ul { margin: .6rem 0 0; padding: 0 1.1rem 0 0; }
.nwp-crm-preview { padding: 1.15rem; border: 1px solid rgba(239, 170, 66, .42); border-radius: 1.35rem; background: #272724; color: #fff; box-shadow: 0 1.5rem 3.5rem rgba(32, 32, 30, .2); }
.nwp-crm-preview__top, .nwp-crm-preview__bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.nwp-crm-preview__top { color: #c7c7bf; font: 800 .64rem/1 Arial, sans-serif; letter-spacing: .08em; }
.nwp-crm-preview__top b { display: inline-flex; align-items: center; gap: .35rem; color: #63c491; font: 700 .6rem/1 Arial, sans-serif; }
.nwp-crm-preview__top i { width: .38rem; height: .38rem; border-radius: 50%; background: #63c491; }
.nwp-crm-preview__bar { margin-top: 1rem; padding: .9rem; border: 1px solid rgba(255, 255, 255, .1); border-radius: .65rem .65rem 0 0; background: #34332e; }
.nwp-crm-preview__bar strong { font-size: .92rem; }
.nwp-crm-preview__bar span { color: #ffc15c; font-size: .7rem; }
.nwp-crm-preview__body { display: grid; grid-template-columns: 6.2rem 1fr; min-height: 16rem; border: 1px solid rgba(255, 255, 255, .1); border-top: 0; border-radius: 0 0 .65rem .65rem; background: #fafaf6; color: var(--nwp-ink); direction: ltr; overflow: hidden; }
.nwp-crm-preview__body aside { display: grid; align-content: start; gap: .25rem; padding: .7rem .45rem; border-right: 1px solid #e3e3dc; background: #f0f0eb; }
.nwp-crm-preview__body aside span { padding: .45rem .35rem; border-radius: .35rem; color: #77776f; font: 700 .62rem/1 Arial, sans-serif; text-align: center; }
.nwp-crm-preview__body aside span.is-active { background: #fff; color: var(--nwp-blue); box-shadow: 0 .2rem .5rem rgba(32, 32, 30, .08); }
.nwp-crm-preview__main { padding: .9rem; direction: rtl; }
.nwp-crm-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; }
.nwp-crm-stats div { padding: .55rem; border: 1px solid #ecece6; border-radius: .45rem; background: #fff; }
.nwp-crm-stats small, .nwp-crm-stats strong { display: block; }
.nwp-crm-stats small { color: #898981; font-size: .55rem; }
.nwp-crm-stats strong { margin-top: .25rem; color: var(--nwp-blue); font: 800 1.15rem/1 Arial, sans-serif; }
.nwp-crm-pipeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; margin-top: .65rem; }
.nwp-crm-pipeline > div { min-height: 6.5rem; padding: .5rem; border-radius: .45rem; background: #f1f1ed; }
.nwp-crm-pipeline b, .nwp-crm-pipeline span { display: block; }
.nwp-crm-pipeline b { font-size: .6rem; }
.nwp-crm-pipeline span { margin: .25rem 0 .5rem; color: var(--nwp-blue); font: 800 .65rem/1 Arial, sans-serif; }
.nwp-crm-pipeline i { display: block; height: .7rem; margin-top: .3rem; border-radius: .25rem; background: #fff; box-shadow: inset 2px 0 0 var(--nwp-teal); }
.nwp-crm-pipeline > div:nth-child(2) i { box-shadow: inset 2px 0 0 var(--nwp-blue); }
.nwp-crm-preview__foot { margin: .7rem 0 0; color: #898981; font-size: .62rem; }
.nwp-crm-principles { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.nwp-crm-principles div { display: grid; grid-template-columns: 2rem 1fr; gap: .15rem .55rem; align-items: center; padding: .8rem; border: 1px solid rgba(255, 255, 255, .14); border-radius: .7rem; background: rgba(255, 255, 255, .06); }
.nwp-crm-principles b { grid-row: span 2; color: #f2a51a; font: 800 .68rem/1 Arial, sans-serif; }
.nwp-crm-principles span { font: 800 .7rem/1 Arial, sans-serif; }
.nwp-crm-principles small { color: #bcbcb4; font-size: .65rem; }
.nwp-workflow-grid { grid-template-columns: repeat(3, 1fr); }
.nwp-workflow-card { padding: 1.25rem; border: 1px solid var(--nwp-line); border-radius: 1rem; background: #fff; }
.nwp-workflow-card > div > span { color: var(--nwp-blue); font: 800 .65rem/1 Arial, sans-serif; letter-spacing: .1em; }
.nwp-workflow-card h3 { margin: .7rem 0 1rem; color: var(--nwp-ink); font-size: 1.15rem; }
.nwp-workflow-card ol { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.nwp-workflow-card li { display: flex; align-items: center; gap: .5rem; color: #4e4e48; font-size: .78rem; }
.nwp-workflow-card li b { display: grid; place-items: center; width: 1.35rem; height: 1.35rem; border-radius: 50%; background: var(--nwp-sky); color: var(--nwp-blue); font: 800 .58rem/1 Arial, sans-serif; }
.nwp-workflow-card li:not(:last-child)::after { content: '↓'; position: absolute; margin: 1.9rem 0 0 0; color: var(--nwp-teal); font: .75rem/1 Arial, sans-serif; }
.nwp-workflow-card li { position: relative; min-height: 1.8rem; }
.nwp-workflow-card > p { margin: 1rem 0 0; padding-top: .7rem; border-top: 1px solid var(--nwp-line); color: var(--nwp-muted); font-size: .74rem; }
.nwp-module-grid { grid-template-columns: repeat(4, 1fr); }
.nwp-module-grid article { min-height: 13rem; padding: 1.3rem; border: 1px solid var(--nwp-line); border-radius: .9rem; background: #fff; }
.nwp-module-grid article > span { color: var(--nwp-blue); font: 800 .7rem/1 Arial, sans-serif; }
.nwp-module-grid h3 { margin: .8rem 0 .4rem; color: var(--nwp-ink); font-size: 1.12rem; }
.nwp-module-grid p { margin: 0; color: var(--nwp-muted); font-size: .88rem; }
.nwp-architecture-list { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.nwp-architecture-list li { display: flex; align-items: center; gap: .75rem; padding: .8rem 1rem; border-bottom: 1px solid #e8c9be; color: #4f4f49; }
.nwp-architecture-list b { color: var(--nwp-blue); font: 800 .72rem/1 Arial, sans-serif; }
.nwp-landing-process { display: grid; grid-template-columns: repeat(5, 1fr); gap: .6rem; margin: 0; padding: 0; list-style: none; }
.nwp-landing-process li { min-height: 9rem; padding: 1rem; border: 1px solid var(--nwp-line); border-radius: .75rem; background: #fff; }
.nwp-landing-process b { color: var(--nwp-blue); font: 800 .72rem/1 Arial, sans-serif; }
.nwp-landing-process span { display: block; margin-top: 1rem; color: var(--nwp-ink); font-weight: 800; }
.nwp-technology-panel { display: flex; flex-wrap: wrap; align-content: flex-start; gap: .55rem; }
.nwp-technology-panel span { padding: .65rem .8rem; border: 1px solid rgba(255, 255, 255, .17); border-radius: .5rem; background: rgba(255, 255, 255, .05); color: #fff; font: 700 .76rem/1 Arial, sans-serif; }

/* Industries and searchable capability index. */
.nwp-industry-hero { position: relative; }
.nwp-industry-grid { grid-template-columns: repeat(4, 1fr); }
.nwp-industry-grid a { display: flex; flex-direction: column; min-height: 14rem; padding: 1.25rem; border: 1px solid var(--nwp-line); border-radius: 1rem; background: #fff; color: inherit; text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.nwp-industry-grid a:hover { border-color: #e6a38f; box-shadow: var(--nwp-shadow); transform: translateY(-3px); }
.nwp-industry-grid a > span { color: var(--nwp-blue); font: 800 .7rem/1 Arial, sans-serif; }
.nwp-industry-grid h3 { margin: .75rem 0 .35rem; color: var(--nwp-ink); font-size: 1.15rem; }
.nwp-industry-grid p { margin: 0; color: var(--nwp-muted); font-size: .86rem; }
.nwp-industry-grid b { display: flex; justify-content: space-between; margin-top: auto; padding-top: 1rem; color: var(--nwp-blue); font-size: .8rem; }
.nwp-industry-grid em, .nwp-capability-list em { font-style: normal; font-family: Arial, sans-serif; }
.nwp-industry-grid--home { grid-template-columns: repeat(4, 1fr); }
.nwp-capability-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.nwp-capability-toolbar label { color: var(--nwp-ink); font-weight: 800; }
.nwp-capability-toolbar input { width: min(22rem, 100%); min-height: 2.8rem; padding: .55rem .8rem; border: 1px solid var(--nwp-line); border-radius: .6rem; background: #fff; color: var(--nwp-ink); }
.nwp-capability-toolbar input:focus { border-color: var(--nwp-blue); outline: 3px solid rgba(228, 87, 46, .14); }
.nwp-build-grid { grid-template-columns: repeat(5, 1fr); }
.nwp-build-grid a, .nwp-capability-list a { display: grid; gap: .45rem; padding: 1rem; border: 1px solid var(--nwp-line); border-radius: .75rem; background: #fff; color: inherit; text-decoration: none; transition: transform .2s ease, border-color .2s ease; }
.nwp-build-grid a:hover, .nwp-capability-list a:hover { border-color: #e6a38f; transform: translateY(-2px); }
.nwp-build-grid span, .nwp-capability-list span { color: var(--nwp-blue); font-size: .72rem; font-weight: 800; }
.nwp-build-grid strong, .nwp-capability-list strong { color: var(--nwp-ink); font-size: .9rem; }
.nwp-build-grid em { justify-self: end; color: var(--nwp-blue); font-style: normal; font-family: Arial, sans-serif; }
.nwp-capability-list { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }
.nwp-capability-list a { grid-template-columns: 5.2rem 1fr auto; align-items: center; }
.nwp-industry-problems { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.nwp-industry-problems article { padding: 1.2rem; border-right: 3px solid var(--nwp-blue); background: #fff; }
.nwp-industry-problems span { color: var(--nwp-blue); font: 800 .7rem/1 Arial, sans-serif; }
.nwp-industry-problems h3 { margin: .7rem 0 .35rem; color: var(--nwp-ink); font-size: 1.05rem; }
.nwp-industry-problems p { margin: 0; color: var(--nwp-muted); font-size: .82rem; }
.nwp-industry-systems { display: grid; gap: .6rem; }
.nwp-industry-systems div { display: flex; align-items: center; gap: .7rem; padding: .85rem 1rem; border: 1px solid var(--nwp-line); border-radius: .7rem; background: #fff; }
.nwp-industry-systems b { color: var(--nwp-blue); font: 800 .72rem/1 Arial, sans-serif; }
.nwp-industry-systems span { color: var(--nwp-ink); font-weight: 800; }
.nwp-industry-architecture { display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem; }
.nwp-industry-architecture div { display: grid; gap: .7rem; min-height: 8rem; padding: 1rem; border: 1px solid rgba(255, 255, 255, .14); border-radius: .7rem; background: rgba(255, 255, 255, .05); }
.nwp-industry-architecture span { color: #f2a51a; font: 800 .7rem/1 Arial, sans-serif; }
.nwp-industry-architecture strong { color: #fff; font-size: .92rem; }
.nwp-industry-integrations { display: flex; flex-wrap: wrap; gap: .6rem; }
.nwp-industry-integrations span { padding: .7rem .95rem; border: 1px solid #efc7bb; border-radius: 999px; background: #fff; color: #8b4a37; font-size: .86rem; font-weight: 800; }

@media (max-width: 1040px) {
  .nwp-landing-hero__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .nwp-module-grid { grid-template-columns: repeat(2, 1fr); }
  .nwp-build-grid, .nwp-industry-grid, .nwp-industry-grid--home { grid-template-columns: repeat(3, 1fr); }
  .nwp-industry-architecture { grid-template-columns: repeat(2, 1fr); }
  .nwp-landing-process { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 820px) {
  .nwp-landing-hero__grid, .nwp-answer-grid, .nwp-workflow-grid, .nwp-industry-problems { grid-template-columns: 1fr; }
  .nwp-build-grid, .nwp-industry-grid, .nwp-industry-grid--home { grid-template-columns: repeat(2, 1fr); }
  .nwp-landing-visual { min-height: 22rem; }
}
@media (max-width: 600px) {
  .nwp-landing-hero__grid { grid-template-columns: 1fr; }
  .nwp-landing-hero h1 { max-width: none; }
  .nwp-quiet-link { width: 100%; text-align: center; }
  .nwp-answer-grid, .nwp-workflow-grid, .nwp-module-grid, .nwp-build-grid, .nwp-industry-grid, .nwp-industry-grid--home, .nwp-industry-architecture { grid-template-columns: 1fr; }
  .nwp-capability-toolbar { align-items: stretch; flex-direction: column; }
  .nwp-capability-toolbar input { width: 100%; }
  .nwp-capability-list { grid-template-columns: 1fr; }
  .nwp-capability-list a { grid-template-columns: 4.8rem 1fr auto; }
  .nwp-crm-preview__body { grid-template-columns: 4.4rem 1fr; }
  .nwp-crm-stats, .nwp-crm-pipeline { grid-template-columns: 1fr; }
  .nwp-crm-pipeline > div { min-height: 0; }
  .nwp-crm-preview__body aside span { font-size: .55rem; }
  .nwp-crm-principles { grid-template-columns: 1fr; }
  .nwp-workflow-orbit--one { right: 1%; }
  .nwp-workflow-orbit--two { left: 1%; }
  .nwp-workflow-orbit--three { right: 3%; }
  .nwp-landing-process { grid-template-columns: 1fr 1fr; }
  .nwp-landing-process li { min-height: 7rem; }
  .nwp-landing-process span { margin-top: .7rem; }
  .nwp-industry-hero .nwp-action-row .nwp-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .nwp-landing-visual *, .nwp-crm-preview *, .nwp-workflow-card *, .nwp-network-canvas::after, .nwp-network-ring, .nwp-network-edge, .nwp-network-signal, .nwp-network-core::before { animation: none !important; transition: none !important; }
}
.nwp-product-chart > b { background: var(--nwp-blue); }
.nwp-product-list strong i { background: var(--nwp-blue); }
.nwp-product-list strong:nth-child(3) i { background: var(--nwp-teal); }
.nwp-product-progress b i { background: linear-gradient(90deg, var(--nwp-blue), var(--nwp-teal)); }

.nwp-diagnostic-trigger:hover, .nwp-diagnostic-trigger.is-active { box-shadow: 0 .45rem 1rem rgba(105, 90, 166, .08); }
.nwp-diagnostic-result { border-color: #d6b6ff; background: linear-gradient(145deg, #fff9ff, #f2e3ff); }
.nwp-diagnostic-route { color: #5c438e; }
.nwp-diagnostic-route strong { background: #f4e8ff; }
.nwp-service-card:hover { border-color: #bba7df; box-shadow: 0 1rem 2rem rgba(105, 90, 166, .1); }
.nwp-card-links a, .nwp-service-tech-tags span { border-color: #d5c5ec; color: #5c438e; }
.nwp-capability-card { background: linear-gradient(145deg, #fff, #f3e6ff); }
.nwp-dark-card-grid article { background: #342356; border-color: rgba(214, 191, 248, .24); }
.nwp-dark-card-grid article > p, .nwp-dark-card-grid a { color: #d2b8f4; }
.nwp-architecture-card { border-color: rgba(126, 87, 194, .22); background: linear-gradient(145deg, #fdf8ff 0%, #f0ddff 100%); box-shadow: 0 1.2rem 2.8rem rgba(50, 24, 91, .14), inset 0 1px 0 rgba(255, 255, 255, .9); }
.nwp-architecture-card::before { background: linear-gradient(90deg, var(--nwp-blue), #c026d3); }
.nwp-architecture-card > .nwp-check-list li { border-color: rgba(126, 87, 194, .14); color: #5c526c; }
.nwp-architecture-card > .nwp-check-list li::before { background: var(--nwp-sky); color: var(--nwp-blue); }
.nwp-architecture-card > .nwp-check-list li:hover, .nwp-architecture-card > .nwp-check-list li:focus-within { border-color: rgba(126, 87, 194, .36); box-shadow: 0 .4rem 1rem rgba(105, 90, 166, .1); }
.nwp-architecture-item { border-color: rgba(126, 87, 194, .22); }
.nwp-architecture-item:hover { border-color: rgba(105, 90, 166, .58); }
.nwp-architecture-item__index { background: var(--nwp-blue); }
.nwp-case-study-empty { border-color: #c7afe7; background: #fdf8ff; }

/* The source stylesheet contains legacy theme remnants above; these terminal
   declarations keep the requested brand tokens authoritative at runtime. */
.nwp-diagnostic-trigger:hover, .nwp-diagnostic-trigger.is-active { box-shadow: 0 .45rem 1rem rgba(228, 87, 46, .08); }
.nwp-diagnostic-result { border-color: #efc7bb; background: linear-gradient(145deg, #fffdfa, #fff1eb); }
.nwp-diagnostic-route { color: #8b4a37; }
.nwp-diagnostic-route strong { background: #fbe0d5; }
.nwp-service-card:hover { border-color: #e6a38f; box-shadow: 0 1rem 2rem rgba(228, 87, 46, .1); }
.nwp-card-links a, .nwp-service-tech-tags span { border-color: #efc7bb; color: #a6452d; }
.nwp-capability-card { background: linear-gradient(145deg, #fff, #fff0e9); }
.nwp-dark-card-grid article { background: #2b2b28; border-color: rgba(242, 165, 26, .22); }
.nwp-dark-card-grid article > p, .nwp-dark-card-grid a { color: #ffc9b8; }
.nwp-architecture-card { border-color: rgba(228, 87, 46, .22); background: linear-gradient(145deg, #fffdfa 0%, #fff0e9 100%); }
.nwp-architecture-card::before { background: linear-gradient(90deg, var(--nwp-blue), var(--nwp-teal)); }
.nwp-architecture-card > .nwp-check-list li { border-color: rgba(228, 87, 46, .14); color: #5c526c; }
.nwp-architecture-card > .nwp-check-list li::before { background: var(--nwp-sky); color: var(--nwp-blue); }
.nwp-architecture-card > .nwp-check-list li:hover, .nwp-architecture-card > .nwp-check-list li:focus-within { border-color: rgba(228, 87, 46, .36); box-shadow: 0 .4rem 1rem rgba(228, 87, 46, .1); }
.nwp-architecture-item { border-color: rgba(228, 87, 46, .18); }
.nwp-architecture-item:hover { border-color: rgba(228, 87, 46, .5); }
.nwp-case-study-empty { border-color: #e6a38f; background: #fffaf7; }

/* Restore the original purple brand palette across the 2026/27 additions. */
:root {
  --nwp-ink: #24183d;
  --nwp-ink-2: #342356;
  --nwp-blue: #695aa6;
  --nwp-blue-dark: #50438b;
  --nwp-sky: #efe3ff;
  --nwp-paper: #fff9ff;
  --nwp-cloud: #f7efff;
  --nwp-line: #e2dced;
  --nwp-text: #302641;
  --nwp-muted: #6f6480;
  --nwp-teal: #7e57c2;
  --nwp-shadow: 0 1.25rem 3.5rem rgba(57, 33, 99, .12);
}

body { background: var(--nwp-paper); color: var(--nwp-text); }
.nwp-site-header { border-bottom-color: rgba(220, 229, 240, .9); background: rgba(255, 249, 255, .94); }
.nwp-primary-nav > a, .nwp-nav-menu summary { color: #4f4569; }
.nwp-primary-nav > a:hover, .nwp-nav-menu summary:hover { color: var(--nwp-blue); }
.nwp-primary-nav .nwp-nav-cta, .nwp-button--primary { background: var(--nwp-blue); }
.nwp-primary-nav .nwp-nav-cta:hover, .nwp-button--primary:hover { background: var(--nwp-blue-dark); }
.nwp-hero { background: radial-gradient(circle at 75% 16%, rgba(192, 38, 211, .14), transparent 27rem), linear-gradient(135deg, #fff9ff 0%, #f6eaff 62%, #eadbff 100%); }
.nwp-hero::before { border-color: rgba(124, 58, 237, .16); background: repeating-radial-gradient(circle at center, transparent 0 1.6rem, rgba(124, 58, 237, .05) 1.7rem 1.75rem); }
.nwp-eyebrow, .nwp-card-index, .nwp-service-category { color: var(--nwp-blue); }
.nwp-eyebrow > span, .nwp-tech-strip i, .nwp-hero-qualifier i { background: var(--nwp-teal); }
.nwp-eyebrow--light { color: #d6c5fa; }
.nwp-eyebrow--light > span { background: #a78bfa; }
.nwp-final-cta { background: var(--nwp-blue); }
.nwp-footer { background: #24183d; }
.nwp-page-hero { background: radial-gradient(circle at 88% 5%, rgba(192, 38, 211, .22), transparent 25rem), linear-gradient(135deg, #ebddff 0%, #fbf4ff 52%, #e2d0ff 100%); }
.nwp-page-hero::before { background-image: linear-gradient(rgba(124, 58, 237, .14) 1px, transparent 1px), linear-gradient(90deg, rgba(124, 58, 237, .14) 1px, transparent 1px); }
.nwp-page-hero::after { border-color: rgba(124, 58, 237, .25); box-shadow: 0 0 0 3rem rgba(192, 38, 211, .06), 0 0 0 6rem rgba(124, 58, 237, .04); }

/* Keep the hero background clean; the concentric decorative circle is removed. */
.nwp-hero::before { display: none; }

.nwp-system-visual, .nwp-control-visual, .nwp-product-showcase { background: linear-gradient(145deg, #21133c 0%, #1b102f 66%, #342356 100%); box-shadow: 0 1.5rem 3.5rem rgba(57, 33, 99, .24); }
.nwp-window-dots i, .nwp-sidebar-mark { background: var(--nwp-blue); }
.nwp-window-dots i:nth-child(2) { background: var(--nwp-teal); }
.nwp-product-dashboard { background: linear-gradient(135deg, #fff 0%, #fbf4ff 100%); }
.nwp-product-chart > i { background: linear-gradient(180deg, #7e57c2, #695aa6); }
.nwp-product-chart > b, .nwp-product-list strong i { background: var(--nwp-blue); }
.nwp-product-list strong:nth-child(3) i { background: var(--nwp-teal); }
.nwp-product-progress b i { background: linear-gradient(90deg, var(--nwp-blue), var(--nwp-teal)); }

.nwp-landing-visual, .nwp-crm-preview { border-color: rgba(207, 184, 244, .52); background: linear-gradient(145deg, #21133c 0%, #1b102f 66%, #342356 100%); }
.nwp-landing-visual__label { color: #c8a8f1; }
.nwp-landing-visual__core, .nwp-workflow-orb { border-color: #c8a8f1; background: radial-gradient(circle at 35% 25%, #eadcff 0, #9767d0 42%, #3b2168 100%); }
.nwp-landing-visual__core small, .nwp-landing-visual__core span, .nwp-workflow-orb small { color: #eadcff; }
.nwp-workflow-orb { box-shadow: 0 0 0 1rem rgba(105, 90, 166, .1), 0 1.2rem 2rem rgba(0, 0, 0, .25); }
.nwp-workflow-orbit i { background: linear-gradient(90deg, transparent, #c8a8f1); }
.nwp-infra-stack span { color: #c8a8f1; }
.nwp-answer-block { border-right-color: var(--nwp-teal); }
.nwp-answer-block span { color: #5c438e; }
.nwp-crm-preview__bar span, .nwp-crm-principles b { color: #c8a8f1; }
.nwp-crm-preview__bar { background: #342356; }
.nwp-crm-preview__body { background: #faf7ff; }
.nwp-architecture-list li { border-bottom-color: #d9c8ec; }
.nwp-industry-grid a:hover, .nwp-build-grid a:hover, .nwp-capability-list a:hover { border-color: #bba7df; }
.nwp-capability-toolbar input:focus { outline-color: rgba(105, 90, 166, .14); }
.nwp-industry-integrations span { border-color: #d5c5ec; color: #5c438e; }

.nwp-diagnostic-trigger:hover, .nwp-diagnostic-trigger.is-active { box-shadow: 0 .45rem 1rem rgba(105, 90, 166, .08); }
.nwp-diagnostic-result { border-color: #d6b6ff; background: linear-gradient(145deg, #fff9ff, #f2e3ff); }
.nwp-diagnostic-route { color: #5c438e; }
.nwp-diagnostic-route strong { background: #f4e8ff; }
.nwp-service-card:hover { border-color: #bba7df; box-shadow: 0 1rem 2rem rgba(105, 90, 166, .1); }
.nwp-card-links a, .nwp-service-tech-tags span { border-color: #d5c5ec; color: #5c438e; }
.nwp-capability-card { background: linear-gradient(145deg, #fff, #f3e6ff); }
.nwp-dark-card-grid article { background: #342356; border-color: rgba(214, 191, 248, .24); }
.nwp-dark-card-grid article > p, .nwp-dark-card-grid a { color: #d2b8f4; }
.nwp-architecture-card { border-color: rgba(126, 87, 194, .22); background: linear-gradient(145deg, #fdf8ff 0%, #f0ddff 100%); }
.nwp-architecture-card::before { background: linear-gradient(90deg, var(--nwp-blue), #c026d3); }
.nwp-architecture-item { border-color: rgba(126, 87, 194, .22); }
.nwp-architecture-item:hover { border-color: rgba(105, 90, 166, .58); }
.nwp-case-study-empty { border-color: #c7afe7; background: #fdf8ff; }
