/*
 * NMF Digital — Per-page styles for the service page templates.
 * Each block is scoped to its template's .nmf-page-* class.
 */
/* ---- AI Solutions ---- */

  .nmf-page-ai-solutions *, .nmf-page-ai-solutions *::before, .nmf-page-ai-solutions *::after { box-sizing: border-box; }
  .nmf-page-ai-solutions { scroll-behavior: smooth; }
  .nmf-page-ai-solutions { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-ai-solutions #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-ai-solutions #nmf-nav + section > div { grid-template-columns: 1fr !important; gap: 32px !important; }
  }
  .nmf-page-ai-solutions .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-ai-solutions .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-ai-solutions .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-ai-solutions .nmf-navlink:hover::after {width:100%;}
  .nmf-page-ai-solutions .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-ai-solutions .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-ai-solutions .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-ai-solutions .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-ai-solutions .nmf-row {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard);}
  .nmf-page-ai-solutions .nmf-row:hover {box-shadow:var(--shadow-md);border-color:var(--magenta-200);}
  .nmf-page-ai-solutions .nmf-tier:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}
  .nmf-page-ai-solutions .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-ai-solutions .nmf-flink:hover {color:#fff!important;}


/* ---- Blockchain Solutions ---- */

  .nmf-page-blockchain-solutions *, .nmf-page-blockchain-solutions *::before, .nmf-page-blockchain-solutions *::after { box-sizing: border-box; }
  .nmf-page-blockchain-solutions { scroll-behavior: smooth; }
  .nmf-page-blockchain-solutions { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-blockchain-solutions #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-blockchain-solutions #nmf-nav + section > div { grid-template-columns: 1fr !important; gap: 32px !important; }
  }
  .nmf-page-blockchain-solutions .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-blockchain-solutions .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-blockchain-solutions .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-blockchain-solutions .nmf-navlink:hover::after {width:100%;}
  .nmf-page-blockchain-solutions .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-blockchain-solutions .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-blockchain-solutions .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-blockchain-solutions .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-blockchain-solutions .nmf-row {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard);}
  .nmf-page-blockchain-solutions .nmf-row:hover {box-shadow:var(--shadow-md);border-color:var(--magenta-200);}
  .nmf-page-blockchain-solutions .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-blockchain-solutions .nmf-flink:hover {color:#fff!important;}


/* ---- Digital Transformation ---- */

  .nmf-page-digital-transformation *, .nmf-page-digital-transformation *::before, .nmf-page-digital-transformation *::after { box-sizing: border-box; }
  .nmf-page-digital-transformation { scroll-behavior: smooth; }
  .nmf-page-digital-transformation { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-digital-transformation #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-digital-transformation #nmf-nav + section > div { grid-template-columns: 1fr !important; gap: 32px !important; }
  }
  .nmf-page-digital-transformation .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-digital-transformation .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-digital-transformation .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-digital-transformation .nmf-navlink:hover::after {width:100%;}
  .nmf-page-digital-transformation .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-digital-transformation .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-digital-transformation .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-digital-transformation .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-digital-transformation .nmf-row {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard);}
  .nmf-page-digital-transformation .nmf-row:hover {box-shadow:var(--shadow-md);border-color:var(--magenta-200);}
  .nmf-page-digital-transformation .nmf-case:hover {transform:translateY(-4px);box-shadow:var(--shadow-xl)!important;}
  .nmf-page-digital-transformation .nmf-case:hover .nmf-case-img {transform:scale(1.06);}
  .nmf-page-digital-transformation .nmf-case:hover .nmf-case-arrow {transform:translateX(5px);}
  .nmf-page-digital-transformation .nmf-ghost:hover {background:rgba(255,255,255,0.12);border-color:#fff!important;transform:translateY(-1px);}
  .nmf-page-digital-transformation .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-digital-transformation .nmf-flink:hover {color:#fff!important;}


/* ---- eCommerce Solutions ---- */

  .nmf-page-ecommerce-solutions *, .nmf-page-ecommerce-solutions *::before, .nmf-page-ecommerce-solutions *::after { box-sizing: border-box; }
  .nmf-page-ecommerce-solutions { scroll-behavior: smooth; }
  .nmf-page-ecommerce-solutions { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-ecommerce-solutions #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-ecommerce-solutions #nmf-nav + section > div { grid-template-columns: 1fr !important; gap: 32px !important; }
  }
  .nmf-page-ecommerce-solutions .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-ecommerce-solutions .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-ecommerce-solutions .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-ecommerce-solutions .nmf-navlink:hover::after {width:100%;}
  .nmf-page-ecommerce-solutions .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-ecommerce-solutions .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-ecommerce-solutions .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-ecommerce-solutions .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-ecommerce-solutions .nmf-row {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard);}
  .nmf-page-ecommerce-solutions .nmf-row:hover {box-shadow:var(--shadow-md);border-color:var(--magenta-200);}
  .nmf-page-ecommerce-solutions .nmf-tier:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}
  .nmf-page-ecommerce-solutions .nmf-ghost:hover {background:rgba(255,255,255,0.12);border-color:#fff!important;transform:translateY(-1px);}
  .nmf-page-ecommerce-solutions .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-ecommerce-solutions .nmf-flink:hover {color:#fff!important;}


/* ---- Intelligent Automation (RPA) ---- */

  .nmf-page-intelligent-automation *, .nmf-page-intelligent-automation *::before, .nmf-page-intelligent-automation *::after { box-sizing: border-box; }
  .nmf-page-intelligent-automation { scroll-behavior: smooth; }
  .nmf-page-intelligent-automation { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-intelligent-automation #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-intelligent-automation #nmf-nav + section > div { grid-template-columns: 1fr !important; gap: 32px !important; }
  }
  .nmf-page-intelligent-automation .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-intelligent-automation .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-intelligent-automation .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-intelligent-automation .nmf-navlink:hover::after {width:100%;}
  .nmf-page-intelligent-automation .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-intelligent-automation .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-intelligent-automation .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-intelligent-automation .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-intelligent-automation .nmf-row {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard);}
  .nmf-page-intelligent-automation .nmf-row:hover {box-shadow:var(--shadow-md);border-color:var(--magenta-200);}
  .nmf-page-intelligent-automation .nmf-tier:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}
  .nmf-page-intelligent-automation .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-intelligent-automation .nmf-flink:hover {color:#fff!important;}
  .nmf-page-intelligent-automation .nmf-slider { -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:var(--radius-pill); background:var(--border-default); outline:none; }
  .nmf-page-intelligent-automation .nmf-slider::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:20px; height:20px; border-radius:50%; background:var(--nmf-magenta); cursor:pointer; box-shadow:var(--shadow-brand); border:3px solid #fff; }
  .nmf-page-intelligent-automation .nmf-slider::-moz-range-thumb { width:20px; height:20px; border-radius:50%; background:var(--nmf-magenta); cursor:pointer; box-shadow:var(--shadow-brand); border:3px solid #fff; }


/* ---- IT Service Management ---- */

  .nmf-page-it-service-management *, .nmf-page-it-service-management *::before, .nmf-page-it-service-management *::after { box-sizing: border-box; }
  .nmf-page-it-service-management { scroll-behavior: smooth; }
  .nmf-page-it-service-management { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-it-service-management #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-it-service-management #nmf-nav + section > div { grid-template-columns: 1fr !important; gap: 32px !important; }
  }
  .nmf-page-it-service-management .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-it-service-management .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-it-service-management .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-it-service-management .nmf-navlink:hover::after {width:100%;}
  .nmf-page-it-service-management .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-it-service-management .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-it-service-management .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-it-service-management .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-it-service-management .nmf-row {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard);}
  .nmf-page-it-service-management .nmf-row:hover {box-shadow:var(--shadow-md);border-color:var(--magenta-200);}
  .nmf-page-it-service-management .nmf-tier:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}
  .nmf-page-it-service-management .nmf-ghost:hover {background:rgba(255,255,255,0.12);border-color:#fff!important;transform:translateY(-1px);}
  .nmf-page-it-service-management .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-it-service-management .nmf-flink:hover {color:#fff!important;}
  .nmf-page-it-service-management .nmf-outline-btn {transition:all var(--dur-base) var(--ease-standard);}
  .nmf-page-it-service-management .nmf-outline-btn:hover {background:var(--magenta-50);}


/* ---- Microsoft D365 ---- */

  .nmf-page-microsoft-d365 *, .nmf-page-microsoft-d365 *::before, .nmf-page-microsoft-d365 *::after { box-sizing: border-box; }
  .nmf-page-microsoft-d365 { scroll-behavior: smooth; }
  .nmf-page-microsoft-d365 { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-microsoft-d365 #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-microsoft-d365 #nmf-nav + section > div { grid-template-columns: 1fr !important; gap: 32px !important; }
    .nmf-page-microsoft-d365 .nmf-module-row { grid-template-columns: 1fr !important; }
    .nmf-page-microsoft-d365 .nmf-module-row > div:nth-child(2) { order: -1; }
    .nmf-page-microsoft-d365 .nmf-step-strip { grid-template-columns: 1fr !important; }
  }
  .nmf-page-microsoft-d365 .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-microsoft-d365 .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-microsoft-d365 .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-microsoft-d365 .nmf-navlink:hover::after {width:100%;}
  .nmf-page-microsoft-d365 .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-microsoft-d365 .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-microsoft-d365 .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-microsoft-d365 .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-microsoft-d365 .nmf-case:hover {transform:translateY(-4px);box-shadow:var(--shadow-xl)!important;}
  .nmf-page-microsoft-d365 .nmf-case:hover .nmf-case-img {transform:scale(1.06);}
  .nmf-page-microsoft-d365 .nmf-case:hover .nmf-case-arrow {transform:translateX(5px);}
  .nmf-page-microsoft-d365 .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-microsoft-d365 .nmf-flink:hover {color:#fff!important;}
  .nmf-page-microsoft-d365 .nmf-step:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}
  .nmf-page-microsoft-d365 .nmf-tier:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}


/* ---- Microsoft Power Platform ---- */

  .nmf-page-microsoft-power-platform *, .nmf-page-microsoft-power-platform *::before, .nmf-page-microsoft-power-platform *::after { box-sizing: border-box; }
  .nmf-page-microsoft-power-platform { scroll-behavior: smooth; }
  .nmf-page-microsoft-power-platform { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-microsoft-power-platform #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-microsoft-power-platform #nmf-nav + section > div { grid-template-columns: 1fr !important; gap: 32px !important; }
    .nmf-page-microsoft-power-platform .nmf-module-row { grid-template-columns: 1fr !important; }
    .nmf-page-microsoft-power-platform .nmf-module-row > div:nth-child(2) { order: -1; }
    .nmf-page-microsoft-power-platform .nmf-step-strip { grid-template-columns: 1fr !important; }
    .nmf-page-microsoft-power-platform .nmf-fit-grid { grid-template-columns: 1fr !important; }
  }
  .nmf-page-microsoft-power-platform .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-microsoft-power-platform .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-microsoft-power-platform .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-microsoft-power-platform .nmf-navlink:hover::after {width:100%;}
  .nmf-page-microsoft-power-platform .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-microsoft-power-platform .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-microsoft-power-platform .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-microsoft-power-platform .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-microsoft-power-platform .nmf-case:hover {transform:translateY(-4px);box-shadow:var(--shadow-xl)!important;}
  .nmf-page-microsoft-power-platform .nmf-case:hover .nmf-case-img {transform:scale(1.06);}
  .nmf-page-microsoft-power-platform .nmf-case:hover .nmf-case-arrow {transform:translateX(5px);}
  .nmf-page-microsoft-power-platform .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-microsoft-power-platform .nmf-flink:hover {color:#fff!important;}
  .nmf-page-microsoft-power-platform .nmf-step:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}
  .nmf-page-microsoft-power-platform .nmf-tier:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}


/* ---- Odoo ERP ---- */

  .nmf-page-odoo-erp *, .nmf-page-odoo-erp *::before, .nmf-page-odoo-erp *::after { box-sizing: border-box; }
  .nmf-page-odoo-erp { scroll-behavior: smooth; }
  .nmf-page-odoo-erp { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-odoo-erp #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-odoo-erp #nmf-nav + section > div { grid-template-columns: 1fr !important; gap: 32px !important; }
    .nmf-page-odoo-erp .nmf-module-row { grid-template-columns: 1fr !important; }
    .nmf-page-odoo-erp .nmf-module-row > div:nth-child(2) { order: -1; }
    .nmf-page-odoo-erp .nmf-step-strip { grid-template-columns: 1fr !important; }
    .nmf-page-odoo-erp .nmf-pillar-grid { grid-template-columns: 1fr !important; }
    .nmf-page-odoo-erp .nmf-fit-grid { grid-template-columns: 1fr !important; }
  }
  .nmf-page-odoo-erp .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-odoo-erp .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-odoo-erp .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-odoo-erp .nmf-navlink:hover::after {width:100%;}
  .nmf-page-odoo-erp .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-odoo-erp .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-odoo-erp .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-odoo-erp .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-odoo-erp .nmf-case:hover {transform:translateY(-4px);box-shadow:var(--shadow-xl)!important;}
  .nmf-page-odoo-erp .nmf-case:hover .nmf-case-img {transform:scale(1.06);}
  .nmf-page-odoo-erp .nmf-case:hover .nmf-case-arrow {transform:translateX(5px);}
  .nmf-page-odoo-erp .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-odoo-erp .nmf-flink:hover {color:#fff!important;}
  .nmf-page-odoo-erp .nmf-step:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}
  .nmf-page-odoo-erp .nmf-tier:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}


/* ---- Sales Force Automation ---- */

  .nmf-page-sales-force-automation *, .nmf-page-sales-force-automation *::before, .nmf-page-sales-force-automation *::after { box-sizing: border-box; }
  .nmf-page-sales-force-automation { scroll-behavior: smooth; }
  .nmf-page-sales-force-automation { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-sales-force-automation #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-sales-force-automation #nmf-nav + section > div { grid-template-columns: 1fr !important; gap: 32px !important; }
    .nmf-page-sales-force-automation .nmf-compare-grid { grid-template-columns: 1fr !important; }
    .nmf-page-sales-force-automation .nmf-module-row { grid-template-columns: 1fr !important; }
    .nmf-page-sales-force-automation .nmf-step-strip { grid-template-columns: 1fr !important; }
    .nmf-page-sales-force-automation .nmf-fit-grid { grid-template-columns: 1fr !important; }
    .nmf-page-sales-force-automation .nmf-case-grid { grid-template-columns: 1fr !important; }
    .nmf-page-sales-force-automation .nmf-cap-grid { grid-template-columns: 1fr !important; }
    .nmf-page-sales-force-automation .nmf-trigger-strip { grid-template-columns: 1fr !important; }
    .nmf-page-sales-force-automation .nmf-bar-row { grid-template-columns: 140px 1fr 50px !important; }
  }
  .nmf-page-sales-force-automation .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-sales-force-automation .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-sales-force-automation .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-sales-force-automation .nmf-navlink:hover::after {width:100%;}
  .nmf-page-sales-force-automation .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-sales-force-automation .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-sales-force-automation .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-sales-force-automation .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-sales-force-automation .nmf-case:hover {transform:translateY(-4px);box-shadow:var(--shadow-xl)!important;}
  .nmf-page-sales-force-automation .nmf-case:hover .nmf-case-img {transform:scale(1.06);}
  .nmf-page-sales-force-automation .nmf-case:hover .nmf-case-arrow {transform:translateX(5px);}
  .nmf-page-sales-force-automation .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-sales-force-automation .nmf-flink:hover {color:#fff!important;}
  .nmf-page-sales-force-automation .nmf-step:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}
  .nmf-page-sales-force-automation .nmf-tier:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}
  .nmf-page-sales-force-automation .nmf-bar-fill {transition:width 1.2s var(--ease-out);}


/* ---- SmartHMIS ---- */

  .nmf-page-smarthmis *, .nmf-page-smarthmis *::before, .nmf-page-smarthmis *::after { box-sizing: border-box; }
  .nmf-page-smarthmis { scroll-behavior: smooth; }
  .nmf-page-smarthmis { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-smarthmis #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-smarthmis #nmf-nav + section > div { grid-template-columns: 1fr !important; gap: 32px !important; }
    .nmf-page-smarthmis .nmf-badge-row { grid-template-columns: repeat(2, 1fr) !important; }
    .nmf-page-smarthmis .nmf-feat-grid { grid-template-columns: 1fr !important; }
    .nmf-page-smarthmis .nmf-mod-grid { grid-template-columns: 1fr !important; }
    .nmf-page-smarthmis .nmf-app-grid { grid-template-columns: 1fr !important; }
    .nmf-page-smarthmis .nmf-step-strip { grid-template-columns: 1fr !important; }
    .nmf-page-smarthmis .nmf-case-grid { grid-template-columns: 1fr !important; }
  }
  .nmf-page-smarthmis .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-smarthmis .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-smarthmis .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-smarthmis .nmf-navlink:hover::after {width:100%;}
  .nmf-page-smarthmis .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-smarthmis .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-smarthmis .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-smarthmis .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-smarthmis .nmf-case:hover {transform:translateY(-4px);box-shadow:var(--shadow-xl)!important;}
  .nmf-page-smarthmis .nmf-case:hover .nmf-case-img {transform:scale(1.06);}
  .nmf-page-smarthmis .nmf-case:hover .nmf-case-arrow {transform:translateX(5px);}
  .nmf-page-smarthmis .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-smarthmis .nmf-flink:hover {color:#fff!important;}
  .nmf-page-smarthmis .nmf-step:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}


/* ---- Zoho CRM ---- */

  .nmf-page-zoho-crm *, .nmf-page-zoho-crm *::before, .nmf-page-zoho-crm *::after { box-sizing: border-box; }
  .nmf-page-zoho-crm { scroll-behavior: smooth; }
  .nmf-page-zoho-crm { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-zoho-crm #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-zoho-crm #nmf-nav + section > div { grid-template-columns: 1fr !important; gap: 32px !important; }
    .nmf-page-zoho-crm .nmf-module-row { grid-template-columns: 1fr !important; }
    .nmf-page-zoho-crm .nmf-step-strip { grid-template-columns: 1fr !important; }
    .nmf-page-zoho-crm .nmf-pillar-grid { grid-template-columns: 1fr !important; }
    .nmf-page-zoho-crm .nmf-fit-grid { grid-template-columns: 1fr !important; }
    .nmf-page-zoho-crm .nmf-case-grid { grid-template-columns: 1fr !important; }
  }
  .nmf-page-zoho-crm .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-zoho-crm .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-zoho-crm .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-zoho-crm .nmf-navlink:hover::after {width:100%;}
  .nmf-page-zoho-crm .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-zoho-crm .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-zoho-crm .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-zoho-crm .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-zoho-crm .nmf-case:hover {transform:translateY(-4px);box-shadow:var(--shadow-xl)!important;}
  .nmf-page-zoho-crm .nmf-case:hover .nmf-case-img {transform:scale(1.06);}
  .nmf-page-zoho-crm .nmf-case:hover .nmf-case-arrow {transform:translateX(5px);}
  .nmf-page-zoho-crm .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-zoho-crm .nmf-flink:hover {color:#fff!important;}
  .nmf-page-zoho-crm .nmf-step:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}
  .nmf-page-zoho-crm .nmf-tier:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}



/* ---- About Us ---- */

  .nmf-page-about-us *, .nmf-page-about-us *::before, .nmf-page-about-us *::after { box-sizing: border-box; }
  .nmf-page-about-us { scroll-behavior: smooth; }
  .nmf-page-about-us { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-about-us #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-about-us .nmf-leader-grid { grid-template-columns: 1fr !important; }
    .nmf-page-about-us .nmf-partner-grid { grid-template-columns: 1fr 1fr !important; }
    .nmf-page-about-us .nmf-method-grid { grid-template-columns: 1fr !important; }
    .nmf-page-about-us .nmf-vision-grid { grid-template-columns: 1fr !important; }
  }
  .nmf-page-about-us .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-about-us .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-about-us .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-about-us .nmf-navlink:hover::after {width:100%;}
  .nmf-page-about-us .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-about-us .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-about-us .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-about-us .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-about-us .nmf-leader-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-about-us .nmf-leader-card:hover {transform:translateY(-4px);box-shadow:var(--shadow-lg);}
  .nmf-page-about-us .nmf-partner-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard);}
  .nmf-page-about-us .nmf-partner-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--magenta-200);}
  .nmf-page-about-us .nmf-ghost:hover {background:rgba(255,255,255,0.12);border-color:#fff!important;transform:translateY(-1px);}
  .nmf-page-about-us .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-about-us .nmf-flink:hover {color:#fff!important;}


/* ---- Why NMF ---- */

  .nmf-page-why-nmf *, .nmf-page-why-nmf *::before, .nmf-page-why-nmf *::after { box-sizing: border-box; }
  .nmf-page-why-nmf { scroll-behavior: smooth; }
  .nmf-page-why-nmf { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-why-nmf #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-why-nmf .nmf-pillar-grid { grid-template-columns: 1fr !important; }
    .nmf-page-why-nmf .nmf-apart-grid { grid-template-columns: 1fr !important; }
    .nmf-page-why-nmf .nmf-stat-grid { grid-template-columns: 1fr 1fr !important; }
    .nmf-page-why-nmf .nmf-stage-strip { grid-template-columns: 1fr !important; }
  }
  .nmf-page-why-nmf .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-why-nmf .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-why-nmf .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-why-nmf .nmf-navlink:hover::after {width:100%;}
  .nmf-page-why-nmf .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-why-nmf .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-why-nmf .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-why-nmf .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-why-nmf .nmf-stage {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-why-nmf .nmf-stage:hover {transform:translateY(-4px);box-shadow:var(--shadow-lg);}
  .nmf-page-why-nmf .nmf-stat-card {transition:transform var(--dur-base) var(--ease-standard);}
  .nmf-page-why-nmf .nmf-stat-card:hover {transform:translateY(-4px);}
  .nmf-page-why-nmf .nmf-ghost:hover {background:rgba(255,255,255,0.12);border-color:#fff!important;transform:translateY(-1px);}
  .nmf-page-why-nmf .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-why-nmf .nmf-flink:hover {color:#fff!important;}


/* ---- Industries ---- */

  .nmf-page-industries *, .nmf-page-industries *::before, .nmf-page-industries *::after { box-sizing: border-box; }
  .nmf-page-industries { scroll-behavior: smooth; }
  .nmf-page-industries { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-industries #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-industries .nmf-sector-grid { grid-template-columns: 1fr !important; }
    .nmf-page-industries .nmf-case-grid { grid-template-columns: 1fr !important; }
    .nmf-page-industries .nmf-approach-grid { grid-template-columns: 1fr !important; }
  }
  .nmf-page-industries .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-industries .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-industries .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-industries .nmf-navlink:hover::after {width:100%;}
  .nmf-page-industries .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-industries .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-industries .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-industries .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-industries .nmf-case:hover {transform:translateY(-4px);box-shadow:var(--shadow-xl)!important;}
  .nmf-page-industries .nmf-case:hover .nmf-case-arrow {transform:translateX(5px);}
  .nmf-page-industries .nmf-approach-row {transition:box-shadow var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard);}
  .nmf-page-industries .nmf-approach-row:hover {box-shadow:var(--shadow-md);border-color:var(--magenta-200);}
  .nmf-page-industries .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-industries .nmf-flink:hover {color:#fff!important;}


/* ---- Mobile & UI/UX ---- */

  .nmf-page-mobile-ui-ux *, .nmf-page-mobile-ui-ux *::before, .nmf-page-mobile-ui-ux *::after { box-sizing: border-box; }
  .nmf-page-mobile-ui-ux { scroll-behavior: smooth; }
  .nmf-page-mobile-ui-ux { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-mobile-ui-ux .nmf-stat-row { grid-template-columns: 1fr !important; }
    .nmf-page-mobile-ui-ux .nmf-pillar-grid { grid-template-columns: 1fr !important; }
    .nmf-page-mobile-ui-ux .nmf-stage-strip { grid-template-columns: 1fr !important; }
  }
  .nmf-page-mobile-ui-ux .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-mobile-ui-ux .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-mobile-ui-ux .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-mobile-ui-ux .nmf-navlink:hover::after {width:100%;}
  .nmf-page-mobile-ui-ux .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-mobile-ui-ux .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-mobile-ui-ux .nmf-accordion {border:1px solid var(--border-subtle); border-radius:var(--radius-xl); background:var(--surface-card); overflow:hidden; transition:border-color var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-mobile-ui-ux .nmf-accordion[open] {border-color:var(--nmf-magenta); box-shadow:var(--shadow-md);}
  .nmf-page-mobile-ui-ux .nmf-accordion summary {cursor:pointer; list-style:none; padding:22px 26px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-family:var(--font-display); font-weight:400; font-size:19px; color:var(--text-strong);}
  .nmf-page-mobile-ui-ux .nmf-accordion summary::-webkit-details-marker {display:none;}
  .nmf-page-mobile-ui-ux .nmf-accordion summary .nmf-chev {transition:transform var(--dur-base) var(--ease-standard); color:var(--nmf-magenta); flex-shrink:0;}
  .nmf-page-mobile-ui-ux .nmf-accordion[open] summary .nmf-chev {transform:rotate(180deg);}
  .nmf-page-mobile-ui-ux .nmf-accordion-body {padding:0 26px 26px;}
  .nmf-page-mobile-ui-ux .nmf-pillar-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-mobile-ui-ux .nmf-pillar-card:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}
  .nmf-page-mobile-ui-ux .nmf-stage {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-mobile-ui-ux .nmf-stage:hover {transform:translateY(-4px);box-shadow:var(--shadow-lg);}
  .nmf-page-mobile-ui-ux .nmf-case:hover {transform:translateY(-4px);box-shadow:var(--shadow-xl)!important;}
  .nmf-page-mobile-ui-ux .nmf-case:hover .nmf-case-img {transform:scale(1.06);}
  .nmf-page-mobile-ui-ux .nmf-case:hover .nmf-case-arrow {transform:translateX(5px);}
  .nmf-page-mobile-ui-ux .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-mobile-ui-ux .nmf-flink:hover {color:#fff!important;}


/* ---- Advisory & Consulting ---- */

  .nmf-page-advisory-consulting *, .nmf-page-advisory-consulting *::before, .nmf-page-advisory-consulting *::after { box-sizing: border-box; }
  .nmf-page-advisory-consulting { scroll-behavior: smooth; }
  .nmf-page-advisory-consulting { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-advisory-consulting .nmf-path-grid { grid-template-columns: 1fr !important; }
    .nmf-page-advisory-consulting .nmf-cov-row { grid-template-columns: 1fr !important; }
    .nmf-page-advisory-consulting .nmf-stage-strip { grid-template-columns: 1fr !important; }
  }
  .nmf-page-advisory-consulting .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-advisory-consulting .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-advisory-consulting .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-advisory-consulting .nmf-navlink:hover::after {width:100%;}
  .nmf-page-advisory-consulting .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-advisory-consulting .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-advisory-consulting .nmf-path-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard);}
  .nmf-page-advisory-consulting .nmf-path-card:hover {transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--nmf-magenta);}
  .nmf-page-advisory-consulting .nmf-cov-row {transition:background var(--dur-base) var(--ease-standard);}
  .nmf-page-advisory-consulting .nmf-cov-row:hover {background:var(--surface-sunken);}
  .nmf-page-advisory-consulting .nmf-cov-row:hover .nmf-cov-icon {transform:scale(1.1);}
  .nmf-page-advisory-consulting .nmf-cov-icon {transition:transform var(--dur-base) var(--ease-spring);}
  .nmf-page-advisory-consulting .nmf-stage {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-advisory-consulting .nmf-stage:hover {transform:translateY(-4px);box-shadow:var(--shadow-lg);}
  .nmf-page-advisory-consulting .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-advisory-consulting .nmf-flink:hover {color:#fff!important;}


/* ---- Software Development Services ---- */

  .nmf-page-software-development-services *, .nmf-page-software-development-services *::before, .nmf-page-software-development-services *::after { box-sizing: border-box; }
  .nmf-page-software-development-services { scroll-behavior: smooth; }
  .nmf-page-software-development-services { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-software-development-services .nmf-stat-row { grid-template-columns: 1fr !important; }
    .nmf-page-software-development-services .nmf-stack-grid { grid-template-columns: 1fr 1fr !important; }
    .nmf-page-software-development-services .nmf-method-grid { grid-template-columns: 1fr !important; }
    .nmf-page-software-development-services .nmf-stage-strip { grid-template-columns: 1fr !important; }
  }
  .nmf-page-software-development-services .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-software-development-services .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-software-development-services .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-software-development-services .nmf-navlink:hover::after {width:100%;}
  .nmf-page-software-development-services .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-software-development-services .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-software-development-services .nmf-accordion {border:1px solid var(--border-subtle); border-radius:var(--radius-xl); background:var(--surface-card); overflow:hidden; transition:border-color var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-software-development-services .nmf-accordion[open] {border-color:var(--nmf-magenta); box-shadow:var(--shadow-md);}
  .nmf-page-software-development-services .nmf-accordion summary {cursor:pointer; list-style:none; padding:22px 26px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-family:var(--font-display); font-weight:400; font-size:19px; color:var(--text-strong);}
  .nmf-page-software-development-services .nmf-accordion summary::-webkit-details-marker {display:none;}
  .nmf-page-software-development-services .nmf-accordion summary .nmf-chev {transition:transform var(--dur-base) var(--ease-standard); color:var(--nmf-magenta); flex-shrink:0;}
  .nmf-page-software-development-services .nmf-accordion[open] summary .nmf-chev {transform:rotate(180deg);}
  .nmf-page-software-development-services .nmf-accordion-body {padding:0 26px 26px;}
  .nmf-page-software-development-services .nmf-stack-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-software-development-services .nmf-stack-card:hover {transform:translateY(-3px); box-shadow:var(--shadow-lg);}
  .nmf-page-software-development-services .nmf-method-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-software-development-services .nmf-method-card:hover {transform:translateY(-4px); box-shadow:var(--shadow-lg);}
  .nmf-page-software-development-services .nmf-stage {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-software-development-services .nmf-stage:hover {transform:translateY(-4px);box-shadow:var(--shadow-lg);}
  .nmf-page-software-development-services .nmf-case:hover {transform:translateY(-4px);box-shadow:var(--shadow-xl)!important;}
  .nmf-page-software-development-services .nmf-case:hover .nmf-case-img {transform:scale(1.06);}
  .nmf-page-software-development-services .nmf-case:hover .nmf-case-arrow {transform:translateX(5px);}
  .nmf-page-software-development-services .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-software-development-services .nmf-flink:hover {color:#fff!important;}

/* =========================================================================
 * v1.7.0 — Global responsive safety net for service pages.
 * Fixes: two/three/four-column grids collapse to one column on mobile,
 *        fixed-pixel-wide images and decorative circles become fluid,
 *        100vh hero sections auto-height, tighter side padding.
 * ====================================================================== */

/* Prevent horizontal scroll on service pages.
   Use `clip` (not `hidden`) so `position: sticky` on descendants still works.
   `hidden` would make .nmf-flat a scroll container which traps sticky. */
.nmf-flat { overflow-x: clip; }
@supports not (overflow-x: clip) {
  .nmf-flat { overflow-x: hidden; }
}

/* ---- Tablet and below ---- */
@media (max-width: 900px) {

  /* Disable sticky positioning on the "Our approach" style left column
     on phone — a sticky sidebar eats too much of a small viewport. */
  .nmf-flat .nmf-s41 { position: static !important; top: auto !important; }

  /* Multi-column grids collapse */
.nmf-flat .nmf-s14,
.nmf-flat .nmf-s21,
.nmf-flat .nmf-s40,
.nmf-flat .nmf-s54,
.nmf-flat .nmf-s64,
.nmf-flat .nmf-s73,
.nmf-flat .nmf-s95,
.nmf-flat .nmf-s108,
.nmf-flat .nmf-s127,
.nmf-flat .nmf-s142,
.nmf-flat .nmf-s152,
.nmf-flat .nmf-s165,
.nmf-flat .nmf-s173,
.nmf-flat .nmf-s189,
.nmf-flat .nmf-s192,
.nmf-flat .nmf-s200,
.nmf-flat .nmf-s201,
.nmf-flat .nmf-s204,
.nmf-flat .nmf-s215,
.nmf-flat .nmf-s217,
.nmf-flat .nmf-s249,
.nmf-flat .nmf-s253,
.nmf-flat .nmf-s268,
.nmf-flat .nmf-s275,
.nmf-flat .nmf-s277,
.nmf-flat .nmf-s298,
.nmf-flat .nmf-s313,
.nmf-flat .nmf-s327,
.nmf-flat .nmf-s340,
.nmf-flat .nmf-s349,
.nmf-flat .nmf-s356,
.nmf-flat .nmf-s372,
.nmf-flat .nmf-s382,
.nmf-flat .nmf-s394,
.nmf-flat .nmf-s399,
.nmf-flat .nmf-s406 {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* Fixed pixel-width images become fluid */
.nmf-flat .nmf-s172,
.nmf-flat .nmf-s191,
.nmf-flat .nmf-s203,
.nmf-flat .nmf-s248,
.nmf-flat .nmf-s267,
.nmf-flat .nmf-s306,
.nmf-flat .nmf-s307,
.nmf-flat .nmf-s375 {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* 100vh hero sections become auto-height */
.nmf-flat .nmf-s1,
.nmf-flat .nmf-s351 {
    min-height: auto !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  /* Side padding tightens */
.nmf-flat .nmf-s3,
.nmf-flat .nmf-s10,
.nmf-flat .nmf-s40,
.nmf-flat .nmf-s108,
.nmf-flat .nmf-s127,
.nmf-flat .nmf-s136,
.nmf-flat .nmf-s173,
.nmf-flat .nmf-s189,
.nmf-flat .nmf-s200,
.nmf-flat .nmf-s201,
.nmf-flat .nmf-s204,
.nmf-flat .nmf-s215,
.nmf-flat .nmf-s249,
.nmf-flat .nmf-s280,
.nmf-flat .nmf-s283,
.nmf-flat .nmf-s298,
.nmf-flat .nmf-s324,
.nmf-flat .nmf-s332,
.nmf-flat .nmf-s353,
.nmf-flat .nmf-s360 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Absolute-positioned decorative shapes that could overflow */
  .nmf-flat .nmf-s307 { position: relative !important; right: auto !important; bottom: auto !important; margin: 0 auto !important; }
  .nmf-flat .nmf-s306 { height: auto !important; min-height: 320px !important; }
  .nmf-flat .nmf-s375 { width: 320px !important; height: 320px !important; right: -60px !important; top: -60px !important; }
}

/* ---- Small tablet 640-900px: two-column grids stay two-column ---- */
@media (min-width: 640px) and (max-width: 900px) {
.nmf-flat .nmf-s14,
.nmf-flat .nmf-s21,
.nmf-flat .nmf-s40,
.nmf-flat .nmf-s54,
.nmf-flat .nmf-s64,
.nmf-flat .nmf-s73,
.nmf-flat .nmf-s95,
.nmf-flat .nmf-s108,
.nmf-flat .nmf-s127,
.nmf-flat .nmf-s142,
.nmf-flat .nmf-s152,
.nmf-flat .nmf-s165,
.nmf-flat .nmf-s173,
.nmf-flat .nmf-s189,
.nmf-flat .nmf-s192,
.nmf-flat .nmf-s200,
.nmf-flat .nmf-s201,
.nmf-flat .nmf-s204,
.nmf-flat .nmf-s215,
.nmf-flat .nmf-s249,
.nmf-flat .nmf-s253,
.nmf-flat .nmf-s268,
.nmf-flat .nmf-s275,
.nmf-flat .nmf-s277,
.nmf-flat .nmf-s298,
.nmf-flat .nmf-s313,
.nmf-flat .nmf-s327,
.nmf-flat .nmf-s340,
.nmf-flat .nmf-s349,
.nmf-flat .nmf-s356,
.nmf-flat .nmf-s372,
.nmf-flat .nmf-s382,
.nmf-flat .nmf-s394,
.nmf-flat .nmf-s399,
.nmf-flat .nmf-s406 {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* ---- Small mobile ≤500px ---- */
@media (max-width: 500px) {
  .nmf-flat h1 {
    font-size: clamp(2rem, 8vw, 2.75rem) !important;
    line-height: 1.1 !important;
  }
  .nmf-flat h2 {
    font-size: clamp(1.6rem, 6vw, 2.1rem) !important;
    line-height: 1.15 !important;
  }
}


/* ---- Contact Us ---- */

  .nmf-page-contact-us *, .nmf-page-contact-us *::before, .nmf-page-contact-us *::after { box-sizing: border-box; }
  .nmf-page-contact-us { scroll-behavior: smooth; }
  .nmf-page-contact-us { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-contact-us .nmf-hero-grid, .nmf-page-contact-us .nmf-office-grid { grid-template-columns: 1fr !important; }
    .nmf-page-contact-us .nmf-path-grid { grid-template-columns: 1fr !important; }
  }
  .nmf-page-contact-us .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-contact-us .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-contact-us .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-contact-us .nmf-navlink:hover::after {width:100%;}
  .nmf-page-contact-us .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-contact-us .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-contact-us .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-contact-us .nmf-flink:hover {color:#fff!important;}
  .nmf-page-contact-us .nmf-input {width:100%; padding:12px 14px; font-family:var(--font-body); font-size:14px; color:var(--text-strong); background:var(--surface-card); border:1.5px solid var(--border-subtle); border-radius:var(--radius-md); outline:none; box-shadow:var(--shadow-inset); transition:border-color var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-contact-us .nmf-input:focus {border-color:var(--nmf-magenta); box-shadow:0 0 0 4px var(--focus-ring);}
  .nmf-page-contact-us .nmf-label {display:block; font-family:var(--font-mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-muted); margin-bottom:8px;}
  .nmf-page-contact-us .nmf-path-card {cursor:pointer; transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard), border-color var(--dur-base) var(--ease-standard);}
  .nmf-page-contact-us .nmf-path-card:hover {transform:translateY(-2px); box-shadow:var(--shadow-md);}
  .nmf-page-contact-us .nmf-path-card.active {border-color:var(--nmf-magenta) !important; background:var(--magenta-50) !important; box-shadow:var(--shadow-brand);}
  .nmf-page-contact-us .nmf-office-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-contact-us .nmf-office-card:hover {transform:translateY(-3px); box-shadow:var(--shadow-lg);}


/* ---- Partner with Us ---- */

  .nmf-page-partner-with-us *, .nmf-page-partner-with-us *::before, .nmf-page-partner-with-us *::after { box-sizing: border-box; }
  .nmf-page-partner-with-us { scroll-behavior: smooth; }
  .nmf-page-partner-with-us { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
  @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
  @media (max-width: 900px) {
    .nmf-page-partner-with-us #nmf-nav + section { min-height: auto !important; padding-top: 40px !important; }
    .nmf-page-partner-with-us .nmf-stat-row3, .nmf-page-partner-with-us .nmf-prob-grid, .nmf-page-partner-with-us .nmf-val-grid, .nmf-page-partner-with-us .nmf-ms-grid, .nmf-page-partner-with-us .nmf-comp-grid, .nmf-page-partner-with-us .nmf-model-grid, .nmf-page-partner-with-us .nmf-testi-grid, .nmf-page-partner-with-us .nmf-contact-grid { grid-template-columns: 1fr !important; }
  }
  .nmf-page-partner-with-us .nmf-navlink {position:relative;transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-partner-with-us .nmf-navlink::after {content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gradient-brand);transition:width var(--dur-base) var(--ease-standard);}
  .nmf-page-partner-with-us .nmf-navlink:hover {color:var(--magenta-600);}
  .nmf-page-partner-with-us .nmf-navlink:hover::after {width:100%;}
  .nmf-page-partner-with-us .nmf-btn-primary:hover {box-shadow:var(--shadow-brand-lg);transform:translateY(-1px);}
  .nmf-page-partner-with-us .nmf-btn-primary:active {transform:translateY(0) scale(0.98);}
  .nmf-page-partner-with-us .nmf-btn-ghost {transition:border-color var(--dur-base) var(--ease-standard), color var(--dur-base) var(--ease-standard), background var(--dur-base) var(--ease-standard);}
  .nmf-page-partner-with-us .nmf-btn-ghost:hover {border-color:var(--nmf-magenta); color:var(--nmf-magenta); background:var(--magenta-50);}
  .nmf-page-partner-with-us .nmf-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-partner-with-us .nmf-card:hover {transform:translateY(-3px);box-shadow:var(--shadow-lg);}
  .nmf-page-partner-with-us .nmf-model-card {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-partner-with-us .nmf-model-card:hover {transform:translateY(-4px);box-shadow:var(--shadow-lg);}
  .nmf-page-partner-with-us .nmf-flink {transition:color var(--dur-base) var(--ease-standard);}
  .nmf-page-partner-with-us .nmf-flink:hover {color:#fff!important;}
  .nmf-page-partner-with-us .nmf-input {width:100%; padding:12px 14px; font-family:var(--font-body); font-size:14px; color:var(--text-strong); background:var(--surface-card); border:1.5px solid var(--border-subtle); border-radius:var(--radius-md); outline:none; box-shadow:var(--shadow-inset); transition:border-color var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-partner-with-us .nmf-input:focus {border-color:var(--nmf-magenta); box-shadow:0 0 0 4px var(--focus-ring);}
  .nmf-page-partner-with-us .nmf-label {display:block; font-family:var(--font-mono); font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-muted); margin-bottom:8px;}
  .nmf-page-partner-with-us .nmf-step {transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);}
  .nmf-page-partner-with-us .nmf-step:hover {transform:translateX(4px); box-shadow:var(--shadow-md);}


/* =========================================================================
 * v1.9.0 — Contact Form 7 skin so admin-created forms match the design.
 *
 * CF7 wraps every field in <span class="wpcf7-form-control-wrap">... the
 * shortcode a site owner writes looks like this for Contact Us:
 *
 *   <label>Full name</label>
 *   [text* your-name placeholder "Jane Smith"]
 *
 * The rules below make that generated markup look exactly like the design.
 * ====================================================================== */

.nmf-cf7-shell .wpcf7 { margin: 0; padding: 0; }
.nmf-cf7-shell .wpcf7 form { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.nmf-cf7-shell .wpcf7-form label,
.nmf-cf7-shell .nmf-label {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 8px;
  font-weight: 500;
}

/* Two-column row helper: put two [text] fields inside <div class="nmf-row-2"> */
.nmf-cf7-shell .nmf-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* All CF7 form controls get the design's input look */
.nmf-cf7-shell .wpcf7-form-control-wrap { display: block; }
.nmf-cf7-shell input[type="text"],
.nmf-cf7-shell input[type="email"],
.nmf-cf7-shell input[type="tel"],
.nmf-cf7-shell input[type="url"],
.nmf-cf7-shell input[type="number"],
.nmf-cf7-shell select,
.nmf-cf7-shell textarea {
  width: 100%;
  padding: 12px 14px;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--text-strong);
  background: var(--surface-card);
  border: 1.5px solid var(--border-subtle);
  border-radius: var(--radius-md);
  outline: none;
  box-shadow: var(--shadow-xs);
  transition: border-color var(--dur-base) var(--ease-standard),
              box-shadow var(--dur-base) var(--ease-standard);
}
.nmf-cf7-shell input:focus,
.nmf-cf7-shell select:focus,
.nmf-cf7-shell textarea:focus {
  border-color: var(--nmf-magenta);
  box-shadow: 0 0 0 4px var(--focus-ring);
}
.nmf-cf7-shell textarea {
  resize: vertical;
  min-height: 120px;
  font-family: var(--font-body);
}
.nmf-cf7-shell select { cursor: pointer; }

/* Submit button */
.nmf-cf7-shell input[type="submit"],
.nmf-cf7-shell .wpcf7-submit {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 700;
  font-size: 15px;
  padding: 14px 28px;
  border-radius: var(--radius-pill);
  background: var(--gradient-brand);
  color: var(--text-on-brand);
  box-shadow: var(--shadow-brand);
  letter-spacing: -0.01em;
  border: none;
  cursor: pointer;
  transition: transform var(--dur-base) var(--ease-standard),
              box-shadow var(--dur-base) var(--ease-standard);
}
.nmf-cf7-shell input[type="submit"]:hover,
.nmf-cf7-shell .wpcf7-submit:hover {
  box-shadow: var(--shadow-brand-lg);
  transform: translateY(-1px);
}
.nmf-cf7-shell input[type="submit"]:active,
.nmf-cf7-shell .wpcf7-submit:active { transform: translateY(0) scale(0.98); }

/* CF7's messages */
.nmf-cf7-shell .wpcf7-response-output {
  margin: 8px 0 0;
  padding: 14px 18px;
  border-radius: var(--radius-md);
  font-size: 14px;
  font-weight: 600;
  border: 0;
}
.nmf-cf7-shell .wpcf7 form.sent .wpcf7-response-output {
  background: var(--blue-100);
  color: var(--blue-700);
}
.nmf-cf7-shell .wpcf7 form.invalid .wpcf7-response-output,
.nmf-cf7-shell .wpcf7 form.unaccepted .wpcf7-response-output {
  background: color-mix(in oklch, #ef4444 12%, transparent);
  color: #b91c1c;
}
.nmf-cf7-shell .wpcf7-not-valid-tip {
  color: #b91c1c;
  font-size: 12px;
  font-weight: 500;
  margin-top: 4px;
}
.nmf-cf7-shell .wpcf7 form .wpcf7-spinner { margin-left: 12px; }

/* Admin-only hint shown when no form is assigned yet */
.nmf-cf7-hint {
  padding: 18px 20px;
  border-radius: var(--radius-md);
  background: var(--warning-50, #fff8e6);
  border: 1px solid var(--warning-200, #f5d98a);
  color: var(--warning-900, #7a4d00);
  font-size: 14px;
  line-height: 1.5;
}

/* Mobile: collapse row-2 grid */
@media (max-width: 640px) {
  .nmf-cf7-shell .nmf-row-2 { grid-template-columns: 1fr; }
}

/* v1.9.1 — Google Maps iframe on Contact Us page fills its rounded container. */
.nmf-office-map {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 340px;
  border: 0;
}

/* =========================================================================
 * v1.9.3 — About Us tweaks
 *   1. Hero banner already gets the white filter via existing .nmf-s434 class.
 *   2. Leadership section shows one full-width photo instead of 4 profile cards.
 *   3. Vision section: left copy vertically centered against the right image.
 * ====================================================================== */

/* --- 2) Full-width leadership photo --- */
.nmf-page-about-us .nmf-leader-hero {
  max-width: 1200px;
  margin: 40px auto 0;
  padding: 0 24px;
}
.nmf-page-about-us .nmf-leader-hero__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  object-fit: cover;
}

/* --- 3) Vision section: left text vertically centered --- */
.nmf-page-about-us .nmf-vision-grid { align-items: center !important; }
.nmf-page-about-us .nmf-vision-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* --- Responsive tweaks --- */
@media (max-width: 900px) {
  .nmf-page-about-us .nmf-leader-hero {
    padding: 0 20px;
    margin-top: 28px;
  }
  .nmf-page-about-us .nmf-leader-hero__img { border-radius: var(--radius-lg); }

  /* Vision section on phone: image below copy, both centered normally */
  .nmf-page-about-us .nmf-vision-grid {
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 32px !important;
  }
  .nmf-page-about-us .nmf-vision-copy { justify-content: start; }
}

@media (max-width: 500px) {
  .nmf-page-about-us .nmf-leader-hero { padding: 0 16px; }
}

/* =========================================================================
 * v2.0.1 — Careers page (4 folds: hero / positions / form / CTA)
 * ====================================================================== */

.nmf-page-careers { overflow-x: clip; }

/* ---------------- FOLD 1: HERO ---------------- */
.nmf-page-careers .nmf-careers-hero {
  position: relative;
  overflow: hidden;
  min-height: 560px;
  display: flex;
  align-items: center;
  padding: 140px 0 100px;
  background: #05070d;
}
.nmf-page-careers .nmf-careers-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  opacity: 0.55;
}
/* Filter: darkens the photo so type stays crisp */
.nmf-page-careers .nmf-careers-hero__filter {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(5,7,13,0.55) 0%, rgba(5,7,13,0.86) 100%),
    linear-gradient(105deg, rgba(5,7,13,0.9) 0%, rgba(5,7,13,0.35) 60%, rgba(5,7,13,0.75) 100%);
  pointer-events: none;
}
/* Brand-blue glow keeps it on-palette instead of plain grey */
.nmf-page-careers .nmf-careers-hero__glow {
  position: absolute;
  z-index: 2;
  left: 8%;
  bottom: -180px;
  width: 620px;
  height: 460px;
  border-radius: 50%;
  background: radial-gradient(closest-side, color-mix(in oklch, var(--color-brand) 42%, transparent), transparent 70%);
  filter: blur(30px);
  pointer-events: none;
}
.nmf-page-careers .nmf-careers-hero__inner {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
.nmf-page-careers .nmf-careers-hero__eyebrow {
  color: #7fb2ff !important;
  animation: nmf-fade-up .8s var(--ease-out) both;
}
.nmf-page-careers .nmf-careers-hero__title {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(2.5rem, calc(1.6rem + 3.6vw), 3.75rem);
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: #fff;
  margin: 18px 0 0;
  max-width: 16ch;
  animation: nmf-fade-up .8s var(--ease-out) .06s both;
}
.nmf-page-careers .nmf-careers-hero__lead {
  font-size: var(--text-md);
  line-height: 1.7;
  color: rgba(255,255,255,0.72);
  margin: 22px 0 0;
  max-width: 56ch;
  animation: nmf-fade-up .8s var(--ease-out) .12s both;
}
.nmf-page-careers .nmf-careers-hero__cta {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  margin-top: 38px;
  animation: nmf-fade-up .8s var(--ease-out) .18s both;
}
.nmf-page-careers .nmf-careers-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 16px;
  padding: 16px 30px;
  border-radius: var(--radius-pill);
  background: var(--color-brand);
  color: var(--text-on-brand);
  box-shadow: 0 10px 30px -8px color-mix(in oklch, var(--color-brand) 65%, transparent);
  letter-spacing: -0.01em;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  transition: transform var(--dur-base) var(--ease-standard),
              box-shadow var(--dur-base) var(--ease-standard);
}
.nmf-page-careers .nmf-careers-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px -8px color-mix(in oklch, var(--color-brand) 75%, transparent);
  text-decoration: none;
}
.nmf-page-careers .nmf-careers-btn svg { width: 17px !important; height: 17px !important; }
.nmf-page-careers .nmf-careers-hero__count {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.nmf-page-careers .nmf-careers-hero__count::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34,197,94,0.18);
}

/* ---------------- FOLD 2: POSITIONS ---------------- */
.nmf-page-careers .nmf-careers-positions {
  background: var(--surface-page);
  padding: var(--section-y) 0;
}
.nmf-page-careers .nmf-careers-head { max-width: 720px; margin-bottom: 34px; }
.nmf-page-careers .nmf-careers-head__title {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-3xl);
  line-height: 1.06;
  letter-spacing: -0.02em;
  color: var(--text-strong);
  margin: 16px 0 14px;
}
.nmf-page-careers .nmf-careers-head__lead {
  font-size: var(--text-md);
  line-height: 1.7;
  color: var(--text-body);
  margin: 0;
}

/* Premium filter tabs */
.nmf-page-careers .nmf-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 26px;
  padding-bottom: 4px;
}
.nmf-page-careers .nmf-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  color: var(--text-body);
  padding: 10px 18px;
  border-radius: var(--radius-pill);
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  cursor: pointer;
  white-space: nowrap;
  transition: color var(--dur-base) var(--ease-standard),
              background var(--dur-base) var(--ease-standard),
              border-color var(--dur-base) var(--ease-standard),
              box-shadow var(--dur-base) var(--ease-standard);
}
.nmf-page-careers .nmf-tab:hover {
  border-color: color-mix(in oklch, var(--color-brand) 45%, var(--border-subtle));
  color: var(--color-brand);
}
.nmf-page-careers .nmf-tab.is-active {
  background: var(--color-brand);
  border-color: var(--color-brand);
  color: var(--text-on-brand);
  box-shadow: 0 6px 18px -6px color-mix(in oklch, var(--color-brand) 60%, transparent);
}
.nmf-page-careers .nmf-tab__count {
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1;
  padding: 4px 7px;
  border-radius: var(--radius-pill);
  background: var(--surface-sunken);
  color: var(--text-muted);
  transition: background var(--dur-base) var(--ease-standard),
              color var(--dur-base) var(--ease-standard);
}
.nmf-page-careers .nmf-tab.is-active .nmf-tab__count {
  background: rgba(255,255,255,0.22);
  color: #fff;
}

/* Job list: clean rows */
.nmf-page-careers .nmf-joblist {
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: var(--surface-card);
  box-shadow: var(--shadow-sm);
}
.nmf-page-careers .nmf-jobrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  text-align: left;
  padding: 22px 26px;
  background: var(--surface-card);
  border: 0;
  border-bottom: 1px solid var(--border-subtle);
  cursor: pointer;
  font-family: var(--font-body);
  transition: background var(--dur-base) var(--ease-standard),
              padding-left var(--dur-base) var(--ease-standard);
}
.nmf-page-careers .nmf-jobrow:last-child { border-bottom: 0; }
.nmf-page-careers .nmf-jobrow[hidden] { display: none; }
.nmf-page-careers .nmf-jobrow:hover {
  background: color-mix(in oklch, var(--color-brand) 4%, var(--surface-card));
  padding-left: 32px;
}
.nmf-page-careers .nmf-jobrow.is-selected {
  background: color-mix(in oklch, var(--color-brand) 7%, var(--surface-card));
  box-shadow: inset 3px 0 0 var(--color-brand);
}
.nmf-page-careers .nmf-jobrow__left { min-width: 0; }
.nmf-page-careers .nmf-jobrow__title {
  display: block;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 19px;
  line-height: 1.3;
  color: var(--text-strong);
  letter-spacing: -0.01em;
  margin-bottom: 7px;
  transition: color var(--dur-base) var(--ease-standard);
}
.nmf-page-careers .nmf-jobrow:hover .nmf-jobrow__title { color: var(--color-brand); }
.nmf-page-careers .nmf-jobrow__meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  color: var(--text-muted);
  flex-wrap: wrap;
}
.nmf-page-careers .nmf-jobrow__meta svg { width: 14px !important; height: 14px !important; }
.nmf-page-careers .nmf-jobrow__dot { opacity: 0.5; }
.nmf-page-careers .nmf-jobrow__right {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
.nmf-page-careers .nmf-jobrow__exp {
  font-size: 12.5px;
  font-weight: 600;
  padding: 7px 14px;
  border-radius: var(--radius-pill);
  background: var(--surface-sunken);
  border: 1px solid var(--border-subtle);
  color: var(--text-body);
  white-space: nowrap;
}
.nmf-page-careers .nmf-jobrow__arrow {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--surface-sunken);
  color: var(--text-muted);
  flex-shrink: 0;
  transition: background var(--dur-base) var(--ease-standard),
              color var(--dur-base) var(--ease-standard),
              transform var(--dur-base) var(--ease-standard);
}
.nmf-page-careers .nmf-jobrow__arrow svg { width: 16px !important; height: 16px !important; }
.nmf-page-careers .nmf-jobrow:hover .nmf-jobrow__arrow {
  background: var(--color-brand);
  color: #fff;
  transform: translateX(3px);
}
.nmf-page-careers .nmf-joblist__empty {
  text-align: center;
  padding: 40px 20px;
  color: var(--text-muted);
  font-size: 14.5px;
  margin: 0;
}
.nmf-page-careers .nmf-joblist__empty[hidden] { display: none; }

/* ---------------- FOLD 3: APPLICATION FORM ---------------- */
.nmf-page-careers .nmf-careers-apply {
  background: var(--surface-sunken);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  padding: var(--section-y) 0;
}
.nmf-page-careers .nmf-careers-formcard {
  max-width: 820px;
  margin: 0 auto;
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-2xl);
  box-shadow: var(--shadow-lg);
  padding: 48px;
}
.nmf-page-careers .nmf-careers-formcard__head { margin-bottom: 32px; }
.nmf-page-careers .nmf-careers-formcard__title {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-2xl);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--text-strong);
  margin: 14px 0 12px;
}
.nmf-page-careers .nmf-careers-formcard__lead {
  font-size: 15px;
  line-height: 1.65;
  color: var(--text-body);
  margin: 0;
}

/* Selected-role badge */
.nmf-page-careers .nmf-role-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  padding: 11px 12px 11px 16px;
  border-radius: var(--radius-pill);
  background: color-mix(in oklch, var(--color-brand) 9%, transparent);
  border: 1px solid color-mix(in oklch, var(--color-brand) 30%, transparent);
  font-size: 14px;
  color: var(--text-body);
  animation: nmf-fade-up .35s var(--ease-out) both;
}
.nmf-page-careers .nmf-role-badge[hidden] { display: none; }
.nmf-page-careers .nmf-role-badge > svg {
  width: 16px !important;
  height: 16px !important;
  color: var(--color-brand);
  flex-shrink: 0;
}
.nmf-page-careers .nmf-role-badge strong { color: var(--color-brand); margin-left: 4px; }
.nmf-page-careers .nmf-role-badge__clear {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 0;
  background: color-mix(in oklch, var(--color-brand) 16%, transparent);
  color: var(--color-brand);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: background var(--dur-base) var(--ease-standard);
}
.nmf-page-careers .nmf-role-badge__clear:hover { background: color-mix(in oklch, var(--color-brand) 28%, transparent); }
.nmf-page-careers .nmf-role-badge__clear svg { width: 13px !important; height: 13px !important; }

/* CF7 inside the careers card */
.nmf-page-careers .nmf-careers-form .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.nmf-page-careers .nmf-careers-form label {
  font-family: var(--font-body) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--text-strong) !important;
  margin-bottom: 8px !important;
}
.nmf-page-careers .nmf-careers-form input[type="text"],
.nmf-page-careers .nmf-careers-form input[type="email"],
.nmf-page-careers .nmf-careers-form input[type="tel"],
.nmf-page-careers .nmf-careers-form select,
.nmf-page-careers .nmf-careers-form textarea {
  background: var(--surface-sunken);
/*   border:1.5px solid var(--border-subtle);  */
  padding: 14px 16px;
  font-size: 15px;
  border-radius: var(--radius-md);
/*   box-shadow: none; */
}
.nmf-page-careers .nmf-careers-form input:focus,
.nmf-page-careers .nmf-careers-form select:focus,
.nmf-page-careers .nmf-careers-form textarea:focus {
  background: var(--surface-card);
  border-color: var(--color-brand);
  box-shadow: 0 0 0 4px color-mix(in oklch, var(--color-brand) 12%, transparent);
}
.nmf-page-careers .nmf-careers-form textarea { min-height: 130px; }

/* CV upload — dashed drop-zone look */
.nmf-page-careers .nmf-careers-form input[type="file"] {
  width: 100%;
  padding: 22px 18px;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--text-muted);
  background: var(--surface-sunken);
  border: 1.5px dashed var(--border-default);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: border-color var(--dur-base) var(--ease-standard),
              background var(--dur-base) var(--ease-standard);
}
.nmf-page-careers .nmf-careers-form input[type="file"]:hover,
.nmf-page-careers .nmf-careers-form input[type="file"]:focus {
  border-color: var(--color-brand);
  background: color-mix(in oklch, var(--color-brand) 4%, var(--surface-sunken));
}
.nmf-page-careers .nmf-careers-form input[type="file"]::file-selector-button {
  margin-right: 16px;
  padding: 10px 20px;
  border: 0;
  border-radius: var(--radius-pill);
  background: var(--color-brand);
  color: var(--text-on-brand);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 13.5px;
  cursor: pointer;
  transition: filter var(--dur-base) var(--ease-standard);
}
.nmf-page-careers .nmf-careers-form input[type="file"]::file-selector-button:hover { filter: brightness(1.08); }
.nmf-page-careers .nmf-cv-hint {
  display: block;
  margin-top: 8px;
  font-size: 12.5px;
  color: var(--text-muted);
}

/* Full-width submit, like the reference */
.nmf-page-careers .nmf-careers-form input[type="submit"],
.nmf-page-careers .nmf-careers-form .wpcf7-submit {
  align-self: stretch;
  width: 100%;
  padding: 17px 32px;
  font-size: 16px;
  background: var(--color-brand);
  box-shadow: 0 10px 30px -8px color-mix(in oklch, var(--color-brand) 60%, transparent);
}
.nmf-page-careers .nmf-careers-form input[type="submit"]:hover {
  box-shadow: 0 16px 40px -8px color-mix(in oklch, var(--color-brand) 70%, transparent);
}

/* ---------------- RESPONSIVE ---------------- */
@media (max-width: 900px) {
  .nmf-page-careers .nmf-careers-hero {
    min-height: auto;
    padding: 112px 0 72px;
  }
  .nmf-page-careers .nmf-careers-hero__title { max-width: 100%; }
  .nmf-page-careers .nmf-careers-hero__glow { width: 380px; height: 300px; left: -60px; }

  /* Tabs scroll sideways instead of wrapping into a tall block */
  .nmf-page-careers .nmf-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    margin-left: -20px;
    margin-right: -20px;
    padding: 0 20px 6px;
  }
  .nmf-page-careers .nmf-tabs::-webkit-scrollbar { display: none; }

  /* Job rows stack */
  .nmf-page-careers .nmf-jobrow {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 20px;
  }
  .nmf-page-careers .nmf-jobrow:hover { padding-left: 20px; }
  .nmf-page-careers .nmf-jobrow__right {
    width: 100%;
    justify-content: space-between;
  }

  .nmf-page-careers .nmf-careers-formcard { padding: 32px 24px; }
}

@media (max-width: 640px) {
  .nmf-page-careers .nmf-careers-hero__cta {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .nmf-page-careers .nmf-careers-btn { justify-content: center; }
  .nmf-page-careers .nmf-careers-hero__count { justify-content: center; }
  .nmf-page-careers .nmf-jobrow__title { font-size: 17px; }
  .nmf-page-careers .nmf-careers-formcard { padding: 26px 18px; }
  .nmf-page-careers .nmf-careers-form .nmf-row-2 { grid-template-columns: 1fr; }
}

/* v2.1.0 — Case-study cards and CTAs must not underline on hover. */
.nmf-flat a:hover,
.nmf-flat .nmf-case:hover,
.nmf-flat .nmf-btn-primary:hover,
.nmf-flat .nmf-ghost:hover,
.nmf-flat .nmf-btn-ghost:hover { text-decoration: none; }

#invgate {
    scroll-margin-top: 100px;
}

/* =========================================================================
 * v2.1.2 — Inline video player (ITSM demo).
 * Fills the existing .nmf-s112 frame (16:10, rounded, shadowed) and keeps
 * the design's white circular play button, which fades out on play.
 * ====================================================================== */
.nmf-flat .nmf-video { position: relative; background: #000; }
.nmf-flat .nmf-video__el {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nmf-flat .nmf-video__play {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.18);
  transition: opacity var(--dur-base) var(--ease-standard),
              background var(--dur-base) var(--ease-standard),
              visibility 0s linear var(--dur-base);
}
.nmf-flat .nmf-video__play:hover { background: rgba(0, 0, 0, 0.30); }
.nmf-flat .nmf-video__play .nmf-s115 {
  transition: transform var(--dur-base) var(--ease-standard),
              box-shadow var(--dur-base) var(--ease-standard);
}
.nmf-flat .nmf-video__play:hover .nmf-s115 {
  transform: scale(1.08);
  box-shadow: var(--shadow-lg);
}
/* Once playing, hand control over to the native player UI */
.nmf-flat .nmf-video.is-playing .nmf-video__play {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--dur-base) var(--ease-standard),
  visibility 0s linear var(--dur-base);
}
 