/* Readable dark surfaces and varied editorial layouts, with original copy intact. */
.nd-upgrade-page #nd-upgrade { display: block; }
#nd-upgrade > .nd-editorial-section { margin-bottom: 64px; }
#nd-upgrade .nd-design-composition-green { color: #eef5ef; }
#nd-upgrade .nd-design-composition-green :is(h2,h3,h4,h5,h6,p,li,strong,b,em,small,blockquote,a),
#nd-upgrade #review-estimate .nd-design-consultation-copy :is(h2,h3,h4,p,li,strong,b,em,small,label),
.nd-upgrade-page .nd-upgrade-final-cta :is(h2,h3,p,strong,b,em) { color: #f5f9f5 !important; }
.nd-upgrade-page .nd-upgrade-final-cta :is(h2,h3,p) :is(span,a,strong,b,em),
#nd-upgrade .nd-design-composition-green :is(h2,h3,h4,p,li) :is(.text-black,.text-gray-900,.text-gray-800,.text-gray-700,.text-gray-600,.text-gray-500) { color: #f5f9f5 !important; }
#nd-upgrade .nd-design-composition-green :is(p,li,strong,b,em) > span:not([style]),
#nd-upgrade #review-estimate .nd-design-consultation-copy p > span:not([style]) { color: inherit !important; }
#nd-upgrade .nd-design-composition-green a,
#nd-upgrade #review-estimate .nd-design-consultation-copy p a { color: #fff !important; text-decoration: underline; text-decoration-color: #eda434; text-underline-offset: 4px; }
#nd-upgrade .nd-design-composition-green :is(ul,ol) > li::marker { color: #eda434; }
#nd-upgrade #review-estimate :is(button,button span,button svg),
.nd-upgrade-page .nd-upgrade-final-cta :is(a.bg-accent,a.bg-accent span,a.bg-accent svg) { color: #163d29 !important; }
#nd-upgrade #review-estimate :is(input,textarea,select) { color: #163d29 !important; }
#nd-upgrade #review-estimate [data-handoff-status] { color: #163d29 !important; }

/* Side headings give short chapters a clear beginning and a readable line length. */
#nd-upgrade .nd-editorial-split { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.6fr); column-gap: 56px; row-gap: 20px; padding-top: 28px; border-top: 1px solid #d9e4dc; }
#nd-upgrade .nd-editorial-split > .nd-editorial-heading { position: relative; padding-top: 20px; min-width: 0; }
#nd-upgrade .nd-editorial-split > .nd-editorial-heading::before { content: ''; position: absolute; width: 44px; height: 4px; border-radius: 4px; top: 0; left: 0; background: #eda434; }
#nd-upgrade .nd-editorial-split > .nd-editorial-heading h2 { margin: 0; }
#nd-upgrade .nd-editorial-copy { min-width: 0; }
#nd-upgrade .nd-editorial-copy > :last-child { margin-bottom: 0; }

/* A chapter panel keeps several paragraphs distinct without splitting sentences. */
#nd-upgrade .nd-editorial-panel { padding: 36px; border: 1px solid #d9e4dc; border-radius: 14px; background: #f2f6f3; }
#nd-upgrade .nd-editorial-panel > h2 { max-width: 860px; }
#nd-upgrade .nd-editorial-panel .nd-editorial-paragraphs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 32px; margin-top: 24px; }
#nd-upgrade .nd-editorial-paragraphs > p { margin: 0; padding: 22px; border-radius: 10px; background: #fff; border: 1px solid #e0e8e1; }
#nd-upgrade .nd-editorial-paragraphs > p:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* Cases and practical notes use a different rhythm from service cards. */
#nd-upgrade .nd-editorial-story { position: relative; padding: 32px 36px; border-left: 4px solid #eda434; border-radius: 0 12px 12px 0; background: #edf4ed; }
#nd-upgrade .nd-editorial-story > h2 { max-width: 900px; }
#nd-upgrade .nd-editorial-story > p { max-width: 980px; }
#nd-upgrade .nd-editorial-note { padding: 28px 32px; border: 1px solid #eadab8; border-top: 4px solid #eda434; border-radius: 12px; background: #fcf8ee; }
#nd-upgrade .nd-editorial-note p { color: #445145; }
#nd-upgrade .nd-editorial-note > :last-child { margin-bottom: 0; }
#nd-upgrade .nd-editorial-note a { color: #176944; font-weight: 600; }
#nd-upgrade .nd-editorial-cost { padding-top: 28px; border-top: 4px solid #2c573c; }
#nd-upgrade .nd-editorial-cost > h2 { max-width: 920px; }
#nd-upgrade .nd-editorial-cost .nd-upgrade-table { box-shadow: 0 8px 24px #163d2908; }
#nd-upgrade .nd-editorial-cost .nd-upgrade-table th p,
#nd-upgrade .nd-editorial-cost .nd-upgrade-table th :is(strong,b,a) { color: #fff !important; }

/* Group existing subheadings with their own body text into individual cards. */
#nd-upgrade .nd-editorial-subsections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
#nd-upgrade .nd-editorial-subsection { position: relative; min-width: 0; padding: 26px; border: 1px solid #d9e4dc; border-radius: 12px; background: #f2f6f3; }
#nd-upgrade .nd-editorial-subsection::before { content: ''; display: block; width: 32px; height: 3px; background: #eda434; margin-bottom: 18px; }
#nd-upgrade .nd-editorial-subsection > h3 { margin-top: 0; }
#nd-upgrade .nd-editorial-subsection > :last-child { margin-bottom: 0; }
#nd-upgrade .nd-editorial-subsection:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* Lists of service scope become a compact card group instead of a text wall. */
#nd-upgrade .nd-editorial-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; list-style: none; padding: 0; margin: 24px 0 0; }
#nd-upgrade .nd-editorial-list > li { position: relative; min-width: 0; padding: 22px 22px 22px 30px; border: 1px solid #d9e4dc; border-radius: 10px; background: #f2f6f3; margin: 0; }
#nd-upgrade .nd-editorial-list > li::before { content: ''; position: absolute; width: 3px; height: 22px; left: 14px; top: 25px; border-radius: 3px; background: #eda434; }
#nd-upgrade .nd-editorial-list > li > :last-child { margin-bottom: 0; }
#nd-upgrade .nd-editorial-list > li > strong { color: #163d29; }

/* Scope and process cards do not repeat the same stock photo in every cell. */
#nd-upgrade .nd-editorial-scope-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
#nd-upgrade .nd-editorial-scope-grid > .nd-design-service-card { overflow: visible; border-radius: 12px; background: #f2f6f3; box-shadow: none; }
#nd-upgrade .nd-editorial-scope-grid > .nd-design-service-card > .nd-design-card-body { padding: 26px; }
#nd-upgrade .nd-editorial-scope-grid > .nd-design-service-card > .nd-design-card-body::before { content: ''; display: block; width: 40px; height: 4px; border-radius: 4px; margin-bottom: 20px; background: #eda434; }
#nd-upgrade .nd-editorial-process-grid { gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
#nd-upgrade .nd-editorial-process-grid > .nd-source-card { position: relative; border: 1px solid #d9e4dc; border-top: 4px solid #eda434; border-radius: 10px; background: #f2f6f3; padding: 26px; }
#nd-upgrade .nd-editorial-process-grid h3 { line-height: 1.5; }
#nd-upgrade .nd-editorial-people-grid > .nd-source-card { border: 0; border-left: 4px solid #eda434; border-radius: 0 10px 10px 0; background: #edf4ed; }
#nd-upgrade .nd-editorial-people-grid > .nd-source-card h3 { font-size: 23px; }
#nd-upgrade .nd-editorial-project-grid > .nd-source-card { border: 1px solid #d9e4dc; background: #fff; border-radius: 10px; box-shadow: 0 8px 24px #163d2908; }
#nd-upgrade .nd-editorial-project-grid > .nd-source-card > h3 { padding-bottom: 18px; margin-bottom: 18px; border-bottom: 3px solid #eda434; }

/* Avoid a row of extremely short columns and ensure comfortable mobile reading. */
#nd-upgrade p,#nd-upgrade li { overflow-wrap: break-word; }
#nd-upgrade .nd-design-final { margin-top: 56px; }
#nd-upgrade .nd-source-faq details > summary:focus-visible { outline: 3px solid #eda434; outline-offset: -3px; }
@media (max-width: 1023px) {
 #nd-upgrade .nd-editorial-split { grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 28px; }
 #nd-upgrade .nd-editorial-scope-grid,#nd-upgrade .nd-editorial-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 #nd-upgrade .nd-editorial-panel { padding: 28px; }
}
@media (max-width: 767px) {
 #nd-upgrade > .nd-editorial-section { margin-bottom: 42px; }
 #nd-upgrade .nd-editorial-split { grid-template-columns: 1fr; gap: 20px; }
 #nd-upgrade .nd-editorial-panel .nd-editorial-paragraphs,#nd-upgrade .nd-editorial-subsections { grid-template-columns: 1fr; gap: 16px; }
 #nd-upgrade .nd-editorial-story { padding: 26px; }
 #nd-upgrade .nd-editorial-note { padding: 24px; }
}
@media (max-width: 639px) {
 #nd-upgrade .nd-editorial-scope-grid,#nd-upgrade .nd-editorial-process-grid,#nd-upgrade .nd-editorial-list { grid-template-columns: 1fr; }
 #nd-upgrade .nd-editorial-panel { padding: 24px 20px; }
 #nd-upgrade .nd-editorial-subsection { padding: 22px; }
 #nd-upgrade .nd-editorial-paragraphs > p { padding: 20px; }
}
