.np-shell{padding-inline:var(--np-gutter)}.np-section{padding-block:var(--np-space-section)}.np-kicker,.np-eyebrow{margin:0 0 16px;color:var(--np-color-accent);font-size:.75rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.np-button,.np-primary-button .wp-block-button__link{display:inline-block;padding:16px 24px;border-radius:0;background:var(--np-color-coral);color:#fff!important;font-weight:800;text-decoration:none;box-shadow:6px 6px 0 var(--np-color-ink)}.np-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.np-card{padding:34px;border:3px solid var(--np-color-ink);background:#fff;box-shadow:8px 8px 0 var(--np-color-ink)}.np-proof{background:var(--np-color-aqua);border-block:3px solid var(--np-color-ink)}.np-cta{padding:var(--np-space-section) var(--np-gutter);background:var(--np-color-coral);color:#fff}.np-cta h2,.np-cta p{color:#fff}.np-faq details{padding:22px 0;border-top:2px solid var(--np-color-ink)}.np-faq summary{cursor:pointer;font-weight:800}
.np-footer-social{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:22px var(--np-gutter);background:var(--np-color-ink);border-top:1px solid rgba(255,255,255,.18)}.np-footer-social__label{margin-right:6px;color:#fff;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.np-footer-social a{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--np-color-aqua);color:var(--np-color-ink)}.np-footer-social a:hover,.np-footer-social a:focus-visible{background:var(--np-color-sun)}
.np-site-footer{padding:clamp(54px,7vw,84px) var(--np-gutter) 26px;border-top:8px solid var(--np-color-coral);background:var(--np-color-ink);color:#c8d0df}.np-site-footer a{color:#fff;text-decoration:none}.np-site-footer a:hover,.np-site-footer a:focus-visible{color:var(--np-color-sun)}.np-footer-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:clamp(34px,6vw,80px)}.np-footer-grid section,.np-footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.np-footer-grid strong{color:#fff}.np-footer-brand{font:800 2rem/1 var(--np-font-heading)}.np-footer-cta{padding:11px 14px;background:var(--np-color-coral);font-weight:800}.np-site-footer .np-footer-social{padding-inline:0}.np-footer-legal{display:flex;justify-content:space-between;gap:26px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);font-size:.86rem}.np-footer-legal nav{display:flex;gap:18px}.np-menu-cta>.menu-link{margin-left:18px;padding-inline:18px!important;background:var(--np-color-coral);box-shadow:5px 5px 0 var(--np-color-sun)}@media(max-width:921px){.np-footer-grid{grid-template-columns:1fr}.np-footer-legal{flex-direction:column}.np-menu-cta>.menu-link{margin:8px 20px 18px}}
@media(max-width:781px){.np-card-grid{grid-template-columns:1fr}.np-footer-social{justify-content:flex-start;flex-wrap:wrap}.np-footer-social__label{width:100%}}

/* Accessibility: explicit surface contrast and non-color interaction cues. */
body .np-home .np-areas .np-kicker,
body .np-home .np-testimonials .wp-block-column :is(p,strong,a),
body .np-home .np-card-grid > .wp-block-column:nth-child(2) :is(p,h3,a),
body .np-home .np-project-card :is(h3,a),
body .np-home .np-cta :is(h2,p,p a) { color:var(--np-color-ink)!important; }
body .entry-content a.np-button,
body .np-primary-button .wp-block-button__link { background:var(--np-color-ink)!important;color:#fff!important; }
body .np-site-footer a.np-footer-cta,
body .site-header .main-header-menu > .np-menu-cta > .menu-link { color:var(--np-color-ink)!important;background:var(--np-color-sun); }
body .entry-content p a:not(.np-button):not(.wp-block-button__link),
body .np-footer-legal a { text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.18em; }
body #page #masthead :is(a,button):focus-visible,
body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #fff!important;outline-offset:3px;box-shadow:0 0 0 6px #071a3d!important; }
body .site-header button.menu-toggle { color:#fff!important;background:#071a3d;min-width:44px;min-height:44px; }
body .site-header .menu-link { min-height:44px; }
body .site-header .current-menu-item > .menu-link { text-decoration:underline;text-underline-offset:6px; }
body .np-footer-social a { color:var(--np-color-ink); }

body .np-service-page .np-cta :is(h2,p,p a) { color:var(--np-color-ink)!important; }

/* Hero CTAs: separate the control from dark hero surfaces at every breakpoint. */
body .entry-content :is(.np-about-v3-hero,.np-work-hero,.np-page-hero) a.np-button {
  background:var(--np-color-sun)!important;color:var(--np-color-ink)!important;
  border:2px solid var(--np-color-sun);box-shadow:5px 5px 0 var(--np-color-coral);
  max-width:100%;min-height:44px;white-space:normal;text-align:center;
}
body .entry-content :is(.np-about-v3-hero,.np-work-hero,.np-page-hero) a.np-button:is(:hover,:focus-visible) {
  background:#fff!important;color:var(--np-color-ink)!important;border-color:#fff;
  text-decoration:underline;text-underline-offset:.2em;
}
body .np-about-v3-hero .np-about-text-link { text-decoration:underline;text-underline-offset:.2em; }
