:root {
  --np-paper: var(--wp--preset--color--paper, #f7f2ee);
  --np-paper-warm: var(--wp--preset--color--paper-warm, #efe5df);
  --np-powder: var(--wp--preset--color--powder, #caa9a3);
  --np-powder-dark: var(--wp--preset--color--powder-dark, #9b6e69);
  --np-stone: var(--wp--preset--color--stone, #7a716d);
  --np-line: var(--wp--preset--color--line, #d8ccc4);
  --np-ink: var(--wp--preset--color--ink, #2f2b29);
  --np-ink-soft: var(--wp--preset--color--ink-soft, #625b57);
  --np-white: var(--wp--preset--color--white, #fffdfb);
  --np-deep: var(--wp--preset--color--deep, #4b403d);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
*, *::before, *::after { box-sizing: border-box; }
img { display: block; max-width: 100%; }
[id] { scroll-margin-top: 96px; }
:focus-visible { outline: 3px solid var(--np-powder-dark); outline-offset: 4px; }
.wp-site-blocks { overflow: clip; }
.wp-site-blocks > * { margin-block-start: 0; }

.np-shell {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto !important;
}

.np-eyebrow {
  margin: 0 0 1.35rem;
  color: var(--np-powder-dark);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.np-eyebrow.is-light { color: #e8cbc6; }

.np-section-title {
  margin: 0;
  font-size: clamp(2.35rem, 4vw, 3.65rem);
  line-height: 1.08;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.np-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 76px;
  padding: 12px max(24px, calc((100vw - 1180px) / 2));
  gap: 1.75rem;
  background: color-mix(in srgb, var(--np-paper) 91%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--np-line) 75%, transparent);
  backdrop-filter: blur(16px);
}

.np-brand { gap: .7rem; white-space: nowrap; }
.np-brand .wp-block-site-title { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.125rem; font-weight: 400; }
.np-brand .wp-block-site-title a { text-decoration: none; }
.np-brand-mark {
  display: grid;
  width: 38px;
  height: 38px;
  margin: 0;
  place-items: center;
  border: 1px solid var(--np-powder-dark);
  border-radius: 50%;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .8125rem;
  letter-spacing: .08em;
}

.np-site-header .wp-block-navigation { margin-left: auto; }
.np-site-header .wp-block-navigation-item__content { color: var(--np-ink-soft); text-decoration: none; }
.np-site-header .wp-block-navigation-item__content:hover { color: var(--np-powder-dark); }
.np-header-button .wp-block-button__link { min-height: 44px; display: inline-flex; align-items: center; }

.np-hero {
  min-height: calc(100vh - 76px);
  padding-block: 3.5rem 4rem;
  gap: clamp(2.25rem, 6vw, 4.5rem);
  align-items: center !important;
}

.np-hero-copy { flex-basis: 57%; }
.np-hero-title {
  max-width: 760px;
  margin: 0 0 1.6rem;
  font-size: clamp(3rem, 5.2vw, 4.75rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.np-hero-text { max-width: 660px; margin: 0 0 1.9rem; color: var(--np-ink-soft); font-size: 1.125rem; line-height: 1.75; }
.np-hero-actions { gap: .75rem; }
.np-secondary-button .wp-block-button__link { color: var(--np-ink); background: transparent; border: 1px solid var(--np-line); }
.wp-block-button__link { transition: transform .2s ease, background .2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.np-hero-facts { margin-top: 2.6rem; padding-top: 1.6rem; gap: clamp(1rem, 3vw, 2.1rem); border-top: 1px solid var(--np-line); }
.np-hero-fact { margin: 0; color: var(--np-stone); font-size: .75rem; line-height: 1.5; }
.np-hero-fact strong { display: block; color: var(--np-ink); font-size: .875rem; }
.np-hero-visual { position: relative; flex-basis: 39%; max-width: 470px; }
.np-portrait-frame { overflow: hidden; padding: 14px; background: #e8d9d1; border-radius: 240px 240px 26px 26px; }
.np-portrait-frame img { width: 100%; height: min(65vh, 650px); object-fit: cover; object-position: 50% 32%; border-radius: 220px 220px 18px 18px; }
.np-hero-note { position: absolute; right: -44px; bottom: 40px; width: 250px; margin: 0; padding: 22px 24px; background: var(--np-white); border: 1px solid var(--np-line); box-shadow: 0 24px 50px rgba(71,55,48,.13); font-family: Georgia, "Times New Roman", serif; font-size: .95rem; line-height: 1.55; }

.np-trust-strip { padding: 1.2rem max(24px, calc((100vw - 1180px) / 2)); gap: 2rem; background: var(--np-deep); color: #f7efeb; white-space: nowrap; overflow-x: auto; }
.np-trust-strip p { margin: 0; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.np-trust-strip p:not(:last-child)::after { content: "·"; margin-left: 2rem; color: var(--np-powder); }

.np-split-section { padding-block: 8rem; gap: clamp(3rem, 8vw, 6.25rem); align-items: flex-start !important; }
.np-split-intro { flex-basis: 36%; position: sticky; top: 116px; }
.np-split-content { flex-basis: 64%; }
.np-lead { color: var(--np-ink); font-family: Georgia, "Times New Roman", serif; font-size: 1.75rem; line-height: 1.45; }
.np-muted { color: var(--np-ink-soft); }
.np-about-card { margin-top: 3rem; gap: 2.1rem; align-items: center !important; background: var(--np-white); border: 1px solid var(--np-line); }
.np-about-image { flex-basis: 190px !important; }
.np-about-image img { width: 190px; height: 235px; object-fit: cover; }
.np-about-card-copy { padding: 1.6rem 1.8rem 1.6rem 0; }
.np-quote { margin: 0 0 1.1rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; line-height: 1.5; }
.np-text-link { color: var(--np-powder-dark); font-size: .8125rem; font-weight: 700; }

.np-tinted-section { padding-block: 7.5rem; background: var(--np-paper-warm); }
.np-section-heading { margin-bottom: 3.4rem; gap: clamp(2rem, 7vw, 5rem); align-items: flex-end !important; }
.np-section-heading > :first-child { flex-basis: 70%; }
.np-section-heading > :last-child { flex-basis: 30%; }
.np-section-heading .np-side-copy { margin: 0; color: var(--np-ink-soft); }
.np-card-grid { gap: 1px !important; background: var(--np-line); border: 1px solid var(--np-line); }
.np-request-card { min-height: 285px; padding: 2.4rem; background: var(--np-paper-warm); }
.np-number { margin: 0; color: var(--np-powder-dark); font-size: .75rem; letter-spacing: .14em; }
.np-request-card h3 { margin: 3.5rem 0 .85rem; font-size: 1.75rem; }
.np-request-card p:last-child { margin-bottom: 0; color: var(--np-ink-soft); }

.np-methods-section { padding-block: 7.75rem; }
.np-method-row { padding: 2.15rem 0; gap: 2rem; align-items: flex-start !important; border-top: 1px solid var(--np-line); }
.np-method-row:last-child { border-bottom: 1px solid var(--np-line); }
.np-method-row .np-number { flex-basis: 38px; }
.np-method-row h3 { flex-basis: 285px; margin: 0; font-size: 1.55rem; }
.np-method-row .np-method-copy { flex: 1; margin: 0; color: var(--np-ink-soft); }

.np-principles-section { padding-block: 7.5rem; background: var(--np-deep); color: var(--np-white); }
.np-principles-section .np-section-title { max-width: 820px; color: var(--np-white); }
.np-principles-grid { margin-top: 3.5rem; gap: 1.75rem; align-items: stretch !important; }
.np-principle { flex: 1; padding-top: 1.6rem; border-top: 1px solid #796a65; }
.np-principle h3 { margin: 2.35rem 0 1rem; color: var(--np-white); font-size: 1.5rem; }
.np-principle p:last-child { margin: 0; color: #d7cbc6; font-size: .875rem; }

.np-services-section { padding-block: 7.75rem; }
.np-service-grid { gap: 1.35rem; align-items: stretch !important; }
.np-service-card { flex: 1; padding: 2.4rem; background: var(--np-white); border: 1px solid var(--np-line); }
.np-service-tag { margin: 0 0 2.35rem; color: var(--np-powder-dark); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.np-service-card h3 { margin: 0 0 1rem; font-size: 1.875rem; }
.np-service-card > p:not(.np-service-tag) { color: var(--np-ink-soft); }
.np-service-card ul { margin: 1.75rem 0 0; padding: 1.35rem 0 0 1.2rem; border-top: 1px solid var(--np-line); color: var(--np-ink-soft); font-size: .875rem; }

.np-price-section { padding-block: 7.4rem; background: #dbc4bd; }
.np-price-layout { gap: clamp(3rem, 9vw, 6.9rem); align-items: flex-start !important; }
.np-price-copy { flex-basis: 40%; }
.np-price-copy .np-muted { max-width: 420px; margin-top: 1.5rem; color: #5e504c; }
.np-price-list { flex-basis: 60%; padding: 2.6rem; background: var(--np-paper); }
.np-price-row { padding: 1.45rem 0; gap: 1.25rem; border-bottom: 1px solid var(--np-line); }
.np-price-row:first-child { padding-top: 0; }
.np-price-row h3 { margin: 0 0 .3rem; font-family: inherit; font-size: 1rem; font-weight: 650; }
.np-price-row p { margin: 0; color: var(--np-stone); font-size: .8125rem; }
.np-price { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.5rem; white-space: nowrap; }
.np-full-button, .np-full-button .wp-block-button__link { width: 100%; }
.np-full-button { margin-top: 1.25rem; }

.np-credentials-section { padding-block: 7.75rem; }
.np-credential-grid { gap: 1.35rem; align-items: stretch !important; }
.np-credential-card { flex: 1; padding: 14px 14px 1.75rem; background: var(--np-white); border: 1px solid var(--np-line); }
.np-credential-card .wp-block-image { height: 220px; overflow: hidden; background: #e7ded8; }
.np-credential-card .wp-block-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.np-credential-card:hover img { transform: scale(1.025); }
.np-credential-card h3 { margin: 1.6rem .85rem .55rem; font-size: 1.3rem; }
.np-credential-card p { margin: 0 .85rem; color: var(--np-stone); font-size: .8125rem; }

.np-faq-section { background: var(--np-paper-warm); }
.np-faq-list { flex-basis: 64%; }
.np-faq-list .wp-block-details { margin: 0; border-top: 1px solid var(--np-line); }
.np-faq-list .wp-block-details:last-child { border-bottom: 1px solid var(--np-line); }
.np-faq-list summary { padding: 1.55rem 0; cursor: pointer; font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; }
.np-faq-list .wp-block-details > p { max-width: 650px; margin: 0; padding: 0 3rem 1.5rem 0; color: var(--np-ink-soft); }

.np-contact-section { padding-block: 7.5rem; background: var(--np-deep); color: var(--np-white); }
.np-contact-layout { gap: clamp(3rem, 9vw, 6.9rem); align-items: flex-start !important; }
.np-contact-copy, .np-contact-list { flex: 1; }
.np-contact-copy h2 { margin: 0 0 1.5rem; color: var(--np-white); font-size: clamp(2.65rem, 5vw, 4.25rem); line-height: 1.02; letter-spacing: -.04em; }
.np-contact-copy .np-muted { max-width: 560px; color: #d9cdc8; }
.np-pale-button { margin-top: 1rem; }
.np-pale-button .wp-block-button__link { color: var(--np-ink); background: var(--np-paper); }
.np-contact-list { border-top: 1px solid #786a65; }
.np-contact-item { padding: 1.35rem 0; gap: 1.75rem; border-bottom: 1px solid #786a65; }
.np-contact-label { margin: 0; color: #bdaea8; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.np-contact-value { max-width: 310px; margin: 0; color: var(--np-white); font-size: .875rem; font-weight: 600; text-align: right; }
.np-contact-value a { color: inherit; text-decoration: none; }

.np-site-footer { padding: 1.9rem max(24px, calc((100vw - 1180px) / 2)); gap: 2rem; background: #302b29; color: #cfc3bd; font-size: .75rem; }
.np-site-footer p { margin: 0; }
.np-site-footer .np-brand .wp-block-site-title, .np-site-footer .np-brand .wp-block-site-title a { color: var(--np-white); }

.np-content-shell { width: min(760px, calc(100% - 48px)); margin-inline: auto !important; }
.np-wide-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto !important; }
.np-page-main { padding-block: 5rem 7rem; }
.np-page-main .wp-block-post-title { margin-bottom: 2rem; font-size: clamp(2.6rem, 5vw, 4.5rem); letter-spacing: -.04em; }
.np-post-meta { color: var(--np-stone); font-size: .85rem; }
.np-post-card { padding: 2rem 0; border-bottom: 1px solid var(--np-line); }
.np-post-card .wp-block-post-title { margin: 0 0 .65rem; font-size: 2rem; }
.np-post-card .wp-block-post-excerpt { color: var(--np-ink-soft); }
.np-404 { min-height: 65vh; display: grid; place-items: center; text-align: center; }

@media (max-width: 980px) {
  .np-site-header .wp-block-navigation { order: 3; margin-left: auto; }
  .np-hero { gap: 2.25rem; }
  .np-hero-note { right: -12px; }
  .np-principles-grid { flex-wrap: wrap !important; }
  .np-principle { flex-basis: calc(50% - 1rem); }
  .np-credential-grid { flex-direction: column; }
  .np-credential-card { width: 100%; }
  .np-site-footer { flex-wrap: wrap !important; }
}

@media (max-width: 720px) {
  .np-shell, .np-wide-shell, .np-content-shell { width: min(100% - 32px, 1180px); }
  .np-site-header { min-height: 68px; padding: 10px 16px; }
  .np-site-header .wp-block-site-title { display: none; }
  .np-site-header .wp-block-navigation { order: initial; }
  .np-site-header .wp-block-navigation__responsive-container-open { display: flex; }
  [id] { scroll-margin-top: 76px; }
  .np-hero { min-height: auto; padding-block: 2.85rem 3.75rem; flex-direction: column !important; align-items: stretch !important; }
  .np-hero-copy, .np-hero-visual { flex-basis: auto; max-width: none; }
  .np-hero-title { font-size: clamp(2.75rem, 13vw, 3.25rem); }
  .np-hero-text { font-size: 1rem; }
  .np-hero-facts { gap: .8rem; }
  .np-portrait-frame { border-radius: 180px 180px 20px 20px; }
  .np-portrait-frame img { height: 470px; border-radius: 170px 170px 14px 14px; object-position: 50% 28%; }
  .np-hero-note { right: 0; bottom: 22px; width: 230px; padding: 18px; }
  .np-split-section, .np-price-layout, .np-contact-layout { padding-block: 5.25rem; flex-direction: column !important; gap: 2.6rem; }
  .np-split-intro { position: static; }
  .np-about-card { gap: 1.1rem; }
  .np-about-image, .np-about-image img { width: 110px; flex-basis: 110px !important; }
  .np-about-image img { height: 190px; }
  .np-about-card-copy { padding: 1rem 1rem 1rem 0; }
  .np-quote { font-size: 1rem; }
  .np-tinted-section, .np-methods-section, .np-principles-section, .np-services-section, .np-price-section, .np-credentials-section, .np-contact-section { padding-block: 5.25rem; }
  .np-section-heading { margin-bottom: 2.4rem; flex-direction: column !important; align-items: flex-start !important; gap: 1.25rem; }
  .np-card-grid, .np-service-grid, .np-credential-grid { flex-direction: column !important; }
  .np-request-card { min-height: auto; padding: 1.9rem; }
  .np-request-card h3 { margin-top: 2.35rem; }
  .np-method-row { flex-wrap: wrap !important; gap: 1.25rem; }
  .np-method-row h3 { flex-basis: calc(100% - 60px); }
  .np-method-row .np-method-copy { flex-basis: 100%; padding-left: 58px; }
  .np-principles-grid { flex-direction: column !important; }
  .np-principle { flex-basis: auto; }
  .np-price-list { width: 100%; padding: 1.65rem; }
  .np-contact-item { flex-direction: column !important; gap: .45rem; }
  .np-contact-value { text-align: left; }
  .np-site-footer { align-items: flex-start !important; flex-direction: column !important; gap: 1rem; }
}

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

