/*
Theme Name: Netphiles Astra Child
Theme URI: https://netphiles.com/
Description: Astra child theme for the Netphiles redesign.
Author: Netphiles
Author URI: https://netphiles.com/
Template: astra
Version: 1.0.22
Text Domain: netphiles-astra-child
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

@font-face {
  font-family: "NP Manrope";
  src: url("assets/fonts/manrope-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

@font-face {
  font-family: "NP Inter";
  src: url("assets/fonts/inter-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

:root {
  --np-font-heading: "NP Manrope", system-ui, sans-serif;
  --np-font-body: "NP Inter", system-ui, sans-serif;
  --np-color-ink: #101a2d;
  --np-color-copy: #46536a;
  --np-color-paper: #f7f8fc;
  --np-color-surface: #ffffff;
  --np-color-accent: #2556ed;
  --np-color-line: #dce1ec;
  --np-content-width: 1200px;
}

body,
button,
input,
select,
textarea {
  font-family: var(--np-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-title {
  font-family: var(--np-font-heading);
}

body {
  color: var(--np-color-copy);
  background: var(--np-color-paper);
}

/* Astra shell styling keeps the global navigation light and recognizable. */
.site-header .ast-primary-header-bar {
  border-bottom: 0;
  background: var(--np-color-ink);
}

.site-header .site-title a {
  display: block;
  width: 175px;
  height: 44px;
  overflow: hidden;
  background: url("/wp-content/uploads/2019/07/Netphiles-Logo-White.png") center / contain no-repeat;
  color: transparent !important;
  font-size: 0;
  white-space: nowrap;
}

.site-header .main-header-menu > .menu-item > .menu-link,
.site-header .ast-menu-toggle,
.site-header .menu-toggle {
  color: #fff;
  font-weight: 700;
}

.site-header .main-header-menu > .menu-item > .menu-link:hover,
.site-header .main-header-menu > .current-menu-item > .menu-link {
  color: #9db5ff;
}

.ast-header-break-point .ast-mobile-header-wrap .ast-mobile-header-content {
  background: var(--np-color-ink);
}

.site-footer {
  background: var(--np-color-ink);
  color: #c8d0df;
}

.site-footer a,
.site-footer .ast-footer-copyright {
  color: #fff;
}

/* Landing pages carry their own semantic H1 inside the page content. */
.netphiles-landing-page .entry-header {
  display: none;
}

.netphiles-landing-page .site-content > .ast-container,
.netphiles-landing-page .site-main,
.netphiles-landing-page .entry-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

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

:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--np-color-accent);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Netphiles homepage block system. */
.np-home {
  overflow: hidden;
  background: var(--np-color-paper);
}

.np-home .wp-block-group,
.np-home .wp-block-columns {
  margin-block-start: 0;
}

.np-shell {
  padding-inline: max(24px, calc((100vw - var(--np-content-width)) / 2));
}

.np-kicker {
  margin: 0 0 16px;
  color: #68748a;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.np-hero {
  padding-block: clamp(72px, 10vw, 140px);
}

.np-hero-grid {
  align-items: center !important;
  gap: clamp(36px, 6vw, 88px) !important;
}

.np-hero-copy h1 {
  max-width: 760px;
  margin: 0 0 28px;
  font-size: clamp(3.4rem, 7vw, 6.7rem);
  line-height: 0.96;
  letter-spacing: -0.065em;
}

.np-accent-word {
  color: var(--np-color-accent);
}

.np-lead {
  max-width: 640px;
  margin: 0;
  font-size: clamp(1.05rem, 1.3vw, 1.25rem);
  line-height: 1.7;
}

.np-actions {
  gap: 18px !important;
  margin-top: 34px !important;
}

.np-primary-button .wp-block-button__link {
  padding: 16px 24px;
  border-radius: 6px;
  background: var(--np-color-accent);
  color: #fff;
  font-weight: 700;
}

.np-secondary-button .wp-block-button__link {
  padding: 14px 0 8px;
  border: 0;
  border-bottom: 2px solid var(--np-color-ink);
  border-radius: 0;
  background: transparent;
  color: var(--np-color-ink);
  font-weight: 700;
}

.np-heritage-card {
  min-height: 470px;
  padding: clamp(28px, 4vw, 54px) !important;
  border-radius: 10px;
  background: radial-gradient(circle at 100% 100%, #3a6cf4 0, #101d38 68%);
  color: #fff;
}

.np-heritage-card p {
  color: #c8d6f7;
}

.np-year {
  margin: 55px 0 18px !important;
  color: #fff;
  font-family: var(--np-font-heading);
  font-size: clamp(5.5rem, 12vw, 9rem);
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.08em;
}

.np-year::first-letter {
  letter-spacing: -0.1em;
}

.np-heritage-card h2 {
  max-width: 420px;
  margin: 26px 0 0;
  padding-top: 26px;
  border-top: 1px solid rgb(255 255 255 / 35%);
  color: #fff;
  font-size: clamp(1.5rem, 2.2vw, 2.25rem);
}

.np-areas {
  padding-block: 22px;
  border-block: 1px solid var(--np-color-line);
  background: var(--np-color-surface);
}

.np-area-grid {
  align-items: center !important;
  gap: 18px !important;
  margin-bottom: 0 !important;
}

.np-area-grid p {
  margin: 0;
  color: var(--np-color-ink);
  font-size: 0.9rem;
  font-weight: 700;
  white-space: nowrap;
}

.np-section {
  padding-block: clamp(78px, 10vw, 132px);
}

.np-section-heading {
  max-width: 750px;
  margin: 0 0 48px;
  font-size: clamp(2.4rem, 4.5vw, 4.5rem);
  line-height: 1.03;
}

.np-card-grid {
  align-items: stretch !important;
  gap: 0 !important;
  border: 1px solid var(--np-color-line);
  border-radius: 10px;
  background: var(--np-color-surface);
  overflow: hidden;
}

.np-card-grid > .wp-block-column {
  padding: clamp(28px, 4vw, 48px);
}

.np-card-grid > .wp-block-column + .wp-block-column {
  border-left: 1px solid var(--np-color-line);
}

.np-card-grid h3 {
  margin: 24px 0 16px;
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.np-card-grid p:last-child {
  margin-bottom: 0;
}

.np-service-number {
  color: var(--np-color-accent);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.np-dark-section {
  padding-block: clamp(72px, 9vw, 118px);
  background: var(--np-color-ink);
  color: #fff;
}

.np-dark-section .np-kicker,
.np-dark-section p {
  color: #bdc8dc;
}

.np-dark-section h2 {
  color: #fff;
}

.np-dark-grid {
  align-items: center !important;
  gap: clamp(36px, 7vw, 100px) !important;
}

.np-work-grid {
  gap: 28px !important;
}

.np-project-card {
  padding: 0 0 28px !important;
  border-bottom: 1px solid var(--np-color-line);
}

.np-project-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 8px;
  object-fit: cover;
}

.np-project-card h3 {
  margin: 24px 0 8px;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.np-process-grid {
  gap: 38px !important;
}

.np-process-grid > .wp-block-column {
  padding-top: 24px;
  border-top: 2px solid var(--np-color-line);
}

.np-process-grid h3 {
  margin: 18px 0 12px;
}

.np-cta {
  padding-block: clamp(78px, 10vw, 130px);
  background: var(--np-color-surface);
  text-align: center;
}

.np-cta h2 {
  max-width: 900px;
  margin-inline: auto;
}

.np-cta .np-lead {
  margin-inline: auto;
}

.np-cta .wp-block-buttons {
  justify-content: center;
}

.np-phone-link {
  margin-top: 20px;
  font-weight: 700;
}

@media (max-width: 1000px) {
  .np-area-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .np-area-grid > .wp-block-column:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 781px) {
  .np-hero-grid,
  .np-dark-grid {
    gap: 48px !important;
  }

  .np-heritage-card {
    min-height: 360px;
  }

  .np-area-grid p {
    white-space: normal;
  }

  .np-card-grid > .wp-block-column + .wp-block-column {
    border-top: 1px solid var(--np-color-line);
    border-left: 0;
  }
}


/* Netphiles V3 vibrant editorial direction */
:root{--np-color-ink:#071a3d;--np-color-copy:#23335a;--np-color-paper:#fffaf0;--np-color-accent:#1557ff;--np-color-coral:#ff6258;--np-color-aqua:#52e6dc;--np-color-sun:#ffdc42}
.np-home{overflow:hidden;background:var(--np-color-paper)}.np-home h1,.np-home h2,.np-home h3{letter-spacing:-.055em}
.np-home .np-hero{position:relative;min-height:680px;padding-block:clamp(56px,7vw,94px);color:#fff;background:radial-gradient(circle at 84% 20%,var(--np-color-aqua) 0 16%,transparent 16.2%),radial-gradient(circle at 91% 78%,transparent 0 17%,var(--np-color-sun) 17.2% 23%,transparent 23.2%),linear-gradient(118deg,#1557ff 0 67%,#0739cf 67% 100%)}
.np-home .np-hero:after{content:"SINCE 1999";position:absolute;right:max(26px,calc((100vw - 1200px)/2 + 20px));top:58px;width:155px;height:155px;display:grid;place-items:center;border-radius:50%;background:var(--np-color-sun);color:var(--np-color-ink);font:800 25px/1 var(--np-font-heading);text-align:center;transform:rotate(8deg);box-shadow:10px 10px 0 var(--np-color-ink)}
.np-home .np-hero-grid{align-items:center;gap:clamp(32px,5vw,74px)}.np-home .np-hero-copy{position:relative;z-index:1}.np-home .np-hero-copy h1{color:#fff;max-width:780px;font-size:clamp(4.2rem,7.6vw,7.8rem);line-height:.86}.np-home .np-accent-word{color:var(--np-color-sun)}.np-home .np-hero .np-kicker{display:inline-block;padding:8px 12px;background:var(--np-color-aqua);color:var(--np-color-ink)}.np-home .np-hero .np-lead{color:#fff;max-width:620px;font-size:1.2rem}
.np-home .np-primary-button .wp-block-button__link{background:var(--np-color-coral);box-shadow:6px 6px 0 var(--np-color-ink)}.np-home .np-secondary-button .wp-block-button__link{color:#fff;border-color:#fff}.np-home .np-heritage-card{min-height:440px;padding:42px;border:10px solid #fff;background:var(--np-color-ink);transform:rotate(3deg);box-shadow:16px 16px 0 var(--np-color-coral)}.np-home .np-heritage-card .np-kicker{background:transparent;color:var(--np-color-aqua);padding:0}.np-home .np-year{color:var(--np-color-sun);font-size:clamp(5rem,8vw,8.5rem);letter-spacing:-.09em}
.np-home .np-areas{background:var(--np-color-aqua);border:0;padding-block:21px}.np-home .np-area-grid p{font-weight:800}.np-home .np-section{padding-block:clamp(70px,8vw,112px)}.np-home .np-section-heading{font-size:clamp(3rem,5.4vw,5.5rem);line-height:.94;max-width:940px}.np-home .np-card-grid{gap:18px;border:0;background:transparent}.np-home .np-card-grid>.wp-block-column{min-height:330px;padding:34px;border:3px solid var(--np-color-ink)!important;box-shadow:8px 8px 0 var(--np-color-ink)}.np-home .np-card-grid>.wp-block-column:nth-child(1){background:var(--np-color-sun)}.np-home .np-card-grid>.wp-block-column:nth-child(2){background:var(--np-color-coral);color:#fff;transform:translateY(24px)}.np-home .np-card-grid>.wp-block-column:nth-child(3){background:var(--np-color-aqua)}.np-home .np-card-grid h3{font-size:clamp(1.7rem,2.6vw,2.5rem)}.np-home .np-card-grid a{color:inherit;font-weight:800}
.np-home .np-dark-section{background:linear-gradient(120deg,var(--np-color-ink) 0 56%,#1557ff 56% 100%);position:relative}.np-home .np-dark-section:after{content:"✦";position:absolute;right:7%;top:12%;color:var(--np-color-sun);font-size:9rem}.np-home .np-work-grid{gap:34px}.np-home .np-project-card{border:0;background:#fff;padding:14px 14px 26px;box-shadow:12px 12px 0 var(--np-color-ink)}.np-home .np-project-card:nth-child(2){transform:translateY(42px) rotate(2deg);background:var(--np-color-sun)}.np-home .np-project-card img{aspect-ratio:4/3;object-fit:cover;filter:saturate(1.2)}
.np-home .np-process-grid>.wp-block-column{border-top:7px solid var(--np-color-coral)}.np-home .np-process-grid>.wp-block-column:nth-child(2){border-color:var(--np-color-accent)}.np-home .np-process-grid>.wp-block-column:nth-child(3){border-color:var(--np-color-aqua)}.np-home .np-cta{background:var(--np-color-coral);color:#fff}.np-home .np-cta h2,.np-home .np-cta .np-lead,.np-home .np-cta a{color:#fff}.np-home .np-cta .np-primary-button .wp-block-button__link{background:var(--np-color-ink);box-shadow:7px 7px 0 var(--np-color-sun)}
@media(max-width:781px){.np-home .np-hero{min-height:auto}.np-home .np-hero:after{width:105px;height:105px;right:20px;top:26px;font-size:17px}.np-home .np-hero-copy h1{font-size:clamp(3.6rem,17vw,5.2rem)}.np-home .np-heritage-card{min-height:330px;transform:none}.np-home .np-card-grid>.wp-block-column:nth-child(2),.np-home .np-project-card:nth-child(2){transform:none}.np-home .np-dark-section{background:var(--np-color-ink)}}

/* V3 service-area alignment fix */
@media (min-width: 1001px) {
  .np-home .np-area-grid {
    display: grid !important;
    grid-template-columns: 1.55fr repeat(4, minmax(0, 1fr));
    gap: 24px !important;
  }
  .np-home .np-area-grid > .wp-block-column {
    min-width: 0;
  }
}


/* Native Work portfolio grid */
.np-work-page{background:var(--np-color-paper)}
.np-work-hero{margin:0;padding:clamp(72px,9vw,132px) max(24px,calc((100vw - 1160px)/2));background:linear-gradient(120deg,var(--np-color-ink) 0 58%,var(--np-color-accent) 58% 100%);color:#fff;position:relative;overflow:hidden}
.np-work-hero:after{content:"✦";position:absolute;right:8%;top:12%;color:var(--np-color-sun);font-size:clamp(6rem,12vw,11rem)}
.np-work-hero .np-kicker{color:var(--np-color-aqua)}.np-work-hero h1{color:#fff;max-width:900px;font-size:clamp(4.2rem,8vw,8rem);line-height:.88;letter-spacing:-.065em}.np-work-hero p{max-width:680px;color:#fff;font-size:1.2rem}
.np-work-grid-wrap{padding:clamp(64px,8vw,110px) max(24px,calc((100vw - 1160px)/2))}
.np-portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 34px}
.np-portfolio-card{min-width:0;background:#fff;border:3px solid var(--np-color-ink);box-shadow:10px 10px 0 var(--np-color-ink)}.np-portfolio-card:nth-child(4n+2),.np-portfolio-card:nth-child(4n+3){background:var(--np-color-sun)}
.np-portfolio-image{display:block;overflow:hidden;background:var(--np-color-aqua);border-bottom:3px solid var(--np-color-ink);aspect-ratio:4/3}.np-portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.np-portfolio-card:hover .np-portfolio-image img{transform:scale(1.025)}
.np-portfolio-placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--np-color-ink);font:800 5rem/1 var(--np-font-heading)}.np-portfolio-card-copy{padding:24px 26px 30px}.np-portfolio-type{margin:0 0 9px;color:var(--np-color-accent);font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.np-portfolio-card h2{margin:0;font-size:clamp(1.7rem,2.5vw,2.5rem);line-height:1.02}.np-portfolio-card h2 a{color:var(--np-color-ink);text-decoration:none}.np-portfolio-card h2 a:hover{color:var(--np-color-accent)}
@media(max-width:781px){.np-work-hero{background:var(--np-color-ink)}.np-work-hero:after{opacity:.22}.np-portfolio-grid{grid-template-columns:1fr}}

/* Native portfolio project details */
.single-avada_portfolio .site-content {
  background: var(--np-color-paper);
}
.single-avada_portfolio .entry-header {
  padding: clamp(64px, 8vw, 110px) max(24px, calc((100vw - 1160px) / 2)) 36px;
  background: var(--np-color-ink);
}
.single-avada_portfolio .entry-title {
  color: #fff;
  font-size: clamp(3.4rem, 7vw, 7rem);
  line-height: .9;
  letter-spacing: -.06em;
}
.single-avada_portfolio .entry-content { margin: 0; }
.np-project-detail { padding-bottom: clamp(72px, 9vw, 120px); }
.np-project-detail > .np-kicker {
  margin: 0;
  padding: 24px max(24px, calc((100vw - 1160px) / 2));
  background: var(--np-color-aqua);
  color: var(--np-color-ink);
}
.np-project-feature {
  margin: 0 auto;
  max-width: 1160px;
  padding: clamp(36px, 6vw, 72px) 24px 0;
}
.np-project-feature img {
  width: 100%;
  border: 3px solid var(--np-color-ink);
  box-shadow: 12px 12px 0 var(--np-color-sun);
}
.np-project-summary {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(48px, 6vw, 80px) 24px 0;
}
.np-project-summary h2 {
  font-size: clamp(2.5rem, 5vw, 4.8rem);
  line-height: .95;
}


/* Service landing pages — shared conversion system */
.np-service-page{overflow:hidden;background:var(--np-color-paper);color:var(--np-color-copy)}
.np-service-page,.np-service-page *{box-sizing:border-box}.np-service-page h1,.np-service-page h2,.np-service-page h3{font-family:var(--np-font-heading);letter-spacing:-.045em}.np-service-page p{font-family:var(--np-font-body);line-height:1.7}
.np-service-wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}.np-service-wrap.np-narrow{max-width:940px}
.np-service-hero{margin:0;padding:clamp(72px,9vw,128px) 0;background:radial-gradient(circle at 88% 22%,var(--np-color-aqua) 0 9%,transparent 9.2%),linear-gradient(120deg,var(--np-color-ink) 0 58%,var(--np-color-accent) 58% 100%);color:#fff}
.np-brand-hero{background:radial-gradient(circle at 86% 28%,var(--np-color-sun) 0 12%,transparent 12.2%),linear-gradient(120deg,var(--np-color-ink) 0 56%,var(--np-color-coral) 56% 100%)}
.np-seo-hero{background:radial-gradient(circle at 86% 28%,var(--np-color-sun) 0 10%,transparent 10.2%),linear-gradient(120deg,var(--np-color-ink) 0 58%,#1557ff 58% 100%)}
.np-care-hero{background:radial-gradient(circle at 86% 28%,var(--np-color-coral) 0 10%,transparent 10.2%),linear-gradient(120deg,var(--np-color-ink) 0 58%,#20bfb8 58% 100%)}
.np-service-hero h1{max-width:920px;margin:0 0 28px;color:#fff;font-size:clamp(3.6rem,7.4vw,7.2rem);line-height:.9}.np-service-hero .np-lede{max-width:720px;margin:0;color:#fff;font-size:clamp(1.08rem,1.7vw,1.35rem)}
.np-service-page .np-eyebrow{margin:0 0 18px;color:var(--np-color-accent);font-size:.78rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.np-service-hero .np-eyebrow,.np-cta .np-eyebrow{color:var(--np-color-aqua)}
.np-service-page .np-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:34px}.np-service-page .np-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:15px 24px;background:var(--np-color-coral);box-shadow:6px 6px 0 var(--np-color-ink);color:#fff;font-weight:800;text-decoration:none}.np-service-page .np-button:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--np-color-ink);color:#fff}.np-service-page .np-text-link{min-height:44px;padding:10px 0;color:#fff;font-weight:800;text-underline-offset:5px}.np-service-page .np-response{margin:18px 0 0;color:#fff;font-size:.9rem}
.np-service-page .np-section{padding:clamp(68px,8vw,112px) 0}.np-service-page .np-section h2{max-width:850px;margin:0 0 26px;color:var(--np-color-ink);font-size:clamp(2.65rem,5vw,5rem);line-height:.96}.np-service-page .np-section>div>p:not(.np-eyebrow){max-width:820px;font-size:1.1rem}
.np-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px}.np-card,.np-step{padding:30px;border:3px solid var(--np-color-ink);background:#fff;box-shadow:8px 8px 0 var(--np-color-ink)}.np-card:nth-child(2){background:var(--np-color-sun)}.np-card:nth-child(3){background:var(--np-color-aqua)}.np-card h3,.np-step h3{margin:0 0 14px;color:var(--np-color-ink);font-size:1.65rem}.np-card p,.np-step p{margin:0;color:var(--np-color-copy)}
.np-tint{background:#fff}.np-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,100px);align-items:start}.np-checklist{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.np-checklist p{position:relative;margin:0;padding:16px 0 16px 28px;border-bottom:1px solid #dce1ec;color:var(--np-color-ink);font-weight:650}.np-checklist p:before{content:'✓';position:absolute;left:0;color:var(--np-color-accent);font-weight:900}
.np-step{border-top:8px solid var(--np-color-coral);box-shadow:none}.np-step:nth-child(2){border-top-color:var(--np-color-accent)}.np-step:nth-child(3){border-top-color:var(--np-color-aqua)}.np-step strong{display:block;margin-bottom:22px;color:var(--np-color-accent);font:800 1rem/1 var(--np-font-heading)}
.np-local{background:var(--np-color-aqua)}.np-local .np-eyebrow{color:var(--np-color-ink)}
.np-service-page details{border-top:2px solid var(--np-color-ink)}.np-service-page details:last-child{border-bottom:2px solid var(--np-color-ink)}.np-service-page summary{min-height:52px;padding:20px 44px 20px 0;cursor:pointer;color:var(--np-color-ink);font:750 1.15rem/1.35 var(--np-font-heading)}.np-service-page details p{padding:0 0 22px;margin:0;max-width:760px}
.np-service-page .np-cta{padding:clamp(72px,9vw,120px) 0;background:var(--np-color-coral);color:#fff;text-align:left}.np-service-page .np-cta h2{max-width:900px;margin:0 0 22px;color:#fff;font-size:clamp(3rem,6vw,6rem);line-height:.92}.np-service-page .np-cta>div>p:not(.np-eyebrow){max-width:700px;color:#fff;font-size:1.12rem}.np-service-page .np-button-light{margin-top:18px;background:var(--np-color-ink);box-shadow:7px 7px 0 var(--np-color-sun)}
.page .np-service-page{margin-top:0}.page:has(.np-service-page) .entry-header{display:none}.page:has(.np-service-page) .site-content>.ast-container,.page:has(.np-service-page) .site-main,.page:has(.np-service-page) .entry-content{width:100%;max-width:none;margin:0;padding:0}
@media(max-width:781px){.np-service-wrap{width:min(100% - 32px,1160px)}.np-service-hero,.np-brand-hero,.np-seo-hero,.np-care-hero{background:var(--np-color-ink)}.np-service-hero h1{font-size:clamp(3rem,14vw,4.8rem)}.np-grid-3,.np-split,.np-checklist{grid-template-columns:1fr}.np-card,.np-step{padding:24px}.np-service-page .np-actions{align-items:flex-start;flex-direction:column;gap:12px}.np-service-page .np-button{width:100%;min-height:52px}.np-service-page summary{padding-right:24px}}


/* Conversion navigation, branded footer and accessible forms */
.main-header-menu>.np-menu-cta>.menu-link{margin-left:14px;padding:12px 18px!important;min-height:46px;background:var(--np-color-coral);color:#fff!important;box-shadow:5px 5px 0 var(--np-color-sun);line-height:1.2}.main-header-menu>.np-menu-cta>.menu-link:hover{background:#ff4b40;transform:translate(-1px,-1px)}
.ast-header-break-point .np-menu-cta .menu-link{margin:12px 20px 20px!important;justify-content:center;min-height:50px;background:var(--np-color-coral);color:#fff!important}
.site-footer{display:none!important}.np-site-footer{padding:64px max(24px,calc((100vw - 1160px)/2)) 28px;background:var(--np-color-ink);color:#cbd5ea}.np-footer-inner{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:clamp(32px,6vw,86px)}.np-site-footer strong{display:block;margin-bottom:18px;color:#fff;font:800 1rem/1.2 var(--np-font-heading)}.np-site-footer .np-footer-brand{font-size:2rem;letter-spacing:-.05em}.np-site-footer a{display:block;min-height:34px;color:#fff;text-decoration:none}.np-site-footer a:hover{text-decoration:underline;text-underline-offset:4px;color:var(--np-color-aqua)}.np-site-footer p{max-width:410px;color:#cbd5ea;line-height:1.6}.np-footer-legal{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:46px;padding-top:24px;border-top:1px solid rgb(255 255 255 / 22%);font-size:.9rem}.np-footer-legal a{min-height:24px}
.np-form-label{display:block;margin:0 0 7px;color:var(--np-color-ink);font-weight:750}.wpcf7 input:not([type=submit]),.wpcf7 textarea,.wpcf7 select{min-height:48px;border:2px solid #68748a!important;background:#fff!important;color:var(--np-color-ink)!important}.wpcf7 textarea{min-height:150px}.wpcf7 input:focus,.wpcf7 textarea:focus,.wpcf7 select:focus{border-color:var(--np-color-accent)!important;outline:3px solid rgb(21 87 255 / 25%);outline-offset:2px}.wpcf7-not-valid-tip{font-weight:700;color:#a51d15}.wpcf7 form .wpcf7-response-output{padding:14px;border-width:3px}
@media(max-width:921px){.np-footer-inner{grid-template-columns:1fr 1fr}.np-footer-inner>div:first-child{grid-column:1/-1}}@media(max-width:600px){.np-footer-inner{grid-template-columns:1fr}.np-footer-inner>div:first-child{grid-column:auto}.np-site-footer{padding-top:48px}}

/* Keep page heroes flush with the global header. */
.page .site-content{padding-top:0!important}.page .site-content>.ast-container{margin-top:0!important}.page .entry-content{margin-top:0}.np-service-page{margin-top:0!important}


/* Service templates: remove Astra boxed-page whitespace above the hero. */
body:has(.np-service-page) .site-content,
body:has(.np-service-page) .ast-container,
body:has(.np-service-page) #primary,
body:has(.np-service-page) .site-main,
body:has(.np-service-page) article.page,
body:has(.np-service-page) .entry-content{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
}
body:has(.np-service-page) .site-content{display:block!important;}
body:has(.np-service-page) .np-service-hero{margin-top:0!important;}

/* Astra separate-container reserves a final top gutter; pull service templates through it. */
body:has(.np-service-page) .np-service-page{position:relative;margin-top:-46px!important;}
body:has(.np-service-page) #masthead,body:has(.np-service-page) .site-header{margin-bottom:0!important;}
@media(max-width:921px){body:has(.np-service-page) .np-service-page{margin-top:-46px!important;}}


/* Contact page — professional consultation experience */
body.page-id-14 .site-content,body.page-id-14 .site-content>.ast-container,body.page-id-14 #primary,body.page-id-14 .site-main,body.page-id-14 article.page,body.page-id-14 .entry-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.page-id-14 .np-contact-page{position:relative;margin-top:-46px;background:var(--np-color-paper);overflow:hidden}
.np-contact-page,.np-contact-page *{box-sizing:border-box}.np-contact-wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}.np-contact-page .np-eyebrow{margin:0 0 18px;color:var(--np-color-aqua);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.np-contact-hero{position:relative;padding:clamp(76px,9vw,132px) 0 96px;color:#fff;background:radial-gradient(circle at 87% 23%,var(--np-color-sun) 0 10%,transparent 10.2%),linear-gradient(120deg,var(--np-color-ink) 0 61%,var(--np-color-accent) 61% 100%)}.np-contact-hero:after{content:'';position:absolute;right:7%;bottom:-55px;width:170px;height:170px;border:24px solid var(--np-color-aqua);border-radius:50%}.np-contact-hero h1{position:relative;z-index:1;max-width:930px;margin:0 0 30px;color:#fff;font-size:clamp(4rem,7.7vw,7.8rem);line-height:.88;letter-spacing:-.065em}.np-contact-lede{position:relative;z-index:1;max-width:760px;margin:0;color:#fff;font-size:clamp(1.08rem,1.7vw,1.35rem);line-height:1.65}.np-contact-proof{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.np-contact-proof span{padding:9px 13px;border:2px solid rgb(255 255 255 / 65%);color:#fff;font-size:.83rem;font-weight:750;letter-spacing:.02em}
.np-contact-main{padding:clamp(64px,8vw,110px) 0;background:var(--np-color-paper)}.np-contact-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:clamp(28px,5vw,68px);align-items:start}.np-form-card{padding:clamp(28px,4vw,52px);border:3px solid var(--np-color-ink);background:#fff;box-shadow:12px 12px 0 var(--np-color-sun)}.np-form-card>.np-eyebrow{color:var(--np-color-accent)}.np-form-card h2,.np-next-card h2{margin:0 0 18px;color:var(--np-color-ink);font-size:clamp(2.4rem,4.2vw,4.2rem);line-height:.95;letter-spacing:-.05em}.np-form-intro{max-width:650px;margin:0 0 30px;font-size:1.06rem;line-height:1.65}.np-form-card .wpcf7 p{margin:0 0 20px}.np-form-card .wpcf7 label{display:block;color:var(--np-color-ink);font-size:.78rem;font-weight:800;letter-spacing:.1em}.np-form-card .wpcf7 input:not([type=submit]),.np-form-card .wpcf7 textarea{width:100%;margin-top:8px;padding:13px 14px;border:2px solid var(--np-color-ink)!important;border-radius:0;background:#fff!important;font-size:1rem}.np-form-card .wpcf7 textarea{min-height:160px;resize:vertical}.np-form-card .wpcf7 input[type=submit]{width:100%;min-height:54px;padding:15px 20px;border:0;border-radius:0;background:var(--np-color-coral);box-shadow:6px 6px 0 var(--np-color-ink);color:#fff;font-weight:800;text-transform:none;letter-spacing:.01em}.np-form-card .wpcf7 input[type=submit]:hover{background:#ff4b40;transform:translate(-1px,-1px)}.np-form-privacy{margin:22px 0 0!important;color:#5a6579;font-size:.82rem;line-height:1.55}.np-form-privacy a{font-weight:750}
.np-contact-aside{display:grid;gap:24px}.np-next-card{padding:clamp(28px,4vw,44px);background:var(--np-color-aqua);border:3px solid var(--np-color-ink)}.np-next-card .np-eyebrow{color:var(--np-color-ink)}.np-next-card ol{margin:30px 0 0;padding:0;list-style:none;counter-reset:next}.np-next-card li{position:relative;counter-increment:next;padding:0 0 24px 52px}.np-next-card li:last-child{padding-bottom:0}.np-next-card li:before{content:counter(next);position:absolute;left:0;top:0;display:grid;place-items:center;width:34px;height:34px;background:var(--np-color-ink);color:#fff;font-weight:800}.np-next-card strong,.np-next-card span{display:block}.np-next-card strong{margin-bottom:5px;color:var(--np-color-ink);font:800 1.05rem/1.3 var(--np-font-heading)}.np-next-card span{color:var(--np-color-copy);line-height:1.55}.np-contact-details{padding:32px;border:3px solid var(--np-color-ink);background:var(--np-color-ink);color:#fff}.np-contact-details .np-eyebrow{margin-bottom:20px}.np-contact-details a{display:block;width:max-content;max-width:100%;margin-bottom:10px;color:#fff;font-weight:750;overflow-wrap:anywhere}.np-contact-details .np-contact-phone{color:var(--np-color-sun);font:800 clamp(1.65rem,3vw,2.35rem)/1.1 var(--np-font-heading);letter-spacing:-.04em}.np-contact-details address{margin-top:24px;color:#d9e1f2;font-style:normal;line-height:1.65}.np-service-area{margin:24px 0 0;padding-top:22px;border-top:1px solid rgb(255 255 255 / 25%);color:#d9e1f2;font-size:.9rem;line-height:1.6}
.np-contact-services{padding:clamp(68px,8vw,106px) 0;background:var(--np-color-coral);color:#fff}.np-contact-services .np-eyebrow{color:var(--np-color-ink)}.np-contact-services h2{max-width:860px;margin:0 0 22px;color:#fff;font-size:clamp(3rem,6vw,6rem);line-height:.92;letter-spacing:-.06em}.np-contact-services>div>p:not(.np-eyebrow){max-width:740px;color:#fff;font-size:1.1rem;line-height:1.65}.np-contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin-top:38px}.np-contact-links a{display:flex;align-items:center;min-height:58px;padding:13px 16px;border:2px solid var(--np-color-ink);background:#fff;color:var(--np-color-ink);font-weight:800;text-decoration:none}.np-contact-links a:hover{background:var(--np-color-sun);transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--np-color-ink)}
@media(max-width:900px){.np-contact-layout{grid-template-columns:1fr}.np-contact-aside{grid-template-columns:1fr 1fr}.np-contact-hero{background:var(--np-color-ink)}}@media(max-width:650px){body.page-id-14 .np-contact-page{margin-top:-46px}.np-contact-wrap{width:min(100% - 32px,1160px)}.np-contact-hero{padding:66px 0 72px}.np-contact-hero h1{font-size:clamp(3.4rem,15vw,5rem)}.np-contact-hero:after{display:none}.np-contact-proof{display:grid}.np-contact-aside,.np-contact-links{grid-template-columns:1fr}.np-form-card{padding:24px;box-shadow:8px 8px 0 var(--np-color-sun)}}


/* Connected service cards and evidence-led case-study template */
.page-id-12 .np-service-link{display:inline-flex;align-items:center;min-height:44px;margin-top:22px;color:var(--np-color-ink);font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.page-id-12 .np-service-grid article:nth-child(2) .np-service-link{color:#fff}.page-id-12 .np-service-link:hover{transform:translateX(3px)}
.single-avada_portfolio:has(.np-case-study) .entry-header{padding-bottom:clamp(42px,6vw,72px)!important}.single-avada_portfolio:has(.np-case-study) .entry-content{width:100%;max-width:none;margin:0;padding:0}.np-case-study{overflow:hidden;background:var(--np-color-paper)}.np-case-study,.np-case-study *{box-sizing:border-box}.np-case-wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}.np-case-study .np-eyebrow{margin:0 0 18px;color:var(--np-color-accent);font-size:.78rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.np-case-intro{padding:clamp(62px,8vw,104px) 0;background:var(--np-color-aqua)}.np-case-intro h2,.np-case-section h2,.np-case-overview h2,.np-case-dark h2,.np-case-cta h2{max-width:920px;margin:0 0 26px;color:var(--np-color-ink);font-size:clamp(3rem,6vw,6rem);line-height:.92;letter-spacing:-.06em}.np-case-lede{max-width:790px;margin:0;color:var(--np-color-copy);font-size:1.16rem;line-height:1.7}.np-case-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:34px}.np-case-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 22px;background:var(--np-color-coral);box-shadow:6px 6px 0 var(--np-color-ink);color:#fff;font-weight:800;text-decoration:none}.np-case-link{color:var(--np-color-ink);font-weight:800;text-underline-offset:5px}.np-case-visual{padding:clamp(44px,6vw,76px) 0;background:var(--np-color-ink)}.np-case-visual figure{margin:0}.np-case-visual img{display:block;width:100%;max-height:760px;object-fit:contain;border:3px solid #fff;box-shadow:12px 12px 0 var(--np-color-sun);background:#fff}.np-case-overview,.np-case-section{padding:clamp(68px,8vw,112px) 0}.np-case-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px)}.np-case-overview dl{margin:0}.np-case-overview dl div{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:16px 0;border-bottom:2px solid var(--np-color-ink)}.np-case-overview dt{color:var(--np-color-accent);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.np-case-overview dd{margin:0;color:var(--np-color-ink);font-weight:700}.np-case-copy{max-width:900px}.np-case-copy>p:not(.np-eyebrow){max-width:800px;color:var(--np-color-copy);font-size:1.14rem;line-height:1.75}.np-case-dark{background:var(--np-color-ink);color:#fff}.np-case-dark .np-eyebrow{color:var(--np-color-aqua)}.np-case-dark h2{color:#fff}.np-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:48px}.np-case-grid article{padding:30px;border:3px solid #fff}.np-case-grid article:nth-child(2){background:var(--np-color-accent)}.np-case-grid article:nth-child(3){background:var(--np-color-coral)}.np-case-grid span{display:block;margin-bottom:42px;color:var(--np-color-sun);font-weight:800}.np-case-grid h3{margin:0 0 14px;color:#fff;font-size:1.6rem}.np-case-grid p{margin:0;color:#fff;line-height:1.65}.np-case-result{background:#fff}.np-case-note{padding:16px 18px;border-left:6px solid var(--np-color-sun);background:var(--np-color-paper);font-size:.9rem!important}.np-case-cta{padding:clamp(72px,9vw,118px) 0;background:var(--np-color-coral);color:#fff}.np-case-cta .np-eyebrow{color:var(--np-color-ink)}.np-case-cta h2,.np-case-cta p{color:#fff}.np-case-cta>div>p:not(.np-eyebrow){max-width:720px;font-size:1.12rem}.np-case-button-light{margin-top:20px;background:var(--np-color-ink);box-shadow:7px 7px 0 var(--np-color-sun)}
@media(max-width:781px){.np-case-wrap{width:min(100% - 32px,1160px)}.np-case-overview-grid,.np-case-grid{grid-template-columns:1fr}.np-case-overview dl div{grid-template-columns:1fr;gap:4px}.np-case-actions{align-items:flex-start;flex-direction:column}.np-case-button{width:100%}.np-case-visual img{box-shadow:8px 8px 0 var(--np-color-sun)}}


/* Flush model case study to the global header and viewport edges */
body.single-avada_portfolio:has(.np-case-study) .site-content,body.single-avada_portfolio:has(.np-case-study) .ast-container,body.single-avada_portfolio:has(.np-case-study) #primary,body.single-avada_portfolio:has(.np-case-study) .site-main,body.single-avada_portfolio:has(.np-case-study) article.avada_portfolio{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.single-avada_portfolio:has(.np-case-study) .entry-header{margin:0!important;padding:clamp(48px,6vw,72px) max(24px,calc((100vw - 1160px)/2))!important;background:var(--np-color-ink)!important}
body.single-avada_portfolio:has(.np-case-study) .entry-header .entry-title{max-width:1160px;margin:0 auto!important;color:#fff!important}

body.single-avada_portfolio:has(.np-case-study) .entry-content>p:empty,body.single-avada_portfolio:has(.np-case-study) .np-case-study>p:empty{display:none!important}

/* Accessible contrast for the first case-study approach card */
.np-case-grid article:first-child{background:var(--np-color-ink)}


/* Complete case-study contrast pass */
.np-case-dark .np-case-copy>p:not(.np-eyebrow){color:#fff}