/* Only the new checkpoint components are styled here; scientific charts are excluded by scope. */
.nm-partners { padding:3rem 0; }
.nm-partners-inner { display:flex; align-items:center; gap:2rem; }
.nm-partners-label { flex-shrink:0; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:#A64F3C; font-weight:600; }
.nm-partners-list { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; flex:1; }
.nm-partners .partner-link { color:#5F6771; opacity:.35; white-space:nowrap; font-size:1rem; font-weight:500; text-decoration:none; transition:opacity .25s,color .25s; }
.nm-partners .partner-link:hover, .nm-partners .partner-link:focus-visible { opacity:1; color:#A64F3C; }
.nm-applications-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:1.25rem; }
.nm-applications .nm-application-card { padding:1.5rem; background:#BF6956; border:1px solid rgba(255,255,255,.1); display:flex; flex-direction:column; justify-content:space-between; gap:1.5rem; min-height:180px; }
.nm-application-card h3 { color:#F4F1EB; font-size:1.25rem; line-height:1.35; font-weight:700; margin:0; }
.nm-application-card a { color:#101A26; font-size:.875rem; font-weight:700; width:fit-content; text-decoration:none; border-bottom:1px solid rgba(16,26,38,.3); padding-bottom:.25rem; }
.nm-application-card a:hover { border-color:#101A26; }
.nm-application-pending { font-size:.75rem; line-height:1.5; color:rgba(255,255,255,.6); margin:0; }
.nm-about-navigation { padding:1.25rem 0; border-bottom:1px solid rgba(16,26,38,.1); }
.nm-about-navigation > div { display:flex; justify-content:center; flex-wrap:wrap; gap:1rem 1.5rem; }
.nm-about-navigation a { color:#1E2D40; font-size:.875rem; font-weight:600; text-decoration:none; }
.nm-about-navigation a:hover { color:#BF6956; }
/* Preserve the existing moved Mission / Vision / Values decoration within its own section. */
#proposito .number-cut { position:absolute; bottom:-35px; left:20px; font-size:130px; font-weight:800; line-height:1; color:rgba(16,26,38,.04); z-index:1; transition:all .5s cubic-bezier(.25,1,.5,1); }
#proposito .adv-card:hover .number-cut { color:rgba(247,158,92,.15); transform:translateY(-10px); }
@media(max-width:1023px) { .nm-partners-inner { flex-direction:column; align-items:stretch; gap:1.5rem; } .nm-partners-list { justify-content:space-between; flex-wrap:wrap; } }
@media(max-width:639px) { .nm-partners-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; } #proposito .number-cut { font-size:96px; } }

/* Consolidated checkpoint: scoped components; scientific charts are excluded. */
.nm-solutions { font-family:"Poppins",sans-serif; }
.nm-solutions-intro { max-width:850px; margin-bottom:3rem; }
.nm-solutions-eyebrow { display:block; margin-bottom:1rem; color:#A64F3C; font-size:.75rem; font-weight:600; letter-spacing:.12em; }
.nm-solutions h2, .nm-solutions h3 { font-family:"Urbanist",sans-serif; font-weight:700; }
.nm-solutions h2 { color:#101A26; font-size:clamp(2rem,3.4vw,3rem); line-height:1.15; letter-spacing:-.025em; margin:0 0 1.5rem; }
.nm-solutions-intro p { color:rgba(16,26,38,.7); font-size:1.125rem; line-height:1.7; margin:0; }
.nm-solutions-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1.5rem; }
.nm-solutions .nm-solution-card { display:flex; flex-direction:column; overflow:hidden; background:#101A26; border:1px solid rgba(255,255,255,.1); box-shadow:0 8px 24px rgba(16,26,38,.08); }
.nm-solutions .nm-solution-image { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; flex-shrink:0; }
.nm-solutions .nm-solution-media .nm-solution-image { object-position:center 65%; }
.nm-solutions .nm-solution-consulting .nm-solution-image { object-position:center 48%; }
.nm-solutions .nm-solution-content { padding:1.5rem; display:flex; flex:1; flex-direction:column; }
.nm-solutions .nm-solution-content h3 { margin:0 0 1rem; color:#F4F1EB; font-size:1.5rem; line-height:1.25; }
.nm-solutions .nm-solution-content p { color:rgba(255,255,255,.7); font-size:.875rem; line-height:1.75; margin:0; flex:1; }
.nm-solutions .nm-solution-content a { margin-top:1.5rem; width:fit-content; color:#BF6956; font-size:.875rem; font-weight:600; text-decoration:none; border-bottom:1px solid rgba(191,105,86,.3); padding-bottom:.25rem; }
.nm-solutions .nm-solution-content a:hover { border-color:#BF6956; }
@media(min-width:640px) { .nm-solutions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:1fr; } }
@media(min-width:1280px) { .nm-solutions-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
#protocolo-nmrec { --nmrec-protocol-card-background:rgb(255, 255, 255); }
#protocolo-nmrec .nm-protocol-step { background-color:var(--nmrec-protocol-card-background); }
#protocolo-nmrec .nm-protocol-number { color:#BF6956; }

/* Local layout checkpoint; scientific visualizations are excluded by selector scope. */
.nm-solutions-intro { margin-left:auto; margin-right:auto; text-align:center; }
.nm-applications-intro { background:#101A26; text-align:center; padding:3rem 1.5rem; margin-bottom:2.5rem; }
.nm-applications-intro h2 { color:#F4F1EB; }
.nm-applications-intro > span { color:#BF6956; }
.nm-applications-intro p { color:rgba(255,255,255,.75); margin-left:auto; margin-right:auto; }
#product-carousel > div { display:flex; }
#product-carousel .product-card { width:100%; }
#product-carousel h4, #product-carousel .product-header-push p { overflow-wrap:anywhere; }

/* Local main-site form reused for the Homepage Next Step. */
#faq .nmrec-heading-semibold, #faq .nmrec-body-semibold { font-weight:600; }
#faq .nmrec-body-regular { font-weight:400; }
#next-step { background:#101A26; color:#F4F1EB; }
#next-step h2 { font-family:Urbanist,sans-serif; font-weight:600; }
#next-step .glass-dark { background:#1E2D40; border-radius:var(--nmrec-card-radius); }
#next-step input, #next-step select, #next-step textarea { max-width:100%; }
#next-step h2 { overflow-wrap:anywhere; }
@media(max-width:639px) { #next-step h2 { font-size:2.25rem; line-height:1.15; } }

/* Contact reuses current form geometry, with the official cream section. */
#nm-contact { background:var(--nmrec-background-light); color:#1E2D40; }
#nm-contact h2 { font-family:Urbanist,sans-serif; font-weight:600; overflow-wrap:anywhere; }
#nm-contact .nm-contact-detail { border-color:rgba(30,45,64,.2); }
#nm-contact .nm-contact-detail svg { flex-shrink:0; color:#A64F3C; }
#nm-contact .nm-contact-form { background:#fff; border:1px solid rgba(30,45,64,.12); }
#nm-contact label, #nm-contact form span { color:#1E2D40; }
#nm-contact input:not([type=checkbox]), #nm-contact select, #nm-contact textarea { width:100%; min-width:0; max-width:100%; background:#F7F4F0; border-color:rgba(30,45,64,.2); color:#1E2D40; }
#nm-contact input::placeholder, #nm-contact textarea::placeholder { color:rgba(30,45,64,.6); }
#nm-contact a { text-decoration:none; }
#nm-contact form a { text-decoration:underline; }
#nm-contact button { background:#BF6956; color:white; }
#nm-contact #nmContactStatus { margin-top:1.5rem; }
