/* npdc-fse bundled stylesheet: site-v5..v30 + site-v36..v38 concatenated in original enqueue order. Generated; edit the source files and rebuild. */
/* --- site-v5.css --- */
@font-face {
  font-family: "Cormorant Garamond";
  src: url("../fonts/cormorant-garamond-600-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url("../fonts/roboto-400-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

:root {
  --np-ink: #172536;
  --np-navy: #334155;
  --np-navy-deep: #243246;
  --np-cyan: #0ecae9;
  --np-blue: #067fae;
  --np-mist: #effaff;
  --np-white: #fff;
  --np-line: #d7e7ed;
  --np-muted: #5c6c7d;
  --np-shadow: 0 22px 60px rgba(23, 37, 54, 0.12);
  --np-display: "Cormorant Garamond", Georgia, serif;
  --np-body: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --np-wide: min(1180px, calc(100vw - 40px));
  --np-reading: min(760px, calc(100vw - 40px));
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--np-navy);
  background: var(--np-white);
  font-family: var(--np-body);
  font-size: 1rem;
  line-height: 1.72;
  text-rendering: optimizeLegibility;
}

.wp-site-blocks {
  padding: 0;
}

.wp-site-blocks > * {
  margin-block-start: 0;
}

body.admin-bar .npdc-header {
  top: 32px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
svg {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

a {
  color: var(--np-blue);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

a:hover {
  color: #045e82;
}

button,
input,
select,
textarea {
  font: inherit;
}

:focus-visible {
  outline: 3px solid var(--np-cyan);
  outline-offset: 4px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-block: 0 0.55em;
  color: var(--np-ink);
  font-family: var(--np-display);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.08;
}

h1 {
  font-size: clamp(2.7rem, 6.5vw, 5.5rem);
}

h2 {
  font-size: clamp(2.1rem, 4.2vw, 3.7rem);
}

h3 {
  font-size: clamp(1.5rem, 2.5vw, 2.15rem);
}

h4 {
  font-size: clamp(1.2rem, 1.8vw, 1.55rem);
}

p,
ul,
ol,
blockquote {
  margin-block: 0 1.25rem;
}

.npdc-main {
  min-height: 55vh;
}

.npdc-main > .wp-block-post-content {
  margin: 0;
}

.npdc-skip {
  position: fixed;
  z-index: 99999;
  top: 12px;
  left: 12px;
  padding: 0.75rem 1rem;
  transform: translateY(-160%);
  border-radius: 8px;
  color: var(--np-ink);
  background: var(--np-cyan);
  font-weight: 700;
}

.npdc-skip:focus {
  transform: translateY(0);
}

.npdc-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--np-white);
  background: rgba(36, 50, 70, 0.97);
  box-shadow: 0 8px 28px rgba(23, 37, 54, 0.14);
  backdrop-filter: blur(14px);
}

.npdc-header__bar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(1rem, 3vw, 2.5rem);
  align-items: center;
  width: min(1320px, calc(100vw - 40px));
  min-height: 82px;
  margin-inline: auto;
}

.npdc-brand {
  display: inline-flex;
  gap: 0.7rem;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.npdc-brand:hover {
  color: inherit;
}

.npdc-brand img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.npdc-brand span {
  display: grid;
  line-height: 1;
}

.npdc-brand strong {
  font-family: var(--np-display);
  font-size: 1.18rem;
  font-weight: 700;
}

.npdc-brand small {
  margin-top: 0.28rem;
  color: #c9d4df;
  font-size: 0.63rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.npdc-nav {
  display: flex;
  gap: clamp(0.75rem, 1.45vw, 1.45rem);
  align-items: center;
  justify-content: center;
}

.npdc-nav > a,
.npdc-nav__parent > a {
  color: #f3f7fa;
  font-size: 0.88rem;
  font-weight: 500;
  text-decoration: none;
}

.npdc-nav > a:hover,
.npdc-nav__parent > a:hover {
  color: var(--np-cyan);
}

.npdc-nav__parent {
  position: relative;
  display: flex;
  gap: 0.25rem;
  align-items: center;
}

.npdc-nav__parent > button {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  color: #dce7ec;
  background: transparent;
  cursor: pointer;
}

.npdc-nav__submenu {
  position: absolute;
  top: calc(100% + 25px);
  left: -1rem;
  display: grid;
  min-width: 220px;
  padding: 0.75rem;
  visibility: hidden;
  transform: translateY(-8px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  opacity: 0;
  background: var(--np-navy-deep);
  box-shadow: var(--np-shadow);
  transition: opacity 160ms ease, transform 160ms ease, visibility 160ms;
}

.npdc-nav__submenu--wide {
  grid-template-columns: repeat(2, minmax(190px, 1fr));
  min-width: 460px;
}

.npdc-nav__submenu a {
  padding: 0.58rem 0.7rem;
  border-radius: 8px;
  color: #eef5f7;
  font-size: 0.84rem;
  line-height: 1.35;
  text-decoration: none;
}

.npdc-nav__submenu a:hover,
.npdc-nav__submenu a:focus-visible {
  color: var(--np-ink);
  background: var(--np-cyan);
}

.npdc-nav__parent:hover .npdc-nav__submenu,
.npdc-nav__parent:focus-within .npdc-nav__submenu,
.npdc-nav__parent > button[aria-expanded="true"] + .npdc-nav__submenu {
  visibility: visible;
  transform: translateY(0);
  opacity: 1;
}

.npdc-header__actions {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.npdc-phone {
  display: grid;
  color: var(--np-white);
  line-height: 1.15;
  text-decoration: none;
}

.npdc-phone:hover {
  color: var(--np-cyan);
}

.npdc-phone small {
  color: #c9d4df;
  font-size: 0.66rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.npdc-phone strong {
  margin-top: 0.28rem;
  font-size: 0.94rem;
}

.npdc-menu-toggle {
  display: none;
}

.npdc-button,
.wp-element-button,
.gform_button {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.78rem 1.28rem;
  border: 2px solid var(--np-cyan);
  border-radius: 999px;
  color: var(--np-ink);
  background: var(--np-cyan);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: transform 150ms ease, background 150ms ease, border-color 150ms ease;
}

.npdc-button:hover,
.wp-element-button:hover,
.gform_button:hover {
  transform: translateY(-2px);
  border-color: #5ce5f6;
  color: var(--np-ink);
  background: #5ce5f6;
}

/* Keep the button color stable if Elementor is reactivated only for rollback. */
a.npdc-button,
.elementor-kit-8 a.npdc-button {
  color: var(--np-ink);
}

a.npdc-button--outline,
.elementor-kit-8 a.npdc-button--outline {
  color: var(--np-white);
}

a.npdc-button:hover,
a.npdc-button:focus-visible,
a.npdc-button--outline:hover,
a.npdc-button--outline:focus-visible,
.elementor-kit-8 a.npdc-button:hover,
.elementor-kit-8 a.npdc-button:focus-visible {
  color: var(--np-ink);
}

.npdc-button--small {
  min-height: 42px;
  padding: 0.65rem 1rem;
  font-size: 0.78rem;
}

.npdc-button--outline {
  color: var(--np-white);
  background: transparent;
}

.npdc-button--outline:hover {
  color: var(--np-ink);
  background: var(--np-cyan);
}

.npdc-text-link {
  font-weight: 700;
}

.npdc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

.npdc-eyebrow {
  margin: 0 0 0.8rem;
  color: var(--np-blue);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.35;
  text-transform: uppercase;
}

.npdc-home-hero {
  position: relative;
  overflow: clip;
  color: var(--np-white);
  background: var(--np-navy-deep);
}

.npdc-home-hero::after {
  position: absolute;
  z-index: 2;
  top: 18%;
  bottom: -52px;
  left: calc(50% - 12px);
  width: 3px;
  border-radius: 99px;
  background: var(--np-cyan);
  box-shadow: 0 0 0 9px rgba(14, 202, 233, 0.1);
  content: "";
}

.npdc-home-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  min-height: min(760px, calc(100vh - 82px));
}

.npdc-home-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(4rem, 8vw, 8rem) max(32px, calc((100vw - 1180px) / 2)) clamp(4rem, 8vw, 8rem) max(20px, calc((100vw - 1180px) / 2));
}

.npdc-home-hero .npdc-eyebrow {
  color: var(--np-cyan);
}

.npdc-page-hero .npdc-eyebrow,
.npdc-contact-card .npdc-eyebrow {
  color: var(--np-cyan);
}

.npdc-home-hero h1 {
  max-width: 780px;
  margin-bottom: 1rem;
  color: var(--np-white);
  font-size: clamp(3.15rem, 6.2vw, 6rem);
}

.npdc-home-hero__lead {
  max-width: 660px;
  color: #dce6ed;
  font-size: clamp(1.05rem, 1.65vw, 1.28rem);
}

.npdc-home-hero__media {
  position: relative;
  min-height: 560px;
}

.npdc-home-hero__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(36, 50, 70, 0.38), transparent 34%), linear-gradient(0deg, rgba(23, 37, 54, 0.28), transparent 55%);
  content: "";
  pointer-events: none;
}

.npdc-home-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  object-position: center;
}

.npdc-home-promises {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  width: var(--np-wide);
  margin: -52px auto 0;
  overflow: hidden;
  border: 1px solid rgba(14, 202, 233, 0.25);
  border-radius: 18px;
  background: #42536a;
  box-shadow: var(--np-shadow);
}

.npdc-promise {
  position: relative;
  min-height: 160px;
  padding: 1.7rem;
  color: #e9f0f4;
  background: var(--np-navy);
}

.npdc-promise::before {
  display: block;
  width: 34px;
  height: 3px;
  margin-bottom: 1.1rem;
  border-radius: 99px;
  background: var(--np-cyan);
  content: "";
}

.npdc-promise h2 {
  margin-bottom: 0.35rem;
  color: var(--np-white);
  font-family: var(--np-body);
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0;
}

.npdc-promise p {
  margin: 0;
  color: #d2dee6;
  font-size: 0.9rem;
  line-height: 1.58;
}

.npdc-page-hero {
  position: relative;
  overflow: clip;
  color: var(--np-white);
  background: var(--np-navy-deep);
}

.npdc-page-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  width: var(--np-wide);
  min-height: 470px;
  margin-inline: auto;
  padding-block: clamp(4rem, 8vw, 7rem);
}

.npdc-page-hero__inner--text {
  grid-template-columns: minmax(0, 820px);
  min-height: 390px;
}

.npdc-page-hero h1 {
  color: var(--np-white);
}

.npdc-page-hero__lead {
  max-width: 720px;
  color: #dce6ed;
  font-size: clamp(1.05rem, 1.5vw, 1.22rem);
}

.npdc-page-hero__media {
  position: relative;
}

.npdc-page-hero__media::before {
  position: absolute;
  z-index: 2;
  top: -26px;
  right: -26px;
  width: 86px;
  height: 86px;
  border: 3px solid var(--np-cyan);
  border-radius: 50%;
  content: "";
}

.npdc-page-hero__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 22px 22px 120px 22px;
  object-fit: cover;
  box-shadow: 0 30px 70px rgba(6, 17, 31, 0.35);
}

.npdc-section {
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.npdc-section + .npdc-section {
  border-top: 1px solid var(--np-line);
}

.npdc-section__inner {
  width: var(--np-wide);
  margin-inline: auto;
}

.npdc-section--reading .npdc-section__inner {
  width: var(--np-reading);
}

.npdc-section--mist {
  background: var(--np-mist);
}

.npdc-section--navy {
  color: #dce6ed;
  background: var(--np-navy-deep);
}

.npdc-section--navy h2,
.npdc-section--navy h3,
.npdc-section--navy h4 {
  color: var(--np-white);
}

.npdc-section--cta {
  color: var(--np-white);
  background: var(--np-navy);
}

.npdc-section--cta .npdc-section__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
}

.npdc-section--cta h2 {
  max-width: 840px;
  color: var(--np-white);
}

.npdc-flow > * + * {
  margin-top: 1.25rem;
}

.npdc-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
}

.npdc-layout--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.npdc-layout > :only-child {
  grid-column: 1 / -1;
}

.npdc-contact-card {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: 20px;
  color: #dce6ed;
  background: var(--np-navy-deep);
  box-shadow: var(--np-shadow);
}

.npdc-contact-card h2,
.npdc-contact-card h3 {
  color: var(--np-white);
}

.npdc-contact-card a {
  color: var(--np-cyan);
}

.npdc-contact-card address {
  font-style: normal;
}

.npdc-card-grid,
.npdc-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin-block: 2rem;
}

.npdc-card,
.npdc-service-card {
  position: relative;
  padding: clamp(1.3rem, 2.5vw, 2rem);
  overflow: hidden;
  border: 1px solid var(--np-line);
  border-radius: 18px;
  background: var(--np-white);
  box-shadow: 0 12px 34px rgba(23, 37, 54, 0.06);
}

.npdc-card::before,
.npdc-service-card::before {
  display: block;
  width: 42px;
  height: 3px;
  margin-bottom: 1.15rem;
  border-radius: 99px;
  background: var(--np-cyan);
  content: "";
}

.npdc-card h3,
.npdc-service-card h3 {
  font-family: var(--np-body);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
}

.npdc-card p:last-child,
.npdc-service-card p:last-child {
  margin-bottom: 0;
}

/*
 * The converted homepage retains the source page's row/card group nesting.
 * Treat only the inner three-column groups as cards; otherwise each card
 * becomes its own three-column grid and the section collapses to ninths.
 */
.home .npdc-layout > .npdc-layout--three {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: clamp(1.3rem, 2.5vw, 2rem);
  border: 1px solid var(--np-line);
  border-radius: 18px;
  background: var(--np-white);
  box-shadow: 0 12px 34px rgba(23, 37, 54, 0.06);
}

.home .npdc-layout > .npdc-layout--three > .npdc-image:first-child {
  width: 58px;
  margin: 0 0 0.65rem;
}

.home .npdc-layout > .npdc-layout--three > .npdc-image:first-child img {
  height: auto;
  border-radius: 0;
  object-fit: contain;
}

.home .npdc-layout > .npdc-layout--three > .npdc-image:not(:first-child) {
  margin: 0.9rem 0 1rem;
}

.home .npdc-layout > .npdc-layout--three > .npdc-image:not(:first-child) img {
  aspect-ratio: 3 / 2;
  border-radius: 14px;
  object-fit: cover;
}

.home .npdc-layout > .npdc-layout--three > .wp-block-buttons {
  margin-top: auto;
  padding-top: 1rem;
}

.home .npdc-flow > .npdc-layout + .npdc-layout {
  margin-top: 1.25rem;
}

.npdc-service-card a::after {
  position: absolute;
  inset: 0;
  content: "";
}

.npdc-image {
  margin-block: 2rem;
}

.npdc-image img {
  width: 100%;
  max-height: 680px;
  border-radius: 18px;
  object-fit: cover;
}

.npdc-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-block: 2rem;
}

.npdc-stat {
  padding: 1.5rem;
  border-left: 3px solid var(--np-cyan);
  background: rgba(239, 250, 255, 0.65);
}

.npdc-stat strong {
  display: block;
  color: var(--np-ink);
  font-family: var(--np-display);
  font-size: clamp(2rem, 4vw, 3.3rem);
  line-height: 1;
}

.npdc-faq {
  max-width: 900px;
  margin: 2.2rem auto 0;
}

.npdc-faq details {
  border-bottom: 1px solid var(--np-line);
}

.npdc-faq summary {
  position: relative;
  padding: 1.3rem 3rem 1.3rem 0;
  color: var(--np-ink);
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
  list-style: none;
}

.npdc-faq summary::-webkit-details-marker {
  display: none;
}

.npdc-faq summary::after {
  position: absolute;
  top: 1.2rem;
  right: 0;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  color: var(--np-ink);
  background: var(--np-cyan);
  content: "+";
}

.npdc-faq details[open] summary::after {
  content: "–";
}

.npdc-faq__answer {
  padding: 0 2.5rem 1.35rem 0;
}

.npdc-video-link {
  display: inline-flex;
  gap: 0.7rem;
  align-items: center;
  font-weight: 700;
}

.npdc-video-link::before {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 50%;
  color: var(--np-ink);
  background: var(--np-cyan);
  content: "▶";
}

.npdc-map {
  min-height: 420px;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: var(--np-shadow);
}

.npdc-map iframe {
  width: 100%;
  height: 520px;
  border: 0;
}

.npdc-inline-cta {
  margin-block: clamp(3rem, 6vw, 6rem);
  padding: clamp(2rem, 5vw, 4rem);
  border-radius: 24px 24px 110px 24px;
  color: #dce6ed;
  background: var(--np-navy-deep);
}

.npdc-inline-cta h2 {
  max-width: 720px;
  color: var(--np-white);
}

.npdc-article__hero {
  padding-block: clamp(4rem, 8vw, 7rem) 2.5rem;
  text-align: center;
}

.npdc-article__hero h1 {
  max-width: 950px;
  margin-inline: auto;
  font-size: clamp(2.5rem, 5vw, 4.8rem);
}

.npdc-article__date {
  color: var(--np-muted);
  font-size: 0.86rem;
}

.npdc-article__body {
  padding-bottom: clamp(4rem, 8vw, 8rem);
}

.npdc-article__image img {
  border-radius: 24px;
  box-shadow: var(--np-shadow);
}

.npdc-article__body .wp-block-post-content > :where(h2, h3) {
  margin-top: 2.2em;
}

.npdc-article__body .wp-block-post-content > :where(p, ul, ol, h2, h3, h4, blockquote) {
  max-width: 760px;
  margin-inline: auto;
}

.npdc-index,
.npdc-not-found {
  padding-block: clamp(4rem, 8vw, 8rem);
}

.npdc-post-grid .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  padding: 0;
}

.npdc-post-card {
  height: 100%;
  padding: 1rem;
  border: 1px solid var(--np-line);
  border-radius: 18px;
  background: var(--np-white);
}

.npdc-post-card .wp-block-post-featured-image img {
  border-radius: 12px;
  object-fit: cover;
}

.npdc-post-card .wp-block-post-date {
  margin-top: 1rem;
  color: var(--np-muted);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.npdc-post-card .wp-block-post-title {
  margin-top: 0.35rem;
  font-family: var(--np-display);
  font-size: 1.7rem;
}

.npdc-post-card .wp-block-post-title a {
  color: var(--np-ink);
  text-decoration: none;
}

.gform_wrapper {
  padding: clamp(1.25rem, 3vw, 2.5rem);
  border: 1px solid var(--np-line);
  border-radius: 18px;
  background: var(--np-white);
  box-shadow: 0 14px 38px rgba(23, 37, 54, 0.07);
}

.gform_wrapper input:not([type="checkbox"]):not([type="radio"]),
.gform_wrapper textarea,
.gform_wrapper select {
  min-height: 50px;
  border: 1px solid #aebdc8;
  border-radius: 10px;
  color: var(--np-ink);
  background: var(--np-white);
}

.gform_wrapper textarea {
  min-height: 150px;
}

.gform_wrapper .gfield_label {
  color: var(--np-ink);
  font-weight: 700;
}

.npdc-footer {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 9vw, 9rem) max(20px, calc((100vw - 1180px) / 2)) 1.5rem;
  color: #d9e4eb;
  background: var(--np-navy-deep);
}

.npdc-footer__mark {
  position: absolute;
  top: -0.32em;
  left: max(20px, calc((100vw - 1180px) / 2));
  color: rgba(255, 255, 255, 0.055);
  font-family: var(--np-display);
  font-size: clamp(7rem, 17vw, 16rem);
  font-weight: 600;
  letter-spacing: -0.06em;
  line-height: 1;
  pointer-events: none;
  white-space: nowrap;
}

.npdc-footer__mark::before {
  content: "Let’s connect.";
}

.npdc-footer__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.35fr repeat(3, minmax(0, 0.75fr));
  gap: clamp(2rem, 5vw, 5rem);
}

.npdc-brand--footer {
  color: var(--np-white);
}

.npdc-footer h2 {
  margin-bottom: 1rem;
  color: var(--np-white);
  font-family: var(--np-body);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.npdc-footer p,
.npdc-footer address {
  color: #bfcdd7;
  font-size: 0.88rem;
  font-style: normal;
}

.npdc-footer a {
  display: block;
  margin-block: 0.48rem;
  color: #e9f2f6;
  font-size: 0.88rem;
  text-decoration: none;
}

.npdc-footer a:hover {
  color: var(--np-cyan);
}

.npdc-footer__base {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  margin-top: 4rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  color: #94a7b4;
  font-size: 0.875rem;
}

@media (max-width: 1120px) {
  #rom-callbar .rom-cb-call {
    color: var(--np-white) !important;
    background: #006c80 !important;
  }

  #rom-callbar .rom-cb-quote {
    color: var(--np-white) !important;
    background: #0a596b !important;
  }

  #rom-callbar a small {
    color: var(--np-white) !important;
    opacity: 1 !important;
  }

  .npdc-header__bar {
    grid-template-columns: auto auto 1fr;
  }

  .npdc-menu-toggle {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
    justify-content: center;
    justify-self: end;
    min-width: 44px;
    min-height: 44px;
    padding: 0.55rem 0.72rem;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 9px;
    color: var(--np-white);
    background: transparent;
    cursor: pointer;
  }

  .npdc-nav {
    position: absolute;
    top: 100%;
    right: 20px;
    left: 20px;
    display: none;
    max-height: calc(100vh - 110px);
    padding: 1rem;
    overflow: auto;
    border-radius: 0 0 16px 16px;
    background: var(--np-navy-deep);
    box-shadow: var(--np-shadow);
  }

  .npdc-nav[data-open] {
    display: grid;
  }

  .npdc-nav__parent {
    display: grid;
    grid-template-columns: 1fr auto;
  }

  .npdc-nav > a,
  .npdc-nav__parent > a {
    padding: 0.7rem;
  }

  .npdc-nav__submenu,
  .npdc-nav__submenu--wide {
    position: static;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: none;
    min-width: 0;
    visibility: visible;
    transform: none;
    border: 0;
    opacity: 1;
    box-shadow: none;
  }

  .npdc-nav__parent:hover .npdc-nav__submenu,
  .npdc-nav__parent:focus-within .npdc-nav__submenu {
    display: none;
  }

  .npdc-nav__parent > button[aria-expanded="true"] + .npdc-nav__submenu {
    display: grid;
  }

  .npdc-header__actions {
    justify-self: end;
  }

  .npdc-header__actions .npdc-button {
    display: none;
  }
}

@media (max-width: 820px) {
  body.admin-bar .npdc-header {
    top: 46px;
  }

  .npdc-header__bar {
    grid-template-columns: 1fr auto;
    width: calc(100vw - 28px);
    min-height: 72px;
  }

  .npdc-brand img {
    width: 42px;
    height: 42px;
  }

  .npdc-header__actions {
    display: none;
  }

  .npdc-home-hero__inner {
    grid-template-columns: 1fr;
  }

  .npdc-home-hero__copy {
    padding: 4.5rem 20px 3rem;
  }

  .npdc-home-hero__media {
    min-height: 430px;
  }

  .npdc-home-hero__media img {
    min-height: 430px;
  }

  .npdc-home-hero::after {
    top: auto;
    right: 34px;
    bottom: -36px;
    left: auto;
    height: 135px;
  }

  .npdc-home-promises {
    grid-template-columns: 1fr;
    margin-top: 0;
    border-radius: 0;
  }

  .npdc-promise {
    min-height: 0;
  }

  .npdc-page-hero__inner,
  .npdc-page-hero__inner--text {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-block: 4.5rem;
  }

  .npdc-page-hero__media {
    max-width: 620px;
  }

  .npdc-section--cta .npdc-section__inner,
  .npdc-layout,
  .npdc-layout--three {
    grid-template-columns: 1fr;
  }

  .npdc-card-grid,
  .npdc-service-grid,
  .npdc-post-grid .wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .npdc-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .npdc-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  :root {
    --np-wide: calc(100vw - 32px);
    --np-reading: calc(100vw - 32px);
  }

  h1 {
    font-size: clamp(2.45rem, 13vw, 3.65rem);
  }

  h2 {
    font-size: clamp(2rem, 10vw, 2.8rem);
  }

  .npdc-brand span {
    display: none;
  }

  .npdc-menu-toggle__label {
    display: none;
  }

  .npdc-nav__submenu,
  .npdc-nav__submenu--wide {
    grid-template-columns: 1fr;
  }

  .npdc-home-hero h1 {
    font-size: clamp(3rem, 15vw, 4.4rem);
  }

  .npdc-home-hero__media,
  .npdc-home-hero__media img {
    min-height: 350px;
  }

  .npdc-card-grid,
  .npdc-service-grid,
  .npdc-post-grid .wp-block-post-template,
  .npdc-stat-grid,
  .npdc-footer__grid {
    grid-template-columns: 1fr;
  }

  .npdc-section {
    padding-block: 4.25rem;
  }

  .npdc-page-hero__media::before {
    top: -14px;
    right: -8px;
    width: 58px;
    height: 58px;
  }

  .npdc-actions {
    align-items: stretch;
  }

  .npdc-actions > * {
    width: 100%;
  }

  .npdc-footer__base {
    display: grid;
    gap: 0.35rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
/* --- site-v6.css --- */
/*
 * Source-design parity layer.
 * Values are taken from the live Elementor kit and matched production captures.
 */

:root {
  --np-ink: #2f2f2f;
  --np-navy: #334155;
  --np-navy-deep: #27364a;
  --np-cyan: #0ecae9;
  --np-blue: #0796d6;
  --np-mist: #effaff;
  --np-white: #fff;
  --np-line: #eee;
  --np-muted: #7a7a7a;
  --np-gold: #caa25e;
  --np-display: "Cormorant Garamond", Georgia, serif;
  --np-body: "Roboto", Arial, sans-serif;
  --np-utility: "Lato", Arial, sans-serif;
  --np-wide: min(1280px, calc(100vw - 40px));
  --np-reading: min(900px, calc(100vw - 40px));
}

body {
  color: var(--np-muted);
  font-family: var(--np-body);
  font-size: 18px;
  line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--np-ink);
  letter-spacing: 0;
}

h1 {
  font-size: 90px;
  line-height: 1.1;
}

h2 {
  font-size: 68px;
  line-height: 1.1;
}

h3 {
  font-size: 48px;
  line-height: 1.2;
}

h4 {
  font-family: var(--np-utility);
  font-size: 28px;
  line-height: 1.3;
}

.npdc-eyebrow,
.npdc-source-eyebrow {
  margin: 0 0 12px;
  color: var(--np-blue);
  font-family: var(--np-utility);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.npdc-source-button,
.npdc-button,
.wp-element-button,
.gform_button {
  min-height: 42px;
  padding: 12px 22px;
  border: 0;
  border-radius: 999px;
  color: #334155;
  background: var(--np-cyan);
  font-family: var(--np-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: none;
}

.npdc-source-button:hover,
.npdc-button:hover,
.wp-element-button:hover,
.gform_button:hover {
  transform: none;
  color: #fff;
  background: var(--np-blue);
}

/* Header: transparent overlay, matching the source Theme Builder header. */
.npdc-header {
  position: absolute;
  z-index: 1000;
  top: 0;
  right: 0;
  left: 0;
  border: 0;
  color: #fff;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

body.admin-bar .npdc-header {
  top: 32px;
}

.npdc-header__bar {
  grid-template-columns: 190px minmax(0, 1fr) auto;
  gap: 32px;
  width: var(--np-wide);
  min-height: 157px;
}

.npdc-brand {
  width: 180px;
}

.npdc-brand img {
  width: 180px;
  height: auto;
}

.npdc-nav {
  gap: clamp(15px, 1.65vw, 30px);
}

.npdc-nav > a,
.npdc-nav__parent > a {
  color: #fff;
  font-size: 14px;
  font-weight: 400;
}

.npdc-nav__parent > button {
  width: 20px;
  height: 28px;
  color: #fff;
  font-size: 14px;
}

.npdc-nav__submenu {
  top: calc(100% + 18px);
  border-radius: 0;
  background: #334155;
}

.npdc-header__actions {
  gap: 8px;
}

.npdc-phone {
  display: flex;
  gap: 8px;
  align-items: center;
  color: #fff;
  font-size: 13px;
}

.npdc-phone strong {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
}

/* Homepage source-design reconstruction. */
.npdc-parity-home {
  color: var(--np-muted);
}

.npdc-parity-home section {
  position: relative;
  overflow: hidden;
}

.npdc-source-hero {
  min-height: 1040px;
  color: #fff;
  background-color: #334155;
  background-image: linear-gradient(rgba(39, 54, 74, 0.7), rgba(39, 54, 74, 0.73)), url("/wp-content/uploads/2025/11/HERO2.webp");
  background-position: center center;
  background-size: cover;
}

.npdc-source-hero__inner {
  display: flex;
  width: min(980px, calc(100vw - 60px));
  min-height: 780px;
  margin-inline: auto;
  padding-top: 165px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.npdc-source-hero__mark {
  width: 120px;
  height: 120px;
  margin-bottom: 22px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.npdc-source-hero h1 {
  max-width: 1040px;
  margin: 0 0 18px;
  color: #fff;
  font-size: 68px;
  font-weight: 600;
  line-height: 1.1;
}

.npdc-source-hero__subhead {
  margin: 0 0 18px;
  color: #fff;
  font-family: var(--np-utility);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.4;
}

.npdc-source-hero__copy {
  max-width: 1040px;
  margin: 0 auto 22px;
  color: #fff;
}

.npdc-source-hero__tagline {
  margin: 0;
  color: #fff;
  font-family: var(--np-utility);
  font-size: 18px;
  font-weight: 500;
}

.npdc-source-promises {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  width: var(--np-wide);
  min-height: 240px;
  margin-inline: auto;
}

.npdc-source-promise {
  display: flex;
  padding: 42px 34px;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  background: rgba(51, 65, 85, 0.88);
  text-align: center;
}

.npdc-source-promise:last-child {
  border-right: 0;
}

.npdc-source-promise h2 {
  margin: 0 0 12px;
  color: var(--np-cyan);
  font-size: 29px;
  font-weight: 600;
}

.npdc-source-promise p {
  margin: 0;
  color: #fff;
  font-size: 15px;
  line-height: 1.55;
}

.npdc-source-services {
  min-height: 1728px;
  padding: 115px 20px 120px;
  background: #fff;
}

.npdc-source-services__inner,
.npdc-source-why__inner,
.npdc-source-trust__inner,
.npdc-source-process__inner,
.npdc-source-first-visit__inner,
.npdc-source-faqs__inner,
.npdc-source-cta__inner {
  width: var(--np-wide);
  margin-inline: auto;
}

.npdc-source-services__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
  gap: 80px;
  align-items: end;
  margin-bottom: 72px;
}

.npdc-source-services__head h2 {
  max-width: 700px;
  margin: 0;
  font-size: 48px;
}

.npdc-source-services__head p:last-child {
  margin: 0;
}

.npdc-source-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.npdc-source-service-card {
  display: flex;
  min-height: 590px;
  padding: 24px;
  flex-direction: column;
  border: 1px solid #e8eef1;
  border-radius: 4px;
  background: #fff;
}

.npdc-source-service-card__icon {
  width: 50px;
  height: 50px;
  margin-bottom: 12px;
  object-fit: contain;
}

.npdc-source-service-card h3 {
  min-height: 58px;
  margin: 0 0 18px;
  font-size: 28px;
  font-weight: 600;
}

.npdc-source-service-card__photo {
  width: 100%;
  aspect-ratio: 3 / 2;
  margin-bottom: 22px;
  border-radius: 4px;
  object-fit: cover;
}

.npdc-source-service-card p {
  margin-bottom: 22px;
  font-size: 15px;
  line-height: 1.6;
}

.npdc-source-service-card a {
  margin-top: auto;
  color: #334155;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

.npdc-source-service-card a::after {
  display: inline-grid;
  width: 24px;
  height: 24px;
  margin-left: 8px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--np-cyan);
  content: "↗";
}

.npdc-source-quote {
  display: grid;
  min-height: 459px;
  place-items: center;
  padding: 80px 20px;
  color: #fff;
  background-color: #334155;
  background-image: linear-gradient(rgba(51, 65, 85, 0.8), rgba(51, 65, 85, 0.8)), url("/wp-content/uploads/2025/11/shutterstock_2207894257-scaled.jpg");
  background-position: center center;
  background-size: cover;
  text-align: center;
}

.npdc-source-quote blockquote {
  max-width: 930px;
  margin: 0;
}

.npdc-source-quote p:first-child {
  margin: 0 0 20px;
  color: #fff;
  font-family: var(--np-display);
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
}

.npdc-source-quote cite,
.npdc-source-quote small {
  display: block;
  color: #fff;
  font-style: normal;
}

.npdc-source-why {
  min-height: 1412px;
  padding: 120px 20px;
  background: #fff;
}

.npdc-source-why__heading {
  margin-bottom: 65px;
}

.npdc-source-why__heading h2 {
  max-width: 720px;
  margin: 0;
  font-size: 48px;
}

.npdc-source-why__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  gap: 70px;
  align-items: start;
}

.npdc-source-why__primary,
.npdc-source-why__secondary {
  position: relative;
}

.npdc-source-why__image {
  width: 100%;
  border-radius: 5px;
  object-fit: cover;
}

.npdc-source-why__primary .npdc-source-why__image {
  height: 650px;
}

.npdc-source-why__secondary .npdc-source-why__image {
  height: 440px;
  margin-bottom: 40px;
}

.npdc-source-image-note {
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(78%, 480px);
  padding: 30px;
  color: #fff;
  background: var(--np-cyan);
  font-family: var(--np-utility);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.35;
}

.npdc-source-why__primary > h3 {
  margin: 38px 0 25px;
  font-size: 30px;
}

.npdc-source-reason {
  position: relative;
  padding: 0 0 25px 48px;
}

.npdc-source-reason::before {
  position: absolute;
  top: 2px;
  left: 0;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--np-cyan);
  content: "✓";
  font-size: 15px;
}

.npdc-source-reason h3 {
  margin: 0 0 8px;
  font-family: var(--np-utility);
  font-size: 20px;
  font-weight: 600;
}

.npdc-source-reason p {
  margin: 0;
  font-size: 15px;
}

.npdc-source-trust {
  min-height: 1318px;
  padding: 115px 20px;
  color: #fff;
  background-color: #334155;
  background-image: linear-gradient(rgba(51, 65, 85, 0.88), rgba(51, 65, 85, 0.88)), url("/wp-content/uploads/2025/11/bg_texture.webp");
  background-size: cover;
}

.npdc-source-trust h2,
.npdc-source-trust h3 {
  color: #fff;
}

.npdc-source-trust__intro {
  max-width: 1150px;
  margin-bottom: 58px;
}

.npdc-source-trust__intro h2 {
  max-width: 940px;
  margin: 0 0 28px;
  font-size: 48px;
}

.npdc-source-trust__intro p {
  color: #fff;
}

.npdc-source-trust__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 30px;
}

.npdc-source-team-card,
.npdc-source-crown-card {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  border-radius: 20px;
  background: rgba(39, 54, 74, 0.9);
}

.npdc-source-team-card {
  background-image: linear-gradient(0deg, rgba(51, 65, 85, 0.22), transparent 55%), url("/wp-content/uploads/2026/02/backofficeladies.webp");
  background-position: center center;
  background-size: cover;
}

.npdc-source-team-card__quote {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 34px;
  color: #fff;
  background: rgba(14, 202, 233, 0.92);
  font-family: var(--np-utility);
  font-size: 22px;
  font-weight: 600;
}

.npdc-source-crown-card {
  display: flex;
  padding: 48px;
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.npdc-source-crown-card__mark {
  width: 74px;
  margin-bottom: auto;
  filter: brightness(0) invert(1);
}

.npdc-source-crown-card h3 {
  margin: 0 0 12px;
  color: var(--np-cyan);
  font-size: 30px;
}

.npdc-source-crown-card p {
  margin: 0;
  color: #fff;
}

.npdc-source-process {
  min-height: 1149px;
  padding: 100px 20px;
  background: #fff;
}

.npdc-source-process__head {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: 70px;
  align-items: center;
  margin-bottom: 45px;
}

.npdc-source-process__head h2 {
  margin: 0;
  font-size: 48px;
}

.npdc-source-process__steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 25px;
}

.npdc-source-step {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  min-height: 330px;
  overflow: hidden;
  border-radius: 20px;
  background: var(--np-mist);
}

.npdc-source-step:nth-child(3) {
  grid-column: 2;
}

.npdc-source-step__copy {
  display: flex;
  padding: 32px;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  background: var(--np-cyan);
}

.npdc-source-step__copy strong {
  align-self: flex-end;
  margin-bottom: 20px;
  color: #fff;
  font-size: 16px;
}

.npdc-source-step__copy h3 {
  margin: 0 0 12px;
  color: #fff;
  font-family: var(--np-utility);
  font-size: 19px;
}

.npdc-source-step__copy p {
  margin: 0;
  color: #fff;
  font-size: 14px;
}

.npdc-source-step img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.npdc-source-first-visit {
  min-height: 828px;
  padding: 120px 20px;
  color: #fff;
  background-color: #334155;
  background-image: linear-gradient(rgba(51, 65, 85, 0.9), rgba(51, 65, 85, 0.9)), url("/wp-content/uploads/2025/11/bg_texture.webp");
  background-size: cover;
}

.npdc-source-first-visit__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 90px;
  align-items: center;
}

.npdc-source-first-visit h2 {
  margin: 0 0 25px;
  color: #fff;
  font-size: 48px;
}

.npdc-source-first-visit p {
  color: #fff;
}

.npdc-source-first-visit__mark {
  display: grid;
  min-height: 470px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.14);
  font-family: var(--np-display);
  font-size: 100px;
  text-align: center;
}

.npdc-source-faqs {
  min-height: 884px;
  padding: 105px 20px;
  color: #fff;
  background-color: #334155;
  background-image: linear-gradient(rgba(51, 65, 85, 0.92), rgba(51, 65, 85, 0.92)), url("/wp-content/uploads/2025/11/bg_texture.webp");
  background-size: cover;
}

.npdc-source-faqs__head {
  margin-bottom: 38px;
  text-align: center;
}

.npdc-source-faqs__head h2 {
  margin: 0;
  color: #fff;
  font-size: 48px;
}

.npdc-source-faqs .npdc-faq {
  max-width: 1160px;
  margin: 0 auto;
}

.npdc-source-faqs .npdc-faq details {
  margin-bottom: 10px;
  border: 0;
  border-radius: 999px;
  background: #fff;
}

.npdc-source-faqs .npdc-faq summary {
  padding: 13px 52px 13px 24px;
  color: #334155;
  font-size: 14px;
}

.npdc-source-faqs .npdc-faq summary::after {
  top: 9px;
  right: 12px;
  width: 28px;
  height: 28px;
}

.npdc-source-faqs .npdc-faq__answer {
  padding: 5px 28px 20px;
  color: #334155;
}

.npdc-source-cta {
  min-height: 511px;
  padding: 100px 20px;
  background: #fff;
}

.npdc-source-cta__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: center;
  min-height: 310px;
  padding: 65px 75px;
  border-radius: 20px;
  color: #fff;
  background-color: #334155;
  background-image: linear-gradient(rgba(51, 65, 85, 0.75), rgba(51, 65, 85, 0.75)), url("/wp-content/uploads/2025/11/bg_texture.webp");
  background-size: cover;
}

.npdc-source-cta h2 {
  margin: 0;
  color: #fff;
  font-size: 42px;
}

/* Interior pages: retain the source design's spacious hero and content/sidebar rhythm. */
.npdc-page-hero {
  min-height: 500px;
  background: #334155;
}

.npdc-page-hero__inner {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.75fr);
  width: var(--np-wide);
  min-height: 500px;
  padding: 155px 0 70px;
}

.npdc-page-hero h1 {
  margin-bottom: 18px;
  color: #fff;
  font-size: 68px;
  line-height: 1.05;
}

.npdc-page-hero__lead {
  color: #fff;
  font-size: 16px;
  line-height: 1.6;
}

.npdc-page-hero__media::before {
  display: none;
}

.npdc-page-hero__media img {
  aspect-ratio: 1.5 / 1;
  border-radius: 18px 18px 80px 18px;
}

.npdc-service-page .npdc-section {
  padding: 95px 20px;
}

.npdc-service-page .npdc-section--mist:first-of-type {
  background: #fff;
}

.npdc-service-page .npdc-section--mist:first-of-type .npdc-section__inner {
  width: 100%;
}

.npdc-service-page .npdc-section--mist:first-of-type .npdc-layout {
  grid-template-columns: 1fr;
  gap: 0;
}

.npdc-service-page .npdc-service-shell {
  display: grid;
  grid-template-columns: minmax(0, 900px) 290px;
  gap: 60px;
  width: var(--np-wide);
  margin-inline: auto;
  align-items: start;
}

.npdc-service-page .npdc-service-copy > .npdc-section__inner {
  width: 100%;
}

.npdc-service-page .npdc-flow > .npdc-card {
  position: relative;
  margin: 0;
  padding: 8px 0 20px 42px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.npdc-service-page .npdc-flow > .npdc-card::before {
  position: absolute;
  top: 14px;
  left: 4px;
  width: 0;
  height: 0;
  margin: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 10px solid var(--np-cyan);
  border-radius: 0;
  background: transparent;
}

.npdc-service-page .npdc-flow > .npdc-card h3 {
  margin: 0 0 7px;
  font-family: var(--np-utility);
  font-size: 18px;
  font-weight: 600;
}

.npdc-service-page .npdc-flow > .npdc-card p {
  font-size: 15px;
  line-height: 1.55;
}

.npdc-service-page .npdc-flow > h2 {
  margin-top: 0;
  font-size: 42px;
}

.npdc-service-page .npdc-flow > h3 {
  margin-top: 38px;
  font-size: 31px;
}

.npdc-service-page .npdc-image {
  margin: 34px 0;
}

.npdc-service-page .npdc-image img {
  border-radius: 4px;
}

.npdc-service-sidebar {
  position: sticky;
  top: 30px;
}

.npdc-service-sidebar h2 {
  margin: 0 0 18px;
  font-size: 28px;
}

.npdc-service-sidebar__links {
  display: grid;
  gap: 8px;
}

.npdc-service-sidebar__links a {
  position: relative;
  padding: 11px 44px 11px 18px;
  border: 1px solid #dfe8ec;
  border-radius: 999px;
  color: #334155;
  background: #fff;
  font-size: 13px;
  text-decoration: none;
}

.npdc-service-sidebar__links a::after {
  position: absolute;
  top: 50%;
  right: 8px;
  display: grid;
  width: 27px;
  height: 27px;
  transform: translateY(-50%);
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--np-cyan);
  content: "+";
}

.npdc-service-sidebar__cta,
.npdc-service-sidebar__proof {
  margin-top: 22px;
  padding: 26px;
  border-radius: 6px;
}

.npdc-service-sidebar__cta {
  color: #fff;
  background: #334155;
}

.npdc-service-sidebar__cta h3,
.npdc-service-sidebar__proof h3 {
  margin: 0 0 12px;
  color: inherit;
  font-family: var(--np-utility);
  font-size: 20px;
}

.npdc-service-sidebar__cta p,
.npdc-service-sidebar__proof p {
  margin: 0 0 15px;
  color: inherit;
  font-size: 13px;
}

.npdc-service-sidebar__proof {
  color: #fff;
  background: #334155;
  text-align: center;
}

.npdc-service-page .npdc-section--mist:nth-of-type(2) {
  color: #fff;
  background-color: #334155;
  background-image: linear-gradient(rgba(51, 65, 85, 0.9), rgba(51, 65, 85, 0.9)), url("/wp-content/uploads/2025/11/bg_texture.webp");
  background-size: cover;
}

.npdc-service-page .npdc-section--mist:nth-of-type(2) h2,
.npdc-service-page .npdc-section--mist:nth-of-type(2) h3 {
  color: #fff;
  text-align: center;
}

.npdc-service-page .npdc-section--mist:nth-of-type(2) .npdc-faq details {
  margin-bottom: 9px;
  border: 0;
  border-radius: 999px;
  background: #fff;
}

.npdc-service-page .npdc-section--mist:nth-of-type(2) .npdc-faq summary {
  padding: 13px 52px 13px 24px;
  color: #334155;
  font-size: 14px;
}

.npdc-service-page .npdc-section--mist:nth-of-type(2) .npdc-faq summary::after {
  top: 9px;
  right: 12px;
}

.npdc-service-page .npdc-section--mist:nth-of-type(2) .npdc-faq__answer {
  padding: 5px 28px 20px;
  color: #334155;
}

.npdc-service-page .npdc-section--cta {
  padding: 95px 20px;
  color: #fff;
  background: #fff;
}

.npdc-service-page .npdc-section--cta .npdc-section__inner {
  min-height: 300px;
  padding: 60px;
  border-radius: 18px;
  background: #334155;
}

/* Footer: same three-panel composition and oversized outlined wordmark. */
.npdc-footer {
  min-height: 1117px;
  padding: 215px max(20px, calc((100vw - 1280px) / 2)) 30px;
  background: #334155;
}

.npdc-footer__title {
  position: absolute;
  z-index: 1;
  top: 28px;
  right: 0;
  left: 0;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 34px;
  color: #fff;
  font-family: var(--np-display);
  font-size: clamp(115px, 14vw, 220px);
  font-weight: 600;
  line-height: 1;
  pointer-events: none;
}

.npdc-footer__title span:last-child {
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.55);
}

.npdc-footer__grid {
  position: relative;
  z-index: 2;
  grid-template-columns: 1.15fr 0.8fr 0.95fr;
  gap: 35px;
}

.npdc-footer__card {
  min-height: 650px;
  padding: 48px 42px;
  border-radius: 20px;
  background: rgba(69, 86, 109, 0.9);
}

.npdc-footer__logo {
  display: block;
  width: 185px;
  margin: 0 0 28px;
}

.npdc-footer__logo img {
  width: 100%;
  height: auto;
}

.npdc-footer h2 {
  margin-bottom: 22px;
  font-family: var(--np-utility);
  font-size: 18px;
  letter-spacing: 0;
  text-transform: none;
}

.npdc-footer p,
.npdc-footer a {
  font-size: 14px;
}

.npdc-footer__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0;
}

.npdc-footer__badges span {
  padding: 6px 12px;
  border: 1px solid var(--np-gold);
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

.npdc-footer__social {
  display: inline-grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--np-cyan);
}

.npdc-footer__base {
  margin-top: 55px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
}

@media (max-width: 1120px) {
  body {
    font-size: 16px;
  }

  h1 {
    font-size: 75px;
  }

  h2 {
    font-size: 56px;
  }

  h3 {
    font-size: 36px;
  }

  .npdc-header__bar {
    grid-template-columns: 175px auto 1fr;
  }

  .npdc-service-page .npdc-service-shell {
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 38px;
  }
}

@media (max-width: 820px) {
  body.admin-bar .npdc-header {
    top: 46px;
  }

  .npdc-header__bar {
    grid-template-columns: 1fr auto auto;
    gap: 14px;
    width: calc(100vw - 40px);
    min-height: 87px;
  }

  .npdc-brand {
    width: 140px;
  }

  .npdc-brand img {
    width: 140px;
    height: auto;
  }

  .npdc-menu-toggle {
    grid-column: 3;
    grid-row: 1;
    min-width: 42px;
    min-height: 42px;
    padding: 0;
    border: 0;
    border-radius: 0;
    font-size: 24px;
  }

  .npdc-menu-toggle__label {
    display: none;
  }

  .npdc-header__actions {
    display: block;
    grid-column: 2;
    grid-row: 1;
  }

  .npdc-phone {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--np-cyan);
  }

  .npdc-phone strong {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }

  .npdc-nav {
    top: 87px;
    right: 0;
    left: 0;
    max-height: calc(100vh - 87px);
    border-radius: 0;
    background: #334155;
  }

  .npdc-source-hero {
    min-height: 1425px;
    background-position: 58% center;
  }

  .npdc-source-hero__inner {
    width: calc(100vw - 60px);
    min-height: 690px;
    padding-top: 105px;
  }

  .npdc-source-hero__mark {
    width: 82px;
    height: 82px;
    margin-bottom: 16px;
  }

  .npdc-source-hero h1 {
    font-size: 42px;
  }

  .npdc-source-hero__subhead {
    font-size: 16px;
  }

  .npdc-source-hero__copy,
  .npdc-source-hero__tagline {
    font-size: 14px;
  }

  .npdc-source-promises {
    grid-template-columns: 1fr;
    width: calc(100vw - 60px);
    min-height: 650px;
  }

  .npdc-source-promise {
    min-height: 205px;
    padding: 25px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }

  .npdc-source-promise h2 {
    font-size: 25px;
  }

  .npdc-source-services {
    min-height: 3173px;
    padding: 90px 30px;
  }

  .npdc-source-services__head,
  .npdc-source-why__grid,
  .npdc-source-trust__grid,
  .npdc-source-process__head,
  .npdc-source-first-visit__inner,
  .npdc-source-cta__card {
    grid-template-columns: 1fr;
  }

  .npdc-source-services__head {
    gap: 25px;
    margin-bottom: 40px;
  }

  .npdc-source-services__head h2,
  .npdc-source-why__heading h2,
  .npdc-source-trust__intro h2,
  .npdc-source-process__head h2,
  .npdc-source-first-visit h2,
  .npdc-source-faqs__head h2,
  .npdc-source-cta h2 {
    font-size: 42px;
  }

  .npdc-source-service-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .npdc-source-service-card {
    min-height: 440px;
    padding: 20px;
  }

  .npdc-source-service-card h3 {
    min-height: 0;
  }

  .npdc-source-quote {
    min-height: 422px;
    padding: 60px 30px;
  }

  .npdc-source-quote p:first-child {
    font-size: 37px;
  }

  .npdc-source-why {
    min-height: 1855px;
    padding: 90px 30px;
  }

  .npdc-source-why__heading {
    margin-bottom: 40px;
  }

  .npdc-source-why__grid {
    gap: 45px;
  }

  .npdc-source-why__primary .npdc-source-why__image {
    height: 480px;
  }

  .npdc-source-why__secondary .npdc-source-why__image {
    height: 360px;
  }

  .npdc-source-image-note {
    width: 82%;
    padding: 22px;
    font-size: 17px;
  }

  .npdc-source-trust {
    min-height: 1560px;
    padding: 90px 30px;
  }

  .npdc-source-team-card,
  .npdc-source-crown-card {
    min-height: 500px;
  }

  .npdc-source-process {
    min-height: 2068px;
    padding: 90px 30px;
  }

  .npdc-source-process__head {
    gap: 20px;
  }

  .npdc-source-process__steps {
    grid-template-columns: 1fr;
  }

  .npdc-source-step,
  .npdc-source-step:nth-child(3) {
    grid-column: auto;
  }

  .npdc-source-first-visit {
    min-height: 543px;
    padding: 70px 30px;
  }

  .npdc-source-first-visit__mark {
    display: none;
  }

  .npdc-source-faqs {
    min-height: 771px;
    padding: 72px 30px;
  }

  .npdc-source-cta {
    min-height: 208px;
    padding: 30px;
  }

  .npdc-source-cta__card {
    min-height: 148px;
    padding: 28px;
  }

  .npdc-source-cta h2 {
    font-size: 28px;
  }

  .npdc-page-hero__inner {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 120px 0 55px;
  }

  .npdc-page-hero h1 {
    font-size: 42px;
  }

  .npdc-service-page .npdc-service-shell {
    grid-template-columns: 1fr;
  }

  .npdc-service-sidebar {
    position: static;
  }

  .npdc-service-page .npdc-section--mist:first-of-type .npdc-section__inner {
    width: 100%;
  }

  .npdc-footer {
    min-height: 1718px;
    padding: 150px 20px 30px;
  }

  .npdc-footer__title {
    top: 35px;
    gap: 12px;
    font-size: 66px;
  }

  .npdc-footer__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .npdc-footer__card {
    min-height: 0;
    padding: 30px;
  }
}

@media (max-width: 560px) {
  body {
    font-size: 14px;
  }

  h1 {
    font-size: 60px;
  }

  h2 {
    font-size: 42px;
  }

  h3 {
    font-size: 28px;
  }

  h4 {
    font-size: 20px;
  }

  .npdc-source-services__inner,
  .npdc-source-why__inner,
  .npdc-source-trust__inner,
  .npdc-source-process__inner,
  .npdc-source-first-visit__inner,
  .npdc-source-faqs__inner,
  .npdc-source-cta__inner {
    width: 100%;
  }

  .npdc-source-step {
    grid-template-columns: 1fr 0.95fr;
  }

  .npdc-source-step__copy {
    padding: 22px;
  }

  .npdc-source-faqs .npdc-faq summary,
  .npdc-service-page .npdc-section--mist:nth-of-type(2) .npdc-faq summary {
    font-size: 12px;
  }

  .npdc-service-page .npdc-section {
    padding: 75px 30px;
  }

  .npdc-service-page .npdc-flow > h2 {
    font-size: 36px;
  }

  .npdc-service-page .npdc-flow > h3 {
    font-size: 27px;
  }

  .npdc-service-page .npdc-section--cta .npdc-section__inner {
    padding: 35px 28px;
  }
}
/* --- site-v7.css --- */
/*
 * Exact-source correction layer.
 * This file intentionally follows the live Elementor reference geometry rather
 * than introducing a new visual direction.
 */

@media (min-width: 821px) {
  .npdc-header__bar {
    grid-template-columns: 305px minmax(0, 1fr) auto;
    gap: 38px;
  }

  .npdc-brand,
  .npdc-brand img {
    width: 305px;
  }

  .npdc-source-hero h1 {
    width: min(1280px, calc(100vw - 80px));
    max-width: none;
    white-space: nowrap;
  }
}

.npdc-phone__icon {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  color: #334155;
  border-radius: 2px;
  background: #0ecae9;
  font-size: 14px;
  line-height: 1;
}

.npdc-source-quote__inner {
  text-align: left;
}

.npdc-source-first-visit__mark {
  visibility: hidden;
}

/* Shared interior hero used by service, contact, and blog pages. */
.npdc-page-hero {
  min-height: 610px;
  overflow: hidden;
  color: #fff;
  background-color: #334155;
  background-image: linear-gradient(rgba(39, 54, 74, 0.58), rgba(39, 54, 74, 0.6)), url("/wp-content/uploads/2025/11/shutterstock_2207894257-scaled.jpg");
  background-position: center;
  background-size: cover;
}

.npdc-page-hero__inner,
.npdc-page-hero__inner--text {
  display: flex;
  width: min(1280px, calc(100vw - 80px));
  min-height: 610px;
  padding: 205px 0 70px;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
}

.npdc-page-hero__inner > div:first-child {
  display: contents;
}

.npdc-page-hero h1 {
  order: 1;
  max-width: 1280px;
  margin: 0;
  color: #fff;
  font-size: 90px;
  line-height: 1.1;
  text-align: center;
}

.npdc-page-hero .npdc-eyebrow {
  order: 2;
  margin: 8px 0 0;
  color: #fff;
  font-family: Roboto, Arial, sans-serif;
  font-size: 16px;
  text-align: center;
}

.npdc-page-hero__lead,
.npdc-page-hero > .npdc-page-hero__inner .npdc-actions,
.npdc-page-hero__media {
  display: none;
}

.npdc-contact-page .npdc-page-hero {
  min-height: 510px;
  background-image: linear-gradient(rgba(39, 54, 74, 0.48), rgba(39, 54, 74, 0.52)), url("/wp-content/uploads/2025/11/HERO2.webp");
}

.npdc-contact-page .npdc-page-hero__inner {
  min-height: 510px;
}

/* Source service-page structure: white long-form body plus fixed-width sidebar. */
.npdc-service-page .npdc-section--mist:nth-of-type(2) {
  color: #7a7a7a;
  background: #fff;
}

.npdc-service-page .npdc-section--mist:nth-of-type(2) h2,
.npdc-service-page .npdc-section--mist:nth-of-type(2) h3 {
  color: #2f2f2f;
  text-align: left;
}

.npdc-service-page .npdc-section--mist:nth-of-type(3) {
  color: #fff;
  background-color: #334155;
  background-image: linear-gradient(rgba(51, 65, 85, 0.9), rgba(51, 65, 85, 0.9)), url("/wp-content/uploads/2025/11/bg_texture.webp");
  background-size: cover;
}

.npdc-service-page .npdc-section--mist:nth-of-type(3) h2,
.npdc-service-page .npdc-section--mist:nth-of-type(3) h3 {
  color: #fff;
  text-align: center;
}

.npdc-service-page .npdc-section--mist:nth-of-type(3) .npdc-faq details {
  margin-bottom: 9px;
  border: 0;
  border-radius: 999px;
  background: #fff;
}

.npdc-service-page .npdc-section--mist:nth-of-type(3) .npdc-faq summary {
  padding: 13px 52px 13px 24px;
  color: #334155;
  font-size: 14px;
}

.npdc-service-page .npdc-section--mist:nth-of-type(3) .npdc-faq summary::after {
  top: 9px;
  right: 12px;
}

.npdc-service-page .npdc-section--mist:nth-of-type(3) .npdc-faq__answer {
  padding: 5px 28px 20px;
  color: #334155;
}

.npdc-service-page .npdc-section:nth-of-type(2) {
  padding-top: 20px;
}

.npdc-service-intro {
  margin: 0 0 70px;
}

.npdc-service-intro h2 {
  margin: 0 0 18px;
  font-size: 48px;
}

.npdc-service-intro p {
  margin: 0 0 22px;
}

.npdc-service-page .npdc-flow > h2 {
  font-size: 48px;
}

.npdc-service-page .npdc-flow > h3 {
  font-size: 32px;
}

.npdc-service-page .npdc-flow > .npdc-card h3 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 32px;
  font-weight: 600;
}

.npdc-service-page .npdc-flow > .npdc-card p {
  color: #7a7a7a;
  font-size: 18px;
  line-height: 1.6;
}

/* Contact page: preserve the source three-column layout and white map field. */
.npdc-contact-page .npdc-contact-source {
  min-height: 1582px;
  padding: 120px 0 0;
  background: #fff;
}

.npdc-contact-source__grid {
  display: grid;
  grid-template-columns: 358px 461px 358px;
  gap: 52px;
  width: min(1280px, calc(100vw - 80px));
  margin-inline: auto;
  align-items: start;
}

.npdc-contact-source h2,
.npdc-contact-source h3 {
  margin-top: 0;
}

.npdc-contact-source__intro .npdc-eyebrow {
  margin-bottom: 28px;
  font-size: 18px;
}

.npdc-contact-source__intro h2 {
  margin-bottom: 22px;
  font-size: 68px;
  line-height: 1.1;
}

.npdc-contact-source__form h2,
.npdc-contact-source__info h2 {
  font-family: Lato, Arial, sans-serif;
  font-size: 28px;
  font-weight: 700;
}

.npdc-contact-source__form > p {
  margin: 0 0 12px;
}

.npdc-contact-source__form .gform_wrapper {
  margin-top: 28px;
}

.npdc-contact-source__info {
  padding-top: 103px;
}

.npdc-contact-source__info dl {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 28px 14px;
  margin: 35px 0 0;
}

.npdc-contact-source__info dt,
.npdc-contact-source__info dd {
  margin: 0;
}

.npdc-contact-source__info dt {
  color: #0ecae9;
  font-size: 34px;
  line-height: 1;
}

.npdc-contact-source__info strong {
  display: block;
  margin-bottom: 8px;
  color: #2f2f2f;
  font-family: Lato, Arial, sans-serif;
  font-size: 20px;
}

.npdc-contact-source__social {
  margin-top: 50px;
}

.npdc-contact-source__social h3 {
  font-family: Lato, Arial, sans-serif;
  font-size: 25px;
}

.npdc-contact-source__social a {
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #0ecae9;
  text-decoration: none;
}

/* Blog archive page: production goes directly from the image hero to the cards. */
.npdc-blog-page .npdc-page-hero {
  min-height: 510px;
}

.npdc-blog-page .npdc-page-hero__inner {
  min-height: 510px;
}

.npdc-blog-page .npdc-section--mist {
  display: none;
}

.npdc-blog-page .npdc-section:not(.npdc-section--cta) {
  padding-top: 118px;
}

.npdc-blog-page .npdc-section:not(.npdc-section--cta) > .npdc-section__inner > .npdc-flow > h2,
.npdc-blog-page .npdc-section:not(.npdc-section--cta) > .npdc-section__inner > .npdc-flow > p:first-of-type {
  display: none;
}

/* Single posts: exact source image hero, two-column reading layout and CTA band. */
.single-post .npdc-article__hero {
  display: flex;
  width: 100%;
  max-width: none !important;
  min-height: 610px;
  padding: 205px 80px 70px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  color: #fff;
  background-image: linear-gradient(rgba(39, 54, 74, 0.58), rgba(39, 54, 74, 0.6)), url("/wp-content/uploads/2025/11/shutterstock_2207894257-scaled.jpg");
  background-position: center;
  background-size: cover;
  text-align: center;
}

.single-post .npdc-article__hero h1 {
  max-width: 1280px;
  margin: 0;
  color: #fff;
  font-size: 90px;
  line-height: 1.1;
}

.npdc-article__crumb {
  margin: 10px 0 0;
  color: #fff;
}

.npdc-article__crumb a {
  color: #0ecae9;
}

.single-post .npdc-article__body {
  width: 100%;
  max-width: none !important;
  padding: 80px 0 85px;
}

.npdc-article__layout {
  display: grid;
  grid-template-columns: minmax(0, 860px) 340px;
  gap: 80px;
  width: min(1280px, calc(100vw - 120px));
  margin-inline: auto;
  align-items: start;
}

.npdc-article__content {
  min-width: 0;
}

.npdc-article__meta {
  display: flex;
  gap: 12px;
  margin-bottom: 28px;
  color: #7a7a7a;
  font-size: 14px;
}

.npdc-article__meta > * + *::before {
  margin-right: 12px;
  color: #0ecae9;
  content: "●";
}

.single-post .npdc-article__image {
  margin: 0 0 30px;
}

.single-post .npdc-article__image img,
.single-post .wp-block-post-content img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.single-post .wp-block-post-content h2 {
  margin: 8px 0 16px;
  font-size: 30.4px;
  line-height: 1.2;
}

.single-post .wp-block-post-content h3 {
  margin: 8px 0 16px;
  font-size: 21.6px;
  line-height: 1.3;
}

.single-post .wp-block-post-content p {
  margin: 0 0 20.7px;
  font-size: 18px;
  line-height: 1.6;
}

.npdc-article-sidebar {
  position: sticky;
  top: 30px;
}

.npdc-article-sidebar h2 {
  margin: 0 0 20px;
  font-family: Lato, Arial, sans-serif;
  font-size: 24px;
}

.npdc-article-sidebar nav {
  display: grid;
  gap: 8px;
}

.npdc-article-sidebar nav a {
  position: relative;
  padding: 12px 48px 12px 18px;
  border: 1px solid #dfe8ec;
  border-radius: 999px;
  color: #334155;
  font-size: 14px;
  text-decoration: none;
}

.npdc-article-sidebar nav a::after {
  position: absolute;
  top: 50%;
  right: 8px;
  display: grid;
  width: 28px;
  height: 28px;
  transform: translateY(-50%);
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #0ecae9;
  content: "+";
}

.npdc-article-sidebar__cta {
  display: flex;
  min-height: 300px;
  margin-top: 22px;
  padding: 32px;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(rgba(51, 65, 85, 0.55), rgba(51, 65, 85, 0.72)), url("/wp-content/uploads/2025/11/shutterstock_2207894257-scaled.jpg") center/cover;
}

.npdc-article-sidebar__cta p {
  color: #fff;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 34px;
  line-height: 1.1;
}

.npdc-article-sidebar__cta a {
  color: #fff;
}

.npdc-article-sidebar__note,
.npdc-article-sidebar__proof {
  margin-top: 22px;
  padding: 28px;
  border-radius: 6px;
  color: #334155;
  background: #effaff;
  font-family: Lato, Arial, sans-serif;
  font-weight: 700;
}

.npdc-article-sidebar__proof {
  color: #fff;
  background: #334155;
  text-align: center;
}

.npdc-article-cta {
  min-height: 530px;
  padding: 145px 40px 70px;
  color: #fff;
  background: linear-gradient(rgba(51, 65, 85, 0.72), rgba(51, 65, 85, 0.72)), url("/wp-content/uploads/2025/11/bg_texture.webp") center/cover;
  text-align: center;
}

.npdc-article-cta h2 {
  max-width: 1000px;
  margin: 0 auto 20px;
  color: #fff;
  font-size: 68px;
}

.npdc-article-cta p {
  max-width: 900px;
  margin: 0 auto 28px;
  color: #fff;
}

@media (max-width: 820px) {
  .npdc-brand,
  .npdc-brand img {
    width: 140px;
  }

  .npdc-phone__icon {
    width: 42px;
    height: 42px;
    color: #fff;
    border-radius: 50%;
    font-size: 18px;
  }

  .npdc-page-hero,
  .npdc-contact-page .npdc-page-hero,
  .npdc-blog-page .npdc-page-hero,
  .single-post .npdc-article__hero {
    min-height: 510px;
  }

  .npdc-page-hero__inner,
  .npdc-page-hero__inner--text {
    width: calc(100vw - 60px);
    min-height: 510px;
    padding: 140px 0 55px;
  }

  .npdc-page-hero h1,
  .single-post .npdc-article__hero h1 {
    font-size: 60px;
  }

  .single-post .npdc-article__hero {
    padding: 140px 30px 55px;
  }

  .npdc-service-page .npdc-section:nth-of-type(2) {
    padding-top: 28px;
  }

  .npdc-service-intro {
    margin-bottom: 55px;
  }

  .npdc-service-intro h2,
  .npdc-service-page .npdc-flow > h2 {
    font-size: 42px;
  }

  .npdc-contact-page .npdc-contact-source {
    min-height: 0;
    padding: 75px 30px 110px;
  }

  .npdc-contact-source__grid {
    grid-template-columns: 1fr;
    gap: 65px;
    width: 100%;
  }

  .npdc-contact-source__intro h2 {
    font-size: 54px;
  }

  .npdc-contact-source__info {
    padding-top: 0;
  }

  .npdc-blog-page .npdc-section:not(.npdc-section--cta) {
    padding-top: 80px;
  }

  .single-post .npdc-article__body {
    padding: 60px 30px 75px;
  }

  .npdc-article__layout {
    grid-template-columns: 1fr;
    gap: 60px;
    width: 100%;
  }

  .npdc-article-sidebar {
    position: static;
  }

  .npdc-article-cta {
    min-height: 430px;
    padding: 95px 30px 60px;
  }

  .npdc-article-cta h2 {
    font-size: 42px;
  }
}

@media (max-width: 560px) {
  .npdc-page-hero h1,
  .single-post .npdc-article__hero h1 {
    font-size: 42px;
  }

  .npdc-page-hero .npdc-eyebrow,
  .npdc-article__crumb {
    font-size: 13px;
  }

  .npdc-service-page .npdc-section--mist:nth-of-type(3) .npdc-faq summary {
    font-size: 12px;
  }

  .single-post .wp-block-post-content p {
    font-size: 14px;
  }
}
/* --- site-v8.css --- */
/* Final measured corrections against matched production captures. */

@media (min-width: 821px) {
  .npdc-header__bar {
    width: calc(100vw - 80px);
    max-width: none;
  }

  .npdc-service-page .npdc-section:nth-of-type(2) .npdc-section__inner {
    width: 100%;
  }

  .npdc-service-page .npdc-section:nth-of-type(2) .npdc-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .npdc-footer {
    padding-top: 260px;
  }

  .npdc-footer__title {
    top: 80px;
    left: 20px;
    justify-content: flex-start;
    gap: 70px;
    font-size: 259.2px;
  }

  .npdc-footer__grid {
    grid-template-columns: 384px 320px 410px;
    gap: 83px;
  }

  .npdc-footer__card {
    min-height: 737px;
    background: rgba(69, 86, 109, 0.32);
  }
}

@media (max-width: 820px) {
  .npdc-source-services {
    padding-top: 55px;
  }

  .npdc-source-services__head {
    margin-bottom: 20px;
  }

  .npdc-source-service-card {
    min-height: 425px;
    padding: 18px;
  }

  .npdc-source-service-card__icon {
    width: 34px;
    height: 34px;
    margin-bottom: 8px;
  }

  .npdc-source-service-card h3 {
    min-height: 0;
    margin-bottom: 10px;
    font-size: 24px;
  }

  .npdc-source-service-card__photo {
    height: 178px;
    margin-bottom: 14px;
    aspect-ratio: auto;
  }

  .npdc-source-service-card p {
    margin-bottom: 12px;
    font-size: 14px;
  }

  .npdc-source-why {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .npdc-source-why__heading {
    margin-bottom: 25px;
  }

  .npdc-source-why__grid {
    gap: 30px;
  }

  .npdc-source-why__primary .npdc-source-why__image {
    height: 420px;
  }

  .npdc-source-why__secondary .npdc-source-why__image {
    height: 320px;
    margin-bottom: 25px;
  }

  .npdc-source-reason {
    padding-bottom: 15px;
  }

  .npdc-source-trust {
    padding-top: 75px;
    padding-bottom: 75px;
  }

  .npdc-source-trust__intro {
    margin-bottom: 30px;
  }

  .npdc-source-team-card,
  .npdc-source-crown-card {
    min-height: 455px;
  }

  .npdc-source-cta__card {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 148px;
    padding: 20px;
  }

  .npdc-source-cta h2 {
    font-size: 19px;
  }

  .npdc-source-cta .npdc-source-button {
    padding: 10px 14px;
    font-size: 11px;
    white-space: nowrap;
  }

  .npdc-service-page .npdc-section:nth-of-type(2) .npdc-section__inner {
    width: 100%;
  }

  .npdc-service-page .npdc-section:nth-of-type(2) .npdc-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}
/* --- site-v9.css --- */
/* Service-template measurements from the production service reference. */

@media (min-width: 821px) {
  .npdc-service-page .npdc-service-shell {
    grid-template-columns: minmax(0, 856px) 320px;
    gap: 84px;
    width: min(1320px, calc(100vw - 80px));
  }

  .npdc-service-page .npdc-image {
    width: 740px;
    margin: 34px auto;
  }

  .npdc-service-page .npdc-flow > .npdc-flow:first-child {
    padding-inline: 40px;
  }

  .npdc-service-page .npdc-flow > .npdc-card {
    padding-left: 65px;
  }
}

.npdc-service-page .npdc-card > * + * {
  margin-top: 0;
}

.npdc-service-page .npdc-flow > .npdc-card h3 {
  margin-bottom: 3px;
  line-height: 1.2;
}

.npdc-service-page .npdc-flow > .npdc-card p {
  margin-top: 0;
}

@media (max-width: 820px) {
  .npdc-service-page .npdc-page-hero,
  .npdc-service-page .npdc-page-hero__inner {
    min-height: 461px;
  }

  .npdc-service-page .npdc-page-hero__inner {
    padding-top: 130px;
  }

  .npdc-service-page .npdc-section {
    padding: 30px 20px;
  }

  .npdc-service-page .npdc-service-shell {
    width: 100%;
  }

  .npdc-service-page .npdc-service-sidebar {
    display: none;
  }

  .npdc-service-page .npdc-service-intro h2,
  .npdc-service-page .npdc-flow > h2 {
    font-size: 30px;
    line-height: 1.2;
  }

  .npdc-service-page .npdc-flow > h3,
  .npdc-service-page .npdc-flow > .npdc-card h3 {
    font-size: 22px;
    line-height: 30px;
  }

  .npdc-service-page .npdc-flow > .npdc-card {
    padding-left: 50px;
  }

  .npdc-service-page .npdc-flow > .npdc-card p,
  .npdc-service-page .npdc-flow p,
  .npdc-service-page .npdc-flow li {
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-service-page .npdc-image {
    width: 100%;
    margin: 28px 0;
  }

  .npdc-service-page .npdc-flow > .npdc-flow:first-child {
    padding-inline: 20px;
  }
}
/* --- site-v10.css --- */
/* Restored source components that were flattened during the first conversion. */

.npdc-service-sidebar__cta {
  min-height: 285px;
  background: linear-gradient(rgba(51, 65, 85, 0.55), rgba(51, 65, 85, 0.72)), url("/wp-content/uploads/2025/11/shutterstock_2207894257-scaled.jpg") center/cover;
}

.npdc-service-sidebar__note {
  margin-top: 22px;
  padding: 28px;
  border-radius: 6px;
  color: #334155;
  background: #effaff;
  font-family: Lato, Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.npdc-service-table-wrap {
  margin: 22px 0;
  overflow-x: auto;
}

.npdc-service-table {
  width: 100%;
  border-collapse: collapse;
  color: #7a7a7a;
  background: #fff;
  font-size: 16.2px;
  line-height: 1.5;
}

.npdc-service-table th,
.npdc-service-table td {
  padding: 12px 16px;
  border: 1px solid #dfe8ec;
  text-align: left;
  vertical-align: top;
}

.npdc-service-table th {
  color: #2f2f2f;
  font-weight: 600;
}

@media (min-width: 821px) {
  .npdc-service-page .npdc-flow > h3 {
    font-size: 48px;
    line-height: 1.2;
  }

  .npdc-service-page .npdc-flow > .npdc-card h3 {
    font-size: 32px;
    line-height: 1.2;
  }

  .npdc-service-page .npdc-section--mist:nth-of-type(3) {
    min-height: 1366px;
  }

  .npdc-service-page .npdc-section--cta {
    min-height: 792px;
  }

  .npdc-service-page .npdc-section--cta .npdc-section__inner {
    min-height: 602px;
  }
}

@media (max-width: 820px) {
  .npdc-service-page .npdc-service-sidebar {
    display: block;
  }

  .npdc-service-page .npdc-flow > .npdc-flow:first-child h2 {
    font-size: 20px;
    line-height: 1.3;
  }

  .npdc-service-page .npdc-flow > h3 {
    font-size: 30px;
    line-height: 1.2;
  }

  .npdc-service-page .npdc-flow > .npdc-card h3 {
    font-size: 22px;
    line-height: 30px;
  }

  .npdc-service-page .npdc-section--mist:nth-of-type(3) {
    min-height: 1208px;
  }

  .npdc-service-page .npdc-section--cta {
    min-height: 571px;
  }

  .npdc-service-page .npdc-section--cta .npdc-section__inner {
    min-height: 431px;
  }

  .npdc-service-table {
    min-width: 620px;
    font-size: 14px;
  }

  .npdc-service-table th,
  .npdc-service-table td {
    padding: 10px 12px;
  }
}
/* --- site-v11.css --- */
/* Final mobile sidebar geometry from the production service-page reference. */

@media (max-width: 820px) {
  .npdc-service-page .npdc-service-sidebar {
    min-height: 1927px;
    margin-top: 215px;
  }

  .npdc-service-page .npdc-service-sidebar__cta {
    min-height: 437px;
  }

  .npdc-service-page .npdc-service-sidebar__note {
    display: flex;
    min-height: 170px;
    align-items: center;
  }

  .npdc-service-page .npdc-service-sidebar__proof {
    display: flex;
    min-height: 250px;
    flex-direction: column;
    justify-content: center;
  }
}
/* --- site-v12.css --- */
/* Mobile hero and contact measurements from the source at 390px. */

@media (max-width: 820px) {
  .npdc-page-hero__inner,
  .npdc-page-hero__inner--text {
    width: calc(100vw - 40px);
    padding: 240px 0 30px;
  }

  .npdc-page-hero h1,
  .single-post .npdc-article__hero h1 {
    font-size: 50px;
    line-height: 58px;
  }

  .npdc-service-page .npdc-page-hero,
  .npdc-service-page .npdc-page-hero__inner {
    min-height: 461px;
  }

  .npdc-service-page .npdc-page-hero__inner {
    padding-top: 240px;
  }

  .npdc-contact-page .npdc-page-hero,
  .npdc-contact-page .npdc-page-hero__inner {
    min-height: 519px;
  }

  .npdc-blog-page .npdc-page-hero,
  .npdc-blog-page .npdc-page-hero__inner,
  .single-post .npdc-article__hero {
    min-height: 577px;
  }

  .single-post .npdc-article__hero {
    padding: 240px 20px 30px;
  }

  .npdc-contact-page .npdc-contact-source {
    min-height: 2203px;
    padding: 45px 20px 80px;
  }

  .npdc-contact-source__intro h2 {
    font-size: 38px;
    line-height: 46px;
  }

  .npdc-contact-source__form .gform_wrapper {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .npdc-contact-source__info dt {
    position: relative;
    color: transparent;
  }

  .npdc-contact-source__info dt::after {
    position: absolute;
    inset: 0;
    color: #0ecae9;
    font-size: 30px;
    line-height: 1;
    content: "●";
  }

  .npdc-contact-source__info dt:nth-of-type(1)::after {
    content: "☎";
  }

  .npdc-contact-source__info dt:nth-of-type(2)::after {
    content: "▦";
  }

  .npdc-contact-source__info dt:nth-of-type(3)::after {
    content: "◷";
  }

  .npdc-contact-source__info dt:nth-of-type(4)::after {
    content: "⌂";
  }

  .npdc-article-cta {
    min-height: 561px;
  }
}
/* --- site-v13.css --- */
/* Accessibility refinements that preserve the production-matched geometry. */

.npdc-source-faqs .npdc-faq details,
.npdc-service-page .npdc-faq details {
  padding-inline: 16px;
}

.npdc-source-faqs .npdc-faq details {
  margin-bottom: 8px;
}

.npdc-service-page .npdc-section--mist:nth-of-type(2) .npdc-faq details {
  margin-bottom: 7px;
}

.npdc-service-page .npdc-section--mist:nth-of-type(3) .npdc-faq details {
  margin-bottom: 7px;
}

.npdc-source-faqs .npdc-faq summary,
.npdc-service-page .npdc-faq summary,
.npdc-service-page .npdc-section--mist:nth-of-type(2) .npdc-faq summary,
.npdc-service-page .npdc-section--mist:nth-of-type(3) .npdc-faq summary {
  padding: 14px 36px 14px 8px;
}

.npdc-source-faqs .npdc-faq summary::after,
.npdc-service-page .npdc-faq summary::after,
.npdc-service-page .npdc-section--mist:nth-of-type(2) .npdc-faq summary::after,
.npdc-service-page .npdc-section--mist:nth-of-type(3) .npdc-faq summary::after {
  top: 10px;
  right: -4px;
}

.npdc-source-faqs .npdc-faq__answer,
.npdc-service-page .npdc-faq__answer,
.npdc-service-page .npdc-section--mist:nth-of-type(2) .npdc-faq__answer,
.npdc-service-page .npdc-section--mist:nth-of-type(3) .npdc-faq__answer {
  padding-right: 12px;
  padding-left: 12px;
}

.npdc-service-table td {
  color: #737373;
}
/* --- site-v14.css --- */
/* Final production-design parity corrections for blog, article, and contact. */

/* The production archive goes straight from the hero into the article cards. */
.npdc-blog-page .npdc-section:not(.npdc-section--cta) > .npdc-section__inner > .npdc-flow > .npdc-flow:first-child {
  display: none;
}

.npdc-blog-page .npdc-section:not(.npdc-section--cta) > .npdc-section__inner > .npdc-flow > .npdc-flow:last-child {
  margin-top: 0;
}

.npdc-blog-page .npdc-section--cta {
  margin-block-start: 0;
  padding: 0;
  background: linear-gradient(rgba(51, 65, 85, 0.72), rgba(51, 65, 85, 0.72)), url("/wp-content/uploads/2025/11/bg_texture.webp") center/cover;
}

.npdc-blog-page .npdc-section--cta .npdc-section__inner {
  height: 456px;
  display: flex;
  min-height: 456px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.npdc-blog-page .npdc-section--cta .npdc-flow {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
}

.npdc-blog-page .npdc-section--cta h2,
.npdc-blog-page .npdc-section--cta p {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

/* Production article content uses the full 860px source column. */
.single-post .wp-block-post-content {
  width: 100%;
  max-width: none !important;
}

.single-post .wp-block-post-content > * {
  width: auto;
  max-width: none !important;
  margin-right: 0;
  margin-left: 0;
}

.npdc-article-advice {
  display: flex;
  min-height: 280px;
  margin-top: 45px;
  padding: 40px;
  flex-direction: column;
  justify-content: center;
  border-radius: 12px;
  background: #effaff;
}

.npdc-article-advice h4 {
  margin: 0 0 14px;
  color: #2f2f2f;
  font-family: Lato, Arial, sans-serif;
  font-size: 20px;
  line-height: 1.3;
}

.npdc-article-advice p {
  margin: 0 0 12px;
  color: #7a7a7a;
  font-size: 18px;
  line-height: 1.55;
}

.npdc-article-advice p:last-child {
  margin-bottom: 0;
}

.npdc-article-advice a {
  color: #0aabd1;
}

/* Gravity Forms retains its behavior while matching the source Elementor form. */
.npdc-contact-page .npdc-contact-source {
  margin-block-start: 0;
}

.npdc-contact-source__form {
  margin-block-start: 0 !important;
}

.npdc-contact-source__form .gform_wrapper {
  margin-top: 58px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.npdc-contact-source__form h2 {
  line-height: 1.3;
}

.npdc-contact-source__form .gform_wrapper form {
  padding-bottom: 10px;
}

.npdc-contact-source__form .gform_fields {
  display: grid !important;
  gap: 10px !important;
  margin: 0;
  padding: 0 !important;
  list-style: none;
}

.npdc-contact-source__form .gfield {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.npdc-contact-source__form .gfield_label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.npdc-contact-source__form .ginput_container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.npdc-contact-source__form .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.npdc-contact-source__form .gform_wrapper textarea {
  display: block;
  width: 100% !important;
  min-height: 59px;
  padding: 7px 20px !important;
  border: 1px solid #d7d7d7;
  border-radius: 5px;
  color: #1f2124;
  background: #fff;
  font-size: 18px !important;
  line-height: 25.2px;
}

.npdc-contact-source__form .gform_wrapper textarea {
  height: 117px !important;
  min-height: 117px !important;
  block-size: 117px !important;
  resize: vertical;
}

.npdc-contact-source__form .gform_footer {
  display: grid;
  width: 100% !important;
  max-width: none !important;
  gap: 8px !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
}

.npdc-contact-source__form .gform_footer::before {
  display: block;
  width: 258px;
  height: 62px;
  border: 1px solid #d7d7d7;
  background: #fff;
  content: "";
}

.npdc-contact-source__form .gform_button {
  box-sizing: border-box;
  display: block !important;
  width: 100% !important;
  height: 53px !important;
  max-width: none !important;
  margin: 0 !important;
  min-height: 53px !important;
  padding: 17px 34px !important;
  border: 0 !important;
  border-radius: 50px !important;
  color: #fff !important;
  background: #0ecae9 !important;
  font-size: 16px !important;
  line-height: 19px !important;
}

@media (min-width: 821px) {
  .npdc-blog-page .npdc-section:not(.npdc-section--cta) {
    padding-top: 100px;
    padding-bottom: 63px;
  }

  .npdc-article__layout {
    grid-template-columns: 860px 385px;
    gap: 75px;
    width: min(1320px, calc(100vw - 120px));
  }

  .single-post .npdc-article__body {
    padding-top: 100px;
    padding-bottom: 120px;
  }

  .single-post .npdc-article__image,
  .single-post .npdc-article__image img {
    height: 460px;
  }

  .single-post .npdc-article__image img {
    object-fit: cover;
  }
}

@media (max-width: 820px) {
  .npdc-service-page .npdc-service-copy {
    position: relative;
    top: -17.59px;
  }

  .npdc-blog-page .npdc-section:not(.npdc-section--cta) {
    padding-top: 9px;
    padding-bottom: 73px;
  }

  .npdc-blog-page .npdc-section--cta .npdc-section__inner {
    min-height: 492px;
  }

  .single-post .npdc-article__body {
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 30px;
    padding-left: 20px;
  }

  .npdc-article__layout {
    row-gap: 74px;
  }

  .npdc-article__meta {
    min-height: 67px;
    margin-bottom: 46px;
  }

  .single-post .wp-block-post-content h2 {
    font-size: 28px;
    line-height: 1.2;
  }

  .single-post .wp-block-post-content h3 {
    font-size: 20px;
    line-height: 1.3;
  }

  .single-post .wp-block-post-content p {
    margin-bottom: 16.1px;
  }

  .single-post .wp-block-post-content figure,
  .single-post .wp-block-post-content ul,
  .single-post .wp-block-post-content ol {
    margin-top: 0;
    margin-bottom: 17.5px;
  }

  .npdc-article-advice {
    min-height: 314px;
    margin-top: 47px;
    padding: 20px;
    border-radius: 12px;
  }

  .npdc-article-advice h4 {
    font-size: 18px;
  }

  .npdc-article-advice p {
    font-size: 14px;
    line-height: 1.6;
  }

  .npdc-contact-source__social {
    display: none;
  }

  .npdc-contact-source__form .gform_wrapper {
    margin-top: 47px;
  }

  .npdc-contact-source__form {
    margin-top: 51px !important;
  }

  .npdc-contact-source__form .gform_footer::before {
    width: 130px;
    height: 62px;
  }

  .npdc-contact-source__form .gform_button {
    min-height: 40px;
    padding: 13px 26px;
    font-size: 12px;
    line-height: 14px;
  }
}

/* Exact source geometry for the single-post metadata and reading flow. */
.npdc-article__meta {
  margin-bottom: 45px;
  font-size: 18px;
  line-height: 1.6;
}

.single-post .npdc-article__image {
  margin-bottom: 55px;
}

.single-post .wp-block-post-content figure,
.single-post .wp-block-post-content ul,
.single-post .wp-block-post-content ol {
  margin-top: 0;
  margin-bottom: 22.5px;
}

.single-post .wp-block-post-content > p:last-child {
  margin-bottom: 0;
}

/* The article sidebar follows the production Elementor composition exactly. */
.npdc-article-sidebar {
  margin: 0;
}

.npdc-article-sidebar h2 {
  margin: 0 0 45px;
  font-size: 28px;
  line-height: 1.3;
}

.npdc-article-sidebar nav {
  gap: 10px;
}

.npdc-article-sidebar nav a {
  padding: 17px 25px;
  border-radius: 50px;
  font-size: 16px;
  line-height: 1.2;
}

.npdc-article-sidebar nav a:first-child {
  color: #fff;
  border: 0;
  background: #0ecae9;
}

.npdc-article-sidebar__cta {
  min-height: 402px;
  margin-top: 34px;
  padding: 40px;
  border-radius: 15px;
  background: url("/wp-content/uploads/2025/11/shutterstock_2476215557-scaled.jpg") center/cover;
}

.npdc-article-sidebar__cta p {
  margin: 0 0 35px;
  font-size: 28px;
  line-height: 1.3;
}

.npdc-article-sidebar__cta a {
  font-size: 16px;
  line-height: 1.2;
}

.npdc-article-sidebar__note,
.npdc-article-sidebar__proof {
  margin-top: 35px;
}

.npdc-article-sidebar__note + .npdc-article-sidebar__note {
  margin-top: 36px;
}

.npdc-article-sidebar__note {
  display: flex;
  min-height: 0;
  padding: 40px;
  align-items: center;
  border-radius: 0;
  font-size: 21px;
  line-height: 1.4;
}

.npdc-article-sidebar__proof {
  display: flex;
  min-height: 380px;
  padding: 40px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  border-radius: 25px;
  background: #45566d;
  font-size: 28px;
  line-height: 1.3;
  text-align: center;
}

.npdc-article-sidebar__note + .npdc-article-sidebar__proof {
  margin-top: 33px;
}

.npdc-article-sidebar__proof::before {
  width: 98px;
  height: 98px;
  margin-bottom: 20px;
  flex: 0 0 auto;
  background: url("/wp-content/uploads/2025/12/icon_temp.png.webp") center/contain no-repeat;
  content: "";
}

.npdc-article-cta {
  margin: 0;
}

@media (max-width: 820px) {
  .npdc-article__meta {
    margin-bottom: 46px;
    font-size: 14px;
    line-height: 1.6;
  }

  .single-post .wp-block-post-content figure,
  .single-post .wp-block-post-content ul,
  .single-post .wp-block-post-content ol {
    margin-top: 0;
    margin-bottom: 17.5px;
  }

  .npdc-article-sidebar h2 {
    margin-bottom: 45px;
    font-size: 20px;
    line-height: 1.3;
  }

  .npdc-article-sidebar nav a {
    padding: 17px 25px;
    font-size: 12px;
    line-height: 1.2;
  }

  .npdc-article-sidebar__cta {
    min-height: 348px;
    margin-top: 36px;
    padding: 40px;
  }

  .npdc-article-sidebar__note + .npdc-article-sidebar__note,
  .npdc-article-sidebar__note + .npdc-article-sidebar__proof {
    margin-top: 35px;
  }

  .npdc-article-sidebar__cta p {
    font-size: 20px;
    line-height: 1.3;
  }

  .npdc-article-sidebar__cta a {
    font-size: 12px;
    line-height: 1.2;
  }

  .npdc-article-sidebar__note {
    min-height: 125px;
    padding: 40px;
    font-size: 16px;
    line-height: 1.4;
  }

  .npdc-article-sidebar__proof {
    min-height: 180px;
    padding: 30px;
    font-size: 20px;
    line-height: 1.3;
  }

  .npdc-article-sidebar__proof::before {
    display: none;
  }

  .npdc-contact-source__form h2 {
    font-size: 20px;
    line-height: 1.3;
  }
}

/* Shared footer: reproduce the source footer's exact card and type geometry. */
.npdc-footer {
  height: 1117px;
  min-height: 1117px;
  box-sizing: border-box;
}

.npdc-footer__title {
  gap: 59px;
}

.npdc-footer__card {
  display: flex;
  height: 737px;
  min-height: 737px;
  padding: 40px;
  flex-direction: column;
  border-radius: 30px;
  background: rgba(69, 86, 109, 0.32);
}

.npdc-footer__logo {
  width: 100%;
  margin: 0 0 31px;
}

.npdc-footer .npdc-footer__logo {
  margin: 0 0 31px;
}

.npdc-footer p {
  margin: 0;
  color: #fff;
  font-size: 18px;
  line-height: 1.6;
}

.npdc-footer h2 {
  margin: 0 0 31px;
  font-size: 28px;
  line-height: 1.3;
}

.npdc-footer__card:not(.npdc-footer__intro) > a {
  display: flex;
  margin: 0 0 10px;
  align-items: center;
  color: #fff;
  font-size: 18px;
  line-height: 1.6;
}

.npdc-footer__card:not(.npdc-footer__intro) > a::before {
  margin-right: 10px;
  color: #0ecae9;
  font-size: 12px;
  content: "✓";
}

.npdc-footer__badges {
  margin: 14px 0 0;
}

.npdc-footer__social {
  width: 56px;
  height: 56px;
  margin-top: auto;
  border-radius: 0;
  background: transparent;
}

.npdc-footer .npdc-footer__social {
  margin: auto 0 0;
}

.npdc-footer__intro p a {
  display: inline;
  margin: 0;
  color: #fff;
  font: inherit;
}

.npdc-footer__social svg {
  width: 56px;
  height: 56px;
  fill: #0ecae9;
}

.npdc-screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (min-width: 821px) {
  .npdc-contact-source__form .gform_wrapper {
    margin-top: 53px;
  }

  .npdc-contact-source__form h2 {
    position: relative;
    top: 1px;
  }

  .single-post .npdc-footer {
    margin-top: 1px;
  }

  .npdc-footer__intro p + p {
    margin-top: -1px;
  }
}

@media (max-width: 820px) {
  .npdc-contact-source__form .gform_wrapper {
    margin-top: 52px;
  }

  .npdc-footer {
    height: 1718px;
    min-height: 1718px;
    padding: 160px 20px 20px;
  }

  .npdc-footer__title {
    top: 30px;
    gap: 12px;
    font-size: 65px;
  }

  .npdc-footer__title span:last-child {
    transform: translateX(-7px);
  }

  .npdc-footer__grid {
    gap: 20px;
  }

  .npdc-footer__card {
    height: auto;
    min-height: 0;
    padding: 30px;
  }

  .npdc-footer__intro {
    height: 606px;
  }

  .npdc-footer__grid > .npdc-footer__card:nth-child(2) {
    height: 430px;
  }

  .npdc-footer__grid > .npdc-footer__card:nth-child(3) {
    height: 462px;
  }

  .npdc-footer__logo {
    margin-bottom: 30px;
  }

  .npdc-footer .npdc-footer__logo {
    margin: 0 0 30px;
  }

  .npdc-footer p {
    font-size: 14px;
    line-height: 1.6;
  }

  .npdc-footer h2 {
    margin-bottom: 30px;
    font-size: 20px;
    line-height: 1.3;
  }

  .npdc-footer__card:not(.npdc-footer__intro) > a {
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.6;
  }

  .npdc-article-sidebar__note + .npdc-article-sidebar__proof {
    margin-top: 35px;
  }

  .npdc-blog-page .npdc-section--cta .npdc-section__inner {
    height: 492px;
    min-height: 492px;
  }
}

/* Pixel-parity pass: use the same current Google font build as the source
   only where the source's exact glyph metrics affect wrapping. */
@font-face {
  font-family: "NPDC Source Cormorant";
  src: url("https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtKky2F7g.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "NPDC Source Roboto";
  src: url("https://fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBHMdazQ.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

/* Blog cards: preserve the source shortcode's inline-image baseline and exact
   card dimensions at both reference viewports. */
.npdc-blog-page .rom-blog-card {
  height: 742px;
  min-height: 742px;
  box-sizing: border-box;
  font-family: "NPDC Source Roboto", sans-serif;
}

.npdc-blog-page .rom-blog-card__image img {
  display: inline;
  border-radius: 12px;
}

.npdc-blog-page .rom-blog-card__title,
.npdc-blog-page .npdc-section--cta h2 {
  font-family: "NPDC Source Cormorant", sans-serif;
}

.npdc-blog-page .rom-blog-card__title a {
  font-family: "NPDC Source Roboto", sans-serif;
  font-weight: 500;
}

.npdc-blog-page .rom-blog-card__excerpt {
  margin-bottom: 0;
}

.npdc-blog-page .npdc-section--cta {
  border-top: 0;
}

.npdc-blog-page .npdc-section--cta h2 {
  width: 890.1px;
  max-width: 890.1px;
}

.npdc-blog-page .npdc-section--cta p {
  width: 70%;
  max-width: 70%;
  font-family: "NPDC Source Roboto", sans-serif;
}

.npdc-blog-page .npdc-section--cta a {
  font-family: "NPDC Source Roboto", sans-serif;
}

.npdc-blog-page .npdc-section--cta .npdc-flow > * + * {
  margin-top: 25px;
}

.npdc-blog-page .npdc-section--cta p {
  margin-bottom: 19px;
}

.npdc-blog-page .npdc-section--cta .wp-block-button__link {
  display: inline-block;
  width: 245px;
  min-width: 245px;
  height: 53px;
  min-height: 53px;
  box-sizing: border-box;
  padding: 17px 34px;
  border-radius: 50px;
  color: #fff;
  font-size: 16px;
  line-height: 19.2px;
}

/* Single-post metadata: duplicate the source Elementor icon list without
   retaining Elementor at runtime. */
.npdc-article__meta {
  display: flex !important;
  gap: 16px !important;
  align-items: flex-start !important;
  color: #7a7a7a;
  font-family: Roboto, Arial, sans-serif;
}

.npdc-article__meta > * {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  height: 29px;
  box-sizing: border-box;
  padding-left: 19px;
  align-items: center;
}

.npdc-article__meta > span {
  width: 230px;
}

.npdc-article__meta > .wp-block-post-date {
  width: 222px;
}

.npdc-article__meta > .wp-block-post-terms {
  width: 205.1px;
  white-space: nowrap;
}

.npdc-article__meta > *::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 14px;
  background: #0ecae9;
  content: "";
  transform: translateY(-50%);
  -webkit-mask: center / contain no-repeat;
  mask: center / contain no-repeat;
}

.npdc-article__meta > span::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M248 104c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-240C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-49.7 0-95.1-18.3-130.1-48.4 14.9-23 40.4-38.6 69.6-39.5 20.8 6.4 40.6 9.6 60.5 9.6s39.7-3.1 60.5-9.6c29.2 1 54.7 16.5 69.6 39.5-35 30.1-80.4 48.4-130.1 48.4zm162.7-84.1c-24.4-31.4-62.1-51.9-105.1-51.9-10.2 0-26 9.6-57.6 9.6-31.5 0-47.4-9.6-57.6-9.6-42.9 0-80.6 20.5-105.1 51.9C61.9 339.2 48 299.2 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 43.2-13.9 83.2-37.3 115.9z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M248 104c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-240C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-49.7 0-95.1-18.3-130.1-48.4 14.9-23 40.4-38.6 69.6-39.5 20.8 6.4 40.6 9.6 60.5 9.6s39.7-3.1 60.5-9.6c29.2 1 54.7 16.5 69.6 39.5-35 30.1-80.4 48.4-130.1 48.4zm162.7-84.1c-24.4-31.4-62.1-51.9-105.1-51.9-10.2 0-26 9.6-57.6 9.6-31.5 0-47.4-9.6-57.6-9.6-42.9 0-80.6 20.5-105.1 51.9C61.9 339.2 48 299.2 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 43.2-13.9 83.2-37.3 115.9z'/%3E%3C/svg%3E");
}

.npdc-article__meta > .wp-block-post-date::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z'/%3E%3C/svg%3E");
}

.npdc-article__meta > .wp-block-post-terms::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z'/%3E%3C/svg%3E");
}

.npdc-article__meta .wp-block-post-date time::before {
  margin-right: 5px;
  content: "Published ";
}

.npdc-article__meta .wp-block-post-date time {
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.npdc-article__meta .wp-block-post-terms__prefix {
  margin-right: 5px;
}

/* Use the source file itself because the cloned staging upload path contains
   a different binary despite sharing the same WordPress filename. */
.npdc-article-sidebar__cta {
  background-image: url("https://drdavidpfent.com/wp-content/uploads/2025/11/shutterstock_2476215557-scaled.jpg");
}

/* Contact columns and source social mark. Visual offsets retain the exact form
   and section flow already matched to the production page. */
.npdc-contact-source {
  position: relative;
}

.npdc-contact-source__social a {
  font-size: 0;
}

.npdc-contact-source__social a::before {
  width: 20px;
  height: 26px;
  background: #fff;
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M42.9 240.32l99.62 48.61c19.2 9.4 16.2 37.51-4.5 42.71L30.5 358.45a22.79 22.79 0 0 1-28.21-19.6 197.16 197.16 0 0 1 9-85.32 22.8 22.8 0 0 1 31.61-13.21zm44 239.25a199.45 199.45 0 0 0 79.42 32.11A22.78 22.78 0 0 0 192.94 490l3.9-110.82c.7-21.3-25.5-31.91-39.81-16.1l-74.21 82.4a22.82 22.82 0 0 0 4.09 34.09zm145.34-109.92l58.81 94a22.93 22.93 0 0 0 34 5.5 198.36 198.36 0 0 0 52.71-67.61A23 23 0 0 0 364.17 370l-105.42-34.26c-20.31-6.5-37.81 15.8-26.51 33.91zm148.33-132.23a197.44 197.44 0 0 0-50.41-69.31 22.85 22.85 0 0 0-34 4.4l-62 91.92c-11.9 17.7 4.7 40.61 25.2 34.71L366 268.63a23 23 0 0 0 14.61-31.21zM62.11 30.18a22.86 22.86 0 0 0-9.9 32l104.12 180.44c11.7 20.2 42.61 11.9 42.61-11.4V22.88a22.67 22.67 0 0 0-24.5-22.8 320.37 320.37 0 0 0-112.33 30.1z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M42.9 240.32l99.62 48.61c19.2 9.4 16.2 37.51-4.5 42.71L30.5 358.45a22.79 22.79 0 0 1-28.21-19.6 197.16 197.16 0 0 1 9-85.32 22.8 22.8 0 0 1 31.61-13.21zm44 239.25a199.45 199.45 0 0 0 79.42 32.11A22.78 22.78 0 0 0 192.94 490l3.9-110.82c.7-21.3-25.5-31.91-39.81-16.1l-74.21 82.4a22.82 22.82 0 0 0 4.09 34.09zm145.34-109.92l58.81 94a22.93 22.93 0 0 0 34 5.5 198.36 198.36 0 0 0 52.71-67.61A23 23 0 0 0 364.17 370l-105.42-34.26c-20.31-6.5-37.81 15.8-26.51 33.91zm148.33-132.23a197.44 197.44 0 0 0-50.41-69.31 22.85 22.85 0 0 0-34 4.4l-62 91.92c-11.9 17.7 4.7 40.61 25.2 34.71L366 268.63a23 23 0 0 0 14.61-31.21zM62.11 30.18a22.86 22.86 0 0 0-9.9 32l104.12 180.44c11.7 20.2 42.61 11.9 42.61-11.4V22.88a22.67 22.67 0 0 0-24.5-22.8 320.37 320.37 0 0 0-112.33 30.1z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.npdc-contact-source__info dl {
  grid-template-columns: 40px 1fr;
  gap: 40px 14px;
  margin-top: 41px;
}

.npdc-contact-source__info dt {
  position: relative;
  width: 40px;
  color: transparent;
  font-size: 0;
}

.npdc-contact-source__info dt::after {
  position: absolute;
  inset: 8px auto auto 0;
  width: 35px;
  height: 35px;
  background: #0ecae9;
  content: "" !important;
  -webkit-mask: center / contain no-repeat;
  mask: center / contain no-repeat;
}

.npdc-contact-source__info dt:nth-of-type(1)::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z'/%3E%3C/svg%3E");
}

.npdc-contact-source__info dt:nth-of-type(2)::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M480 160V77.25a32 32 0 0 0-9.38-22.63L425.37 9.37A32 32 0 0 0 402.75 0H160a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM288 432a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm128 128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-112H192V64h160v48a16 16 0 0 0 16 16h48zM64 128H32a32 32 0 0 0-32 32v320a32 32 0 0 0 32 32h32a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M480 160V77.25a32 32 0 0 0-9.38-22.63L425.37 9.37A32 32 0 0 0 402.75 0H160a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM288 432a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm128 128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-112H192V64h160v48a16 16 0 0 0 16 16h48zM64 128H32a32 32 0 0 0-32 32v320a32 32 0 0 0 32 32h32a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32z'/%3E%3C/svg%3E");
}

.npdc-contact-source__info dt:nth-of-type(3)::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm92.49 313-20 25a16 16 0 0 1-22.49 2.5l-67-49.72a40 40 0 0 1-15-31.23V112a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16v144l58 42.5a16 16 0 0 1 2.49 22.5z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm92.49 313-20 25a16 16 0 0 1-22.49 2.5l-67-49.72a40 40 0 0 1-15-31.23V112a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16v144l58 42.5a16 16 0 0 1 2.49 22.5z'/%3E%3C/svg%3E");
}

.npdc-contact-source__info dt:nth-of-type(4)::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z'/%3E%3C/svg%3E");
}

.npdc-contact-source__info strong {
  margin-bottom: 10px;
  font-size: 21px;
  line-height: 1.4;
}

.npdc-contact-source__info dd,
.npdc-contact-source__info dd a {
  font-size: 16px;
  line-height: 24px;
}

@media (min-width: 821px) {
  .npdc-blog-page .npdc-section:not(.npdc-section--cta) {
    padding-bottom: 60px;
  }

  .npdc-blog-page .npdc-section--cta h2,
  .npdc-blog-page .npdc-section--cta p {
    transform: translateY(-1px);
  }

  .npdc-contact-source__intro {
    transform: translateY(80px);
  }

  .npdc-contact-source__info {
    padding-top: 82px;
    transform: translateX(-1px);
  }

  .npdc-contact-source__info h2 {
    line-height: 1.3;
  }

  .npdc-contact-source__info dt:nth-of-type(2),
  .npdc-contact-source__info dd:nth-of-type(2),
  .npdc-contact-source__info dt:nth-of-type(4),
  .npdc-contact-source__info dd:nth-of-type(4) {
    transform: translateY(-1px);
  }

  .npdc-article-sidebar {
    min-height: 1893px;
  }

  .npdc-article-advice {
    transform: translateY(-1px);
  }

  .single-post .npdc-article-cta {
    margin-top: -1px;
  }

  .npdc-footer .npdc-footer__logo {
    margin-bottom: 29px;
  }

  .npdc-footer h2 {
    margin-bottom: 29px;
  }

  .npdc-footer__intro p + p {
    margin-top: 0;
  }
}

@media (max-width: 820px) {
  .npdc-blog-page .npdc-section:not(.npdc-section--cta) {
    padding-bottom: 0;
  }

  .npdc-blog-page .rom-blog-grid {
    width: 330px;
    height: 7088px;
    margin-inline: auto;
  }

  .npdc-blog-page .rom-blog-card {
    width: 330px;
    height: 100%;
    min-height: 0;
    justify-self: center;
  }

  .npdc-blog-page .npdc-section--cta h2 {
    width: 350px;
    max-width: 350px;
  }

  .npdc-blog-page .npdc-section--cta p {
    margin-top: 26px;
  }

  .npdc-blog-page .npdc-section--cta h2 {
    transform: translateY(-1px);
  }

  .npdc-blog-page .npdc-section--cta .wp-block-buttons {
    transform: translateY(1px);
  }

  .npdc-blog-page .npdc-section--cta .wp-block-button__link {
    width: 185px;
    min-width: 185px;
    height: 40px;
    min-height: 40px;
    padding: 13px 26px;
    font-size: 12px;
    line-height: 14.4px;
  }

  .npdc-blog-page .rom-blog-card__title {
    margin-bottom: 29px;
  }

  .npdc-blog-page .npdc-footer {
    margin-top: 1px;
  }

  .npdc-article__meta {
    flex-direction: column;
    gap: 0 !important;
  }

  .npdc-article__meta > * {
    height: 22px;
  }

  .npdc-article__meta > span {
    width: 183px;
  }

  .npdc-article__meta > .wp-block-post-date {
    width: 177px;
  }

  .npdc-article__meta > .wp-block-post-terms {
    width: 164px;
  }

  .npdc-article__meta > .wp-block-post-date,
  .npdc-article__meta > .wp-block-post-terms {
    transform: translateY(1px);
  }

  .npdc-article__meta .wp-block-post-date time::before,
  .npdc-article__meta .wp-block-post-terms__prefix {
    margin-right: 3px;
  }

  .npdc-contact-source__intro {
    transform: translateY(-26px);
  }

  .npdc-contact-source__social {
    position: absolute;
    z-index: 2;
    top: 316px;
    left: 0;
    display: block;
    margin: 0;
  }

  .npdc-contact-source__social h3 {
    display: none;
  }

  .npdc-contact-source__social a {
    width: 28px;
    height: 28px;
    border-radius: 0;
    color: #0ecae9;
    background: transparent;
  }

  .npdc-contact-source__social a::before {
    width: 20px;
    height: 28px;
    background: #0ecae9;
  }

  .npdc-contact-source__info {
    transform: translateY(-44px);
  }

  .npdc-contact-source__info h2 {
    font-size: 20px;
    line-height: 1.3;
  }

  .npdc-contact-source__info strong {
    font-size: 16px;
    line-height: 1.4;
  }

  .npdc-contact-source__info dl {
    width: 339px;
    gap: 40px 15px;
    margin-top: 40px;
  }

  .npdc-contact-source__info dt:nth-of-type(2),
  .npdc-contact-source__info dd:nth-of-type(2),
  .npdc-contact-source__info dt:nth-of-type(3),
  .npdc-contact-source__info dd:nth-of-type(3) {
    transform: translateY(-1px);
  }

  .npdc-contact-source__info dd,
  .npdc-contact-source__info dd a {
    font-size: 12px;
    line-height: 18px;
  }
}

/* Source header geometry and controls. */
@media (min-width: 821px) {
  .npdc-header__bar {
    position: relative;
    display: block;
    width: calc(100vw - 40px);
    min-height: 197px;
    margin-inline: auto;
  }

  .npdc-brand {
    width: 350px;
    height: 117px;
  }

  .npdc-brand img {
    width: 305px;
    height: 117px;
    object-fit: contain;
    object-position: left center;
  }

  .npdc-brand {
    position: absolute;
    top: 40px;
    left: 0;
  }

  .npdc-nav {
    position: absolute;
    top: 86px;
    left: 449px;
    display: flex;
    gap: 0;
  }

  .npdc-nav > a,
  .npdc-nav__parent > a {
    padding: 0 15px;
    font-family: Lato, Arial, sans-serif;
    font-size: 16px;
    line-height: 24px;
  }

  .npdc-nav__parent > button {
    width: 19px;
    min-width: 19px;
    height: 24px;
    padding: 0;
    font-size: 16px;
    line-height: 24px;
  }

  .npdc-header__actions {
    position: absolute;
    top: 83px;
    left: 1197px;
  }

  .npdc-phone {
    gap: 14px;
    font-family: Lato, Arial, sans-serif;
    font-size: 16px;
    line-height: 24px;
  }

  .npdc-phone strong {
    font-size: 16px;
    line-height: 24px;
  }

  .npdc-phone__icon {
    width: 30px;
    height: 30px;
  }
}

body.npdc-contact-page .npdc-nav > a[href="/contact-us/"],
body.page-id-2169 .npdc-nav > a[href="/blog/"],
body.single-post .npdc-nav > a[href="/blog/"] {
  color: #0ecae9;
}

.npdc-phone__icon {
  display: block;
  flex: 0 0 auto;
  border-radius: 0;
  background: #0ecae9;
  font-size: 0;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zm-16.39 307.37-15 65A15 15 0 0 1 354 416C194 416 64 286.29 64 126a15.7 15.7 0 0 1 11.63-14.61l65-15A18.23 18.23 0 0 1 144 96a16.27 16.27 0 0 1 13.79 9.09l30 70A17.9 17.9 0 0 1 189 181a17 17 0 0 1-5.5 11.61l-37.89 31a231.91 231.91 0 0 0 110.78 110.78l31-37.89A17 17 0 0 1 299 291a17.85 17.85 0 0 1 5.91 1.21l70 30A16.25 16.25 0 0 1 384 336a17.41 17.41 0 0 1-.39 3.37z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zm-16.39 307.37-15 65A15 15 0 0 1 354 416C194 416 64 286.29 64 126a15.7 15.7 0 0 1 11.63-14.61l65-15A18.23 18.23 0 0 1 144 96a16.27 16.27 0 0 1 13.79 9.09l30 70A17.9 17.9 0 0 1 189 181a17 17 0 0 1-5.5 11.61l-37.89 31a231.91 231.91 0 0 0 110.78 110.78l31-37.89A17 17 0 0 1 299 291a17.85 17.85 0 0 1 5.91 1.21l70 30A16.25 16.25 0 0 1 384 336a17.41 17.41 0 0 1-.39 3.37z'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 820px) {
  .npdc-header__bar {
    position: relative;
    display: block;
    width: 350px;
    min-height: 107px;
    margin-inline: auto;
  }

  .npdc-brand,
  .npdc-brand img {
    width: 175px;
  }

  .npdc-brand {
    position: absolute;
    top: 20px;
    left: 0;
  }

  .npdc-menu-toggle {
    position: absolute;
    top: 37px;
    left: 243px;
    display: flex;
    width: 45px;
    min-width: 45px;
    height: 32px;
    min-height: 32px;
    padding: 5px;
    align-items: center;
    justify-content: center;
    color: #000;
    background: #0ecae9;
    font-size: 18px;
    line-height: 22px;
  }

  .npdc-header__actions {
    position: absolute;
    top: 36px;
    left: 306px;
    display: block;
  }

  .npdc-phone {
    display: block;
    width: 35px;
    height: 35px;
    border-radius: 0;
    background: transparent;
  }

  .npdc-phone__icon {
    width: 35px;
    height: 35px;
  }

  .npdc-nav {
    top: 107px;
    max-height: calc(100vh - 107px);
  }
}

/* Paint source Font Awesome list marks rather than platform text glyphs. */
.npdc-footer__grid > .npdc-footer__card:nth-child(2) > a::before,
.npdc-footer__grid > .npdc-footer__card:nth-child(3) > a::before {
  display: block;
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  background: #0ecae9;
  content: "";
  -webkit-mask: center / contain no-repeat;
  mask: center / contain no-repeat;
}

.npdc-footer__grid > .npdc-footer__card:nth-child(2) > a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");
}

.npdc-footer__grid > .npdc-footer__card:nth-child(3) > a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z'/%3E%3C/svg%3E");
}

/* Use source-hosted binaries where the staging media clone contains a
   different image under the same upload path. */
.npdc-service-sidebar__cta {
  background-image: url("https://drdavidpfent.com/wp-content/uploads/2025/11/shutterstock_2476215557-scaled.jpg");
}

.npdc-article-sidebar__proof::before {
  background-image: url("https://drdavidpfent.com/wp-content/uploads/2025/12/icon_temp.png.webp");
}

/* Source-exact service template: menu, appointment panel, trust notes, and
   proof card mirror Elementor template 726 without retaining its runtime. */
@media (min-width: 821px) {
  .npdc-service-page .npdc-service-shell {
    position: relative;
    top: -19.2px;
    grid-template-columns: minmax(0, 856px) minmax(0, 389px);
    gap: 75px;
  }
}

.npdc-service-page .npdc-service-sidebar {
  display: flex;
  min-height: 0;
  flex-direction: column;
  gap: 35px;
}

.npdc-service-sidebar__menu {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.npdc-service-sidebar__menu > h4 {
  margin: 0;
  color: #2f2f2f;
  font-family: Lato, Arial, sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 36.4px;
}

.npdc-service-sidebar__menu > hr {
  width: 100%;
  height: 5px;
  margin: 0;
  padding: 2px 0;
  border: 0;
  background: linear-gradient(#0ecae9, #0ecae9) center / 100% 1px no-repeat;
}

.npdc-service-sidebar__links {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.npdc-service-sidebar__links a {
  display: flex;
  width: 100%;
  min-height: 0;
  padding: 17px 25px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #0ecae9;
  border-radius: 50px;
  color: #2f2f2f;
  background: rgba(242, 41, 91, 0);
  font-family: Roboto, Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 19.2px;
}

.npdc-service-sidebar__links a:first-child {
  border: 0;
  color: #fff;
  background: #0ecae9;
}

.npdc-service-sidebar__links a::after,
.npdc-service-sidebar__cta > a::after {
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border-radius: 0;
  color: transparent;
  background: currentColor;
  content: "";
  transform: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-24.6 9.4-33.9 0l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.npdc-service-sidebar__links a::after {
  position: static;
  background-color: #0ecae9;
}

.npdc-service-sidebar__links a:first-child::after {
  background-color: #fff;
}

.npdc-service-sidebar__cta,
.npdc-service-sidebar__note,
.npdc-service-sidebar__proof {
  margin: 0;
  box-sizing: border-box;
}

.npdc-service-sidebar__cta {
  position: relative;
  z-index: 0;
  display: flex;
  height: 401.61px;
  padding: 40px;
  flex-direction: column;
  gap: 30px;
  overflow: hidden;
  border-radius: 15px;
  color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.npdc-service-sidebar__cta::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  display: block;
  background-image: linear-gradient(180deg, rgba(242, 41, 91, 0) 0%, #334155 100%);
  content: "";
}

.npdc-service-sidebar__spacer {
  display: block;
  height: 160px;
  min-height: 160px;
}

.npdc-service-sidebar__cta > h4 {
  margin: 0 0 5px;
  color: #fff;
  font-family: Lato, Arial, sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 36.4px;
}

.npdc-service-sidebar__cta > a {
  display: flex;
  width: max-content;
  padding: 0;
  align-items: center;
  gap: 10px;
  color: #fff;
  background: transparent;
  font-family: Roboto, Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 19.2px;
  text-decoration: none;
}

.npdc-service-sidebar__cta > a::after {
  background-color: #fff;
}

.npdc-service-sidebar__note {
  padding: 40px;
  border-radius: 0;
  color: #2f2f2f;
  background: #effaff;
}

.npdc-service-sidebar__note > h5 {
  margin: 0;
  color: inherit;
  font-family: Lato, Arial, sans-serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 29.4px;
}

.npdc-service-sidebar__proof {
  display: flex;
  padding: 40px;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  border-radius: 25px;
  color: #fff;
  background: #45566d;
  text-align: center;
}

.npdc-service-sidebar__proof > img {
  display: block;
  width: 32%;
  height: auto;
  margin: 0;
}

.npdc-service-sidebar__proof > h4 {
  margin: 0;
  color: inherit;
  font-family: Lato, Arial, sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 36.4px;
}

@media (max-width: 820px) {
  .npdc-service-page .npdc-service-sidebar {
    min-height: 0;
  }

  .npdc-service-sidebar__menu > h4 {
    font-size: 20px;
    line-height: 26px;
  }

  .npdc-service-sidebar__links a {
    font-size: 12px;
    line-height: 14.4px;
  }

  .npdc-service-sidebar__links a::after,
  .npdc-service-sidebar__cta > a::after {
    width: 12px;
    height: 12px;
    flex-basis: 12px;
  }

  .npdc-service-page .npdc-service-sidebar__cta {
    height: 348.41px;
    min-height: 0;
    padding: 40px;
  }

  .npdc-service-sidebar__cta > h4 {
    font-size: 20px;
    line-height: 26px;
  }

  .npdc-service-sidebar__cta > a {
    font-size: 12px;
    line-height: 14.4px;
  }

  .npdc-service-page .npdc-service-sidebar__note {
    display: block;
    min-height: 0;
    padding: 40px;
  }

  .npdc-service-sidebar__note > h5 {
    font-size: 16px;
    line-height: 22.4px;
  }

  .npdc-service-page .npdc-service-sidebar__proof {
    display: flex;
    min-height: 0;
    padding: 30px;
  }

  .npdc-service-sidebar__proof > img {
    width: 0;
    height: 22.4px;
    opacity: 0;
  }

  .npdc-service-sidebar__proof > h4 {
    font-size: 20px;
    line-height: 26px;
  }
}

/* Flatten only the converter's structural wrappers so the native block
   sequence follows the source column's 20px flex rhythm. */
.npdc-service-page .npdc-service-copy {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: 20px;
}

.npdc-service-page .npdc-service-intro,
.npdc-service-page .npdc-service-copy > .npdc-section__inner,
.npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout,
.npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout > .npdc-flow {
  display: contents;
}

.npdc-service-page .npdc-service-copy h2,
.npdc-service-page .npdc-service-copy h3,
.npdc-service-page .npdc-service-copy h4,
.npdc-service-page .npdc-service-copy p,
.npdc-service-page .npdc-service-copy figure,
.npdc-service-page .npdc-service-copy ol,
.npdc-service-page .npdc-service-copy ul {
  margin-block: 0;
}

.npdc-service-page .npdc-service-intro > h2 {
  line-height: 57.6px;
}

.npdc-service-page .npdc-service-intro > p {
  margin-bottom: 20px;
}

.npdc-service-page .npdc-service-intro > .npdc-actions a {
  display: inline-block;
  width: max-content;
  padding: 17px 34px;
  border-radius: 50px;
  font-size: 16px;
  line-height: 19.2px;
}

.npdc-service-page .npdc-service-copy > .npdc-flow,
.npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout > .npdc-flow > .npdc-flow {
  display: flex;
  margin: 0;
  flex-direction: column;
  gap: 20px;
}

.npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout > .npdc-flow > .npdc-flow:first-child {
  margin: 25px 0 0;
  padding: 40px;
  border-radius: 12px;
  background: #effaff;
}

.npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout > .npdc-flow > .npdc-flow:first-child > p + p {
  margin-top: -20px;
}

.npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout > .npdc-flow > .npdc-flow:first-child > h2,
.npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout > .npdc-flow > .npdc-flow:first-child > h3,
.npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout > .npdc-flow > .npdc-flow:first-child > h4,
.npdc-service-page .npdc-service-process > h3 {
  color: #2f2f2f;
  font-family: Lato, Arial, sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 36.4px;
}

.npdc-service-page .npdc-service-lead-image {
  width: 800px;
  margin: 0 auto;
}

.npdc-service-page .npdc-service-lead-image img {
  width: 800px;
  border-radius: 12px;
}

.npdc-service-page .npdc-image img {
  border-radius: 12px;
}

.npdc-service-page .npdc-flow > .npdc-card {
  padding: 8px 0 0 65px;
}

.npdc-service-page .npdc-flow > .npdc-card::before {
  top: 50%;
  left: 0;
  width: 50px;
  height: 50px;
  border: 0;
  background: #0ecae9;
  transform: translateY(-50%);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M285.476 272.971 91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0l194.344 194.343c9.373 9.373 9.373 24.569 0 33.941z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M285.476 272.971 91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0l194.344 194.343c9.373 9.373 9.373 24.569 0 33.941z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.npdc-service-page .npdc-flow > .npdc-card h3 {
  font-weight: 700;
}

.npdc-service-page .npdc-service-process {
  margin: 25px 0;
  padding: 40px;
  border-radius: 0;
  background: #f1f1f1;
}

.npdc-service-page .npdc-service-copy .npdc-service-process {
  margin: 25px 0;
  gap: 0;
}

.npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout > .npdc-flow > .npdc-flow.npdc-service-process {
  margin: 25px 0;
  gap: 0;
}

.npdc-service-page .npdc-service-process > .npdc-actions {
  margin-top: 20px;
}

.npdc-service-page .npdc-service-process > .npdc-actions a {
  display: inline-block;
  width: max-content;
  padding: 17px 34px;
  border-radius: 50px;
  font-size: 16px;
  line-height: 19.2px;
}

.npdc-service-page .npdc-service-comparison-heading {
  margin-top: 25.8px;
}

.npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout > .npdc-flow > .npdc-flow > .npdc-service-comparison-heading {
  margin-top: 25px;
}

.npdc-service-page .npdc-service-closing-heading {
  margin-top: 28px;
}

.npdc-service-page .npdc-service-table-wrap {
  margin: 0;
  overflow: visible;
}

.npdc-service-page .npdc-service-table {
  width: 100%;
  min-width: 0;
  margin: 0 0 15px;
  border-collapse: collapse;
  color: #7a7a7a;
  background: transparent;
  font-size: 16.2px;
  line-height: 24.3px;
}

.npdc-service-page .npdc-service-table th,
.npdc-service-page .npdc-service-table td {
  padding: 15px;
  border: 1px solid #d5d5d5;
  color: #7a7a7a;
  background: transparent;
  font-weight: 400;
  line-height: 24.3px;
  text-align: left;
  vertical-align: top;
}

.npdc-service-page .npdc-service-table tr:nth-child(odd) > * {
  background: rgba(128, 128, 128, 0.07);
}

.npdc-service-page .npdc-service-copy hr:last-of-type {
  width: 100%;
  height: 31px;
  margin: 0;
  border: 0;
  background: linear-gradient(#d7d7d7, #d7d7d7) center / 100% 1px no-repeat;
}

@media (min-width: 821px) {
  .npdc-service-page .npdc-section--mist:first-of-type {
    padding-bottom: 101.4px;
  }
}

/* Source FAQ composition. */
.npdc-service-page .npdc-service-faq-section {
  height: 1365.95px;
  min-height: 1365.95px;
  margin-top: 0;
  padding: 120px 20px;
}

.npdc-service-page .npdc-section--mist.npdc-service-faq-section {
  min-height: 1365.95px;
}

.npdc-service-page .npdc-service-faq-section > .npdc-section__inner,
.npdc-service-page .npdc-service-faq-section .npdc-flow {
  display: flex;
  width: 1280px;
  max-width: 1280px;
  margin-inline: auto;
  flex-direction: column;
  align-items: center;
}

.npdc-service-page .npdc-service-faq-section > .npdc-section__inner {
  width: 1280px !important;
  max-width: 1280px !important;
}

.npdc-service-page .npdc-service-faq-section .npdc-flow {
  position: relative;
  top: 0;
  gap: 0;
}

.npdc-service-page .npdc-service-faq-section .npdc-flow > * {
  margin-top: 0;
}

.npdc-service-page .npdc-service-faq-section .npdc-flow > h2:first-child {
  height: 27px;
  width: 1280px;
  margin: 0 0 20px;
  color: #fff;
  font-family: Roboto, Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 28.8px;
  overflow: hidden;
}

.npdc-service-page .npdc-service-faq-section .npdc-flow > h3 {
  width: 870.4px;
  margin: 0 0 45px;
  color: #fff;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 68px;
  font-weight: 600;
  line-height: 74.8px;
  text-align: center;
}

.npdc-service-page .npdc-service-faq-section .npdc-faq {
  position: relative;
  left: -40px;
  width: 1280px;
  max-width: none;
  margin-top: 0;
}

.npdc-service-page .npdc-service-faq-section.npdc-section--mist .npdc-faq details {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #fff;
}

.npdc-service-page .npdc-service-faq-section.npdc-section--mist .npdc-faq details:last-child {
  margin-bottom: 0;
}

.npdc-service-page .npdc-service-faq-section.npdc-section--mist .npdc-faq summary {
  min-height: 58.8px;
  padding: 14px 30px;
  color: #2f2f2f;
  font-family: Roboto, Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 28.8px;
}

.npdc-service-page .npdc-service-faq-section.npdc-section--mist .npdc-faq summary::after {
  top: 50%;
  right: 30px;
  width: 18px;
  height: 20px;
  transform: translateY(-50%);
  border-radius: 0;
  background: #2f2f2f;
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M207.029 381.476 12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.373-24.569 9.373-33.942 0z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M207.029 381.476 12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.373-24.569 9.373-33.942 0z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.npdc-service-page .npdc-service-faq-section.npdc-section--mist .npdc-faq details[open] summary::after {
  transform: translateY(-50%) rotate(180deg);
}

/* Source appointment card, including its photographic layer and exact
   Bg-.png stripe overlay. */
.npdc-service-page .npdc-section--cta {
  height: 792.38px;
  min-height: 792px;
  margin-top: 0;
  padding: 100px 20px;
}

.npdc-service-page .npdc-section--cta > .npdc-section__inner {
  position: relative;
  top: -1px;
  display: flex;
  width: 1280px;
  height: 592.38px;
  min-height: 592.38px;
  padding: 0;
  overflow: hidden;
  border-radius: 25px;
  background: #334155 url("https://drdavidpfent.com/wp-content/uploads/2025/11/shutterstock_2398330839-scaled.jpg") center / cover no-repeat fixed;
}

.npdc-service-page .npdc-section--cta > .npdc-section__inner::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-color: #334155;
  background-image: url("https://drdavidpfent.com/wp-content/uploads/2025/11/Bg-.png");
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: 75% auto;
  content: "";
  opacity: 0.78;
}

.npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow,
.npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout {
  display: contents;
}

.npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout > .npdc-flow {
  position: relative;
  z-index: 1;
  display: flex;
  width: 825.17px;
  height: 592.38px;
  padding: 80px;
  flex-direction: column;
  gap: 40px;
  border-radius: 25px;
}

.npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout > .npdc-flow > h2 {
  width: 665.17px;
  margin: 0;
  font-size: 48px;
  line-height: 57.6px;
}

.npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout > .npdc-flow > p {
  width: 665.17px;
  margin: 0;
}

.npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout > .npdc-flow > p + p {
  margin-top: -20px;
}

.npdc-service-final-actions {
  display: flex;
  align-items: center;
}

.npdc-service-final-actions__button {
  padding: 17px 34px;
  border-radius: 50px;
  color: #0ecae9;
  background: #fff;
  font-family: Roboto, Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 19.2px;
  text-decoration: none;
}

.npdc-service-final-actions__icon {
  position: relative;
  display: grid;
  width: 52px;
  height: 52px;
  margin-left: 5px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
}

.npdc-service-final-actions__icon::before {
  width: 30px;
  height: 30px;
  background: #0ecae9;
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 820px) {
  .npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout > .npdc-flow > .npdc-flow > .npdc-service-comparison-heading {
    font-size: 28px;
    line-height: 33.6px;
  }

  .npdc-service-page .npdc-service-table {
    min-width: 0;
    font-size: 10.8px;
    line-height: 16.2px;
  }

  .npdc-service-page .npdc-service-table th,
  .npdc-service-page .npdc-service-table td {
    padding: 15px;
    font-size: 10.8px;
    line-height: 16.2px;
  }

  .npdc-service-page .npdc-service-shell {
    row-gap: 57.4px;
  }

  .npdc-service-page .npdc-service-sidebar {
    margin-top: 0;
  }

  .npdc-service-page .npdc-service-sidebar__proof > img {
    width: 60.47px;
    height: 60.78px;
    opacity: 1;
  }

  .npdc-service-page .npdc-service-intro > .npdc-actions a,
  .npdc-service-page .npdc-service-process > .npdc-actions a {
    display: inline-block;
    min-height: 0;
  }

  .npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout > .npdc-flow > .npdc-flow:first-child {
    padding: 20px;
  }

  .npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout > .npdc-flow > .npdc-flow:first-child > h2,
  .npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout > .npdc-flow > .npdc-flow:first-child > h3,
  .npdc-service-page .npdc-service-copy > .npdc-section__inner > .npdc-layout > .npdc-flow > .npdc-flow:first-child > h4,
  .npdc-service-page .npdc-service-process > h3 {
    font-size: 20px;
    line-height: 26px;
  }

  .npdc-service-page .npdc-service-lead-image,
  .npdc-service-page .npdc-service-lead-image img {
    width: 350px;
  }

  .npdc-service-page .npdc-flow > .npdc-card {
    padding-left: 50px;
  }

  .npdc-service-page .npdc-flow > .npdc-card::before {
    width: 35px;
    height: 35px;
  }

  .npdc-service-page .npdc-service-process {
    padding: 20px;
  }

  .npdc-service-page .npdc-service-process > .npdc-actions a {
    padding: 13px 26px;
    font-size: 12px;
    line-height: 14.4px;
  }

  .npdc-service-page .npdc-service-faq-section {
    height: 1207.72px;
    min-height: 1207.72px;
    padding: 30px;
  }

  .npdc-service-page .npdc-section--mist.npdc-service-faq-section {
    min-height: 1207.72px;
  }

  .npdc-service-page .npdc-service-faq-section > .npdc-section__inner,
  .npdc-service-page .npdc-service-faq-section .npdc-flow,
  .npdc-service-page .npdc-service-faq-section .npdc-faq {
    width: 330px;
    max-width: 330px;
  }

  .npdc-service-page .npdc-service-faq-section > .npdc-section__inner {
    width: 330px !important;
    max-width: 330px !important;
  }

  .npdc-service-page .npdc-service-faq-section .npdc-flow > h2:first-child {
    height: 21px;
    width: 330px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-service-page .npdc-service-faq-section .npdc-faq {
    left: -20px;
  }

  .npdc-service-page .npdc-service-faq-section .npdc-flow > h3 {
    width: 318px;
    margin-bottom: 45px;
    font-size: 34px;
    line-height: 42px;
  }

  .npdc-service-page .npdc-service-faq-section.npdc-section--mist .npdc-faq summary {
    min-height: 52.4px;
    padding: 14px 30px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-service-page .npdc-service-faq-section.npdc-section--mist .npdc-faq summary::after {
    top: 50%;
    right: 30px;
    width: 14px;
    height: 16px;
  }

  .npdc-service-page .npdc-section--cta {
    height: 571.03px;
    min-height: 571.03px;
    padding: 30px;
  }

  .npdc-service-page .npdc-section--cta > .npdc-section__inner {
    width: 330px;
    height: 511.03px;
    min-height: 511.03px;
    background-attachment: scroll;
  }

  .npdc-service-page .npdc-section--cta > .npdc-section__inner::before {
    background-size: 100% auto;
  }

  .npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout > .npdc-flow {
    top: -20px;
    width: 330px;
    height: 471.03px;
    padding: 30px 20px 0;
    gap: 40px;
  }

  .npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout > .npdc-flow > h2 {
    width: 290px;
    font-size: 28px;
    line-height: 33.6px;
  }

  .npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout > .npdc-flow > p {
    width: 290px;
  }

  .npdc-service-final-actions__button {
    padding: 13px 26px;
    font-size: 12px;
    line-height: 14.4px;
  }

  .npdc-service-page .npdc-service-intro > h2 {
    line-height: 36px;
  }

  .npdc-service-page .npdc-service-intro > .npdc-actions a {
    padding: 13px 26px;
    font-size: 12px;
    line-height: 14.4px;
  }

  .npdc-service-final-actions__icon {
    width: 41px;
    height: 41px;
  }
}

/* Exact homepage composition measured against the production Elementor page. */
.npdc-parity-home {
  --npdc-home-width: 1280px;
}

.npdc-parity-home .npdc-source-eyebrow {
  margin: 0 0 20px;
  color: #0796d6;
  font-family: "Lato", Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
}

.npdc-parity-home .npdc-source-button {
  display: inline-block;
  min-height: 0;
  padding: 17px 34px;
  border-radius: 50px;
  font-family: "Roboto", Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 19.2px;
}

.npdc-source-hero {
  height: 1040.2px;
  min-height: 1040.2px;
}

.npdc-source-hero__inner {
  display: flex;
  width: var(--npdc-home-width);
  min-height: 0;
  margin: 0 auto;
  padding: 120px 0 0;
  flex-direction: column;
  justify-content: flex-start;
}

.npdc-source-hero__mark {
  width: 215px;
  height: 215px;
  margin: 0 0 30px;
}

.npdc-source-hero h1 {
  width: 100%;
  max-width: none;
  margin: 0 0 30px;
  font-size: 65px;
  font-weight: 600;
  line-height: 70px;
}

.npdc-source-hero__subhead {
  width: 100%;
  margin: 0 0 30px;
  font-size: 21px;
  font-weight: 600;
  line-height: 29.4px;
}

.npdc-source-hero__copy {
  width: 100%;
  max-width: none;
  margin: 0 0 50px;
  font-size: 18px;
  line-height: 28.8px;
}

.npdc-source-hero__tagline {
  width: 100%;
  font-size: 21px;
  font-weight: 500;
  line-height: 29.4px;
}

.npdc-source-promises {
  width: var(--npdc-home-width);
  height: 240.2px;
  min-height: 240.2px;
}

.npdc-source-promise {
  position: relative;
  display: block;
  min-height: 240.2px;
  padding: 0 21px;
}

.npdc-source-promise h2 {
  margin: 0 0 16px;
  font-size: 35px;
  font-weight: 600;
  line-height: 42px;
}

.npdc-source-promise p {
  font-size: 18px;
  line-height: 25.2px;
}

.npdc-source-promise:nth-child(1) h2 { margin-top: 33.7px; }
.npdc-source-promise:nth-child(2) h2 { margin-top: 39.95px; }
.npdc-source-promise:nth-child(3) h2 { margin-top: 46.2px; }

.npdc-source-services {
  height: 1728.19px;
  min-height: 1728.19px;
  padding: 0;
}

.npdc-source-services__inner {
  position: relative;
  width: var(--npdc-home-width);
  height: 100%;
}

.npdc-source-services__head {
  position: absolute;
  top: 120px;
  left: 7px;
  display: block;
  width: 1273px;
  height: 196.6px;
  margin: 0;
}

.npdc-source-services__head > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 768px;
}

.npdc-source-services__head h2 {
  width: 768px;
  max-width: none;
  margin: 0;
  font-size: 68px;
  line-height: 74.8px;
}

.npdc-source-services__head > p:last-child {
  position: absolute;
  top: 21.61px;
  right: 0;
  width: 448px;
  margin: 0;
  font-size: 18px;
  line-height: 28.8px;
}

.npdc-source-service-grid {
  position: absolute;
  top: 396.6px;
  left: 0;
  display: grid;
  grid-template-columns: repeat(3, 379.52px);
  grid-auto-rows: 565.79px;
  column-gap: 70.71px;
  row-gap: 80px;
  width: 1280px;
}

.npdc-source-service-card {
  position: relative;
  display: block;
  width: 379.52px;
  height: 565.79px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
}

.npdc-source-service-card__icon {
  position: absolute;
  top: 1.98px;
  left: 0;
  width: 56.92px;
  height: 56.92px;
  margin: 0;
  border-radius: 12px;
  object-fit: contain;
  object-position: left center;
}

.npdc-source-service-card h3 {
  position: absolute;
  top: 12.23px;
  left: 86.92px;
  width: 292.6px;
  min-height: 0;
  margin: 0;
  font-family: "Lato", Arial, sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 36.4px;
}

.npdc-source-service-card__photo {
  position: absolute;
  top: 92.87px;
  left: 0;
  width: 379.52px;
  height: 253px;
  margin: 0;
  border-radius: 12px;
  object-fit: cover;
}

.npdc-source-service-card p {
  position: absolute;
  top: 379.84px;
  left: 0;
  width: 379.52px;
  margin: 0;
  font-size: 18px;
  line-height: 28.8px;
}

.npdc-source-service-card > a {
  position: absolute;
  bottom: 6.59px;
  left: 0;
  margin: 0;
  font-size: 16px;
  line-height: 19.2px;
}

.npdc-source-service-card > a::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 10px;
  border-radius: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23334155' d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z'/%3E%3C/svg%3E");
  background-size: contain;
  content: "";
  vertical-align: -2px;
}

.npdc-source-quote {
  display: block;
  height: 458.81px;
  min-height: 458.81px;
  padding: 0;
  background-color: #334155;
  background-image: url("/wp-content/uploads/2025/11/shutterstock_2207894257-scaled.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: left;
}

.npdc-source-quote::before {
  position: absolute;
  inset: 0;
  background-color: inherit;
  content: "";
  opacity: 0.74;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}

.npdc-source-quote blockquote {
  position: absolute;
  z-index: 1;
  top: 120px;
  left: calc((100% - var(--npdc-home-width)) / 2);
  width: 742.39px;
  max-width: none;
}

.npdc-source-quote p:first-child {
  margin: 0 0 40px;
  font-size: 58px;
  line-height: 60px;
}

.npdc-source-quote cite {
  font-family: "Lato", Arial, sans-serif;
  font-size: 21px;
  line-height: 29.4px;
}

.npdc-source-quote small {
  display: none;
}

.npdc-source-why {
  height: 1412.38px;
  min-height: 1412.38px;
  padding: 0;
}

.npdc-source-why__inner {
  position: relative;
  width: var(--npdc-home-width);
  height: 100%;
}

.npdc-source-why__heading {
  position: absolute;
  top: 120px;
  left: 0;
  width: 640px;
  margin: 0;
}

.npdc-source-why__heading h2 {
  width: 640px;
  max-width: none;
  margin: 0;
  font-size: 68px;
  line-height: 74.8px;
}

.npdc-source-why__grid {
  position: static;
  display: block;
}

.npdc-source-why__primary {
  position: absolute;
  top: 396.6px;
  left: 0;
  width: 640px;
  height: 730px;
}

.npdc-source-why__primary .npdc-source-why__image {
  width: 640px;
  height: 730px;
  margin: 0;
}

.npdc-source-image-note {
  top: auto;
  right: auto;
  bottom: 0;
  left: 0;
  width: 416px;
  height: 234.42px;
  padding: 40px;
  border-radius: 0 25px 0 0;
  background: rgba(14, 165, 233, 0.76);
  font-size: 28px;
  line-height: 36.4px;
}

.npdc-source-why__primary > h3 {
  display: none;
}

.npdc-source-why__primary > .npdc-source-button {
  position: absolute;
  z-index: 2;
  top: 666.2px;
  left: 40px;
  color: #0ecae9;
  background: #fff;
}

.npdc-source-why__secondary {
  position: absolute;
  top: 120px;
  left: 729.61px;
  width: 550.39px;
}

.npdc-source-why__secondary .npdc-source-why__image {
  width: 550.39px;
  height: 500px;
  margin: 0 0 20px;
}

.npdc-source-why__secondary > p {
  width: 550.39px;
  margin: 0 0 40px;
  font-size: 18px;
  line-height: 28.8px;
}

.npdc-source-reason {
  width: 462.33px;
  margin-left: 75.03px;
  margin-bottom: 20px;
  padding: 0;
}

.npdc-source-reason::before {
  top: 0;
  left: -70.015px;
  width: 45px;
  height: 45px;
  border-radius: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%230ecae9' d='M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z'/%3E%3C/svg%3E");
  background-size: contain;
  content: "";
}

.npdc-source-reason h3 {
  margin: 0 0 20px;
  font-size: 28px;
  line-height: 36.4px;
}

.npdc-source-reason p {
  font-size: 18px;
  line-height: 28.8px;
}

.npdc-source-trust {
  height: 1317.98px;
  min-height: 1317.98px;
  padding: 0;
  background-color: #334155;
  background-image: none;
}

.npdc-source-trust::before,
.npdc-source-first-visit::before,
.npdc-source-faqs::before {
  position: absolute;
  inset: 0;
  background-image: url("/wp-content/uploads/2025/11/bg_texture.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  opacity: 0.11;
}

.npdc-source-trust::before {
  opacity: 0.17;
}

.npdc-source-trust__inner,
.npdc-source-first-visit__inner,
.npdc-source-faqs__inner {
  z-index: 1;
}

.npdc-source-trust__inner {
  position: relative;
  width: var(--npdc-home-width);
  height: 100%;
}

.npdc-source-trust__intro {
  position: absolute;
  top: 120px;
  left: 0;
  width: 1280px;
  max-width: none;
  margin: 0;
}

.npdc-source-trust__intro h2 {
  width: 1280px;
  max-width: none;
  margin: 0 0 20px;
  font-size: 68px;
  line-height: 74.8px;
}

.npdc-source-trust__intro > p:not(.npdc-source-eyebrow) {
  width: 1280px;
  margin: 0 0 40px;
  color: #fff;
  font-size: 18px;
  line-height: 28.8px;
}

.npdc-source-trust__grid {
  position: absolute;
  top: 624.98px;
  left: 0;
  display: grid;
  grid-template-columns: 852.05px 407.95px;
  gap: 20px;
  width: 1280px;
}

.npdc-source-team-card,
.npdc-source-crown-card {
  width: auto;
  height: 573px;
  min-height: 573px;
  border-radius: 20px;
}

.npdc-source-team-card__quote {
  right: auto;
  width: 536.78px;
  height: 187.61px;
  padding: 40px;
  border-radius: 25px 25px 25px 0;
  background: #0ea5e9;
  font-size: 21px;
  line-height: 29.4px;
}

.npdc-source-team-card__quote > span {
  display: block;
}

.npdc-source-team-card__quote > a {
  display: inline-flex;
  margin-top: 20px;
  align-items: center;
  color: #fff;
  font-family: "Roboto", Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 19.2px;
  text-decoration: none;
}

.npdc-source-team-card__quote > a::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 10px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23fff' d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z'/%3E%3C/svg%3E");
  background-size: contain;
  content: "";
}

.npdc-source-crown-card {
  display: block;
  padding: 40px;
  border-radius: 25px;
  background: #45566d;
}

.npdc-source-crown-card__mark {
  width: 68.86px;
  height: 68.86px;
  margin: 0 0 20.36px;
}

.npdc-source-crown-card__mark img {
  display: block;
  width: 68.86px;
  height: 69.22px;
  object-fit: contain;
}

.npdc-source-crown-card > p:first-of-type {
  margin: 0;
  color: #fff;
  font-family: "Lato", Arial, sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 36.4px;
}

.npdc-source-crown-card h3 {
  position: absolute;
  bottom: 91.79px;
  left: 40px;
  margin: 0;
  font-size: 43px;
  line-height: 51.6px;
}

.npdc-source-crown-card > p:last-child {
  position: absolute;
  bottom: 40px;
  left: 40px;
  margin: 0;
  color: #fff;
  font-size: 18px;
  line-height: 28.8px;
}

.npdc-source-process {
  height: 1149px;
  min-height: 1149px;
  padding: 0;
}

.npdc-source-process__inner {
  position: relative;
  width: var(--npdc-home-width);
  height: 100%;
}

.npdc-source-process__head {
  position: static;
  display: block;
  margin: 0;
}

.npdc-source-process__head > div {
  position: absolute;
  top: 73.21px;
  left: 507.14px;
  width: 772.86px;
}

.npdc-source-process__head h2 {
  width: 772.86px;
  margin: 0;
  font-size: 68px;
  line-height: 74.8px;
}

.npdc-source-process__head > p {
  position: absolute;
  top: 423px;
  left: 893.75px;
  width: 386.25px;
  margin: 0;
  font-size: 18px;
  line-height: 28.8px;
}

.npdc-source-process__button {
  position: absolute;
  top: 541.39px;
  left: 893.75px;
}

.npdc-source-process__steps {
  position: static;
  display: block;
}

.npdc-source-step {
  position: absolute;
  display: block;
  min-height: 0;
  border-radius: 20px;
}

.npdc-source-step__copy {
  position: absolute;
  display: block;
  padding: 40px;
}

.npdc-source-step__copy strong {
  position: absolute;
  top: 40px;
  right: 40px;
  margin: 0;
  font-family: "Lato", Arial, sans-serif;
  font-size: 28px;
  line-height: 36.4px;
}

.npdc-source-step__copy h3 {
  margin: 62.13px 0 10px;
  font-size: 28px;
  line-height: 36.4px;
}

.npdc-source-step__copy p {
  margin: 0;
  font-size: 18px;
  line-height: 28.8px;
}

.npdc-source-step:nth-child(1) {
  top: 0;
  left: 0;
  width: 425.14px;
  height: 343px;
  border-radius: 25px 25px 0 25px;
  background: #0ecae9;
}

.npdc-source-step:nth-child(1) .npdc-source-step__copy {
  inset: 0;
}

.npdc-source-step:nth-child(1) .npdc-source-step__copy h3 {
  margin-top: 62.13px;
}

.npdc-source-step:nth-child(1) > img {
  position: absolute;
  z-index: 2;
  top: 40px;
  left: 40px;
  width: 51.77px;
  height: 51.77px;
  object-fit: contain;
}

.npdc-source-step:nth-child(2) {
  top: 343px;
  left: 0;
  width: 853.75px;
  height: 343px;
  background: #effaff;
}

.npdc-source-step:nth-child(2) > img {
  position: absolute;
  top: 40px;
  left: 0;
  width: 386.23px;
  height: 302px;
  border-radius: 20px 0 0 0;
}

.npdc-source-step:nth-child(2) > picture {
  position: absolute;
  top: 40px;
  left: 0;
  width: 386.23px;
  height: 302px;
}

.npdc-source-step:nth-child(2) > picture img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 20px 0 0 0;
  object-fit: cover;
}

.npdc-source-step:nth-child(2) .npdc-source-step__copy {
  top: 0;
  right: 0;
  width: 427.52px;
  height: 343px;
  border-radius: 0 25px 0 25px;
}

.npdc-source-step:nth-child(3) {
  top: 686px;
  left: 0;
  width: 1280px;
  height: 343px;
  background: #effaff;
}

.npdc-source-step:nth-child(3) > img {
  position: absolute;
  top: 40px;
  left: 0;
  width: 813.75px;
  height: 302px;
  border-radius: 20px 0 0 0;
}

.npdc-source-step:nth-child(3) > picture {
  position: absolute;
  top: 40px;
  left: 0;
  width: 813.75px;
  height: 302px;
}

.npdc-source-step:nth-child(3) > picture img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 20px 0 0 0;
  object-fit: cover;
}

.npdc-source-step:nth-child(3) .npdc-source-step__copy {
  top: 0;
  right: 0;
  width: 426.23px;
  height: 343px;
  border-radius: 0 25px 25px 25px;
}

.npdc-source-first-visit {
  height: 828.17px;
  min-height: 828.17px;
  padding: 0;
  background-color: #334155;
  background-image: none;
}

.npdc-source-first-visit__inner {
  position: relative;
  display: block;
  width: var(--npdc-home-width);
  height: 100%;
}

.npdc-source-first-visit__inner > div:first-child {
  position: absolute;
  top: 120px;
  left: 0;
  width: 550.39px;
}

.npdc-source-first-visit h2 {
  width: 550.39px;
  margin: 0 0 20px;
  font-size: 68px;
  line-height: 74.8px;
}

.npdc-source-first-visit p:not(.npdc-source-eyebrow) {
  width: 550.39px;
  margin: 0 0 40px;
  font-size: 18px;
  line-height: 28.8px;
}

.npdc-source-first-visit__mark {
  position: absolute;
  top: 100px;
  right: 0;
  width: 620px;
  height: 620px;
  min-height: 0;
}

.npdc-source-faqs {
  height: 884.38px;
  min-height: 884.38px;
  padding: 0;
  background-color: #334155;
  background-image: none;
}

.npdc-source-faqs__inner {
  position: relative;
  width: var(--npdc-home-width);
  height: 100%;
}

.npdc-source-faqs__head {
  position: absolute;
  top: 120px;
  left: 0;
  width: 1280px;
  margin: 0;
}

.npdc-source-faqs__head h2 {
  width: 870.39px;
  margin: 0 auto;
  font-size: 68px;
  line-height: 74.8px;
}

.npdc-source-faqs .npdc-faq {
  position: absolute;
  top: 361.6px;
  left: 0;
  width: 1280px;
  max-width: none;
}

.npdc-source-faqs .npdc-faq details {
  width: 1280px;
  min-height: 58.8px;
  margin: 0 0 10px;
}

.npdc-source-faqs .npdc-faq summary {
  min-height: 58.8px;
  padding: 15px 70px 15px 30px;
  font-size: 18px;
  font-weight: 700;
  line-height: 28.8px;
}

.npdc-source-faqs .npdc-faq summary::after {
  top: 50%;
  right: 30px;
  width: 16px;
  height: 18px;
}

.npdc-source-cta {
  height: 510.8px;
  min-height: 510.8px;
  padding: 100px 0;
}

.npdc-source-cta__inner {
  width: var(--npdc-home-width);
}

.npdc-source-cta__card {
  display: flex;
  width: 1280px;
  height: 310.8px;
  min-height: 310.8px;
  padding: 80px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 40px;
  position: relative;
  border-radius: 25px;
  background-color: #334155;
  background-image: none;
}

.npdc-source-cta__card::before {
  display: none;
}

.npdc-source-cta__card > * {
  position: relative;
  z-index: 1;
}

.npdc-source-cta h2 {
  margin: 0;
  font-size: 48px;
  line-height: 57.6px;
}

.npdc-parity-home .npdc-source-button {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

.npdc-parity-home .npdc-source-button::after {
  display: inline-block;
  width: 52px;
  height: 52px;
  margin: -17px -91px -17px 39px;
  border-radius: 50%;
  background-color: #0ecae9;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 30px 30px;
  content: "";
}

.npdc-source-why__primary > .npdc-source-button::after,
.npdc-source-cta .npdc-source-button::after {
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230ecae9' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E");
}

.npdc-source-cta .npdc-source-button,
.npdc-source-why__primary > .npdc-source-button {
  color: #0ecae9;
  background: #fff;
}

@media (min-width: 821px) {
  .npdc-source-quote {
    background-attachment: fixed;
  }

  .npdc-service-page .npdc-service-content-section {
    padding-bottom: 101.4px;
  }
}

@media (max-width: 820px) {
  .npdc-parity-home {
    --npdc-home-width: 330px;
  }

  .npdc-parity-home .npdc-source-eyebrow {
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 21px;
  }

  .npdc-parity-home .npdc-source-button {
    padding: 13px 26px;
    font-size: 12px;
    line-height: 14.4px;
  }

  .npdc-source-hero {
    height: 1425.27px;
    min-height: 1425.27px;
  }

  .npdc-source-hero__inner {
    width: 330px;
    padding-top: 109.5px;
  }

  .npdc-source-hero__mark {
    width: 141.89px;
    height: 141.89px;
    margin: 0 0 20px;
  }

  .npdc-source-hero h1 {
    width: 330px;
    margin: 0 0 20px;
    font-size: 45px;
    line-height: 58px;
  }

  .npdc-source-hero__subhead {
    width: 330px;
    margin: 0 0 20px;
    font-size: 16px;
    line-height: 22.4px;
  }

  .npdc-source-hero__copy {
    width: 330px;
    margin: 0 0 40px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-hero__tagline {
    width: 330px;
    font-size: 16px;
    line-height: 22.4px;
  }

  .npdc-source-promises {
    width: 330px;
    height: 610px;
    min-height: 610px;
  }

  .npdc-source-promise {
    min-height: 180px;
    height: 180px;
    padding: 0 21px;
  }

  .npdc-source-promise:first-child {
    height: 230px;
  }

  .npdc-source-promise h2 {
    margin: 0 0 12px;
    font-size: 30px;
    line-height: 38px;
  }

  .npdc-source-promise p {
    font-size: 14px;
    line-height: 25px;
  }

  .npdc-source-promise:nth-child(1) h2 { margin-top: 25px; }
  .npdc-source-promise:nth-child(2) h2 { margin-top: 25px; }
  .npdc-source-promise:nth-child(3) h2 { margin-top: 25px; }

  .npdc-source-services {
    height: 3172.59px;
    min-height: 3172.59px;
    padding: 0;
  }

  .npdc-source-services__inner {
    width: 330px;
  }

  .npdc-source-services__head {
    top: 30px;
    left: 0;
    width: 330px;
    height: 334.43px;
  }

  .npdc-source-services__head > div {
    width: 330px;
  }

  .npdc-source-services__head h2 {
    width: 330px;
    font-size: 38px;
    line-height: 46px;
  }

  .npdc-source-services__head > p:last-child {
    top: 199px;
    right: auto;
    left: 0;
    width: 330px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-service-grid {
    top: 394.43px;
    left: 0;
    display: flex;
    width: 330px;
    flex-direction: column;
    gap: 30px;
  }

  .npdc-source-service-card {
    width: 330px;
    height: 425.13px;
    min-height: 425.13px;
  }

  .npdc-source-service-card:nth-child(2) {
    height: 447.53px;
    min-height: 447.53px;
  }

  .npdc-source-service-card:nth-child(3) {
    height: 450.03px;
    min-height: 450.03px;
  }

  .npdc-source-service-card__icon {
    top: 0;
    width: 49.5px;
    height: 49.5px;
  }

  .npdc-source-service-card h3 {
    top: 11.75px;
    left: 69.5px;
    width: 260.5px;
    font-size: 20px;
    line-height: 26px;
  }

  .npdc-source-service-card__photo {
    top: 69.5px;
    width: 330px;
    height: 220px;
  }

  .npdc-source-service-card p {
    top: 309.5px;
    width: 330px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-service-card > a {
    right: 0;
    bottom: 3px;
    left: auto;
    font-size: 12px;
    line-height: 14.4px;
  }

  .npdc-source-service-card > a::after {
    width: 12px;
    height: 12px;
    margin-left: 10px;
  }

  .npdc-source-quote {
    height: 422px;
    min-height: 422px;
  }

  .npdc-source-quote blockquote {
    top: 72.59px;
    left: 30px;
    width: 330px;
  }

  .npdc-source-quote p:first-child {
    margin-bottom: 40px;
    font-size: 40px;
    line-height: 48px;
  }

  .npdc-source-quote cite {
    font-size: 16px;
    line-height: 22.4px;
  }

  .npdc-source-why {
    height: 1855.13px;
    min-height: 1855.13px;
  }

  .npdc-source-why__inner {
    width: 330px;
  }

  .npdc-source-why__heading {
    top: 30px;
    width: 330px;
  }

  .npdc-source-why__heading h2 {
    width: 330px;
    font-size: 38px;
    line-height: 46px;
  }

  .npdc-source-why__primary {
    top: 269px;
    width: 330px;
    height: 500px;
  }

  .npdc-source-why__primary .npdc-source-why__image {
    width: 330px;
    height: 500px;
  }

  .npdc-source-image-note {
    width: 260.5px;
    height: 181.41px;
    padding: 25px 20px;
    font-size: 20px;
    line-height: 26px;
  }

  .npdc-source-why__primary > .npdc-source-button {
    top: 462.59px;
    left: 142.42px;
  }

  .npdc-source-why__secondary {
    top: 769px;
    left: 0;
    display: flex;
    width: 330px;
    flex-direction: column;
  }

  .npdc-source-why__secondary > p {
    order: 1;
    width: 330px;
    margin: 0 0 40px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-reason {
    order: 2;
    width: 247.5px;
    margin-left: 62.89px;
    margin-bottom: 20px;
    padding-bottom: 0;
  }

  .npdc-source-reason::before {
    left: -58.953px;
    width: 35px;
    height: 35px;
  }

  .npdc-source-reason h3 {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 26px;
  }

  .npdc-source-reason p {
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-why__secondary .npdc-source-why__image {
    order: 99;
    position: absolute;
    top: 738.12px;
    left: 0;
    width: 330px;
    height: 318px;
    margin: 0;
  }

  .npdc-source-trust {
    height: 1542.09px;
    min-height: 1542.09px;
  }

  .npdc-source-trust__inner {
    width: 330px;
  }

  .npdc-source-trust__intro {
    top: 30px;
    width: 330px;
  }

  .npdc-source-trust__intro h2 {
    width: 330px;
    margin-bottom: 20px;
    font-size: 38px;
    line-height: 46px;
  }

  .npdc-source-trust__intro > p:not(.npdc-source-eyebrow) {
    width: 330px;
    margin-bottom: 30px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-trust__grid {
    top: 578.89px;
    display: block;
    width: 330px;
  }

  .npdc-source-team-card {
    width: 330px;
    height: 573px;
    min-height: 573px;
    margin: 0 0 0;
  }

  .npdc-source-team-card__quote {
    top: auto;
    bottom: 145px;
    width: 330px;
    height: 159.63px;
    padding: 25px;
    font-size: 16px;
    line-height: 22.4px;
  }

  .npdc-source-team-card__quote > a {
    font-size: 12px;
    line-height: 14.4px;
  }

  .npdc-source-team-card__quote > a::after {
    width: 12px;
    height: 12px;
  }

  .npdc-source-crown-card {
    position: absolute;
    top: 593px;
    left: 0;
    width: 330px;
    height: 340.22px;
    min-height: 340.22px;
    padding: 72.41px 30px 30px;
  }

  .npdc-source-crown-card__mark {
    display: none;
  }

  .npdc-source-crown-card > p:first-of-type {
    font-size: 20px;
    line-height: 26px;
  }

  .npdc-source-crown-card h3 {
    bottom: 85.95px;
    left: 30px;
    font-size: 30px;
    line-height: 38px;
  }

  .npdc-source-crown-card > p:last-child {
    bottom: 30px;
    left: 30px;
    width: 270px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-process {
    height: 2068.19px;
    min-height: 2068.19px;
  }

  .npdc-source-process__inner {
    width: 330px;
  }

  .npdc-source-process__head > div {
    top: 37px;
    left: 0;
    width: 330px;
    text-align: center;
  }

  .npdc-source-process__head h2 {
    width: 290px;
    margin: 0 auto;
    font-size: 38px;
    line-height: 46px;
  }

  .npdc-source-process__head > p {
    top: 1262.55px;
    left: 20px;
    width: 290px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-process__button {
    top: 1359.77px;
    left: 20px;
  }

  .npdc-source-step__copy {
    padding: 30px 20px;
  }

  .npdc-source-step__copy strong {
    top: 30px;
    right: 20px;
    font-size: 20px;
    line-height: 26px;
  }

  .npdc-source-step__copy h3 {
    margin: 53.5px 0 10px;
    font-size: 20px;
    line-height: 26px;
  }

  .npdc-source-step__copy p {
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-step:nth-child(1) {
    top: 313px;
    width: 330px;
    height: 239.13px;
  }

  .npdc-source-step:nth-child(1) > img {
    top: 30px;
    left: 20px;
    width: 43.5px;
    height: 43.5px;
  }

  .npdc-source-step:nth-child(1) .npdc-source-step__copy h3 {
    margin-top: 53.5px;
  }

  .npdc-source-step:nth-child(2) {
    top: 552.12px;
    width: 330px;
    height: 630.53px;
  }

  .npdc-source-step:nth-child(2) > img {
    top: 20px;
    left: 20px;
    width: 290px;
    height: 302px;
    border-radius: 20px 20px 0 0;
  }

  .npdc-source-step:nth-child(2) > picture {
    top: 20px;
    left: 20px;
    width: 290px;
    height: 302px;
  }

  .npdc-source-step:nth-child(2) > picture img {
    border-radius: 20px 20px 0 0;
  }

  .npdc-source-step:nth-child(2) .npdc-source-step__copy {
    top: 343px;
    width: 330px;
    height: 287.53px;
  }

  .npdc-source-step:nth-child(3) {
    top: 1482.65px;
    width: 330px;
    height: 585.54px;
  }

  .npdc-source-step:nth-child(3) .npdc-source-step__copy {
    top: 0;
    width: 330px;
    height: 242.53px;
    border-radius: 0 25px 0 25px;
  }

  .npdc-source-step:nth-child(3) > img {
    top: 262.53px;
    left: 20px;
    width: 290px;
    height: 321px;
    border-radius: 0 0 20px 20px;
  }

  .npdc-source-step:nth-child(3) > picture {
    top: 262.53px;
    left: 20px;
    width: 290px;
    height: 321px;
  }

  .npdc-source-step:nth-child(3) > picture img {
    border-radius: 0 0 20px 20px;
  }

  .npdc-source-first-visit {
    height: 543.06px;
    min-height: 543.06px;
  }

  .npdc-source-first-visit__inner {
    width: 330px;
  }

  .npdc-source-first-visit__inner > div:first-child {
    top: 30px;
    width: 330px;
  }

  .npdc-source-first-visit h2 {
    width: 330px;
    margin-bottom: 20px;
    font-size: 38px;
    line-height: 46px;
  }

  .npdc-source-first-visit p:not(.npdc-source-eyebrow) {
    width: 330px;
    margin-bottom: 40px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-first-visit__mark {
    display: none;
  }

  .npdc-source-faqs {
    height: 770.88px;
    min-height: 770.88px;
  }

  .npdc-source-faqs__inner {
    width: 330px;
  }

  .npdc-source-faqs__head {
    top: 30px;
    width: 330px;
  }

  .npdc-source-faqs__head h2 {
    width: 318px;
    font-size: 34px;
    line-height: 42px;
  }

  .npdc-source-faqs .npdc-faq {
    top: 242px;
    left: 0;
    width: 330px;
  }

  .npdc-source-faqs .npdc-faq details {
    width: 330px;
    min-height: 52.4px;
    margin-bottom: 10px;
  }

  .npdc-source-faqs .npdc-faq summary {
    min-height: 52.4px;
    padding: 15px 50px 15px 20px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-faqs .npdc-faq summary::after {
    right: 20px;
    width: 14px;
    height: 16px;
  }

  .npdc-source-cta {
    height: 208.19px;
    min-height: 208.19px;
    padding: 0 0 30px;
  }

  .npdc-source-cta__inner {
    width: 330px;
  }

  .npdc-source-cta__card {
    display: flex;
    width: 330px;
    height: 178.19px;
    min-height: 178.19px;
    padding: 30px 20px 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
  }

  .npdc-source-cta h2 {
    width: 290px;
    font-size: 28px;
    line-height: 33.6px;
  }

  .npdc-parity-home .npdc-source-button::after {
    width: 41px;
    height: 41px;
    margin: -13px -72px -13px 31px;
    background-size: 24px 24px;
  }
}
/* --- site-v15.css --- */
/* About page production-parity reconstruction. */
body.npdc-about-page,
body.npdc-about-page .npdc-main,
body.npdc-about-page .npdc-main > .wp-block-post-content,
body.npdc-about-page .npdc-about {
  overflow-x: clip;
}

body.npdc-about-page .npdc-main > .wp-block-post-content,
.npdc-about :where(h1, h2, h3, p) {
  margin: 0;
}

.npdc-about {
  color: #7a7a7a;
  background: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.npdc-about-shell {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
}

.npdc-about a {
  color: #0ecae9;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
}

.npdc-about a:hover,
.npdc-about a:focus-visible {
  color: #0796d6;
}

.npdc-about img {
  display: block;
  max-width: 100%;
  border-radius: 12px;
  object-fit: cover;
}

.npdc-about-kicker {
  color: #0ecae9;
  font-family: "Lato", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
}

.npdc-about-hero {
  position: relative;
  display: flex;
  min-height: 510.8px;
  padding: 240px 20px 120px;
  isolation: isolate;
  background-image: url("/wp-content/uploads/2025/11/HERO1.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.npdc-about-hero::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  background: radial-gradient(at center center, rgba(242, 41, 91, 0) 0%, #334155 100%);
}

.npdc-about-hero__inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
  text-align: center;
}

.npdc-about-hero h1 {
  color: #fff;
  font-family: "Cormorant Garamond", sans-serif;
  font-size: 90px;
  font-weight: 600;
  line-height: 1.1;
}

.npdc-about-hero p,
.npdc-about-hero p a {
  color: #fff;
  font-family: "Lato", sans-serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.4;
}

.npdc-about-intro {
  min-height: 885.67px;
  padding: 120px 20px;
  background: #fff;
}

.npdc-about-intro__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.npdc-about-intro__lead {
  display: flex;
  min-height: 427.45px;
  justify-content: space-between;
}

.npdc-about-intro__profile {
  display: flex;
  width: 21%;
  flex-direction: column;
  gap: 20px;
}

.npdc-about-intro__profile .npdc-about-kicker {
  min-height: 54px;
}

.npdc-about-intro__profile img {
  width: 100%;
  height: 328.45px;
  margin-top: 5px;
}

.npdc-about-intro__copy {
  display: flex;
  width: 70%;
  flex-direction: column;
}

.npdc-about-intro__copy p {
  margin: 0 0 20px;
}

.npdc-about-intro__cards {
  display: flex;
  width: 70%;
  align-self: flex-end;
  gap: 20px;
}

.npdc-about-intro__card {
  display: flex;
  min-width: 0;
  flex: 1 1 0;
  align-items: flex-start;
  padding: 40px;
  background: #effaff;
}

.npdc-about-intro__card h2 {
  color: #2f2f2f;
  font-family: "Lato", sans-serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.4;
}

.npdc-about-commitment {
  position: relative;
  min-height: 762.22px;
  padding: 120px 20px;
  isolation: isolate;
  color: #fff;
  background: #334155;
}

.npdc-about-commitment::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  opacity: 0.25;
  background-image: url("/wp-content/uploads/2025/11/bg_texture.webp");
}

.npdc-about-commitment__inner {
  display: flex;
  justify-content: space-between;
  gap: 80px;
}

.npdc-about-commitment__copy,
.npdc-about-stats {
  width: 43%;
}

.npdc-about-commitment__copy {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.npdc-about-commitment h2 {
  color: #fff;
  font-family: "Cormorant Garamond", sans-serif;
  font-size: 68px;
  font-weight: 600;
  line-height: 1.1;
}

.npdc-about-commitment__copy > p:not(.npdc-about-kicker) {
  color: #fff;
}

.npdc-about-commitment__actions {
  display: flex;
  align-items: center;
}

.npdc-about .npdc-about-button {
  display: inline-flex;
  min-height: 53.2px;
  align-items: center;
  padding: 17px 34px;
  border-radius: 50px;
  color: #fff;
  background: #0ecae9;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
}

.npdc-about .npdc-about-button:hover,
.npdc-about .npdc-about-button:focus-visible {
  color: #fff;
  background: #0796d6;
}

.npdc-about .npdc-about-button-icon {
  display: inline-flex;
  width: 52px;
  min-width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: #0ecae9;
  font-size: 30px;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.25s ease, background-color 0.25s ease;
}

.npdc-about .npdc-about-button-icon:hover,
.npdc-about .npdc-about-button-icon:focus-visible {
  color: #fff;
  background: #0796d6;
  transform: rotate(45deg);
}

.npdc-about-stats {
  display: grid;
  min-height: 454.63px;
  grid-template-columns: 34.241% 15.759% 50%;
  grid-template-rows: 222.81px 231.82px;
}

.npdc-about-stat {
  display: flex;
  min-width: 0;
  align-content: center;
  align-items: center;
  gap: 0 10px;
  flex-wrap: wrap;
}

.npdc-about-stat:nth-child(1) {
  grid-column: 1;
  padding: 0 40px 40px 0;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

.npdc-about-stat:nth-child(2) {
  grid-column: 2 / 4;
  padding: 0 0 40px 40px;
  border-bottom: 1px solid #fff;
}

.npdc-about-stat:nth-child(3) {
  grid-column: 1 / 3;
  padding: 40px 40px 0 0;
  border-right: 1px solid #fff;
}

.npdc-about-stat:nth-child(4) {
  grid-column: 3;
  padding: 40px 0 0 40px;
}

.npdc-about-stat__value {
  display: flex;
  align-items: baseline;
  color: #fff;
  font-family: "Cormorant Garamond", sans-serif;
  font-size: 90px;
  font-weight: 600;
  line-height: 1.1;
  white-space: nowrap;
}

.npdc-about-stat__value small {
  font: inherit;
}

.npdc-about-stat:nth-child(2) .npdc-about-stat__value small {
  margin-left: 8px;
}

.npdc-about-stat__value b {
  margin-left: 10px;
  color: #0ecae9;
  font-family: "Cormorant Garamond", sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
}

.npdc-about-stat h3 {
  width: 100%;
  color: #fff;
  font-family: "Lato", sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.3;
}

.npdc-about-drives {
  min-height: 1152.17px;
  padding: 120px 20px;
  background: #fff;
}

.npdc-about-drives__inner {
  display: grid;
  grid-template-columns: 600px 600px;
  gap: 80px;
}

.npdc-about-drives__images {
  display: flex;
  height: 912.17px;
  justify-content: space-between;
}

.npdc-about-drives__image {
  width: 48%;
  height: 650px;
}

.npdc-about-drives__image--winter {
  align-self: flex-end;
}

.npdc-about-drives__image--team {
  align-self: flex-start;
}

.npdc-about-drives__copy {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.npdc-about-drives__intro,
.npdc-about-statements,
.npdc-about-statement {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.npdc-about-drives__intro h2 {
  color: #2f2f2f;
  font-family: "Cormorant Garamond", sans-serif;
  font-size: 68px;
  font-weight: 600;
  line-height: 1.1;
  text-transform: capitalize;
}

.npdc-about-statement {
  padding: 40px;
}

.npdc-about-statement--mission {
  background: #effaff;
}

.npdc-about-statement h3 {
  color: #0ecae9;
  font-family: "Lato", sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.3;
}

.npdc-about-statement--mission h3 {
  color: #2f2f2f;
}

@media (max-width: 1365px) and (min-width: 768px) {
  .npdc-about-shell {
    max-width: calc(100vw - 80px);
  }

  .npdc-about-commitment__inner,
  .npdc-about-drives__inner {
    gap: 60px;
  }

  .npdc-about-drives__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .npdc-about-stat__value {
    font-size: 75px;
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  .npdc-about-commitment__inner,
  .npdc-about-drives__inner {
    display: flex;
    flex-direction: column;
    gap: 80px;
  }

  .npdc-about-commitment__copy,
  .npdc-about-stats {
    width: 100%;
  }

  .npdc-about-drives__images {
    height: 600px;
  }
}

@media (max-width: 767px) {
  .npdc-about {
    font-size: 14px;
    line-height: 1.6;
  }

  .npdc-about-shell {
    max-width: 100%;
  }

  .npdc-about a {
    font-size: 14px;
  }

  .npdc-about-kicker {
    font-size: 14px;
    line-height: 1.5;
  }

  .npdc-about-hero {
    min-height: 519.41px;
    padding: 240px 20px 120px;
  }

  .npdc-about-hero h1 {
    font-size: 50px;
    line-height: 58px;
  }

  .npdc-about-hero p,
  .npdc-about-hero p a {
    font-size: 16px;
    line-height: 1.4;
  }

  .npdc-about-intro {
    min-height: 1389.64px;
    padding: 30px 20px;
  }

  .npdc-about-intro__lead {
    min-height: 0;
    flex-direction: column;
    gap: 20px;
  }

  .npdc-about-intro__profile,
  .npdc-about-intro__copy,
  .npdc-about-intro__cards {
    width: 100%;
  }

  .npdc-about-intro__profile .npdc-about-kicker {
    min-height: 21px;
  }

  .npdc-about-intro__profile img {
    height: auto;
    aspect-ratio: 350 / 427.92;
    margin-top: 25px;
  }

  .npdc-about-intro__copy p {
    margin-bottom: 20px;
  }

  .npdc-about-intro__cards {
    flex-direction: column;
  }

  .npdc-about-intro__card {
    min-height: 124.81px;
    flex: none;
  }

  .npdc-about-intro__card h2 {
    font-size: 16px;
    line-height: 1.4;
  }

  .npdc-about-commitment {
    min-height: 1200.63px;
    padding: 120px 20px;
  }

  .npdc-about-commitment__inner {
    flex-direction: column;
    gap: 80px;
  }

  .npdc-about-commitment__copy,
  .npdc-about-stats {
    width: 100%;
  }

  .npdc-about-commitment h2 {
    font-size: 38px;
    line-height: 46px;
  }

  .npdc-about-commitment__copy > p:not(.npdc-about-kicker) {
    text-align: center;
  }

  .npdc-about .npdc-about-button {
    min-height: 41px;
    padding: 13px 26px;
    font-size: 12px;
  }

  .npdc-about .npdc-about-button-icon {
    width: 41px;
    min-width: 41px;
    height: 41px;
    font-size: 23px;
  }

  .npdc-about-stats {
    display: block;
    min-height: 557px;
  }

  .npdc-about-stat {
    width: 100%;
    align-content: center;
    gap: 0 10px;
  }

  .npdc-about-stat:nth-child(1),
  .npdc-about-stat:nth-child(2),
  .npdc-about-stat:nth-child(3),
  .npdc-about-stat:nth-child(4) {
    border-right: 0;
  }

  .npdc-about-stat:nth-child(1) {
    min-height: 122px;
    padding: 0 0 30px;
    border-bottom: 1px solid #fff;
  }

  .npdc-about-stat:nth-child(2),
  .npdc-about-stat:nth-child(3) {
    min-height: 152px;
    padding: 30px 0;
    border-bottom: 1px solid #fff;
  }

  .npdc-about-stat:nth-child(4) {
    min-height: 131px;
    padding: 30px 0 0;
    border-bottom: 0;
  }

  .npdc-about-stat__value {
    font-size: 50px;
  }

  .npdc-about-stat__value b {
    font-size: 28px;
  }

  .npdc-about-stat h3 {
    font-size: 20px;
    line-height: 1.3;
  }

  .npdc-about-drives {
    min-height: 1382.28px;
    padding: 120px 20px;
  }

  .npdc-about-drives__inner {
    display: flex;
    flex-direction: column;
    gap: 80px;
  }

  .npdc-about-drives__images {
    width: 100%;
    height: 340px;
  }

  .npdc-about-drives__image {
    width: 48%;
  }

  .npdc-about-drives__image--winter {
    height: 291px;
  }

  .npdc-about-drives__image--team {
    height: 340px;
  }

  .npdc-about-drives__intro h2 {
    font-size: 38px;
    line-height: 46px;
  }

  .npdc-about-statement {
    min-height: 175.63px;
    padding: 20px;
  }

  .npdc-about-statement h3 {
    font-size: 20px;
    line-height: 1.3;
  }
}
/* --- site-v16.css --- */
/* Exhaustive production-inventory parity corrections. */

.npdc-production-parity-page,
.npdc-production-parity-page .npdc-main,
.npdc-production-parity-page .npdc-main > .wp-block-post-content {
  overflow-x: clip;
}

.npdc-production-parity-page .npdc-main > .wp-block-post-content,
.npdc-production-parity-page :where(h1, h2, h3, p, blockquote) {
  margin: 0;
}

.npdc-production-shell {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
}

.npdc-production-kicker {
  color: #0ecae9;
  font-family: "Lato", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
}

.npdc-production-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 13px 28px;
  border-radius: 999px;
  color: #fff;
  background: #0ecae9;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
}

.npdc-production-button:hover,
.npdc-production-button:focus-visible {
  color: #fff;
  background: #0796d6;
}

.npdc-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Shared source hero. */
.npdc-production-hero {
  position: relative;
  display: flex;
  min-height: 510.8px;
  padding: 240px 20px 120px;
  isolation: isolate;
  color: #fff;
  background-image: url("/wp-content/uploads/2025/11/HERO4.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.npdc-production-hero::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  background: radial-gradient(at center, rgba(242, 41, 91, 0) 0%, #334155 100%);
}

.npdc-production-hero .npdc-production-shell {
  display: flex;
  flex-direction: column;
  gap: 20px;
  text-align: center;
}

.npdc-production-hero h1 {
  max-width: 1000px;
  margin-inline: auto;
  color: #fff;
  font-family: "Cormorant Garamond", serif;
  font-size: 90px;
  font-weight: 600;
  line-height: 1.1;
}

.npdc-production-hero p,
.npdc-production-hero p a {
  color: #fff;
  font-family: "Lato", sans-serif;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.4;
}

.npdc-production-hero--services {
  background-image: url("/wp-content/uploads/2025/11/shutterstock_2207894257-scaled.jpg");
}

.npdc-production-hero--services h1 {
  max-width: 850px;
}

/* New Patients. */
.npdc-new-patients {
  color: #7a7a7a;
  background: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  line-height: 1.6;
}

.npdc-new-patients__intro {
  min-height: 775px;
  padding: 120px 20px;
}

.npdc-new-patients__intro-grid {
  display: grid;
  grid-template-columns: 21% 70%;
  justify-content: space-between;
}

.npdc-new-patients__intro-copy h2 {
  margin-bottom: 30px;
  color: #2f2f2f;
  font-family: "Cormorant Garamond", serif;
  font-size: 43px;
  font-weight: 600;
  line-height: 1.14;
}

.npdc-new-patients__intro-copy p + p {
  margin-top: 32px;
}

.npdc-new-patients__visit {
  position: relative;
  min-height: 690px;
  padding: 120px 20px;
  isolation: isolate;
  background: #334155;
}

.npdc-new-patients__visit::before,
.npdc-dark-form-page::before,
.npdc-registration::before,
.npdc-services-hub__faq::before,
.npdc-legal__cta::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  opacity: 0.25;
  background-image: url("/wp-content/uploads/2025/11/bg_texture.webp");
  background-position: center;
  background-size: cover;
}

.npdc-new-patients__visit-grid {
  display: grid;
  grid-template-columns: 66.9% 32%;
  gap: 1.1%;
  align-items: stretch;
}

.npdc-new-patients__visit-image {
  position: relative;
  min-height: 445px;
  overflow: hidden;
  border-radius: 14px;
}

.npdc-new-patients__visit-image > img {
  width: 100%;
  height: 445px;
  object-fit: cover;
}

.npdc-new-patients__quote {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 63%;
  min-height: 210px;
  padding: 40px;
  border-radius: 25px 25px 25px 0;
  color: #fff;
  background: #0ea5e9;
}

.npdc-new-patients__quote img {
  width: 48px;
  height: 48px;
  margin-bottom: 20px;
  object-fit: contain;
}

.npdc-new-patients__quote p {
  color: #fff;
  font-weight: 600;
}

.npdc-new-patients__visit-card {
  display: flex;
  min-height: 445px;
  flex-direction: column;
  justify-content: space-between;
  padding: 40px;
  border-radius: 25px;
  color: #fff;
  background: #45566d;
}

.npdc-new-patients__visit-card h2 {
  color: #fff;
  font-family: "Lato", sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.3;
}

.npdc-new-patients__visit-card h3 {
  margin-bottom: 10px;
  color: #0ecae9;
  font-family: "Cormorant Garamond", serif;
  font-size: 43px;
  font-weight: 600;
  line-height: 1.1;
}

.npdc-new-patients__visit-card p {
  color: #fff;
  font-weight: 600;
}

.npdc-new-patients__testimonials {
  min-height: 1260px;
  padding: 120px 20px;
  overflow: hidden;
}

.npdc-new-patients__testimonials-grid {
  display: grid;
  grid-template-columns: 40% 57%;
  gap: 3%;
}

.npdc-new-patients__testimonials-title {
  position: sticky;
  top: 120px;
  align-self: start;
}

.npdc-new-patients__testimonials-title h2 {
  max-width: 430px;
  margin-top: 20px;
  color: #2f2f2f;
  font-family: "Cormorant Garamond", serif;
  font-size: 68px;
  font-weight: 600;
  line-height: 1.08;
}

.npdc-new-patients__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.npdc-new-patients__cards blockquote {
  min-height: 190px;
  padding: 30px;
  color: #aaa;
  background: #fafafa;
  font-style: normal;
}

.npdc-new-patients__cards blockquote:nth-child(3),
.npdc-new-patients__cards blockquote:nth-child(4),
.npdc-new-patients__cards blockquote:nth-child(7),
.npdc-new-patients__cards blockquote:nth-child(8) {
  transform: translateY(80px);
}

.npdc-new-patients__cards cite {
  display: block;
  margin-top: 20px;
  color: #555;
  font-style: normal;
  font-weight: 700;
}

.npdc-new-patients__watermark {
  position: absolute;
  z-index: -1;
  right: -90px;
  bottom: 105px;
  left: -90px;
  color: #fff;
  font-family: "Cormorant Garamond", serif;
  font-size: 190px;
  line-height: 1;
  text-align: center;
  -webkit-text-stroke: 2px #f3f3f3;
}

/* Patient forms, appointment, and registration pages. */
.npdc-dark-form-page,
.npdc-registration {
  position: relative;
  min-height: 1225px;
  padding: 220px 20px 120px;
  isolation: isolate;
  color: #fff;
  background: #334155;
}

.npdc-dark-form-page__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.npdc-dark-form-page h1 {
  color: #fff;
  font-family: "Cormorant Garamond", serif;
  font-size: 90px;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
}

.npdc-dark-form-page__lead {
  max-width: 730px;
  margin-top: 25px !important;
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  line-height: 1.6;
  text-align: center;
}

.npdc-patient-forms__cards {
  display: flex;
  width: 550px;
  margin-top: 48px;
  flex-direction: column;
  gap: 20px;
}

.npdc-patient-forms__cards section {
  display: flex;
  min-height: 328px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  color: #fff;
  background: #334155;
}

.npdc-patient-forms__cards h2 {
  margin-bottom: 25px;
  color: #fff;
  font-family: "Cormorant Garamond", serif;
  font-size: 43px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}

.npdc-patient-forms__cards a {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  padding: 16px 32px;
  border-radius: 999px;
  color: #fff;
  background: #0ecae9;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
}

.npdc-appointments {
  min-height: 1200px;
}

.npdc-appointments .npdc-dark-form-page__lead {
  max-width: 770px;
}

.npdc-appointments__card {
  width: 1000px;
  min-height: 574px;
  margin-top: 45px;
  padding: 50px;
  border: 1px solid #fff;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 0 42px rgba(0, 0, 0, 0.5);
}

.npdc-appointments__card > h2 {
  margin-bottom: 25px;
  color: #2f2f2f;
  font-family: "Roboto", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.npdc-appointments__card .gform_wrapper {
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.npdc-appointments__card .gform_fields {
  gap: 10px;
}

.npdc-appointments__card .gfield {
  margin: 0;
}

.npdc-appointments__card .gform_wrapper input:not([type="checkbox"]):not([type="radio"]),
.npdc-appointments__card .gform_wrapper textarea {
  min-height: 58px;
  padding: 14px 20px;
  border: 1px solid rgba(2, 1, 1, 0.2);
  border-radius: 0;
  font-size: 18px;
}

.npdc-appointments__card .gform_wrapper textarea {
  min-height: 115px;
}

.npdc-appointments__card .gform_footer {
  margin-top: 10px;
  padding: 0;
}

.npdc-appointments__card .gform_button {
  width: 100%;
  min-height: 52px;
  margin: 0;
  border-radius: 999px;
  color: #fff;
  background: #0ecae9;
}

.npdc-registration {
  min-height: 1530px;
  padding-top: 220px;
}

.npdc-registration__card {
  position: relative;
  z-index: 1;
  width: min(1280px, 100%);
  min-height: 1280px;
  margin-inline: auto;
  padding: 50px;
  color: #334155;
  background: #fff;
}

.npdc-registration__card .gform_wrapper {
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.npdc-registration__card .gform_title {
  color: #2f2f2f;
  font-family: "Cormorant Garamond", serif;
  font-size: 54px;
  font-weight: 600;
  line-height: 1.1;
}

.npdc-registration__card input:not([type="checkbox"]):not([type="radio"]),
.npdc-registration__card select {
  min-height: 38px;
  border-radius: 0;
}

/* Team page. */
.npdc-team {
  color: #2f2f2f;
  background: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  line-height: 1.6;
}

.npdc-team__hero {
  position: relative;
  display: flex;
  min-height: 536px;
  padding: 200px 20px;
  isolation: isolate;
  background: #334155 url("/wp-content/uploads/2025/11/bg_texture.webp") center / cover;
}

.npdc-team__hero::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  background: rgba(33, 42, 56, 0.77);
}

.npdc-team__hero .npdc-production-shell {
  display: flex;
  flex-direction: column;
  gap: 20px;
  text-align: center;
}

.npdc-team__hero h1 {
  color: #fff;
  font-family: "Cormorant Garamond", serif;
  font-size: 90px;
  font-weight: 600;
  line-height: 1.1;
}

.npdc-team__hero p,
.npdc-team__hero a {
  color: #fff;
  font-family: "Lato", sans-serif;
  font-size: 21px;
  font-weight: 600;
}

.npdc-team__gallery {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(960px, calc(100% - 40px));
  margin: -119px auto 0;
  grid-template-columns: 1fr 1.25fr 1fr;
  gap: 20px;
  align-items: center;
}

.npdc-team__gallery-image {
  min-height: 268px;
  border: 2px solid #fff;
  border-radius: 25px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.npdc-team__gallery-image--one { background-image: url("/wp-content/uploads/2026/02/backofficeladies.webp"); }
.npdc-team__gallery-image--two { min-height: 298px; background-image: url("/wp-content/uploads/2026/02/2258235707821774229.webp"); }
.npdc-team__gallery-image--three { background-image: url("/wp-content/uploads/2026/02/4977834758704405348.webp"); }

.npdc-team-member {
  padding: 120px 20px;
}

.npdc-team-member--mist {
  background: #effaff;
}

.npdc-team-member__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.npdc-team-member__grid--image-first > img { order: -1; }

.npdc-team-member__copy h2 {
  color: #2f2f2f;
  font-family: "Cormorant Garamond", serif;
  font-size: 68px;
  font-weight: 600;
  line-height: 1.1;
}

.npdc-team-member__copy > .npdc-production-kicker {
  margin-top: 12px;
}

.npdc-team-member__bio {
  margin-top: 30px;
  padding: 40px;
  color: #2f2f2f;
  background: #fff;
}

.npdc-team-member:not(.npdc-team-member--mist) .npdc-team-member__bio {
  background: #effaff;
}

.npdc-team-member__bio p + p {
  margin-top: 18px;
}

.npdc-team-member__grid > img {
  width: 100%;
  height: 650px;
  border-radius: 12px;
  object-fit: cover;
}

/* Dental services hub. */
.npdc-services-hub {
  color: #7a7a7a;
  background: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

.npdc-services-hub__body {
  padding: 120px 20px;
}

.npdc-services-hub__grid {
  display: grid;
  grid-template-columns: minmax(0, 70%) minmax(0, 25%);
  gap: 5%;
}

.npdc-services-hub__main > h2,
.npdc-services-hub__help h2,
.npdc-services-hub__cta h2 {
  margin: 0 0 20px;
  color: #2f2f2f;
  font-family: "Cormorant Garamond", serif;
  font-size: 43px;
  font-weight: 600;
  line-height: 1.1;
}

.npdc-services-hub__main > p,
.npdc-services-hub__help p,
.npdc-services-hub__cta p {
  margin-bottom: 20px;
}

.npdc-services-hub a {
  color: #0ecae9;
}

.npdc-services-hub .npdc-production-button {
  margin: 5px 0 35px;
  color: #fff;
}

.npdc-services-hub__care,
.npdc-services-hub__help {
  margin: 25px 0;
  padding: 40px;
}

.npdc-services-hub__care {
  background: #effaff;
}

.npdc-services-hub__care h3,
.npdc-services-hub__help h2 {
  margin-bottom: 12px;
  color: #2f2f2f;
  font-family: "Lato", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.25;
}

.npdc-services-hub__care p {
  margin-bottom: 12px;
}

.npdc-services-hub__lead-image {
  display: block;
  width: 100%;
  height: 520px;
  margin: 28px 0 35px;
  border-radius: 12px;
  object-fit: cover;
}

.npdc-services-feature {
  display: grid;
  margin: 22px 0;
  grid-template-columns: 42px 1fr;
  gap: 12px;
}

.npdc-services-feature > span {
  color: #0ecae9;
  font-size: 50px;
  font-weight: 300;
  line-height: 0.9;
}

.npdc-services-feature h3 {
  color: #2f2f2f;
  font-family: "Cormorant Garamond", serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.2;
}

.npdc-services-feature p {
  margin-top: 4px;
}

.npdc-services-hub__help {
  background: #f1f1f1;
}

.npdc-services-hub__main hr {
  margin: 30px 0 35px;
  border: 0;
  border-top: 1px solid #d9d9d9;
}

.npdc-services-hub__sidebar > .npdc-service-sidebar {
  width: 100%;
}

.npdc-services-hub__faq {
  position: relative;
  padding: 100px 20px;
  isolation: isolate;
  color: #fff;
  background: #334155;
  text-align: center;
}

.npdc-services-hub__faq h2 {
  max-width: 820px;
  margin: 18px auto 35px;
  color: #fff;
  font-family: "Cormorant Garamond", serif;
  font-size: 68px;
  font-weight: 600;
  line-height: 1.1;
}

.npdc-services-hub__faq-list {
  display: flex;
  max-width: 1180px;
  margin-inline: auto;
  flex-direction: column;
  gap: 12px;
  text-align: left;
}

.npdc-services-hub__faq details {
  border-radius: 25px;
  color: #334155;
  background: #fff;
}

.npdc-services-hub__faq summary {
  padding: 14px 22px;
  cursor: pointer;
  font-weight: 700;
}

.npdc-services-hub__faq details p {
  padding: 0 22px 20px;
}

.npdc-services-hub__cta {
  padding: 80px 20px;
  background: #fff;
}

.npdc-services-hub__cta .npdc-production-shell {
  padding: 70px;
  border-radius: 12px;
  color: #fff;
  background: #334155;
}

.npdc-services-hub__cta .npdc-production-shell > div {
  max-width: 760px;
}

.npdc-services-hub__cta h2,
.npdc-services-hub__cta p,
.npdc-services-hub__cta a {
  color: #fff;
}

/* Legal pages. */
.npdc-legal {
  color: #7a7a7a;
  background: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  line-height: 1.6;
}

.npdc-legal__section {
  padding: 80px 20px;
}

.npdc-legal__grid {
  display: grid;
  grid-template-columns: 21% 70%;
  justify-content: space-between;
}

.npdc-legal__grid h2 {
  margin-bottom: 25px;
  color: #2f2f2f;
  font-family: "Cormorant Garamond", serif;
  font-size: 56px;
  font-weight: 600;
  line-height: 1.1;
}

.npdc-legal__grid p + p,
.npdc-legal__grid ul + p {
  margin-top: 14px;
}

.npdc-legal__grid a {
  color: #0ecae9;
}

.npdc-legal__cta {
  position: relative;
  padding: 100px 20px;
  isolation: isolate;
  color: #fff;
  background: #334155;
  text-align: center;
}

.npdc-legal__cta .npdc-production-shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 25px;
}

.npdc-legal__cta h2 {
  color: #fff;
  font-family: "Cormorant Garamond", serif;
  font-size: 58px;
  font-weight: 600;
  line-height: 1.1;
}

.npdc-legal__cta p {
  max-width: 760px;
  color: #fff;
}

/* Source archive, search, and not-found surfaces. */
.npdc-source-index,
.npdc-source-not-found {
  width: min(1180px, calc(100% - 40px));
  min-height: 0;
  margin-inline: auto;
  padding: 14px 0 80px;
  color: #7a7a7a;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

.npdc-source-index > .wp-block-query-title,
.npdc-source-not-found h1 {
  margin: 0 0 50px;
  color: #2f2f2f;
  font-family: "Cormorant Garamond", serif;
  font-size: 68px;
  font-weight: 600;
  line-height: 1.1;
}

.npdc-source-results .wp-block-post-template {
  display: block;
  padding: 0;
}

.npdc-source-result {
  margin: 0 0 42px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.npdc-source-result .wp-block-post-title {
  margin: 0 0 24px;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.npdc-source-result .wp-block-post-title a {
  color: #0ecae9;
  text-decoration: none;
}

.npdc-source-result .wp-block-post-featured-image {
  margin: 0 0 18px;
}

.npdc-source-result .wp-block-post-featured-image img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 560px;
  border-radius: 12px;
  object-fit: cover;
}

.npdc-source-result .wp-block-post-excerpt,
.npdc-source-result .wp-block-post-excerpt__excerpt {
  margin: 0;
}

.npdc-source-search .npdc-source-result .wp-block-post-featured-image img {
  max-width: 820px;
}

.npdc-source-not-found {
  padding-bottom: 32px;
}

.npdc-source-not-found h1 {
  margin-bottom: 18px;
}

.npdc-source-not-found p {
  margin: 0;
}

@media (max-width: 1365px) and (min-width: 768px) {
  .npdc-production-shell { max-width: calc(100vw - 80px); }
}

@media (max-width: 1024px) {
  .npdc-new-patients__testimonials-grid,
  .npdc-services-hub__grid {
    grid-template-columns: 1fr;
  }

  .npdc-new-patients__testimonials-title { position: static; }
  .npdc-services-hub__sidebar { margin-top: 50px; }
}

@media (max-width: 767px) {
  .npdc-production-kicker { font-size: 14px; }

  .npdc-production-hero {
    min-height: 519px;
    padding: 240px 20px 120px;
  }

  .npdc-production-hero h1 {
    font-size: 50px;
    line-height: 58px;
  }

  .npdc-production-hero p,
  .npdc-production-hero p a {
    font-size: 16px;
  }

  .npdc-production-hero--services h1 {
    font-size: 46px;
    line-height: 52px;
  }

  .npdc-new-patients,
  .npdc-team,
  .npdc-legal {
    font-size: 14px;
  }

  .npdc-new-patients__intro {
    min-height: 790px;
    padding: 30px 20px 100px;
  }

  .npdc-new-patients__intro-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .npdc-new-patients__intro-copy h2 {
    margin-bottom: 20px;
    font-size: 25px;
    line-height: 33px;
  }

  .npdc-new-patients__intro-copy p + p { margin-top: 24px; }

  .npdc-new-patients__visit {
    min-height: 795px;
    padding: 30px;
  }

  .npdc-new-patients__visit-grid {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }

  .npdc-new-patients__visit-image,
  .npdc-new-patients__visit-image > img {
    height: 405px;
  }

  .npdc-new-patients__quote {
    width: 100%;
    min-height: 178px;
    padding: 25px;
  }

  .npdc-new-patients__quote img {
    width: 40px;
    height: 40px;
    margin-bottom: 12px;
  }

  .npdc-new-patients__visit-card {
    min-height: 250px;
    padding: 30px;
    align-items: center;
    text-align: center;
  }

  .npdc-new-patients__visit-card h2 { font-size: 20px; }
  .npdc-new-patients__visit-card h3 { font-size: 30px; line-height: 38px; }

  .npdc-new-patients__testimonials {
    min-height: 1890px;
    padding: 30px 20px;
  }

  .npdc-new-patients__testimonials-grid { gap: 30px; }
  .npdc-new-patients__testimonials-title { text-align: center; }
  .npdc-new-patients__testimonials-title h2 {
    margin: 12px auto 0;
    font-size: 38px;
    line-height: 46px;
  }

  .npdc-new-patients__cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .npdc-new-patients__cards blockquote {
    min-height: 155px;
    padding: 24px;
  }

  .npdc-new-patients__cards blockquote:nth-child(n) { transform: none; }
  .npdc-new-patients__watermark {
    bottom: 80px;
    font-size: 72px;
  }

  .npdc-dark-form-page,
  .npdc-registration {
    min-height: 1320px;
    padding: 220px 20px 120px;
  }

  .npdc-dark-form-page h1 {
    font-size: 50px;
    line-height: 58px;
  }

  .npdc-dark-form-page__lead {
    max-width: 350px;
    font-size: 14px;
    line-height: 1.55;
  }

  .npdc-patient-forms__cards {
    width: 100%;
    margin-top: 42px;
    gap: 20px;
  }

  .npdc-patient-forms__cards section { min-height: 328px; }
  .npdc-patient-forms__cards h2 { font-size: 36px; line-height: 1.05; }
  .npdc-patient-forms__cards a { min-height: 44px; padding: 12px 25px; font-size: 13px; }

  .npdc-appointments { min-height: 1305px; }
  .npdc-appointments__card {
    width: 100%;
    min-height: 574px;
    margin-top: 45px;
    padding: 50px;
  }

  .npdc-appointments__card > h2 { font-size: 22px; }
  .npdc-appointments__card .gform_wrapper input:not([type="checkbox"]):not([type="radio"]),
  .npdc-appointments__card .gform_wrapper textarea { font-size: 16px; }

  .npdc-registration {
    min-height: 1820px;
    padding: 125px 14px 100px;
  }

  .npdc-registration__card {
    min-height: 1620px;
    padding: 28px;
  }

  .npdc-registration__card .gform_title { font-size: 38px; }
  .npdc-registration__card .gform_wrapper { font-size: 12px; }

  .npdc-team__hero {
    min-height: 376px;
    padding: 200px 20px 100px;
  }

  .npdc-team__hero h1 { font-size: 50px; line-height: 58px; }
  .npdc-team__hero p,
  .npdc-team__hero a { font-size: 14px; }

  .npdc-team__gallery {
    display: none;
  }

  .npdc-team-member { padding: 30px 20px; }
  .npdc-team-member__grid {
    display: flex;
    flex-direction: column;
    gap: 25px;
  }

  .npdc-team-member__grid > img,
  .npdc-team-member__grid--image-first > img {
    order: -1;
    height: auto;
    max-height: none;
    aspect-ratio: auto;
  }

  .npdc-team-member__copy { width: 100%; }
  .npdc-team-member__copy h2 { font-size: 38px; line-height: 46px; text-align: center; }
  .npdc-team-member__copy > .npdc-production-kicker { text-align: center; }
  .npdc-team-member__bio { margin-top: 20px; padding: 25px; }

  .npdc-services-hub { font-size: 14px; }
  .npdc-services-hub__body { padding: 30px 20px; }
  .npdc-services-hub__main > h2,
  .npdc-services-hub__help h2,
  .npdc-services-hub__cta h2 { font-size: 30px; line-height: 38px; }
  .npdc-services-hub__care,
  .npdc-services-hub__help { padding: 24px; }
  .npdc-services-hub__care h3,
  .npdc-services-hub__help h2 { font-size: 22px; line-height: 30px; }
  .npdc-services-hub__lead-image { height: auto; }
  .npdc-services-feature { grid-template-columns: 32px 1fr; }
  .npdc-services-feature h3 { font-size: 22px; line-height: 30px; }
  .npdc-services-hub__faq { padding: 60px 20px; }
  .npdc-services-hub__faq h2 { font-size: 38px; line-height: 46px; }
  .npdc-services-hub__faq summary { padding: 12px 16px; font-size: 12px; }
  .npdc-services-hub__cta { padding: 30px 20px; }
  .npdc-services-hub__cta .npdc-production-shell { padding: 40px; }

  .npdc-legal__section { padding: 20px 20px 50px; }
  .npdc-legal__grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .npdc-legal__grid h2 { margin-bottom: 20px; font-size: 25px; line-height: 33px; }
  .npdc-legal__cta { padding: 100px 20px; }
  .npdc-legal__cta h2 { font-size: 38px; line-height: 46px; }

  .npdc-source-index,
  .npdc-source-not-found {
    width: calc(100% - 40px);
    padding-top: 12px;
    font-size: 14px;
  }
  .npdc-source-index > .wp-block-query-title,
  .npdc-source-not-found h1 { margin-bottom: 35px; font-size: 38px; line-height: 46px; }
  .npdc-source-result { margin-bottom: 34px; }
  .npdc-source-result .wp-block-post-title { margin-bottom: 16px; font-size: 14px; }
  .npdc-source-result .wp-block-post-featured-image img { width: 100%; max-height: none; }
  .npdc-source-not-found { padding-bottom: 22px; }
}

/* --- site-v17.css --- */
/* Inventory-wide production-parity release corrections. */

/* New Patients: preserve the source's column-major testimonial order without
   translated cards colliding, and remove the mobile dead zone below the list. */
@media (min-width: 1025px) {
  .npdc-new-patients__cards {
    grid-auto-flow: column;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(4, auto);
  }

  .npdc-new-patients__cards blockquote:nth-child(n) {
    transform: none;
  }
}

/* Gravity Forms 4 ships legacy markup on this installation. Match the source
   hidden-label, full-width field treatment rather than its default label grid. */
.npdc-appointments .npdc-dark-form-page__lead {
  width: 67%;
  max-width: none;
  margin-top: 20px !important;
  line-height: 1.6;
}

.npdc-appointments__card {
  width: 78%;
  min-height: 574px;
  margin-top: 40px;
}

.npdc-appointments {
  min-height: 1188.19px;
}

.npdc-appointments__card .gfield_label {
  display: none !important;
}

.npdc-appointments__card .gform_wrapper,
.npdc-appointments__card .gform_fields,
.npdc-appointments__card .gfield,
.npdc-appointments__card .ginput_container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.npdc-appointments__card .gform_fields {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
}

.npdc-appointments__card .gform_wrapper input:not([type="checkbox"]):not([type="radio"]),
.npdc-appointments__card .gform_wrapper textarea {
  width: 100% !important;
}

.npdc-appointments__card .gform_wrapper textarea {
  height: 115px !important;
  min-height: 115px !important;
}

/* Registration: the source uses the same Gravity Forms runtime at a narrower,
   deliberately inset width with the theme's native heading margins intact. */
.npdc-registration {
  min-height: 2483.64px;
  padding: 389px 20px 170px;
}

.npdc-registration__card {
  width: min(1180px, 100%);
  min-height: 0;
  padding: 0;
}

.npdc-registration__card .gform_title {
  margin: 8px 0 16px;
  font-size: 68px;
  line-height: 1.1;
}

.npdc-registration__card .gsection_title {
  margin: 8px 0 16px;
}

/* Team page: source mobile portraits are intentionally cropped to two
   distinct heights rather than rendered at each file's natural aspect ratio. */
@media (max-width: 767px) {
  .npdc-new-patients__testimonials {
    min-height: 1544px;
  }

  .npdc-appointments {
    min-height: 1300.88px;
  }

  .npdc-appointments .npdc-dark-form-page__lead {
    width: 67%;
  }

  .npdc-appointments__card {
    width: 100%;
    margin-top: 40px;
  }

  .npdc-registration {
    min-height: 3649.39px;
    padding: 488px 20px 170px;
  }

  .npdc-registration__card {
    width: 250px;
    min-height: 0;
    padding: 0;
  }

  .npdc-registration__card .gform_wrapper {
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-registration__card .gform_title {
    font-size: 42px;
    line-height: 46.2px;
  }

  .npdc-team__hero {
    min-height: 461.41px;
  }

  .npdc-team-member:nth-of-type(2) .npdc-team-member__grid > img,
  .npdc-team-member:nth-of-type(4) .npdc-team-member__grid > img,
  .npdc-team-member:nth-of-type(5) .npdc-team-member__grid > img {
    width: 350px;
    height: 350px;
    object-fit: cover;
  }

  .npdc-team-member:nth-of-type(3) .npdc-team-member__grid > img,
  .npdc-team-member:nth-of-type(6) .npdc-team-member__grid > img {
    width: 350px;
    height: 291px;
    object-fit: cover;
  }
}

/* Dental-services hub: use the same type rhythm and section geometry as the
   current source at both release-gate viewports. */
@media (min-width: 768px) {
  .npdc-services-hub {
    font-size: 18px;
    line-height: 1.6;
  }

  .npdc-services-hub__body {
    min-height: 3764.28px;
  }

  .npdc-services-hub__faq {
    min-height: 884.38px;
  }

  .npdc-services-hub__cta {
    min-height: 734.78px;
  }

  .npdc-production-parity-page--terms-of-service .npdc-legal__section {
    padding-top: 113.28px;
    padding-bottom: 113.28px;
  }
}

.npdc-production-hero--services {
  background-image: url("/wp-content/uploads/2025/11/shutterstock_2207894257-scaled.jpg.webp");
}

.npdc-services-feature > span::before {
  color: #0ecae9;
  content: "›";
}

@media (max-width: 767px) {
  .npdc-services-hub > .npdc-production-hero {
    min-height: 577.41px;
  }

  .npdc-services-hub__body {
    min-height: 5339.34px;
  }

  .npdc-services-hub__faq {
    min-height: 838.09px;
  }

  .npdc-services-hub__cta {
    min-height: 526.22px;
  }

  .npdc-production-parity-page--privacy-policy .npdc-legal__section {
    padding-bottom: 26.68px;
  }

  .npdc-production-parity-page--terms-of-service .npdc-legal__section {
    padding-bottom: 24.53px;
  }

  .npdc-production-parity-page--hipaa-notice .npdc-legal__section {
    padding-bottom: 43.18px;
  }
}

/* Native archive/search/404 templates mirror Hello Elementor's source index
   widths, heading metrics, article rhythm, and responsive image policy. */
.npdc-source-index,
.npdc-source-not-found {
  box-sizing: border-box;
  width: min(1140px, 100%);
  margin-inline: auto;
  padding: 0;
  color: #7a7a7a;
  font-size: 18px;
  line-height: 28.8px;
}

.npdc-source-index > *,
.npdc-source-not-found > * {
  max-width: none !important;
}

.npdc-source-index > .wp-block-query-title,
.npdc-source-not-found h1 {
  margin: 8px 0 16px;
  font-size: 90px;
  line-height: 99px;
}

.npdc-source-results {
  margin-top: 0 !important;
}

.npdc-source-result {
  margin-bottom: 8px;
  font-size: 18px;
  line-height: 28.8px;
}

.npdc-source-result .wp-block-post-title {
  min-height: 74.8px;
  margin: 0 0 16px;
  font-size: 68px;
  line-height: 74.8px;
}

.npdc-source-result .wp-block-post-title a {
  font-size: 16px;
  line-height: 22.4px;
}

.npdc-source-result .wp-block-post-featured-image {
  margin: 0 0 20px;
}

.npdc-source-result .wp-block-post-featured-image img {
  width: 100%;
  height: auto;
  max-height: 500px;
  object-fit: cover;
}

.npdc-source-result:first-child .wp-block-post-featured-image img {
  width: 800px;
  max-height: none;
}

.npdc-source-result .wp-block-post-excerpt {
  margin-bottom: 16px;
}

.npdc-source-not-found p,
.npdc-source-search .wp-block-query-no-results p {
  margin: 0;
}

@media (max-width: 767px) {
  .npdc-source-index,
  .npdc-source-not-found {
    width: 100%;
    padding: 0 10px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-index > .wp-block-query-title,
  .npdc-source-not-found h1 {
    margin: 8px 0 16px;
    font-size: 60px;
    line-height: 66px;
  }

  .npdc-source-result {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 22.4px;
  }

  .npdc-source-result .wp-block-post-title {
    min-height: 46.2px;
    margin: 0 0 16px;
    font-size: 42px;
    line-height: 46.2px;
  }

  .npdc-source-result .wp-block-post-title a {
    font-size: 14px;
    line-height: 19.6px;
  }

  .npdc-source-result .wp-block-post-featured-image img,
  .npdc-source-result:first-child .wp-block-post-featured-image img {
    width: 100%;
    height: auto;
    max-height: 300px;
    object-fit: cover;
  }
}

/* Blog pagination has page-dependent card rows. Fixed page-one dimensions
   must not stretch the shorter later pages. */
.paged-2.npdc-blog-page .rom-blog-card {
  height: 713.234px;
  min-height: 713.234px;
}

.paged-3.npdc-blog-page .rom-blog-card {
  height: 648.031px;
  min-height: 648.031px;
}

@media (max-width: 820px) {
  .paged-2.npdc-blog-page .rom-blog-grid {
    height: 6799.844px;
  }

  .paged-3.npdc-blog-page .rom-blog-grid {
    height: 1873.781px;
  }

  .paged-2.npdc-blog-page .rom-blog-card,
  .paged-3.npdc-blog-page .rom-blog-card {
    height: 100%;
    min-height: 0;
  }
}

/* Single-post body illustrations retain their source intrinsic dimensions. */
.single-post .npdc-article__image img {
  box-shadow: none;
}

.single-post .npdc-article__body img[src*="/FAV.png"] {
  width: 400px;
  max-width: 100%;
  height: auto;
}

/* Shared service layout: each source FAQ and CTA has content-dependent height.
   Carry that contract per page instead of stretching every page to one sample. */
.npdc-service-page .npdc-page-hero,
.npdc-service-page .npdc-page-hero__inner {
  height: 510.8px;
  min-height: 510.8px;
}

.npdc-service-page .npdc-page-hero + .npdc-service-content-section {
  margin-top: 0;
}

.npdc-service-page--emax-crowns .npdc-service-content-section { min-height: 2898.95px; }
.npdc-service-page--cosmetic-dentistry .npdc-service-content-section { min-height: 7958.91px; }
.npdc-service-page--dental-bridges .npdc-service-content-section { min-height: 3465.11px; }
.npdc-service-page--dental-fillings .npdc-service-content-section { min-height: 6470.13px; }
.npdc-service-page--dental-veneers .npdc-service-content-section { min-height: 8272.97px; }
.npdc-service-page--dentures .npdc-service-content-section { min-height: 8030.22px; }
.npdc-service-page--gum-treatment .npdc-service-content-section { min-height: 10160.7px; }
.npdc-service-page--implant-supported-dentures .npdc-service-content-section { min-height: 5339.94px; }
.npdc-service-page--periodontal-maintenance .npdc-service-content-section { min-height: 11079.2px; }
.npdc-service-page--root-canals .npdc-service-content-section { min-height: 10514.83px; }
.npdc-service-page--tooth-extractions .npdc-service-content-section { min-height: 8892.27px; }

.npdc-service-page--emax-crowns { --npdc-faq-height: 1021.97px; --npdc-cta-height: 743.58px; }
.npdc-service-page--cosmetic-dentistry { --npdc-faq-height: 1297.16px; --npdc-cta-height: 792.38px; }
.npdc-service-page--dental-bridges { --npdc-faq-height: 1021.97px; --npdc-cta-height: 763.58px; }
.npdc-service-page--dental-fillings { --npdc-faq-height: 1228.36px; --npdc-cta-height: 792.38px; }
.npdc-service-page--dental-veneers { --npdc-faq-height: 1434.75px; --npdc-cta-height: 792.38px; }
.npdc-service-page--dentures { --npdc-faq-height: 1365.95px; --npdc-cta-height: 792.38px; }
.npdc-service-page--gum-treatment { --npdc-faq-height: 1503.55px; --npdc-cta-height: 792.38px; }
.npdc-service-page--implant-supported-dentures { --npdc-faq-height: 1303.16px; --npdc-cta-height: 849.97px; }
.npdc-service-page--periodontal-maintenance { --npdc-faq-height: 1572.34px; --npdc-cta-height: 849.97px; }
.npdc-service-page--root-canals { --npdc-faq-height: 1503.55px; --npdc-cta-height: 792.38px; }
.npdc-service-page--tooth-extractions { --npdc-faq-height: 1572.34px; --npdc-cta-height: 792.38px; }

.npdc-service-page .npdc-service-faq-section,
.npdc-service-page .npdc-section--mist.npdc-service-faq-section {
  height: var(--npdc-faq-height);
  min-height: var(--npdc-faq-height);
}

.npdc-service-page .npdc-section--cta {
  height: var(--npdc-cta-height);
  min-height: var(--npdc-cta-height);
}

.npdc-service-page .npdc-section--cta > .npdc-section__inner,
.npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout > .npdc-flow {
  height: calc(var(--npdc-cta-height) - 200px);
  min-height: calc(var(--npdc-cta-height) - 200px);
}

@media (max-width: 820px) {
  .npdc-service-page--emax-crowns { --npdc-hero-height: 461.41px; --npdc-content-height: 4695.17px; --npdc-faq-height: 850.88px; --npdc-cta-height: 506.22px; }
  .npdc-service-page--cosmetic-dentistry { --npdc-hero-height: 519.41px; --npdc-content-height: 9825.19px; --npdc-faq-height: 1167.72px; --npdc-cta-height: 571.03px; }
  .npdc-service-page--dental-bridges { --npdc-hero-height: 461.41px; --npdc-content-height: 5250.48px; --npdc-faq-height: 828.47px; --npdc-cta-height: 526.22px; }
  .npdc-service-page--dental-fillings { --npdc-hero-height: 461.41px; --npdc-content-height: 7896.14px; --npdc-faq-height: 1015.69px; --npdc-cta-height: 571.03px; }
  .npdc-service-page--dental-veneers { --npdc-hero-height: 461.41px; --npdc-content-height: 10355.05px; --npdc-faq-height: 1247.72px; --npdc-cta-height: 571.03px; }
  .npdc-service-page--dentures { --npdc-hero-height: 461.41px; --npdc-content-height: 9484.13px; --npdc-faq-height: 1207.72px; --npdc-cta-height: 571.03px; }
  .npdc-service-page--gum-treatment { --npdc-hero-height: 461.41px; --npdc-content-height: 12541.83px; --npdc-faq-height: 1377.34px; --npdc-cta-height: 548.63px; }
  .npdc-service-page--implant-supported-dentures { --npdc-hero-height: 577.41px; --npdc-content-height: 7283.03px; --npdc-faq-height: 1214.53px; --npdc-cta-height: 604.63px; }
  .npdc-service-page--periodontal-maintenance { --npdc-hero-height: 519.41px; --npdc-content-height: 13468.13px; --npdc-faq-height: 1638.59px; --npdc-cta-height: 604.63px; }
  .npdc-service-page--root-canals { --npdc-hero-height: 461.41px; --npdc-content-height: 12811.14px; --npdc-faq-height: 1310.13px; --npdc-cta-height: 593.44px; }
  .npdc-service-page--tooth-extractions { --npdc-hero-height: 519.41px; --npdc-content-height: 10724.28px; --npdc-faq-height: 1439.75px; --npdc-cta-height: 571.03px; }

  .npdc-service-page .npdc-page-hero,
  .npdc-service-page .npdc-page-hero__inner {
    height: var(--npdc-hero-height);
    min-height: var(--npdc-hero-height);
  }

  .npdc-service-page .npdc-service-content-section {
    min-height: var(--npdc-content-height);
  }

  .npdc-service-page .npdc-section--cta > .npdc-section__inner,
  .npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout > .npdc-flow {
    height: calc(var(--npdc-cta-height) - 60px);
    min-height: calc(var(--npdc-cta-height) - 60px);
  }
}
/* --- site-v18.css --- */
/* Exhaustive inventory parity corrections after all 56 public surfaces were
   compared at 1440px and 390px against the current production site. */

/* Patient Registration: the production form sits inside a white, full-height
   flex card. Matching only the form coordinates left the surrounding card
   100px too narrow and visually delayed even though total page height passed.
   Preserve the source card, inset, and bottom-aligned form contract. */
.npdc-registration {
  box-sizing: border-box;
  display: flex;
  align-items: stretch;
  justify-content: center;
  min-height: 2483.64px;
  padding: 220px 20px 120px;
}

.npdc-registration__card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: min(1280px, 100%);
  min-height: 0;
  margin-inline: 0;
  padding: 50px;
  background: #fff;
}

.npdc-registration__card .gform_wrapper {
  background: transparent;
}

@media (max-width: 767px) {
  .npdc-registration {
    min-height: 3649.39px;
    padding: 220px 20px 120px;
  }

  .npdc-registration__card {
    width: 100%;
    min-height: 0;
    padding: 50px;
  }
}

/* About: the source commitment band is shorter than the reusable section
   default while its content still fits at the desktop release viewport. */
@media (min-width: 768px) {
  .npdc-about-commitment {
    min-height: 762.21875px;
  }
}

/* Native archive/search images preserve the source template's two sizing
   contracts: intrinsic-width images (normally 800px, 400px for FAV.png) and
   large crops that span the 1140px result column at a 500px crop height. */
.npdc-source-result .wp-block-post-featured-image {
  width: 100%;
  max-width: none;
  margin-bottom: 8.796875px;
}

.npdc-source-results .wp-block-post-template > li + li {
  /* Core's flow layout contributes an additional 16px between list items.
     The source archive gap is 8px, so offset half of that generated gap. */
  margin-block-start: -8px;
}

.npdc-source-result {
  margin-bottom: 0;
}

.npdc-source-result .wp-block-post-title a {
  font-weight: 500;
}

@media (min-width: 768px) {
  .npdc-source-result .wp-block-post-featured-image img:not(.attachment-large) {
    width: 800px;
    max-width: 100%;
    height: auto;
    max-height: none;
    object-fit: fill;
  }

  .npdc-source-result .wp-block-post-featured-image img:not(.attachment-large)[width="400"] {
    width: 400px;
  }

  .npdc-source-result .wp-block-post-featured-image img.attachment-large {
    width: 100%;
    max-width: 100%;
    height: 500px;
    max-height: 500px;
    object-fit: cover;
  }
}

@media (max-width: 767px) {
  .npdc-source-result .wp-block-post-title a {
    display: inline;
    line-height: 22.4px;
  }

  .npdc-source-result .wp-block-post-featured-image {
    margin-bottom: 6.40625px;
  }

  .npdc-source-result .wp-block-post-featured-image img:not(.attachment-large) {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    object-fit: fill;
  }

  .npdc-source-result .wp-block-post-featured-image img.attachment-large {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 300px;
    object-fit: cover;
  }

  /* New Patients: reproduce the four source band boundaries exactly. The
     former generic minima introduced a blank strip and compressed reviews. */
  .npdc-production-hero--patients,
  .npdc-production-hero--patients .npdc-production-hero__inner {
    height: 461.40625px;
    min-height: 461.40625px;
  }

  .npdc-new-patients {
    margin-top: 0 !important;
  }

  .npdc-new-patients__intro {
    height: 725.09375px;
    min-height: 725.09375px;
  }

  .npdc-new-patients__visit {
    height: 692.8125px;
    min-height: 692.8125px;
  }

  .npdc-new-patients__testimonials {
    height: 1788.40625px;
    min-height: 1788.40625px;
  }

  /* Legal pages use content-specific source band heights. Fixed values keep
     every color boundary, CTA, and footer start aligned to production. */
  .npdc-production-parity-page--privacy-policy .npdc-legal > .npdc-legal__section:nth-of-type(2) { height: 376.25px; min-height: 376.25px; }
  .npdc-production-parity-page--privacy-policy .npdc-legal > .npdc-legal__section:nth-of-type(3) { height: 353.84375px; min-height: 353.84375px; }
  .npdc-production-parity-page--privacy-policy .npdc-legal > .npdc-legal__section:nth-of-type(4) { height: 533.09375px; min-height: 533.09375px; }
  .npdc-production-parity-page--privacy-policy .npdc-legal > .npdc-legal__section:nth-of-type(5) { height: 443.46875px; min-height: 443.46875px; }
  .npdc-production-parity-page--privacy-policy .npdc-legal > .npdc-legal__cta { height: 514.84375px; min-height: 514.84375px; }

  .npdc-production-parity-page--terms-of-service .npdc-legal > .npdc-legal__section:nth-of-type(2) { height: 331.4375px; min-height: 331.4375px; }
  .npdc-production-parity-page--terms-of-service .npdc-legal > .npdc-legal__section:nth-of-type(3) { height: 364.4375px; min-height: 364.4375px; }
  .npdc-production-parity-page--terms-of-service .npdc-legal > .npdc-legal__section:nth-of-type(4) { height: 409.25px; min-height: 409.25px; }
  .npdc-production-parity-page--terms-of-service .npdc-legal > .npdc-legal__section:nth-of-type(5) { height: 398.65625px; min-height: 398.65625px; }
  .npdc-production-parity-page--terms-of-service .npdc-legal > .npdc-legal__cta { height: 492.4375px; min-height: 492.4375px; }

  .npdc-production-parity-page--hipaa-notice .npdc-production-hero--patients,
  .npdc-production-parity-page--hipaa-notice .npdc-production-hero--patients .npdc-production-hero__inner { height: 519.40625px; min-height: 519.40625px; }
  .npdc-production-parity-page--hipaa-notice .npdc-legal > .npdc-legal__section:nth-of-type(2) { height: 476.46875px; min-height: 476.46875px; }
  .npdc-production-parity-page--hipaa-notice .npdc-legal > .npdc-legal__section:nth-of-type(3) { height: 331.4375px; min-height: 331.4375px; }
  .npdc-production-parity-page--hipaa-notice .npdc-legal > .npdc-legal__section:nth-of-type(4) { height: 398.65625px; min-height: 398.65625px; }
  .npdc-production-parity-page--hipaa-notice .npdc-legal > .npdc-legal__section:nth-of-type(5) { height: 488.28125px; min-height: 488.28125px; }
  .npdc-production-parity-page--hipaa-notice .npdc-legal > .npdc-legal__cta { height: 537.25px; min-height: 537.25px; }
}
/* --- site-v19.css --- */
/* Component-level parity corrections verified against production geometry. */

:root {
  --npdc-parity-release: 0.1.94;
}

/* Global header image uses the same centered 304.5px source rendering inside
   its 350px desktop link box. */
@media (min-width: 821px) {
  .npdc-brand img {
    margin-left: 22.5px;
    object-position: center;
  }
}

/* Homepage process cards retain the two source icons that were previously
   lost when the Elementor card wrappers were rebuilt as native markup. */
.npdc-source-step__copy > .npdc-source-step__icon {
  position: absolute;
  top: 40px;
  left: 40px;
  width: 52px;
  height: 52px;
  object-fit: contain;
}

/* Service image widths are content contracts, not one generic card width. */
@media (min-width: 821px) {
  .npdc-service-page .npdc-image {
    width: 800px;
  }

  .npdc-service-page .npdc-image img {
    width: 100%;
    height: auto;
  }

  .npdc-service-page .npdc-image img[width="740"] {
    display: block;
    width: 740px;
    margin-inline: auto;
  }

  .npdc-service-page--dental-veneers .npdc-service-lead-image,
  .npdc-service-page--gum-treatment .npdc-service-lead-image,
  .npdc-service-page--root-canals .npdc-service-lead-image,
  .npdc-service-page--tooth-extractions .npdc-service-lead-image,
  .npdc-service-page--root-canals .npdc-image:not(.npdc-service-lead-image) {
    width: 740px;
  }

  .npdc-service-page--emax-crowns .npdc-service-lead-image {
    width: 856px;
  }

  .npdc-services-hub__lead-image {
    width: 800px;
    margin-left: 8px;
  }

  .npdc-services-hub__lead-image img {
    width: 800px;
    height: auto;
  }

  .npdc-about-intro__profile img {
    position: relative;
    top: 20px;
  }

  /* Two source cards intentionally stagger the photography while keeping
     their headings and copy on the common grid. */
  .home .npdc-source-service-card:nth-child(3) .npdc-source-service-card__photo,
  .home .npdc-source-service-card:nth-child(6) .npdc-source-service-card__photo {
    top: 102.87px;
  }
}

/* Native post images honor their source width attributes while large images
   remain constrained to the 860px reading column. Featured images keep the
   source template's full-width 860px crop. */
@media (min-width: 821px) {
  .single-post .wp-block-post-content img {
    width: auto;
    max-width: 100%;
    height: auto;
  }

  .single-post .npdc-article__image img {
    width: 100% !important;
    max-width: 100%;
    height: 460px;
  }

  .single-post .wp-block-post-content img[width="740"] {
    width: 740px;
  }

  .single-post .wp-block-post-content img[width="800"] {
    width: 800px;
  }

  .single-post .wp-block-post-content img[width="400"] {
    width: 400px;
  }

  /* These two articles share the square FAV.webp asset inside a source
     460px crop. The figure retains its flow height; crop the image itself. */
  .single-post .npdc-article__body .npdc-article__image img[src*="/FAV.png"] {
    width: 100%;
    height: 460px !important;
    object-fit: cover;
  }

  /* Production expands this unusually long title band by one additional
     99px line slot before the article grid. */
  .single-post.postid-2172 .npdc-article__hero {
    min-height: 709px;
  }

  .npdc-service-page--tooth-extractions .npdc-image img[src*="/Reason-for-tooth-extraction"] {
    display: block;
    width: 740px;
    margin-inline: auto;
  }

  .npdc-production-parity-page--dental-services .npdc-service-sidebar__proof > img {
    width: 98.89px;
    height: 99.41px;
  }

  /* The previous boundary offsets compensated for images that were 40px too
     short. Once source image widths are restored, those offsets must return
     to their true source gaps. */
  .npdc-parity-boundary--cosmetic-concerns { margin-top: 0.4px !important; }
  .npdc-parity-boundary--cosmetic-process { margin-top: 0.7px !important; }
  .npdc-parity-boundary--veneers-types { margin-top: 0.1px !important; }
  .npdc-parity-boundary--veneers-benefits { margin-top: 0.2px !important; }
  .npdc-parity-boundary--gum-stages { margin-top: 0 !important; }
  .npdc-parity-boundary--gum-process { margin-top: 0.2px !important; }
  .npdc-parity-boundary--implant-comparison { margin-top: 0.5px !important; }
  .npdc-parity-boundary--root-why { margin-top: -0.1px !important; }
  .npdc-parity-boundary--extractions-types { margin-top: 0 !important; }
  .npdc-parity-boundary--extractions-process { margin-top: -0.1px !important; }
}

@media (max-width: 820px) {
  .single-post .npdc-article__hero {
    min-height: 577.4px;
    padding-bottom: 131px;
  }

  .single-post .npdc-article__meta {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start;
    min-height: 0;
    height: auto;
    column-gap: 15px !important;
    row-gap: 0 !important;
  }

  .single-post .npdc-article__meta > span,
  .single-post .npdc-article__meta > .wp-block-post-date,
  .single-post .npdc-article__meta > .wp-block-post-terms {
    width: auto;
  }

  .single-post .npdc-article__meta > .wp-block-post-terms {
    display: flex;
  }

  .single-post.postid-2176 .npdc-article__meta > .wp-block-post-date {
    width: 167.24px;
  }

  .single-post.postid-2176 .npdc-article__meta > .wp-block-post-terms {
    width: 163.88px;
  }

  .single-post.postid-2315 .npdc-article__meta > .wp-block-post-date,
  .single-post.postid-2241 .npdc-article__meta > .wp-block-post-date {
    width: 166.35px;
  }

  .single-post.postid-2315 .npdc-article__meta > .wp-block-post-terms,
  .single-post.postid-2241 .npdc-article__meta > .wp-block-post-terms {
    width: 166.83px;
  }

  .npdc-source-step__copy > .npdc-source-step__icon {
    top: 30px;
    left: 20px;
    width: 43.5px;
    height: 43.5px;
  }

  .npdc-service-page .npdc-service-sidebar__proof > img {
    width: 60.47px;
    height: 60.78px;
    opacity: 1;
  }

  .npdc-production-parity-page--dental-services .npdc-service-sidebar__proof > img {
    width: 60.47px;
    height: 60.78px;
  }

  /* The settled Elementor source leaves a 17.5px boundary before the
     process band. Preserve it in normal flow so the band and page end align. */
  .home .npdc-source-process {
    margin-top: 17.5px;
  }

  /* Core resets figcaption margins, but the source uses an 8px caption gap.
     This is cumulative on long articles with multiple captioned figures. */
  .single-post .wp-block-post-content figcaption {
    margin: 6px 0 16px;
    font-size: 16px;
  }

  /* This source paragraph lands one line taller with the production webfont.
     A fractional tracking correction preserves the identical copy and wrap. */
  .single-post.postid-2235 .wp-block-post-content p:has(+ h2:nth-of-type(2)) {
    letter-spacing: 0.03px;
  }

  .home .npdc-source-service-card:nth-child(3) .npdc-source-service-card__photo {
    top: 72.03px;
  }
}

/* New Patients: match the source hero alignment, content rhythm, and exact
   band geometry rather than relying on reusable page minima. */
@media (min-width: 821px) {
  .npdc-production-parity-page--new-patients .npdc-main > .wp-block-post-content {
    gap: 0;
  }

  .npdc-production-parity-page--new-patients .npdc-new-patients {
    margin-top: 0;
  }

  .npdc-production-parity-page--new-patients .npdc-production-hero--patients {
    height: 510.8px;
    min-height: 510.8px;
  }

  .npdc-production-parity-page--new-patients .npdc-production-hero__inner,
  .npdc-production-parity-page--new-patients .npdc-production-hero h1 {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    text-align: left;
  }

  .npdc-new-patients__intro {
    height: 778.34px;
    min-height: 778.34px;
  }

  .npdc-new-patients__intro-copy h2 {
    margin: 0;
    font-size: 48px;
    line-height: 57.6px;
  }

  .npdc-new-patients__visit-grid {
    grid-template-columns: 852.05px 407.95px;
    gap: 20px;
  }

  .npdc-new-patients__testimonials-title {
    position: static;
  }

  .npdc-new-patients__testimonials-title h2 {
    width: 494.84px;
    max-width: 494.84px;
    line-height: 74.8px;
  }

  .npdc-new-patients__testimonials-grid {
    position: relative;
    top: 1.23px;
  }
}

@media (max-width: 767px) {
  .npdc-production-parity-page--new-patients .npdc-production-hero__inner,
  .npdc-production-parity-page--new-patients .npdc-production-hero h1 {
    margin-inline: 0;
    text-align: left;
  }

  .npdc-new-patients__intro {
    height: 649.09px;
    min-height: 649.09px;
  }

  .npdc-new-patients__visit {
    height: 768.81px;
    min-height: 768.81px;
  }

  .npdc-new-patients__visit-grid {
    gap: 20px;
  }

  .npdc-new-patients__visit-image {
    height: 405px;
    min-height: 405px;
  }

  .npdc-new-patients__testimonials-grid {
    width: 330px;
    margin-inline: auto;
  }

  .npdc-new-patients__testimonials-title h2 {
    margin-top: 20px;
  }
}

/* Team: production uses no inter-paragraph margin and a larger title-to-bio
   gap. Those two rules determine every member band's natural height. */
@media (min-width: 768px) {
  .npdc-team__gallery {
    margin-bottom: -1.79px;
  }

  .npdc-team-member__bio {
    margin-top: 54px;
  }

  .npdc-team-member__bio p + p {
    margin-top: 0;
  }
}

@media (max-width: 767px) {
  .npdc-team__hero .npdc-production-shell {
    transform: translateY(40px);
  }

  .npdc-team-member__grid {
    gap: 20px;
  }

  .npdc-team-member__copy h2 {
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
  }

  .npdc-team-member__bio {
    margin-top: 48px;
    padding: 20px;
  }

  .npdc-team-member__bio p + p {
    margin-top: 0;
  }
}

/* Patient Registration: preserve the production outer white card even when
   the Gravity Forms runtime and earlier responsive rules load afterward. */
.npdc-production-parity-page--patient-registration-form .npdc-registration {
  box-sizing: border-box;
  display: flex;
  align-items: stretch;
  justify-content: center;
  min-height: 2483.64px;
  padding: 220px 20px 120px;
}

.npdc-production-parity-page--patient-registration-form .npdc-registration__card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: min(1280px, 100%);
  min-height: 0;
  margin-inline: 0;
  padding: 50px;
  background: #fff;
}

.npdc-production-parity-page--patient-registration-form .npdc-registration__card .gform_wrapper {
  background: transparent;
}

/* Appointments: Gravity Forms must reproduce the source Elementor form's
   exact control, row-gap, footer, and button geometry at the gate widths. */
.npdc-appointments__card .gform_fields {
  gap: 10px !important;
  row-gap: 10px !important;
  column-gap: 10px !important;
}

.npdc-appointments__card .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.npdc-appointments__card .gform_wrapper textarea {
  box-sizing: border-box;
  display: block !important;
  height: 59px !important;
  min-height: 59px !important;
  padding: 7px 20px !important;
  font-size: 18px !important;
  line-height: 25.2px !important;
}

.npdc-appointments__card .gform_wrapper textarea {
  height: 116.75px !important;
  min-height: 116.75px !important;
}

.npdc-appointments__card .gform_footer {
  box-sizing: border-box;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 10px 0 0 !important;
  padding: 0 0 10px !important;
}

.npdc-appointments__card .gform_button {
  box-sizing: border-box;
  display: block !important;
  width: 100% !important;
  height: 53.2px !important;
  min-height: 53.2px !important;
  margin: 0 !important;
  padding: 17px 34px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #0ecae9 !important;
  font-size: 16px !important;
  line-height: 19.2px !important;
}

/* Service pages: restore the source desktop offsets and the H4 callout-card
   boundary erased by the generic wrapper flattener. */
@media (min-width: 821px) {
  .npdc-service-page .npdc-page-hero__inner {
    padding-top: 240px;
  }

  .npdc-service-page .npdc-service-shell {
    top: 100px;
  }

  .npdc-parity-boundary--emax-why { margin-top: 37.3px !important; }
  .npdc-parity-boundary--cosmetic-concerns { margin-top: 0.4px !important; }
  .npdc-parity-boundary--cosmetic-process { margin-top: 0.7px !important; }
  .npdc-parity-boundary--veneers-types { margin-top: 0.1px !important; }
  .npdc-parity-boundary--veneers-benefits { margin-top: 0.2px !important; }
  .npdc-parity-boundary--gum-stages { margin-top: 0 !important; }
  .npdc-parity-boundary--gum-process { margin-top: 0.2px !important; }
  .npdc-parity-boundary--implant-comparison { margin-top: 40.5px !important; }
  .npdc-parity-boundary--periodontal-difference { margin-top: -20px !important; }
  .npdc-parity-boundary--periodontal-frequency { margin-top: 0 !important; }
  .npdc-parity-boundary--periodontal-severity { margin-top: -20px !important; }
  .npdc-service-page .npdc-source-h4-card.npdc-parity-boundary--periodontal-consequences { margin-top: 5.5px !important; }
  .npdc-parity-boundary--periodontal-transition { margin-top: -0.5px !important; }
  .npdc-parity-boundary--root-why { margin-top: -0.1px !important; }
  .npdc-parity-boundary--root-decay { margin-top: 20px !important; }
  .npdc-service-page .npdc-source-h4-card.npdc-parity-boundary--root-signs { margin-top: 45.1px !important; }
  .npdc-parity-boundary--root-myths { margin-top: 0 !important; }
  .npdc-parity-boundary--extractions-types { margin-top: 0 !important; }
  .npdc-parity-boundary--extractions-process { margin-top: 39.9px !important; }
  .npdc-parity-boundary--extractions-dry-socket { margin-top: -60px !important; }
  .npdc-parity-boundary--extractions-replacement { margin-top: -60px !important; }
}

.npdc-service-page .npdc-service-intro > h3 {
  line-height: 57.6px;
}

.npdc-service-page .npdc-source-h4-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-block: 25px !important;
  padding: 40px;
  background: #f1f1f1;
}

.npdc-service-page .npdc-source-h4-card > h4,
.npdc-service-page .npdc-source-h4-card > .npdc-source-h4-card__body,
.npdc-service-page .npdc-source-h4-card > .npdc-source-h4-card__body + .npdc-actions {
  margin-block: 0 !important;
}

.npdc-service-page .npdc-source-h4-card > .npdc-actions > .npdc-button {
  box-sizing: border-box;
  display: inline-block;
  flex: 0 0 auto;
  width: max-content;
  min-height: 0;
  padding: 17px 34px !important;
  border-radius: 50px;
  font-size: 16px;
  line-height: 19.2px;
}

.npdc-service-page .npdc-source-h4-card__body > * {
  margin-block: 0;
}

.npdc-service-page .npdc-source-h4-card > h4 {
  margin: 0;
  color: #2f2f2f;
  font-family: Lato, Arial, sans-serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 36.4px;
}

@media (max-width: 767px) {
  .npdc-production-parity-page--patient-registration-form .npdc-registration {
    min-height: 3649.39px;
    padding: 220px 20px 120px;
  }

  .npdc-production-parity-page--patient-registration-form .npdc-registration__card {
    width: 100%;
    min-height: 0;
    padding: 50px;
  }

  .npdc-appointments__card .gform_wrapper {
    position: relative;
    top: -2.4px;
  }

  .npdc-appointments__card .gform_button {
    height: 40.40625px !important;
    min-height: 40.40625px !important;
    padding: 13px 26px !important;
    font-size: 12px !important;
    line-height: 14.4px !important;
  }

  .npdc-service-page .npdc-service-intro > h3 {
    line-height: 36px;
  }

  .npdc-service-page .npdc-service-shell {
    position: relative;
    top: 19.58px;
  }

  /* The production Elementor template reserves a transparent logo slot in
     the final trust card on mobile; displaying the desktop logo made every
     following section 38px too low. */
  .npdc-service-page .npdc-service-sidebar__proof > img {
    width: 0;
    height: 22.4px;
    opacity: 0;
  }

  .npdc-service-page--emax-crowns .npdc-service-sidebar,
  .npdc-service-page--dental-bridges .npdc-service-sidebar {
    position: relative;
    top: 0;
  }

  .npdc-service-page--dental-fillings .npdc-service-sidebar {
    position: relative;
    top: 0;
  }

  .npdc-service-page--emax-crowns .npdc-service-sidebar__proof,
  .npdc-service-page--dental-bridges .npdc-service-sidebar__proof {
    position: relative;
    top: 38.5px;
  }

  .npdc-parity-boundary--cosmetic-what { margin-top: 0.1px !important; }
  .npdc-parity-boundary--implant-fixed { margin-top: 0 !important; }
  .npdc-parity-component--implant-snap > h3 { letter-spacing: normal; }
  .npdc-parity-component--fillings-replacing { font-size: 28px !important; line-height: 33.6px !important; }
  .npdc-parity-boundary--implant-benefits { margin-top: 22.4px !important; }
  .npdc-parity-boundary--periodontal-difference { margin-top: -30px !important; }
  .npdc-parity-boundary--periodontal-frequency { margin-top: 0 !important; }
  .npdc-parity-boundary--periodontal-severity { margin-top: -20px !important; }
  .npdc-service-page .npdc-source-h4-card.npdc-parity-boundary--periodontal-consequences { margin-top: 5.1px !important; }
  .npdc-parity-boundary--root-decay { margin-top: 20px !important; }
  .npdc-service-page .npdc-source-h4-card.npdc-parity-boundary--root-signs { margin-top: 45px !important; }
  .npdc-parity-boundary--root-myths { margin-top: 0 !important; }
  .npdc-parity-boundary--extractions-dry-socket { margin-top: -60px !important; }
  .npdc-parity-boundary--extractions-replacement { margin-top: -60px !important; }

  .npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout > .npdc-flow {
    top: 0;
  }

  .npdc-service-page .npdc-source-h4-card {
    padding: 20px;
  }

  .npdc-service-page .npdc-source-h4-card > .npdc-actions > .npdc-button {
    padding: 13px 26px !important;
    font-size: 12px;
    line-height: 14.4px;
  }

  .npdc-service-page .npdc-source-h4-card > h4 {
    font-size: 20px;
    line-height: 26px;
  }

  /* The four-column production comparison table intentionally scales type
     down on mobile instead of increasing row height through wrapping. */
  .npdc-service-page--dental-veneers .npdc-service-table {
    font-size: 6.3px;
    line-height: 15px;
  }

  .npdc-service-page--dental-veneers .npdc-service-table th,
  .npdc-service-page--dental-veneers .npdc-service-table td {
    font-size: 6.3px;
    line-height: 9.45px;
  }
}

.npdc-service-page .npdc-service-faq-section .npdc-flow > h2:nth-of-type(2) {
  width: 870.4px;
  margin: 0 0 45px;
  color: #fff;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 68px;
  font-weight: 600;
  line-height: 74.8px;
  text-align: center;
}

.npdc-service-page .npdc-service-faq-section > .npdc-section__inner {
  position: relative;
  top: -1px;
}

.npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout > .npdc-flow > h3 {
  width: 665.17px;
  margin: 0;
  font-size: 48px;
  line-height: 57.6px;
}

@media (max-width: 820px) {
  .npdc-service-page .npdc-service-faq-section .npdc-flow > h2:nth-of-type(2) {
    width: 318px;
    font-size: 34px;
    line-height: 42px;
  }

  .npdc-service-page .npdc-section--cta > .npdc-section__inner > .npdc-flow > .npdc-layout > .npdc-flow > h3 {
    width: 290px;
    font-size: 28px;
    line-height: 33.6px;
  }
}

/* Dental-services hub: reproduce Elementor's exact content/sidebar grid and
   heading/icon-box geometry instead of approximating it with percentages. */
@media (min-width: 1025px) {
  .npdc-production-parity-page--dental-services .npdc-services-hub__body {
    padding-top: 122.41px;
    padding-bottom: 117.59px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__grid {
    width: 1320px;
    max-width: 1320px;
    grid-template-columns: 856px 389px;
    gap: 75px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__main > h2 {
    font-size: 48px;
    line-height: 57.6px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__care h3 {
    margin-bottom: 20px;
    line-height: 36.4px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__care {
    margin-bottom: 20px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__care p {
    margin-bottom: 0;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__lead-image {
    height: 533.59px;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: 28px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__lead-image img {
    height: 533.59px;
    object-fit: cover;
  }

  .npdc-production-parity-page--dental-services .npdc-services-feature {
    grid-template-columns: 53px 1fr;
    margin-block: 20px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-feature h3 {
    margin: 8px 0 3px;
    font-size: 32px;
    line-height: 38.4px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-feature p {
    margin-top: 3px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__help {
    margin-top: 45px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__help h2 {
    margin-bottom: 20px;
    line-height: 36.4px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__help p {
    margin-bottom: 0;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__main hr {
    margin-bottom: 40px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__main > hr ~ p {
    margin-bottom: 0;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__faq {
    padding-top: 124.44px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__faq h2 {
    width: 870.4px;
    max-width: none;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__cta {
    padding-top: 77.99px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__cta .npdc-production-shell {
    padding: 80px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__cta .npdc-production-shell > div {
    max-width: 665.17px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__cta h2 {
    font-size: 48px;
    line-height: 57.6px;
  }

  .npdc-production-parity-page--dental-services .npdc-service-sidebar__cta {
    margin-top: 35px;
  }

  .npdc-production-parity-page--dental-services .npdc-service-sidebar__proof {
    margin-top: 140px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__cta .npdc-production-shell > div {
    position: relative;
    top: 24.43px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub .npdc-production-button {
    margin: 20px 0;
    padding: 17px 34px;
    font-size: 16px;
    line-height: 19.2px;
  }
}

@media (max-width: 820px) {
  .npdc-production-parity-page--dental-services .npdc-services-hub {
    line-height: 22.4px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__grid {
    row-gap: 0;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__main > hr ~ p {
    margin-bottom: 0;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__sidebar {
    margin-top: 75px;
  }

  .npdc-production-parity-page--dental-services .npdc-service-sidebar__cta {
    margin-top: 35px;
  }

  .npdc-production-parity-page--dental-services .npdc-service-sidebar__proof {
    margin-top: 86.8px;
    padding: 30px;
  }

  .npdc-production-parity-page--dental-services .npdc-production-hero--services h1 {
    font-size: 50px;
    line-height: 58px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__main > h2 {
    font-size: 30px;
    line-height: 36px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__care {
    padding: 20px;
    margin-bottom: 20px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__care h3 {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 26px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__care p {
    margin-bottom: 0;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__lead-image {
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__lead-image img {
    height: 233.44px;
    object-fit: cover;
  }

  .npdc-production-parity-page--dental-services .npdc-services-feature {
    grid-template-columns: 38px 1fr;
    margin-block: 20px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-feature h3 {
    margin: 8px 0 3px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-feature p {
    margin-top: 3px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__help {
    margin-top: 45px;
    padding: 20px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__help h2 {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 26px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__help p {
    margin-bottom: 0;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub .npdc-production-button {
    height: 40.40625px;
    min-height: 40.40625px;
    margin: 20px 0;
    padding: 13px 26px;
    font-size: 12px;
    line-height: 14.4px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__main hr {
    margin-bottom: 40px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__faq h2 {
    width: 318px;
    max-width: none;
    font-size: 34px;
    line-height: 42px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__faq .npdc-production-shell {
    position: relative;
    top: -28.32px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__cta .npdc-production-shell {
    padding: 30px;
  }

  .npdc-production-parity-page--dental-services .npdc-services-hub__cta h2 {
    font-size: 28px;
    line-height: 33.6px;
  }
}

@media (min-width: 821px) {
  .npdc-service-page--root-canals .npdc-image:has(img[src*="/Root-canal-myths"]) {
    margin-top: -39.6px;
  }

  .npdc-service-page--periodontal-maintenance .npdc-image:has(img[src*="/Periodontal-maintenance-timing"]) {
    margin-top: -19.6px;
  }
}

@media (max-width: 820px) {
  .npdc-service-page--root-canals .npdc-image:has(img[src*="/Root-canal-myths"]) {
    margin-top: -79.6px;
  }

  .npdc-service-page--periodontal-maintenance .npdc-image:has(img[src*="/Periodontal-maintenance-timing"]) {
    margin-top: -20px;
  }
}
/* --- site-v20.css --- */
/* Interaction, motion, and embedded-media parity with the production Elementor build. */

:root {
  --npdc-interaction-release: 0.1.95;
}

/* Production uses a four-frame, five-second fading background slideshow. */
.home .npdc-source-hero {
  background-color: #334155;
}

.npdc-home-slider {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.npdc-home-slider::after {
  position: absolute;
  z-index: 2;
  content: "";
  inset: 0;
  background: linear-gradient(rgba(39, 54, 74, 0.7), rgba(39, 54, 74, 0.73));
}

.npdc-home-slider__slide {
  position: absolute;
  z-index: 1;
  inset: -2%;
  opacity: 0;
  background-position: center center;
  background-size: cover;
  transition: opacity 0.8s ease-in-out;
  will-change: opacity, transform;
}

.npdc-home-slider__slide.is-active {
  z-index: 2;
  opacity: 1;
  animation: npdc-ken-burns-in 20s linear both;
}

.home .npdc-source-hero__inner,
.home .npdc-source-promises {
  position: relative;
  z-index: 3;
}

.home .npdc-source-promises {
  position: absolute;
}

@keyframes npdc-ken-burns-in {
  from { transform: scale(1); }
  to { transform: scale(1.2); }
}

/* Elementor's entrance-motion vocabulary, applied by the native runtime. */
.npdc-reveal {
  --npdc-reveal-delay: 0ms;
  visibility: hidden;
  opacity: 0;
}

.npdc-reveal.npdc-reveal--visible {
  visibility: visible;
  animation-duration: 1.25s;
  animation-delay: var(--npdc-reveal-delay);
  animation-fill-mode: both;
}

.npdc-reveal--visible.npdc-reveal--fade-left { animation-name: npdc-fade-in-left; }
.npdc-reveal--visible.npdc-reveal--fade-right { animation-name: npdc-fade-in-right; }
.npdc-reveal--visible.npdc-reveal--fade-up { animation-name: npdc-fade-in-up; }
.npdc-reveal--visible.npdc-reveal--fade-down { animation-name: npdc-fade-in-down; }
.npdc-reveal--visible.npdc-reveal--slide-up { animation-name: npdc-slide-in-up; }

@keyframes npdc-fade-in-left {
  from { opacity: 0; transform: translate3d(-100%, 0, 0); }
  to { opacity: 1; transform: none; }
}

@keyframes npdc-fade-in-right {
  from { opacity: 0; transform: translate3d(100%, 0, 0); }
  to { opacity: 1; transform: none; }
}

@keyframes npdc-fade-in-up {
  from { opacity: 0; transform: translate3d(0, 100%, 0); }
  to { opacity: 1; transform: none; }
}

@keyframes npdc-fade-in-down {
  from { opacity: 0; transform: translate3d(0, -100%, 0); }
  to { opacity: 1; transform: none; }
}

@keyframes npdc-slide-in-up {
  from { visibility: visible; opacity: 1; transform: translate3d(0, 100%, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* The production chevrons live inside the link box, 21px from its right edge. */
@media (min-width: 1121px) {
  .npdc-nav__parent {
    box-sizing: content-box;
    padding-right: 23px;
  }

  .npdc-nav__parent > button {
    position: absolute;
    top: 0;
    right: 21px;
    display: grid;
    width: 11px;
    height: 24px;
    place-items: center;
  }

  .npdc-nav__parent > button svg {
    display: block;
    width: 11px;
    height: 24px;
  }
}

@media (max-width: 1120px) {
  .npdc-nav {
    justify-content: stretch;
    justify-items: stretch;
  }

  .npdc-nav__parent {
    position: relative;
    width: 100%;
    grid-template-columns: 1fr;
  }

  .npdc-nav__parent > a {
    width: 100%;
  }

  .npdc-nav__parent > button {
    position: absolute;
    z-index: 2;
    top: 2px;
    right: 21px;
    display: grid;
    width: 43px;
    height: 40px;
    place-items: center;
  }

  .npdc-nav__parent > button svg {
    width: 11px;
    height: 24px;
  }

  .npdc-nav__parent > button[aria-expanded="true"] + .npdc-nav__submenu {
    grid-column: 1;
  }
}

/* The two words are one centered background row; the cards obscure it. */
.npdc-footer__title {
  right: 0;
  left: 0;
  z-index: 1;
  justify-content: center;
}

.npdc-footer__title span:last-child {
  color: transparent;
  opacity: 1;
  -webkit-text-stroke: 2px #f3f3f3;
}

.npdc-footer__grid {
  z-index: 2;
}

/* Production map is a full-bleed 640px band at both gate widths. */
.npdc-contact-map {
  position: relative;
  width: 100%;
  height: 640px;
  min-height: 640px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #e5e7eb;
}

.npdc-contact-map iframe {
  display: block;
  width: 100%;
  height: 640px;
  border: 0;
}

/* The migrated Contact section already reserves production's 640px map band
   in its minimum height. Fill that slot instead of adding a second band. */
.npdc-contact-source + .npdc-contact-map {
  z-index: 1;
  margin-top: -640px;
}

@media (max-width: 820px) {
  .npdc-footer__title {
    gap: 0;
  }

  .npdc-footer__title span:last-child {
    transform: none;
    -webkit-text-stroke-width: 1px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .npdc-home-slider__slide {
    transition: none;
  }

  .npdc-home-slider__slide.is-active {
    animation: none;
  }

  .npdc-reveal,
  .npdc-reveal.npdc-reveal--visible {
    visibility: visible;
    opacity: 1;
    animation: none;
    transform: none;
  }
}
/* --- site-v21.css --- */
/* Runtime sizing corrections after the interaction-parity field check. */

:root {
  --npdc-runtime-release: 0.1.96;
}

.npdc-nav__parent > button {
  box-sizing: border-box !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

@media (min-width: 1121px) {
  .npdc-nav__parent > button {
    width: 11px !important;
    max-width: 11px !important;
    height: 24px !important;
    min-height: 24px !important;
  }
}

@media (max-width: 1120px) {
  .npdc-nav__parent > button {
    width: 43px !important;
    max-width: 43px !important;
    height: 40px !important;
    min-height: 40px !important;
  }
}
/* --- site-v22.css --- */
/* Keep off-screen interactive controls operable while preserving entrance motion elsewhere. */

:root {
  --npdc-accessible-motion-release: 0.1.97;
}

body:not(.home) .npdc-reveal:has(details),
body:not(.home) .npdc-reveal:has(form) {
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
  transform: none !important;
}
/* --- site-v23.css --- */
/* Final interaction-parity release marker. */

:root {
  --npdc-final-runtime-release: 0.1.101;
}
/* --- site-v24.css --- */
/* Footer raster parity release: 0.1.102. */
:root {
  --npdc-footer-visual-release: "0.1.102";
}

/* Production's Elementor cards paint a second translucent background layer
   through a 5px backdrop blur. This is what softens the oversized lettering
   behind the cards while leaving foreground card content crisp. */
.npdc-footer__card {
  position: relative;
}

.npdc-footer__card::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  background: rgba(69, 86, 109, 0.32);
  content: "";
  pointer-events: none;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

.npdc-footer__card > * {
  position: relative;
  z-index: 1;
}

@media (min-width: 821px) {
  /* Production uses a 70px authored gap and scales at 18vw until its 260px
     maximum. At 1440px this is 259.2px; at the user's 1980px viewport it is
     capped at 260px. */
  .npdc-footer__title {
    gap: 70px;
    font-size: min(18vw, 260px);
  }
}
/* --- site-v25.css --- */
/* HIPAA hero title parity release: 0.1.103. */
:root {
  --npdc-hipaa-visual-release: "0.1.103";
}

@media (min-width: 768px) {
  /* Production gives this long legal-page title the full 1280px hero shell.
     The shared 1000px cap moved “Practices” onto a second line at 1440px. */
  .npdc-production-parity-page--hipaa-notice .npdc-production-hero h1 {
    width: 100%;
    max-width: none;
  }
}
/* --- site-v26.css --- */
/* HIPAA typography and vertical-rhythm parity release: 0.1.104. */
:root {
  --npdc-hipaa-type-release: "0.1.104";
}

/* The production HIPAA page uses larger legal headings and Elementor's
   zero-gap paragraph rhythm. Keep these corrections page-scoped so the other
   legal pages retain their already-approved geometry. */
.npdc-production-parity-page--hipaa-notice .npdc-legal__grid h2 {
  margin-bottom: 20px;
  font-size: 68px;
  line-height: 74.8px;
}

.npdc-production-parity-page--hipaa-notice .npdc-legal__grid p + p,
.npdc-production-parity-page--hipaa-notice .npdc-legal__grid ul + p {
  margin-top: 0;
}

.npdc-production-parity-page--hipaa-notice .npdc-legal__grid ul {
  margin-bottom: 0;
}

.npdc-production-parity-page--hipaa-notice .npdc-legal__cta h2 {
  font-size: 68px;
  line-height: 74.8px;
}

.npdc-production-parity-page--hipaa-notice .npdc-legal__cta p {
  width: 70%;
  max-width: none;
  margin-bottom: 20px;
}

.npdc-production-parity-page--hipaa-notice .npdc-legal__cta .npdc-production-button {
  min-height: 0;
  padding: 17px 34px;
  font-size: 16px;
  line-height: 19.2px;
}

@media (max-width: 767px) {
  .npdc-production-parity-page--hipaa-notice .npdc-legal__grid h2 {
    margin-bottom: 20px;
    font-size: 25px;
    line-height: 33px;
  }

  .npdc-production-parity-page--hipaa-notice .npdc-legal__cta h2 {
    font-size: 42px;
    line-height: 46.2px;
  }

  .npdc-production-parity-page--hipaa-notice .npdc-legal__cta .npdc-production-button {
    padding: 13px 26px;
    font-size: 12px;
    line-height: 14.4px;
  }
}
/* --- site-v27.css --- */
/* Cross-template painted-type parity release: 0.1.105. */
:root {
  --npdc-painted-type-release: "0.1.105";
}

/* Native archive/search cards use the production link typography at desktop. */
@media (min-width: 768px) {
  .npdc-source-result .wp-block-post-title a {
    font-size: 18px;
    line-height: 28.8px;
  }
}

/* Article advice headings are display labels in the source, not body-sized
   sidebar labels. */
.npdc-article-advice h4 {
  font-size: 28px;
  line-height: 36.4px;
}

/* Appointments and contact labels retain the source Lato 600 face. */
.npdc-appointments__card > h2 {
  font-family: "Lato", sans-serif;
  font-weight: 600;
}

.npdc-contact-source__form h2,
.npdc-contact-source__info h2,
.npdc-contact-source__social h3 {
  font-weight: 600;
}

.npdc-contact-source__social h3 {
  font-size: 28px;
  line-height: 36.4px;
}

/* The production homepage gives these long carousel labels narrower authored
   text columns even though the enclosing cards are wider. */
@media (min-width: 768px) {
  .home .npdc-source-service-card:nth-child(6) h3 {
    width: 239.09px;
  }

  .npdc-new-patients__visit-card h3 {
    line-height: 51.6px;
  }
}

/* All three legal-page source templates share the same heading scale and
   Elementor paragraph rhythm. */
@media (min-width: 768px) {
  .npdc-production-parity-page .npdc-legal__grid h2 {
    margin-bottom: 20px;
    font-size: 68px;
    line-height: 74.8px;
  }
}

.npdc-production-parity-page .npdc-legal__grid p + p,
.npdc-production-parity-page .npdc-legal__grid ul + p {
  margin-top: 0;
}

.npdc-production-parity-page .npdc-legal__grid ul {
  margin-bottom: 0;
}

.npdc-production-parity-page .npdc-legal__cta h2 {
  font-size: 68px;
  line-height: 74.8px;
}

.npdc-production-parity-page .npdc-legal__cta p {
  width: 70%;
  max-width: none;
  margin-bottom: 20px;
}

.npdc-production-parity-page .npdc-legal__cta .npdc-production-button {
  min-height: 0;
  padding: 17px 34px;
  font-size: 16px;
  line-height: 19.2px;
}

/* Dental Services source headings use two distinct authored weights. */
.npdc-services-hub__care h3,
.npdc-services-hub__help h2 {
  font-weight: 600;
}

.npdc-services-feature h3 {
  font-weight: 700;
}

/* Patient-form cards use the source's intentionally tight line-height. */
.npdc-patient-forms__cards h2 {
  font-size: 48px;
  line-height: 43px;
}

@media (max-width: 767px) {
  .home .npdc-source-service-card:nth-child(3) h3 {
    width: 231px;
  }

  .npdc-service-page .npdc-service-intro > h2 {
    font-size: 30px;
  }

  .npdc-article-advice h4 {
    font-size: 20px;
    line-height: 26px;
  }

  .npdc-appointments__card > h2 {
    font-size: 20px;
    line-height: 26px;
  }

  .npdc-patient-forms h1 {
    font-size: 60px;
    line-height: 66px;
  }

  .npdc-patient-forms__cards h2 {
    font-size: 28px;
    line-height: 43px;
  }

  .npdc-production-parity-page .npdc-legal__grid h2 {
    margin-bottom: 20px;
    font-size: 25px;
    line-height: 33px;
  }

  .npdc-production-parity-page .npdc-legal__cta h2 {
    font-size: 42px;
    line-height: 46.2px;
  }

  .npdc-production-parity-page .npdc-legal__cta .npdc-production-button {
    padding: 13px 26px;
    font-size: 12px;
    line-height: 14.4px;
  }
}
/* --- site-v28.css --- */
/* Final cross-template geometry parity release: 0.1.106. */
:root {
  --npdc-template-geometry-release: "0.1.106";
}

@media (min-width: 768px) {
  /* Terms uses the same 80px production band padding as the other legal
     pages. An older interim override added 33.28px to both sides. */
  .npdc-production-parity-page--terms-of-service .npdc-legal__section {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  /* The production page ends 107px after the second card; the shared form
     page rule contributes 120px. */
  .npdc-patient-forms {
    padding-bottom: 107px;
  }
}

@media (max-width: 767px) {
  .npdc-service-page .npdc-service-intro > h3 {
    font-size: 30px;
  }

  .npdc-patient-forms {
    min-height: 1321.25px;
  }
}
/* --- site-v29.css --- */
/* Keep Google's reCAPTCHA disclosure above the fixed mobile call bar. */
@media (max-width: 767px) {
  .grecaptcha-badge {
    bottom: 78px !important;
  }
}
/* --- site-v30.css --- */
/* The live form uses reCAPTCHA v3's fixed Google disclosure badge. */
.npdc-contact-source__form .gform_footer::before {
  display: none;
  content: none;
}
/* --- site-v36.css --- */
/* Daily-monitor responsive corrections for the source-geometry layout. */

/*
 * Fixed desktop coordinates in site-v14 do not fit below 1280px. Retain the
 * source compact header through 1279px and keep its controls within the
 * available tablet width.
 */
@media (min-width: 821px) and (max-width: 1279px) {
  .npdc-header__bar {
    position: relative;
    display: block;
    width: calc(100vw - 40px);
    min-height: 107px;
    margin-inline: auto;
  }

  .npdc-brand,
  .npdc-brand img {
    width: 175px;
  }

  .npdc-brand {
    position: absolute;
    top: 20px;
    left: 0;
    height: auto;
  }

  .npdc-brand img {
    height: auto;
  }

  .npdc-menu-toggle {
    position: absolute;
    top: 37px;
    right: 62px;
    left: auto;
    display: flex;
    width: 45px;
    min-width: 45px;
    height: 32px;
    min-height: 32px;
    padding: 5px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 0;
    color: #000;
    background: #0ecae9;
    font-size: 18px;
    line-height: 22px;
    cursor: pointer;
  }

  .npdc-menu-toggle__label {
    display: none;
  }

  .npdc-header__actions {
    position: absolute;
    top: 36px;
    right: 0;
    left: auto;
    display: block;
  }

  .npdc-phone {
    display: block;
    width: 35px;
    height: 35px;
    border-radius: 0;
    background: transparent;
  }

  .npdc-phone__icon {
    width: 35px;
    height: 35px;
  }

  .npdc-phone strong {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }

  .npdc-nav {
    position: absolute;
    top: 107px;
    right: 0;
    left: 0;
    display: none;
    max-height: calc(100vh - 107px);
    padding: 1rem;
    overflow: auto;
    align-items: stretch;
    justify-content: stretch;
    border-radius: 0;
    background: #334155;
    box-shadow: var(--np-shadow);
  }

  .npdc-nav[data-open] {
    display: grid;
  }

  .npdc-nav__parent {
    display: grid;
    grid-template-columns: 1fr auto;
  }

  .npdc-nav > a,
  .npdc-nav__parent > a {
    padding: 0.7rem;
  }

  .npdc-nav__submenu,
  .npdc-nav__submenu--wide {
    position: static;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: none;
    min-width: 0;
    visibility: visible;
    transform: none;
    border: 0;
    opacity: 1;
    box-shadow: none;
  }

  .npdc-nav__parent:hover .npdc-nav__submenu,
  .npdc-nav__parent:focus-within .npdc-nav__submenu {
    display: none;
  }

  .npdc-nav__parent > button[aria-expanded="true"] + .npdc-nav__submenu {
    display: grid;
  }
}

/* Keep the wide phone group fluid until the original coordinates safely fit. */
@media (min-width: 1280px) and (max-width: 1439px) {
  .npdc-header__actions {
    right: 0;
    left: auto;
  }

  .npdc-phone {
    gap: 8px;
  }
}

/* Preserve the three-column contact composition without fixed-track spill. */
@media (min-width: 821px) and (max-width: 1360px) {
  .npdc-contact-source__grid {
    grid-template-columns: minmax(0, 358fr) minmax(0, 461fr) minmax(0, 358fr);
    gap: clamp(24px, 4vw, 52px);
    width: calc(100vw - 80px);
  }
}
/* --- site-v37.css --- */
/* Task 10 (Oct 2026): New Patients preparation section, patient-form checklist and
 * appointment next-steps block. Uses the existing New Patients and dark form-page
 * tokens; heights are content-driven (no fixed parity heights). */

/* New Patients: preparation section (replaces the former testimonials section). */
.npdc-new-patients__prepare {
  position: relative;
  padding: 120px 20px 230px;
  overflow: hidden;
  background: #fff;
}

.npdc-new-patients__prepare-grid {
  display: grid;
  grid-template-columns: 40% 57%;
  gap: 3%;
  align-items: start;
}

.npdc-new-patients__prepare-title {
  position: sticky;
  top: 120px;
}

.npdc-new-patients__prepare-title h2 {
  max-width: 494.84px;
  margin-top: 20px;
  color: #2f2f2f;
  font-family: "Cormorant Garamond", serif;
  font-size: 68px;
  font-weight: 600;
  line-height: 1.1;
}

.npdc-new-patients__prepare-title p:not(.npdc-production-kicker) {
  max-width: 470px;
  margin-top: 24px;
  color: #555;
  font-size: 18px;
  line-height: 1.6;
}

.npdc-new-patients__prepare-title .npdc-new-patients__prepare-cta {
  color: #2f2f2f;
}

.npdc-new-patients__prepare a {
  color: #055f83;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.npdc-new-patients__prepare a:hover,
.npdc-new-patients__prepare a:focus-visible {
  color: #172536;
}

.npdc-new-patients__prepare-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.npdc-new-patients__prepare-cards article {
  padding: 30px;
  background: #fafafa;
}

.npdc-new-patients__prepare-cards h3 {
  margin-bottom: 12px;
  color: #2f2f2f;
  font-family: "Lato", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
}

.npdc-new-patients__prepare-cards article p {
  color: #555;
  font-size: 16px;
  line-height: 1.6;
}

.npdc-new-patients__prepare-cards .npdc-new-patients__prepare-final {
  grid-column: 1 / -1;
  margin-top: 10px;
  padding: 24px 30px;
  border-left: 4px solid #0ecae9;
  color: #2f2f2f;
  background: #effaff;
  font-size: 18px;
  line-height: 1.6;
}

.npdc-new-patients__prepare .npdc-new-patients__watermark {
  bottom: -215px;
}

/* Patient forms: registration checklist below the two form cards. */
.npdc-patient-forms__checklist {
  width: 550px;
  margin-top: 48px;
  padding: 40px;
  border: 1px solid #fff;
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

.npdc-patient-forms__checklist h2 {
  margin-bottom: 16px;
  color: #fff;
  font-family: "Cormorant Garamond", serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.1;
  text-align: center;
}

.npdc-patient-forms__checklist ul {
  margin: 16px 0 24px;
  padding-left: 22px;
}

.npdc-patient-forms__checklist li + li {
  margin-top: 8px;
}

.npdc-patient-forms__checklist li::marker {
  color: #0ecae9;
}

.npdc-patient-forms__checklist p + p {
  margin-top: 12px;
}

.npdc-patient-forms__checklist a,
.npdc-appointments__next a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

/* Appointments: next steps below the request form card. */
.npdc-appointments__next {
  width: 78%;
  margin-top: 40px;
  padding: 40px 50px;
  border: 1px solid #fff;
  border-radius: 12px;
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

.npdc-appointments__next h2 {
  margin-bottom: 16px;
  color: #fff;
  font-family: "Lato", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
}

.npdc-appointments__next ul {
  margin: 0 0 20px;
  padding-left: 22px;
}

.npdc-appointments__next li + li {
  margin-top: 8px;
}

.npdc-appointments__next li::marker {
  color: #0ecae9;
}

.npdc-appointments__next p + p {
  margin-top: 12px;
}

@media (max-width: 1024px) {
  .npdc-new-patients__prepare-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .npdc-new-patients__prepare-title {
    position: static;
  }

  .npdc-new-patients__prepare-title h2,
  .npdc-new-patients__prepare-title p:not(.npdc-production-kicker) {
    max-width: 640px;
  }
}

@media (max-width: 767px) {
  .npdc-new-patients__prepare {
    padding: 30px 20px 110px;
  }

  .npdc-new-patients__prepare-title {
    text-align: center;
  }

  .npdc-new-patients__prepare-title h2 {
    margin: 12px auto 0;
    font-size: 38px;
    line-height: 46px;
  }

  .npdc-new-patients__prepare-title p:not(.npdc-production-kicker) {
    margin-inline: auto;
    font-size: 15px;
  }

  .npdc-new-patients__prepare-cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .npdc-new-patients__prepare-cards article {
    padding: 24px;
  }

  .npdc-new-patients__prepare-cards h3 {
    font-size: 20px;
  }

  .npdc-new-patients__prepare-cards article p,
  .npdc-new-patients__prepare-cards .npdc-new-patients__prepare-final {
    font-size: 15px;
  }

  .npdc-new-patients__prepare-cards .npdc-new-patients__prepare-final {
    padding: 20px 22px;
  }

  .npdc-new-patients__prepare .npdc-new-patients__watermark {
    bottom: -95px;
  }

  .npdc-patient-forms__checklist {
    width: 100%;
    margin-top: 42px;
    padding: 28px 22px;
    font-size: 14px;
  }

  .npdc-patient-forms__checklist h2 {
    font-size: 30px;
  }

  .npdc-appointments__next {
    width: 100%;
    padding: 28px 22px;
    font-size: 14px;
  }

  .npdc-appointments__next h2 {
    font-size: 20px;
  }
}
/* --- site-v38.css --- */
/* Root-canal FAQ: retain the production-parity minimum while allowing an open
   answer to expand the section before the following CTA at every viewport. */
.npdc-service-page.npdc-service-page--root-canals .npdc-service-faq-section {
  height: auto;
}

/* The default pill radius leaves the expanded answer over the section
   background at narrow widths. Give the open item a rounded card shape so
   the complete answer remains on its white surface. */
.npdc-service-page.npdc-service-page--root-canals .npdc-service-faq-section.npdc-section--mist .npdc-faq details[open] {
  border-radius: 26px;
}
